Emulator:

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
  • RTC: AUTO-DETECT
  • All other settings: DEFAULT

ROM CRC32:

8686436E

BIOS:

  • GBA

BIOS SHA1:

  • 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
  • Game Property Changes
  • Fastest Time
  • 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. There is, however, a death involving a pitfall. Not sure if that counts as taking damage, but it is necessary for Kunio to warp back to the shopping area for faster travel time.

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 this 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 to manipulate the store item stocks 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.
  • 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 best item in the game for speedrunning. 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.

Gameplay Modifiers:

The game allows the player to customize some gameplay properties, or called "game modifiers", "stats modifiers" or "gameplay properties", such as gravity, extra damage dealt to enemies, stat boosts, and store item stock refresh rates.

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 run aims for the fastest possible time.
  • Uses the hardest difficulty.
  • Does not unlock secret events.
  • Does not recruit any additional allies.
  • Has performed RNG manipulation. However, enemy actions determined by RNG is still poorly understood.
  • Has performed warping/teleportation.
  • Has performed max speed boost.

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.
  • 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 Speedrun.com for giving inspiration to do this TAS run.
  • I had the help from Chamale for providing a breakthrough in routing optimizations from earlier attempts.
  • I had the help from Samsara after revealing new information about the game, reputation points, and new ideas.

Commentary:

The main goal of this run is to defeat bosses with the fastest time possible under CRAZY difficulty:
Story Boss Fight order: MOOSE -> ROCKO -> BLADE -> TURK -> MOJO -> THOR -> IVAN -> DRAGON TWIN -> SLICK
Most of the run's commentary are already explained from this playground submission here.
Notable changes include tweaking the gameplay properties to:
  • Allow more damages applied to enemies (and thus can deal more damage than usual).
  • Have stronger gravity (to pull the boss enemies down towards the ground faster as they recover, to prevent invincible frames being applied.)
  • This run forgoes any accumulated reputation points, which are necessary for recruiting new allies. Don't expect any new allies here.
Obtaining a lot of Excaliburs have 2 effects in this run:
  • Increases the attack damages dealt to the enemies.
  • Increases stun duration when the damage is dealt to the enemies.
The latter effect is more pronounced when hitting IVAN and DRAGON TWIN. "Standing stunlocks" is a finite state machine game mechanic in River City Ransom EX where if the enemy lands on the ground just before it transitions to an "On Ground" state, it first checks if there are any hitbox collisions first before it begins the transition. Otherwise, it will transition to the "Stun / Knockback" state, where the enemy would slide backwards as they get hit.
I take full use of this game mechanic by pitting the enemy against the wall while performing a standing stunlock, so that when they are stunned, they do not slide outside of my attack range from my chain attacks. With strong attack stats + standing stunlock, the next attack will cause them to get knocked up into the air. If they hit a wall, they will perform a rolling animation, which will "reset" their finite state to "Mid-air" state, which will then allow the game to perform the "On Ground" state conditional checks. Rinse and repeat. This "standing stunlocking" attack effectively allows the player to attack the NPC enemies while skipping any invincibility frames (i-frames for short) on the enemies.
I have also tested and verified that the special technique, Acro Circus, in the game is much weaker than Grand Slam. This is because of the stat-boosting item, Excalibur, only applies the largest boost to WEAPON, PUNCH, KICK, STRENGTH, and WILLPOWER stats. Grand Slam utilizes the WEAPON stat, while the default Dragon Kick technique utilizes the KICK stat. Acro Circus uses the THROW stat, so there are no changes to this.
Using Grand Slam with Chains have a special property in the game: Allows tall, diagonal hitboxes to deal damage to enemies high in the sky and low on the ground simultaneously. This is thus far, the fastest and strongest way to deal enemies when fighting against bosses. The second, best weapon is the Metal Pipe and Wooden Stick, but I didn't use it since the weapon doesn't have an extended hitbox frame on the initial attack frame unlike the Chains.
There is a point in the game where I begin manipulating gravity, when fighting against IVAN and DRAGON TWIN. Both bosses have high recovery stats (High WILLPOWER), so they will recover mid-air. By increasing the gravity, the bosses will fall to the ground faster than when the gravity is set to Default. Doing so will allow me to deal hits without encountering their invincibility frames, which can happen when they recover while in mid-air. Using Grand Slam with Chains on boss enemies have the tendency for the boss enemies to recover mid-air, preventing me from dealing damage. This is most likely a game-balancing preventive measure, to prevent the player from spamming techniques and dealing cheap shots.
You may be wondering, "Why couldn't you manipulate the gravity right at the beginning, when you were changing the gameplay properties near the start?". The gravity property will affect how I defeat TURK and MOJO bosses. Both bosses have the right recovery stats, that's enough to knock them off their feet while allowing me to pound them with chains as they land at the right times.

ThunderAxe31: Claiming for judging.
ThunderAxe31: 74 blank frames removed at the end of the movie file.
ThunderAxe31: All right, this movie seems well optimized. The goal chosen is very straight-forward: beat the game on the hardest difficulty, using a clean save and without in-game cheats. Accepting.

