Mastodon
← Kaikki postaukset
kirjoittaja: Casey Jones Labs · lukuaika 6 min

SkyChartin rakentaminen: kuinka rakkauskirjeestä Aerobizille tuli täysiverinen lentoyhtiösimulaatio

devlogskychartbehind-the-scenes
Tämä julkaisu on käännetty englannista automaattisesti. Lue alkuperäinen
Sisällysluettelo

On olemassa vuoden 1992 peli, joka tuhosi meidät. Aerobiz Supersonicilla SNES:llä ei ollut mitään asiaa olla niin koukuttava kuin se oli. Lentokenttäslottien osto Lagosissa, öljykriisien väistely, pienten lentokonespriittien seuraaminen niiden ryömiessä pikselöityjen maapallojen yli samalla kun suunnittelit maailmanvalloitusta hubi kerrallaan.

Kukaan ei ole tehnyt kunnollista jatko-osaa. Joten päätimme rakentaa sellaisen.

SkyChart: Airline Executive on vastauksemme. Retro-moderni lentoyhtiönhallintasimulaatio rakennettu Godot 4:ssä, joka kattaa 90 vuotta ilmailuhistoriaa lentoveneiden kulta-ajalta A380-aikakauteen. Tänään vedämme verhon syrjään siitä, kuinka kaikki tuli kokoon.


Pitchi: “Entäpä jos Aerobizilla olisi moderni käyttöliittymä?”

Ytimen fantasia on yksinkertainen: olet kukoistavan lentoyhtiön toimitusjohtaja ja kilpailet tekoälyvastustajia vastaan neljän historiallisen aikakauden yli (1930–2020). Valitset reittejä, ostat koneita, sijoitat kaupunkeihin, hallitset diplomatiaa maailman alueiden kanssa ja yrität olla menemättä konkurssiin, kun OPEC päättää pilata kaikkien kvartaalin.

Mutta kun Aerobiz antoi sinulle valikkoja ja tekstiä, me halusimme elävän maailmankartan. Isoympyrän lentoreitit, säätutka, päivä/yö-syklit, kaupunkien kasvuanimaatiot ja lentokonespriitit, jotka kallistuvat käännöksiin. Sellainen juttu, joka saa sinut nojaamaan taaksepäin tuolissasi ja ajattelemaan: “Joo, minä rakensin tuon verkoston.”

Vibe, johon laskeuduimme: huipputekninen retro. Neon-hohtoisia linjoja tummalla kartalla. Kuusikulmaiset HUD-napit. Uutistikkeri, joka olisi voinut tulla 90-luvun Bloomberg-terminaalista. Moderni UX kääritty tuohon erehtymättömään SNES-ajan hurmaan.

Yönaikainen maailmankartta neon-reittiviivoineen ristikkoineen maapallon yli lentokonespriittien piirtäessä isoympyrän ratoja kaupunkien välillä Globaali näkymä: lentoyhtiösi verkosto yhdellä silmäyksellä. Jokainen hohtava viiva on reitti. Jokainen liikkuva piste on liikevaihtoa.


150 kaupunkia, 33 lentokonetta, 90 vuotta historiaa

Puhutaan mittakaavasta. SkyChart sisältää:

  • 150 kaupunkia seitsemällä maailman alueella (plus vuoden 1991 jälkeinen Venäjä), jokaisella todellinen väestödata, taloudelliset profiilit ja kausikysynnän käyrät. Tokio nousee kirsikankukka-aikaan. Miami kukoistaa talvella. Kolkata huipentuu Durga Pujan aikana.
  • 33 historiallisesti tarkkaa lentokonetta Douglas DC-3:sta (1936) Boeing 787 Dreamlineriin. Jokaisella on aito kantama, nopeus, kapasiteetti, toimintakustannukset ja eläköitymisvuosi. Lennä DC-3:lla suihkukoneaikaan ja katso kuinka huoltokustannukset syövät sinut elävältä.
  • 60+ historiallista tapahtumaa, jotka muokkaavat pelikenttää uudelleen. Suuri lama romahduttaa kysynnän. Toinen maailmansota pommittaa Lontoon ja Berliinin (kirjaimellisesti, sinun pitää rakentaa ne kentät uudelleen). Vuoden 1973 öljykriisi kaksinkertaistaa polttoainekustannuksesi yhdessä yössä. COVID-19 ilmestyy aikakauteen 4 ja, no… sinä muistat.
  • 4 pelattavaa aikakautta, kullakin nousevat tavoitteet. Aikakausi 1 pyytää sinua selviytymään potkurikoneilla ja 5 miljoonan dollarin pääomalla. Aikakausi 4 haluaa 2 miljardin dollarin imperiumin, joka kattaa kaikki seitsemän aluetta.

