Mastodon
← Alle berichten
door Casey Jones Labs · 8 min lezen

SkyChart bouwen Dev Blog #2: vijftien versies, één zeer drukke startbaan

devlogskychartbehind-the-scenes
Dit bericht is automatisch uit het Engels vertaald. Lees het origineel
Inhoudsopgave

Toen we Dev Blog #1 publiceerden, zat SkyChart op v0.2.17, een werkende airlinesim met 150 steden, 33 toestellen en een engine die grotendeels bijbleef. We zeiden dat we terug zouden komen met meer. We hadden niet verwacht met dit veel meer terug te komen.

Vijftien versies later heeft de game zijn stadsaantal verdrievoudigd, zijn vloot verdubbeld, volledige controllerondersteuning gekregen, een toegankelijkheidsherziening, systemen voor economische oorlogvoering waar OPEC nerveus van zou worden, en een renderingengine die niet langer om genade smeekt bij 1.600 routes. We hebben een tijdje in de hangar gezeten. Laten we je door de veranderingen leiden.

Casey de studio-ara staat erop dat we vermelden dat hij persoonlijk elke update heeft gesuperviseerd. Dat deed hij niet. Hij at walnoten en keek op ons neer.


De engine-herziening die niemand zag (maar iedereen voelde)

Laten we beginnen met de onspectaculaire zaken die al het andere mogelijk maken.

Bij v0.2.17 was uitzoomen op een groot routenetwerk… filmisch, in de slechtste zin van het woord. 9 frames per seconde met 1.600 routes. De kaart tekende elke afzonderlijke route opnieuw, bij elke frame. 19.000 afzonderlijke lijnknooppunten die hun beste PowerPoint-diapresentatie-imitatie deden.

We hebben de hele route-renderingengine vanaf nul herbouwd. Eén gebundelde tekenpas verving duizenden afzonderlijke knooppunten. Pannen op de kaart kost nu nul tekenaanroepen, de weergegeven afbeelding schuift gewoon mee. Routes tekenen alleen opnieuw wanneer het netwerk daadwerkelijk verandert. Na de herbouw: 60 FPS vergrendeld, zelfs met duizenden routes die kriskras over de wereldbol lopen.

We hebben ook 56.000 onzichtbare vliegtuigsprites aan de grond gezet die nog steeds elke frame CPU opbrandden als spookpiloten die overuren inden. Verborgen toestellen krijgen nu hun verwerkingsvergunning volledig ingetrokken.

Daarna hebben we een auto-tunende prestatiebenchmark gebouwd. Druk op “Run Benchmark” in Instellingen en de game test je GPU, CPU en texturepijplijn in ongeveer 8 seconden, en tunet vervolgens 11 prestatielimieten automatisch op je hardware. Drempels voor routeweergave, tegel-cachegroottes, weerdichtheid, recommender-threadaantallen, allemaal automatisch gekalibreerd. Duw een schuif voorbij de aanbevolen zone en je krijgt een gele waarschuwing. We hebben eerder kapiteins de meters van Casey zien negeren. Dat loopt nooit goed af.

Het paneel van de prestatiebenchmark toont hardwareklasse en afgestemde instellingen Je luchtvaartmaatschappij heeft nu een IT-afdeling. De benchmark stemt 11 instellingen af zodat jij dat niet hoeft.


496 steden. 66 toestellen. Endless Mode.

De wereld werd een stuk groter.

496 steden staan nu op de kaart, tegenover 150, van Timboektoe tot Petropavlovsk-Kamtsjatski (we hadden drie pogingen nodig om het uit te spreken). Elke nieuwe stad heeft onderzochte bevolkingscijfers uit 1930, groeicijfers, economische waarden, IATA-codes en echte luchthavencoördinaten. Een zichtbaarheidssysteem met 4 niveaus houdt de kaart leesbaar: wereldhubs zijn altijd zichtbaar, kleinere steden verschijnen alleen als je dichtbij inzoomt.

De vloot verdubbelde ook. 66 toestellen vullen nu de catalogus, historisch accurate modellen van de Cortez Condor-tweedekker (1933) tot en met de moderne tijd, plus speculatieve toekomstontwerpen zoals de Bering Orbital 1 suborbitale transporter (2085), geëxtrapoleerd uit echte concepten en opkomende luchtvaarttechnologie. Propellers tot hypersone plasma-aandrijvingen. Save-bestanden uit oudere versies worden naadloos automatisch gemigreerd, geen toestellen verloren, geen papierwerk zoekgeraakt.

Voltooi alle vier tijdperken en je ontgrendelt Endless Mode, vlieg voorbij 2020 zonder tijdslimiet en zonder doelstellingen. Waterstofjets, blended wing bodies en orbitale hoppers wachten je op in de komende decennia. De lucht is niet langer de limiet.

En omdat niet iedereen in hetzelfde tempo wil spelen, hebben we vier game-tempo-opties toegevoegd: Arcade (45 seconden per maand, voor de ongeduldigen), Standaard, Verlengd en Realtime (30 minuten per maand, voor kapiteins die elke turbulentiehobbel willen proeven). Vliegtuiganimaties passen zich aan je gekozen tempo aan. Arcade-toestellen zoemen over de kaart als Casey nadat hij een onbewaakte kom walnoten heeft gevonden.

