Entity Scripting: Custom Gibs
Design Goal: To create non-generic gibs for custom built meshes that enhances the overall player experience of the level.
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.
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.
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.
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.