Onslaught Map Creation Tutorial

START WITH A LAYOUT

The usual way to start making on Onslaught map is to start with a terrain. The RadarMap works best with terrain based maps, but you actually don't have to have a terrain at all. You can make an Onslaught map entirely out of BSP if you want. Regardless of what you choose, it is important to get an overall layout going first so you can make sure it is balanced and start testing vehicles in it before committing to the design.


CREATING AN ONSLAUGHT FRIENDLY MAP LAYOUT

You will want to have a general PowerNode network in mind when creating your basic layout for a number of reasons...

It is also be a good idea to read this entire tutorial before you even start your terrain to eliminate vehicle navigation issues before they come up.

Important: If you want to make your map RadarMap friendly, make sure your terrain/level geometry is centered at the world origin (0,0,0).  


START TESTING YOUR MAP LAYOUT FOR BALANCE ISSUES

It is important to start getting vehicles into your map as well as actual PowerCores and PowerNodes. Vehicles need to be tested to make sure they can drive well on the terrain and can't escape the map, and PowerNodes need to be checked to make sure you can't snipe them from across the map. Keep in mind when testing vehicles on the terrain you may have to change the terrain you just tested to fix a PowerNode from being sniped too easily. Anytime you change the layout you will have to re-test all the vehicles again to be sure.  


PLACING POWERCORES AND POWERNODES

With that in mind, it is a good idea to place your PowerNodes before doing a lot of vehicle testing so I'll explain that part first.

You want to start by placing a PowerCore for each team. Onslaught assumes there will be one red team PowerCore and one blue team PowerCore. YOU MUST PLACE ONE RED POWERCORE AND ONE BLUE POWERCORE IN YOUR MAP BEFORE IT WILL WORK. The red and blue PowerCores are listed in the actor list as two separate actors and can be tough to find on your own. Here are their locations...

NavigationPoint | JumpDest | JumpSpot | GameObjective | DestroyableObjective | ONSPowerCore | ONSPowerCoreBlue
NavigationPoint | JumpDest | JumpSpot | GameObjective | DestroyableObjective | ONSPowerCore | ONSPowerCoreRed  

There is only one kind of PowerNode, because PowerNodes always start out as neutral. The neutral PowerNode is located here...

NavigationPoint | JumpDest | JumpSpot | GameObjective | DestroyableObjective | ONSPowerCore | ONSPowerNode | ONSPowerNodeNeutral

Make sure the PowerNodes aren't too high up so vehicles and players will be able to run over them without getting stuck or jumping.

PowerCore and PowerNodes are closely related to path nodes so be sure and REBUILD PATHS EVERYTIME YOU CHANGE OR ADD ANY POWERCORES OR POWERNODES.


SETTING UP A LINK NETWORK

Once you have placed your Cores and Nodes you need to setup your first link network.  Once you have rebuilt paths and saved, you will need to go ahead and run the map since link networks are created using the in-game Link Designer.

Once in-game, you will find that your nodes are invisible since there is no current link network. Press Esc to bring up the mid-game menu and select the "map" tab. Now select the button marked "Link Designer"  

Now you should see the RadarMap with your PowerCores and PowerNodes clearly marked. PowerNodes will look like lock symbols at this point. Creating links is simple, first click on PowerCore and then click on a PowerNode and a link will be established. Click on a PowerNode and click on another PowerNode to create link between them too. Clicking on PowerNodes that already have a link will remove the link between them.  

You don't have to use all your placed nodes in a particular link setup if you don't want to. If you don't link a node, it won't appear in-game and won't activate any nearby playerstarts or vehiclefactories. Multiple link setups are possible so you may want to have extra nodes lying around for adding more complicated networks later on.  

The reason the Link Designer is in-game is so that anyone can change link networks even if they are not a mapper. A non-mapper at this point can type in a name for his link network and save it by pressing the "save" button. Now his custom link network will always show up as an option in the Onslaught map list unless he deletes it later.  

As a mapper creator however, you want to make at least one permanent link network that will always be stored in your map itself and cannot be deleted without editing the map. To do this just click on the "Export To UnrealEd" button once you have created your network. What this does is to copy a special actor into your clipboard exactly like when you copy an actor in UnrealEd. So now you can leave the game, go into your map in UnrealEd, and paste the actor anywhere you want by right clicking, selecting Edit|Paste|Here.  

The actor you pasted will be called ONSPowerLinkOfficialSetup and as long at it is in your level somewhere, the link network you created will be stored in the map. If you want you can do the whole process again and paste additional official link networks into your map. If you didn't set a name in the Link Designer you can always edit the actor and change its name in the LinkSetup category.

Warning: You can move your PowerCores and PowerNodes around after setting up the link network, but if you add or remove a PowerCore or PowerNode, you will need to delete the ONSPowerLinkOfficialSetups and setup your network again using the Link Designer. But always... DON'T FORGET TO REBUILD PATHS IF YOU CHANGE ANYTHING ABOUT POWERCORES OR POWERNODES.

