Character Balance Discussion

Status
Not open for further replies.
So really the graphs there are all the fault of the superfluous stat "thrustfactor". =V

I always forget, is thrustfactor the 3/4/5 number that gets multiplied into the max speed and acceleration values?

Why the heck does that still exist, anyway?

(Rail) - No recoil.
Amendment: Perhaps Rail gives moderate or strong knockback. I'm mixed on whether or not it would screw aerial aiming, but on the other hand it wouldn't affect the shot you take itself, so...
 
Last edited:
Is there anything stopping anyone from removing it, or at least setting it to 1 for everyone?
 
Is there anything stopping anyone from removing it, or at least setting it to 1 for everyone?

Setting it to 1 is like walking through quicksand all the time. Unless you mean while simultaniously improving actual accel and topspeed values from ~30 to ~150, in the event that deleting it breaks something.

I'd opt for just deleting it, but I have no idea if it's a required object or not. IIRC from code sleuthing, it really didn't look like it. The accel code I remember it is seriously just multiplied into both equations for reasons that confuse me. It's like the ultimate "Sonic is my favorite" variable.
 
A few ideas with regards to balancing Sonic:

One: in that chart, Sonic has a higher top speed and accelerates to it faster than the other two. Change that; he should have the highest top speed, but accelerate to it the slowest. Either swap his acceleration stat with Tails (who still has the lowest speed) or bump up both Knuckles and Tails (Knuckles gets fastest acceleration but moderate top speed; Tails has moderate acceleration but the slowest top speed; Sonic has the slowest acceleration but fastest top speed).

Two: the thok needs rethinking. Maybe instead of getting max top speed instantly, it takes your current momentum and reorients it in the direction you're thokking in (with a minimum speed, so you still get some minor benefit from doing it from scratch). That way, a Sonic player can't immediately rush away far more easily than Tails or Knuckles players; they'd already have to be moving fast to get a fast thok, as a standing thok would be relatively negligible. Alternatively, it only works in the direction you're already moving in (I think that is a terrible idea for the record, but I'm throwing it out there anyway).

Three: I already proposed this elsewhere, but Spin Dash is replaced with a Duck button. Holding it while standing decreases your height, as you'd expect Duck to do, but then tapping Jump initiates a Spin Dash. Revving up the Spin Dash would then be based on how quickly you can mash Jump to get the max speed you want (although it decays slightly when you're not pressing Jump), so all three characters can quickly get a high speed much quicker. (Pressing Duck while moving acts like the Spin Dash button already does in such a situation - you roll into a Spin Attack.)

Increasing Tails's maneuverability isn't a terrible idea, either. It's already better now that I fixed the buggy code that refused to let you accelerate if doing so would put you over the max speed, but being able to change directions more quickly would presumably be a benefit when you're trying to dodge fire. This would have to be very heavily tested, though, as changes here would affect single-player as well, and we don't need to have Tails's flying suddenly reach areas he couldn't already. Might have to adjust the amount of time he can spend in the air accordingly.

Just some spitballing from a guy who doesn't actually play multiplayer SRB2 that much
 
One: in that chart, Sonic has a higher top speed and accelerates to it faster than the other two. Change that;
This is the fault of the 'thrustfactor' mentioned in previous posts, and it's what makes me scratch my head a lot.

Tails has a thrustfactor of 3, Knux is 4, Sonic is 5.

The PROBLEM is that thrustfactor is used as a multiplier in both acceleration and top speed codes. And not some special sort of equation or anything. I'm reciting this from memory, but the background variables for acceleration and top speed are effectively:

Code:
{current speed} + ({variable} * [I][B]thrustfactor[/B][/I])
That's it. That's the problem. Sonic has the highest accel and speed because Tails and Knuckles have 3/5 and 4/5 his stats respectively.

In short, seriously remove thrustfactor you guys its been like this since 1.09.
 
Actually, top speed has nothing to do with thrustfactor: it's just acceleration and accelstart that are affected by it really.
Then why the frack does Sonic have a higher number?


EDIT: Added an 'idea vault' to the first post.
 
