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

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.

Selling games and selling butter

I went shopping yesterday, bought loads of food. I noticed that butter seemed to range from £1.30 to about £1.60 in the store I went to (an average supermarket). This suddenly jolted my brain because I am pretty sure butter used to be about 90p – £1.00, depending on brand. What the hell has skyrocketed the price of butter? (it’s not like we don’t have enough cows, I can see some from my window :D).

Anyway…. It was quite unusual for me to notice that the price had rocketed up so much, and I started to think about my attitude to food pricing. It’s interesting to note that I didn’t notice the pricing of hardly anything else that I bought. Maybe I’m sensitive to the price of wine, and chicken, but that’s because I buy it a lot (also explains noticing butter), but what price should a pack of crumpets be? No idea. What price should 80 T-bags be? No idea.

When you think about it, the ‘seeing the price’ element of purchasing something physical is actually very minor. Even if you have little money, the price evaluation component of the shopping experience is tiny. With clothes, there is all the trying them on, seeing how they look in the mirror, feeling the lovely material…blah blah. You are aware of the price, for sure, but it appears only briefly when the checkout person mentions it to you as they hand you a big bag full of purchased stuff. If the price is reasonable, you can easily just breeze through the experience and forget what you paid for it, or never even acknowledge it. Like I did with crumpets. I didn’t see the price, I just saw yummy crumpets.

That doesn’t happen with online games purchases. The price is there in big bold letters, right next to the product

Gratuitous Collectors Edition            $24.95

They are given equal weight. The price of the item becomes as important as the item itself. Because we aren’t looking at some big physical thing, the products presence cannot blind us to the price of it. I wonder if having large images of the product, with a small price label under them on an order form generates more sales than having it all as just text? There is also no distraction. I don’t have to physically load my purchase into a bag, and I’m not in a  hurry because people are behind me in the queue. There is this big glowing PRICE in front of me, challenging me to be unhappy with it, and I know I can still back out of the deal at this point without anyone giving me a funny look.

Hmmmm.

How to sell your game online without using an app-store

The title says it all. Recent discussion over the upcoming apple app-store triggered someone to tweet to me that a lot of devs probably are too scared to sell their games direct online, and just don’t know where to start. I’m going to tell you.
(The reason I know what I’m talking about is that I’ve sold tens of thousands of games direct online, since I started in 1998, I’ve used at least 6 different payment providers and 3 different webhosts, I’ve sold more than a dozen games myself, plus dealt with almost every online portal)

1) Sell separate demo and full versions.
You can make the full version bigger, and save bandwidth on the demo. Plus it’s harder to pirate this way. Just maintain 2 builds, it won’t kill you.

2) Don’t handle payments directly.
Do you REALLY want to take phone orders 24/7 365 days a year? Unless you REALLY know what you are doing, sign up to a payment provider like BMTMicro or Plimus or Fastspring. They will handle credit card payments, paypal, debit cards, cheques, orders by phone and fax… You will never have to worry about that stuff. they take a percentage of the sales price for all this. It IS worth it. You can set up an account with these services right now. Most have zero sign up fees, and it can be done almost instantly.

3) Get a proper domain, proper webhost, and proper mailing list provider.
This stuff is cheap, if you are serious. Hosting on some cheap shared virtual server, and hoping your email address never gets blacklisted is more hassle that it’s worth. I use hostgator for websites and use ymlp to handle mailing lists. Get a mailing list together, stick a sign up form on your website, it’s easy.(they give you the code to paste into your site). A lot of people use amazons cloud hosting stuff, which is apparently trivial to setup.

4) Don’t worry about product fulfilment or sales taxes etc
People sometimes stress about how they generate download links, time them out, work out what taxes to charge, handle currency conversions…. Forget it. A payment company like those listed handles ALL of this. They just credit your bank account each month with the money. It is no different to being on steam or impulse etc, the only difference is you get all of the customers details (except their payment details, and you don’t want them. That way you know they are secure). They even keep the customer database which you can manage with a web interface. You can set things up to populate your own database using xml posts from each sale, if you really want to.

5) Get the word out about your game.
You need to send press releases. Don’t panic, a service like ymlp can do this for you too. if you really don’t know who to send them to, you can use services like this. . They are also worth the money. This is the flipside. the benefit of portals is they have an audience sat there ready. This is the bit where you build your own audience. It takes ages, but anyone can do it if their game is any good.

6) Ignore the download sites.
Tucows, download.com… Who cares. These sites generate no visitors and no money. If you are really bored, make a PAD file and submit to them, but you will have to be very very bored.

A lot of people, clever, serious, capable and nice people, are terrified or very negative about selling direct online. They often say that the sales from steam or bigfishgames so massively dwarf their direct sales that they don’t see the point. Here is why this is short sighted:

1) You keep over 90% of the direct sales money. Not 70%, not 80% but 90%.

2) You get the customers email address. You can email them when you release a sequel, or a new game, or some DLC.

3) If the big portals remove your game, squeeze the royalty rate, or refuse to take your next game, you are still in business. If your business relies 100% on being on a specific portal, you are just one phone call away from flipping burgers for a living.

4) Direct sales grow over time. It took me maybe 5 years before I could live from my direct sales, and was able to quit my job.  Are you prepared to make an investment now that will pay off in the long run?  Are you not even prepared to put an hour or two a week into developing the direct sales part of your business? If the answer is no, make sure you have a good business case for that. Not an emotional one. Direct sales are an insurance policy.

If Gratuitous Space Battles had been turned down by every single portal, It would still have made more in direct sales than I earned in my last job. And those thousands of buyers are quite likely to buy my next game direct too. That helps me sleep at night.

You back up your files, so why don’t you have backup sales channels?