// the find
hecrj/coffee
An opinionated 2D game engine for Rust
Coffee is a 2D game engine for Rust built by the same author who later created Iced. It enforces a fixed timestep game loop, explicit batched rendering, and ships a built-in GUI system. It targets developers who want structure imposed on them rather than a bare-bones toolkit.
The fixed, deterministic timestep is baked in rather than left as an exercise — that's a real design decision that saves you from subtle physics bugs. The declarative loading screen with type-safe progress tracking is genuinely clever: assets are described as composable Tasks that report progress automatically. The dual-backend approach (gfx pre-ll for OpenGL, wgpu for Vulkan/Metal/DX) means you get broad platform coverage without managing the abstraction yourself. Built-in debug overlay with frame time metrics out of the box, no setup required.
Last commit was March 2024 and the README still says 'very early stage' — this project was effectively abandoned when the author pivoted to Iced, which absorbed most of the UI work. The gfx pre-ll backend is dead upstream and will rot; wgpu has changed its API substantially since this was written, so the experimental backend is probably broken on current wgpu. No audio support at all — you'll bolt on rodio or kira manually. 1147 stars but only 56 forks and a quiet issue tracker; the community is gone, so if you hit a bug you're fixing it yourself.