„Je to jednoducho nemožné“: Vývojári vysvetľujú, prečo sa zdá, že veľké online hry sa pri spustení vždy pokazia





Medzi roztriešteným spustením z Hymna , prekvapivé spustenie Apex Legends a blížiace sa spustenie Divízia 2 Začiatok roka 2019 je plný veľkých online hier. Ako ukázali najnovšie a nespočetné množstvo hier od BioWare, multiplayerové hry tohto rozsahu sa len zriedka spúšťajú v skvelom stave. Zdá sa, že to má každá online hra niektoré technické problémy pri spustení, či už ide o drobné, ako napríklad chyby z prvého týždňa v Apex Legends, alebo prelomové hry, ako napríklad problémy s pripojením, ktoré spočiatku ochromili Diabol 3 .

Mali sme problémové spúšťanie tak dlho, ako sme mali online hry, ale zdá sa, že konverzácia o problémoch so spustením sa v skutočnosti nikam neposunula. Zakaždým vidíme, že sa objavia rovnaké otázky. Prečo sa to stalo? Prečo s tým vývojári nepočítali? Prečo trvala náprava tak dlho? S toľkými veľkými online hrami, ktoré sa vydávajú tak blízko seba, a vzostupom hry Games as a Service v tomto odvetví sa teraz zdalo, že je vhodný čas priniesť niektoré z týchto otázok vývojárom v nádeji, že demystifikujú obávaný výpadok v deň spustenia. Prečo sa pri spustení hier stále stretávame s rovnakými problémami a ako ich vývojári riešia?

„Kapacita je veľmi zriedka problém“



Vždy, keď hry vypadnú alebo sa pripájajú pomaly, mnohí predpokladajú, že je to preto, že im došiel priestor na serveri. Že vývojári podcenili, koľko hráčov sa prihlási, a v dôsledku toho sa ich servery pod tlakom podlomili. V takom prípade im stačí zaplatiť za viac serverov, však? Nie, nie nevyhnutne; ako to už pri tvorbe hier býva, nie je to také jednoduché.

„Jedným z myšlienok, ktoré často vidíte online, je: „Prečo spoločnosť A nemá viac serverov?“ hovorí Alex Mann, manažér vývoja a bývalý analytik QA v EA. „Pri spustení vidíte najväčšiu návštevnosť týchto hier. Všetci boli ohromení, marketingový tím odviedol svoju prácu dobre, všetci sa skutočne tešia, že sú online, a vo chvíli, keď sa hra spustí, všetci kliknú na „Go“. Ale pri životnom cykle väčšiny hier si všimnete, že máte tento masívny výbuch a potom to skončí. Ak by každá herná spoločnosť kúpila hardvér, aby pokryla všetko, čo potrebovala v rámci toho počiatočného nárazu, o dva týždne neskôr by tam 50 % ich hardvéru nikdy nepoužilo.“

'To nie je o 'Hoďme do toho veľa peňazí a urobme to väčšie.''



Alex Mann

To sťažuje vývojárom pripraviť sa na spustenie bez nadmerného míňania a nákupu príliš veľa serverov. Našťastie teraz vývojári majú prístup k virtuálnym serverom prostredníctvom spoločností, ako sú Amazon Web Services, a tie je možné podľa potreby aktivovať alebo deaktivovať. Tieto druhy serverov sa stali potrebnými aj vtedy, keď sa hry presunuli od pripojení peer-to-peer – typu, ktorý podporoval hry ako Halo 2 v roku 2004 – na dedikované servery, ktoré podporujú masívne, trvalé hry ako Osud 2 a hymna. Virtuálne servery však nie sú zázračným liekom a majú svoje vlastné problémy.



„Kapacita nie je nevyhnutne o počte serverov,“ hovorí Mann. „Aj keď očakávame milióny hráčov a máme servery, neočakávame, že všetci narazia na prihlasovací portál. Ide o to, aby na diaľnici bol dostatok pruhov, ktorými by ľudia mohli prejsť. Máte dve krajiny prepojené mostom a obe krajiny majú na sebe veľa miesta, ale ak sa chcete presunúť z klientskej krajiny do krajiny servera, aký veľký je ten most? To nie je o tom, 'Hoďme do toho veľa peňazí a urobme to väčšie.' Na konci dňa je to často prekážka založená na technológii a motore, ktorý používate.“

