As a developer, every now and then you find yourself on a project of passion. These are apps and games of immense value to you personally, that you just loved creating. The app or game may sell miserably and family may have missed you for weeks while you worked on it, but they are projects we love. That’s what Vector Wars is to me, a new game built on passion.
This is a long story. I doubt it will be interesting to many, but its how Vector Wars came to be.
- BlackBerry 10 Download
- Google Play Download
- Amazon Download
- iOS Coming (Requires Mac OS X hardware…)
- Windows Phone / Store Coming (Game runs slow on this platform still…)
Where did you get the idea?
“All my yearly iOS development fees are paid for by my BlackBerry sales”
A short few months ago I was very excited to be approached by a gaming company called Good Game Studios from Germany. They were seeking mobile game developers predominantly focused on iOS and Android and wanted me to apply on a Unity3D role. I didn’t really expect to land the job, I have a total of one game on iOS, and all my yearly iOS development fees are paid for by my BlackBerry sales. However it was still an incredible opportunity, and if I could achieve it, I would get to enter true AAA game studios and see an exciting new country.
During the process I finally reached the point where they asked for a coding sample. The challenge was simple: To create a basic soundless 1942 clone! I don’t know if they were aware of the small tidbit of irony I saw in this. After all, it is a request to recreate a 1942 WWII air battle against German fighters to compete in real life for the opportunity to work in Germany.
“I choose Unity3D, opted for Space top down shooter, and line-based graphics.”
I didn’t feel comfortable pitting the Axis versus Allies in an attempt to woo a German development house. I also wanted something fresher, but still connected to the heart of video games. I thought a lot about Chopper Wars (named Chopper Attack at the time), one of my first mobile games made for the GP2X-Wiz.
The job recommended Flash or Unity3D, both areas I excel at. I choose Unity3D, opted for Space top down shooter, and line-based graphics (for this I chose the Vectrocity plugin). The scores use an encrypted string through PHP to one of my backends – standard stuff for score tracking. The game runs on a custom LevelObject class that essentially is a running List (for non-C# developers, its like an unordered Array with Pop and Push). Every time the game has a lull it takes the next level item out of the list and processes it. The rest of the game operates then as a series of events reacting to the game logic.
Originally named 2042, I had less than a week to prepare my sample and I wanted to make it with a bang. I went for the full game, with hundreds of levels, different enemy types, weapons, power-ups, and even cross-platform scoring – I wanted to add it all (and I did!). For time tracking I used a notes sheet, and timed and marked my milestones through BitBucket.
All-in-all I spent ~30 hours, even using a sick day at work. I had to create 3D models, custom multi-touch controllers, event systems, GUI systems, dialogs, you name it – but I finally had a stable enough release to submit for review 24 hours before the deadline. I was certainly proud of the submission!
I realized at that point the true size of the game. I also realized that this creates a bigger problem… they won’t believe I coded it in a week and there is no way they would have time to review it. I submitted it anyways, it was too late to turn back.
In the end, they contacted me back after the submission to let me know I didn’t make the final cut <insert sad sound effects here>. But I imagine whoever it was that got the job, they will be absolutely amazing! I wasn’t able to determine exactly what made them decide to skip me as a candidate (oh but I tried) and I had to accept that everything happens for a reason.
I decided I would continue on, add some new features I wanted like 3D views, better dialogs, better icons, graphical effects, weapon damage strength and life bars and so much more. I spent another month of evenings and weekends polishing and refining it more and more.
For the character dialogs, I used generic images and ran them through an 8bit converter such as this one. Graphics were then colour matched using GIMP, and vector images and assets created through Inkscape.
2042 becomes Vector Wars
The funny thing about Twitter, it makes it so easy to ask simple questions. When I teased my handful of followers @klharlow had this to say
@klharlow: Maybe a different name? Sounds too similar to 1024/2048, to my mind at least.
He was absolutely right. As you can imagine, I try to get his feedback on all my apps and games now! I’ve long since learnt that simple ideas can sometimes have a surprising response. Nightports comes to mind :). In line with the name rebranding, all the images, screenshots, splash screens and icons were redone to look a little bit snazzier.
Also what is it with guys named Kevin having good ideas?
Altogether, with achievements, camera views, upgrades, sassy dialogs, and all the new changes I would estimate the final effort to be closer to 80 hours. It was an incredible effort to complete for a simple little shooter game.
In the end, it wasn’t as polished as I would like. I would love access to three real world voice actors, an actual graphical designer, and a more advanced back end API. But at some point you have to draw the line and determine that the app is good enough for today!
I loved making the game. And I hope that someone out there loves playing it 🙂
Digispun, BlackBerry Central and of course CrackBerry for continuing to showcase tiny developers like me.
And to all the many testers that helped test this app:
Fel the rockstar, Tom of AgeTDev, Jo of QXS, JDuke of OSBB, Kevin the twitter guy, Santhosh of Ansdstudios, Seres of Mauwedit, Reuben that bbm guy, Zan of ZanBB, Roger of CellNinja, SCrid2000, DJ and Diego from CB, and all the many others I’ve missed.