211service.com
„Tai tiesiog neįmanoma“: kūrėjai paaiškina, kodėl dideli internetiniai žaidimai visada nutrūksta paleidžiant
Tarp fragmentiško paleidimo Himnas , netikėtas Apex Legends paleidimas ir būsimas 2 skyrius 2019 m. pradžioje gausu didelių internetinių žaidimų. Kaip pademonstravo naujausi BioWare ir daugybė prieš tai buvusių žaidimų, tokios apimties kelių žaidėjų žaidimai retai kada paleidžiami puikios būsenos. Atrodo, kad kiekvienas internetinis žaidimas turi kai kurie techninės problemos paleidimo metu, nesvarbu, ar jos yra nedidelės, pvz., savaitės „Apex Legends“ klaidos, ar žaidimų pertraukikliai, pavyzdžiui, ryšio problemos, kurios iš pradžių sutrikdė Velnias 3 .
Turėjome problemų dėl paleidimo tiek laiko, kiek turėjome internetinių žaidimų, bet atrodo, kad pokalbis apie paleidimo problemas niekur nedingo. Kiekvieną kartą matome tuos pačius klausimus. Kodėl taip atsitiko? Kodėl kūrėjai to nenumatė? Kodėl taip ilgai užtruko taisymas? Kadangi tiek daug didelių internetinių žaidimų buvo išleista taip arti, pramonėje išpopuliarėjus žaidimams kaip paslaugai, atrodė, kad dabar tinkamas laikas pateikti kai kuriuos iš šių klausimų kūrėjams, tikintis išsklaidyti siaubingą paleidimo dienos prastovą. Kodėl paleidžiant žaidimus nuolat matome tas pačias problemas ir kaip kūrėjai su jomis elgiasi?
„Pajėgumai labai retai yra problema“

Kai žaidimai sugenda arba lėtai prisijungia, daugelis mano, kad taip yra todėl, kad jiems pritrūko vietos serveryje. Kad kūrėjai neįvertino, kiek žaidėjų prisijungs, ir dėl to jų serveriai susvyravo dėl įtampos. Tokiu atveju jiems tereikia mokėti už daugiau serverių, tiesa? Na, ne, nebūtinai; kaip dažnai nutinka kuriant žaidimus, tai nėra taip paprasta.
„Vienas iš mąstysenų, kurias dažnai matote internete, yra: „Kodėl įmonė A neturi daugiau serverių?“ – sako Alexas Mannas, plėtros vadovas ir buvęs EA kokybės užtikrinimo analitikas. „Paleidžiant šiuos žaidimus matote didžiausią srautą. Visi buvo sužavėti, rinkodaros komanda gerai atliko savo darbą, visi labai džiaugiasi prisijungę, o akimirką, kai žaidimas pasirodo, visi spustelėja „Eiti“. Bet jūs pastebėsite, kad daugumos žaidimų gyvavimo ciklas turi didžiulį sprogimą, o tada jis nutrūksta. Jei kiekviena žaidimų įmonė pirktų aparatinę įrangą, kad padengtų viską, ko joms reikėjo per tą pradinį sprogimą, po dviejų savaičių 50 % jų aparatūros nebūtų panaudota.
„Tai ne apie tai, kad „išmeskime daug pinigų ir padidinkime“.
Aleksas Mannas
Dėl to kūrėjams sunku pasiruošti paleidimui neperkant ir neperkant per daug serveriai. Laimei, dabar kūrėjai turi prieigą prie virtualių serverių per tokias įmones kaip „Amazon Web Services“, ir prireikus juos galima įjungti arba išjungti. Tokie serveriai taip pat tapo būtini, nes žaidimai perėjo nuo lygiaverčių ryšių – tokio tipo, kuris palaikė tokius žaidimus kaip Halo 2 dar 2004 m. – prie dedikuotų serverių, kurie palaiko didžiulius, nuolatinius žaidimus, pvz. 2 likimas ir himnas. Tačiau virtualūs serveriai nėra stebuklingas vaistas ir jie turi savo problemų.

