Game Design, Programming and running a one-man games business…

why most indie game websites suck at getting sales

For top-secret reasons, I’ve recently been looking at a bunch of indie game websites. Some are great, most are not. Some are laughable.  I’ve had an indie games site since 1997, and obsess over it’s performance. Here’s some things I think newcomers to indie game selling should take note of.

1) Show me a game. NOW.

I’ve arrived at your site. well done, that’s 99% of the effort done. But if you want me to skip a flash intro or hunt the screen for a button that says ‘games’ then I may well get bored. Check your webpage stats for people who arrive at the site but bounced out before even seeing a game name. That was money you just set fire to.

2) Show me a screenshot. NOW.

I know, I know. Your game isn’t about graphics, it’s about the fun! You need to engage the user in the fascinating story of your protaginist ‘klaude’ and his awesome backstory about when he was a small boy…<click> That’s another bored visitor. You need a screenshot, because that’s how people make an immediate editing choice about continuing further. I can tell your game is a high quality and colorful side scrolling 2D platformer within 2 seconds of seeing your screenshot. Quicker than I can even read ‘high quality and colorful side scrolling 2D platformer’. Screenshots are what get people to hang around and read about the game. You need them. Preferably lots.

3) Give me a demo and a buy button.

Preferably two of them. One at the top, so I can immediately skip to the demo if I like. One at the bottom, so when I’ve finished reading the blurb, I am right next to one. Use a big clear font, make it obvious it’s clickable.

4) If the game warrants it, add a video

Watching a 30 second youtube video tells me tons about what your game will be like as a player, at least initially. Video is often better than static screens, but it depends on the game. Kudos looks crap on video, so does democracy. Gratuitous Space Battles looks way way better. While we are on the topic, use youtube. Youtube works for everyone, and hosting is free. having some fancy java video player embedded in the site will go wrong for a non trivial percentage of visitors. Make sure you have a good reason not to use youtube.

5) Study your web traffic.

Which gets more downloads. This

or This?

I don’t know yet, but I will do in a weeks time. Yes, this sort of testing does make a difference.

6) Optimise

Go to googles homepage, look at the source. Holy lack of whitespace batman. That’s getting really anal, and I don’t bother much with the text, but try to be sensible with screenshots. Jpgs can very very often be reduced in quality and nobody but a computer can tell. Not everyone has fast broadband, and some are sharing it with other people streaming video or surfing other sites. Assume the worst, and make sure the filesizes are as small as possible. It takes just minutes to do this.

7) Don’t make it too short.

Is your game worthy of my time? If you can’t write two decent length paragraphs about the game, then I guess not. I guess you knocked it up in 10 minutes and have nothing to say on the topic. The screenshots get people to stay, but the text is what justifies to people that you should get their money. People making an adventure game have it easy here. By all means have some backstory, some concept art sketches and so on. If your game is a casual game, you are screwed on the PC selling direct anwyay, so assuming it’s a relatively hardcore PC game, there should be LOTs to say. make it look like your game is worth buying.

I know, some of the games on my site break these rules. But not the big ones. Not the ones that I promote, and that sell.

75% Kudos 2 until friday

Special halloween discount thing…

Before I became internationally famous for waffling about piracy, mark rein, and at some point actually making a space game called gratuitous space battles, I made a rather strange turn-based life simulation game called Kudos. It was a small hit, in indie terms, so I made Kudos 2, which is better in all ways imaginable. it did quite well too. It has artwork drawn by a proper famous comic artist, and allsorts.

