🔄 FireMUD User Journeys
This document outlines common flows for creators and players when interacting with the platform. Each step references the microservice responsible for that portion of the journey.
1. Sign Up and Game Creation
- Sign Up – Players create an account through the Account Service.
- Create a Game – Newly registered creators use the Game Design Service to start a fresh game project.
Player → Account Service → Game Design Service (new game)
2. World and Entity Design
Creators refine the world and its inhabitants using several services:
- Game Design Service – Versioned templates, ability editors, and runtime flag definitions.
- World Management Service – Maps, regions, and procedural generation rules.
- Entity Management Service – Player characters, NPCs, items, and inventory.
Game Design ↔ World Management ↔ Entity Management
3. Add Automation & Scripting
Dynamic behavior is implemented via the Automation & Scripting Service:
- Script quests and NPC routines.
- Trigger world events in response to player actions.
4. Publish and Start a Game Instance
Once the world is ready:
- Publish a Version – Creators publish the current design in the Game Design Service.
- Start a Game Instance – The Game Session Service launches a live instance using that published version. For the full rollout process, see Versioning & Runtime Configuration.
Game Design Service (publish) → Game Session Service (start instance)
5. Player Login and Gameplay
Players connect through the networking layer:
- Gateway/Proxy – Telnet clients connect via the TCP Proxy Service while web clients use the Spring Cloud Gateway.
- Session Management – The Game Session Service retrieves world and entity data over gRPC from other services and dispatches actions to the Game Logic Service.
Client → Proxy/Gateway → Game Session Service → Game Logic Service / Entity & World services
The Game Session Service handles login, session recovery, and active gameplay. Players can reconnect seamlessly thanks to the layered approach described in Reconnection Strategy.
6. Social Interaction
During gameplay, players form groups and communicate via the Social & Groups Service. Chat rooms, guilds, and friend lists are synchronized in real time.
7. Monitoring and Moderation
Operators monitor the game and enforce rules using the Logging & Admin Service. It aggregates logs, provides analytics dashboards, and exposes moderation tools such as bans or runtime feature toggles.
8. Patch and Update a Live Game
- Iterate on Content – Creators modify worlds, items, or rules using the Game Design Service.
- Publish a New Version – The updated design is published with patch notes so players can review changes.
- Restart Game Instance – Administrators instruct the Game Session Service to load the new
version_id
.
Game Design Service (publish) → Game Session Service (restart)
9. Purchases and Subscriptions
- Payment Processing – The Account Service handles purchases and subscription renewals via Stripe.
- Audit and Compliance – Transactions are logged through the Logging & Admin Service for reporting and refunds.
Player → Account Service → Logging & Admin Service
These flows complement the architecture diagrams in System Architecture Overview.