Real Costs of GameDev for SmallPubs & IndieDevs

The following blog post, unless otherwise noted, was written by a member of Gamasutras community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

Making games for Mobile or PC is a very attractive business opportunity. Many people have an idea and the passion to get it done and either do it themselves (IndieDev) or hire a small team to do it for them (coining a new term SmallPub). I actually do both. I made one studio to publish my own tabletop games, video games, comics, t-shirts and toys. I made another studio to make games for Small Publishers. The differentiating factor between a SmallPub and a regular publisher is the amount of infrastructure and financing that they can muster toward projects. Most of the SmallPubs I work with have smaller teams than I have working on the game and will only be working on one game at a time. The one thing I’ve noticed in both IndieDev and SmallPub is that many people fail to anticipate the real costs of launching, marketing and supporting games after development.

It is easy enough to go through a list of game features and assign either dev costs or amount of sweat investment that will be needed to accomplish each – your line-item project budget. I prepare these all the time for SmallPub clients as a means of working with them to keep the costs within their means and prioritize features. I do this for my own IndieDev projects because I want to know if I can afford to be ambitious or need to re-scope the project to fit within my own means. If you haven’t been estimating and making game projects for as long as I have, your own wild-ass guesses will likely be slightly off, plan on learning from those mistakes and getting better with your next estimate. Failure and learning from your mistakes is an integral part of game development. I’ve been doing this for 40-years and can say that my estimates are as good as anyone’s – which means they are still wrong on a regular basis.

Most people can learn to get pretty good at estimating features like “Tap to Move” mechanic or “Menu Screen”. The tricky tasks, the ones that are impossible to estimate, are the ones outside your control: “Integrate Ad Sever”, “Add Leaderboard Server API”, “Store SaveGame Data on Server”, and many more. As difficult as it is to support multiple screen sizes, and control configurations you also must account for 3rd-party SDKs, operating systems, server APIs, game engines, and distribution terms of service and compliance. If you estimate at the launch of a short game, based on what those constraints are currently, your guesses might be pretty good but knowing where those will be 1-year into development of a long game is a paradox nicely wrapped in a nightmare. The fact is, all of those will change outside of your control.

Some examples… Unity upgrades their engine about 3 or 4 times per year with small incremental changes. Much of Unity is a reliable core, but in any particular game you may need to use a 3rd-party asset that might also change or update. Count on the device OS to upgrade at least once per year – and new features may help or hinder your progress. When the hardware changes greatly you can count on more shocks – Thank You iPhone X notch. Server security updates happen on a continuous basis for PHP and most cloud providers and require upgrades that hopefully won’t break the API, but still cost to maintain. During one game I worked on Facebook changed their API over 3-times driving us to lose ground on a very tight schedule.

Let’s say you finally make it to the launch and your ship your game, now the real fun begins. You might have a small budget for ads and acquiring players. Hopefully, you remembered to save some money for keeping servers operating and paying for your domain names. If you are really good you have someone monitoring analytics, tracking server usage, responding to app reviews, and doing community support. If you are successful, plan to spend even more on those post-launch costs to scale up.

Then the reality hits you, about every 15 to 30-days post-launch, something changes. A server patch that affects the API, app store compliance terms, a new iPhone launches, the ad server you are using starts paying less or your own ads drop in effectiveness. Time for some more 3rd-party SDK updates, some small changes to the API for the server code, and a fix for that crazy iPhone X notch that is making your game look stupid because the timer is hidden. Now you have a new build, new testing, new submission and more costs. I find these typically range from $5K to $10K per month – and depends a lot on how complicated your app is. Complication being a key factor to what makes your game unique and likely a better user experience than say something really simply like “Flappy Bird”. “Flappy Bird” still required regular updates, because it was out of compliance with Apple’s terms of service, several times, and then installed video ads to monetize.

Don’t forget that if you spend $30K to $50K on a very simple game it will likely still have at least a few features that rely on external SDKs, server APIs and will be used on platforms that aren’t fixed in time. Spending $75K to $300K on development is typical on a really good game. Spending more puts you out of the SmallPub and IndieDev scope. I find that spending about 1/3 your development budget for every month post-launch actually gives your game the chance it needs to succeed. If you find you can’t afford that kind of support spend, or sweat investment – I would recommend working on much simpler games.

In the heyday of console we would do a project for $200K to $20M, knowing that whatever was spent on development would likely be spent on post-launch advertising. When I used to develop for SNES, Genesis, PlayStation, PS2, Xbox, GBA, DS and Wii we had the luxury of knowing that once we launched, the platform would stay the way it was for a good long time… we didn’t have patches and updates. That just isn’t true anymore.

So, SmallPubs and IndieDevs, remember to keep some of your budget available for spending on the inevitable changes that might happen during development and to have more money available to support your games post-launch.