„Este pur și simplu imposibil”: dezvoltatorii explică de ce jocurile online mari par să se rupă întotdeauna la lansare





Între lansarea fragmentată a Imn , lansarea surpriză a lui Apex Legends și viitoarea lansare a lui Divizia 2 , începutul anului 2019 este plin de jocuri online mari. După cum au demonstrat cele mai recente și nenumărate jocuri BioWare înainte de el, jocurile multiplayer de acest domeniu rareori sunt lansate într-o stare strălucitoare. Se pare că fiecare joc online are niste probleme tehnice la lansare, fie că sunt minore, cum ar fi erorile din prima săptămână în Apex Legends, sau probleme de joc, cum ar fi problemele de conexiune care au paralizat inițial Diavolul 3 .

Am avut lansări cu probleme atâta timp cât am avut jocuri online, dar se pare că conversația despre problemele de lansare nu a mers nicăieri. Vedem aceleași întrebări care apar de fiecare dată. De ce s-a întâmplat asta? De ce nu au anticipat dezvoltatorii acest lucru? De ce a durat atât de mult să se repare? Având în vedere că atât de multe jocuri online mari sunt lansate atât de aproape, odată cu ascensiunea Games as a Service în industrie, acum părea a fi un moment bun pentru a aduce unele dintre aceste întrebări dezvoltatorilor în speranța de a demistifica timpul de neputință de temut din ziua lansării. De ce continuăm să vedem aceleași probleme la lansarea jocurilor și cum le gestionează dezvoltatorii?

„Capacitatea este foarte rar problema”



Ori de câte ori jocurile nu se conectează sau se conectează lent, mulți presupun că asta se datorează faptului că au rămas fără spațiu pe server. Că dezvoltatorii au subestimat câți jucători s-ar conecta și, în consecință, serverele lor s-au cedat sub tensiune. În acest caz, tot ce trebuie să facă este să plătească pentru mai multe servere, nu? Ei bine, nu, nu neapărat; așa cum se întâmplă adesea atunci când faci jocuri, nu este atât de simplu.

„Una dintre mentalitățile pe care le vedeți mult online este: „De ce nu are Compania A mai multe servere?”, ne spune Alex Mann, manager de dezvoltare și fost analist QA la EA. „La lansare, vezi cea mai mare cantitate de trafic pentru aceste jocuri. Toată lumea a fost entuziasmată, echipa de marketing și-a făcut treaba bine, toată lumea este foarte încântată să intre online, iar în momentul în care jocul apare, toată lumea dă clic pe „Mergi”. Dar veți observa că, odată cu ciclul de viață al majorității jocurilor, aveți această explozie masivă și apoi încetează. Dacă fiecare companie de jocuri de acolo ar cumpăra hardware-ul pentru a acoperi tot ce aveau nevoie în acea explozie inițială, două săptămâni mai târziu ar avea 50% din hardware-ul lor acolo, nu ar fi folosit niciodată.

„Nu este vorba despre „Hai să aruncăm o mulțime de bani în el și să-l facem mai mare”.



Alex Mann

Acest lucru face dificil pentru dezvoltatori să se pregătească pentru lansare fără a cheltui excesiv și a cumpăra prea multe servere. Din fericire, dezvoltatorii au acum acces la servere virtuale prin intermediul unor companii precum Amazon Web Services, iar acestea pot fi activate sau dezactivate după cum este necesar. Aceste tipuri de servere au devenit necesare, de asemenea, pe măsură ce jocurile s-au îndepărtat de la conexiunile peer-to-peer – tipul care a acceptat jocuri precum Halo 2 încă din 2004 – la servere dedicate care susțin jocuri masive și persistente, cum ar fi Destinul 2 și Imnul. Cu toate acestea, serverele virtuale nu sunt un remediu miracol și au probleme proprii.



„Capacitatea nu ține neapărat de numărul de servere”, spune Mann. „Chiar dacă ne așteptăm la milioane de jucători și avem serverele, nu ne așteptăm ca toți să ajungă la acel portal de conectare în același timp. Este vorba de a avea suficiente benzi pe autostradă pentru ca oamenii să treacă. Aveți două țări conectate prin bridge și ambele țări au tone de spațiu pe ele, dar pentru a vă muta din țara client în țara serverului, cât de mare faceți acel bridge? Nu este vorba despre „Hai să aruncăm o mulțime de bani în el și să-l facem mai mare”. La sfârșitul zilei, este adesea un blocaj bazat pe tehnologia și motorul pe care le utilizați.

Concepții greșite comune

O concepție greșită pe care Mann o vede adesea are de-a face cu modul în care funcționează echipele de dezvoltare - în special, ideea că oricine poate repara orice.



„Când ai de-a face cu baze de cod complexe care acoperă mai multe fișiere construite de 200 de oameni, dacă mă uit la programatorii mei și au construit asta, codificatorul A nu cunoaște întregul proiect”, explică el. „Există acest concept conform căruia toată lumea știe totul despre codul jocului, așa că artistul de nivel ar trebui să ajute cu remedierea arhitecturii nivelului. Știi, managerii comunității nu remediază erorile.'

Am auzit același lucru de la Fredrik Brönjemark, directorul serviciilor live la Massive Entertainment, studioul din spatele The Division. „Jocurile online mari sunt componente software extrem de complexe, care se bazează pe o infrastructură masivă de servere online pentru a le susține”, explică Brönjemark. „În plus, aveți și un strat suplimentar de servicii primare, așa că există o mulțime de moduri diferite în care lucrurile pot merge prost! Pentru noi, pe The Division, principalele tipuri de incidente care ar putea cauza timpi de nefuncționare sau probleme de conectivitate au fost instabilitatea software-ului jocului care rulează pe servere sau problemele furnizorului de găzduire. Epuizarea capacității serverului este foarte rar problema. Pe The Division 2, serverele noastre cresc automat în funcție de numărul de jucători care doresc să joace jocul.'

Orice număr de lucruri pot merge prost în ziua lansării și, de cele mai multe ori, numărul total de jucători este relativ scăzut pe lista de urmărire. Ar putea exista o scurgere de memorie, o singură linie de cod incorect, dar catastrofală, sau un punct de decalaj îngropat undeva în conducta enormă a serverului. Un joc ar putea avea o problemă cu un anumit ISP sau, după cum a menționat Brönjemark, serviciile primare pe care se bazează un joc ar putea să se defecteze. Problema ar putea fi oriunde, dar indiferent unde ar fi, este problema tuturor. Nimeni nu este o insulă când vine vorba de jocuri online, iar asta poate face ca răspunsul la probleme să fie incredibil de dificil și consumator de timp.

„Fiecare lansare este diferită”

Toți dezvoltatorii cu care am vorbit au descris un proces de triaj similar pentru remedierea problemelor. Mann a oferit o imagine de ansamblu asupra cum ar putea arăta o remediere de la început până la sfârșit. În primul rând, un dezvoltator trebuie să verifice simptomele problemei pentru a identifica cauza reală. Apoi aduc oamenii care sunt responsabili pentru acea zonă a jocului pentru a găsi o soluție. Este ceva ce pot actualiza din partea lor sau trebuie să emită un patch? Odată ce găsesc o soluție, va trebui să o testeze pentru a se asigura că nu sparge nimic altceva, mai ales dacă este un plasture.

„Există un control înainte ca ceva să intre în funcțiune”, spune Mann. „Există o mulțime de dus-întors cu deținătorii de platforme [cum ar fi Sony și Microsoft] pentru a ne asigura că lucrăm spre succes împreună; trebuie să parcurgem pașii QA. Și pe măsură ce trecem prin acel plasture, dacă reacționăm și remediam asta acum, dar apoi o jumătate de oră mai târziu trebuie să facem un al doilea plasture în aceeași zi, va fi o mizerie. Așa că trebuie să spunem: „Facem acest patch; ce alte probleme critice putem rezolva ca parte a acestui lucru? Ce alte lucruri sunt în neregulă? Nu poți să faci un plasture într-o jumătate de oră. Trebuie să te asiguri că ești inteligent în ceea ce privește modul în care remediați acel conținut.

