de_bulguksa - Counter-Strike: Source Map
by Nat Laughlin on 2012-10-19
Basics
de_bulguksa is a map for the game Counter-Strike: Source. The "de" denotes the type of gameplay objective- in this case, defusing a bomb. The site layout is based on a famous temple site in Korea called Bulguksa. I began work on it in 2005 and it took about a year to complete.
Most of the geometry was built using the Hammer editor, a 3d drafting program written by Valve Software. Every object is constructed from primitive shapes, typically cubes. Walls and floors are well suited for this type.
More complex geometry, like the pagodas, require a separate set of tools to make. They were drawn using Hammer, then exported to 3D Studio Max and compiled into models. Static meshes are useful for adding details without sacrificing render speed.
Design

Although this map resembles the physical temple site, all the scales and measurements were estimated. Some of the features are accurate.
Spawn points are on oppsite ends of the map, with two unmarked bombsite objectives. These are indicated below in the overview diagram by a red X.
Inside the center building, Daeungjeon (Hall of Great Enlightenment), there is a golden buddha statue, around which is a target bombsite. I made the ambient light very low and used internal pillars to provide some cover from grenades. In reality, there are two statues made of bronze: Vairocana Buddha in Birojeon and Amitabha Budda in Geuknakjeon.
The main stairway is divided into two sections. The lower is called Cheongungyo (Blue Cloud Bridge) with 17 steps and the upper, Baegungyo (White Cloud Bridge) with 16 steps. There are 33 steps in all, representing the different paths to enlightenment. Sloped at a 45 degree angle, there is also an archway underneath that allowed water to pass, where a pond once was.
A smaller second stairway off to the left consists of Yeonhwangyo (Lotus Flower Bridge) and Chilbogyo (Seven Treasures Bridge). It provides another route for the counter-terrorist team- including paths around the complex, there are four entry points. The terrorist team has a strategic height advantage and can readily make use of the rear walls for cover. Because of this, the counter-terrorists spawn closer to the bombsites, and must rely on smoke in the assault.
There are two pagodas near the main entrance. Seokgatap, the squarer is 8.2 meters tall, and has three sections whose length ratio is simply 4:3:2. Its embellishment on the top was added in 1972. The other pagoda, Dabotap, is 10.4 meters tall and has a very unique style, as well as appearing on the Korean 10-won coin. They differ greatly, and are suggestive of ideas about the duality of nature.
Gameplay
There are a number of ways to change how smoothly the map is rendered, according to your system capabilities.
The trees are the most computationally expensive. I decided to make them prop_detail entities so their view and fade distances can be changed in console. The commands cl_detaildist and cl_detailfade control this. For example, typing
cl_detaildist 0
in console will remove the trees entirely, while
cl_detaildist 10000
forces all the trees to be rendered, at the expense of framerate. Recently Valve has chosen to restrict the use of this command in multiplayer games, and I have yet to find a workaround.
During construction I was forced to make almost everything func_detail to improve performance, enough so that the compiler could not fix all the t-junctions. This fact is responsible for all the white lines on geometry boundaries. Enabling anti-aliasing will help minimize this glitch.
Demo
Files
Installation of the map is pretty simple- only the BSP is necessary. Games with bots require a NAV file, and although I have provided one here, it can be rebuilt with the console command nav_analyze if the bots behave strangely.
Download
Compressed BSP complete map file
de_bulguksa.bsp.bz2
43,713,651 bytes
MD5: 6A34B43F2E4DE5DBB2AA72436B3164B3
Save in /STEAMDIR/SteamApps/USERNAME/counter-strike source/cstrike/maps
Download
NAV bot navigation file
de_bulguksa.nav
1,783,097 bytes
MD5: C838E50CCD53B8766605858C87E3DBEC
Save in /STEAMDIR/SteamApps/USERNAME/counter-strike source/cstrike/maps