top of page

Vibe City

Capture.PNG

Summary

Vibe City is a team project made as the final project in the Advanced Diploma course I took in 2021. The team had 7 people all working on it in their respective fields. The team was made up of 3 programmers, 2 designers and 2 artists. 

Among the programmers we split the project into 3 small tasks that we could contribute to, VFX programming, Progression and customisation programming, and Gameplay and networking programming. I was assigned the progression and customisation task as I had an Idea where some customisation items were locked behind achievements.

Other than programming I did a little bit of asset modeling and Design work to help with the load of the other disciplines.

Achievement System

The achievement system is an extra system I made to add more levels of progression to the game. The achievements them selves are Scriptable Objects that can be created in a editor window tool I made to stream line the creation process and for ease of use for the others on the project.

The Achievement Manager class is a singleton that should never be destroyed and controls achievement score and alerts the player when they have unlocked and achievement.

 

The BaseAchievement class is overridable as there may be a case where an achievement might need to be unlocked through a very specific method.

Customisation System

The Customisation system is fairly simple in execution but it is very modular allowing anyone to add objects to the system easily. 

I had to work closely with the artists on this as most of the models had to be exported in a certain way for it to work as intended. The artists had to export the main weight painted objects overlapping each other as I couldn't find a way to add weight painted objects in a modular way, however any object that is independent to the models skeleton could be exported separately as I just parented those objects to the skeleton, making the process a bit easier on everyone.

I created editor tools to make the process even easier, with an included developer check to draw the default unity inspector as a just incase the editor tool became out of date so others could use that and not wait on me to update the tool.

I also made a tool to create achievements and unlocks as the systems are similar and are involved with each other.

Editor tool.PNG
Editor tool2.PNG

Menu UI

A smaller system I made was the basic menu system, I had this from a previous project I imported as a modular system. This system works very similarly to a state machine.

 

The main script called menu manger has a list of menu scripts and a MenuInitaliser script, the MenuInitaliser script is a overridable class allowing for users to implement their own custom code to set up any menu, such as an inventory needing to be created at runtime.

there are three methods to change menus, first is to change directly to a menu by its index in the Menus list, second is to change by the gameobject name, and last is to cycle through the list.

The Menu script has two Unity Events, the first is invoked when the menu is activated and another is invoked when exiting the menu.

MenuManager.PNG
Menu.PNG

Meet The Team

bottom of page