Mastodon
← Összes bejegyzés
írta: Casey Jones Labs · 7 perc olvasás

A SkyChart építése: Hogyan vált egy Aerobiz-nek szóló szerelmes levél teljes vérű légitársasági szimulációvá

devlogskychartbehind-the-scenes
Ez a bejegyzés automatikusan lett angolról fordítva. Eredeti elolvasása
Tartalomjegyzék

Van egy játék 1992-ből, amely tönkretett minket. Az Aerobiz Supersonic az SNES-en semmi jogosultsága nem volt ahhoz, hogy olyan függőséget keltő legyen, mint amilyen volt. Repülőtéri rések vásárlása Lagosban, olajválságok kikerülése, ahogy figyeled, ahogy a kis repülőgép-szprájtjaid egy pixeles földgömbön kúsznak át, miközben csomópontról csomópontra tervezed a világuralmat.

Senki nem csinált rendes folytatást. Úgyhogy úgy döntöttünk, hogy építünk egyet.

A SkyChart: Airline Executive a válaszunk. Egy retro-modern légitársaság-menedzsment szimuláció Godot 4-ben építve, amely 90 év légiközlekedési történelmét öleli fel, a repülőcsónakok aranykorától az A380 korszakáig. Ma fellebbentjük a fátylat arról, hogy hogyan állt össze az egész.


A pitch: “Mi lenne, ha az Aerobiznek modern UI-ja lenne?”

A magfantázia egyszerű: egy kezdő légitársaság vezérigazgatója vagy, AI-riválisokkal versenyezve négy történelmi korszakon át (1930-tól 2020-ig). Útvonalakat választasz, gépeket veszel, városokba fektetsz be, diplomáciát kezelsz a világrégiókkal, és próbálsz nem csődbe menni, amikor az OPEC úgy dönt, hogy tönkreteszi mindenki negyedévét.

De ahol az Aerobiz menüket és szöveget adott, mi egy élő világtérképet akartunk. Nagykörívű repülési útvonalakat, időjárási radart, nappal/éjszaka ciklusokat, városi fellendülési animációkat, és repülőgép-szprájtokat, amelyek megdőlnek a kanyarokban. Az a fajta dolog, ami hátradőlésre készteti a játékost a székében, és arra, hogy azt gondolja: “Ja, én építettem ezt a hálózatot.”

A hangulat, amelyet megtaláltunk: high-tech retró. Neonszín-vonalak egy sötét térképen. Hatszögletű HUD-gombok. Egy hírsáv, amely egy 90-es évekbeli Bloomberg-terminálról származhatna. Modern UX, amelyet az az összetéveszthetetlen SNES-korszakbeli báj burkol be.

A világtérkép éjszaka, neonszín-útvonalakkal, amelyek átszelik a földgömböt, miközben repülőgép-szprájtok nagykörívű utakat húznak városok között A globális nézet: a légitársasági hálózatod egy pillantás alatt. Minden ragyogó vonal egy útvonal. Minden mozgó pont bevétel.


150 város, 33 repülőgép, 90 év történelem

Beszéljünk a léptékről. A SkyChart a következőkkel rendelkezik:

  • 150 város 7 világrégióban (plusz az 1991 utáni Oroszország), mindegyik valódi népességadatokkal, gazdasági profilokkal és szezonális keresleti görbékkel. Tokió a cseresznyevirágzás idején lendül fel. Miami télen virágzik. Kalkutta a Durga Puja idején tetőzik.
  • 33 történelmileg pontos repülőgép a Douglas DC-3-tól (1936) a Boeing 787 Dreamlinerig. Mindegyiknek hiteles hatótávja, sebessége, kapacitása, üzemeltetési költsége és nyugdíjazási éve van. Repülj egy DC-3-mal a sugárhajtású korszakba, és figyeld, ahogy a karbantartási költségek élve felemésztenek.
  • 60+ történelmi esemény, amely átalakítja a játékteret. A nagy gazdasági világválság lenyomja a keresletet. A második világháború bombázza Londont és Berlint (szó szerint, újra kell építened azokat a repülőtereket). Az 1973-as olajválság egyik napról a másikra megduplázza az üzemanyagköltségeidet. A COVID-19 megjelenik a 4. korszakban, és hát… emlékszel.
  • 4 játszható korszak, mindegyiknek növekvő céljai vannak. Az 1. korszak légcsavaros gépekkel és 5 millió dollárral kéri, hogy túléld. A 4. korszak 2 milliárd dolláros birodalmat akar, amely átfogja mind a hét régiót.

Minden korszak más játéknak érződik. Egy 1930-as évekbeli repülőcsónak-hálózat stratégiai számítása egyáltalán nem olyan, mint az 1990-es évek kemény csomópont-és-küllő hadviselése.

Korszakválasztó képernyő, amely a négy történelmi korszakot mutatja a céljaikkal és kezdeti feltételeikkel Válaszd ki a korszakod: mindegyik más játék, más repülőgépekkel, eseményekkel és győzelmi feltételekkel.

