211service.com
„To po prostu niemożliwe”: twórcy wyjaśniają, dlaczego duże gry online zawsze wydają się psuć podczas premiery
Między fragmentarycznym uruchomieniem Hymn , niespodziewana premiera Apex Legends i nadchodząca premiera Dywizja 2 , początek 2019 roku obfituje w wielkie gry online. Jak pokazały najnowsze i niezliczone gry BioWare, gry wieloosobowe tego zakresu rzadko uruchamiają się w doskonałym stanie. Wygląda na to, że każda gra online ma niektóre problemy techniczne w momencie premiery, czy to drobne, jak błędy pierwszego tygodnia w Apex Legends, czy problemy z grami, takie jak problemy z połączeniem, które początkowo okaleczyły Diabeł 3 .
Odkąd mamy gry online, mieliśmy kłopoty z uruchomieniem, ale wydaje się, że rozmowa o problemach z uruchomieniem tak naprawdę nigdzie nie poszła. Za każdym razem pojawiają się te same pytania. Dlaczego się to stało? Dlaczego twórcy tego nie przewidzieli? Dlaczego naprawa trwała tak długo? Ponieważ tak wiele dużych gier online jest wydawanych tak blisko siebie, wraz z rozwojem gier jako usługa w branży, teraz wydawało się, że to dobry moment, aby zadać niektóre z tych pytań programistom w nadziei na wyjaśnienie przerażającego przestoju w dniu premiery. Dlaczego pojawiają się te same problemy po uruchomieniu gier i jak radzą sobie z nimi deweloperzy?
„Wydajność bardzo rzadko jest problemem”

Za każdym razem, gdy gry przestają działać lub łączą się wolno, wielu zakłada, że dzieje się tak, ponieważ zabrakło im miejsca na serwerze. Że twórcy nie docenili liczby graczy, którzy się logowali, przez co ich serwery ugięły się pod obciążeniem. W takim razie wszystko, co muszą zrobić, to zapłacić za więcej serwerów, prawda? No nie, niekoniecznie; jak to często bywa przy tworzeniu gier, nie jest to takie proste.
„Jednym ze sposobów myślenia, które często widuje się w Internecie, jest: „Dlaczego firma A nie ma więcej serwerów?” — mówi nam Alex Mann, kierownik ds. rozwoju i były analityk ds. kontroli jakości w EA. „Na starcie widzisz największy ruch w tych grach. Wszyscy byli podekscytowani, zespół marketingowy dobrze wykonał swoją pracę, wszyscy są naprawdę podekscytowani możliwością połączenia z Internetem, a w momencie, gdy gra wyskakuje, wszyscy klikają „Idź”. Ale zauważysz, że wraz z cyklem życia większości gier masz ten ogromny wybuch, a potem się kończy. Gdyby każda firma zajmująca się grami kupiła sprzęt, aby pokryć wszystko, czego potrzebują w tej początkowej serii, dwa tygodnie później mieliby 50% swojego sprzętu, który nigdy nie był używany”.
„Nie chodzi o to, że „rzucajmy w to kupą pieniędzy i powiększajmy”.
Alex Mann
Utrudnia to programistom przygotowanie się do uruchomienia bez nadmiernych wydatków i zakupów za dużo serwery. Na szczęście programiści mają teraz dostęp do wirtualnych serwerów za pośrednictwem firm takich jak Amazon Web Services, które można aktywować lub dezaktywować w razie potrzeby. Tego rodzaju serwery stały się również niezbędne, gdy gry odeszły od połączeń peer-to-peer – typu, który obsługiwał gry takie jak Halo 2 w 2004 roku – na serwery dedykowane, które obsługują ogromne, trwałe gry, takie jak Przeznaczenie 2 i hymn. Jednak serwery wirtualne nie są cudownym lekarstwem i mają własne problemy.

