Unity // C# // Mechanics Design // Prototyping // UI // Testing and Tuning
Unity // C# // Mechanics Design // Prototyping // UI // Testing and Tuning
Behind is a 2-4 local multiplayer arena fighter game, with the unique twist that you can only attack your opponents from behind.
Behind was a university project that my team Nervous Knight Games took into DARE Academy 2023 where we qualified as finalists, earning the amazing oppurtunity to showcase Behind at EGX 2023.
As one of only two programmers for the team, I had to be very adaptable, moving between multiple different aspects of development dependant on what the project required at that time.
This included:
2D Movement Controller: Designing, implementing and tuning a movement controller, including horizontal movement, jumping, wall jumping/sliding and dashing.
Interactable Environment: Including portals, bouncy terrain and wall-slideable terrain, and implementing our teams level designs using Unity's tileset system.
Combat: Collaborated with our other programmer for a combat system, and a powerup system.
UI Implementation: Implementing the games HUD and Menus as designed by our designer, helping to see their designs and ideas in-engine
VFX/SFX System: Created tools for the audio designer and VFX artist to get their work implemented in the game.
During development of the 2D movement controller , I took an iterative approach to design. I would rapidly prototype implementations into engine, before tweaking and tuning values until it felt "fun".
If then the mechanic still felt clunky/ didn't fit our design goal, I'd go back to the design phase, and begin the cycle again. An example of this early on was with the wall jumping mechanic:
Player sticks to walls.
Jumping causes the player to climb up walls.
This was clunky and unresponsive, and didn't fit with the greater movement system.
Player slowly slides down walls.
Jumping causes the player to jump off of walls.
Far more responsive system, that flowed a lot better with the existing movement system.
In the final version, both this wall climbing and wall jumping mechanic were included, as showcased in this code snippet and the gameplay videos at the bottom of this page.
Behind was a huge learning experience. I learned C# and Unity , along with many technical design techniques (such as coyote time, jump buffers etc.) to help create a satisfying gameplay experience.
Additionally the experience of Dare Academy helped improve my collaboration, communication and time management skills.
It put me firmly on the path of technical game design, and got me really passionate to learn and progress my skills.
Looking back, a lot of the code is very clunky, the lack of a player state machine for example made adding new mechanics and functionality cumbersome and prone to bugs. However, learning and overcoming these obstacles overall made me a much more competent technical designer.