Update "Home"
parent
71d834ba39
commit
6b379fd3b8
1 changed files with 76 additions and 63 deletions
139
Home.md
139
Home.md
|
|
@ -1,63 +1,76 @@
|
||||||
# McRogueFace Wiki
|
# McRogueFace Wiki
|
||||||
|
|
||||||
Welcome to the McRogueFace documentation wiki! This wiki provides focused, cross-referenced documentation for understanding and extending the engine.
|
**McRogueFace** is a C++/Python 2D game engine for roguelikes and beyond, wrapping SFML, libtcod, and OpenGL behind a Python scripting layer. Current version: **v0.2.5**. Platforms: Linux, Windows (cross-compile), WebAssembly/Emscripten.
|
||||||
|
|
||||||
## Navigation
|
---
|
||||||
|
|
||||||
### 📦 By System
|
## By System
|
||||||
- [[Grid-System]] - Grid rendering, entities, TCOD integration
|
|
||||||
- [[Animation-System]] - Property animation, easing functions
|
Core engine systems and how they work:
|
||||||
- [[Python-Binding-Layer]] - C++ ↔ Python integration
|
|
||||||
- [[UI-Component-Hierarchy]] - Frame, Caption, Sprite, Grid, Entity
|
- [[Grid-System]] - Multi-layer grids, chunk rendering, z-ordering, camera control
|
||||||
- [[Performance-and-Profiling]] - Optimization, profiling tools
|
- [[Grid-Rendering-Pipeline]] - Tile rendering internals
|
||||||
- [[Headless-Mode]] - Simulation control, automated testing, LLM agents
|
- [[Grid-TCOD-Integration]] - libtcod FOV/pathfinding integration
|
||||||
|
- [[Grid-Interaction-Patterns]] - Cell callbacks, click/hover handling
|
||||||
### 🎮 By Use Case
|
- [[Animation-System]] - 24+ easing functions, property locking, callbacks
|
||||||
- [[Rendering-and-Visuals]] - How to render tilemaps, sprites, UI
|
- [[UI-Component-Hierarchy]] - Frame, Caption, Sprite, Grid, Entity, Arc, Circle, Line
|
||||||
- [[Entity-Management]] - Creating and managing game entities
|
- [[UI-Widget-Patterns]] - Composition patterns for UI elements
|
||||||
- [[Input-and-Events]] - Keyboard, mouse, event handling
|
- [[Input-and-Events]] - Key, MouseButton, InputState enums; click/hover/move callbacks
|
||||||
- [[AI-and-Pathfinding]] - FOV, A*, Dijkstra maps
|
- [[Entity-Management]] - Grid-based entities, collections, sprite management
|
||||||
- [[Procedural-Generation]] - BSP, cellular automata, WFC
|
- [[AI-and-Pathfinding]] - FOV, A*, Dijkstra maps
|
||||||
|
- [[Procedural-Generation]] - DiscreteMap, HeightMap, NoiseSource, BSP, Tiled/LDtk import, Wang tiles
|
||||||
### 🏗️ Development Workflows
|
- [[Rendering-and-Visuals]] - Sprites, tilemaps, UI rendering
|
||||||
- [[Adding-Python-Bindings]] - Expose C++ to Python
|
- [[Headless-Mode]] - Simulation control, automated testing, LLM agent integration
|
||||||
- [[Performance-Optimization-Workflow]] - Measure and optimize
|
- [[Performance-and-Profiling]] - Profiler overlay, benchmarking, optimization
|
||||||
- [[Writing-Tests]] - Test patterns and automation
|
|
||||||
- [[Profiling-and-Debugging]] - Using profiler overlay, GDB
|
## By Use Case
|
||||||
|
|
||||||
### 🗺️ Architecture & Design
|
Practical guides for common tasks:
|
||||||
- [[Architecture-Overview]] - High-level system design
|
|
||||||
- [[Design-Proposals]] - Index of architectural proposals
|
- **Building a game** - Start with [[Grid-System]], [[Entity-Management]], [[Input-and-Events]]
|
||||||
- [[Strategic-Direction]] - Project goals and priorities
|
- **Procedural levels** - [[Procedural-Generation]] covers BSP, noise, Tiled/LDtk pipelines
|
||||||
|
- **UI and menus** - [[UI-Component-Hierarchy]] and [[UI-Widget-Patterns]]
|
||||||
### 📋 Issue Roadmap
|
- **Animation and polish** - [[Animation-System]] for easing, callbacks, property animation
|
||||||
- [[Active-Development]] - Tier 1: Current focus
|
- **AI opponents** - [[AI-and-Pathfinding]] for FOV, pathfinding algorithms
|
||||||
- [[Foundation-Work]] - Tier 2: Important systems
|
- **Automated testing / LLM agents** - [[Headless-Mode]] and [[Writing-Tests]]
|
||||||
- [[Future-Features]] - Tier 3: Deferred features
|
- **Performance tuning** - [[Performance-and-Profiling]] and [[Performance-Optimization-Workflow]]
|
||||||
|
|
||||||
## Quick Links
|
## Development
|
||||||
|
|
||||||
- **API Reference**: [docs/api_reference_dynamic.html](../docs/api_reference_dynamic.html) - Complete API extracted from C++ docstrings
|
Guides for extending the engine itself:
|
||||||
- **Issue Tracker**: [Open Issues](https://gamedev.ffwf.net/gitea/john/McRogueFace/issues)
|
|
||||||
- **Repository**: [Source Code](https://gamedev.ffwf.net/gitea/john/McRogueFace)
|
- [[Development-Workflow]] - Gitea-first workflow, issue tracking, wiki update procedures
|
||||||
- **Build Guide**: See CLAUDE.md in repository root
|
- [[Adding-Python-Bindings]] - How to expose C++ types and methods to Python
|
||||||
|
- [[Python-Binding-Layer]] - Architecture of the C++/Python integration layer
|
||||||
## How to Use This Wiki
|
- [[Writing-Tests]] - Test patterns, automation API, headless mode testing
|
||||||
|
- [[Performance-Optimization-Workflow]] - Measure-first optimization process
|
||||||
**Multiple Entry Points:**
|
- [[LLM-Agent-Testbed-Architecture]] - Using McRogueFace as an LLM evaluation environment
|
||||||
- **System-focused**: Start with system pages to understand architecture
|
|
||||||
- **Issue-focused**: Issue pages link to relevant wiki documentation
|
## Architecture and Planning
|
||||||
- **Use-case-focused**: Game development pages show practical examples
|
|
||||||
|
Design documents and project direction:
|
||||||
**Cross-Referenced:**
|
|
||||||
- Every page links to related systems, issues, and source files
|
- [[Strategic-Direction]] - Project goals, development eras, priorities
|
||||||
- Follow the links to navigate the relevant subset of documentation
|
- [[Issue-Roadmap]] - Current issue status by priority tier
|
||||||
|
- [[Design-Proposals]] - Index of architectural proposals
|
||||||
**Living Documentation:**
|
- [[Proposal-Next-Generation-Grid-Entity-System]] - Grid/Entity system redesign
|
||||||
- Wiki evolves with the codebase
|
|
||||||
- Issues reference wiki pages
|
## Quick Links
|
||||||
- Wiki pages reference current implementation files
|
|
||||||
|
- **API Reference**: [HTML docs](https://gamedev.ffwf.net/gitea/john/McRogueFace/src/branch/master/docs/api_reference_dynamic.html) - Complete API extracted from C++ docstrings
|
||||||
---
|
- **Issue Tracker**: [Open Issues](https://gamedev.ffwf.net/gitea/john/McRogueFace/issues)
|
||||||
|
- **Repository**: [Source Code](https://gamedev.ffwf.net/gitea/john/McRogueFace)
|
||||||
*Last updated: 2025-12-01*
|
- **Build Guide**: See `CLAUDE.md` in repository root for build instructions (Linux, Windows, Emscripten)
|
||||||
|
|
||||||
|
## How to Use This Wiki
|
||||||
|
|
||||||
|
- **System-focused**: Start with the system pages above to understand engine architecture
|
||||||
|
- **Use-case-focused**: Follow the use case section for practical task-oriented navigation
|
||||||
|
- **Issue-focused**: The [[Issue-Roadmap]] links issues to relevant wiki pages
|
||||||
|
- **Cross-referenced**: Pages link to related systems, issues, and source files
|
||||||
|
|
||||||
|
This wiki is living documentation that evolves with the codebase. Issues reference wiki pages, and wiki pages reference current implementation files.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Last updated: 2026-02-07*
|
||||||
Loading…
Add table
Add a link
Reference in a new issue