Odată ce toate acestea s-au făcut, dacă universul permite, dezvoltatorii pot împinge patch-ul și pot începe să-l monitorizeze și să-și comunice efectele prin canalele lor sociale. Dar „nu există nicio jumătate de oră de întoarcere”, spune Mann, adăugând, „sute de oameni vor atinge asta înainte de a se stinge”.

Frank Sanchez, fost reprezentant al comunității BioWare și Gazillion Entertainment cu experiență în inginerie, cunoaște bine această paradigmă. Fiind cineva care a petrecut mult timp culegând răspunsuri și redactând note de patch-uri, el a văzut ambele părți ale procesului de actualizare, de la feedback-ul jucătorilor până la trimiterea patch-urilor. De asemenea, știe mai bine decât majoritatea cât de complicate pot deveni remedierile și cât de frustrante pot fi problemele de lansare atât pentru jucători, cât și pentru dezvoltatori.

„Suntem ultimii oameni care doresc să vadă un server să funcționeze și apoi două ore mai târziu întârzie atât de rău că oamenii nu se pot conecta”, explică Sanchez. „Vă garantez că dacă [dezvoltatorii] aduc un server pentru o versiune beta și nu funcționează corect, probabil că acesta este la capătul cuiva care a pus la dispoziție timp dincolo de ceea ce făceau deja pentru a-l aduce într-o stare în care ar putea lansa. Deci, atunci când cineva online spune „Ei bine, e doar leneș”, este complet și flagrant fals. Munca este depusă, provocarea este cum să răspundeți la probleme și să comunicați jucătorilor atunci când acestea se întâmplă. Este o știință imperfectă... fiecare lansare este diferită. Chiar dacă două jocuri sunt dezvoltate pe Unity sau orice altceva, chiar dacă genul este același, procesul este diferit. Nu poți spune „Acest joc a fost bine, care este problema cu acest joc”, pentru că există multă unicitate în fiecare joc”.

Nu poți spune „Acest joc a fost bine, care este problema cu acest joc”, pentru că există multă unicitate în fiecare joc.

Frank Sanchez

Comentariile lui Sanchez ating o altă întrebare comună care apare în timpul lansării: de ce nu ați anticipat acest lucru? Poate că jocul X a avut probleme în urmă cu câteva luni. Cu siguranță dezvoltatorii jocului Y ar putea să vadă asta și să ia măsuri pentru a evita aceleași probleme, nu?

Lăsând la o parte diferențele dintre jocurile individuale, toți cei cu care am vorbit au spus că unele probleme nu pot fi anticipate. Testarea internă poate face doar atât de mult și nu se poate compara niciodată cu lansarea efectivă a unui joc.

„Nu există nicio simulare pentru live”

„Nu poți să plănuiești live [jucători concurenți]”, continuă Sanchez. „Este pur și simplu imposibil. Nu există înlocuitor. Am văzut fiecare metodă de testare a stresului a ceva în interior înainte de a-l pune acolo, și pur și simplu nu există nicio simulare pentru live.

Aici intră în joc testele de stres pre-lansare și perioadele beta. Nu sunt perfecte, dar sunt cea mai bună modalitate de a evalua cum va arăta lansarea unui joc și ce trebuie remediat înainte de prima oră. „Beta-urile sunt de mare ajutor”, spune Mann. „Nu puteți obține dimensiunea și scara pe care le obțineți cu un test beta intern. Pur și simplu nu poți angaja atât de mulți oameni care să-ți lovească serverele. Cel mai bun mod de a testa live este să fii live. Dacă te uiți la o mulțime de versiuni alfa și beta, există acest concept că nu există suficiente servere, că există erori și alte probleme, dar în decurs de o săptămână au făcut triaj și cea mai recentă versiune sau cea finală nu are acele probleme. . Asta doar pentru că este experimentat [live] și investigat în timpul acelor beta.'

