How I Used Unity & Warped Spacetime to Make Drive!Drive!Drive!
Published 2 years ago
23.7 K
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:
  1. Unity
  2. Spacetime manipulation
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.

Unity UI

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.

Unity Multiplayer

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:
  • DoTween 
  • Probuilder
  • Rewired
  • I2 Localization
  • Fragmentum & Amazing Wireframe Shader

Spacetime manipulation

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.
Gordon Midwood
Game Maker & Designer - Programmer
Gordon Midwood
10 days ago
Game Maker & Designer - Programmer
Robert PfliegerHow much did the game cost you to make? Not intangible costs or hours. Money spent in the Asset Store (including old purchases reused for this game), Steam costs, SCE costs, etc.
Err thanks for the interest but I'm not sure I'm gonna tell you that on a public forum :)
Robert Pflieger
3 months ago
How much did the game cost you to make? Not intangible costs or hours. Money spent in the Asset Store (including old purchases reused for this game), Steam costs, SCE costs, etc.
Jed Pike
4 months ago
Hobbyist - Student
This was extraordinarily inspiring. I'm just a young adult, and in the past, I have basically done everything myself. I've read article after article about finding a team and being ready to collaborate. I have nothing against these things, but I have found that many of my peers are simply not motivated the way I am. When I find articles about people who sat down and completed something themselves, I feel inspired to keep going. Creating intense focus is not always easy. But if your goals are your dreams, then things just seem to fall into place.
Gordon Midwood
5 months ago
Game Maker & Designer - Programmer
Jeremy bAwesome work man, Congrats!
Sadly, I cant control my focus as well. private void Production() { bool isProducing = false;
"then yell at em to get back to work lol. Imagine users having a mic and yelling at their charactors and the lil get sad or tired of it and rebel lololol" crap back to work ahem If (productionBuildings [0] >0) { if (gold<maxStorageGold) { gold += productionBuildings [0] * productRates [0]; "Squirrel!" isProducing=true; *"gah the spacing crap is killing me. why cant they be consistent on the spacing? who creates this stuff and thinks things like that are good ideas? wait. how does coding work anyway? googles how code works3 hours later well crap, better get back to work. wait, im not getting paid, so is it still work? I mean, its just a hobby, so af;lsdjgljglkaj get back to my task. crap, what was I doing? where did I leave off? oh right, here it is. man this station sucks I need to change. god music is horrible today. find me a 90's channel. there we go. aw yeah, I aint heard this in a while, wonder what happened to them? Oh right, code } else } ((Messenger)statusMsg).DisplayMessage("Rob a Bank!" lol naw, delete, could u image that! lololol....ahem** "Increase Gold Starage!"); Any wonder I cant get anything done? lol
haha! it is sooo tricky to focus the mind you are right, takes a lot of discipline!
Gordon Midwood
5 months ago
Game Maker & Designer - Programmer
CahitThe motivation is the most important part. Congratulations for being able to do that while staying Human and keeping your bonds with the world around you. Creating an almost zero distraction spacetime is near impossible for various reasons for various people. In those times it is curicial to keep dreaming and not to give up. The only risk of this ability is completely ignoring or forgetting about the bonds with the world around us. Even if this may mostly depend on the chances of one individual, it is also critical to become aware of those chances too. I wish the continuity of your overall success. Good job!
Thank-you! It's tricky to be distraction free but if you work alone / in a small team it's entirely possible for at least some of the time :)