6 Ways to try and Monetize your Indie Game

Now, I don't claim to be an expert on this topic at all, however I have tried all of the methods below with varying success and regularity. As you can tell, I'm still here typing, so I haven't made it "big" with any of these methods. I've been writing games for the love of it for years, I like everything about it. However, for me it's important to have my games played and appreciated - how better to gauge that then to try selling them? What's more, when it's just hobby, the extra cash for beer money is just like icing on time wasters cake!

1) Shareware

The original way for indie types to make money. You give away a free version (or the full version if you're daring) and nag the end user about paying the money for the full/unlimited version making sure to point out the wonderful features they're going to get. In short, it's proven, it works. Letting people really play the game beforehand gives them confidence in the purchase. However, give away too much and they might just decide they've played enough and don't need the full version. I used this method with Tiltilation and it wasn't too bad, making a couple of thousand pounds sterling for 6 months work. It was also my first commercial endeavour and almost killed me. Shareware works well for full scale desktop games but the game needs to be a certain size before you can split it into the free bit and full version and leave both parts providing enough to play.

2) Adware at Home

Adware comes in a few forms. First you can stick adverts on the website around your web based games, most common for this is Google Adsense. Next if you're using the right technology you can embed adverts right into your game. If you're using Flash you have a multitude of options for this, most popular being MochiAds. In other technologies you can always opt for Google In-Game. Both methods essentially rely on the context adverts being smart enough to entice your players to click the adverts. This may of course annoy your players some, so it's best used carefully.

Now the "at Home" bit - one way of using these things is to keep your game (and idealy a bunch of your other games) on your website and try and drive traffic there, much like I do here at Coke And Code by writing blog articles like this (oooh, meta). The upside here is that you've got the exclusive on your games. The downside is you've got to drive that traffic yourself and that's not as easy as you might think. Here at C&C I make enough money from Google Ads to pay for my hosting (read about 25 quid a month) which can't be bad really. I get the odd special deal, but the traffic really isn't enough to making any real money. However, there are other options...

3) Adware at Portals

So you're happy to advertise in your game and/or around it, but you can't get the traffic. Well you might consider submitting the game to a portal and having their huge collection of games drag the traffic in. If you're working in Flash there are a massive number of portals to choose from including my faves Newgrounds and Kongregate. Both offer deals on advertising revenue including extra bonus percentage for integrating with their APIs (highscore, achievements, etc). If you're using other technologies you're going to find yourself limited, although the rather wonderful Game Jolt has just opened up their revenue scheme. For once, they take pretty much any technology and the games selection is starting to look really good!

Putting your game on a portal has a downside of course, it can easily get swamped under the mass of other people doing the exact same thing as you. Your game has to be good enough (and more important, re-playable enough) to actually drag people back to it. That said, my rather limited collection of flash games has been dragging in 15-20 pounds a month for the last few months on portals, so I guess that isn't not too bad. If you had a really popular game on there you could be getting some reasonable cash out of it, but it'd be unlikely to be sustained given the number of new ones every day.

4) Sell or Brand It!

You've written a kick ass implementation but average idea game. Putting it on the portals might get you some money long term but wouldn't it be nice to get a quick lump sum payout. There are a few portals around that will buy games in any technologies but they are few and far between. I've sold a Java applet to a portal (I can't mention here but) only for $250. That's nice for what was a week's work, but it did take an awful lot of finding. However, if you're working in Flash then you have a wonderful option left open to you - Flash Game License. This site lets you upload games for viewing by sponsors and publishers. If your game is quality looking and feeling, but the idea is average (or its a remake) then this is a great option. The downside is that at times you see games getting stolen and published elsewhere, but that's pretty rare these days.

There are a few deals you can do on lump sum game payments. You can sell an exclusive deal - this means the game only goes on one portal but tends to be a decent deal. You can sell a branding deal, where the game goes anywhere you want but carries the branding of a portal. You can just sell the game outright (with or without source), this is a rare occasion but sounds like you can write your own ticket (never happened for me). Each of these deals also may or may not let you keep your own advertising in place. In the best case you might end up with a branded game in which you can keep your own advertising and are actively encouraged to distribute. This is like having option 3 with a bonus :)

