Drill Planet: How I developed and released a game to the App store in 69 hours
Yesterday I uploaded Drill Planet to the iOS app store. If the review gods are on my side, Drill Planet should be available before the end of July. This is how I got it out on time and with minimal monetary investment.
Note: You can play an HTML-5 version of the game I describe in this article on itch.io
Who are you and what is this about?
I am a part-time indie game developer with a full-time job outside the industry. From 2011- 2014 I release 3 games. I slogged through development with a few downloads and very little bit of press recognition.
For 2015 I am done making big games that take a long time and have set the goal to release a game every month in 2015. I want to experiment, learn, and get my name out there with a dozen tiny, exciting experiments.
Goals for Drill Planet
- Release a game on the ios app store instead of just a web portal
- Make it a platformer game based on this level in Mario Galaxy https://www.youtube.com/watch?v=p2tLdTE8mOQ
- Make a game with an “oh-shoot-one-more-time” play style such as flappy bird and jump car
- Get an early version on itch.io for early feedback.
- Build some infrastructure that will speed up development in future games (such as mailing list integration and reusable scripts)
Instead of doing an tick-tock description of May, I made this fancy chart.
Each colored bar represents one hour. I was very strict about those hours and used a pomodoro-style timer app and only recorded time in which I was productive for the full hour.
The labels are the top are the weeks I spent on the game.
“WAIT A MINUTE I thought you were doing this game in a month? That thing goes to 10 weeks!”
That is true! But! I got a base playable version of the game done in 3 weeks and posted it on itchio the last day in May. In order to get this game ready for the app store I had to return to it in July.
How I Saved Development Time
I wanted to focus on getting a minimal viable product released that looked good. These are some time savers:
- Purchased pre-crafted. public art from the artist Kenny. http://kenney.nl/assets
- Used a pre-built world-platforming engine from the Game Maker Asset store https://marketplace.yoyogames.com/assets/1084/advanced-planet-platformer
- Leveraged my previous game dev experience in Game Maker and uploading to Itchio.
I didn’t do enough of it. For future games I want to submit an itchio build every Friday and post on Reddit’s “feedback friday”
I also plan to continue live playtesting with friends and at the monthly IGDA meetings.
Building up My Base
I was really proud of how much base reusable code I got into this game. All of these features will be need in my future games and I am glad I got them working now:
- Advertisement platform integration (ad colony)
- Using state machines (a really handy architecture that makes coding faster)
- A built in mailing list nag page. Getting lots of mailing list is a major goal.
- Documented and streamlined the app store workflow such as making a trailer, getting provisioning profiles and uploading it to the right channel.
- A splash screen with cool eagle sound effects.
Everything in orange is code that can be reused in my next game:
I still think this game too long to develop. If I am going to keep up a game-a-month pace I need to cut some things. Here is what took too long:
- I can fix this in the next month by relying on bigger code base that will handle more of the rote tasks such as touch controls and level progression. I am looking at this one: https://marketplace.yoyogames.com/assets/1707/platformer-engine
- Spend more time per week coding. I need to set daily goals and be more productive during that time.
- Circular platformer is WAY too ambitious to do in a month. I had to re-teach myself high school level trig, and churned for 8 hours just getting the controls to feel right and fix control bugs.As you can see, everything in orange is time I spent working on the touch-control scheme. Way too much.
The Future of Drill Planet
I want to keep up with this, depending on initial reception possibly add more monster types, different world scenarios such as harder surfaces, different terrains, bigger circles.