MY LEVEL DESIGN PROCESS
This page showcases the process I went through when designing a level for Counter-Strike: Global Offensive.
It all began with an idea: What if me and Arie Gijsenbergh, a fellow level designer,
made a level that would feature gameplay in and around a slaughterhouse?
So we sat down, grabbed a whiteboard, and drew out the basic nodes, paths, and routes of popular maps,
as well as ideas for our map, which we named de_meat.
Then we started thinking of cool areas the level could have, that both look nice and make for good callouts. CSGO is a competitive multiplayer shooter, so players need to be able to quickly tell other players where enemies are. We both made a list of areas that might be nice to use:
Then we have to think of props: Which ones do we need? What can me make within the allotted time? We made more lists!
Then we had to compile a list of photos of these areas. Maybe we think they're cool, but they're actually not good looking or useful for the map, so we gathered concept photos.
Now comes the gameplay part! We have ideas for areas, but what is absolutely required for CSGO maps to be good? There are plenty of must haves here:
Great! So we have to make sure those things, or a majority of them, are in the map in some way. Let's start drawing out a layout!
That seems like a decent quick draw out, now lets add some detail. What do these areas look like?
Alright, and what would the combat look like?
So we have 3 major combat areas: A site, B site and mid. This all seemed okay, but then again it just looks very square. This level might work, but it's the first one I drew out. Let's try drawing another, and seeing what we can come up with.
Alright! This is much more simplified, and not super square. What are these areas like?
That looks better. But I was wondering if we could redo mid a bit better. Currently it may be a bit busy. Is there something else we can put there?
Yes, but now it's too simplified. I decided to stick with the first draw of mid. Now, what does the map look like exactly?
Cool! That looks nice, and gives us a clear idea of where the level will go. All of this was made in Photoshop, so we can easily turn layers off:
Time to whitebox! Let's make this level in the game and see if it plays well, and if the scale holds up!
I then used 3dsMax to create the most basic and necessary models, such as the cow cage. I only made the models that CSGO did not already have, and that were critical to gameplay.
If anything could be made with basic geometry instead of modelling, like this group of toilet stall, I would use brushes instead.
Only placing geometry and props that are critical to gameplay, such as cars, snow, and crates.
After running through it myself and counting out the time it takes to get from area to area, due to the bomb timer and round timer,
it was time to start testing! I grabbed friends from both Facebook and Steam to do this at first:
After some more art was completed I also applied to playtests at Mapcore and Reddit, and gathered lots and lots of feedback from forum posts:
As well as player data such as movement, grenade use, kill locations, etc.
All that playtesting data was then used to set up both kill maps, to see who killed who from where:
And of course, heatmaps of movement, death, smoke use, flashbang use, etc.
Between playtests we changed the maps in all kinds of ways for gameplay, but also had to add art. Now me and Arie can do some art, but we don't have all the time in the world to make it. So we looked around and found some artists who could help us out! I then created a folder structure for all the props we needed:
And wrote assignments for the artists to make props with. I gave them a zip that included: 3 concept photos, an .obj file that contained the surrounding geometry of the prop, and an assignment description to explain the deliverables:
All that was left is weeks of iteration, playtesting and development!
Below is a GIF of the top view of the map as it changed during development:
So over a span of about 50 iterations we went from this:
And from this:
Thank you for taking a quick look at my level design process for de_meat!