Spécifications : Carte (Générique)
Définition
Une carte est une grille de cases représentant un espace de jeu ou de navigation.
Propriétés
- Dimensions : Largeur et hauteur définies en nombre de cases.
- Biomes : Les cases ont une couleur de fond représentant leur biome (milieu).
- Quadrillage : Les cases sont disposées en grille orthogonale.
- Cohérence : Les transitions de couleurs (milieux) et de températures doivent être douces entre les cases adjacentes.
Types de cartes
- Carte du Zoo (Espace de gestion du joueur)
- Carte du Monde (Espace de navigation multijoueur)
Annexes Techniques
1. Données et États
Modèle de Données (JSON)
Caractéristiques Initiales
Taille : Définie à la création.
Scores Initiaux
Densité : 0% occupée.
2. Cycles de Vie et Apparition
Conditions d'Apparition
Création à l'initialisation du jeu/compte.
Conditions de Disparition
Suppression du compte.
Hérédité
Configuration : La disposition des biomes peut être conservée ou régénérée.
3. Impacts Environnementaux
Impact Température
Globale : La carte porte la météo globale qui affecte toutes les cases.
Impact Milieu (Biome)
Distribution : La carte gère la répartition des biomes (Génération procédurale ou fixe).
Impact Saisons
Cycle : La carte orchestre le changement de saison pour toutes les entités.
Impact Heure / Jour-Nuit
Cycle : La carte gère l'horloge mondiale.
4. Impacts Biologiques et Sociaux
Impact Reproduction
Population : La carte suit le nombre total d'animaux pour les limites globales.
Impact Mort
Cimetière : La carte peut garder une trace des morts (statistiques).
Impact Nourriture
Ressources : La carte gère les stocks globaux si centralisés.
Impact Attractivité (Visiteurs/Animaux)
Score Global : Somme des attractivités locales.
Impact Valeur
Valorisation : Valeur totale du terrain.
5. Impacts Logistiques et Économiques
Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
Temps : La carte gère le deltaTime global.
Dépenses (Boutiques/Visiteurs)
Économie : La carte centralise les flux financiers (optionnel).
Trajet Visiteurs
Réseau : La carte définit le graphe de navigation global.
6. Événements
Événements du Jeu / Carte / Zoo / Ville / Visiteur
- Tick : Mise à jour périodique de toutes les entités.
7. Progression
Tableau des Upgrades
Voir agrandissement_carte.md.
8. Logique et Interfaces
Pseudo-code Impacts
Messages d'Infos / Alerte
| ID |
Niveau |
Message |
MAP_LOADED |
Info |
"Carte chargée avec succès." |
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.
1. Expérience Utilisateur (UX)
Navigation (Action)
Description UX : Le joueur explore la carte.
Description UI : Drag & Drop (Pan) pour se déplacer. Zoom In/Out (Molette/Pinch).
Emplacement : Vue Principale.
Intégration : Plein écran.
Navigation : Pan/Zoom.
Événements : MAP_MOVE, MAP_ZOOM.
Assets
- Musiques : Ambiance calme (Zoo) / Aventure (Monde).
- Sons : Vent léger.
- Graphiques : Grille (Grid lines) subtile.
- Images : Fond d'écran (Skybox).
- Vidéos : Nuages qui passent (Overlay).
- Animations : Inertie du mouvement.
- Couleurs : Fond neutre hors carte.
- Textes : Coordonnées (Debug).
- Formes : Rectangulaire.
Définition
| Champ |
Valeur |
| Concept |
Abstraction “carte” : structure de grille + règles de navigation + horloge, déclinée en carte zoo et carte monde. |
| Rôle |
Offrir un contrat commun de coordonnées, rendu isométrique, événements de déplacement/zoom, et cycle temps (jour/nuit, saisons). |
| Portée |
Base pour carte_zoo.md et carte_monde.md, et pour les types case_*. |
| Contrainte |
Aucun cache/mémorisation obligatoire : la carte fournit des fonctions de calcul à la volée (variants, z_index, routes). |
Fonctions (tableau détaillé)
| Fonction |
Déclencheur |
Entrées |
Sorties |
Règles |
Observabilité |
| Initialiser carte |
création |
type, seed |
grid |
dimensions fixées |
Event MAP_INIT |
| Résoudre case |
lookup |
x,y |
case |
unicité coord |
Event MAP_CASE_RESOLVED |
| Convertir coord → iso |
rendu |
x,y |
iso_x/iso_y |
formule iso stable |
Event MAP_COORD_CONVERTED |
| Calculer z_index |
rendu |
x,y |
int |
priorité y puis x |
Event MAP_ZINDEX_COMPUTED |
| Déclencher tick |
loop |
deltaTime |
events |
mise à jour entités |
Event MAP_TICK |
| Déplacement caméra |
input |
pan/zoom |
camera state |
clamp |
Event MAP_MOVE / MAP_ZOOM |
Icone de base
| Élément |
Spécification |
| Représentation |
Grille + boussole |
| Couleur dominante |
Neutre |
| Variantes |
icon_map_generic.png, icon_compass.png |
| États |
normal, loading, locked |
Interactions (tableau détaillé)
| Interaction |
Type |
Préconditions |
Étapes UI |
Résultat |
Erreurs / Messages |
| Pan |
Navigation |
carte autorise pan |
drag |
caméra bouge |
- |
| Zoom |
Navigation |
- |
pinch/wheel |
caméra zoom |
- |
| Sélection case |
Consultation |
case interactive |
clic |
panneau |
CASE_LOCKED |
Personnage contextuel (événements & interaction)
Les cartes peuvent afficher un personnage contextuel quand un module de carte est actionné ou lorsqu’un événement impacte la navigation.
Références
- Carte du zoo : avatar du joueur actif comme contexte principal (
avatar_joueur.md), plus visiteurs/staff selon événements (carte_zoo.md).
- Carte du monde : maire pour les événements de ville (
maire.md, ville.md), joueurs/bots pour les interactions sociales (joueur.md, bot.md), visiteurs comme flux (visiteur.md).
Déclencheurs (génériques)
| Event / Action |
Condition |
Effet UI personnage |
MAP_LOADED |
carte prête |
portrait/mascotte de contexte (selon type) |
MAP_MOVE / MAP_ZOOM |
navigation |
feedback passif (pas de spam) |
CASE_LOCKED |
gating |
message explicite (raison + action) |
Skins & thèmes
Le personnage contextuel suit theme.md. Les portraits/mini-avatars peuvent utiliser les skins via inventaire_skins.md si la mécanique est activée.
Annexes Techniques
1. Données et États (tableau détaillé)
| Donnée / État |
Type |
Exemple |
Source |
Contraintes |
id |
uuid_v4 |
uuid_v4 |
DB |
unique |
type |
enum |
zoo |
DB |
zoo/world |
width |
int |
6 |
DB |
>0 |
height |
int |
5 |
DB |
>0 |
grid[x][y].case_ref |
uuid_v4 |
uuid_v4 |
DB |
référence |
time.day_phase |
enum |
day |
calcul |
jour/nuit |
time.season |
enum |
spring |
calcul |
saisons |
iso_x |
int |
0 |
calcul |
origine |
iso_y |
int |
0 |
calcul |
origine |
Caractéristiques Initiales (tableau détaillé)
| Caractéristique |
Valeur initiale |
Unité |
Notes |
| Densité occupée |
0 |
% |
init |
| DeltaTime |
1 |
tick |
logique |
Scores Initiaux (tableau détaillé)
| Score |
Valeur initiale |
Plage |
Impact |
| Exploration |
0 |
0..100 |
carte monde |
| Aménagement |
0 |
0..100 |
carte zoo |
2. Cycles de Vie et Apparition (tableau détaillé)
| Phase |
Déclencheur |
Entrées |
Sorties |
Invariants |
| Création |
init jeu |
seed |
carte |
stable |
| Utilisation |
session |
input |
camera |
clamp |
| Destruction |
suppression compte |
- |
supprimée |
- |
Conditions d'Apparition (tableau détaillé)
| Condition |
Seuil |
Opérateur |
Résultat |
| Initialisation |
true |
est |
carte créée |
Conditions de Disparition (tableau détaillé)
| Condition |
Seuil |
Opérateur |
Résultat |
| Compte supprimé |
true |
est |
carte supprimée |
Hérédité (tableau détaillé)
| Élément |
Hérité |
Règle |
| Configuration seed |
Oui |
rejouable |
| Variants render |
Non |
recalcul |
3. Impacts Environnementaux
Impact Température (tableau détaillé)
| Condition |
Effet carte |
Notes |
| Météo globale |
mod cases |
propagée |
Impact Milieu (Biome) (tableau détaillé)
| Biome |
Effet carte |
Notes |
| Répartition |
gen/procédural |
cohérence |
Impact Saisons (tableau détaillé)
| Saison |
Effet carte |
Notes |
| Cycle |
mod visuel |
global |
Impact Heure / Jour-Nuit (tableau détaillé)
| Période |
Effet carte |
Notes |
| Nuit |
assombrissement |
global |
4. Impacts Biologiques et Sociaux
Impact Reproduction (tableau détaillé)
| Facteur |
Effet sur taux |
Condition |
| Population globale |
caps |
simulation |
Impact Mort (tableau détaillé)
| Cas |
Effet |
Condition |
| Traces |
journal |
option |
Impact Nourriture (tableau détaillé)
| Ressource |
Effet |
Condition |
| Stocks |
centralisation |
option |
Impact Attractivité(Visiteurs (tableau détaillé)
| Action/État |
Gain |
Rayon |
Notes |
| Score global |
agrégation |
monde |
carte monde |
Impact Attractivité Animaux) (tableau détaillé)
| Action/État |
Effet animaux |
Condition |
| - |
neutre |
base |
Impact Valeur (tableau détaillé)
| Facteur |
Variation |
Condition |
| Terrain |
+ |
cases |
5. Impacts Logistiques et Économiques
Vitesse (Camion) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| deltaTime |
avance mission |
tick |
Vitesse (Nurserie) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| timers |
progress |
tick |
Vitesse (Accueil) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| timers |
progress |
tick |
Vitesse (Recherche) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| projets |
durations |
tick |
Vitesse (Labo) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| refresh offres |
24h |
tick |
Vitesse (Visite) (tableau détaillé)
| Paramètre |
Effet |
Condition |
| pathfinding |
recalcul |
obstacles |
Dépenses (Billeterie) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| Affichage UI |
1 |
coins |
lore |
Dépenses (Boutiques) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
1 |
coins |
lore |
Dépenses (Visiteurs) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
1 |
coins |
lore |
Dépenses (Employés) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
1 |
coins |
lore |
Dépenses (Boutiques) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| Section dupliquée |
1 |
coins |
conservée |
Dépenses (Nurseries) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
1 |
coins |
lore |
Dépenses (Nourriture) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
1 |
coins |
lore |
Dépenses (Acceuil des animaux) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
1 |
coins |
lore |
Dépenses (Camion) (tableau détaillé)
| Poste |
Coût |
Unité |
Condition |
| - |
1 |
coins |
lore |
Trajet Visiteurs
Trajet Visiteurs vers/depuis la ville (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| Ville |
Zoo |
attractivité |
flux |
Trajet Visiteurs vers/depuis les animaux (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| Entrée |
Enclos |
curiosité |
route |
Trajet Visiteurs vers/depuis les boutiques (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| Enclos |
Boutique |
besoin |
route |
Trajet Visiteurs vers/depuis la billeterie (entrées/sorties du zoo) (tableau détaillé)
| Source |
Destination |
Déclencheur |
Effet |
| Zoo |
Sortie |
fermeture |
despawn |
6. Événements
Événements du Jeu (tableau détaillé)
| Event |
Déclencheur |
Payload |
Effet |
MAP_TICK |
loop |
dt |
update |
MAP_LOADED |
init |
type |
ready |
Événements du Carte (tableau détaillé)
| Event |
Déclencheur |
Effet |
MAP_MOVE |
input |
camera |
Événements du Zoo (tableau détaillé)
| Event |
Déclencheur |
Effet |
MAP_INIT |
create |
grid |
Événements du Ville / Visiteur (tableau détaillé)
| Event |
Déclencheur |
Effet |
MAP_ZOOM |
input |
camera |
Événements du Visiteur (tableau détaillé)
| Event |
Déclencheur |
Effet |
MAP_CASE_RESOLVED |
lookup |
case |
Événements du Joueur (tableau détaillé)
| Event |
Déclencheur |
Effet |
MAP_COORD_CONVERTED |
render |
iso |
7. Progression
Tableau des Upgrades (tableau détaillé)
| Niveau |
Coût |
Effet |
Débloque |
| 1 |
100 |
zoom + |
map |
8. Logique et Interfaces
Pseudo-code Impacts (tableau détaillé)
| Fonction |
Entrées |
Sorties |
Notes |
updateMap |
map, dt |
map |
tick |
toIso |
x,y |
iso |
projection |
Messages d'Infos / Alerte (tableau détaillé)
| ID |
Niveau |
Message |
Condition |
MAP_LOADED |
Info |
"Carte chargée." |
init |
CASE_LOCKED |
Warning |
"Zone verrouillée." |
gating |
Annexes UX/UI
1. Expérience Utilisateur (UX)
Description UX (tableau détaillé)
| Parcours |
But |
Friction |
Réduction clics |
| Explorer |
comprendre espace |
navigation |
pan/zoom |
| Centrer |
retrouver point |
perte |
bouton recentrer |
Description UI (tableau détaillé)
| Composant |
Contenu |
États |
| HUD carte |
boutons |
visible |
| Tooltip |
coord/site |
hover |
Emplacement (tableau détaillé)
| Zone UI |
Position |
Notes |
| Plein écran |
centre |
carte |
Intégration (tableau détaillé)
| Intégration |
Contrat |
Notes |
carte_zoo.md |
usage |
build |
carte_monde.md |
usage |
navigation |
Navigation (tableau détaillé)
| Action |
Chemin |
Résultat |
| Pan |
drag |
move |
| Zoom |
pinch |
scale |
Événements (tableau détaillé)
| Event UI |
Déclencheur |
Effet |
MAP_MOVE |
drag |
camera |
MAP_ZOOM |
pinch |
camera |
Assets Skinables
Musiques (tableau détaillé)
| Asset |
Usage |
Durée |
Notes |
map_generic_loop.mp3 |
carte |
loop |
neutre |
Sons (tableau détaillé)
| Asset |
Usage |
Volume |
hover_soft.mp3 |
hover |
bas |
ui_zoom.mp3 |
zoom |
bas |
Graphiques (tableau détaillé)
| Asset |
Usage |
Contraintes |
grid_lines.png |
overlay |
subtil |
tooltip_bg.png |
tooltip |
lisible |
Images (tableau détaillé)
| Asset |
Usage |
skybox.png |
fond |
Vidéos (tableau détaillé)
| Asset |
Usage |
Durée |
clouds_overlay.webm |
fond |
loop |
Animations (tableau détaillé)
| Animation |
Déclencheur |
Notes |
| inertie pan |
move |
0.2s |
Couleurs (tableau détaillé)
| Token |
Valeur |
Usage |
map_bg |
#202020 |
hors carte |
map_highlight |
#FFFFFF |
hover |
Textes (tableau détaillé)
| Clé |
FR |
EN |
map.coords |
Coordonnées |
Coordinates |
map.loaded |
Carte chargée |
Map loaded |
Formes (tableau détaillé)
| Élément |
Forme |
Notes |
| Tooltip |
rectangle arrondi |
lisible |