LEGO Tycoon: Tilted Towers
Working closely with The LEGO Group, I lead the development of this tycoon game, being responsible for implementing the core gameplay loop. Throughout the game, players harvested resources (such as rocks and trees) and purchased properties, using their acquired resources to rebuild the buildings of Tilted Towers with LEGO bricks. They could also purchase and upgrade autominers to passively gather resources for them, and complete missions inside buildings to earn extra studs in fun ways.
The game starts with an onboarding sequence that teaches the players (up to 4) how to play, which I implemented with custom dialogue and step by step instructions that you completed in order to progress, all the way up to constructing your first building.
The game also included a random event system, where a countdown timer would appear building up to an event. These ranged from positive to negative, including a LEGO llama dropping with an abundance of free resources and studs, or a flood that damaged the player's properties and forced them to jump from raft to raft to stay out of the water. Damaged buildings could be repaired with resources to start earning studs again.
The NPCs required complex features: the ability to dynamically change their animations, as well as their hair piece being swappable in a barber shop mission. To achieve this goal, I designed the NPC blueprint to include all of the hair meshes and animations in a single actor, with a special system implemented in Verse to swap them at any time, allowing the correct hair mesh to follow the NPC's animations. These meshes were overriden in each instance to display the correct material for the NPCs.
I implemented a complex persistence system which allowed one player to select their save data at the beginning of the game, loading all of their progress into the map, including their owned autominers and properties (up to the exact completed floors and deposited resources), along with the number of resources they currently had. The progress automatically saved for that player throughout the game any time their progress was changed.
The codebase and UI were designed from inception to fully allow localisation support, enabling The LEGO Group to translate all of the game's text and have it seamlessly appear on the UI and in-world.