An assignment based on Worms 3D, made for Futuregames' course "Game Programming with C#".
Controller & Managers
No longer pre-occupied with part-time work and University Research; this initial project at Futuregames presented itself as an opportunity for me, with the guidance of some experienced students around me, to push the envelope in terms of how I would approach games programming. Namely, this project introduced a plethora of fancy new tools into my arsenal: Events, Scriptable Objects and Singletons.
I started off by creating the players, which just meant implementing my own Stylised Character Controller with some minor adjustments. I then set out to create a singleton turn manager. This kept track of whose turn it is, as required by the input manager.
Customisation & Menus
No party game is fit for purpose without silly names... and hats! I used scriptable objects to store the customisable properties of each character between scenes. Also, a pause screen!
Weapons, a Level & Finishing Touches
Apart from shoving your wormy foes with sheer will, I had yet to implement any weapons! I used scriptable objects and abstraction to support weapons with varying behaviour. As both the hats and weapons would require selecting, I had them both inherit from the Item class and implemented selecting there. Finally, I put together a simple level before adding some finishing touches — such as a turn timer and end game screen.