rpgCore did everything I wanted it to. That’s the part that makes this hard to explain.
Seven demos came out of it — each one an exploration of a mechanic inside a shared framework. Genetics. Breeding. Resource flow. The framework got stronger with every demo. The games themselves never got closer to what I was actually trying to build. I’ve been calling it Dugger’s Green Box — a play on Valve’s Orange Box: a collection of games sharing one framework, each one a different exploration of the same underlying system. The Python framework was supposed to be that foundation. Each demo showed me either that a concept worked or that it didn’t, and then I’d start the next one. Same repo. Stronger framework. Same distance from the destination.
Then Pygbag didn’t cooperate with my Python/pygame setup, and I went looking for other ways to port to the web. I looked at different runtimes. I looked at porting the whole thing to Godot. None of it worked cleanly.
So I went to Rust. Built OperatorGame. Committed to Bevy and egui. Got VoidDrift out the other side — a real shipped game, Android and browser builds, live on itch.io. Lost steam before the polish phase, which is a pattern I’ve written about separately.
Somewhere in that whole arc I accepted something I already knew: well-built web games play fine on mobile. The web was always the path to mobile. I just took the long way to confirm it.
Seven Python demos. A Godot detour. OperatorGame. VoidDrift. And I’m back at a web-first target, two shipped titles on a shared Bevy chassis, which is closer to the original Green Box concept than rpgCore ever got.
The codebase may still be worth revisiting. The concept never went anywhere — it just changed engines.