May 21, 2026 - Nutritious Games

Comments

When I was very young I, like many kids, thought subjects like history were dull and impenetrable. A series of meaningless dates and events to memorise for the sake of writing history reports. But by the time I was a young adult my attitude had done a 180 - I was a full blown history nerd, thinking about empires, battles, revolutions and more. I was hooked.

At the start of every obsession there was a gateway drug, and mine was video games. Specifically, games like Age of Empires, Civilization and Total War not only had heavy historical inspiration to draw you into the source material, the voluminous flavour text means you’re constantly teased into sinking further into the rabbit hole of learning more. The Civilopedia and Age of Empires’ History section contain books’ worth of information. I remember the exact moment I crossed the point of no return, when one evening, instead of playing the game, I spent hours reading about the Britons and their longbowmen in the Hundred Years War.

Civ I rifleman

Some games are more than mere entertainment, they leave you with lasting knowledge and inspiration that compounds over time, helping you grow as a person. So not just empty calories, they are nutritious games.

On the other hand, there’s a strain of thought on games that goes like this:

Read more

Jan 24, 2026 - Easy Backward Compatibility

Comments

This one’s a practical coding article, one that I haven’t done in quite a while. It’s something I’ve come across often over the years so I’ve always wanted to have an article to point people to, so here it is.

Here’s the premise: you’re making a game (or really any program) that reads data, whether that’s game data, config files, save files and so on. When these files get extended (like adding new fields or even changing the meaning of existing fields), you want the old files to still be usable, and not be made obsolete. This is backward compatibility, and it’s great to have.

A common misperception is that backward compatibility is always hard. Understandable since we often hear about vendors breaking it, or when vendors do provide it, it’s made a big deal out of (e.g. when Sony fans tout that new PlayStation consoles can play previous gen games, or when Microsoft fans tout the legendary backward compatibility of Windows). Maintaining backward compatibility for complex systems is indeed hard, but when we’re talking about simple config or data files, it’s surprisingly easy. Even novice programmers can do it, in fact.

PlayStation backward compatibility chart

Read more

Dec 25, 2025 - Timeless Games

Comments

The games industry is famously tough and insecure to be in, as it is hit-driven: rush the right game to market at the right moment and you can rake in the big bucks as your game becomes the current cultural phenomenon, or miss it and die in ignominy. This leads to a bunch of pathologies: the persistence of crunch, rushing to hit key sales dates, or to beat a competitor (or avoid being beaten), constantly chasing trends in tech or fickle tastes in the latest hot game genre. No wonder so many people keep burning out.

Timeless games collage

As a hobbyist, the odds are even more stacked, as you have limited time and energy to chase trends, so making a hit is literally winning the lottery. There’s got to be a better way: don’t make games that quickly go out of date, make games that will be fun even if they are late, that stand the test of time. Make timeless games.

Which Games Become Outdated Easily

Before answering what games are “timeless”, let’s rule out what kind of games we definitely don’t want to make:

  • Flashy tech
  • What’s trendy right now
  • Games that big studios are making
  • Games that a lot of people want to make

That is, avoid relying on novelty and in crowded competitive spaces.

Read more

Oct 15, 2025 - Great Music Done Poorly

Comments

There are few experiences where the situation is so incongruent that you are left utterly speechless at the absurdity of it all, your mind incapable of processing what just happened, after feebly trying to search for an explanation. One of these is the soundtrack for Resident Evil: Director’s Cut DualShock’s Mansion Basement:

A survival horror game should have music that sets a creepy ambience, but this track has fans baffled, variously describing it as “clowns farting”, “Charlie Brown gets in trouble”, or “trombones falling down the stairs”.

One interesting theory is that the MIDI instruments got messed up in this track; here’s the same with the instruments “corrected”, the difference is night-and-day (skip ahead a bit):

Read more

Jun 21, 2025 - Designing a Great FPS Playground

Comments

Back in the day I played a lot of online FPS games, but one really stuck with me and earned most of my devotion: Enemy Territory, the free (and now open source) team, class and objective-based game. I remember during a late night session, one of my clan-mates said:

congusbongus always goes for the objectives eh?

It was the first time I really thought about how people play the same game in different ways, and enjoy different aspects of it. Later I would learn about Bartle’s player types and how that applies to all sorts of multiplayer games, and mechanics like different player classes or even weapon types clearly caters to different kinds of players. But herein lies a problem: how do you get different kinds of players to come together and interact, instead of running off doing their own thing? Players like me would do the objectives because that’s the goal of the game, after all, but what about players who don’t care about that, and instead might grief, camp or just mess around?

Plenty of mechanics prevent the most antisocial of behaviours. Spawn protection prevents the worst kinds of spawn camping, and limited ammo prevents players from camping advantageous terrain indefinitely. But I want to look at how map design can focus the action, provide good pacing, and enable dynamic gameplay so different kinds of players can shine and enjoy the game in their own ways. For that we need to first look at the classic Enemy Territory map Supply Depot.

Read more