Creating a Bomb Defusal Map: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Overhaul. Investigated mapname.txt, however this section should probably be on a different site.)
Line 6: Line 6:
{{warning|Languages pages outdated}}
{{warning|Languages pages outdated}}


'''Bomb Defusal''' scenarios are played in the Classic Competitive and Casual gamemodes. Players earn money by winning rounds, getting kills, and by planting or defusing the bomb. They can purchase weapons and equipment at the beginning of each round.
'''Bomb Defusal''' is a scenario for maps that are played with the Classic game modes of {{game link|Counter-Strike: Source}} and {{game link|Counter-Strike: Global Offensive}}.
Bomb Defusal maps require spawn points and buy zones for each team, and at least one bomb site, but usually 2- '''A''' and '''B'''.


Additionally, Bomb Defusal maps use the <code>de_</code> prefix in their file name- for example, Dust 2 is named <code>de_dust2</code>.
This site covers the requirements for a map for this scenario: spawn points and buy zones for each team, and at least one bomb site, but usually two: '''A''' and '''B'''.
{{Note | {{csgo}} Bomb Defusal is also played in Casual, [[Creating a Wingman Map|Wingman]], Weapon Expert, [[Creating a Arsenal: Demolition Map|Demolition]] and [[Creating a Guardian Scenario Map|Guardian]], each with certain deviations from the following game mode description. ''See also: [[CSGO Game Mode Commands|CS:GO Game Mode Commands]].''}}
{{Note | Bomb Defusal maps use the <code>de_</code> prefix in their file name. For example, Dust 2 is named <code>de_dust2.[[bsp]]</code>.}}


[[image:csgobuyzones.jpg|thumb|400px|Spawn points and buy zones]]
== Scenario Description ==
==Spawn Rooms==
Officially, the classic game modes play as follows:
[[info_player_counterterrorist]] and [[info_player_terrorist]] entities are used to spawn separate teams at the start of each round. The spawn room houses the buy zone and spawn points for each team. They are placed opposite each-other and should be hidden from each sides view.
* {{csgo}} Before match start, there is a warmup period with player respawns. For warmup arenas, see [[Setting up 1v1 Warmup Arenas]].
* At the beginning of each round, the [[player]]s spawn at a spawn point of their team. Each round starts with a freezetime where players can neither move nor shoot. Its duration in seconds is set with the [[ConVar]] <code>mp_freezetime</code>.
* During the freezetime, the players can purchase weapons and equipment.
* After the freezetime, players can move and shoot. Round-ending objectives are bomb explosion, bomb defusal, elimination and timeout. More precisely: Terrorists must plant a bomb ([[weapon_c4]]) at a bomb site ([[func_bomb_target]]) and wait for it to explode, Counter-Terrorists must stop them from doing so.
* All players are notified if a ''bomb has been planted''.
* Players earn money by winning/losing rounds, getting kills, and by planting or defusing the bomb.
 
== Map Requirements ==


==== Spawn Points ====
==== Spawn Points ====
The spawn points can sometimes severely impact map balance and can make choke points(meeting points) very engaging. In competitive environments random spawns may not be desirable to some players, but can work on some maps like, on Dust 2 T side.
[[image:csgobuyzones.jpg|thumb|350px|Spawn points and buy zones]]
[[Info_player_counterterrorist]] and [[info_player_terrorist]] entities are used by default to spawn the [[player]]s of separate teams at the start of each round. Per round, each entity spawns at most one player.
 
The spawn areas are usually placed opposite each other on the map and should not be visible to each other.
 
In Classic Competitive, there are only 5 [[player]]s on each team.
{{csgo}} In Classic Casual [[game mode]], there are up to 10 players on each team.


