joel taylor pedrós
blog

a writing game like the password game (rungs): describing a ransom note isn't writing one

two bars on a scale from 0 to 1. a paragraph that only describes a ransom note scores 0.95 when asked whether it is written in the form of a ransom note, and 0.25 when asked whether it is the note itself. the line a draft has to cross is at 0.6.two bars on a scale from 0 to 1. a paragraph that only describes a ransom note scores 0.95 when asked whether it is written in the form of a ransom note, and 0.25 when asked whether it is the note itself. the line a draft has to cross is at 0.6.

the first rule is "this is a ransom note." you write one, and once it holds, the second rule shows up: "name a sum and a deadline." then "the hostage must be in excellent health. give details." by rule 8 the kidnappers are offering to pay the family to take her off their hands, and the sum and the deadline from rule 2 still have to be in there.

that's rungs, a writing game i built. each set of rules is a ladder, and every rule has to keep holding while you satisfy the next one. the rules don't warn you about each other, so the game is the rewrite each new one forces. it's the trick from the password game, pointed at prose.

this post gives away three ladders: a few words, proof of life and this is your captain. play them first if you'd rather not know.

who decides if a rule holds

some rules are counting, like a word cap or a list of banned words. the server checks those itself. the rest are judgement calls, like "the captain must sound exactly the way they do on every other flight". those go to jev, typesafe's classifier, through openrouter. you give it a text and a list of yes or no statements, and it returns a calibrated probability for each one. a rule is a statement plus a line. it holds when the probability is above the line, or below it for rules that say something must not happen.

every live statement goes in one call, so a ladder with eight rules is still one request, and it runs when you stop typing for a moment rather than on every key. the player never sees a number. they get a bar that fills as the draft gets closer to passing.

the rule the player reads and the statement jev reads are different texts. most of the work went into the second one.

a description of a ransom note

my first statement for rule 1 was "this text is written in the form of a ransom note". a draft that only described one in the third person, "this is a ransom note in which the kidnappers...", scored 0.95. it would have cleared rule 1 without being a ransom note at all.

the captain had the same hole. "written in the form of an announcement" gave 0.93 to a paragraph that just restated the rules, "the captain sounds calm...". asking whether the text is the announcement itself, rather than a description of one, dropped that paragraph to 0.21 and kept real announcements at 0.84 to 0.96. for the ransom note it was 0.25 for the description and 0.70 to 0.95 for real notes.

form, not fact

the eulogy ladder needed the opposite fix. "this text is a eulogy" scored 0.96 on a normal draft and fell to 0.71 as soon as the person being mourned turned out to be a router. that statement asks about a fact, and jev wasn't sure a router can have a eulogy. "written in the form of a eulogy" asks about the shape, and the joke survives it.

so the rule i follow now is to ask about the form, and to make the text be the thing rather than talk about it.

saying it isn't showing it

rule 3 of proof of life asks for proof that the hostage is fine. "the hostage is described as healthy and doing well" let "she is in excellent health" through at 0.74, and that's a claim, not proof. asking for proof-of-life details scores real drafts 0.85 to 0.97 and that sentence 0.08.

rule 6 says the kidnappers have lost control to the hostage. "the writer is afraid of the hostage" gave 0.15 to drafts where the men would not go in alone, and 0.94 to a draft that just said "we are afraid of her". the statement that works asks what happens in the house: 0.90 when the men eat when she says so, 0.13 on a plain note.

numbers have to be numbers

the last rule of this is your captain is "say how long until the plane is on the ground, and it's less than five minutes". "about four minutes" scores 0.97. the same draft with "about ten minutes" scores 0.01, and "shortly" 0.10.

vague statements fail the other way. "points out something to see" gave 0.45 to a draft with no such line in it. "tells the passengers on one side to look at something" gives 0.93 to 0.98 when they're told and 0.01 to 0.02 when they aren't.

where the line goes

the line decides where a ladder is hard. in a few words, rule 3 says the speaker didn't like the person who died, and that costs the eulogy statement about 0.20, from 0.96 to 0.76. with the line at 0.85, players would get stuck on rule 3 for a reason that has nothing to do with rule 3. the solutions i'd checked sat at 0.90 and 0.97, so the line is at 0.80, which still isn't free.

rule 8 asks the eulogy to end by giving the listener something. "would be a comfort" topped out at 0.57 on every solution. "releases the listener from guilt" gave solutions 0.93 but also gave 0.70 to a draft written to be as bleak as possible, so it said yes to nearly anything. the wording in the game separates 0.84 from 0.10.

the rules stay on the server

the rules you haven't reached never leave the server. a score request only returns the ones you've unlocked, plus the next one once they all hold, so there's no way to read a ladder ahead. when you post a solution, the server judges it again with every rule live and only saves it if it clears, and the word count shown next to it is the server's.

three ladders are out now, and seven more come out one a day until 18 october. playing doesn't need an account. rungs is here, and the code is on github.