Echoes of Abyssus-9 is a modular, state-driven Python application designed to enforce clear separation between game flow, world data, player state, and narrative events.
game.pyorchestrates the main loop and routes user commandsplayer.pymanages player state, inventory, and movementworld.pydefines the room graph, navigation rules, and progression item identifiersitems.pymanages item placement and item-related world stateevents.pycentralizes narrative text and progression-based outcomesutils.pyprovides input normalization and UI output helpers
Narrative events are treated as first-class systems, allowing progression logic and story outcomes to evolve independently of the main gameplay loop.
Player progression is governed explicitly by inventory state rather than implicit sequencing or room order. The endgame condition checks for the presence of required progression items, preventing premature completion and sequence breaks.
This approach allows the world layout to remain flexible while enforcing clear progression rules through state validation rather than control flow.
The main game loop reads user input, normalizes commands, and routes them through a centralized command parser. Movement commands are validated against world-defined exits, while progression and narrative outcomes are handled by dedicated event handlers.
This structure keeps input handling, state mutation, and narrative logic decoupled while maintaining a simple, readable control flow.
- New rooms, connections, and descriptions can be added by extending world data without modifying the game loop.
- Additional progression rules or endings can be introduced by expanding event handlers and required state checks.
- New command types (e.g., puzzles, interactions) can be added by extending the command routing logic without impacting existing systems.