Entity Scripting: Boss Battle
Design Goal: To create a Zelda-style boss battle that tests old and new skills learned previously in the dungeon and has an epic feel to it.
Description: The best Zelda boss battles test the player's knowledge and skill of the newest item they obtained in the dungeon. The boss battle with the Iron Dragon tests the player's use of their fire crossbow. Players have to shoot off the six crystals in the carts behind the lead cart while being shot at by them. In order to give them an easy shot, they have to light torches that activate stop beams to halt the Iron Dragon's movement. After the Iron Dragon takes a hit or enough time runs out, it continues its motion along the track. Once all the crystals are shot off the boss, the player wins the battle.
Design Challenge: Trains in Half Life 2 were not designed to move up and down and have multiple cars attached at the same time. I had to figure out to use the correct train type, func_tracktrain, and then accelerate and decelerate all seven trains together to maintain the same distance between them without resorting to changing speeds directly. Additionally, there were no track meshes that fit the crazy mine track I had in mind, so I had to create four modular BSP meshes and import them into Half Life 2 in order to realize the desired gameplay. I then had to place the actual train path which is independent of the track meshes to create the illusion of the train riding on the tracks.