When I learned to map for Counter Strike Source back in 2004, I was driven by excitement and
curiosity, because I loved playing the game and I wanted to make my own stuff
for it. It took me years to learn, and it was all driven by experimentation
and by the wild ideas that I wanted to try. This time around, my motivations for learning
mapping are slightly different. I am still curious to learn, but it’s now about how it
can enable me to make youtube content. Because mapping for Source 1 helped me on hundreds of
occasions when I was studying CS:GO for videos that I was making. It allowed me to edit maps,
to investigate them, and to understand why things behaved the way they did in Source 1.
And it also let me make de_fenestration. But when it comes to learning Source 2,
I’m in a position now that many of you are currently in, where you probably feel like
you don’t know anything about it, and the idea of having to learn a new tool for a new engine feels
like an overwhelming challenge. At least you don’t have an audience of tens of thousands of people
watching your every mistake. But everybody’s got to start somewhere, so I proudly present to you:
The Making of NICEMAP1. For this map, I plan to
recreate my school. I want to make each room unique, complete with a model of the
teachers and the students who dynamically walk about the school and the corridors,
following a routine that changes 5 days a week. I want a dynamic day-night cycle and weather,
including a tiny chance of extreme weather events like tornadoes. But this presents a problem:
these people must go home at night, so I will extend the map out to the surrounding areas,
creating the whole town where I lived, complete with a model of my house,
right down to a working computer setup inside that can be used to play counter strike source on.
Obviously, I’m not going to do that. For my first map I’m going to make and
play on the most basic map that I can. And this is easier in Source 2 than it
was in Source 1, because stuff no longer has to be sealed. You don’t HAVE to enclose everything
into rooms, else risk leaks. Check this out: Empty map. A large slab for the floor. Player.
Move him into the air a bit otherwise he won’t work. Yup, they still haven’t fixed that.
Add in some sunlight or the map will be black. Press F9, compile and… boom goes the dynamite,
I’ve made my first map. I mean, it’s RUBBISH. Doesn’t deserve
the name nicemap1. I call this: badmap1. But this will be one of the most important
maps that I’ve ever made, because it’s shown me that I can do it! I can load the editor up,
I can place the basics in, and I can get myself playing on it. Even if it’s a bad map. 1.
Making a map for Counter Strike 2 feels slow. Everything about it feels fiddly, because I have
no experience or muscle memory with these tools. This is something that’s way too easy for experts
at something to forget. But there was a time when everybody had to think about each and every action
they wanted to do, and things would take 5 times longer, just because they were much slower at
doing it, plus the delays when something doesn’t work or because you made a mistake but can’t
figure out how to make it right again. I look back at the early maps of mine and they were small and
basic and I think ‘Why didn’t I add more than 1 window to that house’ and it’s because that one
window probably took me about 15 minutes to make. Working with a map editor like this will become
more natural. But it just. Takes. time. Too much time. But every time you do something,
you’ll get a bit faster and a bit better at it and eventually you’ll be one of those annoying
people who makes everything look really easy and you’ll get insanely frustrated watching a new
mapper spend 3 minutes carving out hills instead of using the displacement tool.
So let’s leave the map making alone for now and experiment with some of the prefabs to see what
the pros have already done with these tools. So Valve has kindly provided big boxy rooms
with all the essentials needed for Counter Strike 2’s main gamemodes,
which you can get and probably turn into your own map if you like. And this is becoming quite handy,
because in recent years Valve has added increased fluff to the game, like intro and outro animations
to matches, and all this requires extra work from mappers to get it set up properly. Now I haven’t
experimented with these things yet but when I do care enough to learn about them, THIS is the
sort of map I’ll be loading up to do it on. But there’s a much more interesting map if
I go to the EDITOR folder, and load toolscene_lighting_de_dust_day. Here,
we have a small section of Dust2, full of what’s needed to make it look good.
And what’s great about this Source 2 version of Hammer is that it looks a lot more like it’ll
do in-game, than mapping for CS:GO ever did. I will sound like a broken record at this point,
but mapping for CS:GO would not let you see how your map would look like when
you were working on it. You had to GUESS what brightness and colour the lighting would be,
and every time you wanted to see how it would look for real you needed to render the map and
load it up in-game to see it. This was a process that could take minutes or hours,
depending on how big and complex your map was. It was common to have to do this dozens, if not
hundreds of times over the course of a project. Occasionally you’d do this to play on your map,
but most of the time it was just to check silly little things like how the lighting would look in
certain spots and so on. A major aspect of mapping for CS:GO was in finding ways to reduce the amount
of time it took to render, depending on what it was that you actually needed to check it for.
And it seems like Valve’s goal with Source 2’s Hammer editor is to minimise the number
of renders required. Down to the times when it’s only needed if you want to play on it.
And that’s just as well, because rendering maps in Counter Strike 2 takes forever.
And Valve has managed this by moving all of the mapping stuff over to the Hammer editor,
so you only really need to render if you want now if you want to play on it. This makes sense,
it saves time, and we could have done with this about 20 years sooner. I have previously covered
Hammer++, which was a third party modification that added many useful features to CS:GO’s map
editor, but for Counter Strike 2, a lot of these features now come as standard.
So we’ll start with Fullbright view, which is similar to how your map would look in the
Source 1 editor. I’m showing you this just so you can appreciate how useless this view is if you’re
trying to figure out how your map will look. Now I’ll move on over to the better, much more
useful view known as DIRECT lighting, which calculates the sun and all the lights in your
level’s first bounce. This is probably all you need most of the time. But say you need an even
more precise view of how it will look in-game, you can bake the lighting using this feature up here,
which calculates the indirect lighting as well, being all the colours of the shadowy bits,
and it makes the really shadowy bits super dark. But say you need even more. Well, now you can
enable REAL TIME RAYTRACING! RTX on and all that. Counter Strike 2 doesn’t support raytracing, but
the map editor for it does, which shows us a thing or two about Valve’s priorities. Because a lot of
game developers shoehorn raytracing into their games for players to use, but here, Valve has
got it all working and then NOT allowed gamers to use it. Clearly, Valve deems real-time ray-tracing
to be a more important feature for mappers to use. Because for them, it’s literally a quality-of-life
improvement to be able to see how their map will look in real-time. But for gamers, raytracing is
this thing that tends to slow their PCs down quite a lot, and in return they get subtle
graphical improvements. So I agree with Valve’s focus here, and have found myself messing about
with this raytracing for fun. FOR FUN! I’m having fun with mapping! …Said nobody in CS:GO, ever.
But the new features don’t just help with the lighting. Say you want to see how the cubemaps
will look in your level. It was always a fiddly process in CS:GO; you had to render your map, load
it up, build the cubemaps, reload the level, and then turn on some rather limited tools to visually
check how they looked. But in Source 2, you can BAKE CUBEMAPS up here and as if by magic, you can
transform your entire map into Terminator-vision, before finely tuning the cubemaps’ positions and
sizes to your heart’s content. And this is just one of the 3D tools. There are many others,
allowing you to see all sorts. Even super-specific stuff, like at which point away from the camera,
shadows will drop to a lower quality. I imagine a lot of these features won’t see a lot of use.
But they’re here should you need them. Valve has put a few entities in these
starter maps and I presume they’ve done this because they deem these to be essential for any
map to have in Counter Strike 2. Let’s take a look and see what they all do.
So this env_sky entity here is what decides what the sky looks like. If you delete it then it
turns black. This is much easier than it was in CS:GO, because it means the sky is now the sky,
and not some wall or ceiling with magical sky paint on it. Like it
was in CS:GO! And CS:S. And 1.6. And so on. You see this thing here? No, not the man. He’s
irrelevant. Be gone. But this ball here is TWO things in one! It is a cubemap, that you shape to
the size of the room or area that it represents, but it’s also a light probe. You know all those
balls you saw in one of my previous videos? Yeah, this one creates balls in the same area as the
cubemap is set to. And it turns out that turning these balls on in the console in-game turns them
on in the editor as well. There is so much about Source 2 that I don’t understand just yet. Like
why they made an entity that combines a cubemap with these probe things. I guess it’s just neater
since they share some of the same properties. This sun is… the sun, pointing in the direction
you want the sunlight to go. That behaves the same as it does in CS:GO, only it can
now be updated and viewed in real-time which as I’ve already covered, is much appreciated.
And then you have this postprocess volume entity, which I think seems a bit broken
right now but think of it as an Instagram filter for this particular area of the map, so if it’s an
outdoor area then everything will get slightly warmer and glowier as you enter it and so on.
And that’s it! The rest of the stuff you see in this level is what it is. This barrel is
a barrel. This tyre is a tyre. But put it all together and it’s a nice looking area of a map.
Decorate enough places with the same level of detail and you’ll end up with a map like Dust2.
It just takes time. As do these videos. And since I’m heading off
to Cologne in a few hours, I’ll end this video here and when I
return I’ll make it into a map making series of some sort. Maybe. Have fun!