Corback
1bf0f921b6
feat: dashboard VAULTCOM v4 — onglets session + paramètres
...
Onglet SIMULATION:
- Switcher de session en haut (S1 / S2 / ...) avec indicateur status vert/rouge
- Countdown JS 30s avant auto-refresh (au lieu de meta http-equiv)
- Filtre cycle_tick des événements (trop verbeux)
Onglet PARAMÈTRES (/params?sid=N):
- Formulaire config: nom session, mode, tick_sleep, drain_speed, fatigue_hp,
encounter_rate, caps_multiplier, survie/rencontres activées
- POST /params/save → écrit sim_001.json / sim_002.json + UPDATE sessions SET mode
- POST /params/setstatus → active/pause/stop via DB (run.py sort au prochain tick)
- POST /params/resetday → remet current_day/current_tick en DB
- Tableau des modes avec drain/encounter/caps pour comparaison rapide
- Snippet de commande SSH pour relancer chaque session depuis terminal
Docker: monté /home/ubuntu/fallout-venice/src/config en rw dans le container
→ /params/save peut écrire les JSON directement
2026-06-16 00:29:15 +00:00
Corback
62b0e25d1b
fix: combat_engine weapon=None crash + init_pnj SESSION_ID depuis env
...
combat_engine.py: weapon_props = weapon.get('properties') or {} if weapon else {}
La ligne n'avait pas le guard 'if weapon else' contrairement aux deux lignes précédentes,
crash AttributeError quand un PNJ attaque sans arme équipée.
init_pnj.py: SESSION_ID = int(os.getenv('SESSION_ID', 1))
Était hardcodé à 1, empêchait l'init des PNJ de la session 2.
2026-06-16 00:23:24 +00:00
Corback
8b32ea370a
feat: système de config externe + multi-instance + modes simulation
...
sim_config.py (NOUVEAU):
- Chargeur config JSON avec deep-merge des modes (sim_001/002.json)
- sim_config.get('survival'), get('encounter'), get('world') depuis n'importe quel module
- SIM_CONFIG env var ou --config CLI arg
run.py:
- --config/-c arg, SIM_CONFIG env var, SESSION_ID env var
- _init_world_state() initialise pop_count depuis config au démarrage
- Mode actif depuis sim_config (prime sur la DB)
survival.py:
- drain_speed: multiplicateur sur HUNGER/THIRST/SLEEP_TICKS (2.0=2x plus vite)
- fatigue_hp_per_2pts: dégâts fatigue depuis config
- survival.enabled: peut désactiver la survie entièrement
tick.py / encounter.py:
- world params (water/food drain, security delta, pop counts) depuis sim_config
- encounter.global_rate_multiplier appliqué sur chance_per_tick
- encounter.enabled: peut désactiver les rencontres
character_creator.py — Caps réalistes (divise par ~4-5):
pillard 0-60, garde 15-100, marchand 60-400, eclaireur 10-80
docteur 40-200, technicien 20-150, lieutenant 60-300
raider_boss 30-200, chasseur_primes 80-350, passeur 30-180
scavenger 5-70, chef_faction 300-1500, survivant_generique 5-60
sim_001.json: mode=pacifiste (rencontres x0.4, drain x0.7, sécurité stable)
sim_002.json: mode=guerre_commerciale (rencontres x1.2, drain x1.5, caps x1.5)
Modes disponibles: pacifiste, politique, guerre_commerciale, guerre, survie_extreme
init_pnj.py: SESSION_ID depuis os.getenv (était hardcodé à 1)
Multi-instance: SESSION_ID=1 sim_001.json + SESSION_ID=2 sim_002.json en parallèle
2026-06-16 00:16:17 +00:00
Corback
5497f3b5d0
fix: archetypes origin_pool + faction_origin_override + lore corrections
...
- archetypes.json: origin -> origin_pool (liste), faction_origin_override (CDA->initie_confrerie, grand_krewe->goule)
- passeur_bayou: faction ecumeurs -> grand_krewe (lore: les bayous sont leur territoire)
- messager_faction: location_hints liste réelle (plus 'toutes zones sûres' non parsable)
- fugitif: chased_by_faction_pool ajouté pour narration LLM
- pillard_errant, scavenger, chasseur_primes, passeur: goule ajouté à origin_pool
- pnj_factory.spawn_from_archetype: résolution origin depuis faction_origin_override puis origin_pool
- character_creator._ROLE_TO_ORIGIN: lieutenant/chef_faction/chasseur_primes enrichis avec goule
2026-06-15 23:58:32 +00:00
Corback
96d2df92b2
feat: dashboard VAULTCOM v3 + config.py TICK_SLEEP_SEC + sim_config
...
- dashboard/app.py: Nouveau dashboard Flask (schéma DB migration_003)
Affiche PNJ par tier (0/1/2/3), events, rencontres, world_state,
faction_relations, inventaire boss. Auto-refresh 30s.
Connecté via tunnel SSH interne vers Vigile:5432
- src/engine/config.py: Fix TICK_SLEEP_SEC depuis env (était hardcodé 0)
- src/config/sim_001.json: Paramètres simulation centralisés
(tick_speed, difficulty presets, LLM config, multi-session)
Accessible: fallout.coyoteos.ovh
2026-06-15 23:54:40 +00:00
Corback
45f7abc402
feat: combat_engine + generate_pnj_batch + actions/encounter updated
2026-06-15 23:30:51 +00:00
Corback
0a46655e36
feat: encounters 4 tiers + fix actions roles
2026-06-15 23:17:51 +00:00
Corback
873106d5cb
feat: systeme tiers PNJ 0-3 + equipment by role + archetype factory
...
migration_003: tier/archetype_key, boss exclus sim, equipement distinctif
equipment_by_role.json: loadouts par role (armes/armure/consommables)
archetypes.json: 11 archetypes tier3 + lieutenant tier2
pnj_factory.py: spawn_from_archetype, equip_character, spawn_batch
character_creator.py: nouveaux roles + tier + archetype_key dans INSERT
init_pnj.py: 10 PNJ tier1 + 8 lieutenants tier2 par faction
db.py: get_characters(min_tier=1) exclut boss, get_all_characters pour seeds
tick.py: seeds tous tiers, survival/actions tier>=1 seulement
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-15 23:04:34 +00:00
Corback
c422d62f10
Fix forage/find_water : loot réel selon food/water_level de la zone
2026-06-15 22:48:26 +00:00
Corback
3039961b51
Initial commit — Venice of Wasteland sim engine B1-B5
2026-06-15 22:38:35 +00:00