Experienced Forum User, Published Author, Player
(127)
Joined: 3/16/2015
Posts: 160
I just now re-read your question. What you are referring to is called Reinforcement Learning, in the field of supervised learning, which is a completely different discipline than genetic algorithms. My bot doesn't do this. Sorry, but you will need to find other ways to do this.
Experienced Forum User, Published Author, Player
(127)
Joined: 3/16/2015
Posts: 160
NhatNM wrote:
@tom_mai78101 : Could you make simple way for no tech users?
If you know how to use Basic Bot, then this GA Bot will be useful to you. Everything that this bot does is exactly the same way as how Basic Bot works. It just uses a different calculation for entering inputs.
Link to video NhatNM wrote:
I have trouble at begin because I don't know how to do with Ram Watch.
This bot doesn't use the RAM Watch like that. Instead, you need to provide the bot an address that it can keep track of, and then attempts to improve the previous attempt.
NhatNM wrote:
How about if let BOT will learn from a sample movie file? User will make a run movie from A point to B point, then BOT will learn about needed inputs and destination target, then try make it done fast as possible
This bot doesn't work like that. It's not capable of being trained to learn player inputs and work its way in the game.
Experienced Forum User, Published Author, Player
(127)
Joined: 3/16/2015
Posts: 160
Here is the Github repository for the binary release and the source code:
https://github.com/EricTetz/keyrate
What it does is on Windows, when working on programming or other typing tasks, it changes your keyboard delay rate and repeat rate based on parameters you give to this small utility. You can even set it so Windows can have the same typing speed as Ubuntu. Feel free to download this utility, then extract to a folder directory of your choice that's in the system environment variable PATH, so that you can access it at any time you want. You can even set it up so the Windows Task Scheduler can run a basic task that starts when the computer starts.
Keyboard delay rate refers to the delay between the first key press and the start of the key input repeating itself. This is in milliseconds.
Keyboard repeat rate refers to the delay between the first repeated key press and the subsequent repeated key press. This is in milliseconds.
Usage:
keyrate <delay in ms> <repeat in ms>
If you don't give any parameters, it will revert back to the Windows default keyboard delay and repeat rates.
For Ubuntu keyboard speed rates, set it to:
keyrate 150 10
Change the values higher or lower to your preference.
Experienced Forum User, Published Author, Player
(127)
Joined: 3/16/2015
Posts: 160
bpm46 wrote:
I've been trying the bot in a few areas of the TV Colosso game where I suspected there were improvements and it just saved 10 frames in a level which is nice. After going through and removing unnecessary inputs, I see it found some kind of tech where making 2 frame-perfect jump inputs alters the way your Y-speed changes and your jump is a few pixels shorter. It looks indistinguishable from a normal jump and I probably would have never noticed it. Should save a few frames throughout the run.
Experienced Forum User, Published Author, Player
(127)
Joined: 3/16/2015
Posts: 160
bpm46 wrote:
tom_mai78101 wrote:
Oh like that? Is this reproducible using Basic Bot? My bot is based on Basic Bot, so if the bug appears in Basic Bot, there's nothing I can do about it.
Also, what game and core are you using to reproduce this issue?
Just tried it with Basic Bot and it works fine. Side note, I have the inputs displayed on BizHawk and it IS reading the inputs, but the game screen is static.
The game is "As Aventuras de TV Colosso" with SMSHawk.
Experienced Forum User, Published Author, Player
(127)
Joined: 3/16/2015
Posts: 160
bpm46 wrote:
tom_mai78101 wrote:
While the bot is running, were you touching the settings and flags?
I did not touch any settings. Once setting up the bot with audio/visuals on and entering Recording Mode, I press Run and it works normally. If I then press Stop and Start again, the bot continues running but the screen is frozen.
Oh like that? Is this reproducible using Basic Bot? My bot is based on Basic Bot, so if the bug appears in Basic Bot, there's nothing I can do about it.
Also, what game and core are you using to reproduce this issue?
Experienced Forum User, Published Author, Player
(127)
Joined: 3/16/2015
Posts: 160
bpm46 wrote:
tom_mai78101 wrote:
Wait, how were you pausing the bot? I don't have a "Pause" button in the bot itself. You mean "Stop", right?
Since you have TAStudio opened, make sure TAStudio has "Recording Mode" enabled. The bot needs "Recording Mode" to function.
Sorry yes, I meant "Stop". It is in Recording Mode when this happens.
While the bot is running, were you touching the settings and flags?
Scenario A: The bot has "Turn Off Audio/Video" enabled, and then you start running the bot. Then you realized you want to turn on the Audio/Video but you don't want to stop the bot, so you click on the toggle checkmark to disable "Turn Off Audio/Video". You then noticed the Audio/Video is not updating, making it seem like the emulator is frozen while the bot is still running.
This is actually normal behavior. It's the same behavior as the official Basic Bot behavior. You will need to stop the bot, toggle the flag, then start the bot. It will resume from where you left off and continue botting from that point on.
Experienced Forum User, Published Author, Player
(127)
Joined: 3/16/2015
Posts: 160
bpm46 wrote:
2: While the bot was running with audio & video enabled, I minimized everything on the desktop and it crashed with this error:
Fatal Error: Direct3D9Exception
EmuHawk has thrown a fatal exception and is about to close. A movie has been detected. Would you like to try to save? (Note: Depending on what caused this error, this may or may not succeed)
I have confirmed this is a bug in BizHawk, not an external tool bug. I'll be filing a Github issue about it. Thanks for reporting.
Experienced Forum User, Published Author, Player
(127)
Joined: 3/16/2015
Posts: 160
bpm46 wrote:
tom_mai78101 wrote:
1. When you say "pause it and play it again", are you referring to the bot being paused while the emulator is running, or the emulator paused while the bot is running?
The bot was paused and the emulator was running.
Wait, how were you pausing the bot? I don't have a "Pause" button in the bot itself. You mean "Stop", right?
Since you have TAStudio opened, make sure TAStudio has "Recording Mode" enabled. The bot needs "Recording Mode" to function.
Experienced Forum User, Published Author, Player
(127)
Joined: 3/16/2015
Posts: 160
bpm46 wrote:
Noticed a few bugs:
1: After starting the bot with audio & video enabled, if you pause it and play it again, the screen seems to be frozen though the bot still works. Closing and reopening EmuHawk lets you playback the movie.
2: While the bot was running with audio & video enabled, I minimized everything on the desktop and it crashed with this error:
Fatal Error: Direct3D9Exception
EmuHawk has thrown a fatal exception and is about to close. A movie has been detected. Would you like to try to save? (Note: Depending on what caused this error, this may or may not succeed)
1. When you say "pause it and play it again", are you referring to the bot being paused while the emulator is running, or the emulator paused while the bot is running?
2. I'll need to check with API Hawk and see what's going on.
Experienced Forum User, Published Author, Player
(127)
Joined: 3/16/2015
Posts: 160
bpm46 wrote:
So yeah, very cool tool! I assume the longer you let it sit, the better?
Yes, that is the intent. I am glad you find it useful. I am sure if you leave it running overnight, so as long as it is within a reasonable amount frames (e.g., not 9999 frames), it should perform even better.
Experienced Forum User, Published Author, Player
(127)
Joined: 3/16/2015
Posts: 160
User movie #638144478883471938 - Desync-free version
Movie now updated. Playback on v2.8 should be desync-free now. As a result, the speedrun time has been improved almost by 11 seconds faster.
Starting on Thursday, March 16, 2023, I will be traveling to Japan for 10 days. I will address any concerns/issues once I have returned from Japan. Sorry for the inconvenience.
Experienced Forum User, Published Author, Player
(127)
Joined: 3/16/2015
Posts: 160
Darkman425 wrote:
When playing back the input file on BizHawk 2.8, I got a desync at around frame 56077 at the fight in the Gamer's turf, where the teleport goes to the wrong spot. The attached image is what happens immediately after the teleport. If it does sync with a released version of BizHawk 2.9 or you have the time to fix the desync, I can set this submission to Delayed.
What I did watch that did sync was enjoyable to me, but I would like some more feedback on this run.
I can try fixing the desync later tonight. From the screenshot, it looks like it might be a lag frame was introduced somewhere that wasn't present. A single lag frame can throw off all of the RNGs affecting AI behavior.
Experienced Forum User, Published Author, Player
(127)
Joined: 3/16/2015
Posts: 160
Around the 5 minute mark, why isn't the clock punch card not on the 00:00 time? Wouldn't having an earlier punch time (as close to 00:00 as possible) means you can save a few frames?
Experienced Forum User, Published Author, Player
(127)
Joined: 3/16/2015
Posts: 160
Updated bot to accommodate new changes to the External Tools API.
It should now be compatible with the latest Bizhawk 2.9 dev build @ commit hash: 5bdbe110e9f66acd60d6df51402f760167a57fef, as of February 8, 2023.
Experienced Forum User, Published Author, Player
(127)
Joined: 3/16/2015
Posts: 160
Discord invite to the speedrunning community for River City Ransom EX:
https://discord.gg/9pUk4x3
I'm unable to recreate the in-game event for the "Ivan Tex double boss" battle.
According to the guides on GameFAQs and other sources, they said:
Must defeat Ivan for the first time with a "super bad reputation".
I have independently verified another crucial information the guides don't mention:
Must not met Abby when about to fight against Ivan.
Otherwise, Tex will ask you if Ivan has left the team or not.
Video footage exists where you are able to fight against Ivan & Tex double bosses fight:
Link to video
This is the kicker here. Even if I attempted to recreate the footage in TAS (by defeating the bosses in the order that is recorded in the footage), the TAS wasn't able to produce results for Ivan & Tex to show up.
I'm out of ideas right now. I don't know what any information I can use to try to trigger this boss battle. I need help, and I am hoping someone who views this thread will know how to recreate it, with steps by steps and RAM Watch information, if possible.
Experienced Forum User, Published Author, Player
(127)
Joined: 3/16/2015
Posts: 160
Another question:
What is considered as "doing the event"? What counts as "doing an event" and what doesn't count?
This is about "player prompts" when doing a "max events%" run. The game is River City Ransom EX. I'll be using game jargons from the GameFAQs guide when discussing about "events".
Guide: https://gamefaqs.gamespot.com/gba/915026-river-city-ransom-ex/faqs/30625
It will be in the "Events" section.
When triggering an event, you will get an NPC to appear, and a text dialogue will show up. At the end of the dialogue, the game will ask the player (called player prompt) to choose these 4 options: YES, DON'T KNOW, NO, and NO REPLY. Selecting any one of the responses will give different outcomes, such as whether the NPC will choose to join your party, or give money. However, you can actually skip the event that is triggered by exiting the area. This action is the same as selecting NO as the response, and nothing will happen. There is a significant time-saving if we skip the events by leaving the area, however, the viewer will not be able to understand that the NPC showing up is what we use to count towards "triggering the event".
When we want to judge that "an event has been completed", I would like to ask if we should consider "choosing an answer from the player prompt", or "meeting the NPC character and skipping the events by exiting the current area" as the criteria to judge in a "max events%" run?
Thanks.
feos wrote:
tom_mai78101 wrote:
Suppose there is a game where it has a lottery system. It's very unlikely in a normal gameplay session to win the 1st prize. Extremely unlikely, and especially rare to get.
If you do win 1st prize, you will earn the prize, but it has no effect on the story plot progression, no NPC dialogue changes, and anything else. It may be an insignificant game event, but due to its rarity, it may have some significance in entertainment value.
When doing a "maximum event%" TAS, is it acceptable to try to win 1st prize as part of the run?
Not enough info about the suggested branch and what it would consist of.
The only information I can see is you will earn $100,000.00 in-game cash when you win the 1st prize lottery in the game. Nothing else will happen.
I guess that means, there is no need to include this lottery winning as part of the "max event%" run.