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
翻譯準備中
正在載入完整 README。 以下為已儲存的摘錄。
Le jeu de géographie : quiz de drapeaux, capitales et pays du monde, défi du jour, duels en ligne et mode classé. Expo / React Native (iOS · Android · Web) + Supabase. Site & jeu web : https://playgeog.com — défi du jour jouable sur https://playgeog.com/play檢視完整 README ↗
Le jeu de géographie : quiz de drapeaux, capitales et pays du monde, défi du jour, duels en ligne et mode classé. Expo / React Native (iOS · Android · Web) + Supabase.
Site & jeu web : https://playgeog.com — défi du jour jouable sur https://playgeog.com/play
react-native-web pour l'export web.SECURITY DEFINER.react-native-google-mobile-ads ; kill-switches dans feature_flags.geogames).npm install
npm run start # Metro (Expo Go / dev client)
npm run web # app dans le navigateur
npm test # suite Jest (jest-expo)
npx tsc --noEmit # typecheck
npx eslint . # lint
Variables d'env (EXPO_PUBLIC_* : Supabase, PostHog, Sentry) : en local dans .env.local
(gitignoré), en CI/build dans eas.json et les env vars du projet Vercel.
src/screens/ — écrans (jeux solo, multijoueur, boutique, profil, daily…).src/components/ — composants partagés.src/lib/ — logique pure et testée (scoring, daily, coins, monétisation, parrainage, liens…).src/hooks/, src/contexts/ — état applicatif (auth, thème, langue, navigation, match engine).src/types/database.ts — types générés depuis Supabase.*.sql — migrations (à appliquer via Supabase MCP / SQL editor, puis régénérer les types).public/ — actifs web servis par Vercel (landing SEO, /invite, .well-known, sitemap…).store-listing/, store-screenshots/ — fiches et captures store (FR/EN + localisations ES/PT/DE/IT).referral.sql + src/lib/referral.ts — parrain & filleul gagnent des pièces./play ouvre le défi du jour dans le navigateur (jouable déconnecté) ;
les résultats partagés pointent vers playgeog.com/play?code=….SITE_DOMAIN (src/lib/links.ts).# Web (Vercel)
npx vercel --prod
# Mobile (EAS)
eas build --profile production --platform ios
eas build --profile production --platform android
eas submit --profile production --platform ios # App Store
eas submit --profile production --platform android # nécessite google-service-account.json
eas-update.yml — quand la CI est verte sur master, publie le JS à chaud sur le canal
production (expo-updates, runtimeVersion = version de l'app). Une dépendance native ou un
changement d'app.json exige un build : incrémenter expo.version isole les anciens binaires.
Secret : EXPO_TOKEN.release.yml — un tag vX.Y.Z (ou « Run workflow » dans l'onglet Actions : les sessions
Claude ne peuvent pas pousser de tag) lance le build iOS + Android et l'envoi aux stores.
Secrets : EXPO_TOKEN, GOOGLE_PLAY_SERVICE_ACCOUNT_JSON, ASC_KEY_ID, ASC_ISSUER_ID,
ASC_PRIVATE_KEY.migrate.yml — applique supabase/migrations/*.sql (une fois chacune, table
ci_migrations) à l'arrivée sur master. Secret : SUPABASE_DB_URL. Les *.sql à la racine
restent appliqués à la main.Plan de croissance et journal : PLAN_PROMOTION.md, GROWTH_LOG.md.
Guides : guide-deeplinks-interstitiel.md (universal links + interstitiel), guide-pubs-admob.md,
store-listing/ (fiches), ANALYTICS_FUNNELS.md (funnels PostHog).