VIP
1. Définition
Statut premium pour les joueurs, généralement obtenu par abonnement ou achat in-app. Le statut VIP confère des avantages de confort et de cosmétique, sans déséquilibrer le gameplay compétitif (Pay-to-Fast ou Pay-to-Cool, pas Pay-to-Win).
2. Fonctions
- Conservation des Thèmes : Avantage majeur permettant de garder définitivement les thèmes et skins des passes saisonniers, même après la fin de la saison.
- Bonus Passifs : Peut inclure des bonus légers d'XP ou de pièces.
- Prestige : Badge ou couleur de pseudo distinctif.
3. Icone
- Représentation : Couronne ou Diamant.
- Couleur dominante : Or scintillant ou Violet royal.
4. Interactions
- Achat/Abonnement : Via la boutique ou le menu profil.
- Affichage : Badge visible à côté de l'avatar et du pseudo.
5. Annexes Techniques
Données (JSON)
Règles Métier
- Si le statut VIP expire, le joueur perd l'accès aux thèmes saisonniers passés qu'il avait "sauvegardés", sauf s'il se réabonne (règle à définir : perte définitive ou suspension ? -> Suspension par défaut pour encourager le réabonnement).
- Le statut VIP s'applique à tout le compte joueur.
6. Annexes UX/UI
- Badge VIP : Petite icône couronne à côté du pseudo partout dans l'interface.
- Interface Boutique : Section dédiée "Devenir VIP" avec mise en avant des avantages (surtout la conservation des thèmes).
- Feedback : Effet visuel doré lors de la récupération de récompenses.
Annexes UX/UI
0. Direction Artistique & Vue
- Vue : Isométrique (2.5D).
- Style : Coloré, vivant, détails foisonnants (Réf: IMG_20260303_170253.jpg).
- Sprites : 4 directions.
- Interactions :
- Sélection : Cliquer sur la base de l'élément (ou son sprite principal) pour le sélectionner.
- Feedback : Surbrillance (outline blanc/jaune) au survol de la souris.
Définition
| Champ |
Valeur |
| Concept |
Statut premium (VIP) lié au compte joueur. |
| Rôle |
Déverrouiller des avantages de confort + cosmétiques, notamment la conservation des thèmes/passes tant que VIP actif. |
| Portée |
Compte (tous zoos / toutes sessions). |
| Contrainte |
Pas de mécanisme de cache/mémorisation côté app : l’état VIP est lu comme un état courant (source de vérité). |
Fonctions (tableau détaillé)
| Fonction |
Déclencheur |
Entrées |
Sorties |
Règles |
Observabilité |
| Activer VIP |
achat/abonnement |
moyen de paiement, plan |
is_active=true, expiry_date |
Activation atomique, idempotente sur transaction |
Event VIP_ACTIVATED |
| Expirer VIP |
temps |
expiry_date |
is_active=false |
Expiration automatique au tick serveur / lazy update au login |
Event VIP_EXPIRED |
| Conserver thèmes passés |
check d’accès contenu |
keep_seasonal_themes |
autorisation |
Règle retenue : suspension des accès si VIP inactif (pas de perte définitive). |
Event VIP_CONTENT_ACCESS_CHECKED |
| Bonus passifs |
tick journalier |
plan |
coins/xp |
Bonus plafonnés (anti P2W), visibles dans UI |
Event VIP_DAILY_BONUS_GRANTED |
| Badge prestige |
render UI |
is_active |
badge |
Affiché partout pseudo/avatar |
Event VIP_BADGE_RENDER |
Icone de base
| Élément |
Spécification |
| Représentation |
Couronne / diamant |
| Couleur dominante |
Or / violet |
| Variantes |
icon_vip_crown.png, icon_vip_diamond.png |
| États |
Badge “actif” (or), “expiré” (gris), “renouvellement” (horloge) |
Interactions (tableau détaillé)
| Interaction |
Type |
Préconditions |
Étapes UI |
Résultat |
Erreurs / Messages |
| Voir offre VIP |
Consultation |
- |
Boutique/Profil → VIP |
page détail |
- |
| Acheter VIP |
Action |
paiement ok |
Clic “Devenir VIP” → confirmer |
VIP actif |
PAYMENT_FAILED, NETWORK_ERROR |
| Renouveler |
Action |
VIP actif ou expiré |
“Renouveler” |
expiry_date prolongée |
PAYMENT_FAILED |
| Voir contenu conservé |
Consultation |
VIP actif |
Profil → “Mes thèmes” |
liste |
VIP_REQUIRED |
| Réactiver après expiration |
Action |
VIP expiré |
“Réactiver” |
accès restauré (suspension levée) |
PAYMENT_FAILED |
Annexes Techniques
1. Données et États (tableau détaillé)
| Donnée / État |
Type |
Exemple |
Source |
Contraintes |
status_id |
string |
vip_subscription |
DB |
constant |
is_active |
boolean |
true |
DB |
dérivé de expiry_date |
expiry_date |
timestamp |
2026-12-31T23:59:59Z |
DB |
UTC |
plan_id |
string |
vip_monthly |
DB |
enum plans |
benefits.keep_seasonal_themes |
boolean |
true |
config |
gating contenu |
benefits.xp_multiplier |
float |
1.1 |
config |
cap 1.2 |
benefits.daily_coin_bonus |
int |
50 |
config |
cap 200 |
timestamps.created_at |
timestamp |
- |
DB |
audit |
timestamps.updated_at |
timestamp |
- |
DB |
audit |
Caractéristiques Initiales (tableau détaillé)
| Caractéristique |
Valeur initiale |
Unité |
Notes |
| VIP actif |
false |
bool |
par défaut |
| Multiplicateur XP |
1.0 |
coef |
sans VIP |
| Bonus coins/jour |
0 |
coins |
sans VIP |
| Conservation thèmes |
false |
bool |
gating |
Scores Initiaux (tableau détaillé)
| Score |
Valeur initiale |
Plage |
Impact |
| Jours VIP cumulés |
0 |
0..∞ |
UI historique (pas d’analytics) |
| Bonus total distribués |
0 |
0..∞ |
transparence UI |
2. Cycles de Vie et Apparition (tableau détaillé)
| Phase |
Déclencheur |
Entrées |
Sorties |
Invariants |
| Apparition |
création compte |
- |
VIP inactif |
- |
| Activation |
achat |
plan |
VIP actif |
atomicité |
| Renouvellement |
achat |
plan |
expiry prolongée |
monotone |
| Expiration |
temps |
date |
VIP inactif |
suspension contenu |
Conditions d'Apparition (tableau détaillé)
| Condition |
Seuil |
Opérateur |
Résultat |
| Compte créé |
true |
est |
entrée VIP créée (inactive) |
Conditions de Disparition (tableau détaillé)
| Condition |
Seuil |
Opérateur |
Résultat |
| Compte supprimé |
true |
est |
VIP supprimé |
Hérédité (tableau détaillé)
| Élément |
Hérité |
Règle |
| Historique VIP |
Oui |
persiste |
| Contenu “conservé” |
Oui |
reste possédé mais gated si VIP off |
3. Impacts Environnementaux
Impact Température (tableau détaillé)
| Condition |
Effet VIP |
Notes |
| - |
aucun |
statut méta |
Impact Milieu (Biome) (tableau détaillé)
| Biome |
Effet VIP |
Notes |
| - |
aucun |
- |
Impact Saisons (tableau détaillé)
| Saison |
Effet VIP |
Notes |
| Saison active |
contenu pass dispo |
lié au passe |
Impact Heure / Jour-Nuit (tableau détaillé)
| Période |
Effet VIP |
Notes |
| Jour |
bonus journalier |
horaire fixe serveur |
4. Impacts Biologiques et Sociaux
Impact Reproduction (tableau détaillé)
| Facteur |
Effet sur taux |
Condition |
| - |
aucun |
VIP n’affecte pas reproduction |
Impact Mort (tableau détaillé)
| Cas |
Effet |
Condition |
| - |
aucun |
- |
Impact Nourriture (tableau détaillé)
| Ressource |
Effet |
Condition |
| - |
aucun |
- |
Impact Attractivité(Visiteurs (tableau détaillé)
| Action/État |
Gain |
Rayon |
Notes |
| Thèmes conservés |
+ (cosmétique) |
zoo |
impact via esthétique |
Impact Attractivité Animaux) (tableau détaillé)
| Action/État |
Effet animaux |
Condition |
| - |
aucun direct |
- |
Impact Valeur (tableau détaillé)
| Facteur |
Variation |
Condition |
| Prestige VIP |
+ |
classement/présentation |
5. Impacts Logistiques et Économiques
Vitesse (Camion) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| - |
aucun |
- |
Vitesse (Nurserie) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| - |
aucun |
- |
Vitesse (Accueil) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| - |
aucun |
- |
Vitesse (Recherche) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| XP multiplier |
xp × 1.1 |
VIP actif |
Vitesse (Labo) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| - |
aucun |
- |
Vitesse (Visite) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| Temps visite |
+ léger |
confort (option) |
Dépenses (Billeterie) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Dépenses (Boutiques) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| Abonnement VIP |
variable |
coins/€ |
boutique |
Dépenses (Visiteurs) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Dépenses (Employés) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Dépenses (Boutiques) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| Section dupliquée |
0 |
- |
conservée |
Dépenses (Nurseries) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Dépenses (Nourriture) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Dépenses (Acceuil des animaux) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Dépenses (Camion) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
0 |
- |
- |
Trajet Visiteurs
Trajet Visiteurs vers/depuis la ville (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| Ville |
Zoo |
réputation |
VIP indirect (via thèmes/esthétique) |
Trajet Visiteurs vers/depuis les animaux (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| - |
- |
- |
- |
Trajet Visiteurs vers/depuis les boutiques (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| - |
- |
- |
- |
Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| - |
- |
- |
- |
6. Événements
Événements du Jeu (tableau détaillé)
| Event |
Déclencheur |
Payload |
Effet |
VIP_ACTIVATED |
paiement ok |
plan_id |
active |
VIP_EXPIRED |
date |
- |
suspend |
Événements du Carte (tableau détaillé)
| Event |
Déclencheur |
Effet |
VIP_BADGE_RENDER |
UI |
badge |
Événements du Zoo (tableau détaillé)
| Event |
Déclencheur |
Effet |
VIP_CONTENT_ACCESS_CHECKED |
apply theme |
allow/deny |
Événements du Ville / Visiteur (tableau détaillé)
| Event |
Déclencheur |
Effet |
| - |
- |
- |
Événements du Visiteur (tableau détaillé)
| Event |
Déclencheur |
Effet |
| - |
- |
- |
Événements du Joueur (tableau détaillé)
| Event |
Déclencheur |
Effet |
VIP_DAILY_BONUS_GRANTED |
reset journalier |
coins/xp |
7. Progression
Tableau des Upgrades (tableau détaillé)
| Niveau |
Coût |
Effet |
Débloque |
| 1 |
variable |
VIP actif |
badge + conservation gating |
8. Logique et Interfaces
Pseudo-code Impacts (tableau détaillé)
| Fonction |
Entrées |
Sorties |
Notes |
isVipActive |
now, expiry_date |
bool |
source de vérité |
canUseTheme |
vip, theme |
allow |
suspension si VIP off |
Messages d'Infos / Alerte (tableau détaillé)
| ID |
Niveau |
Message |
Condition |
VIP_REQUIRED |
Warning |
"VIP requis." |
accès contenu gated |
VIP_EXPIRED |
Info |
"VIP expiré." |
expiration |
Annexes UX/UI
1. Expérience Utilisateur (UX)
Description UX (tableau détaillé)
| Parcours |
But |
Friction |
Réduction clics |
| Devenir VIP |
conserver thèmes |
paiement |
bouton direct profil + boutique |
| Réactiver |
restaurer accès |
paiement |
deep-link depuis contenu locké |
Description UI (tableau détaillé)
| Composant |
Contenu |
États |
| Page VIP |
bénéfices, prix, CTA |
active/expired |
| Badge VIP |
couronne |
visible partout |
Emplacement (tableau détaillé)
| Zone UI |
Position |
Notes |
| Profil |
en-tête |
badge |
| Boutique |
section VIP |
CTA |
Intégration (tableau détaillé)
| Intégration |
Contrat |
Notes |
| Skins/thèmes |
gating |
suspension |
| Passe saisonnier |
conservation |
VIP |
Navigation (tableau détaillé)
| Action |
Chemin |
Résultat |
| Ouvrir VIP |
profil/boutique |
page |
| Acheter |
CTA |
paiement |
Événements (tableau détaillé)
| Event UI |
Déclencheur |
Effet |
OPEN_VIP_PAGE |
clic |
page |
CLICK_BUY_VIP |
CTA |
paiement |
Assets Skinables
Musiques (tableau détaillé)
| Asset |
Usage |
Durée |
Notes |
vip_page_loop.mp3 |
page VIP |
loop |
discret |
Sons (tableau détaillé)
| Asset |
Usage |
Volume |
ui_purchase_success.mp3 |
achat ok |
moyen |
ui_purchase_fail.mp3 |
achat fail |
moyen |
Graphiques (tableau détaillé)
| Asset |
Usage |
Contraintes |
vip_badge_crown.png |
badge |
scalable |
vip_gold_glow.png |
FX |
overlay |
Images (tableau détaillé)
| Asset |
Usage |
vip_banner.png |
hero |
vip_benefit_cards.png |
cartes |
Vidéos (tableau détaillé)
| Asset |
Usage |
Durée |
vip_glow.webm |
succès |
1.0s |
Animations (tableau détaillé)
| Animation |
Déclencheur |
Notes |
| glow doré |
activation |
0.8s |
| badge pulse |
reward |
0.6s |
Couleurs (tableau détaillé)
| Token |
Valeur |
Usage |
vip_gold |
#D4AF37 |
UI |
vip_purple |
#6A1B9A |
accent |
Textes (tableau détaillé)
| Clé |
FR |
EN |
vip.become |
Devenir VIP |
Become VIP |
vip.renew |
Renouveler |
Renew |
Formes (tableau détaillé)
| Élément |
Forme |
Notes |
| Cartes bénéfices |
rectangles arrondis |
lisibles |
| Badge |
rond |
constant |