Last edited:
Increasing Tails's maneuverability isn't a terrible idea, either. It's already better now that I fixed the buggy code that refused to let you accelerate if doing so would put you over the max speed, but being able to change directions more quickly would presumably be a benefit when you're trying to dodge fire. This would have to be very heavily tested, though, as changes here would affect single-player as well, and we don't need to have Tails's flying suddenly reach areas he couldn't already. Might have to adjust the amount of time he can spend in the air accordingly.

Keep in mind that the only real concern here is Tails' acceleration, not his top speed. As long as his maximum flight speed remains the same, I don't think this should break any secrets.
 
Three: I already proposed this elsewhere, but Spin Dash is replaced with a Duck button. Holding it while standing decreases your height, as you'd expect Duck to do, but then tapping Jump initiates a Spin Dash. Revving up the Spin Dash would then be based on how quickly you can mash Jump to get the max speed you want (although it decays slightly when you're not pressing Jump), so all three characters can quickly get a high speed much quicker. (Pressing Duck while moving acts like the Spin Dash button already does in such a situation - you roll into a Spin Attack.)

This is mostly just a personal opinion, but I actually like the current SRB2 spindash-charging mechanics better than the ones in the classic games. By simply holding down the Spin key, you get all of the height-reducing benefits of ducking, plus an auto-charging spindash which doesn't make you mash buttons (and mashing buttons isn't fun at all IMO). On top of all that, you can easily cancel a spindash that you've changed your mind about using, and it's much easier to spindash-jump this way since charging and jumping aren't the same button. SRB2's system is just more convenient for the player in every way, and if you want to prevent players from canceling spindashes because that actually makes a gameplay difference, just have the character refuse to jump if (player.pflags & PF_STARTDASH).
 
Yea, the current SpinDash mechanics are good, and the LUA scripted classic SpinDash (the one where you mash buttons) is broken. Maybe we could add a simple crouch animation before spinning, because seeing Sonic just turn into a ball is jarring to me.
 
There's no purpose to having a "duck" state. It was useful in the original games for looking down and avoiding shots that would have hit you while standing up, but SRB2 has a single instance in ERZ that asks the player to spindash in place in order to fit through an obstacle. This also means every playable character (official or otherwise) would need at least 5 new sprites just so they can duck. It's not worth it.
 
Here's a silly idea I had which would probably not work well but, what if when Tails was flying, he has a small outward push from him for opponents rings? Not too much so that you can't hit him with anything other than rail, but maybe enough so that rings that would almost not hit him, wouldn't hit him.
 
enough so that rings that would almost not hit him, wouldn't hit him.

To be frank, the third dimension makes hitting a flying Tails player with regular rings already rather difficult. The reasons you CAN are because his flight path is predictable due to the movement issues the person flying has, or the slow movement speed they need to use to avoid the movement issues. The latter of which lead to getting hit by rail rings.

Really, it's not that hitting Tails is easy, it's that Tails has a big "kick me" sign on his back since he's out in the open in the sky. With that said, making it arbitrarily harder to hit him is a no-no.
 
One: in that chart, Sonic has a higher top speed and accelerates to it faster than the other two. Change that; he should have the highest top speed, but accelerate to it the slowest.

Correct me if I'm wrong, but doesn't the acceleration stat also affect how quickly you can break? I'm worried that reducing Sonic's acceleration might make him feel slippery at top speed.
 
There's no purpose to having a "duck" state. It was useful in the original games for looking down and avoiding shots that would have hit you while standing up, but SRB2 has a single instance in ERZ that asks the player to spindash in place in order to fit through an obstacle. This also means every playable character (official or otherwise) would need at least 5 new sprites just so they can duck. It's not worth it.

I think it would be funny if ducking meant that thrown rings aimed at the horizon and not a player's feet would fly over a player's head when ducking (but not spinning).
 
What you may be forgetting is that we have some unfinished stages where ducking as a player action could be relevant to gameplay.

Beyond that, I've been reading this topic and I like this discussion, but I'm not convinced that we're looking at balance the right way. Remember that the controls for the characters are balanced for Single Player. That means that, to some degree, the characters are already set to be useful in some way for multiplayer.

