> The last game I made custom levels for was Team Fortress 2, before the onslaught of hats and workshop items. I have always had a very love/hate relationship with the Hammer editor, and I thought my work with its tedious tools had been left behind with TF2. Having skipped the Left4Deads and Portals, I discovered that I was suddenly struck with an urge to develop for Counter-Strike Global Offensive. Since my level design skills were in their infancy during Counter-Strike: Source (2004), I was not able to design any maps for that game. CS:GO was my chance. the following post-mortem article details the construction of my first map: CS:GO: [De_Cambodia](http://csgo.gamebanana.com/maps/171290 "De_Cambodia ").
The Arms Race map Shoots has an impressive Southeast Asian propset, and being a thrifty mapper, I felt I could combine them with the Aztec jungle props to create a nice Vietnam style jungle environment. I have always liked jungle settings and there were very few such maps available. For a layout, I began by designing the bomb sites first with themes and gameplay. I wanted a village bombsite and a more open battlefield with scattered cover. During this process I themed the team spawn points in my head without gameplay, CTs would arrive by river and Ts would be in underground tunnels fitting with the Vietnam theme.
To provide attacking Ts with offensive options and to keep play from stagnating due to heavy defense, I noticed that most maps have 3-5 "lanes" or attacking paths to the bombsites. Most of the CS:GO maps have something like a 3.5 structure where one of the paths splits such as in Inferno, Aztec, and Nuke. Maps like Cbble and Prodigy from older Counter-Strike versions tend to have 3 or less lanes which were very defensive. One of my favorite maps was De_Piranesi which has something like a 4.5 structure with 2 direct bombsite lanes, 2 center lanes, and a middle connector. I was also interested in Piranesi because of the way it handles its large open area at bombsite A; a lesson I could apply to Cambodia's site A. I decided to use Piranesi as a model for the basic map structure.
From Piranesi I adopted the top lane and large open bombsite A. One structure I really wanted to create in the map was a crossing bridge where players could travel but be very exposed. This turned into a .5 lane from top to bombsite B. With these designed I set about connecting the spawns to the bombsites and lanes. I usually leave details in bombsites alone until later.
I tend to do my paper design on blank white printer paper with pencil and eraser. It is not uncommon for my maps to contain only spatial or shape callouts without a lot of thought towards smaller props. This is usually because I have enough preliminary map ideas to get started and the rest falls into place as the work progresses.
The first paper map for De_Cambodia
I find that the hardest transition to make is that from paper to alpha whitebox. I have never had a paper design translate perfectly to 3D no matter how precise of a design. Getting into an area in real time reveals spaces too tight/open or too short/long. I was able to massage many areas such as the path from CT spawn to A and sections of the insides of T tunnels. The narrowness of the top lane was also a concern of mine and I decided to make it thinner than I would have liked. Typically I enjoy wider spaces and I find that if I make areas a little smaller than I like, then it's about right.
Alpha Testing (no textures or props) has always been a tricky affair. To test in such an early state requires a dedicated community that could properly evaluate the map. The community that tested my TF2 maps 2 years previously lost many of their members and their CS:GO server was short lived due to disinterest. I opted to bot test my map for ease.
I was in great need of real player testing but this was very unlikely in an alpha state. I had a test CS:GO map which I had released in alpha. It never got comments that rose above observations regarding its development textures. I knew that an art treatment was needed. Art is the first thing people notice about games, leading many developers release screenshots and pre-rendered videos. Having good looking screenshots would pull more players into testing my map, so I set about moving it into beta.
The first beta version art was fairly straight forward with foliage hiding sharp corners or fudged displacements. The lighting had progressed a great deal and displacements could be jammed into each other in interesting ways. I used Aztec as a guide since its walls are constructed with very clever displacement work. For sound I used the Ar_Shoots soundscapes and also looked at its lighting as a guide.
Upon release of the B1 (beta version 1) it was apparent that some important balancing was needed. The CTs were arriving at bombsite A slightly after the Ts who could throw molotovs at the entrance. This allowed rushing Ts to plant unchallenged every time. Moving spawnpoints proved to be the proper course of action to adjust the teams' meeting time.
Other balance issues in subsequent versions involved keeping the lanes balanced against each other. If one lane was much easier than another, players would flock to that lane. It often wasn't a matter of other lanes being distinctly unbalanced themselves, it was that others just proved to be more open to attack. Moving spawnpoints could have a poor result since it would affect EVERY lane. I used various techniques to change arrival times more locally. In the outside of bombsite B, I added crates which players had to jump up on. This slowed them quite a bit but was annoying to players. As per a suggestion, I implemented a half ramp, half crate approach which worked well. On the T side of the top lane, I placed a crate which slowed players taking a shortcut against a small gap. Moving and eventually deleting this crate balanced the lane.
The back of bombsite B from version B2 to release.
The staging areas for attacking Ts were another important balancing aspect. Early map versions had very small sections of T tunnels which allowed CTs to push them back into their spawn. Making these areas larger with more cover prevented CTs from attacking in this way and created territory I like to call "no man's land". Struggles over territory like this create much more interesting gameplay, seen in maps such as Dust2. The inside of double doors at long A and the small stretch of tunnel at T tunnels at bombsite B are excellent examples of no man's land in action. I wanted Cambodia's top lane to feel very much this way as well as half of the bombsite A battlefield and the outside of bombsite B.
One of the major challenges of creating a jungle map in the Source engine is making it run well. There are no great occlusion or foliage systems (as in other engines) and creating a layout that worked with the visleaf system was very hard. In alpha, areas performed well without props and walls could hide sections. When adding plants, many trees and other foliage were very tall and would be rendered across the map. Also the shape of the map prevented any clever sorts of distance culling tricks.
As iterations progressed, the layout would often change to fit performance concerns. The path from CT spawn to bombsite A was changed to help with this and many versions of the map saw the walls of the jungle getting steadily taller. Many times the correct decision was to simply cut down on the amount of foliage altogether. Props were rearranged to create an even distribution in a visual area to give the illusion of a jungle yet still remain efficient. Many walls which were covered in ivy became bare and alpha painting was used to break up a tiling surface.
Players also complained that while it was interesting to hide in bushes and shoot players, it wasn't so fun to be victim. Many large bushes were removed for this reason. The release version contains relatively little foliage than initial versions.
A work in progress is most dependent upon player feedback. I had the opportunity to see this map played and experience it in a full server. There is no real substitute for seeing a map in action firsthand and listening as players make comments. At best these players would explain themselves fully regarding a map aspect they disliked (almost always disliked) and at worst they would simply pronounce that the entire map "sucked". Sometimes I would reveal myself as the mapmaker which proved more fruitful since players were a less likely to make short judgments.
As mentioned before, many players would not have even looked at the map if it had not been fully arted. Many comments expressed appreciation for the art and the theme. While this was very nice to get high scores and praise, I found myself wishing for more comments on layout and design. There were many helpful art comments regarding invisible walls (a space communication issue) and bug reports (my first versions had a severe windy tree problem). However, I got the feeling that many comments and scores were based on my screenshots alone.
Top lane from version B1 to release
It was also interesting that many players requested changes that benefited certain playstyles or even server settings. I am not a fan of De_Vertigo's ladder which requires player collision (a feature of competitive matches but not casual). In my opinion, it is better to design a map to work in both situations. However, in this case I received some requests to permit what I would consider to be exploits, such as being able to jump up on the areas at the top lane to shoot down at the B bombsite. It was characterized by a commenter as allowing for "freedom" which is a very interesting idea indeed. I decided that while I liked emergent gameplay, there were limits to what players would consider to be fair play. I call this the difference between "not expected" and "unexpected". For example, on Dust2, it is unexpected that a player can jump on the trash and boxes near CT spawn in bombsite A to shoot at players approaching from catwalk/short A. On the other hand, it is not expected that a player should be able to get on top of the boxes at bombsite B next to the tunnels. It may seem like a slim difference as written here, but in game I think it is clear that the bombsite B example is an exploit.
One of my responses to player feedback was a special BX version of the map. This version implemented many changes to layout of which I was unsure. Basically, this was my attempt to throw all the suggestions at the wall in a particular combination to see which worked. Among these changes was the highly requested change to bombsite A which involved a balcony that was inaccessible from the ground. Enough players had requested this that I was willing to give it a try. As it turned out, it was not horribly game breaking and it stayed to the final version.
The stacked crates
De_Cambodia was my first CS:GO map and it bore the brunt of learning how to design for this game. As a result it had the most versions and the most iterations. My subsequent efforts approach balance in less time and each change is done with more confidence. I never expect that a map will be perfect on the first attempt, but each change has more force and is more correct (now that the dials have been identified).
Unfortunately, it appears that there are fewer and fewer occupied servers with only a fraction of those being dedicated to non-surf/gungame/jailbreak/deathmatch etc. The CS:GO playerbase seems to be playing matchmade games of which custom maps are not a part. It is entirely possible this map and many others won't get much play simply due to lack of players. Hopefully the game will be updated with new features which will attract new players and convert the many still playing 1.6 and Source. In the meantime, I hope players will enjoy De_Cambodia.
Interesting read, Tanuki. Well done :)
Just 2 small typos in the last sentence of last paragraph:
>Hopefully the game will (the "be" is missing) updated with new features which will attract new players and covert (should be "convert") the many still playing 1.6 and Source. In the meantime, I hope players will enjoy De_Cambodia.
And yes, we enjoyed de\_cambodia :)
Keep up the good work.
It is nice to see a postmortem though I expected something you have done and realized was not right or obstacles during development that you could have avoided, you know, thumb rules I could use. Maybe you planned it good enough or knew enough, in any case the map was good. Also the making of is quite interesting, and knowing users feedback and your decisions is a plus.
On the offtopic issues, I agree about CSGO & even CS/CSS community not being open to new maps and playing the same ones over and over, even when there are plenty of options to play new, different and even better maps. I hope workshop will help overcome that, and make custom content a viable option. TF2 is a more open community and grateful in my opinion, maybe CSGO will some day.
I also agree on feedback not being good enough, or just superficial, but I think that is comprehensible as not everyone designs maps, but plays, and the players don't need a deep analysis and understanding of the mechanics involved. You should make a developers channel in steam (or somewhere else) to gather feedback from developers, or ask developers. Players opinions are usually "I (don't)like it", as I see it, players end determining if it is going to be played, not always if it works, and rarely why it does or not. If you keep mapping and I have spare time we can share opinions, it is something I like though I don't have much time.
Hey man thanks for sharing! Don't worry about your maps not being used, our server has >13k frags on this map already (the _bx ver). We've had it on our server since the first beta. Keep up the great work, this map turned out awesome.