top of page

Synchronizing the animations with the third person gameplay offered some interesting design challenges.

  • The difficulty came from getting the game to detect when the player was on the ground or jumping in the air.

  • Because the player periodically activates multiple ground-check triggers simultaneously, simply toggling the grounded state when they enter and leave a trigger did not provide the correct functionality.

  • Instead, the system uses counters to determine if the player is jumping. When the player enters a ground trigger the counter increments by one. Conversely, when they leave the trigger, the counter decrements by one.

  • When the counter is greater or equal to one, the player is touching the ground.

Scripting

Scripting

Code Overview
Ground-Check Triggers
Ground-Check Counters
Weapon Script
Spawn Energy Ball

One of the restrictions for this project was that everything had to be done with scripting. This severely limited the potential changes to the game's weapons.

  • Without the ability to edit the source code directly, there was no way to remove the significant delay between when the player pressed the fire button, and when the AR2 launched its energy ball.

  • The solution was to create a "fake" AR2 using an entity spawner. The spawner creates an entity that launches combine energy balls in a straight line. This allowed for an approximation of the traditional weapon, but without the unwanted firing delay.

  • Concept and documentation for creation of alternate game mode

  • Created level layout including player path, progression, and implementation in engine

  • Implemented 2D platformer playstyle, bouncing ball mechanic, and animation state system using scripting

  • Placed clutter meshes and decals to achieve aesthetics goals

Download

Game: Half Life 2: Episode Two 

Engine: Source SDK

Genre: 2D Action Platformer

Development Time: 7 Weeks

Game Type: Single Player Mission

Responsibilities

Development Info

bottom of page