The Refraction Story (aka ‘The Blind Leading the Blind’)
About a year or so ago Sean and Brandon had been trying to get a project started that would help elevate them above the above the sea of computer science major’s when it came to job application time. It initially went nowhere. Fast forward to late 2010, I (Zach) met Sean, and reintroduced myself to Brandon via some common classes. They mentioned to me the idea of working on a programming project, and I was immediately interested. We had meeting or two in late ‘10 that really didn’t progress things much. It wasn’t until late February that Refraction was born.
After some internal debate we settled on making a game. However most of our initial ideas pretty much fell flat, and then Sean suggested something he had clearly been sitting on for a while; A game that focused on reflecting light with mirrors. We pretty much were all in love with the idea from the start, and it didn’t take long for the concept to expand to prisms and color as well. Having all played at least a few mobile games in the past, we looked to some for inspiration. We told ourselves we wanted our Idea, with a Trainyard feel, and a GlowHockey look. We left that evening ecstatic, but also well aware that this was going to be hard.
None of us had any experience with large scale application development, and I had a bit of experience with Android, but having only scratched the surface it was really irrelevant. Looking back now this was most likely a benefit to us. Had we known then what we know now, regarding the time and devotion completing a game like this takes, I’m not sure we would have had the optimism and excitement that ultimately carried us through the early stages of development.
We basically learned as we went, we all had enough experience with java, it was simply a matter of understanding how to program games on a phone. It went surprisingly well, the only downside to this approach is that Refraction is built upon, well some shaky foundations. Many of the issues have been mended, but it’s easy to look back now and understand how we could have approached a lot of a code in a more clean and easier to maintain way.
I’m not sure why we didn’t realize that making 140 (20 lite + 120 Full) good levels was going to be a monstrous task ahead of time, but needless to say it was harder than we expected. The issue was only compounded when I got hit with a week long illness right during the bulk of our dedicated ‘level creation’ time period. We had to push the release of the paid back a handful of days to get the levels done. Then once creation was done, there was organizing them in order of difficulty. A lot of guesswork was done here, with three of us it was sometimes hard to accurately gauge the difficulty of a level, as each person has their on thought process leading them to beat a level much quicker than others. Ultimately we got the levels done and sorted, and I think we are all pretty satisfied with the the selection and order, even though there are a few oddballs in there.
To expanded upon the Bugs issue, there is also the tracking down of bugs. This is a lot harder than I think many people realize for a small development team. When you are playing the game, and a bug occurs, it seems really obvious, but for us, they unfortunately aren’t. Continuously playing the game for a few months has pushed us into mindsets that seem to avoid bugs. It’s hard to explain, but I believe it is derived from the inclination to avoid scenario’s that seem “bad,” due to our understanding of the backing logic. This slowly progresses to the point where it is incredibly hard for us to play the game like someone who is new to it would. There is nothing more frustrating than play testing an update for hours yourself, only to give it to a friend and watch them break it in 10 minutes. (moral of this story, submit us bug reports, please!)
On March 28th, 34 days and 400+ hours of work after the idea for Refraction was born, we released the free version to the market. I can’t remember the last time I felt that much nervousness, but it was matched with excitement. Over the next 24 hours, I think we released 3 updates, the first of which was a bugfix, only to realize that in the first update we included a test level that was unbeatable… Ah the joy’s of inexperience. 120 Levels, and about 10 day’s later the full version was released.
Responding to Feedback:
We had 3 main outlets for feedback, the market reviews, our side promotion (Reddit / Something Awful) and anyone was willing to email us (pretty much no one at the time). We intended to make use of it from the outset, however it what we got, was not at all what we were expecting.
The most prominent example lies in the controls. After discovering a game similar in concept to ours partway through development (Laser Reflections) we were pretty displeased with the controls. Hideous rotate buttons that were cumbersome and simply annoying, ours would be better we thought. We developed a “Rotation Overlay” that sits above a selected item, on which you can rotate your finger to angle outputs. We were really quite proud of this, but only a few days into the release and it became clear that we had it all wrong. Multiple people had mentioned that the controls were too difficult, and requested rotate buttons. The irony was humbling I think, and we scrambled to implement rotate buttons as quickly as possible.
There have been many more examples of changes to Refraction that were led to by suggestions / feedback from users. The level completion dialog was non-existent, It had never even occurred to us that users may want to examine their solution after completion, looking back now it almost seems silly. And most recently we added in an option to change the color combinations to be dictated by the physics of light, as opposed to the original pigment based scheme.
Out of the blue one day we noticed our Analytics tool, Localytics showed an incredible spike in usage of our paid game. As it turns out, the full version had been leaked resulting in thousands of users in a matter of hours. Given that we had opted not to include Google’s “DRM” with Refraction it really wasn’t a surprise, but it was demoralizing. We sat and talked about how to address the issue, and ultimately concluded that pretty much everyone that had obtained a copy through alternative means, were most likely not ones who would had planned on, or even were able to purchase the game (A large bulk of the pirating users originated from China, where the Android market is inaccessible). As such we decided not to bother with any further attempts to prevent piracy, and went back to work.
We were well aware that our work did not end once the games were released to the market. We slowly built up a list of sites we wanted to contact once the game was published, and the big bugs cleared out of the way. Our first break came almost immediately, when a friend of ours tipped off Android Police about our game and we made it into their Top Game’s and Apps section for that week. The result was immediately noticeable, albeit not long lasting.
Our second break came from TheAppInformer, they are a new Android and iPhone app review site, they did a video review and gave us really positive feedback. It felt great, however as a new site it didn’t give us much in the way of added traffic to the game. After a bit of a lull we sent out a few more emails.
We were lucky enough to have Android Police really like the game, we mentioned that we had been featured in their top weekly list a month or so prior but didn’t have our full version out at the time, and would be incredibly grateful if they would consider a review of some sort. Much to our surprise about 3 weeks later we noticed a spike in downloads, thanks to an awesome article by Android Police.
It’s difficult to say how much of an effect this email’s had in our long term success, but there really is no reason not to let people know what you have been working on.
Friday the 1st of July, I was refreshing market orders (as any normal obsessive compulsive person would) and noticed we had got more in an hour than we typically were getting in a day. I scrambled across the Internet to see if there was an article or something mentioning us, nothing. Finally I decided to check the market and found us sitting atop “Featured Tablet Apps” (Apparently we were featured in the normal section too, but I was too excited to notice this at the time). Comments of varying appropriateness were shared among us, needless to say we were all excited. Finally having hundreds of hours of work pay off felt great, and I gave a big sigh of relief, knowing that the stress of struggling to find next months rent payment was finally gone.
It was all quite unexpected, as we had assumed we would hear from Google prior to being featured, but that wasn’t the case. And in all honesty, I think we all enjoyed it more this way.
The Important Stuff:
Finally meaty details, I know this is something that we really would have liked to see to answer a bunch of the questions we had.
Before being featured, refraction was averaging something along the lines of 6-8 sales per day during times with no outside influence. With an approximately 4.8 rating, and 90% active install percent, this got us ranked roughly 220-250 in paid brain and puzzle depending on whether it was around one of the times we were mentioned in a prominent article.
Our best two days were the Monday after release, and the day of our Article on Android Police.
The first two days Refraction was featured the price was still 2.99, on average we got about 8 sales an hour during that time period. After that, in search of the best ranking possible, we dropped the price to 1.49 and immediately saw a result. sales spiked to over 20 an hour, and have since averaged right about 20. After about 6 days of being featured, Refraction topped out in rank at 4th Brain and Puzzle, and 13th All Games. However, right around this time we got 3 almost consecutive 1 star ratings, which took our rating from ~4.78 to 4.69.
This has almost directly correlated with a drop in rank to #7/#23. So yes, rating does matter!
Sales have seemed to remain steady, and at this point we are left incredibly anxious to see what happens once the featuring is over. I should add that we have no idea how long it lasts, but Friday the 15th will mark two weeks.
What follows are some lovely graphs!
Refraction Users, and Sessions:
(The first two big spikes are the aforementioned piracy incidents – I think we were most mad at the fact that our Analytics info was nearly permanently invalidated!)
We have put a lot of work post-release into Refraction, and we are getting comfortable with the state of the game. We have planned to expand to iOS to further our learning experience, that should be interesting. Ultimately just continue the way we have done things so far; Have fun, make lots of guesses and try and convince ourselves we know what the hell we are doing.