Matthew M Langer
  Game and Level Designer
  • Home
  • Professional Work
    • Days Gone - Main Game
    • Days Gone - Dead Don't Ride DLC
    • UntitledArenaGame
  • Older Work
    • Solo Projects >
      • Face-Off at the Frozen Throne
      • Spaceport Defense
      • Crystal Mines: Thesis Artifact
      • Phantasmagoria: Gears of War Level
    • Team Projects >
      • From The Ashes
      • Identity
      • Skyscrappers
      • Ethereality
    • Scripting >
      • Blueprint Scripting: A.I. Instructor in From The Ashes
      • Entity Scripting: Boss Battle in Crystal Mines
      • Entity Scripting: Custom Gibs in Crystal Mines
      • Entity Scripting: Melee and Ranged Combat in Crystal Mines
      • Kismet Scripting: Contextual Interaction in Phantasmagoria
      • Kismet Scripting: Stun Gun in Phantasmagoria
      • Lua Scripting: Bat A.I. in Ethereality
  • Resume

Entity Scripting: Custom Gibs

Picture
Design Goal: To create non-generic gibs for custom built meshes that enhances the overall player experience of the level.
Picture
Description: Environmental interaction is one of the key elements of Zelda design.  It's fun to see what things you can slice, smash and break, even if it's not pertinent to completing the level.  I wanted to have a pseudo-realistic breaking of custom meshes when the player hit them as opposed to the generic gibs that is native to Half Life 2.  
Picture
Design Challenge: Half Life 2 only natively supports generic gibs like wood and stone.  It was very confusing trying to add custom gibs into their system so I instead discovered a new pipeline for adding custom gibs.  I made each gib of each breakable object to be a unique mesh that I imported into Half Life 2 using the third party software, Propper.
Picture
Each of the gray circles represents a unique physics gib. I first made the model and collision geometry and then broken it into pieces for the gib models.
Picture
Once I had the gib models built and imported, I needed to arrange them to create the illusion of an object breaking into its pieces.  To do this, I used a point_template to create a replicable template of a set of meshes in a relative arrangement.
Picture
After I imported the gib meshes, I arranged them to look like the pieces were still together to use as a template for every breakable object of its type.
Picture
I then placed an env_entity_maker underneath each gib-spawning object and had it reference the correct point_template with all the gib meshes.  Once the gib-spawning object was attacked, I deleted it and then activated the env_entity_maker, spawning the gib meshes and completing the illusion of it breaking into pieces.
Picture
The red box underneath the right Crystal Mesh is the selected env_entity_maker that spawns the custom gibs once the crystal is attacked.