Mastodon
← Alle indlæg
af Casey Jones Labs · 7 min læsning

Bygningen af SkyChart: Hvordan et kærlighedsbrev til Aerobiz blev en fuldblods flyselskabssim

devlogskychartbehind-the-scenes
Dette indlæg er automatisk oversat fra engelsk. Læs originalen
Indholdsfortegnelse

Der er et spil fra 1992, der ødelagde os. Aerobiz Supersonic på SNES havde ingen ret til at være så vanedannende, som det var. At købe lufthavnsslots i Lagos, dukke sig for oliekriser, se dine små flysprites krybe hen over en pixeleret globus, mens du planlagde verdensherredømme en hub ad gangen.

Ingen har lavet en ordentlig efterfølger. Så vi besluttede at bygge en.

SkyChart: Airline Executive er vores svar. En retro-moderne flyselskabs-managementsim bygget i Godot 4, der spænder over 90 års luftfartshistorie fra flyvebådenes guldalder til A380-æraen. I dag trækker vi gardinet tilbage for, hvordan det hele kom sammen.


Pitchet: “Hvad nu hvis Aerobiz havde moderne UI?”

Kernefantasien er enkel: du er CEO for et spirende flyselskab, der konkurrerer mod AI-rivaler på tværs af fire historiske æraer (1930 til 2020). Du vælger ruter, køber fly, investerer i byer, håndterer diplomati med verdensregioner og forsøger ikke at gå konkurs, når OPEC beslutter at ødelægge alles kvartal.

Men hvor Aerobiz gav dig menuer og tekst, ville vi have et levende verdenskort. Storcirkel-flyvestier, vejrradar, dag/nat-cyklusser, by-boom-animationer og flysprites, der banker ind i drejninger. Den slags, der får dig til at læne dig tilbage i din stol og tænke: “Ja, jeg byggede dette netværk.”

Stemningen vi landede på: high-tech retro. Neonglødende linjer på et mørkt kort. Hexformede HUD-knapper. En nyheds-ticker, der kunne være kommet fra en Bloomberg-terminal i 90’erne. Moderne UX pakket ind i den umiskendelige SNES-æra-charme.

Verdenskortet om natten med neonrutelinjer, der krydser globusen, mens flysprites sporer storcirkelstier mellem byer Det globale overblik: dit flyselskabs netværk ved et enkelt blik. Hver glødende linje er en rute. Hver bevægende prik er omsætning.


150 byer, 33 fly, 90 års historie

Lad os tale om skala. SkyChart indeholder:

  • 150 byer på tværs af 7 verdensregioner (plus Rusland efter 1991), hver med rigtige befolkningsdata, økonomiske profiler og sæsonbestemte efterspørgselskurver. Tokyo stiger i kirsebærblomst-sæsonen. Miami boomer om vinteren. Kolkata topper under Durga Puja.
  • 33 historisk akkurate fly fra Douglas DC-3 (1936) til Boeing 787 Dreamliner. Hver har autentisk rækkevidde, hastighed, kapacitet, driftsomkostninger og pensioneringsår. Flyv en DC-3 ind i jetalderen og se dine vedligeholdelsesomkostninger æde dig levende.
  • 60+ historiske begivenheder, der omformer banen. Den store depression tanker efterspørgslen. Anden Verdenskrig bomber London og Berlin (bogstaveligt talt, du bliver nødt til at genopbygge de lufthavne). Oliekrisen i 1973 fordobler dine brændstofomkostninger natten over. COVID-19 dukker op i Æra 4, og tja… du husker det.
  • 4 spilbare æraer, hver med eskalerende mål. Æra 1 beder dig om at overleve med propelfly og 5 millioner dollar. Æra 4 vil have et 2 milliarder dollar-imperium, der spænder over alle syv regioner.

Hver æra føles som et andet spil. Den strategiske beregning for et 1930’er-flyvebåd-netværk er intet som den hårdhændede hub-and-spoke-krigsførelse fra 1990’erne.

Æra-valgskærm der viser fire historiske æraer med deres mål og startbetingelser Vælg din æra: hver er et andet spil med andre fly, begivenheder og sejrsbetingelser.

