Prologue Have you ever played a multiplayer first person shooter and it just felt right? If so, it was likely happening on a map with good level design.
Playing well designed levels in FPS games is awesome.
Every aspiring level designer experienced this at one point and got somehow motivated to design levels themselves.
However, what does "well designed" mean in this context? In a nutshell: Your level needs to deliver what the game requests.
Since this is varying a lot from game to game, you need to realize first what the needs for your desired games are.
To gather knowledge what the game (in this case Counter-Strike: Global Offensive) requires, you need to play it - a lot.
Now, after sinking several hundred hours into the game, you are ready to start designing your own levels.
Though there will probably still be unanswered questions concerning the process.
The reasoning of some design decisions might not be too obvious from a non-level designer perspective.
I’ve seen a lot of unique and interesting maps during the past years – good ones, bad ones and most of them in between.
Almost every level has the opportunity to become a good one, if enough time and the right changes are being put into.
Iteration is the key for a good layout.
Hopefully this paper will assist you in making the correct decisions and adjustments to your future levels.
It’s designed to help you succeed in mapping and as a paper of facts and tips to revisit later.
While this guide is aimed for the classic defuse game mode it can still be beneficial for other game modes.
Before you start sketching your layout, you should know which style you want to follow.
Will you create a classic 3-lane layout (Dust2, Mirage), a more asymmetrical map like Inferno, or do you want stacked bombsites like Nuke has? Either of those could serve the backbones for a good layout while the classic 3-lane layout is probably the easiest to get balanced.
The meeting points in a level are the areas of the first enemy encounters in each round.
Since the classic competitive gameplay in CS is based on 5vs5 games, you have to shape your layout accordingly.
It’s recommended to have about three battlefronts – the sweet spot.
Two might not give the attacking team enough options to work with, and four might make it almost impossible for the defending team to stop five rushing attackers.
Chokepoints are separating different areas in a level.
Usually implemented using more tight paths (connectors/hallways/doorways/tunnels) compared to the rest of a layout.
Teams have to fight through these bottlenecks to get control of areas behind them.
While you should be very careful regarding the number of battlefronts, chokepoints offer you a little more freedom in your design.
The total number of chokepoints is usually higher than the number of meeting points since they are mostly located behind these and routes might split up in between.
For example, the Dust 2 mid is splitting into A short and mid double doors while the meeting point is right before it.
This is a good way to create more major routes without messing with the sensitive gameplay of Counter-Strike.
The areas where the objectives – the bombsites - are located, have to be taken over by the attacking team.
The entrances to these areas have to be crafted carefully for allowing balanced yet interesting gameplay.
Similar to the amount of battlefronts in a map, the number of entrances into a bombsite has to be chosen wisely.
Having around three of them is always a good choice, but as Inferno B site (few entrances) or Train A site (loads of entrances) show, other approaches can sometimes work as well.
The more entrances you create, the less powerful each entrance should be.
This also means that you’ll need to enable more tactical possibilities if you implement less than three entrances.
Simplicity > Complexity
Complexity in layouts is often caused by too many routes, connectors and options how to move through the map.
If a layout is offering too many of those, players get confused and gameplay is suffering as well.
This something you clearly want to avoid.
The most successful Counter-Strike maps are very simple and easy to learn.
People’s all-time favorite Dust 2 has probably the simplest layout out there.
On the other hand, complex maps with many different paths and connectors are quickly becoming too painful to navigate.
Before adding a new route which might make things more complicated than needed, evaluate if it’s benefiting the map.
It’s recommended to add new routes during development if playtests show something is missing, rather than starting off too complex.
The risk of too simple layouts is the high chance to become stall during the map’s lifetime.
The simplistic Dust 2 recently gets this resonance from the player base.
With its upcoming rework, Valve is trying to address this.
Finding the balance between overly complex and too simplistic, boring layouts can be very time-consuming but will pay off in the final product.
Unused Space / Areas without serving a purpose
A map should be accessible to new players.
Reduce the unused playable space to a minimum.
This will help guide the players through the map.
For example, if you create a turn in the layout, don’t build an inlet on the non-accessible side of it to avoid disorientation.
Also if you look at Nuke, the long narrow spawn area is a thing you usually want to avoid in maps since it’s serving almost no purpose.
This kind of space just wastes time unnecessarily.
Support various playstyles
The diversity of different weapons in Counter-Strike is another thing you should consider.
A good map supports playstyles for all the different weapons: Possible indoor areas with short distances and a number of corners for close range guns (shotguns, MPs), long sightlines for sniper rifles and something in between for medium ranged rifles.
Allow advanced tactics and teamwork
Since the game heavily relies on team play, your map should encourage and facilitate it.
For this you can enable some boost spots to reach more powerful positions.
Furthermore, smoke grenades and flashbangs are an essential element to use when executing strategies.
Enable options to throw them – keep a relatively open skybox and build windows to achieve this.
Referring to the earlier paragraph “Simplicity > Complexity”: Too many of these will increase complexity and could harm the gameplay.
Measuring the timings of a layout is important to check if it is competitively viable or not.
The whole Counter-Strike gameplay is based on timers like the round time (1:55) and C4 timer (40 seconds).
Having the right timings in a map helps a lot in balancing.
Mentioning an exact number for the timing of the first enemy encounter is almost impossible, since it’s varying a lot depending on the actual layout, and different values may work fine.
Having this in mind, there’s the following: Reaching the chokepoints in about 5-12 seconds into the round is a good value to start with.
Obviously the Mid timing in classic 3-lane layouts will often be much shorter.
Comparing Dust 2 and Mirage, the chokepoint timing in the middle differs a lot.
There are other factors besides timing which determine the balance or quality of a middle lane.
Besides any specific amount of seconds, the defending team should have a little bit more time on their side of chokepoints, to get into positions before the attackers are able to execute an attack.
Avoid wasted time
Taking Nuke as another negative example, the large amount of dead space in the spawn areas lead to a lot of wasted time during a whole match.
This could have been easily avoided by moving both spawns 3-4 seconds closer towards the core area of the map.
The rotation time (bombsite to bombsite) of a layout is probably the most important timing which has to be taken into account.
The core reason for this is the C4 timer (40 seconds) during after-plant situations.
A too short rotation time strengthens the Counter-Terrorist side too much while too long rotation times on the other hand, make it almost impossible for CTs to win a round as soon as the bomb is planted as they won’t have enough time reaching the relevant bombsite.
If the rotation time is in the range of 10-15 seconds, it should be working for most layouts.
Although maps with stacked bombsites, like Nuke, prove that it’s working differently as well.
For these cases, narrow and/or risky rotation paths with limited tactical options are an option to balance the short rotation time out.
If you prefer longer rotation times, try to keep it below 20 seconds as it becomes very hard to retake bombsites with very little time left.
“Around the world”
The “around the world” timing of a layout is probably the least important of all the timings, but it helps getting the scale of a map right.
Depending on which size your map will be, choose a map out of the official map pool most fitting your planned scale and measure the time it takes, to run the longest way possible around the map.
If you are happy with the values, continue mapping.
A very quick and elegant method to check the timings without being forced to use a stopwatch is hidden in the spectator option.
Before it is possible to use this feature, the following console command has to be set:
• mapoverview_allow_client_draw 1
After this command has been activated, open the map by pressing CTRL as a spectator.
Hold shift and paint a path with the left mouse button.
The resulting path will display the distance and time it takes to walk along this line.
Risk and Reward Rewarding risky plays and positioning is a great way to make gameplay interesting and diverse.
The challenge for you as the level designer is to craft positions, routes and bombsites with the target to reward the player if he was able to master a risky situation.
There are two prime examples to showcase the system of risk and reward on the map Cache:
• Positioning: The boost spot on the boxes next to A main is risky to get on, but very rewarding to catch unaware attackers off guard.
• Bomb plant zones: If the bomb is planted on the mid-facing side of the red container on A, it’s almost impossible for the CTs to safely defuse it.
But since this specific spot is super risky for the Terrorists to plant on, it’s a perfect example of showcasing risk and reward tradeoffs.
Lots of fights in Counter-Strike take place around corners, therefore you, the mapper, have to pay some special attention to the various angles in the level.
It’s recommended to avoid super long sightlines, where it’s only possible to make frags with a sniper rifle.
The Dust 2 spawn to spawn sightline is ignoring this, but it is working fine there, because early round picks shouldn’t happen with every type of assault rifle.
You have to own a rifle dedicated for long range battles.
The Terrorists also have an option to avoid this sightline and enter the mid through a more central path.
The remaining sightline is so long, that you are able to achieve frags with an assault rifle as well.
Since CTs aren’t supposed to get active mid control early in the round, they don’t need the possibility to frag enemies from spawn to spawn with an assault rifle.
When blocking out a map, it often happens that tight angles are created by accident and enable long and overpowered sightlines.
Luckily they are easy to fix by moving the causing corners a bit.
Similar to tight angles, pixel angles are a result of slightly misplaced corners.
These types of angles are questionable for multiple reasons including optimization, unintuitive gameplay and unfair advantages.
An example for such an angle is in the sightline from the B balcony on Mirage all the way through apartments:
Vertical sightlines at ramps
When creating ramps or elevation changes, it is important to think about the line of sight between players.
If the player on the upper part of a ramp is standing behind cover, he might be able to see the player on the lower part, without being seen by the opponent - if it’s done wrong.
To show this off more clearly, I found these examples on Dust (1) and Cobblestone.
When a Terrorist on Dust is coming straight through the underpass area, the Counter-Terrorist on the upper area is able to see the enemy’s feet without being seen himself.
On Cobblestone on the other hand, the underpass area is created in a way that the attacking players are side-peeking towards the upper area of the big ramp.
This way both parties have the same chances in a firefight without unfair advantages.
Verticality Height differences and multiple layers belong to the easiest and most effective techniques to make layouts more interesting.
In a lot of other FPS games besides Counter-Strike you don’t have to worry much about problems this may cause.
In Counter-Strike, however, too much verticality is considered a bad thing.
Multiple layered maps make it often hard to distinguish enemy players’ positions via radar and/or sound.
As a player, any vertical angles which exceed the -30°/30° range (no specific values, rather a rule of thumb) are not really enjoyable to play around anymore.
Firefights should mostly take place in a horizontal level, where the distance your crosshair travels is consistent.
Always keep that in mind when adding different height levels.
Avoid Head peeks
When a player is barely able to look over cover, it is called a head peek.
If an opponent is encountering a player behind such cover, barely half of the player’s head will be visible to the opponent.
As a result, the encounter between these players leads to a frustrating and unfair firefight.
Creating head peek cover is one of the most common mistakes mappers do.
The reason for this is simple.
The default grid size in Hammer is 64 units and the height for head peek cover is 64 units as well.
Gameplay, sightlines and firefights around these are very strange and not enjoyable at all.
It’s recommended to use below-head cover (~56 units) and above-head cover (~72 units) like on Dust2 A site instead.
But not only those classic cubic boxes are enabling them, misplaced ramps and stairs often create head peeks, too.
Try keeping them to a minimum.
Most Counter-Strike maps utilize crates and boxes to create cover.
Unfortunately, some of them rely too much on it, which feels unrealistic and repetitive pretty fast.
Whenever it seems possible to integrate cover into the architecture of a map, do it.
This does not mean using boxes as cover is a bad thing.
It just should be balanced out, so the map is looking like a believable space.
When adding cover to a map, it’s important to not overdo things.
Some level designers mistakenly create too many powerful spots without playtesting beforehand to see if there’s even the need to do so.
A possibility to limit the strength of a hiding spot is to be not covered towards all possible angles.
A good example for this is the Dust 2 A site.
Most of the common positions offer cover for 2 of the 3 bombsite entrances.
This way the defender has enough cover to work with, but not enough cover to feel safe at all times.
A lot of maps prove that some more powerful cover is working as well though.
If you really want to add some powerful cover to your map, there are still possibilities to handicap it.
These areas could be crafted like a death trap, without an easy way to leave them.
This disadvantage will even out the fact, that players hiding there can’t be seen from any of the entrances into the corresponding area.
A fitting example for this is the “ninja” corner on Mirage A site.
To make a map feel like a less blocky and realistic place, the usage of props is very common and recommended.
There are few things which have to be kept in mind while placing them though.
Small detail props like lamps should always be non-solid in order to allow fluid movement and not collide with any thrown grenades.
Another reason to do this is to prevent unintended boost spots.
Furthermore, all types of railings should always be non-solid and clipped instead.
The reasoning behind is, that it’s super frustrating when grenades get blocked by these thin models.
Last but not least, solid props in main gameplay areas should always have a correct hitbox (unlike the tree on an older version of Overpass in the upper park).
Model shape and model collisions
Some props are also very bad for smooth movement with their default collision model.
If we compare the truck model on the A site of Inferno’s old version with the hay wagon model on the new Inferno, there clearly has been a massive improvement.
Although the truck model offered a mostly accurate hitbox (which is good) movement on it has been super clunky and frustrating.
If done correctly, a few clip brushes should have been added, to enable a smoother movement.
In addition to that, the truck was very bad for gameplay because of strange sightlines through it and next to it.
Avoid models like this in main gameplay areas.
Scale/Dimensions To get the scale right when doing the layout, it’s handy to know roughly how big the map should be.
If you’re unsure where to start with the scale at all, load up the .
vmf file of a similar sized map in Hammer and draw one big brush covering the whole playable area of said map.
The resulting brush can be pasted into your personal map.
This brush will help not exceeding the maximum desired size of your layout while blocking out.
The playable area of Dust 2 for example, is roughly within 4000x4000 units.
Supplementary to the overall scale of a map, there are plenty of other dimensions which will help you create a working layout.
Note: These are all rule of thumb values to start with.
You have to adapt your map depending on feedback and the architecture you want to build.
It’s recommended to keep hallways relatively wide, so movement doesn’t feel too restricted and teammates are not blocking each other too often.
• Corridor width: 128 units – 256 units
• Corridor height: 128 units – 192 units (depending on the architecture)
• Average indoor wall depth: 8-16 units
• Average outdoor wall depth: 16-32 units
• Vent-size crouch only: 56x56 units; Vent-size standing: 80x80 units
• Stairs: 8x12 units
• Doors: 48x108 units; Doorframes: 56x112 units (Preferably double doors for fluid movement)
• Player dimensions: Standing: 32x72 units; Crouching: 32x54 units
• Jump height: 54 units; Crouch jump height: 64 units
• Maximum walkable obstacle height: 18 units (avoid high steps like this)
• Smoke size: 288 units diameter
Grid In the early stages of creating a map, grid sizes between 8 and 32 units should be used preferably.
Reserve the smaller grids (1, 2 and 4) for detailing and finalizing brushwork.
It’s way easier to work in Hammer having used the larger grid before.
As soon as you start detailing, don’t be afraid of the 1-unit grid anymore.
A lot of detailing can be achieved using this grid.
Independent from the actual grid size, it’s heavily recommended sticking to it whenever possible.
Counter-Strike is a very competitive game where every player needs to see easily what’s going on.
That implies that player models have to stand out from the environment.
Avoid noisy textures, dark corners and colors similar to the ones used on player models in main gameplay areas.
The same applies to foliage which makes it very hard to spot other players.
Keep detailing above head level to ensure visibility is as good as possible.
To further help visibility, good light_environment settings are crucial.
The default entity values are:
• Brightness: 255 255 255 200
• Ambient: 255 255 255 20
Especially the Ambient value is something that should be changed for maximum visibility.
I’d recommend these brightness values for daylight settings (Depending on the chosen setting):
• Brightness: 255 255 255 250
• Ambient: 255 255 255 150
Detailed areas attract players.
Use this knowledge to guide players through a level as much as possible.
Highlight and detail accessible doors, corridors and other points of interest.
Tint usable doors in a certain color while leaving inaccessible doors in shades of grey or rather muted colors.
Keep the detailing and contrast in non-accessible areas at a low level to avoid disorientated players.
Highlighted accessible door on the community map Thrill
Spawns For competitive gameplay you’d just need 5 spawns per team.
In order to make it possible for community servers to use your map, there should be 16 spawns per team instead.
This amount of spawns might mess with the timings of your map if you haven’t placed your spawns very carefully though.
To bypass this issue, it’s possible to prioritize them.
Simply change the “Spawn Priority” value of the chosen spawn entities.
A lower number means higher spawn priority.
It is recommended to stay organized and consistent with the values.
The default value is “0” and I’d suggest to not use the default value.
The reasoning behind using values of greater than “0” are temporary placed spawn entities in a level.
These temporary entities will have the default priority value and therefore always be used before your actual spawns.
Any left-over spawns will be identified right off the bat using this method.
Use the following values for the different types of spawn entities.
• Competitive: 5 spawns with a value of “1”
• Casual: 5 additional spawns with a value of “2”
• For any community servers with more than 20 player slots: “3”
Looking at Dust 2, the Counter-Terrorist spawns are always the same (prioritized) while the Terrorist spawns are randomized which causes every round to be a bit different in terms of timings.
Another thing which only few people do, is rotating the spawn entities, so spawned players actually face the correct direction right from the start.
Also to avoid having invalid spawns, it is important to always place your spawns a bit elevated from the ground (16 units are fine).
This is something even professional mappers forget in rare cases.
Buy zones There is not much to say about buy zones except for one thing: The buy zone trigger brushes should be large enough so players are able to buy on the fly.
Many players are using buy binds to buy guns and accessories after they started walking in the beginning of a round.
The zone shouldn’t end right after the spawn entities to allow this.
If they are a bit larger, it’s not game breaking, but a lot more comfortable for players.
As mentioned earlier, you want to ensure smooth movement as much as you can.
The usage of clip brushes is crucial to achieve this.
First of all, always clip stairs.
If this isn’t done, the players will not enjoy walking on them, since the clunky movement on unclipped stairs messes with the precision of the crosshair.
It’s also significant to clip small corners and brushes like shown in the screenshot below.
The reason for this is blind movement.
In an in-game situation where lots of utility grenades like smoke grenades and flash grenades are being used, it is vital for players not getting stuck on small corners and edges when they are unable to see where they’re moving.
Besides that, there are more reasons why you should clip thoroughly.
Clip brushes block the C4 and therefore can avoid bomb grief spots.
Also game breaking boost spots are history if clipping is done right.
It should be avoided using the Player Clip texture since it’s messing with the generation of the nav-mesh and won’t affect the actual purpose of a clip texture.
Instead use the normal clip texture.
Basic Optimization In the very early stages of prototyping, optimization is not really an important thing.
Until the very basic shape of a layout is created, it’s ok to work with no proper skybox, because changes are way faster and easier to apply.
This can quickly be achieved by using the cordon tool.
As soon as the basic brushwork is completed, it’s good to start caring about it.
Set small and non LOS (=line of sight) blocking brushes as func_detail and start creating a proper skybox.
Another rather simple optimizing technique is to disable collisions on props further outside the playable area.
Doing these things will not only improve performance but also reduce the compiling times of a map significantly.
A well optimized map can run well on a low-end system while poorly optimized maps often have trouble on medium to high-end systems.
A detailed guide on optimization is linked down below since this is not the main goal of this guide.
Dealing with feedback Mapping newcomers often crave for feedback, but don’t really know how to deal with it.
What you secretly expect, are people saying that your layout is awesome and could be the next Dust 2.
Unfortunately, this will most likely never happen.
Sometimes feedback will be harsh, but you shouldn’t let yourself be discouraged by that.
If people are harsh with their feedback, there has to be some reason for it and only shows the urgency of changes and that things can’t stay as they are.
Counter-Strike is a competitive game and therefore people might become emotional very quickly.
If you ask these people to explain their feedback a bit more detailed, most of them will respond nicely and help you fix the flaws a layout may have.
Don’t respond that you feel mistreated.
It’s in the nature of CS that players get annoyed by poor design decisions.
You, the mapper, have to learn to deal with feedback like this.
On the other hand, “feedback” à la “Valve, add this pls” is pretty much useless.
Sure it’s nice to read, but this is no useful feedback at all.
Personally, I’d rather see someone complaining that the map’s balance is “crap”, than just telling me “good map”.
Level design is very iterative and therefore every mapper should be happy when people showcase the flaws a layout may have.
Accept feedback and consider changes.
Don’t be ignorant with a mindset, that your layout is already perfect.
If all you want to see are compliments, don’t ask for feedback.
The above being said obviously only applies, if you actually did receive feedback.
This is one of the reasons I created this guide.
Aspiring mappers should have some guidelines to work with, while missing feedback from other players.
Presenting your map
In order to get real feedback, a map has to be presented properly.
It is not enough to post “Check out my map, need feedback ASAP pls.
Here’s the Workshop link” in a forum.
Your map presentation has to arouse interest.
Make some screenshots of your map and chose the one you think looks the best overall.
This is the one you should embed into your post.
Explain what you want to achieve with your map, what you have already done and maybe even show one or two references you are planning to use.
This way the reader can actually imagine what a map could look like eventually.
Boring pictures of an untextured layout are often meaningless to an outsider.
Once the interest of a reader has been aroused (hopefully), it’s time to show the layout overview.
This is not something you want to miss, since basic feedback is often already possible simply by looking at a radar picture.
The radar should contain both spawn locations and both bombsites - including names.
In the official Valve developer Wiki, there are radar resource files so you can edit the radar presentation on an advanced level.
For creating the showcase screenshots I collected some console commands which should be used when creating them:
• sv_cheats 1
• r_drawviewmodel 0
• cl_drawhud 0
• net_graph 0
Radar screenshot (in addition to the commands above):
• cl_leveloverview 4 (Values between 3 and 6 usually work fine.
Set it to 0 to disable it)
• r_novis 1
To wrap the map presentation up, additional screenshots could be posted inside of a spoiler so interested readers have more footage to look at if they want to.
Further guides and tutorials Man vs.
Engine (will2k): http://source.
Source Lighting Technical Analysis: Part One (leplubodeslapin):
Source Lighting Technical Analysis: Part Two (leplubodeslapin): https://www.
How to Develop a Map That Works (Valve): https://developer.
Quick Guide to Competitive CSGO Design (will2k): http://gamebanana.
How are maps chosen for Operations? (Valve): http://steamcommunity.
CS:GO 6 Principles of Choke Point Level Design (World of Level Design):
Collection of resources for level design (jackophant):