Mastodon
← Alla inlägg
av Casey Jones Labs · 8 min läsning

Bygget av SkyChart, utvecklarblogg nr 2: Femton versioner, en mycket upptagen landningsbana

devlogskychartbehind-the-scenes
Det här inlägget har översatts automatiskt från engelska. Läs originalet
Innehåll

När vi publicerade utvecklarblogg nr 1 var SkyChart på v0.2.17, en fungerande flygbolagssimulator med 150 städer, 33 flygplan och en motor som mestadels hängde med. Vi sa att vi skulle komma tillbaka med mer. Vi förväntade oss inte att komma tillbaka med så här mycket mer.

Femton versioner senare har spelet tredubblat sitt stadsantal, dubblat sin flotta, fått fullt handkontrollsstöd, en tillgänglighetsöversyn, ekonomiska krigföringssystem som skulle göra OPEC nervöst, och en renderingsmotor som inte längre ber om nåd vid 1 600 rutter. Vi har varit i hangaren ett tag. Låt oss gå igenom vad som ändrades.

Casey studions ara insisterar på att vi ska nämna att han personligen övervakade varje uppdatering. Det gjorde han inte. Han åt valnötter och dömde oss.


Motoröversynen som ingen såg (men alla kände)

Låt oss börja med det oglamorösa som gör allt annat möjligt.

Vid v0.2.17 var det att zooma ut på ett stort ruttnätverk… filmiskt, på värsta sätt. 9 bilder per sekund med 1 600 rutter. Kartan ritade om varje enskild rutt, varje enskild bildruta. 19 000 individuella linjenoder gjorde sin bästa imitation av ett PowerPoint-bildspel.

Vi byggde om hela ruttrenderingsmotorn från grunden. Ett batchat draw-pass ersatte tusentals individuella noder. Att panorera kartan kostar nu noll draw-anrop, den renderade bilden bara glider. Rutter ritas bara om när nätverket faktiskt ändras. Efter ombyggnaden: 60 FPS låsta, även med tusentals rutter som korsar jordklotet.

Vi grundade också 56 000 osynliga flygplanssprites som fortfarande brände CPU varje bildruta som spökpiloter som samlade övertid. Dolda plan får nu sina bearbetningslicenser helt indragna.

Sedan byggde vi ett automatiskt inställande prestandamått. Tryck på “Kör benchmark” i Inställningar och spelet stresstestar din GPU, CPU och texturpipeline på ungefär 8 sekunder, och ställer sedan automatiskt in 11 prestandagränser för att matcha din hårdvara. Tröskelvärden för ruttvisning, storlekar på plattcache, vädertäthet, trådantal för rekommenderare, allt kalibreras automatiskt. Skjut en reglage förbi den rekommenderade zonen och du får en gul varning. Vi har sett kaptener ignorera Caseys mätare förut. Det slutar aldrig bra.

Prestandamätningspanelen som visar hårdvarutier och justerade inställningar Ditt flygbolag har nu en IT-avdelning. Benchmarken justerar 11 inställningar så att du inte behöver göra det.


496 städer. 66 flygplan. Oändligt läge.

Världen blev mycket större.

496 städer är nu på kartan, upp från 150, som spänner från Timbuktu till Petropavlovsk-Kamtjatskij (vi behövde tre försök för att uttala det). Varje ny stad har forskade 1930-befolkningar, tillväxttakter, ekonomiska värden, IATA-koder och riktiga flygplatskoordinater. Ett synlighetssystem i 4 nivåer håller kartan läsbar: Globala nav är alltid synliga, mindre städer visas bara när du zoomar in nära.

Flottan fördubblades också. 66 flygplan fyller nu katalogen, historiskt korrekta modeller från Cortez Condor-biplanet (1933) genom den moderna eran, plus spekulativa framtidsdesigner som Bering Orbital 1 suborbital transport (2085), extrapolerat från verkliga koncept och framväxande flygteknik. Propellrar till hypersoniska plasmadrifter. Sparfiler från äldre versioner migreras automatiskt sömlöst, inga flygplan förlorade, inga papper förlagda.

Slutför alla fyra eror och du låser upp Oändligt läge, flyg förbi 2020 utan tidsgräns och inga mål. Väteplan, blandade vingkroppar och orbitala hoppare väntar under de kommande decennierna. Himlen är inte längre gränsen.

Och eftersom inte alla vill spela i samma tempo lade vi till fyra spelhastighetsalternativ: Arkad (45 sekunder per månad, för de otåliga), Standard, Utökad och Realtid (30 minuter per månad, för kaptener som njuter av varje turbulens). Flygplansanimationer matchar det tempo du valt. Arkadplan svischar över kartan som Casey efter att ha hittat en obevakad skål med valnötter.