There is one final step that needs to be done to get link setups to work correctly. Open up a command prompt and run the command "ucc exportcache *.*" in the system directory of your UT2004 installation. YOU MUST DO THIS EVERYTIME YOU CHANGE ONSPOWERLINKOFFICIALSETUPS OR THE INFORMATION THEY CONTAIN.

One last warning about link setups is the ExtraInfo field in the LevelSummary category of the Level properties. It is important to leave the ExtraInfo field blank. If this field is not blank, your link setups will never show up in the map selection tree. The reason for this is technical, but basically each time the map is saved the link setup information is automatically stored in ExtraInfo. The field always appears blank just in case modders want to override the link setup system with their own custom information.


GETTING VEHICLES IN YOUR MAP

As you work on balancing your layout, you will want to start testing vehicles in your map. There are three way to get vehicles into a map. The final Onslaught map will use ONSVehicleFactories, but vehicle factories will only spawn vehicles at PowerCores and active PowerNodes. Placing vehicle factories is explained later on, but until then there are temporary ways of getting vehicles anywhere in a map.  

- To place a vehicle directly in your map, look in Pawn | Vehicle | SVehicle | ONSVehicle to find the various vehicle categories and vehicles.

- To summon a vehicle in-game, use one of the following commands...

summon Onslaught.ONSAttackCraft
summon Onslaught.ONSHoverBike
summon Onslaught.ONSHoverTank
summon Onslaught.ONSPRV
summon Onslaught.ONSRV
summon Onslaught.ONSMobileAssaultStation

Warning: Don't summon a vehicle on top of your playerstart as summoned vehicles will sometimes kill you when summoned and if the vehicle is on your only playerstart you won't be able to respawn.


TESTING VEHICLES IN YOUR MAP

When testing vehicles, there are several important things to look out for...


RESTRICTING VEHICLES TO THE MAP


FORTIFY YOUR POWERNODES

Now it is time to add vehicle factories, turrets, playerstarts, and weapons to your PowerNodes and PowerCores. Vehicle factories, turrets, and playerstarts are all activated and deactivated by the node they are associated with, but fortunately we made it easy on our mappers by making the associations automatic. At the start of each game, every vehicle factory, playerstart, and turret find the closest PowerCore or PowerNode and registers with it. So all you need to do is make sure you realize this when placing your actors. If you place a turret too far away from the node it is defending, you may find that in game the turret is actually associated with another, slightly closer, PowerNode.

You also don't have to worry about setting a team, since the PowerCores will automatically set this for their associated actors, and the PowerNodes will set this for their actors based on on their current team status in-game. The team property in PlayerStarts is ignored in Onslaught as it is overidden by the Nodes.

Vehicle factories conveniently appear in the editor as the vehicle that they spawn. This is so that you can place them in the correct orientation and make sure they are facing the right direction. The location of the vehicle factories is here...

SVehicleFactory | ONSVehicleFactory | ONSAttackCraftFactory
SVehicleFactory | ONSVehicleFactory | ONSHoverCraftFactory
SVehicleFactory | ONSVehicleFactory | ONSMASFactory
SVehicleFactory | ONSVehicleFactory | ONSPRVFactory
SVehicleFactory | ONSVehicleFactory | ONSRVFactory
SVehicleFactory | ONSVehicleFactory | ONSTankFactory

If you edit the properties of a vehicle factory you can find two options in the ONSVehicleFactory category.

Stationary Turrets do not have a factory but are placed directly. The location is...

Pawn | Vehicle | ONSWeaponPawn | ONSStationaryWeaponPawn | ONSManualGunPawn

Again, make sure you can't snipe other PowerNodes or a PowerCore with laser turrets or it will be almost impossible to defend against.


SETTING UP THE RADARMAP

The RadarMap is always centered at the world origin (0,0,0). Hopefully you made sure your terrain was centered in the beginning, but if not it is possible to move the terrain by moving the TerrainInfo actor. For non-terrain maps just make sure your level is generally built around the world origin so that the RadarMap will be centered on it.

In the toolbar at the top of the editor, go to View | Level Properties | RadarMap to find the RadarMap options...

Note about multiple terrains: If you use more than one terrain in your level and select bUseTerrainForRadarRange, it will choose one randomly to determine the RadarMap range. You probably will want to specify which terrain to use for the range however so to do this put the phrase PrimaryTerrain in the Tag of the terrain you want it to use for the range.


CREATING A RADARMAPIMAGE

The engine may not make the image for you, but on the other hand since you are creating the image yourself you can do whatever you want with it. You can have a giant smiley face as your background if you want, although Onslaught players will probably not appreciate it too much. Most mappers will want a map background that matches their level geometry and here are a couple of tips for doing that...

Once you have your image, save it into a package or myLevel and reference it as the RadarMapImage as described in the last section. Be sure and test carefull to make sure your location on the RadarMap in-game lines up with the location on the background image. Otherwise you will need to make adjustments in Photoshop.


SETTING UP VEHICLE AI PATHNODES

<<TODO>>