- Add hybrid deployment modes: local_dev (MVP) and production_pwa (optional) - Integrate WarFactory engine reuse with hot-reload 0.4ms - Define multi-target compilation strategy (DLL/SO/WASM) - Detail both deployment modes with cost analysis - Add progressive roadmap: Phase 1 (local), Phase 2 (POC WASM), Phase 3 (cloud) - Budget clarified: $10-20/mois (local) vs $13-25/mois (cloud) - Document open questions for technical validation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
269 lines
9.6 KiB
Markdown
269 lines
9.6 KiB
Markdown
# Métriques Joueur
|
||
|
||
## Vue d'ensemble
|
||
|
||
Le système de métriques de Warfactory fournit aux joueurs des **statistiques détaillées** avec graphiques complets de performance, permettant l'analyse fine de leur progression industrielle et militaire.
|
||
|
||
## Architecture Données
|
||
|
||
### Distinction Breakthrough vs Métriques
|
||
|
||
**Breakthrough System** : Données minimales (~KB par company)
|
||
- State actuel uniquement
|
||
- Compteurs cumulatifs simples
|
||
- Focus : Performance et déclenchement conditions
|
||
|
||
**Système Métriques** : Données historiques complètes (~MB par entité)
|
||
- Historique détaillé production
|
||
- Graphiques temporels complets
|
||
- Focus : Analyse et visualisation
|
||
|
||
### Volume de Données par Partie (300-400h)
|
||
|
||
#### Companies IA (1000)
|
||
- **Fréquence** : 1 point toutes les 10min
|
||
- **Ressources** : 10 produits trackés par company
|
||
- **Volume** : 1000 × 10 × (400h × 6 points/h) × 8 bytes = **192MB par partie**
|
||
|
||
#### États (50)
|
||
- **Fréquence** : 1 point toutes les 10min
|
||
- **Ressources** : 3000 ressources par état
|
||
- **Volume** : 50 × 3000 × (400h × 6 points/h) × 8 bytes = **2.9GB par partie**
|
||
|
||
#### Joueurs (Scaling Adaptatif Multijoueur)
|
||
- **Solo/Company partagée** : 1 point toutes les 30sec = 120 points/h
|
||
- **Multijoueur adaptatif** : Fréquence réduite selon nombre de companies
|
||
- **1 company** : 2 points/min (120 points/h)
|
||
- **5 companies** : 0.4 points/min (24 points/h)
|
||
- **10+ companies** : 0.25 points/min minimum (15 points/h)
|
||
- **Ressources** : 40 produits trackés
|
||
- **Volume variable** : 1 × 40 × (400h × points/h) × 8 bytes = **15MB à 3MB selon config**
|
||
|
||
**Total par partie** : ~3.1GB constant (data sharing + scaling adaptatif)
|
||
- **Joueurs même company** : Dataset partagé (pas de duplication)
|
||
- **Free-for-all** : Granularité réduite maintient volume total stable
|
||
|
||
## Types de Métriques
|
||
|
||
### 1. Production & Économie
|
||
|
||
#### Métriques de Production
|
||
- **Production par ressource** : Steel/h, Electronic components/h, Véhicules/jour
|
||
- **Efficacité usines** : % utilisation, downtime, bottlenecks identifiés
|
||
- **Évolution capacités** : Courbes de croissance industrielle
|
||
- **Ratios production** : Input/Output, waste, efficiency metrics
|
||
|
||
#### Métriques Économiques
|
||
- **Revenus/Dépenses** : Graphiques détaillés par source et destination
|
||
- **Flux financiers** : Cash flow, profit margins, ROI investissements
|
||
- **Commerce international** : Exports/imports par pays et ressource
|
||
- **Coûts opérationnels** : Breakdown par type (énergie, main d'œuvre, matières premières)
|
||
|
||
### 2. Recherche & Développement
|
||
|
||
#### Progression Technologique
|
||
- **Timeline breakthroughs** : Chronologie découvertes avec sources
|
||
- **Sources de découverte** : Ratio Scrap vs Natural vs Events vs Purchase
|
||
- **Domaines expertise** : Radar de spécialisations technologiques
|
||
- **Investissements R&D** : Allocations budget et ROI par domaine
|
||
|
||
#### Innovation Metrics
|
||
- **Taux découverte** : Breakthroughs/mois in-game
|
||
- **Efficacité R&D** : Coût moyen par breakthrough
|
||
- **Diversification** : Spread technologique sur domaines
|
||
- **Compétitivité** : Position vs autres companies (si intel disponible)
|
||
|
||
### 3. Expansion & Influence
|
||
|
||
#### Contrôle Géographique
|
||
- **Territoire contrôlé** : Surface, ressources accessibles, population
|
||
- **Infrastructure** : Density routes, bases, installations industrielles
|
||
- **Influence diplomatique** : Relations par pays/région, contrats actifs
|
||
- **Sécurité zones** : Threat levels, incidents sécuritaires
|
||
|
||
|
||
## Visualisations
|
||
|
||
### Graphiques Temporels
|
||
|
||
#### Production Dashboard
|
||
```
|
||
Production Steel (tonnes/jour)
|
||
▲
|
||
1000│ ╭─╮
|
||
800│ ╭─╯ ╰─╮
|
||
600│ ╭─╯ ╰─╮
|
||
400│╭╯ ╰─╮
|
||
200│╯ ╰───
|
||
0└─────────────────────▶
|
||
Mois 1 2 3 4 5 6
|
||
```
|
||
|
||
#### Financial Trends
|
||
```
|
||
Cash Flow (M€)
|
||
▲
|
||
5.0│ ██████████████████▒▒▒▒ Revenue
|
||
4.0│ ████████████▒▒▒▒▒▒▒▒▒▒ Expenses
|
||
3.0│ ████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Profit
|
||
2.0│ ████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
|
||
1.0│ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
|
||
0└─────────────────────▶
|
||
Q1 Q2 Q3 Q4
|
||
```
|
||
|
||
#### Breakthrough Timeline
|
||
```
|
||
Découvertes Technologiques
|
||
│
|
||
├─ Mois 2: Radar Avancé (Scrap Analysis)
|
||
├─ Mois 4: Matériaux Composites (Natural)
|
||
├─ Mois 7: IA Tactique (Purchase Intel)
|
||
├─ Mois 9: Blindage Réactif (Capture)
|
||
└─ Mois 12: Moteurs Fusion (Event)
|
||
```
|
||
|
||
### Radar Charts
|
||
|
||
#### Technology Mastery
|
||
```
|
||
IA (8/10)
|
||
/\
|
||
/ \
|
||
Electronics Matériaux
|
||
(6/10) ────────── (9/10)
|
||
\ /
|
||
\ /
|
||
Moteurs (4/10)
|
||
```
|
||
|
||
### Heatmaps
|
||
|
||
#### Market Opportunities
|
||
```
|
||
Resource vs Country Demand
|
||
│UKR│POL│GER│FRA│
|
||
Steel │ ██│ ▓▓│ ░░│ ▓▓│
|
||
Electronics│▓▓│ ██│ ██│ ▓▓│
|
||
Vehicles │ ██│ ▓▓│ ░░│ ░░│
|
||
```
|
||
|
||
## Système de Stockage
|
||
|
||
### Architecture Données
|
||
|
||
#### Structure TimeSeries Simplifiée
|
||
```cpp
|
||
struct MetricTimeseries {
|
||
int32_t value; // 4 bytes signed int
|
||
// Timestamp et résolution stockés en métadonnées
|
||
};
|
||
|
||
struct TimeseriesMetadata {
|
||
uint32_t start_timestamp;
|
||
uint32_t interval_seconds; // Ex: 30s pour joueur, 600s pour IA
|
||
uint32_t data_count;
|
||
};
|
||
|
||
struct EntityMetrics {
|
||
EntityID entity_id;
|
||
|
||
// Production (par ressource) - listes simples de int32
|
||
map<ResourceType, vector<int32_t>> production_history;
|
||
map<ResourceType, TimeseriesMetadata> production_metadata;
|
||
|
||
// Financial - listes simples
|
||
vector<int32_t> revenue_history;
|
||
vector<int32_t> expenses_history;
|
||
vector<int32_t> cash_flow_history;
|
||
TimeseriesMetadata financial_metadata;
|
||
|
||
// Technology
|
||
vector<BreakthroughEvent> breakthrough_timeline;
|
||
};
|
||
```
|
||
|
||
#### Breakthrough Events Simplifié
|
||
```cpp
|
||
struct BreakthroughEvent {
|
||
uint32_t timestamp;
|
||
TechID technology_id;
|
||
BreakthroughSource source; // SCRAP, NATURAL, PURCHASE, EVENT
|
||
string details; // "Scrap: T-72 Tank"
|
||
};
|
||
```
|
||
|
||
### Agrégation & Compression
|
||
|
||
#### Résolution Adaptative
|
||
- **Dernière semaine** : Points toutes les 30sec (joueur) / 10min (IA)
|
||
- **Dernier mois** : Agrégation horaire
|
||
- **Derniers 6 mois** : Agrégation quotidienne
|
||
- **Plus ancien** : Agrégation hebdomadaire
|
||
|
||
#### Compression Intelligente
|
||
- **Delta encoding** : Stocker différences vs valeurs absolues
|
||
- **Run-length encoding** : Pour périodes stables (production constante)
|
||
- **Lossy compression** : Données anciennes → précision réduite acceptable
|
||
|
||
## Interface Métriques
|
||
|
||
### Dashboard Principal
|
||
|
||
#### Vue d'Ensemble
|
||
```
|
||
┌─────────────────┬─────────────────┬─────────────────┐
|
||
│ PRODUCTION │ FINANCES │ RECHERCHE │
|
||
│ Steel: ↗ +15% │ Profit: ↗ +8% │ 3 breakthroughs│
|
||
│ Elec: ↘ -3% │ Cash: 2.4M€ │ this month │
|
||
├─────────────────┼─────────────────┼─────────────────┤
|
||
│ TERRITOIRE │ DIPLOMATIC │ STATUS │
|
||
│ 12 installations│ 3 trade deals │ ✅ Operational │
|
||
│ 3 countries │ 85% relations │ 🔄 Expanding │
|
||
└─────────────────┴─────────────────┴─────────────────┘
|
||
```
|
||
|
||
#### Navigation & Drill-Down
|
||
- **Overview** → **Domain** → **Specific Metric** → **Detailed Timeline**
|
||
- **Comparisons** : Self vs time, targets vs actual, competitors (si data available)
|
||
- **Filters** : Date ranges, metric types, zoom levels, entity types
|
||
|
||
### Métriques Spécialisées
|
||
|
||
#### Competitive Intelligence (si disponible)
|
||
```
|
||
Market Share Analysis
|
||
Company │Production│Revenue│Breakthroughs│
|
||
Thales │ 25% │ 30% │ 18 │
|
||
Lockheed │ 18% │ 22% │ 15 │
|
||
Player │ 12% │ 15% │ 12 │
|
||
Dassault │ 15% │ 18% │ 10 │
|
||
Others │ 30% │ 15% │ 45 │
|
||
```
|
||
|
||
|
||
|
||
## Privacy & Intelligence
|
||
|
||
### Data Visibility
|
||
|
||
#### Player Data (Full Access)
|
||
- **Toutes métriques personnelles** : Production, finances, recherche, combat
|
||
- **Historique complet** : Depuis début de partie
|
||
- **Analytics avancées** : Trends, predictions, optimization suggestions
|
||
|
||
#### Competitor Data (Limited)
|
||
- **Via espionnage** : Intel partiel sur production/capabilities
|
||
- **Market signals** : Déductions via prix, volumes, nouvelles exportations
|
||
- **Combat assessment** : Performance observée lors d'engagements
|
||
- **Public information** : Certaines métriques "corporate" accessibles
|
||
|
||
#### State Data (Contextual)
|
||
- **Economic indicators** : PIB, imports/exports publics
|
||
- **Military capabilities** : Intel selon relations diplomatiques
|
||
- **Technology level** : Observations équipements, brevets publics
|
||
|
||
|
||
---
|
||
|
||
*Les métriques constituent l'outil principal d'analyse et d'optimisation continue pour maîtriser la complexité industrielle et militaire de Warfactory* |