Den strategiska rådgivaren från blogg nr 1 brukade krossa 11 175 stadspar. Den krossar nu 122 000+. På en bakgrundstrådpool. Utan att svettas. Vi är genuint stolta över den.

Världskartan som visar det dramatiskt utökade nätverket med 496 städer 496 städer. 122 000+ möjliga rutter. Den strategiska rådgivaren hanterar det så du inte behöver göra det.


Välkommen till krigsrummet

SkyChart var alltid ett strategispel. Men nu har det instrumenten för att matcha.

Tolv nya analytiska dashboards landade i chefssviten. Flottriskrapport upptäcker åldrande flygplan innan de blir pappersvikter. Kassaflödesprognos projicerar din banksaldo 12 månader ut med scenarioreglage. Stadsparmättnadsfinnaren rankar alla 122 000+ stadspar efter möjlighetspoäng så att du slutar flyga in i knivkamper. Konkurrenthotbedömning profilerar varje rivals expansionsstrategi och överlapp med ditt nätverk.

Sedan beväpnade vi dig.

Full ekonomisk krigföring anlände i v0.2.28 och det ändrade hela känslan i spelet. Regionala ekonomier boomar och bustar nu månatligen. Städer går in i guldrushar över flera kvartal (+40 procent efterfrågan) eller övermättnadsbuster (-30 procent). Dynamiska marknadschocker slår till kvartalsvis: bränslekriser, navkollapser, globala recessioner, flygbolagsmegafusioner.

Navspecialisering låter dig deklarera nav som Gods, Turist eller Affär för +20 procent matchande efterfrågan. Priskrig utlöses automatiskt när du underbjuder en rival på omstridda rutter. 1,5x kostnader, +20 procent efterfrågan, ren adrenalin. Dominera 40 procent+ av en region och AI-rivaler lanserar 6 månaders rovmarknadskrig, underbjuder allt och plockar dina bästa städer.

Slotauktioner med slutna bud ersatte först-till-kvarn. Code share-allianser med verklig intäktsdelning. Företagsspionage: anlita informanter för tre nivåer av intel, från ruttdata till fullständig ekonomi till direkt företagsstöld. Rivaler spionerar tillbaka. Caseys kodnamn är “Tropical Thunder” och han vägrar ändra det.

Den kvartalsvisa vinstredovisningen blev just en stridsbriefing.

Strategiska intelligens-dashboards som visar flottrisk och marknadsanalys Tolv nya dashboards. Bloomberg-terminalenergi för ditt flygbolagsimperium.


En cockpit alla kan flyga

Blogg nr 1 nämnde handkontrollsstöd som ett sent tillägg. Det är nu en flaggskeppsfunktion.

Full integration av Steam Input API innebär att varje Xbox-, PlayStation-, Switch- och Steam Deck-handkontroll stöds automatiskt med korrekta knappglyfer. Inte generiska platshållare, utan de exakta ikonerna för din handkontroll. Tre kontextkänsliga åtgärdsuppsättningar växlar sömlöst när du navigerar. Ett QWERTY-tangentbord på skärmen dyker upp automatiskt för handkontrollanvändare när du fokuserar något textfält. Varje enskild panel svarar på gamepad-inmatning.

98 Steam-prestationer är helt kopplade, från First Flight till Every Seat, Every City. 15 Steam-statistik synkas till din profil. Steam Timeline bokmärker dina största ögonblick för Steam Replay. Globala och lokala topplistor låter dig jämföra ditt imperium mot världen.

Men uppdateringen vi är stoltast över är tillgänglighet.

Fem färgblindhetsvisningslägen: Normal, Deuteranopi, Protanopi, Tritanopi och Akromatopsi. Tre kontrastnivåer. Ett textstorlekreglage från 80 procent till 150 procent. Skärmläsarstöd via text-till-tal. En Reducera rörelse-växel som fryser nyhetsticken och hoppar över svävande animationer.

Och här är siffran: 866 hårdkodade Color()-anrop ersatta. Varje UI-panel i hela spelet (flotthantering, ruttprestanda, strategisk intel, förvärv, allianser, inställningar, svårighetsval, eraval, segervillkor, musikspelare, topplista, allt) ruttar nu sina färger genom en centraliserad AccessibilityPalette. Färgblindhetslägen och kontrastinställningar fungerar överallt, på varje panel, i realtid. Ingen omstart krävs.

Casey testade alla fem färgblindhetslägen och upptäckte att han läst bränslemätaren fel i flera år.

