Indie Flash Game Development: 2010

About a year ago, you may remember that I shared my revenue numbers for indie game development in 2009. I had big plans for Bowler Hat Games in 2010, but I guess I spent my time going in the wrong directions. Here’s a look at how my business is doing one year later.

The Breakdown

In total, game development earned me $20,009 in 2010. That’s about 32% lower than last year, and I spent an equal amount of time developing games during both years (I worked on other projects for about four months during both years). Revenue is divided between four sources, game contracts, mobile sales, advertising from existing web games, and non-exclusive licensing. I didn’t create any new Flash web games, so there were no primary sponsorships this year.

2010 Revenue Breakdown

As with last year, most of my income came from contract work, earning me $15,900. I spent the least amount of time on those projects—maybe a month and a half. Continuing ad revenue from the three Flash games I released on the web last year earned me an average of $198 per month. Mobile app sales brought in an average of $131 per month. I sold one non-exclusive license of a Flash web game for $150. In total, that’s an average of $1667 per month, with contract work covering the vast majority of that amount. Living in the California Bay Area, that covers my rent for a one bedroom apartment and groceries, but between other bills and, of course, income tax, I’ll need to make a lot more if games are going to cover my expenses.

iOS and Android Games

At the end of last year, I had converted two of my three Flash games to iPhone, and revenue was already proving to be modest at best. This year, I finished porting my third Flash game to iOS, and I released some updates for each of them. Sales never picked up much, though. Additionally, I removed my games from the App Store for a couple of months while Apple was being stubborn about the Flash Packager for iPhone, so there was a bit of time mid-year where I received no income from selling apps.

Adobe released AIR for Android this year, and I had all three of my mobile games ready for sale at launch. Unfortunately, I had them ready for several months before I could actually sell them. Unlike Adobe’s solution for iPhone, which embeds the runtime into the app, the Android version of AIR is a separate install, so I had to wait for the official release. I’m finding that sales of my games are lower in the Android Market than in the iOS App Store. In December, iOS sales were about five times higher than Android sales. It’s too bad because creating mobile AIR games on Android is actually a lot of fun.

Mobile isn’t a walk in the park

Ultimately, I believe that I spent too much time on mobile this year. I would have been better off designing new games and getting sponsorships instead, or maybe I should have started exploring downloadable desktop games or microtransactions. Last year, I said that sponsorships didn’t seem like they could earn me enough (at least for the type of games that I make), but mobile has proven to be an even harder nut to crack. It’s probably my lack of marketing skills. With sponsorships, I can visit FlashGameLicense and have a community of portals and other sponsors who are there to pay for games like mine. With mobile games, I don’t have a central source to locate my audience. At best, I know that players of the web game might be willing to buy a mobile app, but beyond that, I’m a little lost.

I’m still waiting on a supported advertising solution for AIR mobile. I don’t want some API that the ad network says works for “everything else” while only native code gets a real SDK. Free versions of games that are ad-supported can be a great way to get players to consider the paid version while still bringing in revenue. I’ve considered the possibility of converting my mobile games to HTML and JavaScript because I know there are frameworks that integrate better with native libraries that provide advertising and other services for games. However, with such low revenue on mobile already, I’m worried that I might be wasting even more time by trying that. It will require more development and testing than my recent HTML5 port of Gridshock, which was more of a fun project for the holiday break than a serious one. I was able to take shortcuts. With a paid product, shortcuts are not an option.


I’m probably not touching mobile for a while, except maybe for fun weekend projects. Even so, I very much want to play with tablets at some point, but I think I’ll wait until some are released with Android Honeycomb. All the hardware coming out is kind of overwhelming. As an indie developer, my wallet cringes at the idea of ensuring I own even a minimal collection of test devices.

As for what I will be doing this year, I intend to start out with a sequel to Gridshock. Hopefully, with Gridshock’s success as evidence, I can get a better sponsorship deal than the original. From there, I may consider a desktop version that combines both games. However, I kind of want more than two game modes in a desktop app, so I may explore other ideas for sequels first. I might include an exclusive game mode or two in the desktop app to ensure that it provides enough value over the free versions. That’s still brewing for the moment. Right now, I just want to focus on finishing a game to be sponsored.

With lower numbers in 2010 than in 2009, I’m feeling a little down. At the same time, though, I’ve found myself surprisingly motivated over the last couple of weeks. I spent one night coding until 4:00am. I’m attacking my to-do list with enthusiasm every day. Last year’s numbers, I think, are helping me work harder because they’re more frustrating to me than depressing. I want to make Bowler Hat Games a success, or at least ramen profitable. The way I did things last year clearly didn’t work, so I’m just going to try harder and see if I can figure out what works better. Wish me luck.

About Josh Tynjala

