Godot 4 is live!

This is exciting times!

Go and download the game engine — then go make those games! Soon you will be able to pay for a competitively priced subscription to get your game on the Nintendo Switch console.

I am very much looking forward to diving in myself very soon but don’t wait for me!


About Mario Kart

Mario Kart has been playable since 1992! The game has been published on 13 different platforms and is still the undisputed King of Kart Racing. That is a daunting achievement.

In this post I’ll look closer at what makes this amazing kart game so pleasing to play and fun to master. My focus will be on the driving.

Strap yourself in!

How is it special?

The game offers a uniquely satisfying karting experience. Over the years it has inspired countless other games, that never quite manage to dethrone the king. I suppose most don’t even try.

When you buy a Mario Kart game, the experience will most likely feel something like this:

  • Disarming
    The game is all but bursting with happiness and colour, like a piece of candy you just gotta have. Mario Kart doesn’t take itself too seriously. Not even the most timid player will be scared away.
  • Innovative
    Every new game in the series introduces something delightfully different, keeping the game fresh.
  • Social
    The game is great to play alone, and at least as fun to play with others. Initially in the couch, and eventually also online.
  • Harmless
    Mario Kart is suitable for all ages. No guns, nobody gets harmed. Everyone reaches the finish-line; eventually. The most recent iterations benefits from player assist mechanisms.
  • Bountiful
    Different game modes offers something for everyone: timed races, ghost races, battles and tournaments.
  • Symbiotic
    Then there is the final bit that is hard to beat: I believe every Mario Kart on a Nintendo controlled platform has been published with unique and exciting hardware. Oftentimes the game has tried to take full advantage of the hardware – and it is the only console you can get the “full Mario Kart experience”.

If we take away all that, what remains is the technical core we can study and get inspired by – like so many before us.

We got to learn from the best, right?



The kart is driven by pressing the accelerator which applies thrust to the kart. The handling of the kart is affected by the surface, which includes traction, speed and turning radius.

The track is about 17 times as wide a regular sized kart. The sense of space while driving is not notably affected by driving a larger or smaller kart (not true when zapped).

The kart comes to a complete halt when the thrust reaches zero— even while kart is facing up or down a hill. Thrust seems to dissipate in a linear fashion (i.e. the thrust is lerped) and is unaffected by the environment—again, hills has no impact.

If the kart is pushing against an immovable object the kart will not move forward, but shake in a designed and controlled fashion. Though it is possible to get more erratic shaking by pressing only some of the wheels against a crash box.

Driving along an edge keeps the kart from tumbling as long as more than half of the kart is on the ledge.

The kart will not roll down a hill by itself, but traction can be lost causing the kart to slip. When this happens, the behaviour of the kart feels more like a free-fall than sliding along a surface.


The top speed is affected by the kart configuration.

The acceleration of the kart increases by doing a burnout (reverse, then go forward). In my testing, the kart was about 1.3% faster. This does not however, include the time I spent reversing!

Though not tested, I’m sure the burnout duration and effect is determined by the attributes of the kart (top speed, acceleration, weight, handling and grip).

The kart I used for testing had a maximum burnout duration of 1.1 seconds, which was achieved by reaching full speed in reverse before going forward (not possible the other direction).

Basically, the burnout is a nice touch to help the player get back up to speed faster. The visual effects are critical in making the burnout enjoyable. We see various types of smoke around the rear tires: smoke off the ground, wrapped around the tires, and puffs of smoke coming off them. It’s obvious you are “burning rubber”.


Pressing the jump button will cause the kart to immediately move up without any animation. On landing puffs of dust are created on some surfaces.

The kart is back to default state after 0.337 seconds, however everything after 0.24 seconds is physics: the kart springs dampen the landing before returning to normal (takes a total of 0.097 seconds).

By turning and jumping the kart will rotate. This torque is how the kart can use a jump to “rotate into a drift” while driving.

The kart will move downhill while airborne if you jump while standing on a surface that is not horizontal. If the hill is too steep however, the kart will drop down (without rolling much).


In most driving games steering is straight forward. In Mario Kart however, your kart will turn harder after about 0.77 seconds. This is probably a remnant from the SNES days with only a d-pad available for steering (this is when the drifting sprite would show up).

When the harder turn happens, the kart/tires make a brief screeching sound – even under water (0.33 seconds). On some surfaces there will be tire tracks and smoke puffs.

I didn’t manage to test this while airborne, but the tires appeared to also screech while off the ground and submerged in water.

It seems like the kart can only steer while the engine retains thrust created by pressing the accelerator.

The turning radius is linked to the speed of the kart. Higher speed results in an increased turning radius.

The kart cannot be steered (i.e. loses all traction) if pushed while it has no thrust. The kart will slide off the pushing entity if the push happens at an angle.

