Submission Text Full Submission Page

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
  • 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 Speedrun.com 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.

Commentary:

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.
arkiandruski: Changing the branch name to something that more accurately describes its goals. The big goal of the run is to reach the 4v4 Slick fight as fast as possible.
arkiandruski: There are concerns about optimization and the goal, but I can tell effort went into it. I'm accepting to Playground.


Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Looks intended to me.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
tom_mai78101
He/Him
Player (127)
Joined: 3/16/2015
Posts: 160
feos wrote:
Looks intended to me.
Cool, I'll wait for the official rules update on this.
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
There's nothing to change because we don't ban this.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
tom_mai78101
He/Him
Player (127)
Joined: 3/16/2015
Posts: 160
From Samsara's post, a "far superior strategy" was mentioned. Does that mean, judging only by solo special techniques alone, does that mean "using Rocketeers" is a better strategy than "using Skaterz"? Or, it means something else entirely?
feos wrote:
There's nothing to change because we don't ban this.
Make sense.
Reviewer, Active player (287)
Joined: 12/14/2006
Posts: 717
Samsara wrote:
The optimization thing is sort of an interesting quandary. This run is objectively the fastest completion of this category, meaning that by our rules it's hard to justify accepting the other run as it's not the fastest known run. However, even though this is the fastest known run, it's hard to justify accepting this as well because it's clear the other run uses the far superior strategy. Since that run came first, there aren't really any excuses for this run being strategically slower. I don't think we've ever had this situation happen with two submissions on the workbench at the same time, at least not that I've seen in my time as a Judge. I've seen it happen with submissions that aim to improve published runs but end up coming short on overall execution despite having faster times. In those cases, it's a judgement call, but we can't really do that here because neither run is published. There definitely needs to be a better way of handling situations like these. I might have to go back to the drawing board for our rules and standards and figure out something that makes sense.
I knew something felt weird when I was watching feos's comparison encode. This run clearly had better movement in the early game and got to Merlin's Secret Shop way ahead of the other run. So if it was using the best strategies, then it should be faster afterward as well, which would have a much smaller end time than Chamale's run, but it doesn't. Looking at the encode, almost universally Chamale's run is beating this run in the second half. If the strategy here was better, then that shouldn't be the case.
tom_mai78101
He/Him
Player (127)
Joined: 3/16/2015
Posts: 160
Looks like there's a consensus: Routing strategy comparison (greater = better): Rocketeers + Skaterz > Rocketeers > Skaterz > Agility stat boosts > None I'll have to return from travel in October, to begin experimenting with the TAS a bit more.
Player (210)
Joined: 7/23/2019
Posts: 5
Location: Melbourne, Australia
I guess I'll chime in. I've been keeping my eye on RCR EX TAS progress for some months and while I really wanted to see the game represented on the site, I wasn't too thrilled with the choice of category, since Any% seemed like a far more natural debut. I don't recall the exact theoretical TAS route but Lottery->Excalibur (lots of 'em) + Skaterz->Pump Sneaks was assumed to be fastest. One major routing issue was that there was no fast way to deathwarp back to Waterfront Mall other than jumping in the pit before the warehouse after some immense backtracking but if you find a way to do all the shopping and then void out or die in Mojo's room, something similar would likely be optimal. Amusingly this route would look very similar to the current RCR NES TAS. I'd really strongly recommend reaching out to the RTA community on discord for advice for routing on future submissions. Finally, I haven't seen it mentioned anywhere but the RNG is handled by a simple index and array of size 128 or 256, I forget which. The index cycles through the array taking the value of both the element retrieved and the one after it to do RNG magic until the end of the array where the RNG array is rerandomised and index is reset to 0. An interesting note is that the array always seems to be initialised with the same RNG values at power on, which hinted at an RTA-viable route to using Lotto Tix. Also we were looking for the Gang Distribution table in the ROM (chance of each gang appearing in each room) but were unable to find it - please let me know if you discover anything. Good luck!
tom_mai78101
He/Him
Player (127)
Joined: 3/16/2015
Posts: 160
willbobsled wrote:
I guess I'll chime in. I've been keeping my eye on RCR EX TAS progress for some months and while I really wanted to see the game represented on the site, I wasn't too thrilled with the choice of category, since Any% seemed like a far more natural debut. I don't recall the exact theoretical TAS route but Lottery->Excalibur (lots of 'em) + Skaterz->Pump Sneaks was assumed to be fastest.
The disadvantages of buying Pump Sneaks is that you need to buy multiples of them to max out your agility, which helps to increase your running speed up to a certain point below the max value, while a single purchase of Rocketeers would give you max agility value at the get go. The RNG gods tried their best at thwarting my efforts, and they did succeed. :*( This is the current best attempt at making Excaliburs + Rocketeers + Skaterz, PRIOR to the reputation and additional optimization strategies found after this submission was created. Link to video However, it is slower by around 20 seconds due to how the RNG calculates the *next* lottery ticket winnings to get a second 3rd prize winning, to be able to purchase the in-game shop items, and other things. My current progress involves trying to make the RNG (via the determinant) hit the exact number before it loops back to 0x270. If you have any suggestions, please let me know.
willbobsled wrote:
One major routing issue was that there was no fast way to deathwarp back to Waterfront Mall other than jumping in the pit before the warehouse after some immense backtracking but if you find a way to do all the shopping and then void out or die in Mojo's room, something similar would likely be optimal. Amusingly this route would look very similar to the current RCR NES TAS. I'd really strongly recommend reaching out to the RTA community on discord for advice for routing on future submissions.
Will do. Do you know where I should reach out to the RTA community, as I'm only familiar with Speedrun.com?
willbobsled wrote:
Finally, I haven't seen it mentioned anywhere but the RNG is handled by a simple index and array of size 128 or 256, I forget which. The index cycles through the array taking the value of both the element retrieved and the one after it to do RNG magic until the end of the array where the RNG array is rerandomised and index is reset to 0. An interesting note is that the array always seems to be initialised with the same RNG values at power on, which hinted at an RTA-viable route to using Lotto Tix. Also we were looking for the Gang Distribution table in the ROM (chance of each gang appearing in each room) but were unable to find it - please let me know if you discover anything. Good luck!
If you are able to figure out where the RNG is handled using the simple index you've mentioned, please post in the discussion thread here: https://tasvideos.org/Forum/Topics/2028 It's best to try and consolidate all of our findings to that one place, so it's easier to keep track of it. Also, if you have more information about the Gang Type RNG, I wish to know that as well, so we can see what we can do with it to get more ENTREES often.