Lincoln Li - Game Designer
  • Shipped Products
  • Resume
  • Work Samples
    • Vicious Circle - Characters (password)
    • Vicious Circle - Sandbox (password)
    • Vicious Circle - Progression (password)
    • Untitled - Mission Systems (password)
    • H2A Sandbox / Combat
    • H2A Game Modes
    • Doom MP Spawn System
    • MWR Improved Destruction for AC130
    • MWR Audio Scripting
    • Hobby Project - Slacky's Command
  • About Me
    • Design Philosophy
Picture
DEVELOPMENT INFO
Game: Half Life 2: Episode 2
Genre: FPS / RTS
Engine: Source Engine
Development Time: 8 weeks
Game Mode: Single Player Level
RESPONSIBILITIES
  • Designed series of "RTS" levels
  • Created RTS Viewport / HUD
  • Designed and scripted RTS gameplay and events
  • Scripting, AI, Environment, Lighting
Download Levels
Download Documentation


Overview:
"Slacky's Command" is a Real-Time Strategy level, using Source SDK and Half Life 2: Episode 2. The story takes place immediately before Chapter 10, from Half Life 2, after Gordon and Alyx's escape from Nova Prospekt. The citizens of City 17 have risen up against the Combine, and this level re-imagines Gordon's assistance to the Resistance as a Real Time Strategy game. Players take on units in small squads to capture Combine territory, while defending and attacking Combine forces from a top-down perspective. The level focuses on the unique mechanics of an RTS, while also providing cinematic moments, and boss-fights, to involve the player into the action throughout each encounter.

Design Goals:
  • Create squad-based real time strategy game using the Source Engine, set within the Half Life 2 universe.
  • Take place within the timeline of Half Life 2 campaign, after the escape from Nova Prospekt, and act as a "re-imagined" scenario of the Rebel attack on City 17.
  • Implement RTS mechanics and gameplay unique to the Half Life 2 world.
  • Build a fully playable, paced and flowing campaign to adapt players to this new experience.

Mission Type:
Single Player Mission / Level Play Time: ~ 15 minutes

SCRIPTING
MAPS & LAYOUT
LEVEL 1
LEVEL 2

Scripting

Control Point System
The control point system stemmed from my desire to re-create RTS mechanics from games like Company of Heroes, and provide a secondary game-play element aside from just being able to "control units" in an RTS fashion. Using the control points allowed me the opportunity to provide pacing in an environment where none existed outside of combat.

Technical Details:
Using the Hammer Input / Output system allowed me to accomplish the creation of the control point system by using Touch Triggers to register NPC interaction within the space of influence. Using an filter node, I was able to filter what the Touch Trigger box registered, whether Combine or Rebel NPCs, and only allowed a count-down timer depending on whom was inside the trigger box at a given time.

The counter was a simple math logic system, where it would display game_text nodes based on the position it was on the logic_case function. Using math_counter to count both up and down, and using the logic_cases allowed me to display the count-down, while actually having a "count-down" occur in the background.

It was a simple matter of adding some sort of event occurrence (whether NPC spawns, or UI update) at the end of the math_counter, using the logic_cases, in order to signify the end of the Control Point (it being capture).

Real Time Strategy Controls
RTS (Real Time Strategy) Controls provide the meat of the gameplay elements for this map. They were inspired by my love for RTS games, such as Starcraft, Company of Heroes, etc... and due to the restriction of working in Half Life 2, I wanted to find a way to still be able to make an RTS. The design goal around these controls were to provide an easy-to-use scheme, mixed with the ability for individual unit control, essentially allow the players to go "Wow, this is an awesome mechanic, and these controls are polished!".

Technical Details:
Creating the RTS controls and system involved a deep understanding of how Half Life 2 laid out their control config files, console commands, and specifically, debug mode.

Debug Mode Details:

  • Creates a purple wireframe outline when NPC's are selected using the NPC_Select console command.
  • Allows players to use NPC_Go, which commands NPCs to move to a specific location. A motion arrow / line appears to show the pathing and direction
Lastly, the final process was to create a new config file to replace the control scheme default to Half Life 2, while at the same time, allowing each new key-binding to also activate the console commands, "npc_select" and "npc_go", bound to left mouse and right mouse, respectively. Displayed below:

bind mouse1 "ent_fire !picker FireUser3"
bind mouse2 "npc_go;ent_fire !picker FireUser2"

