All projects Yksi · Write-up
One card leftNoch eine Karte
Yksi is the colour-matching card game for the afternoon meeting, against bots or with friends: the rules as printed, a deck drawn like a Finnish screen print with a sign for every colour, and a button by your thumb to call “yksi!”, or to catch whoever forgot.Yksi ist das Kartenspiel fürs Nachmittags-Meeting, bei dem Farbe oder Zahl passen muss, gegen Bots oder mit Freunden: die Regeln wie gedruckt, Karten wie ein finnischer Siebdruck mit einem Zeichen für jede Farbe, und ein Knopf am Daumen, um „yksi!“ zu rufen oder jemanden zu erwischen, der es vergessen hat.
- Type
- Web appWeb-App
- Stack
- Svelte 5 · Node · Server-Sent Events
- Year
- 2026
- Code
- Public on GitHubÖffentlich auf GitHub
One card left
Yksi is the colour-matching card game for the afternoon meeting, played against bots or at a table with friends. Against bots it opens straight onto the table, with one to five of them. A table gets a four-letter code (no vowels, so no code spells a word), a link and a QR code; there are no accounts, a name and a seal are enough, and a reload or a locked phone puts you back in your seat. Two to ten sit at a table, bots fill the empty seats, and the host picks how far the match goes, the house rules, a clock if the table wants one, and how well the bots play. The name is Finnish for one: it’s what you call when one card is left.
The rules as printed
The rules follow the maker’s printed instructions, checked against the sheets from 2001 to 2025: 108 cards, seven each, and a card goes on the pile when it matches the colour, the number or the symbol on top. Skip, Reverse and Draw Two do what they say; with two players a Reverse works as a Skip. A wild names the colour, and a Wild Draw Four may only be played without a card of the colour in play, though nothing stops a bluff: the next player may challenge it, and whoever was wrong draws. You may always draw instead of playing, and a card drawn that fits may go straight on. Whoever plays their last card wins the round and scores what the others still hold: numbers at face value, action cards 20, wilds 50, the match to 500 or a single round. Stacking draw cards, jumping in with an identical card, swapping hands on a 7 and passing them on at a 0, and drawing until a card fits are house rules, each a switch, all off by default.
Calling it
A big round button sits by the right thumb. Before you play your second-to-last card it lights up; tap it, and the call goes with that card. Forget, and you sit at one card uncalled: until the next player draws or plays, the button on everyone else’s phone turns into Caught, and whoever taps it first makes you draw two. You can still call late if nobody has. Bots catch too, the better ones sooner, and a bot whose turn comes next waits a moment, so a person has time to catch first.
Cards in the hand
Your cards fan along the bottom of the phone, in two rows once there are too many for one. Run a thumb along them and they lift under it; flick one up, drag it, or tap it twice, and it flies to the pile. A card that doesn’t fit lifts, shakes and drops back, and the line above your hand says why. Hold a card still to look at it big. A wild asks for its colour first, a Wild Draw Four played on you asks whether to challenge it, and each question floats over the table above your hand, so the table never changes size while you play.
A Finnish print
The deck is drawn in the page as SVG, in the manner of a Finnish screen print: flat inks on cool paper, each card cut from a giant print of its colour’s sign, the numbers in Unbounded. Every colour has its own sign, red a triangle, blue a circle, green a square and yellow a diamond, in both corners of every card, so the colours tell apart without colour vision. The wilds carry all four signs on black; the back is the lagoon with the signs in a pattern. The table comes in light and dark, and the cards stay printed cards in both.
Bots in three ranks
The bots play at the same three ranks as the other games here. The apprentice plays whatever fits half the time, picks colours almost at random, forgets the call one time in four and never challenges. The journeyman keeps its wilds for when nothing else fits, sheds the colour it holds most, hits a player close to going out with a Draw Two or a Skip, always calls and catches whoever doesn’t. The master also remembers which colours each player has drawn on, bluffs a Wild Draw Four now and then and challenges by the odds; then it deals out the cards it can’t see many times over and plays its best few choices to the end of the round, in about a hundredth of a second. No bot looks at a hand but its own. On the same deals with the seats swapped, each rank wins more points a round than the one below it.
Alone, and offline
The rules and the bots are plain modules that the server and the page share, so a game against bots runs entirely in the page and keeps playing without a connection once the app is installed. It’s saved on the phone as it goes, and the start page counts the games played and won. At a table, a Node server without dependencies keeps the room in memory and sends every page only its own hand over Server-Sent Events. A script plays whole rounds through the real page at phone size, alone and with a guest, and checks that nothing on the table jumps. The page is in German and English and installs to a home screen.
Noch eine Karte
Yksi ist das Kartenspiel fürs Nachmittags-Meeting, bei dem Farbe oder Zahl passen muss, gespielt gegen Bots oder an einem Tisch mit Freunden. Gegen Bots geht es sofort los, mit einem bis fünf. Ein Tisch bekommt einen Code aus vier Buchstaben (ohne Vokale, damit kein Code ein Wort ergibt), einen Link und einen QR-Code; Konten gibt es keine, ein Name und ein Siegel reichen, und nach einem Neuladen oder einem gesperrten Handy sitzt man wieder auf seinem Platz. Zwei bis zehn sitzen am Tisch, leere Plätze füllen Bots, und der Gastgeber wählt, wie weit die Partie geht, die Hausregeln, auf Wunsch eine Uhr und wie gut die Bots spielen. Der Name ist Finnisch für eins: Das ruft man, wenn nur noch eine Karte übrig ist.
Die Regeln wie gedruckt
Die Regeln folgen der gedruckten Anleitung des Herstellers, geprüft an den Blättern von 2001 bis 2025: 108 Karten, sieben für jeden, und eine Karte darf auf den Stapel, wenn sie in Farbe, Zahl oder Symbol zur obersten passt. Aussetzen, Richtungswechsel und +2 tun, was sie sagen; zu zweit wirkt ein Richtungswechsel wie Aussetzen. Eine Farbwahl bestimmt die Farbe, und eine +4 darf nur, wer keine Karte der liegenden Farbe hat, aber niemand hindert einen am Bluffen: Der Nächste darf anzweifeln, und wer falsch lag, zieht. Ziehen statt legen geht immer, und eine gezogene Karte, die passt, darf gleich auf den Stapel. Wer seine letzte Karte legt, gewinnt die Runde und bekommt, was die anderen noch halten: Zahlen nach ihrem Wert, Aktionskarten 20, Farbwahlen 50, die Partie bis 500 oder eine einzige Runde. Ziehkarten stapeln, mit einer gleichen Karte reinwerfen, bei einer 7 die Hand tauschen und bei einer 0 weitergeben sowie ziehen, bis es passt, sind Hausregeln, jede ein Schalter, alle zu Beginn aus.
Rufen
Ein großer runder Knopf liegt beim rechten Daumen. Bevor man die vorletzte Karte legt, leuchtet er auf; ein Tipp, und der Ruf geht mit dieser Karte. Wer ihn vergisst, sitzt mit einer Karte da, ohne gerufen zu haben: Bis der Nächste zieht oder legt, wird der Knopf auf allen anderen Handys zu „Erwischt!“, und wer zuerst tippt, lässt einen zwei Karten ziehen. Nachträglich rufen geht, solange es noch niemand bemerkt hat. Auch Bots erwischen einen, die besseren schneller, und ein Bot, der als Nächster dran ist, wartet einen Moment, damit ein Mensch zuerst erwischen kann.
Karten in der Hand
Die eigenen Karten liegen als Fächer unten am Handy, in zwei Reihen, sobald es für eine zu viele sind. Mit dem Daumen darüberstreichen hebt sie an; eine nach oben schnippen, ziehen oder zweimal antippen, und sie fliegt auf den Stapel. Eine Karte, die nicht passt, hebt sich, schüttelt sich und fällt zurück, und die Zeile über der Hand sagt, warum. Eine Karte festhalten zeigt sie groß. Eine Farbwahl fragt erst nach der Farbe, eine +4 gegen einen fragt, ob man anzweifeln will, und jede Frage schwebt über dem Tisch über der Hand, damit der Tisch beim Spielen nie die Größe ändert.
Ein finnischer Druck
Die Karten werden in der Seite als SVG gezeichnet, nach Art eines finnischen Siebdrucks: flache Farben auf kühlem Papier, jede Karte aus einem riesigen Druck des Zeichens ihrer Farbe geschnitten, die Zahlen in Unbounded. Jede Farbe hat ihr Zeichen, Rot ein Dreieck, Blau einen Kreis, Grün ein Quadrat und Gelb eine Raute, in beiden Ecken jeder Karte, damit man die Farben auch ohne Farbsehen unterscheidet. Die Farbwahlen tragen alle vier Zeichen auf Schwarz, die Rückseite ist die Lagune mit den Zeichen als Muster. Den Tisch gibt es hell und dunkel, die Karten bleiben in beiden gedruckte Karten.
Bots in drei Stufen
Die Bots spielen in denselben drei Stufen wie die anderen Spiele hier. Der Lehrling legt in der Hälfte der Fälle irgendeine Karte, die passt, wählt Farben fast zufällig, vergisst den Ruf jedes vierte Mal und zweifelt nie an. Der Geselle hebt seine Farbwahlen für den Fall auf, dass nichts anderes passt, wird die Farbe los, von der er am meisten hat, trifft jemanden kurz vor dem Ende mit +2 oder Aussetzen, ruft immer und erwischt jeden, der es vergisst. Der Meister merkt sich außerdem, auf welche Farben jemand ziehen musste, blufft ab und zu mit einer +4 und zweifelt nach den Chancen an; dann verteilt er die Karten, die er nicht sieht, viele Male neu und spielt seine besten Züge jeweils bis zum Ende der Runde durch, in etwa einer Hundertstelsekunde. Kein Bot schaut in eine Hand außer seiner eigenen. Auf denselben Karten mit getauschten Plätzen holt jede Stufe pro Runde mehr Punkte als die darunter.
Allein, auch offline
Die Regeln und die Bots sind einfache Module, die Server und Seite teilen, deshalb läuft ein Spiel gegen Bots ganz in der Seite und spielt ohne Verbindung weiter, sobald die App installiert ist. Es wird beim Spielen auf dem Handy gespeichert, und die Startseite zählt gespielte und gewonnene Spiele. Am Tisch hält ein Node-Server ohne Abhängigkeiten den Raum im Speicher und schickt jeder Seite per Server-Sent Events nur ihre eigene Hand. Ein Skript spielt ganze Runden durch die echte Seite in Handygröße, allein und mit einem Gast, und prüft, dass nichts auf dem Tisch springt. Die Seite gibt es auf Deutsch und Englisch, und sie lässt sich auf den Home-Bildschirm legen.