A Community discussion forum for Halo Custom Edition, Halo 2 Vista, Portal and Halo Machinima

Home  Search Register  Login Member ListRecent Posts
»Forums Index »Halo Custom Edition (Bungie/Gearbox) »Halo CE Technical / Map Design »Before you ask how to edit/make maps - Read This

Author Topic: Before you ask how to edit/make maps - Read This (15 messages, Page 1 of 1)
Moderators: Dennis


Joined: Jan 27, 2005

"We are made of starstuff.” ― Carl Sagan

Posted: May 30, 2007 11:24 AM    Msg. 1 of 15       
Original Article:

Before you ask how to edit/make maps - Read This

There is no one program that you use to make or edit Halo CE maps. There are a suite of programs. The process used to create a new map starts with creating the map geometry or Level BSP (Binary Space Partitioning) adding textures then exporting into a format that can be imported into the Halo Game. The HEK - Halo Editing Kit - is a suite of programs that contains the various tools you will need to import the map geometry and textures and allow for placement of other assets such as weapons, vehicles and scenery.

Program Downloads

Halo Editing Kit (HEK) for Halo (CE) Custom Edition

3d Modeling Program
GMAX - (free)
note: you may use other 3D modeling programs but GMAX is the only free one fully supported.

The Halo Editing Kit consists of several programs: (from the HEK tutorial)

Blitzkrieg (blitzkrieg.dle)
Blitzkrieg is the exporter plug-in for 3D Studio Max. This plug-in exports the model data (vertices, materials, smoothing group information, animations, etc...) from 3DS Max to the file formats (.jms, .jmp, .jma, .jmm, .jmt) used by tool.exe to compile a data tag that can be used by Halo.

Tool (tool.exe)
Tool is a multipurpose command line program that compiles and converts data that has been exported from other sources such as 3D Studio Max. The data files that are created are referred to as "tags". Running "tool.exe" by itself with no command line parameters will display a complete list of the available command line parameters and appropriate variables and variable formats.

Guerilla (guerilla.exe)
Guerilla has a graphical interface that is used to edit the properties and resource references in the Halo data “tags”.

Sapien (sapien.exe)
Sapien is used to edit or modify various aspects of a level that has already been compiled using Tool. Sapien has a graphical interface that contains a 3D window that renders the game including the level bsp, models, and vehicles as well as playing sounds and running physics. Sapien is used for many purposes, including the population of characters, weapons, items, scenery objects, and game play and mission objectives

It is highly recommended that you read the HEK tutorial that comes with the HEK installation BEFORE you start trying to edit or create maps.

There are numerous other third party utilities that have been created to assist in the development of Halo CE maps and they can be found in the Halo Utilities section of the website. The most popular is HEK plus (HEK+) which allows for decompiling existing maps into their constituent assets.

Program Downloads

Section: Halo Utilities

Halo Editing Kit Plus

The game Assets such as scenery objects, weapons, vehicles and the like are contain in "tags" these tags CAN NOT be added to existing map (*.map) files and must be compiled into the maps during creation. The "tag" defines what each object is or does and how it is treated in the game. You can find various tags in the Halo CE Tags sections of the website.

Program Downloads:

Halo CE Misc. Tags

Halo CE Biped Tags

Halo CE Scenery Tags

Halo CE Tag Packs

Halo CE Vehicle Tags

Halo CE Weapon Tags

Getting More Help
Creating Halo CE maps is not a simple process. It requires that you learn how to use the 3D editing program, understand how map geometry is imported into the game and also how to populate the game level with game assets. There are numerous user created tutorials, video and text, to assist in teaching you the various disciplines required for creating maps. You can find them in the Tutorials section of the website.

Section: Tutorials

Ghost's Tutorials

The Halo CE maps website has a search function that will allow you to find maps, tutorials and whatever else is available from the website. Please use it before asking in the forum. For example if you want to find out how to make maps search for a tutorial "Map Making Tutorial" http://hce.halomaps.org/index.cfm?Search=map+making+tutorial

Please look for answers before asking questions.

NOTE: Please only post in this topic if you have links to relevant maping tutorials or guides. Other posts will be deleted by the admin.
Edited by Dennis on May 30, 2007 at 07:34 PM

Joined: Mar 13, 2007

Posted: Jul 15, 2007 01:54 AM    Msg. 2 of 15       
Note to new mappers that need help troubleshooting Tool.

Quote: Tool (tool.exe)
Tool is a multipurpose command line program that compiles and converts data that has been exported from other sources such as 3D Studio Max. The data files that are created are referred to as "tags". Running "tool.exe" by itself with no command line parameters will display a complete list of the available command line parameters and appropriate variables and variable formats.

