NOVA64 · DISC 01 · v0.4.8

Born from
64-bit dreams.

The darkness between polygons. The hum of a disc loading.
NOVA64 is the fantasy console that never shipped in 1997 — running live, in your browser, right now.

Runs on: Three.js Babylon.js Godot 4 NEW
The Nova — '64 Chevy II SS Meet The Nova'64 Chevy II SS · the official mascot. The 64 isn't an accident.
HERO PROTOTYPE · V2 NOVA64 Hero Prototype V2 — Magnetic Exoshell System
Magnetic Exoshell · CNC Aluminum 100 × 107 mm
SYS · DISC CHECK ✓ POLYGON HUM ENGAGED SCROLL ↓
Why NOVA64

A console for builders
who miss the weight of plastic.

The web has every API except the one that mattered: a tiny, self-contained machine you can fill with games. NOVA64 is that machine — a cabinet you can ship in a URL.

One file. One cart.

A cart is a single JavaScript file plus a thumbnail. No bundler, no build step, no service worker dance. Drop it in /carts and the console finds it.

One file. Hot-reload. Done.

Boots in zero milliseconds.

The vault streams thumbnails as discs. Click a disc and the cart is on screen — no install, no account, no paywall. Cold start is the whole point.

URL → gameplay. No splash.

Three engines, one API.

Switch a header from three to babylon to godot. Same cart shape, same loader, same hot-reload. Pick the renderer that fits the game.

Prototype in Three. Ship in Godot.
CLI Templates

Scaffold a cart in one line.

Every template is a working cart with thumbnail, manifest, and a hot-reloading dev loop. Pick a template, name it, start coding.

nova64 new my-cart --template <name>

hello-world

three.js

The classic spinning cube. The smallest possible cart — manifest, default export, one mesh.

nova64 new my-cart --template hello-world
Beginner3 files

hello-3d

three.js

Lit scene with orbit controls, a ground plane, and a cube. The starting point for most 3D carts.

nova64 new my-cart --template hello-3d
Beginner5 files

camera-platformer

three.js

Side-scrolling platformer with input handling, AABB collision, and a camera that follows the player.

nova64 new my-cart --template camera-platformer
Game9 files

voxel-world

three.js

Greedy-meshed voxel chunks, place/break blocks, infinite world streaming. Minecraft starter.

nova64 new my-cart --template voxel-world
Game12 files

shader-lab

three.js

Live GLSL editor that recompiles on save. CRT, bloom, glitch, N64 affine, PSX vertex-snap.

nova64 new my-cart --template shader-lab
Tool6 files

pbr-showcase

babylon.js

Full PBR pipeline with IBL, GPU particles, and WebGPU rendering. The high-end visual baseline.

nova64 new my-cart --template pbr-showcase
Visual8 files
Multi-Engine Runtime

Three engines.
One console.

Carts ship with their preferred runtime. Three.js for the lean web stack, Babylon.js for high-end PBR, and a native Godot 4 build with a QuickJS bridge — write JavaScript, run on the real engine.

three.js

Three.js 0.182

The lean default. Hot-reload carts, holographic materials, N64/PSX shader modes. Tight enough to fit in a memory-card manual.

  • 35+ API helpers
  • Voxel + physics + audio
  • Bloom · vignette · glitch FX
babylon.js

Babylon.js

When you need the full PBR pipeline. IBL reflections, GPU particles, WebGPU rendering — drop a Babylon scene straight into a NOVA64 cart.

  • WebGPU-ready
  • Native PBR materials
  • Shared cart loader
NEW IN v0.4.8
godot 4 · quickjs

Godot 4, embedded.

A native Godot 4 runtime with a QuickJS bridge baked in. Carts are written in JavaScript — not GDScript, not C# — and call straight into the Godot scene graph through QuickJS bindings. No exports, no WASM round-trip, no engine startup tax.

  • JavaScript carts via QuickJS
  • Native build, native performance
  • Direct scene-graph access
  • Single-process cart hot-swap
Read the Godot guide →
Pop the hood

A native runtime,
not a sandbox.

NOVA64 isn't a wrapper. The Godot build links the engine, embeds QuickJS, and exposes the scene graph as plain JavaScript objects. Carts are JS files. The console is the engine.

L01
Cartyour code · hot-reload · plain JS
.js
L02
QuickJS Bridgebindings to nodes, signals, resources
QUICKJS
L03
Godot 4 Runtimenative scene graph · native renderer
GODOT 4
L04
HardwareGPU · audio · input · the metal
METAL
carts/hello-godot.js QUICKJS → GODOT
// A NOVA64 cart. JavaScript only — no GDScript.
import { Scene, Node3D, Camera3D, MeshInstance3D } from 'nova64/godot';
import { mesh, color } from 'nova64/gfx';

export default function cart() {
  const scene = new Scene();
  const cam   = scene.add(new Camera3D({ z: 5 }));
  const cube  = scene.add(new MeshInstance3D({
    mesh:     mesh.box(1, 1, 1),
    material: color('#5fc0ff'),
  }));

  // Runs on the native Godot main loop. No WASM. No export.
  scene.onTick((dt) => {
    cube.rotation.y += 1.2 * dt;
  });

  return scene;
}
70+
Demo carts
Loadable from the vault, source on GitHub.
3
Runtimes
Three.js, Babylon.js, native Godot 4.
0ms
Install time
Open URL. Cart is on screen. Done.
'97
Year of Origin
The console that never shipped — until now.
Disc Vault

Insert Disc. Begin.

Every title in the vault loads cold. No waiting. No install. One click — and the dark fades to game.

12   titles 0   ms install v0.4.8
Get started

From zero to disc
in under a minute.

Three commands. No accounts. No build pipeline. The console boots in your browser and the carts hot-reload as you save.

01

Install the CLI

Global install gets you the nova64 command anywhere on your machine.

pnpm add -g nova64
02

Boot the console

Opens a local server and launches the console in your default browser. The disc vault loads immediately.

nova64 --start-demo
03

Drop in a cart

Drop a JavaScript cart into /carts. The console picks it up. Save and it hot-reloads.

nova64 new my-cart --engine godot
04

Ship a disc

Bundle the cart and a thumbnail into a single signed disc. Share the URL or the file — anyone with NOVA64 can run it.

nova64 disc build ./my-cart
The Nova

Drop in.
The disc is already loading.

NOVA64 v0.4.8 is live. Boot the console, browse the vault, ship a cart. The polygons are humming.