Finally, a corona and small sparks appear after about a second of turning normally. This is a nice touch, as it lets a player unaware of drifting know that there is more to driving than just steering.


If a turn is held for about 1.13 seconds, the kart begins to drift. It’s virtually impossible to do this on a regular race track without crashing or leaving the track.

After an additional 1.13 seconds the player is rewarded with an energy blast suggesting the mini-turbo is fully charged.

If the player intentionally starts to drift however, initial drifting delay is prevented – making the mini-turbo is ready in half the time.

The drift is started by a jump while turning and providing thrust. Impact dust particles appear when landing (0.245 seconds airborne) and are generated for 0.263 seconds.

The first turbo related particles that appear is a blue corona, followed quickly (0.066 seconds later) by the first sparks.

When the drifting has lasted for 1.13 seconds a brief spark burst with a shockwave is shown (lasting 0.1 second). The burst indicates that the mini-turbo is ready.

The burst is created by three particle types:

  • a burst of about 7 long-range flying light traces
  • bright flash with a shockwave
  • short-range sputtering particles
The particle effects do not seem to scale according to the size of the kart.

After the burst is completed, between one and two long-range spark traces are continuously shown on screen – until one second later, when the same spark burst is repeated for the super mini-turbo boost (golden sparks).

And again for the purple ultra mini-turbo (not timed).


The kart is affected by the crash immediately upon impact. The hands comes off the steering wheel, which makes sense as you cannot control the kart during the crash animation.

The stars and sparks appear in a single frame, fully visible, shooting outwards – rooted to the player.

The sparks move faster than the stars and disappear quickly (15% of the animation). The stars stay on screen for half the crash animation – each star moving outwards while scaling down until they disappear.

For a crash with a moving object like the car, the kart does a full barrel roll. When the wheels hit the ground, puffs of smoke or dust are shown.

When landing on an object the kart seems to get pushed towards the track, as if taking a sharp turn that tips the kart up on two wheels (same thing happens in water when turning normally).

Rocket Start

The rocket start is very satisfying to pull off, and no wonder considering everything that is going!

Commenting on each image:

  1. Idle.
  2. The kart leans backwards as the accelerator is pressed. Smoke engulfs the tires as they start spinning. The kart is jumping around.
  3. A flash of light creating a shockwave, and flames coming out of the exhaust pipes (0.037s). Sparks starts flying.
  4. Another shockwave centred on the player, though this could be a lens flare (0.077).
  5. Puffs of dust is kicked up by the tires. Action lines are surrounding the edge of the screen as the kart moves forward.
  6. The character starts to lean forward. The view elongates – almost as if the FOV has been been reduced (but the field remains unchanged) – though more likely some visual warping.
  7. The view elongates even more. More action lines and sparks continue to be created.
  8. Seems like the kart has reached maximum speed.
  9. Kart leaves starting area.
  10. Character leans back, rocket start is over (0.31 sec).

No wonder a rocket start feels and looks great.

Failing the Rocket Start

They also put effort into the sequence when the player fails to do the rocket start: an explosion followed by gravity affected sparks, a wobbling kart and the arms of the character flailing.

When doing the rocket start, the tires spin before moving forward. This “burnout” is visualised by a spinning belt of smoke around the rear tires, as well as puffs of smoke.

The kart shakes and tires spin and vibrate as the kart is ready for the rocket start.

Coin Pickup

There are 3 particle animations shown in order when a coin is picked up. These are all stationary – even when the coin was moving:

  1. A flash or pulse of light.
  2. A shockwave.
  3. Sparkles that fade while moving up.
  4. Finally, a set of sparkles that moves with the player.

The entire animation takes 1.044 seconds.

If the kart has thrust a single burst of flames will be shown (instead of the normal exhaust) due to the slight boost gained from the coin.


In the most recent Mario Kart game, the kart can fly. Flying feels like a separate mechanic that isn’t directly tied to the driving of the kart. So for now, I won’t look at it in detail – but in short:

  • Same effects as when a boost is initiated.
  • Same barrel roll as seen when crashing.


A big part of the fun when playing Mario Kart are the items. There are items to throw, drag and more.

However, items fall outside the scope of this post which focus on the game mechanics directly tied to driving.


Mario Kart is a wonderful game with a lot of custom physics tweaks to make the experience as entertaining as possible.

A big part of the fun is linked to how the player can express their intent and how the game reacts accordingly. For example, if I stand still while turning – what should happen when I jump? Normal physics will do nothing, but a Mario Kart will rotate.

Nintendo did such a great job with Mario Kart 8 and Mario Kart 8 Deluxe, that I cannot wait to see how they improve the series in the future! In the meantime, we can all enjoy the DLCs.

I hope you found this inspiring—as I was when writing it!