First time users should keep in mind this when using Tool:

Tool is a Command Prompt only application. This means if you try to run Tool directly by clicking on tool.exe it will close 2 seconds after it opens. It does this becuase it is only accessable and usable by running it through Command Prompt.

Tool and its features:

model - The Model command is used to make GBXmodels. These models are what make up the actual mesh of the objects. These include: Vehicles, Weapons, Powerups, and Characters.
Others include: Scenery, ammo, multiplayer objects such as the oddball or the flag.

animations - The animations command is used to convert .JMA, JMO, JMM, or other animation data files into a single .model_animations tag.

strings - Don't know very much about this command, I havn't used it before. It's most likely used to produce a string list tag.

unicode-strings - Don't know much about this one either. Probably is used to make unicode string list tags, then again, I havn't used it, so i could be wrong.

bitmaps - converts .tif images into bitmaps used by Halo. Images must have the power of two dimensions to be converted (Example: 1280*1024, or 512*1024) It must be a equal resolution.

bitmap - Note this is not the same as the bitmaps command. I havn't used it before some im not entirely sure what its for.

structure - This command tells Tool to take a .JMS file (The level) and convert it into a a usable format by the game engine.

structure-lens-flares - Not entirely sure what this is for, although the name suggests it, it is probably used to make lens flares.

structure-breakable-surfaces - As name suggest, more than likely to mark certain surfaces as breakable.

collision-geometry - This command makes a collision model. The collision makes things so you cant walk through a warthog or fall through a banshee when jumping off a roof. Remember: Collision Geometry command will check for errors in the model. Model command will not, this will allow you to make the model but if it has errors you cannot make a collision geometry until they are all fixed.

physics - Unknown to me, I assume it makes a .physics tag for objects based on the models size, polygons used, and number of Vertices it has.

sounds - creates .sound tags for use in the HEK. Note that most of the times ive used this it doesn't work or the sound tags are corrupted. Check to see if you can find any updates to:


And if needed:


These updated .dll files required for tool to make .sound tags should help solve the problem.

sounds_by_type - Also unknown to me, have no clue what its used for.

build-cache-file - The Tool command used to make cache files (.map) These are what the game uses to play the map.

windows-font - Absolutely no clue as to what its even doing there.

hud-messages - Nope, no information on this one also, at least from me.

lightmaps - used to generate the lighting of the level. Lightmaps effects how the lighting of the map looks, and will be generated according to which sky is used. (Example: Night sky will produce dark map, Day sky will produce bright map) Lightmaps are also effected by lightsources, so if you put in a light fixture that does not use the dynamic light flag, it will effewct how the lightmap looks in the surrounding area.

process-sounds - Absolutely no clue what its for.

merge-scenery - I dont know why they would need to merge scenery....

zoners_model_upgrade - Completely stumped, confused, and no clue what so ever at all as to what the command is for, why its there, and how to use it.

import-device-defualts - Also unknown to me, havn't used it.

Well I believe thats all the commands. Instructions on how to use (some of) them are located in most beginner tutorials you will find.

Joined: Dec 9, 2006

mmm toasty

Posted: Aug 7, 2007 05:46 AM    Msg. 3 of 15       
Hud-messages- Used to make a HUD-message tag. You can later use this tag to set help text and objectives in single player maps.

Strings- used to make tags in the form of .string_list

Bitmap- Similar to the Bitmaps command, although you must specify the name of the bitmap you are converting in tool. Example: tool bitmap icons\reticle

Sounds By Type- Used to create a specific sound type. You can even choose to round it to 64 samples.

Merge Scenery- Say you make a new BSP but dont want to add all the individual scenery tags to the pallete in sapien again. Use this command to transfer the scenery from one scenario to another.
Edited by AHS_SONIC on Oct 28, 2007 at 01:37 PM

Joined: Mar 13, 2007

Posted: Oct 18, 2007 08:20 PM    Msg. 4 of 15       
Also available:

Tool++ - A Graphical-Interface enhanced version of Tool. it does not require Command Prompt. However, it does not work as well for certain features as Tool (not for me at least.)

Korman's "Unlocked" Guerilla - A modified version of Guerilla that gives you more access to tag properties and settings. This allows for greater customization of tags.

A Hobo/Enhanced Sapien - A enhanced version of Sapien, however I'm not sure what parts are better than regular Sapien.

This is for all those that do animations in 3D Studio Max and Gmax:

This site hosts a database of useful MAXscript animation scripts that can help make animating for Halo easier.

Note: The "### ERROR Couldn't read map file './toolbeta.map'" error is completely ignorable. If you wish to have this message removed please consult some of the other forum members. I recommend the following:

