April 28, 2026
Cubedoom is an arena shooter implemented entirely in the Spectre Programming Language, it depends on the SDL2 and SDL2_Image dev libraries. It began as an experiment with the languages multi-dimensional array capabilities, on towards its C-interop (the extern-related "header" syntax was introduced in particular for compatibility with the alternate backend of the compiler). It uses raycasting rendering for its 3D world, similar in spirit to early first person shooters such as Wolfenstein 3D or the original DOOM.
At runtime each frame casts a set of rays from the player’s position, stepping through the map grid until a wall collision is detected. The distance to that collision determines the vertical slice height drawn to the screen, producing the illusion of depth, which keeps the engine lightweight. The game features a single enemy type and viewbob, as per classic DOOM, and a health/minimap HUD. The gameplay is intentionally minimal, in that the player navigates a maze-like arena, engages in combat with the enemies, and attempts to survive as long as possible.
The git repository for cubedoom itself can be found here.
Next on the roadmap is adding sound and more enemy types, along with an ammo-counting system. Spectre itself, and cubedoom both remain open to contributions.

April 25, 2026
New in v0.0.5:
--translate-cflag for translating from C code to Spectre code- New experimental LLVM backend
- New experimental C99 backend
- Improved type-level invariant syntax
- Improved compile times due to optimizations in semantic analysis and module resolution