The Casual game mode is 10 vs. 10 on official servers, but it is a good idea to include 16 spawn points for each team, to work smoothly with 32 player servers.
{{Note | Keep spawn point entities away from each other, away from any solid things around it and 16 units above the ground.}}
<br>
{{Note | The player width is 32 units, even if [[Hammer]] shows different [[dimensions]] for a player spawn entity!}}
In Classic Competitive, there are only 5 players on each team. Timings to bomb sites are very important in defuse maps. If you make five spawns with the <code>Spawn Number (int)</code> value 0 and others with the value 1; ''Smaller numbers are used before larger numbers.''
{{Tip | It is a good idea to include 16 spawn points for each team, to work with 32 player servers.}}
<br>
{{Tip |
For example, you might have 5 spawn points set to priority 0, and set the remaining spawn points to priority 1. The 5 spawns set to 0 will be the only spawn points used in Classic Competitive matches.
{{csgo}} You can use the <code>Spawn Priority (int)</code> keyvalue (<code>priority</code>) of spawn point entities to determine the order in which they are used to spawn players. ''Smaller numbers are used before larger numbers''.
For example, you might have 5 spawn points with priority 0, and the remaining ones with priority 1. The 5 spawns set to 0 will be the only spawn points used in Classic Competitive matches.
}}
{{Warning |
The number of [[info_player_terrorist]] entities on a map is also the maximum number of players on the Terrorist's team. The same applies to [[info_player_counterterrorist]] entities and the Counter-Terrorist's team. This can cause ''Team is full'' errors when joining a team.
}}


==== Buyzones ====
==== Buyzones ====
Create a brush around the spawn points for each team, and texture it with the <code>tools/toolstrigger</code> texture. Now select the brush, and press {{key|Ctrl}}+{{key|T}} to tie it to an entity. Change the entity class to [[func_buyzone]]. Open the entity properties, and set the <code>Team Number</code> property- this decides which teams are allowed to use the buy zone.
[[Basic Construction|Create a brush]] so that all spawn points of a team are touching it, and texture it with the <code>tools/toolstrigger</code> texture. Now select the brush, and press {{key|Ctrl}}+{{key|T}} to tie it to an entity. Change the entity class to [[func_buyzone]]. Open the entity properties, and set the <code>Team Number (int)</code> keyvalue (<code>TeamNum</code>) to the appropriate team. This decides which teams are able to open the buy menu while touching the previously created trigger volume.
 
Do this for the spawn areas of both teams.


==== Bomb sites ====
[[image:csgobombsites.jpg|thumb|right|350px|A [[func_bomb_target]] brush, textured with <code>tools/toolstrigger</code>]]
[[image:csgobombsites.jpg|thumb|right|350px|A [[func_bomb_target]] brush, textured with <code>tools/toolstrigger</code>]]
==Bomb sites==
[[Basic Construction|Create a brush]] textured with <code>tools/toolstrigger</code>, and with it selected, press {{Key|Ctrl}}+{{Key|T}} and change the entity class to [[func_bomb_target]].
Make a brush textured with <code>tools/toolstrigger</code>, and with it selected, press {{Key|Ctrl}}+{{Key|T}} and change the entity to [[func_bomb_target]].


{{note|The property <code>Heist Mode bomb Target</code> is an unused value and should be ignored.}}
Though the official Bomb Defusal maps have two bomb sites, the game mode will work correctly with just one. If a map has no [[func_bomb_target]], no bomb planting is possible by default.
The bombsites are assigned as A and B in the order the [[func_bomb_target]] entities were created. Though the official Bomb Defusal maps have two bomb sites, the game will work correctly with just one, though this is only recommended for a map in testing stages.


{{note|Place letter overlays around the bomb site so players can identify each site.}}
{{Note | The <code>Heist Mode bomb Target</code> keyvalue (<code>heistbomb</code>) is an unused value and should be ignored.}}


