Post subject: an idea for ?ghosts?
Joined: 8/2/2010
Posts: 41
i read a topic on here a while ago about adding ghosts through lua scripting, and obviously it would be difficult. and maybe this has been done but this is an idea i have had for a while. would it be easier to just have two copies of the emulator open side by side, with one showing a movie that has been recorded, and one being your current tas. they would be at the same frame, and when you advanced a frame both would advance to the same frame, and then loading/saving states would load the movie to the point you are in the tas. obviously this would make it easy to desync, and i dont know how hard this would be to create (maybe already possibe and i just have not tried it.) thanks
Joined: 2/19/2007
Posts: 424
Location: UK
Yes, it has been done, and all in LUA. I made a script for super metroid and another one for super mario world for this. There is, sadly, considerable work involved in proting these to new games. The super metroid version can be found here: http://tasvideos.org/forum/viewtopic.php?t=6539&postdays=0&postorder=asc&start=168 and a video showing it in action can be found here: http://www.youtube.com/watch?v=0y0-73n5BE8 The super mario world script can be found here: http://tasvideos.org/forum/viewtopic.php?t=6539&postdays=0&postorder=asc&start=175 and an example video is here: http://www.youtube.com/watch?v=yEJhrU1EAhk These scripts aren't supposed to be that hard to use, so I encourage you to give them a try. Edit: I reread what you said, and I see that your suggestion is much closer to what I first thought I'd do to implement this. What you said can be done, and it wouldn't be too hard, but it requires rewriting the emulator, adding some inter process communication etc to keep them in sync. It would not be quite as good at comparing the runs visually (it is much easier to see where they are relative to each other when they are in the same window), but it would let one have a memory viewer open for each, giving much more information. It sounds useful, so give it a try if you want. It would especially be nice if you added support for superimposing a (transparent?) version of the sprite layer form one on the other, with proper scrolling offsets taken into account.