River City Ransom: Underground

River City Ransom: Underground

Not enough ratings
RCR:U Engine Analysis
By Streetwize
Taken from my superpost, I'm going to cover much of the game that goes unnoticed. If you're interested in learning the gameplay aspect of the engine, or want to learn more about the game, this is for you.
2
   
Award
Favorite
Favorited
Unfavorite
Intro
Disclaimer
This guide may become very long depending on how far I go. As technical as it may get I cannot assure you brevity; I will keep it simple for everybody to understand.
Don't expect anything pretty. I'll place images as links because I'm lazy and it will take too long otherwise.

This guide's intent is to help both serious players and future users better understand the game. I have poured hours into testing situations to understand how the game works. I do not have access to the code, but through observation I can explain the logic in English for people to understand as a programmer myself.

Update Log:
7/12/17: Discovered something new about wakeups. Made a new section.
7/14/17: A little more on wakeups, as well as grapples.
12/1/17: Removed STR pushback given proper explanation by Andrew here
1/11/18: Made adjustment to reflect the newer patch.
How Hits Work
When you compare the Bees' Jump Punch and their Torpedo, they are completely different moves despite using the same animation. One hits once and the other hits multiple times. You can do the Jump Punch early and it still won't hit a second time as you come down. Me also spins around in the air, but each hit counts.

So why do some moves not do any damage past the first hit yet others do? Well, it's simple really. The game checks whether a move already hit someone. If so, they are ignored until the move finishes. The game needs instructions to ignore this check every hit for multi-hits to work.
If a move repeats itself without stopping, such moves with this check are not reset. Me's Whirlwind and Wes's Air Knees suffer from this. You can still hit others, but not those you've already hit. This also raises the question: How can moves that repeat in a basic combo work without hitting multiple times? If each attack isn't counted as unique, I guess the move only hits on one frame.

Me's Avenging Grab not doing damage past the second slam shows that it's a per-hit basis. This is the only bugged multi-hit grab that counts damage twice instead of once. An oversight by applying the ignore check on the first hit, but not the rest of the move.

Purple Bee's Megaton Kick can only hit once but has has a weaker hit near the end of the move. This shows how it's possible to have multiple hitboxes which vary, if only through the use of a projectile.

The lingering part of Nerds' Xeno Acid does not hit repeatedly nor can someone be hit again during the hitstun. It's clearly a bug that might have to do with the fact lingering hits don't work. I try to kick them in the middle of hitstun from the Acid puddle and it simply does not connect. Getting into that might be a layer we don't need to explore. It's situational and only applies to him as far as I've found.


With the way the game works, all sprites are a hurtbox. Even moves that look disjointed have those areas as a hurtbox. Andrew's video has shown that these boxes are pixel-perfect, and that you can manually assign hitboxes like traditional collision boxes. He has told me that this alpha-detection is what the game defaults to for hurtboxes if none are manually assigned.
Hitstun States
Usually in games you'd see some sort of special hitboxes or physics system that would decide how to react when someone got hit or how far they would go. Unfortunately that isn't the case in this game. Each attack calls a specific state for the person to go to. It's because of this that trajectories are stagnant. This could be why strength pushes back, making this aspect more dynamic (but look how well that turned out). If you wanted to adjust how far you'd send someone otherwise, you'd have to change the state of being hit, and this affects everybody in the game. You could also change the hitbox because the game likes to line up each attack as far as the hitbox extends.

I bring this up because some people once suggested to make some moves have more hitstun. You can't increase it by a few frames for specific attacks without making a new state. You'd be giving every attack in that group more advantage. Despite being inspired by fighting games, the game is a beat-em-up. They can't change hitpause for certain attacks on hit or block. Their solution was changing how someone gets hit. Longer versions of the common states do exist for heavy blows. Going back to the suggestion, the complaint mainly stems from what I call the "gut" hit state that makes their opponent recover before them in most situations. Seriously, it's so fast, they altered two combos for Glen to make them work by replacing his Gut Kick with Front Kick!

