Submission #8575: Chamale's N64 Rampage World Tour "100%, 1 player" in 59:56.00

(Link to video)
Nintendo 64
100%, 1 player
Bizhawk 2.8
Rampage - World Tour (U) [!].n64
Submitted by Chamale on 8/30/2023 6:43:18 PM
Submission Comments
This is a tool-assisted speedrun of Rampage: World Tour that completes all 129 levels in a standard playthrough by destroying every building in every city. When I started working on it 18 months ago, my goal was to have a final time below one hour, and I just barely succeeded. The human speedrun record for this category is 1:40:47.
Note: This is a long video. If you're not interested in the whole thing, I'd recommend watching the last 10 levels (starting at 55:55 in the encode). This shows off almost all of the power-ups in the game while completing these levels very quickly.
Strategy for this run involved finding the fastest ways to destroy every building, using power-ups if possible. Many buildings are best destroyed from the roof, so it’s often a matter of climbing one building and then jumping along the rooftops to destroy everything. The level ends when every building has finished its collapse animation, therefore near the end of a level it’s best to destroy tall buildings before short ones. The average length of levels decreases during the World Tour section at the end, because of the availability of the VERN power-up.

Some notes about movement:

  • Punching down on top of a building takes 13 frames. Punching the side of a building while climbing it takes 16 frames.
  • Jumping while holding down on a building takes 45 frames. This destroys the top floor, if the roof has been damaged once. As a result, you’ll often see George punch or land on a roof, do a down-jump, and then punch down until the building is destroyed.
  • Punching the side of a building takes 16 frames. Each building type has an optimal combination of side punches and top punches to destroy it as quickly as possible.
  • When George runs to the side and then jumps, I can hold the down button to make it a lower jump than normal. This can make it faster to jump from some tall buildings onto shorter ones.
  • If there’s no need to climb a building, the jumping animation can be skipped by jumping near the building and pressing “up” one frame later, saving a few frames.

Relevant power-ups:

  • Death Breath is the best random power-up in the game, destroying all buildings in front of George that are visible on the screen. Manipulating it to appear as often as possible is an important part of this TAS. Grabbing the Death Breath power-up gives three “uses”, and a maximum of five “uses” can be stored.
  • Hot Loogie instantly destroys one building. Grabbing the power-up gives three “uses” of Hot Loogie. More importantly, if George has any uses of Hot Loogie stored when grabbing a Death Breath power-up, those are added to the number of times Death Breath can be used. So it’s typically ideal to have two uses of Hot Loogie saved up when grabbing a Death Breath, to reach the maximum of five.
  • More Power greatly increases the damage of George’s punches for about 15 seconds, varying with the different types of power-up. These often, but not always, spawn in the same level as Death Breath.
  • The calculator doubles the duration of the next power-up that is picked up. In this run, it is used before picking up a Death Breath power-up in order to get five uses.
  • V.E.R.N. appears in a fixed location in certain World Tour levels. It makes George fly quickly and increases his strength like More Power, so it’s usually optimal to run directly to this power-up, eat it, and then fly through the level destroying buildings.
  • When flying on a World Tour, rings of stars may appear that contain either a Hot Loogie or Death Breath power-up. The World Tour flights appear whether the World Tour was triggered by finding a flag, or because there are no U.S. levels left.
  • Fire comes from stoves, fireplaces, and birthday cakes, and slowly destroys the building it is found in.
  • Dynamite instantly destroys the building it is found in.
  • Fighter jets can be hijacked by jumping on them while facing the same direction. Their laser gun will destroy an entire layer of a building with each shot; unlike the More Power power-up, it still takes five shots to destroy one of the short and wide “trampoline” buildings. When fighters are offscreen, they can turn instantly. Fighters have slightly slower movement than George.

About the RNG:

  • This TAS uses luck-manipulation extensively, but the game’s random number generator is stubborn and difficult to manipulate.
  • The list of items that appear in the next level seems to be randomly seeded by the player’s score on the end-of-level scoreboard, particularly in whichever category is highlighted for the current level. Some categories, particularly Buddy Bashing, can’t be modified in order to manipulate luck.
  • The location of items that appear in the next level is randomly seeded by factors such as the player’s score, the player’s health, and the frame on which the level ends. Manipulating item position is easier than manipulating for a better set of items.
  • At the end of a level, there is a window of a few seconds in which the player can try to change the current score and HP in order to luck-manipulate the next level without wasting any frames.

