A growing collection of zero-dependency HTML5 mini games written in plain vanilla JavaScript — 100% AI-generated, 0 lines of hand-written code. Open index.html in a browser and play — no build step, no framework, no npm install, no bundler.
▶ Play online: https://litegame-hub.github.io/
If you have fun with these games, a ⭐ star helps other people find the project.
Each game lives in its own folder and is a single self-contained index.html. Tags hint at what it plays like.
| Game | Description | Tags |
|---|---|---|
| snake-game | Eat, grow, and don't bite yourself | arcade canvas swipe |
| gomoku-game | Five in a row with Renju forbidden-move rules | board ai 2-player |
| xiangqi-game | Chinese Chess against a built-in engine, three difficulties | board ai strategy |
| 2048-game | Slide and merge tiles to reach 2048 | puzzle swipe undo |
| minesweeper-game | Clear the board, first click is always safe | puzzle logic difficulty |
| breakout-game | Smash every brick, balls speed up per level | arcade canvas levels |
| memory-game | Flip two cards at a time and match the pairs | card memory kids |
| tictactoe-game | Minimax AI that never loses, or two players | board ai minimax |
| whackmole-game | 30-second rounds, bombs cost you points | reflex timed keyboard |
| sudoku-game | Unique-solution puzzles with notes mode | puzzle logic generator |
| fruitcatcher-game | Catch the fruit, dodge the bombs | arcade canvas levels |
| tetris-game | SRS rotation, 7-bag, hold, ghost, T-spin | arcade canvas srs |
| sokoban-game | Push-only crate puzzles, 10 levels with undo | puzzle levels undo |
| pong-game | Paddle duel to 7 against the AI, three difficulties | arcade canvas ai |
| bubble-game | Match three or more bubbles, cut whole clusters loose | arcade canvas aim |
| reversi-game | Flip discs on an 8×8 board, three AI levels or 2-player | board ai minimax |
| typing-game | 60-second typing test with live WPM and accuracy | skill timed keyboard |
| klotski-game | Slide the blocks aside to free Cao Cao, five layouts | puzzle levels undo |
| maze-game | Randomly generated mazes with a shortest-path hint | puzzle generator hint |
| solitaire-game | Klondike with draw-1 / draw-3, undo and scoring | card classic undo |
| nonogram-game | Paint-by-numbers puzzles, every one uniquely solvable | puzzle logic generator |
| personality-game | 12 either/or questions, 4 axes, 16 types | quiz assessment shareable |
| wordguess-game | Wordle-style word game, six tries, bilingual word banks | word puzzle bilingual |
| match3-game | Swap adjacent gems to line up three or more, cascades build a combo multiplier | puzzle match-3 cascade |
| link-game | Connect matching tiles with a path of at most two turns, rim included | puzzle tiles pathfinding |
| pacman-game | The arcade chase: four distinct ghost personalities, power pellets, 200/400/800/1600 combos | arcade maze chase |
| frogger-game | Cross five lanes of traffic and a river of logs to fill five homes before the timer runs out | arcade timing reflex |
| invaders-game | Hold the line against a marching fleet that drops a row at every edge and speeds up as you thin it out | arcade shooter waves |
| platformer-game | Ten single-screen levels: run, jump and stomp your way to the goal door | platformer levels keyboard |
- Zero dependencies — nothing to install, nothing to audit, nothing to break.
- No build step — the files in this repository are the shipped artifact. Clone and double-click.
- Genuinely vanilla — plain HTML, CSS and JavaScript. No framework, no bundler, no transpiler.
- Bilingual UI — every game switches between English and 简体中文 via one shared 2 KB i18n module.
- Plays anywhere — desktop keyboard, mouse, and touch/swipe on phones; each game fills the screen and scales.
- Tested — a smoke suite loads every game in a stub DOM, and rule-heavy games carry their own logic suite that proves the rules actually work, not merely that the page loads.
- AI-written, end to end — roughly 9,000 lines of HTML, CSS and JavaScript, none of it typed by a human. See How this was made.
Every line of code in this repository was written by an AI agent. None of it was typed by hand.
The human half of the loop was: describe a game, look at the result, say what is wrong, ask for the next one. The agent half was: write the HTML, CSS and JavaScript, write the tests, run them, fix what failed, and commit.
prompt -> generate -> run tests -> inspect in a browser -> fix -> publish
That is also why the two constraints below are non-negotiable. An AI-written codebase that quietly pulled in frameworks and build tooling would be impossible to review; the whole value here is that you can open any file and read it top to bottom.
- One folder per game plus a landing page, well over ten thousand lines of plain HTML, CSS and JavaScript, zero dependencies, zero build steps.
- The tests were written the same way, and they are what keeps the pile honest: a smoke suite loads every game, and rule-heavy games get logic suites that prove a game works, not merely that it loads.
- The bugs are in the history too — a down arrow in Tetris whose held state was never recorded, Sokoban levels whose crates could not be pushed, a start screen the player could not reach. Finding and fixing those in the open is part of the point.
If you are curious what an AI can build unaided, this is a reasonably honest sample. If you want to see where it still needed a human, read the commit log.
- Plain
HTML/CSS/JavaScript, rendered with DOM elements and<canvas>where it pays off. - Shared i18n helper:
assets/i18n.js— a ~2 KB, zero-dependency language switcher persisted inlocalStorage. - Served straight from the repository with GitHub Pages (
.nojekyllkeeps the pipeline out of the way).
html5-games · javascript-games · browser-games · mini-games · vanilla-javascript · zero-dependencies · ai-generated · vibe-coding · github-pages · game-development · puzzle-game · canvas · tetris · sokoban · sudoku · minesweeper · snake-game · 2048 · gomoku · chinese-chess · solitaire · reversi · klotski · pong · bubble-shooter · typing-test · maze
litegame/
├── index.html # landing page: game grid + random picker
├── assets/
│ ├── i18n.js # shared language switcher
│ └── social-preview.png # link-preview banner
├── <game>-game/ # one self-contained game per folder
│ ├── index.html
│ ├── README.md # English
│ └── README.zh.md # 简体中文
├── tools/ # smoke test, per-game logic suites, banner generator
├── .github/ # CI workflow, issue forms, PR template
└── robots.txt / sitemap.xml # search-engine hints for the published site
- Copy an existing
<game>-game/folder and rename it. - Replace the game logic inside
index.html. - Add an entry to the card grid in the root
index.html, to its JSON-LDItemList, to the table above, and tositemap.xml. - Run
node tools/smoke.js— it discovers every*-game/folder automatically and fails on any uncaught error. - Open a pull request. See CONTRIBUTING.md.
Bug reports, new games, translations and visual polish are all welcome. Read CONTRIBUTING.md first — it is short.
Released under the MIT License. Have fun.

0 comments
log in to comment.