Now, before going onto my proposal, I'm going to go out on a limb and voice what is probably an unpopular opinion on Race mode, but I am totally fine with it as is. As far as I am concerned, without a specific set of characteristics put into a stage and without specific variables on the characters tweaked for a specific set of checks and balances, it will be near impossible to balance characters out and there will almost always be a more efficient character to use on any given stage. Because of that, I think having people use FORCESKIN for race is just about the best option to ensure a level of fairness, because having as much variance as we do with character abilities just doesn't make for easy balancing, and that balancing would come at the cost of stage design. I don't think it's worth it there. Match and other combat modes are where the focus of this discussion should be.

Now, onto the real meat of this. We have characters with distinct abilities that lend themselves to some interesting styles of play. In order to have a topic regarding balance, I think it's important to at least abstractly define the roles of characters in the game. Given that, I would say that Sonic is fast and able to quickly get from one place to another with ease. Knuckles is slower, but has the ability to fire weapons more effectively than the others, making him more suited for close combat. Tails can fly and snipe from the air, giving him prowess in the sky.

So now we've loosely defined the characters and what they do. We also know that the characters are not balanced. Obviously, as otherwise we wouldn't be having this topic. I think it's safe to say that Sonic is currently the best. But why, exactly? Well, I would say that it simply means that Tails and Knuckles are not doing their jobs as effectively as Sonic. Which probably means that we need to work on that aspect of their gameplay, rather than look directly at stats and abilities.

So, to that end, I think we should be concerned with enabling Tails to be more effective from the sky. Well, to do that we really have to look at the issues with Tails being used in the first place. As established, Tails has some issues when he flies. Well, I can see why some people would take issue with that, but what if we were to take a second look at what flying actually could do for Tails? While also giving him prime shots in a battle, it allows him to quickly escape melee combat and set himself up at a distance to do his thing. He doesn't need to be flying in order for flight to be useful as a mechanic. So we know the ability isn't the problem, as we have multiple applications for it. The problem, it would seem to me, is that he lacks the ability to use distance to his advantage. In fact, the further away, the more narrow his options in weapons become, eventually narrowing down all useful weapons to just the rail, and I think that's the problem. Rail takes a specific skillset to use, and eventually becomes Tails' only weapon, offering him no variety in gameplay. So what I think this means is that we need to look at options for making weapons good to use at range when playing Tails. Some ideas:
  • Auto Ring: Increase speed of ring as it goes, making it hit a higher cap speed than Sonic or Knuckles get. This will allow Tails to adequately fire into an area from a distance. This allows him some forms of area denial and doesn't necessarily require total precision to hit, and doesn't need total luck either.
  • Grenade Ring: This one is trickier because it's been overpowered before. But it might be a good idea to go back to using trigger on contact, and only on contact, specifically for Tails. In order to keep this fair, it might be wise to have it so you can only have, say, 5 grenades on the ground at a time, and can't fire more until at least one has been triggered. This would allow Tails to at least attempt to manipulate combat for his benefit.
  • Bomb Ring: I'd suggest increasing the blast radius as the ring flies in the air. The longer it goes, the bigger the blast radius is, capping it at a certain radius, but one that is definitely bigger than Sonic or Knuckles. Maybe increase cooldown of fire as a counterbalance if necessary. Gives Tails a decent shot at getting some major points out of other players fighting out in the open.
  • Rail Ring: This is already Tails' most potent option and I'm not certain it needs to change much, if at all. Maybe make the radius of the actual spray a little bigger, but I'm not sold that that's necessary.
  • Bounce Ring: The issue here is that this is great for close combat, which Tails is pretty diametrically opposed to. In order to make it anything like useful in the air, we'd have to eliminate its vertical momentum for Tails when it hits ground. I don't know if this is a good idea though.

I think this is a good starting point for Tails. It strengthens his ability to fight aerially and he gets rewards for doing what he does best already.

