Mastodon
← Wszystkie wpisy
autor: Casey Jones Labs · 7 min czytania

Budujemy SkyChart: jak list miłosny do Aerobiz stał się pełnokrwistą symulacją linii lotniczej

devlogskychartbehind-the-scenes
Ten wpis został automatycznie przetłumaczony z angielskiego. Przeczytaj oryginał
Spis treści

Jest gra z 1992 roku, która nas zrujnowała. Aerobiz Supersonic na SNES nie miał prawa być tak uzależniający, jak był. Kupowanie slotów lotniskowych w Lagos, unikanie kryzysów naftowych, obserwowanie, jak twoje małe piksele samolotów pełzają po pikselowym globie, podczas gdy planujesz światową dominację, jeden hub naraz.

Nikt nie zrobił porządnego następcy. Więc postanowiliśmy go zbudować.

SkyChart: Airline Executive to nasza odpowiedź. Retro-nowoczesna symulacja zarządzania linią lotniczą zbudowana w Godot 4, obejmująca 90 lat historii lotnictwa od złotego wieku łodzi latających do ery A380. Dzisiaj uchylamy zasłonę i pokazujemy, jak to wszystko się złożyło.


Koncepcja: “A co jeśli Aerobiz miałby nowoczesny UI?”

Główna fantazja jest prosta: jesteś prezesem raczkującej linii lotniczej, rywalizującej z rywalami AI w czterech historycznych epokach (1930-2020). Wybierasz trasy, kupujesz samoloty, inwestujesz w miasta, zarządzasz dyplomacją z regionami świata i próbujesz nie zbankrutować, gdy OPEC zdecyduje zepsuć wszystkim kwartał.

Ale tam, gdzie Aerobiz dawał ci menu i tekst, my chcieliśmy żywej mapy świata. Trasy po ortodromach, radar pogodowy, cykle dzień/noc, animacje rozkwitu miast i piksele samolotów przechylające się w zakrętach. Coś, co sprawia, że odchylasz się w fotelu i myślisz: “Tak, zbudowałem tę sieć.”

Klimat, na którym wylądowaliśmy: high-tech retro. Neonowe świecące linie na ciemnej mapie. Przyciski HUD w kształcie sześciokątów. Pasek informacyjny, który mógłby pochodzić z terminalu Bloomberga lat 90. Nowoczesny UX opakowany w niewątpliwy urok epoki SNES.

Mapa świata nocą z neonowymi liniami tras krzyżującymi się przez glob, podczas gdy piksele samolotów kreślą trasy po ortodromach między miastami Widok globalny: twoja sieć linii lotniczej w jednym rzucie oka. Każda świecąca linia to trasa. Każda poruszająca się kropka to przychód.


150 miast, 33 samoloty, 90 lat historii

Porozmawiajmy o skali. SkyChart oferuje:

  • 150 miast w 7 regionach świata (plus Rosja po 1991 roku), każde z prawdziwymi danymi populacyjnymi, profilami ekonomicznymi i sezonowymi krzywymi popytu. Tokio skacze w sezonie kwitnienia wiśni. Miami kwitnie zimą. Kalkuta osiąga szczyt podczas Durga Puja.
  • 33 historycznie dokładne samoloty od Douglasa DC-3 (1936) do Boeinga 787 Dreamliner. Każdy ma autentyczny zasięg, prędkość, pojemność, koszty operacyjne i rok wycofania. Pilotuj DC-3 do ery odrzutowców i obserwuj, jak koszty utrzymania zjadają cię żywcem.
  • Ponad 60 wydarzeń historycznych, które zmieniają warunki gry. Wielki Kryzys zabija popyt. II wojna światowa bombarduje Londyn i Berlin (dosłownie, będziesz musiał odbudować te lotniska). Kryzys naftowy z 1973 roku podwaja twoje koszty paliwa z dnia na dzień. COVID-19 pojawia się w Erze 4 i, cóż… pamiętasz.
  • 4 grywalne epoki, z eskalującymi celami. Era 1 prosi o przetrwanie z samolotami śmigłowymi i 5 mln $. Era 4 chce imperium za 2 miliardy $ obejmującego wszystkie siedem regionów.

Każda era czuje się jak inna gra. Strategiczny rachunek sieci łodzi latających z lat 30. nie przypomina bezlitosnej wojny hub-and-spoke z lat 90.

Ekran wyboru ery pokazujący cztery epoki historyczne z ich celami i warunkami startowymi Wybierz swoją erę: każda to inna gra z innymi samolotami, wydarzeniami i warunkami zwycięstwa.

Okienko wydarzenia historycznego ogłaszające pandemię COVID-19 Historia się nie powtarza, ale gwałtownie podnosi twoje koszty paliwa.