Kirby_422 (Orange_Geko)

Killer Kiwi

HaloGuru (HGuru)

MBA {WRAITH} (Tarzan)

Edited by MechWarrior001 on Dec 19, 2009 at 04:17 PM

Joined: Mar 13, 2007

Posted: Jul 16, 2008 02:44 AM    Msg. 5 of 15       
Also for Windows Vista users:

If you are using 3DS MAX 9, make sure you grab Service Pack 2, it solves a few issues with using it in Windows Vista.

For biped riggers/modelers, just to be sure all your rigging goes well, make sure you download the Hot Fix 4 for 3DS MAX 9. It keeps your file size from unnecessarily increasing by preventing "internal duplication of Copy & Paste files which could cause file size to grow unnecessarily" or somewhere around that.

You can find these updates & more at:


Joined: Jan 14, 2008

Posted: Mar 8, 2009 04:24 PM    Msg. 6 of 15       

Quote: --- Original message by: Advancebo
Primary Firing would be if you have barrels.
It would have the same amount of key frames as the number of barrels.
Exported as:
stand fixed fire-1.JMO

Secondary Firing would not be needed unless you plan on having an actual moving object for it.
Depends on what it is, if its a barrel like above or some complex firing mechanism.
Exported as:
stand fixed fire-2.JMO

Hatch opening can be any amount of keyframes you want.
Exported as:
stand opening.JMA - When you are exiting the vehicle
stand closing.JMA - When you are entering the vehicle

The opening and closing is coupled with "stand fixed idle.JMA", which tells what the vehicle is like when unoccupied.

Turning would be 3 frames.
0 - Default
1 - Turning Right
2 - Default
3 - Turning Left
Exported as:
vehicle steering.JMO

Accelerating has 3 main parts:
stand acc-left-right.JMO - What the vehicle does when turning left or right, such as on the Warthog's Chaingun.
stand acc-front-back.JMO - What the vehicle does when moving front or back, such as on the Warthog's Chaingun.
stand acc-up-down.JMO - What the vehicle does when moving up or down, such as on the Warthog's Chaingun.
Each has 3 keyframes, and they are in the order that it says:
0 - Default
1 - left/front/up
2 - Default
3 - right/back/down

Rolling is not needed.

Another animation you may need is "stand fixed aim-still", which defines where the vehicle's weapon can aim. The Warthog's Chaingun demonstrates that, where you can aim 360 degrees, but you cant aim straight up or straight down.
For a full 360 aiming:
0 - Default
1 - Aiming Backwards 180 degrees, and down.
2 - Aiming Right 90 degrees, and down.
3 - Aiming Forward 0 degrees, and down.
4 - Aiming Left 90 degrees, and down.
5 - Aiming Backwards 180 degrees, and down.
6 - Aiming Backwards 180 degrees, at normal.
7 - Aiming Right 90 degrees, at normal.
8 - Aiming Forward 0 degrees, at normal.
9 - Aiming Left 90 degrees, at normal.
10 - Aiming Backwards 180 degrees, at normal.
11 - Aiming Backwards 180 degrees, and up.
12 - Aiming Right 90 degrees, and up.
13 - Aiming Forward 0 degrees, and up.
14 - Aiming Left 90 degrees, and up.
15 - Aiming Backwards 180 degrees, and up.
For 180 degrees aiming:
0 - Default
1 - Aiming Right degrees, down.
2 - Aiming Forward 0 degrees, down.
3 - Aiming Left , down.
4 - Aiming Right degrees, normal.
5 - Aiming Forward 0 degrees, normal.
6 - Aiming Left , normal.
7 - Aiming Right degrees, up.
8 - Aiming Forward 0 degrees, up.
9 - Aiming Left , up.
Export both as:
stand fixed aim-still.JMO

For the actual landing gear coming out:
Suspension Animations.
Depending on where each suspension is, such as the Warthog and Scorpion has 4, but the Pelican has 3, you name each on differently.
0 - Default
1 - Extended Down
2 - Extended Up
Then you export it for the location each suspension each. You have to make one for each suspension there is, the Warthog has 4 suspension animations, the Pelican has 3.
So export as:
suspension front.JMO - For the wheel
suspension left back.JMO - For the left beam
suspension right back.JMO - For the right beam.

Hope this helps.

Edited by Advancebo on Mar 8, 2009 at 04:24 PM

Joined: Mar 13, 2007

Posted: Mar 17, 2009 10:53 PM    Msg. 7 of 15       
For those who want details, lots and lots of details:

Most shaders (_environment and _model for example) support the use of detail maps, which are just regular bitmaps that the shader applies on top of the diffuse layer, giving the impression of sand, dirt, snow, and etc.


Base map (the diffuse map, or bottom layer)
Primary detail map (2nd bottommost layer)
Secondary detail map (topmost layer)
Micro detail map (a extra layer, for use when you want very small details)

detail map function & micro detail map function (not sure how these 3 effect the shader)

-double/biased multiply


-double/biased add


-rescale detail maps (Likely scales detail maps to base map UVW coordinates

-rescale bump map (Not entirely sure, but I am assuming it auto-scales the bump map for something)

material color field (modulates incoming diffuse light, including lightmaps, but excluding self-illumination and specular effects)

- Use the color picker on the right to select the desired color (black button on default)


-simple parameterization (lightmap texture parameterization should correspond to diffuse texture parameterization)

-ignore normals (light independent of normals [trees])

-transparent lit (no description, I do not know how it effects radiosity)

Detail Level (effects lightmap detail for this shader. Lower levels result in lower quality lightmaps)

-high (highest quality, most particle "bouncing")

-medium (second highest quality)

-low (lowest quality)

-turd (horrible quality, only use on textures that are very "rare", or, going to be seen the least in the entire level.)

Power (power of emitted light from 0 to infinity)

color of emitted light (Tells the shader to color/tint the surrounding area a specified color, range/intensity effected by power)

tint color (light passing through this surface [if it's transparent] will be tinted this color)

Specular Properties (controls dynamic specular highlights, highlights are modulated by brightness and blends between perpendicular and parallel color, set brightness to 0 to disable)




-lightmap is specular (Uses lightmap to control specular highlights)

Brightness (tells how bright/intense specular will be)

perpendicular color (highlight color when viewed perpendicularly)

parallel color (highlight color when viewed at a glancing angle)

Reflection Properties


-dynamic mirror (Tells the shader to reflect every thing cast on it back, as seen in b40_ctrlmirror.shader_environment)

type (Tells shader to either use bump map to effect reflection cube map, leave cube map alone, or somehow "bump" the radiosity)

lightmap brightness scale (reflection brightness when lightmap brightness is 1)

perpendicular brightness (brightness when viewed perpendicularly)

paralled brightness (brightness when viewed at a glancing angle)

reflection cube map (Tells the engine to use a specified cube map to give the shader a glossy, reflective look)

Joined: Nov 30, 2008

How is she when she doesn't surf?

Posted: Apr 28, 2009 11:05 AM    Msg. 8 of 15       
Just want to say, because nobody seems to be aware of this, that there is a very easy way to fix open edges: when your in editable mesh, go to edges, and under edit geometry, press the "select open edges" button. It will select open edges, so you know where they are and can fix them with the target weld tool (or create face).

BeachParty clan
Joined: Oct 12, 2008

Sooo... You wanna switch to Red team huh?

Posted: Jun 28, 2009 05:12 AM    Msg. 9 of 15       
important too...

ALWAYS USE A MULTI SUB MATERIAL instead of regular materials, being too lazy now can get you lots of errors later

and what i often forgot, is to link the model to the bone / a frame model when exporting it lol
just to mention
Edited by BeachParty clan on Jun 28, 2009 at 05:12 AM

Joined: Apr 30, 2010

balance is everything

Posted: May 2, 2010 06:52 PM    Msg. 10 of 15       
a hobo gives u no limit on tags

Joined: Aug 1, 2011


Posted: Aug 5, 2011 04:32 PM    Msg. 11 of 15       
Chimp will not export the level i'm making in gmax. Every time I try to do so I get this error popup

--Runtime error: Feature not available: "createFile".


Joined: Oct 27, 2011

"I Master Cheif, will smash your covenant assess"

Posted: Oct 27, 2011 09:18 AM    Msg. 12 of 15       
Use stream in max script listener

Joined: Aug 12, 2013

Shhhhh !!!

Posted: Aug 24, 2013 06:22 PM    Msg. 13 of 15       
so much to learn

Joined: Oct 22, 2014

at day you will hear me, at night you will fear me

Posted: Oct 27, 2014 02:39 PM    Msg. 14 of 15       
you probably clicked export as jms file or something similair like that,
you have to click export as listener window and uncheck the write debug info.
hope i helped with such late reply :)

Super Flanker
Joined: Oct 5, 2012

Synthetic furnishings, rails and no safety.

Posted: Nov 1, 2014 08:03 AM    Msg. 15 of 15       
A year later?


Previous Older Thread    Next newer Thread

Time: Thu March 23, 2017 4:08 PM 515 ms.
A Halo Maps Website