尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗A 3D smash-everything game in four levels. Runs on the web, Android and iOS from one Flutter project.
Levels (open the 🗺 Map to switch; smash 80% of a level to unlock the next, progress is saved on the device)
Controls
Modes
You have to walk up to things (reach is measured along the floor, so you can bend down to tyres): anything further than your reach shows "Too far — walk closer".
Toughness: glass (glasses, bottles, jars, the lamp, the mirror, vehicle windows and lights) breaks fast; everything else takes several hits. Bat hits to break: vases, plates, mugs, teapot and flower pots 2; laptop 3; monitor, printer, chairs and crates 4; the TV 6. Punches and knife stabs take twice as many as the bat. Vehicle windows crack on the first hit and shatter on the next; mirrors snap off; the bodywork dents where you hit it. Hitting the car sets off its alarm; hitting the bus sounds its horn. Bats and fists just bounce off soft things and tyres. Tyres take 2 knife stabs to go flat, and a flat tyre makes the vehicle sag onto that corner. Soft things take knife stabs: pillows, cushions and the teddy 4, the mattress 10, the sofa 16.
Inside the bus: walk through the door on the lane side (between the wheels) and step up. Inside are 13 double seats and the driver's seat; each breaks after 4 bat hits (8 punches or knife slashes) into pieces and foam. You can break the windows and dent the walls from inside too.
Furniture breaks too: the table, shelf, workbench, TV crate, monitor desk and bed frame crack with each bat hit or punch, make whatever is standing on them hop, and finally collapse into planks, dropping everything on top. Bat hits to break: monitor desk 4, table and TV crate 6, shelf and workbench 8, bed 10 (twice as many punches). A knife only carves them. Refill rebuilds them.
rage_room/
├── app/ Flutter app (web, Android, iOS)
│ ├── lib/main.dart Home screen + game screen, haptics
│ ├── lib/game_view_mobile.dart Runs the game in a WebView (Android/iOS)
│ ├── lib/game_view_web.dart Runs the game in an iframe (web)
│ └── assets/game/index.html The built 3D game (generated, don't edit)
└── game_src/ The 3D game itself (JavaScript)
├── src/levels.js The four levels: rooms, furniture, objects, lighting
├── src/main.js Walking, weapons, physics, smashing, level progress
├── src/objects.js Every smashable object (look, physics, toughness)
├── src/vehicles.js The car and the bus, built from breakable parts
├── src/audio.js All sounds (synthesized, no audio files)
├── src/textures.js Brick, concrete, wood and neon textures
├── src/index.html Page + on-screen buttons
└── build.mjs Bundles everything into app/assets/game/index.html
The 3D game uses Three.js (3D graphics) and cannon-es (physics). Flutter's own 3D support is still experimental, so the game runs inside the Flutter app as one self-contained HTML page. It works fully offline and needs no internet connection.
You need the Flutter SDK. For Android you also need Android Studio; for iOS you need a Mac with Xcode.
cd app
flutter pub get
flutter run -d chrome # in the browser
flutter run # on a connected Android/iPhone
cd app
flutter build apk --release # Android APK → build/app/outputs/flutter-apk/app-release.apk
flutter build appbundle --release # Play Store bundle
flutter build ios --release # iOS (on a Mac)
flutter build web --release --no-web-resources-cdn # website → build/web (upload to any static host)
To install the APK on your phone, copy app-release.apk to the phone and open it. You'll need to allow "Install unknown apps".
vercel_site/ is ready to deploy: the whole game in one index.html (about 650 KB, loads fast on phones) plus vercel.json. node build.mjs keeps it up to date.
From the command line (needs Node.js):
npm i -g vercel
cd vercel_site
vercel # first time: log in and answer the setup questions (defaults are fine)
vercel --prod # publish to your live URL
From GitHub: push this project to a GitHub repository, then in Vercel choose Add New → Project, import the repository, set Root Directory to vercel_site, set Framework Preset to Other, leave the build command empty, and deploy.
The full Flutter web app (app/build/web, with the home screen) also works on Vercel, but browsers download about 8 MB before it starts, so the single-page game is the better choice for the website. Keep Flutter for the Android and iPhone apps.
Edit files in game_src/src/, then rebuild the game asset:
cd game_src
npm install
node build.mjs # writes app/assets/game/index.html and dist/index.html
Open game_src/dist/index.html in a browser to try changes without Flutter.
Ideas: add objects to TYPES in objects.js and place them in a level's items in levels.js; add a level to LEVELS (and its room to SHELLS); change UNLOCK_AT to make unlocking harder or easier; add vehicles in vehicles.js and VEHICLE_SPOTS in main.js; change the neon signs in SHELLS in levels.js.