Preface.
Hello, I am a Source Engine mapper with an experience of 5 years, on and off, with a short catalog of respected levels published to this day on the Garry’s Mod Workshop, and a bigger back catalog of failed and unfinished ones. I was hardly learning — more like falling down a set of stairs while trying not to open actual documentation. I am not saying “don’t listen to me.” Just do what works for you and take from my experience whatever you like. This isn’t a tutorial — it’s a record of what kept me finishing maps.
Describing a creative process is tricky, especially when it’s the real thing and I won’t try to color it. It’s highly for personal use, created organically through the years of trying what sticks. The real process is among the choices that keep you making something every day, to get the endorphins necessary to keep making. The best and the worst things I made I poured the same amount of heart into. The first one is just full of compromises.
“For those who asked” — I published only my most compromise-full maps. I never called them good in any way other than that they gave the player what was described. One thing they were called is detailed, so below I will post my process when making them. I wouldn’t call it perfect. There are holes in my perspective that I am going to also acknowledge. The first of them is that I am not a professional, anything and I'm still learning a lot with every project.
The purpose driven design.
If I had a religion, it would be starting from a purpose. It’s either the most obvious thing you’ve ever heard or the most contrived. Sincerely looking at the purpose you had set allows you to be aware of the audience you can expect, the features you need to build, and the thematic niche the map is going to fill. If you’re reading this, please, the last thing you want to make is a worse rendition of a warehouse from Half-Life. If I cared to save my old maps, I would have a drawer full of unappreciated "warehouses" that weren’t for anyone but me. These are fond memories, but I would like for them to not fade into obscurity. Know for who you are making your map. You, a hundred people, or a thousand long time fans.
I say, if you are going to publish anything, anywhere, you want people to see it. Nobody will reach into your mind and try to understand what you are showing them on a Thursday night, searching through the workshop, bored. It’s like screaming on the street, “I am here!” I say — just tell a joke. People are going to notice you. Everybody loves to revisit jokes, but only if they are short. I make content like it’s going to be ingested by someone who hardly cares. That alone has allowed me to come back to one project until it’s the best it can be, thinking of every possibility someone might have a use for it. If it’s special enough, someone will save it to ingest again.
The best way for me personally to learn what features* are available to set my map around to make the room I'm making fun to play.
*Features (here) are what we manage to do with the features we already have been provided by the engine and Valve. That means backed in lighting, physics and ropes, dynamic shadows, project textures (how many you can fit), animated props that you have stumbled upon which can give your map some movement. Make a part of your map around a feature, let the player engage with it effortlessly and market the thing furiously on the workshop page like the whole satisfaction from your work depended on it. I think it does.
As a Garry’s Mod mapper, I have never made a Valve-style linear level. I didn't need to. When was the last time you ran around in a Half-Life 2 level instead of the generic gm_construct? Campaign maps are beautiful, but their purpose is very different from the way most Garry’s Mod players engage with content.
Instead of hopeing the player plays it right, I pack my levels not only with detail but with small ways to play in any given direction. Because previously I was surprised of the ways people said they engaged with maps I made. I make a shooter arena and someone builds a house there. I make a neighborhood to live in and someone roleplays a war there, then asks, “Where are the AI nodes?”
It seems like the ways someone plays cannot be expected in a sandbox game, but that’s not necessarily true. A map can have its intended niche — like being made with a lot of optimization in mind or not — but there are some ways everyone engages with every map. It’s through something I’m going to call “loops.” It’s a theory that if the player, going in any direction, meets a wall and not at least an enterable building with a curb to another part of the map leading to another and another, then their gameplay will be interrupted and your effort will be missed. If you make something you expect the player to enjoy — a nice view, physics objects, or a feature — then put it in their way.
How to know it works?
Walk the path yourself a thousand times. Make a coherent picture with an ease of use. If you have the freedom to make a building that can’t be looked at from above, use it. Real-life logic doesn’t matter for more than two seconds. For the player goes through a tunnel, it matters more what’s new than what they expected from the previous room.
Fun doesn’t care about logic. This is a game, and everyone playing knows it. They intuitively give you the space to set the best, most efficient, and most deliberate stage — like in theater — before them. And then you would sacrifice some fun to convince them again that this is real life. Don't do that. Look at the Half-Life 2 maps again. Notice how the most fun gameplay arenas don’t make much real-life sense, and see that you had never noticed it while engaging with their fun.
Once I understand the purpose and the features, I have “scope.” It’s a
thing development teams set for projects to know how much resources they have to spend on it. For them it's often money but our
currency is only effort and time. I can’t say how many open big maps I’ve
attempted to make and couldn’t finish. There is a place for this kind of a map, but its unoptimized and not very detailed. Be sure you want to attempt
it and understand the real scale of the challenge. The same goes for something like a detailed
building with every window see-through. This is an old engine, and so is
its optimization technology.
Again, look at how Half-Life 2 was made. Its maps are beautiful and
optimized. Today, this engine is as wide and useful as Valve needed it to be back then.
Of course, the maps could be more detailed on today’s hardware, but not by
much. That is why don’t recommend playing the most detailed mods that look almost
triple-A unless you’re looking at them directly in the editor. They’re made with
many custom models and aren’t popular on the Workshop for a reason.
They’re only worth downloading when packed into a mod with hours of
engaging gameplay — not for a player who already has 30 GB of their
favorite addons. At first, try to make
a nice-looking, small map from the available assets.
I always parkour around and shoot stuff every time I add a room to a level, engaging with it when I’m bored. I look at it from every angle and play with it like I’m stuck in a doctor’s waiting room (I live in Europe). If I don’t have a better map from the Workshop to run around in, then I know I have something detailed.
Not a corner unfilled.
Map setting and theme.
You don’t need new models to make a great new setting. There are still many CSS, Half-Life 2, or L4D2 assets that together can tell a different story. Is your setting rust-filled? Cheap and messy? Or clean and tended to every day? To detail is to make a busy picture every step of designing. It can be less busy or more, but if the quality varies too much, the part of the map feels unfinished.
Models are awesome, but they need to fade away; pretty brushwork detail also needs to disappear behind a corner. On the other hand, the solid wall they hide behind can be split into many brushes, each one with a different texture, with no impact on performance. Many materials that are available in Garry’s Mod and its mounted games are all done professionally so in standardized sizes. It’s pretty hard to make your own textures, and nobody should really do it unless you’re making a bigger mod or occasionally. I learned repurposing an existing texture, usually by clever placement pretending to be something else or even modifying its “.vmt” to give it a different property or blend it with another. These are very light sized when into your map. They even indirectly make use of the mounted assets that you don’t own without directly packing them.
Fully abstract map layouts are fun but feel endless while played. It’s
like a movie where you can only guess the runtime. If its scenes don’t
connect intuitively or you can’t grasp the bigger picture, the runtime feels
eternal.
To
illustrate, imagine watching a movie in a cinema with no way to check
its runtime. Until now it was an action movie, and suddenly no action is
happening — characters are talking. You expect a fight to break out. If
they fight every time, it gets boring. If they don’t, the director has
your attention.
The
same applies to maps. If you go through a cafeteria door, you expect a
hallway or kitchen. If you end up in someone’s apartment bedroom, it
kills your interest. If you can predict any outcome, even
unpredictability, it gets boring fast. There is no story that's being told. There is no
engagement with what’s on the screen.
If you struggle with balance, I recommend this method: when I walk through an area and look at it from every angle the player might see, I squint my eyes. I look at it like I’m seeing it for the first time. It’s now a painting with very thick strokes. What do you see? A sunset highlighting a light wall with small shadows scattered around, or a picture you can’t look at any longer because you don’t know where to go or what to look at first?
You can make a new and believable map this way. Its a tight line
where one thing moved can change a beautiful map into a dated one. Lets
remember again how old of an engine we are working with. A little
light change or a complicated shadow on a complicated surface can look bad after compiling in a moments notice. It's a curse but also half of the fun.
~You can't reproduce 1:1 a real life picture in this engine and that's okay.
Color and lighting is all that you need.
Guiding the player through your gorgeous map.
You might have noticed that the same principles apply to all of the things discussed: the level flow, themes, their flow, and the flow of features when the player is freely engaging with your level. As you're designing the player experience, you are painting a picture that will point out the choices and the features in the player's reach in a way that's readable. At the forefront of this communication is definitely color and light — which I saved for last, as it's the most subjective.
My way is to know my sun direction and color when making the brushwork it's going to fall onto. Be aware of how the shadows of the buildings and telephone poles will paint onto the repetitive texture of ground and walls; this is where you need shadows the most. I am again describing shadows as being painted on a surface, because if you don't look at them as an opportunity to add detail, then you are wasting one of the best-looking tools at your disposal.
Think about the best-looking areas in Half-Life 2 and you'll see the best use of a simple technology, where half of it is skilled staging of detail and the other is contrasting shadows. The lighting (the common baked-in lighting) always looks best in contrasting conditions.
| From an upcoming horror map. To make the area look impressive, I highlighted the single shadow of the shelf. This detail detracts from the dated lighting of the models on the right. |
When you see an area that looks square and not lively, it's instinctual to paint on some mess. You're going to do it with trash models, graffiti, or displacements if you're cool, but the best-looking way is to light it like brightness is fighting the darkness. A lamp is highlighting the pillar and being suffocated by it. This is the simplest recipe for a space that looks real.
It's actually a good habit to not go overboard with different colors, just like Valve did: just two or three modes of lighting create a cohesive mood and make it really easy to guide the player. As in: The moonlight, combine lamps, prison lamps. Also, when you start introducing some ambiguity with shadows, you can then afford to sacrifice some more demanding things. Good (backed in) lighting is a lot cheaper on a pc and your time than any other type of detail. If you look at any Half-Life 2 room, you'll see how simple they would be without the lighting. Finally, just setting your map in an entirely dark or light space looks flat.
Final wish.
Some of my conclusions are products of what I personally liked to do during the making of my maps. They imply little planning and regular procrastination, as well as giving it a place in play-testing. If a different way of mapping motivates you regularly, that way might as well be superior.
Levels made by game companies, in the worst case, are made by two differently oriented people. As mappers, we're supposed to fit in many roles when we were born with only a few strengths. Creating with the tools we have, trying to get a cohesive experience that feels useful enough on some level.
A huge amount of effort can be put into a level without making it cohesive. Make something that you are able to finish and put it in the player's way. Players want to appreciate it. Just put it in a place that makes it easy to be found, and give the player a "feature-box" they would like to come back to.
My wish to the reader is this: Please don't waste your effort on things that will be standing in a corner on a unpublished map, only
appreciated by you.