Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 2 commits ahead of csauve:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This repo contains the sources for Alpine, a Halo Custom Edition map:

Screenshot of the level in-game

This secluded mountain valley bears the burden of secrets both ancient and recent.

Alpine is inspired by Valhalla, Relic, The Silent Cartographer (b30), Longest, Hang 'Em High, Mudslide, and Portent. A custom sky_alpine skybox and wildflower scenery are also included in this repo.

Building the map

The Halo Editing Kit (HEK) is required to build this map. The map relies on the following tag sets, applied in this order:

  1. HEK base tags: Already included in the HEK, but repair if needed.
  2. Fresh MP/SP tagset (Refined Project): A more complete tag set extracted from stock maps.
  3. Jesse's high resolution HUD: A higher quality player HUD by Jesse, found under enhancements.

In each case, copy the tags into the HEK's tags directory to build the dependency tag set. Alpine's own tags also need to be copied into the HEK's tag set. Run the included Python script to synchronize tags from this project:

python <hek-root>

This script will copy Alpine tags between the local project and the HEK based on file existence and last modified date, so it can be used during map development too. With the tag set now complete under the HEK, use Tool to build the map:

# creates maps/
tool.exe build-cache-file levels\alpine\alpine

Asset creation

Source assets can be found under the data directory.

Texture sources are .kra files for the free 2D software Krita. They are exported to flattened .tif files and then compiled to .bitmap tags using Tool.

The map's level geometry is authored in Blender and exported using General_101's Blender JMS toolkit. It can be found in data/levels/alpine/models/alpine.blend. It contains the following objects:

  • frame: Only children of this reference frame are exported to the JMS file
    • bsp: Main level geometry
    • portals: Geometry which divides the map into clusters for rendering, sound, and weather purposes
    • weather: Fog planes and weather polyhedra

Before exporting, ensure all mesh modifiers have the "Realtime" setting enabled (so they take effect during export) and that any changes are saved. The scene must be exported at JMS unit scale. To compile the BSP:

tool structure levels\alpine alpine

Final lightmaps were run with quality 1 and stop value 0.54. The parameters 0 and 0.8 are suitable for debug lightmaps.

# run overnight
tool lightmaps levels\alpine\alpine alpine 1 0.54

Alternatively, use the included (assumes Wine on Linux) to automatically export the mesh and regenerate lightmaps:

export WINEPREFIX=<path to wine prefix for Halo and the HEK>
export HALO_HOME=<path to Halo installation within the prefix>


  • Refined project for the extracted SP tags
  • Jesse for the high resolution HUD
  • General_101 for the Blender JMS exporter
  • MosesOfEgypt for portaling advice
  • Anthony, Mack_Of_Trades69, Shelly, jcap, Tnnaas, Zeph, Futzy, InnerGoat for map testing


This map and its sources are shared under CC BY-NC 4.0. Feel free to remix or redistribute for any purpose as long as there's attribution and your derivatives are non-commercial.


A mid-sized mixed indoor/outdoor Halo CE map






No packages published


  • Python 73.6%
  • Shell 26.4%