Dev diary 2: The Director
One of the benefits of being independent and self-publishing your own game is full control. For example, we can look under the hood of our game, and share with you guys how does the game work inside. And… guess what? That’s what we’re gonna do in this installment.
We started Killsquad with replayability in mind. We knew:
So, early on we knew Procedural was the way to go. But we didn’t want a procedural game that looked all the same: we wanted AAA procedural. The kind of proceduralism you see on Diablo III and still makes your eyes go “wow!”
As a result, we decided we’d want to combine a procedural AI to build the game world and populate it, with the quality only hand-curated content can give you.
In Killsquad-speak, a chunk is a section of map. Chunks can have different shapes and sizes, and artists are free to do pretty much whatever they like inside a chunk: so, our map is cool and exciting, from the barren wastelands to mines and space palaces. The only restriction is, chunks have connections to other chunks. Needless to say, chunks are hand-made, carefully crafted for your visual enjoyment. We then sew then together using a bit of technical wizardry, and you get a seamless map.
Here you can see some chunks of our game world:



Examples of chunks across our game world
Now, imagine we had an engine which was able to build a puzzle with chunks, connecting them pretty much like a Lego. Every time you played, a different map would appear. That’s exactly how Killsquad works. And, because we have a rough estimate of how long should a chunk last, we can build missions, which we call contracts, of a certain duration. A 30-minute game session typically will consist of 10-15 chunks.
Of course there’s a ton of magic going on behind the curtain: we have starter chunks, boss chunks, we have a ton of tags within our chunks that indicate what can happen/not happen where, and so on.

If you’re following us so far, we can do maps. Really cool ones. And they will be replayable. Good.
However, Killsquad is not a barren landscape: there’s life everywhere, from the tiny Arisera of Wasteland 07, to the massive Helldörren that dwells in the Palace of Pain. To spawn monsters, we have a second AI which controls what to spawn and where. This second AI takes into consideration:

A chunk, tagged for gameplay. Those red circles are spawn areas, the white splines are paths for enemies to follow
Killsquad is not a senseless shooting alley: there’s goals, quests, subquests, events and whatnot. This is the final cog in the machine.
To do this, we have a system of “cards”: the AI director is given cards by our designers. And, from those cards, it will use them so each mission sequence fits different. Maybe you’ll find a meteor storm. Or maybe the Space Police will siege your team. Cards are a great way to make each session feel unique.
At the same time, cards provide good control: if we wanted to, our designers could heavily script a mission, by stating the cards and the order among them, and thus build a more controlled mission. We don’t usually do that, but that doesn’t mean we can’t.
All in all, this is a big system, which controls the game session.
Part of the behavior works at load time, such as map generation and mission sequence planning.
Part works on-the-fly, such as enemy placement and numbers and all mission game logic.
Last, but not least, a third part is reactive to the player’s actions, such as the stress-controlled enemy population.
When the three wheels rotate in unison, the experience you get is a single, cohesive, high quality game that you can play over and over again. And that’s no small feat.
See you guys next week!
Procedural but handmade
We started Killsquad with replayability in mind. We knew:
- We like games you can play over and over. We played Left4Dead until our thumbs went sore
- We couldn’t afford to do a massive game, say Skyrim, much to our disappointment
So, early on we knew Procedural was the way to go. But we didn’t want a procedural game that looked all the same: we wanted AAA procedural. The kind of proceduralism you see on Diablo III and still makes your eyes go “wow!”
As a result, we decided we’d want to combine a procedural AI to build the game world and populate it, with the quality only hand-curated content can give you.
Enter the chunk
In Killsquad-speak, a chunk is a section of map. Chunks can have different shapes and sizes, and artists are free to do pretty much whatever they like inside a chunk: so, our map is cool and exciting, from the barren wastelands to mines and space palaces. The only restriction is, chunks have connections to other chunks. Needless to say, chunks are hand-made, carefully crafted for your visual enjoyment. We then sew then together using a bit of technical wizardry, and you get a seamless map.
Here you can see some chunks of our game world:



Examples of chunks across our game world
The chunk tree
Now, imagine we had an engine which was able to build a puzzle with chunks, connecting them pretty much like a Lego. Every time you played, a different map would appear. That’s exactly how Killsquad works. And, because we have a rough estimate of how long should a chunk last, we can build missions, which we call contracts, of a certain duration. A 30-minute game session typically will consist of 10-15 chunks.
Of course there’s a ton of magic going on behind the curtain: we have starter chunks, boss chunks, we have a ton of tags within our chunks that indicate what can happen/not happen where, and so on.

Filling the world
If you’re following us so far, we can do maps. Really cool ones. And they will be replayable. Good.
However, Killsquad is not a barren landscape: there’s life everywhere, from the tiny Arisera of Wasteland 07, to the massive Helldörren that dwells in the Palace of Pain. To spawn monsters, we have a second AI which controls what to spawn and where. This second AI takes into consideration:
- The world we’re in, as each world has specific fauna
- The number and level of the players, so the level of challenge fits the skill level
- The stress level of players. We estimate stress level in real time using the variation on the life of the players. This will determine if we should spawn more or less enemies
- And a few other parameters which are too obscure to cover here, but allow us to decide what goes where.

A chunk, tagged for gameplay. Those red circles are spawn areas, the white splines are paths for enemies to follow
A squad needs a mission
Killsquad is not a senseless shooting alley: there’s goals, quests, subquests, events and whatnot. This is the final cog in the machine.
To do this, we have a system of “cards”: the AI director is given cards by our designers. And, from those cards, it will use them so each mission sequence fits different. Maybe you’ll find a meteor storm. Or maybe the Space Police will siege your team. Cards are a great way to make each session feel unique.
At the same time, cards provide good control: if we wanted to, our designers could heavily script a mission, by stating the cards and the order among them, and thus build a more controlled mission. We don’t usually do that, but that doesn’t mean we can’t.
Putting it all together
All in all, this is a big system, which controls the game session.
Part of the behavior works at load time, such as map generation and mission sequence planning.
Part works on-the-fly, such as enemy placement and numbers and all mission game logic.
Last, but not least, a third part is reactive to the player’s actions, such as the stress-controlled enemy population.
When the three wheels rotate in unison, the experience you get is a single, cohesive, high quality game that you can play over and over again. And that’s no small feat.
See you guys next week!