Dissection of Official L4D2 Campaigns: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
Line 21: Line 21:
! Entity Name !! m1 !! m2 !! m3 !! m4 !! {{l4d}} !! {{l4d2}} !! class="unsortable" | Notes
! Entity Name !! m1 !! m2 !! m3 !! m4 !! {{l4d}} !! {{l4d2}} !! class="unsortable" | Notes
|-
|-
| [[ambient_generic]] || 40 || - || - || - || || || This is a test table.
| [[ambient_generic]] || 40 || 9 || - || - || || || This is a test table.
|-
|-
| [[color_correction]] || 4 || - || - || - ||
| [[beam_spotlight]] || - || 21 || - || - ||
|-
|-
| [[env_cubemap]] || 84 || - || - || - ||
| [[color_correction]] || 4 || 2 || - || - ||
|-
| [[env_cubemap]] || 84 || 27 || - || - ||
|-
| [[env_entity_maker]] || - || 2 || - || - ||
|-
| [[env_explosion]] || - || 1 || - || - ||
|-
|-
| [[env_fade]] || 2 || - || - || - ||
| [[env_fade]] || 2 || - || - || - ||
|-
|-
| [[env_fog_controller]] || 9 || - || - || - ||
| [[env_fog_controller]] || 9 || 2 || - || - ||
|-
| [[env_microphone]] || - || 1 || - || - ||
|-
| [[env_physexplosion]] || - || 1 || - || - ||
|-
| [[env_shake]] || 24 || 1 || - || - ||
|-
| [[env_soundscape]] || 62 || 29 || - || - ||
|-
| [[env_sprite]] || 9 || 18 || - || - ||
|-
| [[env_sun]] || 1 || 1 || - || - ||
|-
| [[env_tonemap_controller]] || 1 || 1 || - || - ||
|-
|-
| [[env_shake]] || 24 || - || - || - ||
| [[env_tonemap_controller_ghost]] || 1 || 1 || - || - ||
|-
|-
| [[env_soundscape]] || 62 || - || - || - ||
| [[env_tonemap_controller_infected]] || 1 || 1 || - || - ||
|-
|-
| [[env_sprite]] || 9 || - || - || - ||
| [[filter_activator_model]] || - || 1 || - || - ||
|-
|-
| [[env_sun]] || 1 || - || - || - ||
| [[filter_activator_team]] || 3 || 1 || - || - ||
|-
|-
| [[env_tonemap_controller]] || 1 || - || - || - ||
| [[fog_volume]] || 15 || 8 || - || - ||
|-
|-
| [[env_tonemap_controller_ghost]] || 1 || - || - || - ||
| [[func_block_charge]] || - || 2 || - || - ||
|-
|-
| [[env_tonemap_controller_infected]] || 1 || - || - || - ||
| [[func_breakable]] || 8 || 12 || - || - ||
|-
|-
| [[filter_activator_team]] || 3 || - || - || - ||
| [[func_brush]] || 195 || 30 || - || - ||
|-
|-
| [[fog_volume]] || 15 || - || - || - ||
| [[func_button]] || 2 || 1 || - || - ||
|-
|-
| [[func_breakable]] || 8 || - || - || - ||
| [[func_clip_vphysics]] || - || 50 || - || - ||
|-
|-
| [[func_brush]] || 195 || - || - || - ||
| [[func_detail]] || 701 || 747 || - || - ||
|-
|-
| [[func_button]] || 2 || - || - || - ||
| [[func_door]] || - || 1 || - || - ||
|-
|-
| [[func_detail]] || 701 || - || - || - ||
| [[func_illusionary]] || - || 1 || - || - || || || A legacy brush entity still used today.
|-
|-
| [[func_elevator]] || 1 || - || - || - ||
| [[func_elevator]] || 1 || - || - || - ||
|-
| [[func_ladder]] || - || 77 || - || - ||
|-
|-
| [[func_movelinear]] || 4 || - || - || - ||
| [[func_movelinear]] || 4 || - || - || - ||
|-
|-
| [[func_nav_attribute_region]] || 1 || - || - || - ||
| [[func_nav_attribute_region]] || 1 || 23 || - || - ||
|-
|-
| [[func_nav_blocker]] || 9 || - || - || - ||
| [[func_nav_blocker]] || 9 || 17 || - || - ||
|-
|-
| [[func_orator]] || 1 || - || - || - ||
| [[func_orator]] || 1 || 1 || - || - ||
|-
|-
| [[func_precipitation]] || 1 || - || - || - ||
| [[func_precipitation]] || 1 || - || - || - ||
|-
|-
| [[info_changelevel]] || 1 || - || - || - ||
| [[func_playerinfected_clip]] || - || 57 || - || - ||
|-
| [[func_rotating]] || - || 1 || - || - ||
|-
| [[info_changelevel]] || 1 || 2 || - || - ||
|-
|-
| [[info_director]] || 1 || - || - || - ||
| [[info_director]] || 1 || 1 || - || - ||
|-
|-
| [[info_elevator_floor]] || 2 || - || - || - ||
| [[info_elevator_floor]] || 2 || - || - || - ||
|-
|-
| [[info_game_event_proxy]] || 5 || - || - || - ||
| [[info_game_event_proxy]] || 5 || 8 || - || - ||
|-
| [[info_gamemode]] || - || 3 || - || - ||
|-
|-
| [[info_landmark]] || 1 || - || - || - ||
| [[info_landmark]] || 1 || 2 || - || - ||
|-
|-
| [[info_map_parameters]] || 1 || - || - || - ||
| [[info_map_parameters]] || 1 || 1 || - || - ||
|-
|-
| [[info_map_parameters_versus]] || 1 || - || - || - ||
| [[info_map_parameters_versus]] || 1 || 1 || - || - ||
|-
|-
| [[info_overlay]] || 156 || - || - || - ||
| [[info_overlay]] || 156 || 348 || - || - ||
|-
|-
| [[info_particle_system]] || 145 || - || - || - ||
| [[info_particle_system]] || 145 || 8 || - || - ||
|-
|-
| [[info_particle_target]] || 166 || - || - || - ||
| [[info_particle_target]] || 166 || 12 || - || - ||
|-
|-
| [[info_player_start]] || 4 || - || - || - ||
| [[info_player_start]] || 4 || - || - || - ||
Line 93: Line 121:
| [[info_projecteddecal]] || 10 || - || - || - ||
| [[info_projecteddecal]] || 10 || - || - || - ||
|-
|-
| [[info_remarkable]] || 16 || - || - || - ||
| [[info_remarkable]] || 16 || 16 || - || - ||
|-
|-
| [[info_survivor_position]] || 4 || - || - || - ||
| [[info_survivor_position]] || 4 || - || - || - ||
|-
|-
| [[info_survivor_rescue]] || 6 || - || - || - ||
| [[info_survivor_rescue]] || 6 || 12 || - || - ||
|-
|-
| [[info_target]] || 2 || - || - || - ||
| [[info_target]] || 2 || 1 || - || - ||
|-
|-
| [[info_zombie_spawn]] || 26 || - || - || - ||
| [[info_zombie_spawn]] || 26 || - || - || - ||
Line 105: Line 133:
| [[infodecal]] || 14 || - || - || - ||
| [[infodecal]] || 14 || - || - || - ||
|-
|-
| [[keyframe_rope]] || 31 || - || - || - ||
| [[keyframe_rope]] || 31 || 59 || - || - ||
|-
| [[light]] || 95 || 15 || - || - ||
|-
|-
| [[light]] || 95 || - || - || - ||
| [[light_directional]] || 1 || 1 || - || - ||
|-
|-
| [[light_directional]] || 1 || - || - || - ||
| [[light_environment]] || 1 || 1 || - || - ||
|-
|-
| [[light_environment]] || 1 || - || - || - ||
| [[light_spot]] || 69 || 30 || - || - ||
|-
|-
| [[light_spot]] || 69 || - || - || - ||
| [[logic_auto]] || 6 || 22 || - || - ||
|-
|-
| [[logic_auto]] || 6 || - || - || - ||
| [[logic_branch]] || - || 2 || - || - ||
|-
|-
| [[logic_case]] || 76 || - || - || - ||
| [[logic_case]] || 76 || 13 || - || - ||
|-
|-
| [[logic_choreographed_scene]] || 1 || - || - || - ||
| [[logic_choreographed_scene]] || 1 || - || - || - ||
|-
|-
| [[logic_director_query]] || 3 || - || - || - ||
| [[logic_director_query]] || 3 || 1 || - || - ||
|-
| [[logic_relay]] || 43 || 15 || - || - ||
|-
|-
| [[logic_relay]] || 43 || - || - || - ||
| [[logic_script]] || - || 1 || - || - ||
|-
|-
| [[logic_timer]] || 10 || - || - || - ||
| [[logic_timer]] || 10 || 12 || - || - ||
|-
|-
| [[math_counter]] || 4 || - || - || - ||
| [[math_counter]] || 4 || - || - || - ||
|-
|-
| [[move_rope]] || 10 || - || - || - ||
| [[move_rope]] || 10 || 20 || - || - ||
|-
| [[path_track]] || 14 || 1 || - || - || || || Could be decompile error of [[info_lighting]].
|-
|-
| [[path_track]] || 14 || - || - || - || || || Could be decompile error of [[info_lighting]].
| [[player_weaponstrip]] || - || 1 || - || - ||
|-
|-
| [[point_hurt]] || 1 || - || - || - ||
| [[point_hurt]] || 1 || - || - || - ||
|-
|-
| [[point_template]] || 47 || - || - || - ||
| [[point_prop_use_target]] || - || 1 || - || - ||
|-
| [[point_template]] || 47 || 5 || - || - ||
|-
|-
| [[point_viewcontrol_survivor]] || 4 || - || - || - ||
| [[point_viewcontrol_survivor]] || 4 || - || - || - ||
|-
|-
| [[postprocess_controller]] || 4 || - || - || - ||
| [[postprocess_controller]] || 4 || 2 || - || - ||
|-
| [[prop_car_alarm]] || - || 2 || - || - ||
|-
| [[prop_car_glass]] || - || 4 || - || - ||
|-
| [[prop_door_rotating]] || 29 || 13 || - || - ||
|-
| [[prop_door_rotating_checkpoint]] || 1 || 2 || - || - ||
|-
|-
| [[prop_door_rotating]] || 29 || - || - || - ||
| [[prop_dynamic]] || 72 || 55 || - || - ||
|-
|-
| [[prop_door_rotating_checkpoint]] || 1 || - || - || - ||
| [[prop_health_cabinet]] || - || 1 || - || - ||
|-
|-
| [[prop_dynamic]] || 72 || - || - || - ||
| [[prop_physics]] || 314 || 230 || - || - ||
|-
|-
| [[prop_physics]] || 314 || - || - || - ||
| [[prop_static]] || 1748 || 2193 || - || - ||
|-
|-
| [[prop_static]] || 1748 || - || - || - ||
| [[shadow_control]] || 1 || 1 || - || - ||
|-
|-
| [[shadow_control]] || 1 || - || - || - ||
| [[sky_camera]] || 1 || 1 || - || - ||
|-
|-
| [[sky_camera]] || 1 || - || - || - ||
| [[trigger_active_weapon_detect]] || - || 1 || - || - ||
|-
|-
| [[trigger_hurt]] || 51 || - || - || - ||
| [[trigger_hurt]] || 51 || 5 || - || - ||
|-
|-
| [[trigger_hurt_ghost]] || 7 || - || - || - ||
| [[trigger_hurt_ghost]] || 7 || - || - || - ||
Line 161: Line 205:
| [[trigger_look]] || 1 || - || - || - ||
| [[trigger_look]] || 1 || - || - || - ||
|-
|-
| [[trigger_multiple]] || 5 || - || - || - ||
| [[trigger_multiple]] || 5 || 2 || - || - ||
|-
| [[trigger_once]] || 19 || 7 || - || - ||
|-
| [[trigger_push]] || 38 || 4 || - || - ||
|-
|-
| [[trigger_once]] || 19 || - || - || - ||
| [[upgrade_spawn]] || - || 17 || - || - ||
|-
|-
| [[trigger_push]] || 38 || - || - || - ||
| [[weapon_ammo_spawn]] || 1 || 7 || - || - ||
|-
|-
| [[weapon_ammo_spawn]] || 1 || - || - || - ||
| [[weapon_autoshotgun_spawn]] || - || 7 || - || - ||
|-
|-
| [[weapon_chainsaw_spawn]] || 3 || - || - || - ||
| [[weapon_chainsaw_spawn]] || 3 || - || - || - ||
|-
|-
| [[weapon_first_aid_kit_spawn]] || 9 || - || - || - ||
| [[weapon_first_aid_kit_spawn]] || 9 || 12 || - || - ||
|-
| [[weapon_hunting_rifle_spawn]] || - || 4 || - || - ||
|-
|-
| [[weapon_item_spawn]] || 51 || - || - || - ||
| [[weapon_item_spawn]] || 51 || 100 || - || - ||
|-
|-
| [[weapon_melee_spawn]] || 8 || - || - || - ||
| [[weapon_melee_spawn]] || 8 || 14 || - || - ||
|-
|-
| [[weapon_pain_pills_spawn]] || 1 || - || - || - ||
| [[weapon_pain_pills_spawn]] || 1 || - || - || - ||
|-
|-
| [[weapon_pistol_magnum_spawn]] || 1 || - || - || - ||
| [[weapon_pistol_magnum_spawn]] || 1 || 2 || - || - ||
|-
| [[weapon_pistol_spawn]] || 3 || 5 || - || - ||
|-
| [[weapon_pumpshotgun_spawn]] || - || 4 || - || - ||
|-
| [[weapon_rifle_ak47_spawn]] || - || 5 || - || - ||
|-
| [[weapon_rifle_desert_spawn]] || - || 4 || - || - ||
|-
| [[weapon_rifle_spawn]] || - || 6 || - || - ||
|-
| [[weapon_shotgun_chrome_spawn]] || 3 || 2 || - || - ||
|-
| [[weapon_shotgun_spas_spawn]] || - || 4 || - || - ||
|-
|-
| [[weapon_pistol_spawn]] || 3 || - || - || - ||
| [[weapon_smg_silenced_spawn]] || 1 || 3 || - || - ||
|-
|-
| [[weapon_shotgun_chrome_spawn]] || 3 || - || - || - ||
| [[weapon_smg_spawn]] || - || 2 || - || - ||
|-
|-
| [[weapon_smg_silenced_spawn]] || 1 || - || - || - ||
| [[weapon_sniper_military_spawn]] || - || 2 || - || - ||
|-
|-
| [[weapon_spawn]] || 6 || - || - || - ||
| [[weapon_spawn]] || 6 || 13 || - || - ||
|}
|}



