Slick with his gangs of students and evil bosses holds River City captive and Ryan's girlfriend hostage. Only our hero can stop him now!... But first, he's got some shopping to do!
- Emulator used: FCEUX 2.2.3
- Takes damage and uses death to save time
- Acquires Boat Shoes
- Uses easiest difficulty
- Genre: Fighting
About goal choice
River City Ransom was originally released for Famicom/NES in Japan 1989 as Downtown Nekketsu Story, one of the first titles in the Kunio-kun series, and was ported to multiple consoles, including: X68000, and PC Engine. This TAS was performed on the original US port for NES to remain consistent with earlier publications and to make it easier to understand for the general audience, despite the NES games being functionally identical and also saving approximately two seconds from quicker Japanese text. The game difficulty has been set to Novice rather than Advanced in accordance with previous publications, as the harder difficulty results in longer and repetitive encounters, which is neither interesting nor entertaining.
Previous publications have taken advantage of L+R inputs, especially to quickly perform a death warp and commence the required back-tracking to defeat Blade in Sherman Park. However, the route in this TAS requires a later death warp (after purchasing Boat Shoes) which can be achieved fastest by reducing Ryan's Stamina to 0 and running into a wall. I was unable to find any other opportunity where L+R would save time, so I opted to exclude all L+R inputs. Note that the damage required for a death warp without L+R is the only time that Ryan receives damage, including the events that take place after the final input.
Finally, it must be noted that this route is likely sub-optimal and that the route used in the predecessor publication combined with time saves from improved fights and lag reduction will yield an even faster completion.
Techniques and glitches
- Damage is a function of the relevant attack stat (Punch, Kick, Weapon, Throw), speed (stationary/walking, Dash/running), state (Grounded, Floating, aerial), attack type (standard, finisher, weapon strike, weapon throw), and the defender's Strength stat. There are 12 Damage tiers from walking grounded standard attack (lowest) to Run-jump weapon throw (highest). Some tiers are associated with multiple combinations, e.g. stationary floating uppercut (finisher) = Small-jump standard attack. Each weapon type belongs to one of three separate strike and throw tiers.
- Will power (WP) is a stat that rejuvenates a downed character once their Stamina (HP) stat reaches 0. If HP == 0 and WP > 31 then HP = WP / 4 , WP -= HP else rip e.g. Otis (WP42) → 32WP10HP → 24WP8HP. On Advanced Difficulty some gangs have WP > 31; on Novice only Simon (WP63) has WP > 54. Ryan has WP15 without powerups, maximum for all characters is WP63.
- Step counter at $04DA increments while Ryan continues to walk or run. If Ryan is jumping while running and Step counter > 15 then Ryan will perform a High-jump. Step counter is only reset shortly (but not immediately) after the beginning of walk/run animations and is not reset by small adjustments, jumping, or loading zones.
- Grounded state is the weakest of the three states and uses the intended damage formula for ground attacks.
- Floating state is activated after landing from a High-jump and remains through loading zones until Ryan next leaves the ground by hopping, jumping, or falling. Each subsequent attack deals one Damage tier above Grounded. This is an extremely useful technique in RTA as each of the three punches in a Stone Hands attack deals this extra 1-2 Damage, saving numerous boss cycles over the duration of the run.
- Small-jump occurs when A+B is pressed while Ryan is stationary or walking; attacks belong to at least the 3rd lowest Damage tier. Ryan travels faster while running than any possible jump, however a Small-jump will cause minimal cooldown upon landing.
- Run-jump is performed when Step counter < 16 and Ryan jumps while running; attacks belong to at least the 7th lowest Damage tier. The trajectory can be changed slightly by pressing and holding A or B before jumping (cancelling an attack) and movement/attacks performed mid-air. The cooldown upon landing will depend on Ryan's Agility stat, and how many frames A or B was held. Ryan can also enter the Run-jump state by running off a ledge.
- High-jump is a Run-jump while Step counter > 15.
- Long-jump will slightly lose height but gain distance, and the initial lunge forward may also spawn bosses a few frames earlier. Long-jump requires increased Agility, and is performed by pressing either A or B for a single frame before Run-jump or High-jump, immediately followed by a held punch, kick, or weapon strike.
- Dash makes Ryan run by pressing L or R twice in quick succession; Dash (and running) attacks belong to at least the 5th lowest Damage tier. Step counter will not be reset if a Dash is quickly followed by an input that stops running.
- Re-dash is a variant of Dash that only requires one L or R input, saving 4 frames. Re-dash can only be performed after a Dash that doesn't reset the Step counter, and can be chained together to perform further Re-dash attacks.
- Global timer at $052B determines which of the 8 configurations is selected for initial spawn points of gang members. In most cases where a boss needs to be defeated, it is faster to wait in the previous Room to manipulate a desirable pattern.
- Crate/Trashcan (all best tier except thrown Trashcan) will damage one character when thrown or pushed, and then again on the frame that it comes to rest. It will deal the same Damage as the last time it was thrown. Once at rest, it can be pushed along the floor with a kick, uppercut, or Chain strike. Note that the pushed speed is dependent on the Damage of the pushing attack, which is often different to the stored value.
- Duplicated damage occurs when a defender takes damage from two sources on consecutive frames, resulting in unintended duplication of either or both attacks. This doesn't seem to be possible with all attacks, but is used when Crate/Trashcan comes to rest in boss fights, as best demostrated by the Otis fight (Room 29).
- Boat Shoes boosts Ryan's Kick and Agility stats which increases walking and running speed by 25% and allows Ryan to jump farther, but cooldown is slightly extended.
- Death warp sends Ryan to the previous mall in order to reduce the time spent back-tracking to defeat Blade.
Room by room comments
|Cross Town High|
Capitol Ave. Bridge
W.S.L. Co. Warehouse I
|70||70||The first nine rooms have been grouped together as they are repetitive. The first mandatory encounter is Rocko in Room 11,|
and Ryan must bring a Crate/Trashcan to quickly defeat him. All time saves are due to lag reduction from RNG manipulation.
|11||W.S.L. Co. Warehouse II||145||215||Most boss rooms require 4 gang members to be defeated before the boss appears. Only two enemies may appear on screen at|
any given time, and will not spawn until the coin disappears or is collected. The Step counter stored from the previous room
allows for an immediate High-jump to quickly dispatch of the first two Home Boys. Collecting the $0.75 coin spawns a Home
Boy upstairs where he attempts to approach Ryan by hopping down but lands on the ledge of a stationary tyre, allowing him to
to vanquished with a single hit. The final two coins are collected and Rocko WP31 is defeated. The routes diverge here as Ryan
collects Rocko's coin for a total of $25.25 and continues to Flatirons Mall to acquire Boat Shoes.
|12-15||W.S.L. Co. Warehouse III|
Armstrong Thru-way I,II&III
|-24||191||Note that this segment is compared with the equivalent segment from the predecessor publication, beginning at Frame 8896.|
Floating state is enabled by performing a High-jump on the final frame of Room 14 and maintained for the remainder of the
segment. The lost frames are due to the slower weapon (Chain strikes) and waiting to collect Turk's $2.50 for a total of $31.75.
|16||Downtown II||75||266||Note that this segment is compared with the equivalent segment from the predecessor publication, beginning at Frame 10003.|
Floating state is still active from the previous segment, and is maintained for the remainder of the Room. Despite collecting
Mojo's coin, 75 frames were saved from improving fights.
It isn't particularly insightful to compare the remainder of the TAS with the most recent publication due to gameplay differences caused by Boat Shoes.
|Flatirons Mall I&II|
|7484||Boat Shoes are equipped for $36.95 with $0.30 to spare. Incidentally, exiting the Belongings menu can only be buffered on the (USA) port, saving one frame|
which is the only known occasion where (J) is disadvantaged. Death warp to Waterfront Mall is not faster with L+R shenanigans.
|9385||Blade only appears after Rocko has been defeated, so the back-tracking to defeat him is required in order to spawn Thor. Money is no longer required but the event|
flag is not raised until frames before his coin appears.
Capitol Ave. Bridge
W.S.L. Co. Warehouse I,II&III
Armstrong Thru-way I,II&III
Flatirons Mall I&II
|10390||There is no need to engage any enemies until Thor, so lag reduction was the primary focus. We continue avoiding all lag frames (since Death warp) until Room 10|
with 20 lag frames. An empty Room is always followed by a Room with the native gang, but Room 11 is the laggiest Room in this segment. Only 4 more lag frames
are conceded for the remainder of the segment, all in Room 16.
|20-22||Vacant 3rd Wheel Factory I,II&III||13422||Ryan is reunited with his Crate in empty Room 20; future Rooms that can spawn gangs will never be empty. Room 21 is occupied by native gang Squids,|
causing 11 lag frames. Long-jump in Room 21 demonstrates the extra distance reached. The companion cube is a tool to be used and discarded; Boat Shoes might
be required to perform this precise High-jump and Long-jump in Room 22.
OAK Hill Mall I&II
Burb Village I&II
River City High I
|14682||Trashcan is conveniently available in Room 23. Ivan WP48 has a high Throw stat so his running Trashcan throw deals 41 Damage and will knock him down|
whether or not he is in the stun animation.
|29||River City High II||16369||Otis WP42 spawns too close to the wall to significantly benefit from manipulating him to throw Trashcan, but Duplicated damage deals a whopping 95 Damage in|
the first two volleys. Long-jump is used to quickly conquer the gym equipment. 8 lag frames.
|30-32||River City High III,IV&V||17571||After ascending the stairs and clearing the gangs, Andy WP49 is lured into a running Trashcan throw at Randy WP50, dealing 35 Damage which is enough to|
knock either Dragon Twin down without being in the stun animation. 16 lag frames.
|34||River City High VII||18891||By far the biggest time save in this run is the final Room with 736 frames saved by exploiting Simon's AI. Basically, enemies at close range will reposition if|
their Z-coordinate is > 5 difference to Ryan, otherwise they will attack, however, attacks will only connect if Z-difference < 5. Ryan enters the Room at Z=68 and
simultaneously moves up to 70 while beginning his final Dash. Select is pressed as an audio cue to indicate final input. When Simon finishes his monologue, he
runs towards Ryan from Z=80 to Z=75. With a Z-difference of 5, Simon is now stuck in a continuous but unsuccessful endeavour to hit Ryan, eventually throwing
weapons and embarrassing himself. This series of events seems to be relatively easy to replicate for any future TAS, as long as Simon doesn't inadvertently change
his Z-coordinate by jumping on the Crate/Trashcan, or getting stuck walking backwards between Ryan and the wall. Apart from finding a way to Re-dash upon
entry, I feel confident claiming that this room is solved at 7 frames - the final input at 18897 occurs before the fade-in begins.
One minor timesave has since been brought to my attention where the Death warp can be achieved faster by entering the Belongings menu once Ryan's corpse disappears, saving about one second. As the optimal route does not involve any shopping (or pause menu), it is unlikely that this timesave will be demonstrated in any future TAS unless it is required to perform a sequence break. The optimal route should be able to achieve a final time of 4:5X or perhaps slightly lower.
- Shoutouts to Chamale for producing a high-quality TAS that gave me competitive segments with which I could assess my progress
- Thank you xxEzraBxxx and Spikestuff for higher quality temporary encodes!
- Special thanks to yelsraek for inspiring me to optimise this bizarre route
ThunderAxe31: File replaced with a 65 frames improvement.
ThunderAxe31: Accepting as improvement over  NES River City Ransom "1 player" by Chamale in 05:19.16