„Pojemność niekoniecznie zależy od liczby serwerów”, mówi Mann. „Nawet jeśli spodziewamy się milionów graczy i mamy serwery, nie oczekujemy, że wszyscy trafią do tego portalu logowania w tym samym czasie. Chodzi o to, by na autostradzie było wystarczająco dużo pasów, by ludzie mogli przez nie przejeżdżać. Masz dwa kraje połączone mostem i oba kraje mają mnóstwo miejsca, ale aby przenieść się z kraju klienta do kraju serwera, jak duży jest ten most? Nie chodzi o to, że „Rzućmy w to mnóstwem pieniędzy i zwiększmy”. W ostatecznym rozrachunku często jest to wąskie gardło w oparciu o technologię i silnik, którego używasz”.
Wspólne nieporozumienia 
Jedno błędne przekonanie, które Mann często widzi, dotyczy tego, jak działają zespoły programistyczne - a konkretnie pomysł, że każdy może wszystko naprawić.
„Kiedy masz do czynienia ze złożonymi bazami kodu, obejmującymi wiele plików zbudowanych przez 200 osób, jeśli spojrzę na moich programistów i oni to zbudowali, programista A nie zna całego projektu” – wyjaśnia. „Jest taka koncepcja, że wszyscy wiedzą wszystko o kodzie gry, więc artysta poziomów powinien pomagać w naprawie architektury poziomów. Wiesz, menedżerowie społeczności nie naprawiają błędów.
To samo usłyszałem od Fredrika Brönjemarka, dyrektora usług na żywo w Massive Entertainment, studiu stojącym za The Division. „Duże gry online to niezwykle złożone elementy oprogramowania, które obsługują je potężną infrastrukturę serwerów internetowych” – wyjaśnia Brönjemark. „Ponadto masz również dodatkową warstwę usług własnych, więc istnieje wiele różnych sposobów, w jakie może się nie udać! Dla nas w The Division głównymi typami incydentów, które mogły powodować przestoje lub problemy z łącznością, były niestabilność oprogramowania gry działającego na serwerach lub problemy z dostawcami hostingu. Bardzo rzadko problemem jest wyczerpanie się pojemności serwera. W The Division 2 nasze serwery skalują się automatycznie w zależności od liczby graczy, którzy chcą zagrać w tę grę”.
W dniu premiery wiele rzeczy może pójść nie tak, a często sama liczba graczy jest stosunkowo niska na liście obserwowanych. Może wystąpić wyciek pamięci, pojedynczy, ale katastrofalny wiersz nieprawidłowego kodu lub plama opóźnienia zakopana gdzieś w ogromnym potoku serwerów. Gra może mieć problem z pewnym dostawcą usług internetowych lub, jak wspomniał Brönjemark, usługi własne, na których opiera się gra, mogą ulec awarii. Problem może być wszędzie, ale bez względu na to, gdzie jest, jest to problem wszystkich. Nikt nie jest wyspą, jeśli chodzi o gry online, a to może sprawić, że reagowanie na problemy może być niezwykle trudne i czasochłonne.
„Każda premiera jest inna”

Wszyscy programiści, z którymi rozmawiałem, opisali podobny proces selekcji w celu rozwiązania problemów. Mann przedstawił przegląd tego, jak może wyglądać poprawka od początku do końca. Po pierwsze, programista musi przesiać symptomy problemu, aby zidentyfikować faktyczną przyczynę. Następnie sprowadzają ludzi, którzy są odpowiedzialni za ten obszar gry, aby wypracować rozwiązanie. Czy jest to coś, co mogą zaktualizować po swojej stronie, czy muszą wydać łatkę? Gdy znajdą rozwiązanie, będą musieli je przetestować, aby upewnić się, że nie zepsuje niczego innego, zwłaszcza jeśli jest to łatka.
„Jest czek, zanim cokolwiek zostanie opublikowane”, mówi Mann. „Z posiadaczami platform [takimi jak Sony i Microsoft] jest dużo wzajemnej wymiany, aby upewnić się, że wspólnie pracujemy na sukces; musimy przejść przez etapy kontroli jakości. I kiedy przechodzimy przez ten patch, jeśli odruchowo zareagujemy i naprawimy to teraz, ale pół godziny później będziemy musieli zrobić drugi patch tego samego dnia, będzie bałagan. Musimy więc powiedzieć: „Robimy tę łatkę; jakie inne krytyczne problemy możemy w ramach tego naprawić? Co jeszcze jest nie tak? Nie możesz zrobić plastra w pół godziny. Musisz się upewnić, że jesteś sprytny, jak łatasz tę zawartość.
Gdy to wszystko zostanie zrobione, jeśli wszechświat na to pozwoli, twórcy mogą przepchnąć łatkę i zacząć ją monitorować oraz komunikować jej efekty za pośrednictwem swoich kanałów społecznościowych. Ale „nie ma pół godziny odwrócenia”, mówi Mann, dodając, „być może setki ludzi dotkną tego, zanim zgaśnie”.

