Enrichissement exhaustif des specs : Vue Isométrique et Design
**Motivations:** - Aligner toute la documentation technique avec la nouvelle direction artistique isométrique (Réf IMG_20260303_170253). - Faciliter l'implémentation en ajoutant les contraintes techniques liées à la 2.5D (Z-index, Sprites 4 directions). **Root causes:** - Besoin de cohérence visuelle et technique sur l'ensemble du projet. **Correctifs:** - N/A **Evolutions:** - Ajout systématique de la section "Direction Artistique & Vue" dans `Annexes UX/UI` de tous les fichiers. - Enrichissement des modèles JSON avec coordonnées isométriques (`iso_x`, `iso_y`, `z_index`). - Précision des interactions (clic, survol) adaptées à la grille losange. - Conservation stricte de la structure existante (aucun titre supprimé). **Pages affectées:** - docs/specs/*
This commit is contained in:
@@ -14,6 +14,16 @@ La carte du monde est vaste, mais le joueur ne voit initialement qu'une petite z
|
||||
## 1. Données et États
|
||||
### Modèle de Données (JSON)
|
||||
Propriété `view_radius` sur `Zoo` ou `Player`.
|
||||
```json
|
||||
{
|
||||
"player_id": "uuid",
|
||||
"world_map_state": {
|
||||
"view_radius_km": 100,
|
||||
"unlocked_zones": ["zone_0_0", "zone_0_1"],
|
||||
"fog_of_war_mask": "bitmask_string"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Caractéristiques Initiales
|
||||
| Caractéristique | Valeur Initiale |
|
||||
@@ -32,8 +42,38 @@ Propriété `view_radius` sur `Zoo` ou `Player`.
|
||||
| 6 | 2500 | 1200 km |
|
||||
| 7 | 5000 | 2000 km |
|
||||
|
||||
## 8. Logique et Interfaces
|
||||
### Algorithme d'Exploration
|
||||
```python
|
||||
def explore_world(player):
|
||||
next_level = get_next_exploration_level(player.exploration_level)
|
||||
cost = next_level.cost
|
||||
|
||||
if player.research_points < cost:
|
||||
return error("NOT_ENOUGH_RP", "Points de recherche insuffisants.")
|
||||
|
||||
player.research_points -= cost
|
||||
player.exploration_level += 1
|
||||
player.view_radius = next_level.radius
|
||||
|
||||
# Révéler les POI dans le nouveau rayon
|
||||
new_pois = find_pois_in_radius(player.zoo_location, player.view_radius)
|
||||
notify_discovery(new_pois)
|
||||
|
||||
return success("EXPLORATION_SUCCESS")
|
||||
```
|
||||
|
||||
# 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)
|
||||
### Découverte (Passif/Action)
|
||||
**Description UX** : En payant des points de recherche, le brouillard de guerre recule sur la carte du monde.
|
||||
@@ -53,3 +93,7 @@ Propriété `view_radius` sur `Zoo` ou `Player`.
|
||||
- **Couleurs** : Blanc/Gris (Nuages).
|
||||
- **Textes** : "Nouvelle zone découverte !".
|
||||
- **Formes** : Cercle (Rayon de vue).
|
||||
|
||||
### Vue Isométrique
|
||||
- **Carte** : La carte du monde peut être stylisée comme une carte papier posée sur une table, ou un globe holographique.
|
||||
- **Bords** : Les bords de la zone connue sont flous ou déchirés.
|
||||
|
||||
Reference in New Issue
Block a user