CoOp:Anything
Search any game and see how much of it you can play with friends: every co-op mod, its stage, quality and community rating.
Huarong Road: a Klotski-style sliding-block puzzle with 100 solver-verified levels. It’s a single-file offline PWA in plain HTML/CSS/JS with no dependencies. It has explained hints, a solution viewer,
Translation pending
GamesJavaScript · PythonGitHub @sarail19thOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Huarong Road: a Klotski-style sliding-block puzzle with 100 solver-verified levels. It’s a single-file offline PWA in plain HTML/CSS/JS with no dependencies. It has explained hints, a solution viewer, skins, and English/Thai.
Taken from the repository README
Loading the full README.
Read the full README ↗I saw a physical Huarong Road toy on Shopee, the kind with a battery, and wondered if I should buy one to fidget with. Before spending money I wanted to try the puzzle on my PC or phone first. I couldn't find a free game that also worked offline, so I asked Claude to build one. This is the result: a small, no-nonsense version that I can play on the bus, with no ads and no sign-up.
It is a hobby project, written with Claude Code.
The in-app Update button (bottom of the menu) fetches the newest version without touching your progress.
Plain HTML, CSS and JavaScript. No framework, no runtime dependencies. The build inlines everything into one self-contained dist/index.html.
node gen/gen.js # regenerate src/levels.js (~25 s, deterministic)
node test/test.js # must print "OK: 100 levels verified"
node build.js # produce dist/ (page, manifest, service worker)
python3 gen/icons.py # PWA icons into dist/ (needs Pillow; run after build)
python3 gen/shots.py # store screenshots for the manifest (needs Playwright)
node test/pwa_test.js # manifest, icons, screenshots, service-worker list
python3 test/ui_test.py # end-to-end test at a phone viewport (needs Playwright + Chromium)
To try it locally, serve dist/ over localhost or https so the service worker registers (opening the file directly works too, just without the PWA parts).
| Path | What it is |
|---|---|
src/solver.js | Board model and BFS solver (4×5 board, 20 cells) |
src/daily.js | Date-seeded daily puzzle generator, shared with the tests |
src/levels.js | Generated 100 levels ({id, par, g}), do not hand-edit |
src/game.js | All UI logic: setup, play, hints, solution viewer, settings, design stage |
src/index.html, src/style.css | Templates inlined by the build |
gen/ | Level generator, icon generator, store and README screenshot scripts |
build.js | Builds dist/ and stamps a content-hash build id |
test/ | Level verification, PWA checks, UI end-to-end test |
docs/ | Images used by this README (gen/readme_shots.py regenerates them) |
dist/ | Built site, committed and published by the GitHub Pages workflow |
More detail on conventions and rules for changing things is in CLAUDE.md.
dist/ is committed. Pushing to main runs .github/workflows/pages.yml, which publishes dist/ to GitHub Pages, so rebuild (node build.js) before you push.
docs/social-preview.png is 1280×640, GitHub's recommended size. GitHub cannot take it from the repo, so upload it once under Settings → General → Social preview. Regenerate it (and the other README images) with python3 gen/readme_shots.py after node build.js.
LICENSE.NOTICE.md. The app icon, gear, globe and timer icons are original to this project.third_party/OFL-Anuphan.txt), embedded as a Thai-only subset so the game stays a single offline file.?) panel tells the story.