Egy történelmi esemény előugró ablak, amely a COVID-19-járványt jelenti be A történelem nem ismétli önmagát, de megugraszja az üzemanyagköltségeidet.


Az AI, amely tényleg visszajátszik

Egy dolog, amivel nem voltunk hajlandók szállítani, az az agyatlan AI. A SkyChart rivális légitársaságai nem csak véletlenszerűen terjeszkednek. Van otthoni régiójuk, népességi és gazdasági adatokon alapuló súlyozott útvonalválasztásuk, negyedéves árkorrekcióik, flottafrissítéseik, amikor a repülőgépek nyugdíjba vonulnak, és csomóponti beruházási stratégiáik.

Alámennek az áraidnak a vitatott útvonalakon. Felvásárolják a repülőtéri réseket azokban a városokban, amelyeket kiszemeltél. Akár gépeket is lízingelnek, amikor kevés a készpénzük, pontosan úgy, ahogy egy valódi fapados légitársaság tenné.

És a 4. korszakban, ha olyan birodalmat építettél, amellyel nem tudnak versenyezni? Lehet, hogy felvásárlási célponttá válnak. Egy ellenséges felvásárlás korszakonként. Az útvonalaik, réseik és csomópontjaik mind a tieid. Egy áron.

A Versenyhírszerzési panel, amely a rivális légitársaságok regionális terjeszkedését mutatja Ismerd az ellenséged: az Intel panel nyomon követi minden rivális lépését mind a hét régióban.


A pilótafülke: UI, amely nem harcol veled

Ha valaha is játszottál olyan menedzsment szimulátorral, ahol az UI volt az igazi főnökharc, ismered a fájdalmat. Irracionális mennyiségű időt töltöttünk azzal, hogy biztosítsuk, a SkyChart felülete olyasmi legyen, amit szívesen használsz.

Minden panel húzható, átméretezhető ablak. Route Manager, Fleet Overview, Strategic Advisor, City Intelligence, Competitive Intel, Music Player. Húzd oda, ahova akarod. Méretezd át. A játék megjegyzi az elrendezésedet munkamenetek között.

A Strategic Advisor az AI másodpilótád. Átvizsgálja a világ minden lehetséges várospárját (ez 11 175 kombináció), rangsorolja őket a vetített nyereség alapján, és ezüsttálcán tálalja a legjobb lehetőségeket. Háttérszál-poolon fut, legfeljebb 8 munkás szálon, így soha nem fagyasztja le a játékot, még akkor sem, ha útvonalak ezreit őrli.

A teljes kontrolleres támogatás egy késői kiegészítés volt, amely szenvedélyprojektté vált. Az Xbox, PlayStation és Switch kontrollerek mind natívan működnek. Egy virtuális kurzor lehetővé teszi, hogy a jobb bottal válassz városokat a térképen. Egy radiális menü (tartsd lenyomva az LB-t) azonnali hozzáférést ad minden panelhez. Minden ablak reagál a B-vel-zárni műveletre. Még egy grafikus Controls Guide-ot is építettünk gombfeliratokkal és gomb-glif widgetekkel.

Ó, és van egy beépített zenelejátszó. Három forrás: a játék korszakhű hangsávja (44 szám, amely átíveli a jazzkortól a modern elektronikáig), a helyi zenei könyvtárad, vagy Spotify-integráció OAuth-on keresztül. Mert mit ér egy légitársaság vezetése egy jó lejátszási lista nélkül?

Több húzható ablak nyitva a Route Manager, City Panel és Strategic Advisor elrendezésével a térképen A pilótafülkéd, a te elrendezésed. Minden panel húzható, átméretezhető, és emlékszik, hol hagytad.

A Strategic Advisor panel, amely az ajánlott útvonalakat a vetített nyereség szerint rangsorolva mutatja A Strategic Advisor 11 175 várospárt rágcsál át, hogy neked ne kelljen.

Kontroller-bemeneti útmutató, amely az összes gamepad-gomb hozzárendelését mutatja Teljes kontrolleres támogatás: minden gomb feltérképezve a kanapé-barát légitársaság-menedzsmenthez.


A motorháztető alatt: egy GDScript szerelmes történet

A SkyChart teljes egészében Godot 4-ben, GDScript 2.0-val épült. Nincs C#, nincs C++ modul. Minden, az útvonal-gazdasági motortól a csempe-térkép renderelőig, tiszta GDScript.

Néhány kiemelés a mérnöki oldalról:

Szálak mindenhol. A havi gazdasági számítások, útvonal-ajánlások és AI-terjeszkedés mind munkás szálakon futnak. A játék selymes simán marad, még akkor is, ha 2 000+ útvonalat dolgoz fel négy rivális légitársaságon keresztül.

Egy valódi ablakkezelő. A WindowManager egy automatikus betöltésű szingleton, amely kezeli a fókusz-előretöltési rétegeket (kattints egy ablakra, az felülre kerül), a pozíció/méret lemezre mentését, és a képernyő-adaptív méretezést. Három szint: Normal (játékmeneti panelek), Modal (beállítások, mentés/betöltés) és HUD (mindig felül).

