Category: Tools & Educational Games
Languages: C++20 & Python 3 (Scripting)
Project Date: Apr. 2025 – July 2025
Studio: Steel Minions
Team:
A 2D vectorial game and scripting app to teach programming.
Written in C++ 20 and powered by embedded Python 3 scripting, Battle Coder turns first-year computing lessons into fast-paced coding duels. Students tackle level-based challenges by writing Python that directly manipulates game objects and logic.
Thanks to Pybind11, key C++ classes, functions and entities are surfaced to Python, delivering a smooth bridge between native gameplay and user scripts. Progression, scores and content drops are delivered via Firebase (JSON), giving lecturers live oversight and automated grading.
Our goal: an engaging educational tool that motivates learning through gameplay, scoring, and automated code tests.
Built an in-game ImGui editor with save, compile, run and stop controls. Includes a status indicator:
🔴 Error 🟡 IDLE 🟢 Running
Implemented real-time error detection with highlighting and feedback. Added safeguards to prevent hangs and crashes like infinite loops (while, for) during script execution.
Built an in-game editor inspired by GeoGebra, allowing users to ➕ add, ❌ remove, and 👆 drag points to build custom vector shapes used alongside default game figures.
Main Menu
Running Program
My Vector Figure Editor
Identifiers & Keywords
Error Feedback & Highlighting
Vector Shape Editor