Å bygge SkyChart: Hvordan et kjærlighetsbrev til Aerobiz ble en fullverdig flyselskapsimulator
Innhold
Det finnes et spill fra 1992 som ødela oss. Aerobiz Supersonic på SNES hadde ingenting å gjøre å være så avhengighetsskapende som det var. Å kjøpe flyplass-slots i Lagos, å unngå oljekriser, å se de små flysprite-ene krype over en pikselert klode mens du la planer om verdensdominans ett knutepunkt om gangen.
Ingen har laget en skikkelig etterfølger. Så vi bestemte oss for å bygge en.
SkyChart: Airline Executive er svaret vårt. En retromoderne flyselskapsimulator bygget i Godot 4, som spenner over 90 års luftfartshistorie fra flybåtenes gullalder til A380-epoken. I dag trekker vi teppet til side og viser hvordan alt kom sammen.
Pitchen: “Tenk om Aerobiz hadde moderne UI?”
Kjernefantasien er enkel: du er administrerende direktør for et nyetablert flyselskap, som konkurrerer mot AI-rivaler på tvers av fire historiske epoker (1930 til 2020). Du velger ruter, kjøper fly, investerer i byer, håndterer diplomati med verdensregioner og prøver å ikke gå konkurs når OPEC bestemmer seg for å ødelegge alles kvartal.
Men der Aerobiz ga deg menyer og tekst, ville vi ha et levende verdenskart. Storsirkel-flyruter, værradar, dag-og-natt-sykluser, byboomanimasjoner og flysprite-er som heller i svingene. Den typen ting som får deg til å lene deg tilbake i stolen og tenke “ja, jeg bygde dette nettverket.”
Stemningen vi landet på: høyteknologisk retro. Neonglødelinjer på et mørkt kart. Heksagonformede HUD-knapper. En nyhetsticker som kunne vært hentet fra en Bloomberg-terminal på 90-tallet. Moderne UX pakket inn i den umiskjennelige sjarmen fra SNES-tiden.
Det globale perspektivet: flyselskapsnettverket ditt i et øyeblikk. Hver glødende linje er en rute. Hvert bevegelig punkt er inntekter.
150 byer, 33 fly, 90 år med historie
La oss snakke skala. SkyChart har:
- 150 byer på tvers av 7 verdensregioner (pluss Russland etter 1991), hver med reelle befolkningsdata, økonomiske profiler og sesongbaserte etterspørselskurver. Tokyo får et løft i kirsebærblomstringssesongen. Miami blomstrer om vinteren. Kolkata når toppen under Durga Puja.
- 33 historisk nøyaktige fly fra Douglas DC-3 (1936) til Boeing 787 Dreamliner. Hvert fly har autentisk rekkevidde, hastighet, kapasitet, driftskostnader og pensjonsår. Fly en DC-3 inn i jetalderen og se vedlikeholdskostnadene spise deg levende.
- Over 60 historiske hendelser som omformer spillefeltet. Den store depresjonen knekker etterspørselen. Andre verdenskrig bomber London og Berlin (bokstavelig talt, du må gjenoppbygge disse flyplassene). Oljekrisen i 1973 dobler drivstoffkostnadene dine over natten. COVID-19 dukker opp i Era 4, og, vel… du husker.
- 4 spillbare epoker, hver med eskalerende mål. Era 1 ber deg overleve med propellfly og 5 millioner dollar. Era 4 vil ha et imperium på 2 milliarder dollar som spenner over alle sju regioner.
Hver epoke føles som et nytt spill. Den strategiske kalkylen for et flybåtnettverk på 1930-tallet ligner ikke i det hele tatt på den knivskarpe hub-and-spoke-krigføringen på 1990-tallet.
Velg din epoke: hver av dem er et nytt spill med forskjellige fly, hendelser og seiersvilkår.
Historien gjentar seg ikke, men den øker drivstoffkostnadene dine.
AI-en som faktisk spiller tilbake
Én ting vi nektet å lansere med, var hjernedød AI. SkyCharts rivaliserende flyselskaper utvider seg ikke bare tilfeldig. De har hjemmeregioner, vektet rutevalg basert på befolknings- og økonomidata, kvartalsvise prisjusteringer, flåteoppgraderinger når fly pensjoneres, og knutepunktsinvesteringsstrategier.
De underbyr prisene dine på omstridte ruter. De kjøper opp flyplass-slots i byer du har siktet deg inn på. De leaser til og med fly når de er knappe på kontanter, akkurat slik et ekte lavprisselskap ville gjort.
Og i Era 4, hvis du har bygget et imperium de ikke kan konkurrere med? Da kan de bli et oppkjøpsmål. Én fiendtlig overtakelse per epoke. Rutene deres, slotene deres og knutepunktene deres, alt ditt. For en pris.
Kjenn din fiende: Intel-panelet sporer hver rivalens bevegelser på tvers av alle sju regioner.
Cockpiten: UI som ikke kjemper mot deg
Hvis du noen gang har spilt en administrasjonssimulator der UI-et var den egentlige sjefskampen, kjenner du smerten. Vi har brukt en urimelig mengde tid på å sørge for at SkyCharts grensesnitt er noe du vil bruke.
Hvert panel er et flyttbart og omskalerbart vindu. Rutebehandler, Flåteoversikt, Strategisk Rådgiver, Byinformasjon, Konkurransearagi, Musikkspiller. Dra dem dit du vil. Skaler dem. Spillet husker oppsettet ditt mellom økter.
Den strategiske rådgiveren er din AI-kopilot. Den skanner hvert mulige bypar i verden (det er 11 175 kombinasjoner), rangerer dem etter forventet profitt og serverer de beste mulighetene på et sølvfat. Den kjører på en bakgrunnstrådpool, opptil 8 arbeidstråder, slik at den aldri fryser spillet, selv når den regner på tusenvis av ruter.
Full kontrollerstøtte var et sent tillegg som ble et lidenskapsprosjekt. Xbox-, PlayStation- og Switch-kontrollere fungerer alle uten videre. En virtuell markør lar deg velge byer på kartet med høyre stikke. En radial meny (hold LB) gir deg umiddelbar tilgang til alle paneler. Hvert vindu svarer på B-for-å-lukke. Vi bygde til og med en grafisk Kontrollveiledning med keycap- og knappglyff-widgets.
Å, og det finnes en innebygd musikkspiller. Tre kilder: spillets tidsriktige lydspor (44 spor som spenner fra jazzalderen til moderne elektronikk), ditt lokale musikkbibliotek, eller Spotify-integrasjon via OAuth. For hva er det å drive et flyselskap uten en god spilleliste?
Din cockpit, ditt oppsett. Hvert panel er flyttbart, omskalerbart og husker hvor du forlot det.
Den strategiske rådgiveren knaser 11 175 bypar så du slipper.
Full kontrollerstøtte: hver knapp kartlagt for sofavennlig flyselskapsledelse.
Under panseret: En GDScript-kjærlighetshistorie
SkyChart er bygget utelukkende i Godot 4 med GDScript 2.0. Ingen C#, ingen C++-moduler. Alt fra ruteøkonomimotoren til tile-kartrendereren er ren GDScript.
Noen høydepunkter fra ingeniørsiden:
Tråder overalt. Månedlige økonomiske beregninger, ruteanbefalinger og AI-ekspansjon kjører alle på arbeidstråder. Spillet holder seg silkemykt selv når det prosesserer 2 000+ ruter på tvers av fire rivaliserende flyselskaper.
En ekte vinduhåndterer. WindowManager er en autoload-singleton som håndterer fokus-til-front-lagdeling (klikk på et vindu, det kommer øverst), posisjons- og størrelsespersistens til disk, og skjermadaptiv dimensjonering. Tre nivåer: Normal (spillpaneler), Modal (innstillinger, lagre/laste) og HUD (alltid øverst).
OSM-stil karttiler. Zoom inn på en hvilken som helst region, og detaljerte karttiler lastes dynamisk. Sprite-pooling, LRU-teksturbuffer, diskbuffer og online henting. Tre stiler: Retro mørk (standard), Satellitt og Ren vektor.
Storsirkelbaner med værunnvikelse. Flyrutene følger sfærisk interpolasjon for geografisk nøyaktighet, og ruter seg dynamisk rundt stormsystemer på kartet. Flysprite-er heller i svingene og kaster skygger. Det er mye matematikk for kosmetikk, men det får verden til å føles virkelig.
Storsirkelruting i aksjon: fly følger realistiske kurvede baner og unngår værsystemer.
Zoom inn, og OSM-stil-tiles lastes inn underveis. Tre kartstiler å velge mellom.
Tallenes spill: Ruteøkonomi
I hjertet av SkyChart ligger en økonomisk modell vi er genuint stolte av. Hver rute beregner månedlig profitt gjennom en pipeline som tar hensyn til:
- Grunnetterspørsel (bybefolkning x økonomisk multiplikator)
- Sesongvariasjon (12 månedlige multiplikatorer per by)
- Investeringsbonuser (hoteller, golfbaner, konsertsaler, fornøyelsesparker)
- Regionalt diplomati (bedre relasjoner = mer etterspørsel)
- Hendelsesmodifikatorer (kriger, oljekriser, pandemier)
- Omdømme (sikkerhet og kundeservice påvirker etterspørsel globalt)
- Konkurranse (etterspørsel fordeles etter attraksjonsscore, pris, lojalitet, knutepunktstilstedeværelse)
- Flyets alder (fly forbi pensjonsår koster +40 prosent å drifte og mister 15 prosent etterspørsel)
- Drivstoffpriser (OPEC-hendelser kan doble de variable kostnadene dine over natten)
Resultatet er et system der ingen to ruter spilles likt, og det optimale nettverket i 1935 ligner ikke i det hele tatt på det optimale nettverket i 2005.
Hvert kvartal forteller tallene historien. Dupen i 3. kvartal? Da skjedde OPEC.
Ruteytelse: hver rute rangert etter profitt med trendsparklines. Grønt er bra. Rødt betyr at det er tid for harde avgjørelser.
Hva kommer nå
Vi er for øyeblikket på v0.2.17, som i SkyChart-versjoneringen betyr at vi er dypt inne i Fase 16+ polering. Kjernespillet er komplett og svært spillbart. Her er hva som står på rullebanen:
- UI-lydeffekter og ambient lydbilde: knappeklikk, panelsus, flyplassambiens
- Første-gangs-veiledning: en 12-kapittels guidet gjennomgang slik at nye spillere ikke trenger å lære ved å krasje (økonomisk, ikke bokstavelig… men også bokstavelig)
- Forberedelse til Steam-lansering: butikkside, prestasjonsintegrasjon, skylagring
Vi har bygget SkyChart med filosofien at administrasjonssimulatorer fortjener den samme UI-kjærligheten som actionspill får. Hvert verktøytips, hver animasjon, hver bekvemmelighetsfunksjon eksisterer fordi vi spurte: “Hva ville få oss til å ikke ville alt-tab-e?”
Følg reisen
SkyChart utvikles av Casey Jones Labs, et lite studio med stor kjærlighet til spillene som formet oss. Hvis du vokste opp med å diskutere om du skulle åpne en rute til Anchorage eller investere i en fornøyelsespark i Honolulu, er dette spillet for deg.
Følg med på flere dev-blogger, og hold sammenleggbare bord i oppreist posisjon.
Casey Jones Labs-teamet
SkyChart: Airline Executive, kommer til Steam for Windows, macOS og Linux. Bygget med Godot 4.