„Pajėgumai nebūtinai priklauso nuo serverių skaičiaus“, – sako Mannas. „Net jei tikimės milijonų žaidėjų ir turime serverius, nesitikime, kad jie visi pateks į prisijungimo portalą vienu metu. Kalbama apie tai, kad greitkelyje būtų pakankamai juostų, kad žmonės galėtų praeiti. Turite dvi šalis, sujungtas per tiltą, ir abiejose šalyse yra daug vietos, tačiau, norėdami pereiti iš kliento šalies į serverio šalį, kokio dydžio tą tiltą sukuriate? Tai ne apie „Išmeskime daug pinigų ir padidinkime“. Galų gale, tai dažnai yra kliūtis, pagrįsta jūsų naudojama technologija ir varikliu.
Dažnos klaidingos nuomonės 
Viena klaidinga nuomonė, kurią Mannas dažnai mato, yra susijusi su kūrimo komandų veikla – konkrečiai, idėja, kad bet kas gali bet ką pataisyti.
„Kai susiduriate su sudėtingomis kodų bazėmis, apimančiomis kelis failus, kuriuos sukūrė 200 žmonių, jei pažvelgiu į mano programuotojus ir jie sukūrė tai, koduotojas A nežino viso to projekto“, – aiškina jis. „Yra tokia koncepcija, kad visi žino viską apie žaidimo kodą, todėl lygio menininkas turėtų padėti taisyti lygio architektūrą. Žinote, bendruomenės vadovai netaiso klaidų.
Tą patį girdėjau iš Fredriko Brönjemarko, „Massive Entertainment“, studijos, esančios už „The Division“, tiesioginių paslaugų direktoriaus. „Dideli internetiniai žaidimai yra labai sudėtingos programinės įrangos dalys, kurioms palaikyti reikalinga didžiulė internetinių serverių infrastruktūra“, – aiškina Brönjemarkas. „Be to, jūs taip pat turite papildomą pirmosios šalies paslaugų sluoksnį, todėl yra daug įvairių būdų, kaip viskas gali suklysti! Mums, The Division, pagrindiniai incidentų tipai, galintys sukelti prastovos ar ryšio problemų, buvo serveriuose veikiančios žaidimų programinės įrangos nestabilumas arba prieglobos paslaugų teikėjo problemos. Labai retai problema kyla dėl serverio talpos išsenkimo. 2 divizione mūsų serveriai automatiškai keičiasi priklausomai nuo žaidėjų, norinčių žaisti, skaičiaus.
Paleidimo dieną gali suklysti daugybė dalykų, o dažniausiai žaidėjų skaičius stebimųjų sąraše yra palyginti mažas. Gali būti atminties nutekėjimas, viena, bet katastrofiška neteisingo kodo eilutė arba vėlavimo vieta, palaidota kažkur didžiuliame serverio vamzdyne. Žaidime gali kilti problemų dėl tam tikro IPT arba, kaip minėjo Brönjemarkas, pirmosios šalies paslaugos, kuriomis remiasi žaidimas, gali sugesti. Problema gali būti bet kur, bet nesvarbu, kur ji bebūtų, tai visų problema. Niekas nėra sala, kai kalbama apie internetinius žaidimus, ir dėl to reaguoti į problemas gali būti neįtikėtinai sunku ir atimti daug laiko.
„Kiekvienas paleidimas yra skirtingas“

Visi kūrėjai, su kuriais kalbėjausi, aprašė panašų problemų sprendimo procesą. Mannas pasiūlė apžvalgą, kaip gali atrodyti taisymas nuo pradžios iki pabaigos. Pirmiausia kūrėjas turi išnagrinėti problemos simptomus, kad nustatytų tikrąją priežastį. Tada jie įtraukia žmones, kurie yra atsakingi už tą žaidimo sritį, kad rastų sprendimą. Ar jie gali tai atnaujinti savo pusėje, ar jiems reikia išleisti pataisą? Radę sprendimą, jie turės jį išbandyti, kad įsitikintų, jog jis nieko nesulaužo, ypač jei tai yra pleistras.
„Prieš ką nors paskelbiant, reikia patikrinti“, – sako Mannas. „Su platformų laikikliais (pvz., „Sony“ ir „Microsoft“) reikia daug judėti pirmyn ir atgal, kad įsitikintume, jog kartu siekiame sėkmės; turime atlikti kokybės užtikrinimo veiksmus. Ir kol mes išgyvename tą pleistrą, jei trūkčiojame ant kelių ir pataisysime tai dabar, bet po pusvalandžio turėsime padaryti antrą pleistrą tą pačią dieną, tai bus netvarka. Taigi turime pasakyti: „Atliekame šį pataisą; kokias dar svarbias problemas galime išspręsti taikydami? Kokie dar dalykai negerai? Jūs negalite tiesiog padaryti pleistro per pusvalandį. Turite įsitikinti, kad taisydami turinį protingai elgiatės.
Kai visa tai bus padaryta, jei visata leidžia, kūrėjai gali išstumti pataisą ir pradėti jį stebėti bei pranešti apie jo poveikį savo socialiniais kanalais. Tačiau „nėra pusvalandžio apsisukimo“, – sako Mannas ir priduria, – „galbūt šimtai žmonių tai palies, kol jis užges“.