Individual level notes:

  • Start: There are three characters that can be chosen; I chose George, the giant gorilla, because his starting position on the left side of the screen is ideal for most levels.
  • 33 St. Louis: I eat the mortar crew because they're going to be a problem otherwise, and this wastes no frames because later I'll have to wait for More Power to expire so I can grab more powerups.
  • 41 Milwaukee: I let the soldier kill me as the level ends, healing without wasting any time.
  • 49 Duluth: It wasn't possible to manipulate useful items in Fargo. Marseilles has a large building that should be destroyed with fire, and by wasting 71 frames to start a World Tour, I save 154 frames on that building.
  • 53 Rapid City: Fittingly, Rapid City is the fastest level in this TAS, with only 936 frames from the appearance of its title card to the next title card.
  • 55 Cheyenne: Fire and dynamite spawned, but I couldn't manipulate them to appear in different buildings.
  • 56 Estes park: getting hit by a mortar pushes me onto the ground, faster than climbing down or jumping normally
  • 66 Los Angeles: I can get a World Tour without wasting time; I manipulate it to go to Johannesburg, and find useful items there.
  • 73 Las Vegas: The stretch from Las Vegas to Vancouver is the fastest set of 10 levels in the game, taking only 14,353 frames, or 3 minutes 59 seconds.
  • 75 Silicon Valley: Using two Death Breaths manipulates the appearance of Hot Loogie and Death Breath next level, which will fully restore the max 5 uses of special attacks. All three buildings could be destroyed with the second Death Breath, but it's slightly faster to activate Death Breath sooner and destroy the last building by hand, because tall buildings should be destroyed as fast as possible.
  • 76 San Francisco: I got Hot Loogie and Death Breath, but couldn't manip for optimal locations.
  • 90 Toronto: Less efficient route (by 18 frames) led to much better placement of the cake in Homewood (80 frames).
  • 101 Naples: Awkward movement moves the fighter plane closer to the building, for faster hijacking.
  • 113 Kyiv: Making a high jump while in the middle of a trampoline building makes it possible to ascend the skyscraper faster than jumping onto it from the side.
  • 127 Bombay: This is a small level with two tall buildings, and a Death Breath powerup spawned in it, so two Death Breaths is more efficient than using the VERN power-up.
  • There are some additional levels available with cheat codes, but they don't count for the purpose of 100% completion. 100% means destroying every building in each level, rather than waiting for the city to be automatically evacuated.

Potential improvement:

  • Solving the game’s RNG and getting consistent power-up appearances every level would save a huge amount of time. I’m not good at RAM analysis or deconstructing code, but if someone else wants to try, they’re welcome to do so.
  • This game supports up to 3 players, and using multiple characters at once should save a lot of time, although it would be far more complicated to make than this TAS.
  • Movement in the first half of the run could be better optimized, but this would require redoing the entire TAS.
  • There is a rubber duck power-up that starts a timer which causes the level to end prematurely, in about 10 seconds. This could be used for an any% speedrun, with the downside of being much less entertaining than this 100% completion.
I made a chart showing the average pace of the run compared to the pace required to complete the run in under 1 hour. It uses the time of the run in frames, divided by the number of levels completed, after each level. As you can see, the beginning of the game is slowest due to the lack of power-ups, but I made it under the target time thanks to the use of power-ups in the late game.

Darkman425: Claiming for judging.
Darkman425: This one took a lot of thinking about. It wasn't a problem of optimization, that's perfectly on point with a lot of RNG manipulation done to save as much time as possible and a lot of routing to get all the buildings destroyed in record time. The issue I had was figuring out how this should be branched.
The game doesn't explicitly say any completion percentages for destruction but does tell the player when a town is totally destroyed. As there are other ways to end levels and one such method can potentially end a number of the 100+ levels a faster than total destruction, this submission wouldn't technically be an "any%" run. However, the game giving a very clear indicator that every building is destroyed after every level gives a very clear indication of something that can be considered full completion. For now I'll leave the "100%" branch label as it works fine enough and makes it a bit clearer that this falls under the Standard class of publications.
Accepting to Standard.
fsvgm777: Processing.
Also adding "1 player" in the branch, as levels may be completed faster with more than one player (per this post).
Last Edited by fsvgm777 on 9/13/2023 8:38 AM
Page History Latest diff List referrers