Writing Your First Casual Game

Having recently been through the process, I thought I’d write some of the things I feel would have helped me, had I not known them.

Don’t invent an entirely new game
If you are wondering why almost all the casual games have the same 5 different basic gameplay mechanisms, here’s a clue: It’s not because no one has thought of doing something different.
Thinking up a new basic gameplay mechanism is definitely a way to get a big hit, if you invent the next big thing, but it’s much more likely that it simply puts your game at a disadvantage.
Casual gamers seem to feel about match-3 gameplay roughly like people who play different FPS games feel about FPS games. They don’t get tired of the same basic gameplay mechanism, as long as the stuff that is built on top of it is interesting.
Testing is a bigger problem than you think
Either hope you have friends who love you to an unreasonable degree, or prepare to spend a lot of time on it.
It takes longer than you think, and you can’t reasonably expect your friends to play your game that much. Especially not if your friends are FPS gamers like you, and you are making a game like “Mr Noggins Chicken Farm”.
We had a list of more than 50 people testing our game.
When sending out test emails, a shorter email yields more replies, longer emails (with “test this” instructions) give you more thorough replies.
You may want to plan to “use” your testers in stages, so you don’t wear them out – most regular people will only have one or two test-sessions in them, and they will get less thorough.
Compatibility with different versions of Windows is not a given
If you are writing your own engine, like we did, don’t expect your stuff to work on Windows 98, Windows Me, Windows 2000 or even other peoples Windows XP.
If you are using another engine, still don’t assume that is just works without testing it.
Buying old, used computers and loading them up with multiple OS’es is cheap and really, really useful.
We paid $30 for a 700 MHz machine with a shitty on-board graphics card, that ran 98, ME, 2000 and XP on it’s little 10 GB harddisk.
Remote debugging is really useful
Whatever your programming environment, there is a good chance it lets you do remote debugging.
This isn’t that hard to set up, and it’s very, very useful. Even if you find it difficult to set up, stick with it and get it to work – it’s excellent for debugging things relating to window focus, input or full screen.
Use something like BootMagic on test machines
If you are loading XP, 2000, Windows 98 and Windows ME onto a single machine, you will want a tool like BootMagic or something similar.
Start your paperwork early
When selling through companies, there is often a bit of paperwork like contracts and tax forms to fill out.
This can take weeks, so start early.
You will need to get a EIN number from the IRS
To get paid royalties from American companies, you will need an Employee Identification Number from the IRS. This is no big problem if you are American, but if you are non-US citizen, it’s easiest way to get the EIN if you are a company, not a person. Even if it’s a single-person company.
If you call the IRS, it’ll take a while, but you can fill out the form with them over the phone, and they will usually give you the EIN directly.
Find out what companies accept non-finished games and start talking to them fairly early on
They will give you advice and answer your questions.
You ultimately decide when the game is done, not the distributors
Of course, the portals will not release the game with glaring QA flaws, but they also wont decide whether to add that new feature to the game.
Buy Indie Game Guide
You can get it digitally as a PDF, and it’s less than thirty bucks. It’s very much worth the price.
It does a great job of delivering huge amounts of information to you, that you would spend a lot of time and effort finding out for yourself.
I’d recommend reading the entire thing before starting your game.
Don’t make a space themed game
In fact, stay away from dark color schemes if at all possible.
We learned this the hard way, and I wished someone had told me up front.
Don’t make your game progress by making it significantly harder
The difficulty curve should be somewhat flat.
Find another way to give people a sense of progression – if it gets more and more difficult, you will only frustrate your customer.
A very popular way to give people the sense of progression is by giving them new special game features every 2-3 levels.
Also, showing the progress on a sort of map seems very popular.