EZGames69: Processing...


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15576
Location: 127.0.0.1
This topic is for the purpose of discussing #7900: tom_mai78101's GBA River City Ransom EX in 08:48.03
tom_mai78101
He/Him
Player (127)
Joined: 3/16/2015
Posts: 160
Forgot to trim empty frames near the tail end of the exported BK2. User movie #638073630631867133 Could someone replace the current BK2 file with this one? Thanks in advance.
EZGames69
He/They
Publisher, Reviewer, Expert player (4460)
Joined: 5/29/2017
Posts: 2761
So I wasn't sure why jumping was only done near the end of some stages as you seem to get a good speed boost, but when I looked at the inputs I found that the jump speed builds up overtime the longer you run for, so it seems to only be worth doing at the height of that speed. Especially since you pause for a second when landing. Also I assume you can't jump in the shop areas so that explains why it wasn't done there. I did find it interesting that you don't have to hold down the directional button when sprinting, meaning the character can still run to the left and right with virtually no input. I was confused at first at how the character was moving at all, but I eventually figured it out. Also the jump speed I mentioned above? That doesn't matter anymore after awhile because MY MAN IS ZOOMIN. I guess somehow buying a bunch of swords made this guy run extremely fast, and also teleporting? Honestly I wasn't paying attention to all the shopping so I must have missed the part where my man learned instant transmission. Now since RNG seems to be a big part of this game, and minor improvement to some areas may not be worth it if it means different enemy behavior (which was mentioned by the author in the submission text). But even so, I can't see anything that looks sloppy or at least improvable. One of the boss fights though had a 74 frame wait time before moving to the next room, which I assume was RNG manipulation, as when I removed that the following enemies didn't sync with the inputs. Also as a note, the attack the TAS does to bosses is not spamming the attack button, that's just what happens when you press the attack button with that weapon.
[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
tom_mai78101
He/Him
Player (127)
Joined: 3/16/2015
Posts: 160
I will do my best to explain how the game works:
EZGames69 wrote:
So I wasn't sure why jumping was only done near the end of some stages as you seem to get a good speed boost, but when I looked at the inputs I found that the jump speed builds up overtime the longer you run for, so it seems to only be worth doing at the height of that speed. Especially since you pause for a second when landing. Also I assume you can't jump in the shop areas so that explains why it wasn't done there.
When you are in midair, you can control your characters to where they will land by holding down the D-pad in the direction you wished to go. In other words, you are able to accelerate when in midair. In certain stages, I would jump near the end, so that I can accelerate and move faster than if I were to run normally and enter the next area. In the game, you can either walk, run, or jump into the transitional entrances to reach the next area. If you were to jump and accelerate into the entrances, you get an overall faster time entering the next area than if you were to run to the next area.
EZGames69 wrote:
Also the jump speed I mentioned above? That doesn't matter anymore after awhile because MY MAN IS ZOOMIN. I guess somehow buying a bunch of swords made this guy run extremely fast, and also teleporting? Honestly I wasn't paying attention to all the shopping so I must have missed the part where my man learned instant transmission.
The "teleporting" skill is learnt when you use the Skaterz item. All the sword items are used to boost the attack stats, and nothing more. The running speed is set to the max when you use the Rocketeers item.
EZGames69 wrote:
Now since RNG seems to be a big part of this game, and minor improvement to some areas may not be worth it if it means different enemy behavior (which was mentioned by the author in the submission text). But even so, I can't see anything that looks sloppy or at least improvable. One of the boss fights though had a 74 frame wait time before moving to the next room, which I assume was RNG manipulation, as when I removed that the following enemies didn't sync with the inputs.
Correct, RNG manipulation happens whenever your character interacts with the NPC, and the NPC is about to do a new action (walk, block, attack, turn around, flee, etc.). When it happens, the RNG determinant updates, and will drastically affect the next RNG that will occur a few frames later.
Editor, Reviewer, Skilled player (1358)
Joined: 9/12/2016
Posts: 1646
Location: Italy
On the RTA leaderboard there are "no cheats" categories. What are those cheats, and how are they unlocked in game?
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
tom_mai78101
He/Him
Player (127)
Joined: 3/16/2015
Posts: 160
ThunderAxe31 wrote:
On the RTA leaderboard there are "no cheats" categories. What are those cheats, and how are they unlocked in game?
They are referring to "Password Cheats" and "Character Profile Customizations". Password Cheats can be entered in the game, by going to the in-game menu, Status, and then change your character's name. You can unlock many special techniques only NPCs can use, and special end-game items called "Scroll Items". With the power of "Scroll Items", and the in-game's menu feature to allow players to merge multiple character profiles (called Character Profile Customizations), you can create powerful characters. By merging multiple profiles together and using the Scroll Items, you can effectively create a brand new character with a custom appearance, super technique attacks, and ultra high attack stats. So when you start a brand new game, you can choose to load your customized profiles, and then speedrun as quickly as possible to the end. In my TAS run, I didn't use any password cheats nor have access to the end-game Scroll Items. Scroll Items can only be unlocked in New Game+ mode (NG+).
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15576
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [5059] GBA River City Ransom EX by tom_mai78101 in 08:48.03