Over the years I’ve found myself referring back to the same handful of gamedev articles, because their advice is useful and timeless. I’ve decided to collect them here in one place for easy reference. Hope you enjoy!

How to Reduce Visual Confusion in Your Game by Peter Angstadt

A lot of game devs know how to make good-looking screenshots but the game itself is unreadable because everything looks too busy, too dark or too washed out. This article goes into the visual design theory of why, and really easy ways of improving the readability of your game.

The Theory and Practice of Cameras in Side-Scrollers by Itay Keren

This article contains an encyclopaedic list of 2D side-scroller cameras, many of which can also be applied to 2D games in general. Essential reading for anyone making a 2D camera.

adventures in level design: Wolfenstein 3D (1, 2, 3) by Liz Ryerson

This series of blog posts dissecting a few Wolfenstein 3D levels contains surprising insights, covering not just the classic level design goal of pacing, but also narrative and the surprising effect of confusing map layouts and what that says about an ultimately ridiculous game setting.

Traversal Level Design Principles by Travis Hoffstetter

Traversal is an oft-overlooked but key component of open-world games. Great traversal means it’s fun to get around in the game, and this is just as important as having an interesting world. Good reference article for anyone making a game that involves travelling across a world.

Fix Your Timestep! by Glenn Fiedler (Gaffer On Games)

Normally I’d recommend game devs use a good engine, so you won’t need to write a game loop. But for the stubborn engine developers, or just the morbidly curious, this is a really good article on why your homebrew game loop probably sucks. At least you’ll know what the heck delta time means.

        while ( accumulator >= dt )
        {
            previousState = currentState;
            integrate( currentState, t, dt );
            t += dt;
            accumulator -= dt;
        }

Build a Bad Guy Workshop - Designing enemies for retro games

A big list of retro enemy behaviours. Really great reference for retro game devs.

Splitter The enemy can split into multiple other enemies while destroying itself. Examples: Rogue Legacy’s Slimes, Legend of Zelda’s Vire and Biri.

Cloner The enemy can duplicate itself. Often, the duplicate is an exact clone, but sometimes, the duplicate is very slightly modified (such as having reduced health, or being faster). The enemy that does the cloning is not destroyed. Example: Zelda’s Ghini

Miyamoto on World 1-1: How Nintendo made Mario’s most iconic level

Miyamoto on World 1-1: How Nintendo made Mario's most iconic level

This short (~15min) video by Eurogamer analyses Super Mario Bro’s world 1-1 with its creators including Miyamoto. In it he explains how they designed the level to teach players the fundamentals of playing platformer games, using escalating challenges and sequences. It’s a powerful technique and a superior alternative to overt tutorials and manual instructions.

The same idea has been explored in other places, but this video is a great, concise introduction to the concept.

Reverse Design articles by The Game Design Forum

These are really quality design analyses of classic games. All of them are very good but of particular use are:

  • Final Fantasy 6 and the special way it’s designed around the dungeon as the unit of content, and how that influences everything from battle durations and how to balance those pesky RPG curves.
  • Super Mario World is a masterclass in cadence design - how to ramp up difficulty in a challenging yet pleasing way.