Wizard Duel



Wizard Duel is a fast paced, local, player versus player game. The game features multiple characters and spells
My role in this project was implementing the core gameplay system and managing other team members’ work and assignments.
Main Contributions
- Multiple Character Selection
- Player Controls
- Core Spell System
Multiple Characters
[CODE]
I created an interface for all the characters in the game due to their shared characteristics such as resources, movement options, and skill layouts.
Due to the difference between characters being only their appearances, I stored the type of character as an enum. This saves space from having to create multiple classes for new characters.
Player Controls
[CODE]
Due to the prototype being messy and hard to build off of, I implemented a state machine to make the process of adding features easier.
All the functionality for movement was moved into the state machine. Even though the values of how quickly the characters moved are different, their movement options are the same.
The tight controls required for a player versus player game required a custom physics system. I took inspiration from Celeste and added acceleration, gravity and terminal velocity as well as a variation of movement in the air.
Spell System
[CODE]
Due to the type of character being stored as an enum, saving spells as seperate functions that could be swapped without digging through the character files improved development time.
This allowed the other programmer to quickly implement a variety of spells without needing to navigate through unnecessary files.