Frankas Sanchezas, buvęs „BioWare“ ir „Gazillion Entertainment“ bendruomenės atstovas, turintis inžinerinės patirties, gerai žino šią paradigmą. Kaip žmogus, kuris daug laiko praleido rinkdamas atsakymus ir rengdamas pataisų pastabas, jis matė abi atnaujinimo proceso puses – nuo žaidėjų atsiliepimų iki pataisų pateikimo. Jis taip pat geriau nei dauguma žino, kaip sudėtingi gali tapti pataisymai ir kokios varginančios paleidimo problemos gali būti žaidėjams ir kūrėjams.
„Esame paskutiniai žmonės, kurie nori matyti, kad serveris pakiltų, o po dviejų valandų atsiliks taip, kad žmonės negali prisijungti“, – aiškina Sanchezas. „Garantuoju, jei [kūrėjai] pateiks serverį beta versijai ir jis neveikia tinkamai, tai tikriausiai yra kažkas, kas skyrė daugiau laiko, nei jis jau norėjo, kad pasiektų tokią būseną, kurioje jis neveikia. galėtų paleisti. Taigi, kai kas nors internete sako „Na, jie tiesiog tingūs“, tai yra visiškai ir akivaizdžiai klaidinga. Darbas įdėtas, iššūkis – kaip reaguoti į problemas ir bendrauti su žaidėjais, kai jos ištinka. Tai netobulas mokslas... kiekvienas paleidimas yra skirtingas. Net jei du žaidimai yra sukurti Unity ar bet kuo, net jei žanras yra tas pats, procesas skiriasi. Negalite sakyti: „Šis žaidimas buvo geras, kokia šio žaidimo problema“, nes kiekvienas žaidimas turi daug unikalumo.
Negalite sakyti: „Šis žaidimas buvo geras, kokia šio žaidimo problema“, nes kiekvienas žaidimas turi daug unikalumo.
Frankas Sanchezas
Sanchezo komentarai paliečia kitą dažną klausimą, kuris iškyla maždaug paleidimo metu: kodėl to nenumatėte? Galbūt žaidime X prieš kelis mėnesius iškilo problemų. Tikrai žaidimo Y kūrėjai galėjo tai pamatyti ir imtis priemonių, kad išvengtų tų pačių problemų, tiesa?
Nepaisant atskirų žaidimų skirtumų, visi, su kuriais kalbėjausi, sakė, kad kai kurių problemų negalima numatyti. Vidinis testavimas gali padaryti tiek daug ir niekada negali būti lyginamas su žaidimo paleidimu.
„Tiesiog nėra simuliacijos gyvai“

„Jūs negalite planuoti gyvų [žaidėjų vienu metu]“, – tęsia Sanchezas. 'Tai tiesiog neįmanoma. Pakaitalo nėra. Aš mačiau kiekvieną metodą, kaip kažką testuoti nepalankiausiomis sąlygomis viduje, prieš tai išleisdamas, ir tiesiog nėra jokio modeliavimo gyvai.
Čia atsiranda testavimas nepalankiausiomis sąlygomis ir beta versijos laikotarpiai. Jie nėra tobuli, bet yra geriausias būdas įvertinti, kaip atrodys žaidimo paleidimas ir ką reikia pataisyti iki geriausio žaidimo laiko. „Beta versijos yra labai naudingos“, – sako Mannas. „Negalite pasiekti tokio dydžio ir masto, kokį darote naudodami beta versijos testavimą viduje. Jūs tiesiog negalite pasamdyti tiek daug žmonių, kad pasiektų jūsų serverius. Geriausias būdas išbandyti gyvai yra būti gyvai. Jei pažvelgsite į daugybę alfa ir beta versijų, tai yra tokia koncepcija, kad nėra pakankamai serverių, kad yra klaidų ir kitų problemų, bet per savaitę jie buvo išbandyti ir naujausiame arba galutiniame leidime tokių problemų nėra. . Taip yra tik todėl, kad tai buvo patirta [tiesiogiai] ir ištirta tų beta versijų metu.
„Neseniai viena studija paleido savo žaidimo beta versiją, o daugybė mano draugų susijaudinę pradėjo žaisti, ir jie susidūrė su klaida, kuri įstrigo mokymo programoje, nes pagrindinis elementas neatsirado serveryje“, – pasakoja Mannas. aš, atkreipdamas dėmesį į tai, kaip sudėtinga numatyti internetinio žaidimo paleidimo trūkumus. „Garantuoju, kad atliekant visus to žaidimo kokybės užtikrinimo testus, šis elementas visada buvo šalia. Vienintelis būdas tai sužinoti yra išbandyti šį srautą didžiuliu mastu. Įtariu, kad tie vaikinai dabar puikiai žino apie tai ir apie visą tą problemą, kad būtų sutvarkyta, kad būtų galima pradėti, viskas dėl beta versijos darbo.
Negalite visko sutvarkyti

