Właśnie czytałem o tym, co zostało odkryte w plikach gry No Man's Sky, o wielu rzeczach, które nie były używane ani istotne w grze. Niedawno przeczytałem też o ustawieniach E3 pozostawionych w plikach Watch Dogs. Dlaczego twórcy gier zostawiają stare i nieużywane pliki w ostatecznej wersji gry?
Z pewnością zajmuje to więcej miejsca na dysku i oznacza, że jeśli pobierzesz grę, musisz pobrać więcej danych?
Czy deweloperzy nie boją się tego, co ludzie mogą znaleźć?
Odpowiedzi:
Główne gry używają czegoś, co nazywa się potokiem kompilacji. To jest jak inny zestaw narzędzi, który obsługuje tworzenie zawartości gry dla wszystkich różnych dystrybucji. Gry wieloplatformowe, takie jak No Man's sky i Watch_Dogs, zdecydowanie używają różnych zasobów dla różnych platform. Widzę więc dwie możliwe odpowiedzi na twoje pytanie.
Twórcy zapomnieli usunąć pewne zasoby z rurociągu i zostali dołączeni do rzeczywistej gry.
Twórcy celowo pozostawili niektóre „nieużywane” zasoby w grze do późniejszego wykorzystania podczas aktualizacji lub aktualizacji, ponieważ nie byli w stanie dotrzymać terminu. Przykład Devil's Pit z Wiedźmina 3.
źródło
Znalezienie wszystkich odnośników w dużej grze, nad którą pracuje wiele osób, może być trudniejsze niż myślisz . Nawet jeśli istnieją wyraźne narzędzia do pomocy (zbudowaliśmy takie narzędzia w ArenaNet, każdy, kto korzysta z Unreal, ma dostęp do wersji tych narzędzi Unreal, Bungie ma narzędzia, które robią to samo, a nawet mówił o nich itp.)
Istnieje kilka sposobów odwoływania się do treści, które mogą pokonać takie systemy, na ogół po prostu poprzez odwołanie się do treści przez coś, czego system nie może śledzić (na przykład poprzez tworzenie niejawnego lub zakodowanego na stałe odwołania w kodzie do jakiegoś zasobu).
Nawet zakładając, że rozwiązałeś problem znalezienia wszystkich odsyłaczy do treści, masz problem z niemożnością stwierdzenia, czy coś jest rzeczywiście używane . Być może gdzieś w skrypcie znajduje się odniesienie do jakiegoś zasobu, ale głośność wyzwalacza dla tego skryptu jest niepoprawnie umieszczona w ścianie i dlatego zawartość nigdy nie może się odrodzić w grze. Wyczerpujące przetestowanie tego jest również dość trudne.
Kiedy zautomatyzowany (lub automat zdolnymi ) metody wykrywania i odfiltrowanie niewykorzystana zawartość zawiodą, pozostaje ci staromodny sposób: interwencji człowieka. Ludzie popełniają błędy, złe założenia (mogą myśleć plik jest nadal stosowane, mimo to nie dlatego, że ktoś inny dokonał zmiany), a nawet czasami tak wybrać, aby celowo pozostawić zawartość znaczenia w grze jako jaja wielkanocne. Do tego prowadzi po prostu ludzka omylność.
To zazwyczaj nie wystarczająca ilość treści, aby przenieść igłę naprawdę dużo dla obciążenia lub plików optymalizacji wielkości. Istnieją również narzędzia do zgłaszania największych lub najwolniejszych zasobów w dowolnym łańcuchu kompilacji lub silniku, ale nacisk kładziony jest na zmniejszenie wpływu głównych przestępców i nie znajdowanie i lokalizowanie każdego zmarnowanego bajtu. Zwykle.
źródło
W pozostałych odpowiedziach brakuje tego, że nie ma to nic wspólnego z grami. Wpływa na wszystkie aplikacje.
Zawsze są pliki i kod, który nie będzie używany w żadnym dość złożonym programie. Dzieje się tak z powodu następujących 2 rzeczy:
źródło
Dodając do / co także zwiększa Uri Popov jest odpowiedź :
Edytować:
Reagując na komentarz do pierwotnego pytania,
źródło
Twórcy gier pozostawiają nieużywane pliki w ostatecznej wersji gry, ponieważ nie chcą wkładać wysiłku w znajdowanie i usuwanie wszystkich nieużywanych plików. Po tym, jak wszystkie gry działają dobrze, z odrobiną dodatkowego materiału, a czas to pieniądz. Sprzątanie zwiększa koszty (w zależności od tego, jak to się dzieje zautomatyzowane).
Chociaż zajmuje więcej miejsca i oznacza, że należy pobrać więcej danych, zwykle nie jest to problem programistów, a nawet klienci zwykle nie dbają o nieco większe rozmiary pobierania.
Nie wiesz, czy programiści muszą się bać czegokolwiek, co ludzie mogą znaleźć? Dlaczego powinni? Dopóki nie ma nic kompromisowego w dodatkowych plikach (naprawdę zła grafika, żarty o swoich szefach lub klientach ...), prawdopodobnie nie obchodzi ich to zbytnio. Chociaż w niektórych przypadkach faktycznie boją się tego, co gracze mogą wykryć w zasobach.
źródło
Not sure if developers need to be afraid of anything people might find?
przeczytaj, dlaczego test techniczny Titanfall 2 nie nadchodzi na PC, nie zgadzają się: P.Zostało to wskazane, ale inne odpowiedzi nie zostały w pełni dotknięte: wszystko sprowadza się do kosztów, a niektóre koszty są trudniejsze, niż mogłoby się wydawać.
Najbardziej oczywistym kosztem jest to, że ktoś musi je usunąć. Teraz możesz po prostu umieścić stażystę na skrzynce i poprosić go, aby przeszukiwał pliki i co nie, aby usunąć te, które nie są potrzebne w rzeczywistej grze. Ale nadal musisz za to zapłacić, a nawet jeśli tego nie zrobisz (ponieważ jesteś potworem, który nie płaci stażystom), nadal możesz mieć tego stażysty, który robi coś pożytecznego, np. Zamawia pizzę dla zespołu programistów, więc to wciąż kosztuje.
Mniej oczywistym kosztem jest to, że zasób, który chcesz usunąć, został umieszczony z jakiegoś powodu: czy jesteś absolutnie pewien, że powód jest przestarzały? Jasne, napisałeś ten kod do wersji demonstracyjnej i już go nie potrzebujesz, ale czy to w pełni prawda? Czy napisałeś przydatną funkcję, o której zapomniałeś przeprowadzić migrację do innych bibliotek? Czy Stacey stworzyła naprawdę fajną grafikę do wersji demonstracyjnej, która trafiła do prawdziwej gry? Czy wewnętrzny symulator nadal korzysta z tego starego poziomu, którego użyłeś do testowania?
Tworzenie gier to biznes. Nawet jeśli nie jest to firma zarabiająca pieniądze, nadal jest to firma o ograniczonych zasobach. Każda decyzja wymaga analizy kosztów i korzyści, nawet jeśli nie piszesz dla każdego przypadku uzasadnień biznesowych. Prostym faktem jest to, że koszt pozostawienia tych zasobów w grze jest nieco większy, a korzyściami są znacznie zmniejszone ryzyko wybuchu tuż przed wydaniem.
Wszystkie te znaki zapytania w „mniej oczywistym” akapicie reprezentują niepewność. Po prostu nie wiesz. A kiedy prowadzisz firmę, musisz wymieniać swoje niewiadome na znane. A wiadomo, że pakiet, który zbudowałeś, przeszedł testy, nawet jeśli ma trochę wzdęcia.
Istnieją inne potencjalne koszty, takie jak wyciek informacji wokół procesu programowania, który może potencjalnie zostać wykorzystany do wyprowadzenia hacków, ale przeszedłeś przez proces testowania w obecnej postaci, nie powinieneś się tym martwić.
tl; dr: Nikt nie zauważy pobrania większego o 4%, ale zauważy, że złamałeś grę, usuwając niezbędne pliki.
źródło