Изграждайки SkyChart Дев Блог #2: Петнадесет версии, една много натоварена писта
Съдържание
Когато публикувахме Дев Блог #1, SkyChart беше на v0.2.17, функциониращ авиационен симулатор със 150 града, 33 самолета и двигател, който най-често успяваше да смогне. Казахме, че ще се върнем с още. Не очаквахме да се върнем с толкова много още.
Петнадесет версии по-късно играта утрои броя на градовете си, удвои флота си, получи пълна поддръжка за контролер, реформа на достъпността, системи за икономическа война, които биха накарали OPEC да се притеснява, и рендъринг двигател, който вече не моли за милост при 1 600 маршрута. Бяхме в хангара известно време. Нека ви разходим през това, което се промени.
Студийният ара Casey настоява да споменем, че лично е надзиравал всяко обновление. Не е. Яде орехи и ни съдеше.
Реформата на двигателя, която никой не видя (но всеки почувства)
Да започнем с неблагородните неща, които правят всичко останало възможно.
На v0.2.17, отдалечаването на голяма маршрутна мрежа беше… кинематографично, в най-лошия смисъл. 9 кадъра в секунда с 1 600 маршрута. Картата прерисуваше всеки маршрут, всеки кадър. 19 000 индивидуални линейни нода, правещи всичко по силите си да имитират PowerPoint слайдшоу.
Преизградихме целия рендър двигател за маршрути от нулата. Едно пакетно рисуващо преминаване замени хиляди индивидуални нода. Панирането на картата сега струва нула draw calls, рендърираното изображение просто се плъзга. Маршрутите се прерисуват само когато мрежата действително се промени. След преизграждането: 60 FPS заключени, дори с хиляди маршрути, пресичащи глобуса.
Също заземихме 56 000 невидими спрайтове на самолети, които все още изгаряха CPU всеки кадър като пилоти-призраци, събиращи извънреден труд. Скритите самолети сега получават лицензите си за обработка изцяло отнети.
После построихме автоматично настройващ се тест за производителност. Натиснете “Run Benchmark” в настройките и играта стрес-тества вашия GPU, CPU и текстурния конвейер за около 8 секунди, след което авто-настройва 11 лимита за производителност, за да съответстват на хардуера ви. Прагове за показване на маршрути, размери на кеша на плочките, плътност на времето, брой нишки на препоръчителя, всички калибрирани автоматично. Бутнете плъзгач отвъд препоръчителната зона и получавате жълто предупреждение. Виждали сме капитани да игнорират датчиците на Casey преди. Никога не свършва добре.
Вашата авиокомпания вече има IT отдел. Тестът настройва 11 настройки, за да не се налага вие.
496 града. 66 самолета. Endless Mode.
Светът стана много по-голям.
496 града сега са на картата, нагоре от 150, обхващащи Timbuktu до Petropavlovsk-Kamchatsky (трябваха ни три опита да го произнесем). Всеки нов град има изследвани данни за населението от 1930 г., темпове на растеж, икономически стойности, IATA кодове и реални координати на летищата. 4-степенна система за видимост поддържа картата четлива: Global Hubs са винаги видими, Minor градовете се появяват само когато увеличите отблизо.
Флотът също се удвои. 66 самолета сега запълват каталога, исторически точни модели от биплана Cortez Condor (1933 г.) през модерната ера, плюс спекулативни бъдещи проекти като суборбиталния транспортен Bering Orbital 1 (2085 г.), екстраполирани от реални концепции и възникващи авиационни технологии. От витла до хиперзвукови плазмени задвижвания. Файловете за запазване от по-стари версии се авто-мигрират безпроблемно, без загубени самолети, без загубена документация.
Завършете всичките четири ери и отключвате Endless Mode, летете след 2020 г. без времеви лимит и без цели. Водородни реактивни самолети, сливащи се крилни тела и орбитални скокачи ви очакват в десетилетията напред. Небето вече не е лимитът.
И защото не всеки иска да играе на една и съща скорост, добавихме четири опции за темпо на играта: Arcade (45 секунди на месец, за нетърпеливите), Standard, Extended и Realtime (30 минути на месец, за капитани, които се наслаждават на всяка турбулентна неравност). Анимациите на самолетите съответстват на избраното от вас темпо. Arcade самолетите префучават през картата като Casey, след като намери неохранявана купа орехи.
Strategic Advisor от Блог #1 обработваше 11 175 двойки градове. Сега обработва 122 000+. На фонов нишков пул. Без да се измори. Искрено се гордеем с това.
496 града. 122 000+ възможни маршрута. Strategic Advisor се справя, за да не се налага вие.
Добре дошли във военната стая
SkyChart винаги е бил стратегическа игра. Но сега има инструментите да отговори.
Дванадесет нови аналитични табла се приземиха в изпълнителния апартамент. Fleet Risk Report забелязва остаряващи самолети, преди да станат преспапиета. Cash Flow Forecast прогнозира баланса на банката ви 12 месеца напред със сценарни плъзгачи. City Pair Saturation Finder класира всички 122 000+ двойки градове по резултат за възможност, така че да спрете да летите в ножови битки. Competitor Threat Assessment профилира стратегията за разширяване и припокриването с мрежата ви на всеки съперник.
После ви въоръжихме.
Пълна икономическа война пристигна в v0.2.28 и промени усещането на играта изцяло. Регионалните икономики сега процъфтяват и западат месечно. Градовете влизат в многотримесечни златни трески (+40% търсене) или кризи от свръхнасищане (-30%). Динамични пазарни шокове удрят тримесечно: горивни кризи, сривове на хъбове, глобални рецесии, авиокомпанийни мега-сливания.
Специализация на хъба ви позволява да декларирате хъбовете като Cargo, Tourist или Business за +20% съответстващо търсене. Ценови войни се задействат автоматично, когато подбиете съперник по оспорвани маршрути. 1.5x разходи, +20% търсене, чист адреналин. Доминирайте 40%+ от регион и AI съперниците стартират 6-месечни хищнически пазарни войни, подбивайки всичко и прелъстявайки най-добрите ви градове.
Запечатани търгове за слотове замениха първи-дошъл-първи-обслужен. Кодшеър алианси с истинско споделяне на приходите. Корпоративен шпионаж: наемете информатори за три нива разузнаване, от данни за маршрути до пълни финанси до директна корпоративна кражба. Съперниците шпионират обратно. Кодовото име на Casey е “Tropical Thunder” и той отказва да го смени.
Тримесечната конферентна среща за приходите току-що стана бойно поле.
Дванадесет нови табла. Bloomberg терминална енергия за вашата авиационна империя.
Кабина, която всеки може да пилотира
Блог #1 спомена поддръжката за контролер като късно допълнение. Сега е флагманска функция.
Пълна интеграция на Steam Input API означава, че всеки Xbox, PlayStation, Switch и Steam Deck контролер е автоматично поддържан с правилни бутонни глифове. Не общи плейсхолдери, а точните икони за вашия контролер. Три контекстно-чувствителни набора от действия се превключват безпроблемно, докато навигирате. Екранна QWERTY клавиатура се появява автоматично за потребители на контролер, когато фокусирате всяко текстово поле. Всеки панел отговаря на геймпад вход.
98 Steam постижения са напълно свързани, от First Flight до Every Seat, Every City. 15 Steam Stats се синхронизират с профила ви. Steam Timeline отбелязва най-великите ви моменти за Steam Replay. Глобални и локални лидерборди ви позволяват да сравнявате империята си със света.
Но обновлението, с което сме най-горди, е достъпността.
Пет режима за цветна слепота: Normal, Deuteranopia, Protanopia, Tritanopia и Achromatopsia. Три нива на контраст. Плъзгач за размер на текста от 80% до 150%. Поддръжка на екранен четец чрез текст-в-реч. Превключвател Reduce Motion, който замразява новинарския тикер и прескача плаващите анимации.
И ето числото: 866 твърдо кодирани Color() извиквания заменени. Всеки UI панел в цялата игра (управление на флота, производителност на маршрутите, стратегическо разузнаване, придобивания, алианси, настройки, избор на трудност, избор на ера, условие за победа, музикален плейър, лидерборд, всичко) сега маршрутизира цветовете си през централизиран AccessibilityPalette. Режимите за цветна слепота и настройките на контраста работят навсякъде, на всеки панел, в реално време. Не се изисква рестартиране.
Casey тества всички пет режима за цветна слепота и откри, че години наред чете погрешно датчика за гориво.
Пет режима за цветна слепота, три нива на контраст и 866 пренаписани цветни извиквания. Кабината вече е за всички.
Притежавай го или го наеми
Назад във v0.2.17, доставихме система, която тихо промени начина, по който играта се играе: лизинг на самолети.
С малко пари, но трябва да отворите маршрут? Лизинговайте самолет. Срокове от 1 година, 3 години или 5 години. По-кратките срокове струват повече на месец, но ви дават гъвкавост. Лизингите изтичат и автоматично спират маршрута, докато не подновите, откупите или се откажете. AI съперниците също лизинговат, точно като реални бюджетни превозвачи.
Заедно с лизинга дойде правилен хангар за самолети. Собствените самолети сега се запазват, когато се премахват от маршрути, вместо да изчезват във въздуха. Съхранявайте ги, използвайте ги повторно или ги продайте на обезценена пазарна стойност. Обновление на самолети ви позволява да удължите експлоатационния живот на печеливш самолет с 10 години за 30% от цената му.
Също доставихме ерова прогресия: по-високите ери са заключени, докато не завършите предишната. Усвойте Dawn of Flight, преди да поемете Jet Age. Бийте която и да е ера в режим Passengers и отключвате Cargo. Бийте Cargo, отключете Combined. Завършете първата си ера и Sandbox Mode се отваря. Без банкрут, без времево налягане, само изграждане.
Black Box, Spotify и кухненската мивка
Бърз кръг от всичко друго, което прави играта по-добра:
Поддръжка на Epic Games Store. Нова абстракция PlatformManager маршрутизира постижения, статистики, лидерборди и облачни запази към която и да е платформа, от която летите. Една кодова база, множество терминали.
The Black Box Recorder. Мениджър за миграция сега работи преди Steam да се свърже, реконструирайки стойностите на компанията от вашите файлове за запазване и почиствайки лоши лидербордни данни. Всяко запазване маркира версията на играта. Кариерните статистики завинаги записват всяко завършване на ера. Пожизнени броячи проследяват построени хъбове, направени инвестиции, затворени придобивания, формирани алианси и издържани търговски войни.
Spotify се свързва автоматично при стартиране. Ако вече сте се автентикирали, музикалният плейър подхваща оттам, където сте спрели. Без повече прекарване на бордна карта всяка сесия.
Слотове за запазване разширени от 5 на 10 с цветно кодирани пилюлни тагове (трудност, игрови режим, sandbox) и реални времеви маркери. HUD беше реорганизиран: Routes & Fleet, Company, и нов dropdown Rivals с етикетирани заглавия на секции. Toast нотификациите сега каскадират вертикално, вместо да се подреждат невидимо една върху друга. И 14 нови клавишни комбинации покриват всеки стратегически панел.
Дори малките детайли получиха внимание: инвестициите в Carbon Offset сега са заключени за ерата до 2005 г. (никой не компенсираше въглерод в ерата на витлата), cargo режимът показва тонове и тарифи вместо “пътници”, а диалогът за излизане сега предлага автоматично запазване, преди да си тръгнете.
Разрешено за подход
Вече сме на v0.2.32.10. Играта, която беше “завършена и много играема” при v0.2.17, стана нещо значително по-голямо: 496-градска, 66-самолетна, родно-поддържаща контролер, първо-достъпност авиационна империя симулация с икономическа война, корпоративен шпионаж и двигател за производителност, който се справя с всичко при 60 FPS.
Ето какво е на пистата:
- Саунд дизайн: UI ефекти, околни летищни саундскейпи, удовлетворителният клик на всеки бутон
- Туториал: воден първо-полетен опит, така че новите играчи да не се налага да учат чрез фалит
- Steam магазинна страница: постижения, облачни запази и финалният тласък до издаването
Все още изграждаме SkyChart със същата философия: управленските симулатори заслужават същото полиране, което получават екшън игрите. Всеки тултип, всяка анимация, всяка опция за достъпност съществува, защото се попитахме какво би накарало нас да не искаме да alt-tab.
Благодарим ви, че следите пътуването. Дръжте масичките си вдигнати и маршрутните си мрежи печеливши.
Екипът на Casey Jones Labs
Casey казва, че иска повишение и ъглов офис. Вече получи името си на екрана за стартиране и няма да ни го позволи да забравим. Получава повече орехи.
SkyChart: Airline Executive, идващ в Steam за Windows, macOS и Linux. Изграден с Godot 4.