diff --git a/README.md b/README.md index 3f759bd..0433981 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ people has a four-letter room code; `/join/CODE` is both the invite link and the played. Turns are taken whenever each player has a moment, and the page refreshes itself when the other wizard moves. An empty seat can be given to the bot. Each turn, choose a gesture per hand, pick which completed spell (if any) each hand casts and at whom, and reveal. The rules -are at `/rules`. +are at `/rules`, and a walk through the page with screenshots at `/guide`. Around the two hands: @@ -62,6 +62,7 @@ two to four wizards; the interface is built for two. - `server/` the duel server: rooms, ledgers, the HTTP and WebSocket front door - `src/lib/components/` the ledger, hand pickers, status panels, result strip, chronicle, spell sheet, and the sticky bar for phones - `src/routes/rules/` the rules page, rendered from the spell book and the transcription in `docs/` +- `src/routes/guide/` how to play, with the figures in `static/guide/` ## Simplifications diff --git a/src/lib/components/Hall.svelte b/src/lib/components/Hall.svelte index 4d4b956..e3e8a49 100644 --- a/src/lib/components/Hall.svelte +++ b/src/lib/components/Hall.svelte @@ -111,7 +111,7 @@

Waving Hands

Two wizards. Two hands each. The right run of gestures is a spell.

Richard Bartle's 1977 pencil-and-paper duel, free in your browser. Each turn every wizard chooses a gesture per hand and all reveal together; a Fireball is F-S-S-D-D on one hand, a Shield is a single palm. Play the bot, or open a table for up to a dozen wizards and play by turns.

