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를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A browser bomb-battler. Four players, grid arena, destructible blocks, powerups,
last one alive wins. The client is a static site with no build step; online
games run on a small Node server that owns the match.
The game is built from ES modules, so opening index.html straight off your
disk (a file:// address) will not work. Browsers block module loading there.
Serve the folder over HTTP instead. From this directory:
Then open. Any static server will do. That is enough
for local play on one keyboard.
For online games, start the server too, in a second terminal:README 전문 보기 ↗A browser bomb-battler. Four players, grid arena, destructible blocks, powerups, last one alive wins. The client is a static site with no build step; online games run on a small Node server that owns the match.
The game is built from ES modules, so opening index.html straight off your
disk (a file:// address) will not work. Browsers block module loading there.
Serve the folder over HTTP instead. From this directory:
npx http-server -p 8099
Then open http://127.0.0.1:8099. Any static server will do. That is enough for local play on one keyboard.
For online games, start the server too, in a second terminal:
cd server && npm install && npm start
On localhost the client finds it by itself. See server/README.md for
deploying and for the message protocol.
Two pieces, because a game server has to keep running and Vercel cannot do that:
wss:// URL in src/config.js.index.html canvas, touch pad, and the module entry point
src/main.js wires the parts together and runs the frame loop
src/game.js rules and simulation. No drawing, no networking, no DOM
src/render.js draws a view object onto the canvas
src/net.js the WebSocket connection to the server
src/snapshot.js the snapshot format, shared with the server
src/config.js where the server lives
src/input.js keyboard and touch
src/ui.js menu and lobby screens
src/constants.js values shared by all of the above
src/maps/ one file per map, data only. See src/maps/README.md
server/ the game server. See server/README.md
game.js holds the tuned numbers for movement, bomb timing and blasts. It
never reads the DOM, so the same file runs in the browser for local play and on
the server for online play. There is one copy of the rules and it cannot drift.
Everyone in a room sees the same lobby screen. The server owns it and sends it out after every change, so there is never a version only one person can see.
Four players to a room. A fifth is told the room is full.
A map is a file of plain data, including the arena itself as a grid of characters you can type:
'#1__.......__3#',
'#_#.#.#.#.#.#_#',
Three ship: The Yard (the original), Scrapheap (dense, fast) and Waterworks
(water, conveyors, a teleport pair). Adding one is a new file plus a line in
src/maps/index.js. src/maps/README.md has the full character list.
Arrow keys or WASD to move, space or enter to drop a bomb, K or left shift to kick.
On a phone a four way joystick appears automatically. Put your thumb anywhere
on it and the knob snaps to the direction you are asking for; roll from one
direction to the next without lifting, and hold as long as you like. Add
?pad to the URL to force the touch controls on a laptop.
Four players can share one keyboard: arrows, WASD, UHJK and the numpad.