VERC: Half-Life Teamplay Last edited 2 months ago2022-09-29 07:54:48 UTC

Between normal Half-Life deathmatch and TFC, there exists a buffer zone... a team-based style of play with very little rules... it's know as... er... well, Half-Life Teamplay. This style of play is based upon the set of game_* entities implemented in after Half-Life was released. Not all of the game_ entities are specifically aimed at multiplayer teamplay maps. Below are a few of the basics.
Note: In order to play a Half-Life Teamplay deathmatch game, you either need to set both the "deathmatch" and "mp_teamplay" console variables to 1, or, if you create a game using the menus, go into the Advanced options and put an x next to Teamplay.

The Basics

The basics of a Half-Life Teamplay map are quite basic indeed. All that is really needed is a couple worlddpawn settings and the game_team_master and info_player_deathmatch entities.

worldspawn (map properties)

The worldspawn entity contains two properties that exert a bit of control over a Teamplay game. To access it, select Map Properties from the Map menu in Worldcraft. The first property allows you to setup which models will define the teams. For example, if you wanted to have two teams, one for scientists and one for the human grunts, you'd specify scientist;hgrunt here. The models you have available by default are: gina, gordon, helmet, hgrunt, and scientist. Later Half-Life patches also add barney, robo, and zombie player models.

The second property lets you decide how teams will be picked. It's quite simple, you can either be automatically placed on the first team (1) or you can be automatically placed on the team with the least players (0).


The game_team_master is the key to the whole thing. This is the entity that allows you to actually implement teamplay in a map. It's quite easy to setup. Below are the required properties. Each team in the map needs a game_team_master defined for it. Going with the scientist/grunt theme, you'd want one game_team_master named scientists with a team index of 0, and one game_team_master named grunts with a team index of 1.

info_player_deathmatch (team spawns)

What good is a Teamplay game if you can't define where specific teams will spawn? Well, this is actually quite easy once you have the game_team_masters defined (above). As long as you have a fairly current version of the Half-Life game data file, the info_player_deathmatch entity will have a Master property. Set the value of the Master property to the name of one of the game_team_masters.

Using the the previous examples, to make a spawn point for the scientist's team, you'd place an info_player_deathmatch entity and set its Master value to scientists. Likewise, to make spawn points for the human grunts, you'd set the info_player_deathmatch entity's Master value to grunts.

What now?

Ok, so, we've decided who's going to be on what team, we've setup the team masters, and we've defined the team spawn points. These are the absolute basics of a Half-Life Teamplay map. There are a number of other things that you can do, however.

Keeping Players Informed

With a Teamplay game, its very important that players keep informed of their mission so that they can properly work together to defeat the opposing team. This can be accomplished by using the game_text entity in conjunction with the special Teamplay entity naming convention - the following five names can be used as names of entities, and they'll be triggered automatically. For example, if you create a game_text and give it a Name of game_playerspawn, the game_text output will be displayed to the player each time he spawns. Note that you can have a number of game_text's with the game_playerspawn name, but also using different game_team_masters for their Master values. This lets you display different text to each team.


There's lots more you can do with the game entities in a Half-Life Teamplay map, but the above outlines all the required basics. It is definitely recommended that you read through the game_ entities in the entity guide and let your mind wander to cool applications of their use. Some things to look into -
This article was originally published on Valve Editing Resource Collective (VERC).
The archived page is available here.
TWHL only publishes archived articles from defunct websites, or with permission. For more information on TWHL's archiving efforts, please visit the TWHL Archiving Project page.


You must log in to post a comment. You can login or register a new account.