How thomasdgn/alterdune works
ALTERDUNE is a C++ mini-RPG with a playable console version and an optional SFML frontend sharing the same game engine. The player starts a run, advances through region-gated encounters, resolves fights through combat or mercy choices, and earns progression and one of three endings. The README also describes inventory, bestiary, appearance selection, and frontend views. Core implementation and frontend wiring are supported by the sampled files; several documented subsystems are represented at their existing enclosing paths because their source was not sampled.
Main entry points: Game.cpp Game engine · FrontendApp.cpp SFML frontend · Player.cpp Player model · main.cpp Console entry
Components 17
Player Interfaces
- Console entry
src/main.cpp - SFML frontend
src/FrontendApp.cpp
Game Engine
- Game engine
src/Game.cpp - Campaign progression
src/Game.cpp - Battle resolution
src/Game.cpp - Rewards and endings
src/Game.cpp - Frontend view data
include/FrontendViewModels.h
Game Domain
- Player model
src/Player.cpp - Monster model
src/Monster.cpp - Entity stats
src/Entity.cpp - Items and inventory
src/Item.cpp - ACT actions
src/ActAction.cpp - Bestiary entries
src/BestiaryEntry.cpp
Game Content
- Item definitions
data/items.csv - Monster definitions
data/monsters.csv - Visual and audio assets
assets
Other components
- Player
Connections 20
- Player → Console entry: starts run
- Player → SFML frontend: uses interface
- Console entry → Game engine: runs
- SFML frontend → Game engine: invokes shared logic
- SFML frontend → Frontend view data: renders view data
- Game engine → Frontend view data: builds
- Game engine → Campaign progression: manages progression
- Game engine → Battle resolution: resolves turns
- Game engine → Rewards and endings: records results
- Game engine → Player model: updates player
- Game engine → Monster model: loads and battles
- Game engine → Items and inventory: loads and grants
- Game engine → ACT actions: uses ACT catalog
- Game engine → Bestiary entries: updates entries
- Player model → Entity stats: inherits stats
- Monster model → Entity stats: inherits stats
- Player model → Items and inventory: owns inventory
- Game engine → Item definitions: loads CSV
- Game engine → Monster definitions: loads CSV
- SFML frontend → Visual and audio assets: loads optionally