Angry Cores | Half-Life 2: Episode 2
- Role: Sole Developer
- Genre: First Person Shooter
- Game Mode: Single Player Mission
- Engine: Source
- Development Time: 50 Hours
- Angry Birds like gameplay featuring the Personality Cores from Portal
- Destructible, physics enabled ranges with Combine Soldier targets
Use Personality Cores as projectiles to destroy ranges and Combine Soldier targets.
“Angry Cores” is a stand-alone expansion to Half-Life 2 featuring extreme physics gameplay. The resistance has uncovered a cache of Personality Cores from Aperture Science and has enlisted Gordon Freeman to test their capabilities as ordnance. A “Personality Projector” waits in a large testing range in Black Mesa East. The Vortigaunts have developed a few test simulations for Gordon to complete, mainly comprised of obliterating structures to hit the targets inside.
- Emulate the gameplay of Angry Birds within the Half-Life 2 universe
- Create a cannon system that can be moved, controlled from two different stations, and fires two different ammo types
- Implement a camera system that allows the player to enjoy the results of the cannon system
Level Highlight: The "Personality Projector"
"Angry Cores" central feature is the "Personalty Projector"; an on-rail cannon system used to knock down obstacles and hit Combine targets. The Projector can be loaded with two different ammo types, Angry Cores and Personality Cores, that have different behaviors on impact. The Personality Cores from Portal were exported from their vpk files and then packed into the bsp map.
After loading the desired Core, there are only two other controls for the Projector: a wheel to control the angle of the shot and a big red button to actually fire it. Upon firing, the camera switches to a angled-side view of the current range with the Core coming towards it, allowing the player to get close to the action and feeling the satisfaction of the impact.
Level Challenge: Many-to-One
Creating a single cannon with one set of controls, one range, and one ammo type was simple, easy, but boring. So, I decided to create four ranges with two sets of controls and two ammo types.
In order to accomplish this I had to create an exponentially complex tree of relay nodes to serve as "if" logic gates. When a Core was loaded into the Projector, a relay turned off the other half off the logic tree concerned with the other ammo type. When the Projector was fired, it sent signals to both ammo types' firing relays, only one of which triggered as the other was disabled. And when the Projector would move from one room and set of controls to another I had to reset the majority of objects and variables.