The deals vary alot from around $50 up to a few with $10,000+. Obviously game quality and appeal controls how much you're going to get offered. On Flash Game License it's a bidding process where publishers may try to out do each other. Moreover, in some cases you can sell the game to multiple publishers! I've made deals from $500 up to $1500 here, with games not taking more than a few weeks to put together. The problem is keeping going. It's a very dry process designing games to be explicitly appealing in this context - but it's probably a good cash in if you can stick it.

5) Go Mobile!

In the last couple of years the iPhone market place has become hot property. Now, with Android market launched and host of mobile providers itching to release their own versions, there may be money in them there handsets. There are a few great success stories about iPhone applications but not many given the number games released. The process for getting games up on iPhone is labourious but the market is very rich. In contrast the Android market is wonderfully simple to get games up on, but the market is still trying to find it's customers.

Getting your games out there and charging is pretty easy on both accounts. The APIs for developer are also pretty simple. Mobile games seem to work in a similar way to shareware. You push out a free lite version, then charge for the full game. So, why not port your game to a mobile?

I've got a few games out on both iPhone and Android at the moment. Nothing massive, but neat games, with polished looks. Android is selling, well not a lot, I can't imagine I've sold more than 3 in a day of anything so far. This isn't going to make me rich. On iPhone I don't current have "lite" versions and even then they're out selling Android 5 to 1. It's an interesting market. Probably one I need to spend more time on.

6) Trust in the good nature of people

If you really can't bear selling out in any way, but you'd like to make some cash then you consider the infamous "Donate" button. I've tried this on one game (that is no longer available), you're essentially saying "be nice, I wrote the game, drop me some cash". It could work, really it could, but I've yet to see it. The game would have to be something that people felt part of, that they came back and played over and over, that they were committed to - and even then you'd need your players to have enough disposable income to not mind shelling out some cash on something they could have for free. Tricky business!

Conclusion

While it's important to choose the right method for you, it's also to have a great game and put the hours in - which is probably where I keep failing :) There is no get rich quick and there is no easy win. If you work really hard, and choose the right business model and get lucky... you might make enough money for a pub lunch. If you get to be the one in million who makes it's really big, congratulations!, but for most of us it's best to accept that while you can make money on games it's unlikely to become your primary income. Write games for the love it and appreciate the beer money when it's there.

Test Cases

I recently got asked why I always ask for a test case when I'm presented with a bug on the Slick forums - is it a diversionary tactic or is there an actual reason? Well, first, yes, diversion is key. If someone really can't be bothered to create a test case it's not that important to them - I don't get much time so need to prioritize :)

More importantly, it's how I work when trying to solve bugs. I tend to try and boil the faulty use case down into a single class that demonstrates the issue. Then start tweaking the implementation and adding debug (or debugging) to determine whats going on.

So.. yes, it really is useful to have a test case. However, the more complicated the test case the less useful it becomes.

And.. so far... it's working out pretty well. Most people are happy to give a test case and it nearly always makes it pretty quick to solve the problem. Thanks all! :)

Technical Evangelism

Just noticed a post on JGO saying "evangelism" is what the world of Java gaming needs. While I'm sure the poster meant someone publicizing java gaming in a big way, technical evangelism in the corporate world is one of my pet hates.

I've had the pleasure of acting as, working with and receiving speel from technical evangelists in the past. The concept is sound, have someone that really believes in the technology, someone that can see how to apply it to most any situation, someone to get excited and get other excited.

Unfortunately in my experience technical evangelists often lose the "technical" bit and end up just pushing the technology on everyone and anyone with any problem to solve. Really technical people listen and quickly assume one of two things, either:

a) The evangelist is stupid and can't comprehend the problem well enough to see that the technology doesn't fit.
b) The evangelist isn't technical and rather is a marketing and sales person who, as every technical person knows, can't be trusted.

In both cases the the evangelist's point of view is marked as untrusted and the whole point of the evangelism is gone. In some cases it's worse than that, the impression is so bad that the evangelist's point of view is marked as "assumed to be wrong" meaning that the speel actually pushes people away.