En historisk begivenheds-popup der annoncerer COVID-19-pandemien Historien gentager sig ikke, men den får dine brændstofomkostninger til at stige.


AI’en der faktisk spiller tilbage

En ting vi nægtede at sende med var hjernedød AI. SkyCharts rivaliserende flyselskaber udvider sig ikke bare tilfældigt. De har hjemmeregioner, vægtet rutevalg baseret på befolknings- og økonomidata, kvartalsvise prisjusteringer, flådeopgraderinger når fly pensioneres, og hub-investeringsstrategier.

De underbyder dine priser på omstridte ruter. De opkøber lufthavnsslots i byer, du har kigget på. De leaser endda fly, når de er korte i kontanter, præcis som et rigtigt budgetselskab ville gøre.

Og i Æra 4, hvis du har bygget et imperium, de ikke kan konkurrere med? De kan blive et opkøbsmål. Én fjendtlig overtagelse pr. æra. Deres ruter, slots og huber, alle dine. For en pris.

Competitive Intelligence-panelet der viser rivaliserende flyselskabers ekspansion på tværs af regioner Kend din fjende: Intel-panelet sporer hver rivals bevægelser på tværs af alle syv regioner.


Cockpittet: UI der ikke slås mod dig

Hvis du nogensinde har spillet en management-sim, hvor UI’en var den rigtige boss-kamp, kender du smerten. Vi har brugt en urimelig mængde tid på at sikre, at SkyCharts grænseflade er noget, du har lyst til at bruge.

Hvert panel er et trækbart, resizable vindue. Route Manager, Fleet Overview, Strategic Advisor, City Intelligence, Competitive Intel, Music Player. Træk dem hen, hvor du vil. Resizé dem. Spillet husker dit layout mellem sessioner.

Strategic Advisor er din AI-co-pilot. Den scanner hvert muligt bypar i verden (det er 11.175 kombinationer), rangerer dem efter forventet profit og serverer de bedste muligheder på et sølvfad. Den kører på en baggrundstråd-pool, op til 8 arbejdertråde, så den aldrig fryser spillet, selv når den knuser tusindvis af ruter.

Fuld controller-support var en sen tilføjelse, der blev et passionsprojekt. Xbox-, PlayStation- og Switch-controllere fungerer alle indbygget. En virtuel markør lader dig vælge byer på kortet med højre stik. En radial menu (hold LB) giver dig øjeblikkelig adgang til hvert panel. Hvert vindue reagerer på B-for-at-lukke. Vi byggede endda en grafisk Controls Guide med keycap- og knapglyf-widgets.

Åh, og der er en indbygget musikafspiller. Tre kilder: spillets æra-passende soundtrack (44 numre, der spænder fra jazzalderen til moderne elektronik), dit lokale musikbibliotek eller Spotify-integration via OAuth. For hvad er det at drive et flyselskab uden en god playliste?

Flere trækbare vinduer åbne med Route Manager, City Panel og Strategic Advisor arrangeret på kortet Dit cockpit, dit layout. Hvert panel er trækbart, resizable og husker, hvor du efterlod det.

Strategic Advisor-panelet der viser anbefalede ruter rangeret efter forventet profit Strategic Advisor knuser 11.175 bypar, så du ikke behøver at gøre det.

Controller-input-guide der viser alle gamepad-knap-mappings Fuld controller-support: hver knap mappet til sofavenlig flyselskabs-management.


Under motorhjelmen: En GDScript-kærlighedshistorie

SkyChart er bygget udelukkende i Godot 4 med GDScript 2.0. Ingen C#, ingen C++-moduler. Alt fra rute-økonomi-motoren til tile-map-rendereren er ren GDScript.

Nogle højdepunkter fra ingeniørsiden:

Trådning overalt. Månedlige økonomiske beregninger, rute-anbefalinger og AI-ekspansion kører alle på arbejdertråde. Spillet forbliver silkeglat, selv når det behandler 2.000+ ruter på tværs af fire rivaliserende flyselskaber.

En rigtig vinduesmanager. WindowManager er en autoload singleton, der håndterer fokus-til-front-lagdeling (klik et vindue, det kommer i top), position/størrelse-persistens til disk og skærm-adaptiv størrelsesbestemmelse. Tre tiers: Normal (gameplay-paneler), Modal (indstillinger, save/load) og HUD (altid øverst).

