Case study / 03
Old Town Hotel
Unity 6 / C# / 137 EditMode Tests
A systems-led hotel management simulation grounded in real front-desk, housekeeping, lounge and room-cycle workflows.
← All projectsAn explicit state.
Guarded transitions · Data-driven balance · 137 EditMode tests
Challenge
Turn interdependent hotel operations into readable game systems that remain configurable and testable.
Contribution
Designed and implemented the project solo: guest queues, room matching, room state machines, inspections, lounge inventory, achievements and end-of-day summaries.
Delivery process
How the work
came together.
From the first model of the problem to checking how the system behaves.
Model the day
Translated arrival, room allocation, housekeeping, lounge service and end-of-day operations into a playable loop.
Separate the systems
Kept guest, room, inventory and UI responsibilities modular so rules could evolve without rewriting the whole project.
Make content configurable
Used ScriptableObjects and data-led configuration to keep gameplay tuning outside core logic.
Verify the rules
Built an EditMode suite around transitions and edge cases, reaching 137 tests.
Engineering evidence
The details
that matter.
- 137 Unity EditMode tests
- ScriptableObject-driven configuration
- Modular UI and multi-scene architecture
- GDD and architecture decision records
- Guest preference and room-matching logic
- Room lifecycle, inspections and rework loops
Inside the decisions / Expand to read
01Model the room as a lifecycle
Dirty, cleaning, inspection, ready and occupied describe distinct stages. Guarded transitions make invalid combinations easier to prevent and give tests a clear boundary to exercise.
02Let guest preferences affect the decision
Room assignment becomes a game when guest needs compete with the available rooms. Suitability rules turn front-desk work into a meaningful choice and keep that choice separate from the presentation.
03Separate tuning from implementation
ScriptableObject configuration holds balance values and content. This lets the simulation evolve without scattering tuning changes through gameplay code.
04Test the rules beneath the scene
The economy model is pure C# behind Unity-facing components. EditMode tests can verify financial and state behaviour without making every rule depend on manually playing through a scene.
Outcome
A coherent vertical slice demonstrates C# systems work, test discipline, game design reasoning and the ability to turn domain knowledge into interactive rules.
Independent work in progress, developed with an AI-assisted workflow. I own the game design, architecture decisions, integration and validation; the public repository includes code, tests and development history.
- Unity 6
- C#
- EditMode Tests
- ScriptableObject
- Git
Next case study
04Retro Quest→