This TAS completes the NES version of Rugrats: Adventures in Gameland in 8:53.555 (RTA 8:44.969) by abusing several glitches to play the credits sequence in record time. Subtitles are present in the movie file for basic explanations of certain strats used in the run.
Goal
- Emulator: Bizhawk 2.11
- Play the credits as fast as possible with a single controller.
- Abuse several glitches to skip portions of the game.
- Be entertaining when possible.
Comments
This TAS runs on version 1.1, which has a few differences between version 1.0. Notably, 1.1 includes a TAS only glitch that skips an entire level, at the cost of patching another time saving glitch. As this is a lesser known game, and the first public full game TAS, I will try to explain every part of my route in thorough detail.
As the ROM file doesn't appear to be on the game's page, here's the hash for the exact ROM file that the game is distributed as. It might be on No-Intro Private but I'm not sure. I have personally verified with other owners of the game that this is an unmodified copy.
SHA1: cd1cce7be64854fc9a7919b32d61c5a5406feb17 MD5: b238ffad5f2c8131098d61fe31bb2b22 Header: 4E 45 53 1A 10 20 42 00 00 00 00 00 00 00 00 00
Game info
In Rugrats: Adventures in Gameland (based on the animated show Rugrats), the player controls one of four characters (Tommy, Chuckie, Phil, and Lil) and collects Reptar coins throughout six levels. Each level contains three optional coins as well as one coin that is obtained when the level's boss is defeated. The player must collect a certain number of coins to play the final level and defeat Angelica, at which point the game is considered "beaten" and the credits roll.
Each character in the game has their own special abilities:
- Chuckie has the lowest gravity (and therefore the highest jump).
- Phil can lift objects and dig through sand the fastest.
- Lil has the greatest initial jump velocity and can float in mid-air.
- Tommy also has the greatest initial jump velocity.
On "Newborn" and "Baby" difficulty, by pausing the game, the player can change characters mid-level to use the ability that best fits the situation, as well as manage health. The TAS utilizes this a lot, despite switching characters costing six or seven frames, due to how much faster it can be to use a different character for different scenarios throughout the game.
On "Newborn" difficulty, the player must to collect 18 coins in total to unlock the final level. For "Baby" and "Big Kid" difficulties, the player would need to collect 21 and 24 coins respectively. With 24 total coins in the game, I can skip six of them, which equates to one level and two extra coins that I can skip.
Stage by Stage Comments
Level 1: Living Room
I chose to play as Tommy for a reason I will get into later. This level is very trivial: the layout is very linear and there aren't many things to explain.
At 0:22 (Frame 1344), in the coin 1 room, There is a switch that has to be jumped and stomped on. It's more like a ground pound, but I like to call it a stomp. Similarly to a ground pound, the character is frozen in place for a while before finally falling. By jumping and then stomping as early as possible, the character isn't frozen at all, hitting the ground instantly. This is used to regain movement earlier than normal. I like to call this a quick stomp.
At 0:33 (Frame 1994), in the room where Lou is sleeping on the sofa, the player must stomp on part of the sofa to open the leg rest so that they can crawl underneath. A quick stomp cannot be performed here, as it won't activate the switch or button or whatever it is.
In the room with the giant Reptar door, I make sure to jump up to the coin slot to insert the three coins early, which saves time over having to do that at the end of the game.
At 0:43 (Frame 2578), in the fourth coin room, I perform a jump as Tommy and then immediately swap to Chuckie. By doing this, I can combine the high jump velocity from Tommy with the lower gravity of Chuckie, which results in a really tall jump. I like to call this a high jump. By doing this, I save several frames by reaching the coin higher up than with a regular jump as Chuckie. This is also why I started the level as Tommy. This would also work starting as Lil, but that would require an extra frame, as Chuckie and Lil are two positions away from each other in the character select menu, while Chuckie and Tommy are only one position away from each other.
Level 2: Uhh...what?
Usually, this level would be in a Jungle setting. The level starts off by having the player enter through the side of a tree and falling down to where the main part of the level is. However, by performing a frame perfect jump, I can stay on top of the tree's entrance from the inside.
On the 1.0 version, there is nothing to do at this point other than to fall down and clear the level normally. On the 1.1 version however, a room transition trigger is present that transports the player to some sort of glitched screen? It turns out that this screen is actually loaded from the zero page in the console's RAM (addresses $00-$FF). $00-$0F are treated as some sort of heading/metadata for the room, and $10-$FF are treated as tile data.
This would be the perfect opportunity to manipulate RAM and have a wrong warp to the credits. However, $00-$0F cannot be manipulated. In fact, I'm pretty sure these values aren't read or written from at any point in the game other than initialization (and if not, then not at any reasonable point).
Addresses $00-$0F: 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Since most of these values are zero, nearly every edge of the screen warps the player to room ID zero (the first screen of Living room). The top edge of the screen, however, warps the player to room ID $80, which is the glitchy purple-ish room.
I have no clue where room ID $80 is loaded from, but I'd like to assume it's some garbage data in ROM. The player-terrain collisions, however, seem to be loaded randomly with very little pattern. It might be loaded from the zero page, but I'm not sure. You could go into the area and instantly fall back down, which actually crashes the game, but you can also get stuck and softlock. But if the collisions are just right, there is a path that the player can take to exit the screen on the right edge. Also worth noting is that the entire left half of the screen is a transition to the first screen of the Living Room.
This third glitched room is loaded starting at address $606. This screen contains more garbage. It also contains a warp on the right side to the fourth Reptar coin of the Living Room. This could be useful, but it ends the level instantly. We can do better. By moving through the left edge of the screen, I can spawn underneath the floor and take damage, which warps me back to the glitched room. For an unknown reason, the right edge of the glitched room now transports me to the part of the Living Room where the third Reptar coin is.
The reason that I can't use any other transition to the Living Room (despite there being an abundance of them) is because in this glitched state, the sprite to lift the leg rest of Lou's chair does not spawn. This prevents me from clearing the level. When I enter from the third coin room however, I can warp back to it upon death. And when entering the screen for Lou sleeping from the third coin room, the chair is already lifted and I can pass through. Only when entering the screen from the left will the leg rest be down.
The route I take is as follows:
- Enter the first glitched room from inside the tree with a mid-air jump. (Frame 4243)
- Navigate to the top edge of the screen.
- Wait for several frames to manipulate the purple room into loading in with a path to the right side of its screen. (Frame 4307)
- Navigate to the right edge of the purple glitched screen while also taking damage to save time for the death warp. (Frame 4442)
- Instantly move to the left to load the living room underneath the floor. (Frame 4567)
- Jump and stomp to manipulate the glitched room into giving a faster path to the right edge of the screen. (Frame 4602)
- Navigate to the right edge to load the Living Room's third Reptar Coin screen. (Frame 4665)
- Collect coins one and two and then lose all my health. (Frame 4847)
- Warp back to the third coin and end the level. (Frame 6127)
This saves a lot of time over playing the level normally, at the cost of the fourth coin. Obtaining it would require this process all over again, which ends up wasting the most time out of any other coin in the game, so I skip this. Despite these coins being collected in the Living Room setting, they still count as coins collected in the Jungle. Oh, and I play as Chuckie because he has the lowest gravity, which is required to collect the first coin.
Level 3: Sandbox
This is the level with the music that I really like. I start this level as Phil because he can ground pound/stomp straight through sand, an ability which no other character has. And this level has a lot of sand. By stomping as early as possible, I can clip slightly to the right during the stomp, which moves me further to the right while being frozen.
At 2:19 (Frame 8368), I swap to Lil because she can climb up semi-solid platforms faster, due to her higher jump velocity. I assumed Chuckie would be able to climb them the fastest, due to him having the tallest jump in normal gameplay, but it turns out that Lil is faster at climbing this section.
At 2:35 (Frame 9319), I chose to drop under the platform and damage boost off the cactus to the right, a shortcut that saves time over the intended route. The intended route would've required switching to Phil to dig through more sand, which is several frames slower to get to the sand castle entrance. It would've also prevented me from doing a high jump later without switching back to Lil.
At 2:47 (Frame 10045), I perform a high jump, then I use a technique to bounce off of an enemy in mid-air. When stunning an enemy by jumping on top of it, the player can carry the enemy for a couple seconds until it wakes back up and hurts the character as a penalty for holding it for too long. If the player is falling as the enemy wakes up, it'll be too high to damage the character, which gives them time to perform a stomp. During the stomp while frozen in place, the character cannot be harmed. By the time the character unfreezes, the enemy has fallen low enough to be stomped on, which bounces the player upward.
Using this technique on top of the high jump, I can grab onto the rope earlier and higher up, which saves time. I'm not sure if grabbing this rope was intended by the developers, even though an easier setup is very doable in RTA, but it skips a large portion of the level. The intended route is to dig through the sand at the bottom, then go through a lot of platforming and climbing to get up to that section where the rope is.
After navigating to the key and then falling back down, I switch to Phil to dig through the sand faster to collect the second coin. The third coin lies in that large portion of the level, so I skip that coin. I then switch to Lil to climb up the sand faster and open the key door to the boss battle with Big Boy.
Big Boy Bossfight
I switch to Phil because this battle includes a single trick that requires it. Which is actually the very first trick I perform in the fight. Right when the fight starts, Big Boy performs a stomp on the ground, as a demonstration to let the player know what to look out for I assume. While this stomp is usually right where the player is, the first stomp is always in a fixed location. With Phil, I dig through all the sand underneath Big Boy before he lands, which causes him to fall down as early as possible. I chose to jump over him into the hole, which saves a single frame over damage boosting into it.
In the second phase, there is now two layers of brick that Big Boy has to stomp through. I take damage before he jumps in order to control when a second damage boost occurs, which is immediately after my invincibility frames wear off. Had I taken damage when Big Boy landed, the second damage boost would occur too late, which would've prevented me from quick stomping through the hole immediately. I perform a quick stomp immediately to reach terminal velocity as early as possible and as low to the ground as possible.
In the third phase, Big Boy now appears in the void. An enemy occasionally spawns, which is used to deal damage. Since most of this phase is just waiting, I decide to be entertaining by walking around, re-grabbing the enemy, and taking damage on purpose, while still damaging the boss as early as possible. I also grab the fourth coin as early as possible.
Level 4: Fridge
It's more like a freezer but whatever I guess. I pick Chuckie to start the level because when I TASed the first couple screens with Lil, it ended up losing a couple frames somehow. The first switch when entering the fridge forces me to wait to start moving left to maintain X-velocity. I perform a quick stomp on the switch and then continue through the level. On the conveyors, it is faster to walk off of them than to jump early, because that would lose time from not walking on the conveyors. I make sure to be at maximum X-velocity when exiting the screen, as it carries over to the next one.
This level contains a lot of ice and conveyor belts. When traveling on either, the player moves slightly faster. I spend most of the level trying to minimize air time and maximize traveling on the ground by jumping as late and as low as possible.
At 4:30 (Frame 16242), I set up for a mid-air enemy stomp to skip directly to the first coin. Because that alone wouldn't be high enough, I bring the ice block to jump off of. The reason I don't stun the enemy first and then move the ice cube is because picking up stunned enemies resets their stun timer. I switch to Phil because he can lift objects the fastest.
Fun fact: it's faster to switch to Phil to lift an object and then switch back to Chuckie than it is to normally lift an object as Chuckie.
At 4:51 (Frame 17508), I grab onto the ladder and instantly jump then stomp. This saves time over climbing down normally by bringing the character to terminal velocity almost instantly, which is carried over to the next room.
At 5:05 (Frame 18349), I damage boost through this row of fire because it's faster than pressing the switch to remove the fire. Unlike most damage boosts I've done, this first one cannot be done facing the right, so I have to take two hits to pass through.
At 5:09 (Frame 18601), I have to switch to Lil to do a damage boost because it would've killed Chuckie. I do a damage boost to get through another row of fire. Unlike the last row of fire, this one has to be crawled through, so I damage boost off of the cannon to make it under. The fire gives the player less invincibility frames than usual to deter them from damage boosting.
At 5:28 (Frame 19755), because the boss fight can be cleared faster with Chuckie, I take this opportunity to perform a high jump, since I'll have to swap to him later anyways.
Right before the boss, I avoid collecting the cookie because traveling on ice is faster than in air, saving six frames. I kind of feel bad for leaving that cookie there, but six frames is six frames.
Dummi Bears Bossfight
This is a really interesting bossfight for a couple reasons.
The main premise is that a bear will spawn in from one of four corners and will try to un-press the switch, or shoot an arrow, or just run across the screen. The location the bears spawn in, and the actions they take (run across the screen, run off the screen from where they originated, fall into lava when attacked) are completely deterministic. A total of nine bears have to be attacked before the coin spawns in.
Bears can spawn on either of the top corners, or on the bottom half of the screen. A bear spawning in the bottom half will always spawn on the right side, unless the character is occupying that space, in which it will spawn on the left.
Bears and ice blocks spawn in alternation, and one will not spawn until all ice cubes stop moving and all bears de-spawn. For that reason, bears can be spawned earlier by grabbing ice blocks before they land, and ice cubes can be spawned earlier by attacking the bears earlier. Another important mechanic is that ice cubes will not spawn if four are already on the ground, which saves time when no more ice cubes have to spawn in, instead spawning the next bear instantly.
The route I take is nearly identical to the route used in the RTA speedrun world record. I thought really hard about how I could improve on it, but to no avail. I'm pretty sure the most important aspect of the route is having all four ice blocks spawn in as soon as possible. For every bear that can be spawned in earlier by grabbing an ice block mid-air, I would've had to wait longer for another ice block to spawn in.
For bear #1, I make sure to attack it on the earliest frame that the game considers it "above the lava." To keep them from falling into the lava when attacked, bears running across the screen will continue moving until they are above stable ground. This saves time from having the bear freeze in place when attacked. I also make sure to hit the switch after the bear lands on it, so that it starts moving earlier.
For bear #2, I move to the left, avoid the falling ice block, and ensure that I'm far enough from the right side so that the bear won't spawn on the left corner.
Since bear #3 is on the top, I can be as close to it as possible when it spawns in. I attack it at the earliest opportunity.
Bear #4 is similar to bear #2. For bear #5, I grab the ice block as early as possible to spawn it in earlier. I attack the bear right when it is considered to be above the lava, similar to bear #1.
I chose to attack Bear #6 with the ice block, which lets me reach the top-left corner faster and attack bears #7 and #8 as early as possible. I have to wait to throw the ice block, or else the bear would only spawn after the ice block slides off screen.
For bear #9...wait, where are they? For some reason, when bear #7 is attacked on its first frame of spawning, it prevents bear #9 from showing up at all. At least, that's what I think it is. I have no clue why this happens. I then collect the coin with a normal jump, because switching characters twice for a high jump would waste more time than it saves.
Level 5: Dream Land
This level is pretty straightforward, if you know the level layout. Otherwise it feels like a maze. This level introduces spring objects that can bounce the character up to tall platforms, at the cost of being frozen in place for a short amount of time. In the 1.0 version of the game, several shortcuts exist that let the player skip portions of the level while only missing a single coin. This is the RTA method. However, in the 1.1 version, certain screen transitions were removed that prevent this from being possible.
I start the "dream land" part of the level with a mid-air jump so that I don't land in the void.
At 6:46 (Frame 24434), I have to to a high jump to get above the fish, or else I'd have to damage boost through it. I couldn't start the level as Tommy because he couldn't reach this point fast enough to make the six frames of time save worth it.
I deal with the Thwomp-like enemies (present after the first coin) by jumping and waiting for them to fall just enough to move above them. This is faster than damage boosting through them. This strategy is performed multiple times throughout the level.
To enter the gray door that leads to the second coin, I chose to jump down to its platform instead of pressing Down+A to fall through the higher platform, because pressing Down+A lowers the character's horizontal speed and wastes time.
After collecting the second coin, the intended route is to go back to where the gray door is, take a moving platform to a different door, and then travel all the way back to where the gray door is. However, with a high jump, I can go back through the gray door and perform a high jump to get back up to the "main" part of the level.
For the third coin, I jump on top of the Thwomp thing while it's falling. I'm glad this is possible because it looks really cool. This is strategy is used later to collect the key/screwdriver.
At 7:46 (Frame 28046), I have to stop holding right for six frames because Chuckie cannot jump to the next platform at its lowest. By stalling for a bit, I wait for the platform to rise just enough to jump up to the next platform. I say platform but they're like magic flying carpets.
Mr. Tippy Bossfight
This fight is very straightforward. Stomp on top of Mr. Tippy's head, he knocks you off to the side, you use the spring to get back up and repeat. He's supposed to attack you, but I don't give him the chance. In fact I give him no chance to do anything at all; every stomp I perform is as early as possible.
By stomping on top of Mr. Tippy, then stomping again, all horizontal speed is canceled. This lets me stay on top of his head. I use the time he's in hitstun to be entertaining, including falling into the void and still having enough time to damage him as early as possible.
Upon being defeated, Mr. Tippy disappears and the coin spawns above the screen. Only a high jump can reach the coin this early, even though Chuckie's jump gets really close to it.
Level 6: Attic
I don't have to play this level at all, because I picked "Newborn" mode. I skipped this level in particular because collecting its coins takes the longest amount of time compared to any other level. While I did find a couple cool techniques with it, I couldn't find anything game breaking like the Jungle wrong warp.
Credits Warp
If skipping two entire levels wasn't enough, I perform a credits warp that skips the final level and final bossfight. Upon entering the Living Room's Reptar door screen, I activate the animation that puts the remaining 15 coins into the coin slot. I then jump around and stomp while I wait because it's entertaining.
Before the Reptar door is open, the player can go back to the level select menu by walking off screen to the right. After the Reptar door is open, this can't be done. But for a single frame, the player can walk off screen to the right as soon as the Reptar door opens. For some reason, this activates the credits instead of the level select menu.
I perform the credits warp and then mash through the ending dialogue as fast as possible, playing the credits and beating the game in eight minutes, fifty-three seconds, and five hundred fifty-five milliseconds.
Other comments
Since this is (to my knowledge) the only public full game TAS, my only references were the current any% WR and the current "beat angelica" WR. So I would like to give thanks to them for a couple strats that I wouldn't have thought of. I'd also like to thank the Rugrats Speedruns discord server because they helped me with some stuff too.
I actually made a full game TAS before this one which ended up as a 9:06, but then realized I could save even more time with better execution and more high jumps, so I had to restart it. Many parts of that TAS were copy-pasted over, which is why the re-record count might be misleading. The 9:06 TAS has 9312 re-records.
While I do own a TAS replay device, I couldn't get it to sync during the Jungle wrong warp on console. I played the TAS on Mesen2 as well and that desynced in the same exact way. I believe some sort of NesHawk inaccuracy is to blame for this.
I'm very sure there is still time to be saved; maybe with better routing, execution, or with more glitches that I never found. From having to figure out a lot of things on my own (like all of the Jungle wrong warp), I expect it to be improvable. But I made sure that every time save I knew about, or discovered after I thought I was finished, I went back and implemented it in the run.
Suggested screenshot: Frame 4740
nymx: Claiming for judging.
nymx: I have to admit...I thought this was going to be a boring game. I was really surprised...especially after seeing the OoB area. Having beat the WR by a little bit over 2 minutes, I can certainly see why the audience and I share the same sentiment. This was a really good run with excellent execution of discovered strats and glitches. Great job on this!
Accepting to "Standard".
EZGames69: Processing...