Flax: Town Mesa is a small-scale sandbox game built in Unreal Engine 5 that focused heavily on systemic gameplay and reactive world design. The project explored how player actions could influence both the environment and NPC behaviour through interconnected systems such as reputation, quests, economy changes, and world events. I wanted the experience to feel cosy and exploration-driven, while still giving weight to the player's choices. Helping the town would improve prosperity and relationships, while destructive behaviour would slowly impact the environment and how characters reacted to you.
One of the main goals of the project was to create gameplay systems that communicated with each other in meaningful ways. I designed a centralised architecture using Unreal’s GameInstance system to manage global data such as reputation, quests, and save progression. This allowed systems like NPC dialogue, quest progression, and environmental changes to react dynamically to player behaviour. A large part of development involved creating scalable systems that could easily expand without needing major rewrites later on.
The quest system became one of the most important parts of the project. Instead of hardcoding quests individually, I created a struct-driven system that allowed NPCs to hold chains of quests using reusable data structures. This made it much easier to add new quests, dialogue, rewards, and interactions while keeping everything organised. I also implemented supporting systems including a day/night cycle, save slots with screenshot thumbnails, interaction systems, combat, destructible objects, and reactive UI feedback.
A large amount of time was also spent on level planning and iteration. I began with hand-drawn maps before moving into greyboxing and modular environment creation inside Unreal Engine. The final world was designed to encourage exploration through visual landmarks, environmental storytelling, and subtle guidance rather than intrusive UI elements. Visually, I aimed for a stylised low-poly aesthetic with a calm atmosphere that matched the game’s tone.
Overall, this project helped strengthen both my technical and design skills. It pushed me to think carefully about scalable architecture, player feedback, and how gameplay systems can reinforce immersion. More importantly, it taught me how valuable iteration and simplification can be when balancing ambition with realistic project scope.