rpgCore
[!IMPORTANT] rpgCore has been succeeded by OperatorGame. While the technical foundation of rpgCore remains a valid architectural study, the development has shifted to the Rust-based Operator engine for production-grade performance and cross-platform mobile stability.
The Concept
The Valve Orange Box: Half-Life 2, Episode One, Episode Two, Portal, Team Fortress 2. Five completely different games. One engine.
I wanted to apply that concept to solo indie dev: one engine, four completely different games, no duplicated systems.
The Origin Story
I’ve been rebuilding the same systems since middle school.
Every game needs:
- An entity system
- A state machine
- A resource manager
- Save/load logic
- Audio handling
- Input management
I wrote these systems over and over. Sometimes in C++, sometimes in Python, sometimes in JavaScript. Same patterns, different syntax.
rpgCore is the moment I stopped rebuilding and started extracting.
The Engine
rpgCore is a multi-genre game engine capable of powering:
- Space shooters
- RPGs
- Tycoon games
- Strategy games
With integrated AI learning systems via NEAT.
The Architecture
Three-Layer Design:
Layer 1: Python Core Engine
- All game state, physics, AI logic
- ECS framework for decoupled game logic
- NEAT genetic algorithm for AI training
- Pydantic for configuration
Layer 2: Godot Frontend (C#)
- Rendering and visual debugging
- Socket IPC communication with Python core
- Real-time visualization of game state
Layer 3: NEAT Integration
- Neural networks evolve through genetic algorithm
- Learning to play games through environmental feedback
- Visualization of neural network evolution
The Commit Count
2,237 commits.
That’s not a sprint. That’s sustained development over years. Iterative refinement. Finding patterns, extracting them, refining them again.
The Insight
This project taught me that architectural clarity often matters more than raw performance for game prototyping. The benefits of clear separation of concerns outweighed the overhead of socket communication.
This 100% test pass rate gave me the confidence to refactor aggressively, a principle that carried over to its successor, OperatorGame.
The Legacy
rpgCore represents 20 years of unconscious pattern-finding finally made explicit. The systems I rebuilt since middle school — now extracted, tested, and reusable.
The successor, OperatorGame, takes these patterns to Rust for production-grade performance and cross-platform mobile stability. But the architectural insights came from rpgCore.
GitHub: rpgCore Successor: OperatorGame
Built with Python, Godot 4.x, and C#. 2,237 commits. One engine, four games.