Building Crow n is a three part series from mapmaker Shawn " FMPONE ” Snelling and pro Counter-Strike player/mapmaker Sal " VOLCANO " Garozzo, revealing the inspiration and building process for their upcoming map Crown. Their goal with Crown is simple: build the best competitive Counter-Strike map ever. In part two, Snelling breaks down Crown's level design and the tools used to build map geometry and textures.
The first step in making a multiplayer map is creating a layout. But what is a layout? For level designers, a layout is the floor-plan of a level lurking in their brain, which they often draw out as a blueprint and then sculpt into a 3D “grey box” representation in-game. For everyday players, a layout is how they visualize a level's available paths and make strategic decisions.
We spent nine months refining Crown's layout into the final map it is today. And now Crown is ready for the public. It's available today. You can download the map right now on the Steam Workshop and play it in Counter-Strike: GO. Read on to learn how we built it.
The sheer number of revisions Crown has gone through over the course of nine months reveals the enormous challenge of mapping an environment from your imagination. Grey boxing is very much like sprouting a new world out of thin air—like a creative “big bang”—and for that reason it is a frustrating, difficult stage of a map's development that many people never get past.
Volcano and I spent countless hours pondering layout details both in our grey-boxed version of Crown, and once the map evolved into a more visually detailed environment. I think almost every level designer in the world recognizes that no matter how well thought-out, a level will always go through a maturation process once it becomes a playable space. Thankfully, Crown's earliest stages are well documented, allowing us to show screenshots of Crown in its infancy.(opens in new tab)
Above: an early image of Crown as a grey box. Below: finalized version of the same part of the map. Can you spot the subtle changes in geometry?(opens in new tab)
The right path
Our primary goals with Crown's grey boxed layout was to maintain the spacious, open feeling of Dust2, without losing sight of the precise efficiency of Inferno's layout. It's also about the size of Dust2, making it a fairly small map. For this reason, Volcano and I decided to make the map's geometry imposing and impressive.
To focus on one area which evolved during our discussions, this path outside of CT spawn, for example, would become the focus of continued revision throughout Crown's development.(opens in new tab) (opens in new tab) (opens in new tab)
Volcano's goal with this epic walkway was to include elements of verticality similar to a map like Nuke—verticality which extends all the way into the B bombsite without creating awkward firefights where players are forced to look straight up at the sky. The path leading up to this vertical terrace was a challenge: although we wanted verticality, one consequence of creating “higher ground” is that it can make surrounding areas obsolete. Our perch needed to have drawbacks and limitations which would make the lower path viable. Over time, we added a slot above the terrorist entrance leading into this route which would allow an attacking team to coordinate smoke and flash grenades to block visibility along this long sight-line.
Much later in the development process, we added a route into the area commonly referred to as “armory.” We observed players having difficulty retaking the bombsite due to limited entry points and the additional route alleviated the issue and made the armory a crucial area to control in the bombsite.
The editor(opens in new tab)
Counter-Strike: GO maps are made with Hammer, an aging tool which isn't easy to use. In Hammer, geometry is mostly composed of brushes, a fancy word for cubes, and mapping resembles playing with LEGO.
Walls or other flat surfaces can be brushwork. Other intricate elements you might see in a level such as a chair, a light fixture or an ornamental doorway, are “props”—models imported from programs like Maya or 3DSMAX. Here you can see editor screenshots of Crown's brushwork, as well as “flat” screenshots which place emphasis on Crown's total geometry (brushwork + props).(opens in new tab)
Source unfortunately hits a “brush limit” fast. It would be difficult to make 1/4th of Crown with brushes alone; we needed to convert much of the brushwork of the map into models in order for the map to compile. Compiling is a process which converts the map into a file readable by the Source engine. In practice, compiling means sitting around at your computer for an hour and a half while lighting is baked. Every time you make a change in your level and want to see those changes in-game, a new compile is required.
Behind every map ever made for Counter-Strike, Half-Life, or Day of Defeat, was a level designer staring blankly at this screen. A level designer most likely staring, snoring, or eating.
Textures: the lifeblood of a map
Textures really are the lifeblood of a map. Simple geometry is nice, but a texture controls so much about the color of a map, the “feel” of surfaces, and the way our eyes process an environment.
Here you can see an excellent example of a common texture used throughout Crown, made by the artist PenE (from Crytek Germany), which I made some minor alterations to for the sake of color.(opens in new tab)
While I did make a few textures, most of Crown's textures are made as a favor by my friends. When texture re-use or borrowing isn't an option, I tend to ask myself “what do I actually need to match what I see in a photographic reference?”
In the case of this eagle plaque, I grabbed an open-source image of the Spanish army flag. I liked this image of an eagle because it conveyed the strong, resonant power Volcano and I wanted to echo throughout Crown. I then overlayed that eagle onto a marble texture used frequently throughout the map, on loan from the brilliant artist Kikette from Arkane (the developers who made Dishonored). From that point on, I focused on building a convincing diffuse map by painting on staining, highlighting, and other details. Although making custom assets is time consuming and difficult, I try not to make sacrifices in my own “vision” of an area, simply because GO's default assets don't resemble what I need.(opens in new tab)
The fun part
Contending with Hammer is tough, but seeing your work come alive is a thrill. And thanks to GO's updated lighting engine, level geometry is lit so beautifully and naturalistically.
Here you can observe the way geometry, lighting, and texturing come together over time compared with our real-world reference.(opens in new tab) (opens in new tab)
Above: Pathway to Crown's bombsite B and a reference photo from Spain. Below: Crown's Terrorist spawn and a Spain reference photo.(opens in new tab) (opens in new tab)
Gameplay, gameplay, gameplay
In summation, Crown went through several distinct creative processes. First, imaginary geometry was transferred from Volcano's brain, to paper, to the editor. Secondly, we refined our basic grey box map into something which reflected not just our initial visions of Crown, but also a practical map—because you always notice things about a grey box you hadn't considered before actually making it. Thirdly, we tested this grey box. Fourthly, we tried to meld our grey box into a plausible approximation of Spain by using default assets or by creating what was needed. Finally, we tested and refined some more.
Then we had a map. Then we had Crown—the real, playable level. You can download it on the Steam Workshop and play it now, and you can read about the inspiration for Crown's design in part one of Building Crown .
In the final article of this series, we will explore professional play testing, and the iterative process that happens when Volcano and I walk around our map. We will examine our approach to playtests, the expectations we have, and how we talk through changes to the map. Our goal is to give you insight into each step of the creative process of making a Counter-Strike map.(opens in new tab) (opens in new tab)