Mastodon
← Toate articolele
autor: Casey Jones Labs · 9 min de citit

Construim SkyChart Dev Blog #2: cincisprezece versiuni, o pistă foarte aglomerată

devlogskychartbehind-the-scenes
Acest articol a fost tradus automat din engleză. Citește originalul
Cuprins

Când am publicat Dev Blog #1, SkyChart era la v0.2.17, un simulator aerian funcțional cu 150 de orașe, 33 de aeronave și un motor care reușea în mare parte să țină ritmul. Am spus că vom reveni cu mai multe. Nu ne așteptam să revenim cu atât de multe.

Cincisprezece versiuni mai târziu, jocul și-a triplat numărul de orașe, și-a dublat flota, a primit suport complet pentru controller, o revizuire de accesibilitate, sisteme de război economic care ar face OPEC să se enerveze și un motor de randare care nu mai imploră îndurare la 1.600 de rute. Am fost în hangar o vreme. Vă povestim ce s-a schimbat.

Casey, macaw-ul studioului, insistă să menționăm că a supravegheat personal fiecare actualizare. Nu a făcut-o. A mâncat nuci și ne-a judecat.


Reconstrucția motorului pe care nimeni nu a văzut-o (dar toată lumea a simțit-o)

Să începem cu lucrurile nespectaculoase care fac totul posibil.

La v0.2.17, a da zoom out pe o rețea mare de rute era… cinematografic, în cel mai rău sens. 9 cadre pe secundă la 1.600 de rute. Harta redesena fiecare rută, fiecare cadru. 19.000 de noduri individuale de linie, făcând cea mai bună imitație a unui slideshow PowerPoint.

Am reconstruit de la zero întregul motor de randare al rutelor. Un singur pas de desen în lot a înlocuit mii de noduri individuale. Deplasarea hărții costă acum zero apeluri de desen, imaginea randată pur și simplu alunecă. Rutele se redesenează doar când rețeaua chiar se schimbă. După reconstrucție: 60 FPS fixe, chiar și cu mii de rute care se întretaie pe glob.

Am și oprit 56.000 de sprite-uri invizibile de avion care încă ardeau CPU la fiecare cadru ca niște piloți fantomă care strângeau ore suplimentare. Avioanele ascunse au acum licențele de procesare revocate complet.

Apoi am construit un benchmark de performanță cu auto-tuning. Apeși „Run Benchmark” în Setări și jocul îți testează GPU-ul, CPU-ul și pipeline-ul de textură în aproximativ 8 secunde, apoi ajustează automat 11 limite de performanță pentru a se potrivi hardware-ului tău. Praguri de afișare a rutelor, dimensiuni de cache pentru dale, densitate a vremii, numărul de fire pentru recommender, toate calibrate automat. Împinge un slider peste zona recomandată și primești un avertisment galben. Am mai văzut căpitani care au ignorat indicatoarele lui Casey. Nu se termină niciodată bine.

Panoul de benchmark de performanță care arată nivelul hardware și setările ajustate Compania ta aeriană are acum un departament IT. Benchmark-ul ajustează 11 setări ca tu să nu fie nevoie.


496 de orașe. 66 de aeronave. Mod Nelimitat.

Lumea a devenit mult mai mare.

496 de orașe sunt acum pe hartă, în creștere de la 150, acoperind de la Timbuktu la Petropavlovsk-Kamchatsky (am avut nevoie de trei încercări să-l pronunțăm). Fiecare oraș nou are populații cercetate pentru 1930, rate de creștere, valori economice, coduri IATA și coordonate reale de aeroport. Un sistem de vizibilitate pe 4 niveluri păstrează harta lizibilă: Global Hubs sunt mereu vizibile, orașele Minor apar doar când mărești bine.

Și flota s-a dublat. 66 de aeronave umplu acum catalogul, modele cu acuratețe istorică de la biplanul Cortez Condor (1933) până în era modernă, plus proiecte speculative de viitor precum transportul suborbital Bering Orbital 1 (2085), extrapolat din concepte reale și tehnologii aeronautice emergente. De la elice la motoare cu plasmă hipersonice. Fișierele de salvare din versiunile mai vechi se migrează automat, fără aeronave pierdute, fără acte rătăcite.

Completează toate cele patru ere și deblochezi Modul Nelimitat, zbori dincolo de 2020 fără limită de timp și fără obiective. Jeturi cu hidrogen, aeronave cu aripă mixtă și salturi orbitale te așteaptă în deceniile ce vin. Cerul nu mai este limita.

Și pentru că nu toată lumea vrea să joace la aceeași viteză, am adăugat patru opțiuni de ritm: Arcade (45 de secunde pe lună, pentru nerăbdători), Standard, Extended și Realtime (30 de minute pe lună, pentru căpitanii care savurează fiecare șoc de turbulență). Animațiile avioanelor se potrivesc cu ritmul ales. Avioanele Arcade zboară pe hartă ca Casey după ce găsește un bol de nuci nesupravegheat.

