Dota 2 Maps
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).
To properly build a Dota 2 map, you need the following tools:
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"'
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.
You can view your navmesh in game by doing 'dota_gridnav_show 1'
The func_brush named "structure_seal" should be nodraw. Select a hero by typing "jointeam goodguys/badguys"