Introduction
Suddenly est un réseau social fédéré (ActivityPub) pour joueurs de jeux de rôle sur table. Les joueurs publient des comptes-rendus de parties en mentionnant des personnages. Ces personnages — d'abord PNJ — peuvent être réclamés, adoptés ou dérivés par d'autres joueurs pour devenir leurs propres PJ, créant des liens entre fictions indépendantes.
"Suddenly" évoque ce moment où l'inattendu surgit — quand un personnage apparaît soudainement dans une autre histoire.
Vocabulaire
| Terme | Définition |
|---|---|
| PJ | Personnage Joueur — appartient à un joueur |
| PNJ | Personnage Non-Joueur — créé dans un compte-rendu, disponible à l'adoption |
| Partie / Jeu | Fiction en cours recevant des comptes-rendus |
| Compte-rendu | Récit narratif d'une session de jeu (Markdown) |
| Claim | Rétcon : le PNJ était mon PJ depuis le début |
| Adopt | Reprise : le PNJ devient mon nouveau PJ |
| Fork | Dérivation : nouveau PJ inspiré du PNJ, lien de lignée |
| Lien | Relation établie entre personnages après acceptation |
| Instance | Serveur Suddenly fédéré |
Parcours des utilisateurs
Game Master
Le GM est l'auteur principal des comptes-rendus. Il crée des PNJ via les mentions @personnage dans ses récits, puis arbitre les demandes de Claim/Adopt/Fork sur ses PNJ.
Flux : Créer un jeu → Rédiger le compte-rendu avec mentions → Publier → Les PNJ sont disponibles
Joueur
Le joueur parcourt les comptes-rendus, trouve un PNJ qui l'intéresse, envoie une demande d'adoption avec un message narratif, et attend la décision du GM.
Flux : Parcourir les CRs → Trouver un PNJ → Envoyer demande → Si accepté : le PNJ devient son PJ
Fédération cross-instance
Un joueur sur l'instance B peut adopter le PNJ d'un GM sur l'instance A. La demande transite via ActivityPub (Offer activity), le GM accepte sur son instance (Accept activity), et le lien devient visible sur les deux instances.
Acteurs ActivityPub
Suddenly expose ses entités comme des acteurs ActivityPub standard, compatibles avec Mastodon et le reste du Fediverse.
| Entité | Type AP | Description |
|---|---|---|
| Utilisateur | Person | Compte joueur |
| Personnage | Person | PJ ou PNJ, followable |
| Partie | Group | Campagne/fiction |
| Compte-rendu | Article | Rapport de session |
| Citation | Note | Citation mémorable |
Prochaines étapes
- Concepts Claim/Adopt/Fork — La mécanique centrale de Suddenly
- Architecture — Stack technique et flux de services
- Installation Docker — Déploiement rapide avec Docker Compose