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,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Mini RPG en vue de dessus : Tecky, le teckel au harnais rouge, part à la recherche d'Alice, qui joue à cache-cache. Il suit les affaires qu'elle a semées (sa barrette, sa chaussure, son doudou) : chacune indique où chercher ensuite, et Alice ne sort de sa cachette qu'une fois les trois retrouvées. En chemin, Tecky aboie pour repousser les chiens (dont les chiens de berger, qui chargent), gratte la terre pour déterrer des trésors, ramasse des os (qui rendent de la vie) et des saucisses (qui ajoutent un os de vie maximum).查看完整 README ↗
Mini RPG en vue de dessus : Tecky, le teckel au harnais rouge, part à la recherche d'Alice, qui joue à cache-cache. Il suit les affaires qu'elle a semées (sa barrette, sa chaussure, son doudou) : chacune indique où chercher ensuite, et Alice ne sort de sa cachette qu'une fois les trois retrouvées. En chemin, Tecky aboie pour repousser les chiens (dont les chiens de berger, qui chargent), gratte la terre pour déterrer des trésors, ramasse des os (qui rendent de la vie) et des saucisses (qui ajoutent un os de vie maximum). Sur une grande carte, il traverse campagne (et son pré aux vaches), route (gare aux voitures : mieux vaut passer par les passages piétons), village (sa place, son marché, sa boulangerie et ses habitants qui saluent Tecky), zone industrielle et son port, ferme et son verger, rivière (un seul pont), forêt et parc. La journée avance avec la recherche : un cran par indice, du plein jour au coucher de soleil orangé ; au troisième, les lampadaires s'allument, et la nuit tombe quand Tecky et Alice rentrent à la niche. De temps en temps, une averse (flaques, arc-en-ciel, Tecky qui s'ébroue) ; en décembre, il neige. En chemin : le fermier Gaston (allez lui parler, C) a besoin d'aide pour ramener ses poules dans l'enclos, Marcel le facteur a perdu ses lettres dans le vent, Mamie Rose cherche son chat Pompon, Léon, au port, a laissé rouler ses gros ballons (à pousser dans son filet, comme au foot), Iris, le vieux Jack Russell, ami et mentor de Tecky, l'entraîne au verger (rapporter ses jouets cachés dans les prés) puis lui donne des conseils, Maman Piquette, la maman hérisson, cherche ses trois petits cachés dans la forêt, Titine, le petit train du quai, siffle quand on lui aboie dessus, des écureuils et des chats filent se percher quand Tecky les poursuit, des canards s'envolent de l'étang et de la rivière, des terriers permettent de passer sous les grillages, et Tecky peut flairer la piste d'Alice (de petits pieds nus apparaissent au sol). Les trésors enterrés sont des os dorés à collectionner, et la pause montre la carte des coins déjà explorés (avec les personnages qui ont quelque chose à dire). Chaque zone a son ambiance sonore, ses instruments et sa variation du thème musical (plus entraînante au village, country à la ferme, calme et lente en forêt, boîte à musique au parc…), qui arrive en fondu enchaîné au début d'une phrase, le tempo glissant de l'une à l'autre.
Le village et la cour de la ferme sont des zones calmes : aucun chien n'y embête Tecky pendant qu'il parle aux habitants.
Deux modes au choix sur l'écran titre : aventure (les chiens mordent) et balade, pour les plus petits (personne ne se fait mal : les chiens attendent qu'on joue avec eux et deviennent des copains). La partie est enregistrée automatiquement dans le navigateur (« Continuer » sur l'écran titre, « Reprendre la partie » après un KO), elle se met en pause toute seule quand on quitte la fenêtre ou que la manette se débranche, et les records (meilleur score, meilleur temps, meilleure complétion) ; les options permettent de tout réinitialiser sont gardés pour chaque mode. Les options (menu principal ou pause) règlent la musique, les bruitages, la difficulté (« facile » : plus d'os, morsures moins fortes, moins de chiens), la taille du texte, l'image, les vibrations (manette et téléphone), la météo et le plein écran.
Seize badges sont à gagner (retrouver Alice sans se faire mordre, déterrer tous les os dorés, faire s'envoler tous les canards…), visibles depuis le menu principal.
Quand on ne touche plus à rien, Tecky s'assoit, bâille, se gratte l'oreille… puis s'endort.
À la fin, Tecky et Alice rentrent ensemble à la niche, la nuit, parmi les lucioles, sur une berceuse : Tecky s'endort à ses pieds. L'écran de victoire dit à quel point l'aventure a été complétée (os dorés, quêtes, animaux, carte).
Tout est généré par du code : sprites en SVG (aplats + contour), tileset, décors, HUD, musique chiptune, niveau. Les répliques sont prêtes à être lues par une synthèse vocale, une voix par personnage : voir voix/README.md.
Prérequis : Python 3 avec cairosvg, Pillow, numpy ; Node 18+ pour les tests.
pip install -r requirements.txt
python3 pack_web.py # version web -> web/index.html (une seule page) + web/tecky_quest_web/ (autonome, PWA)
python3 build.py # kit GameMaker -> out/ (sprites, tileset, HUD, audio, aperçus)
python3 music.py # WAV de la musique et de la fanfare -> out/audio/
./publish_docs.sh # copie la version autonome dans docs/ (servie par GitHub Pages)
Jouer en local : cd web/tecky_quest_web && ./serve.sh (serveur sur le réseau local, pratique pour tester sur téléphone).
La carte est dans carte.json (terrain, détails au sol, décors, objets, chiens, personnages, quêtes, bêtes, route,
zones). Pour la modifier à la souris :
python3 editeur.py # puis ouvrir http://127.0.0.1:8770/
Pinceau de terrain (sur les coins de la grille : les transitions se dessinent toutes seules), détails au sol, décors et
éléments à poser, déplacer, dupliquer ou supprimer, zones et rectangles à poignées, annuler et rétablir. Enregistrer
(Ctrl+S) écrit carte.json ; Vérifier construit le jeu et liste les problèmes de placement (dans l'eau, dans un
obstacle, hors d'atteinte depuis la niche…) ; un clic droit sur la carte, Essayer ici, lance le jeu avec Tecky à
cet endroit.
./tests/run_all.sh
Simulation sans navigateur (Node, canvas et audio simulés) : déroulé complet de la partie, collisions, combat, grattage,
règles de vie, immunité du doberman aux aboiements, onde montrant la portée des aboiements, bouton « Lire »,
morsure prioritaire sur le grattage quand un chien menace, contournement des obstacles par les chiens, placement des
objets (rien dans l'eau, tout atteignable à pied depuis la niche), indices d'Alice, charge du chien de berger, poules,
papillons, fontaine animée, circulation (bousculade, passages piétons), pont, eau animée, séquenceur musical, fanfare
et musique de défaite, sauvegarde (continuer, reprise après KO, stockage refusé), records par mode, mode balade,
manette simulée, poussière, feuilles, ombres de nuages, du jour à la nuit, quête des poules, terriers, flair,
os dorés, écureuils et chats, zones (bandeau, ambiance, timbre), transitions musicales, icônes de touches et de boutons dans les textes, carte de la pause, copains qui suivent Tecky. tests/edges.py détecte les sprites dont des pixels touchent le bord du cadre.
| Fichier | Rôle |
|---|---|
spritelib.py | boîte à outils de dessin SVG, rendu, strips, GIF |
tecky.py, alice.py, enemies.py, hens.py, farmer.py, npcs.py, critters.py, ducks.py, vehicles.py, butterflies.py, items.py, decor.py, tiles.py, hud.py | dessin des personnages, poules, fermier, facteur et voisine, écureuils et chats, canards, véhicules, papillons, objets, décor, tileset, HUD |
music.py | partition chiptune (thème en boucle, fanfare de victoire, musique de défaite), export WAV |
sample_map.py, hud_mockup.py | carte d'exemple et maquette du HUD |
build.py | export du kit GameMaker dans out/ |
carte.json, carte.py | la carte du jeu, et sa lecture, sa vérification, son écriture |
editeur.py, editeur/ | éditeur de carte (page web locale) |
pack_web.py | atlas, niveau, version web et paquet autonome dans web/ |
web_src/ | moteur du jeu (game.js), gabarits HTML, service worker, vérificateur de placement |
fonts/ | police Fredoka (licence OFL) |
reference/ | illustrations de référence d'Alice et de Tecky |
docs/ | version publiée (GitHub Pages) |
tests/ | batterie de tests |