So that brings us to Knuckles. We've already seen his boosts in action and I think they were a great benefit to him. They lend themselves to close-combat fights. But he also distinctly lacks Sonic's mobility and is sorely lacking in usability in comparison. The solution here is to make his existance a problem for Sonic. To that end, I think it might be worth considering making him hurt an opponent on touch. This would make close-combat really interesting for Knuckles, as he currently has few means of denying escape from combat for Sonic and Tails. With him causing pain, all of a sudden Sonic players can't just run by him, and Tails players are forced to react to his presence. In order to balance this out, it might be worth considering adding only 10 points per contact hit instead of 50. This would allow Knuckles to break close ties but would otherwise not be the only factor to him winning games. The obvious benefit here is that he has a new way to harm other players.

But there's another problem with this, and I think this needs to be addressed for general balance purposes regardless. The issue with the proposal for Knuckles is that obviously Knuckles is going to have a fantastic party running around snagging peoples' shit and obviously that's a big problem. But this isn't just a Knuckles balance issue anyways. People are rewarded for being lucky enough to be closest to a hit person, or otherwise can just snag all someone's shit right from under them and get ridiculous advantage beyond the point structure. Given what was described earlier, Tails suffers the most from this because of his aerial and distance tactics and that's just not fair at all.
I think we need to consider making it so dropped items can not be picked up by anybody until the player who dropped them can pick them up. This would remove some of the luck factor and balance issues with close-vs-distant combat. If we have a need to convey this, we could make dropped items translucent until the player is back to a state where he can pick them up again. This would keep Knuckles from going on ridiculous theft sprees and allow Tails at least a shot to reap some rewards for his kills, and would also give a hurt player a fair chance at recovery, while not taking away from the benefits the player who scored the hit would have of getting some loot out of the deal.

I think that might be enough to fix the balance issues, but these ideas would need significant testing. I think these are reasonable enough starting points in order to resolve the balance issues and I think this might be where the topic really needs to start heading.
 
Last edited:
Those ideas are the best so far, in my opinion. Also:
I think we need to consider making it so dropped items can not be picked up by anybody until the player who dropped them can pick them up. This would remove some of the luck factor and balance issues with close-vs-distant combat. If we have a need to convey this, we could make dropped items translucent until the player is back to a state where he can pick them up again. This would keep Knuckles from going on ridiculous theft sprees and allow Tails at least a shot to reap some rewards for his kills, and would also give a hurt player a fair chance at recovery, while not taking away from the benefits the player who scored the hit would have of getting some loot out of the deal.
This idea would help make ringslinger gametypes much more fair, as you often lose everything that would help you fight back. Or, rather than have all of the rings being lost after being damaged, you lose the weapon you were using, and a large portion of your total rings. That way, you aren't completely destroyed after being hit.
 
Dropped items are still a rather bold issue for Tails and occasionally Knuckles, in that they become practically impossible to collect or re-collect after being struck at a high altitude.

E: Not to say they aren't for Sonic; Sonic simply isn't affected by it very often since he's rarely in a position where it would affect him. Of course arguing that note opens the can of worms that is 'spring vulnerability' and that's a rather moldy can of worms.
 
Last edited:
How about forcing a maximum bounce height on dropped rings/wheepons/etc? Something like 200 units (14ish fracunits thrust), maybe. Do it in all game modes so it's consistent, since it's not a thing that's going to really affect balance in other modes, but will make it easier to pick up dropped weapons. That along with changing the spilled ring pickups' collectability like Rob said would probably solve the issue of Tails and Knuckles having a hard time getting spilled pickups.

I don't really know how I feel about the specific weapon change idea for Tails; while it could help balancing issues, it also falls into the issue of being hard to observe for new players, especially with something like changing Explosion's blast radius over time. Something like shooting them out faster would be easier to observe, but I dunno if it'd be as good for balancing. I'd try both and see which one works better.

Knuckles getting exclusive hurt-on-contact is something I'm reeeally shaky about. Mostly because it gives him one of the biggest benefits of invincibility on a permanent basis. I see the point about area denial, though.

What if we made players solid to their enemies in match gametypes? (I know you can already do that with the tailspickup cvar, but I'm talking as a default.) That'd help making it harder for Sonic to plow through people, at least.
 
Status
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top