Jump to content

ATTN: New Map Makers!

Recommended Posts

First and foremost...

Welcome to MapCore!

We wish you the best of luck with your entry into this competition. For those of you new to mapping, I thought I would share a few resources that I, and many others, will have found useful. If anyone has anything they think I should add, just let me know in the comments and I'll do my best to update it accordingly.

Please give this introduction a complete read through before following a never ending tunnel of hyperlinks as you could miss something important. Not everyone needs everything, and some articles may be suited better to certain situations more than others, but it's all essential reading / watching.

Now let's get started!


Level Design

A good place to start would be our Level Design Resources Megathread where many free tutorials have been collated to act as a mini library:

Additionally, Volcano and our very own FMPONE gave a speech at GDC15, specifically on the topic of map design in counter strike, so I can't recommend this enough! It's not a long video, but it'll help focus your design from the outset for better gameplay.

I'm sure many of you will have heard of The WarOwl. He has a video regarding player perspective and angles which while very good from a playing perspective, is also very useful for understanding how corners and angles will play across your map. It should highlight to you who will have an advantage at certain points more clearly.

World of Level Design is a great source of information (the name is a giveaway), so here's a selection of links regarding useful topics for your map's creation!

A good way to get inspiration and have an insight into how the heavyweights make their maps is to read some of our own making of articles:

The next two articles cover the basics of multiplayer level design fantastically. Ben's article is more verbose, and the Gamasutra guide is more of a long infographic but both are simple and clean in delivery and are absolutely essential reading:

Don't forget to watch 3kliksphilip's Basic and Advanced CSGO Tutorials.


Compilation Errors

When trying to compile your map, it's possible that it can fail. Luckily the interlopers.net forum have a very handy Compile Checker which will scan your compile log and tell you what went wrong!

Another popular cause of compile failures is leaks. Sometimes the warnings in the compiler are more obvious as to what the problem is, so a good thing to do is check for these leaks. Simply go to "Map > Load Pointfile". Provided this was the cause of the problem, you should see a number of red squiggly lines that lead from inside your map via a crazy path to the void. You can trace these back to find what is leaking and patch it up. If you can't find a .lin file for your map, a leak is not the problem!

Causes of leaks:

  • Props reach / exist outside the boundary of your map
  • Light has leaked into the void during vrad.exe
    • Gaps in world geometry let vrad through
    • func_detail does not block vrad
    • Displacements do not block vrad
  • area_portal not closed properly and loops back round to itself
  • Many other reasons - (VDC article on leaks)



Optimisation is a very important part of mapping, and if not considered from an early stage it can be a huge, crippling task further down the line as well as limiting anything other than the most powerful of computers playing it. People playing your map want the smoothest experience, so let's try to give it to them! Without trying to scare anyone off, here are a few tips:

  • The best ways you can start is by building all your brushes with the nodraw texture, and only texturing the faces that can be seen within the map.
  • Turning elements of your map that jut into the middle of a room into a func_detail is a good way to simplify the rendering process. It gets more complicated than that, but it's a good place to start.
  • Areaportals are also a nice, simple way to optimise especially if a room has quite a lot of props in it.
  • Hint/Skip brushes are a little more fiddly to place, so leave these for when your layout (not detailing) is more complete, but they help the game to not render parts of the map that are out of your line of sight.
  • PLEASE check the resources to better deal with these tools, this is primarily a list to make you aware of what methods are available.

For further reading on optimisation (highly recommended), here are a few links:


Screenshots and Radar Creation

When presenting your maps to us in the forum (and the same applies to the workshop), please provide plenty of screenshots! Yes, the best feedback will come from a good play test and a run around, but not everyone has the time for that and some people need to be convinced to have a look, and sometimes there are plenty of things that don't need to be playtested for that can be shown very simply through an image that decreases the time taken for feedback.

