Quadrone - Game-in-a-week
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
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
- Android Play Store
- Apple App Store
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.
- 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