SkyChart bouwen: hoe een liefdesbrief aan Aerobiz een volwaardige airlinesim werd
Inhoudsopgave
Er is een game uit 1992 die ons heeft verpest. Aerobiz Supersonic op de SNES had eigenlijk geen recht zo verslavend te zijn als hij was. Slots op luchthavens in Lagos kopen, olie-crises ontwijken, kijken hoe je kleine vliegtuigsprites over een gepixelde wereldbol kropen terwijl je hub voor hub werelddominantie uitstippelde.
Niemand heeft een echte opvolger gemaakt. Dus besloten wij er een te bouwen.
SkyChart: Airline Executive is ons antwoord. Een retromoderne airline-managementsim gebouwd in Godot 4, die 90 jaar luchtvaartgeschiedenis beslaat, van de gouden eeuw van de vliegende boten tot het A380-tijdperk. Vandaag trekken we het gordijn opzij over hoe het allemaal tot stand kwam.
De pitch: “wat als Aerobiz een moderne UI had?”
De kernfantasie is eenvoudig: je bent de CEO van een beginnende luchtvaartmaatschappij, die concurreert met AI-rivalen in vier historische tijdperken (1930 tot 2020). Je kiest routes, koopt toestellen, investeert in steden, beheert diplomatie met wereldregio’s, en probeert niet failliet te gaan wanneer OPEC besluit ieders kwartaal te verpesten.
Maar waar Aerobiz je menu’s en tekst gaf, wilden wij een levende wereldkaart. Grootcirkelvliegpaden, weerradar, dag/nachtcycli, stads-boom-animaties en vliegtuigsprites die in bochten overhellen. Het soort dat je achterover doet leunen in je stoel, denkend: “Ja, dit netwerk heb ik gebouwd.”
De sfeer waar we op uitkwamen: high-tech retro. Neongloeilijnen op een donkere kaart. Zeshoekige HUD-knoppen. Een nieuwsticker die uit een Bloomberg-terminal uit de jaren 90 had kunnen komen. Moderne UX verpakt in die onmiskenbare SNES-charme.
De globale weergave: je luchtvaartnetwerk in één oogopslag. Elke oplichtende lijn is een route. Elke bewegende stip is inkomsten.
150 steden, 33 toestellen, 90 jaar geschiedenis
Laten we het over schaal hebben. SkyChart heeft:
- 150 steden verdeeld over 7 wereldregio’s (plus Rusland na 1991), elk met echte bevolkingsdata, economische profielen en seizoensgebonden vraagcurves. Tokio stijgt in het kersenbloesemseizoen. Miami bloeit in de winter. Calcutta piekt tijdens Durga Puja.
- 33 historisch accurate toestellen van de Douglas DC-3 (1936) tot de Boeing 787 Dreamliner. Elk met authentiek bereik, snelheid, capaciteit, bedrijfskosten en een pensioenjaar. Vlieg een DC-3 het jettijdperk in en zie je onderhoudskosten je levend opeten.
- 60+ historische gebeurtenissen die het speelveld hertekenen. De Grote Depressie drukt de vraag omlaag. WO II bombardeert Londen en Berlijn (letterlijk, je zult die vliegvelden moeten herbouwen). De oliecrisis van 1973 verdubbelt je brandstofkosten van de ene op de andere dag. COVID-19 duikt op in Tijdperk 4 en, nou ja… je weet het nog.
- 4 speelbare tijdperken, elk met oplopende doelen. Tijdperk 1 vraagt je om te overleven met propellertoestellen en 5 miljoen dollar. Tijdperk 4 wil een imperium van 2 miljard dollar dat alle zeven regio’s omspant.
Elk tijdperk voelt als een andere game. De strategische rekensom van een netwerk met vliegende boten in de jaren 30 is niets als de meedogenloze hub-and-spoke-oorlogvoering van de jaren 90.
Kies je tijdperk: elk ervan is een andere game met andere toestellen, gebeurtenissen en overwinningsvoorwaarden.
Geschiedenis herhaalt zich niet, maar ze jaagt wel je brandstofkosten omhoog.
De AI die echt terugspeelt
Eén ding waarmee we weigerden te leveren, was hersendode AI. De rivaliserende luchtvaartmaatschappijen in SkyChart breiden niet zomaar willekeurig uit. Ze hebben thuisregio’s, gewogen routeselectie op basis van bevolkings- en economische data, kwartaalprijsaanpassingen, vlootupgrades wanneer toestellen met pensioen gaan, en hubinvesteringsstrategieën.
Ze duiken onder je prijzen op betwiste routes. Ze kopen luchthavenslots op in steden die jij in het oog had. Ze leasen zelfs toestellen wanneer ze krap bij kas zitten, precies zoals een echte budgetmaatschappij dat zou doen.
En in Tijdperk 4, als je een imperium hebt gebouwd waar ze niet meer tegenop kunnen? Dan kunnen ze wel eens een overnamedoelwit worden. Eén vijandige overname per tijdperk. Hun routes, slots en hubs, allemaal van jou. Tegen een prijs.
Ken je vijand: het Intel-paneel volgt elke beweging van elke rivaal in alle zeven regio’s.
De cockpit: UI die niet tegenwerkt
Als je ooit een managementsim hebt gespeeld waar de UI de echte eindbaas was, ken je de pijn. We hebben een onredelijke hoeveelheid tijd besteed om ervoor te zorgen dat de interface van SkyChart iets is wat je wilt gebruiken.
Elk paneel is een sleepbaar, herschaalbaar venster. Route Manager, Fleet Overview, Strategic Advisor, City Intelligence, Competitive Intel, Music Player. Sleep ze waar je ze wilt. Pas hun grootte aan. De game onthoudt je indeling tussen sessies.
De Strategic Advisor is je AI-copiloot. Hij scant elk mogelijk stedenpaar ter wereld (dat zijn 11.175 combinaties), rangschikt ze op verwachte winst en biedt de beste kansen op een zilveren dienblad aan. Hij draait op een achtergrond-thread-pool, tot 8 workerthreads, zodat de game nooit vastloopt, zelfs niet bij het doorrekenen van duizenden routes.
Volledige controllerondersteuning was een late toevoeging die een passieproject werd. Xbox-, PlayStation- en Switch-controllers werken allemaal van nature. Een virtuele cursor laat je steden op de kaart selecteren met de rechter stick. Een radiaalmenu (houd LB ingedrukt) geeft je directe toegang tot elk paneel. Elk venster reageert op B-om-te-sluiten. We hebben zelfs een grafische bedieningsgids gebouwd met toetscap- en knopglyph-widgets.
Oh, en er is een ingebouwde muziekspeler. Drie bronnen: de tijdperkgebonden soundtrack van de game (44 nummers die reiken van de jazzperiode tot moderne elektronica), je lokale muziekbibliotheek, of Spotify-integratie via OAuth. Want wat is het runnen van een luchtvaartmaatschappij zonder een goede afspeellijst?
Jouw cockpit, jouw indeling. Elk paneel is sleepbaar, herschaalbaar en onthoudt waar je het hebt achtergelaten.
De Strategic Advisor verwerkt 11.175 stedenparen zodat jij dat niet hoeft.
Volledige controllerondersteuning: elke knop toegewezen voor luchtvaartbeheer vanaf de bank.
Onder de motorkap: een GDScript-liefdesverhaal
SkyChart is volledig gebouwd in Godot 4 met GDScript 2.0. Geen C#, geen C++-modules. Alles, van de route-economie-engine tot de tilemap-renderer, is pure GDScript.
Een paar hoogtepunten aan de engineeringkant:
Overal threading. Maandelijkse economische berekeningen, route-aanbevelingen en AI-uitbreiding draaien allemaal op workerthreads. De game blijft zijdezacht, zelfs bij het verwerken van 2.000+ routes over vier rivaliserende maatschappijen.
Een echte window manager. WindowManager is een autoload-singleton die focus-naar-voren-layering afhandelt (klik op een venster, en hij komt bovenop), positie/grootte-persistentie naar schijf, en schermadaptieve sizing. Drie niveaus: Normaal (gameplaypanelen), Modaal (instellingen, opslaan/laden) en HUD (altijd bovenop).
OSM-achtige kaarttegels. Zoom in op een regio en gedetailleerde kaarttegels laden dynamisch. Sprite-pooling, LRU-texture-cache, schijfcaching en online-ophaalacties. Drie stijlen: Retro Dark (standaard), Satellite en Clean Vector.
Grootcirkelpaden met weersvermijding. Vluchtpaden volgen sferische interpolatie voor geografische nauwkeurigheid, en routen dynamisch om stormsystemen op de kaart heen. Vliegtuigsprites hellen in bochten en werpen slagschaduwen. Het is veel wiskunde voor cosmetica, maar het zorgt ervoor dat de wereld echt aanvoelt.
Grootcirkelroutering in actie: toestellen volgen realistische gekromde paden en ontwijken weersystemen.
Zoom in en OSM-achtige tegels laden onderweg. Drie kaartstijlen om uit te kiezen.
Het cijferspel: route-economie
In het hart van SkyChart zit een economisch model waar we echt trots op zijn. Elke route berekent maandelijkse winst via een pijplijn die rekening houdt met:
- Basisvraag (stadsbevolking × economische multiplicator)
- Seizoensvariatie (12 maandelijkse multiplicatoren per stad)
- Investeringsbonussen (hotels, golfbanen, concertzalen, themaparken)
- Regionale diplomatie (betere relaties = meer vraag)
- Gebeurtenisaanpassingen (oorlogen, oliecrises, pandemieën)
- Reputatie (veiligheidsstaat en klantenservice beïnvloeden vraag wereldwijd)
- Concurrentie (vraag splitst op aantrekkingsscore, prijsstelling, loyaliteit, hubaanwezigheid)
- Ouderdom van het toestel (toestellen voorbij hun pensioenjaar kosten +40% om te exploiteren en verliezen 15% vraag)
- Brandstofprijzen (OPEC-gebeurtenissen kunnen je variabele kosten van de ene op de andere dag verdubbelen)
Het resultaat is een systeem waarin geen twee routes hetzelfde spelen, en het optimale netwerk in 1935 lijkt niet op het optimale netwerk in 2005.
Elk kwartaal vertellen de cijfers het verhaal. Die dip in Q3? OPEC gebeurde.
Route Performance: elke route gerangschikt op winst met trendsparklines. Groen is goed. Rood betekent dat het tijd is voor harde beslissingen.
Wat komt er
We zitten nu op v0.2.17, wat in de versiebenaming van SkyChart betekent dat we diep in de polijstfase van Fase 16+ zitten. De kerngame is compleet en erg speelbaar. Wat ligt er op de startbaan:
- UI-geluidseffecten en omgevingsgeluidsschap: knopklikjes, paneelswooshes, luchthavengeluiden
- Eerste-keer-tutorial: een begeleide rondleiding in 12 hoofdstukken zodat nieuwe spelers het niet hoeven te leren door te crashen (financieel, niet letterlijk… hoewel ook letterlijk)
- Voorbereiding Steam-release: winkelpagina, integratie van prestaties, cloudopslag
We bouwen SkyChart met de filosofie dat managementsims dezelfde UI-liefde verdienen als actiegames krijgen. Elke tooltip, elke animatie, elke quality-of-life-functie bestaat omdat we ons afvroegen: “Wat zou ervoor zorgen dat wij niet wilden alt-tabben?”
Volg de reis
SkyChart wordt ontwikkeld door Casey Jones Labs, een kleine studio met een grote liefde voor de games die ons gevormd hebben. Als je bent opgegroeid met het debat of je een route naar Anchorage moest openen of in een themapark op Honolulu moest investeren, dan is deze game voor jou.
Blijf volgen voor meer dev blogs, en houd je klaptafeltjes rechtop.
De Casey Jones Labs-crew
SkyChart: Airline Executive, binnenkort op Steam voor Windows, macOS en Linux. Gebouwd met Godot 4.