Show HN: We rebuilt Flood-It in Bun/vanilla JavaScript, and added a Maze mode

1 points by ekremkrc ↗ HN

  We rebuilt FloodIt, an open-source browser puzzle game inspired by Flood-It[0].

  It includes:

  - Classic mode (fill the board with one color)
  - Maze mode (flood through corridors to reach the goal tile)
  - Presets + custom game setup

  Live demo: https://floodit-js.vercel.app
  Source code: https://github.com/ekremkaraca/floodit-js

  We started it as a React.js implementation[1] using TailwindCSS & Vite but gradually removed them to use custom css & Bun's own runtime thanks to Windsurf IDE & OpenAI Codex. There's also Sveltekit implementation we're working on [2].
  
  We’d love feedback on gameplay balance (move limits/difficulty), UX, and code structure.
  
  [0]: https://github.com/tfuxu/floodit
  [1]: https://github.com/ekremkaraca/floodit-react
  [2]: https://github.com/ekremkaraca/floodit-sveltekit

1 comment

[ 0.26 ms ] story [ 14.8 ms ] thread

  Tech stack and structure:

  - Bun server (Bun.serve) + vanilla JS frontend
  - Core game logic in src/engine/game.js
  - Move/round flow in src/engine/gameFlow.js
  - Action orchestration in src/actions/gameActions.js
  - Stateless view renderers in src/views/*
  - Tests with bun test

  A few details we focused on:

  - Mobile + desktop board fitting
  - Help/Rules screen
  - Confirmed reset/new/quit actions
  - Persisted dark mode
  - Accessibility via keyboard shortcuts