Skip to content
alzy.kr
← Devlog

Built it, removed it exactly seven days later — and never measured the effect (Tanubi Dusk)

In on 24 July, out on 31 July. Exactly seven days. This is a story about removing something I built, and about admitting that the reason was judgement rather than measurement.

Written: 2026-07-31

Last updated: 2026-08-21

I wanted the daily run to feel like a ritual 💭

Each day deserved a face of its own, one short run with something particular about it.

So daily variations went in. They derive from a seed, so the whole world gets the same one on the same day.

For ranking fairness, challenges and ghosts reproduce exactly.

It was carved out as pure logic with nine unit tests attached.

Up to here it was an addition that worked.

One of them was Dusk 🌒

Dusk is the variation that narrows what you can see.

As an idea I thought it was one of the better ones.

The same course plays differently when the visible range changes.

Next to low gravity or fog, it looked like the single sheet that altered the experience most.

So removing it was not something I had considered.

Pencil sketch of a side-scrolling screen where only a small circle stays clear and everything outside is densely hatched
Change how much you can see and the way you run changes with it.

And exactly seven days later, out it went ⏱️

The reason survives verbatim in a source comment.

A visibility limit is too much for the daily run.

The daily is one short run. It is not the slot you settle in and grind.

Received in that slot, a narrowed view stops being difficulty and becomes an irritation.

Whether something is fun and whether it fits here are separate questions.

For seven days I was only looking at the first one. 😅

To be honest, I never measured it 📏

I would rather write this part plainly than smooth it over.

I did not measure how play behaviour changed after the removal.

The commit that removed it carries a row of verification records, but they cover other changes in the same batch.

The source comment itself states the basis as an owner call, not a measurement.

I am not going to write a judgement call as though it had been a data call.

The removal went through the type, not a branch 🔒

Dusk was taken out of the type that represents the set of variations.

I did not want a runtime branch filtering it out. I wanted the daily path unable to construct it at all.

Done that way, any surviving reference surfaces as a build error.

One did surface. A line for Dusk was still sitting inside the function that applies a variation.

With a runtime branch, that line would have quietly stayed there.

The prohibition went into the type rather than into a comment.

Pencil sketch of one slot struck out in a vertical stack, with a line running to a small box bursting open
Take it out of the type and the leftover reference blows up at build time.

The badge dictionary stayed, though 📦

Dusk itself did not disappear. It still shows up on the campaign side.

So the display name and emoji dictionary stayed exactly where it was. The campaign HUD reuses it.

Only the dictionary type was widened so the Dusk entry could not fall out.

The render flag is shared as well, so it stayed. The daily path simply never raises it.

What was removed was an option, not a piece of vocabulary.

While I was there, a comment was lying 🙃

Touching the draw table turned up something else.

An old comment claimed one variation had been weighted to appear more often than the others.

Counting the actual array, every kind appeared the same number of times. There was no weighting.

The comment held the intention while the code stayed honestly uniform.

Nobody notices until the person who wrote it reads it back.

A comment is a claim, not a guarantee. That landed again.

Pencil sketch of a blank speech balloon singling out one square while calliper marks below show all five are the same width
The balloon points at a bias. The measurements say every square is identical.

Wrapping up 🏁

Removing a fun feature takes more willpower than fixing a broken one.

Even so, when something does not suit the place it sits, removing it is the faster move.

Two things stuck. Write the prohibition into the type, not into prose.

And write down that a judgement call was a judgement call.

If it was not measured, say it was not measured. That is the whole thing! ✍️

Tanubi