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 building and exploration game that runs in the browser, with no build step.
Vanilla JavaScript and Three.js power terrain, physics,
creatures and rendering. Libraries and vehicle models supplied for this family game are vendored;
optional network services provide multiplayer and cloud saves.README 전문 보기 ↗A building and exploration game that runs in the browser, with no build step. Vanilla JavaScript and Three.js power terrain, physics, creatures and rendering. Libraries and vehicle models supplied for this family game are vendored; optional network services provide multiplayer and cloud saves.
Manhattan on Earth: teleport to New York from the world map (the old
/?lieu=manhattan link still works). One map, one shared-world code: detailed landmarks, Times
Square, yellow taxis and rigged human characters with textured faces and clothing.
Pedestrians keep their positions when you turn around and fade with distance.
See characters and vehicles for assets and rendering budgets. Existing Earth buildings
keep their terrain support; v239 Manhattan journals are imported without
scaling their blocks. See the urban guide for migration,
rendering budgets, licensing and limitations.
?hd= forces it). Each quarter has its own register
(plaster and shutters in the Marais, ashlar and running balconies in the
west), trees are meshed up close, and sidewalks carry bollards, café
terraces and street-name plates — all read from the blocks, never written
into them. Eight landmarks have an authored model in the same layer — the
Eiffel Tower's open lattice (you walk under it), the Arc de Triomphe's two
vaulted passages, the Louvre pyramid's glass lattice, Notre-Dame's rose
window and flying buttresses, Sacré-Cœur, the Panthéon, the golden dome of
Les Invalides and the Opéra Garnier. Place a block inside one and it turns
back into editable cubes.src/radio.js).
The horn is two held sawtooth tones through a resonant filter; a street car
stuck behind you honks back. One audio context for the whole game; the
🔊 setting suspends it outright.tokyo, eiffel, washing)
and every one of the 278 registered places, plus Paris's squares, Manhattan's
neighbourhoods and Washington's monuments, comes up with its distance in
blocks; tap one and you are there. Accent- and case-insensitive, and the map
fills whatever shape the screen gives it — wide on a phone held sideways,
tall when held upright.CACHE_VERSION in sw.js so installed clients update.localStorage and restored on reload (terrain is deterministic, so only the
diff is stored).The game is a static site, but it uses ES modules, so it must be served over HTTP
(opening index.html directly from disk won't work):
# from the repo root — pick whichever you have:
python3 -m http.server 8000
# or
npx serve .
Then open http://localhost:8000.
It also works out of the box on GitHub Pages: enable Pages for this repo
(Settings → Pages → deploy from the main branch, root folder) and play at
https://<user>.github.io/minecraft/.
The shared-world code is exercised by real browsers playing together, against a local signalling server — no build step, no external service:
cd tests
npm install
npm test
A full run takes about 1 h 50 (measured on v540), on purpose. Seventeen suites run one after the other — never
in parallel, since two browsers fighting over four cores produce
failures that don't exist in the game — and the waits have to outlast the
game's own thresholds (twenty seconds of silence before a link is cut) or they
would prove nothing. Each verdict is written to disk as it lands, so a crashed
or recycled container costs one suite rather than the whole run;
npm test -- --depuis-zero forces a full replay. npm test -- --tranche=k/n
plays only one of n balanced slices, so n machines run the whole thing in
parallel (two slices: about 55 minutes each).
See tests/README.md for what each scenario reproduces — every one of them is
a failure that actually happened to the children playing — and CLAUDE.md for
the invariants a change must not break.
| Input | Action |
|---|---|
| W A S D | Move |
| Mouse | Look around |
| Left click (hold to repeat) | Break block |
| Right click | Place block |
| Middle click | Pick targeted block |
| Space | Jump / swim up |
| Shift | Sprint |
| 1–9 or mouse wheel | Select hotbar slot |
| F | Toggle fly mode (Space up, C down) |
| H (in a car) | Horn |
| R (in a car) | Next radio station, then silence |
| Space (in a car) | Handbrake |
| Esc | Pause |
On touch devices: left thumb summons a joystick, right thumb looks around, and the round buttons handle jumping, flying and building. Tapping the screen only mines or builds in Build mode (its button, then Place or Break); the ☰ menu in the top-right corner pauses and gathers everything else.
In a car the joystick is both accelerator and steering wheel — push forward to speed up, pull back to brake and then reverse — and the walking buttons step aside; the right column holds the handbrake, the horn and the radio button. Grass, gravel, sand and snow grip less than tarmac (and rain wets the road), the car rumbles and the camera shakes off-road, brake lights come on when you brake and reverse lights when you back up — on street cars too. A plane additionally gets a throttle dial and a speed readout on the right, because a throttle that holds when you let go is what makes an aircraft an aircraft.
index.html page shell, HUD, styles
CLAUDE.md invariants, release procedure, and the traps that cost time
src/main.js scene setup, chunk streaming, input, HUD, game loop
src/world.js noise, terrain/tree generation, chunk storage, edits + saving
src/mesher.js chunk geometry builder (visible faces only, water surface)
src/solcontinu.js continuous natural ground: one triangulation for rendering, contact and NPCs (v297)
src/player.js movement, collision, swimming, flying, voxel raycast
src/blocks.js block ids and metadata
src/textures.js procedural texture atlas
src/facadeshd.js Paris HD layer: facade relief and street surfaces, as buffers
src/paris-monuments-hd.js its eight authored landmarks, clipped per chunk
src/matierehd.js its single PBR material, 1024-px atlas and environment
src/bandeau.js the game's passing message — since v497 only for what the child must do (quiz, refusals, multiplayer)
the shared world
src/net.js sessions, peers, presentation, edit log, reconnection
src/relaisnuage.js cloud relay: a PeerJS-shaped pipe through the database
src/cloud.js Supabase calls: world saves, profiles, relay, presence
src/sync.js whole-profile portability, keyed by first name
src/visio.js camera tiles and sound, split so autoplay can't mute both
who lives there
src/animals.js passive animals, spawning, the mount you can climb
src/montures.js the eight rideable beasts and the height of their backs
src/embarquement.js getting in and out of a car: walk to the door, open, sit, close
src/portieres.js car doors cut from the bodywork of each fleet model, once per model
src/cap.js the pilot's heading dial: bearing, the city ahead, its distance
src/marlon.js friendly NPCs (Marlon the companion, Professeur Cornichon)
src/vie.js city life; src/vehicules.js métro trains (which stop at
stations) and F1 cars
src/stations.js the name of every metro station, written on its platform
src/police.js src/patrouille.js the police: a bêtise at the wheel brings a
police car (and a moto at two stars) along your own trail; stop,
and the officer tells you what happened — never violent
src/moto.js the rideable police moto, which leans into turns
the places
src/paris.js src/manhattan.js src/sanfrancisco.js src/nice.js src/lille.js
src/washington.js the capital: L'Enfant's plan, the Mall, and the Metro
src/dcmonuments.js its 32 landmarks — real interiors, you walk in — and 3 bridges
src/chine.js src/pole.js src/espace.js src/gaulois.js src/villandry.js
src/aeroport.js src/circuit.js src/ville.js src/parc.js src/voies.js
src/metromonde.js the metros of generated cities (Rome's line A): stations, stairs, tunnels
src/routes.js the interurban roads (A1 Paris–Lille, E429 Lille–Bruxelles, E19 Bruxelles–Amsterdam, A20 Montréal–Québec, BR-116 São Paulo–Rio, A-4 Madrid–Séville, A109 Nairobi–Mombasa, A3 Cologne–Francfort, E1 Kyoto–Nagoya, Autosole Bologne–Florence, A4 Milan–Turin, Yamuna Delhi–Agra, A1 Sud Rome–Naples, M1 Vienne–Budapest, A1 Nord Milan–Bologne, A24 Berlin–Hambourg, I-45 Dallas–Houston, A7 Lyon–Marseille, AP-2 Madrid–Barcelone, 401 Toronto–Montréal, Hansalinie Cologne–Hambourg, I-95 New York–Boston, I-95 Sud New York–Washington, Tōmei Tokyo–Nagoya, M40 Londres–Birmingham, A6 Paris–Lyon, A8 Marseille–Nice: profile, section, bridges, traffic)
learning and parents
src/education.js quiz bank, adaptive difficulty, stats, persistence
src/identity.js face signatures (never photos) and the hashed parent code
src/admin.js the parent space
src/journal.js the device's logbook: crash detection, safety tier, cloud reports
vendor/ three.js r160 + GLTFLoader (MIT — see THREE_LICENSE),
voiture.glb — the drivable car's 3D model (VOITURE_LICENSE)
voitures/police-car.glb, moto-police.glb, humains/policier.glb —
CC-BY-4.0, credits in their LICENSE.md
avions/ — the A320, A321 and F-35 models (avions/LICENSE.md;
the A320 is CC-BY-NC-SA: non-commercial, share-alike)
scripts/ convertir-avions.py fits a Sketchfab plane to the game's contract