Bomb sites are placed close Counter-Terrorists so that CTs can get into a defensive position without Terrorists planting the bomb. Each site should require two entrances; most cover is set up so that you can watch one entrance while being covered from the other.
{{Note |
The bombsites are assigned '''A''' and '''B''' in the order in which their brush(es) were tied to an entity (!).
The order in which their classname is changed to [[func_bomb_target]] does not affect the labelling!
To swap '''A''' and '''B''', move both [[func_bomb_target]]s to the world by selecting them and pressing {{Key|Crtl}} + {{Key|Shift}} + {{Key|W}} and then tieing the brush(es) for '''A''' to an entity using {{Key|Ctrl}} + {{Key|T}}. After that, do the same for '''B'''. Change the entity class for both of them.
}}


==Miscellaneous==
{{Placement Tip | Place letter [[overlays]] or [[decal]]s around the bomb site so players can find and identify each site.}}
Though your Bomb Defusal map will work correctly with any prefix (or with none at all), using the <code>de_</code> prefix allows the game to correctly identity the type of map as a 'Bomb Scenario Mission' during loading screens.  


For example, all defuse maps use the file name <code>
==== Balance ====
* As the timings to bomb sites are very important in defuse maps, the spawn point placement can severely impact map balance and can make choke points (meeting points) very engaging.
* In competitive environments random spawns may not be desirable to some players, but can work on some maps. For example, [[player]]s on the Terrorist's team on ''de_dust2'' can have a good spawn for ''B'' or for ''A long''.
* Bomb sites are located closer to the Counter-Terrorist's spawn area so that they can get into a defensive position before Terrorists arrive.


* de_cache
{{Placement Tip | Each bomb site should require two entrances; Mostly, cover is set up at a bomb site so that a player can watch one entrance while being covered from the other.}}
* de_cbble
* de_dust
* de_dust2
* de_inferno
* de_mirage
* de_nuke
* de_overpass
* de_train
* de_vertigo


== mapname.txt ==
[[Image:Css_mapname_txt_assault.jpg|thumb|500px|{{css}} The plain text in the file <code>cstrike/maps/cs_assault.txt</code> is shown before players choose a team.]]
[[image:csgoloadscreen.jpeg|thumb|500px|{{csgo}} An edited loading screen. The content of the file <code>csgo/maps/de_testingmap.txt</code> is:
<source>
RULESHERE


</code>
<font color='#727272'>This is an example for the Valve Developer Community</font><font color='#ff9844'> Colored Text! </font>
</source>
]]
You can ship the file <code><game>/maps/<mapname>.txt</code> with your map to display custom text for that map.


