Refreshing the basics

Over the years working in the industry I’ve learned a lot on how to manage larger projects with multiple team members. When I decided to pick up game development again, I started envisioning the type of game I would like to play. I created a game design document and a mind map for the game, outlining all the different systems that would be needed. I setup a trello dashboard and added tasks to it.

Over a month of working on the project in my spare time I made significant progress, but the game was still bare bones with most of the game play still missing. The problem with larger projects is that a large number of pieces have to fall into place before you get something that is interesting and fun.  I was also learning many of the systems as I went along, which meant there was a lot of messy code and experimental art assets in my project.   

It’s tricky to make effective design decisions when your unfamiliar with the tools your using and their capabilities. I decided to take a step back and work on something more akin to a gamejam project. Something that would be very limited in scope and help me pick up some of the basics again. I made a list of things I would like to learn in unity that I was unfamiliar with. Following is a short list I created:

  • Terrain creation.
  • Painting textures, adding trees and foliage to terrain.
  • Simple particle effects.
  • Simple audio.
  • Terrain physics.
  • Unity event system.
  • Basic lighting.

With these in mind I made a very simple game where you drive around a tank and can shoot it’s main gun. You can find the game on itch.io (link)

 

The advantage of working on a prototype is that it frees me up from the mental block of having everything organized and polished. The goal is to experiment and learn instead of creating a product. If something is buggy I won’t spend a couple of hours to debug it, I’ll timebox myself and try different hacks to get to work, but if at the end of the allotted time bug persists then I move on.   

During the rapid prototyping process I learned a lot of new sub systems in unity and it helped me generate new ideas on what I could create. Along the way I started creating a new list of things I would like to learn with my next prototype. Additionally I have examples of how to setup various sub systems if I ever need those again in future projects.