← All devlog posts

Earfh

Every kill chains into the next

Earfh's combo meters now change what a kill does. Melee, gun and dash combos each have kill effects, three pairs have effects of their own, and all of them grow with the combo. Two safety rules keep a crowd from snowballing, and the owner voiced all 17 sounds with their mouth.

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

Earfh already had combo meters for melee, guns and dashing. They told you how well you were playing and paid a little Stock. On October 10 they started changing what a kill looks like, in four slices that landed in one day.

Melee, then guns and dashes

The melee combo came first. As the streak climbs through its tiers, a kill gets a brief freeze, then feeds the blood meter, then sets off a shock ring that hurts the mobs around the corpse. At the top tier the ring is bigger and there is bonus Stock.

The gun streak followed. Its tiers add a burst of color, then a top-up to your overcharge meter, then an arc to the nearest mob, and finally three arcs and a chance at a powerup. The dash chain got a flash, a spent dash charge handed back on a kill, a damaging patch on the floor where the mob died, and a little Stock.

The pairs

Run two combos at once and a third kind of effect appears. While CLOCKED IN is lit (the dash chain and melee together), every kill sets off a small ring. While DRIVE-BY is lit (dash chain and guns), a gun kill sends an arc to one mob and on to a second. While SWITCH HITTER is lit (melee and guns), a kill now and then drops a health pickup or a little Stock. All three can be lit together, and their effects stack.

Two rules against a snowball

A kill that an effect caused cannot start more effects. A ring kill does not spawn another ring, and an arc kill does not spawn another arc. Without that rule a dense crowd turns into a chain reaction, and with it the cost of a kill stays bounded. Kills caused by effects also add no splash blood, because the design said they should not.

The second rule came from a review. Handing back a dash charge on every kill meant a player could dodge roll forever, which turns the roll into a permanent shield. The refund now has a one second cooldown. A test for the chain rule caught a different problem. It passed while testing nothing, because a mob dies a tenth of a second after the hit that kills it, so the check ran too early. The chain test was rewritten so that it can fail.

Effects that grow

The last slice made the effects scale. Each combo has a power, from 1.0 at its first tier to 2.0 at 60 streak points or 24 dashes, read live on every kill. Rings, arcs and patches reach further. Stock, charge, blood, drop chances, the freeze and the bursts grow with it, and damage percentages grow by half as much. A pair uses the weaker of its two combos. Three ceilings keep it sane: drop chances stop at 50 percent, the freeze at 70 milliseconds and a patch at 3 seconds. The base numbers did not change, and the older kill-effect tests pin power at 1.0 so their assertions still hold.

The sounds

Seventeen kill effects needed seventeen sounds, and until October 12 they played silence, because the code looks up a file named after each effect and none existed. On October 12 the owner recorded all 17 with their voice and mouth. The raw takes had up to 205 milliseconds of dead air at the start, which makes a kill sound late, and they peaked at 0 dB. A small script now trims the silence, adds a short fade, normalizes to minus 3 dB and writes the file. It never touches the originals, and it will do the same for the next batch.

Every number here is a placeholder for the tuning slice, and the frame rate in a big crowd still needs a proper look.

← All devlog posts