Dissection of Official L4D2 Campaigns: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
Line 40: Line 40:
|-
|-
| [[env_physexplosion]] || - || 1 || - || - ||
| [[env_physexplosion]] || - || 1 || - || - ||
|-
| [[env_player_blocker]] || - || - || 1 || - ||
|-
|-
| [[env_shake]] || 24 || 1 || - || - ||
| [[env_shake]] || 24 || 1 || - || - ||
Line 89: Line 91:
| [[func_elevator]] || 1 || - || - || - ||
| [[func_elevator]] || 1 || - || - || - ||
|-
|-
| [[func_ladder]] || - || 77 || - || - ||
| [[func_ladder]] || - || 77 || 26 || - ||
|-
|-
| [[func_movelinear]] || 4 || - || - || - ||
| [[func_movelinear]] || 4 || - || - || - ||
Line 95: Line 97:
| [[func_nav_attribute_region]] || 1 || 23 || - || - ||
| [[func_nav_attribute_region]] || 1 || 23 || - || - ||
|-
|-
| [[func_nav_blocker]] || 9 || 17 || - || - ||
| [[func_nav_blocker]] || 9 || 17 || 15 || - ||
|-
|-
| [[func_orator]] || 1 || 1 || - || - ||
| [[func_orator]] || 1 || 1 || 2 || - ||
|-
|-
| [[func_precipitation]] || 1 || - || - || - ||
| [[func_precipitation]] || 1 || - || - || - ||
Line 105: Line 107:
| [[func_rotating]] || - || 1 || - || - ||
| [[func_rotating]] || - || 1 || - || - ||
|-
|-
| [[info_changelevel]] || 1 || 2 || - || - ||
| [[info_ambient_mob]] || - || - || - || - ||
|-
| [[info_ambient_mob_end]] || - || - || 2 || - ||
|-
| [[info_ambient_mob_start]] || - || - || 2 || - ||
|-
| [[info_changelevel]] || 1 || 2 || 2 || - ||
|-
|-
| [[info_director]] || 1 || 1 || - || - ||
| [[info_director]] || 1 || 1 || 1 || - ||
|-
|-
| [[info_elevator_floor]] || 2 || - || - || - ||
| [[info_elevator_floor]] || 2 || - || - || - ||
|-
|-
| [[info_game_event_proxy]] || 5 || 8 || - || - ||
| [[info_game_event_proxy]] || 5 || 8 || 3 || - ||
|-
|-
| [[info_gamemode]] || - || 3 || - || - ||
| [[info_gamemode]] || - || 3 || - || - ||
|-
|-
| [[info_landmark]] || 1 || 2 || - || - ||
| [[info_landmark]] || 1 || 2 || 2 || - ||
|-
|-
| [[info_map_parameters]] || 1 || 1 || - || - ||
| [[info_map_parameters]] || 1 || 1 || 1 || - ||
|-
|-
| [[info_map_parameters_versus]] || 1 || 1 || - || - ||
| [[info_map_parameters_versus]] || 1 || 1 || 1 || - ||
|-
|-
| [[info_overlay]] || 156 || 348 || - || - ||
| [[info_overlay]] || 156 || 348 || 457 || - ||
|-
|-
| [[info_particle_system]] || 145 || 8 || - || - ||
| [[info_particle_system]] || 145 || 8 || 2 || - ||
|-
|-
| [[info_particle_target]] || 166 || 12 || - || - ||
| [[info_particle_target]] || 166 || 12 || - || - ||
Line 131: Line 139:
| [[info_projecteddecal]] || 10 || - || - || - ||
| [[info_projecteddecal]] || 10 || - || - || - ||
|-
|-
| [[info_remarkable]] || 16 || 16 || - || - ||
| [[info_remarkable]] || 16 || 16 || 32 || - ||
|-
|-
| [[info_survivor_position]] || 4 || - || - || - ||
| [[info_survivor_position]] || 4 || - || - || - ||
|-
|-
| [[info_survivor_rescue]] || 6 || 12 || - || - ||
| [[info_survivor_rescue]] || 6 || 12 || 12 || - ||
|-
|-
| [[info_target]] || 2 || 1 || - || - ||
| [[info_target]] || 2 || 1 || 1 || - ||
|-
|-
| [[info_zombie_spawn]] || 26 || - || - || - ||
| [[info_zombie_spawn]] || 26 || - || - || - ||
|-
|-
| [[infodecal]] || 14 || - || - || - ||
| [[infodecal]] || 14 || - || 8 || - ||
|-
|-
| [[keyframe_rope]] || 31 || 59 || - || - ||
| [[keyframe_rope]] || 31 || 59 || - || - ||
|-
|-
| [[light]] || 95 || 15 || - || - ||
| [[light]] || 95 || 15 || 3 || - ||
|-
|-
| [[light_directional]] || 1 || 1 || - || - ||
| [[light_directional]] || 1 || 1 || 1 || - ||
|-
|-
| [[light_environment]] || 1 || 1 || - || - ||
| [[light_environment]] || 1 || 1 || 1 || - ||
|-
|-
| [[light_spot]] || 69 || 30 || - || - ||
| [[light_spot]] || 69 || 30 || 42 || - ||
|-
|-
| [[logic_auto]] || 6 || 22 || - || - ||
| [[logic_auto]] || 6 || 22 || 14 || - ||
|-
|-
| [[logic_branch]] || - || 2 || - || - ||
| [[logic_branch]] || - || 2 || - || - ||
|-
|-
| [[logic_case]] || 76 || 13 || - || - ||
| [[logic_case]] || 76 || 13 || 80 || - ||
|-
|-
| [[logic_choreographed_scene]] || 1 || - || - || - ||
| [[logic_choreographed_scene]] || 1 || - || - || - ||
|-
|-
| [[logic_director_query]] || 3 || 1 || - || - ||
| [[logic_compare]] || - || - || 1 || - ||
|-
|-
| [[logic_relay]] || 43 || 15 || - || - ||
| [[logic_director_query]] || 3 || 1 || 3 || - ||
|-
| [[logic_relay]] || 43 || 15 || 18 || - ||
|-
|-
| [[logic_script]] || - || 1 || - || - ||
| [[logic_script]] || - || 1 || - || - ||
|-
|-
| [[logic_timer]] || 10 || 12 || - || - ||
| [[logic_timer]] || 10 || 12 || 77 || - ||
|-
|-
| [[math_counter]] || 4 || - || - || - ||
| [[math_counter]] || 4 || - || 1 || - ||
|-
|-
| [[move_rope]] || 10 || 20 || - || - ||
| [[move_rope]] || 10 || 20 || - || - ||
Line 181: Line 191:
| [[point_prop_use_target]] || - || 1 || - || - ||
| [[point_prop_use_target]] || - || 1 || - || - ||
|-
|-
| [[point_template]] || 47 || 5 || - || - ||
| [[point_template]] || 47 || 5 || 30 || - ||
|-
|-
| [[point_viewcontrol_survivor]] || 4 || - || - || - ||
| [[point_viewcontrol_survivor]] || 4 || - || - || - ||
|-
|-
| [[postprocess_controller]] || 4 || 2 || - || - ||
| [[postprocess_controller]] || 4 || 2 || 2 || - ||
|-
|-
| [[prop_car_alarm]] || - || 2 || - || - ||
| [[prop_car_alarm]] || - || 2 || - || - ||
Line 191: Line 201:
| [[prop_car_glass]] || - || 4 || - || - ||
| [[prop_car_glass]] || - || 4 || - || - ||
|-
|-
| [[prop_door_rotating]] || 29 || 13 || - || - ||
| [[prop_door_rotating]] || 29 || 13 || 39 || - ||
|-
|-
| [[prop_door_rotating_checkpoint]] || 1 || 2 || - || - ||
| [[prop_door_rotating_checkpoint]] || 1 || 2 || 2 || - ||
|-
|-
| [[prop_dynamic]] || 72 || 55 || - || - ||
| [[prop_dynamic]] || 72 || 55 || 19 || - ||
|-
|-
| [[prop_health_cabinet]] || - || 1 || - || - ||
| [[prop_health_cabinet]] || - || 1 || 2 || - ||
|-
|-
| [[prop_physics]] || 314 || 230 || - || - ||
| [[prop_physics]] || 314 || 230 || 288 || - ||
|-
|-
| [[prop_static]] || 1748 || 2193 || - || - ||
| [[prop_static]] || 1748 || 2193 || 4089 || - ||
|-
|-
| [[shadow_control]] || 1 || 1 || - || - ||
| [[shadow_control]] || 1 || 1 || 1 || - ||
|-
|-
| [[sky_camera]] || 1 || 1 || - || - ||
| [[sky_camera]] || 1 || 1 || 1 || - ||
|-
|-
| [[trigger_active_weapon_detect]] || - || 1 || - || - ||
| [[trigger_active_weapon_detect]] || - || 1 || - || - ||
|-
|-
| [[trigger_hurt]] || 51 || 5 || - || - ||
| [[trigger_auto_crouch]] || - || - || 4 || - ||
|-
| [[trigger_hurt]] || 51 || 5 || 1 || - ||
|-
|-
| [[trigger_hurt_ghost]] || 7 || - || - || - ||
| [[trigger_hurt_ghost]] || 7 || - || - || - ||
Line 215: Line 227:
| [[trigger_look]] || 1 || - || - || - ||
| [[trigger_look]] || 1 || - || - || - ||
|-
|-
| [[trigger_multiple]] || 5 || 2 || - || - ||
| [[trigger_multiple]] || 5 || 2 || 3 || - ||
|-
|-
| [[trigger_once]] || 19 || 7 || - || - ||
| [[trigger_once]] || 19 || 7 || 2 || - ||
|-
|-
| [[trigger_push]] || 38 || 4 || - || - ||
| [[trigger_push]] || 38 || 4 || - || - ||
Line 223: Line 235:
| [[upgrade_spawn]] || - || 17 || - || - ||
| [[upgrade_spawn]] || - || 17 || - || - ||
|-
|-
| [[weapon_ammo_spawn]] || 1 || 7 || - || - ||
| [[weapon_ammo_spawn]] || 1 || 7 || 2 || - ||
|-
|-
| [[weapon_autoshotgun_spawn]] || - || 7 || - || - ||
| [[weapon_autoshotgun_spawn]] || - || 7 || - || - ||
Line 229: Line 241:
| [[weapon_chainsaw_spawn]] || 3 || - || - || - ||
| [[weapon_chainsaw_spawn]] || 3 || - || - || - ||
|-
|-
| [[weapon_first_aid_kit_spawn]] || 9 || 12 || - || - ||
| [[weapon_first_aid_kit_spawn]] || 9 || 12 || 8 || - ||
|-
|-
| [[weapon_hunting_rifle_spawn]] || - || 4 || - || - ||
| [[weapon_hunting_rifle_spawn]] || - || 4 || - || - ||
|-
|-
| [[weapon_item_spawn]] || 51 || 100 || - || - ||
| [[weapon_item_spawn]] || 51 || 100 || 148 || - ||
|-
|-
| [[weapon_melee_spawn]] || 8 || 14 || - || - ||
| [[weapon_melee_spawn]] || 8 || 14 || 10 || - ||
|-
|-
| [[weapon_pain_pills_spawn]] || 1 || - || - || - ||
| [[weapon_pain_pills_spawn]] || 1 || - || - || - ||
Line 261: Line 273:
| [[weapon_sniper_military_spawn]] || - || 2 || - || - ||
| [[weapon_sniper_military_spawn]] || - || 2 || - || - ||
|-
|-
| [[weapon_spawn]] || 6 || 13 || - || - ||
| [[weapon_spawn]] || 6 || 13 || 17 || - ||
|}
|}



