尚未检测到更新。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.