Jokainen aikakausi tuntuu eri peliltä. 1930-luvun lentoveneverkoston strateginen laskelma ei ole mitään 1990-luvun raakalaismaisen hub-and-spoke-sodankäynnin kaltaista.

Aikakauden valintanäyttö, jossa näkyy neljä historiallista aikakautta tavoitteineen ja lähtökohtineen Valitse aikakautesi: kukin on eri peli eri koneilla, tapahtumilla ja voitonehdolla.

Historiallinen tapahtumaikkuna, joka ilmoittaa COVID-19-pandemiasta Historia ei toistu, mutta se kyllä piikittää polttoainekustannuksesi.


Tekoäly, joka todella pelaa takaisin

Yksi asia, jolla kieltäydyimme julkaisemasta, oli aivokuollut tekoäly. SkyChartin kilpailevat lentoyhtiöt eivät vain satunnaisesti laajennu. Niillä on kotialueet, painotettu reittivalinta väestö- ja taloudellisen datan perusteella, kvartaalittaiset hinnanmuutokset, laivueen päivitykset koneiden eläköityessä, ja hubisijoitusstrategiat.

Ne alittavat hintasi kiistellyillä reiteillä. Ne ostavat lentokenttäslotteja kaupungeista, joita olet silmäillyt. Ne jopa vuokraavat koneita, kun kassa on tiukalla, aivan kuin oikea halpalentoyhtiö tekisi.

Ja aikakaudella 4, jos olet rakentanut imperiumin, jonka kanssa ne eivät voi kilpailla? Niistä saattaa tulla yritysosto-kohteita. Yksi vihamielinen valtaus aikakautta kohti. Niiden reitit, slotit ja hubit, kaikki sinun. Hinnalla.

Kilpailutiedustelupaneeli, joka näyttää kilpailevien lentoyhtiöiden laajentumisen alueilla Tunne vihollisesi: Intel-paneeli seuraa jokaisen kilpailijan liikkeitä kaikilla seitsemällä alueella.


Ohjaamo: käyttöliittymä joka ei taistele sinua vastaan

Jos olet koskaan pelannut hallintasimulaattoria, jossa UI oli todellinen pomotaistelu, tunnet tuskan. Olemme käyttäneet kohtuuttoman paljon aikaa varmistaaksemme, että SkyChartin käyttöliittymä on jotakin, jota haluat käyttää.

Jokainen paneeli on raahattava ja skaalattava ikkuna. Reittimanageri, laivueyleiskatsaus, strateginen neuvonantaja, kaupunkitiedustelu, kilpailutiedustelu, musiikkisoitin. Raahaa ne mihin haluat. Skaalaa. Peli muistaa asettelusi istuntojen välillä.

Strateginen neuvonantaja on tekoälykopilottisi. Se skannaa jokaisen mahdollisen kaupunkiparin maailmassa (se on 11 175 yhdistelmää), järjestää ne ennakoidun voiton mukaan ja tarjoilee parhaat mahdollisuudet hopeatarjottimella. Se pyörii taustasäikepoolissa, jopa 8 työsäiettä, joten se ei koskaan jäädytä peliä, edes tuhansia reittejä murskatessaan.

