45 lines
2.5 KiB
Markdown
45 lines
2.5 KiB
Markdown
<!-- file: docs/services/001-ONLINE_AND_VIRAL_SERVICES.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# 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.
|