Contents
Gametype Basics
Assault is a team based gametype where one team is attacking the other - a progression of objectives must be completed to finish the round. Objectives usually consist of driving a vehicle to a check point, holding a lever to progress to the next area or destroying objects to get past.
The style of assault maps can vary greatly between maps and you can do pretty close to anything you want in terms of size and layout.
The default assault maps that come with the game are fairly linear and players have to follow a set route with usually one or two alternatives but then centralising around the objective.
If you are looking to make an Assualt Map with no experience about assault you will want to read through the Assault Mapping Tutorial which is a fairly comprehensive tutorial on making assault maps.
Optimization
- More: Map Optimization
Fog
No further than 20000 units for the max distance is sufficient for outside levels, assuming you have antiportals and other optimization methods in place. See also fog.
StaticMesh CullDistance
(Properties -> Display -> CullDistance): If you have an indoor Assault Map, there is a good chance you won't be using fog, but there is also a good chance that most of the Static Meshes in the level won't be seen at the same time. By setting the static meshes a CullDistance, they won't be rendered by the engine when they are further away from you than this distance, even if they aren't occluded by fog, AntiPotals or Zones.
Checkpoints
Another thing that you can do is have 'checkpoint' areas close off as previous parts of your map become empty (as the mission progresses). This allows you to trigger antiportals to hide these unused inaccessable areas, making rendering much less taxing.
Doors
Make an antiportal that is the same size of your door but a bit wider (a few pixels, so it covers any zoneportals you may be using in the doorway when it is closed). Put it over the door. In the properties of the door, go to the Mover group. In AntiPortalTag set it a unique name. Then in the properties of the AntiPortal, go to the Events group and set its Tag the same as what you just entered in the mover's AntiPortalTag. Go to the Movement group and set the AntiPortal's AttachTag to that of the tag of the door. Then go to the Object group (still in the AntiPortal's properties) and set InitialState to TriggerToggle. This will stop whatever is behind the door (line of sight, unless the door is a zone portal as well) being rendered when the door is closed (when the AntiPortal is active and down) but when the door opens the AntiPortal gets turned off and moved out with the door, so it is as if it was never there. When the door shuts again it turns back on. This is very useful if you have a lot of indoor-outdoor areas.
Hiding Areas
When you place an AntiPortal it is turned on by default. Triggering it will disable it (provided it's Object -> InitialState property is set to TriggerToggle). You can use a sheet AP to stop rendering of all the behind bits of a map until players can actually get in there, at which point you turn it off.
AntiPortal size
Remember, one big antiportal is always better than lots of little ones. Always.
Zoning
Try to place ZonePortals in a place where they won't be seen that often. This causes the other zones to be rendered less often.
External Links
Tutorials
Related Topics
- Topics on Mapping
- Bot Support
- Vehicle
- ASVehicle
- SVehicleFactory
- ASVehicleFactory
- Map Flow
- Gametype
Discussion
That is all for now, I hope it helps some people. I will update this later, as well as writing a decent Assault mapping tutorial that gets into the nitty-gritty, evil, nasty bits of it at some point. Feel free to add things to it (hey, this is the Wiki after all!) - MarZer
Tarquin: I've tidied up a bit. Some bits are general and could be moved to other pages (eg cull distance)
Catdæmon: Hope this is the right way to comment... oh well. Nice tutorial!
MarZer: Cheers Cat! I'm not done yet though. Over the next week or so I will be working with PointlesS to write a fully-fledged Assault Mapping Tutorial - one that *attempts* to cover all the bases.
Boksha: "Make an antiportal that is the same size of your door but a bit narrower." Wouldn't it make more sense to make the antiportal WIDER than the door? That way you could also have it block a zoneportal that's also in the door, and make sure nothing on the other side of the door gets rendered if it doesn't have to be.
MarZer: Indeed, thanks :) . *edits page*
Blip2: Moved pathing stuff to Pathing for Assault - I'll add more general stuff about assault later and finish tidying up