CrzGames - RC2D (2D game engine)
C-based 2D engine with SDL3 and cross-platform modules
A proprietary 2D engine to keep full control of the tech stack.
The client need
Context
CrzGames needed a long-term technical foundation for its 2D games without relying on external engines.
Problem
Third-party engines can impose licensing, roadmap and runtime constraints that are risky for an indie studio.
Goal
Build a complete, portable and modular 2D engine in C, fully owned by the studio.
What’s at stake
Keep strong technology independence
Maintain reproducible builds across platforms
Deliver native C performance
The proposed solution
What was built
RC2DCore implemented in C99 with CMake and GitHub Actions CI/CD.
Why this choice
This foundation provides tight control over performance, memory behavior and dependency lifecycle.
How it answers the need
Modular architecture, locked dependencies, native desktop/mobile builds and versioned release pipelines.
Key features
Rendering, input and GPU via SDL3
Text, image and audio through SDL3_ttf, SDL3_image and SDL3_mixer
Shader pipeline powered by SDL3_shadercross
Optional networking, data, video and ONNX AI modules
Criterion unit tests and multi-platform publishing
Results
In-house 2D engine maintained by CrzGames
Unified build chain for desktop and mobile targets
Stable technical base for future games
Tech stack
Technical choices used on this project.
Do you have a similar need?
Let’s talk about your project. I help you adapt this approach to your context.