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에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Quiz de culture générale multijoueur en temps réel, façon Popsauce — 100% gratuit, sans compte, sans serveur à payer.
Tout le monde répond en même temps aux mêmes questions, à l'écrit (pas de QCM), avec une correction exacte (accents/casse/ponctuation ignorés) qui accepte aussi les titres partiels et les acronymes — pas de tolérance aux fautes de frappe, pour éviter les faux positifs entre réponses proches mais différentes. Comme dans Popsauce, une question peut être accompagnée d'un élément visuel à deviner : image, GIF, courte vidéo (fichier ou lien YouTube, intégré automatiquement) ou citation. Chaque bonne réponse rapporte entre 1 et 20 points : le premier à trouver a toujours le maximum, puis les points des suivants diminuent avec le temps écoulé depuis cette première bonne réponse, sans jamais descendre sous 1 point. Un tableau des scores en direct (à droite pendant la question) montre qui a trouvé et la dernière tentative fausse de chacun, avec un badge 🔥 pour les séries de bonnes réponses. La partie n'est pas limitée à un nombre fixe de questions : l'hôte fixe, dans le lobby, un score à atteindre, un temps de réponse (commun à toutes les questions) et les catégories à inclure (une sélection précise, ou "Toutes"), et la partie s'arrête dès qu'un joueur atteint le score (ou s'il n'y a plus de questions avant que quelqu'un y arrive).
Le tout avec une bonne dose de "juice" : sons synthétisés (zéro fichier audio, bouton 🔊/🔇 pour couper), chiffres qui défilent au lieu de sauter, secousse sur une mauvaise réponse, et confettis au podium final.
main et le dossier / (root).https://<ton-pseudo-github>.github.io/<nom-du-repo>/. Partage cette URL à tes amis.Aucune autre étape : pas de build, pas de variables d'environnement, pas de carte bancaire.
Comme le jeu charge questions/questions.json via fetch, il faut le servir via un petit serveur local (pas juste double-cliquer sur index.html, qui serait bloqué par le navigateur). Par exemple :
npx serve .
ou, si tu as Python :
python -m http.server 8080
Puis ouvre l'URL affichée dans deux onglets différents pour tester le multijoueur (un onglet crée la partie, l'autre la rejoint avec le code affiché).
Deux façons de faire :
editor.html : un éditeur visuel à ouvrir dans le navigateur (en local ou via l'URL déployée) pour créer/modifier/supprimer des questions sans toucher au JSON — formulaire avec aperçu en direct (rendu exactement comme dans le jeu) et un testeur de réponse pour vérifier qu'une forme raccourcie ou un acronyme serait bien accepté. Réservé aux comptes admin : il faut donc avoir configuré le mode "en ligne" ci-dessous. Il charge automatiquement les questions actuellement en ligne à l'ouverture, et chaque sauvegarde/suppression est publiée automatiquement et instantanément dans le jeu — rien à exporter, rien à committer. La liste se tient aussi à jour toute seule en cours de session dès qu'un admin (toi ou quelqu'un d'autre) ajoute/modifie/supprime une question ailleurs, sans jamais avoir à recharger la page. Les questions y sont regroupées par catégorie (sections repliables, pour éviter de faire défiler une longue liste), et la catégorie du formulaire se choisit dans un menu déroulant des catégories déjà utilisées — avec une option pour en créer une nouvelle. La page se recharge aussi toute seule si une nouvelle version du site a été déployée entre-temps (sans jamais couper un formulaire en cours de remplissage) — pour ne jamais rester bloqué sur une vieille version en cache.questions/README.md — il suffit d'éditer questions/questions.json, puis de pousser le fichier modifié sur GitHub. Ne nécessite aucune configuration.editor.html a aussi un mode en ligne, pour laisser d'autres personnes proposer des questions sans qu'elles touchent directement au fichier, avec validation par un·e admin avant qu'elles soient ajoutées. C'est 100% optionnel — sans configuration, l'éditeur fonctionne exactement comme avant (local, questions.json).
Important sur la sécurité des comptes : la connexion se fait uniquement via Google (bouton "Se connecter avec Google") — aucun mot de passe ne transite ni n'est stocké par ce projet, à aucun moment. C'est Google qui gère entièrement l'authentification ; nous n'avons techniquement aucun moyen de voir ou récupérer le mot de passe de qui que ce soit. Le rôle « admin » est juste une liste d'identifiants Google autorisés dans la base, et cette liste n'est modifiable que depuis la console Firebase (jamais depuis le site) — personne ne peut se nommer admin lui-même.
Ce mode a besoin d'un projet Firebase gratuit (aucune carte bancaire requise) :
firestore.rules à la racine du projet, puis publie.js/firebase-config.js (remplace les "REMPLACE-MOI"). Ce n'est pas un secret, tu peux le commiter.js/auth.js et remplace la valeur de SUPER_ADMIN_EMAIL par ta propre adresse Gmail, puis fais pareil dans firestore.rules (la fonction isSuperAdmin()) — republie les règles mises à jour comme à l'étape 3.6. Cette adresse est codée en dur dans les règles : elle seule obtient automatiquement tous les droits à sa première connexion, sans manipulation dans Firestore.Une fois configuré : n'importe qui de connecté peut proposer une question (bouton "Proposer en ligne" dans le formulaire) ; les comptes admin voient la file d'attente avec des boutons Approuver/Rejeter. Approuver une proposition, ou enregistrer/supprimer une question directement dans l'éditeur en tant qu'admin, la publie immédiatement dans le jeu — aucune étape manuelle, aucun token, aucun commit. Le compte super-admin a en plus un panneau "Ajouter/retirer un admin" (juste une adresse email à saisir) pour donner les droits admin à d'autres comptes, sans jamais toucher à la console Firebase.
Comment ça marche techniquement : les questions publiées de cette façon vivent dans une collection Firestore (/questions), lue par le jeu sans connexion requise (sinon les joueurs non connectés ne pourraient pas charger les questions) et fusionnée à chaque partie avec le fichier statique questions/questions.json, qui reste le socle de départ. Une question éditée remplace sa version statique du même id ; une suppression pose un repère "supprimée" plutôt que d'effacer le fichier (impossible à faire depuis le navigateur sans backend) — invisible pour les joueurs, filtré à la fusion.
À la première connexion (sur le jeu comme dans l'éditeur), chacun choisit un pseudo public — c'est lui qui est affiché partout (propositions, liste des comptes), jamais le nom ou l'email du compte Google. Il reste modifiable à tout moment (icône ✏️ à côté du nom affiché).