1 2
5 6
Skilled player (1458)
Joined: 11/26/2011
Posts: 656
Location: RU
EZGames69 wrote:
I really want to see this TAS in full force.
Currently project in long-term stasis but it is not abandoned and one day it be finished. It is one of my favorite Sega Genesis games. So i really want to make full force TAS for it. After completing improvement for "fastest 999999" in NES Tetris i will try to reanimate Adventures of Batman & Robin after years of lethargic sleep. Upd: Tried to reanimate it right now, perhaps i can slowly work on it parallely with tetris project. Defeated that damn boss so stage 3-3 is finally finished: Link to video
I show you how deep the rabbit hole goes. Current projects: NES: Tetris "fastest 999999" (improvement, with r57shell) Genesis: Adventures of Batman & Robin (with Truncated); Pocahontas; Comix Zone (improvement); Mickey Mania (improvement); RoboCop versus The Terminator (improvement); Gargoyles (with feos)
EZGames69
He/They
Publisher, Reviewer, Expert player (4462)
Joined: 5/29/2017
Posts: 2762
You have no idea how happy you just made me.
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Post subject: Any Updates?
Joined: 4/8/2022
Posts: 1
I was wondering if there was on any updates to the TAS yet. I have no experience in TASing and I know I don't have the time for it, but as a runner of this game I would like to help out as best as I can to help move this project in the right direction.
EZGames69
He/They
Publisher, Reviewer, Expert player (4462)
Joined: 5/29/2017
Posts: 2762
Decided to look into a 1 player run. I'm not too concerned about being "perfect" but at the very least providing a good effort. Link to video
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
EZGames69
He/They
Publisher, Reviewer, Expert player (4462)
Joined: 5/29/2017
Posts: 2762
I have overhauled the entirety of the first level and moved on to the other levels, have yet to get to the Joker stage. Link to video
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11478
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Truncated asked me to determine spawn delay in some of the autoscroller enemies, so I ended up test-TASing it with 1 player (I used cheats to get to that level, but otherwise I can provide the movie). All enemies have a value at object offset $2E (from base address of the object) that determines how many frames later the next object will spawn. For most enemies that value is hardcoded to either be 120 or 180. For some enemies the delay starts ticking right after you've killed them instead of when they spawn, so you have to kill them ASAP. And for the third type of enemies, the delay is 180 + random value determined by RNG, which is in turn affected by shooting. Shooting also affects the type of enemy that spawns and its posision. Sometimes you can manipulate long chain enemies to have short chains, with delay after you kill them, so that helps a lot. Killing them optimally can be hard, especially without a spread weapon (and Truncated told me blue weapon doesn't affect RNG, so you have to use red). Each shot needs to eliminate one of the links in the chain, only then you can kill the top clown. Links don't become available for shooting right away, they have to scroll in enough, which starts from lowest, so you have to be on their level vertically, and then go up. You want to be right in front of the top clown when you do the last shot, but going too far to the right messes up elimination of links. At least not every enemy has to be killed optimally. In the end, I got the level to last for 6631 frame (the time when $0xFFFFF5 equals 1026). Most delays seems to be set, even between last clown and level end. Link to video Script for BizHawk https://github.com/TASEmulators/BizHawk/blob/master/Assets/Lua/Genesis/The%20Adventures%20of%20Batman%20and%20Robin.lua
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
EZGames69
He/They
Publisher, Reviewer, Expert player (4462)
Joined: 5/29/2017
Posts: 2762
Finally finished with the Flying Shoot em up stage, now I can get back to the fun kicking! https://tasvideos.org/UserFiles/Info/638609086548485890 Link to video
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
EZGames69
He/They
Publisher, Reviewer, Expert player (4462)
Joined: 5/29/2017
Posts: 2762
1st half of Stage 3 is done, now I am basically caught up with the 2 player TAS. https://tasvideos.org/UserFiles/Info/638624666193225036 Link to video
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
EZGames69
He/They
Publisher, Reviewer, Expert player (4462)
Joined: 5/29/2017
Posts: 2762
Second half of the Mad Hatter stage is finished, now all that's left is the Mr Freeze stage Link to video https://tasvideos.org/UserFiles/Info/638631366806682378 While I'm here I should also share that one of the RTA runners for this game informed me that 3 years ago they came across this random out of nowhere skip of the orange background stage and as far as I can tell, it hasn't been reproduced since. Here is video of it: https://www.twitch.tv/videos/1122811252 I did go back to that level to see if I could reproduce it myself, but I've been unable to. I don't know if this was a hardware specific glitch or what caused this to happen, but considering I am not good at reproducing glitches based on one single instance of it happening, I decided to do the level per usual. However if it is discovered how to reproduce this skip and it doesn't require backtracking to earlier levels for whatever reason, I would be willing to impliment this skip and redo the later sections, but for now I'll just leave this info here in case anyone wants to look into it.
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
EZGames69
He/They
Publisher, Reviewer, Expert player (4462)
Joined: 5/29/2017
Posts: 2762
I should also mention that the runner, TopazDragoon39, posted some information about what might have happened on the SRC forums, although very little has been known ever since https://www.speedrun.com/taobar_genesis/forums/ooncx#ys51g He mentioned that his game froze in the middle of the teacup stage after the skip, but it’s unclear whether it’s connected to the skip in the previous room. But regardless, he did highlight the entire run up until that point in case anything in previous levels caused the skip. You can find that highlight here: https://www.speedrun.com/taobar_genesis/forums/ooncx#xqusz
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
EZGames69
He/They
Publisher, Reviewer, Expert player (4462)
Joined: 5/29/2017
Posts: 2762
Here is a concept of what I could possibly do for this level, as I'm almost positive I need to focus on getting as many enemy kills as possible. or perhaps the game only tracks flying drone deaths. Either way here's what I can optimize just based on my understanding of this level alone: Link to video
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
EZGames69
He/They
Publisher, Reviewer, Expert player (4462)
Joined: 5/29/2017
Posts: 2762
This time I tried to follow RTA as closely as I could. Their method is to kill 19-20 enemies on the first screen before starting to make their way right. I have no idea how this managed to save a ton of time, but it might have something to do with the timers you see in the middle of the screen. Those are the delay timers for when the next enemy will spawn, take note of how #3 timer rarely shows up as I go right, it seems that might be the root of how RTA manages to end the level slightly early. (shoutout to feos for making the adjustments to the Lua script) https://tasvideos.org/UserFiles/Info/638633329547098233 Link to video I also did a bit of 4-2 just as a test to see how I wanna approach that level.
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
EZGames69
He/They
Publisher, Reviewer, Expert player (4462)
Joined: 5/29/2017
Posts: 2762
This will likely be the last WIP I'll be posting until submission time (unless the last two levels wanna throw a curveball at me, although that's seemingly unlikely). https://tasvideos.org/UserFiles/Info/638642703981953323 Link to video feos was able to help with some reseach in blue level here and figure out how to end the level much faster than in my earlier attempts. I will let them explain it since I would not be able to do it justice.
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11478
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
So here's the function I threw together (with some inspiration from r57shell). https://github.com/TASEmulators/BizHawk/commit/40dae6e8ae671178f0c92ea6bb619009df548897 I'm not very good at reading asm and building a database of all the info in IDA, so I just made a bunch of tracelogs and stared at them until I find patterns. $6EEC happened to be the code that starts the ending, but it's never directly available in any object descriptors. However at certain points in the level, object offset $0A reaches that code after some magic that I was unable to replicate fully. So I simulated it instead by doing 2-byte steps off every object's offset $0A, and $6EEC was found 3 times during this level at either step 12 or 6. Pointer at $0A was not the same tho, it was either $41206 or $4130E, but both lead to $6EEC. Now I have no idea why it appears 3 times no matter the route, but among the attributes I printed for each object there was a small decreasing digit that looked like "N more times you have to do X", and I didn't know X. I highlighted the object with red when it has a pointer leading to $6EEC. I noticed that the timer at those times is 0 for that object, but right before it has this pointer at $0A, the previous pointer is always $411FC, but with a timer! I thought some enemy must be killed while that timer is ticking, and if it runs out the pointer changes and the color is now red, so it feels like "too late" lol. Since the object that has all these pointers is always the same, yet it doesn't move around the level and just has fake position of 0x0, I highlight it with yellow to make it easy to know where to look. Also I removed items, projectiles, and Batman himself from the list. Until the green pointer appears for the first time, normal pointers seem to be gradually ticking, like you first need to kill some amount of enemies before the 3 critical waves start. Link to video
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Player (98)
Joined: 12/12/2013
Posts: 379
Location: Russia
Here is Lua script for parsing level scripts. https://gist.github.com/realmonster/9c4325aa0d2fa825549abe7675e3e0c2 It was tested in Gens. For bizhawk you need only change shortcuts. Run it once in any level. Description of output: There are following two types of lines within the output. Camera-related trigger.
enemy x=12E y=B5 hb=0 code=20504
this tells us that when Camera in position "good" for x = 12E and y = B5, then it will spawn enemy with those parameters, and its "code" is 20504. Code defines what enemy is spawned, and its behavior. What means Camera in "good" position? It depends on "direction" of level. If you walk or fly to the right, then it checks x position, if you move or fly to up, then it check y position. It triggers when the coordinate falls within certain range. Range width is fixed both for horizontal and vertical levels. And coordinate of trigger gives offset of this range.
action x=1E0 y=0 code=1693A
Similarly, when Camera is in "good" position, then action is started. I call it at this moment "action" because it's similar to an "act" in theater, a part of a play in the theater.
unknown offs=16118 x=801 y=112 hb=0 code=1FF78
This means that my script unable identify what trigger does, but its real code is at offset 1FF78. You can disassemble it and look what it is. Similarly with other Camera-related triggers, it's only triggered when Camera in "good" position. Other part of output is disassemble of actions code. It starts with:
======= action 1693A =======
it tells entry point of action. Then code of action is listed until line
===========
Each line is in format: offset command For example:
16946: set_timer F00
It means that at offset 16946 (hex) there is command set_timer with operand F00. A little note about commands names. It's my naming, of course I have no idea about original naming. Basic commands: lock_screen - locks screen unlock_screen - unlocks screen set_enemy_limits - sets enemy limits which required to make this action active set c1 - sets action own variable c1 to the value. it's used to make simple loops in conjunction with dbf. set c2 - sets action own variable c2 to the value. it's used to make simple loops in conjunction with dbf. exec - its single argument is offset of raw m68k code. you can disassemble it. Control flow: set_timer - set timer and postpone execution. set_timer rand[ ) - set timer to a random value within range in the brackets. Brackets means low is inclusive, and high is not inclusive. spawn - spawns something and postpone execution. Most of occurrences it's enemy. But I'm not sure if it's always enemy. See format of enemy description below. spawn_multiple - spawns multiple enemies simultaneously, and postpone execution. spawn_random - spawns one enemy from the list, and postpone execution. wait_enemies - postpone execution until enemies less than or equal the number. jmp - jump action execution to the offset jmprnd - jump action execution to one from the list dbf - two operands: counter and offset. Decrease counter and jump to the offset, but only if it was positive before. So if set c1 = 5, and then dbf c1, it means the number of repetition is 5. die - terminate action, no mater when jsr - jump to subroutine rts - return back from subroutine There is also several unknown commands. All of their names starts from "unknown". Spawn description. there are four numbers in square brackets. First two is X and Y position. If brackets are round, then it's position relative to camera. If brackets are square, then it's global position. Third number is some parameter of enemy. I don't know at this moment. And the last number is offset to enemy code. Its code is not m68k raw code. It's in similar fashion as scripts of actions, but with some differences. Important note about action execution. It is inactive if its timer value > 0, and if enemies count >= numbers in its parameters. In feos script in the video above. those 5, 5 numbers or 7FFF and 7FFF it's restriction for script being active. If enemies count (2 bytes value at offset FFDFAA) is high enough, script doesn't do anything. Literally. First of those two numbers is limit if one player alive, and second if two players alive. So, for example, action has numbers 3, 4 and one character alive, then it's require 2 or less enemies to be alive to even reduce timer of action. If other player press start to revive character, then it require 3 or less enemies to be alive. So, if 3 enemies were alive and timer was 0 at the moment when other player pressed start to revive character, then action will continue execution on the next frame, but it won't continue if other player won't press start.
EZGames69
He/They
Publisher, Reviewer, Expert player (4462)
Joined: 5/29/2017
Posts: 2762
I am happy to say I have reached the end of this game. Right now the final time is 36:22.34, but it might take a few days before I actually submit the run, just to make sure the submission text is all worded out. I look forward to seeing what people think.
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Reviewer, Experienced player (920)
Joined: 11/18/2011
Posts: 314
Location: Morocco
EZGames69 wrote:
I am happy to say I have reached the end of this game. Right now the final time is 36:22.34, but it might take a few days before I actually submit the run, just to make sure the submission text is all worded out. I look forward to seeing what people think.
I prefer to submit first before thinking about submission text so people watch the run first instead of holding until a full submission is ready. After all, watching is the important part anyway :)
I still learn more about English. https://www.youtube.com/user/McBobX100
I wrote:
Working is the best way to achieve goals in speedruning. Hardworking is a pain.
EZGames69
He/They
Publisher, Reviewer, Expert player (4462)
Joined: 5/29/2017
Posts: 2762
Sure, but this is special to me.
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Reviewer, Experienced player (920)
Joined: 11/18/2011
Posts: 314
Location: Morocco
EZGames69 wrote:
Sure, but this is special to me.
Fair.
I still learn more about English. https://www.youtube.com/user/McBobX100
I wrote:
Working is the best way to achieve goals in speedruning. Hardworking is a pain.
EZGames69
He/They
Publisher, Reviewer, Expert player (4462)
Joined: 5/29/2017
Posts: 2762
Decided to submit once I finished the subtitles, will get to doing the longer submission text sometime tomorrow or later this week. #9346: EZGames69's Genesis The Adventures of Batman and Robin "1 player" in 36:22.34
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Juarez
He/Him
Player (188)
Joined: 6/7/2019
Posts: 30
Location: Russia
EZGames69 wrote:
Decided to submit once I finished the subtitles, will get to doing the longer submission text sometime tomorrow or later this week. #9346: EZGames69's Genesis The Adventures of Batman and Robin "1 player" in 36:22.34
Hey EZGames69! Great movie for a great game, now we also expect a movie for 2 players from you
EZGames69
He/They
Publisher, Reviewer, Expert player (4462)
Joined: 5/29/2017
Posts: 2762
I have no plans on doing the 2 player movie, especially since Archanfel and Truncated still have that old wip in progress. I would have been more willing to finish that WIP if I could resync the project to BizHawk but that seems entirely unlikely.
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
1 2
5 6