Port PC Horizon Zero Dawn został uruchomiony kilka dni temu, a fani zastanawiali się, dlaczego tak często się zawiesza – jedna osoba przyjrzała się bliżej i nie była zadowolona z tego, co znalazła.
Wiadomość pochodzi z serwisu Reddit, gdzie anonimowy programista podzielił się swoimi odkryciami po zbadaniu „plików zrzutu” gry.
„Tak więc jako programista pozwoliłem sobie samodzielnie zbadać pliki zrzutu” – napisali. „Powiedzmy, że wynik nie jest bardzo dobry… obiecujący.”
Plakat zawiera następnie obraz wiersza z kodu gry, który został zrzut ekranu dokładnie w miejscu, w którym nastąpiła awaria.
„Ten fragment kodu oznacza, że komputer próbuje zapisać wartość po prawej stronie do adresu pamięci po lewej stronie. Problem polega na tym, że określona pamięć nie istnieje” – napisali. „Program próbuje uzyskać bezpośredni dostęp do adresu 0, to ZAWSZE spowoduje awarię gry, a to też jest duże NIE”.
„Nie mam pojęcia, jak to się stało, program mający zakodowane na stałe 0 jako adres pamięci wyraźnie pokazuje, jak źle to było zrobione, żaden dobrze wykonany kod (lub po prostu przeciętny) nie próbowałby uzyskać dostępu do 0 jako adresu pamięci” Byłem błędem kompilatora, ale bardzo w to wątpię ”- dodali.
Następnie wprowadzili kilka zmian po tym, jak inni ludzie zaczęli zajmować się postem, z których obie doszły do tych samych wniosków.
„Po krótkiej chwili badania w deasemblerze znalazłem 166 wierszy tej samej instrukcji”, czytamy w zredagowanym poście. „Są używane głównie w obsłudze pamięci i niektórych nieusuniętych (z jakiegoś powodu) funkcjach debugowania”.
„Usunąłem te instrukcje (nie usunąłem ich) i gra zawiesza się rzadziej” – kontynuuje. „To dalekie od rzeczywistej poprawki, nie mogę naprawić problemów graficznych, ale przynajmniej zawiesza się teraz co 30 minut, a nie co 5”.
Post kończy się stwierdzeniem, że jest to ewidentnie kompilacja do debugowania i nie powinna zostać wysłana. Jeśli jesteście ciekawi, możecie sami wypróbować rozgrywkę w Horizon Zero Dawn.
Chociaż początkowo fani byli podekscytowani tym, jak dobrze wygląda gra, ciągłe awarie i problemy z wydajnością szybko zastąpiły ten entuzjazm. Te problemy są, jak wskazuje post na Reddicie, stosunkowo dobrze wyjaśnione faktem, że ten port może nadal mieć dołączone aspekty kompilacji debugowania.