Front Line Force Mapping Tutorial - Version 1.0
DOOManiac



Table of Contents
I. Introduction
II. Getting Started
A. Adding The FGD File
B. Setting Up the Compiler
C. Creating a Start Menu Shortcut
III. Using the New Entities
A. The info_frontline Entity
B. Spawn points
C. Capture Points
D. Turrets
IV. Introduction Text
V. Adding Locations
VI. Closing Remarks
VII. Frequently Asked Questions


I. Introduction

This tutorial is designed to help you, the mapper, create a successful map for the mod Front Line Force. It is NOT a “beginner’s guide” to level editing but is rather meant for intermediate mappers who want to quickly learn how to set up their map for use in Front Line Force. If you need information on half-life mapping in general or other beginner tutorials, I suggest you check out The ERC or Wavelength.

This guide will show you how set up all the Front Line Force specific map things you’ll need from start to finish. I will walk you though the setup process, placing entities, using textures, and etc. This tutorial does NOT cover the basic building of the level nor does it cover the basic setting up of Worldcraft for normal Half-Life. This tutorial assumes you have some form of level (even if it is just a hollow box) to work with prior to beginning the tutorial. By the end of this tutorial your level should be in working condition to use in Front Line Force.
  
[ Back To Top ]




II. Getting Started

A. Adding The FGD File

The first thing you need to do is add the new FGD to Worldcraft. Go to the "Tools" menu and select "Options". Click on the "Game Configurations" tab. Then follow these steps to set it all up:

  • At the top where it says "Configuration" click Edit.

  • Click "Add", type "Front Line Force" and hit Enter. Then click Close.

  • Where it says "Game Data Files" click the "Add" button.

  • Find the file "halflife-flf.fgd" (you should have put it in your Worldcraft folder) and select it.

  • If there are any other FGD files in the "Game Data Files" box besides "halflife-flf.fgd" remove them.

  • Select a default PointEntity (I use info_player_observer) and new SolidEntity (I use func_door).

  • Point "Game Executable Directory" to your Half-Life folder (ex: C:\SIERRA\Half-Life).

  • Point "Mod Directory" to your Front Line Force directory (ex: C:\SIERRA\Half-Life\frontline).

  • Point "Game Directory" to the "valve" directory (ex: C:\SIERRA\Half-Life\valve).

  • Point "RMF Directory" to the place where you keep your map files (ex: C:\Worldcraft\maps).
That's it for setting up the FGD!
  
[ Back To Top ]

B. Setting Up the Compiler

After you add the textures, the next step is to set up your compiler. If you are using Worldcraft to compile, I highly recommend that you use HLCC and Zoner’s Half-Life Tools instead! Even Valve says in the Worldcraft documentation that they recommend you do not use Worldcraft to compile your maps.

Since you shouldn’t be compiling in Worldcraft anyway, I will not cover how to set up its built in compile options. Instead I will cover how to set up HLCC to compile your Front Line Force maps after you have it set up for basic Half-Life compiling. If HLCC is not set up at all yet, I recommend you follow the tutorial on The ERC.

After HLCC is set up for normal Half-Life, changing it to compile for Front Line Force is rather easy. First make sure you are on the “Files” tab, which is the only tab you will be required to make changes to. Near the top where it says “BSP dir” it should point to something like “C:\Sierra\Half-Life\valve\maps” (depending on where you installed Half-Life in the first place). Change it so that instead of pointing to “\valve\maps” it is pointing to “\frontline\maps”. When you are done the path should look something like “C:\Sierra\Half-Life\frontline\maps” (again depending on where Half-Life was installed).
  [ Back To Top ]

C. Creating a Start Menu Shortcut

The last thing to change is to create a shortcut for Front Line Force. Open the “Half-Life” program group, make a copy of the “half-life” shortcut, rename the copy to “Front Line Force”, and go into its properties. On the “shortcut” tab find the area marked “Target”. It should point to your Half-Life executable (hl.exe). Add the following to the end of that line: “ -console -game frontline” without the quotes. That’s it, now you can run Front Line Force at startup instead of using the “Custom Game” menu, which is known to cause a few issues with Half-Life.
  [ Back To Top ]



III. Using the New Entities

Before you edit the new entities I recommend you download the Front Line Force FGD. While it is possible to make use of new entities without an FGD (contrary to popular believe, it is NOT required), an FGD file makes it easier for novices and intermediate mappers to use new entities faster. Also you must set the FGD file up in Worldcraft before you can use it.
  [ Back To Top ]

A. The info_frontline Entity

The info_frontline entity is probably the most important entity to have in your map (next to worldspawn that is). With it you define how long each round should last, the amount of “Warm-Up” time before the round begins, and the respawn time for each team. You can also specify an entity to trigger as soon as each round begins. Also your map will not show up in Half-Life’s Map list when starting a server unless there is an info_frontline entity in the map.

Here are the properties for the info_frontline entity.

Target This is the entity that gets triggered when the warm up time is over, it can
be done to have a func_breakable explode and let the attackers in, or a
func_door open to let the attackers out.

