Guide

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.

...

Rocket Jump

What is Rocket Jump? #

Based on the Soldier class from Team Fortress 2, players shoot unidirectional, fixed-speed rockets and take advantage of the explosion they create to propel themselves throughout maps.

History of Rocket Jump #

The origins of rocket jumping can be traced all the way back to the release of Doom in 1993. Players could sacrifice health to cross gaps not originally intended to be crossed by firing a rocket at a wall nearby and use the outward horizontal velocity emitted by the explosion of the rocket (sometimes called the “splash” or “splash damage”) to strafe across a gap. Other games, like Rise of the Triad (1994) and Marathon (1995), also had similar mechanics, leading to the rise of Rocket Jumping as a “Pro Strategy” for beating certain levels fast or showing off in deathmatch. This was refined in Quake, where the verticality offered by the Quake Engine allowed for players to be able to launch themselves upwards using the rocket launcher, skipping parts of levels, finding secrets, or gaining height advantages in classic Deathmatch gamemodes. Quake is arguably the true beginning of Rocket Jumping as we know it, as it was the most popular early example of rocket jumping, and the first to truly demonstrate how large the skill ceiling for rocket jumping could be due to it utilizing a full true 3D environment. This is also the beginning of players making maps specifically dedicated to practicing rocket jumping.

...

Sticky Jump

What is Sticky Jump? #

Based on the Demoman class from Team Fortress 2, players shoot explosives that stick to surfaces and must be detonated manually, which players can then use to propel themselves around the map. Up to 3 of these arcing bombs can be used at once to go at extremely high speeds, or used in alternation to “pogo” on the floor, walls, or even in the air.

...

Surf

What is Surf? #

Surf is a very popular gamemode in which a player slides down a ramp to gain speed.

History of Surf #

3kliksphilip has created an excellent video going over the history of Surf with Mariowned, the creator of the gamemode:

How Surf Works #

In Source, a player can only stand on a angled surface if it is less than 45.573° from the horizontal. If the slope is greater than this, the player slides down it. However, if the player holds the direction key pointing into the slope, they can stall themselves from falling and remain “airborne” without actually moving downwards. This can be exploited by increasing the air acceleration value to allow the player to convert their downwards speed into horizontal speed, and their horizontal speed into upwards speed.

...

Tricksurf

What is Tricksurf? #

A spinoff mode formed from the Surf game mode, players can create and complete sequences of locations to surf to, known as tricks, for XP and bragging rights.

Unlike regular surf, tricksurf typically has loosely defined goals that are not intentionally placed by the author of the surf map. Sometimes the most fun part of tricksurf is developing new tricks that are flashy and difficult, and then challenging your friends.

...

Adding Slick to Your Map

Slick is a defrag mechanic that gives frictionless ground movement. Slick is distinct from the slide mechanic that func_slide provides. There are three ways to add slick to a map: the func_slick brush entity, the %compileSlick material paramater, and the SetSlick player input.

func_slick #

The func_slick entity is a brush entity that will give the slick effect to the player when they stand on it. This entity has no special properties.

...

BSP Version 25 Limits

Momentum Mod supports BSPs v25.
These BSPs have significantly increased limits compared to previous versions.

Lump/Data Limit Old (BSP v21) New (BSP v25) Magnitude Increment
Grid size (units in axis) 32,768 131,072 4x
models 1,024 65,536 64x
brushes 8,192 131,072 16x
brushsides 81,920 655,360 8x
planes 65,536 1,048,576 16x
vertexes 65,536 1,048,576 16x
nodes 65,536 1,048,576 16x
texinfos 12,288 0 (unlimited)
texdata 4,096 16,384 4x
faces 65,536 1,048,576 16x
HDR faces 65,536 1,048,576 16x
origfaces 65,536 1,048,576 16x
leaves 65,536 1,048,576 16x
leaffaces 65,536 1,048,576 16x
leafbrushes 65,536 1,048,576 16x
areas 1,024 65,536 64x
surfedges 512,000 2,097,152 ~4x
edges 256,000 1,048,576 ~4x
LDR worldlights 8,192 0 (unlimited)
HDR worldlights 8,192 0 (unlimited)
leafwaterdata 32,768 32,768 1x
waterstrips 32,768 1,048,576 32x
waterverts 65,536 1,048,576 16x
waterindices 65,536 1,048,576 16x
cubemapsamples 1,024 16,384 16x
overlays 1,024 16,384 16x
displacements 32,768 262,144 8x
edicts 2,048 8,192 4x

Chat Commands

This guide covers all of the supported chat commands and potential inputs they have.
These commands can be entered in chat at any time regardless of being in a lobby or not.

All commands are activated by using / or ! or . and then the trigger keywords listed below.
Example: /spec or .spec or !spec all trigger the “Spectate Player” command.
Do not make say <chat_command> binds! Instead create binds tied directly to the console command equivalent!
There will never be any exclusive chat commands; they all directly tie to console commands/variables!
Command Triggers Functional Equivalent Examples
Main Teleport "m", "main" mom_main /m will teleport the player to the main track.
Bonus Teleport "b", "bonus" mom_bonus <bonus> /b 2 teleports the player to Bonus Track 2. /b with no parameter will cycle through bonus tracks. Use /r if you wish to restart the track.
Track Teleport "r", "restart" mom_restart_track /r will restart the player to the start of the current track.
Stage Teleport "s", "stage" mom_stage <stage> /s 3 will teleport the player to the third stage of the current track. /s with no parameter will teleport the player back to the current stage’s start zone acting like mom_restart_stage command.
Respawn "spawn", "respawn" mom_respawn /respawn will teleport the player to the map’s initial spawn point.
Set Start Mark "setstart", "ss" mom_start_mark_set /setstart while standing in the track start zone will create a start mark, allowing /r to teleport you back to the specific spot you are in.
Show Player Clips "clips", "showclips" r_drawclipbrushes (0, 1, 2) /clips 2 will set r_drawclipbrushes to 2, which is the solid clipbrush render mode. /clips will cycle through the render modes of drawing clipbrushes.
Show/Hide Triggers "triggers", "showtriggers" showtriggers_toggle /triggers will toggle showing triggers in game.
Spectate Player "spec", "spectate" mom_spectate /spec goc while Gocnak is in your lobby will begin spectating Gocnak, even if you are spectating, otherwise, will find the next best target to spectate. /spec with no target will place you in spectator mode.
Stop Spectating "stopspec", "specstop" mom_spectate_stop /stopspec while watching a player in your lobby, or while in free roam, will exit spectate mode.
Go To Player "goto" mom_goto <person> /goto goc with Gocnak in your lobby will teleport you to where Gocnak is in the map. /goto goc without Gocnak in your lobby will not teleport you.
Savestate Menu "savestate", "saveloc" hud_menu_show savestate /savestate will open the savestate menu.
Show/Hide Players "hide" mom_hide_players (0, 1) /hide will toggle visisbility of other players.

Do you have any more commands you’d like to see in the game? Try suggesting them in our Game repository’s issues section!

...

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 Docs Pages

All pages on this site are hosted in the Momentum Mod docs GitHub repository. The site uses Hugo with the Hugo Book, and is entirely open source.

Content on the site is written using Markdown, a simple and lightweight markup language. This allows docs pages to be written in a much more accessible format than HTML.

If you’re having trouble with any parts of this guide, please feel free to ask for help in the #docs channel on our Discord. It’s completely fine if you’ve not used a command line or Git before, we’re happy to help you through the process.

Setting up Locally #

The two prerequisites for local development are:

...