I wanted to touch on a large swath of game genre's with these interviews. I connected with Gerard Kelly and his "text based" game Hipster CEO was incredibly compelling! He was kind enough to share his experience in developing this game with you.
How old are you? What's your professional and educational background?
I'm 30 but I built HCEO (the original game) when I was 27. I studied Computer Science at the National University of Galway in Ireland. I was an average student at best but I did excel at things I enjoyed - one of which was programming. When I left University I worked a corporate junior developer position for a few years before joining a startup. I've been working for startups or been self-employed ever since.
From a results standpoint my career was littered with failure until HCEO. I say from a results standpoint because I did manage to learn a ton (and get paid) during all those failures. I learnt a lot of lessons along the way and I've found much more success in recent years.
What technologies/frameworks did you use to build Hipster CEO?
Objective-C for the iOS app. Ruby on Rails for the web service for hosting the leaderboards.
There's very few libraries I imported (via CocoaPods or RubyGems). The simple reason being that there was no real need for such a simple text-based game.
How long did it take to build?
The first version took about 3 months to build. Not much crunch involved - I treated it like a 9 to 5.
I also realised that the success and failure would hinge on successful marketing so I'd alternate days between marketing and development. So in reality development probably only took 6-7 weeks. Not bad considering I'd never built a native app before!
How big is the code base?
Not huge by any means - I guess theres about 30/40 classes? A cursory glance in Finder shows that theres 8mb in the project (excluding assets). Seems high!
How much lifetime revenue (gross) has the game generated on iOS?
Nearly $32k (USD)
During the sale and development of Hipster CEO, what was one of your happiest moments?
There were lots! Pre-launch:
Getting featured on BuzzFeed and lots of other news outlets before I'd even written a line of code was pretty crazy. I'd never worked on a project that had got such attention before. I'd always felt like I'd have a flair for marketing and I was vindicated by the interest generated pre-launch.
Building the brand and the personality and seeing people engage with it felt like a revelation - like I'd reached the promise land of building something that a lot of people wanted.
Building a native app for the first time was enjoyable - it felt like the first time I could touch one of my own projects. It's super easy to get out of bed in the morning when you have full creative control but there's a dark side to that too.
Post-launch:
I'll never forget the first week after launching and seeing the game perform so well in the App Stores. I'm pretty sure it got to #1 game in my native country - that felt incredible.
When I ran a free campaign mid-last year, the game was downloaded over 40k times in a single day - becoming the #8 most downloaded strategy game in the US App Store. An amazing feeling.
Meeting people who have heard about the app from all around the world - going #1 app in several countries - generating a profit from the project - winning product pitch competitions at tech events and a music festival. There are a lot of happy moments as a result of HCEO.
Your saddest moments?
The saddest thing about HCEO is how long its taken me to get the sequel developed. It's gone through so many iterations over the past 2 years. I flirted with the idea of making it a F2P game and had it 90% complete when I realised that I really hate F2P games and wasn't willing to sacrifice the good will HCEO had built up over the years.
Aside from that the only bad thing about the project was being constantly asked if I'm a hipster during press interviews. Answer: no.
What tips do you have for those that are just starting with programming and game development?
Realise that programming is not something that can be learnt overnight and you need a lot of patience, discipline and work ethic to get good at it. It'll be quite a while before you can build something that doesn't appear like complete garbage (and even then it probably still will be).
Don't jump in too deep. I tried building my own video games at several different ages growing up and just got overwhelmed. A little less ambition can be a good thing sometimes too.
If you can, get a job where a more-experienced programmer can mentor you. The experience will be a hundred thousand times more beneficial than any tutorial or programming book. This applies for developers of all levels.
Don't underestimate technical debt. HCEO was my first game and I cut a lot of corners during development in order to get to market quickly. That came back to bite me on the ass once or twice.
Don't over-analyse. I've been guilty of spending entire days drafting up algorithms when I should've just spent an hour planning and got stuck into code. Consider it a red flag if you find yourself using the terms "if this and then if that" a lot.
Appreciate the wealth of knowledge and free tools that are available today thanks to the internet.You wouldn't believe how much easier it is today to build (and distribute) games compared to not so long ago.
We may have a couple of project managers reading this interview. Any tips for them with regards to managing a project/interacting with developers?
Developers are just normal people. Maybe we're a little less sociable on average than other professions but we're motivated by the same things as any other workforce.
Want to keep your developers happy?
- Pay them a fair wage
- Enforce a work week of 35-40 hours
- Give them a good chair and educate them on the values of good posture (don't underestimate this one!)
- Realise that that they can probably understand business constraints just as well as you - if you don't have scope to build a feature they're passionate about then explain why
My tips on project management would be:
- Communicate - please, please, please, please communicate clearly and honestly. Not just at the start of the project. Every. Single. Day.
- Make it clear what constitutes a success for the project
- Write a clear, functional spec alongside the development team. Maintain it.
- Encourage ownership for various different aspects/features and hold people accountable
- Unless someone is slacking off, blame is a useless tool
- Don't settle for partially done features that "we'll come back to later". Get it done once and get it done right.
- Deliver incrementally. Deploy and eat your own dog food often.
Also, we may have a couple of ad men reading this interview. Any tips for them with regards to marketing a game?
Your marketing plan will vary depending on your budget. My budget was zero dollars so I can only speak to the bootstrappers out there.
Don't knock the hustle. I got most of my write-ups in blogs and print just by cold-emailing journalists. Do not write generic emails. Find out who has written about a game similar to yours and pitch them. Explain why you're unique in the subject title. Don't be afraid to be a bit blustery in grabbing their attention.
Be bold. There are so many me-too products and games out there. You need to find a way to stand out unless you have a hefty marketing budget - being a little controversial and thumbing the nose of status quo is a good start. Please note that running a TV ad with a supermodel wearing Gladiator uniform does not pass as being bold. It passes as being fucking lame.
Understand what makes you unique. Speak the same lingo of your users.
Start immediately. I wouldn't dream of building a game that I couldn't manage to get a blog to write about. The likelihood of a games financial success can almost be measured in column inches. Or column pixels, I suppose.
Build screenshots before you've written a line of code. People want to see the game. Feel free to just mock something up in Photoshop in order to pitch it. Make sure they're good though.
Have a website that captures email and run Facebook ads immediately to get an initial measure on how much it costs to acquire a user. A/B testing will also help you devise the right messaging and imagery for your product.
Use viral loops effectively. People love sharing their progress in games on Facebook and Twitter in exchange for some in-app currency but present it at the right time (e.g. on level up).
Get your fanbase to spread the word in exchange for early access. For example, I use my mailing list to get people to tweet about the HCEO 2 in order to maybe get early access. It works pretty well. Some people have written blog posts. Some people have made Youtube videos.
You went for a premium game as opposed to a game that was free with IAP. Why?
I think F2P just plain sucks. If I can essentially buy my way to the top of the heap then where's the real challenge?
Given hindsight is 20/20, would you have done anything differently with regards to building and selling Hipster CEO?
I definitely wouldn't have spent time flirting with the development of a F2P version.
There's obviously lots of parts of the game I wish I'd done differently but hopefully I address them in the sequel.
But to be honest, one of the things I'm most proud is how the project was executed - from a development and marketing perspective - so I wouldn't really change a whole lot.