Bežné mylné predstavy

Jedna mylná predstava, ktorú Mann často vidí, súvisí s tým, ako fungujú vývojové tímy – konkrétne s myšlienkou, že ktokoľvek môže opraviť čokoľvek.



„Keď sa zaoberáte zložitými kódovými základňami, ktoré zahŕňajú viacero súborov vytvorených 200 ľuďmi, ak sa pozriem na svojich kóderov a oni vytvorili toto, kodér A nepozná celý tento projekt,“ vysvetľuje. „Je tu koncept, že každý vie všetko o kóde hry, takže umelec úrovní by mal pomáhať s opravou architektúry úrovní. Viete, správcovia komunity neopravujú chyby.“

To isté som počul od Fredrika Brönjemarka, riaditeľa živých služieb v Massive Entertainment, štúdiu za The Division. „Veľké online hry sú mimoriadne zložité softvérové ​​prvky, ktorých podpora sa spolieha na rozsiahlu infraštruktúru online serverov,“ vysvetľuje Brönjemark. „Okrem toho máte aj ďalšiu vrstvu služieb prvej strany, takže existuje veľa rôznych spôsobov, ako sa veci môžu pokaziť! Pre nás v divízii boli hlavnými typmi incidentov, ktoré mohli spôsobiť výpadky alebo problémy s pripojením, nestabilita herného softvéru bežiaceho na serveroch alebo problémy s poskytovateľom hostingu. Vyčerpanie kapacity servera je veľmi zriedkavý problém. V divízii 2 sa naše servery automaticky prispôsobujú v závislosti od počtu hráčov, ktorí chcú hru hrať.'

V deň spustenia sa môže pokaziť množstvo vecí a častejšie je počet hráčov v zozname sledovaných hier relatívne nízky. Mohlo by dôjsť k úniku pamäte, jedinému, ale katastrofálnemu riadku nesprávneho kódu alebo k oneskoreniu zahrabanému niekde v obrovskom serverovom potrubí. Hra môže mať problém s určitým poskytovateľom internetových služieb, alebo, ako spomenul Brönjemark, služby prvej strany, na ktoré sa hra spolieha, môžu zlyhať. Problém môže byť kdekoľvek, ale bez ohľadu na to, kde je, je to problém každého. Nikto nie je ostrov, pokiaľ ide o online hry, a preto môže byť reakcia na problémy neuveriteľne náročná a časovo náročná.

„Každý štart je iný“

Všetci vývojári, s ktorými som hovoril, opísali podobný proces triedenia na riešenie problémov. Mann ponúkol prehľad toho, ako môže oprava vyzerať od začiatku do konca. Po prvé, vývojár musí preosiať symptómy problému, aby zistil skutočnú príčinu. Potom privedú ľudí, ktorí sú zodpovední za túto oblasť hry, aby vypracovali riešenie. Je to niečo, čo môžu aktualizovať na svojej strane, alebo musia vydať opravu? Keď nájdu riešenie, budú ho musieť otestovať, aby sa ubezpečili, že nič iné nerozbije, najmä ak ide o náplasť.

„Pred spustením čohokoľvek sa vykoná kontrola,“ hovorí Mann. „S držiteľmi platforiem [ako Sony a Microsoft] sa veľa pohybuje tam a späť, aby sme sa uistili, že spoločne pracujeme na úspechu; musíme prejsť krokmi kontroly kvality. A keď prechádzame cez tú náplasť, ak teraz prudko zareagujeme a opravíme to, ale potom o pol hodinu neskôr musíme urobiť druhú náplasť v ten istý deň, bude to neporiadok. Takže musíme povedať: 'Robíme túto záplatu; aké ďalšie kritické problémy môžeme v rámci tohto vyriešiť? Aké ďalšie veci sú zlé?' Náplasť sa nedá urobiť len tak za pol hodinu. Musíte sa uistiť, že ste rozumní v tom, ako upravujete tento obsah.'