Jei beta versijos yra tokios puikios, kodėl kūrėjai jų nepalaiko daugiau ir kodėl gi jų nesulaikius likus mėnesiams iki paleidimo? Kaip dažnai būna žaidimuose, technologijos ir laikas ne visada leidžia kūrėjams daryti būtent tai, ko jie nori. Dėl daugelio žaidimų kūrimo būdo jie susijungia tik pačioje pabaigoje, todėl paprastai beta versijos pasirodo taip arti paleidimo. Ir nepaisant to, ko kūrėjai išmoksta iš beta versijos, kad ir kokias problemas ji atskleistų, jie negali realiai atidėti savo žaidimo reaguodami į jas. Žiniatinklio paslaugų teikėjas nenori, kad komanda praleistų savo serverio pradžios datą, nei leidėjas nori praleisti jų paleidimo datą. Štai kodėl, kaip kai kurių problemų negalima numatyti, kai kurių klaidų tiesiog neįmanoma laiku ištaisyti, kad būtų galima paleisti.
2 skyriaus beta versija 
The 2 skyriaus beta versija tvarkaraštis buvo gana išsamus, su privačiomis ir atviromis beta versijomis bei tikslingesniu testavimu nepalankiausiomis sąlygomis. Ne visi žaidimai gali tai pakeisti, bet tie, kurie turi didžiulę naudą iš to, ką Brönjemarkas vadina „paskutine repeticija“. Pirmoji atviroji beta versija planuojama kovo 1–4 d., praėjus dviem savaitėms nuo paleidimo.
„Norėčiau pristatyti be klaidų“, – svarsto Sanchezas – komentarą, kurį išgirsite iš bet kurio kūrėjo, kuris perėjo pragarą ir sugrįžo, kad iš tikrųjų išsiųstų produktą. „Tačiau bet kuri komanda jums pasakys, kad tai padaryti labai sunku. Tiesiog tokia tikrovė. Daiktų, kuriuos reikia taisyti, sąrašas nuolat keičiasi. Turite suprasti, kad kalbant apie klaidas, yra klaidų, kurios gali būti išsiųstos, ir yra klaidų, aptiktų po paleidimo. Visa tai turi būti suskirstyta į prioritetus ir suplanuota prieš ir apie tai kalbama. Tai triažas. Sėkmingesni paleidimai yra tie, kurie turi klaidų, bet neturi žalingų klaidų.
Be to, beta versijos kūrimas gali būti ilga ir daug darbo reikalaujanti užduotis. Kūrėjai negali tiesiog nulaužti savo žaidimo dalies ir įkelti ją į „Xbox Live“ arba „PlayStation Network“. Beta versijos dažnai kuriamos atskirai nuo žaidimo (bet kartu su juo), todėl tam reikia daugiau laiko ir pinigų. Štai kodėl problemos, kurios jau seniai buvo pašalintos pagrindinėje žaidimo versijoje, vis dar gali būti beta versijoje. Tai matėme, pavyzdžiui, Anthem demonstracinėse versijose ir naujausioje „The Division 2“ beta versijoje.

