Submission #7579: tom_mai78101's GBA River City Ransom EX "secret bosses" in 10:07.11

(Link to video)
Console Game Boy Advance Emulator Bizhawk 2.8
Game Version USA v1.0 Frame Count 36261
ROM Filename River City Ransom EX (USA).gba Frame Rate 59.7275005696058
Branch secret bosses Rerecord Count 3207
PowerOn Authors tom_mai78101
Game River City Ransom EX
Submitted by tom_mai78101 on 7/7/2022 4:00:37 AM

Submission Comments


Bizhawk 2.8.0 + TAStudio, using mGBA v0.9.1.

Emulator Setting:

  • Skip BIOS: FALSE
  • RTC Use Real Time: TRUE
  • RTC Initial Time: 1/1/2010 12:00:00 AM
  • Save Type: AUTO-DETECT
  • All other settings: DEFAULT




  • GBA


  • 300C20DF

BIOS Region:

  • Worldwide

BIOS Revision:

  • N/A

Discussion Thread

Please do visit the discussion thread, as the thread now contains enough information regarding RNG manipulation, and things you have to keep an eye on for optimizations.

Brief Game Introduction:

The game revolves around Kunio and Ryan (the 2 main protagonists) who, after knowing about Ryan's girlfriend being kidnapped, goes to River City High School to rescue her. Along the way, Kunio and Ryan encounters many gangs in their turfs, and fights them to seek out the bosses behind the nefarious plot.

Aims for:

  • No Damages
  • RNG Manipulation
  • Speed Trade-offs for Secret Events
  • Speed / Entertainment Trade-offs
  • Abuses glitches

No Damages:

Kunio-kun (protagonist) does not take any damages, especially in this Crazy difficulty run. One single hit will take off nearly 1/3 of HP (stamina + willpower) if not careful, and can waste extra unnecessary frames.

RNG Manipulation:

Unlike the previous run, RNG manipulation is achieved by intentionally allowing the game to decrement a random number generation counter, that counts from 0x270 to 0x1. After 0x1, it goes back to 0x270. This is called the "RNG counter". The lottery ticket prize generation is determined by another value associated with the RNG counter, called the "determinant". It helps to guarantee the lottery ticket prize generation to be unique, after every cycle, rather than being predetermined by the RNG counter that loops between 0x270 and 0x1.
In the previous run, RNG manipulation is used to obtain consecutive prizes using Lotto Tix (in-game lottery tickets) in order to have enough money to buy stats-boosting items, as well as manipulating the store stock refresh item listings. For this run, RNG manipulation is used to buy a higher Lotto Tix prize (3rd prize), and quick store item stock manipulation to get a special item, Skaterz.
For every couple of frames, the game calculates what random action the enemies will take, such as jumping, running, moving up/down/left/right, attacking, or running away, subtracting from the RNG counter. There is much to learn from the mechanics of the RNG counter and how it affects the CPU enemies' responses to player actions, and enemy types throughout the areas. You may see me do weird behaviors that priorizes RNG manipulation over speed, for this reason.

Speed / Entertainment Trade-offs:

This run explores some potential improvements listed from this Submission #7569, and is mainly focused on entertainment rather than speed. Here are the list of potential improvements;
  • Manipulating a lottery ticket faster. The current run takes about 15 seconds to manipulate a 3rd prize win, while ideally it'd be possible to win 2nd prize with as little delay as possible.
  • Manipulating weak enemies to run away more often, or have the cowardly Entrees gang appear more often.
  • Manipulating our AI allies to attack more often. There is an option to change their strategy on the pause menu, but they still don’t attack nearly as much as player character.
  • Learning more about Reputation, where it's stored in memory, and how much we need to recruit Ivan. Fighting dishonorably can be faster than fighting while to maintaining a good reputation.
  • Experiment with kicking weapons against grounded bosses
  • Finding a more efficient death warp after leaving Merlin’s. If found, look into recruiting Conan instead of Ivan.