- (aboutOpen = true)}>about this game — a labor of love +
@@ -238,12 +238,18 @@ font-size: 0.95rem; } - .about-link { - display: inline-block; + .links { + font-size: 0.95rem; + color: var(--bone-faint); + } + + .links a { color: var(--frost); + } + + .about-link { font-style: italic; text-decoration: underline dotted; - font-size: 0.95rem; } .lid-play { diff --git a/src/routes/guide/+page.svelte b/src/routes/guide/+page.svelte new file mode 100644 index 0000000..1782c1f --- /dev/null +++ b/src/routes/guide/+page.svelte @@ -0,0 +1,189 @@ + + Waving Hands: how to play + + +
+
+ Back to the hall +

How to play

+

You are a wizard with two hands and a rival across the table. Every turn each of you writes down a gesture for each hand, and all are revealed at once. The right run of gestures on one hand is a spell. This page walks the room.

+ +
+ +
+

The hall

+
+ The hall: the title, a field for your name, a button to play the bot, and buttons to open a table or join one by code. +
+

Write your name and choose your company. Play now against the bot seats you across from a construct that reads your gestures as you read its. Open a table lays a table for up to a dozen wizards and hands you a link and a four-letter code to send. Join one takes a code someone sent you.

+

Beneath, your duels lists every table this browser holds a seat at, and whose move it is. A duel waits for you as long as you like; nothing is lost by closing the page.

+
+ +
+

The table

+
+ A table being laid: the invite link, a roster of seated wizards, an empty-seat count, and the host's button to begin. +
+

A table fills as wizards open the link. Whoever laid it is the host: they may seat a bot in any empty chair and they begin the duel when the company suits them, from two wizards to twelve. Once begun, the seats are closed and the ledger opens.

+

A duel between people is played by turns, whenever each of you has a moment. The page keeps watch and fills itself in when the others have moved; the masthead's room button copies the invite for latecomers who wish to watch.

+
+ +
+

The ledger

+
+ The ledger: a table with a turn number down the left, two letter columns for each wizard, and spells named in ember beneath the gesture that finished them. +
+

This is the game, as Bartle drew it: one row a turn, two columns a wizard, one letter a hand. F wriggled fingers, P proffered palm, S snap, W wave, D pointed digit, C clap. A dagger is a stab; a dash, a hand that rested. A gesture written in ember finished a spell, and the spell is named beneath it.

+

The bottom row is the turn being written. Your letters appear as you choose them; your rivals' show as ? until the reveal. A question mark in an older row means a gesture you were not allowed to see: you were blind, or they were invisible. With many wizards the ledger runs sideways; the turn and your own two columns stay pinned while you slide across to the rest.

+
+ +
+

Your hands

+
+ Two panels of gesture buttons, left hand and right, each with a list beneath of spells under way and the gesture that continues them. +
+

Press a gesture for each hand. Beneath each hand is what that hand is part-way through: D → F-W, Cure light wounds means the digit you made last turn is the first gesture of that spell, and F then W would finish it. Press a line to make its next gesture; the diamond pins a spell so it stays at the top while you work toward it.

+

When a gesture finishes a spell, Finishes appears with the spell chosen and at naming the likeliest subject. Change either. A gesture can belong to more than one spell so long as each run is unbroken, which is how F-F-F followed by S-S-D-D casts a Paralysis and then a Fireball; but one gesture may finish only one spell, and the page will tell you when two of your choices would share one.

+

Some hands are not yours to move. A hand paralysed or charmed by a rival, or a turn under amnesia, shows its forced gesture locked. Both palms at once is surrender, and the page warns before you do it.

+
+ +
+

What they may do

+
+ Warnings above the hands: a rival's hand, the gestures already made, an arrow, and the gesture that would finish a hostile spell. +
+

Above the hands the page reads your rivals' ledgers for you. Lucan, left: S → D, Missile means Lucan's left hand snapped last turn, and one pointed digit would send a missile this turn. Two gestures away lists what could land the turn after. Press a warning to light those gestures in the ledger.

+

This is the whole art. A shield, a single palm, stops missiles, creatures and knives this turn. A counter-spell on yourself, W-W-S or W-P-P, stops every other spell aimed at you this turn and shields you besides. Neither stops a wound spell or a lightning bolt, and nothing but dispel magic stops the finger of death; against those, break their run with an anti-spell before it ends.

+
+ +
+

The reveal

+
+ The result strip: each wizard's health before and after the turn, then the events of the turn in a line each. +
+

Reveal gestures commits your turn. Against the bot the turn resolves at once; at a table it resolves when the last wizard has moved, and until then the button reads Waiting. Everything happens together: a shield made this turn stops a missile made this turn, a creature summoned this turn strikes this turn, and a cure lands in the same breath as the wound.

+

The strip above the hands says what changed: each wizard's health, then the events worth knowing, and the first time a rule surprises you, a line explaining it. The chronicle in the rail keeps the whole story.

+
+ +
+

Health, creatures and the sheet

+
+
+ The rail: each wizard's name, fifteen health marks, their enchantments and creatures; then the spell sheet and the chronicle. +
+
+ The spell sheet, open at Fireball: its gestures, what it does, and buttons to plan it with the left or right hand. +
+
+

The rail shows every wizard: fifteen marks of health, the enchantments on them and for how long, and the creatures that serve them with hits left and damage dealt. Your own creatures take orders beneath your hands each turn and keep attacking what they last attacked until told otherwise.

+

The spell sheet lists all forty spells. Gestures you have already made light up along each sequence. Open a spell to read it, then Plan with left hand or right hand to pin it and make its next gesture, which is how a duel begins when nothing is yet under way.

+
+ +
+

On a phone

+
+ The duel on a phone: the ledger, the result, the hands, and a bar fixed at the foot with every wizard's health, the chosen gestures and the reveal button. +
+

Everything is here, in one column. The bar at the foot keeps every wizard's health, your two chosen gestures and the reveal button in reach; after a reveal the page brings the ledger's last rows and the result into view. Lists are shorter, and More spells opens the rest.

+
+ +
+

A first duel

+

Open with a wave on each hand. From W-W you may turn either hand into a counter-spell (W-W-S), a protection from evil (W-W-P) or resist heat (W-W-F-P), and nobody can hurt you on the first turn. Watch the warnings: when a missile is one gesture away, a palm costs you one hand for one turn; when a fireball is one gesture away, only a counter-spell, a resistance, or a counter of your own will do.

+

Then choose a spell from the sheet and pin it to a hand, and keep the other hand for answering. Cause light wounds is three gestures, a fireball five, and summoning a goblin three; a goblin that lives for four turns has done a fireball's work. Read the rival's ledger every turn as they read yours. Both of you are bluffing, and the whole page is the paper.

+

The full rules are on the rules page, with Bartle's text.

+
+
+ + diff --git a/src/routes/join/[code]/+page.svelte b/src/routes/join/[code]/+page.svelte index e5939c5..90238d2 100644 --- a/src/routes/join/[code]/+page.svelte +++ b/src/routes/join/[code]/+page.svelte @@ -100,6 +100,7 @@ invite friends · room {roomId}{copied ? ' · link copied' : ''} {/if} + How to play Rules The hall diff --git a/src/routes/play/+page.svelte b/src/routes/play/+page.svelte index 4f5a059..d8ae136 100644 --- a/src/routes/play/+page.svelte +++ b/src/routes/play/+page.svelte @@ -66,6 +66,7 @@ {/if}