AI, które naprawdę gra z powrotem

Jedną rzeczą, z którą odmówiliśmy wysyłki, było martwe AI. Konkurencyjne linie w SkyChart nie rozszerzają się po prostu losowo. Mają regiony macierzyste, ważony wybór tras na podstawie danych populacyjnych i ekonomicznych, kwartalne korekty cen, modernizację floty po wycofaniu samolotów i strategie inwestycji w huby.

Podcinają twoje ceny na spornych trasach. Wykupują sloty lotniskowe w miastach, na które miałeś oko. Nawet leasingują samoloty, kiedy brakuje im gotówki, tak jak zrobiłaby prawdziwa tania linia.

A w Erze 4, jeśli zbudowałeś imperium, z którym nie mogą konkurować? Mogą po prostu stać się celem przejęcia. Jedno wrogie przejęcie na erę. Ich trasy, sloty i huby, wszystko twoje. Za pewną cenę.

Panel Competitive Intelligence pokazujący ekspansję konkurencyjnych linii w regionach Poznaj swojego wroga: panel Intel śledzi każdy ruch rywala we wszystkich siedmiu regionach.


Kokpit: UI, który z tobą nie walczy

Jeśli grałeś kiedyś w symulator zarządzania, w którym UI był prawdziwym bossem do pokonania, znasz ten ból. Spędziliśmy nierozsądną ilość czasu na upewnieniu się, że interfejs SkyChart jest czymś, czego chcesz używać.

Każdy panel jest przeciągalnym, skalowalnym oknem. Route Manager, Fleet Overview, Strategic Advisor, City Intelligence, Competitive Intel, Music Player. Przeciągaj je, gdzie chcesz. Zmieniaj rozmiar. Gra zapamiętuje twój układ między sesjami.

Strategic Advisor to twój AI drugi pilot. Skanuje każdą możliwą parę miast na świecie (to 11 175 kombinacji), szereguje je według przewidywanego zysku i serwuje najlepsze okazje na srebrnej tacy. Działa na puli wątków w tle, do 8 wątków roboczych, więc nigdy nie zawiesza gry, nawet przy przeżuwaniu tysięcy tras.

Pełne wsparcie kontrolerów było późnym dodatkiem, który stał się projektem z pasją. Kontrolery Xbox, PlayStation i Switch działają natywnie. Wirtualny kursor pozwala wybierać miasta na mapie prawym drążkiem. Menu kołowe (przytrzymaj LB) daje natychmiastowy dostęp do każdego panelu. Każde okno reaguje na B-zamknij. Zbudowaliśmy nawet graficzny przewodnik po sterowaniu z widgetami keycap i button-glyph.

A, i jest wbudowany odtwarzacz muzyki. Trzy źródła: ścieżka dźwiękowa gry odpowiednia do epoki (44 utwory obejmujące jazz age do współczesnej elektroniki), twoja lokalna biblioteka muzyczna lub integracja ze Spotify przez OAuth. Bo czym jest prowadzenie linii lotniczej bez dobrej playlisty?

Wiele przeciągalnych okien otwartych z Route Manager, panelem miasta i Strategic Advisor rozmieszczonych na mapie Twój kokpit, twój układ. Każdy panel jest przeciągalny, skalowalny i pamięta, gdzie go zostawiłeś.

Panel Strategic Advisor pokazujący polecane trasy szeregowane według przewidywanego zysku Strategic Advisor przeżuwa 11 175 par miast, żebyś ty nie musiał.

Przewodnik po sterowaniu kontrolerem pokazujący wszystkie mapowania przycisków gamepada Pełne wsparcie kontrolerów: każdy przycisk zmapowany na zarządzanie linią lotniczą z kanapy.


Pod maską: historia miłości z GDScript

SkyChart jest zbudowany całkowicie w Godot 4 z GDScript 2.0. Bez C#, bez modułów C++. Wszystko, od silnika ekonomii tras po renderer kafelkowej mapy, to czysty GDScript.

Kilka ciekawostek z perspektywy inżynieryjnej:

Wątkowanie wszędzie. Comiesięczne obliczenia ekonomiczne, rekomendacje tras i ekspansja AI działają na wątkach roboczych. Gra pozostaje jedwabiście płynna nawet przy przetwarzaniu ponad 2 000 tras w czterech konkurencyjnych liniach.

Prawdziwy menedżer okien. WindowManager to autoload singleton obsługujący warstwy focus-to-front (kliknij okno, przechodzi na górę), persystencję pozycji/rozmiaru na dysk i dostosowywanie rozmiaru do ekranu. Trzy poziomy: Normal (panele gry), Modal (ustawienia, zapis/wczytaj) i HUD (zawsze na wierzchu).

