Twórcy Destiny 2 wyjaśniają, skąd wziął się błąd ze znikającą walutą

​Rzadko zdarza się, żeby deweloperzy w szczegółach tłumaczyli, skąd biorą się błędy w ich produkcjach. Wyjątkiem jest Bungie, które dokładnie opisało, dlaczego musiało w poniedziałek wyłączyć serwery sieciowej strzelanki, gdy najnowsza aktualizacja kasowała walutę graczy.

"Serwery Destiny 2 zostały wyłączone ze względu na awaryjną aktualizację. Prosimy czekać na wiadomości" - napisano wczoraj wieczorem polskiego czasu w wiadomości na Twitterze. Źródłem kłopotów była wcześniejsza, mała łatka, która miła naprawić niektóre zablokowane osiągnięcia.

Planowano też zmienić ceny niektórych przedmiotów w sklepiku Eververse. Brzmi dobrze, lecz wkrótce po instalacji patcha w sieci zaczęły pojawiać się doniesienia mówiące o znikających modułach (do usprawniania sprzętu), kryształach i innych surowcach, których w grze nie brakuje.

Reklama

To spory problem, więc twórcy rozsądnie zareagowali szybko, wyłączając serwery w celu zidentyfikowania, skąd dokładnie wziął się błąd. Nie byłoby w tym nic specjalnie zaskakującego, gdyby nie fakt, że podobna sytuacja miała miejsce dokładnie dwa tygodnie temu, 28 stycznia.

Wtedy gra była niedostępna przez niemal 10 godzin, podczas gdy deweloperzy starali się załatać ten sam problem - znikającą walutę oraz materiały do rzemiosła. Wtedy także dopiero co wydano aktualizację i konta musiano cofnąć do stanu sprzed najnowszej łatki, by przywrócić zguby.

Teraz deweloperzy tłumaczą w szczegółach, skąd te problemy. Opis jest dość długi i potwierdza tylko, jak skomplikowanym procesem jest tworzenie gier wideo - zmiana w jednym miejscu może wywołać niespodziewane problemy w całkiem innymi systemie rozgrywki, niekiedy bardzo poważne.

"Kilka miesięcy temu gracze informowali, że lista zadań nie jest sortowana poprawnie i chcieliśmy to naprawić. Zespół przeprowadził śledztwo i ustalił, że usuwanie zakończonych zadań powoduje resetowanie znacznika czasowego części zadań, co psuło chronologiczne sortowanie" - czytamy.

"Chcieliśmy to naprawić, wyłączając resetowanie znacznika czasowego dla zadań. Takie podejście było teoretycznie rozsądne, lecz - przez szereg subtelnych efektów pobocznych - w praktyce wyłączało zbyt wiele elementów związanych z czyszczeniem listy z wykonanych zadań".

"Efekt końcowy był taki, że gra błędnie obliczała maksymalną liczbę przedmiotów, jakie mogą zająć slot (jak waluta i materiały do rzemiosła). W wyniku tego znikały przedmioty wykraczające poza ten limit. Wiedzieliśmy, że to krytyczna zmiana, więc poprosiliśmy dwóch ekspertów o przegląd kodu".

"Niestety, nie spostrzegliśmy tego błędu. Kilka dni później wykrył go wewnętrzny zespół testowy. Nieprawidłowo uznaliśmy jednak, że wywołują go narzędzia stosowane do testów, a nie sama gra. Problem ominął więc wszystkie nasze systemy kontroli i trafił na serwer w łatce z numerem 2.7.1".

To wszystko dotyczyło tego pierwszego przypadku, pod koniec ubiegłego miesiąca. Dlaczego usterka powróciła więc raz jeszcze, w łatce wydanej przez twórców w dniu 11 lutego? Tutaj winny był reset serwerów, którzy częściowo usunął wcześniejsze postępy - w tym załatany już raz błąd.

"W dniu 11 lutego wydaliśmy łatkę 2.7.11, razem ze startem wydarzenia Crimson Days. Po publikacji serwery świata ponownie się wyłączyły, ze względu na zbyt dużą liczbę serwerów startujących jednocześnie. Resetowaliśmy je ręcznie i myśleliśmy, że wszystko jest w porządku. Myliliśmy się".

"Nie zauważyliśmy, że awaria serwerów świata spowodowała, że nie uwzględniły one wcześniejszej poprawki. To oznaczało, że mały procent tych serwerów działał na starej wersji gry, w której błąd pozostawał obecny" - tłumaczy Bungie. I wszystko jasne! Tworzenie gier musi być bardzo proste!

INTERIA.PL
Dowiedz się więcej na temat: Destiny 2
Reklama
Reklama
Reklama
Reklama
Strona główna INTERIA.PL
Polecamy