Fun of combining locomotion and combat
(Be sure to check out the web hosted prototype and a link to try it out yourself at the end)
When it comes to action oriented, high paced, and dynamic First Person Shooter games, being rapid and quick is really useful. Being the first to land some damage is always an advantage, but being the quickest to move on your feet (or with your entire body) is equally essential. Not only does it bring you closer to the action or take you out of a sticky situation, it also adds another layer of thrill in the form of being in-charge of your personal roller-coaster. And what game to better analyse quick gunfight mixed with outrageous and nimble physical maneuvering than TF2?
The grappling hook has become a staple in the whole domain of video games, not only the FPS genre. From Batman and Spider-Man to Apex Legends and Far Cry, grappling hooks are present everywhere. Their weight and feel changes from game to game, along with their purpose. A multitude of feats can be achieved with the grappling hook, from offense to defense to turning tail and running away.
Despite grappling hooks with killer physics being the norm for rapid and agile movement in this day and age, with this analysis I hope to explore an old way of marrying weapons and locomotion in FPS games. For that I would implore to look at the original TF2, which in turn stands on the shoulders of giants when it comes to achieving incredible mobility.
Grappling hooks, though intuitive and simple to explain, are still individual entities in a player’s arsenal. Rocket jumping on the other hand, is an extension of the very weapon the player is carrying in their hands. Not a feature, but the very property of it’s projectile. The same rules of physics that apply to enemies when hit by the projectile apply to the perpetrator, damage included. So what is rocket jumping and how many games have rocket jumping in them?
Many games include rocket jumping, but its humble origins lie in a physics exploit found in Doom (for horizontal propulsion) and then popularised in Quake as we know it today. Since then it has featured in Team Fortress 2 and future entries of Quake, even having partial or convoluted implementations in popular games like Borderlands and Overwatch.
The aim of rocket jumping is to achieve height and distances that the regular motion of the character cannot achieve, and the force required for this propulsion is achieved from the explosion of the rocket (or any explosive projectile) with the nearby environment.
The physics behind it
Primarily, rocket jumping is a way of pushing yourself in the desired direction. The player aim at and fires a rocket at a point, and radially outward explosive force generating from the point of impact pushes you in that direction. What this means that where your point of aim and angle of propulsion is dependent on where you are rather than where you want to be.
The degree of maneuverability
In all considerations of geometry, a rocket jump is a simple triangle to begin with. This helps us understand we can prioritise distance covered or height gained, but not both at the same time. This presents an interesting range of maneuvers to the player, considering rest of the physics don’t shut off when the players are blasting through air.
Considering games with rocket jumping as a core mechanic, further mobility while being airborne is possible. The games utilise the same physics and locomotion properties on ground as in air, such as strafing, but coupled with the propulsive force it adds another dimension to movement.
Techniques so advanced, its an intrinsic challenge to master them
Then comes the part of chaining multiple jumps, fondly called roll outs by the gaming community as a whole. While mechanically it only demands the added skill of timing from players i.e coordinating their rockets’ impact and their physical landing to launch further, it tests players’ knowledge of the systems and maps. Chaining jumps means using multiple explosions in a row and taking into account fall damage, which takes its toll on the player’s health. This does not only require knowledge of the best routes, paths and points to utilise but raises the player’s skill requirements by introducing a tight margin of error. After all, reaching the firefight without health to spare is not beneficial to a game where killing and surviving is the most important objective.
Not only that, knowledge of every character’s health and ammo capacity is important when deciding to sacrifice said health and ammo for better mobility which further increases the intimacy between player and game systems. It also demands knowledge of the map and all the health kits and ammo caches if a player wants to be able to keep manoeuvring continuously using this technique, which add the requirements of deep understanding of the map design.
It can be observed that as a new dimension or component is added to the mechanic, it gets more and more complicated, and consequently interesting. Every new layer added requires competency in previous layer, gaining knowledge about and practising the new layer. This adds a lot of skill based progression, inviting competitive players to not only get better at it but keep learning more. All the same, its very easy to pick for beginners. As a player progresses towards mastery of the skill, it invites them to further explore and understand rest of the game’s systems, from chaining input and exploiting the physics, knowledge of map layout and best path, to enemies that are susceptible to quick maneuvers and enemies that can counter you. And it’s even quite possible to play the game successfully without learning the ability altogether, thereby not being a compulsion for those who don’t want or need it.
More than just physics…
Contributing to game design by adding choices and decisions
The basic notion of rocket jumping is that you don’t need anything else for extra mobility, no separate input, no separate item. The weapon in your hand is a multi-purpose tool to beat your enemies, and to travel around the map in a more elegant way. The latency of switching between different items or needing a different input or being dependent on certain properties of the map (as some variants of grappling hooks require specific points to latch on) are lost.
Not only that, but rocket jumping as a feature always has one more component to it than using grappling hooks — making a decision. Remembering that rocket jumping is no more than shooting explosive projectiles near yourself, the player’s health is always a factor. How much health is left, what is the context of the surrounding, who is shooting at you or waiting for your arrival to shoot at you, how much health would be left by the time you reach your destination, how much ammo would be spent reaching there are all questions a player must ask and answer at the same breakneck pace the game is going at. This adds an interesting layer to the considerations a player must make, since a single resource is used to cause explosions.
Managing player’s ammo becomes an important task too, as you don’t want to waste all the rockets reaching a fight and being vulnerable while reloading. Or worse, running out of ammo in the middle of a roll out (consecutive jumps) and losing all momentum while reloading, leaving the player stranded and vulnerable in no man’s land. Similar considerations go for health, as taking too many explosions to reach a destination on low health might be worse than reaching slower.
In Team Fortress 2, rockets are not the only weapon that can allow a player to jump. Classes like Demoman can utilise sticky mines to a similar effect. It changes the dynamic, as unlike rockets, mines have to be detonated and have a period of time needed to arm them (called sticky jumping in the TF2 community). A player can lay them down beforehand and detonate them as needed, to various effects. The motor skills and player input required to pull this off are slightly different than rocket jumping, but adhere to the same principle that nothing other than the weapon in hand is necessary to pull it off.
Not only is the variation created by giving the same mechanic to a combat class with a very different approach and inherent set of tactics, but by having entire items designed to benefit or take advantage of rocket (or sticky) jumping. A player can replace stock weapons which are reliable from the arsenal with accessories or melee weapons purely designed with the mechanic of rocket and sticky jumping as a core focus, yet adding another set of decisions a player can make even before the game has started. This can severely alter loadouts, play styles and the kind of routes and zones on a map any player would choose to fight in.
Once the physics system universally includes propulsion based on explosive projectiles, there is no limit what players’ creativity can push them to discover and explore.
No mechanic can be fully discussed and analysed without tying to gain the ability to deconstruct and re-engineer it. In the same belief, I have made a prototype that will allow viewers to explore the concepts of rocket jumping and sticky jumping. Since the prototype was made in Unity and Team Fortress 2 was made in Source Engine, I had to write some of the code for physics including gravity and locomotion from scratch to try and replicate an experience closest to the inspiration.
Standard WASD for movement and Left Mouse Button to fire, Right Mouse button to detonate mines. Scroll Up or Scroll Down to switch weapons, and click Left Mouse Button to respawn after death.
Do try out the rocket launcher and the sticky mine and try to recreate some of the more complex techniques mentioned in this analysis such as bunny hops and roll outs, or even double rocket jumps.
When it comes to designing abilities and perks, many times decision are added by making one of the stats sacrificial. Many times in progression systems, options include “choose 5% movement speed” or “choose 20% more health” as branching options. Instead of making a system level choice, mechanics like these tie in choices right into the gameplay.
Looking at rocket jumping from a pure gameplay perspective, it can be designed to achieve the same mobility as a grappling hook but with a complete set of decisions unique to itself. Aiming at an enemy to deal damage or aiming at a wall or ground to beat a hasty retreat/ aggressive charge can create moment to moment decisions purely out of gameplay systems. It is also very intimate with the weapon the player has equipped and the implementation of the physics system can really push the skill cap as it is very inherent of explosions and forces.
Rocket jumping as a mechanic offers many parameters for designers to play around with and is a very good option to consider in high octane FPS games.
Footage taken from
Quake Rocket Jumping = https://youtu.be/_ZrRO5gRfAs
Halo Rocket Jumping = https://youtu.be/px8ypn8YLEo
TF2 Rocket Jump = https://www.youtube.com/watch?v=uphATRHKIoo
TF2 Sticky Jump = https://youtu.be/KXEkNCB_Y0E
TF2 Sentry Jump = https://youtu.be/SbQoNBCby0o
Rocket Jump SFM = https://www.youtube.com/watch?v=x2MHuJe2Qgg
Titanfall 2 = https://youtu.be/xU00WXvw2V0