bind 1 "npc_select npc_citizen"

Picture
Picture

Maps & layout

Prologue - Back from Nova Prospekt
This level is designed to be placed straight into the Half Life 2 campaign. It occurs right after the escape from Nova Prospekt, and sets up the battle of City 17 in Dr. Kleiner's lab. The goal was to provide a familiar setting, while introdcing players to this new "adaption" to the original campaign.

Design Goals:
  • Introduce players to a familiar setting which could be inserted directly after Chapter 9 of Half Life 2 main campaign, from the escape of Nova Prospekt.
  • Provide a summary of events, and set the story of the following series of levels, while providing context for the player's situation in the following events.
Picture
Design Goal: Mainly used to recreate Dr. Kleiner's office, and provide a link between the original HL2 campaign and my level.
Picture

Level 1 - Capture the Helipad
This level is the first to show the unique mechanic and controls of the newly built Half Life 2 Real Time Strategy, using nothing but in-editor, scripts, and some unique re-usage of Source SDK features. Using debug-mode to activate a pseudo-code and some commands via config files to manipulate NPC control, I was able to create a new mechanic and game-mode without having to modify the game in an extreme way.

Design Goals:

  • Create introductory gameplay that paces the player into the new RTS mechanics, gameplay and controls.
  • Create a sense of purpose within the level through gameplay.
  • Provide easy encounters for players to master the new concepts.

Objectives:

  • Meet up with the rest of your Rebel squad.
  • Defeat combine forces attacking your squad members.
  • Proceed to and capture the Combine Helipad.
  • Make your way to the sewers into the inner city.
Picture
Design Goal: To quickly teach players the controls of moving units, while pushing them forward.
Picture
Design Goal: This is the first combat experience. The cover is setup so that the player needs to attack from both left and right to be most effective.
Picture
Design Goal: Placed to teach the Control Point capture mechanic, as well as show the "cinematic" moments within the game.
Picture
Design Goals: Used as a contextual transition point to the next level.
Picture

Level 2 - Capture the Supply Base
The last level of this three part "campaign" finally takes all the mechanics and gameplay elements introduced, and uses it fully to create an interesting and fun experience. The player controls several squads as they push to re-take a Combine Supply base at the heart of City 17, and climaxing in a cinematic battle with a tough Combine Gunship.

Design Goals:

  • Create a full-fledged RTS experience within the HL2 campaign and universe.
  • Implement radically different gameplay that is easy to play and learn, while creating more diversity within a campaign.
  • Organize script features in a manner where it is easy to be re-created by other Designers.

Objectives:

  • Defeat a group of forward defenders.
  • Capture the Lookout Post.
  • Capture the Supply Base.
  • Defend Supply Base from several waves of Combine.
  • Survive against Gunship until Helicopter reinforcement arrives.
Picture
Design Goal: I wanted to push the player straight into the combat, because I wasn't afraid of the learning curve due to the previous levels. A bit way the cover is implemented forces the players to choose to slowly advance along the left or right, with a lot of open space for players to rush, but risk losing more soldiers.
Picture
Design Goal: After the respite of the first fight, I slow down and pace the players into the capture point. This acts as a cool-down point for players to gather their position, and move onward.
Picture
Design Goal: Capturing the Combine Supply base also has a much easier time, due to the decision to allow players the time to survey the situation around them, as I'm about to unleash a large group of combine enemies upon the player.
Picture
Design Goal: This encounter presents the sharp upward curve and highlight of the game, as wave after waves of enemies attack the player's position.
Picture
Design Goal: Acting as the climax of the level, the last objective involves the player activating turrets to fight off a Combine Gunship. I wanted it to be challenging, but also "cinematic" as they get to command but also watch the crazy fight. It ultimately ends with a helicopter coming in and finishing off the enemy, to provide an explosive end to the level.
Picture

Copyright 2021 | Lincoln Li

  • Shipped Products
  • Resume
  • Work Samples
    • Vicious Circle - Characters (password)
    • Vicious Circle - Sandbox (password)
    • Vicious Circle - Progression (password)
    • Untitled - Mission Systems (password)
    • H2A Sandbox / Combat
    • H2A Game Modes
    • Doom MP Spawn System
    • MWR Improved Destruction for AC130
    • MWR Audio Scripting
    • Hobby Project - Slacky's Command
  • About Me
    • Design Philosophy