I worked as programming lead on Legacy, which is a title for iOS currently in soft launch during my time at 22cans. A video of some footage from early development can be found here: https://www.youtube.com/watch?v=BtxwATMd_bE&t=1s
It is a city building game at its core, but players are encouraged to design and build whatever creations they can imagine in order to progress in the game. I worked on a wide range of gameplay and UI features for this project, and most notably became the feature owner of the core mechanic; designing and building.
Players are able to drag items from the drawers on the left and attach them to certain hinges on the parts they have placed on the table. They are also able to add patterns, paints and stickers to the parts. A complex system was implemented so that the correct hinges were selected in certain situations, and so that it felt intuitive and smooth for the player.
This feature included multiple design modes – as shown above you can add a packaging box to your product. The boxes you could attach to the product were re-sized in code so that they fit the size of whatever the player designs perfectly.
Below is another design mode: designing buildings. Since the game is built around the idea of encouraging creativity in players, they are able to design almost any building using whatever parts they have unlocked. When designing something that has already been built, players had to be prevented from adding parts which would intersect with other buildings in the scene.
Feature: Build Mode
I also implemented the GUI and gameplay for a mode where the player can drag on the GUI to start placing new buildings or decorations in their town. This uses a grid system to detect what items already exist and where new items can be placed.
Feature: Resource Gathering
I extended the game’s AI system to add behaviour to the NPCs which work at certain buildings. I implemented the functionality of the harvesting building, where workers travel to and from in order to go out and gather and bring back resources. This also included adding a system where NPCs will wait outside of a building when there are no available actions for them to perform, and a way of allowing them to be interrupted from their current job if the player decides to send them elsewhere.