go-doom

Pure-Go DOOM — the 1993 id Tech 1 engine, derived from AndreRenaud/gore with a bare-metal TamaGo backend, cgo-free under the cloud-boot UEFI loader.

CGO_ENABLED=0 no SDL · no GL · no OpenAL · no libc soft renderer over go-virtio 4-gate provable-test 6-arch CI shareware DOOM1.WAD in-tree
Engine README GitHub

Running DOOM from Go usually means binding the C engine through cgo (Chocolate Doom, GZDoom, the upstream id Software source release). go-doom takes the pure-Go path instead: a hand-port lineage from the id Software 1997 source release through AndreRenaud/gore, with a backend/tamago/ layer that drives the framebuffer through go-virtio's GPU + audio through its virtio-snd channel + input through virtio-input. No SDL, no GL, no OpenAL, no libc.

Built for bare-metal, validated by the 4-gate provable-test protocol. Every release runs a canonical demo through the cmd/harvest-reference oracle and compares the result on 4 axes: engine determinism (BYTE-EQUAL frames at checkpoint tics), guest-GPU fidelity (χ² ≤ tolerance), audio events (BYTE-EQUAL CacheSound / PlaySound log), and audio waveform (per-second RMS envelope bounded). The same protocol is carried forward into go-quake1, the Q1 sibling.

Repositories

engine engine

doom + seed · backend/tamago · embedwad · harvest-reference · examples

The DOOM engine in pure Go. Hand-port lineage: id Software 1997 source release -> AndreRenaud/gore -> go-doom/engine, with a bare-metal TamaGo backend + shareware DOOM1.WAD in-tree. CGO_ENABLED=0 on the engine path, 4-gate provable-test protocol, 6-arch CI, BSD-3 wrapper + GPL-2 engine carve-out.

last commit cgo=0

brand brand

Logos, favicons, social previews

Brand assets — SVG / PNG / JPG / ICO / ICNS in color, white-transparent and black-transparent variants. Drives this landing, the engine README banner, and the org avatar.

last commit cgo=0

The engine + TamaGo backend run with CGO_ENABLED=0 on all six 64-bit Go targets (host-side demos under example/ are allowed cgo for SDL / Ebitengine integration). Shareware DOOM1.WAD ships in-tree under id Software's freely-redistributable grant so CI gates are reproducible. BSD-3 wrapper + GPL-2 engine carve-out throughout.

Family

go-doom — DOOM (1993) · this project · go-quake1 — id Tech 1 (1996) · active · go-quake2 · go-quake3 — reserved