You can also edit your loading screens by changing your [[mapname.txt(CSGO)|mapname.txt]]
{{css}} The text in that file is displayed as plain text in the UI when choosing a team. See the screenshot on the right.
<br>
{{note|Be sure to keep the <code>RULESHERE</code> line if you aren't making a custom gamemode.}}
'''Example Code:'''


<code>
{{csgo}} The text in that file is displayed in the loading screen. The HTML tag <code><nowiki><font color='#FFFFFF'>...</font></nowiki></code> can be used for colors. Also, the following formats can be used:
RULESHERE


<nowiki><font color='#727272'>This is an example for the Valve Developer Community</font><font color='#ff9844'> Colored Text! </font>  
{| class="standard-table"
</nowiki>
|+ CS:GO Loading screen texts for a ''de_'' map
</code>
! <mapname>.txt content
<br>
! Result (English)
Shown as
|-
<br>
| <source>COMMUNITYMAPCREDITS:
[[image:csgoloadscreen.jpeg|400px|An edited loading screen in CS:GO]]
any other text</source>
| Bomb Scenario Mission<br><br>''#SFUI_Rules_<gamemode>_Loading''<br><br><font color='#727272'>A community map created by:</font><br><font color='#ff9844'>any other text</font>
|-
| <source>RULESHERE
any other text</source>
| Bomb Scenario Mission<br><br>''#SFUI_Rules_<gamemode>_Loading''<br><br>any other text
|-
| <source>any other text</source>
| Loading...any other text
|-
| ''none''
| YOUR TEXT FILE IS BLANK!<br><br>If you intend for this space to be blank, open up '<font color='#72b4d0'><mapname>.txt</font>', enter a single space and save the file.
|}
{{Note |
* The ''#SFUI_Rules_<gamemode>_Loading'' mentioned in the table is actually a language and [[game mode]] specific string which is looked up from the text file <code>csgo/resource/csgo_<language>.txt</code>. On the screenshot on the right it is the string "''Buy new weapons [...] Best out of 15 rounds''".
* The text "Bomb Scenario Mission" is generated from the map prefix ''"de_"''. Maps with ''"cs_"'' instead generate "Hostage Scenario Mission" and all other map names deliver "Elimination Mission", no matter the actual scenario!
* The key word <code>COMMUNITYMAPCREDITS:</code> or <code>RULESHERE</code> '''must''' be the first word of the text file to deliver the above result!
}}


==See also==
== See also ==
* [[How To Develop A Map That Works]]
* [[How To Develop A Map That Works]]
* [[Choosing Player Models]]
* [[Choosing Player Models]]

Revision as of 18:18, 15 August 2021

Template:Otherlang2

Warning.pngWarning:Languages pages outdated

Bomb Defusal is a scenario for maps that are played with the Classic game modes of Counter-Strike: Source Counter-Strike: Source and Counter-Strike: Global Offensive Counter-Strike: Global Offensive .

This site covers the requirements for a map for this scenario: spawn points and buy zones for each team, and at least one bomb site, but usually two: A and B.

Note.pngNote: Counter-Strike: Global Offensive Bomb Defusal is also played in Casual, Wingman, Weapon Expert, Demolition and Guardian, each with certain deviations from the following game mode description. See also: CS:GO Game Mode Commands.
Note.pngNote: Bomb Defusal maps use the de_ prefix in their file name. For example, Dust 2 is named de_dust2.bsp.

Scenario Description

Officially, the classic game modes play as follows:

  • Counter-Strike: Global Offensive Before match start, there is a warmup period with player respawns. For warmup arenas, see Setting up 1v1 Warmup Arenas.
  • At the beginning of each round, the players spawn at a spawn point of their team. Each round starts with a freezetime where players can neither move nor shoot. Its duration in seconds is set with the ConVar mp_freezetime.
  • During the freezetime, the players can purchase weapons and equipment.
  • After the freezetime, players can move and shoot. Round-ending objectives are bomb explosion, bomb defusal, elimination and timeout. More precisely: Terrorists must plant a bomb (weapon_c4) at a bomb site (func_bomb_target) and wait for it to explode, Counter-Terrorists must stop them from doing so.
  • All players are notified if a bomb has been planted.
  • Players earn money by winning/losing rounds, getting kills, and by planting or defusing the bomb.

Map Requirements

Spawn Points

Spawn points and buy zones

Info_player_counterterrorist and info_player_terrorist entities are used by default to spawn the players of separate teams at the start of each round. Per round, each entity spawns at most one player.

The spawn areas are usually placed opposite each other on the map and should not be visible to each other.

In Classic Competitive, there are only 5 players on each team. Counter-Strike: Global Offensive In Classic Casual game mode, there are up to 10 players on each team.

Note.pngNote: Keep spawn point entities away from each other, away from any solid things around it and 16 units above the ground.
Note.pngNote: The player width is 32 units, even if Hammer shows different dimensions for a player spawn entity!
Tip.pngTip: It is a good idea to include 16 spawn points for each team, to work with 32 player servers.
Tip.pngTip:

Counter-Strike: Global Offensive You can use the Spawn Priority (int) keyvalue (priority) of spawn point entities to determine the order in which they are used to spawn players. Smaller numbers are used before larger numbers. For example, you might have 5 spawn points with priority 0, and the remaining ones with priority 1. The 5 spawns set to 0 will be the only spawn points used in Classic Competitive matches.

Warning.pngWarning:

The number of info_player_terrorist entities on a map is also the maximum number of players on the Terrorist's team. The same applies to info_player_counterterrorist entities and the Counter-Terrorist's team. This can cause Team is full errors when joining a team.

Buyzones

Create a brush so that all spawn points of a team are touching it, and texture it with the tools/toolstrigger texture. Now select the brush, and press Ctrl+T to tie it to an entity. Change the entity class to func_buyzone. Open the entity properties, and set the Team Number (int) keyvalue (TeamNum) to the appropriate team. This decides which teams are able to open the buy menu while touching the previously created trigger volume.

Do this for the spawn areas of both teams.

Bomb sites

A func_bomb_target brush, textured with tools/toolstrigger

Create a brush textured with tools/toolstrigger, and with it selected, press Ctrl+T and change the entity class to func_bomb_target.

Though the official Bomb Defusal maps have two bomb sites, the game mode will work correctly with just one. If a map has no func_bomb_target, no bomb planting is possible by default.

Note.pngNote: The Heist Mode bomb Target keyvalue (heistbomb) is an unused value and should be ignored.
Note.pngNote:

The bombsites are assigned A and B in the order in which their brush(es) were tied to an entity (!). The order in which their classname is changed to func_bomb_target does not affect the labelling! To swap A and B, move both func_bomb_targets to the world by selecting them and pressing Crtl + Shift + W and then tieing the brush(es) for A to an entity using Ctrl + T. After that, do the same for B. Change the entity class for both of them.

PlacementTip.gifPlacement Tip: Place letter overlays or decals around the bomb site so players can find and identify each site.

Balance

  • As the timings to bomb sites are very important in defuse maps, the spawn point placement can severely impact map balance and can make choke points (meeting points) very engaging.
  • In competitive environments random spawns may not be desirable to some players, but can work on some maps. For example, players on the Terrorist's team on de_dust2 can have a good spawn for B or for A long.
  • Bomb sites are located closer to the Counter-Terrorist's spawn area so that they can get into a defensive position before Terrorists arrive.
PlacementTip.gifPlacement Tip: Each bomb site should require two entrances; Mostly, cover is set up at a bomb site so that a player can watch one entrance while being covered from the other.

mapname.txt

Counter-Strike: Source The plain text in the file cstrike/maps/cs_assault.txt is shown before players choose a team.
Counter-Strike: Global Offensive An edited loading screen. The content of the file csgo/maps/de_testingmap.txt is:
RULESHERE

<font color='#727272'>This is an example for the Valve Developer Community</font><font color='#ff9844'> Colored Text! </font>

You can ship the file <game>/maps/<mapname>.txt with your map to display custom text for that map.

Counter-Strike: Source The text in that file is displayed as plain text in the UI when choosing a team. See the screenshot on the right.

Counter-Strike: Global Offensive The text in that file is displayed in the loading screen. The HTML tag <font color='#FFFFFF'>...</font> can be used for colors. Also, the following formats can be used:

CS:GO Loading screen texts for a de_ map
<mapname>.txt content Result (English)
COMMUNITYMAPCREDITS:
any other text
Bomb Scenario Mission

#SFUI_Rules_<gamemode>_Loading

A community map created by:
any other text
RULESHERE
any other text
Bomb Scenario Mission

#SFUI_Rules_<gamemode>_Loading

any other text
any other text
Loading...any other text
none YOUR TEXT FILE IS BLANK!

If you intend for this space to be blank, open up '<mapname>.txt', enter a single space and save the file.
Note.pngNote:
  • The #SFUI_Rules_<gamemode>_Loading mentioned in the table is actually a language and game mode specific string which is looked up from the text file csgo/resource/csgo_<language>.txt. On the screenshot on the right it is the string "Buy new weapons [...] Best out of 15 rounds".
  • The text "Bomb Scenario Mission" is generated from the map prefix "de_". Maps with "cs_" instead generate "Hostage Scenario Mission" and all other map names deliver "Elimination Mission", no matter the actual scenario!
  • The key word COMMUNITYMAPCREDITS: or RULESHERE must be the first word of the text file to deliver the above result!

See also