Super Orc Puncher! was developed in DigiPen's proprietary Zero Engine using the Zilch scripting language. I was the Producer where I tracked all work and kept our team in check for each milestone.
As a developer, I created multiple gameplay systems and tools for my team to use such as:
Through the first stages of Super Orc Puncher's development, we had audio playing from sound emitters all over the place. It was hard to keep track of them all or even determine whether the sound emitter was for music or sfx. We knew that we wanted to be able to have the typical options for Master Volume of Music and SFX, so I decided to create an Audio Manager for everyone to use.
The manager was essentially what you would expect it to be. There was the master sound emitter that had the main logic, and sub emitters for Music and SFX which each routed through the master emitter. In creating this manager, I had to make sure it was easy for my team to use so they would actually want to use it. I created an interface for playing sounds on either the Music emitter or the SFX emitter. This allowed for control over all SFX and Music independently, but also the overall game volume through the master.
Potion & Gauntlet Systems:
These systems were designed very similarly, in that they are self contained and handle themselves based on the mode that was selected on the object. They were designed to make my teammates lives easier, where all that was required to spawn a potion or gauntlet was to select the mode via an enum dropdown list.
When someone wanted to add a new type of potion or gauntlet, they had to add the new mode and implement the behavior in a new function, which made things easy on the gameplay side.
Menu Systems, UI, and Profiles:
The menus went though many iterations before players felt it was intuitive and easy to use. Originally the profile menus were separate pages and weren't full of the life we added with the tweens. Once we switched to having the in-place menu systems, where the menu was stationary, but the buttons / actions would change, we had to redesign how the menus worked.
We had a system where when any button was clicked, an event with it's name was sent out to my main menu logic. This would allow me to do the correct actions based on what the player clicked. The more involved part was creating the in-place menu, where there were conditions for each button / option to be shown or not. In short, there was profile checking, name checking, keyboard input verification, and player save file checking for states like if it was their first time playing and or what their highscore was. All of these would determine what was shown at any time in the main menu.
Custom Options / Key-binding:
After having created the Audio Manager, it was pretty simple to build basic Music and SFX volume controls for each player profile. The fun part was creating the custom key-binding system for each player profile. This required me to create an input manager to verify keys and make sure there were no duplicates. I also decided it would be cool if it wasn't just a menu like normal, but interactive. When you were selecting the keys you wanted to rebind, there was a game simulation of the main player executing those actions as you changed the keys. It allowed for players to test the controls they had selected right there on the spot.