January 10, 2025
  • Home
  • Default
  • Mastering Wall Running and High-Scurry Bolt in Venture: Haste
How wall running and high-scurry bolt works in Venture: Haste

Mastering Wall Running and High-Scurry Bolt in Venture: Haste

By on November 23, 2024 0 21 Views

Hello! My name is Connor Roberts, the developer for Project: Haste, an online first-person shooter crafted in Unity. Recently, I would like to guide you through how I implemented the high-speed movement for our project.

Project: Haste is a shooter game where players chain together movement techniques to outsmart their rivals. Our primary goal with this game was to grant players ultimate control over their positioning and agility. The movement system serves as the backbone of the game, especially as the project evolves from a student endeavor at Vancouver Film School to a Nominee at the Unity Awards 2024, ultimately transforming into a full-scale live-ops release where this movement system becomes integral to the player’s experience.

It begins with the design

As a team, we recognized early on during pre-production for Project: Haste that we desired the foundation of our game to be a compelling movement system. I commenced prototyping purely based on intuition because I wanted to experiment with movement before we established a definitive design—this allowed us to define our objectives before we convened at the whiteboard.

This turned out to be one of our greatest advantages, as I inadvertently designed the essential system for the game; it was complete with wall-running, slides, double jumps, and a sprint.

For a period, we contemplated basing the game around grappling hooks or rocket jumps, but ultimately concluded that the sprint mechanics handled these challenges for us.

I engineered the movement to allow significant tunability so that the rest of the team could easily collaborate with it. I also ensured to implement scriptable objects and a remote configuration to enable our designers, Trex Hossain and Sergio Lisuardi, to refine our movement during extensive playtests as the project progressed.

Inspiration

Project: Haste drew from various key inspirations, including Quake and Titanfall 2, but before we thoroughly analyzed these titles or had a complete vision for the game, the movement was largely established—at least on a technical level.

It’s challenging for me to pinpoint where I drew inspiration during the early movement prototyping, even through to the end of production. Not to say that I didn’t examine other games, but the movement system became so central to our project that there wasn’t much opportunity to explore movement in different games.

With this in mind, I believe it would be beneficial to explain how the movement fundamentally operates, which consists of our:

  • Camera and Screen Space Effects

As Project: Haste progressed, these layers enhanced our movement from merely functional to addictive.

Custom physics

At the heart of our movement is my aversion to using built-in physics in game engines. I’m not sure why, but I’d rather program everything myself to provide maximum tunability for the design team, or simply for my own benefit.

To simplify the physics for my workflow, I utilized a state machine to break down each movement state’s physics into independent closed systems, with input and output parameters. As each closed system was established, the state machine allowed the inputs and outputs of these systems to interact with each other, creating a predictable, tunable, and fluid movement system.

For instance, our wall run utilizes the player’s current speed as input along with a gravity factor. This speed is mainly in meters per second, and the gravity is tuned specifically for wall running. These inputs then interact with some collision-vector manipulation to allow players to run along inclined surfaces in Project: Haste.

This subsequently produces a speed output for the player, which can later be used as input for other movement states.

While our primary movement mechanics are Wall Run, Sprint, and Double Jump, we also incorporated hidden movement mechanics for the player, such as our dash jump, our double jump’s forward boost, and our mental mechanics designed for assistance at ledges. Each of these had its closed physics systems that collectively contributed to allowing the player to navigate our levels with enhanced speed.

Camera and screen space effects

With all of our movement components interconnected, we wanted to enhance the player’s experience of speed. We employed various techniques to align the player’s perception with their movement dynamics, such as FOV adjustments tied to changes in player speed, speed lines that scale based on player velocity, and color modifications depending on the current movement state. We essentially aimed to make the game feel satisfying in every action, effectively scratching the fast-paced itch that we all crave.

In addition to those techniques, we also adjust the camera based on the player’s movement speed, which helped us feel truly connected to the environment we were navigating. We also implemented this with wall running—and all of our jumps for that matter—creating a tilt effect that moved the player away from the surface they were on, which effectively sold these movement mechanics and made it seem as if you were interacting with the game world’s surfaces.

In the end, we had various visual effects. Project: Haste can be quite stylized, so we wanted to be able to add some flair to our movement in a more stylized manner. I crafted a halftone shader that we employed throughout our project with different masks to achieve effects like screen transitions, and we discovered that we could use custom-designed masks to create varied halftone shapes. We ultimately applied this to the edges of our screen to provide immediate feedback for wall running, sliding, double jumping, and even while utilizing boost pads and jump pads. Coordinating the colors with the movement lines gave everything a very cohesive and dynamic feel.

Animation Feedback

I cannot write this section without mentioning our talented artists Chevi Hernandez and Jose Andres Lopez. Chevi truly worked wonders on all of our character animations, along with the weapon animations completed by Jose, which became a crucial factor for our players to maintain clarity during the fast-paced gameplay experienced while they battle in the Haste League.

In the end, we had numerous layers of animations in place, including a unique animation for every directional input for each movement type—this was used to ensure players fully understand their actions as they occur, providing a reference point for how a particular movement will affect their gameplay.

Combining these animations with sound effects and music from our composer and SFX designer Declan Johnston ensures that players have all the tools in their toolkit to completely grasp what is happening with their character, as well as their environment during a match.

Final Thoughts

I want to emphasize how developing a game within a limited timeframe truly requires teamwork. Project: Haste was only in development for four months, which, looking back, is incredibly short. It is thanks to my amazing team that I am fortunate enough to even be discussing our project, let

Learn More

  Default
Leave a comment

Your email address will not be published. Required fields are marked *