nyuuzyou/wikis huggingface dataset:
Creating CCP maps

Creating a CCP type map is a little more difficult than your average TF2 map, due to the unstable nature of its gameplay (requiring more forethought and planning for balance) and also due to the "workaround" nature of the map mechanics (TF2 wasn't designed to support this type of maps, so the I/O connections get very hairy).
== Team control points ==
Your team control points need to be setup in an overall "circular" arrangement. Pay attention to how the map layout affects game balance — it is usually a good idea to have a very symmetrical map to make sure neither team has an advantage.
So far, only a 4-point configuration has been attempted. And while more testing is required, the CCP author (Hovis) feels a good map can consist of as many as 6 nodes, or maybe more.
== Respawn rooms ==
There are two basic ways to handle respawning with CCP. One is through team-neutral spawn rooms (that change owners with the node re-association) for each node, and the other is with 2 respawn rooms per node that are team-specific. This is a matter of taste for the map author, both can be made to work, but I find the "neutral" respawns to be easier to handle.
If you're going to use "neutral" respawn rooms, you must deal with a new issue - spawn camping. A very simple solution to this is to simply do away with func regenerates and make the respawn rooms exit only via map design, or clever triggers combined with func respawnroomvisualizers. You are free to make more than one spawn room per node, however be prepared for the extra-work that needs to be done in order to accomplish that task.
In either case, you will need some intermediate I/O control to make sure that players are spawning in the right rooms and at the right time. Generally, you will want players to spawn into the room associated with the most "forward" control point that their team owns.
The following events must be triggered (per team) when a node is captured (in neutral node setup):
# Enable this func respawnroom
# Set this func respawnroom to this team
# Disable the last func respawnroom
# Enable these info player teamspawns
# Set these info player teamspawns to this team
# Disable the last info player teamspawns
== Early win detection ==
It is possible for one team to capture the opposing team's starting node before they manage to take it themselves. This causes a problem because the automatic win detection doesn't activate if not all of the nodes are captured, and the enemy team cannot continue because you need a node to capture a node. Hovis has developed a workaround system to detect these cases, it's not easy to understand, but it works. Please inspect the logic_compare entities in the reference VMF for the working I/O settings.
== Reference material ==
* ccp_mechanics.vmf - the original POC map.
* ccp mechanics - a FAQ for the above map.
Feel free to use the original I/O design as a reference for your own CCP-type map, or even use the map in its entirety as a foundation for your own. If you do use ccp_mechanics as a jumping point, make sure to also credit its author (Hovis).
== See also ==
* Cyclic Capture Points
* TF2/Creating a Spawnroom
Category:Level Design
Creating Faceposer gestures

Faceposer can use any sequence in a model as a gesture, but timing tags (Apex, Accent, Loop, End), thumbnail frames, classification as a posture, etc. must be specified through a sequence's own keyvalues. This page is for creating new gestures or postures designed to be used in Faceposer. If you want to know how to place an existing gesture into a choreography scene, see Creating skeletal animation events.
== Example ==
An example of a gesture with Faceposer options. This was found in models/male_gestures.mdl. The rest of the sequence has been removed for easier reading.
 $sequence "b_head_back" {
	...
 
	keyvalues
	{
		faceposer 
		{
			"type" "gesture"
			"tags" 
			{
				"apex" "10"
				"extreme" "42"
				"loop" "43"
				"end" "44"
			}
			"entrytag" "apex"
			"thumbnail_frame" "42"
		}
	}
 }
== Options ==
;type <choices>
: What Faceposer should classify this animation as.
:; gesture
:: Classifies the animation as a gesture, putting it in the "Gestures" category and behaving like a gesture during playback.
:; posture
:: Classifies the animation as a posture, putting it in the "Postures" category and behaving like a posture during playback.
;tags { [stuff] }
: Timing tags and which frame they are located at. All tags should be subkeys.
:; apex <frame>
:; accent <frame>
:; loop <frame>
:; end <frame>
;entrytag <tag>
: Which of the tags specified in tags should be the "entry tag".
;exittag <tag>
: Which of the tags specified in tags should be the "exit tag".
;startloop <tag>
: Which of the tags specified in tags should the loop start. 
;endloop <tag>
: Which of the tags specified in tags should the loop end. 
;thumbnail_frame <frame>
: Which frame of the animation should appear in Faceposer's animation browser.
;eye_height <float>
: 
Category:QC Keyvalues
Creating High-Quality Maps in Source

Many recent high-quality maps (e.g. 's Xen levels, Cascade (de_prime), and de_ancient) have very complex and intricate geometry across the entire level. While can create similar geometry seen in the Antlion Caves in , Displacements can only accomplish so much before reaching their limitations. The answer to how these maps are created is simple: Models. Created using superior third party modeling programs (e.g. ), small parts of levels are modeled and then combined in Hammer to create a very high-quality and detailed map.
==Theory==
Basically, what you are going to be doing is creating the complex sections and models to decorate the map and make it appear more realistic. While most maps do include models, these are usually reserved for select high-quality props, while the majority of the map is made using Brushes and Displacements. However, with games like , sections of the map that need to be higher quality than what Hammer can make are modeled in third-party programs and exported to in its model format. This is only half the battle, however, as models will still need to be manually positioned and lined up. Remember when using displacements in Blender that most plugins use a 1:32 Blender unit to Hammer unit scale (see Exporting displacements from Blender). For newer games like , this is less of a problem as those game have a model static prop scaling feature. Also, keep in mind that you should not abandon normal Source methods of level creation entirely; some flat or slightly curved surfaces can still be made using brushes and displacements, and having to recompile an entire model and subsequently an entire map can take a very long time, especially if you need to just make a small adjustment. Instead you should get the general map layout perfected first before even opening Blender. 
===Using Models when Appropriate===
Think of de_ancient in , with its very high-quality exteriors with lots of detail and finish while many inside areas and floors look somewhat more basic in comparison. This is because the map uses a great balance of Brushes/Displacements and Models. Surfaces that the player may not be looking at a lot or that just simply don't need as heavy details can settle for Displacements or brushes. It is heavily recommended, if possible, to use PBR shaders if available as they can give added depth and realism to flat surfaces that Normal Mapping cannot do, which can help to improve the look of these more basic surfaces. However, that is not to say that indoor areas can't be models, as, for example, caves and the like have very detailed interiors that usually cannot be created with normal Source methods.
===Downsides of using models===
Creating NPC-Controlled Mounted Guns

This tutorial will teach you how to add a Survivor NPC who will use a mounted gun to kill infected that come within it field of fire.
==Construction==
===Making an Emplacement===
#Create an emplacement for your mounted gun. All Survivor NPC's will not take damage and do not interact with survivors or infected. Having this emplacement accessible to zombies will interfere with suspension of disbelief.Consider placing your mounted gun in a location that appears inaccessible to common infected to hide the NPC's invulnerability.
#Add a to the emplacement. Ensure you have the right gun. Neither nor will work in this situation.
#Add an area for the NPC to spawn in. If you want the survivors to see the NPC walk to the gun, ensure they cannot see the NPC when it spawns, as it will appear out of nowhere.
===Adding the NPC===
#Create four where you want the NPC to be created. Set their "Character" field to your desired bot. Name all four "L4D1_Bots".
#Create four nearby, using the L4D1 player models. This is done to precache the models. Name all four "L4D1_Models".
#Create a logic_auto. (Any entity capable of firing outputs will work)
Set its outputs as follows:
	OnMapSpawn	L4D1_Bots 	SpawnSurvivor		0.00	No
	OnMapSpawn	L4D1_Models	Kill 		0.01	No
Category: Left 4 Dead 2 Level Design
Creating Player Spawns in Day of Defeat Source

==Creating spawns==
Spawns are simply locations where players appear when the round first starts or after they die. There are two entities involved:
*
*
It's usually best to place a team's spawn points in a single location, or at the very least sizable groups. Please make sure you have at least 16 spawn points per team and are widely spaced to ensure that there is no telefragging. The only reason why these entities would be used alone is for testing purposes; without any objective entities, the map serves no purpose. 
These entities are what it takes for the map to be recognized as a Day of Defeat map. For the map to operate, with objectives, there is a wide variety possible. Make sure that the spawn points are facing a useful direction (you will see a graphical representation in to help with this), so that the players will be able to orient themselves quickly, and never place them in view of a location that an enemy player can access.
Lastly, always ensure that there are multiple exits from spawn, but no entrances. Doing both of these will help combat spawn camping: it is nearly impossible for an abusive player to cover five or more exits at once if they can't get past them.
Category:Day of Defeat: Source
Category:Tutorials
Category:Level Design
Creating Portal Breaking Ladders

__NOTOC__
==Introduction==
This guide will teach you how to create breaking ladders from Portal. The purpose of breaking ladders is to get the player curious and to look up, according to a developer commentary node.
==Ladder Rungs==
thumb|right|200px|The Ladders
Create multiple prop_dynamic entities and enter the following properties:
Property Name	Value
Name 	ladder1_rung1
Collisions 	Not Solid
World Model 	models/props_bts/ladder_01.mdl
 
==The Holes==
thumb|right|200px|Ladder Holes
Put info_overlay entities where the stairs connect to the walls and set the material to decals/concrete/shot1.
Resize the overlay to 12*12
Try to make each hole texture randomized for the detailing. 
==Making the Ladders Fall==
===Physics Converter===
Create a phys_convert and enter the following properties:
Property Name 	Value
Name 	phys_convert_ladder1_rung1
Entity to convert	ladder1_rung1
Go to Flags and check Convert As Debris
Copy and paste these entities.
 
===Triggers===
thumb|right|200px|The Triggers
Create a 2w*26l*2h brush with the trigger texture and tie it to a trigger_once
Enter the following outputs:
	My Output 	Target Entity 	Target Input 	Parameter	Delay	Only Once
	OnStartTouch	phys_convert_ladder1_rung1	ConvertTarget	<none> 	0.00 	No
Copy and paste these triggers and make sure the are put in a reasonable spot the the ladder props. Don't forget to change the outputs though. 
===Making Portals Break Ladders===
thumb|right|200px|Portal Detectors
Create a 2w*24l*2h brush with the invisible texture. Tie it to a func_portal_detector.
	My Output 	Target Entity 	Target Input 	Parameter	Delay	Only Once
	OnStartTouchLinkedPortal	phys_convert_ladder1_rung1	ConvertTarget	<none> 	0.00 	No
Make sure the Portal Detector touches the wall and also make sure that every ladder has a func_portal_detector. 
==Detailing==
thumb|right|200px|Detailing Ladders
These ladders can be tilted. The holes are still in reasonable position. So basically the ladder is already broken.
Some ladder pieces can be missing but still make sure you have the hole textures. 
== See also ==
* Portal Level Creation
Category:Portal
Category:Level Design
Category:Tutorials
Creating Portal Doors

==Introduction==
This guide will show you how to open doors with handles that can be opened with the use key.
==Door==
Create a prop_door_rotating and enter the following properties:
Property Name 	Value
Name 	d1
World Model 	models/props_c17/door01_left.mdl
Skin 	5
Disable Shadows 	Yes
Rotating Distance 	110
Fully Open Sound 	Doors.FullOpen1
Fully Closed Sound	Doors.FullClose1
Move Sound 	Doors.Move1
==Door Frame==
Create 2 4w*4l*112h brushes with the nodraw texture.
Create a 4w*48l*4h brush with the nodraw texture.
Select all the brushes and tie them to a func_detail
Move these brushes around the door and texture all visible faces with metal/metaldoor_white01
Select the Face Edit Sheet, select the front faces and set the Texture Shift X value to 16.
Select the back faces, set the Texture Shift X value to 16 and set the Alignment to World.
Select the Right face, set the Texture Shift X value to 216.
Select the Left face, set the Texture Shift X value to 25.
Select the Top face, set the Texture Shift X value to 16 and set the Texture Shift Y value to 88.
==Areaportal==
Create a 2w*56l*112h brush with the Areaportal texture.
Center this brush with the Door Frame.
Tie this entity to a func_areaportal entity and enter the following properties:
Property Name 	Value
Name of Linked Door	d1
Initial State 	Closed
==Implementation==
Place the door in a suitable area, these doors are typically connected to or used in Observation Hallways.
==Keypad Doors==
Use the same Door Frame as seen earlier. Next, create a 48w*2l*108 brush with the nodraw texture, texture all visible faces with metal/metaldoor_white01, align the texture if necessary.
== See also ==
* Portal Level Creation
Category:Portal
Category:Level Design
Category:Tutorials
Creating Portal Ducts

== Introduction ==
This page will show you how to create ducts.
== Traversable Ducts ==
These ducts can be seen in Rat Man dens and in escape_01 right before entering the Fan.
===The Hole===
Create a 64w*64h hole in your wall. Make sure your hole is at least 64 units long and interior face textures to metal/metalduct_bts_001.
===The path===
right|thumb|The Path
Create your path, areas should be 64w*64h.
===Edges===
right|thumb|The Edges
right|thumb|The Edges (Closer View)
Create 2 16w*64l*16h brushes with the nodraw texture.
Create 2 16w*16l*64h brushes with the nodraw texture.
Use the Clipping Tool to create a 45 degree slope for every brush.
===Texturing===
right|thumb|Texturing
Align the textures. You can have half of the vent texture cut off. You can also set the Texture Scale X value to 0.1875 if necessary.
right|thumb|Edge Texturing
You'll need to align the vent edge textures to the path's textures. Make sure the slopes of the vent edges have the edge of the texture in between the slope and the interior face.
===Vents===
right|thumb|Vents
Add Vents as they are a useful light source.
== See also ==
* Portal Level Creation
Category:Portal
Category:Level Design
Category:Tutorials
Creating Portal Neurotoxin Gas

==Introduction==
This guide will teach you how to create neurotoxin gas.
== Creating the Gas ==
Create an info_particle_system and set it's particle to human_cleanser.
Set its position outside the vent.
Set the info_particle_system's name to home_neurotoxin_pipe_stream.
== Timer ==
The neurotoxin timer is started by using the startneurotoxins console command.
Create a point_clientcommand and give it a name, for example client_command.
Add an output to your logic_relay or logic_auto with the target set to your point_clientcommand, the input as Command, and a parameter override of startneurotoxins <seconds> where <seconds> is the number of seconds you want the neurotoxin timer to run for.
To stop the timer, you would invoke the startneurotoxins command again with a really high number such as 99999.
== Creating the Neurotoxin Countdown Screens ==
== See also ==
* Portal Level Creation
* Creating Vents
Category:Portal
Category:Level Design
Category:Tutorials
Creating Portal Piston Panels

==Introduction==
This guide will show you how to create Piston Panels. These are one of the most seen objects in Portal.
==The Hole==
First, make sure you have a hole the area you want to put a piston in. The hole should be at least 64 and 128 units long in width, length or height. Texture the sides of the hole with metal/metalwall061f.
==Piston Pit==
===Orange brush===
Create a 128w*128w*16h with the nodraw texture. Texture the visible face with lights/light_orange001
===Piston Pit Walls===
Create two 16w*128l*128h brushes and 128w*16l*128h brushes with the nodraw texture.
Change the texture of all visible faces to metal/metalwall_bts_006b_gradient. Use the Face Edit Sheet dialog and set its rotation to 180, realign the texture if necessary.
Create two 16w*128l*112h brushes and 128w*16l*112h brushes with the nodraw texture.
Change the texture of all visible faces to metal/metalwall_bts_006b and put these brushes on top of the other 2 brushes.
===Piston Pit Grate===
Create 2 32w*128l*1h brushes and 2 64w*32l*1h brushes with the nodraw texture. Set the front face texture to /metal/metalgrate018.
Create a 64w*64l*1h brush the nodraw texture. Set the front face texture to metal/metalgrate018c.
Position these brushes right below the beginning of the brushes that create the hole entrance. Remember to tie these to a func_detail.
== See also ==
* Portal Level Creation
Category: Portal
Category: Level Design
Category: Tutorials
Creating Portal Speakers

__NOTOC__
==Introduction==
This tutorial will teach you how to create speakers.
First, complete this guide Making GLaDOS speak
==The Speaker==
Create a prop_static entity and set its world model to models/props/speaker_system01/speaker_system01.mdl
If the speaker is inside an Observation Hallway set its skin to 0. If the speaker is a maintenance area, set its skin to 1.
Create an info_target entity and name it to glados_speaker1. Put this info_target in the center of the speaker part of the model.
Create an env_microphone entity inside of the nodraw box of the GLaDOS' generic_actor area. Enter the following properties:
Property Name 	Value
Name 	glados_microphone_speaker01
Start Disabled 	Yes
Speaker target 	glados_speaker1
Speaker DSP Preset	8 LOUDSPEAKER, ECHO
Underflags, untick
* Hears Combat sounds
* Hears World sounds
* Hears player sounds
* Hears bullet impacts
then tick Ignores non-attenuated sounds
==Reset DSP Microphone==
Create an env_microphone and enter the following properties:
Property Name 	Value
Name 	glados_microphone_resetdsp
Start Disabled 	Yes
Speaker target 	glados_speaker1
Speaker DSP Preset	1 NO EFFECT
Underflags, untick
* Hears Combat sounds
* Hears World sounds
* Hears player sounds
* Hears bullet impacts
then tick Ignores non-attenuated sounds
==The Scene==
Create a logic_choreographed_scene and set its Name and Scene File to what you need.
Enter the following outputs:
::
	My Output 	Target Entity 	Target Input	Parameter	Delay	Only Once
	OnCompletion	glados_microphone_speaker01	Disable 	<none> 	0.00 	No
	OnCompletion	glados_microphone_resetdsp 	Enable 	<none> 	0.5 	No
	OnCompletion	glados_microphone_resetdsp 	Disable 	<none> 	1.00 	No
	OnCanceled 	glados_microphone_speaker01	Disable 	<none> 	0.00 	No
	OnCanceled 	glados_microphone_resetdsp 	Enable 	<none> 	0.5 	No
	OnCanceled 	glados_microphone_resetdsp 	Disable 	<none> 	1.00 	No
==Starting The Scene==
Usually, a trigger_once is used to start the scene. If you are using a trigger_once, enter the following outputs:
::
	My Output 	Target Entity 	Target Input	Parameter	Delay	Only Once
	OnStartTouch	glados_microphone_speaker01 	Enable 	<none> 	0.00 	No
	OnStartTouch	name of your logic_choreographed_scene	Start 	<none> 	0.01 	No
==Extra==
The voice lines used in the BTS areas in Portal were modified to have a "speaker" effect.
Here's a sample of a line with the speaker effect:
 Retail Voice Line
Here's a sample of the same line but without the speaker effect (taken from the beta):
 Beta Voice Line
According to Tim Larkin, he used the Audio Ease Speakerphone VST Plugin. Unfortunately he doesn't remember which effect(s) were used. If you found out what makes the "speaker" effect, please add it here.
== See also ==
* Making GLaDOS speak
* Creating a Portal AI Voice
* Portal Level Creation
Category:Portal
Category:Level Design
Category:Tutorials
Creating Portal Vents

==Introduction==
This guide will teach you how to create vents. These vents are mainly used for lighting.
==Vents==
===Inside===
Create 2 48w*16l*40h brushes with the nodraw texture.
Create 2 48w*40l*16h brushes with the nodraw texture.
Create 1 16w*40l*40h brush with the nodraw texture.
Texture the back with the light_orange001.
Texture the sides with metalwall_bts_006b_gradient.
Use the Face Edit Sheet to align the textures.
===Surrounding===
Create 2 4w*2l*40h brushes with the nodraw texture.
Create 2 4w*36l*2h brushes with the nodraw texture.
Texture the front faces of the vents with metalvent001a.
Select the front visible faces and open the Face Edit Sheet and enter the following properties:
Texture scale:
* X: 0.15
* Y: 0.15
Texture shift:
* X: -7
* Y: 5
Select the top and bottom faces of the center faces, enter the following properties:
Texture shift:
* Y: 64
* Rotation: 180
===Grating===
Create a 4w*36l*4h brush with the nodraw texture.
Position this brush right below the top surrounding.
Use the Clipping Tool to cut the brush as seen in the image.
Image:Portal vent grate.png|Grate cut
Select the front face and set its texture to metalvent001a and enter the following properties with the Face Edit Sheet:
Texture scale:
* X: 0.15
* Y: 0.15
Texture shift:
* X: -4
* Y: 219
Make sure the face's alignment is set to World.
Set the bottom face's texture to metalvent001a.
Select the back slope face. Set its texture to metalvent001a and enter the following properties with the Face Edit Sheet:
Texture shift:
* X: 8
* Y: 192
Make sure the face's alignment is set to World.
Copy and paste the brush 5 times as seen in the image, moving the brush 6 units down each time. Make sure Texture Lock is enabled.
Image:Portal vent grating.png|Grating
Select both the Surrounding and the Grating and tie them to a func_detail
===Lights===
Create a light_spot entity and enter the following properties:
Property Name 	Value
Pitch Yaw Roll 	-22.5 0 0
Brightness 	242 91 0 800
BrightnessScaleHDR 	.5
Constant 	200000
Inner (bright) angle	15
Outer (fading) angle	30
Pitch 	-22.5
The vent lights in Portal don't have a specific angle or position. However, it is safe to keep the lights near the orange texture face and you can modify the light to point in a specific direction (only slightly).
Create another light_spot and enter the following properties
Property Name 	Value
Pitch Yaw Roll 	-15 0 0
Brightness 	242 91 0 150
BrightnessScaleHDR 	.5
Constant 	200000
Inner (bright) angle	1
Outer (fading) angle	60
Pitch 	-15
Place this light as seen in the image
Image:Portal vent 2nd-light.png|Optional Light Source
===Implementation===
Assuming you build your maps in 16 units wide, put the inside of the vent just outside of the brushes. Cut a hole using the clipping tool (make sure the hole is center with the texture) and place the vent in the whole.
Fill in the nodraw spaces and you have a vent.
==Skinnier Vents==
Skinnier vents seen in testchmb_a_15
== See also ==
* Light Sources
* Portal Level Creation
Category:Portal
Category:Level Design
Category:Tutorials