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