Mapping

Map Submission

Introduction #

Momentum’s map submission system is how maps are officially added to Momentum Mod. Once approved, we host all map files and leaderboards, maps show up on the ingame map selector and website, and players are granted XP for playing them (and rank points, in the case of Ranked leaderboards).

Map submission is open to everyone, but we have higher standard than e.g. GameBanana or Steam Workshop. Notably:

...

Map Porting

Introduction #

This guide gives an overview of all the steps required to officially port a map into Momentum Mod.

Porting is open to everyone, but the number one rule for porters is to not significantly change an existing map. We appreciate porting work but the map ultimately belongs to the author, and porters should not make significant visual or gameplay changes on maps without the author’s permission (including Easter eggs, sorry!).

...

Map Zoning

Introduction #

Zoning is the process of defining the start, end, checkpoint, and stage areas of tracks on a map. This is required for all maps that are submitted to Momentum Mod. Zoning can be done in-game or in Hammer, both methods are described in this guide.

General Guidelines #

  • If a zone region’s location has a map teleport destination entity, we highly prefer that it is used (rather than a custom arbitrary region destination coordinate) so the spot corresponds to a map teleport destination.
  • Make sure each region teleport destination is inside the region.
  • Avoid overlapping or touching regions for the same zone which could just be one region.
  • Make sure points are placed precisely and aligned well with geometry.
  • Fill stage/bonus teleport hub areas with a cancel zone for safety.
  • Checkpoints should be placed where they can be hit consistently for better split comparisons. This means placing them in the middle of hallways rather than after a turn where the player can hit the checkpoint sooner or later depending on how much they cut the corner.
  • Stages and bonuses should be given names if it helps make them more identifiable (either use the mapper’s name or the stage’s name if it has one).

Checkpoint Placement Suggestions

...

Ammo System

The ammo system allows mappers to control how many shots the player can fire from weapons that use ammo. All defrag weapons, the RJ rocket launcher, the sticky bomb launcher, and concs can be controlled with separate ammo types. The default state for the player is infinite ammo, but the player’s ammo can be changed with player IO inputs and entities. Additionally, an ammo limit can be set that doesn’t allow the player to have more than a certain amount.

...

Collectibles

This guide covers how to use collectibles in Momentum Mod. Collectibles are a tool that lets mappers create non-linear, staged maps.

Prerequisites #

To follow this guide you should:

  • Be on Momentum 0.8.7+
  • Have a working Hammer install with the Momentum FGD
  • Some experience with entity I/O and filters

What are Collectibles? #

Collectibles are any entity that the player must interact with to continue in the map. They can be thought of like pickups, but any entity can be a collectible, so long as the player can interact with it to “collect” it. The entity filter_momentum_collectibles is used to control entities based on how many collectibles the player has gathered.

...

Creating Surf Ramps

Ramp Guide Header

Note: This guide assumes that you have a basic working knowledge of the hammer editor and the tools used.

Basic Surf Ramps #

Planning #

devstage header

Before you start to create your ramps in hammer, there are a few factors you should consider:

  • How steep do I want the ramps to be?
    • A ramp that is too steep / wide may be considered awkward to board.
    • People tend to use a 5:4 ratio for the dimensions of their ramps
  • What size do I want for my ramps?
    • People may find themselves sliding off the bottoms of small ramps.
    • They may feel like they are going slow on oversized ramps, it is important to find a balance.
  • How do I want to detail my ramps?
    • Will models be needed to achieve the visual style, or can it be brushes?

These characteristics of your ramps will inevitably be refined through testing, but it is a good idea to start off with a plan for how you want the surf to feel. Look at different surf maps that you enjoy and try to get an idea of how exactly you want yours to pan out.

...

Giving Players Powerups

Two powerups are implemented: Haste and Damage Boost. They can be given or removed with these inputs:

SetHaste (time in seconds)

SetDamageBoost (time in seconds)

If time = 0, the effect will be removed. If time < 0, then the effect will last indefinitely until removed.

There are also powerup entities: momentum_powerup_haste and momentum_powerup_damage_boost. They both take a ResetTime key like the weapon spawner entity. The haste powerup takes a HasteTime key, and the damage boost powerup takes a DamageBoostTime key. They are both specified in seconds the same way as the inputs.

...

Hammer++ Setup

Background #

Momentum Mod ships with a customized build of Hammer (named “Strata Hammer”) which includes some, but not all of Hammer++’s features. Our development has been geared more towards stability than new features, with a focus on porting to Qt for cross platform UI and bug fixing. While Strata Hammer should be perfectly usable (and we appreciate testers), it will be a while until Hammer++ features like accurate lighting preview are fully implemented. If you prefer using Hammer++, that is completely reasonable and this guide should get you set up.

...

Parallax Corrected Cubemaps

Cubemap Guide

This page covers Momentum’s implementation of Parallax-Corrected Cubemaps, created with a combination of custom entities and materials.

Thanks to Brian Charles for his work on this feature.
More technical information can be found on the Valve Developer Wiki Page.

Prerequisites #

To make use of this page, you should:

  • Be proficient in using the Hammer Editor
  • Have the momentum.fgd in your Hammer configuration
  • Know how to use the developer console

Components of a Parallax-Corrected Cubemap #

In Hammer, Parallax-Corrected Cubemaps need two entities to function correctly:

...

Porting Goldsrc maps to Source

This guide is a work in progress. If you have questions or problems ask for help in the Momentum Mod Discord. #

Before you start, you should know that maps with simple geometry work best for porting. Complex geometry can cause invalid solids which will need to be manually remade, and some textures will need to be realigned.

Prerequisites:

  • Have a basic understanding of Goldsrc, Valve Hammer Editor, and potentially Trenchbroom

Download the .BSP and (in some cases) the .WAD #

Most Team Fortress Classic skill maps can be found on the TFC Refugees forum here: https://www.tfcrefugees.com/resources/categories/conc.4/
Maps downloaded from this forum always include any relevant custom content not packed into the map itself. Additionally many maps have descriptions and author info text documents included.
Of the files downloaded, the BSP is the actual map file, and the WAD contains the textures used in the map. In most cases custom textures will be embedded into the BSP itself.

...