Case study / 02

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 projects
Old Town Hotel frontdesk gameplay scene
RoleSolo game developer and systems designer
ContextIndependent public portfolio project
StatusActive / public repository

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

From complexity to evidence.

The process changes with the domain, but ownership remains visible from problem definition through verification.

01

Model the day

Translated arrival, room allocation, housekeeping, lounge service and end-of-day operations into a playable loop.

02

Separate the systems

Kept guest, room, inventory and UI responsibilities modular so rules could evolve without rewriting the whole project.

03

Make content configurable

Used ScriptableObjects and data-led configuration to keep gameplay tuning outside core logic.

04

Verify the rules

Built an EditMode suite around transitions and edge cases, reaching 137 tests.

Old Town Hotel rooms gameplay scene
Old Town Hotel lounge gameplay scene

Evidence

What can be verified.

  • 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

Key decisions

01Room states are represented as an explicit lifecycle rather than scattered booleans.

02Guest preferences affect matching, creating trade-offs instead of a purely cosmetic queue.

03Housekeeping inspection supports failure and rework, reflecting real operational feedback loops.

04Architecture decisions and a GDD are maintained alongside code to make reasoning inspectable.

Outcome

A coherent vertical slice demonstrates C# systems work, test discipline, game design reasoning and the ability to turn domain knowledge into interactive rules.

This is an independent portfolio project. It is not presented as a shipped commercial Unity title.

  • Unity 6
  • C#
  • EditMode Tests
  • ScriptableObject
  • Git
View repository

Next case study

03Retro Quest