__NAME__

One line that says what the game is.

Two or three sentences for someone who has never heard of it: what you do on a turn, what makes it fun, and that it is free to play here against the bot or with friends.

{#if game.options?.length}
{#each game.options as o (o.key)} {@const chosen = o.choices.find((c) => c.value === options[o.key])}
{#if chosen?.note}

{chosen.note}

{/if}
{/each}
{/if}
or join one

A code opens the door either way: take a seat if one is free, or watch from the Peanut Gallery.

or bring a seat from another device
{#if error}

{error}

{/if}
{#if seats.length}
your games
{#each seats as held (held.roomId)} {/each} {#if reports.length}
your reports to the keeper
{#each reports as r (r.id)} {@const last = r.thread[r.thread.length - 1]}
{r.roomId}

“{r.happened}”{#if r.image} (with a picture){/if}

{#each r.thread as line, j (j)} {#if line.from === 'player'}

you: {line.text}

{:else}

{line.status} {line.text}

{/if} {/each} {#if !last}

the keeper is studying the moment

{:else if last.from === 'player'}

your word is with the keeper

{/if} {#if r.thread.some((l) => l.from === 'desk')}
{ e.preventDefault(); void answer(r); }}>
{/if}
{/each} {#if answerError}

{answerError}

{/if} {/if}
{/if} {#snippet aboutGame()}

Where the game comes from, who made the original and when, and how the keeper of this page first met it.

What this version keeps and what it changes. Where the rules text it follows lives (the rules page), and any borrowed art or text with its notice.

It is free and keeps no accounts. A game between people lives on a small server as an append-only ledger of moves, so it can be replayed from its first move, and each player is shown only what the rules let them see.

{/snippet} {#snippet aboutTally()} {#if told} {:else}

Counting…

{/if} {/snippet} {#snippet aboutFamily()}
{#if family.length}

More games in {#if hall}Kestrel's Hall{:else}Kestrel's Hall{/if}

    {#each family as g (g.slug)}
  • {g.name}: {g.pitch} {g.players} players; {g.origin}.
  • {/each}
{/if}

The games of Kestrel's Hall are free and will stay free. They run on small servers that cost a few dollars a month; anyone who wants to chip in toward the hosting can at ko-fi.com/kestrelsnest. Nothing is unlocked by it and nothing is withheld without it.

__NAME__ is its designer's.

{/snippet} {#snippet aboutWord()}

A rule read wrong, a bug, a game you would like to tell of: write to eric@ericwagoner.com, @kestrelsnest.social on Bluesky, or @eric@toots.kestrelsnest.social on Mastodon. The keeper of this hall roosts at kestrelsnest.social.

{/snippet}