Spawn Points Tutorial

by Uncle Sam



Hey gang. In this tutorial we’re gonna go over spawn points and how to tie them in with control points. Since the majority of levels are played in conquest mode, we’ll be discussing how to set up spawns for a conquest map. That being said, the spawn point and control point files for your map are located in the CONQUEST folder of your RFA file. Let’s go ahead and have a look at them and try and understand what does what:

NOTE: We will not be discussing object spawn points in this tutorial. That will be dealt with in a separate tutorial for length’s sake.


Let’s begin by taking a look at the ControlPoints file. Let’s take a look at part of the one for Iwo Jima:

Object.create TopBASE_Cpoint
Object.absolutePosition 652.584/93.0164/1420.88

The first line assigns a new control point and gives it a name. This name must match the one that you will put in the templates file. The second line obviously defines it’s position. You will have to have both of these for each control point that you want to make.


You’ll always see this section at the top any control point template file:

NetworkableInfo.createNewInfo ControlPointInfo
NetworkableInfo.setPredictionMode PMNone
NetworkableInfo.setBasePriority c_NIGhostAlways

This text must be here even if you’re making a template file from scratch. If you’re editing an existing one, leave it alone. This is the section for the Allied landing beach at Iwo Jima:

Take a Breath

Whew! Don’t worry that one was by far the most complicated.


Now on to SoldierSpawns.con. Let’s look at one of the player spawn points.

Object.create suribashi_bottom_1
Object.absolutePosition 774.049/64.9355/1248.77
Object.rotation 111.276/0/0.0197906

The first line assigns the spawn point a name. This name must match its counter-part in the SoldierSpawnTemplates.con file. You’ll notice in many of the official levels that spawnpoints are often called OpenSpawnPoint, AxisSpawnPoint, etc. You can name them whatever you want though. Its really up to you. You should know what the other two lines do by now.


This is the template for the player spawn we just looked at:

ObjectTemplate.create SpawnPoint suribashi_bottom_1
ObjectTemplate.setSpawnId 31
ObjectTemplate.setGroup 12

In the first line, the name matches perfectly with its counter part. The second line is the Spawn ID. Each player spawn point must have its own ID regardless of what group its in. If you have 30 spawn points you’d better have 30 spawn ID’s. No repeating them.

The third line is very important. This will assign the spawn point to a group of spawns and you use this Group ID to tie the group to a control point. So if you had 5 soldier spawn points in a group you would tie it to a control point so that whoever was in control would be able to utilize them. Go back and look at the ControlPointTemplates.con file to see what ID you want to tie it to.


I find that this file doesn’t serve much purpose unless you’re making a spawn group that isn’t tied to a control point like the para-drop point on Market Garden. But to be safe use it anyway:

Parachute Spawn Point Details

This is incredibly easy to do. Open up your SoldierSpawnTemplates.con file, and for every player spawn point that you want to deploy with an open chute at spawn, just add this line: ObjectTemplate.setSpawnAsParaTroper 1

ObjectTemplate.create SpawnPoint Airborne_Drop_9
ObjectTemplate.setSpawnId 39
ObjectTemplate.setGroup 7
ObjectTemplate.setSpawnAsParaTroper 1

NOTE: Specialized spawn points like the one in Market Garden do not need to be tied to any control point since they cannot be captured. However, they still need their own group ID. Don’t forget to spread them out from each other a little. Also, in the SoldierSpawns.con file, give them a decent altitude of 100-200 above ground for their “Z” coordinate value.

Last minute tips and advice

  1. When setting up a group of spawn points, make sure to spread them out some so that soldiers will actually have a chance to overtake a spawn camper, like a tank or artillery.
  2. If you get confused, take a look at the CON files for the official levels. Learning from example is the best way.