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 전문 보기 ↗Une application web pour jouer aux échecs contre Stockfish et résoudre des puzzles tactiques. Tout tourne dans le navigateur : aucun serveur, aucun backend, un seul fichier index.html plus un dossier de données.
Skill Level + UCI_Elo).L'onglet Puzzles rejoue des positions tirées de la base Lichess (CC0).
localStorage — rien ne quitte le navigateur.Convention du format Lichess : le FEN est la position avant le coup de l'adversaire. L'app joue donc automatiquement le premier coup de la séquence pour amener la position, et le joueur enchaîne à partir du deuxième.
puzzles/ contient index.json (liste des thèmes et inventaire des tranches) et un fichier par tranche de rating (band-400.json … band-2600.json), soit 14 Mo au total. Une tranche n'est téléchargée que lorsqu'elle sert : une session ne coûte en général qu'un fichier d'environ 1,3 Mo, bien moins une fois gzippé par l'hébergeur.
Le dump complet de Lichess fait 6 millions de puzzles pour 1,1 Go décompressé — trop lourd à embarquer, et au-delà du quota gratuit d'une base hébergée. Le script build-puzzles.mjs en extrait un échantillon équilibré : 12 000 puzzles par tranche de 200 points d'elo, filtrés sur la popularité et le nombre de parties jouées. Pour régénérer les données :
# 1. récupérer et décompresser le dump
curl -LO https://database.lichess.org/lichess_db_puzzle.csv.zst
zstd -d lichess_db_puzzle.csv.zst
# 2. ajuster SRC et OUT en tête du script, puis
node build-puzzles.mjs
Le tirage est déterministe : même CSV en entrée, mêmes puzzles en sortie.
git init
git add .
git commit -m "Échiquier"
git branch -M main
git remote add origin [email protected]:<ton-user>/<ton-repo>.git
git push -u origin main
Puis dans le repo : Settings → Pages → Source: Deploy from a branch → main / / (root).
Le site est en ligne sur https://<ton-user>.github.io/<ton-repo>/ après une minute ou deux.
L'app cherche Stockfish dans cet ordre :
engine/stockfish-18-lite-single.js (même origine) ← le plus fiableengine/stockfish.jsLe chargement depuis un CDN passe par un Worker blob + importScripts, ce qui marche la plupart du temps mais dépend de la façon dont Emscripten résout le chemin du .wasm. Héberger les fichiers toi-même supprime le problème :
mkdir -p engine && cd engine
BASE=https://github.com/nmrugg/stockfish.js/releases/download/v18.0.0
curl -LO $BASE/stockfish-18-lite-single.js
curl -LO $BASE/stockfish-18-lite-single.wasm
Les deux fichiers doivent rester côte à côte dans engine/ (le .js va chercher le .wasm à côté de lui). La version lite single-threaded fait environ 7 Mo — sous la limite de 100 Mo par fichier de GitHub, et elle n'exige aucun en-tête HTTP particulier.
La version complète est plus forte, mais elle a besoin de SharedArrayBuffer, donc des en-têtes Cross-Origin-Opener-Policy: same-origin et Cross-Origin-Embedder-Policy: require-corp. GitHub Pages ne permet pas d'ajouter des en-têtes. Deux options si tu y tiens :
coi-serviceworker (un service worker qui simule l'isolation cross-origin) ;_headers.Pour jouer, la version lite est déjà largement au-dessus du niveau humain.
Ouvrir index.html avec file:// ne fonctionne pas : les Web Workers exigent une vraie origine. Sers le dossier :
python3 -m http.server 8000
# puis http://localhost:8000
Le code de l'application est à toi. Stockfish est sous GPLv3 : si tu redistribues les fichiers du moteur, garde la mention de licence et publie les sources. Voir nmrugg/stockfish.js.