OSM-stil kortflise. Zoom ind i enhver region og højdetalje-kortflise indlæses dynamisk. Sprite-pooling, LRU-teksturcache, diskcaching og online-hentning. Tre stilarter: Retro Dark (standard), Satellite og Clean Vector.

Storcirkelstier med vejrundgåelse. Flyvestier følger sfærisk interpolation for geografisk nøjagtighed og ruter dynamisk uden om stormsystemer på kortet. Flysprites banker ind i drejninger og kaster skygger. Det er en masse matematik til kosmetik, men det får verden til at føles ægte.

Storcirkel-routing i aktion: fly følger realistiske krumme stier på tværs af globusen Storcirkel-routing i aktion: fly følger realistiske krumme stier og undgår vejrsystemer.

Kortet zoomet ind i en region der viser Retro Dark-flisestilen med neon-stiliserede detaljer Zoom ind, og OSM-stil fliser indlæses løbende. Tre kortstilarter at vælge imellem.


Talspillet: Rute-økonomi

I hjertet af SkyChart er en økonomisk model, vi er oprigtigt stolte af. Hver rute beregner månedlig profit gennem en pipeline, der overvejer:

  • Basis-efterspørgsel (bybefolkning x økonomisk multiplikator)
  • Sæsonvariation (12 månedlige multiplikatorer pr. by)
  • Investeringsbonusser (hoteller, golfbaner, koncertsale, forlystelsesparker)
  • Regional diplomati (bedre relationer = mere efterspørgsel)
  • Event-modifikatorer (krige, oliekriser, pandemier)
  • Omdømme (sikkerhedsrekord og kundeservice påvirker efterspørgsel globalt)
  • Konkurrence (efterspørgsel opdeles efter attraktionsscore, prissætning, loyalitet, hub-tilstedeværelse)
  • Flyalder (fly forbi pensioneringsåret koster +40 procent at drive og mister 15 procent efterspørgsel)
  • Brændstofpriser (OPEC-events kan fordoble dine variable omkostninger natten over)

Resultatet er et system, hvor ingen to ruter spiller ens, og det optimale netværk i 1935 ligner intet det optimale netværk i 2005.

Kvartalsrapporten der viser omsætning, udgifter og et rullende profitdiagram Hvert kvartal fortæller tallene historien. Det dyk i Q3? OPEC skete.

Route Performance-dashboardet der viser ruter rangeret efter profit med trenddata Route Performance: hver rute rangeret efter profit med trend-sparklines. Grøn er god. Rød betyder, at det er tid til at træffe hårde beslutninger.


Hvad er næste

Vi er i øjeblikket på v0.2.17, hvilket i SkyChart-versionering betyder, at vi er dybt inde i Fase 16+-polering. Kernespillet er komplet og meget spilbart. Her er hvad der er på landingsbanen:

  • UI-lydeffekter og ambient lydbillede: knapklik, panel-whoosh, lufthavnsambience
  • Tutorial ved første opstart: en 12-kapitler guidet gennemgang, så nye spillere ikke behøver at lære ved at crashe (økonomisk, ikke bogstaveligt… selvom også bogstaveligt)
  • Forberedelse til Steam-release: butikside, achievements-integration, cloud saves

Vi har bygget SkyChart med den filosofi, at management-sims fortjener samme UI-kærlighed, som action-spil får. Hvert tooltip, hver animation, hver kvalitet-af-liv-funktion eksisterer, fordi vi spurgte: “Hvad ville få os til ikke at ville alt-tab’e?”


Følg rejsen

SkyChart udvikles af Casey Jones Labs, et lille studie med en stor kærlighed til de spil, der formede os. Hvis du voksede op med at diskutere, om du skulle åbne en rute til Anchorage eller investere i en forlystelsespark i Honolulu, er dette spil til dig.

Hold dig opdateret for flere dev-blogs, og hold dine bordplader i den opretstående position.

Casey Jones Labs-besætningen

SkyChart-hovedmenuen med animerede fly der krydser baggrundskortet SkyChart: Airline Executive, kommer til Steam til Windows, macOS og Linux. Bygget med Godot 4.