About The Project

Description

Siege Master is a 3rd person tower defense game with RPG element that is also VR Compatible (1st person).
You have to defend a magical portal against 10 waves of enemies by placing different towers and using different spells.
If you suceed you may challenge THE BOSS and become the siege master.

Technologies

Language
C#
Software & Ressources
Unity, Rider, Blender, Mixamo
Unity Specifics
New Input System, Cinemachine, Scriptable Object,
XR toolkit, UI, etc.

My Role

On this projet we were three persons. My role was to make the core architecture of the project by creating a game manager that uses reflection to gather all managers in the game and update them all using the unity update function as a single point of entry. The other managers that I've build are generic and can be use to manage any type of object. One type of generic manager I’ve built includes a factory and an object pool. The manager act as a façade to ensure the proper use of the factory and the pool. Those are also singleton, automatically inherited with the generic template.

My other tasks consisted of building the player controls using the new input system and cinemachine, along with the ability system. This system is generic enough to be use by the player or an AI. the controls are using the command pattern. The abilities, the projectile and the towers and even the AI in our game use the strategy pattern. We can exchange scriptable object on the component of the concreate object to create infinite content and types of object. The abilities implement a state machine for code clarity and run more smoothly as abilities can vary and have different requirements. The state machine I use is also a generic one that I have built. On a side note, I also did all the UI

Photos & Videos