# Difference between revisions of "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.

## Contents

### Configuring Alien Swarm SDK

Follow Steps 1 through 6 in Cyborgmatt's Model Viewer Guide

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:

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 crashes Dota 2. There is no known fix for this yet.

Prop_Static crashes the game. If you need to create a model, use Prop_Dynamic

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.

### Building the NavMesh

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'