If you can’t imagine what a turn-based life-sim could be like, then check out the website (http://www.kudosgame.com) or try the FREE DEMO!!!!!! . And why am I waffling on about an old game now? Because it’s currently 75% off using this top secret discount code:

BLLY000ZF

That makes it about $3.75, or in other words VERY CHEAP. That runs out on friday, so if you think it will amuse you for a day or two, you would be mad not to buy it, obviously. You aren’t mad right? Just imagine this is one of those crazy steam deals, but without steam.

True fact: There is a teacher who uses this game with autistic children to teach them how to develop and maintain relationships with people. That’s one of the best uses my games have ever had.

Re-assessing adwords strategies

I advertise a fair bit on google, as well as other sites. I was getting annoyed with the system recently, carrying out multiple changes to my Gratuitous Space Battles campaign, and trying to tweak things to avoid having my ads shown on flash-games compilation sites that look horrid, and trying harder to get them on QuarterToThree, RockPaperShotgun, etc.

Then I say back and thought about all my tracking systems, and a book I read called supercrunchers, and zynga, and I came to a different conclusion about how to manage it all, a conclusion I am now testing out.

I have a system, whereby I know if a visitor from a google advert click ever hits the GSB demo download link, or the buy page. I consider these to be pretty good indicators of purchase intent, and what I do is to equate them to a monetary value as a conversion. I derive this basically by dividing up the income from the sales by the extent to which those events happen. It’s crude, but not *that* crude.

That means I can say (for example) that a demo download is worth $0.40. That means if I can get enough clicks from enough sites on google to generate that download, for less than $0.40, I’m winning. This is especially true given the potential long term lifetime earnings from a  new customer.

Anyway, google can already automatically handle all this crap for me. My analytics can crunch out the top 25 ROI websites for investment, over the last 3 or 4 months of advertising. These wont be the cheapest, or the most suited to my game, but the ones where the amount of clickers who actually go on to download or consider buying is the best value for money.

So as an experiment, I ditched every single site I advertise on through google, all of the hand-picked ones, like RPS, and various space games and sci-fi sites, and replaced them purely with the 25 top ROI sites for those ads, as judged by the google stats. In other words, I am binning my pre-conceptions and guesswork and opinions and ideas, and purely trusting the data. Because conversions take time to register, I reckon it will be a good 5 days before I know if this simple, and entirely data-driven process is working. If it is, I may never change it. Why would I?

So my new plan for ads is two phases:

phase I: let this run another 4 days at elast, without changing ANYTHING, and observe the data.

phase II: if the data suggests I am making money, double the budget. In a month, if the data still holds, quadruple the budget.

I’ll be sure to blog the outcome :D

What is this list?

  • “Only the paranoid survive” – the story of Intel.
  • A book on tactics and strategies used in war
  • A pizza cutter shaped like the USS Enterprise NCC-1701
  • A darwin fish car sticker
  • A book on advertising
  • A trip to see the stage version of ‘Yes Minister’.

Answers on a postcard…

Programming tips (and some general tips)

I’ve been in debugging hell for a few days. I’ve had a few nightmare bugs, and learned a few things, as well as having my indie ass saved by some lucky stuff. here is the summary:

I had a bug that was a critical, game-ruining crash thing. When I debugged it, I found the exact line of code that was causing it. I had removed a certain if() statement. I remember doing it about two weeks ago. Can I remember why? Can I hell. IF I had proper comments in the code where I changed stuff, I would have worked out what was going on. IF I had forced myself to check in more regularly and ALWAYS type detailed comments into the check-in softwares submission dialog, I would have worked out what was going on.

Luckily, it wasn’t a disaster, because a long time ago, I clearly made a decision to include my ‘design log’ in the checked-in source-controlled files. This is a long rambling document where I always type everything I’m doing, and have my list of motivating ‘**DONE**’ statements for each day. Naturally, when I made that code change roughly two weks ago, I had written about the problem that needed me to do so. Normally, finding this comment would be a pain, because there are no date stamps on the log, and I wasn’t sure what I was looking for. Hurrah! the design log also has a changelist, and I found the bit I wanted just by seeing the changes made to it in the same check-in as the code change itself.

Lesson: Keep a log of your work, and source-control it. Adding better comments to code doesn’t hurt either.

I had a virus attack on my PC. I think it was some sneaky sleeper-thing that only triggered on a reboot, and I don’t reboot often, so I’m not sure where I got it. It could well be a warez site, which I still check now and then to get some pirated links removed. This virus was pretty nasty. Not only did it breeze past malwarebytes and spybot without triggering either of them (let alone windows defender and the firewall, and the browser settings), but it didn’t announce itself at all. What it did, was trawl through every file on every drive, and with html files, it appended some javascript to the bottom of each file which dropped an exe on peoples machines who ran it. Scary as hell.

I only noticed it because I was editing my website local copies, and spotted in windows explorer that the filesizes of some basic html files were too big. Thank kahless I spotted this before uploading them. The difficult part was then removing them. I noticed that even after running multiple virus scans, and my PC looking clean, if I created a new html file and left it for five minutes, the javascript would be added. There was no dodgy process running, it must have been a rootkit or service.

Anyway… Microsoft Security Essentials is apparently ‘teh awesome’ because it not only killed the virus, it restored every one of my files to their original state without problems. And it’s free. How awesome is that?

One thing I did do, as a precaution after all this (apart from keep MSE installed and running several deep scans overnight with 3 different scanners) is to create a truecrypt container and stick a copy of my website inside it. There is no chance of some virus cracking that open and ruining those files (although in theory it could delete the container). I also keep backups of vital stuff on a thumb drive, just in case. Scary stuff though. Especially because I’m not exactly some dork who accepts .exe files on IRC or opens random email attachments. This stuff is getting harder and harder to avoid.