OSM-stílusú térkép-csempék. Nagyíts bármely régióra, és a részletes térkép-csempék dinamikusan betöltődnek. Szpráj-poolozás, LRU textúra-gyorsítótár, lemez-gyorsítótár és online letöltés. Három stílus: Retro Dark (alapértelmezett), Satellite és Clean Vector.

Nagykörívű útvonalak időjárás-elkerüléssel. A repülési útvonalak gömbi interpolációt követnek a földrajzi pontosság érdekében, és dinamikusan útvonaltervezik a viharrendszerek körül a térképen. A repülőgép-szprájtok megdőlnek a kanyarokban, és árnyékot vetnek. Sok matematika kozmetikáért, de ez teszi valódinak a világot.

Nagykörívű útvonaltervezés működés közben: a repülőgépek realisztikus ívelt utakat követnek a földgömbön át Nagykörívű útvonaltervezés működés közben: a repülőgépek realisztikus ívelt utakat követnek és kikerülik az időjárási rendszereket.

A térkép egy régióra nagyítva, amely a Retro Dark csempe-stílust mutatja neonszín-részletekkel Nagyíts rá, és az OSM-stílusú csempék menet közben töltődnek be. Három térkép-stílus közül választhatsz.


A számjáték: útvonal-gazdaságtan

A SkyChart középpontjában egy gazdasági modell áll, amelyre őszintén büszkék vagyunk. Minden útvonal havi nyereséget számol egy olyan csővezetéken keresztül, amely figyelembe veszi:

  • Az alapkeresletet (városi népesség x gazdasági szorzó)
  • A szezonális változást (városonként 12 havi szorzó)
  • A beruházási bónuszokat (szállodák, golfpályák, koncerttermek, vidámparkok)
  • A regionális diplomáciát (jobb kapcsolatok = több kereslet)
  • Az eseménymódosítókat (háborúk, olajválságok, járványok)
  • A hírnevet (a biztonsági és ügyfélszolgálati teljesítmény globálisan befolyásolja a keresletet)
  • A versenyt (a kereslet megoszlik a vonzerő, árazás, lojalitás és csomópontjelenlét pontszáma szerint)
  • A repülőgép korát (a nyugdíjazási éven túli gépek 40 százalékkal többe kerülnek üzemeltetni, és 15 százalékkal kevesebb keresletet vonzanak)
  • Az üzemanyagárakat (az OPEC-események egyik napról a másikra megduplázhatják a változó költségeidet)

Az eredmény egy olyan rendszer, amelyben nincs két útvonal, amely ugyanúgy játszana, és az 1935-ös optimális hálózat egyáltalán nem hasonlít a 2005-ös optimális hálózatra.

A negyedéves pénzügyi jelentés, amely a bevételeket, kiadásokat és egy gördülő nyereségdiagramot mutat Minden negyedévben a számok mesélik el a történetet. Az a Q3-as zuhanás? Az OPEC történt.

Útvonal-teljesítmény műszerfal, amely az útvonalakat nyereség szerint rangsorolva mutatja trendadatokkal Route Performance: minden útvonal nyereség szerint rangsorolva, trend-sparkline-okkal. A zöld jó. A piros azt jelenti, ideje kemény döntéseket hozni.


Mi következik

Jelenleg a v0.2.17-nél vagyunk, ami SkyChart-verziózásban azt jelenti, hogy mélyen benne vagyunk a 16+ fázisú csiszolásban. A játék magja kész és nagyon játszható. Íme, mi van a kifutópályán:

  • UI hangeffektek és környezeti hangkép: gombkattintások, panel-suhanások, repülőtéri környezet
  • Első futtatású oktatóanyag: egy 12 fejezetes vezetett útmutató, hogy az új játékosoknak ne kelljen lezuhanással tanulniuk (pénzügyileg, nem szó szerint… bár szó szerint is)
  • Steam kiadási előkészítés: áruházi oldal, teljesítmény-integráció, felhőmentések

A SkyChartot azzal a filozófiával építjük, hogy a menedzsment-szimulátorok ugyanolyan UI-szerelmet érdemelnek, mint amilyet az akciójátékok kapnak. Minden eszköztipp, minden animáció, minden életminőség-funkció azért létezik, mert azt kérdeztük: “Mi tenne olyanná, hogy mi ne akarjunk alt-tabelni?”


Kövesd az utazást

A SkyChartot a Casey Jones Labs fejleszti, egy kis stúdió, amely nagyon szereti azokat a játékokat, amelyek minket alakítottak. Ha azzal nőttél fel, hogy arról vitatkoztál, nyisson-e útvonalat Anchorage-ba, vagy fektessen be egy vidámparkba Honoluluban, ez a játék neked szól.

Maradj velünk több fejlesztői blogért, és tartsd a tálcáidat függőleges helyzetben.

A Casey Jones Labs csapata

A SkyChart főmenüje animált repülőgépekkel, amelyek átszelik a háttértérképet SkyChart: Airline Executive, Steam-re érkezik Windows, macOS és Linux rendszerekre. Godot 4-ben építve.