DMN/Software

ProjectsMinigames

Minigames

Twelve minigames in the browser, including variants of Snake, Tetris (“Blockris”) and 2048, with a global leaderboard. Works on desktop and on smartphones.

Start page on desktop: twelve games as a numbered list in three columns, each entry with name, color dot, short description and the controls such as keys, tap, click or pointer
Start page on a smartphone: the same list in one column
Start page on desktop and on a smartphone.

The server computes the score

The game logic lives in a shared package that runs both in the browser and on the server. The client only sends its inputs. The server replays the run from the seed and computes the score itself.

An invented score cannot get onto the leaderboard this way. On top of that, rate limits apply per hashed IP.

  1. Browser sends only the inputs
  2. Server replays the run from the seed
  3. Server computes the score itself
  4. Leaderboard takes the result, with a rate limit per hashed IP

Blockris

The Tetris variant: fill rows and clear them. Next to the board are the next piece, level and rows, on the right the leaderboard for the game.

Blockris during a game: stacked pieces at the bottom, above them the falling piece with its shadow, next to it the next piece, level and rows, on the right the still empty leaderboard
Blockris during an automated game.

Technology

Frontend
  • Vite
  • React
  • TypeScript
Backend
  • Fastify
  • node:sqlite
Operations
  • Docker
  • Caddy

Try it