Wow. It’s been a little over a week since Keep Calm: An Interactive Short Story was released into the world and I couldn’t be happier with how that went! It’s been amazing getting feedback on my baby and interacting with some awesome players!
I decided to do a postmortem because of the amazing response the game got and because it’s a good excuse to write a blogpost.
For those of you just tuning in, welcome! Also, Keep Calm is an interactive short story I developed and published to itch.io. Go play it, read my announcement, and come back. You back? (Thanks for hanging in there people who did play it. Onward we go.)
I’ve been pretty quiet on Twitter and Reddit over the past week regarding Keep Calm because I wanted to see how much “semi-organic” traffic would be directed to the game; which is a weird way to describe web traffic but bear with me. When Keep Calm was published I only did one ‘marketing’ push; a tweet, and two Reddit posts: one on r/gamedev and one on r/Unity2d. That was it. My experiment was to see what traffic would be drawn with little pushing; and I was amazed.
As of the writing of this post (Aug 2, 2016 1:52pm) the Itch page for Keep Calm was viewed 2,054 times and desktop versions of the game were downloaded 154 times!1
I couldn’t have imagined that kind of viewer-ship (player-ship?) for my first project and I’m very thankful all you players took time out of your days to play my little game. After awhile I started receiving some awesome comments on my reddit posts and I found Keep Calm posted on r/IndieGaming.2 Someone even made a let’s play!!!.
Overall, Reddit and Itch.io were where the largest sources of traffic.
What Went Right:
Integration of Ink into Unity
Inkle did a really good job of integrating Ink into Unity using the ink-unity integration plugin. This made it easy to create code which would manipulate the player view and ink .json files to move around the story using player input.
With the use of Ink’s external functions feature it was simple to put visual transitions between portions of the story right in the Ink script. This allowed me to streamline the writing process and focus less on code oriented features and more on the narrative design.
Deployment on Itch.io
I had never deployed anything to Itch before and I was pleasantly surprised at how easy it was to upload and deploy an HTML build of a Unity game. Setting up donation and payment methods was also super easy.
In addition to my user experience, Itch.io drove a lot of traffic to my game through their pages; so thanks goes out to the devs at Itch!
Driving user traffic through Reddit
I already talked a bit about the response so I’ll keep this part brief, but the Reddit push went pretty much perfectly.
What Went Wrong:
QA and Beta Testing
This was by far my biggest problem in this project.
If you played the game early on you may have noticed a few glitches and bugs.3 I had set a deadline for myself to release something by July 21st. I ended up putting myself in a crunch trying to balance the project and personal tasks which resulted in me overlooking some major bugs and issues that caused some players to have a bad experience.
At the same time though, I am really glad some users reached out to me through the Reddit posts and comments on the game page which prompted me to go back and upload patches to fix technical and grammatical issues.
The original scope for this project was HUGE and fairly overwhelming. I wanted to do everything at once which caused me to redo some features, create feature bloat and issues, remove unneeded features, rush some other features, and ultimately extend the development time of Keep Calm. I was eventually able to scope down the game to what it is today, but it would have been better for me to do this prior to working on the project for two weeks.
HTML5 default pages and loaders
When you create a WebGL build in Unity you are given a template index.html which holds the game. Packaging and uploading this to Itch was a breeze. The problem came when I first ran the game: I realized that players were being shown a big white-space area without any sort of feedback before the default Unity splash-screen was displayed. This threw a big ol’ red flag in the webdev part of my brain and I was quickly able to create a pseudo loading view with some CSS animations.
So I upload the new package and then got some feedback about some major bugs which were shipped. I made a patch and uploaded the new package without realizing that the index.html page was overwritten with the blank white page again. Since this was a build the CSS additions I made didn’t get uploaded to my source control. Luckily I was able to find a 1.0 build in my recycling bin and recovered my changes, but had I not been so lucky I would have had to redo a bunch of work.4
What Did I Learn?:
I learned not to rush. QA is important and I am sure many players who attempted to play Keep Calm and couldn’t did not come back for a second try. A good game released late is better than a bad game released on time. I will be sure to distribute my next project to more beta testers before releasing to the general public.
Admittedly, the response Keep Calm got on Reddit and Itch was incredibly validating. Not only do I feel personally validated and successful but my idea to create a text-adventure was also confirmed as a good idea! I also learned that the communities on Reddit and Itch are amazing sources of feedback, encouragement, and (of course) traffic.
Scoping something back doesn’t necessarily mean your final product will be worse than what you imagined; just different. Scoping back allowed me to set more realistic milestones and goals for myself and, in the end, I ended up with a great game.
All in all, I am really happy with how Keep Calm turned out. I am now even more pumped to start my next project and I hope you will all walk with me on this journey!
Thanks again for the support.
- These are pageviews and downloads but not necessarily plays or installs. ↩
- Thank you u/pickledseacat. I think the score topped at around 66. ↩
- Like leaving my name off the start screen… ↩
- I mean this is my bad and I should have known better, but I wish there was a way that Unity would have kept my changes without having to create template files. But that’s just me. ↩