March 2, 2019

Bringing balance to the karts

The upcoming release of the next SuperTuxKart version is getting very close!

Several hundred players tested online networking with thousands and thousands of races. While it was already very playable, the beta helped to catch a few nasty bugs which are now fixed for the release, and to get gameplay feedback, as online races have a different balance compared to races with AIs.

But in this blog post, our main focus will be gameplay, with all the changes applying to both single player and multiplayer compared to 0.9.3. The basis of STK's gameplay remains unchanged: drive along the tracks while trying to drift and collect nitro, using items to boost yourself or attack other karts, but the next version includes many evolutionary improvements to enhance fun and balance.

First of the main changes: the kart classes have been rebalanced. People familiar with the previous versions may have noticed that heavyweight karts were useless, as they were equal or inferior to medium karts in everything. Lightweights were superior for abusing unintended shortcuts but otherwise worse.

Now, each kart class has different acceleration, top speed, nitro consumption, maneuverability... values which have been carefully tuned so that each kart class is best in some tracks and race conditions.

For example, the higher top speed of heavy karts is valuable in tracks with gentle curves and in time-trials, while lightweights fare better when maneuverability and acceleration after crashes matter. We have also improved turn radius, making sure all karts within a class behave the same and none is harder to drive.

The second main change has been improvements and fixes to track themselves. A huge amount of unwanted shortcuts and skips (some of them exploiting rescue) has been patched. This ensures that online races won't see players abusing such issues to beat others driving along the intended path, except one which has been left for adventurous players to discover.

Next, the locations of item boxes, nitro cans and bananas on many tracks have been reworked to enhance balance and fun. Too easy to catch big nitro cans (giving a big advantage to the player taking them first) have been moved or changed to small cans, and item boxes too close to the start line or to other item boxes have been moved or removed. On Volcano Island a few bananas have been added to enhance the challenge.

The third main change is a rework of slipstreaming. Slipstreaming is the speed bonus you get from being close behind another kart. In real life, the speed boost from being shielded from wind by another vehicle is small but continuous. In STK, it is cartoony : you are made aware of being in the boost zone by an animated air movement, and only activate the speed boost when you stop following the other kart after having been in the boost zone long enough.

In the upcoming release the air movement gets faster and its colour changes from white to yellow to make it easier to see when a boost has been charged. The slipstream boost has also been improved to provide a healthy max speed and acceleration boost, but more progressively and much less likely to cause the player to crash. The slipstream area where the boost can be collected is wider and longer. It is divided in an inner area and an outer area, if closer to the followed kart, less time is needed to accumulate the bonus. It is also much easier to collect boost in curves, so you can get the boost there too!

Finally, a deep rework of powerup probabilities has been done. While the set of available powerups is the same as 0.9.3, their distribution has been greatly improved in several regards.

Previously :
  • Karts were put in a group depending on their position, and each position in the group yielded the same item probabilities. For example, in a 12 karts races, 2nd and 4th had the same item probabilities.
  • The same set of weights was used from 1 to 20 karts.
  • Follow the Leader mode used the same weights as normal races.
  • Karts behind had a strong tendency of destroying each other with explosive cakes and other attacking powerups.

Now :
  • Each position get unique weights, by averaging weights between reference values. The item probabilities evolve progressively with the position instead of suddenly.
  • Several set of weights are used to account for the different dynamics depending on kart number. For example, the last kart in a 20 kart races is much more likely to get a triple zipper than the last kart in a 5 kart races. Values for number of karts between the reference points are interpolated. This is also used to better control the amount of global items (like parachutes or the swapper).
  • Follow the Leader mode gets customized weights.
  • While karts in the middle still attack each other more than they can attack the first kart, this is less damaging and bubble shields are available.

Cakes and basketballs are now unavailable during the 15 first seconds of a race. Explosion duration, whether from weapons, bombs or track hazards, have also been shortened, in order to make them less punitive.

In the long term, we plan to introduce new powerups in STK to make gameplay more varied and to overcome some shortcomings of the current set, but these changes shipping in the next release are a huge step forward.

To close up this blog post, let's mention several smaller changes, mostly quality-of-life enhancements, some of them already mentioned in earlier blog posts :
  • When doing a quick (yellow) drift after a long (red) drift, the stronger bonus of the red drift is no longer removed. Instead, it last until its normal end, and if the quick drift should end later, it will then take effect.
  • The startup boost requires to press the acceleration button quickly after "set" instead of "go". This change has mostly been done for online multiplayer as it allows the clients to better predict how other karts start.
  • Physics have been improved: karts are much less likely to be catapulted flying across the track after a strong collision against a wall or some other obstacle, and always remain controllable in downward slopes.
  • When nitro is consumed during the minimum nitro consumption time, the kart will always get the boost whether or not the player keeps pressing the nitro key.
  • Burning a tiny amount of remaining nitro (less than the normal minimum use) provides a shorter boost.
  • The AI is being smarter about how it uses nitro and items (which is more of an AI enhancement than a direct gameplay enhancement), and the way the AIs slow down in easier difficulties has been changed to be more forgiving towards players and to avoid all AI karts being very close to each other.

We hope you will enjoy these changes!