Goblin Mode


Goblin Mode is a prototype for a cooperative game centered on unleashing your inner goblin to loot, steal, and wreak havoc in a dynamic town environment. The game emphasizes physics interactions between players and their surroundings to amplify the chaotic nature of gameplay.

Initially developed by a team of three, Goblin Mode eventually transitioned into a solo project due to the unavailability of other team members. However, the project has been put on hold as its scope proved too much to take on alone.

Active Ragdolls

Active ragdolls are characters setup with physics joints that use physical forces to animate rather than typical keyframe animations.

A custom implementation for active ragdolls was originally used in the project. The implementation used a seperate character animated with traditional animation methods to act as a target for the physically based ragdoll character.

Each physics step, the rotation of the target characters joints would be analyzed, and set as targets for the ragdolls physics joints. In addition the ragdoll required external forces to stay upright, and move throughout the environment.

Goblin Mode ARD0
Goblin Mode ARD1
Goblin Mode ARD2
Goblin Mode ARD3
Goblin Mode ARD4
Goblin Mode ARD5

As you can see the later iterations of this system worked to a reasonable level, however the process to get to this point was difficult and time consuming, and the implementation still needed work in several areas.

Now that this was a solo project I ultumately decided to swap it out for a 3rd party implemention Puppet Master. Puppet Master approaches active ragdolls in a simular way, using a target character for the physcics character to follow. However, it is extremely well made, and includes additional features allowing for the ragdoll to switch between simulated, kinematic, and disabled modes. This added significant value for the project when it came to setting up ragdoll LODs for NPC characters.

Skinned mesh renderer bone order

Art assets in Goblin Mode come from Synty Studios. This includes NPC characters, which come from several asset packs.

Ragdolls are complicated to setup and configure, so ideally there would be a single ragdoll for NPC characters. The mesh and material of that ragdoll could then be assigned to change it to a new character.

This process works perfectly for characters of the same asset pack as they are part of the same mesh and have the same bone rig. Unfortunately, characters accross asset packs have slight variations in the name or number of bones, resulting in their bones being imported in a different order...


The solution to this nightmare fuel was the use of an asset post processor.

The asset post processor intercepted Skinned Mesh Renderers being imported, and reordered their bones to a consistent pattern. In the case of extra bones, this bone was ordered last, so meshes without that bone would not be effected.

© Daniel John Miller