Following a project allows you to receive updates via email. It also lets the owner know that you like them.×
An iOS fighting game with rag doll physics.
(This is a follow-up to my post-mortem on an iPhone/iPad fighting game I released in 2012. Here's the previous post, which talks about sales over the first few years, and here's another post on the making of the game. If you want to try it out, here's the link.)
At the start of this year and on the advice of the gamedev community on reddit, I put ads in Puncho Fighto and put it in the free tier on the iOS App Store. The game isn't very popular so I wasn't expecting much - mainly I wanted to learn how free-with-ads compares to cheap-with-no-ads, and it's pretty hard to find concrete information on how much you can make. Since all games and apps are different, that makes sense - you can't really know what the numbers will be like until you try. With ads, the main way you get paid in a low-traffic game is from users tapping on banners or full-screen interstitials - just showing an ad to a user might get you a fraction of a penny but it doesn't add up to much.
If you recall from my previous post, at $0.99 per sale my revenue was a little more than a dollar a day over 2014. I added AdMob banner ads to the single-player game and full-screen interstitials every three minutes between matches. I did it in my spare time over the Christmas holidays, and it took a week of messing around because I had to catch up with two years of iOS updates. Revenue after the release was nonexistent for the first few days, but then it picked up and over the first few months the average per-day revenue was around $3.80 - already a pretty decent improvement (percentage-wise, anyway). Also, the game was being played by a lot more people which is a big bonus when you're trying to make something people like - being free means about 80 new users per day for me.
More users means occasional randomness like this Portuguese review - I don't think he figured out how to do the swipe special moves. :)
After a few months I decided to try ad mediation, which is where you support multiple ad networks at once and try to show the ads that will make you the most money at any given time. If you already support AdMob and you want to show ads from Flurry as well, all you have to do is rebuild your code with the Flurry mediation adapter and give AdMob your Flurry credentials. AdMob will then try to show ads from the network that is offering the best revenue per click.
That's the theory, anyway - in practice I ran into some problems that caused all my ad networks other than AdMob to silently fail. After working with Google's support (who were really helpful) I did eventually get iAds working, but by then I had already spent more time than I wanted on it and decided to give up on the others. One major downside to mediation is that rather than getting one payment from AdMob, you get paid by each ad network individually. Since most networks don't pay you until you go over a certain amount, you need to be making at least a reasonable amount on each network for it to be worth it, or they get to keep all your sweet sweet bitcoins (on the internet money is called bitcoins).
After finally releasing a working update with iAd mediation working, something unexpected happened - interstitial revenue jumped by a lot, but not because of iAds. Somehow I must have unintentionally either fixed a bug or otherwise made something work that hadn't been working before. Since that release in late May, revenue has averaged slightly over $10/day - which is honestly way more than I was expecting when I started this experiment. Unfortunately, iAd revenue is not good and I think mediation at my level is not worth it due to the problem I mentioned above of spreading your payments out between multiple networks. I'm going to wait until iAd makes enough to give me a payout and then will most likely turn it off.
Here's my AdMob graph as of today, split on ad unit and showing USA and China which are my two highest-paying countries (after the interstitial fix, China is actually making me more money than USA):
Implementing ads has been a big success for me. My game is being played by way more people and I'm making way more money (although to be fair, still nowhere near enough to support even a single developer). In the last 6 months with ads I've made $1058, which is as much money as the game made over its lifetime of 2.5 years in the $0.99 price tier. If the last two months hold up, Puncho could be making $3000/year. It's still not a lot of money, but for a 3-year-old game it's enough to be interesting - if I was starting out a mobile game now I would absolutely plan to release it for free with ads and reasonable in-app purchases. I would support Android as well as iOS, and plan to release early and often to get the user bumps that come with an update. I'd also do some marketing/networking. And plan to make multiple games - not just one big one. But that's all in hindsight. :)
If you're curious, I have an in-app purchase to remove all ads for $0.99 but almost nobody has bought it. I would also be careful about transferring this experience to non-mobile platforms where full-screen ads are not as viable and users may be willing to pay more than $0.99 for a game.
Pros to free-with-ads as compared to cheap-with-no-ads:
Cons to free-with-ads as compared to cheap-with-no-ads:
(This is part two of my post-mortem on an iPhone/iPad fighting game I released in 2012. Here's part one, which talks about development.)
(Also, if you want to try it out a 2-year-old mobile game, it is currently free to download!)
I "marketed" the game by posting on Facebook, and then sent some jokey emails to a handful of game review sites. One of them was kind enough to write a review (3.5 stars), and I thought what they said was pretty fair. I also started a thread on the Touch Arcade forums. Doing that made me realize I should have started a dev blog much earlier, since people gave me good feedback and even wanted to help beta test and market me a little bit - so that was really nice. One guy went above and beyond to help and kept asking me about the game for a while after. I had been working mostly in a vacuum and barely even showed the game to my friends before release. I probably should have tried to find more local playtesters, but to be honest when I got feedback it was usually things I didn't have the resources or time to implement, like more characters, cool particle effects, different game modes, etc.
From Facebook friends and from showing up in the iOS "New Releases" list I got about 100 sales at $1 each on the first day, with rapidly dwindling figures after that. A week or two later I released a free version of the game as a separate app. This was before in-app purchases and the "freemium" model were quite as big as they are now, but that would have been a smarter way to go if only to just have one thing on the App Store for people to find instead of two. The free app got some downloads but did not seem to translate into more sales of the paid version.
$0, sad trumpet sound
After a few months of the game doing poorly, I decided to try an experiment and set the price to free for a few days. Automated bots that scan the App Store quickly picked up on the price change and posted the sale to Twitter and other aggregator websites. At some point a popular Chinese website reviewed the game (the link is currently broken for me) and gave it 3 stars. I asked a friend of a friend to translate for me, and from what I can tell they thought the game was okay but not terribly sophisticated, which I also think is fair.
The Twitter bots and the review caused downloads to spike all the way up to 20,000 in one day. The game briefly showed up on "New and Notable" lists in some countries, and hit the top 100 in Action and Arcade categories in a few countries too. Watching the Google analytics, I had as many as 100 people playing at once for a day or two, so that was pretty exciting to watch. In two weeks of being free I had 56,000 downloads and made $0 since the game had no ads. When I set the price back to $1 it was back to making a few dollars a day. At this point I should have implemented ads and made the game free, but I would have felt guilty showing ads to the people who had already paid for the game. Also, since most of the downloads were in China, I would have had to find a service that could deliver ads to China, and at the time I had trouble finding information on that. It's also pretty hard to find concrete info on how much money you can make selling ads. So I waffled and ultimately didn't put ads in the game.
The Chinese market is interesting because I don't see much feedback from it - I can see the downloads but Chinese users hardly ever leave reviews on the App Store. Also, despite far more free downloads from the Asia Pacific region, I have made almost ten times more $1 sales from the USA App Store.
I'm pretty proud that reviews left by users on the App Store have been mostly positive. The game currently has 4.5 stars over 97 ratings on the USA App Store. There has only been one really negative review, where somebody accused me of having people write reviews for me. I don't mind the 1 star rating but for the record I have never paid for a review, and I never even asked my friends to review the game, although maybe 5-10 of the USA ratings are probably from people I know who were just trying to be nice. I personally agree that some of the reviews are overly enthusiastic (maybe they are from kids?) but I definitely never asked anybody to write them. So there. :)
It does kind of annoy me that Apple chooses to show the 1-star writeup accusing me of things I didn't do as the first review, but there's nothing I can do about that.
Between the free and the paid app I've had 116,000 downloads and made only $1050 over 2.5 years. 68.3k downloads were from Asia Pacific, 24k from Europe and 15.2k from the USA and Canada. By contrast, over half of the sales were from the USA.
Surprisingly, Google Analytics shows that the game is still a little bit active even after being left alone for a year. Here's the last month while the game was $1 (this includes the free, stripped-down version too):
Obviously, this project was a big failure financially. However, it was pretty fun to make, made me a few friends and contacts in real life, and I think it looks decent on my resume. Plus I learned a lot and maybe entertained some people for a few minutes? Anyway, overall it was a positive experience where I didn't have to go to a real job for a while. Here's things I would do/am doing different next (most of which should have been obvious to me a long time ago, but oh well):
Anyway, that's it - if you want to know anything else about this particular game-making process just send me a note! Thanks for reading!
Puncho Fighto is an iOS fighting game I made from 2011 - 2012. From the time I quit my job to the time I had released a game took almost exactly a year, although I spent the first six months learning iOS and graphics programming, and working on a different game that never saw the light of day. I did not have a plan other than to pour all my energy into something creative for a while, hopefully re-learning how to enjoy the act of computer programming in the process. To finance the game, I lived frugally off my savings from years of full-time programming and did a little freelancing towards the end.
Fig 1: Puncho Fighto and the Low Quality Video
The model for for Puncho, obviously, came from Street Fighter II on SNES which I played a lot of while visiting home in the summer. I had been working on a game called "The Law of Life" (after the Jack London story), centering around a lone camper surrounded by advancing monsters with only a dwindling fire for protection (no relation to this much better game). That game wasn't coming together because I couldn't get the mechanic right, so I was inspired to try adapting an existing game to the touch-screen instead. Most of the mechanics and gameplay were copyable, I just had to try and make them work with finger swipes instead of buttons. There did not seem to be any other iOS games that had attempted this, and because all things must eventually exist I decided to do my part.
I wrote almost everything in Puncho from scratch, except for the physics engine which was Box2D.
The main features of Puncho came together really quickly. I already had a basic OpenGL game engine set up (thanks in large part to 71squared tutorials). The idea to use rag doll characters came because I didn't think I could find an artist willing to do the huge amount of sprite animation required for a fighting game. With rag dolls you just need to draw the sprites once and can pose them in as many animations as you want, without any planning or forethought. Plus they look funny when they fall down.
Fig 2: Those guys will cheer for anybody
Unfortunately, I couldn't find any software to do the posing and animations at the time (although I am aware of several programs that can do it now). So I wrote my own in Python! I used physics in the posing program so you could sort of drag the characters into position and their limbs would stay roughly anatomically correct, which saved some time during animating. Writing that program was fun, since it didn't have to be very good and I always wanted to be an animator anyway. It wasn't of professional quality but you could do basic rigging, animations, attach points and even swap out sprites such as "angry face", "hurt face" or "face filled with longing for the glory years which can not return".
Fig 3: How The Lord of the Rings was made
I found Thom May, the game's artist, on craigslist, since I did not have any video game artist connections. I could not afford to pay Thom what he deserved so I got pretty lucky that he wanted to do the job anyway. I'm really happy with how the art turned out and his style ended up influencing the tone of the game a lot. When I started looking for an artist, I already had the basics of the game working with placeholder graphics.
I actually do care about story, but I was so busy programming a game engine that I left pretty much all other details to the last minute. Most of the characters in the game were invented hastily and under pressure because Thom needed to know what to draw. The game is whimsical and childish because we would have felt silly copying the industry standard machismo and sexism of most other fighting games.
In fact, the only character I did design up-front was based on Jackie Chan's character from The Legend of Drunken Master, which was a play on how rag doll physics might make you look drunk, and also because that movie is awesome. His name was going to be Haruki, which was a play on how I'm a hipster and read a Murakami book once. Haruki was going to yell his name when he did a special move because I thought it would be funny to yell that in the same emphasize-the-2nd-syllable way as Ryu yells "Hadouken". We were worried people would be offended by the caricature though, so at the last minute we changed Haruki to Percival who I think is a better fit for the game anyway.
Fig 4: Zong's tranquil forest lair
Meanwhile, I had concocted an overly elaborate story-web wherein all the characters would meet each other exactly once on the way to some grand final battle. It was a complicated matrix of pointlessness made even more constricting by the fact that the UI I had invented had room for only a few sentences per battle. Since I had written my own GUI engine too, there was no way to scroll the text up and down to make more room. My creative friend Kirk helped me come up with some plans for each character, lots of which were sadly thrown away due to the space restrictions. I'd like to think that the result is kind of a charming mess that arose from those restrictions. We never did make the final battle(s), which is for the best since I had written myself into a corner anyway.
One of the last things I did was to have some friends come over and record voices, which I did not know how to do properly but fortunately my friends are talented, and despite my lack of direction it was fun yelling stupid stuff into the mic. I found some music I liked on Metafilter Music and offered the composer some money to be able to use it in my game, and he said ok.
At this point, the game still did not have a name, although I had a long list of rejects. Anything I could think of was either taken already or would have resulted in terrible SEO on the App Store (something I was obsessing about at the time). The evening before we sent it to Apple for review we somehow came up with the name "Puncho Fighto", Thom drew the logo and then it was final because we both wanted to go home.
Fig 5: I kept trying to get Thom to draw more moons, but he would not go past two
Sign up for an account and follow this project if you want to get notified when I write the next post about how rich I am now! That is, if I feel like writing it - maybe I'll just buy another island instead. (Edit: Part 2 is up here.)