go-doom documentation¶
A pure-Go DOOM (id Tech 1, 1993) engine for bare-metal TamaGo + UEFI under the cloud-boot loader. It is the sibling of the go-quake1 family (the id Tech 1/2/3 ports).
Fork origin¶
This engine is a fork of AndreRenaud/gore
(commit 7dc6c654…, 2026-05-11). gore is itself a Go transpilation of
doomgeneric via
modernc.org/ccgo, then hand-cleaned.
The engine has no CGO dependency — standard library only — and exposes its
host bindings through a small DoomFrontend interface, exactly the shape needed
to wire DOOM into cloud-boot's virtio device tree. The upstream README is kept as
README.upstream.md.
Why this fork exists¶
cloud-boot is building an OS-agnostic OCI boot architecture on TamaGo + UEFI. To showcase Phase 3 it runs classic DOOM as the OS payload, with rendering, sound and input wired straight to virtio devices instead of SDL / X11 / a kernel. The fork adds:
backend/tamago/— aDoomFrontendthat drives cloud-boot's virtio-gpu, virtio-sound and virtio-input drivers (real wiring lands as the go-virtio sound/input sprints ship);internal/embedwad/— anio/fs.FSshim serving a WAD blob.
Provable-test protocol¶
go-doom originated the project's 4-gate provable-test protocol that go-quake1 inherits. Brand: blood-red, a D+horns glyph (no id Software trademarked assets).
Licensing¶
A BSD-3-Clause wrapper around the GPL-2.0 DOOM engine code: cloud-boot adapters and tooling are BSD-3, the ported engine retains the upstream GPL-2.0 license — see the engine repository.
Where to go next¶
- Source: github.com/go-doom/engine
- The shared boot architecture lives in cloud-boot/docs.