Code Monkey home page Code Monkey logo

alpine's Introduction

Alpine

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-sync.py <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/alpine.map
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 compile_bsp.sh (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>
./compile_bsp.sh

Thanks

  • 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

License

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.

alpine's People

Contributors

csauve avatar aerocatia avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.