WordPerfect is Boggle in the browser for people who already know each other. Everyone gets the same 4×4 grid for 60 seconds. Found words drop into a shared box as physics pills. If anyone else finds your word, you both score zero. Leave the tab and the board locks for five seconds. Built with vanilla JS, Matter.js, and Supabase Realtime. Live at wordperfect.vercel.app.
Physical Boggle already works. A cup, a sand timer, paper, then you read your lists out loud and kill the words you share. I did not want a prettier list. I wanted that table in a browser, including the part where someone always tries to look a word up.
I played the games people already open when someone says "word game," then kept the one mechanic each of them actually owns.
The cup is the product. Shake, sand timer, paper, cancel shared words. I kept the shake, the timer, and the cancel. I could not ship the paper, so the pills had to become the pile everyone can see.
One word, no friends in the room, no cheat problem because yesterday's word is public. Fine game. Wrong room. WordPerfect needs other people looking at the same grid at the same second.
Turn-based. You can leave, think, come back. The table energy dies. I wanted a 60-second round that starts when everyone is ready, not a move you send at midnight.
Solo or async. Fast, pretty, no one watching you. If nobody else can cancel your word, the game is a crossword with a timer.
I stole the cup from Boggle and the shared-word death from the paper version. I stole the infinite solo score from nobody.
The first versions were a spreadsheet with extra steps. Each of these looked finished. Each of them made a different game.
Readable. Dead. Finding a word felt like appending a row. The pile never grew in space, only in count.
"Please don't look it up." At a table of friends this lasts one round. Then someone googles a plant.
I do not ship App Store. The browser is the room. If I cannot make cheating cost more than it pays here, I do not have a game.
People get bored or they get a dictionary. Sixty seconds is short enough that a 5-second lock after a tab-out actually hurts.
I thought the hard part was the physics. The hard part is the room. Sync that drifts, a lobby that feels empty, a penalty that is funny once and then annoying. The pills and the shake only matter if other people are in the same sixty seconds.
Three layers sit on top of each other. Pills so a word has weight. Presence so the timer ticks on every screen. A focus lock so a dictionary tab costs more than it pays.
The live game has a timer, a lobby, and other people. These two toys isolate the parts I could not explain in a paragraph: that a word should have weight, and that a shuffle should feel like a cup being shaken, not a CSS shuffle. If the pill stack is boring here, it will be boring in a round. If the grid snap feels cheap here, it will feel cheap when you are losing.
Type a word and it drops as a pill. The width comes from the text. It falls and bumps the others.
Type words and click "Drop Word" to fill the physics container.
Tiles fly to the center, stack with messy rotations, and spring back to new cells. Shuffle the grid below.
Shuffle piles the tiles in the middle, then springs them back.
Someone opens a lobby. Guests join on their own phones. Ready, then a countdown. Three rounds. Each round is sixty seconds on the same grid. You draft words. They drop as pills. After the timer, the table sees who found what and who cancelled whom.
The live game is blunt about this. Four or more letters. No simple plurals. RAINS will not count if RAIN is on the board. One point per letter, so longer words pay more. If anyone else finds your word, you both score zero.
Short noise is free in Boggle and boring on a screen. Four letters is the floor so the pile is words, not fragments.
RAINS is not a second find. It is RAIN with an S. The refresher on the results screen says this out loud because people always try it.
A six-letter word is worth more than two fours. Obscurity and length are the same bet.
This is Boggle's paper rule. Without it, the fastest typist wins. With it, the person who saw what nobody else saw wins.
Leave the tab and the board blurs. Coming back costs five seconds of a sixty-second round. I did not try to make people honest. I made the cheat worse at math.
The lobby, the three rounds, the pills, the shake, and the lock all run. Friends can sit down and play. I still treat the physics as something I have to keep proving, which is why the sandboxes sit on this page.
The cheat is not gone. It just costs a twelfth of the round.
I would not go back to a word list. I would not ask people to be honest. I would not make a solo mode to pad the empty lobby. The game is the table. If the table is empty, the product is empty.