Akonáhle je všetko hotové, ak to vesmír dovolí, vývojári môžu pretlačiť náplasť a začať ju monitorovať a komunikovať o jej účinkoch prostredníctvom svojich sociálnych kanálov. Ale 'neexistuje polhodinový obrat,' hovorí Mann a dodáva, ,možno stovky ľudí sa toho dotknú, kým to zhasne.'

Frank Sanchez, bývalý zástupca komunity BioWare a Gazillion Entertainment s inžinierskymi skúsenosťami, túto paradigmu dobre pozná. Ako niekto, kto strávil veľa času zbieraním odpovedí a vytváraním poznámok k opravám, videl obe strany procesu aktualizácie, od spätnej väzby od hráča až po odoslanie opravy. Tiež vie lepšie ako väčšina z nich, aké komplikované môžu byť opravy a aké frustrujúce problémy so spustením môžu byť pre hráčov aj vývojárov.

„Sme poslední ľudia, ktorí chcú vidieť, ako server ide hore a potom o dve hodiny neskôr zaostáva tak, že sa ľudia nemôžu prihlásiť,“ vysvetľuje Sanchez. „Garantujem vám, že ak [vývojári] privedú server do beta verzie a nebude fungovať správne, je to pravdepodobne na chvoste niekoho, kto vložil čas nad rámec toho, čo už drvili, aby ho dostal do stavu, v ktorom mohol spustiť. Takže keď niekto online povie „No, je len lenivý“, je to úplne a očividne falošné. Práca je vložená, výzvou je, ako reagovať na problémy a komunikovať s hráčmi, keď sa vyskytnú. Je to nedokonalá veda... každý štart je iný. Aj keď sú dve hry vyvinuté na Unity alebo čo, aj keď je žáner rovnaký, proces je odlišný. Nemôžete povedať 'Táto hra bola v poriadku, aký je problém s touto hrou', pretože každá hra má veľa jedinečnosti.'

Nemôžete povedať „Táto hra bola v poriadku, aký je problém s touto hrou“, pretože každá hra má veľa jedinečnosti.

Frank Sanchez

Sanchezove komentáre sa dotýkajú ďalšej bežnej otázky, ktorá sa objavuje v čase spustenia: prečo ste to nepredpokladali? Možno sa hra X pred pár mesiacmi dostala do problémov. Vývojári hry Y to určite videli a prijali opatrenia, aby sa vyhli rovnakým problémom, však?

Odhliadnuc od rozdielov v jednotlivých hrách, každý, s kým som hovoril, hovoril, že niektoré problémy sa nedajú predvídať. Interné testovanie dokáže urobiť len toľko a nikdy sa to nedá skutočne porovnať so skutočným spustením hry.

„Naživo neexistuje žiadna simulácia“

„Nemôžete plánovať živých [súbežných hráčov],“ pokračuje Sanchez. 'Je to jednoducho nemožné. Neexistuje žiadna náhrada. Videl som každú metódu interného testovania stresu predtým, ako ste to dali von, a jednoducho neexistuje žiadna simulácia naživo.“

Tu prichádzajú do úvahy záťažové testy pred uvedením a beta obdobia. Nie sú dokonalé, ale sú najlepším spôsobom, ako odhadnúť, ako bude spustenie hry vyzerať a čo je potrebné opraviť pred hlavným vysielacím časom. „Bety sú veľmi užitočné,“ hovorí Mann. „Nemôžete získať veľkosť a rozsah, ktorý robíte interným beta testom. Na vaše servery jednoducho nemôžete najať toľko ľudí. Najlepší spôsob, ako otestovať naživo, je byť naživo. Ak sa pozriete na veľa verzií alfa a beta, existuje koncept, že nie je dostatok serverov, že existujú chyby a iné problémy, ale do týždňa sa vytriedili a najnovšie alebo konečné vydanie tieto problémy nemá. . To len preto, že to bolo zažité [naživo] a skúmané počas týchto beta verzií.“

