finds.dev← search

// the find

Anuken/Mindustry

★ 27,885 · Java · GPL-3.0 · updated Jun 2026

The automation tower defense RTS

Mindustry is a fully-featured tower defense / factory automation game — think Factorio meets Bloons, playable on desktop, Android, and iOS. It's a solo-developer project that has shipped a polished, complete game with multiplayer, modding support, and active development. Not a demo or a framework — actual shipped software with 28k stars earned honestly.

1. The annotation processor pipeline is genuinely clever: entity components are defined as annotated interfaces, and a build-time processor generates the actual entity classes, network packet serializers, and asset registries. Cuts a ton of boilerplate that game engines usually handle badly. 2. Network code uses the same @Remote annotation system to generate both client call stubs and server dispatch handlers — the source of truth for the protocol is the annotation, not duplicated hand-written code on both sides. 3. Cross-platform target coverage (desktop JVM, Android, server headless) all from a single Gradle multi-module build with clearly separated launcher modules — the core game logic has no platform coupling. 4. Active, disciplined release cadence with bleeding-edge CI builds on every push and a separate suggestions repo to keep issue noise out of the main tracker.

1. Hard dependency on JDK 17 specifically — not 'JDK 17+', exactly 17. The README calls this out explicitly, which means adopters on newer JDKs will hit unexplained build failures without reading carefully. 2. The generated `mindustry.gen` package is invisible in the source tree and only exists after a build, which makes first-time IDE setup confusing and breaks static analysis until you've run Gradle at least once. No tooling hint or setup script helps with this. 3. The codebase uses Arc (the author's own custom libGDX fork) as a dependency rather than upstream libGDX — this is fine for the game itself but is a silent trap for anyone trying to learn from or adapt the code, since Arc's API diverges from libGDX docs with no warnings. 4. Test coverage is thin for a project this size — the CI runs tests but the test suite mostly covers serialization and data structures, not game logic. You won't catch a regression in the power graph or pathfinding from tests.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →