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
Build and manage a Dutch campground, placing paths, huts, facilities and staff
AI summary · website content
GamesJavaScript · CSSGitHub @JaZoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Een browsergame in de stijl van RollerCoaster Tycoon, maar dan voor een camping. Volledig in vanilla HTML, CSS en JavaScript (canvas), zonder server, zonder build-stap en zonder externe afhankelijkheden. Alles (ook de graphics) wordt in de browser gegenereerd.
Open public/index.html in een browser, of host de map public als statische site (bijvoorbeeld GitHub Pages).
GitHub Pages: de workflow in .github/workflows/pages.yml publiceert de map public bij elke push naar main. Zet bij Settings → Pages de bron op GitHub Actions; daarna staat het spel op https://<gebruikersnaam>.github.io/<repository>/.
Het spel wordt elke minuut automatisch in de browser opgeslagen (localStorage). Via Menu kun je ook een savebestand exporteren en importeren.
| Actie | Invoer |
|---|---|
| Schuiven | slepen met de muis, rechtermuisknop, pijltjes of WASD |
| Zoomen | scrollwiel, + / -, pinch op touchscreens |
| Bouwen | kies een categorie onderin, klik een item en klik op het terrein (slepen voor paden en terrein) |
| Draaien | R (ook voor een geselecteerd gebouw) of de knop Draaien |
| Verplaatsen | selecteer een gebouw en kies Verplaatsen in het infopaneel |
| Stoppen met bouwen | Esc of rechtermuisknop |
| Informatie | klik op een gebouw, gast, personeelslid of dier |
| Pauze / snelheid | spatie, 1, 2, 3 |
| Volledig scherm | F of de knop ⛶ rechtsboven. Op iPad/iPhone staat Apple dit alleen in Safari toe; open het spel daar via Delen → Zet op beginscherm als schermvullende app (werkt ook als Firefox je standaardbrowser is) |
| Slopen | X of Delete; gebouwen, dieren en personeel vragen om bevestiging, paden en begroeiing niet (die kun je ook wegslepen) |
GitHub Pages laat bestanden tien minuten cachen. De deploy-workflow vult daarom de commit-hash in op de plek van __V__ in public/index.html (als ?v= achter elke script- en css-link) en schrijft public/version.json. Bij het starten vergelijkt het spel zijn ingebakken versie met version.json (buiten de cache om) en herlaadt het zichzelf één keer als die afwijkt; tijdens het spelen verschijnt bij een nieuwe versie een melding met een herlaadknop.
Er is geen build-stap. De bestanden in public/js/ worden in volgorde geladen door public/index.html:
| Bestand | Inhoud |
|---|---|
util.js | hulpfuncties, namen |
data.js | catalogus van objecten, gasttypes, personeel, doelen, balanswaarden |
sprites.js | procedurele isometrische sprites, personen en dieren |
world.js | tegelraster, plaatsing, bereikbaarheid, padvinding |
guests.js | gezelschappen en gastengedrag |
staff.js | personeel en dieren |
economy.js | geld, beoordeling, weer, maandoverzicht, doelen |
render.js | camera, tekenen, nacht, weer, minimap |
ui.js | HUD, panelen, invoer |
game.js | spel-loop, kaartgeneratie, opslaan en laden |
selftest.js | automatische test: public/index.html?test=1&days=30 bouwt een complete camping en spoelt dagen door; &scenario=start simuleert een bescheiden beginnerscamping; &input=1 test de muis- en toetsinvoer (uitvoer in de console) |