[Demo Target] r/roguelikedev Tutorial Series Demo Game #167
Labels
No labels
Alpha Release Requirement
Bugfix
Demo Target
Documentation
Major Feature
Minor Feature
priority:tier1-active
priority:tier2-foundation
priority:tier3-future
priority:tier4-deferred
Refactoring & Cleanup
system:animation
system:documentation
system:grid
system:input
system:performance
system:procgen
system:python-binding
system:rendering
system:ui-hierarchy
Tiny Feature
workflow:blocked
workflow:needs-benchmark
workflow:needs-documentation
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Depends on
#165 [Documentation] Update mcrogueface.github.io website
john/McRogueFace
Reference
john/McRogueFace#167
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Create a tutorial series and accompanying demo game targeting the r/roguelikedev annual "Complete Roguelike Tutorial" event, typically held over 8 weeks each summer.
Background
The 2024/2025 attempt to write McRogueFace tutorials alongside the community event revealed the engine wasn't ready. Those blocking issues have since been closed. Summer 2026 is the target.
r/roguelikedev Tutorial Structure (Traditional)
The community follows a ~13 part tutorial based on libtcod/Python:
McRogueFace Adaptation
Map each traditional part to McRogueFace features:
jsonfor save/loadDeliverables
Success Criteria
Timeline
Related
Tutorial scripts updated to current API (commit
1805b98)All 14 tutorial parts (0-13) in
docs/tutorials/were broken after commit6d5e99aremoved legacy string enum comparisons. Every tutorial now uses the current enum-based API:Changes across all 13 modified files (Part 0 had no key handler):
key == "W"/action != "start"→key == mcrfpy.Key.W/action != mcrfpy.InputState.PRESSEDColorLayer.draw_fov()(handles FOV + explored-state tracking in one call)grid.add_layer("color", z_index=-1)→mcrfpy.ColorLayer()+grid.add_layer()entities.remove(index)bug →entities.remove(entity_ref)(31 instances fixed across Parts 5-13)Net result: -765 lines, +388 lines. All 14 parts tested and passing in headless mode.
Remaining work for #167:
.pyfiles have code + comments but no accompanying tutorial text)docs/templates/roguelike/still uses very old API (createScene,sceneUI,keypressScene) — separate fix needed