Companies, people, countrymen, geeks! Don't employ technical evangelism - stick to the objective and make the product good, it'll work way better at convincing people.

Game posts...

You might notice I've started posting some game related posts. I'd like to post a lot more but I don't really have the time. The blog here is going to continue as normal, but I'll be splattering in game posts all filed under "Java Games". Why?

Well, tbh, I'm just so impressed recently. There are so many great games coming out of all parts of the Java game community at the moment. Such a high level of polish and some really good artist pieces - and I just think it's worth shouting about. It's been really amazing to watch us go from having to hack anything and everything to get any sort of quality game out the door, to now being able to use standard tools and libraries to produce fantastic fun games so very very quickly, leaving us plenty of time to think about the actual content.

Yay Java Games Community!

Style over Substance

I come from a pretty rigourous software background. I've been coding since I was little, but like most people I reaslise that the trade education doesn't really start until you get into a work environment. My first commercial software role was in the defense industry working on some safety critical systems - as you can imagine software architecture, design and process was extremely important to my employers. I then went on to spent nearly 5 years at a big telecoms company who had if anything a more stringent research and design process. Software design for maintainance and robustness was everything, often at the cost of adding new features or polish within the project time line.

Design, Design, Design,

Review, Review, Review,

Some 12 years later I'm still in the environment basically. It's not a bad thing, but even given my years of brainwashing into the software design is everything mentality, I find myself recently swaying way back. I'm not saying I don't throughly think out my code, or design for future extension and maintainance - but I do most of these tasks retrospectively through refactoring (arn't modern tools great?). While I still love clever and elegant software design, I've come to realise that by far the majority of customers and users don't care about it :)

"Functionaly Complete" is a term we use round here alot. That's mostly what users care about from a code perspective. Does the program you've written do what they want it to, or what they need achieve? As long as it does without falling over thats great. In most cases even if there are some odd cases that either don't work or need to be worked around most user will continue using it as long as it "feels right".

After functionality comes how it looks and feels. In games this is especially important but it's true with most all the software I've come across. The user doesn't care whether the code is extremely efficient if it doesn't impact their use. They don't care if you've spent an age getting that object hierachy just right, especially if you've not spent time making it look right :)

What they care about is how easy it is to get their objective complete or to configure whatever they need to for an active system. Without knowing it most users also care how software feels to use. Is it flashy? Does it make intelligent assumptions? Does it impress them? Does it change the way they work/play? Does it make them feel like your software is smart? Perception is everything - you're not going to get to explain to user most of the time what makes it so smart.

Usability, Usability, Usability,

Polish, Polish, Polish,

If the software design is a means to this end, i.e. you're spending your time making the software clever so you don't have to waste time later that you can spend on adding the nice touches - then great. If you're trying to make your software be percieved as smart, through making it smart, it *might* work. Most of the time it won't. If you're spending an age over software design that doesn't give anything other than acadmic beauty then you might want to stop and think who's going to care? If the answer is "I Will!" then you might seriously want to consider what you're trying to achieve - if it's anything but an academic goal and you're probably on the wrong path.

While most of the above should be obvious, it appears it isn't. Like most software engineers, I like software design, it's what I do. The temptation is to put it infront of everything else - even without need.

Extreme Programming, here I come.

Games as an Art Form

I've had one argument with software engineers more often than any other - whether coding is an art. I'd consider it an art it terms of "art and craft" but not in terms of artistic interpretation. There is a right way to solve any problem in software, it's just that we can't know all the constraints, so things become about weighting of the requirements. That doesn't make it an art, it makes it hard.

Anyway, I was chatting to an arty friend of mine recently and the number of games I've been writing recently came up. A few people have commented on how I seem to be writing alot of games with distinct styles recently. The artist friend reckoned this was "finding my style".

Apparantly proper artists (you know the ones with little beards and quirky senses of humour) go through phases of development. First they learn the basics of drawing and construction. Then go on to experiment with different mediums and styles, eventually finding one that feels right (or several if they're a great artist).

This progression seems to fit nicely against what I've seen of other aspiring games developers. The more I think about games as an art form, the more is fits in my head at least. I guess everyone else knew this ages ago :)

Words vs Terms

Words - are powerful. Clear communication when trying to design/implement a software system as part of a team is extremely important. Obvious? Well, yeah. However, what seems to confuse people is the use of the correct terminology for a subject. In all diciplines there are technical terms, there are three reasons I can think of for using these terms:

1) For expediency. It's quicker to use a single unusual term to explain something than using 10 common words assuming that you know the person you're talking to also understands the meaning of that term. (e.g. MVC pattern)

2) To be explicit. Sometimes a term has been invented or reused to describe exactly what is meant by a particular object or action in a specific domain. (e.g. transient value)

