Hit The Skip

About

Hit The Skip was a project developed by me in Unity/C#. It’s a project focused on movement mechanics like wall running and sliding as well as solid basic movement like air strafing.

The unique aspect of this project is that there are movement techniques that are inspired by exploits from other games, such as Well Skating from Destiny 2.

I designed and developed this entire project.

Important Points

  • Certain input combinations or conditions allow for special movement techniques
  • This project is heavily focused on the technical aspect of character movement
  • A movement system that includes: sliding, wall running, mantling, air strafing
  • Consistent basic movement system; things like jumping or moving diagonally does not increase speed

Details

Basic Movement System

The movement is rigid body based and moves through adding force based on the player’s inputs. There is a constant force that decelerates the player based on different states like if the player is crouching, walking, off the ground, etc.

Advanced Movement

There is movement in this project that is more complex than just walking or jumping.

Mantling is when a player is on a ledge and they climb over said ledge. This is checked by two checks: A sphere in front of the player to see if they are facing a ledge/wall and a capsule checking if the area above the ledge is clear.

Wall running is checked with two capsules on each side of the player. If the capsules collide with a wall and if the player is off the ground then the player experiences decreased gravity, simulating wall running.

Sliding is in the project and it gives off a small boost in whatever direction you are going. It also helps conserve velocity when you are going fast.

Lunging moves the player forward quickly with a button press but only in the horizontal plane and slows down the player at the end. In addition to that the player must be grounded to trigger this. There is a cooldown to lunging

Air Diving stops a player’s horizontal movement and after a short delay will send the player straight down. Can only be triggered while in the air.

Movement Techniques

This project was inspired by games with advanced movement systems. In some games there are exploits and movement techniques that the player can use to increase their movement options. Hit The Skip leans into using these movement techniques.

Mantle Glide is when the player presses jump and crouch at the same time shortly after mantling. This results in propelling the player forward at a fast speed. This technique is heavily inspired by Apex Legend’s / Titanfall’s Superglide.

Dive Skating is triggered by lunging forward off of a ledge, jumping and then very quickly diving after. This results in the player being launched forward at great speed. Dive skating is possible because at the end of the lunging animation the player loses their velocity. Diving in the middle of the lunge cancels the animation while jumping cancels the dive which means that the velocity is carried over in the end. This movement technique is heavily inspired by Destiny 2’s Well Skating.

Biggest Challenges

Starting off, one big challenge was keeping the basic movement consistent. Jumping accelerated the player faster than the ground speed due to lessened drag. I didn’t want to limit speed so capping the speed wasn’t a solution to this acceleration. Removing control while airborne means the player won’t accelerate any faster, however it feels bad not being able to strafe. To solve this I used a dot product to determine if the player movement is lining up with their velocity. If their movement is aligned with their velocity then don’t add force; don’t accelerate any faster. If they are putting inputs moving away from the current velocity direction then allow the player to strafe left, right, or back.

Another challenge in this project is the movement techniques. Most of these techniques were based on exploits from other games. This means that I would need to reverse engineer the process of the movement technique and make guesses as to why the original movement techniques works in the first place. For example, I assume that Well Skating from Destiny 2 is caused by velocity being conserved through animation canceling, so I had to make my own version of what I think is happening.