Initial commit
**Motivations:** - Initialisation du versionning git pour le projet **Root causes:** - N/A (Nouveau projet) **Correctifs:** - N/A **Evolutions:** - Structure initiale du projet - Ajout du .gitignore **Pages affectées:** - Tous les fichiers
This commit is contained in:
219
docs/specs/camion.md
Normal file
219
docs/specs/camion.md
Normal file
@@ -0,0 +1,219 @@
|
||||
# Spécifications : Camion
|
||||
|
||||
## Définition
|
||||
Véhicule de transport pour les achats et les ventes d'animaux/œufs.
|
||||
|
||||
## Fonctionnalités
|
||||
- **Transport** : Effectue les trajets entre le zoo du joueur et les autres sites (zoos, labo) sur la Carte du Monde.
|
||||
- **Vente** : Zone de dépôt sur la carte du zoo pour mettre un animal en vente.
|
||||
- **Achat** : Zone de réception sur la carte du monde pour acheter une offre.
|
||||
|
||||
## Comportement
|
||||
- **Trajet** : Aller-retour physique sur la carte du monde. La durée dépend de la distance et du niveau du camion.
|
||||
- **Capacité** : Transporte un animal/œuf à la fois (par unité de camion).
|
||||
|
||||
## Niveaux d'Amélioration (7 niveaux)
|
||||
- **Coût** : Progressif par palier.
|
||||
- **Effet** : Augmente la vitesse de déplacement. Réduit la dégradation du score de reproduction due au transport (stress).
|
||||
- **Ratio** : 1 unité couvre 1 camion actif.
|
||||
|
||||
# Annexes Techniques
|
||||
|
||||
## 1. Données et États
|
||||
### Modèle de Données (JSON)
|
||||
```json
|
||||
{
|
||||
"id": "uuid",
|
||||
"owner_id": "uuid",
|
||||
"level": "integer (1-7)",
|
||||
"status": "enum ('idle', 'moving_to_target', 'moving_home')",
|
||||
"cargo": "animal_uuid | null",
|
||||
"position": { "x": "float", "y": "float" },
|
||||
"target_site_id": "uuid | null"
|
||||
}
|
||||
```
|
||||
|
||||
### Caractéristiques Initiales
|
||||
| Caractéristique | Valeur Initiale (Niv 1) |
|
||||
| :--- | :--- |
|
||||
| Vitesse | 50 km/h (simulé) |
|
||||
| Confort | Basique (Stress normal) |
|
||||
|
||||
### Scores Initiaux
|
||||
N/A
|
||||
|
||||
## 2. Cycles de Vie et Apparition
|
||||
### Conditions d'Apparition
|
||||
Démarrage jeu.
|
||||
|
||||
### Conditions de Disparition
|
||||
N/A
|
||||
|
||||
### Hérédité
|
||||
N/A
|
||||
|
||||
## 3. Impacts Environnementaux
|
||||
### Impact Température
|
||||
N/A
|
||||
|
||||
### Impact Milieu (Biome)
|
||||
N/A
|
||||
|
||||
### Impact Saisons
|
||||
**Hiver** : Vitesse réduite de 20% (Neige).
|
||||
|
||||
### Impact Heure / Jour-Nuit
|
||||
N/A
|
||||
|
||||
## 4. Impacts Biologiques et Sociaux
|
||||
### Impact Reproduction
|
||||
**Stress Transport** : Réduit temporairement la fertilité de l'animal transporté.
|
||||
| Niveau Camion | Perte Fertilité / Heure Trajet |
|
||||
| :--- | :--- |
|
||||
| 1 | -10% |
|
||||
| 7 | -1% |
|
||||
|
||||
### Impact Mort
|
||||
Si trajet trop long (> 24h) sans confort, risque de mort (Faim/Stress).
|
||||
|
||||
### Impact Nourriture
|
||||
N/A
|
||||
|
||||
### Impact Attractivité (Visiteurs/Animaux)
|
||||
N/A
|
||||
|
||||
### Impact Valeur
|
||||
N/A
|
||||
|
||||
## 5. Impacts Logistiques et Économiques
|
||||
### Vitesse (Camion/Nurserie/Accueil/Recherche/Labo/Visite)
|
||||
**Vitesse Déplacement** :
|
||||
| Niveau | Vitesse |
|
||||
| :--- | :--- |
|
||||
| 1 | 50 km/h |
|
||||
| 2 | 70 km/h |
|
||||
| 3 | 90 km/h |
|
||||
| 4 | 110 km/h |
|
||||
| 5 | 130 km/h |
|
||||
| 6 | 150 km/h |
|
||||
| 7 | 200 km/h (Avion/Hélico ?) |
|
||||
|
||||
### Dépenses (Boutiques/Visiteurs)
|
||||
N/A
|
||||
|
||||
### Trajet Visiteurs
|
||||
N/A
|
||||
|
||||
## 6. Événements
|
||||
### Événements du Jeu / Carte / Zoo / Ville / Visiteur
|
||||
* **Départ** : Camion part.
|
||||
* **Arrivée** : Camion revient avec marchandise.
|
||||
|
||||
## 7. Progression
|
||||
### Tableau des Upgrades
|
||||
| Niveau | Coût (Pièces) | Vitesse | Confort | Temps Construction |
|
||||
| :--- | :--- | :--- | :--- | :--- |
|
||||
| 1 | 100 | 50 | Bas | 0s |
|
||||
| 2 | 200 | 70 | Moyen | 0s |
|
||||
| 3 | 400 | 90 | Moyen | 0s |
|
||||
| 4 | 800 | 110 | Bon | 0s |
|
||||
| 5 | 1600 | 130 | Bon | 0s |
|
||||
| 6 | 3200 | 150 | Excellent | 0s |
|
||||
| 7 | 6400 | 200 | Parfait | 0s |
|
||||
|
||||
## 8. Logique et Interfaces
|
||||
### Pseudo-code Impacts
|
||||
```
|
||||
function updateTruck(truck, deltaTime):
|
||||
if truck.status == 'moving':
|
||||
distance = truck.speed * deltaTime
|
||||
moveTowardsTarget(truck, distance)
|
||||
|
||||
if truck.cargo:
|
||||
truck.cargo.stress += baseStress * (1.0 - truck.comfortFactor) * deltaTime
|
||||
```
|
||||
|
||||
### Messages d'Infos / Alerte
|
||||
| ID | Niveau | Message |
|
||||
| :--- | :--- | :--- |
|
||||
| `TRUCK_ARRIVED` | Info | "Le camion est revenu au zoo." |
|
||||
|
||||
# Annexes UX/UI
|
||||
|
||||
## 1. Expérience Utilisateur (UX)
|
||||
### Envoi en Mission (Action)
|
||||
**Description UX** : Le joueur achète un animal sur la carte du monde. Le camion part automatiquement le chercher.
|
||||
**Description UI** : Le camion quitte sa case au zoo (animation départ) et apparaît sur la carte du monde, se déplaçant vers la cible.
|
||||
**Emplacement** : Zoo -> Carte Monde.
|
||||
**Intégration** : Transition fluide.
|
||||
**Navigation** : Achat -> Vue Carte Monde (auto ou manuelle).
|
||||
**Événements** : `TRUCK_DEPART`.
|
||||
|
||||
#### Assets
|
||||
- **Musiques** : N/A
|
||||
- **Sons** : `engine_start.mp3`, `horn.mp3`.
|
||||
- **Graphiques** : Sprite Camion (Vue dessus et côté).
|
||||
- **Images** : N/A
|
||||
- **Vidéos** : N/A
|
||||
- **Animations** : Roues qui tournent, fumée échappement.
|
||||
- **Couleurs** : Jaune/Noir (Chantier) ou Blanc (Livraison).
|
||||
- **Textes** : "En route vers [Destination]".
|
||||
- **Formes** : N/A
|
||||
|
||||
### Suivi Trajet (Passif/Actif)
|
||||
**Description UX** : Le joueur peut suivre le camion sur la carte du monde.
|
||||
**Description UI** : Icône camion qui bouge sur la ligne de trajet. Timer estimé au survol.
|
||||
**Emplacement** : Carte Monde.
|
||||
**Intégration** : Overlay.
|
||||
**Navigation** : Clic Camion -> Info Trajet.
|
||||
**Événements** : `TRACK_TRUCK`.
|
||||
|
||||
#### Assets
|
||||
- **Musiques** : N/A
|
||||
- **Sons** : Bruit moteur continu (faible).
|
||||
- **Graphiques** : Ligne pointillée (trajet).
|
||||
- **Images** : N/A
|
||||
- **Vidéos** : N/A
|
||||
- **Animations** : Déplacement linéaire.
|
||||
- **Couleurs** : Ligne Blanche.
|
||||
- **Textes** : "Arrivée dans MM:SS".
|
||||
- **Formes** : N/A
|
||||
|
||||
### Activité d'Attente (Gameplay)
|
||||
**Description UX** : Pendant le trajet (temps mort), le joueur peut cliquer sur le camion pour le "booster" ou nettoyer le pare-brise (mini-jeu simple) pour gagner quelques secondes ou de l'XP.
|
||||
**Description UI** : Zoom sur le camion. Taches apparaissent, clic pour nettoyer.
|
||||
**Emplacement** : Modal Camion (en trajet).
|
||||
**Intégration** : Mini-jeu optionnel.
|
||||
**Navigation** : Clic Camion -> Mini-jeu.
|
||||
**Événements** : `CLEAN_WINDSHIELD`.
|
||||
|
||||
#### Assets
|
||||
- **Musiques** : Radio camion (musique lo-fi).
|
||||
- **Sons** : `wipe.mp3` (essuie-glace). **Design ASMR** : Bruit d'éponge mouillée ou de raclette satisfaisant.
|
||||
- **Graphiques** : Taches de boue/insectes.
|
||||
- **Images** : Vue cockpit simplifiée.
|
||||
- **Vidéos** : N/A
|
||||
- **Animations** : Essuie-glace qui bouge.
|
||||
- **Couleurs** : N/A
|
||||
- **Textes** : "Boost !"
|
||||
- **Formes** : N/A
|
||||
|
||||
### Arrivée (Passif)
|
||||
**Description UX** : Le camion revient au zoo et se gare.
|
||||
**Description UI** : Animation d'arrivée. Notification "Camion rentré".
|
||||
**Notification Push** : "Le camion est de retour !" (si application fermée).
|
||||
**Emplacement** : Case Camion.
|
||||
**Intégration** : Fin cycle.
|
||||
**Navigation** : N/A
|
||||
**Événements** : `TRUCK_ARRIVE`.
|
||||
|
||||
#### Assets
|
||||
- **Musiques** : N/A
|
||||
- **Sons** : `truck_stop.mp3`.
|
||||
- **Graphiques** : N/A
|
||||
- **Images** : N/A
|
||||
- **Vidéos** : N/A
|
||||
- **Animations** : Freinage.
|
||||
- **Couleurs** : N/A
|
||||
- **Textes** : N/A
|
||||
- **Formes** : N/A
|
||||
Reference in New Issue
Block a user