Go to file
John McCardle ff83fd8bb1 Update ROADMAP.md to reflect massive progress today
- Fixed 12+ critical bugs in a single session
- Implemented 3 missing features (Entity.index, EntityCollection.extend, sprite validation)
- Updated Phase 1 progress showing 11 of 12 items complete
- Added detailed summary of today's achievements with issue numbers
- Emphasized test-driven development approach used throughout
2025-07-03 21:13:46 -04:00
assets Whoops, never commited the UI icons spritesheet 2025-03-08 20:33:55 -05:00
deps/platform Windows build 2024-02-25 15:38:38 -05:00
modules Refactor: Python 3.12, build libtcod & SFML from source. Cmake build. Directory cleanup 2024-02-24 22:48:39 -05:00
src Remove deprecated player_input and turn-based functions for Issue #3 2025-07-03 21:12:29 -04:00
tests Implement sprite index validation for Issue #33 2025-07-03 21:09:06 -04:00
.gitignore Prep: Cleanup for interpreter mode 2025-07-03 09:42:46 -04:00
.gitmodules Refactor: Python 3.12, build libtcod & SFML from source. Cmake build. Directory cleanup 2024-02-24 22:48:39 -05:00
CLAUDE.md Fix --exec interactive prompt bug and create comprehensive test suite 2025-07-03 19:25:49 -04:00
CMakeLists.txt Iterators, other Python C API improvements 2025-05-31 09:11:51 -04:00
GNUmakefile Python command emulation 2025-07-03 10:46:21 -04:00
LICENSE.md Refactor: Python 3.12, build libtcod & SFML from source. Cmake build. Directory cleanup 2024-02-24 22:48:39 -05:00
README.md Refactor: Python 3.12, build libtcod & SFML from source. Cmake build. Directory cleanup 2024-02-24 22:48:39 -05:00
ROADMAP.md Update ROADMAP.md to reflect massive progress today 2025-07-03 21:13:46 -04:00
automation_example.py Implement --exec flag and PyAutoGUI-compatible automation API 2025-07-03 14:27:01 -04:00
automation_exec_examples.py Implement --exec flag and PyAutoGUI-compatible automation API 2025-07-03 14:27:01 -04:00
build.sh Python command emulation 2025-07-03 10:46:21 -04:00
clean.sh Python command emulation 2025-07-03 10:46:21 -04:00
compile_commands.json Prep: Cleanup for interpreter mode 2025-07-03 09:42:46 -04:00
css_colors.txt Squashed commit of the following: [standardize_color_handling] 2024-03-30 21:20:40 -04:00
debug_immediate.png Fix Issue #74: Add missing Grid.grid_y property 2025-07-03 19:48:33 -04:00
debug_multi_0.png Fix Issue #74: Add missing Grid.grid_y property 2025-07-03 19:48:33 -04:00
debug_multi_1.png Fix Issue #74: Add missing Grid.grid_y property 2025-07-03 19:48:33 -04:00
debug_multi_2.png Fix Issue #74: Add missing Grid.grid_y property 2025-07-03 19:48:33 -04:00
example_automation.py Implement --exec flag and PyAutoGUI-compatible automation API 2025-07-03 14:27:01 -04:00
example_config.py Implement --exec flag and PyAutoGUI-compatible automation API 2025-07-03 14:27:01 -04:00
example_monitoring.py Implement --exec flag and PyAutoGUI-compatible automation API 2025-07-03 14:27:01 -04:00
exec_flag_implementation.cpp Implement --exec flag and PyAutoGUI-compatible automation API 2025-07-03 14:27:01 -04:00
generate_color_table.py Squashed commit of the following: [standardize_color_handling] 2024-03-30 21:20:40 -04:00
gitea_issues.py Prep: Cleanup for interpreter mode 2025-07-03 09:42:46 -04:00
grid_none_texture_test_197.png Fix Issue #74: Add missing Grid.grid_y property 2025-07-03 19:48:33 -04:00
issue78_fixed_1658.png Fix Issue #74: Add missing Grid.grid_y property 2025-07-03 19:48:33 -04:00
quick_extend_test.py Implement EntityCollection.extend() method for Issue #27 2025-07-03 21:05:47 -04:00
quick_index_test.py Implement Entity.index() method for Issue #73 2025-07-03 21:02:14 -04:00
quick_sprite_test.py Implement sprite index validation for Issue #33 2025-07-03 21:09:06 -04:00
screenshot_opaque_fix_20250703_174829.png Fix Issue #74: Add missing Grid.grid_y property 2025-07-03 19:48:33 -04:00
temp_test.py Fix Issue #74: Add missing Grid.grid_y property 2025-07-03 19:48:33 -04:00
timer_success_1086.png Fix Issue #74: Add missing Grid.grid_y property 2025-07-03 19:48:33 -04:00
validate_screenshot_basic_20250703_174532.png Fix Issue #74: Add missing Grid.grid_y property 2025-07-03 19:48:33 -04:00
validate_screenshot_final_20250703_174532.png Fix Issue #74: Add missing Grid.grid_y property 2025-07-03 19:48:33 -04:00
validate_screenshot_with_spaces 20250703_174532.png Fix Issue #74: Add missing Grid.grid_y property 2025-07-03 19:48:33 -04:00
wikicrayons_colors.txt Squashed commit of the following: [standardize_color_handling] 2024-03-30 21:20:40 -04:00
xkcd_colors.txt Squashed commit of the following: [standardize_color_handling] 2024-03-30 21:20:40 -04:00

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