A word game with a small gameplay loop. Plays best on your phone. (I used LLM coding tools somewhat with the project, including obviously this boring-ass readme).
/) - Classic Loopy Letters: Use every letter on the donut to spell words. Letters must be adjacent (clockwise or counterclockwise)./coney) - One letter from each word is randomly selected as the "coney letter" and displayed as an interactive circle in the center of the donut. This special letter is adjacent to every other letter on the donut./birds) - With random birds instead of random words.├── backend/
│ └── index.ts # Main Hono server with API routes
├── frontend/
│ ├── components/
│ │ └── GameApp.tsx # Main game component
│ ├── index.html # HTML template
│ └── index.tsx # Frontend entry point
├── shared/
│ └── gameLogic.ts # Shared game logic and utilities
└── README.md
Coney Letter Feature: One letter from each word is randomly selected as the "coney letter" and displayed as an interactive circle in the center of the donut. This special letter is adjacent to every other letter on the donut, making it easier to form words. You can click and drag from/to the center circle just like the donut segments.
isAdjacent() - Standard adjacency check for letters on the donut (used in classic mode)coneyIsAdjacent() - Special adjacency check where a designated "coney letter" is adjacent to every other letter (used in coney mode)prepareWordDisplay() - Prepares word display based on game mode (classic vs coney)getAdjacencyChecker() - Returns the appropriate adjacency function for the game modeThe coney letter system works by:
This revisits the gameplay from a 2002 Observable notebook I made called "find a (big) word, rings".