Post subject: Emulator improvement: pixelbot
Player (94)
Joined: 6/25/2005
Posts: 122
Getting past title screens is boring and it's possible for a game to have many title screens where one only has to push one button once on the right frame to continue. Unlike other parts of a speedrun, getting a single button press within a few second timespan is not going to run into a scenario where the bot needs to test 600^8 or more possible inputs to optimize a 10 second scenario. Here's an idea of how an recording emulator might be able to automate many typical title screens/level name screens/"push button to continue screen". The emulator could have a "pixelbot function". Once activated, the menubot could ask you to pick an estimated time, a particular button, a particular pixel on the screen. (E.g., the user says that the current screen should change within 5 seconds, you press the start button to get the screen to change and then clicks on a pixel that will change when the title screen changes.) The emulator then automatically tries to press the specified button at different times (it would probably be much faster if the emulator didn't try to render these attempts) and then automaticaly records the attempt that caused the targetted pixel to change the fastest. If spamming the button on alternate frames is acceptable--and I think it usually is for most games, then program should get a usable result almost instantly. It would only have to make two attempts for those cases: one for even frames, one for odd frames. Such a feature might be able eliminate a fair amount of tedium in a speed run for a game that requires you to press a button at the beginning of each level.
nesrocks
He/Him
Player (241)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
that could be usefull if you could: - easily toggle it on the press of a hotkey - selec the palette color the pixel must have to activate a button press.
Active player (278)
Joined: 5/29/2004
Posts: 5712
Is this anything like Frame Search?
put yourself in my rocketpack if that poochie is one outrageous dude
Ambassador, Experienced player (697)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
Except in some games you must press start for two frames and other times you can start faster by pressing start two or more times in a particular pattern. A bot which could see through this would be even better. I think frame search has to do with memory addresses, so it's easier to implement but much harder to use than the proposed pixelbot. This is an instance where a human does a task much differently than a program. A human looks at the screen to see if pressing start at a particular frame worked. A bot would prefer to check memory addresses, but these need to be determined. I've wondered how tough it would be to write a program that could read the screen and use that to generate the input. Then instead of disassembling the program you could use your empirical knowledge about what inputs to use. This would be particularly useful for Final Fantasy since a bot could probably cut out quite a bit of luck manipulation time. In RPGs where I need to rerecord many times for luck manipulation I have my keyboard layout set up and my hands trained. I can use frame advance, rerecords and fast-forward to test each possibility in under a second, but there are hundreds of possibilities to test! A bot could do this much faster and wouldn't have to worry about his hands getting sore.
Player (70)
Joined: 8/24/2004
Posts: 2562
Location: Sweden
Bag of Magic Food wrote:
Is this anything like Frame Search?
I had a friend add frame search for me in gens. Works great!
Player (67)
Joined: 3/11/2004
Posts: 1058
Location: Reykjaví­k, Ísland
Or you could just have two turbo buttons. One for even frames and one for odd frames. Then it would be trivial for a human to find which is faster.
Player (94)
Joined: 6/25/2005
Posts: 122
Highness wrote:
Bag of Magic Food wrote:
Is this anything like Frame Search?
I had a friend add frame search for me in gens. Works great!
Okay--I'm ignorant about this concept. How does frame searching work and how can I get a version of Gens that can frame search?
Player (70)
Joined: 8/24/2004
Posts: 2562
Location: Sweden
The frame search for me works like this. I click on the function and types what frame I'd like to stop on. The game enters a frameskip session and halts when I reach the desired frame. Then I have to press a button to un-pause the emulator.
JXQ
Experienced player (750)
Joined: 5/6/2005
Posts: 3132
Ah, so this is like a frame-seek? I thought you meant the same type of frame search that is in VBA.
<Swordless> Go hug a tree, you vegetarian (I bet you really are one)