Flint Kart
A bright, toy-box kart racer on the Flint engine. Six karts, four tracks, three laps: drift through a corner until the sparks turn purple, let go for the boost, and hold your place against five rivals who each drive in their own way. It plays in the browser, with keys, a gamepad or a phone held sideways.
Clips
Mountain Switchback
Twenty seconds of the first lap, in the lead. The road climbs through pine slopes at golden hour, through the snow shed, under the viaduct that carries the summit back over itself, and down the hairpins with Blaze close behind. The streaks at the screen's edge come in near top speed.
The Crossroads
Harvest dusk: field patchwork, hedgerows, a red barn and lamps along the road. From GO into lap two. The pack leaves the line in a crush that drops you to sixth for a moment. You fight back to the lead, then trade it on the straights. Part of the way round, the road forks into a shortcut, and each rival weighs whether to take it.
The finish
Crossing the line on Oval Plus. The game drops to 30% speed, throws confetti in three waves, and swings the camera round to the front of the kart. Then the results slide in, the podium rises block by block, and the new track record is saved. For this shot the race was cut to a single lap, so the times are short.
Screenshots
About
Flint Kart is an arcade kart racer, built on Flint, the game engine I wrote myself. It started in February as a proving ground for the engine: could Flint run six karts with physics, AI, sound, particles and a menu, all at once? It could, so the game kept growing. Then every part of it got a polish pass: the karts, the drivers, the roads, the handling, the effects, the sound, the menus, the AI, the tracks and the camera.
The aim is a toy box in sunlight. Everything is chunky, saturated and a bit bouncy, and it should read clearly before it looks pretty. Every effect answers a question you have while racing: am I drifting, did that hit, how fast am I going? One warm palette runs through the whole game, from the drift sparks to the podium.
Everything above was filmed in the game, on the current build.
Racing
- Drift and boost. Hold drift going into a corner and the kart hops and slides. The longer you hold it, the hotter the sparks get: blue, then orange, then purple, at 0.75, 1.6 and 2.8 seconds. Let go for a boost that matches the colour. The camera’s field of view punches out with it.
- A kart that slides. The kart carries some sideways speed through a corner. The road grips it back, grass grips less, and drifting least of all. Walls bounce you off and turn you along them. Karts that touch push each other apart. If you tuck in 3 to 15 metres behind another kart, the slipstream lifts your top speed.
- Items. Boxes on the road give you one of four things: a boost, a shield, a projectile fired ahead, or a trap dropped behind. Which one you get depends on your place.
- Five rivals with their own characters. Blaze, Steady, Tank, Ghost and Wild read the road ahead, take wide lines into corners and clip the apex, pass on the inside, drift long bends and save items for the right moment. Each has its own aggression, appetite for risk, patience with items and amount of wobble. A light rubber band keeps the race close without cheating much.
- Drivers you can tell apart from behind. Each racer sits in the kart with their hands on the wheel. Blaze has a crest of flames, Steady wears goggles and a moustache, Tank has a boxy helmet with bolts, Ghost a mirror visor and tail fins, and Wild has polka dots and a propeller. Every head is on a spring: it leans into corners and wobbles when the kart gets knocked. Choose one of six paints for your own kart, from Tomato Rocket to Mint Condition.
- A camera that tells the story. In the countdown the camera sweeps over the grid and lands behind you on GO. While you race it pulls back with speed, rolls with a drift and shakes on impact. Crossing the line slows the game to 30% and swings the camera round to face you. At the start and the finish it knows where the scenery is, so a grandstand never hides your kart.
- The whole loop. Title screen, track select, paint select, countdown, three laps, a pause menu, then a podium with confetti. Your best lap and best race are saved for each track. Anyone who finds the shaking too much can turn on reduce motion, which removes it.
Tracks
Oval Plus. A stadium park in late morning, with two long straights, banked curves, three grandstands with crowds, a blimp and balloons. The title screen sits in its infield.
Mountain Switchback. Alpine golden hour. The road climbs 29 metres through pine slopes and snow, through a snow shed, and crosses back over itself on a viaduct at the summit. Tight hairpins reward good drift timing.
The Crossroads. Harvest dusk among fields and hedgerows, with a barn, a windmill, pumpkins and lamplight. Part of the way round, the road forks: a shortcut saves time, but it’s narrower. The rivals decide each lap whether to take it.
Lighthouse Bay. The newest track, a 614-metre loop of the coast. A promenade straight past beach huts, a climb past the lighthouse, a rock tunnel through the headland, a cliff descent, and a causeway on columns across a lagoon, with live ocean on both sides.
Playing It
Press Play in browser above to race with nothing to install. Use WASD or a gamepad, Shift or LB to drift, and E or X for items. On a phone, hold it sideways: your left thumb steers, push up for gas and down to brake, hold DRIFT and tap ITEM. It runs on WebGPU, in Chrome and Edge, Safari from version 26, and Firefox on Windows. In a browser without it, the page plays a film of a lap instead. The browser version runs a few changes behind the build filmed here.
Technical Details
- Engine: Flint, my own Rust engine, drawing with wgpu. It’s included in the game’s repo as a git subtree. The same build runs natively on Windows and in the browser through WebAssembly and WebGPU.
- Gameplay: written in Rhai scripts. The kart physics are entirely scripted: grip, drift tiers, walls, kart-to-kart bumps and suspension, with every constant tunable per kart. Rapier is used only for raycasts: the karts find the ground with them, and the camera checks whether it can still see you.
- Tracks: each road is a spline swept into a mesh with banking, curbs, lane markings and grass verges. The scenery comes from a recipe file per track: a Python tool carves the terrain to run under the road, paints the ground, and places 37 kinds of chunky flat-shaded prop. Each track has its own procedural sky, sun and fog. None of the scenery collides, so it can never trap a kart.
- Sound: every sound is synthesised by code, with no recordings: the engine, tyres, bonks, chimes and the music for each track (Oval Plus’s groove, Switchback Sunrise, Crossroads Shuffle and Tide Line). Each sound is mastered to a loudness for its kind, and the mix is measured. Played through Kira, with a final-lap sting that lifts the music.
- Effects: eleven particle effects on every kart: tyre smoke, skid marks, dust, exhaust, drift sparks in three colours and boost flames. One-shots fire for bumps, wall hits, items and the finish.
- UI: one theme file shared by the HUD, menus, pause and results, set in the Lilita One and Fredoka fonts. The HUD has an item bubble, a position medal, standings that glide when places swap, a speed dial with the drift charge round it, and a minimap.
How the footage was made
All of it is from FlintKart’s master branch, played in the release flint-player at 1280×720. The game moved forward exactly one frame per frame of video, so the footage is smooth however long each frame took to save. For filming, a copy of the AI’s own driving script drove your kart, so you lead most of the time and the race really happens. On Oval Plus the race was cut to a single lap, to reach the finish quickly. Nothing was edited except trimming the clips.