- JavaScript 91%
- HTML 5%
- Python 2.1%
- CSS 1.6%
- Shell 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .github/workflows | ||
| app | ||
| assets | ||
| build | ||
| docs | ||
| js | ||
| tools | ||
| .gitignore | ||
| CLAUDE.md | ||
| index.html | ||
| install.sh | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| style.css | ||
| valforge.sh | ||

Valforge
Un jeu du Studio Sept Vallées. Dernière version stable : 0.12.2 (Linux).
📖 Le jeu · 🔬 Arbre technologique · 🗺 Feuille de route · ⚖ Équilibrage
Jeu de gestion en vue de dessus qui mêle ville, automatisation industrielle et gestion des secours : bâtissez une ville de 1910 à 2030, automatisez ses usines… et dirigez les secours quand tout prend feu.
Lancer
Ouvrir index.html dans Firefox ou Chrome (double-clic). Aucune installation nécessaire.
Application (Linux ; Windows en pause) : le jeu est aussi empaqueté avec Electron (Chromium embarqué, aucune dépendance) :
- Windows (en pause, plus construit pour l'instant) :
Valforge-…-windows-setup.exe(installateur) ouValforge-…-windows-portable.exe; - Linux :
Valforge-…-linux-x86_64.AppImage(toutes distributions) ou.tar.gz.
Le jeu s'ouvre en plein écran (F11 pour basculer) sur le menu principal (continuer, nouvelle partie, importer, exporter, aide, rapport de bug, quitter). En jeu, Échap ou le bouton ☰ ouvre le menu de pause (sauvegarder, graphismes, aide, retour au menu principal, quitter). Les sauvegardes de l'application sont séparées de celles du navigateur : pour passer une partie de l'un à l'autre, ou d'un ordinateur à l'autre, utiliser Exporter / Importer dans le menu principal.
Construire (Node.js requis) : npm install, puis npm run dist:linux et npm run dist:win (Windows depuis Linux : Wine requis) ; fichiers dans dist/.
Sur GitHub, l'action « Application » construit et teste les deux versions sur de vraies machines ; une étiquette (git tag v0.9.0 && git push --tags) publie une Release.
Linux : ./install.sh ajoute l'application construite au menu (sinon, le dossier du jeu dans Firefox en plein écran via valforge.sh).
Structure
| Fichier | Rôle |
|---|---|
js/config.js |
Toutes les données d'équilibrage : bâtiments, recettes, coûts, ressources, vitesses |
js/game.js |
Carte, construction, production, convoyeurs, habitants, économie, sauvegarde |
js/utilities.js |
Réseaux : électricité (poteaux), eau potable et égouts (sous les routes) |
js/emergency.js |
Incendies, blessés, cambriolages, délits en gare, accidents, véhicules, hélicoptères et avions bombardiers d'eau, itinéraires |
js/logistics.js |
Camions de marchandises, camions-poubelles, circulation, déclenchement des accidents |
js/disasters.js |
Catastrophes (tempête, séisme, crue, pandémie, éruption, vague de froid, canicule, guerre), alerte, sirènes et abris |
js/roads.js |
Saisons, état des routes (usure, saleté, neige), véhicules de voirie, carburant, tout-terrain, feux de forêt |
js/naval.js |
Navigation : pêche, plaisance, sauvetage nautique |
js/crisis.js |
Émeutes, attaques terroristes, pandémie, organe de conduite |
js/trade.js |
Voisins, douane, commerce extérieur, entraide |
js/construction.js |
Chantiers en régie (bureau de construction, entreprise de démolition) ou par une entreprise privée |
js/commerce.js |
Zonage commercial : commerces qui s’installent seuls, montée en gamme, fermeture |
js/lines.js |
Tramway (voie sur route, arrêts, dépôt) et lignes de bus / tram personnalisables |
js/signals.js |
Signalisation ferroviaire : cantons, attente au signal, voies d’évitement, collisions sans signal |
js/traffic.js |
Autoroutes : échangeurs, carrefours à niveau, péages, bouchons et vue trafic |
js/scenedit.js |
Éditeur de scénarios (création, import / export) et classement des meilleurs scores |
js/state.js |
Mode État : génération de la région (sites, biomes, ressources, frontières), fondation, changement de ville, envois |
js/stateui.js |
Mode État : carte de l’État et envois entre villes (interface) |
js/hazards.js |
Effondrements de galeries, déminage (obus), cybercriminalité, pannes des réseaux, fermetures d'autoroute |
js/media.js |
Journal, radio, télévision : reporters, unes, alertes |
js/council.js |
Conseil : chefs de département (bonus, malus, conseils, scandales) |
js/stats.js |
Historique pour les courbes, bilan des interventions par service, rapport noté après chaque catastrophe, succès |
js/politics.js |
Impôts, élections à chaque mandat, votations sur les grands projets, initiatives populaires |
js/weather.js |
Cycle jour/nuit, météo (pluie, brouillard) et leurs effets |
js/scenarios.js |
Scénarios avec conditions de victoire et tutoriel guidé |
js/transport.js |
Voies ferrées, trains de voyageurs et de marchandises, train d'extinction et de sauvetage, aérodromes, aéroports, hélistations, déraillements et accidents d'avion |
js/errors.js |
Journal d'erreurs, sauvegarde de secours et rapport de bug |
js/sound.js |
Sons synthétisés (Web Audio) : sirènes, feu, rotor, moteurs d'avion, ambiance, interface |
js/music.js |
Musique originale jouée par des instruments synthétisés : « Matin sur Valforge » et « Les forges tournent » (journée), « Nuit sur la vallée », « État d'urgence » et « Heures sombres » (guerre) |
js/render.js |
Dessin sur le canvas (terrain, bâtiments, feu, véhicules, minimap) |
js/ui.js |
Panneaux, menus, souris/clavier, objectifs |
js/panels.js |
Fenêtres du bilan, des rapports, des élections et des scénarios |
js/main.js |
Boucle principale |
Pour ajouter un bâtiment, il suffit en général d'ajouter une entrée dans BUILDINGS (config.js) avec une recipe.
Idées pour la suite
- Nouvelles nations
- Mode État : villes qui évoluent vraiment en votre absence, commerce automatique entre villes, liaisons ferroviaires et aériennes de l’État
Présentation
- Descriptif du jeu
- Jaquette (portrait), bannière (16:9) et prompt pour la générer
Crédits
- Studio Sept Vallées : conception, code, graphismes, sons et musique (synthétisés par le jeu).
- Jaquette et bannière : générées avec ChatGPT (
docs/prompt-jaquette.md) ; illustrations du menu, des époques, de la campagne et des catastrophes : ChatGPT (docs/prompts-images.md). Prompts de la future bande originale :docs/prompts-musique.md.
Textures du sol : Poly Haven (licence CC0). Bâtiments, véhicules, cimes d'arbres et rochers : rendus par Blender, par script (tools/blender/).