Asteroids meets Event Horizon. A story plot that followed me for several months until it became a game.
The station has been here longer than you. It should have been consumed. It has not been. You don’t know why. That line stuck with me. I kept thinking about what kind of game would have that as its opening.
Eventually it became VoidDrift — a mobile idle game where you mine asteroid debris at the edge of a black hole. You build a drone fleet, receive messages from factions you don’t understand, and there’s no win condition. The horizon is a one-way membrane.
The honest part: I had no game engine background. I’d never shipped a game before. Bevy’s documentation was good, but the ECS paradigm took time to click. My first systems were monolithic messes that tried to do too much in one place.
The breakthrough was the ADR (Architecture Decision Record) discipline. I forced myself to document every architectural decision before writing code. ADR-003: bevy_egui for all HUD because Mali GPU stabilization. ADR-007: system partitioning because Bevy’s 20-tuple schedule limit. That discipline saved me from architectural drift.
What didn’t work: Trying to make it too ambitious initially. I wanted complex faction systems, branching storylines, multiplayer. I had to cut all of that to ship anything. The current version is a focused mining loop, and it’s better for it.
It’s live on Android now, verified on my Moto G 2025. The performance is solid. The narrative scope is deliberately narrow — some things stay unexplained.
The lesson: Sometimes the most compelling game is the one that embraces its constraints rather than fighting them.
Leave a Reply