What this run covers: 1) Manipulating lottery tickets faster, 2) Kicking weapons against grounded bosses, 3) Finding more efficient warps.
The first one is about manipulating lottery tickets faster. This can be done, but you would never have any idea of what potential improvements you will get, unless you can efficiently defeat the gang types in MOOSE and ROCKO areas, and get to Merlin's Secret as close to 0x1 or 0x270 as much as possible. In this run, I tried to get the maximum value possible, 0x1E3. There are cases where, even if you get the same RNG counter values, the determinant values can increment more than one time within a single frame. Therefore, it's not guaranteed you will get the fastest 3rd Prize winnings, but it's more probable to start from the extreme ends of the RNG counter.
The second one, I had the chance of trying this out on IVAN. Unfortunately, when bosses recover by jumping into the air, they have a ton of invincibility frames until they land on the ground. These invincibility frames can also trigger when they are hit by a large weapon 1 time, including being kicked towards them. This does not have any potentials for improvement.
The third one is the most promising one, and the most cursed one of all. In Merlin's Secrets, there is an item called "Skaterz", which allows you to warp to your enemies' back when you initiate an attack action. Attack action is when you do any of the combinations of buttons that will trigger a special technique, including techniques belonging to someone else when you obtained the Custom Char scroll item. However, you require to turn this technique off for the final boss fight, as you cannot guarantee to force the bosses out-of-bounds without being able to toss them behind your back, and warping away from the ideal position to pull this off.

Notable Changes

Prior to meeting REX (bluish purple shirt with pink pompadour), reputation is essential to recruiting new allies for the secret event. Reputation is no longer essential after obtaining REX. After visiting SHEL and ABBY, IVAN is guaranteed to join you.
There are some parts in the movie where I had to sacrifice time and entertainment without gaining speed (turning off Skaterz technique). This technique actually hinders me from performing the out-of-bounds glitch in the final boss fight.

Abuses Glitches:

There are some areas in the game where it's possible to finish off the bosses pretty quickly by aligning their positions beyond the wall boundaries. This will cause them to overflow their X positions, making them out of bounds, and will fail to land on the ground, falling to their deaths. I had to use this in the boss fights, the Warehouse Battle, and the Secret Event Boss Fight.

Speedrun Information:

  • This movie is an improvement over my previous run: Submission #7554
  • This run sacrificed time for entertainment value.
  • Uses the hardest difficulty.
  • Has met 2 Secret Events, per GameFAQs.
  • Has performed RNG manipulation. However, enemy actions determined by RNG is still poorly understood.
  • Has performed warping/teleportation.

Other Information:

  • I do not use any passwords in this run.
  • There are 2 places where the game has glitched physics I use in the game, to speed up the boss battles.
  • With new information, dying gives you positive reputation! Therefore, I use death to save time and reputation score, at the cost of half of my money prior to death. It goes counter to my claim in the previous submission (linked above).
  • I did not save and restart the movie in the middle. The game doesn't have a save data system. Instead, the game saves player profiles, which is useless in this TAS run.
  • I had the help from Seirea from for giving inspiration to do this TAS run.
  • I also had the help from Chamale after collaborating with him of another existing run that focused more on speed.