Enter the targetname of the entity you want to be triggered here just like you would on any other entity.
Round Time Specifies how long rounds last in minutes.
Minimum time is 30 seconds.
Warm-Up Time Specifies how long the warm up time lasts in seconds.
Minimum time is 5 seconds.
Maximum time is 90 seconds.
Attacker Respawn Time Specifies how long before a dead attacker respawns, in seconds.
Minimum time is 5 seconds.
Maximum time is 30 seconds.
Defender Respawn Time Specifies how long before a dead defender respawns, in seconds.
Minimum time is 10 seconds.
Maximum time is 35 seconds.

NOTE: The respawn time for the defenders will always be 5 seconds
more than the attackers, it's hard coded, even if the you specify otherwise.
Weather Specifies the type of weather in the map.
Normal - No weather effects.
Winter - Players will have "fog breath".

As the mapper it is your responsibility to pick the appropriate timing for respawning, rounds, and etc. If you are unsure what timing you want to use try out the defaults: 5 minute round (this very much depends on the size of the map though: the larger the map the more time is needed), 5 second respawn time for Attackers, 10 seconds for Defenders.

Warm-up time is also something dependent on the map size. I recommend that you test the map out as a Defender, and see how long it takes you to get into position to be ready for the attack. Then just round that up to a nice number and there ya go. Remember, during warm-up the Attacker team cannot move and also people will use this time to change their class or weapons. Too short warm-up times are an annoyance for people, but too long warm-up times make people bored out of their mind. I personally would suggest never to have a warm-up time longer than 35 seconds. People just get bored and it will make your map unpopular if they have to wait too long to play.
  [ Back To Top ]

B. Spawn points

Spawning entities are probably the second most important set of entities next to info_frontline. After all, without them no once can actually play the map. There are three different spawning entities:

info_player_attacker This is a spot where an Attacker will spawn.
info_player_defender This is a spot where a Defender will spawn.
info_player_observer This entity is used for the placement of the introduction camera the player
sees when he first joins a map. Place several info_player_observer cameras,
one near each capture point. When the player connects it will always face
towards the nearest capture point, cycling though the info_player_observer entities till the player
joins a team.

When you design your map you should build designated “spawning areas” similar to in TFC. Place many spawn points there in the area for people to spawn in. Do not spread spawn points out throughout the map, as that discourages teamwork.

Try to keep your spawn areas not too cramped, and have large exits (that way if a player goes idle while standing in the doorway, others can still get out). Also, Front Line Force games might get quite large, and even if your map is a smaller map not meant for a ton of players, you still need to have it "technically" able to support large games. I'd suggest having 15 spawn points for each team (30 in total) so that no players spawn inside each other.

  [ Back To Top ]

C. Capture Points

Capture Points are the focus of the game as they are what the two teams are fighting over. In-game they are represented by a model found in the “models” folder. The Attacker captures them by holding down the “use” key for the time that you specify. The capture_point entity has the following properties:

Target This field can be used to trigger an entity after the Capture Point is captured.

For example, you could have a func_breakable explode after the point is captured.
Model Here you specify the model the capture point will use. You can use any model you want, but there are two models provided that are the "standard" capture points, we suggest using those:

Examples:
"models/antena.mdl"
"models/mainframe.mdl"
Point Name This is the name the Capture Point will have on screen, you only
need to enter it's name.

Examples:
West <-- This will appear in game as "Capturing West Point"
East <-- This will appear in game as "Point East was Captured"
Time To Capture Specifies how long it takes for a point to be captured in seconds.
Min time is 5 seconds
  [ Back To Top ]

D. Turrets

Similar to in TFC, Turrets should be used to protect the spawn points from respawn campers. The turrets use the default Half-Life turrets and entities. You may use either monster_turret or monster_miniturret as the turret entity. The only difference between the two is size. Mini turrets are the ones used most often in TFC and those are the ones I recommend because they are small and have a lower poly count than their big brother has. Turrets can be a bit tricky to set up if you don’t know exactly what to do, so I will take you through it step by step.

The first step obviously is placing the entity. You will either want to put the turret in the floor, in the ceiling (and turned upside down), or in some other structure such as a sandbag barrier. The proper placement of this entity can be tricky as well. Normally when you have an entity on the ground you want to place it either on the ground or slightly above (and the engine lets it “fall down”), but as you know, turrets rest in the ground/ceiling until activated at which time they spring to life and do their thing. If you were to play the entity just on the surface of the ground it would appear “floating in air” in game because the engine does not move these particular entities. To get the turret appearing properly, place the entity half-way in ground (or in ceiling).


Now if you were to run the map right now, you would see that your turret is half way in the ground like it is supposed to be. But if you look very closely, it isn’t in far enough! There will be a 1-unit gap between the ground and the rim of the turret. So in the editor either size the grid all the way down to 1 or just turn snap-to-grid off temporarily, and then move the entity 1 unit down (or 1 unit up if ceiling mount). Now your turret will look right in game!

