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 4: Line 4:
|zh-cn=Creating a Bomb Defusal Map:zh-cn
|zh-cn=Creating a Bomb Defusal Map:zh-cn
}}
}}
{{warning|Languages pages outdated}}
{{back|Creating a Classic Counter-Strike Map}}
This page covers only the special requirements for '''Bomb Defusal Scenarios''' in a Classic Competitive map with in {{game link|Counter-Strike: Source}} and {{game link|Counter-Strike: Global Offensive}}.


'''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}}.
For the other map requirements, see [[Creating a Classic Counter-Strike Map]].
 
{{warning|Languages pages are outdated.}}
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>.}}
 
== Scenario Description ==
Officially, the classic game modes play as follows:
* {{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 ==
== Map Requirements ==
[[image:csgobombsites.jpg|thumb|right|500px|A [[func_bomb_target]] brush, textured with <code>tools/toolstrigger</code>]]
[[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'''.
{{main|func_bomb_target}}
If such an entity exists, the game will care about the rest, such as appropriate round endings and giving one Terrorist a [[weapon_c4|C4]] at round start.


==== Spawn Points ====
Though the official Bomb Defusal maps have two bomb sites, the Bomb Defusal Scenario will work correctly with just one. If a map has no [[func_bomb_target]], no bomb planting is possible by default.
[[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.
 
{{Note | Keep spawn point entities away from each other, away from any solid things around it and 16 units above the ground.}}
{{Note | The player width is 32 units, even if [[Hammer]] shows different [[dimensions]] for a player spawn entity!}}
{{Tip | It is a good idea to include 16 spawn points for each team, to work with 32 player servers.}}
{{Tip |
{{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 ====
[[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.
==== Competitive Aspects ====
 
==== Bomb sites ====
[[image:csgobombsites.jpg|thumb|right|350px|A [[func_bomb_target]] brush, textured with <code>tools/toolstrigger</code>]]
[[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]].
 
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 | The <code>Heist Mode bomb Target</code> keyvalue (<code>heistbomb</code>) is an unused value and should be ignored.}}
 
{{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.
}}
 
{{Placement Tip | Place letter [[overlays]] or [[decal]]s 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, [[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.
* Bomb sites are located closer to the Counter-Terrorist's spawn area so that they can get into a defensive position before Terrorists arrive.
 
* 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.
{{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.}}
* Think about safe planting spots and whether they should (not) be there (for a specific direction).
 
* {{csgo}} Remember to eliminate bomb stuck spots all across the map using [[trigger_bomb_reset]] entities and wise [[Tool_textures#Clips|clipping]].
== mapname.txt ==
* {{csgo}} Prevent bomb defusal through walls using [[func_no_defuse]] entities.
[[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.]]
{{Idea | Place letter [[overlays]] or [[decal]]s around the bomb site so players can find and identify each site.}}
[[image:csgoloadscreen.jpeg|thumb|500px|{{csgo}} An edited loading screen. The content of the file <code>csgo/maps/de_testingmap.txt</code> is:
{{Idea | Visualize where [[player]]s can plant the bomb, i.e. the bounds of the [[func_bomb_target]]s.}}
<source>
RULESHERE
 
<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.
 
{{css}} The text in that file is displayed as plain text in the UI when choosing a team. See the screenshot on the right.
 
{{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:
 
{| class="standard-table"
|+ CS:GO Loading screen texts for a ''de_'' map
! <mapname>.txt content
! Result (English)
|-
| <source>COMMUNITYMAPCREDITS:
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 ==
* [[How To Develop A Map That Works]]
* [[Choosing Player Models]]
* [[Creating a working mini-map]]
* [[Navigation Meshes]]
* [[CSGO Map Publish Tool|Publishing Your Map to the Steam Workshop]]


[[Category:Counter-Strike: Global Offensive]]
[[Category:Counter-Strike: Global Offensive]]
[[Category:Level Design Tutorials]]
[[Category:Level Design Tutorials]]

Revision as of 17:02, 29 August 2021

Template:Otherlang2

Creating a Classic Counter-Strike Map

This page covers only the special requirements for Bomb Defusal Scenarios in a Classic Competitive map with in Counter-Strike: Source Counter-Strike: Source and Counter-Strike: Global Offensive Counter-Strike: Global Offensive .

For the other map requirements, see Creating a Classic Counter-Strike Map.

Warning.pngWarning:Languages pages are outdated.

Map Requirements

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.

Main article:  func_bomb_target

If such an entity exists, the game will care about the rest, such as appropriate round endings and giving one Terrorist a C4 at round start.

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

Competitive Aspects

  • Bomb sites are located closer to the Counter-Terrorist's spawn area so that they can get into a defensive position before Terrorists arrive.
  • 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.
  • Think about safe planting spots and whether they should (not) be there (for a specific direction).
  • Counter-Strike: Global Offensive Remember to eliminate bomb stuck spots all across the map using trigger_bomb_reset entities and wise clipping.
  • Counter-Strike: Global Offensive Prevent bomb defusal through walls using func_no_defuse entities.
Tip.pngIdea: Place letter overlays or decals around the bomb site so players can find and identify each site.
Tip.pngIdea: Visualize where players can plant the bomb, i.e. the bounds of the func_bomb_targets.