- Eliminated ALL ellipsis instances (0 remaining)
- Documented 40 functions with complete signatures and examples
- Documented 21 classes with full method and property documentation
- Added 56 method descriptions with detailed parameters and return values
- Included 15 complete property specifications
- Added 24 code examples and 38 explanatory notes
- Comprehensive coverage of all collection methods, system classes, and functions
Key highlights:
- EntityCollection/UICollection: Complete method docs (append, remove, extend, count, index)
- Animation: Full property and method documentation with examples
- Color: All manipulation methods (from_hex, to_hex, lerp) with examples
- Vector: Complete mathematical operations (magnitude, normalize, dot, distance_to, angle, copy)
- Scene: All management methods including register_keyboard
- Timer: Complete control methods (pause, resume, cancel, restart)
- Window: All management methods (get, center, screenshot)
- System functions: Complete audio, scene, UI, and system function documentation
File size: 54KB of professional HTML documentation
Test results: 100% pass rate with zero missing documentation
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
||
---|---|---|
.archive | ||
assets | ||
deps/platform | ||
docs | ||
modules | ||
roguelike_tutorial/rogueliketutorials.com | ||
src | ||
stubs | ||
tests | ||
.gitignore | ||
.gitmodules | ||
ALPHA_STREAMLINE_WORKLOG.md | ||
CMakeLists.txt | ||
GNUmakefile | ||
LICENSE.md | ||
PHASE_1_2_3_COMPLETION_SUMMARY.md | ||
README.md | ||
RENDERTEXTURE_DESIGN.md | ||
ROADMAP.md | ||
SFML_3_MIGRATION_RESEARCH.md | ||
SFML_EXPOSURE_RESEARCH.md | ||
STRATEGIC_VISION.md | ||
_test.py | ||
automation_example.py | ||
automation_exec_examples.py | ||
base_position_uicaption_test.png | ||
base_position_uiframe_test.png | ||
base_position_uisprite_test.png | ||
build.sh | ||
caption_invisible.png | ||
caption_moved.png | ||
caption_opacity_0.png | ||
caption_opacity_25.png | ||
caption_opacity_50.png | ||
caption_visible.png | ||
clean.sh | ||
compare_html_docs.py | ||
compile_commands.json | ||
css_colors.txt | ||
example_automation.py | ||
example_config.py | ||
example_monitoring.py | ||
exec_flag_implementation.cpp | ||
frame_clipping_animated.png | ||
frame_clipping_nested.png | ||
frame_clipping_resized.png | ||
frame_clipping_test.png | ||
generate_api_docs.py | ||
generate_api_docs_html.py | ||
generate_api_docs_simple.py | ||
generate_color_table.py | ||
generate_complete_api_docs.py | ||
generate_stubs.py | ||
generate_stubs_v2.py | ||
gitea_issues.py | ||
ui_methods_documentation.py | ||
viewport_center_mode.png | ||
viewport_fit_mode.png | ||
viewport_fit_tall.png | ||
viewport_fit_wide.png | ||
viewport_stretch_mode.png | ||
wikicrayons_colors.txt | ||
xkcd_colors.txt |
README.md
McRogueFace
Blame my wife for the name
A Python-powered 2D game engine for creating roguelike games, built with C++ and SFML.
Pre-Alpha Release Demo: my 7DRL 2025 entry "Crypt of Sokoban" - a prototype with buttons, boulders, enemies, and items.
Tenets
- Python & C++ Hand-in-Hand: Create your game without ever recompiling. Your Python commands create C++ objects, and animations can occur without calling Python at all.
- Simple Yet Flexible UI System: Sprites, Grids, Frames, and Captions with full animation support
- Entity-Component Architecture: Implement your game objects with Python integration
- Built-in Roguelike Support: Dungeon generation, pathfinding, and field-of-view via libtcod (demos still under construction)
- Automation API: PyAutoGUI-inspired event generation framework. All McRogueFace interactions can be performed headlessly via script: for software testing or AI integration
- Interactive Development: Python REPL integration for live game debugging. Use
mcrogueface
like a Python interpreter
Quick Start
# Clone and build
git clone <wherever you found this repo>
cd McRogueFace
make
# Run the example game
cd build
./mcrogueface
Example: Creating a Simple Scene
import mcrfpy
# Create a new scene
mcrfpy.createScene("intro")
# Add a text caption
caption = mcrfpy.Caption((50, 50), "Welcome to McRogueFace!")
caption.size = 48
caption.fill_color = (255, 255, 255)
# Add to scene
mcrfpy.sceneUI("intro").append(caption)
# Switch to the scene
mcrfpy.setScene("intro")
Documentation
For comprehensive documentation, tutorials, and API reference, visit: https://mcrogueface.github.io
Requirements
- C++17 compiler (GCC 7+ or Clang 5+)
- CMake 3.14+
- Python 3.12+
- SFML 2.5+
- Linux or Windows (macOS untested)
Project Structure
McRogueFace/
├── src/ # C++ engine source
├── scripts/ # Python game scripts
├── assets/ # Sprites, fonts, audio
├── build/ # Build output directory
└── tests/ # Automated test suite
Contributing
PRs will be considered! Please include explicit mention that your contribution is your own work and released under the MIT license in the pull request.
The project has a private roadmap and issue list. Reach out via email or social media if you have bugs or feature requests.
License
This project is licensed under the MIT License - see LICENSE file for details.