Insertion 2 is available on the workshop! The original map was featured in several of
CS:GO’s earlier operations, dating as far back as 2014. It’s a hostage map… but
with a twist. Because the players got to choose where they start from. The map was very large
and open- quite unlike anything that came before it, really- the maps most like it would
be the ones for the Dangerzone gamemode, years after.
Compared with Insertion 1, Insertion 2 is more of the same, but bigger and better. The
map itself is made by Oskmos, same as the original. But this time around, Bez the Bot
Whisperer has been working on the AI, enabling you to play this map offline and in single
player. I asked Oskmos, ‘why’. Why was a second
map needed? And what did he think about the first one? He thinks the first one got pretty
much everything right! He thought the teleport spawn thing worked well. He stuck to a rule
that ‘no place should have just one entrance’. And he thinks that worked well, too. He even
liked the layout of the first map- stating that it ‘just works’ in many ways that
weren’t possible to foresee when he was actually making it.
Oskmos is no stranger to mapping, having already got another of his maps, ‘Library’ featured
in CS:GO’s first operation. Obviously, a lot about a map’s success is down to good
planning, mapping intuition, and about iterating on the layout until it works. But he still
thinks that luck still plays a part in determining how GOOD a map ends up being. With Insertion,
he thinks he just happened to stumble upon a winning formula. Similarly to Dustbowl for
Team Fortress 2, he thinks Insertion, for this custom gamemode, ‘just works’.
Problem was: the map was cursed! At some point during Operation Hydra, the treehouse in the
map suddenly became haunted. If anybody stood up there, it caused a massive lag spike for
everyone on the server. So he had to remove it. Then later, the map started suffering
from 10 second-long lag spikes between every round and he has no idea what could be causing
these issues. So that was a good reason to work on a second
map. But he admits, the success of the first made him ‘pretty nervous’ about the prospect
of a sequel! Work on Insertion 2 stretches as far back
as 2015, which was when he took the initial texture photos for the project, getting inspiration
for what the map might look and feel like, and to get textures he could use to decorate
it with. In particular, this branch texture here… and what looks like a million different
pictures of the local supermarket. In total he took 130 GB of photos for this project.
Fast-forward to 2017, which was when he started the digital process of creating the map, starting
the whole thing with a new birch tree model. He spent a whole year crafting foliage for
the map, before he had even begun on the layout. Once he finally got to the mapping stage,
he started with a small road section, then the dentist office building, and then he kept
adding things out from there. The pictures you see here are all from these early stages
of development. The feedback he got from the first map suggested
that there needed to be a clearer target for the terrorists to defend. For the hostages
not just to be in random huts and buildings, but to be in a more established ‘compound’
area. But he never had a vision for what this should be. He believed that if he kept building
on it that it would come… but it didn’t. The creation of this map is somewhat unusual,
since the last bit he ended up making became the ‘centre’ of the map! By this point,
there were a lot of different areas to tie together, he needed to figure out how to connect
the main road around the front, and the train station behind and so on. After many redesigns
he’s happy with how it eventually turned out.
After a lengthy development, the map was finally playtested on a full server on mapcore’s
faceit hub- a moment of truth for his creation! He worried that the layout would be too complex,
but after playing a few matches on it he liked how it played and felt, and he looks forward
to seeing how the strategies develop as people familiarise themselves with it.
I spoke with Bez about the bot AI. He custom-made the navmesh, which is the bit responsible
for deciding on where bots can go and what they do. With a map this open and ambitious,
compromises needed to be made. Obviously, he wants for the bots to be able to cover
as much of the map as possible, but he also had to limit support in some places to make
the bots move ‘more fluidly’. For instance, he tries to avoid jumping at all costs, because
it’s inelegant and the bots can often get it wrong. He has greatly reduced jumping on
this map by getting bots to run around small objects like rocks- which is more elegant
than for them to try and jump on top of, or over them. The shop was a terrible place for
the bots until he forced them not to jump. Bots will still jump in some sections of the
map, where it will save them a substantial amount of time. Examples of this include the
train station’s platform, and the fence in between the hostage spawns, simply because
the alternative routes would take so much longer to traverse. If given more time, he
believes he’d be able to smooth their movement out even more and to support even more shortcuts
around the map. He’s also written some vscripts for the
AI- which is like programming for CS:GO, using the Squirrel language. These have been around
since Left 4 Dead 2, and it gives you more control over actions than is possible using
entities in CS:GO’s map editor. Orelstealth used vscripts to make his procedurally generated
maps. CS:GO’s coop strike missions use vscripts to know which wave you’re on and which objectives
you have to do in order to continue. And Bez has used vscripts to modify bots’ behaviour
without needing to recompile the map. One of these scripts freezes the bots while they’re
stood in spawn. Without this, they’d run about the spawn rooms all confused because
they’re trying to reach the main level from there- which obviously can’t be done. So
he intentionally froze them and then got the vscript to randomly pick a spawn point for
each bot the moment the round starts for real. This improves their behaviour compared to
the first Insertion, where most bots would be kind of boring by selecting the same spawn
zone every time. There are two modes of AI that can be used:
the older sort, and the newer one that’s now seen in deathmatch and guardian gamemode.
The benefits of the newer sort is that these bots use behaviour tree scripts to appear
to be more driven by what they see and hear. They can prioritise information based on age
and distance from them, which will let them behave more like humans do. Thanks to their
flexible behaviour trees, they can be more easily customised to make them play your map
exactly how you want them to. But right now, they don’t support all of
the features that the older AI can use. For instance, you can’t issue radio commands
to them to tell them what to do, and unless you’re in coopstrike, they don’t speak
back to you, either. And Bez didn’t want people disappointed that the bots in this
map couldn’t do some of the stuff that they could in Insertion 1. So for now, he’s stuck
to the older AI, with a few vscripts over the top. This new AI still seems a little
bit incomplete. The new deathmatch bots work with hostage maps, but they flood the console
with errors whenever they search for bombsites which obviously don’t exist. Valve, pls
fix. Due to their problems, if he is to use the
newer, more experimental AI at all then it’ll likely be reserved for the map’s alternative,
‘less official’ versions… like the dusk and night ones.
Yes! While the original Insertion came in day and night modes, Insertion 2 goes one
better by also featuring a dusk edition, and you can see how they compare in these shots
just here. Insertion 2 is still a work in progress. The
fog has a problem- for some reason, players are visible well beyond the rest of the environment.
And right now, the fog is inconsistent, letting you see further towards the edges of your
screen. But this should be fixed soon, and then the map can push on to completion.
To thank him for his efforts, Bez has got his own graffiti featured on the map. So has
everybody else who has helped with the project! You can see Zool just here, who figured out
that the reason the map was crashing was because there were too many chairs. And you’ll notice
Oskmos’s name occasionally featured around, like on the train station and in this movie
poster just here. Follow Oskmos on twitter for updates to this,
and for details on his next project- he hopes to dabble with game development in the near
future. Find links to Insertion 2 in the description as well, and thank you to Oskmos and Bez for
speaking with me about the map.