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

Budujemy SkyChart, Dev Blog #2: piętnaście wersji, jeden bardzo zajęty pas startowy

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

Gdy publikowaliśmy Dev Blog #1, SkyChart był w v0.2.17, działającym symulatorze linii lotniczej ze 150 miastami, 33 samolotami i silnikiem, który w większości nadążał. Powiedzieliśmy, że wrócimy z większą ilością. Nie spodziewaliśmy się wrócić z aż tak wielką.

Piętnaście wersji później gra potroiła liczbę miast, podwoiła flotę, zyskała pełne wsparcie kontrolerów, remont dostępności, systemy wojny ekonomicznej, które zestresowałyby OPEC, i silnik renderujący, który nie błaga już o litość przy 1 600 tras. Byliśmy w hangarze przez chwilę. Oprowadźmy cię po tym, co się zmieniło.

Casey, studyjna ara, nalega, żebyśmy wspomnieli, że osobiście nadzorował każdą aktualizację. Nie nadzorował. Jadł orzechy włoskie i nas oceniał.


Remont silnika, którego nikt nie widział (ale każdy poczuł)

Zacznijmy od nieefektownych rzeczy, które umożliwiają wszystko inne.

Przy v0.2.17 oddalanie widoku na dużej sieci tras było… kinematograficzne, w najgorszym sensie. 9 klatek na sekundę przy 1 600 trasach. Mapa przerysowywała każdą trasę, każdą klatkę. 19 000 pojedynczych węzłów linii usiłujących zagrać rolę pokazu PowerPointa.

Przebudowaliśmy cały silnik renderowania tras od zera. Jedno przebiegowe rysowanie wsadowe zastąpiło tysiące pojedynczych węzłów. Panning mapy kosztuje teraz zero wywołań rysowania, wyrenderowany obraz po prostu się przesuwa. Trasy przerysowują się tylko, gdy sieć faktycznie się zmienia. Po przebudowie: 60 FPS zablokowane, nawet z tysiącami tras krzyżującymi się przez glob.

Uziemiliśmy też 56 000 niewidocznych spritów samolotów, które nadal paliły CPU w każdej klatce jak duchowi piloci pobierający nadgodziny. Ukrytym samolotom odebrano teraz w całości licencje na przetwarzanie.

Potem zbudowaliśmy auto-strojący benchmark wydajności. Naciśnij “Run Benchmark” w ustawieniach, a gra przeprowadzi stress test twojego GPU, CPU i potoku tekstur w około 8 sekund, a następnie auto-stroi 11 limitów wydajności, aby dopasować się do twojego sprzętu. Progi wyświetlania tras, rozmiary cache kafelków, gęstość pogody, liczba wątków rekomendera, wszystko kalibrowane automatycznie. Przesuń suwak poza zalecaną strefę, a dostaniesz żółte ostrzeżenie. Widzieliśmy kapitanów ignorujących wskaźniki Caseya. Nigdy się to dobrze nie kończy.

Panel benchmarku wydajności pokazujący poziom sprzętu i wystrojone ustawienia Twoja linia lotnicza ma teraz dział IT. Benchmark stroi 11 ustawień, żebyś ty nie musiał.


496 miast. 66 samolotów. Tryb Endless.

Świat zrobił się znacznie większy.

496 miast jest teraz na mapie, z dotychczasowych 150, od Timbuktu po Pietropawłowsk Kamczacki (potrzebowaliśmy trzech prób, żeby to wymówić). Każde nowe miasto ma zbadane populacje z 1930, stopy wzrostu, wartości ekonomiczne, kody IATA i prawdziwe współrzędne lotniska. 4-poziomowy system widoczności utrzymuje czytelność mapy: globalne huby są zawsze widoczne, mniejsze miasta pojawiają się tylko, gdy zoomujesz blisko.

