QC Dev 002: Clambering


I hopped fences when I was younger. My elementary school was locked up during the weekend, so to play on the equipment or the fields, you had to climb over a chain-link fence.

fences

When confronted with a chain-link fence or ledge in a video game, the typical solution is: find a way around it. Commando Bulk McBeefenstein can’t climb the barrier, but 10-year old me can. Sad trombone.

There are FPSs that empower you with maneuverability - Thief and Mirror’s Edge come to mind. These games de-emphasize direct combat and redirect that energy into creatively traversing through the environment.

In Quadrilateral Cowboy, the game is largely about slinking through secure facilities, so player maneuverability was something I wanted to spend time on.

How to Clamber

In Quadrilateral Cowboy, the player character (PC) can clamber onto any ledge within hand’s reach. I’ll describe how the game verifies whether the PC can clamber something.

clamber

  1. First, a traceline is shot upwards 140 units:

clamber_140up

  1. Traceline 2 is then shot forward 32 units:

clamber_32forward

  1. Traceline 3 is then shot downward until it hits something:

clamber_downward_nocheck

  1. Lastly, check if the PC crouched bounding box can safely fit here:

clamber_downward

  1. Two things can happen here. If the PC bounding box:

    • safely fits:  great! We’re done. Start the clamber animation.

    • collides into geometry OR hits a surface unusable for any reason: return to Step 2 and increase the forward traceline length.

One good feature about this approach is how it handles two different clamber situations: clambering up wall ledges (as shown above), and clambering up a hole in the ceiling (i.e. an attic crawlspace hatch).

That’s a quick overview of how clambering works. After playing with it in the game, I realized it was woefully insufficient for clambering into what every first-person video game needs: ventilation shafts.

How to Vent

Checking whether the player can clamber into a ventilation shaft is slightly different.

vent

  1. First, a traceline is shot forward 48 units out of the PC’s eyeballs. In the example below, the player is looking slightly upward:

vent_48forward

  1. Trace downward until it hits anything:

vent_downward

  1. Check if the PC bounding box can safely fit here:

vent_downward_check

  1. If the PC bounding box:

    • safely fits: then hooray for you! Clamber in.

    • collides into geometry: attempt to nudge the bounding box away from walls until it finds a suitable spot.

When clambering, the game does the ledge check and the vent check. How does it decide which check to first do? Its prioritization depends on the player’s view angle.

Et al

As a player, it’s wonderful to be empowered with abilities that let you be creative. Stacking boxes to reach a fire escape, creating a ladder out of sticky bombs, or the video game variant to social engineering.

Whereas Thirty Flights of Loving was a tightly-controlled experience, Quadrilateral Cowboy aims to give the player a variety of tools and let them loose in a sandbox to run around and experiment in. For super heroes, great power comes with great responsibilities. For video game players, great power comes with great ability to completely break your game. Players will find ways to use these tools circumvent and short-circuit the game.

And ultimately, I think that’s wonderful. The creativity a player brings in is one of the most exciting things about games.