← All devlog posts

Earfh 3 min read

A bowling ball that became a sound

Crowd Momentum lets a hard shove turn a mob into a bowling ball, and ten pins is a strike. The owner dropped the bowling ball art, set a knockback cap on every gun, and gave the railgun a charge that can launch a crowd.

Written up later from the repo's history and dated to the days it describes.

Several of Earfh's weapons shove enemies, and until October 14 a shove was a number that ended when the enemy stopped sliding. Crowd Momentum gave it a payoff. A mob shoved fast enough becomes a ball.

The rule

The threshold is 360 pixels a second. A mob launched above it keeps moving, hurts every mob it hits and shoves each of them, passing on part of its speed. The chain fades after a few links. A wall hurts too, for 12 damage on a slam. Heavy mobs, the armored and the elite, take half the shove, so a Bro Magnon is a bad ball.

Pins are the unique mobs hit in a single chain. A mob that the chain touches counts once, and ten pins is a strike, with a STRIKE! banner, 50 cash and one combo credit. A chain stays live while it has at least one ball, and it closes 1.5 seconds after its last pin or its last ball stopping.

No bowling ball

The first plan had the shoved mob drawn as a bowling ball, and the owner's first reaction to the idea was approval. After a smoke test, the report was that the framerate was golden. Later that day he asked about a bowling ball asset and pin sprites, and then reversed himself. "Lets scratch the bowling ball idea, I think the same effect can be achieved with good SFX."

So the effect is in the sound design. The spec gives every pin count from 1 to 10 its own sound, with the tenth as the strike. The sounds themselves are still being found.

Caps for every gun

The first draft said pistols and rifles were too weak to launch anything. The owner's answer was a cap on every weapon. "Give each weapon a maximum knockback they cannot exceed. Pistols can still knockback but probably will never yield a strike."

A gun hit now never shoves past its cap. The pistol and rifle are at 340, just under the launch threshold. The Ricochet is 500 and the shotgun 600, the Slug and Railgun 800, and the Door Breacher 1,000. The next day the owner asked for the railgun to have a lot more knockback, and it got a push that scales with charge, up to 600 on top of its base. A tap stays under the threshold and a full slug launches.

Marks that stay

The floor kept a different kind of score. The old blood system capped at 60 decals and faded them after 20 seconds. A new layer keeps every mark for the whole stage, including blood, scorch from blasts, char from fire and oil from grease, and chips in the walls. Marks age from wet red to brown to near-black.

It draws into chunks of 256 by 256 pixels and ages them in a shader. The headless measurements came to about 300 microseconds for a death-size stamp and 34 for flushing nine chunks. The spec names one known look problem. A large blast shows blocks 3 or 4 pixels wide, because the stamp is scaled up with nearest neighbor.

← All devlog posts