My last four days – Funny? Maybe :-) – Long Read
The launch on iOS and Mac App Store sent me into a crazy spin. It’s true. I didn’t get much sleep the last few days and spent 95% of my time in front of my keyboard coding like a maniac!
So, what happened?
Well, like all good planning, once the event hits, things often don’t go exactly to plan.
Cubemen had been out on Steam for 2 weeks before the iOS launch and had been on Desura for many weeks before that. The iOS version has been in version sync since Cubemen 1.0, and every build was tested on iPad 2 (and then 3 when it was released).
I had no crash bug reports from any users and I haven’t experienced any (and I have played a lot of Cubemen), so I thought the game was stable.
When the iOS version launched and Cubemen was featured in almost every country, sales went through the roof, which was awesome, but as more people played the game, the chances of unfound issues appearing increased and the next thing I knew I was getting crash bug reports from iOS players.
Unfortunately, over 95% of these reports were via the App Store review process. I don’t really care about getting 1 star reviews that say, “App crashes”. What I do care about is that there is no way to contact the reviewer, so I couldnt get any for information about what the player was doing when it crashed.
Can you imagine how hard it is to track down a crash bug in a game the size of Cubemen when the only information you have is “It crashes” ? I didn’t even know what device they were using or what iOS version.
Panic set in, so I stayed awake for almost 3 days straight TRYING to reproduce a crash bug with almost no information. To make the challenge harder, those that did contact me directly (thank you very much to those people), reported that the crash was totally random. They would play a level and have it crash, then play the same level again 2 more times to get re-production steps, but the game wouldn’t crash those 2 times. Sheesh, what a PITA
So after 3 days of frantic code re-factoring and implementation of “saftey” code wrapped around possible dangerous code areas, I gave the new 1.0.4 build to the few users that did contact me with crash reports and asked them to hammer it. And hammer it they did, and reports back were… no crashes!
You’d think that this is the end of the story and everyone lives happy ever after, right? Wrong.
While I was waiting for the testers to get back to me about the 1.0.4 build and it’s stability, I has some free time, so as usual, instead of sleeping, I looked through all of the customer feedback for the next issue that was bugging most (I always read all customer feedback and always address issues and concerns that fall in line with my vision for y games).
I found an issue that had been bugging many players – Some times units get pushed off the level or their position by enemy units or enemy fire, as all units in the game including projectiles are physics items with mass and colliders.
The design was that if a unit fell off and couldn’t get back to their position, you could sell them and get another unit. That it seemed players didn’t like that, so I decided to change the behaviour and added the feature that if a Unit fell too far away from their position, they would reset back to their starting base and re-walk back to their position.
I tested this in defence levels and it works great. I was really happy with the solution and felt that players would also be happy that I not only listened but found a great solution for them.
Email starting to ping, and testers were reporting a stable build and I had about an hour left before the US woke up (I am in Australia) so I decided to get a build into review for iOS and OSX immediately so I could email the review teams and get expedited approvals to get the bug fixes out to players immediately.
So I did, and then went to bed after almost 3 days of no sleep.
I woke then next working (after only 5 hours sleep) ready and pumped to go do a guest lecture at Deakin University about the games industry, and checked my email and saw that the iOS version was approved (Yay Apple review team).
I jumped in the shower and got dressed, then checked my email again (addict) and found about 15 bug reports.
Skirmish mode in 1.0.4 was busted. Blue men were spawning at the Blue base and Red men were spawning at the Blue base!
I has tested the Defense levels with the new player reset feature, but I had rushed and not tested the Skimish modes!!!! AAARGH!
Coding and making critical decision with no sleep is just a SILLY IDEA. I knew this, I know this, I never do this. But this one time I did in my eagerness to get a bug fix out to everyone and in doing so I just swapped one issue for another!
So I quickly fixed the bug(was one tiny line of code) and re-submitted 1.0.5 and Begged Apple again for another expedited review – The awesome guys at Apple really must be sick of me by now – and I went to do my guest lecture all bummed out!
Half way to the University, my phone started pinging (email alerts) .. one… two… five… I thought, Oh Oh, what the F&^% now!! So I pulled over and checked my phone. Cubemen 1.0.5 on iOS has been approved! 20 Minutes! Approved. Holly Cow!
So I put a smile on my face and went to the guest lecture and told everyone there this story and how crazy and hard Indie Dev Life is, and even through all of this stress (self induced), there is nothing I would rather do with my life!
So what have I learnt from this?
- DON’T RUSH. Not even when sleep levels are good, definitely not when sleep is non-existant.
- My customers are a HUGE priority, but I am still more important.
I am passionate about what I do and I really care about my customers experience. I have been told many times that I am too passionate and care too much. Maybe, but thats just who I am.
I will always strive to make my games the best they can be, and I will always listen to my customers, but I have to clam down a bit and work at a more sustainable pace.
The last four days of craziness have passed and everything worked out for the best, but it’s not something I want to go through again any time soon.
If you read this far – thanks!