Frank Sanchez, były przedstawiciel społeczności BioWare i Gazillion Entertainment z doświadczeniem inżynieryjnym, dobrze zna ten paradygmat. Jako ktoś, kto spędził dużo czasu na zbieraniu odpowiedzi i sporządzaniu notatek o łatkach, widział obie strony procesu aktualizacji, od opinii graczy po przesyłanie łatek. Wie też lepiej niż większość, jak skomplikowane mogą się stać poprawki i jak frustrujące mogą być problemy z uruchomieniem zarówno dla graczy, jak i programistów.
„Jesteśmy ostatnimi ludźmi, którzy chcą zobaczyć, jak serwer działa, a dwie godziny później pozostają w tyle, tak że ludzie nie mogą się zalogować” — wyjaśnia Sanchez. „Gwarantuję ci, że jeśli [twórcy] wprowadzą serwer do wersji beta i nie działa dobrze, to prawdopodobnie jest to koniec kogoś, kto włożył czas poza to, co już chrupnął, aby doprowadzić go do stanu, w którym może uruchomić. Więc kiedy ktoś online mówi „Cóż, jest po prostu leniwy”, jest to całkowicie i rażąco fałszywe. Praca jest włożona, wyzwaniem jest reagowanie na problemy i komunikowanie się z graczami, gdy się pojawią. To niedoskonała nauka… każdy start jest inny. Nawet jeśli dwie gry są tworzone na Unity lub cokolwiek innego, nawet jeśli gatunek jest ten sam, proces jest inny. Nie możesz powiedzieć „Ta gra była w porządku, jaki jest problem z tą grą”, ponieważ w każdej grze jest wiele wyjątkowości”.
Nie możesz powiedzieć „Ta gra była w porządku, jaki jest problem z tą grą”, ponieważ w każdej grze jest wiele wyjątkowości.
Frank Sanchez
Komentarze Sancheza dotykają innego popularnego pytania, które pojawia się w okolicach premiery: dlaczego tego nie przewidziałeś? Może gra X napotkała problemy kilka miesięcy temu. Z pewnością twórcy gry Y mogli to zobaczyć i podjąć kroki, aby uniknąć tych samych problemów, prawda?
Pomijając różnice w poszczególnych grach, wszyscy, z którymi rozmawiałem, mówili, że niektórych problemów nie można przewidzieć. Testy wewnętrzne mogą zrobić tylko tyle i nigdy nie mogą się równać z faktycznym uruchomieniem gry.
„Po prostu nie ma symulacji na żywo”

