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 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Elden Chill est un jeu de rôle incrémental (idle/clicker) développé par un fan, inspiré de l'univers et de l'atmosphère d'Elden Ring. Il se joue directement dans le navigateur. Le jeu se concentre sur une boucle de gameplay simple mais exigeante : préparez votre personnage, partez en expédition, et revenez plus fort!README 전문 보기 ↗
Elden Chill est un jeu de rôle incrémental (idle/clicker) développé par un fan, inspiré de l'univers et de l'atmosphère d'Elden Ring. Il se joue directement dans le navigateur.
Le jeu se concentre sur une boucle de gameplay simple mais exigeante : préparez votre personnage, partez en expédition, et revenez plus fort!
La progression est stockee dans le localStorage du navigateur. Il n'y a ni
compte, ni serveur, ni connexion : le jeu est jouable hors ligne.
Chaque sauvegarde est scellee par save-crypto.js :
eldenChillSaveRejected) plutot que supprimee.Cles utilisees dans le localStorage :
| Cle | Contenu |
|---|---|
eldenChillSave | enveloppe scellee courante |
eldenChillSaveBackup | enveloppe precedente |
eldenChillSaveMeta | metadonnees en clair (date, sequence, version) |
eldenChillSaveRejected | sauvegarde refusee, conservee pour inspection |
eldenChillClientPrefs | preferences visuelles, propres au navigateur |
A ne pas confondre avec de la securite. La clef est livree au navigateur avec le reste du bundle : quelqu'un de motive la retrouvera. Le scellement sert a empecher l'edition triviale d'une sauvegarde, pas a proteger un secret.
Un auto-test est disponible depuis la console :
const { selfTest } = await import("./save-crypto.js");
selfTest(); // { shaOk: true, roundTripOk: true, tamperOk: true }
Le jeu utilise des modules ES : il doit etre servi en HTTP, pas ouvert directement depuis le disque.
python -m http.server 8123
Puis ouvrez http://localhost:8123 dans un navigateur moderne.
Le moteur se teste hors navigateur, sans aucune dependance : le lanceur
integre de Node et le bouchon DOM de tools/headless-stub.mjs
suffisent.
npm test
La suite couvre les effets de cendres, les points de competence critique, les
formules de PV et de soin, l'assainissement des sauvegardes, la Ferveur, les
panoplies, les contrats, et des garde-fous d'architecture (voir
tests/). Chaque cas est ecrit a partir d'une
regression reelle : la premiere version de ces tests a ete validee en
reintroduisant les bugs d'origine et en verifiant qu'ils echouaient.
Le lint et le formatage passent par Biome :
npm run lint
En CI, le lint est bloquant sur les fichiers que la branche modifie, et seulement informatif sur le reste : 142 constats subsistent sur la base existante. Les rendre bloquants d'emblee exigerait un nettoyage de 16 000 lignes avant toute autre contribution ; les ignorer laisserait la dette grossir. La ligne est donc tenue la ou elle se tient — le code ecrit aujourd'hui doit etre propre, le reste attend son tour.
organizeImports est desactive dans biome.json : la regle deplace les
imports AVANT les commentaires d'en-tete qui expliquent pourquoi chaque module
existe, ce qui rend ces fichiers moins lisibles, pas plus.
Les modules se repartissent en deux couches, et la frontiere est verifiee par un test :
state.js, item.js, ashes.js, constants.js, items/*,
shared/*... Ces modules ne doivent jamais importer l'affichage.ui.js, combat.js, core.js, game.js...Chaque couche est recursive de l'interieur, ce qui est assume. Ce qui est
interdit, c'est qu'un cycle traverse la frontiere : c'etait le cas de
ashes.js -> combat.js, item.js -> ui.js et ui.js -> game.js, et cela
rendait le moteur impossible a importer hors navigateur — donc intestable.
Ce projet est volontairement simple et est construit avec des technologies web de base :
Il n'y a pas de frameworks, de dépendances ou d'outils de build.
Ce projet est une œuvre de fan à but non lucratif, créée par pur divertissement. Il n'est en aucun cas affilié, approuvé ou sponsorisé par FromSoftware.
Elden Ring et tous les éléments associés (noms, personnages, univers) sont la propriété intellectuelle exclusive de FromSoftware Inc. Tous les droits leur sont réservés.