Flota też się podwoiła. 66 samolotów wypełnia teraz katalog, historycznie dokładne modele od dwupłatowca Cortez Condor (1933) przez nowoczesną erę, plus spekulatywne projekty przyszłości jak transporter suborbitalny Bering Orbital 1 (2085), ekstrapolowany z rzeczywistych koncepcji i wschodzących technologii lotniczych. Śmigła po hipersoniczne napędy plazmowe. Zapisy ze starszych wersji migrują się automatycznie i płynnie, żadnych zagubionych samolotów, żadnej zagubionej dokumentacji.

Ukończ wszystkie cztery epoki, a odblokujesz tryb Endless, lataj po 2020 bez limitu czasu i bez celów. Odrzutowce wodorowe, skrzydła zlewane i skoczki orbitalne czekają w nadchodzących dekadach. Niebo nie jest już limitem.

A ponieważ nie każdy chce grać z tą samą prędkością, dodaliśmy cztery opcje tempa gry: Arcade (45 sekund na miesiąc, dla niecierpliwych), Standard, Extended i Realtime (30 minut na miesiąc, dla kapitanów, którzy smakują każde wstrząsy turbulencji). Animacje samolotów dopasowują się do wybranego tempa. Samoloty Arcade pędzą przez mapę jak Casey po znalezieniu niestrzeżonej miski orzechów.

Strategic Advisor z Bloga #1 przeżuwał 11 175 par miast. Teraz przeżuwa ponad 122 000. Na puli wątków w tle. Bez zadyszki. Jesteśmy naprawdę dumni z tego jednego.

Mapa świata pokazująca dramatycznie rozszerzoną sieć 496 miast 496 miast. Ponad 122 000 możliwych tras. Strategic Advisor się tym zajmuje, żebyś ty nie musiał.


Witaj w pokoju wojennym

SkyChart zawsze był grą strategiczną. Ale teraz ma odpowiednie przyrządy.

Dwanaście nowych analitycznych dashboardów wylądowało w apartamencie dyrektorskim. Fleet Risk Report wypatruje starzejące się samoloty, zanim staną się przyciskami do papieru. Cash Flow Forecast projektuje twoje saldo banku na 12 miesięcy z suwakami scenariuszy. City Pair Saturation Finder szereguje wszystkie 122 000+ par miast według wyniku możliwości, żebyś przestał wlatywać w walki na noże. Competitor Threat Assessment profiluje strategię ekspansji każdego rywala i nakładanie się na twoją sieć.

Potem cię uzbroiliśmy.

Pełna wojna ekonomiczna przybyła w v0.2.28 i zmieniła uczucie gry całkowicie. Regionalne gospodarki teraz co miesiąc przeżywają boom i bust. Miasta wchodzą w wieloma kwartałami gorączki złota (+40% popyt) lub busty przesycenia (-30%). Dynamiczne szoki rynkowe uderzają kwartalnie: kryzysy paliwowe, upadki hubów, globalne recesje, megafuzje linii lotniczych.

Specjalizacja hubów pozwala deklarować huby jako cargo, turystyczne lub biznesowe dla +20% pasującego popytu. Wojny cenowe uruchamiają się automatycznie, gdy podcinasz rywala na spornych trasach. 1,5x koszty, +20% popyt, czysta adrenalina. Zdominuj 40%+ regionu, a rywale AI uruchamiają 6-miesięczne drapieżne wojny rynkowe, podcinając wszystko i przeciągając twoje najlepsze miasta.

Aukcje slotów w zapieczętowanych kopertach zastąpiły zasadę kto pierwszy ten lepszy. Sojusze code-share z prawdziwym dzieleniem przychodów. Szpiegostwo korporacyjne: wynajmij informatorów w trzech poziomach wywiadu, od danych o trasach po pełne finanse po wręcz kradzież korporacyjną. Rywale szpiegują z powrotem. Kryptonim Caseya to “Tropical Thunder” i odmawia zmiany.

