This tutorial explains how to make a basic map where there are flags to capture. If one team captures (by touching) all the flags, then that team wins. This is the most popular type of map, and is the style used by Caen, Flash, and Donner for example.
Besides the details on the entities required and how they work together, the tutorial also includes tips on making a balanced flag map, plus a simple example map (source included) to help you along.
Basic steps
1. Place flags in your map where you wish them to be. Flags are
dod_control_point entities. Set the "Group" attribute of the control points to be something like "myflags".
2. Add a
dod_score_ent to your map. Set it's attributes as follows...
Attribute | Value | Comments |
---|
Name | axis_win | This is the name of the entity. We'll need this so we can trigger it if the Axis wins by taking all flags. |
For Team | Axis | This is the team that wins when this is triggered. |
Points | 10 | This is how many points the Axis team get if they win the round by capturing all flags. |
This entity will be triggered if the Axis team captures all the flags in the map.
3. Add a second
dod_score_ent and set it's attributes as follows...
Attribute | Value | Comments |
---|
Name | allies_win | This is the name of the entity. We'll need this so we can trigger it if the Allies wins by taking all flags. |
For Team | Allies | This is the team that wins when this is triggered. |
Points | 10 | This is how many points the Allied team get if they win the round by capturing all flags. |
This entity will be triggered if the Allied team captures all the flags in the map.
4. Add a single
dod_control_point_master. Set it's attributes as follows...
Attribute | Value | Comments |
---|
Target when allies win | allies_win | Entities with this name will be triggered if all flags are captured by the Allies. |
Target when axis wins | axis_win | Entities with this name will be triggered if all flags are captured by the Axis. |
Group name | myflags | The same group name you gave all your conrol points. |
How it works
When all the flags are captured by one team, it triggers the
dod_control_point_master
, which in turn triggers the appropriate
dod_score_ent
based on what team won. The
dod_score_ent
triggers the end of the round.
Here is a screenshot from WorldCraft with some annotations to show the basic flow of the entities involved...
When all flags are captured, the
dod_control_point_master
activates the appropriate
dod_score_ent
based on what team has captured the flags.
Some notes on making a good and balanced flag map
You will want to think out just where you place your flags in your map. Well placed flags will be challenging, but not impossible to capture (or defend). Also well placed flags will not give one team an advantage over another. Here are some pointers and tips to making your flag map balanced.
- An ideal map probably has between 4 and 6 flags all told. The more linear the map is, the more flags you can have. Maps that are very spread out and non-linear may be difficult to win if they have too many flags. With many flags, it will be hard for a team to capture and subsequently defend flags.
- Don't make a flag so easily defended that it can never be captured
- If your map is a linear map (such as Caen), place your flags such that they are spaced out the same on both sides. Imagine if an Axis and an Allied player both spawn at the same time, and both start running for the closest flag. They should each reach their respective closest flag at the same time. Basically you don't want one team to initially capture more flags just because the flags are closer to them. You COULD do this though if you were to also give them some disadvantage, such as having the flags be very hard to defend. Or make it so that the flags the team with fewer initial flags gets are easy to defend. Then the team with fewer flags initially can at least defend them well, and thus put more effort into capturing more flags.
- Make sure it's easy to see and find flags. Don't put them in obscure places, dark rooms, or other spots where players won't be able to find them.
- Place flags in areas that are representative of their location. For example if you have a small plaza, and you want a flag to be there, put it in the middle of the plaza so it's symbolically "The Plaza Flag". If you had a bridge, you'd put a flag on the bridge to be "The Bridge Flag".
What else can you do?
There are various tricks and other things you can try with flags to take a map beyond the normal "capture the flag" style. There is definitely some room for experimentation on the part of a creative mapper! Here are a few thoughts and ideas...
- Because you have a group attribute for flags, you could theoretically have several flag groups in one map. Remember that a round doesn't end just because the flags get captured. It ends because the dod_score_ent tells it to. With groups, you could have some special event be triggered when one group of flags is captured. For example a team might gain a forward spawn when they capture all three flags in one group. There definitely is some room for experimentation and interesting ideas with this ability.
- dod_control_point_master also has a "Master" attribute. If the master's state is OFF, then all flags in that control point master's group will NOT be drawn nor be active. If the master is ON, then the flags will be drawn and will be active. You could use this to have the flags change based on the state of a master (usually an env_state)
- It is also possible to disable drawing of the HUD flag states on the HUD for select flags. Some maps utilize "hidden" flags with preset ownership to award points to a team over time. These flags should not be visible on the HUD, as there is no way for a player to actually capture them.
- You may use HUD flag icons other than the default flag symbol. For simple flag captures, this probably won't be something you'd want to use. DoD comes with a number of symbols, including tanks, jeeps, bridges, etc. This might be useful especially for flags tied to dod_capture_area entities, it could be useful.
- If you want a flag to be "captured" not by players touching them, but instead by some event, you can use a dod_point_relay entity to trigger a flag's capture by one team or another.
Example Map
This zip file contains a complete mini-map with several flags. You may download it and use it to learn how flags work.
This article was originally published on the
Valve Editing Resource Collective (VERC).
TWHL only archives articles from defunct websites. For more information on TWHL's archiving efforts, please visit the
TWHL Archiving Project page.