„Nie możesz planować na żywo [jednoczesnych graczy]”, kontynuuje Sanchez. „To po prostu niemożliwe. Nie ma substytutu. Widziałem każdą metodę wewnętrznego testowania warunków skrajnych, zanim to wypuściłeś, i po prostu nie ma symulacji na żywo.
W tym miejscu w grę wchodzą przedpremierowe testy warunków skrajnych i okresy beta. Nie są idealne, ale są najlepszym sposobem, aby ocenić, jak będzie wyglądała premiera gry i co należy naprawić przed premierą. „Bety są niezwykle pomocne” – mówi Mann. „Nie można wewnętrznie uzyskać takiego rozmiaru i skali, jak w przypadku testów beta. Po prostu nie możesz zatrudnić tylu ludzi, aby trafili na twoje serwery. Najlepszym sposobem testowania na żywo jest bycie na żywo. Jeśli spojrzysz na wiele wersji alfa i beta, jest taka koncepcja, że nie ma wystarczającej liczby serwerów, są błędy i inne problemy, ale w ciągu tygodnia zostały one sprawdzone i najnowsza lub ostateczna wersja nie ma tych problemów . To tylko dlatego, że jest doświadczane [na żywo] i badane podczas tych wersji beta”.
„Niedawno studio uruchomiło wersję beta swojej gry i grupa moich znajomych wskoczyła do gry i natrafili na błąd, przez który utknęli w samouczku, ponieważ kluczowy element nie pojawił się na serwerze, mówi Mann mnie, zauważając, jak trudne może być przewidzenie błędów w premierze gry online. „Gwarantuję, że we wszystkich testach kontroli jakości w tej grze ten przedmiot zawsze tam był. Jedynym sposobem, aby to znaleźć, jest testowanie tego przepływu na masową skalę. Podejrzewam, że ci faceci są teraz świadomi tego i całej tej kwestii, aby naprawić ją przed uruchomieniem, a wszystko to z powodu prac nad wersją beta”.
Nie możesz wszystkiego naprawić

Skoro wersje beta są tak świetne, dlaczego programiści nie mają ich więcej i dlaczego nie trzymać ich na kilka miesięcy przed premierą? Jak to często bywa w grach, technologia i czas nie zawsze pozwalają twórcom robić dokładnie to, co chcą. Ze względu na sposób, w jaki powstaje większość gier, nie łączą się one aż do samego końca, co generalnie jest powodem, dla którego wersje beta pojawiają się tak blisko premiery. I niezależnie od tego, czego twórcy nauczyli się z wersji beta, bez względu na to, jakie problemy mogą ujawnić, nie mogą realistycznie opóźnić swojej gry w odpowiedzi na nie. Dostawca usług internetowych nie chce, aby zespół przegapił datę uruchomienia serwera, niż wydawca nie chce przegapić daty uruchomienia. Dlatego, tak jak niektórych problemów nie można przewidzieć, niektórych błędów po prostu nie da się naprawić na czas przed premierą.
Wersja beta The Division 2 
ten Wersja beta dywizji 2 Harmonogram był dość obszerny, z prywatnymi i otwartymi betami, a także bardziej ukierunkowanym testem warunków skrajnych. Nie wszystkie gry mogą to zmienić, ale te, które odnoszą ogromne korzyści z tego, co Brönjemark nazywa „próbą końcową”. Jego pierwsza otwarta beta planowana jest na 1 do 4 marca, dwa tygodnie przed premierą.
„Chciałbym wysyłać bez błędów”, uważa Sanchez, komentarz, który usłyszysz od każdego programisty, który przeszedł piekło iz powrotem, aby faktycznie wysłać produkt. „Ale każdy zespół powie ci, że to bardzo trudne do zrobienia. Taka jest po prostu rzeczywistość. Lista rzeczy, które należy naprawić, ciągle się zmienia. Musisz zrozumieć, że jeśli chodzi o błędy, istnieją błędy, które mogą zostać wysłane, a także błędy wykryte po uruchomieniu. Wszystko to musi zostać potraktowane priorytetowo, zaplanowane i omówione. To jest segregacja. Najszczęśliwsze premiery to te, które zawierają błędy, ale nie mają paraliżujących błędów.
Co więcej, tworzenie wersji beta może być długim i pracochłonnym zadaniem samym w sobie. Programiści nie mogą po prostu zhakować fragmentu swojej gry i przesłać go do Xbox Live lub PlayStation Network. Bety są często opracowywane oddzielnie (ale razem z) grą, co zajmuje więcej czasu i pieniędzy. Dlatego problemy, które już dawno zostały naprawione w głównej wersji gry, mogą nadal występować w jej wersji beta. Widzieliśmy to na przykład w demach Anthem i najnowszej becie The Division 2.