Josh Tynjala is a frontend developer, open source contributor, bowler hat enthusiast, and karaoke addict. You might be familiar with his project, Feathers UI, an open source user interface library for Starling Framework that is included in the Adobe Gaming SDK.


  1. Nate Chatellier

    As a fellow game developer, this information is extremely interesting to me–especially since I have been considering focusing more on mobile. Thanks for your openness and willingness to share! Best of luck in 2011 =)

  2. Adam

    I think it’s great you’ve been so open and honest, not just to others but also to yourself. Most people would try to ignore the numbers and blame the market or competition or something outside of their control, but you are able to look objectively at the situation and decide your next point of action. Congratulations!

  3. Josh Tynjala

    My early career was built through hard work and by making good choices when opportunities came along. It makes no sense for me to believe that my lack of success here isn’t also through my own actions or inexperience. I knew, going in, that game development of any sort is a hard business to succeed in. Big companies want developers that can be overworked while indie developers face small budgets and extremely low-priced competition ($0.99 is only okay when you can sell a ton or if game development is a hobby).

    I’m in it for the bigger challenge. If I can start to pay my bills, eventually, that’s my success. For now, I do freelance work from time to time. I’m not happy with how slowly things are going, considering how fast I succeeded in my previous jobs, but I certainly wouldn’t blame that on outside forces, at least not in a way that leaves no blame on myself. If I keep trying, maybe I’ll figure it out. I hope so because this is more enjoyable than being in a cubicle all day.

  4. Matt

    Josh, are the iOS ports of your games using Packager for iPhone? Or are you rebuilding them in Obj-C, or Corona or some other third party solution? I’d be curious to hear how you found the process of converting your Flash games, and how much optimization and rebuilding was required when moving to iOS, vs Android etc.

  5. Josh Tynjala

    Yes, I used the Packager for iPhone. The vast majority of my code could be reused, which was nice. Rendering optimization was brutal, though. You’re pretty much required to use renderMode gpu, and that means cacheAsBitmap pretty much everywhere, which can be difficult because you often need to rethink how you organize the display list to make it work well with minimal re-caching. If you’re need keyframe animation, that’s an even bigger challenge that I don’t envy.

    Packager for iPhone is frustrating and makes me want to pull hair out. AIR for Android is a dream come true after the time in spent making stuff work iOS.

  6. CJ Cenizal

    I’ve diverted my time from contract work to launching and running a startup, too, and the contrast between the two can be almost a culture shock. There’s so many new factors to consider, and they all play a role in eventual financial success. So much to learn! But it looks like you’re applying the same intensity to developing new skills as you did to developing your Flash skills… so I’d say you’re doing great, man. Keep it up the great work.

  7. Brano

    Hi Josh, thanks for sharing. Your blog was (and still is) really great with all that openness. If you make a new flash bowlerhat game in the future, will you try to port it to iPhone? Or is the iphone packager really wrong way to make games for appstore? I’m playing with iPhone packager these days…

  8. Josh Tynjala

    For new games, I will likely try to find a technology other than the iPhone packager to port them over. Performance is too much of a problem (though Adobe is improving it in a future release), and I find that important APIs are missing. For instance, I can’t release ad-supported versions of my games because no advertisers support the packager. I can’t do in-app sales because that’s not exposed. I don’t know of any leaderboards or social gaming APIs that work with it either.

    The only thing that might make me consider sticking with the iPhone packager is if it begins to support the upcoming Molehill APIs (hardware accelerated 3D, if you’re not aware), and someone builds some good 2D libraries on top of it, that could be compelling because it should at least alleviate the performance issues.

  9. Brano

    Yes, Molehill could be a great step forward. Although some troubles can be expected. Nothing is perfect, certainly not in a first version, is it?
    Well it’s really difficult for single developer to develop games for web, iOs and Android at the same time. That’s why I try to port (something/anything) from flash to iOs to Android. And because I fail finding primary sponsorship on FGL (no marketing on my side). Just wanted to give it a try. In a perfect world flash would be a great tool for that.
    I’m not sure it’s a good idea to look for other 3rd party technologies (like corona, although in this case it should be easy for AS developer to swith to Lua). Apple still can change mind and ban it again. Maybe I should buy some objective-c books 😉

  10. Viktor

    Is there any change how Apple approach to Adobe’s iPhone packager?
    Is Apple allow to sell games on App Store that built with the packager?

  11. Anon

    Game development can be fun – hence you get a second wind working … because working can be play… but when life gets busy (ex. you have a family and kids) time becomes precious… and spending all your time without generating sustainable income becomes a source of stress… there is a lot of money to be made as an IT professional… but if you’re smart enough to make games, you’re statistically better off doing something else…. (but people will always dream and scratch their itch – entrepreneurs are sometimes irrational!)… if you enjoy making games and you have the time great… but if you’re goal is to “hit it big”.. you’re better off putting your time into something else…

  12. Josh Tynjala

    Thanks for your thoughts, Anon. It’s true, and I have no dreams of making it “big”. I just want to earn enough to get by and enjoy my work at the same time. At least for now.

  13. Pingback: Indie Game Development 2012: A Look At My Third Year « Josh Talks Flash