Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
翻译准备中
快速的 5 秒微游戏,包含 18 个关卡和 boss。免费在浏览器中游玩,然后挑战朋友超越你的分数。
AI 翻译
Fast 5-second microgames, 18 stages and bosses. Play free in your browser, then challenge your friends to beat your score.
游戏JavaScript · TypeScriptGitHub @guillermoscript在线运营者未确认
试用过了吗? 点一下就好,无需登录。
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证WarioWare-style browser game: 100+ five-second microgames, 14 stages and bosses. Play free, no install. Contributions welcome!
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
100+ five-second microgames. 14 stages. Bosses. Zero installs.
A WarioWare-style game that runs in your browser, on desktop and phone.
You get a few seconds per game and a one-word command: SWAT!, JUMP!, TYPE!. Figure out what to do and do it before the bomb goes off. Clear a stage, beat the boss, climb the leaderboard, then send your score to a friend and dare them to beat it.查看完整 README ↗100+ five-second microgames. 14 stages. Bosses. Zero installs. A WarioWare-style game that runs in your browser, on desktop and phone.
You get a few seconds per game and a one-word command: SWAT!, JUMP!, TYPE!. Figure out what to do and do it before the bomb goes off. Clear a stage, beat the boss, climb the leaderboard, then send your score to a friend and dare them to beat it.
<canvas>. No build step, no framework.14 themed stages, each with its own host, microgame pool, speed curve and boss.
| Stage | Vibe |
|---|---|
| Bug Hunt | Click it. Squash it. |
| Keyboard Kingdom | Fingers on the keys! |
| Reflex Rush | Faster. Then faster. |
| Mouse Mayhem | Point, drag, scrub! |
| Brain Break | Think fast! |
| Mega Mix | Everything. At once. |
| Shake It Up | Wave it. Shake it. Go! |
| Block Party | Mega party game, mega fast! |
| Touch Screen | Poke it. Draw it. Cut it. |
| All Together | Stay still. Pick. Run. Fry. |
| 3D Dimension | Now with depth! |
| Retro Blip | Old-school. Four colours. Go! |
| Spin Cycle | Tilt it. Spin it. Steer it! |
| Body Beat | Strike a pose. Hit the beat! |
Create a room, share the 4-letter code (or the /r/CODE link) and play live.
Every mode except DUO / CREW draws its rounds from all 156 single-player microgames, 2D and 3D, from a shuffled bag: no game repeats until every one has appeared.
Players who finish early can watch the others, and there is optional peer-to-peer voice chat. Signed-in players can also follow each other and keep a friends list. Party modes need the PocketBase backend; see docs/SELF-HOSTING.md. Tests live in test/ (for example node test/duo.test.js, node test/crew.test.js).
This game grows with its players. Every microgame is one small JavaScript function, so adding yours is a very approachable first contribution, even if you have never contributed to open source before.
Two ways to help:
SWAT!) and one sentence on how it plays. Good ideas get built, and you get credit.A microgame is a function that takes a speed multiplier and returns an object describing the game. Here is the whole shape (see js/games/wave1.js for real examples):
function gHello(sp) { // sp = speed multiplier, grows as the stage goes on
const g = {
cmd: 'HELLO!', // the big command shown at the start
hint: 'CLICK THE BUTTON', // controls hint (desktop)
thint: 'TAP THE BUTTON', // optional: controls hint on touch devices
dur: 5, // seconds before time runs out
update(dt) { /* move things */ },
down(p) { // pointer pressed: p.x, p.y in 800x600 canvas space
g.result = 'win'; // set 'win' or 'lose' to finish the game
},
draw(t) { // t = progress through the game
bg('#B8E05A', '#a8d046', t); // helpers for drawing live in js/core.js
}
};
return g;
}
reg('hello', gHello, 'HELLO'); // register it: id, function, display name
Games can also use key, up and move handlers. Win by setting g.result = 'win'; if time runs out without a result, the player loses (set timeWin: true for "survive until the clock ends" games).
js/games/ (or add it to a themed file like js/games/wave4.js) and register it with reg(...).index.html after the other js/games/*.js tags (new files only).pool array in js/stages.js. Every game is also available in Practice mode.js/i18n/es/. The English text is the key: 'HELLO!': '¡HOLA!'. Run node test/i18n.test.js to check coverage.python3 -m http.server 8000 # then open http://localhost:8000
Open Practice from the title screen and pick your game. Try it on a phone-sized window too.sp. Faster or harder at higher speed, but never unfair.js/core.js.Not sure where to start? Read one small game in js/games/wave1.js, change a number, refresh, and see what happens.
js/i18n.js and copy js/i18n/es/.The game is static files, so any web server works:
git clone https://github.com/guillermoscript/minigames.git
cd minigames
python3 -m http.server 8000
Open http://localhost:8000. Guest play works from there. Accounts, leaderboards and cloud saves need the PocketBase backend, which is documented in docs/SELF-HOSTING.md along with deployment, Google sign-in and the database rules.
Use INSTALL APP on the title screen, or on iPhone/iPad open the site in Safari and choose Share → Add to Home Screen. After the first visit, guest stages and practice work offline. Accounts, leaderboards and party rooms need a connection. Installing requires HTTPS (or localhost).
index.html, css/, js/ the game
js/games/ all the microgames (one file per theme)
js/stages.js stages, pools, speed curves, bosses
js/i18n/ translations
pocketbase/ optional backend: accounts and leaderboards
docs/SELF-HOSTING.md backend, deploy and ops docs
test/ node tests
Made by @guillermoscript and contributors. If you had fun, star the repo ⭐ and tell a friend.