Navigation Meshes (L4D)

From Valve Developer Community
Revision as of 17:20, 13 July 2009 by NykO18 (talk | contribs)
Jump to navigation Jump to search

Left 4 Dead uses the navigation mesh to spawn infected. The director uses the Navigation Mesh when deciding where to spawn infected as well as other factors such as light intensity and line of site. By altering the mesh, it is possible to change the type of infected spawning (such as hospital patients and so on) and the density of their spawn.

NOTE: This article was written with experimental information and may not be 100% accurate. This article also assumes that you have read and understood the Navigation Meshes article.

Marking

Marking is as important in Left 4 Dead than it is in Counterstrike. While in counterstrike it affects how bots behave, in Left 4 Dead it both controls how they behave and how they spawn. By marking an area with certain attributes certain spawning behaviours can be created. Marking is the same as in Counterstrike, except with extra attributes, such as:


  • EMPTY
    • Prevents wandering-infected from being populated in this location. Useful for places outside the survivors playable area, or any other place you do not want wandering/sleeping infected to spawn. Does not affect the behavior or spawning of mobs (see: NO_MOBS)


  • OBSCURED
    • Affects the amount and manner of which infected can spawn. This is a very important navigation attribute, use both wisely and with caution. OBSCURED will allow infected to spawn even when there is a line-of-sight to a survivor. It is usually used in places not viewable by survivors, and where a mob of higher density may be desired to spawn. It is also used in areas that have tree-props which do not block a line-of-sight to the engine, yet still obscure the survivors view on all sides (also blocks the line-of-sight for bots, thus preventing them from appearing omiscient around such props).


  • NO_MOBS
    • Prevents infected-mobs from spawning in this location. Does not affect the behavior or spawning of wandering-infected (see: EMPTY)


  • FINALE
    • Indicates a finale area, and controls the spawning of mobs and infected under finale conditions. This is meant to be used liberally over the finale area. Also, the use of a FINALE area may help a map to work.


  • ESCAPE_ROUTE
    • Basic guideline path of map from start to finish. Helps the game and AI to make decisions based on routes and level progression. Normally marked automatically with nav_analyze.


  • PRECISE
    • Used to mark narrow paths. Useful for tight places, such as going along a ledge.


  • RESCUE_VEHICLE
    • Area inside the final location of a rescue vehicle, such as the inside of an APC, boat, or otherwise. Remains locked until the "FinaleEscapeVehicleReadyForSurvivors" input is triggered after the finale event.

As you can see, some of these are obvious, and will require experimentation to create the right amount of spawn density or to discover their function.

Place Names

The type of infected spawned depends on place naming. Simple as that. Simply by looking at the place names that appear on the console input of nav_use_place should give you the right idea of which one you want to use for that particular area. For extra detail, go into scripts/population and read it yourselves. Or, if you're too lazy for that, here it is (numbers indicate percentage of group that will spawn that model out of 100 percent, place names are in bold):

default

common_male01 30
common_female01 25
common_police_male01 15
common_military_male01 10
common_worker_male01 10
common_male_suit 10

test_common_male_suit

common_male_suit 100

defaulturban

common_male01 30
common_female01 25
common_police_male01 10
common_military_male01 10
common_worker_male01 10
common_male_suit 15

police

common_male01 20
common_female01 20
common_military_male01 10
common_police_male01 50

maintenance

common_male01 25
common_female01 20
common_military_male01 20
common_worker_male01 35

hospitalgrounds

common_male01 20
common_female01 20
common_police_male01 15
common_military_male01 15
common_worker_male01 15
common_male_suit 15

hospital

common_male01 15
common_patient_male01 40
common_worker_male01 15
common_female_nurse01 15
common_surgeon_male01 10

hospitalconstruction

common_patient_male01 20
common_worker_male01 30
common_female_nurse01 20
common_surgeon_male01 10
common_male01 20

airport

common_female01 20
common_male_suit 20
common_worker_male01 15
common_male_baggagehandler_01 15
common_tsaagent_male01 15
common_male_pilot 15

airportfinale

common_female01 10
common_male_suit 10
common_worker_male01 10
common_male_baggagehandler_01 30
common_tsaagent_male01 20
common_male_pilot 20

defaultrural

common_male_rural01 50
common_female_rural01 20
common_police_male01 10
common_military_male01 10
common_worker_male01 10

// random zombie type spawned at the church after the mini-finale
church

hunter 25
smoker 25
boomer 50

zoo

common_female_rural01 5
common_female01 10
common_female_nurse01 5
common_male01 20
common_male_baggagehandler_01 5
common_male_pilot 5
common_male_rural01 10
common_male_suit 10
common_military_male01 5
common_patient_male01 5
common_police_male01 5
common_surgeon_male01 5
common_TSAAgent_male01 5
common_worker_male01 5

See also