Quadrone

A whimsical Unity game built in a week

Posted by Yasthil Bhagwandeen on August 15, 2017 · 6 mins read

The development of Quadrone has a bit of a story behind it which I’d like to share. Perhaps someone reading this can relate, learn from or be inspired from it.

Almost 3 years ago I started my job as a Software Developer (Prototype Engineer) in a game design team at Derivco. The tradition was that all developers that joined needed to develop a game within a week. The game was then sent to all the team members to play and emails were sent with bugs, hacks and high scores. As a fresh graduate out of university who didn’t have any game development experience it was quite a challenge. However, at the end of the week, I produced a game. It wasn’t the best game in the world, but it worked! Herein lies my inspiration for Quadrone.

I’ve been a classic “Perfect-planner” who always waited for the perfect plan, opportunity, software, PC equipment, etc. Over the course of the 2 years and many chats with Rory Smith-Belton, I’ve realized that waiting for the “Perfect Plan” is a myth! The following quote summarized this succinctly,

“You don’t have to be great to start, but you have to start to be great” - Zig Ziglar

It was time to find something to do and start, just start. Trying to do something you’ve always done differently is difficult! I had to make a conscious effort in starting without over-planning, embracing failure, learning from the failures and moving forward. I fought the internal demon of doubt, fear and laziness and decided that I wanted to build a game. I thought about how 3 years ago I built a game within a week and I had no excuse not to do the same now. So I came up with the following brief:

  • Game name: Quadrone (Quadcopter + Drone) or a Drone made up of Quads.
  • Player: Use a Quadcopter/Drone
  • Type: Endless side-scroller
  • Mission: Avoid obstacles, objects, things
  • Goal: Build the game in a week Here are my original sketches and plan for the game:

Day 1: Setup Tools

  • Game Engine: Unity Personal Assets: Use assets from the Unity Asset Store or create my own
  • Game Engine: Unity Personal
  • Assets: Use assets from the Unity Asset Store or create my own
  • Version Control: Git and SourceTree
  • Scripting IDE: Visual Studio 2017 Community edition

Day 2-3: Game Mechanics

I wanted to get the game functional and playing correctly without much concern about the graphics and assets at this stage.

  • I used spheres as the obstacles
  • I had a drone that I designed in Unity that was dying and colliding with obstacles correctly
  • When you hit the sphere, the drone and sphere were removed
  • Scoring system Once I had the basic mechanics working, I moved on to finding some assets.

Day 4–5: Music, Graphics and UI

  • It was here that I thought, birds will make sense to be obstacles instead of weird shapes. Since the background assets I found was a sky with clouds moving around, birds would be a good fit
  • I found graphics for a parallaxing background, 3D models of birds and a background track
  • Created a particle system for the explosions
  • Using my phone, I recorded my own sound effects for the birds

Day 6: Final polishing, bug fixes and register developer accounts

I used this time to:

  • Tighten up the UI
  • Fix a few bugs
  • Tweak difficulty and game play experience

Create Developer accounts for Android and Apple

  • Android Developer account fee: R327.7 (~CAD32) once-off
  • Apple Developer account fee: R1,297.68 (~CAD129) per annum

Day 7: Deploy to Android Play Store

I had chosen to deploy to Android first as the process is usually much easier and faster. I was eager to publish the game and have people play it. After a week of development, Quadrone was live on the following app stores:

  • Android Play Store
  • Apple App Store

Feedback

Once the game was live, I sent the link to my colleagues. The feedback I received was incredible! It’s amazing how many different point of views there were and how much I learnt from just the feedback. There were a few bugs and improves that I made afterwards.

Lessons Learnt:

  • Pushing through the initial doubtful phase is paramount
  • Having a defined goal and time frame helped focus and prevent scope creep
  • Don’t let the lack of skills, art or music stop your game development. There are tons of resources out there!
  • I found breaking things down into daily “missions” was very helpful. I used Google Keep to store a checklist of items I wanted to have done for that day.
  • If you really want to do something, just do it. Stop making excuses.

I hope this was a useful or helpful article. I’m looking forward to doing more games-in-a-week.