Täysi ohjaintuki oli myöhäinen lisäys, josta tuli intohimoprojekti. Xbox-, PlayStation- ja Switch-ohjaimet kaikki toimivat natiivisti. Virtuaalikursori antaa sinun valita kaupunkeja kartalta oikealla tatilla. Säteittäinen valikko (pidä LB) antaa välittömän pääsyn jokaiseen paneeliin. Jokainen ikkuna vastaa B-sulkemiseen. Rakensimme jopa graafisen ohjainoppaan näppäimistömerkki- ja painikeglyyfiwidgeteillä.

Ai niin, ja siellä on sisäänrakennettu musiikkisoitin. Kolme lähdettä: pelin aikakausilleen sopiva ääniraita (44 kappaletta jazzajasta moderniin elektroniseen), oma paikallinen musiikkikirjastosi tai Spotify-integraatio OAuthin kautta. Koska mitä on lentoyhtiön pyörittäminen ilman hyvää soittolistaa?

Useita raahattavia ikkunoita auki Reittimanagerin, kaupunkipaneelin ja strategisen neuvonantajan kanssa järjesteltyinä kartalle Sinun ohjaamosi, sinun asettelusi. Jokainen paneeli on raahattava, skaalattava ja muistaa mihin sen jätit.

Strategisen neuvonantajan paneeli, joka näyttää suositellut reitit järjestettynä ennakoidun voiton mukaan Strateginen neuvonantaja murskaa 11 175 kaupunkiparia niin että sinun ei tarvitse.

Ohjainsyötteen opas, joka näyttää kaikki peliohjaimen painikekartoitukset Täysi ohjaintuki: jokainen painike kartoitettu sohvalla tapahtuvaan lentoyhtiöhallintaan.


Pinnan alla: GDScript-rakkaustarina

SkyChart on rakennettu kokonaan Godot 4:llä ja GDScript 2.0:lla. Ei C#:ia, ei C++-moduuleita. Kaikki reittitalouden moottorista laattakarttarenderöijään on puhdasta GDScriptiä.

Muutama kohokohta insinööripuolelta:

Säikeistys kaikkialla. Kuukausittaiset talouslaskelmat, reittisuositukset ja tekoälyn laajennus pyörivät kaikki työsäikeillä. Peli pysyy silkinpehmeänä, vaikka käsiteltäisiin 2 000+ reittiä neljän kilpailijan yli.

Oikea ikkunanhallinta. WindowManager on autoload-singleton, joka käsittelee focus-to-front-kerrostuksen (klikkaa ikkunaa ja se nousee ylimmäiseksi), sijainnin ja koon tallentamisen levylle ja näyttöön sopeutuvan koon. Kolme tasoa: Normal (peli-paneelit), Modal (asetukset, tallenna/lataa) ja HUD (aina ylimpänä).

OSM-tyyliset karttalaatat. Zoomaa mille tahansa alueelle ja tarkan tason karttalaatat lataantuvat dynaamisesti. Spritten poolaus, LRU-tekstuurivälimuisti, levyvälimuisti ja verkkohaku. Kolme tyyliä: Retro Dark (oletus), Satelliitti ja Clean Vector.

Isoympyrän reitit säänväistöllä. Lentoreitit seuraavat pallon mukaista interpolaatiota maantieteellistä tarkkuutta varten ja reitittyvät dynaamisesti myrskyjärjestelmien ympäri kartalla. Lentokonespriitit kallistuvat käännöksiin ja heittävät pudotusvarjoja. Paljon matematiikkaa kosmetiikkaa varten, mutta se saa maailman tuntumaan todelliselta.

Isoympyrän reititys toiminnassa: koneet seuraavat realistisia kaarevia ratoja maapallon yli Isoympyrän reititys toiminnassa: koneet seuraavat realistisia kaarevia ratoja ja väistävät sääjärjestelmiä.

