level designer

HALF-LIFE 2:

“FISHERY”

Hammer++ | 80hr dev. time | singleplayer

high-level design goal:

RTS-STYLE, WAVE-BASED, fps combat

OVERVIEW

  • “Fishery” is a standalone level for Half-Life 2 that tasks the player to escape from a Combine-controlled shipyard.

  • The level features RTS-style gameplay:

    • The player is given a setup phase where automated turrets can be placed wherever they’d like.

    • Waves of enemies then arrive, attacking both the player and their sentries.

    • The player must hold off the enemies in each area until a timer expires. After time runs out, the next arena becomes accessible.

  • This level was inspired by Chapter 9 of the game’s campaign, which featured a similar territorial-defense mechanic. My goal for this project was to take the underutilized turrets and highlight them through engaging layouts and combat design.

2d map

MECHANIC overview:
TURRETS

  • The turrets, officially named “Combine Sentry Guns”, are fully automatic, heat-tracking tripod guns. They fire constant streams of bullets when an enemy enters their ~45° view. They do not rotate.

  • They do not engage the player but can still damage them if they cross the turret’s line of fire.

  • The player can pick them up move them around, even when they are actively firing.

  • The turrets’ biggest weakness is their stability - they fall over easily. Enemies can knock down turrets, shutting them down until they are placed upright again. I used this weakness as a key balancing point when designing the level.

DESIGN TECHNIQUES

Balancing

  • Having multiple turrets can be overpowered if the number/type of enemies isn’t not curated.

  • Inversely, turrets can quickly become useless if too many enemies rush in and knock them over.

  • I achieved balanced combat by tweaking enemy types, numbers, spawn timings, grouping (running in together vs. one-by-one), pathing, turret amount, and pedestal placement.

  • Constant testing was needed to ensure one small adjustment didn’t throw off the feel of an entire encounter.

turret positioning

  • Turret “pedestals” are placed in key positions (vantage points, areas with large field-of-view, etc.) to convey where players should place sentries.

player & turret dynamics

  • One downside to using turrets is that they can create “spectator gameplay”, where the player is just watching the combat instead of interacting with it.

  • To mitigate this, I increased the number of short-range enemies and had them rush the player.

  • This led to more player movement and use of cover.

  • Testers also reported that they enjoyed shooting their turret’s current target, creating a memorable 2v1 scenario.

WAVE-BASED enemy system

  • RTS-style combat: Players have full control over when combat encounters begin, which allows them to explore the battlefield and plan their turret placements.

  • I created a custom wave-based combat system using Hammer’s “I/O” scripting system:

    • Enemies spawn, move, and attack in waves.

    • Built modularly so that enemy type and spawn time can all be modified individually or as a group.

gallery

postmortem

What Went Well

  • Solid planning and execution of level design and combat system (final level is very similar to LDD).

  • Creating the modular combat system early on in the development process allowed for faster iteration and more refinement.

What needs improvEMENT

  • Spread of player cover: The most optimal place for players to take cover are the sheds where the sentry guns are found, leading to poor flow throughout the combat arenas.

  • Enemy flow: Some enemies don’t take full advantage of arena spaces, preferring to hold back and shoot from afar. Spreading out enemy assault points (“go to here” points) would be an ideal fix.

Even Better If…

  • Higher player agency: The sentry guns are quite strong - they are invulnerable, and some enemies will prioritize attacking them over the player. This can lead to “spectator” gameplay, where the player is just watching the combat instead of interacting with it.

  • More enemy variety: The inclusion of an aggressive enemy type, like the robotic Rollermines, would help encourage better flow through the arenas.

image credit