← Back to Works
LIVE 2026 · arcade game

Apex Akina

Touge-style arcade racer — two engines in one repo

A browser racing game that ships its own rebuild alongside the live build. The Canvas pseudo-3D engine is the polished arcade game; the Three.js engine is a from-scratch v0 pursuing real perspective and lateral-grip tire physics. Same menu, same touge mountain pass, two takes on what the surface should be.

APEX AKINA LAP 03 / 05 01:23:45 SPEED 142 MPH 4 DRIFT METER COMBO x12 78% BEST 01:42

The shape of the product.

Apex Akina is a touge arcade racer in the browser. Touge means “mountain pass” in Japanese; the genre is downhill battles between paired cars on serpentine roads, popularized by Initial D and the Tokyo Xtreme Racer series. The game is a love letter to that subgenre — played on a keyboard, in a tab.

What makes the project unusual is that the live URL hosts two render engines side-by-side. The Canvas build is the polished arcade game: 26-car grid, four mountain-pass tracks, eight JDM car shapes, drift trails, combo system, engine wear, and a soundtrack. The 3D build is a from-scratch Three.js rebuild at v0 — a closed-loop track with real perspective, chase camera, and lateral-grip tire physics. Same menu, two render targets, side-by-side from the launcher.

Shipping the rebuild alongside the live game is the point. Most studios redo their renderer privately and switch over when the new version is “ready.” This one ships the v0 publicly so the gap is visible in real time — the polish gap, the feature gap, the feel gap.

Core Loop

01 / Pick

Pick your engine.

Launcher offers two cards: the stable Canvas pseudo-3D arcade build, or the v0 Three.js rebuild. One is finished. The other is a foundation. Both run from the same root URL.

02 / Drive

Drift the touge.

Canvas build: WASD or arrows, drift on initiation, chain through corners, hold the racing line. Drift trails leave a visible record on the road; combo multipliers escalate with each clean apex.

03 / Wear

Manage the engine.

Engine wear ticks up with sustained high revs and bad shifts. Push too hard, lose top speed. The mechanic ties skill to discipline — the fastest route isn’t always the most aggressive one.

04 / Compare

Switch to the v0.

Drop into the Three.js build and feel the gap. Real perspective, real tires, real grip falloff. The v0 doesn’t have the cars, music, or combos yet — but the feel is becoming something the Canvas build can’t physically deliver.

Technical Architecture

26 Car Grid
4 Mountain Tracks
8 JDM Shapes
2 Engines

The Canvas engine is a pseudo-3D arcade renderer in the lineage of Out Run and Lotus Esprit Turbo Challenge — a single 2D canvas rendering perspective by scaling and shifting horizontal scanlines based on camera distance. It draws fast even on weak hardware, leaves room for sound and AI logic in the same frame budget, and gives the game a deliberately retro silhouette.

The 3D engine is a Three.js scene with a closed-loop track mesh, a chase camera that lags the car for cinematic feel, and a lateral-grip tire model: lateral force scales with slip angle until the grip threshold breaks, at which point the car drifts and lateral force decays. It’s the foundation for a future where the game can simulate a real car instead of approximating one.

Both run from a static deploy on GitHub Pages with no backend. Music streams from <audio>. Save state lives in localStorage. The launcher’s own page is hand-written HTML with the two engines as separate routes, so each can be developed and tested in isolation.

Canvas 2D Three.js Pseudo-3D Tire Physics Game Loop localStorage JavaScript GitHub Pages

Design Notes

Two engines, one menu

Most teams wouldn’t ship a v0 rebuild publicly — too embarrassing. Apex Akina makes the rebuild a feature: you can play the polished version and watch the foundation get built.

Drift is the loop

Cornering well is the entire game. The combo system rewards continuous drift through linked corners; engine wear punishes wasted throttle. Together they make the racing line feel physical, not just visible.

Looks before scope

Eight JDM silhouettes, four mountain passes, one font, one palette. The game looks complete from the first menu screen. Scope expands inside that visual envelope — the envelope itself is fixed.

No backend, on purpose

Saves are local. There’s no leaderboard server, no auth, no analytics. The game opens instantly, plays offline once loaded, and never asks for an account. Permanence comes from the local save file.

Run the pass.

Pick your engine and drift the touge. Two render pipelines, one mountain road, real-time in the browser.