In the air this is much more simplified. You only have to worry about what side you hit them from, and certain attacks that use specific states (mainly flying). Each normal hit in the air acts as if you are doing a normal knockup attack in that direction, and launching attacks still send in their proper direction.
A bug exists that reverses knockback on certain attacks from behind. Just do a rainbow throw and use a special knockdown move. Back attacks that aren't Glen, Ryan, or Slick are affected by this as well. If the back attack can knock down, then the opponent doesn't need to be in the air for this.

The pushback effect caused by STR was actually a "hard hit" mechanic. When someone at low health was hit by a damaging attack, the opponent stayed in stun longer. It proved more annoying than beneficial despite being more plus on hit because of how it made followups whiff This seems to be generally removed now.

A fun little fact is that the most common hitstun animation you see (where they fling their head back) randomly calls one of two animations (or a third, described above). One where their head stays hanging for a bit, and the other where you see them reel back quickly. The latter animation was much shorter in early development, leaving proper combos to dumb luck. It's still slightly shorter, by the way. The difference between the two is still enough to decide whether certain combos work
Strikes
Andrew deserves all the credit for this section. The last video in his RCRU: Underground series explained everything.

As you already know, each character has a certain sequence of buttons for combos which the game leaves up to you to learn. The lack of explaining each possible combo is because of the game's design. Each strike in a combo is a separate attack in the game. They're all given the same name. Trying to list every single situation would be too cluttered for the move list how it is now. This also is why BMD picks up these moves properly (and why Sentinel's "double-sided" gimmick avoids it).
It is possible to change some parts because of these different moves. Angry Running Lounge Kick and Angry Lounge Kick are the same move, but Lounge Kick done from a combo does more damage than Running Lounge Kick.
Specials
Some people might not catch this, but your special bar has a few quirks. Recovery is based on your potential ATK stat (second number). It's really complicated. As you level up, your regeneration increases. You may not notice anything if you keep increasing your SPC until you get past 39 ATK.

For some reason, the cost of a special is connected to its base damage. It doesn't matter how many hits it can do. You'll see a Bee's Megaton attack cost as much as Alex's Rhino Charge. Both deal 23 damage in Arena mode, but Alex does six hits. That's not fair at all!
Also worth noting is that projectiles, despite being special moves, are connected to the STR stat instead of ATK. If you want proof, Chris[imgur.com] and Glen[imgur.com] have over 39 ATK and STR respectively when capped, which gives them an extra point of damage for that stat in Arena Mode. Only Chris gets the extra point in this situation.

Here's a basic rule of thumb for damages and costs they used (assuming ATK is at 15):
7- 7 SPC
10- 16 SPC
15- 31 SPC

Most of the moves follow this rule. If you're worried about some formula that ties the cost to the damage, don't: Andrew has confirmed that moves and damage have their own values. As it now stands, however, this correlation makes me believe they balanced the moves on an individual basis in a rush. Either that, or they balanced the costs to prevent bosses from spamming them as AI (code on SPC regen for enemies does exist).
If you want examples of moves deviating from this, look at Provie's Windmill[imgur.com], Chris's Geiger Breaker, and Abobo's Gigaton Mega Breaker. Abobo is the only boss that has some nice costs for his specials.
Cancels
Now that Strikes and Specials are complete, let's briefly go over how cancels work.

The cancel property is almost on every strike; very few finishers cannot be canceled. There's also a list of moves in which you can cancel into. On hit, there's a cancel window starting from a certain point (usually right after the hit). Ryan and Chris have late points on their starting strikes, which makes it seem you can't cancel them.
These cancel points for strikes also affect the speed of strike combos. You cannot make a special cancel later than a strike or vice-versa. This is very important to keep in mind as you try to balance between attack speed, versatility, and fairness.
There are also moves which you can cancel at any time, but are very specific in what they cancel into. This suggests that these moves might work independently of the traditional cancel system and instead are "stance-like" moves, which send you to a different state for inputs. Such includes Provie's Windmill, Bruno's Acrotactics, and Ryan's Acro Vertical.
Pushback
The game likes to push victims out as far as possible to cut the need of spacing to do strings. This is both good and bad. The good is that you will never move past your enemy. The bad is that some attacks send too far out for a followup.
The game takes into factor where you are from to the enemy. It's more than just x distance they're pushed; it's x + how close they were to you. An attack that makes the player move forth and back will create a bigger gap between the two. Because of this they also like to move the victim with you even after you hit them. Pushback does not happen if you are halfway past someone when you hit them. This in part makes moves with wide hitboxes not work as intended.

In the air, however, momentum accumulates. The closer someone is when you pop them up, the farther they'll go. If you need an example: moving someone 4 pixels in 1/6th of a second doesn't need as much force as moving that person 6 pixels in that same amount of time. When you knock someone up with that pushback, the force from the pushback combines with momentum from falling over. It's why Wes's Kick combo messes up sometimes. He shifts his center put forward during the first kick. Delaying the kick will keep him further back, which can change their distance up to 10 pixels.
An easy example to test for yourself is using the Backers' Jump Attack while running and walking. You nearly double your distance walking, and you gain about 1.5x the distance while running.

Reverse pushback also exists when someone is guarding to stop the attacker from advancing past them. Ironically this does not work when someone is full-nelsoned or against a wall, as beneficial as it would be. The game expects the enemy to push back instead of you. Given how hard it even is to combo on the sandbag, it really would have been useful.

Repel Pushback caused by the pink circle is different. It forces the one affected away almost like a wind effect. This also happens if you trigger the anti-infinite mechanics. The intent is for guaranteeing safety, but it does feel off.
Grapes and Apples
There are four types of attacks from a grab: throws, slams, pummels, and strikes. I'll go over each of them, but first I should explain what happens when someone gets grabbed.

There's a timer for how long you stay held. Both how long and the number of taps needed depend on your DEF (thanks, K-Frog). Here's the catch though: taps don't speed up your time stuck, but instead forces your action. Buttons do nothing while in hitstun in this state. A bug exists that lets you mash while being thrown; probably a side effect from balancing the grounded throw.





Throws and slams use the THW and ATK stats, respectively, If you need help telling them apart otherwise, a bug makes most throws always stop their animation as soon as you release them. This has been fixed. Slams such as Glen's throws or Rudy's moves do not have this problem. They usually do damage at the point of impact instead of release.

Certain throws restart the getup timer even if it would be at zero due to bugs (covered later). Such include Alex's Shoulder Throw, Rudy's Belly Suplex and Mike's Flip Flatter. It is still possible to supped up wakeups by mashing in the middle of a throw.

Note that either move type gets around Sentinel's wakeup Uppercut exploit since it forces a downed state.



Pummels (repeatable strikes) mainly use the ATK stat. Some of them knock down others close by like Glen's punch, but not Provie's Knee. This causes interesting effects that I'll cover later. Grab strikes still use STR. What's different about them though is that release the opponent afterwards. Letting go of your opponent for a strike will lock the opponent to let the move hit. Normally they would have a winded animation as if someone freed them from a grab. I don't think this is a bug itself, but the situations causing the attack to whiff are. They're locked and can't do anything until they're hit. No grab strike is too slow for said winded state finishes before a strike connects ironic enough.
Ground Game
The defensive aspect functions very similarly to being grabbed, so refer to the above section for that. Your timer is supposed to begin when you transition to a fully prone state. On your back, you shift into another sprite; it starts immediately lying on your front. This is also when you're allowed to tap buttons.
You can still buffer your getup during hitstun, though you cannot buffer any special actions. Such moves are only avaiable if you are in a neutral state. If you mash during stun, you'll likely stand up without rolling. You are also allowed to mash in the middle of a thrown state. Being juggled stops you from mashing though.
Any move that avoids the wakeup "kneel" such as Air Pushing, Wes's kick getup, or Rudy's Hair Pull will still keep the timer active. This results in them waking up immediately next time they fall over. As stated earlier, the timer will start immediately if you're thrown.

Said prone state is where on-the-ground (OTG) moves connect. The little impact from landing is also an OTG-able state which causes the enemy to pop up. Given how there's a brief period of invincibility between this and the normal downed state, I don't think this was intentional.
This is because you can grab someone downed at any time as long as they're not dead. It doesn't matter what part of the animation they're in. It's why throw loops are so abuseable. Lifted enemies follow the rules of a heavy weapon until standing. From there, this forces a rolling throw which leaves the enemy helpless. You are still allowed to roll out while being picked up, however.
The RPG System
Several others already have gone over this, but I assure you I know almost everything to know now.

You gain one point every level, with an extra point every few levels. You'll reach 39 cap at around 17.
Every three points in a stat boosts your damage by one point. A regular strike's base damage is 2. 39/3 is 13, so you deal 15 damage.

  • ATK adjusts how much damage you do from specials as well as grab attacks. As stated earlier, it also helps SPC recovery.
  • WPN increases your weapon damage. I'm certain it does nothing else, but I do notice some characters can deal 2 extra points of damage while running while others deal only 1
  • THR obviously means throwing damage. Mike benefits the most from this stat, though it is worth upgrading if you like to chuck rocks or snowballs often.
  • AGI buffs your damage in the air. It also helps you recover your ENG faster. Having 63 makes you recover in almost instantly. This also makes Rudy worse defensively than one might think.
  • DEF decreases the time you stay downed and the button taps needed to escape/get up. People thought it was AGI, but Paul and Alex disprove that.
  • STR affects most of your strikes and slams. The initial belief of pushback was found to be a "hard-hit" mechanic influenced by overall damage.
  • WLP is a second wind that is very hard to understand. It's supposed to help you recover a bit of health for what should use 16 points, but sometimes it takes more for no clear bonus.

  • STA is your health. We don't know the potential max for each level, but increasing it efficiently works by making sure you're close to full health. Doing so will net you 25% of what you would heal instead of 1 point.
  • ENG is how much you can guard. How much is drained is based on how hard the attack hits. It also doesn't regenerate while blocking. The most legitimate idea is that it works similar to health. If you don't increase your deficit between your current max and potential max early while you are a low level, you'll only gain 1 instead of the normal amount. This makes figuring out how much each item can truly raise it by extremely hard.
  • SPC is your meter. Very self-explanatory. If you score past a 30-hit combo you'll see your regen skyrocket.
What's to come
I'll definitely try to cover more in the future. I'll just put it here at the bottom.
  • Images and references. They'll be linked only because I refuse to put in the extra work to put them in the guide. I mean, it's a bunch of text. How am I supposed to make it all look nice?

Anything you'd like me to look into? Ask in the comments.
I already covered the Anti-Infinite system in another guide here.
Credits
Andrew- For confirming much of what I posted. I wish I could talk to devs more on this.
Meowkies/Luantic- Bumped my thread and motivated me to do a little more; also great to talk about the game's balance with.
Evolution- Helped me test out special costs. I also discovered how disjoint doesn't exist in this game while messing with him.
K-Frog/Davadoo- He loves to pick my brain. When he shows me things I never knew, I learn even more after looking into it myself.
Phoenix Star/Erin the Angry- Helped me test special recovery and was definitely onto something.
Taft- Another awesome guy and one of the top players to look out for.
3 Comments
Tyrant 13 Jun, 2023 @ 7:13pm 
fun fact I didn't actually own the game back when
Dead End 15 Jul, 2022 @ 8:05pm 
Thanks for the guide man!
ThatDarnDog 11 Jul, 2017 @ 6:01am 
Nice guide, Mano. And not sure we know everything about the RPG system just yet. Still a chance there's a few hidden funtions in there we haven't figured out yet.