Engine: Hammer Editor/Source (Half-Life 2: Episode 2)
Development Time: 80 man-hours
Rollermine: The player controls a rollermine with unique mechanics
2.5D Environment: A side-scroller built in a 3D engine
Unique Gameplay Variant: "Sideroller" is a unique take on Half-Life 2: Episode 2, using a new player character and original gameplay scripting.
Challenging Scripting: The level was designed from the start as a scripting challenge.
Experimental Environment: The environment (especially lighting) for "Sideroller" is purposely minimalistic and tailored to evoke a calming mood.
"Sideroller" is a 2.5D side-scroller built for Half-Life 2:Episode 2 in the Hammer editor. The player controls a renegade rollermine in an attempt to escape captivity in the Citadel. It features uniquely scripted gameplay: the sparking, malfunctioning rollermine can hover around obstacles such as bumpers and use a slam attack to send enemy turrets and personnel flying into the deadly lasers that ring the rooms.
At A Glance
- The player can hover with left-click and slam down with right-click, creating knockback
- The player has 15 HP, losing 1 every time the rollermine hits a laser
- 6 linear challenge rooms
- Bumpers will bounce the player into danger
- Turrets activate on a 3-second timer and will shoot the rollermine, pushing it around
- The SMGer patrols and will shoot the player
- The Shotgunner is stationary and will blast the player into bumpers and lasers
Level Highlight: Rollermine Scripting
In "Sideroller," the player controls a rollermine through six rooms of a side-scrolling adventure, completely overwriting the standard Half-Life 2 first-person control scheme.
- The character is controlled by phys_thrusters attached to a disabled npc_rollermine. Pressing 'A' or 'D' activates thrusters pushing the rollermine left or right respectively, and holding left-click activates a thruster with upward force that causes the rollermine to fly for as long as the button is held.
- To create an attack for the rollermine, I tied right-click to a much stronger downward thruster that sends the character slamming toward the ground.
- Right-click also activates trigger_push boxes on two sides of the rollermine that push enemies away from the mine. Together, these right-click functions create an attack with a downward slam and 'shockwave'. Pressing any movement or attack key also sets off spark effects tied to the corresponding thruster or trigger_push.
- All input is handled through a game_ui object activated at the start of the level. The game_ui freezes the player and hides Gordon's weapon, then catches certain player inputs and sends the proper actions to the respective objects.
Level Highlight: 2.5D Environment
"Sideroller" is a side-scroller built in a 3D engine, essentially making it 2.5D.
- The level is built in slices framed by invisible blocking volumes to stop the rollermine and enemies from falling out.
- The player begins outside the level, but the standard first-person view is immediately set to an external camera pointing at the face of the first room.
- A series of trigger volumes at the exit of each room switch between cameras in addition to teleporting the rollermine from room to room.
Scripting: Turrets, Lasers, and Bumpers
Some scripting was involved to create the behavior for turrets, and the effects of the lasers and bumpers.
- Turrets use an ai_relationship entity to enable them to attack the player.
- Since turrets operate on 3-second on/off intervals, each has a logic_timer that turns them on or off every three seconds.
- Lasers use several components: trigger_multiple boxes, explosion entities, an ambient_generic sound, and env_beams to create the particle effect between two objects.
- The trigger_multiples fire the explosions (push force but no direct damage), decrement the player's HP counter, and create damage effects (red flash and spark) on the rollermine.
- Bumpers consist of static entities surrounded by trigger boxes which cause force-only explosions within them to fire.