Strategic Advisor-ul din Blog #1 mânca 11.175 de perechi de orașe. Acum mănâncă peste 122.000. Pe un thread pool de fundal. Fără să transpire. Suntem cu adevărat mândri de ăsta.

Harta lumii care arată rețeaua dramatic extinsă de 496 de orașe 496 de orașe. Peste 122.000 de rute posibile. Strategic Advisor se ocupă ca tu să nu fie nevoie.


Bun venit în sala de război

SkyChart a fost mereu un joc de strategie. Dar acum are instrumentele pe măsură.

Douăsprezece noi panouri analitice au aterizat în suita executivă. Fleet Risk Report identifică aeronavele în vârstă înainte să devină greutăți pe hârtie. Cash Flow Forecast îți proiectează soldul bancar cu 12 luni înainte, cu sliderі de scenariu. City Pair Saturation Finder clasifică toate cele peste 122.000 de perechi de orașe după scorul de oportunitate, ca tu să nu mai intri în lupte cu cuțitul. Competitor Threat Assessment profilează strategia de expansiune a fiecărui rival și suprapunerea cu rețeaua ta.

Apoi te-am înarmat.

Războiul economic complet a sosit în v0.2.28 și a schimbat complet senzația jocului. Economiile regionale au acum boom-uri și recesiuni lunare. Orașele intră în goane ale aurului de mai multe trimestre (+40% cerere) sau în busturi de supra-saturație (-30%). Șocuri dinamice de piață lovesc trimestrial: crize de combustibil, colapsuri de hub, recesiuni globale, mega-fuziuni de companii aeriene.

Specializarea hub-urilor îți permite să declari hub-uri drept Cargo, Tourist sau Business pentru +20% cerere care se potrivește. Războaiele de prețuri se declanșează automat când subminezi un rival pe rute disputate. Costuri de 1,5x, +20% cerere, adrenalină pură. Domină peste 40% dintr-o regiune și rivalii AI lansează războaie de piață prădalnice de 6 luni, subminând totul și furându-ți cele mai bune orașe.

Licitațiile de sloturi cu ofertă sigilată au înlocuit principiul „primul venit, primul servit”. Alianțele code-share cu împărțire reală a veniturilor. Spionaj corporativ: angajează informatori pentru trei niveluri de informații, de la date de rută la finanțe complete și până la furt corporativ direct. Rivalii te spionează la rândul lor. Codul lui Casey este „Tropical Thunder” și refuză să-l schimbe.

Apelul de câștiguri trimestrial tocmai a devenit un briefing de câmp de luptă.

Panouri de intelligence strategic care arată riscul flotei și analiza pieței Douăsprezece panouri noi. Energie de terminal Bloomberg pentru imperiul tău aerian.


O cabină pe care o poate pilota oricine

Blog #1 a menționat suportul pentru controller ca o adăugare târzie. Acum este o funcționalitate emblematică.

Integrarea completă Steam Input API înseamnă că fiecare controller Xbox, PlayStation, Switch și Steam Deck este suportat automat cu glife corecte de butoane. Nu substituiri generice, ci exact pictogramele pentru controller-ul tău. Trei seturi de acțiuni sensibile la context se schimbă fără întreruperi pe măsură ce navighezi. O tastatură QWERTY pe ecran apare automat pentru utilizatorii de controller când focalizezi orice câmp de text. Fiecare panou răspunde la input de gamepad.

98 de realizări Steam sunt complet cablate, de la First Flight la Every Seat, Every City. 15 Statistici Steam se sincronizează cu profilul tău. Semnele de carte Steam Timeline îți marchează cele mai mari momente pentru Steam Replay. Clasamentele globale și locale îți permit să compari imperiul tău cu lumea.

Dar actualizarea de care suntem cei mai mândri este accesibilitatea.

Cinci moduri de afișare pentru daltonism: Normal, Deuteranopia, Protanopia, Tritanopia și Achromatopsia. Trei niveluri de contrast. Un slider pentru dimensiunea textului, de la 80% la 150%. Suport pentru cititor de ecran prin text-to-speech. Un comutator Reduce Motion care îngheață ticker-ul de știri și sare peste animațiile plutitoare.

Și iată cifra: 866 de apeluri Color() hardcoded înlocuite. Fiecare panou UI din tot jocul (gestionarea flotei, performanța rutelor, intelligence strategic, achiziții, alianțe, setări, selecția dificultății, selecția erei, condiția de victorie, player-ul muzical, clasamentul, absolut tot) își rutează acum culorile printr-o AccessibilityPalette centralizată. Modurile pentru daltonism și setările de contrast funcționează peste tot, pe fiecare panou, în timp real. Fără restart.

Casey a testat toate cele cinci moduri pentru daltonism și a descoperit că a citit greșit indicatorul de combustibil de ani de zile.