The best way to take the screenshots is in the highest quality and resolution your computer will allow (as for static screenshots you shouldn't have to worry about low fps), and don't overdo one area - if it's particularly complex, take enough to show all the angles otherwise a radar view shot will fill in the rest. To help you, here's a little string of console commands you can use to get the most from your screenshots:

sv_cheats 1;
// Unlocks restricted console variables (convars). Use this first otherwise most of the following convars will not work.

// Bots tend to detract from the map with blood spatters, death, and totally random camping spots. Remove them for cleaner screenshots.

// Allows fully unlocked movement to fly around and get the best angles for those tasty screenshots.

mat_postprocess_enable 0;
// Disables any effect that is applied after (post) processing. This includes the grain and vignette overlays in the game but also any sort of colour correction that may have been applied.

net_graph 0;
// We don't need to see your fps.

cl_drawhud 0;
// Use this to hide on screen "hud" elements like your radar, ammo, and crosshair.

r_drawviewmodel 0;
// Hides your view model which includes your arms and anything you may be holding (guns, knife, bomb).

fog_override 1; fog_enable 0;
// These two commands should be used together for the desired fog removal effect, and in the listed order. The first part allows fog settings to be overridden, and the second part disables fog.

cl_leveloverviewmarker 1024;
// To use this you should change your resolution to 4:3 1280x1024 for the most accurate results. When activated, it will draw a 1024x1024 red lined box on screen from the top left corner and if the resolution is set correctly you will only see the one red line down the right side of your screen (or not at all if you use a 4:3 ratio screen). Use this as a marker and fit your overview screenshot within this red box.

cl_leveloverview 4;
// Sets the zoom level for the overview. 0 is default first person view and the higher the value, the further above the map your view. 4 is a good starting value.

// TOP TIP #1: Use noclip to fly out of your map's skybox before enabling cl_leveloverview. You will be able to tell when the sky art is replaced with black. Try to look "North" for your map keeping your crosshair pointing straight ahead. This will help you move around more effectively when cl_leveloverview is activated.

// TOP TIP #2: Immediately after taking the overview screenshot, open the console (`) and note down the positional data provided to use in making your minimap.

mat_fullbright 1;
// Ignores map lighting and applies uniform, flat lighting (with limited shadows?). Shadows can be a bit buggy appear fully black if they are visible.

r_drawstaticprops 0;
// Removes all static props that may obscure overview, but shadows will remain.

r_drawskybox 0;
// Removes skybox in all forms. *Beware the void, it creates some crazy visuals*

To take the most effective radar screenshot, make sure you are outside your map's skybox, preferably the centre of it and your view centred on the horizon to make the lateral movement simpler, as you can use WASD to move around. It's important for your map to have an overview so people are able to see where they are, as well as teammates and enemies when they appear. What has been provided here is only a rough outline on how to do this for prototyping purposes: this Valve Developer Community article on Creating Minimaps should more than easily help you the rest of the way.

Secondly, you may have noticed that there are little icons that fade in on the loading screen for CSGO maps, that represent the team spawns and hostage/bomb areas just as the map finishes loading. You don't need to manually edit the icons in, you must simply add a few more parameters to your radar text file. This Minimap Loading Icons Tutorial will show you how.


Receiving Feedback

Part of the mapping process will be receiving feedback. Crowdsourcing information is a good way to get varied opinions and help further your development but it's important you stay receptive to what's being said. Trying to remain objective is key. For further information regarding feedback this Receiving Feedback article written some time back should have you covered.



Please do check the links I've provided as a first port of call, but if you really can't find something that's holding you back from progressing on your map, don't be scared to ask here where I, or someone else can hopefully point you in the right direction.


Edited by jackophant
Content update; This is almost 2 years old D:
Link to comment
Share on other sites

  • Sprony pinned this topic





The optimisation guides to follow. I personally suggest that you learn how to optimise using a simple level (aim map or something like that) before you start your competition entry. A couple of hours learning before you start will help you map with optimisation in mind, and stop MASSIVE headaches later on.



Link to comment
Share on other sites

Good call on making this topic btw :) I actually started making a .doc file a while ago about useful CSGO links/tutorials/whatever, but I got busy with other stuff.

Anyway, I'll be posting here whenever I come up with new stuff that could potentially be helpful to anyone.

WarOwl video about player perspective and angles, which is pretty much a must-see for every CSGO level designer out there imo: https://www.youtube.com/watch?v=5e8HZqF3cyk

AlexG (worldofleveldesign.com) about CSGO layout design:

How to design gameplay map layouts

6 principles of choke point level design

From top down layout to BSP block-in workflow

More from AlexG about CSGO on worldofleveldesign.com: http://www.worldofleveldesign.com/categories/cat_csgo.php (covering Getting started/Basics, Gameplay/Map functionality).

Link to comment
Share on other sites

Pro tip: If you are using HDR lighting in your map, do not add a named light (which light switches need) or your lighting will be broken. 

Struggled for about 5 hours figuring out if I had a leak or visleaf / portal problem...

Lightswitches & HDR - no go for now.

Link to comment
Share on other sites

  • 2 weeks later...
  • Create New...