Game Development Manifesto

I wrote these few pages in a notebook several years ago, and never put down the exact date. It's not really a manifesto, but I don't know what else to call it.


  1. There's a vast unexplored space between 2D and 3D. Sprite scaling, sprite stacking, voxels, all can take you far. Just not to the usual places.
  2. For any given game, choose a limited color palette and stick to it. Even when picking from a wider selection, 16 colors are usually more than enough. I usually make do with just 10 or 12, and even that results in vibrant, colorful games.
  3. Vector graphics are tempting if you're a programmer, so beware. They take a lot of work to code, a powerful machine to render, and give you little detail for your troubles. If you're going to use them at all, make up an embedded minilanguage or some such, and parametrize as much as you can.
  4. Pixel art isn't just a nostalgic throwback born of hardware limitations and nothing else. It's a legit artistic medium that even predates computers. Think cross-stitch, or mosaic.
  5. Likewise, low-poly 3D has a precedent in papercraft, and wireframe 3D used to be made of literal wire. Architectural sketches, too, can be gorgeous despite being made with nothing more than pencil and straightedge.

Game Design

  1. In the real world, people learn from failure. Only in roleplaying games do characters learn from successes. That's backwards, and punishes the player trying to apply learning skills from life. We can and must do better.
  2. Before computers, people spent thousands of years perfecting randomization devices such as dice and cards. Don't think you can do better just because the computer lets you try anything.
  3. You can make games that run over a teletype. You can makes games that run on a 16x16 array of color LEDs. You can make games that use only one button for input. By rejecting such limitations, you're only restricting your design space. Less is more.
  4. What you want from a game and what your players want from it are often different things. Ignore that at your peril.
  5. You can make games just for yourself, but then you'll have a very small audience. And when you make games for others as well, you're indirectly playing the game with them.


  1. Writing for an interactive medium is different from the traditional kind, but not that different. Descriptions still work the same way for instance. Practice in one medium will pay off in another.
  2. Context is everything in communication; in an interactive medium, doubly so. Consider where the player was just a moment ago, for instance when describing a scene. Use transitions if needed, to keep combinatoric explosion under control.
  3. Stories are how we make sense of the world. This is why people want stories in games: so that the actions they're asked to perform acquire purpose and meaning.
  4. Practice roleplaying in a written medium, such as chat or forums. It will teach you to think on your feet and anticipate what other players might do, not to mention how to improvise pleasant prose on short notice.
  5. Theme drives story. What is your game ultimately about? What's the point? Even if it's just a fighting game, explore what it means to fight. To lose. To win. Make it matter.
  6. Games are an art, and art mirrors life. Seek inspiration in nature, history, other media. Learn how things work. That's how your games will turn out fresh, and rich. That's how your voice becomes your own.


  1. Good tools make game development easier and more fun. They blur the line between creation and play. It's an excellent way to explore a design space.
  2. Programming is a laborious and intense activity. Use languages that help you. Performance can wait, and it often comes more from a clean design well implemented than static typing or clever tricks.
  3. More people use old computers than you imagine, and those computers are often older than you imagine. Be respectful. Avoid waste.
  4. Old games often were just as good as we remember them. And just as often that was the case thanks to the hardware limitations of the past, not despite them: it was the limitations that forced developers to be creative.
  5. Even as a professional programmer, I'm selective as to which tools I learn and use. My brain can only keep track of so much knowledge. Do try new things now and then, but don't feel obliged to chase fashions you don't care for.


  1. Do talk to people about your game early on. That way the work will feel less lonely, and you'll get a better idea of which aspects various audiences like.
  2. Different venues have different audiences. A game that flies off the proverbial shelves in one marketplace may be completely ignored in another.
  3. Advertising works best when people are already primed to be on the lookout for the kind of wares you're peddling. It's not a zero-sum game; by all means, show them more of whatever they just played: the right thing at the right moment.
  4. Do talk to other people who make games, too. You can swap tricks of the trade, promote each other's work and cry on each other's shoulder. Even play each other's games, but don't count on that too much.

Guess marketing always ends up cutting the conversation short. Hope this helps.