Well-behaved Games: A rant-slash-manifesto

David Stark / Zarkonnen
5 Feb 2013, 11:06 a.m.
How to prevent frustrating your players and giving them burns.
  • Don't max out the CPU if you don't have to. In the olden days, when people mostly gamed on desktop machines, it was perfectly fine to just have your game claim all spare CPU cycles. Especially on slower systems with bad multitasking and only one core, this could be the only way to have the game run smoothly. However, these days, most people have laptops with more than one core. And if you use up 100% of a core on a laptop, the machine is liable to get very hot, and the fans are liable to get very loud, and the battery life is liable to drop precipitously. I have a burn on my left leg from playing Civilization 5, a turn-based strategy game that somehow still maxed out my CPU and GPU. So, please, use sleep(). Give the CPU a rest. Save my legs, and my battery life.
  • The game must run smoothly in critical moments. Let's say I'm fighting some demons, the game's running smoothly, and I'm doing well. Then, suddenly, lots more demons appear, and things get really dangerous. But now there's too many demons on the screen, so the game starts skipping frames - most of them, in fact. The game becomes a slideshow: in one slide, I'm alive, and well away from the demons. In the next, they are next to me and tearing at my flesh. In the next, I'm dead. Or perhaps the game just skips enough frames that I can no longer aim. So at the precise moment when I need full awareness and reflexes, the game takes them away from me. What could have been a glorious fight - win or lose - becomes utter frustration. I'm looking at you, Diablo III. Seriously: your game needs to run smoothly in moments of danger. And it needs to do so on the minimum spec. Otherwise all the best bits don't work.
  • If the install is X GB, don't require 2X GB during installation. If I buy a game with system requirements of 10 GB of free hard drive space, I may not have 20 GB available. You have to add the size of the installer to the size of the game in the system requirements. They both have to be on my drive at the same time.
  • Don't assume I can download 10 GB in my lunch break. No one using dial-up expects to be able to download a modern game. But we don't all have Google Fibre. We might putter along at a modest 400 kB/s. A while ago, I downloaded the demo for XCOM, played it, and enjoyed it a lot. So I decided to buy the full game through Steam. Steam proceeded to immediately delete the demo and start downloading a dozen gigabytes of installer for the new game. This meant that in the exact moment I wanted to play XCOM - even just the demo - I couldn't. It took more than a day for the download to complete. And how much of that dozen gigs of game data had already been in the demo? About half. So please - you may have a very fast connection, but your customers may not. If you can do something to prevent them having to download an extra six gigs - such as offering the full game as a patch on your massive demo - do it.
  • Don't force me to update, just disable multiplayer. In a similar vein, I decided I wanted to play some Starcraft 2 a while ago. So I started up the game, and was immediately greeted with a message that I needed to update the game so I could play. Obviously, this was necessary if I wanted to play multiplayer, but all I wanted to do was spend half an hour blowing up AI-controlled space marines. Instead, I had to go through a nightmarish update cycle, which, thanks to the above two issues of "not enough spare drive space" and "slow connection", became a full reinstall of the game that took more than a day to complete.
  • On a Mac, ctrl-click or cmd-click is a right click. My MacBook only has one mouse button. I can do a right click by carefully placing two fingers on the pad, and then clicking - but this is not very fast or reliable. Instead, if I want to right-click (to open a popup menu, say) I control-click. Your game should let me do the same.
  • Save your random seed and keep the loot the same. A while ago, I was playing a CRPG. My character was in a swamp somewhere, and had just found a hidden chest. I opened it and found an enchanted leather armour much better than anything I was wearing at the time. Then the game crashed. I reloaded, went back to the swamp, fought the swamp monsters, found the chest, and opened it. It contained a torch. I felt cheated and frustrated. The illusion that my character was in a real place broke down. I reloaded, fought the monsters, opened the chest. It contained a pair of tattered leather trousers. I stopped playing.