Project Dates: January  2016 - April 2016
Utilizing: Unity 3D and C#
Team Size: 7

Summary: Magitech City Blitz is a third person racing and platforming game. In terms of analogues, it is similar to an open world Mario Kart. In the game, players play as a wizard in a futuristic society on magical rollerblades, and are tasked with racing to different areas of a cityscape to claim magical points of power. The game has a high emphasis on mobility and exploration, the former demonstrated through the ability to use magical power to do multiple jumps and dashes through the environment, and the latter by the second phase of gameplay: when players get to a city block with a point in it, players are given a tracker that beeps the closer the player is to the point, requiring the player to search the environment for the point. Players complete against other players in multiplayer mode, and can find powerups to disrupt their opponents in the race to claim the city. In singleplayer, players are given a time limit to get all the points, and are instead opposed by enemies which aim to slow down the player.

My Role:  I acted as lead programmer and a designer on the project in a team of 7. Personally, I was responsible for:

  • Designing and implementing core gameplay mechanics, in particular the flow between racing, platforming, and exploration styles of gameplay
  • Designing and implementing the UI for the minimap and the tracker for finding objectives
  • Designing and implementing single player enemy types, including a chasing enemy and a shooting enemy
  • Designing and implementing each powerup available in the game as well as their spawn systems
  • Creating all special effects, particularly particle systems and trails
  • Implementing animation state machines
  • Implementing multiplayer split screen support up to 4 players
  • Programming third person skating movement controls and camera systems

Postmortem: This was my final project in my undergrad years, and I was working with a team and engine I was familiar with. As a result, it was a very smooth project, and the reduced focus on setting up hierarchy allowed us to focus on creating a new and interesting type of gameplay with the interplay between exploration, platforming, and racing. The major things I learned from the project are the importance of having optimized art and lighting, as in our split screen games we suffered from reduced framerate, programming for a third person camera and movement systems that heavily involve precise control and friction, and the notion of chaos as fun; the final piece of the game that ended up making it fun was changing the powerups and physics to allow for fun spectacle. For example: shooting your opponent with a machine gun blast of energy bolts that send them across the map. When said out loud it sounded ridiculous in design meetings, but after prototyping it on my own, we found that bombastic, over the top gameplay works very well in multiplayer scenarios.