Kwartalne spotkanie wyników właśnie stało się briefingiem z pola walki.

Dashboardy wywiadu strategicznego pokazujące ryzyko floty i analizę rynku Dwanaście nowych dashboardów. Energia terminalu Bloomberga dla imperium twojej linii lotniczej.


Kokpit, którym każdy może latać

Blog #1 wspominał wsparcie kontrolerów jako późny dodatek. Teraz jest to flagowa funkcja.

Pełna integracja Steam Input API oznacza, że każdy kontroler Xbox, PlayStation, Switch i Steam Deck jest automatycznie wspierany z poprawnymi glifami przycisków. Nie generyczne zastępcze ikony, ale dokładne ikony dla twojego kontrolera. Trzy kontekstowe zestawy akcji przełączają się płynnie w miarę nawigacji. Ekranowa klawiatura QWERTY pojawia się automatycznie dla użytkowników kontrolerów, gdy skupisz się na polu tekstowym. Każdy pojedynczy panel reaguje na wejście gamepada.

98 osiągnięć Steam jest w pełni podłączonych, od First Flight po Every Seat, Every City. 15 statystyk Steam synchronizuje się z twoim profilem. Zakładki Steam Timeline zapisują twoje najlepsze momenty dla Steam Replay. Globalne i lokalne tabele wyników pozwalają porównać twoje imperium ze światem.

Ale aktualizacja, z której jesteśmy najbardziej dumni, to dostępność.

Pięć trybów wyświetlania dla osób z daltonizmem: Normal, Deuteranopia, Protanopia, Tritanopia i Achromatopsia. Trzy poziomy kontrastu. Suwak rozmiaru tekstu od 80% do 150%. Wsparcie czytnika ekranu przez text-to-speech. Przełącznik Reduce Motion, który zatrzymuje pasek informacyjny i pomija animacje unoszące się.

A oto liczba: 866 zastąpionych zakodowanych na sztywno wywołań Color(). Każdy panel UI w całej grze (zarządzanie flotą, wydajność tras, wywiad strategiczny, przejęcia, sojusze, ustawienia, wybór trudności, wybór ery, warunki zwycięstwa, odtwarzacz muzyki, tabela wyników, wszystko) teraz kieruje swoje kolory przez scentralizowaną AccessibilityPalette. Tryby daltonizmu i ustawienia kontrastu działają wszędzie, w każdym panelu, w czasie rzeczywistym. Bez potrzeby restartu.

Casey przetestował wszystkie pięć trybów daltonizmu i odkrył, że przez lata źle odczytywał wskaźnik paliwa.

Ustawienia dostępności pokazujące tryb daltonizmu i opcje kontrastu Pięć trybów daltonizmu, trzy poziomy kontrastu i 866 przepisanych wywołań kolorów. Kokpit jest teraz dla każdego.


Kup czy wypożycz

Wracając do v0.2.17, wysłaliśmy system, który po cichu zmienił, jak gra się gra: leasing samolotów.

Brakuje gotówki, ale musisz otworzyć trasę? Wypożycz samolot. Umowy 1-, 3- lub 5-letnie. Krótsze umowy kosztują więcej miesięcznie, ale dają elastyczność. Leasingi wygasają i automatycznie zawieszają trasę, dopóki jej nie przedłużysz, nie wykupisz lub nie odejdziesz. Rywale AI też leasingują, jak prawdziwi tani przewoźnicy.

Razem z leasingiem pojawił się porządny hangar samolotów. Posiadane samoloty teraz utrzymują się po usunięciu z tras, zamiast znikać w powietrzu. Przechowuj je, używaj ponownie lub sprzedawaj po zamortyzowanej wartości rynkowej. Odnowa samolotów pozwala przedłużyć okres służby dochodowego samolotu o 10 lat za 30% jego ceny.

