Dota 2 Workshop Tools/Legacy/Level Design: Difference between revisions
(I fixed the bug with "prop_static"s, so this note is no-longer needed.) |
(Updated upversion link to the newer build) |
||
Line 14: | Line 14: | ||
To properly build a Dota 2 map, you need the following tools: | To properly build a Dota 2 map, you need the following tools: | ||
[http://d.pr/f/ | [http://d.pr/f/B4nf UpVersion.exe by Penguinwizzard] | ||
[https://github.com/RoyAwesome/dota2fgd Work in progress FGD] | [https://github.com/RoyAwesome/dota2fgd Work in progress FGD] |
Revision as of 00:52, 4 January 2014
There are no official tools to create Dota 2 maps, although the community has hacked together a number of tools to compile Dota 2 maps that work.
Configuring Alien Swarm SDK
Follow Steps 1 through 6 in Cyborgmatt's Model Viewer Guide
Download AlienSwarm SDK.
Go to SteamApps\Common\alien swarm\swarm\ and edit the gameinfo.txt. Add the game content you extracted to the search path (similar to step 6 in cyborgmatt's tutorial).
Configuring Hammer
To properly build a Dota 2 map, you need the following tools:
UpVersion.exe by Penguinwizzard
Download both of these and extract them into the bin folder from above.
Open Hammer, and select Tools -> Options...
Remove the AlienSwarm .fgd file and add the dota 2 fgd from above.
Create a new map. Select 'Run Map'. Hit 'Expert'. Create a new config 'Dota 2'. For the first command, we want to run BSP, so hit New, then 'cmds' and select 'BSP Program' and copy the BSP parameter line from default. Second command we want to run is 'UpVersion', so hit new 'New' then 'Cmds'. Select 'Executable' and find 'UpVersion.exe' in the directory you put it. Add '$path\$file.bsp' to the parameters. Finally, we want to copy the final .bsp file to the dota 2 maps directory, so hit New, then in Cmds select 'Copy File'. The params are '$path\$file.bsp "path\to\dota2\maps"'
Mapping notes
Maps are a much larger scale in Dota 2 than they are in other source games. Units are around 48 units wide, towers are 128x128x320 units tall.
More than 8 displacements may crash Dota 2. There is no known fix for this yet.
If an entity is outside the bounds of the map, it crashes the game with no error.
AlienSwarm converts all brushwork into func_detail, so you need to seal the map with a func_brush named structure_seal
Required entities include: info_player_start_goodguys, info_player_start_badguys, ent_dota_game_events, env_global_light.
Required Tool: GNVTool 1.1 by Penguinwizzard
This tool converts netpbm formats to valve's GNV format. It also converts GNV to pbm files.
netpbms are 1 bit bimap files. Dota 2 uses white for walkable, and black for not walkable
Usage: 'GNVtool.exe tognv source.pbm target.gnv offsetx offsety'
offsetx and offsety are offets by 64 units (offsetx|y * 64). Your pbm dimensions must be divisible by 8 or the grid gets sheared.
list of software that support pbm files or converts to pbm format
You can view your navmesh in game by doing 'dota_gridnav_show 1'
Additional Notes
The func_brush named "structure_seal" should be nodraw. Select a hero by typing "jointeam goodguys/badguys"