Tillgänglighetsinställningar som visar färgblindhetsläge och kontrastalternativ Fem färgblindhetslägen, tre kontrastnivåer och 866 omskrivna färganrop. Cockpiten är nu för alla.


Äg det eller hyr det

Tillbaka vid v0.2.17 levererade vi ett system som tyst ändrade hur spelet spelas: flygplansleasing.

Kort om pengar men behöver öppna en rutt? Leasa ett plan. 1-åriga, 3-åriga eller 5-åriga villkor. Kortare villkor kostar mer per månad men ger dig flexibilitet. Leasingavtal löper ut och stänger automatiskt av rutten tills du förnyar, köper ut eller går därifrån. AI-rivaler leasar också, precis som riktiga lågprisflygbolag.

Vid sidan av leasing kom en ordentlig flygplanshangar. Ägda plan kvarstår nu när de tas bort från rutter istället för att försvinna i tomma luften. Lagra dem, återanvänd dem eller sälj till avskrivet marknadsvärde. Flygplansrenovering låter dig förlänga ett lönsamt plans tjänstetid med 10 år för 30 procent av dess pris.

Vi levererade också eraprogression: högre eror är låsta tills du slutför den föregående. Bemästra flygets gryning innan du tar dig an jetåldern. Slå en era i passagerarläge så låser du upp Gods. Slå Gods, låser upp Kombinerad. Slutför din första era och sandboxläge öppnar upp. Ingen konkurs, ingen tidspress, bara bygg.


Svart låda, Spotify och köksdiskhon

En snabb runda med allt annat som gör spelet bättre:

Epic Games Store-stöd. En ny PlatformManager-abstraktion ruttar prestationer, statistik, topplistor och molnsparningar till den butik du flyger ut ifrån. En kodbas, flera terminaler.

Svarta låda-inspelaren. En migreringshanterare körs nu innan Steam ansluter, och rekonstruerar företagsvärden från dina sparfiler och rensar upp dåliga topplistedata. Varje sparning stämplar spelversionen. Karriärstatistik loggar permanent varje eraslutförande. Livstidsräknare spårar byggda nav, gjorda investeringar, stängda förvärv, bildade allianser och handelskrig som ridits ut.

Spotify ansluter automatiskt vid start. Om du redan har autentiserat plockar musikspelaren upp där du slutade. Inget mer att svepa ditt boardingkort varje session.

Sparplatser utökade från 5 till 10 med färgkodade piltaggar (svårighetsgrad, spelläge, sandbox) och riktiga tidsstämplar. HUD:n har omorganiserats: Rutter och flotta, Företag och en ny rivaler-rullgardin med märkta sektionsrubriker. Toastnotiser kaskaderar nu vertikalt istället för att stapla osynligt ovanpå varandra. Och 14 nya tangentbordsgenvägar täcker varje strategisk panel.

Även de små detaljerna fick uppmärksamhet: Koldioxidkompensationsinvesteringar är nu eralåsta till 2005 (ingen kompenserade koldioxid i propellertiden), godsläge visar ton och taxor istället för “passagerare”, och avsluta-dialogen erbjuder nu att autospara innan du går.


Klart för inflygning

Vi är på v0.2.32.10 nu. Spelet som var “färdigt och mycket spelbart” vid v0.2.17 har blivit något betydligt större: en flygbolagsimperiumsimulator med 496 städer, 66 flygplan, nativt handkontrollsstöd, tillgänglighet först, ekonomisk krigföring, företagsspionage och en prestandamotor som hanterar allt vid 60 FPS.

Här är vad som finns på landningsbanan:

  • Ljuddesign: UI-effekter, atmosfäriska flygplatsljudbilder, det tillfredsställande klicket av varje knapp
  • Handledning: en guidad första flygningsupplevelse så att nya spelare inte behöver lära sig genom att gå i konkurs
  • Steam-butikssida: prestationer, molnsparningar och den sista pressen mot lansering

Vi bygger fortfarande SkyChart med samma filosofi: managementsimulatorer förtjänar samma polering som actionspel får. Varje tooltip, varje animation, varje tillgänglighetsalternativ finns för att vi frågade oss själva vad som skulle få oss att inte vilja alt-tabba.

Tack för att du följer resan. Håll dina bordsplattor upp och dina ruttnätverk lönsamma.

Casey Jones Labs-besättningen

Casey säger att han vill ha en löneförhöjning och ett hörnkontor. Han fick redan sitt namn på startskärmen och låter oss inte glömma det. Han får fler valnötter.

SkyCharts huvudmeny med animerade plan som korsar bakgrundskartan SkyChart: Airline Executive, på väg till Steam för Windows, macOS och Linux. Byggt med Godot 4.