„Często słyszę, jak ludzie mówią, że uważają, że testy beta to tylko kampanie marketingowe, a programiści i tak nie mogą się od nich niczego nauczyć, ponieważ gra jest już ukończona w tym momencie”, mówi mi Brönjemark. „Chciałbym obalić ten mit. Nawet jeśli gra jest już wydrukowana na dysku, a łatka z pierwszego dnia jest już gotowa, wciąż istnieje ogromna ilość rzeczy, które jesteśmy w stanie rozwiązać po stronie serwera, zarówno pod względem technologii, jak i rozgrywki i balansu .
Z drugiej strony, jak mówi Sanchez, „harmonogramy publikacji i harmonogramy tworzenia gier są bardzo agresywne, czasami zbyt agresywne. Kiedy coś zostanie wysłane, ile środków Ci pozostało, jak długo jesteś w fazie rozwoju. Czasami sukces startu naprawdę zależy od tego, ile razy musiałeś cofnąć swoje kamienie milowe, ile razy opóźniłeś start, ponieważ miałeś coś do polerowania. Niektóre gry mogą być dostarczane tylko z określoną ilością pasty do polerowania. Nie możesz powiedzieć, że jest całkowicie i całkowicie w porządku, gdy stanie się złoty. Zdarzają się sytuacje, w których gra zostanie wydana w stanie gotowym do uruchomienia, ale może być konieczne dopracowanie”.
Premiera to więcej niż pierwszy dzień

Zarówno deweloperzy, jak i gracze chcą, aby ich gry działały idealnie przy pierwszym uruchomieniu, ale rzeczywistość tworzenia gier jest taka, że jest tak wiele ruchomych części i tak wiele nieusuwalnych ograniczeń, że niektóre problemy z pewnością prześlizgną się przez szczeliny, a Szanse na to tylko rosną, gdy gry stają się coraz większe. Sanchez uważa, że właśnie dlatego na takie premiery musimy patrzeć holistycznie. Wydajność gry w dniu premiery jest ważna, ale to nie wszystko.
„To nie problemy, one zawsze będą się zdarzać”, mówi Sanchez. „Tak właśnie zajmujesz się tymi problemami. Jeśli jesteś powolny lub nie zajmujesz się nimi właściwie, lub jeśli jesteś wrogo nastawiony do swoich graczy, to zostanie z nimi. Jeśli jest jedna rzecz, którą chciałbym, aby gracze zrozumieli, to to, że problemy zdarzają się niezależnie od tego, jak dobrze je planujesz. Powinieneś pociągać programistów do odpowiedzialności za sposób, w jaki otrzymują odpowiedź. Jeśli masz problem w tygodniu po uruchomieniu, postaw stopy w ogniu i powiedz „Hej, nie mam dobrych doświadczeń, dlatego obawiam się, że te problemy nie zostały naprawione”. To są rzeczy, o których chcemy usłyszeć.
Problemy zdarzają się niezależnie od tego, jak dobrze je planujesz.
Frank Sanchez
Żadna gra nie uruchamia się idealnie. To się po prostu nie dzieje. Jak ujął to Sanchez, „wszystko, co uważasz za płynne uruchomienie, jest po prostu czymś, co nigdy nie wzrosło do poziomu, w którym gracz zauważył, że coś jest nie tak”. Za kulisami zawsze dzieje się zamieszanie. Mann opisał to jako grupę programistów zebranych razem w „pokoju wojennym”, obserwujących ścianę monitorów w poszukiwaniu informacji zwrotnych i potencjalnych problemów. Czasami wyłapują te problemy wcześnie, czasami nie pojawiają się przez kilka godzin, a czasami nie można ich naprawić przez kilka godzin lub nawet kilka dni.
Chodzi o to, że ogromne gry online zawsze będą miały pewne problemy techniczne podczas uruchamiania. Cholera, wszystkie współczesne gry mają pewne problemy w momencie premiery. Taka jest właśnie natura dzisiejszej technologii i dzisiejszego przemysłu. Nie oznacza to, że gracze powinni ślepo przepuszczać gry, które są wypychane z powodu katastrofalnego projektu lub innych problemów, ale daje to perspektywę przeciętnego startu. Gra może mieć drobne problemy, których nawet nie zauważamy, lub może zawierać oczywiste wyłączniki. W każdym razie wszystko, co każdy może zrobić, to mieć nadzieję na najlepsze, przygotować się na najgorsze i wywołać problemy, które nieuchronnie się pojawią.