Construire SkyChart : comment une lettre d'amour à Aerobiz est devenue une simulation aérienne à part entière
Table des matières
Il y a un jeu de 1992 qui nous a ruinés. Aerobiz Supersonic sur SNES n’avait aucune raison d’être aussi addictif qu’il l’était. Acheter des créneaux d’aéroport à Lagos, esquiver les crises pétrolières, regarder tes petits sprites d’avion ramper sur un globe pixelisé pendant que tu complotais la domination mondiale un hub à la fois.
Personne n’en a fait un vrai successeur. Alors on a décidé d’en construire un.
SkyChart: Airline Executive est notre réponse. Une simulation de gestion aérienne rétro-moderne bâtie sous Godot 4, couvrant 90 ans d’histoire de l’aviation, de l’âge d’or des hydravions à l’ère de l’A380. Aujourd’hui, on tire le rideau sur la façon dont tout ça s’est assemblé.
Le pitch : « Et si Aerobiz avait une UI moderne ? »
La fantaisie de base est simple : tu es PDG d’une compagnie aérienne naissante, en concurrence avec des IA rivales sur quatre ères historiques (1930 à 2020). Tu choisis des lignes, achètes des avions, investis dans des villes, gères la diplomatie avec les régions du monde, et essaies de ne pas faire faillite quand l’OPEP décide de gâcher le trimestre de tout le monde.
Mais là où Aerobiz te donnait des menus et du texte, on voulait une carte monde vivante. Des trajectoires en grands cercles, un radar météo, des cycles jour/nuit, des animations d’essor des villes, et des sprites d’avion qui s’inclinent dans les virages. Le genre de chose qui te fait te pencher en arrière dans ta chaise et penser : « Ouais, j’ai construit ce réseau. »
L’ambiance qu’on a retenue : rétro haute technologie. Des lignes au néon sur une carte sombre. Des boutons HUD en hexagones. Un bandeau d’actualités qui aurait pu sortir d’un terminal Bloomberg des années 90. Une UX moderne enveloppée de ce charme indubitable des années SNES.
La vue globale : ton réseau aérien d’un coup d’œil. Chaque ligne lumineuse est une ligne aérienne. Chaque point mouvant est du revenu.
150 villes, 33 avions, 90 ans d’histoire
Parlons d’échelle. SkyChart propose :
- 150 villes à travers 7 régions du monde (plus la Russie post-1991), chacune avec des données de population réelles, des profils économiques et des courbes de demande saisonnières. Tokyo explose pendant la saison des cerisiers. Miami s’envole en hiver. Kolkata culmine pendant Durga Puja.
- 33 avions historiquement exacts, du Douglas DC-3 (1936) au Boeing 787 Dreamliner. Chacun a un rayon d’action, une vitesse, une capacité, des coûts d’exploitation et une année de retraite authentiques. Fais voler un DC-3 dans l’ère du jet et regarde tes coûts de maintenance te dévorer vivant.
- Plus de 60 événements historiques qui rebattent le terrain de jeu. La Grande Dépression plombe la demande. La Seconde Guerre mondiale bombarde Londres et Berlin (littéralement, tu devras reconstruire ces aéroports). La crise pétrolière de 1973 double tes coûts de carburant du jour au lendemain. La COVID-19 débarque à l’ère 4 et, bon… tu te souviens.
- 4 ères jouables, chacune avec des objectifs qui montent. L’ère 1 te demande de survivre avec des avions à hélices et 5 millions de dollars. L’ère 4 veut un empire de 2 milliards de dollars couvrant les sept régions.
Chaque ère ressemble à un jeu différent. Le calcul stratégique d’un réseau d’hydravions des années 1930 n’a rien à voir avec la guerre impitoyable hub-and-spoke des années 1990.
Choisis ton ère : chacune est un jeu différent avec ses avions, événements et conditions de victoire propres.
L’histoire ne se répète pas, mais elle fait grimper tes coûts de carburant.
L’IA qui joue vraiment
Une chose qu’on a refusé d’expédier, c’était une IA sans cervelle. Les compagnies rivales de SkyChart ne s’étendent pas aléatoirement. Elles ont des régions d’origine, une sélection de lignes pondérée par les données de population et économiques, des ajustements de tarification trimestriels, des mises à jour de flotte quand les avions partent en retraite, et des stratégies d’investissement en hub.
Elles cassent tes prix sur les lignes disputées. Elles achètent les créneaux d’aéroport dans les villes que tu lorgnais. Elles louent même des avions quand elles sont à court de liquidités, exactement comme le ferait une vraie compagnie à bas coût.
Et à l’ère 4, si tu as bâti un empire avec lequel elles ne peuvent plus rivaliser ? Elles peuvent simplement devenir une cible d’acquisition. Une OPA hostile par ère. Leurs lignes, leurs créneaux, leurs hubs, tous à toi. Pour un prix.
Connais ton ennemi : le panneau Intel suit chaque mouvement rival sur les sept régions.
Le cockpit : une UI qui ne te combat pas
Si tu as déjà joué à un sim de gestion où l’UI était le vrai boss final, tu connais la douleur. On a passé un temps déraisonnable à s’assurer que l’interface de SkyChart est quelque chose que tu veux utiliser.
Chaque panneau est une fenêtre déplaçable et redimensionnable. Gestionnaire de lignes, Aperçu de flotte, Conseiller stratégique, Intelligence ville, Intel concurrentiel, Lecteur de musique. Traîne-les où tu veux. Redimensionne-les. Le jeu retient ta disposition entre les sessions.
Le Conseiller stratégique est ton copilote IA. Il scanne toutes les paires de villes possibles du monde (soit 11 175 combinaisons), les classe par profit projeté, et te sert les meilleures opportunités sur un plateau d’argent. Il tourne sur un pool de threads en arrière-plan, jusqu’à 8 threads de travail, donc il ne fige jamais le jeu, même quand il mouline des milliers de lignes.
La prise en charge totale des manettes a été un ajout tardif devenu un projet de passion. Les manettes Xbox, PlayStation et Switch fonctionnent toutes nativement. Un curseur virtuel te laisse sélectionner des villes sur la carte avec le stick droit. Un menu radial (maintiens LB) te donne un accès instantané à chaque panneau. Chaque fenêtre répond au B-pour-fermer. On a même construit un guide graphique des commandes avec des widgets d’icônes de touches et de boutons.
Ah, et il y a un lecteur de musique intégré. Trois sources : la bande-son adaptée à l’ère du jeu (44 morceaux couvrant l’âge du jazz à l’électronique moderne), ta bibliothèque musicale locale, ou une intégration Spotify via OAuth. Parce que gérer une compagnie aérienne sans une bonne playlist ?
Ton cockpit, ta disposition. Chaque panneau est déplaçable, redimensionnable, et se souvient de l’endroit où tu l’as laissé.
Le Conseiller stratégique mouline 11 175 paires de villes à ta place.
Prise en charge totale des manettes : chaque bouton est mappé pour une gestion aérienne depuis le canapé.
Sous le capot : une histoire d’amour GDScript
SkyChart est entièrement construit sous Godot 4 avec GDScript 2.0. Pas de C#, pas de modules C++. Tout, du moteur d’économie des lignes au moteur de rendu des tuiles, est en pur GDScript.
Quelques points forts côté ingénierie :
Du threading partout. Les calculs économiques mensuels, les recommandations de lignes et l’expansion de l’IA tournent tous sur des threads de travail. Le jeu reste fluide comme de la soie même en traitant plus de 2 000 lignes sur quatre compagnies rivales.
Un vrai gestionnaire de fenêtres. WindowManager est un singleton autoload qui gère la superposition focus-au-premier-plan (clique une fenêtre, elle passe devant), la persistance position/taille sur disque, et un redimensionnement adapté à l’écran. Trois niveaux : Normal (panneaux de jeu), Modal (paramètres, sauvegarde/chargement) et HUD (toujours au-dessus).
Tuiles de carte style OSM. Zoome sur n’importe quelle région et des tuiles de carte haute définition se chargent dynamiquement. Mise en pool de sprites, cache de textures LRU, cache disque, et récupération en ligne. Trois styles : Rétro Sombre (par défaut), Satellite et Vecteur épuré.
Grands cercles avec évitement météo. Les trajectoires de vol suivent une interpolation sphérique pour la précision géographique, et contournent dynamiquement les systèmes de tempêtes sur la carte. Les sprites d’avion s’inclinent dans les virages et projettent des ombres portées. C’est beaucoup de maths pour du cosmétique, mais ça fait sentir le monde réel.
Le routage en grand cercle en action : les avions suivent des trajectoires courbes réalistes et esquivent les systèmes météo.
Zoome et les tuiles style OSM se chargent à la volée. Trois styles de carte au choix.
Le jeu des chiffres : économie des lignes
Au cœur de SkyChart, il y a un modèle économique dont on est sincèrement fiers. Chaque ligne calcule un profit mensuel via un pipeline qui prend en compte :
- La demande de base (population de la ville x multiplicateur économique)
- La variation saisonnière (12 multiplicateurs mensuels par ville)
- Les bonus d’investissement (hôtels, terrains de golf, salles de concert, parcs à thème)
- La diplomatie régionale (meilleures relations = plus de demande)
- Les modificateurs d’événements (guerres, crises pétrolières, pandémies)
- La réputation (sécurité et service client affectent la demande globalement)
- La concurrence (la demande se répartit selon le score d’attraction, la tarification, la fidélité, la présence en hub)
- L’âge de l’avion (les appareils au-delà de l’année de retraite coûtent +40 % à exploiter et perdent 15 % de demande)
- Les prix du carburant (les événements OPEP peuvent doubler tes coûts variables du jour au lendemain)
Le résultat est un système où aucune ligne ne se joue pareil, et le réseau optimal en 1935 n’a rien à voir avec le réseau optimal en 2005.
Chaque trimestre, les chiffres racontent l’histoire. Ce creux au Q3 ? C’était l’OPEP.
Performance des lignes : chaque ligne classée par profit avec des sparklines de tendance. Le vert, c’est bien. Le rouge veut dire qu’il est temps de prendre des décisions difficiles.
La suite
On est actuellement en v0.2.17, ce qui, dans la numérotation SkyChart, veut dire qu’on est en plein polissage de la Phase 16+. Le cœur du jeu est complet et très jouable. Voici ce qui est sur la piste :
- Effets sonores UI et paysage sonore ambiant : clics de boutons, whoosh de panneaux, ambiance aéroportuaire
- Tutoriel de première partie : une visite guidée en 12 chapitres pour que les nouveaux joueurs n’aient pas à apprendre en se crashant (financièrement, pas littéralement… quoique, aussi littéralement)
- Préparation à la sortie Steam : page boutique, intégration des succès, sauvegardes cloud
On construit SkyChart avec la philosophie que les sims de gestion méritent le même amour d’UI que les jeux d’action. Chaque infobulle, chaque animation, chaque confort de jeu existe parce qu’on s’est demandé : « Qu’est-ce qui ferait qu’on n’ait pas envie de alt-tab ? »
Suis l’aventure
SkyChart est développé par Casey Jones Labs, un petit studio avec un grand amour pour les jeux qui nous ont façonnés. Si tu as grandi à débattre entre ouvrir une ligne vers Anchorage ou investir dans un parc à thème à Honolulu, ce jeu est fait pour toi.
Reste branché pour d’autres dev blogs, et garde ta tablette en position relevée.
L’équipe Casey Jones Labs
SkyChart: Airline Executive, bientôt sur Steam pour Windows, macOS et Linux. Bâti avec Godot 4.