Post subject: Tasing flash games with macros?
Former player
Joined: 4/17/2009
Posts: 88
Why not tas flash games with http://www.autohotkey.com/ ?
Joined: 9/17/2009
Posts: 18
Location: Hungary
Is it perfectly desync-proof? Even on slower machines which tend to lag more? Even with games that use the random number facility?
arflech
He/Him
Joined: 5/3/2008
Posts: 1120
maybe someone could see whether Windows 98 or ME works atop MS-DOS or FreeDOS in JPC-RR, and then only TAS games that work in Flash Player 9
i imgur com/QiCaaH8 png
Joined: 11/4/2007
Posts: 1772
Location: Australia, Victoria
I've asked Ilari a while ago about running 98 or ME in JPC-RR, it doesn't work, apparently.
arflech
He/Him
Joined: 5/3/2008
Posts: 1120
what about win95 and flash 9 (or Flash 10 using KernelEx)?
i imgur com/QiCaaH8 png
Patashu
He/Him
Joined: 10/2/2005
Posts: 4043
Couldn't a TAS theoretically be made to be proofed against slight desync? e.g. making jumps and manuvers that have leeway either way to account for slight amounts of lag, and every so often adjusting itself using cues from the game or whatever else.
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Post subject: Re: Tasing flash games with macros?
Skilled player (1741)
Joined: 9/17/2009
Posts: 4981
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Editor
Joined: 3/10/2010
Posts: 899
Location: Sweden
Flash has random numbers and games are liberal about using it. There is also the issue of lag. Flash is quite good at managing lag on its own, but it is not free of desync risks due to random lag. And then there is the simple matter that there is no savestate support. Flash games will most likely not be tasable in the close future.
Editor, Skilled player (1439)
Joined: 3/31/2010
Posts: 2108
Assumably, without full emulation of the platform that flash runs on, desync and other issues will be too severe for reasonable TASing.
Former player
Joined: 4/17/2009
Posts: 88
you could fix desync by using these commands PixelGetColor Retrieves the color of the pixel at the specified x,y coordinates. PixelSearch Searches a region of the screen for a pixel of the specified color. these can be used to check if a level has loaded, or if the character on the screen has reached a certain point on the screen
Player (146)
Joined: 7/16/2009
Posts: 686
If we're actually going to need those functions I think it'd be more viable to make a bot than to make actual TASes.
Joined: 5/25/2010
Posts: 30
Location: California
AndyD wrote:
you could fix desync by using these commands PixelGetColor Retrieves the color of the pixel at the specified x,y coordinates. PixelSearch Searches a region of the screen for a pixel of the specified color. these can be used to check if a level has loaded, or if the character on the screen has reached a certain point on the screen
A similar concept is already in use elsewhere. Some RuneScape (a popular MMORPG) players automate their in-game tasks with a "smart" macro called SCAR. The program tries to recognize in-game objects by detecting patterns on the screen. It then uses a script to determine where to click next. The RuneScape policies actually prohibit the use of bots and macros, but such a program could be useful in other browser-based games. The only problem is that the run time probably won't be the same on every computer.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4043
There's a difference between a bot that needs to be roughly accurate, and a bot that needs to be utterly accurate (do everything as fast and as perfect as possible)
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Joined: 1/3/2010
Posts: 16
I once did a part of a game with macro's, it used pixel-color detection against desync. It's more like a lot of checkpoints than a frame-perfect sync. But it worked smoothly. :)