All projects Kritzle · Write-up
A drawing that travels as it’s drawnEine Zeichnung, die unterwegs entsteht
Kritzle is our own skribbl.io for the afternoon meeting. The drawer’s strokes travel as small operations and play back on every screen in the drawer’s rhythm, fills arrive as regions, and the word reaches only those who have guessed it.Kritzle ist unser eigenes skribbl.io für das Nachmittags-Meeting. Die Striche reisen als kleine Operationen und laufen auf jedem Bildschirm im Rhythmus des Zeichners ab, Füllungen kommen als Flächen an, und das Wort erreicht nur, wer es schon erraten hat.
kritzle.ewolution.cloud Source
- Type
- Web appWeb-App
- Stack
- Svelte 5 · Node · Server-Sent Events
- Year
- 2026
- Code
- Public on GitHubÖffentlich auf GitHub
A drawing game for the meeting
Kritzle is our own skribbl.io for the afternoon meeting. One player draws a word, everyone else guesses it in the chat, and each round every player draws once. The drawer picks from one to five words, each marked easy, medium or hard; the word shows to the others as blanks, and hints uncover its letters as the clock runs, never more than half of them.
Whoever starts a game gets a room with 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 face are enough, and a reload or a locked phone puts you back in your seat. A big-screen view at /<code>/screen shows the game for a projector or the screen shared in a call, without a seat and without ever knowing the word.
A face from five numbers
The face is built like skribbl.io’s: arrows on either side of a doodle, one pair per part (head, eyes, extra, mouth and colour), and a dice. That is 96,000 faces, and each one is just five small numbers. The doodle’s wobble is seeded from them, so every screen draws the same face, from the maker’s big one to the one beside a chat message. Faces react in the game: a right guess makes one laugh and hop for a moment, and the winner wears a crown on the podium.
A word only some may see
The server builds every page’s view itself, so the word reaches only the drawer and whoever has guessed it. A right guess is never echoed: the chat says who got it, and from then on that player’s messages go only to the others who know. A near miss, one edit away or two from eight letters, nudges only the guesser. Guesses are compared without case, umlauts, accents, spaces or hyphens, and a word can carry other right answers, so “Smartphone” counts for “Handy”.
Ink that travels as it’s drawn
A drawing never travels as a picture. The drawer’s page paints each stroke at once and sends what it drew every 50 milliseconds as operations on a fixed 800 by 600 canvas: a stroke starts, more points, a fill, undo, clear, each with its time. The server checks them, keeps them with the turn and passes them on over Server-Sent Events. The other pages play them back on the drawer’s own timing, a little behind, so a line grows on every screen instead of arriving in chunks. A page that arrives late, or comes back after a reload, gets the whole drawing at once.
A fill is a region, not a click
Browsers soften the edges of a line differently, so the same click with a paint bucket could spread one way in Safari and another in Chrome. Kritzle’s drawer computes the filled region on its own page, on a 400 by 300 grid grown by one cell to tuck under the lines, and sends the region itself, run-length encoded. Every screen paints exactly that. The eraser paints in the paper’s colour, so a fill still stops at an erased edge.
Points that reward the hard words
A right guess scores 500 × (0.25 + 0.75 × time left ÷ draw time), so 125 to 500, plus 100 and 50 for the first two. The drawer scores the guessers’ average times the share of players who got it, and nothing when nobody does. Medium words count 1.25 times, hard ones 1.5 times, for everyone, so the choice of word is a bet.
The host sets the rest in the lobby: Classic or Blitz, rounds, draw time, how many words to choose from, hints, hidden words (no blanks until the first hint) or combinations (two words at once), the words’ language, difficulty and themes, and words of their own, which the other players only see the number of. Every setting answers the tap at once and lets the server’s echo take over once it agrees.
A sketchbook, light only
The page is a sketchbook: graph paper, graphite, a lime highlighter and washi tape, boxes with hand-drawn edges, and Caveat Brush for display. The logo redraws itself a few times a second, three turbulence filters stepped in turn like a hand-drawn cartoon, and holds still during a turn and under reduced motion. Kritzle has no dark theme: the sketchbook is paper.
On a phone a turn fills the screen: the canvas on top, the tools or the reactions under it, the players and the chat below. The stage follows the visible viewport, so the keyboard for guessing never covers the drawing.
The gallery is the only copy
The game ends on a podium, four awards (the most liked drawing, the fastest guess, the closest misses and the word nobody got) and a gallery of every drawing, each replaying as a timelapse in its own rhythm, squeezed into eight seconds. A drawing downloads as a PNG with its word and drawer underneath, or the whole game as one sheet. The server keeps rooms only in memory, so these downloads are the only copies.
Played by bots
The game is a state machine without a clock of its own, tested with a fake one and a seeded random: guesses, near misses, hints, points, who may read which line, and whole games played to the end. Bots draw squiggles and guess right three times in four; they fill a room for trying it out. The page is in German and English and installs to a home screen.
Ein Zeichenspiel für das Meeting
Kritzle ist unser eigenes skribbl.io für das Nachmittags-Meeting. Einer zeichnet ein Wort, alle anderen raten es im Chat, und jede Runde zeichnet jeder einmal. Wer zeichnet, wählt aus einem bis fünf Wörtern, jedes als leicht, mittel oder schwer markiert; die anderen sehen das Wort als Striche, und Hinweise decken mit der Zeit Buchstaben auf, nie mehr als die Hälfte.
Wer ein Spiel startet, bekommt einen Raum mit einem Code aus vier Buchstaben (ohne Vokale, damit kein Code ein Wort ergibt), einen Link und einen QR-Code. Konten gibt es nicht: Ein Name und ein Gesicht reichen, und ein Neuladen oder ein gesperrtes Handy bringt einen auf denselben Platz zurück. Eine Ansicht für den großen Bildschirm unter /<Code>/screen zeigt das Spiel für den Beamer oder den geteilten Bildschirm im Call, ohne Platz im Spiel und ohne je das Wort zu kennen.
Ein Gesicht aus fünf Zahlen
Das Gesicht entsteht wie bei skribbl.io: Pfeile links und rechts von einer Kritzelei, ein Paar pro Teil (Kopf, Augen, Extra, Mund und Farbe), und ein Würfel. Das sind 96.000 Gesichter, und jedes ist nur fünf kleine Zahlen. Das Zittern der Linien hängt an diesen Zahlen, deshalb zeichnet jeder Bildschirm dasselbe Gesicht, vom großen im Baukasten bis zum kleinen neben einer Chatnachricht. Die Gesichter reagieren im Spiel: Wer richtig rät, lacht kurz und hüpft, und wer gewinnt, trägt auf dem Podest eine Krone.
Ein Wort, das nur manche sehen dürfen
Der Server baut die Sicht jeder Seite selbst, deshalb erreicht das Wort nur den Zeichner und alle, die es schon erraten haben. Ein richtiger Tipp erscheint nie: Der Chat sagt, wer es hat, und ab dann gehen dessen Nachrichten nur an die anderen, die es wissen. Ein knapper Fehlversuch, ein Zeichen daneben oder zwei ab acht Buchstaben, bekommt nur der Ratende als Hinweis. Verglichen wird ohne Groß- und Kleinschreibung, Umlaute, Akzente, Leerzeichen oder Bindestriche, und ein Wort kann weitere richtige Antworten haben, damit „Smartphone“ für „Handy“ zählt.
Tinte, die unterwegs entsteht
Eine Zeichnung reist nie als Bild. Die Seite des Zeichners malt jeden Strich sofort und schickt alle 50 Millisekunden, was sie gezeichnet hat, als Operationen auf einer festen Leinwand von 800 mal 600: ein Strich beginnt, weitere Punkte, eine Füllung, Rückgängig, Löschen, jede mit ihrer Zeit. Der Server prüft sie, hebt sie mit dem Zug auf und reicht sie per Server-Sent Events weiter. Die anderen Seiten spielen sie im Takt des Zeichners ab, ein wenig dahinter, damit eine Linie auf jedem Bildschirm wächst, statt in Stücken anzukommen. Eine Seite, die später dazukommt oder nach einem Neuladen zurückkehrt, bekommt die ganze Zeichnung auf einmal.
Eine Füllung ist eine Fläche, kein Klick
Browser glätten die Ränder einer Linie unterschiedlich, deshalb könnte derselbe Klick mit dem Farbeimer in Safari anders auslaufen als in Chrome. Bei Kritzle berechnet die Seite des Zeichners die Fläche selbst, auf einem Raster von 400 mal 300, um eine Zelle vergrößert, damit sie unter die Linien reicht, und schickt die Fläche, lauflängenkodiert. Jeder Bildschirm malt genau diese. Der Radierer malt in der Farbe des Papiers, deshalb hält eine Füllung auch an einer radierten Kante an.
Punkte, die schwere Wörter belohnen
Ein richtiger Tipp bringt 500 × (0,25 + 0,75 × verbleibende Zeit ÷ Zeichenzeit), also 125 bis 500, dazu 100 und 50 für die ersten beiden. Wer zeichnet, bekommt den Schnitt der Ratenden mal den Anteil der Spieler, die es hatten, und nichts, wenn es keiner hatte. Mittlere Wörter zählen 1,25-fach, schwere 1,5-fach, für alle, deshalb ist die Wahl des Wortes eine Wette.
Den Rest stellt die Spielleitung in der Lobby ein: Klassisch oder Blitz, Runden, Zeichenzeit, wie viele Wörter zur Wahl stehen, Hinweise, versteckte Wörter (keine Striche bis zum ersten Hinweis) oder Kombinationen (zwei Wörter auf einmal), Sprache, Schwierigkeit und Themen der Wörter und eigene Wörter, von denen die anderen nur die Anzahl sehen. Jede Einstellung reagiert sofort auf den Tipp und lässt das Echo des Servers übernehmen, sobald es übereinstimmt.
Ein Skizzenbuch, nur hell
Die Seite ist ein Skizzenbuch: Karopapier, Graphit, ein limettengrüner Textmarker und Washi-Tape, Kästen mit handgezeichneten Rändern und Caveat Brush als Schrift für Überschriften. Das Logo zeichnet sich ein paar Mal pro Sekunde neu, drei Turbulenzfilter im Wechsel wie in einem handgezeichneten Trickfilm, und hält während eines Zugs und bei reduzierter Bewegung still. Ein dunkles Design hat Kritzle nicht: Das Skizzenbuch ist Papier.
Auf dem Handy füllt ein Zug den Bildschirm: oben die Leinwand, darunter die Werkzeuge oder die Reaktionen, unten die Spieler und der Chat. Die Bühne folgt dem sichtbaren Bereich, deshalb verdeckt die Tastatur beim Raten nie die Zeichnung.
Die Galerie ist die einzige Kopie
Das Spiel endet auf einem Podest, mit vier Auszeichnungen (die beliebteste Zeichnung, der schnellste Tipp, die knappsten Fehlversuche und das Wort, das keiner hatte) und einer Galerie aller Zeichnungen, jede im Zeitraffer in ihrem eigenen Rhythmus, auf acht Sekunden gestaucht. Eine Zeichnung lädt sich als PNG mit Wort und Zeichner darunter herunter, oder das ganze Spiel als ein Blatt. Der Server hält Räume nur im Speicher, deshalb sind diese Downloads die einzigen Kopien.
Gespielt von Bots
Das Spiel ist eine Zustandsmaschine ohne eigene Uhr, getestet mit einer falschen und einem festen Zufall: Tipps, knappe Fehlversuche, Hinweise, Punkte, wer welche Zeile lesen darf und ganze Spiele bis zum Ende. Bots kritzeln wild und raten in drei von vier Fällen richtig; sie füllen einen Raum zum Ausprobieren. Die Seite gibt es auf Deutsch und Englisch, und sie lässt sich auf den Home-Bildschirm legen.