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
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
A cheerful learning game for ages 5–9, created by MargottiCode — margotticode.com.
Open index.html in a browser. No installation, build step, or backend is required. To play on an iPad or another device, publish this folder to a static web host and open its URL in the browser.查看完整 README ↗A cheerful learning game for ages 5–9, created by MargottiCode — margotticode.com — and designed together with my 5-year-old granddaughter, who directed the gameplay and rules as we went.
Open index.html in a browser. No installation, build step, or backend is required. To play on an iPad or another device, publish this folder to a static web host and open its URL in the browser.
Children unload one at a time. The outside group animation lasts four seconds; if the bus is empty, the game skips that group delay. Answers advance automatically after spoken feedback and a short pause. Restart returns to the welcome screen; tap Start to choose an age group for the next trip.
The ages 5–6 bank covers picture words, letter matching, first sounds, counting, number recognition, colors, and shapes. The bank also includes patterns, adding, taking away, rhyming, sorting, comparisons, everyday life, and nature questions. Each trip rotates through the selected bank’s shuffled categories without repeating questions, so large letter banks do not dominate the ride. Tap Listen to hear the current question again.
A soft instrumental Wheels on the Bus melody plays during gameplay. Engine rumble and road noise overlap the music while the bus drives. The Sound button controls music, engine sounds, and speech together. Music and engine audio stop at the ending and mute while the tab is hidden.
Music and engine sounds are synthesized locally using Web Audio, with no audio downloads or recorded vocals. Speech uses the browser’s available voices. Audio support and pronunciation vary by device.
Artwork uses inline SVG, CSS, and emoji. Optional Google Fonts fall back to system fonts offline. There are no accounts, tracking, or stored personal data.
| File | Purpose |
|---|---|
index.html | Screens, controls, and dialogs |
style.css | Responsive visuals and animations |
questions-5-6.js | 315 questions for ages 5–6 |
questions-7-9.js | 315 questions for ages 7–9 |
audio.js | Synthesized melody and driving sounds |
game.js | Scoring, speech, passengers, and game transitions |
AGENTS.md | Project handoff and instructions for future coding sessions |
The game uses two equally sized banks: QUESTIONS_5_6 in questions-5-6.js and QUESTIONS_7_9 in questions-7-9.js, with 315 questions each. The selected bank supplies every question for the current trip, including the opening question. Ages 5–6 add small-number math, animal families and features, plants, and simple science. Ages 7–9 cover reading meaning, grammar, arithmetic, time, US coin values, fractions, geometry, animal and plant science, Earth and space, and experiments.
Add questions directly to the array in the appropriate age file, keeping each ID unique and including ageGroup, type, picture, prompt, three choices, and correct. Both age files load before game.js in index.html. Keep audio.js loaded before game.js.
node --check game.js
node --check questions-5-6.js
node --check questions-7-9.js
node --check audio.js
npx --yes [email protected] --check index.html style.css questions-5-6.js questions-7-9.js game.js audio.js README.md AGENTS.md
Use --write instead of --check to format files. Prettier is only a development tool; it is not needed to play.
Ad hoc Node checks have covered question validity, game progression, both endings, passenger identity, restart, and audio controls using browser mocks. These checks are not committed tests. Real browser rendering, iPad layout, and listening checks still need device verification.
The game is a static site, so any static host works. It is deployed on Vercel (project kids-bus-game) and served at https://busgame.margotticode.com, whose DNS record stays at Bluehost (an A record for busgame pointing to 76.76.21.21). Deploy with npx vercel@latest deploy --prod --scope john-74e3. vercel.json sets the same cache headers as .htaccess.
The block below is machine-readable project info for a portfolio site (invisible on GitHub). Keep it in sync when the project, URL or tech changes. To build a card: read this JSON and use title, tagline/description, thumbnail, tech, and link to liveUrl and repoUrl.