Kafelki mapy w stylu OSM. Zoomuj do dowolnego regionu, a szczegółowe kafelki mapy ładują się dynamicznie. Pooling spritów, cache tekstur LRU, cache dyskowy i pobieranie online. Trzy style: Retro Dark (domyślny), Satellite i Clean Vector.

Trasy po ortodromach z unikaniem pogody. Trasy lotów podążają za sferyczną interpolacją dla geograficznej dokładności i dynamicznie omijają systemy burzowe na mapie. Piksele samolotów przechylają się w zakrętach i rzucają cień. To dużo matematyki dla kosmetyki, ale sprawia, że świat czuje się prawdziwy.

Trasowanie po ortodromach w akcji: samoloty podążają realistycznymi, krzywymi trasami przez glob Trasowanie po ortodromach w akcji: samoloty podążają realistycznymi, krzywymi trasami i omijają systemy pogodowe.

Mapa zoomowana na region pokazujący styl kafelków Retro Dark z neonowo stylizowanymi detalami Zoomuj, a kafelki w stylu OSM ładują się w locie. Trzy style mapy do wyboru.


Gra w liczby: ekonomia tras

W sercu SkyChart leży model ekonomiczny, z którego jesteśmy naprawdę dumni. Każda trasa oblicza miesięczny zysk przez potok, który bierze pod uwagę:

  • Popyt bazowy (populacja miasta x mnożnik ekonomiczny)
  • Wahania sezonowe (12 miesięcznych mnożników na miasto)
  • Bonusy inwestycyjne (hotele, pola golfowe, sale koncertowe, parki rozrywki)
  • Dyplomacja regionalna (lepsze relacje = większy popyt)
  • Modyfikatory wydarzeń (wojny, kryzysy naftowe, pandemie)
  • Reputacja (historia bezpieczeństwa i obsługi klienta wpływają na popyt globalnie)
  • Konkurencja (popyt dzieli się według wyniku atrakcyjności, cen, lojalności, obecności hubu)
  • Wiek samolotu (samoloty po roku wycofania kosztują +40% w eksploatacji i tracą 15% popytu)
  • Ceny paliwa (wydarzenia OPEC mogą podwoić twoje koszty zmienne z dnia na dzień)

Rezultatem jest system, w którym żadne dwie trasy nie grają się tak samo, a optymalna sieć w 1935 roku nie przypomina optymalnej sieci w 2005.

Kwartalny raport finansowy pokazujący przychody, wydatki i kroczący wykres zysków Co kwartał liczby opowiadają historię. Ten spadek w Q3? OPEC się stał.

Dashboard Route Performance pokazujący trasy szeregowane według zysku z danymi trendu Route Performance: każda trasa szeregowana według zysku ze sparkline trendu. Zielony jest dobry. Czerwony oznacza, że czas na trudne decyzje.


Co dalej

Jesteśmy obecnie w v0.2.17, co w wersjonowaniu SkyChart oznacza, że jesteśmy głęboko w polerze Fazy 16+. Podstawowa gra jest ukończona i bardzo grywalna. Oto, co jest na pasie startowym:

  • Efekty dźwiękowe UI i tło dźwiękowe: kliknięcia przycisków, szumy paneli, atmosfera lotniska
  • Samouczek dla nowych graczy: 12-rozdziałowy przewodnik, żeby nowi gracze nie musieli uczyć się przez rozbicie (finansowe, nie dosłowne… choć też dosłowne)
  • Przygotowanie do premiery na Steamie: strona sklepu, integracja z osiągnięciami, zapisy w chmurze

Budujemy SkyChart z filozofią, że symulatory zarządzania zasługują na taką samą miłość do UI, jaką dostają gry akcji. Każdy tooltip, każda animacja, każda funkcja quality-of-life istnieje, ponieważ zapytaliśmy: “Co sprawiłoby, że my nie chcielibyśmy przełączyć się alt-tabem?”


Śledź podróż

SkyChart jest tworzony przez Casey Jones Labs, małe studio z wielką miłością do gier, które nas ukształtowały. Jeśli dorastałeś, debatując, czy otworzyć trasę do Anchorage, czy zainwestować w park rozrywki w Honolulu, ta gra jest dla ciebie.

Zostań z nami na kolejne dev blogi i trzymaj swoje stoliki na miejscu.

Ekipa Casey Jones Labs

Główne menu SkyChart z animowanymi samolotami przecinającymi tło mapy SkyChart: Airline Executive, wkrótce na Steam dla Windows, macOS i Linux. Zbudowany w Godot 4.