3) Sometimes, terms are used to try and sound like you know more than you do. Normally by managers of one level or other. The terms are, without fail, used incorrectly and it's obvious to anyone who does understand them.

The interesting thing is you'd expect my beef (there's always a beef here) to be with people who live in point 3. It's not, we all know that there are people in the tech industry who get along by spreading the poop of male cows. Frankly, the industry wouldn't exist without these shitesters.

My beef is with people who can't see that 1 and 2 exist. There are good reasons to use the exact terms. Using the right terms doesn't make you a big headed twat, only treating people who query the meaning of a term like morons does that.

As you can tell this one has been affecting me recently. I find it really hard to understand what someone is explaining if they use a large number of words - I guess I have a short attention span. Worse still is when a explanation relies of the use of an incorrect term. It's really annoying to get knowing smiles and disapproving looks when you simply check that the term being used is actually the meaning intended.

Yes, building glossaries and terminology dictionaries is boring but without a common dialect we might as be talking english at a martian. And yes, we could use two tonnes of simple English in all cases but we do need to finish within our lifetimes. More than that, who determines what's "simple enough".

Bad Thoughts

I believe I'm becoming more irritable - if thats possible. I'm either more tired, more seasoned or more pressured. Either way there are far more people annoying the crap out of me recently than ever before. From know it alls, to nit-pickers, to wanna-bes, to plain old defensive children.

I noticed a new forum posting signature recently. First off my blood boils because of the person it belongs to - who falls into most of the above categories in my opinion.

Next it appears as a quote, as if it's a stock piece of text, accept that in this case it's not someone famous or reputable - it's the poster themselfs. Hmmm.

Next it contains an opinion, and presents it as a global fact. One of biggest hates. Grrr.

Finally it suggests that it's not ok to give up when you realise something isn't worth doing anymore. Which to me is essentially saying we should all waste all of our time. Grrr Grrr.

Can you guess where and what? Answers via IM to ...

See, how irritable am I?

Pattern Matching Machines

Ralph Koster's book, The Theory of Fun, is a great read. It describes us a pattern matching machines whose enjoyment of games often comes from the learning of patterns and extending those patterns. Hit the ball against the colour block to release this, so we can do that - it works in several cases - a strategy! He talks about his children and learning about how we learn by watching them build their pattern matching skills through playing games.

It occured as I was trying to work out what was wrong with Meg this morning that during the first few weeks while the pattern matching skills of the young padawan are getting better - mine are being stressed to the limit. How do I know when she's hungry? How do I know when she's wet?

Well, we look for the signs, listen for "type" of wail, form patterns in our minds that link the signs to the cause. Through trial and error we test these patterns and re-enforce the links. The pain of guilt felt when you get it wrong is a really good way to loosen those incorrectly formed patterns. The relief of "fixing" her problems is incredible - strengthening those links.

Wow, bit of a ramble, but the lack of sleep is really starting to take affect. Til next time :)

Slip Sliding Away

UPDATE: Now with 5 whole levels! :)

How long does it take to write a game? Depends on the game I suppose. Well, how about a very crappy one? Hmmm,.. Hour and a half?

Tonight Matthew, I'm going to be... writing crappy games..

Sliders Webstart

Select a tile, move the mouse around, choose a direction. Slide the tiles to match the same colours - it's like Puzznic without gravity or something. Was it even called Puzznic? Who knows!

Here's a screenshot for the javaly challenged:

XML feed