Day of Infamy:Creating Levels

From New World Interactive Wiki
Revision as of 23:51, 10 April 2017 by Bramwelt (Talk | contribs) (Day of Infamy Level Setup)

Jump to: navigation, search

Setting up Hammer for Day of Infamy

For information about Hammer for Insurgency, refer to Creating Levels for Insurgency

The standalone version of Day of Infamy ships with Hammer pre-installed, along with a collection of SDK maps.

Simply start hammer by running: $steamlibrary\steamapps\common\dayofinfamy\bin\hammer.exe

Each map requires a "map.txt" file in order to inform Day of Infamy which game modes, factions, and weapons are supported. There is no proper documentation for the "map.txt" files, but the SDK content provides some examples.

For information about Map Scripts, refer to Map Scripts for Insurgency

Supported Environments

Currently the only supported factions in the game are the American, Commonwealth, and German armies. New World Interactive has no plans to officially add any more factions to Day of Infamy, but additional factions can be added by modding.

If you wish to create maps that take place in other theaters, this is fine, but your map may not be included until the character and weapon content gets created to support your map.

Day of Infamy Level Setup

There is a known bug in Hammer which prevents you from launching the game after compling your map (F9). This can be worked around by clicking Expert... after hitting F9, unchecking and rechecking the $game_exe checkbox, and clicking "Go!".

After compiling a map, the bsp file should get copied to dayofinfamy\doi\maps\map_name.bsp

Minimum Requirements

  • ins_viewpoint - Background camera view of map for faction and loadout screens.
  • light_environment - Global lighting for map. Everything will be black otherwise.
  • env_cubemap - Place preferably in the center of the map. Used for generating reflections?
  • "map.txt" - Map script defining factions, spawns, game mode, and control points. Should reside in the same directory as the map.bsp file with the name map.txt (Ex: sdk_invasion.bsp, sdk_invasion.txt)
  • ins_spawnpoint - One for each faction. Set Team Number (int) entity property to Security or Insurgence, and associate with respective block zone under Block Zone. Determines the spawn area.
  • ins_blockzone - One for each faction. Blocks the other team from entering the spawn zone.

If a map is started without this file, only the default factions will be selected, you won't be able to choose a kit. and you won't spawn on the map.

Example from sdk_invasion, April 8th, 2017:

	"navfile"   		"sdk_invasion"
	"nightlighting"		"0"
		"?has_stg44_access"		"1"
		"?has_fg42_access"		"1"
		"?has_m1para_access"	"1"

		"unit"		"unit_commonwealth_british"
		"unit"		"unit_commonwealth_canada"
		"unit"		"unit_commonwealth_no2commando"
		"unit"		"unit_commonwealth_princess_patricia"
		"unit"		"unit_commonwealth_highlander"
		"unit"		"unit_commonwealth_12thfrontier"
		"unit"		"unit_commonwealth_argyll"
		"unit"		"unit_commonwealth_unit_commonwealth_seaforth"
		"unit"		"unit_commonwealth_royal_hamilton"
		"unit"		"unit_commonwealth_grenadier"
		"unit"		"unit_commonwealth_fusilier"
		// german
		"unit"		"unit_german_wehrmacht"
		"unit"		"unit_german_1stinfantry"
		"unit"		"unit_german_15thpanzer"
		"unit"		"unit_german_panzerss"
		"unit"		"unit_german_fallschirmjager"
		"unit"		"unit_german_3rdfallschirmjager"
		"unit"		"unit_german_3rdpanzer"
		"unit"		"unit_german_17thpanzerss"
		"unit"		"unit_german_352infanterie"
		"unit"		"unit_german_29thpanzer"
		// american
		"unit"		"unit_american_usarmy"
		"unit"		"unit_american_ranger"
		"unit"		"unit_american_82ndairborne"
		"unit"		"unit_american_92ndinfantry"
		"unit"		"unit_american_1stinfantry"
		"unit"		"unit_american_3rddivision"
		"unit"		"unit_american_101stairborne"
		"unit"		"unit_american_28thdivision"
		"unit"		"unit_american_2ndrangers"
		"unit"		"unit_american_29thinfantry"

	"invasion"	//Set up is the same as offensive mode without the regroup control point
		"TeamOne"		"americans"
		"TeamTwo"		"axis"
		"AttackingTeam"		"TEAM_ONE"
		"controlpoint"		"cp_a"
		"controlpoint"		"cp_b"
		"controlpoint"		"cp_c"
		"controlpoint"		"radiopoint_axis_final"
			"disablespawns" "1"
			"0"  "spawnzone_offensive_a"
			"1"  "spawnzone_offensive_b"
			"2"  "spawnzone_offensive_c"
			// Radio point
				"origin"		"4753 6 -988"
				"angles"		"0 90 0"
				"targetname"		"radio_axis_final"
				"teamnumber"		"3"
				"ControlPoint"		"radiopoint_axis_final"
				"origin"		"4753 6 -948"
				"angles"		"0 90 0"
				"targetname"		"radiopoint_axis_final"
				"printname"		"#CP_Axis_Radio"


  • point_controlpoint - Set name to cp_map_#, where # is a letter of the alphabet.
  • trigger_capture_zone - Set 'Associated Control Point' entity property (Alt + Enter) to cp_map_#