Fan project · Three.js · no emulator

MK64JS

Mario Kart 64, rebuilt from scratch in JavaScript. Built by AI agents: lo-res graphics and sound were distilled and reconstructed from the n64decomp/mk64 decompilation, hi-res graphics come from MK64 Reloaded (press G), and the game code is a port of the decompiled original.

macOS universal  ·  Windows x64 / arm64  ·  Linux x64 / arm64  ·  any browser

16native courses
8drivers
4×HD texture tier
0emulators

What's in the box

An experiment in how far AI-assisted development can go at re-creating a classic. Here's what works today.

All 16 courses

Every Mario Kart 64 track is rebuilt from course geometry and textures distilled from the n64decomp/mk64 decompilation.

The real soundtrack

A port of the decomp's sequence player decodes the VADPCM instruments and plays the original .m64 sequences in an AudioWorklet: title, menus and every course theme.

Kart physics

Karts ride the course surface in the track's frame and can't pass through walls. Ramps and crests send you airborne with the decomp's gravity and drag.

Drift & mini-turbo

Hold Space to power-slide, release for a mini-turbo. Exhaust smoke puffs are ported from the original particle code.

Items & roulette

Item boxes spawn where the original game puts them. Hit one and the item window spins through shells, bananas, mushrooms and the rest, at the original timing.

240p or HD

Play at an N64-style 240 lines, or 2×, 4× and native resolution with optional HD textures from the MK64 Reloaded pack. Press G to cycle.

Screenshots

Native resolution with the 4× HD textures. Click any shot to see it full size.

Full 3200×2400 PNGs are on the v0.0.1 release.

Controls

Keyboard or gamepad. Enter, click or the arrow keys get you through the menus.

↑WGas
↓SBrake
←→ADSteer
SpaceDrift, release for mini-turbo
ShiftEUse item
RRestart
GResolution: 240p / 480p / 960p / native
NMusic on / off
MCourse menu

Download

Desktop builds of v0.0.1 (pre-release) wrap the game in Electron. The macOS build is signed and notarized.

Checksums: SHA256SUMS.txt · all releases

Run it from source

You need Node.js.

git clone https://github.com/AgentiLoop/MarioKart64JS.git
cd MarioKart64JS
npm install
npm run dev        # http://localhost:5173

Hi-res graphics (press G) come from the MK64 Reloaded pack.

On the roadmap