Skip to content

Arcade › Drift Circuit

Drift Circuit

  • 3d
  • racing
  • kart
  • arcade
  • drifting
  • items
  • low-poly
0
Remix it Discord

12 plays

How to play

Click the game above and it runs right here in your browser. No download, no installer, no account needed. Oleg Sidorkin built it with Cinevva, so it works on a phone or a tablet too.

Discussion

Nobody has said anything about Drift Circuit yet. Play it, then tell Oleg Sidorkin what you would add next.

Make your own game

Drift Circuit was built by Oleg Sidorkin with the Cinevva game creator: describe the game you want in chat, watch it get built, and play it in your browser minutes later.

Remix Drift Circuit opens the real game in the creator and forks its actual files, chat and design doc, so you start from the code rather than from a description.

Read the build brief for Drift Circuit

Cinevva's analyzer read this game's design doc and its source, then wrote the brief below. "Make your own" hands it to the game creator as your opening message, so you start from a real spec rather than a one-line idea.

Create a playable 3D arcade kart-racing game titled “Drift Circuit,” using a Three.js-style low-poly scene and a third-person chase camera. The player races against exactly three AI karts (four racers total) for three laps around a closed, non-circular spline circuit. The circuit should be a broad smooth Catmull-Rom loop with several sweeping bends, a dark charcoal road about 20 world units wide, thin red curb blocks along both edges, and a white start/finish stripe. Place a dark futuristic finish arch over the start line, with two posts, a top beam, and a small bright neon-white strip.

Use a sunny daytime environment: a blue sky with a subtle vertical gradient/sky dome, green flat ground, atmospheric fog, distant dark low-poly cone-like mountains, and scattered low-poly trees made from brown trunks and faceted green crowns. Add evenly spaced dark trackside lamp posts around the course; they can be mostly decorative and unlit in daytime. Use directional/hemi lighting and soft shadows. The visual style is clean low-poly arcade racing with simple solid materials, bright colored karts, and a dark blue-black glassy HUD.

The camera should follow behind and slightly to the right of the player kart, around 9.5 units back and 6.5 units above, looking toward the kart at roughly 1.2 units height. Smoothly damp camera movement and heading changes. When the player is boosting, widen the camera field of view from about 65 degrees by up to 10 degrees for a speed sensation.

Build each kart as a simple toy-like low-poly vehicle: a colored rectangular body, black seat, small spherical driver head with a tinted helmet matching the kart color, and four chunky black cylindrical wheels. The player kart is blue; the three opponents are yellow, green, and pink. Start the four karts in staggered lanes at the start line. AI opponents should follow the spline using waypoint/pure-pursuit steering, maintain target speeds around 18–21, subtly rubber-band toward the player, and occasionally drift on sharper corners. Include simple physical bumping between karts that pushes overlapping vehicles apart.

Driving controls: W or ArrowUp accelerates; S or ArrowDown brakes while moving and reverses at low speed; A or ArrowLeft steers left; D or ArrowRight steers right; hold either Shift key to drift; Space uses the held item; holding S/ArrowDown while pressing Space fires a shell backward when applicable; R resets the player to the starting lane (and resets the whole race after finishing); Escape pauses/resumes. Start with a centered instructional banner reading “Drift Circuit WASD/Arrows to drive — Shift to drift Press Esc to pause.” The first click or key press enables audio, then update the hint to “WASD/Arrows to drive. Shift to drift. R to reset. Esc to pause.”

Implement arcade handling rather than realistic simulation. Accelerating raises forward speed toward about 24 for the player and 22 for AI; braking is stronger than friction, reverse tops out around 10. Steering rotates the kart more effectively at speed. The kart is constrained to the road: if it leaves the road edges, clamp it back toward the closest point on the spline and reduce speed. Holding Shift while traveling faster than about 6 activates drift, increases steering response slightly, and charges a drift meter up to 1.2. Releasing Shift after more than 0.25 charge consumes the charge and grants a short, snappy boost; drift charge should otherwise reset on release. Boosts temporarily increase acceleration and top speed, and produce the camera FOV punch.

Place eight rotating blue item boxes with glowing white rings around the circuit, alternating sides of the road and slightly offset from its center. A racer without an item who drives within pickup range receives one random item, with weighted odds adjusted so trailing racers are more likely to receive shells and triple shells. Show the current held item in the HUD as BOOST, SHELL, TRIPLE, or BANANA, or an em dash when empty. Items are consumed when Space is pressed: BOOST gives an instant speed punch and roughly one second of boost; SHELL launches a green spiked homing projectile toward the racer ahead; TRIPLE launches three slightly spread shells; BANANA drops a yellow peel behind the kart on the road. A player holding brake while using a shell fires it backward instead of targeting ahead. Shells travel quickly for a few seconds, home gently toward their target, and on contact spin the victim out, sharply reduce speed, and grant a short invulnerability period. Bananas remain on the road for about 14 seconds, arm shortly after being dropped, and cause a similar spin-out on contact. AI should use boosts, shells, and bananas situationally.

Track progress should use about 18 checkpoints/waypoints and spline parameter wrapping. Count a lap only when a racer crosses from near the end of the loop back to the beginning while generally aligned with the track tangent, avoiding an instant count at race start. Finish after completing lap three; stop the race for the player, reduce speed slightly, and show a centered banner such as “Finished! Time: 0:00.000 Press R to race again.” Include lap beeps, pickup/use/boost/hit sounds, and a lap/finish synth sound using a simple Tone.js-style triangle synth, beginning only after browser audio is unlocked by a click or key press.

Overlay a fixed HUD in the upper-left/top area with dark translucent rounded chips, thin blue-gray borders, soft shadows, and bold light text. It must show “LAP 1/3,” “POS 1/4,” a running “TIME 0:00.000” timer, and “ITEM —” on the first row. A second row must show “DRIFT” beside a rounded horizontal meter whose fill progresses from cyan through green to yellow, plus the controls/audio hint. Keep the HUD pointer-transparent. Use a centered translucent rounded banner for the initial instructions, pause message (“Paused Press Esc to resume”), and finish message. The race timer advances only during active racing, and the HUD position is computed by sorting all four racers by completed laps plus their progress around the loop.

More free browser games

Browse the whole Arcade →