A video game project made using the Unity game engine. Nigel The Mad Duke is a 2D platformer where the player plays as a mouse named Nigel. He has the ability to conduct, changing the tempo of the music and affecting the tempo of the platforms in his surrounding environment. Nigel also has the ability to enter MAD mode, further changing the state of platforms.
Developed in a team, my responsibilities included: coding, art asset creation, lighting, animations, shaders, and other various tasks
SHADERS
My tasks involved the look of the game, so I used Unity shader graphs to create shaders for assets. Shaders, along with using Unity's Universal Render Pipeline, aided me in creating scriptable passes. This produced effects, such as bloom, which gave the game shiny glowing objects. It also made custom texture effects, such as dither, contributing to the look of the game.
RIGS AND ANIMATION
Without animation, everything would be still and lifeless. In order to immerse the player, animation is a must, so I dealt with all of the animation of the project. This included key framing animations using Unity timeline feature to create animation clips, and wiring them together to create appropriate transitions between animated states.
In addition, I fully created all the rigs. I used weight painting, so that the 2D mesh moves correctly with the bones I implemented into the art assets, allowing them to be animated. Rigs included the characters, such as Nigel and the Cheese boss monster at the end of the game, and also game objects like the flowers and lava, or the platforms the player utilizes in the boss fight seen in the trailer.
I also utilized procedural animation, using code to animate. This can be seen in Nigel's tail or check point lights flickering.
Finally, I created all the lighting and it's movement, as well as employed particle systems to enhance the atmosphere.

CONCEPT ART AND SPRITE CREATION
When designing Nigel, our team only had vague ideas of what he should look and feel like. The goal of concept art is to iterate and give visuals so the team can come together and know what to design. I drew out many iterations of various sprites, level background, and characters.

Designing a level for concept art, drawing over handed over level designs given by the team.

PROGRAMMING
In every video game, coding is essential. Writing with C#, I created and implemented various features that were easy to read and use, so my team could expand on it. I applied techniques such as Inheritance, polymorphism, custom editors, and scriptable objects to create game systems. Some examples are a health manager, movement manager, and music manager. This allowed these features to be easily tested and iterated on. I also wrote other scripts for the development of Nigel.

Player movement tool allowing for quick iteration

Made a custom editor for the script. Using editor code for some of it, but also used unity toolkit. Also used Serialized objects to store and save the data also making sure it's serialized. Saves the values stored between sessions as well as edits the players stat values in real time.

Music Manager allowing for easy adding of additional music tracks, switching music tracks, pausing music as well as controlling the speed of the music with tempo. The video above demonstrates a test where I showcase how it can be used so that platforms move in sync with the music, which is under player control.

Hit box tool that shows the hit boxes of the player no matter where it is. Useful in level design during the iteration process of moving platforms and debugging.

  
Developed in a team of 4
See the team!
Fiana Li
Charlie Nevitt
Eli Graham

You may also like

Back to Top