Revision as of 20:10, 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_hotel m2_streets m3_mall m4_atrium Left 4 Dead Left 4 Dead 2 Notes
ambient_generic 40 9 3 - This is a test table.
beam_spotlight - 21 40 -
color_correction 4 2 2 -
env_cubemap 84 27 40 -
env_entity_maker - 2 181 -
env_explosion - 1 - -
env_fade 2 - - -
env_fog_controller 9 2 2 -
env_microphone - 1 - -
env_physexplosion - 1 - -
env_player_blocker - - 1 -
env_shake 24 1 - -
env_soundscape 62 29 28 -
env_sprite 9 18 1 -
env_sun 1 1 - -
env_tonemap_controller 1 1 1 -
env_tonemap_controller_ghost 1 1 1 -
env_tonemap_controller_infected 1 1 1 -
filter_activator_model - 1 - -
filter_activator_name - - 1 -
filter_activator_team 3 1 2 -
filter_damage_type - - 1 -
filter_melee_damage - - 1 -
filter_multi - - 1 -
fog_volume 15 8 2 -
func_block_charge - 2 - -
func_breakable 8 12 431 -
func_brush 195 30 36 -
func_button 2 1 1 -
func_clip_vphysics - 50 - -
func_detail 701 747 1830 -
func_door - 1 - -
func_door_rotating - - 9 -
func_illusionary - 1 - - A legacy brush entity still used today.
func_elevator 1 - - -
func_ladder - 77 26 -
func_movelinear 4 - - -
func_nav_attribute_region 1 23 - -
func_nav_blocker 9 17 15 -
func_orator 1 1 2 -
func_precipitation 1 - - -
func_playerinfected_clip - 57 - -
func_rotating - 1 - -
info_ambient_mob - - - -
info_ambient_mob_end - - 2 -
info_ambient_mob_start - - 2 -
info_changelevel 1 2 2 -
info_director 1 1 1 -
info_elevator_floor 2 - - -
info_game_event_proxy 5 8 3 -
info_gamemode - 3 - -
info_landmark 1 2 2 -
info_map_parameters 1 1 1 -
info_map_parameters_versus 1 1 1 -
info_overlay 156 348 457 -
info_particle_system 145 8 2 -
info_particle_target 166 12 - -
info_player_start 4 - - -
info_projecteddecal 10 - - -
info_remarkable 16 16 32 -
info_survivor_position 4 - - -
info_survivor_rescue 6 12 12 -
info_target 2 1 1 -
info_zombie_spawn 26 - - -
infodecal 14 - 8 -
keyframe_rope 31 59 - -
light 95 15 3 -
light_directional 1 1 1 -
light_environment 1 1 1 -
light_spot 69 30 42 -
logic_auto 6 22 14 -
logic_branch - 2 - -
logic_case 76 13 80 -
logic_choreographed_scene 1 - - -
logic_compare - - 1 -
logic_director_query 3 1 3 -
logic_relay 43 15 18 -
logic_script - 1 - -
logic_timer 10 12 77 -
math_counter 4 - 1 -
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 30 -
point_viewcontrol_survivor 4 - - -
postprocess_controller 4 2 2 -
prop_car_alarm - 2 - -
prop_car_glass - 4 - -
prop_door_rotating 29 13 39 -
prop_door_rotating_checkpoint 1 2 2 -
prop_dynamic 72 55 19 -
prop_health_cabinet - 1 2 -
prop_physics 314 230 288 -
prop_static 1748 2193 4089 -
shadow_control 1 1 1 -
sky_camera 1 1 1 -
trigger_active_weapon_detect - 1 - -
trigger_auto_crouch - - 4 -
trigger_hurt 51 5 1 -
trigger_hurt_ghost 7 - - -
trigger_look 1 - - -
trigger_multiple 5 2 3 -
trigger_once 19 7 2 -
trigger_push 38 4 - -
upgrade_spawn - 17 - -
weapon_ammo_spawn 1 7 2 -
weapon_autoshotgun_spawn - 7 - -
weapon_chainsaw_spawn 3 - - -
weapon_first_aid_kit_spawn 9 12 8 -
weapon_hunting_rifle_spawn - 4 - -
weapon_item_spawn 51 100 148 -
weapon_melee_spawn 8 14 10 -
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 17 -

c6: The Passing

c2: Dark Carnival

c3: Swamp Fever

c4: Hard Rain

c5: The Parish