Running a Game Level in Halo

The following section provides information and a tutorial on preparing a level to run in a Halo multiplayer game.  The information and tutorial covers the creation of a .map cache file that contains the level and all tag resources needed to run the level in the game.

Cache File Creation

A .map cache file contains all the data tag resources need to run the level.  Because of this, the level is completely self contained and can be distributed very easily.  All that needs to be distributed is the .map cache file and other users have everything needed to play the level.

The following procedures and example images demonstrate the creation of a .map cache file using Tool.

Creating the cache file using Tool:

In Windows, open a Command Prompt. The Command Prompt can be found by going to Start -> Accessories -> Programs -> Command Prompt

In the Command Prompt go to the main Halo directory.  In the root directory is where all the Halo tools exist, there should be a program file called tool.exe.

Typing just tool.exe at the Command Prompt and hitting Enter will show all the available command line parameters as well as the usage and syntax options.

The command line that will be used in the following example is "build-cache-file" and it has the following syntax:

build-cache-file <scenario-name>

The syntax parts are described below:

scenario-name - The scenario name includes the name of the directory where the level directory structure is located, as well as the name of the .scenario tag file.  The directory structure that was set up for Halo editing is very specific.  The full directory structure name is not needed because of this.  The file extension name is also NOT necessary.

1) At the Command Prompt type the following and hit Enter:

tool.exe build-cache-file levels\test\tutorial\tutorial

There should be quite a bit of output indicating the processes being performed during the creation of the .map cache file. 

The output will also indicated any errors that occur.  These errors typically take the form of missing data tag files.  Depending on the severity of the error, the .map cache file may not get created. 

The cache file should have been successfully created.

The first image further explains the above procedures and shows the output of Tool.exe in the command window.

The cache file should now appear in the Halo\maps directory.  All cache files for the game are located in this directory.

Click to Open Larger Image in New Window

Running the Level in a Halo Multiplayer Game

Halo has 2 different modes that it can run in, one mode for playing the game normally in both single player and multiplayer, and one mode that is a development mode which is extremely useful when creating and debugging a multiplayer level.  The 2 different modes are described in more detail below.

The first mode is the Normal Mode or default mode that is run when just Halo.exe is executed.   This mode has limited console commands available as well as fully functional multiplayer.  This is a "safe" or "secure" mode which is why developer or debug functionality is limited.  This helps prevent cheating or other exploits.  For more information on the console and -console command line parameter refer to the Console Commands section located in the Console Command List section under General Reference category.

The second mode is a Developer Mode.  Developer Mode is enabled by adding the Command Line Swith "-devmode" in the command line after halo.exe (i.e. halo.exe -devmode).  The Halo developer mode enables a wide variety of console commands or cheats that are extremely useful when creating new Halo content.  The developer mode also makes several changes to how Multiplayer games work.  When in Developer Mode, only a LAN server can be created and the maximum number of players allowed is 1 (just the end user). This allows the level to be tested to see if it operates properly and allows the developer console commands to be used to help debug the level. Also, when in Developer Mode, the end user cannot connect to any servers, either LAN or Internet servers.  In order to properly test the level with other players, just run Halo normally.  For more information on the console and console commands refer to the Command Line Switches section located in the Console Command List section under General Reference category.

The following procedures and example images demonstrate accessing end user created multiplayer levels in Halo.

Accessing an end user created multiplayer level in Halo.

The following procedures apply to loading Halo in either Normal Mode or Developer Mode.

The procedures below will demonstrate how to load the tutorial level that was created in the tutorial sections for Multiplayer Level Design under Level Design.

1) Load Halo.

2) Select Multiplayer from the main menu.

3) In the Multiplayer options screen, choose LAN under Create Game.

4) In the Select Map screen, scroll down until the level is found.  In this case find the "tutorial" level and click on it.

5) Select OK.

6) Now select any game type in the Game Type screen and select OK.

7) Set the server options in the Server Setup and select Start Game.

8) The tutorial level should now load.

The image to the right shows the Select Map screen and the tutorial level being displayed.

User created levels do not have a map description and image that display for the level when it is selected.

Click to Open Larger Image in New Window