Guide

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 in-game 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 to 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 Review Checklist

This checklist is intended for experienced map porters that already understand general porting concepts.

For more in-depth information on map porting, please see the map porting and zoning guides.

Step 1: Review zones #

  • Zone points are placed precisely and well aligned to map geometry
    • Zone points are snapped to map vertices
    • Make sure to also review all regions if there is more than one
  • Zones are large enough to prestrafe in
  • Start zones encapsulate the restart teleport destination and use them as the target destination entity
  • Zone regions are not overlapping and are a single shape if possible
  • Checkpoints are 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 (see zoning guidelines)
  • The safe height is high enough to encapsulate any small extrusions on the floor, but also below climbable platforms that can give the player an unfair height advantage
    • Explosive weapon modes should generally use the full height while non-explosive modes should use the base height when possible
  • Max velocity should match point_servercommand settings if applicable
  • Cancel zones are used in hub/stage select areas (only needed if it is possible to return to hub area from stages/bonuses)
  • (Optional) Stages and bonuses should have names where appropriate to make them easier to identify
  • (Surf only) Limit ground speed option should be enabled unless you are supposed to bhop in start zones
  • (Surf only) Carefully review intended bhop platforms and add allow bhop triggers if needed
    • Sometimes allow bhop zones are needed for stage end platforms. Use mom_bhop_area_debug 1 to check the geometry.
    • Review WR video for ramp spine bhops or other intended bhop skips

Step 2: Review in-game entities with entity tools #

  • Teleport Velocity Mode Tool: Teleport destinations are marked as “Keep Negative Z” when inside of small player clip cages
  • Boost Triggers Tool: Check boost triggers for exploits (see required entity conversions guide)
  • Gravity Triggers Tool: Gravity triggers should persist gravity changes when the player exits the volume in CS:S maps, but not in CS:GO maps
  • Model Scale Fix Tool: Check for any incorrectly sized props
  • Bhop Trigger Fix Tool (Bhop only): If the map uses mpbhop triggers (triggers that force bhopping with targetname filters), check if they have been converted
  • Bhop Block Fix Tool (Bhop only): If the map uses func_button/func_door bhop platforms, check if they have been converted to func_bhop

Step 3: Other in-game things to review #

  • Refraction textures don’t have a dark tint (requires recompile?)
  • Maps don’t have invalid textures, cubemaps, skyboxes or models
  • CS:GO maps have an env_cascade_light entity if they use CSM shadows

Step 4: Lumper review #

  • Check for invalid entities (“Entity Review” tab)
  • Remove weapon strip entities unless adding/removing weapons is a part of the gameplay
  • Check for Valve assets in the pakfile
  • Check if ambient sounds and music are in the appropriate folders
  • (Surf only) Remove logic_timer entities that teleport players to the jail

Step 5: Submission page review #

  • Description should mostly match GameBanana submission
  • Date created should match the date on GameBanana
  • Credits should match GameBanana submission
  • Screenshots ideally should showcase iconic/memorable parts of the map. Taking similar screenshots to the ones on GameBanana is also recommended.
  • _njv or _fix suffix is removed from the map name
  • jump_ prefix is renamed to rj_ or sj_
  • Required games match what is displayed in Lumper

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

...

Ahop

What is Ahop? #

Ahop, short for “Accelerated Hop”, comes from the Orange Box versions of Half-Life 2, its episodes, and Portal 1. Ahop comes from Valve’s attempt to remove bunnyhopping in an older version of the game. By either hopping completely backwards or holding/pressing the back movement key while hopping, players can gain extreme amounts of velocity.

Ahop movement can be commonly found in Any% Speedruns for Half-Life 2, its episodes and Portal 1.

...

Bhop

What is Bhop? #

Bhop, short for “Bunny Hop”, is a very popular gamemode found in many games, such as CS:GO, TF2, and others.

The core mechanic, “bhopping”, is when the player jumps repeatedly, the moment they hit the ground, allowing them to maintain their current velocity. In order to maximize the likelihood of inputting the jump exactly when you hit the ground, players used to bind jump to the scroll wheel, and then roll their mouse wheel very fast whenever they were about to hit the ground. This is sometimes known as traditional style bhopping. This method has fallen out of favor though, as unless the player can frame-perfectly input every jump command the best the player can hope for is a 50% chance of not losing speed. It’s more common now to rely on autobhop, an addon or mod which inputs a jump on the exact frame the player hits the ground every time. This functionality is built into MomentumMod

...

Climb

What is Climb? #

Climb, also known as Kreedz (KZ) in CS 1.6 and CSGO, or Xtreme Climb (XC) in CSS, is a popular community game mode found in every Counter-Strike game.
Climb is a series of platforming challenges that can be best simplified as “trick jumps” which pull from the big 3 movement disciplines in source:
Strafe, Bunnyhop (Bhop), and Surf to challenge players in scaling its maps as fast as possible.

...

Conc

What is Conc? #

Conc, short for “Concussion Grenade Jumping”, is a classic game mode from the classic Team Fortress, involving priming a concussion grenade to explode at just the right time to propel the player throughout the map.

Momentum Mod’s implementation of Conc comes from a mix of Fortress Forever’s implementation combined with reverse engineering specific values from Team Fortress Classic.

History of Conc #

Conc comes from Team Fortress Classic, which was based on the Quake mod “Quake Fortress” by the same developers. Team Fortress Classic is the precursor to the beloved Team Fortress 2, but runs on Valve’s Goldsrc engine.

...

Defrag

What is Defrag? #

Defrag is considered the grandfather mode for all of Momentum Mod’s supported modes. Defrag is based on the movement found in Quake, specifically Quake 3 Arena, and is broken into two modes, “VQ3” and “CPM”.

History of Defrag #

TODO gotta whip out the VCR tapes

How Defrag Works #

TODO

Parkour

What is Parkour? #

Parkour is the movement from Titanfall 2, which sees players slide jumping, wallrunning and preserving speed.

Momentum Mod’s implementation of Parkour comes from the implementation found in Half-Life 2 Mobility Mod, with adjustments from feedback from the Titanfall 2 speedrunning community.

History of Parkour #

Parkour is an athletic pursuit originating in France in the 20th century. Originally it began as a form of athletic training for soldiers called the “méthode naturelle” (natural method). These exercises were very effective at training balance, strength, and agility. The courses they would run were known as “parcours du combant”, from which the word “parkour” originates. This information has nothing to do with video games, however, and is therefore worthless.

...