„Nedávno jedno štúdio spustilo beta verziu svojej hry a veľa mojich priateľov sa do hry vrhlo nadšených a narazili na chybu, kde uviazli v návode, pretože kľúčová položka sa na serveri nevytvorila,“ hovorí Mann. Všimol som si, aké zložité môže byť predvídať nedostatky pri spustení online hry. „Garantujem pri všetkých testoch kontroly kvality v tejto hre, že táto položka tam vždy bola. Jediný spôsob, ako to zistíte, je testovanie tohto toku vo veľkom meradle. Mám podozrenie, že títo chlapci sú si toho teraz dobre vedomí a celého problému, aby ho opravili pred spustením, a to všetko kvôli tej beta verzii.“

Nemôžete všetko opraviť

Ak sú beta také skvelé, prečo ich vývojári nedržia viac a prečo ich nedržia mesiace pred spustením? Ako to už v hrách býva, technológia a čas nie vždy umožňujú vývojárom robiť presne to, čo chcú. Vzhľadom na spôsob, akým sa väčšina hier vyrába, sa spoja až na konci, čo je vo všeobecnosti dôvod, prečo sa beta verzie objavujú tak blízko k spusteniu. A bez ohľadu na to, čo sa vývojári z beta verzie naučia, bez ohľadu na to, aké problémy môže odhaliť, nemôžu reálne oddialiť svoju hru v reakcii na ne. Poskytovateľ webových služieb nechce, aby tím zmeškal dátum spustenia svojho servera, rovnako ako vydavateľ nechce zmeškať dátum spustenia. To je dôvod, prečo, rovnako ako niektoré problémy nemožno predvídať, niektoré chyby jednoducho nemožno opraviť včas pred spustením.

The Division 2 Betas

The Divízia 2 beta plán bol pomerne komplexný, so súkromnými a otvorenými beta verziami, ako aj s cielenejším záťažovým testom. Nie všetky hry to dokážu, ale tie, ktoré majú obrovský úžitok z toho, čo Brönjemark nazýva „poslednou skúškou“. Jeho prvá otvorená beta je naplánovaná na 1. až 4. marca, dva týždne od spustenia.

„Rád by som doručil bez chýb,“ uvažuje Sanchez o komentári, ktorý si vypočujete od každého vývojára, ktorý si prešiel peklom a späť, aby skutočne dodal produkt. „Ale každý tím vám povie, že je to veľmi ťažké. Taká je proste realita. Zoznam vecí, ktoré je potrebné opraviť, sa neustále mení. Musíte pochopiť, že pokiaľ ide o chyby, existujú chyby, ktoré sú potenciálne odoslané, a existujú chyby objavené po spustení. Všetko, čo sa musí uprednostniť a naplánovať a o čom sa musí hovoriť. Je to triedenie. Šťastnejšie štarty sú tie, ktoré majú chyby, ale nemajú ochromujúce chyby.“

Okrem toho môže byť vytvorenie beta zostavy samo o sebe zdĺhavou a pracne náročnou úlohou. Vývojári nemôžu len tak hacknúť časť svojej hry a nahrať ju na Xbox Live alebo PlayStation Network. Beta verzie sa často vyvíjajú oddelene od hry (ale súčasne s ňou), čo si vyžaduje viac času a peňazí. To je dôvod, prečo problémy, ktoré boli už dávno opravené v hlavnej zostave hry, môžu byť stále prítomné v jej beta verzii. Videli sme to napríklad v ukážkach Anthem a v najnovšej beta verzii pre The Division 2.

