Hobby 3D game engine in D (WGPU + SDL3 + ECS) — built with AI
Leonardo T A
leotada523 at gmail.com
Tue Jul 21 21:11:16 UTC 2026
Hi everyone,
I’ve been hacking on a small **toy / hobby** 3D game engine in D
— not a product, just something to explore whether D feels good
for this kind of work.
**Important:** this project was built **with heavy AI assistance**
**Stack:** SDL3 (window/input/audio) + WGPU-native (Vulkan on
Linux), sparse-set ECS (`World!(Components...)`), PBR + IBL +
shadows, bloom/FXAA, Box3D physics via **ImportC**, and a simple
scene editor.
What I like about doing this in D so far:
- `@safe` by default + thin `@trusted` around C APIs
- DIP1000
- compile-time ECS (no runtime reflection)
- two-layer GC: `@nogc` in the engine frame loop, GC allowed in
gameplay systems, with `Pod!T` / `Handle!T` / `StringId` /
`FrameArena` for engine storage
Linux / Wayland is what I actually run day to day. Windows is on
the wishlist; don’t expect it to Just Work yet.
Repo (MIT): https://github.com/leotada/game-engine
Quick look: `dub run --config=pbr`
Curious what the D community thinks — especially about the
AI-assisted workflow and whether the resulting code/architecture
looks sane. Feedback welcome.
More information about the Digitalmars-d
mailing list