Or How To Make a Racing Game 3 Times as Exciting With a Team of Just 1
This article is about the creation of the game Drive!Drive!Drive!, a driving game about racing multple tracks at the same time, almost entirely by one person - me!
At first glance, the task would seem next to impossible. As one individual, create a racing game around an entirely untested central mechanic and in-game level editor, and throw in multiplayer too. Do it in 18 months. Release on PS4 & Steam worldwide on the same day too.
Yet this is the task I managed to achieve, and believe me I am no superhuman. You can verify that with my family, they'll point you towards the truth: i'm a complete buffoon. However I did manage to build a complex console & pc game from scratch in a relatively short space of time & I believe it was made principally possible by two factors:
Like a professional rugby player in a defensive training drill, I will now tackle each of these in turn.
The Unity engine has long been a favourite of mine. I have been making games in Unity for over 7 years, including the notoriously papery PlayStation 3 and Steam game Derrick the Deathfin. I think by now we all know the various advantages of using Unity so I'm not going to list them all here (!) but there are a number of specific aspects of Unity that helped me get the game done in time to a high standard. I will now begin to list the ones that I believe saved me the most development time. Pay attention at the back please.
Oh how long we waited, assorted plugins of varied usage in hand, for this blessing to be bestowed upon us. Now it is here adaptable interfaces can be created almost hassle free. Ace.
Adding Multiplayer as a one man team was perhaps the riskiest thing to try. Thankfully, and just in time, Unity Multiplayer moved out of beta and into a full scale workable option. I was developing as the service was being developed, so the ride was not always smooth, but without it I don't think I would've been able to get on the bus at all.
The Asset Store
If there are any "real" programmers reading this article they might not be pleased to learn about my methods. While I try to adhere to good practices I am also a ruthless pragmatist. If there's a shorter way to do something I'm gonna do it, whether it's considered good style or not. That's why I love the asset store. If I came across a time heavy task, the first thing I did was to ransack the Asset Store for a ready made solution. Often the perfect ones were there waiting for me, including but not limited to:
Fragmentum & Amazing Wireframe Shader
I should perhaps have called this factor "effective time management". That would have been more accurate but far less interesting. I should also perhaps have made a racing game about driving on 1 track at a time rather than up to 4. That would equally have been more accurate but far less interesting.
What I mean by effective time management is that I do everything I can to completely focus on the specific task in hand until it is complete. I force myself to be alert and attentive to that one job, I don't get distracted by related tasks on the way. Oh and I listen to discordant music with irregular timecodes at top volume while I'm doing this too. You may find this last tip doesn't work for you, but it does for me as I've built up years of expertise in the area.
Any programmers / creative people will be aware of the old addage that one brief interruption costs 20 minutes of creation time - the time that it takes to refocus the mind on the (sometimes mind-numbingly complex - hi multiplayer!) task at hand. I am a firm believer in this so I turn off all potential computer distractions when I am working - emails, whatsapp, facebook, slack, twitter (especially twitter) and so on. Anything that gives you a notification is the enemy of concentration! I also tend to power down my wife and kids during working hours.
Once in the zone of complete focus and no distractions I find I can really whizz though tasks at a greater speed than seems reasonable. Time is not really as static as people assume, after all. Adrenaline pumping through our body in deadly situations allows us to react faster or indeed slow down time.
Time dilation exists. Unity exists. And now Drive!Drive!Drive! exists, too.