# Services en ligne, compétition et viralité ## Leaderboards Un classement peut être local, propre à une plateforme ou cross-platform via un backend commun. Les variantes envisagées incluent classement mondial, quotidien, hebdomadaire, mensuel, par pays, par plateforme ou entre amis. Un backend cross-platform peut recevoir Android, Desktop et Web via HTTP et/ou WebSocket puis stocker les résultats dans une base commune. ## Challenges quotidiens Un seed quotidien peut fournir les mêmes conditions à tous les joueurs. Ce mécanisme combine contenu peu coûteux, compétition, rétention et partage. ## Partage et deep links Le jeu peut générer score, image, URL, QR code, replay court ou challenge personnalisé. Un lien peut ouvrir une version Web, l'application Android ou la page d'installation. ## Achievements et progression Les achievements peuvent être locaux, liés à une plateforme ou gérés par un backend. Une méta-progression peut transformer score et sessions en XP, monnaie, skins, personnages, pouvoirs ou autres déblocages. ## Replays et ghosts Avec un modèle suffisamment déterministe, `seed + inputs` peut représenter une partie. Cela permet replays, ghosts, comparaison avec un ami ou un meilleur score, et améliore les options anti-cheat. ## Anti-cheat Un leaderboard public ne doit jamais considérer un score client comme intrinsèquement fiable. La progression possible va d'une acceptation simple en POC à des contrôles statistiques, une trace condensée ou une resimulation déterministe côté serveur. ## Backend optionnel Le backend n'est pas requis pour les premiers POC. Lorsqu'il devient utile, ses capacités peuvent inclure comptes, leaderboard, cloud save, défis journaliers, statistiques, événements, saisons, anti-cheat et matchmaking. Une implémentation Rust avec un framework HTTP, PostgreSQL, Redis et WebSocket est envisageable mais n'est pas imposée tant que le besoin n'existe pas. ## Web comme acquisition La version Web peut devenir un canal marketing : ouverture immédiate depuis un lien, partie ou challenge, score, puis proposition d'installation Android. Une PWA ou une démo Web limitée peut être ajoutée ultérieurement. ## Cross-promotion Lorsque plusieurs jeux existent, chaque produit peut proposer les autres jeux du portefeuille. Un launcher commun de type arcade reste une évolution possible, sans remplacer nécessairement les applications séparées.