Setările de accesibilitate care arată modul de daltonism și opțiunile de contrast Cinci moduri de daltonism, trei niveluri de contrast și 866 de apeluri de culoare rescrise. Cabina este acum pentru toată lumea.


Cumpără-l sau închiriază-l

Înapoi la v0.2.17, am livrat un sistem care a schimbat în liniște modul de joc: leasing-ul de aeronave.

Lipsă de numerar, dar trebuie să deschizi o rută? Închiriază un avion. Termene de 1, 3 sau 5 ani. Termenele mai scurte costă mai mult pe lună, dar îți dau flexibilitate. Leasing-urile expiră și suspendă automat ruta până când reînnoiești, cumperi sau renunți. Rivalii AI închiriază la rândul lor, exact ca operatorii low-cost reali.

Alături de leasing a venit și un hangar de aeronave adevărat. Avioanele deținute persistă acum când sunt scoase de pe rute, în loc să dispară în aer. Le depozitezi, le refolosești sau le vinzi la valoarea de piață depreciată. Reabilitarea aeronavelor îți permite să prelungești durata de viață în serviciu a unui avion profitabil cu 10 ani, pentru 30% din prețul său.

Am livrat și progresia pe ere: erele superioare sunt blocate până când o termini pe cea anterioară. Stăpânește Dawn of Flight înainte de a te apuca de Jet Age. Învinge orice eră în modul Passengers și deblochezi Cargo. Învinge Cargo, deblochezi Combined. Completează prima ta eră și se deschide Sandbox Mode. Fără faliment, fără presiune de timp, doar construiești.


Cutia neagră, Spotify și tot ce urmează

O rundă rapidă cu tot ce mai face jocul mai bun:

Suport Epic Games Store. O nouă abstracție PlatformManager rutează realizările, statisticile, clasamentele și salvările în cloud către magazinul de unde zbori. O singură bază de cod, mai multe terminale.

Black Box Recorder. Un manager de migrare rulează acum înainte ca Steam să se conecteze, reconstruind valorile companiei din fișierele tale de salvare și curățând datele proaste din clasament. Fiecare salvare are ștampilată versiunea jocului. Statisticile de carieră înregistrează permanent fiecare eră completată. Contoarele pe viață urmăresc hub-urile construite, investițiile făcute, achizițiile finalizate, alianțele formate și războaiele comerciale traversate.

Spotify se conectează automat la lansare. Dacă te-ai autentificat deja, Music Player reia de unde ai rămas. Gata cu re-glisatul cardului de îmbarcare la fiecare sesiune.

Sloturile de salvare s-au extins de la 5 la 10 cu etichete pill colorate (dificultate, mod de joc, sandbox) și cu timestamp-uri reale. HUD-ul a fost reorganizat: Routes & Fleet, Company și un nou dropdown Rivals cu antete de secțiune etichetate. Notificările toast cad acum cascadat pe verticală, nu se mai stivuiesc invizibil una peste alta. Și 14 scurtături de tastatură noi acoperă fiecare panou strategic.

Chiar și detaliile mici au primit atenție: investițiile Carbon Offset sunt acum blocate pe era 2005 (nimeni nu compensa carbon în era elicei), modul cargo afișează tone și tarife în loc de „passengers”, iar dialogul de ieșire se oferă acum să salveze automat înainte să pleci.


Autorizat pentru apropiere

Suntem acum la v0.2.32.10. Jocul care era „complet și foarte jucabil” la v0.2.17 a devenit ceva semnificativ mai mare: un simulator de imperiu aerian cu 496 de orașe, 66 de aeronave, nativ pe controller, axat pe accesibilitate, cu război economic, spionaj corporativ și un motor de performanță care gestionează tot la 60 FPS.

Iată ce este pe pistă:

  • Design sonor: efecte UI, ambianțe de aeroport, acel click satisfăcător al fiecărui buton
  • Tutorial: o experiență ghidată de primul zbor, astfel încât jucătorii noi să nu fie nevoiți să învețe dând faliment
  • Pagina magazinului Steam: realizări, salvări în cloud și impulsul final către lansare

Încă construim SkyChart cu aceeași filozofie: simulările de management merită aceeași lustruire pe care o primesc jocurile de acțiune. Fiecare tooltip, fiecare animație, fiecare opțiune de accesibilitate există pentru că ne-am întrebat ce ne-ar face pe noi să nu vrem să dăm alt-tab.

Mulțumim că urmăriți călătoria. Țineți tăvițele în sus și rețelele de rute profitabile.

Echipa Casey Jones Labs

Casey spune că vrea o mărire și un birou de colț. A primit deja numele pe ecranul de splash și nu ne lasă să uităm. Primește mai multe nuci.

Meniul principal SkyChart cu avioane animate care traversează harta de fundal SkyChart: Airline Executive, vine pe Steam pentru Windows, macOS și Linux. Construit cu Godot 4.