Revision as of 19:52, 20 July 2010

Left 4 Dead 2 Another way to help understand L4D2 level creation is to see what makes up an official one. This does not mean that developers are limited to only these elements in a L4D2 map, but these maps can be very good examples to start with.

Todo: Organize, interpret, tabulate, compact... celebrate!

Compiling

Some Observations / Interpretations

  • sky_camera is in every map. A L4D2 map without a 3D skybox will give graphical glitches in-game.

Example: Dead Line 2

c1: Dead Center

Light settings

Entities

Audio and Choreography

Lighting and Visual Effects

Logic

Props

Trigger

Weapons

Other

Dead Center
Entity Name m1 m2 m3 m4 Left 4 Dead Left 4 Dead 2 Notes
ambient_generic 40 9 - - This is a test table.
beam_spotlight - 21 - -
color_correction 4 2 - -
env_cubemap 84 27 - -
env_entity_maker - 2 - -
env_explosion - 1 - -
env_fade 2 - - -
env_fog_controller 9 2 - -
env_microphone - 1 - -
env_physexplosion - 1 - -
env_shake 24 1 - -
env_soundscape 62 29 - -
env_sprite 9 18 - -
env_sun 1 1 - -
env_tonemap_controller 1 1 - -
env_tonemap_controller_ghost 1 1 - -
env_tonemap_controller_infected 1 1 - -
filter_activator_model - 1 - -
filter_activator_team 3 1 - -
fog_volume 15 8 - -
func_block_charge - 2 - -
func_breakable 8 12 - -
func_brush 195 30 - -
func_button 2 1 - -
func_clip_vphysics - 50 - -
func_detail 701 747 - -
func_door - 1 - -
func_illusionary - 1 - - A legacy brush entity still used today.
func_elevator 1 - - -
func_ladder - 77 - -
func_movelinear 4 - - -
func_nav_attribute_region 1 23 - -
func_nav_blocker 9 17 - -
func_orator 1 1 - -
func_precipitation 1 - - -
func_playerinfected_clip - 57 - -
func_rotating - 1 - -
info_changelevel 1 2 - -
info_director 1 1 - -
info_elevator_floor 2 - - -
info_game_event_proxy 5 8 - -
info_gamemode - 3 - -
info_landmark 1 2 - -
info_map_parameters 1 1 - -
info_map_parameters_versus 1 1 - -
info_overlay 156 348 - -
info_particle_system 145 8 - -
info_particle_target 166 12 - -
info_player_start 4 - - -
info_projecteddecal 10 - - -
info_remarkable 16 16 - -
info_survivor_position 4 - - -
info_survivor_rescue 6 12 - -
info_target 2 1 - -
info_zombie_spawn 26 - - -
infodecal 14 - - -
keyframe_rope 31 59 - -
light 95 15 - -
light_directional 1 1 - -
light_environment 1 1 - -
light_spot 69 30 - -
logic_auto 6 22 - -
logic_branch - 2 - -
logic_case 76 13 - -
logic_choreographed_scene 1 - - -
logic_director_query 3 1 - -
logic_relay 43 15 - -
logic_script - 1 - -
logic_timer 10 12 - -
math_counter 4 - - -
move_rope 10 20 - -
path_track 14 1 - - Could be decompile error of info_lighting.
player_weaponstrip - 1 - -
point_hurt 1 - - -
point_prop_use_target - 1 - -
point_template 47 5 - -
point_viewcontrol_survivor 4 - - -
postprocess_controller 4 2 - -
prop_car_alarm - 2 - -
prop_car_glass - 4 - -
prop_door_rotating 29 13 - -
prop_door_rotating_checkpoint 1 2 - -
prop_dynamic 72 55 - -
prop_health_cabinet - 1 - -
prop_physics 314 230 - -
prop_static 1748 2193 - -
shadow_control 1 1 - -
sky_camera 1 1 - -
trigger_active_weapon_detect - 1 - -
trigger_hurt 51 5 - -
trigger_hurt_ghost 7 - - -
trigger_look 1 - - -
trigger_multiple 5 2 - -
trigger_once 19 7 - -
trigger_push 38 4 - -
upgrade_spawn - 17 - -
weapon_ammo_spawn 1 7 - -
weapon_autoshotgun_spawn - 7 - -
weapon_chainsaw_spawn 3 - - -
weapon_first_aid_kit_spawn 9 12 - -
weapon_hunting_rifle_spawn - 4 - -
weapon_item_spawn 51 100 - -
weapon_melee_spawn 8 14 - -
weapon_pain_pills_spawn 1 - - -
weapon_pistol_magnum_spawn 1 2 - -
weapon_pistol_spawn 3 5 - -
weapon_pumpshotgun_spawn - 4 - -
weapon_rifle_ak47_spawn - 5 - -
weapon_rifle_desert_spawn - 4 - -
weapon_rifle_spawn - 6 - -
weapon_shotgun_chrome_spawn 3 2 - -
weapon_shotgun_spas_spawn - 4 - -
weapon_smg_silenced_spawn 1 3 - -
weapon_smg_spawn - 2 - -
weapon_sniper_military_spawn - 2 - -
weapon_spawn 6 13 - -

c6: The Passing

c2: Dark Carnival

c3: Swamp Fever

c4: Hard Rain

c5: The Parish