尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Got tired of free-games ads, so I made my own to play & chill. 🤷♂️ A bus jam puzzle for mobile browsers with endless procedurally generated levels, always solvable and tuned by a simulated player. TypeScript + Three.js
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A "bus jam" puzzle game for mobile browsers. Play it here.
Tap a bus and it leaves the parking lot following its arrow, if the road ahead is clear. Drag a bus and it slides one cell into a free space, like the tiles in a 15 puzzle: that's how you clear the way for the bus you need. Passengers wait in line and only get on the bus of their color. Buses that nobody can board wait in the stalls, and if the stalls fill up before the person at the front of the line finds a ride, you lose.
Ingorgo is Italian for traffic jam. I like this kind of game, but the free ones on the app stores are more ads than game: thirty seconds of puzzle, thirty seconds of video. So I made my own to play & chill, with no ads, ever. The part I cared about most was the levels: they should keep getting harder without ever becoming impossible.
This is the part I find most interesting. Every level is built backwards, the way you shuffle a 15 puzzle: start from an empty lot and apply reverse moves.
The difficulty curve rises quickly at first, with a sawtooth pattern on blocks of 10 levels: climb, a breather level, then a boss on the tenth. Past level 100 it goes into overdrive: more colors, fuller lots, and eventually only 3 stalls.
npm run check-levels generates a range of levels and replays each solution. scripts/calibrate.ts recalibrates the difficulty table and has to be run again whenever the generator changes.
src/game/) is completely separate from rendering (src/render/): the engine is instant and pure, and the renderer turns each event into an animation timelinesrc/game/
types.ts cells, buses, exit paths
engine.ts game rules: tap, slide, garages, boarding, win/lose, crane, extra stall
generator.ts level generator and difficulty curve
calibration.ts chosen variant for each calibrated level
solver.ts searches used for hints, level checks and calibration
rng.ts seeded random generator
src/render/
view3d.ts Three.js scene
timeline.ts turns game events into animations
themes.ts the six worlds
src/main.ts UI, input, overlays
scripts/check-levels.ts replays the solution of a range of levels
scripts/calibrate.ts difficulty calibration (plus write-calibration.ts)
npm install
npm run dev # dev server, reachable from your phone on the same Wi-Fi
npm run build # production build in dist/
npm run check-levels -- 200 # generate and verify levels 1 to 200
URL parameters:
?level=42 opens a specific level (tapping the level number at the top does the same)?debug=1 shows the level stats: difficulty, how full the lot is, how many buses start blockedEvery push to main is deployed to Vercel automatically.