I have added some differences between this run and my previous run.
The main goal of this run is to defeat bosses in a strict order: MOOSE -> ROCKO -> BLADE -> TURK -> MOJO -> THOR -> IVAN -> DRAGON TWIN -> SLICK
When starting the game, the game menu first shows up. This is where I need to quickly configure the difficulty, as well as the text speed to VERY FAST. This helps with unskippable cutscenes with a lot of dialogues. I turned off Weapons, because this can make the run harder to complete on time and lose the "No Damages" specialty.
In order to bring out the bosses, I have to defeat all of the gang members in that area. There is a bit of a delay in the movement, to allow CPU enemies spawn in on the opposite side, therefore gathering them in one place closer to each other for quick mass attacks.
I make quick short work with the gang before MOOSE shows up. To defeat MOOSE, the easiest way is to throw him down the construction zone pit. However, this time, MOOSE chose to activate his Shuriken technique, and not his usual movement pattern of moving downwards. There is small distance between my character (ALEX) and MOOSE, to pick him up and throw him down into the pit. Despite all of that, I was able to throw him down into the pit, at the cost of some frames due to his quick recovery.
The same unskippable cutscene is there. that you had to wait through. With the text settings set to VERYFAST, this is easily breezed through.
The next boss is ROCKO. Entering the factory is where I begin fighting the gang in that area. Luckily, it's the Frat Boys, so their HP is pretty low and they are all easy to deal with. When ROCKO enters, I had to guide the enemy towards the left-most side of the factory, and then initiate the glitch to make ROCKO fall through the ground by re-aligning his position. If I don't do this, the battle will take even longer to finish.
From here, I head on to the Armstrong Thru-way, to enter the Merlin's Secret shop. After obtaining 2 Lotto Tix, I head out, and start RNG manipulation. The goal is to decrement the RNG counter as fast as possible, and this means, attacking the enemy and landing hits as quickly as I can while I move around. After 2 successful 3rd Prize winnings, I head back into the shop to buy a couple of Excaliburs and a pair of Rocketeers. Excalibur allows you to increase your attack stats. Rocketeers allow you to run at the fastest possible speed. After exiting the store, I re-entered the shop to buy the special item, Skaterz, which allows you to warp around as you attack.
After that, I quickly warp towards BLADE, and jumped into the pit to trigger another RNG manipulation, when this time, I manipulate the bookstore's shop items to give me Grand Slam. Grand Slam is a technique that allows you to swing your weapon 4 times in quick succession.
The third boss is BLADE, one of the 4 Zombies. He is located in Sherman Park, which requires some backtracking. Picking up his chain weapon and using Grand Slam, I tried my best to avoid hitting him while he is on the ground to sustain my reputation score.
After BLADE, I head towards TURK, and defeat the gangs there.
When battling TURK, the strategy I use involves timing and juggling him as he recovers. If you get the timing just right, he will not jump up to recover, and you can land successive blows after blows quickly.
After dealing with TURK, I head on to start the battle with the next boss, MOJO. The same strategy used against TURK is used here.
After defeating MOJO, I run and warp straight to the Vacant Factory for THOR. And the easiest way to defeat THOR is by maneuvering him into the pit.
Then I began initiating the IVAN event, where I need to meet SHEL and ABBY. After that, I moved on to meet REX. This is where you need at least some decent amount of reputation score, for REX to join you. Not too high, but not too low.
After recruiting REX, I ran straight towards River City High, and aimed for IVAN. Just like the previous run, IVAN is the start of the boss battle where it takes a ton of time to whittle down STAMINA and WILLPOWER if I didn't boost my stats up high enough. This time, I aimed to get his Willpower stat whittled down first, then use Grand Slam to hit him where it hurts. Finally, IVAN joined my party.
Heading upstairs towards the roof of River City High, the next battle is the DRAGON TWIN, ANDY and RANDY. I used another strategy involving Grand Slam and a chain weapon, to begin juggling them into a corner. I have to turn my back towards them for 2 reasons:
1) Skaterz will interfere.
2) Chain hitbox is higher than the height of my allies, preventing the enemies from jumping/thrown away from the corner as the allies bunch up together near them.
After defeating the DRAGON TWIN, before triggering the SLICK "secret meeting", I have to turn off Skaterz technique. This costs me quite a lot of frames that I cannot preserve, but it is necessary to be able to pull off the glitch to throw enemies down the roof.
With a total of 4 allies, I can then unlock the "secret event": SLICK + OTIS + DRAGON TWIN boss battle. In order to trigger this event, I have to wait until SLICK finishes his dialogue, which is why I still didn't hit him while he is talking. Then I did what I can to fight against RNG, and abuse the glitch to realign all 4 bosses off-bounds, in order to quickly end the run as fast as possible. The moment I stopped my input, is the moment my run ends, but for style, I decided to end the movie at the end of the credits BGM.

arkiandruski: Claiming for judging.
feos: From talking to the author, this run only plays through secret events that lead to the secret bosses beaten, and it aims to beat all the secret bosses barring one that's too long to reach and too weak to care beating (making it less entertaining). And damage would not have saved time. Changing the branch to "secret bosses".
arkiandruski: replacing the movie file with a faster version provided by the author.
arkiandruski: Removed 5741 empty frames from the end and reuploaded.

Last Edited by tom_mai78101 2 days ago
Page History Latest diff