The game can be found at:
- Social simulation including many NPCs with many different dialogue options and routines
- In-game shop features and economy
- Crafting system
- In-game encyclopedia including information on items and characters
- Developing UI solutions for save and load systems
- Developing Unity editor tools to enable the automatic import of assets from an online database (using RESTful APIs)
- Designing and prototyping user interface menus and assets within Adobe XD
- Developing flexible, forward-compatible UI systems using class inheritance and prefabs
- Working with a localisation text system within the user interface, ensuring that text is properly translated and auto sizes across languages.
Due to the project being in development, I unfortunately cannot include any images of my UI work.
Amber Isle is probably the largest scale project I have worked on to date, so the challenges it posed were much greater than before. The systems I designed had to be very flexible, allowing for forward compatibility and use across many menus in many parts of the game. It was also important to stick to a consistent colour scheme and style guide, to ensure a coherent look for the game. While that is, of course, always an important element of UI design, it was especially important on a project of this scale.
General UI Work
My main focus was implementing UI assets using the Unity UI system, and designing my own code systems that were forward compatible and flexible, able to be used across the project. However, I also designed and created some assets and menus myself - using Adobe XD and vector design programs. I was grateful to be given quite a bit of control over the style of the game and the assets, as it allowed me to develop my own personal style and workflow immensely.
Save + Load System
One of the big systems I worked on was the development of the front and back-end of a save file system. This system allowed players to save their game file at any time, storing information such as the time of day, the local time the player saved the game at, the current amount of money the player has, and more. The back-end of this system used JSON file serialisation to safely store and load the information.
My biggest undertaking during my time on this project, the asset importer is an editor tool used to automatically import models, textures, materials, and set up characters within the project - all at the press of a button. It uses REST APIs to access online databases that store these files, downloads them into the project, creates materials by detecting the normal and base colour maps of textures, and assigns said materials to imported models. It was important that everything had a consistent naming scheme in order for the system to work. The API requests required custom JSON parameters and multiple steps of authorisation in order to access the files.