„Gana dažnai girdžiu žmones sakant, kad, jų manymu, beta versijos testai yra tik rinkodaros kampanijos, o kūrėjai vis tiek negali iš jų nieko pasimokyti, nes žaidimas tuo metu jau baigtas“, – sako Brönjemarkas. „Norėčiau paneigti šį mitą. Net tada, kai žaidimas jau išspausdintas diske ir pirmosios dienos pataisa jau padaryta, vis dar yra daug dalykų, kuriuos galime išspręsti serverio pusėje tiek technologijų, tiek žaidimo ir balansavimo požiūriu. .'
Kita vertus, Sanchezas sako, kad „publikavimo tvarkaraščiai ir žaidimų kūrimo tvarkaraščiai yra labai agresyvūs, kartais pernelyg agresyvūs. Kada kažkas pristatomas, kiek jums liko finansavimo, kiek laiko esate kuriami. Kartais paleidimo sėkmė tikrai priklauso nuo to, kiek kartų turėjote atidėti savo etapus, kiek kartų atidėjote paleidimą, nes turėjote ką nušlifuoti. Kai kurie žaidimai gali būti išsiųsti tik su tam tikru poliravimo kiekiu. Negalite sakyti, kad jis yra visiškai ir visiškai geras, kai jis tampa auksu. Yra atvejų, kai žaidimas bus išsiųstas paruošto paleisti, tačiau gali būti, kad reikia šiek tiek patobulinti.
Paleidimas yra daugiau nei pirmoji diena

Tiek kūrėjai, tiek žaidėjai nori, kad jų žaidimai veiktų nepriekaištingai pirmą kartą juos paleidus, tačiau žaidimo kūrimo realybė yra tokia, kad yra tiek daug judančių dalių ir tiek daug nejudančių apribojimų, kad kai kurios problemos neišvengiamai išslysta. tikimybė, kad žaidimai tampa vis didesni ir didesni, tik didėja. Sanchezas mano, kad dėl šios priežasties turime žiūrėti į tokius paleidimus visapusiškai. Žaidimo našumas paleidimo dieną yra svarbus, bet tai dar ne viskas.
„Tai ne problemos, jos visada atsitiks“, - sako Sanchezas. „Taip jūs sprendžiate tas problemas. Jei esate lėtas arba netinkamai į juos kreipsitės, arba jei esate priešiškas savo žaidėjų atžvilgiu, tai išliks su jais. Jei noriu, kad žaidėjai suprastų vieną dalyką, tai yra tai, kad problemų iškyla nepaisant to, kaip gerai jas planuojate. Turėtumėte priversti kūrėjus atsakyti už tai, kaip į juos reaguojama. Jei po savaitės paleidimo turite problemų, pastatykite kojas prie ugnies ir pasakykite „Ei, aš neturiu geros patirties, todėl nerimauju, kad šios problemos nėra išspręstos“. Tai yra dalykai, apie kuriuos norime išgirsti.
Problemų iškyla nepaisant to, kaip gerai jas planuojate.
Frankas Sanchezas
Nė vienas žaidimas nepaleidžiamas tobulai. Taip tiesiog nebūna. Kaip sako Sanchezas, „viskas, ką laikytum sklandžiu paleidimu, yra tiesiog kažkas, kas niekada nepakilo iki tokio lygio, kai žaidėjas suprato, kad kažkas negerai“. Užkulisiuose visada vyksta muštynės. Mannas tai apibūdino kaip būrį kūrėjų, susibūrusių „karo kambaryje“, stebinčių monitorių sieną, kad gautų atsiliepimų ir galimų problemų. Kartais jie pagauna tas problemas anksti, kartais jos nepasirodo kelias valandas, o kartais jų nepavyksta išspręsti dar kelias valandas ar net kelias dienas.
Esmė ta, kad didžiuliai internetiniai žaidimai paleidžiant visada turės techninių problemų. Po velnių, visi šiuolaikiniai žaidimai turi tam tikrų problemų paleidžiant. Tai tik šiandieninės technologijos ir pramonės pobūdis. Tai nereiškia, kad žaidėjai turėtų aklai leisti žaisti žaidimus, kurių dizainas yra katastrofiškas ar dėl kitų problemų, tačiau tai rodo vidutinį paleidimą. Žaidime gali būti nedidelių problemų, kurių net nepastebime, arba gali būti akivaizdžių žaidimo pertraukėlių. Bet kuriuo atveju viskas, ką gali padaryti, tai tikėtis geriausio, ruoštis blogiausiam ir iškviesti problemas, kai jos neišvengiamai iškyla.