De Strategic Advisor uit Blog #1 verwerkte vroeger 11.175 stedenparen. Nu verwerkt hij er 122.000+. Op een achtergrond-thread-pool. Zonder adempauze. We zijn daar echt trots op.

De wereldkaart toont het drastisch uitgebreide netwerk van 496 steden 496 steden. 122.000+ mogelijke routes. De Strategic Advisor regelt het zodat jij dat niet hoeft.


Welkom in de war room

SkyChart was altijd al een strategiegame. Maar nu heeft hij de instrumenten erbij.

Twaalf nieuwe analytische dashboards kwamen binnen in de executive suite. Fleet Risk Report spot verouderde toestellen voordat ze presse-papiers worden. Cash Flow Forecast projecteert je banksaldo 12 maanden vooruit met scenarioschuiven. City Pair Saturation Finder rangschikt alle 122.000+ stedenparen op kansenscore zodat je stopt met in messengevechten vliegen. Competitor Threat Assessment profileert de uitbreidingsstrategie van elke rivaal en de overlap met jouw netwerk.

Daarna hebben we je bewapend.

Volledige economische oorlogvoering kwam in v0.2.28 aan en veranderde het gevoel van de game helemaal. Regionale economieën floreren en storten nu maandelijks in. Steden gaan meerdere kwartalen in goudkoorts (+40% vraag) of oververzadigingsklap (-30%). Dynamische marktschokken slaan elk kwartaal toe: brandstofcrises, hubinstortingen, wereldwijde recessies, fusies tussen luchtvaartreuzen.

Hubspecialisatie laat je hubs aanwijzen als Cargo, Tourist of Business voor +20% overeenkomende vraag. Prijzenoorlogen worden automatisch getriggerd wanneer je een rivaal ondermijnt op betwiste routes. 1,5x kosten, +20% vraag, pure adrenaline. Domineer meer dan 40% van een regio en AI-rivalen lanceren zes maanden durende roofzuchtige marktoorlogen, waarbij ze alles ondermijnen en je beste steden roven.

Verzegeld-bod slotveilingen vervingen first-come-first-served. Codeshare-allianties met echte inkomstendeling. Bedrijfsspionage: huur informanten in voor drie niveaus aan inlichtingen, van routedata tot volledige financiën tot regelrechte bedrijfsdiefstal. Rivalen spioneren terug. Caseys codenaam is “Tropical Thunder” en hij weigert die te veranderen.

De kwartaalcijferconferentie werd zojuist een gevechtsbriefing.

Dashboards voor strategische intelligentie met vlootrisico en marktanalyse Twaalf nieuwe dashboards. Bloomberg-terminalenergie voor jouw airline-imperium.


Een cockpit waar iedereen in kan vliegen

Blog #1 noemde controllerondersteuning als late toevoeging. Het is nu een vlaggenschipfunctie.

Volledige integratie van de Steam Input API betekent dat elke Xbox-, PlayStation-, Switch- en Steam Deck-controller automatisch wordt ondersteund met de juiste knoppictogrammen. Geen generieke placeholders, maar de exacte pictogrammen voor jouw controller. Drie contextgevoelige actiesets schakelen naadloos tijdens het navigeren. Een QWERTY-toetsenbord op het scherm verschijnt automatisch voor controllergebruikers wanneer je een tekstveld focust. Elk afzonderlijk paneel reageert op gamepad-invoer.

98 Steam Achievements zijn volledig aangesloten, van First Flight tot Every Seat, Every City. 15 Steam Stats synchroniseren naar je profiel. Steam Timeline markeert je grootste momenten voor Steam Replay. Globale en lokale klassementen laten je je imperium vergelijken met de wereld.

Maar de update waar we het trotst op zijn, is toegankelijkheid.

Vijf kleurenblindweergavemodi: Normaal, Deuteranopie, Protanopie, Tritanopie en Achromatopsie. Drie contrastniveaus. Een tekstgrootteschuif van 80% tot 150%. Schermlezerondersteuning via tekst-naar-spraak. Een toggle voor Beweging verminderen die de nieuwsticker bevriest en zwevende animaties overslaat.

En hier is het getal: 866 hardgecodeerde Color()-aanroepen vervangen. Elk UI-paneel in de hele game (vlootbeheer, routeprestaties, strategische intel, overnames, allianties, instellingen, moeilijkheidsselectie, tijdperkselectie, winvoorwaarde, muziekspeler, klassement, alles) routeert zijn kleuren nu via een centrale AccessibilityPalette. Kleurenblindmodi en contrastinstellingen werken overal, op elk paneel, in realtime. Geen herstart vereist.

Casey heeft alle vijf kleurenblindmodi getest en ontdekte dat hij de brandstofmeter al jaren verkeerd las.

