top of page

Project Title
Project Type

EX-9: Traversal System

EX-9 is a third-person action-adventure set in a sprawling cyberpunk metropolis. My goal for this project was to create a traversal system specifically for a cyberpunk setting. I wanted to create mechanics that would utilize the dense verticality of the city and could support exploration and stealth mechanics. The main mechanics of this project are basic movement, environment interactions, and Akira-esque cyberpunk abilities.

TOOLS:

Unity Engine, Github, Maya

LENGTH:

7 Weeks

GENRE:

90's Cyberpunk

Action-Adventure

Controls

TRAVERSAL Controls 2.png

Traversal

Placeholder

ezgif.com-gif-maker (5).gif

Moves:

  • Walk, Run

  • Jump, Double Jump 

  • Ledge Climbing 

  • Ladder Climbing 

  • Teleporting 

  • Balance Walk 

  • Ziplining

Movement

​The main goal of these mechanics is to support fluid parkour traversal where players can easily move above the street on shop overhangs, rooftops, and balconies. I used blend trees to optimize the range of input from the joystick, and pushed the metrics for my jump and double jump to allow players to easily jump from rooftop to rooftop and to grab on to fire-escape ladders and store canopies. 

Traversal_System_2021-09-27_15-59-23_SparkVideo.gif
unnamed (1).png

Double Jump

By far, double jump underwent the most iteration of any of my mechanics. 

  • V1 - Double jump played same animation as jump, no audio, no falling, only single jump landing. Movement determined by force.impulse so height was inconsistent and dependent on when players pressed the button.

  • V2  - Falling animation & hard falling animation added along with jump sound added 

  • V3 - New animation added for double jump to distinguish from regular jump, running jump animation added for single jumps, landing sound added. 

  • V4 - New fall to roll animation added for running double jump to  help keep momentum. Adjustments made to blend & exit times for other falling animations to fix stutters and delays.

  • V5 - Most important change: consistent double jump heights by using velocity changed instead of force.impulse. 

ezgif.com-gif-maker.gif
ezgif.com-gif-maker (1).gif

Supernatural Abilities

Because my biggest genre influence for this project was Akira which mixes cyberpunk and supernatural abilities, I referenced movement metrics from games like Jedi: Fallen Order and Titanfall. I also gave players the ability to teleport, to allow for a greater range of traversal beyond the believability of a telekinetic double jump. 

Capture.PNG
unnamed.png

Teleport

The first iteration of teleport involved moving the player forward at a fixed distance per the players rotation. Because it was bound to player rotation and not camera rotation, it made positioning the teleport less intuitive and meant that the player could teleport outside the cameras field of view. In the following iterations, the teleport was changed to be placed per the cameras rotation so players could teleport where they were looking instead of having the rotate the player. The teleport was also updated to allow players to control where & how far to teleport. This was designed to give players more control over teleporting in small spaces & support teleportation in stealth contexts (e.g. for players to teleport behind nearby crates).
 

unnamed.gif
unnamed (2).png

Environment Interactions

To further the traversals interaction with environment, I added a balance walk to let players walk and jump from narrow neon signs and construction cranes. I also added a ziplining to lend to the prevalence of wires and cables between buildings. 

​

I took a lot of inspiration from Uncharted 4: The Lost Legacy, especially for the ziplining. The Uncharted series has some of my favorite traversal, and they did such an amazing job of utilizing the city scape for ziplining and climbing.

Ch._2_Light_Slide.jpg
ex.PNG

Ziplining

For the initial ziplining, the player is prompted to press R1 when near the zipline, which sends a raycast out from the player to confirm that they are within range of a zipline tagged object. Then, the player is parented to a sphere that moves to the corresponding ziplines target point, at which point the player is released safely onto the platform. 

​

This is the way I’ve seen ziplines played in my reference games- Uncharted, Tomb Raider, Jedi. Action-packed, timed, controlled. But then I got an interesting piece of feedback from a playtester. “The zipline feels good, or at least I think it should- but something’s missing. It doesn’t feel dangerous.” They were right, it didn’t feel dangerous. Not that real ziplining did either, but this wasn’t that zipline. The player wasn’t wearing a harness, they were pulling out a rusty pipe that they had been using as a weapon, looping it over an electrical cable, and holding on for dear life. To capture that feeling of holding on, and to give the player more agency, I changed the input from pressing R1 to holding down R2, releasing the player when R2 was released, or when the player made it to the end of the other zipline. This gave the player the ability to drop down between zipline points, and also opened up the opportunity for players to drop down onto enemies from a zipline. 

Level Design

This was by no means a level design project, but given the inherit nature of traversal I needed to build something to test and showcase the mechanics. Beyond the basic blockout iterations, I added safety nets and respawn checkpoints. For the lower areas of the map, ladders and lower ledges helped players recover their position while progressing upwards in the map. For the higher areas, I added killboxes and checkpoint triggers so that players would respawn at the last checkpoint if falling off a building. To help the level read as a city, at least at a basic level, I added corrugated metal ledges and windows to the buildings. In future iterations I would love to create a modular kit and build a well rounded level that supports these mechanics.

Ex-9 Traversal Moodboard.png
first stage.PNG
mid stage ex.PNG
final map no route.PNG

Other Challenges & Takeaways

My main design takeaway from the project was learning to look for redundancies and how to remove mechanics to create a more minimal system. I wanted to strike the right balance of depth and width, to allow for emergence without encumbering the player with too many mechanics. As an example, I originally had both a dash and a teleport mechanic. They both accomplished similar things, so I cut the dash mechanic and modified my teleport to capture the essence of what I wanted from both mechanics. 

 

On the development side, there were a ton of challenges and takeaways.  I learned how to use Unity’s new input system so I could use controller inputs. I learned how to import animations to access root motion data and how to use animation blend trees. I created scripts to manage ledge climbing and ladder climbing contextual to where the player grabbed on. I learned the most I’ve ever learned about creating complex logic in an animator controller, and I did the most playtesting and iteration I’ve ever done on a project. Because I conducted regular playtest sessions with players of different backgrounds and skill levels, I was able to gather and incorporate really valuable feedback throughout my project.

​

  • LinkedIn
  • 57fe9893aca86265c86d94d93824e91b
  • image

COPYWRITE © 2022-2025 SMITH MOESSINGER

bottom of page