Wysłaliśmy też progresję er: wyższe ery są zablokowane, dopóki nie ukończysz poprzedniej. Opanuj Dawn of Flight, zanim zmierzysz się z Jet Age. Pokonaj dowolną erę w trybie Passengers, a odblokujesz Cargo. Pokonaj Cargo, odblokujesz Combined. Ukończ swoją pierwszą erę, a otworzy się tryb Sandbox. Bez bankructwa, bez presji czasu, tylko buduj.


Czarna skrzynka, Spotify i wszystko inne

Szybkostrzelna runda wszystkiego innego, co czyni grę lepszą:

Wsparcie Epic Games Store. Nowa abstrakcja PlatformManager kieruje osiągnięcia, statystyki, tabele wyników i zapisy w chmurze do sklepu, z którego wylatujesz. Jedna baza kodu, wiele terminali.

Czarna skrzynka. Menedżer migracji uruchamia się teraz przed połączeniem Steam, rekonstruując wartości firmy z twoich zapisów i czyszcząc złe dane tabel wyników. Każdy zapis stempluje wersję gry. Statystyki kariery trwale logują każde ukończenie ery. Liczniki dożywotnie śledzą zbudowane huby, dokonane inwestycje, zamknięte przejęcia, utworzone sojusze i przetrwane wojny handlowe.

Spotify automatycznie łączy się przy uruchomieniu. Jeśli już się uwierzytelniłeś, Music Player podejmuje tam, gdzie skończyłeś. Bez ponownego przeciągania karty pokładowej co sesję.

Sloty zapisu rozszerzone z 5 do 10 z oznaczeniami pill w kolorach (trudność, tryb gry, sandbox) i prawdziwymi znacznikami czasu. HUD został zreorganizowany: Routes & Fleet, Company i nowe menu rozwijane Rivals z oznaczonymi nagłówkami sekcji. Powiadomienia toast kaskadują teraz pionowo, zamiast układać się niewidzialnie jeden na drugim. A 14 nowych skrótów klawiszowych obejmuje każdy strategiczny panel.

Nawet małe detale dostały uwagę: inwestycje Carbon Offset są teraz zablokowane do ery 2005 (nikt nie offsetował węgla w erze śmigieł), tryb cargo pokazuje tony i stawki zamiast “pasażerów”, a dialog wyjścia proponuje teraz autozapis przed wyjściem.


Zgoda na podejście

Jesteśmy teraz w v0.2.32.10. Gra, która była “ukończona i bardzo grywalna” w v0.2.17, stała się czymś znacznie większym: 496-miastową, 66-samolotową, natywną dla kontrolerów, dostępnościową-najpierw symulacją imperium linii lotniczej z wojną ekonomiczną, szpiegostwem korporacyjnym i silnikiem wydajności, który obsługuje to wszystko w 60 FPS.

Oto, co jest na pasie startowym:

  • Projekt dźwięku: efekty UI, otoczenie lotniskowe, satysfakcjonujący klik każdego przycisku
  • Samouczek: prowadzone doświadczenie pierwszego lotu, żeby nowi gracze nie musieli uczyć się przez bankructwo
  • Strona sklepu Steam: osiągnięcia, zapisy w chmurze i ostatni rzut do premiery

Nadal budujemy SkyChart z tą samą filozofią: symulatory zarządzania zasługują na taką samą polerkę, jaką dostają gry akcji. Każdy tooltip, każda animacja, każda opcja dostępności istnieje, ponieważ zapytaliśmy sami siebie, co sprawiłoby, że my nie chcielibyśmy przełączyć się alt-tabem.

Dzięki za śledzenie podróży. Trzymaj swoje stoliki w pozycji podniesionej, a sieci tras dochodowe.

Ekipa Casey Jones Labs

Casey mówi, że chce podwyżki i narożnego biura. Już dostał swoje imię na splash screenie i nie pozwala nam o tym zapomnieć. Dostaje więcej orzechów.

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.