Major fixes: - Fixed --exec entering Python REPL instead of game loop - Resolved screenshot transparency issue (requires timer callbacks) - Added debug output to trace Python initialization Test suite created: - 13 comprehensive tests covering all Python-exposed methods - Tests use timer callback pattern for proper game loop interaction - Discovered multiple critical bugs and missing features Critical bugs found: - Grid class segfaults on instantiation (blocks all Grid functionality) - Issue #78 confirmed: Middle mouse click sends 'C' keyboard event - Entity property setters have argument parsing errors - Sprite texture setter returns improper error - keypressScene() segfaults on non-callable arguments Documentation updates: - Updated CLAUDE.md with testing guidelines and TDD practices - Created test reports documenting all findings - Updated ROADMAP.md with test results and new priorities The Grid segfault is now the highest priority as it blocks all Grid-based functionality. |
||
|---|---|---|
| assets | ||
| deps/platform | ||
| modules | ||
| src | ||
| tests | ||
| .gitignore | ||
| .gitmodules | ||
| CLAUDE.md | ||
| CMakeLists.txt | ||
| GNUmakefile | ||
| LICENSE.md | ||
| README.md | ||
| ROADMAP.md | ||
| automation_example.py | ||
| automation_exec_examples.py | ||
| build.sh | ||
| clean.sh | ||
| compile_commands.json | ||
| css_colors.txt | ||
| example_automation.py | ||
| example_config.py | ||
| example_monitoring.py | ||
| exec_flag_implementation.cpp | ||
| generate_color_table.py | ||
| gitea_issues.py | ||
| wikicrayons_colors.txt | ||
| xkcd_colors.txt | ||
README.md
McRogueFace - 2D Game Engine
An experimental prototype game engine built for my own use in 7DRL 2023.
Blame my wife for the name
Tenets:
- C++ first, Python close behind.
- Entity-Component system based on David Churchill's Memorial University COMP4300 course lectures available on Youtube.
- Graphics, particles and shaders provided by SFML.
- Pathfinding, noise generation, and other Roguelike goodness provided by TCOD.
Why?
I did the r/RoguelikeDev TCOD tutorial in Python. I loved it, but I did not want to be limited to ASCII. I want to be able to draw pixels on top of my tiles (like lines or circles) and eventually incorporate even more polish.
To-do
- ✅ Initial Commit
- ✅ Integrate scene, action, entity, component system from COMP4300 engine
- ✅ Windows / Visual Studio project
- ✅ Draw Sprites
- ✅ Play Sounds
- ✅ Draw UI, spawn entity from Python code
- ❌ Python AI for entities (NPCs on set paths, enemies towards player)
- ✅ Walking / Collision
- ❌ "Boards" (stairs / doors / walk off edge of screen)
- ❌ Cutscenes - interrupt normal controls, text scroll, character portraits
- ❌ Mouse integration - tooltips, zoom, click to select targets, cursors