You are here

Guns are hard: Notes on designing a weapons system


I think I've come to the conclusion that designing a set of weapons for the game is like playing a musical instrument -- it's not important what notes you play, it's the notes you don't play that are interesting. It's the gaps, the intervals, between different weapons that make the whole system something interesting.

My intention is to create a weapon system whereby the player's current weapon is given by which combination of pickups they currently have. Pickups will be random drops from enemies, and fall into certain categories of characteristics. Initially I came up with three categories, each with three possible values, giving 3^3 different combinations, yielding 27 weapons.

So with all this in mind I started off developing my 27 guns. After a little while I realised that several of the weapons were just incremental upgrades over each other, and it became apparent why -- the initial characteristics I had chosen were too finely grained, meaning that each subsequent combination was only slightly better than the last.

That's boring.

But why is it boring? I think the reason why is because the progression between weapons was too obvious and linear. I think a lot of enjoyment from video games comes from the task of function approximation in the human mind while playing. Once you figure out the function -- the right inputs or sequence of inputs to get the best output -- the challenge is gone. Playing with the weapons system I'd built meant that, from seeing a few example weapons, I could predict what the future weapons would be like. I had figured out the function, there were no surprises to come.

So instead I re-vamped my weapon system, and made the pickup categories more coarsely grained -- I now have 12 guns, but 12 different guns. The function is not as clear any more, as the jumps between weapons are bigger, and I can go ahead and make those jumps non-uniform in length with additional characteristics. For example, on paper, some weapons are still a better than others when looking at raw damage output, but weapon balance comes down to more than that. There might be a secondary set of characteristics for weapons, such as accuracy, projectile speed, other gimmicks etc. that come in to play -- you may need to hold a laser on a target for a while, but a rocket is just fire-and-forget. I want all of the weapons to be viable, but require different kinds of play to get the most out of the weapon.

So yeah, that exhaustive space of incremental upgrades was a bad starting point, but I still like the idea of composing your weapons from some basic set of building blocks. It's just not immediately obvious what form those blocks should take -- and whether they should be represented in your game at all, since you could just use the idea as a design tool.

I also posted up on Twitter this week this pic of my initial sketch of the Garbage Collector and how it is starting to shape up in Photoshop