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
Mini-campionato 3D: 9 circuiti, griglia da 12 auto, classifica a punti. Giocabile subito nel browser.
Translation pending
GamesJavaScript · CSSGitHub @ottobitOnlineOwner 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
Loading the full README. The saved excerpt is shown below.
Mini-campionato 3D nel browser: qualifica, griglia a dieci piloti, garage/assetto, selezione pilota, classifica a punti su più circuiti. Nessun build step: HTML/CSS/JS serviti così come sono. Three.js è importato da CDN. Il gioco è statico (GitHub Pages); le stanze multiplayer passano da un piccolo server WebSocket, core/server/room-server.mjs, pubblicato online (oggi su Render). Dal sito pubblico il gioco lo usa da solo: basta aprire room.html, creare la stanza e mandare il link di invito.Read the full README ↗
Mini-campionato 3D nel browser: qualifica, griglia a dieci piloti, garage/assetto, selezione pilota, classifica a punti su più circuiti.
Pubblicato su GitHub Pages: https://ottobit.github.io/f1-racer/
Nessun build step: HTML/CSS/JS serviti così come sono. Three.js è importato da CDN.
index.html, race.html, garage.html, room.html, modes.html pagine (servite da GitHub Pages)
core/client/ moduli di gioco JS/CSS (race, garage, multiplayer, home, shared)
core/server/ server delle stanze multiplayer (Node + ws)
core/tools/ script di sviluppo (validazione circuiti)
assets/ asset condivisi (stile base, immagini)
.knowledge/ memoria di progetto mantenuta con pattern LLM Wiki
Il gioco è statico (GitHub Pages); le stanze multiplayer passano da un piccolo
server WebSocket, core/server/room-server.mjs, pubblicato online (oggi su
Render). Dal sito pubblico il gioco lo usa da solo:
basta aprire room.html, creare la stanza e mandare il link di invito.
Serve https/wss: la pagina su GitHub Pages è https:// e il browser blocca
le connessioni a un server ws:// non cifrato. Il provider dà https di suo.
Il server non dipende dal provider: il contratto (porta, avvio, /health) e
la configurazione di ogni provider stanno in service/.
Oggi è su Render (service/render/render.yaml, piano gratuito): un cron
interno al server chiama il proprio /health ogni 10 minuti, così resta
sveglio 24 ore su 24 (circa 744 delle 750 ore gratuite al mese: non c'è
spazio per un secondo servizio gratuito sullo stesso account).
Installa Node.js, poi da f1-racer/:
npm install
npm start
Deve stampare listening on :8787. Una pagina aperta da localhost usa
questo server da sola.
Per farlo raggiungere dagli amici esponilo con
ngrok (ngrok http 8787) e apri la stanza con
room.html?roomServer=https://abcd-1234.ngrok-free.app: il link di invito
porta con sé il server.
localhost: togli ?roomServer per usare quello pubblico.ROOM_GRACE_MS); porta configurabile con PORT.Tutta la conoscenza di progetto sta in .knowledge/ (ingresso: .knowledge/wiki/index.md). docs/WORK-HANDOFF.md è il punto di ingresso per una nuova sessione agente. docs/procedure.md è il flusso di lavoro obbligatorio (issue → branch → PR → Concludi).
Estratto da ottobit/portfolio-arcade (dove è nato come uno dei giochi dell'arcade), storia commit preservata.