# McRogueFace A Python-powered 2D game engine for creating roguelike games, built with C++ and SFML. **Latest Release**: Successfully completed 7DRL 2025 with *"Crypt of Sokoban"* - a unique roguelike that blends Sokoban puzzle mechanics with dungeon crawling! ## Features - **Python-First Design**: Write your game logic in Python while leveraging C++ performance - **Rich UI System**: Sprites, Grids, Frames, and Captions with full animation support - **Entity-Component Architecture**: Flexible game object system with Python integration - **Built-in Roguelike Support**: Dungeon generation, pathfinding, and field-of-view via libtcod - **Automation API**: PyAutoGUI-compatible testing and demo recording - **Interactive Development**: Python REPL integration for live game debugging ## Quick Start ```bash # Clone and build git clone https://github.com/jmcb/McRogueFace.git cd McRogueFace make # Run the example game cd build ./mcrogueface ``` ## Example: Creating a Simple Scene ```python import mcrfpy # Create a new scene mcrfpy.createScene("intro") # Add a text caption caption = mcrfpy.Caption(50, 50, "Welcome to McRogueFace!") caption.font = mcrfpy.default_font caption.font_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](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 McRogueFace is under active development. Check the [ROADMAP.md](ROADMAP.md) for current priorities and open issues. ## License This project is licensed under the MIT License - see LICENSE file for details. ## Acknowledgments - Developed for 7-Day Roguelike Challenge 2025 - Built with [SFML](https://www.sfml-dev.org/), [libtcod](https://github.com/libtcod/libtcod), and Python - Inspired by David Churchill's COMP4300 game engine lectures