But before the turret actually functions properly in game, you have to set up some properties for it. This is the hard part that most people get confused about. Go into the turret’s properties and set the following values:
  • Set “Trigger Condition” to the only option, “See Player, Mad at Player”.

  • Set “Orientation” to either “Floor Mount” or “Ceiling Mount”.

  • Set “Owner” to either “attacker” or “defender”.

  • Click the “Flags” tab and select the “Autostart” spawnflag.

Also if you wish you can set the direction the turret will face when it first pops up, that way you can have them facing the direction where the enemy is likely to come from so they do not have to turn when they pop up and can just start firing. But that’s mostly just a cosmetic thing though.

That’s all there is to turrets! The “teamowner” key tells the turret what team it is on so that way you don’t have some crazy turret that likes to attack its own team members or something.
  [ Back To Top ]



IV. Introduction Text

The Introduction text is simply a text file displayed when a player first joins the game. Like in TFC, it is shown to the right of the Team Selection buttons. Simply create a txt file in the “maps” folder with the same name as your map. For example, if your map was “flf_looloo.bsp” then the name you would want to give the text file would be “flf_looloo.txt”.

Use the Introduction Text to display your map’s title and other information, such as Capture Point locations, how long it takes to capture points, respawn time, or maybe even a short storyline.
  [ Back To Top ]



V. Adding Locations

Locations are one of the many useful additions to Front Line Force that enhances teamwork. They are used to let a player’s teammates know where they are in the map when they use say_team. For example, if I were to say_team “Hey I’m over here!” it would output on the screen like this:  “DOOManiac(100, The Front Gates): Hey I’m over here!” The first number is the player’s health, which you have no control over, but the second part in between the parenthesis is their location. It is up to you the map author to make and name the locations in your map so that players may easily know where they are. Try to choose meaningful names such as “The Docks” or “Attacker’s Respawn Point” and not “North End” or “South Entrance” (remember players have no way of telling which direction is which in game.

Locations themselves are added after you have completed your map but before you release. They are NOT a part of the map file itself, but rather a text file with the same mapname that is also placed in the “maps” folder with extension .loc. For example, my map flf_village has the map itself (flf_village.bsp), the previously mentioned Introduction Text file (flf_village.txt), and the Location File (flf_village.loc).

Adding locations to your map is easy. Start a game with your map, go into the console and type “sv_cheats 1”, then “restart” to reload the map w/ cheats enabled. Now walk around the map and when you find somewhere you want to name. Drop down the console and type “addloc “ and then the name of your location. Ex: “addloc The Docks” or “addloc The Warehouse”. You don’t need to place too many locations, but remember that the way they work is by picking the location to the player. No attention is paid to walls, doors, other players, or anything: it judges solely off the raw engine coordinates (both vertically and horizontally) and picks the closest point.

*IMPORTANT* After you are done adding locations (or even along the way to prepare in case of a crash or something), remember to type “savelocs” in the console, or your location file will not be saved.

To test that your locations are working, reload the map (locations are only loaded at map startup, so the ones you just did are not loaded into memory yet), bind a key to “say_team Something” and then run around the map hitting the key. If you did it correctly, it should put your location in the second field of the parenthesis!

I suggest you test the locations to insure they appear correctly. Run around your map hitting the key you bound to test that all the locations are reporting properly. You may find a few that are reporting wrong because there is another location slightly closer than the one you though it should read from.
  [ Back To Top ]



VI. Closing Remarks

Congratulations, you have now done everything you need to set up your map for use with Front Line Force. If you did everything right, your map should show up in the menu and have working entities, a map description, and locations. If you still need help with some mapping issues, feel free to visit the Map Authors section of the message board!
  [ Back To Top ]



VII. Frequently Asked Questions

Q: My map doesn’t show up in the half-life map list when I try to start a server. Why?
A: You must place an info_frontline entity before your map shows up in the list.

Q: How many spawn points should I include for each team?
A: We plan on Front Line Force games being very large, so I would recommend at least 15 spawn points per team, making a total of 30. Also make sure your spawning area is large enough to accommodate that many people. Having people fit through a tiny doorway, or worse, spawning inside each other because entities are too close is never a good thing.

Q: May I use WAD files from other mods such as Counter-Strike, Firearms, or Action Half-life?
A: No. You cannot use texture WAD files without the permission of the person who made them.

Q: May I use Team Fortress Classic textures in my maps?
A: Yes. From what we understand from Valve, TFC falls into the same category of "you bought it,so you can use the texture wads" that the normal half-life textures fall into.

Q: I have some general mapping related questions not listed here.
A: I recommend checking out Wavelength or The ERC. Both are sites filled with tons of info. Also try out the “Map Authors” forum on the message board.

Q: If my map is good quality does it have a chance of becoming Official?
A: Maps that are of high quality (both graphically and gameplay wise) will definitely be considered as inclusions in future releases, whether it be updates or just map packs.
  [ Back To Top ]