„Pomerne často počúvam ľudí, ktorí hovoria, že si myslia, že beta testy sú len marketingové kampane a vývojári sa z nich aj tak nemôžu nič naučiť, keďže hra je v tom momente už hotová,“ hovorí mi Brönjemark. „Rád by som vyvrátil tento mýtus. Aj keď je hra už vytlačená na disku a oprava prvého dňa je už hotová, stále existuje obrovské množstvo vecí, ktoré sme schopní vyriešiť na strane servera, či už z hľadiska technológie, ale aj z hľadiska hrateľnosti a vyváženia. .'

Na druhej strane, Sanchez hovorí, „plány zverejňovania a časové harmonogramy vývoja hier sú veľmi agresívne, niekedy až príliš agresívne. Kedy sa niečo dodáva, koľko financií vám zostáva, ako dlho ste vo vývoji. Niekedy úspešnosť spustenia skutočne závisí od toho, koľkokrát ste museli posúvať svoje míľniky, koľkokrát ste odložili spustenie, pretože ste mali čo leštiť. Niektoré hry je možné dodať len s určitým množstvom lesku. Nedá sa povedať, že je to úplne a úplne v poriadku, keď sa raz dostane do zlata. Existujú prípady, v ktorých sa hra odošle v stave, ktorý je pripravený na spustenie, ale možno bude potrebné urobiť trochu vylepšenia.“

Spustenie je viac ako prvý deň

Vývojári aj hráči chcú, aby ich hry fungovali perfektne hneď, ako ich prvýkrát spustia, ale realita vývoja hier je taká, že existuje toľko pohyblivých častí a toľko nepohyblivých obmedzení, že niektoré problémy musia preniknúť cez trhliny. pravdepodobnosť, že sa to zvýši, keď sa hry zväčšia a zväčšia. Sanchez sa domnieva, že práve preto sa na takéto štarty musíme pozerať holisticky. Výkon hry v deň spustenia je dôležitý, no nie je všetko.

'Nie sú to problémy, tie sa stanú vždy,' hovorí Sanchez. „Takto riešite tieto problémy. Ak ste pomalí alebo ich neoslovíte správne, alebo ak ste nepriateľský voči svojim hráčom, zostane to na nich. Ak by som chcel, aby hráči niečo pochopili, je to to, že problémy sa stávajú bez ohľadu na to, ako dobre ich naplánujete. Mali by ste brať vývojárov na zodpovednosť za to, ako na ne reagujú. Ak budete mať problém týždeň po spustení, dajte ich nohy do ohňa a povedzte: „Hej, nemám dobré skúsenosti, preto sa obávam, že tieto problémy nie sú vyriešené.“ To sú veci, o ktorých chceme počuť.“

Problémy sa vyskytujú bez ohľadu na to, ako dobre ich plánujete.

Frank Sanchez

Žiadna hra sa nespustí dokonale. To sa jednoducho nestáva. Ako hovorí Sanchez, „všetko, čo by ste považovali za hladké spustenie, je niečo, čo nikdy nedosiahlo úroveň, pri ktorej by hráč vnímal, že niečo nie je v poriadku.“ V zákulisí sa vždy deje hádka. Mann to opísal ako skupinu vývojárov, ktorí sa k sebe tlačia vo „vojnovej miestnosti“ a sledujú stenu monitorov kvôli spätnej väzbe a potenciálnym problémom. Niekedy tieto problémy zachytia skoro, niekedy sa neobjavia niekoľko hodín a niekedy sa ich nedarí vyriešiť ešte niekoľko hodín alebo dokonca niekoľko dní.

Ide o to, že masívne online hry budú mať pri spustení vždy nejaké technické problémy. Do pekla, všetky moderné hry majú pri spustení nejaké problémy. To je jednoducho povaha dnešnej technológie a dnešného priemyslu. To neznamená, že by hráči mali slepo pristupovať k hrám, ktoré sú vytlačené s katastrofálnym dizajnom alebo inými problémami, ale dáva to do perspektívy priemerný štart. Hra môže mať menšie problémy, ktoré si ani nevšimneme, alebo môže mať zjavné prekážky. V každom prípade, každý môže len dúfať v to najlepšie, pripraviť sa na najhoršie a upozorniť na problémy, keď nevyhnutne vyplávajú na povrch.