Birdoggydog's Builds

Posing a four-armed monster and an ogre on shared clips

A paler skin, a jaw that is part of the body, a table that moves the Meat Beast's extra arms, and spikes that stay on the Meat Monster's skin.

All four meat monsters are in the game now. The Meat Sack has a paler skin, the Meat Boy has a head that’s welded to its body, the Meat Beast has a second pair of arms, and the Meat Monster is 3 meters tall with 41 bone spikes. Getting the last two through the animation pipeline meant teaching it to move bones that no clip file has, and fixing spikes that came off the skin.

42 seconds, captioned: the Beast and the Monster moving through their clips in the game, ending with all four in a line.
Four pale pink meat creatures in a row in a worn industrial room, from a low slab on the left to a huge muscular figure with spikes on the right, each with a health bar above it.

All four from 6.5 meters, left to right: the Sack at 0.9 m, the Boy at 1.2 m, the Beast at 1.9 m and the Monster at 3.0 m.

Why did the skin change?

The first film of the Sack showed its shape worked, but it disappeared into the meat growth on the walls. I said “Approve the shape, but make it stand out from the meat walls” and asked for the skin “paler and wetter both”. All four share one skin, so I changed the family’s palette. The base color went from raw red (0.40, 0.065, 0.055) to a bled pink (0.80, 0.44, 0.41), and roughness went from 0.36 to 0.16, which is the wetter part. Red is kept for patches, deep places, veins and the mouth, so it still looks like meat.

Two stacked views of the same dark red corridor with a slab-like meat creature in the middle. In the top view it is dark red and almost lost against the walls. In the bottom view it is pinkish gray with an open toothed mouth.

The Sack from 4 meters, before the new skin on top and after it below.

How can a jaw be part of the body?

The playable characters get a separate head file with its own jaw, and the motion step was written around that. It stood every body up with a head file on a weapon socket, and its check on the exported clips failed any bone pair more than 0.5 degrees apart, so a jaw that opened counted as being off by its whole turn. The Boy and the Beast have no head file and no socket, because the head is welded on.

I didn’t want typed angles on 20 bones, because that’s what made the first bodies feel stiff. So a clip set in the motion table can now be marked "jaw": "own". For a marked set the jaw is keyed and measured from the jaw value the clip file already has. One function gives the jaw’s turn, which is the inverse of its rest rotation, times a turn about X, times the rest rotation. The bake keys it and the check poses it from the same lines, so they can’t disagree. A body with no socket says where its hands would hold in a bench block in its manifest, and only the test bench reads that.

The Boy’s idle and hit needed one more fix. The library’s clips left its lower sole 20 to 34 mm off the floor against a limit of 20, because it has short bowed legs under long flat feet. So those two clips are layered, with the library clip as the base and the feet taken fully from a stand I wrote by hand. The Boy was approved with “Yes: approve both as they look”, and I picked “Keep the ridge” for the seam around its neck.

How do the extra arms move?

The Beast is 1.90 m, 4,808 triangles, with 31 bones. Those are the playable 24, its jaw, and six for a second pair of arms off the ribs (an upper arm, forearm and hand per side). No clip file has those six bones, and the motion step used to refuse any bone its clip file lacked.

I could have typed lower-arm clips, but the shared walk, hit and death would then move those bones for nothing. So the lower arms aren’t clips. A table, more_meatborn.json, sits behind a more key on the Beast’s clip set. Two functions in the motion step read it, more_of for the set’s block and more_turns for a quaternion per bone per frame. The bake keys those and the check poses them from the same call.

Each bone’s turn is built from three things.

  • Following. Each lower bone takes half of what the upper bone above it does, a few frames late: 3 frames for the upper arm, 4 for the forearm and 5 for the hand. The upper arm’s turn is carried into the room’s axes through the bone’s rest rotation, then slerped from nothing by the share. So in the walk the lower arms swing with the upper ones, but never on the same beat.
  • Waves. In the idle each lower arm works on a different count, with 3, 5 and 4 cycles for the upper, fore and hand bones. They don’t divide into each other, so the arms never settle into a pattern.
  • Keys. Once a loop the left lower arm reaches out and closes, and later the right does. In the attack they draw back as the upper claws go up and thrust forward from frame 18 to 21, a beat after the upper blow. In the hit they snatch in across the belly. In the death they’re flung out and then laid along the body’s sides, because it ends on its back and arms held forward would point at the ceiling.

A turn is written for the left bone and the right takes it mirrored.

A first-person view of a pale, hunched, muscular humanoid with long arms ending in claws hanging at its sides.

The Beast from 2 meters, stooped, with the lower pair of arms hanging forward beside the upper pair.

The Beast’s idle and walk use a manner I called prowl, which is stooped, with long slow steps and the head hunting from side to side. Its attack, maul, is 34 frames. Both upper claws go up and rake down, and the lower pair thrusts a beat later. The wind-up tops out at frame 14 and the motion is fastest from frame 16.

Why did the Monster’s spikes come off the skin?

The Monster is 3.07 m tall and 2.11 m wide, upright, with 9,181 triangles (my limit was 10,000), 25 bones and a 1024 texture. Its manner, hulk, is the brute made slower and wider, with a walk of 2.46 seconds. Its attack, slam, brings both fists overhead and down.

A very wide, pale, muscular creature with spikes along its shoulders and back standing in a room, next to a much smaller green humanoid figure.

The Monster from 8 meters, 3.0 m tall, beside a 1.75 m figure for scale.

I made the 41 spikes the same way as the Sack’s teeth, as short lathed profiles stood along the skin’s normal. The pipeline checks every clip for gaps between parts, and 14 of the spikes gapped from the skin in two poses. They were rigid on a bone and the skin bent away from it. I fixed it two ways. A piece with no bone now rides the skin it stands in, whole, and the spikes are rooted deeper. There are 0 gaps in every clip now. I also found that the kit’s finer skin had left the Monster’s heels 77 mm under the floor, and I put those points back.

I wanted the Monster to die by kneeling and pitching forward, but the clip library has no forward fall. So it dies on its back, over 3.63 seconds. Its hit is the library’s, made small at 0.38 seconds, because something that size doesn’t flinch far.

A huge pale creature with its mouth open and spikes on its shoulders, filling the screen, with a party member's portrait glowing red below it.

The Monster in the slam, in reach of the party, with both fists up over its head.

How do I know nothing else moved?

Both the motion step and the monster kit are shared, so I rebuilt 13 heads and 6 regular bodies and compared the files byte for byte against the installed ones. That was 52 files of heads and 24 of bodies, and 0 differ. The Sack’s and the Boy’s installed files weren’t touched. The test for the meat bodies has 225 checks and passes, and the film has 10.

What is still wrong?

In the slam’s wind-up, the Monster’s skin stretches in a flat sheet from each raised arm to its flank. You can see it in the picture above. I also found while filming that the game draws a monster’s health bar through a floor, and I’ve filed that as its own item. I approved the Beast and the Monster as they look later the same day, so all four are approved and the stretched skin stays.