„Recent, un studio a lansat o versiune beta pentru jocul său și o grămadă de prieteni ai mei au sărit încântați să joace și au lovit o eroare în care au rămas blocați în tutorial, deoarece un element cheie nu a apărut pe server, spune Mann. eu, observând cât de dificil poate fi să anticipezi defecte la lansarea unui joc online. „Vă garantez că, în toate testele QA pentru acel joc, acel element a fost întotdeauna acolo. Singura modalitate prin care veți găsi asta este testând acest flux la scară masivă. Bănuiesc că tipii aceia sunt acum bine conștienți de asta și de toată această problemă pentru a o remedia pentru lansare, totul din cauza acelui lucru beta.

Nu poți repara totul

Dacă beta-urile sunt atât de grozave, de ce nu dețin dezvoltatorii mai multe dintre ele și de ce nu le dețin cu luni înainte de lansare? Așa cum se întâmplă adesea în jocuri, tehnologia și timpul nu permit întotdeauna dezvoltatorilor să facă exact ceea ce își doresc să facă. Datorită modului în care sunt făcute majoritatea jocurilor, ele nu vin împreună decât chiar la sfârșit, motiv pentru care beta-urile par atât de aproape de lansare. Și indiferent de ceea ce învață dezvoltatorii dintr-o versiune beta, indiferent de problemele pe care le poate dezvălui, ei nu își pot întârzia în mod realist jocul ca răspuns la ele. Un furnizor de servicii web nu dorește ca o echipă să-și piardă data de începere a serverului mai mult decât un editor nu vrea să-și piardă data de lansare. Acesta este motivul pentru care, la fel cum unele probleme nu pot fi anticipate, unele erori pur și simplu nu pot fi remediate la timp pentru lansare.

Divizia 2 Betas

The Divizia 2 beta programul a fost destul de cuprinzător, cu beta-uri private și deschise, precum și un test de stres mai direcționat. Nu toate jocurile pot schimba asta, dar cele care beneficiază enorm de pe urma a ceea ce Brönjemark numește „repetiția finală”. Prima sa versiune beta deschisă este planificată pentru 1 - 4 martie, la două săptămâni de la lansare.

„Mi-ar plăcea să expediez fără erori”, consideră Sanchez, un comentariu pe care îl veți auzi de la orice dezvoltator care a trecut prin iad și înapoi pentru a livra efectiv un produs. „Dar orice echipă vă va spune că este foarte greu de făcut. Aceasta este doar realitatea. Lista lucrurilor care trebuie remediate este în continuă schimbare. Trebuie să înțelegeți că atunci când vine vorba de erori, există erori care pot fi livrate și există erori descoperite după lansare. Tot ceea ce trebuie să fie prioritizat și planificat împotriva și despre care se vorbește. Este triajul. Lansările mai norocoase sunt cele care au bug-uri, dar nu au bug-uri paralizante.

În plus, realizarea unei versiuni beta poate fi o sarcină îndelungată și care necesită multă muncă. Dezvoltatorii nu pot pur și simplu să pirateze o parte din joc și să o încarce pe Xbox Live sau PlayStation Network. Beta-urile sunt adesea dezvoltate separat de (dar în tandem cu) un joc, ceea ce necesită mai mult timp și bani. Acesta este motivul pentru care problemele care au fost rezolvate de mult în versiunea principală a unui joc pot fi încă prezente în versiunea beta a acestuia. Am văzut asta în demo-urile lui Anthem și în cea mai recentă versiune beta pentru The Division 2, de exemplu.

