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

Where are the positive, building, creating games?

Why are so many games about destruction and breaking things?

In the real world, we tend to value creation and invention and construction. People are rightly proud if they built a house, less proud if they have demolished one. We feel good and get an emotional high from collaborating to create and build something, and making peoples lives better. There is nothing weird or boring or silly about this, it’s probably built into us, at some genetic level. Chimps that collaborated to help each other had an advantage maybe?

But in games, it’s all about destruction. Team A beats team B by kicking team B in the voolnerables,or blowing them up, or stabbing them. Team A rarely wins by creating a more impressive cathedral than team B, or by curing more disease, or raising life expectancy. This is unfortunate.

Obviously counter-examples exist, and I look upon the success of minecraft as being an example of a game where a lot of people enjoy working together to collaborate on building something impressive. It’s a game about working together, and making stuff, all very positive. However, the majority of big name games, like World Of Warcraft and Call of Duty are about destroying and killing, whther you are killing NPCs or other players.

Some Happy builders

I guess I’m as guilty as any game designer, GSB is about blowing the enemy up, for absolutely no reason at all. However, one positive thing that emerged from the game was a pretty busy, vibrant and very friendly modding community. In some ways, GSB bought some people together to co-operate on making stuff, and that’s just awesome. One day, I’d like to do a game based around that general idea. My own pet theory is that the lack of construction and positive games is due to the history of games emerging as a medium for teenage kids, especially boys. 13 year old boys are all about testosterone and puberty, so basically killing and having sex. Most countries have laws preventing selling sex to that demographic, so the games sell violence to them instead.

When those gamers grow up, lose their hair, get a mortgage and likely a partner & kids, they aren’t so focused on destruction, but on construction. Building a home, a family, a career. None of which is usually a zero-sum game. Where are the games aimed at this period in your life? (except mine).

What examples are there out there in PC gaming land of games which encourage you to do positive stuff? Games where it isn’t a zero-sum game, and you are encouraged to just ‘do better’ rather than  cause your rivals to fail?

Customer data and the sony disaster

Given that amazons hosting systems recently fell apart (who really knows why), and now we hear that sonys playstation network has leaked customer details, possibly including credit card information, to hackers I think it’s time to clarify something that I’m very pleased is the case.

When you buy a game from me, I don’t see your payment details. I never handle the payment, and I have no database with your payment information on it. Nor do I want one. It’s all handled by a third party, either BMTMicro or Fastspring. Both of them are US companies.

Positech can’t be hacked and broken into and put your payment details at risk, because I never even see them. A dedicated company that takes this stuff very seriously handles it.

But better than that, we don’t rely on one-click ordering or customer purchase accounts. Nobody can steal your positech account and take away your games. Nobody can prevent you from getting at your games, launching them or running them.

I bet there are a ton of people who are absolutely furious at sony right now. To be safe, they should all ask for new credit cards. There are 70 million accounts. This is like an entire country being victim to identity theft. Scary stuff.

Rendering to a texture

My new game does more rendering-to-a-texture stuff than the others have done. I’m very pleased with it so far.

What am I talking about?

Say you have a sprite, and that sprite is a ninja hamster wearing a bullet proof vest and wearing a crash helmet. This is a character in your game, and an icon used in various places. To allow customisation, the player has chosen the helmet and the vest, and maybe tweaked their colors. This gives them a slightly customised hamster.

When you draw this onscreen, you need to draw 3 layers (hamster, vest, helmet). That means drawing 3 sprites on top of each other, and 3 times as many pixels as normal. That can mount up quick, and is called overdraw. It also means changing texture 3 times, and changing textures is sloooowwww.

The solution, before the game starts, is to create a new blank texture in memory, and ‘offscreen’ (while the player isn’t looking) you draw the hamster, with all 3 layers and colors. You then save that texture to disk, with a unique name, Later, in the game, you just blap that single sprite, already composed, in a single draw call. If you are really obsessed, you could, at run-time, stitch together all the units textures into a single sprite-sheet to make it even simpler, and faster.

I have no idea if people tend to do this any more. Most people make 3D games with little or no alpha-blending, where you don’t worry much about texture swaps because you sort by Z and use a Z Buffer. My games can’t be done like that because it’s all soft-edged alpha-blended 2D, so these things start to matter. The code to do all this is a bit fiddly, but I’m already massively glad I’ve got it working. It will let me do all kinds of cool stuff in the next game, and means it will run fast as a race horse wearing rocket-skates.

Identifying profitable ads

I have a problem. It’s the same problem most people selling stuff have. I cannot be sure that my adverts actually work. I can be *pretty* sure they do, but I really would benefit from some hard statistical data. Using technical means to track visitors and sales with cookies has failed me. I tried the google ecommerce tracking stuff, but frankly it was chaos.

One method, used in the newspaper industry, is to use coupons. You print a 10% off coupon on the advert, and then every customer who uses the coupon must have seen the ad (directly or indirectly). This could work, but of course it relies on people actually using the coupon. Because game demos are generally tried, and people play them for hours, if not days, the chances are people forget all about the coupon when buying. I suspect this method is as leaky as any other.

I could mitigate that by removing the game demo link entirely.  This is something I have never done, and am not keen on, but it would be possible.

Another method could involve having a special version of the demo which writes a file to disk. When the full game is first run, it could check for that file, and if found, report to my server that an ad-driven sale took place. Ideally, the demo installer would have the ad-click referer embedded in it somewhere, but at this point things start to get uber-involved.

I’m very interested to know other peoples experiences and tricks. How do you know whether an ad campaign, or a website review or link, or other traffic source is actually generating sales?

No internet day. How did you do?

Me? I failed. But to be honest, it was an insane demand for me to go 24 hours. I did go the first half of the day without problems, but then I gave in and plugged my router back in. However, I hardly used the net for the rest of the day, and didn’t bother with instant messaging, any forums, or any non-urgent email.

So it was a partial success in those terms.

However, in productivity terms, it was pretty awesome. I got way more done in the first 3 hours of the day than I normally would. The fact that I had no email to answer,l share prices to check, sales to analyse, or  forum discussions / twitter chat to think about kept my mind 100% focused on some particularly evil bugs and getting some new features into the mystery next game.

What is truly sad, is how when I did relent and checked news sites, forums, twitter etc…. I hadn’t really missed much. There had not been any major events that I was missing out on, I just got to read a few emails 6 hours later than usual. Given the pretty significant boost in my productivity, i think this shows there is something in this.

As some have noticed, my self-declared no-inetrnet day also took out amazon and the PS3 network. Such is my POWER.

I think what I may do is try to implement no-internet mornings on Monday-Friday, when I am at my most productive. This is certainly worth an experiment. On the downside, that means American customers emailing me while I’m asleep get their replies 6 hours later, but they are asleep till then anyway.

I’m at the ‘proper production’ stage in my next game, which is no longer code-named ‘LB’. It might be code named ‘GTB’, or ‘OTT’ or something else. I haven’t decided 100% yet. Proper production is when I’m putting final art assets into the game, and coding big chunks of it. It’s too late for major design changes, but releasing screenshots is still a long way off.