Karttaan zoomattu alue, joka näyttää Retro Dark -laattatyylin neon-tyylisine yksityiskohtineen Zoomaa sisään ja OSM-tyyliset laatat latautuvat lennossa. Kolme karttatyyliä valittavana.


Numeropeli: reittitalous

SkyChartin sydämessä on taloudellinen malli, josta olemme aidosti ylpeitä. Jokainen reitti laskee kuukausittaisen voiton putken kautta, joka ottaa huomioon:

  • Peruskysynnän (kaupungin väestö x taloudellinen kerroin)
  • Kausivaihtelun (12 kuukausikerrointa per kaupunki)
  • Sijoitusbonukset (hotellit, golfkentät, konserttitalot, teemapuistot)
  • Alueellisen diplomatian (paremmat suhteet = enemmän kysyntää)
  • Tapahtumamuokkaajat (sodat, öljykriisit, pandemiat)
  • Mainen (turvallisuustiedot ja asiakaspalvelu vaikuttavat kysyntään globaalisti)
  • Kilpailun (kysyntä jakautuu vetovoimapisteiden, hinnoittelun, uskollisuuden ja hubiläsnäolon mukaan)
  • Koneen iän (eläköitymisvuoden ylittäneet koneet maksavat +40 % operoida ja menettävät 15 % kysynnästä)
  • Polttoaineen hinnan (OPEC-tapahtumat voivat kaksinkertaistaa muuttuvat kustannuksesi yhdessä yössä)

Lopputulos on järjestelmä, jossa kaksi reittiä ei pelaa samalla tavalla, ja optimaalinen verkosto vuonna 1935 ei näytä miltään optimaaliselta verkostolta vuonna 2005.

Neljännesvuosittainen talousraportti, joka näyttää liikevaihdon, kulut ja rullaavan voittokaavion Joka neljännesvuosi numerot kertovat tarinan. Se notkahdus Q3:ssa? OPEC tapahtui.

Reittisuorituskyky-kojelauta, joka näyttää reitit voiton mukaan trendidatalla Reittisuorituskyky: jokainen reitti arvioitu voiton mukaan trendikäyrillä. Vihreä on hyvä. Punainen tarkoittaa, että on aika tehdä vaikeita päätöksiä.


Mitä seuraavaksi

Olemme parhaillaan versiossa v0.2.17, mikä SkyChart-versioinnissa tarkoittaa, että olemme syvällä vaiheen 16+ viimeistelyssä. Pelin ytimen on valmis ja hyvin pelattavissa. Kiitoradalla on seuraavaa:

  • UI-äänitehosteet ja taustamaisema: painikenapsahduksia, paneeliviuhahduksia, lentokenttätunnelmaa
  • Ensikerran opastus: 12 luvun ohjattu läpikäynti, jotta uusien pelaajien ei tarvitse oppia kaatumalla (taloudellisesti, ei kirjaimellisesti… joskin myös kirjaimellisesti)
  • Steam-julkaisuvalmistelu: kauppasivu, saavutusintegraatio, pilvitallenteet

Olemme rakentaneet SkyChartia filosofialla, että hallintasimulaatiot ansaitsevat samaa UI-rakkautta kuin toimintapelit saavat. Jokainen työkaluvihje, jokainen animaatio, jokainen laatuominaisuus on olemassa, koska kysyimme: “Mikä saisi meidät olemaan vaihtamatta välilehteä?”


Seuraa matkaa

SkyChartia kehittää Casey Jones Labs, pieni studio, jolla on iso rakkaus meitä muokanneita pelejä kohtaan. Jos kasvoit pohtien avaatko reitin Anchorageen vai sijoitatko teemapuistoon Honolulussa, tämä peli on sinulle.

Pysy kanavalla lisää kehitysblogeja varten ja pidä tarjottimet pystyssä.

Casey Jones Labsin miehistö

SkyChartin päävalikko animoiduilla koneilla, jotka kulkevat taustakartan poikki SkyChart: Airline Executive, tulossa Steamiin Windowsille, macOSille ja Linuxille. Rakennettu Godot 4:llä.