„Destul de des aud oameni spunând că ei cred că testele beta sunt doar campanii de marketing și oricum dezvoltatorii nu pot învăța nimic de la ei, deoarece jocul este deja terminat în acel moment”, îmi spune Brönjemark. „Aș dori să risipesc acest mit. Chiar și atunci când jocul este deja tipărit pe disc și patch-ul din prima zi este deja făcut, există încă o mulțime de lucruri pe care le putem aborda pe partea de server, atât din punct de vedere tehnologic, cât și din punct de vedere al gameplay-ului și al echilibrului. .'

Pe de altă parte, spune Sanchez, „programele de publicare și cronologia de dezvoltare a jocurilor sunt foarte agresive, uneori prea agresive. Când vine ceva, cât de multă finanțare mai aveți, cât timp sunteți în dezvoltare. Uneori, succesul lansării depinde într-adevăr de câte ori ai fost nevoit să-ți împingi reperele, de câte ori ai întârziat lansarea pentru că aveai ceva de șlefuit. Unele jocuri pot fi livrate doar cu o anumită cantitate de polish. Nu poți spune că este complet și absolut bine odată ce devine auriu. Există cazuri în care un joc va fi livrat într-o stare care este gata de lansare, dar ar putea fi un pic de lustruire care trebuie făcut.

O lansare este mai mult decât prima zi

Dezvoltatorii și jucătorii doresc atât ca jocurile lor să funcționeze perfect prima dată când le pornesc, dar realitatea dezvoltării jocului este că există atât de multe părți în mișcare și atât de multe limitări imobile, încât unele probleme sunt nevoite să scape prin fisuri, iar șansele de asta cresc doar pe măsură ce jocurile devin din ce în ce mai mari. Sanchez consideră că acesta este motivul pentru care trebuie să ne uităm la lansări ca acestea în mod holistic. Performanța unui joc în ziua lansării este importantă, dar nu este totul.

„Nu sunt problemele, acestea se vor întâmpla întotdeauna”, spune Sanchez. „Așa abordezi aceste probleme. Dacă sunteți lent sau nu le abordați corect sau dacă sunteți ostil față de jucătorii dvs., va rămâne cu ei. Dacă există un lucru pe care mi-aș dori ca jucătorii să înțeleagă, este că problemele apar, indiferent de cât de bine le planificați. Ar trebui să trageți la răspundere dezvoltatorii pentru modul în care li se răspunde. Dacă aveți o problemă la o săptămână după lansare, puneți-le picioarele pe foc și spuneți „Hei, nu am o experiență bună, de aceea, sunt îngrijorat că aceste probleme nu sunt rezolvate”. Acestea sunt lucrurile despre care vrem să auzim.

Problemele apar, indiferent de cât de bine le planificați.

Frank Sanchez

Niciun joc nu se lansează perfect. Pur și simplu nu se întâmplă. După cum spune Sanchez, „orice ați considera a fi o lansare lină este doar ceva care nu a ajuns niciodată la nivelul în care un jucător a perceput că ceva nu este în regulă”. Mereu se desfășoară în spatele scenei. Mann a descris-o ca o grămadă de dezvoltatori înghesuiti într-o „cameră de război” care urmăresc un perete de monitoare pentru feedback și probleme potențiale. Uneori descoperă acele probleme devreme, alteori nu apar timp de câteva ore și uneori nu pot fi rezolvate pentru câteva ore sau chiar câteva zile.

Ideea este că jocurile online masive vor avea întotdeauna unele probleme tehnice la lansare. La naiba, toate jocurile moderne au unele probleme la lansare. Aceasta este doar natura tehnologiei de astăzi și a industriei de astăzi. Asta nu înseamnă că jucătorii ar trebui să acorde orbește o trecere la jocurile care sunt eliminate cu un design catastrofal sau alte probleme, dar pune în perspectivă lansarea medie. Un joc poate avea probleme minore pe care nici măcar nu le observăm sau poate avea probleme evidente de joc. În orice caz, tot ce poate face oricine este să spere la ce este mai bun, să se pregătească pentru ce e mai rău și să semnaleze probleme atunci când acestea ies inevitabil la suprafață.