Toegankelijkheidsinstellingen met kleurenblindmodus en contrastopties Vijf kleurenblindmodi, drie contrastniveaus en 866 herschreven kleuraanroepen. De cockpit is nu voor iedereen.


Eigen bezit of huur

Terug in v0.2.17 leverden we een systeem dat stilletjes veranderde hoe de game speelt: vliegtuigleasing.

Krap bij kas maar moet je een route openen? Lease een toestel. Termijnen van 1, 3 of 5 jaar. Kortere termijnen kosten meer per maand maar geven je flexibiliteit. Leasecontracten verlopen en stellen de route automatisch op pauze totdat je verlengt, uitkoopt of wegloopt. AI-rivalen leasen ook, net als echte budgetmaatschappijen.

Naast leasing kwam er een echte vliegtuighangar. Eigen toestellen blijven nu bestaan wanneer ze uit routes worden gehaald, in plaats van in het niets te verdwijnen. Sla ze op, hergebruik ze, of verkoop ze tegen afgeschreven marktwaarde. Vliegtuigopknapbeurten laten je de operationele levensduur van een winstgevend toestel met 10 jaar verlengen voor 30% van de prijs.

We hebben ook tijdperk-progressie geleverd: hogere tijdperken zijn vergrendeld totdat je het voorgaande hebt voltooid. Beheers Dawn of Flight voordat je aan het Jet Age begint. Beëindig een tijdperk in Passengers-modus en je ontgrendelt Cargo. Versla Cargo, ontgrendel Combined. Voltooi je eerste tijdperk en Sandbox Mode gaat open. Geen faillissement, geen tijdsdruk, gewoon bouwen.


Black Box, Spotify en alles erbij

Een snelvuurronde van alles wat de game verder beter maakt:

Ondersteuning voor de Epic Games Store. Een nieuwe PlatformManager-abstractie routeert prestaties, statistieken, klassementen en cloudopslag naar welke winkel je ook vanuit opstijgt. Eén codebasis, meerdere terminals.

De Black Box Recorder. Een migratiebeheerder draait nu voordat Steam verbindt, reconstrueert bedrijfswaarden uit je save-bestanden en ruimt slechte klassementendata op. Elke save stempelt de game-versie. Carrièrestatistieken loggen permanent elke tijdperkvoltooiing. Levensduurtellers houden gebouwde hubs, gemaakte investeringen, afgeronde overnames, gesmede allianties en doorstane handelsoorlogen bij.

Spotify verbindt automatisch bij het opstarten. Als je al bent geauthentiseerd, pakt de muziekspeler op waar je gebleven was. Niet meer elke sessie je instapkaart opnieuw scannen.

Save-slots uitgebreid van 5 naar 10 met kleurgecodeerde pilletags (moeilijkheid, game-modus, sandbox) en echte tijdstempels. De HUD werd gereorganiseerd: Routes & Fleet, Company, en een nieuwe Rivals-dropdown met gelabelde sectiekoppen. Toastmeldingen stapelen nu verticaal in plaats van onzichtbaar bovenop elkaar. En 14 nieuwe sneltoetsen dekken elk strategisch paneel af.

Zelfs de kleine details kregen aandacht: investeringen in CO2-compensatie zijn nu tijdperkgebonden aan 2005 (niemand compenseerde CO2 in het propellertijdperk), cargo-modus toont tonnen en tarieven in plaats van “passagiers”, en het afsluitdialoogvenster biedt nu aan automatisch op te slaan voordat je vertrekt.


Gereed voor nadering

We zitten nu op v0.2.32.10. De game die bij v0.2.17 “compleet en erg speelbaar” was, is iets aanzienlijk groters geworden: een airline-imperiumsim met 496 steden, 66 toestellen, controller-native, toegankelijkheid-first, met economische oorlogvoering, bedrijfsspionage, en een prestatie-engine die dat allemaal aankan op 60 FPS.

Wat ligt er op de startbaan:

  • Geluidsontwerp: UI-effecten, omgevingsgeluidsschappen van luchthavens, het bevredigende klik van elke knop
  • Tutorial: een begeleide eerste-vlucht-ervaring zodat nieuwe spelers niet hoeven te leren door failliet te gaan
  • Steam-winkelpagina: prestaties, cloudopslag en de laatste duw naar de release

We bouwen SkyChart nog steeds met dezelfde filosofie: managementsims verdienen dezelfde polijst als actiegames krijgen. Elke tooltip, elke animatie, elke toegankelijkheidsoptie bestaat omdat we onszelf afvroegen wat ervoor zou zorgen dat wij niet wilden alt-tabben.

Bedankt voor het volgen van de reis. Houd je klaptafeltjes omhoog en je routenetwerken winstgevend.

De Casey Jones Labs-crew

Casey zegt dat hij opslag wil en een hoekkantoor. Hij heeft zijn naam al op het opstartscherm staan en laat ons dat niet vergeten. Hij krijgt meer walnoten.

Het SkyChart-hoofdmenu met geanimeerde toestellen die de achtergrondkaart oversteken SkyChart: Airline Executive, binnenkort op Steam voor Windows, macOS en Linux. Gebouwd met Godot 4.