Nadal mam problemy z pakowaniem zasobów, po przejściu przez skomplikowane interfejsy API i po prostu pliki zip, które wyczerpują mój mózg, pomyślałem, że mogę również spakować grę z zasobami widocznymi dla ludzkiego oka, w prostym folderze.
Czy byłoby to nieprofesjonalne? Osobiście nigdy nie widziałem, aby gry to robiły, w gruncie rzeczy oznaczałoby to, że gracz mógł po prostu edytować wszystko, co chce w grze, na przykład przejść do map1.txt i dodać X gdzieś, aby stworzyć ścianę, lub zmienić duszkę gracza do kucyka w MS PAINT.
sound.dat
. Używanie nieskompresowanych folderów z kilkoma setkami plików sprawia, że (de) instalacja jest dość denerwująca.Odpowiedzi:
Nie, nie jest, zmiana danych gry nazywa się modowaniem, co jest powszechną praktyką i często postrzegane jako pozytywny efekt. Właściwie dobrze jest zachować dane gry tak przejrzyste, jak to możliwe, i edytować je tak bezproblemowo, jak to możliwe. Tym bardziej, jeśli wybierasz bardziej „zaawansowanych” graczy jako grupę docelową.
Powodem, dla którego nie znajdziesz wielu gier AAA, które używają zwykłej struktury folderów dla swoich danych, jest to, że używają niestandardowych zoptymalizowanych formatów archiwów, aby uzyskać lepsze czasy ładowania. Minusem jest zmniejszona przezroczystość i dodatkowe wymagane narzędzia w łańcuchu narzędzi. Jednak w przypadku mniejszych lub 2D gier te dwie rzeczy są zwykle bardziej warte niż lepszy czas ładowania.
Upewnij się tylko, że to, co widzą ludzie, to nie tylko wielki bałagan :) umieść pliki w odpowiedniej strukturze folderów.
źródło
Oprócz innych odpowiedzi należy rozważyć dwie ważne kwestie:
Zaskakujące niespodzianki
Powiedz, że jestem w połowie gry i odkrywam folder „wideo”. Ciekawe, klikam na jeden i akurat widzę końcową scenkę przerywnikową gry.
Przegrane wyzwanie
Ten sam scenariusz, ale uważam, że zapisany format gry ma wartość „złota”. Zmieniam go z 250 na 999999999 i działa. Nagle twoja starannie spreparowana krzywa trudności, maksymalizująca radość z gry, zniknęła.
Oba mogą spowodować, że ktoś straci zainteresowanie grą, częściowo, jeśli nie całkowicie. Może to skończyć się niższym ogólnym wrażeniem, jak dobra była gra (niesprawiedliwa, ale prawdziwa).
Pomyśl o nich w kategoriach odbiorców docelowych - szczególnie młodsi gracze są podatni na zepsucie własnej zabawy, nie zdając sobie nawet sprawy, że to właśnie robią.
Nawet jeśli chcesz zachęcić do modowania, możesz nadal chcieć chronić użytkowników przed zrujnowaniem własnego doświadczenia z grą „przypadkowo”.
źródło
Być może nieprofesjonalne to niewłaściwe słowo. Naprawdę zależy od gry, czy pozostawienie narażonych plików jest złą rzeczą.
W prostej grze jednoosobowej gracze i moddery pokochają cię. Dajesz im możliwość łatwej zmiany gry i robienia tego, co chcą. I pamiętaj, że zawsze będą modyfikatory do gry, bez względu na to, jak mała jest ta gra. Wielu graczy poczuje się lekceważonych, jeśli modyfikacja jest trudna, w końcu kupili twoją grę i powinni móc robić w niej wszystko, co chcą.
Z drugiej strony, łatwa edycja zasobów gry jest zła dla gry wieloosobowej, ponieważ uważa się ją za oszustwo. Złośliwi gracze mogą zamieniać treści, aby wrogowie byli bardziej zauważalni, ściany przezroczyste itp. Chociaż kod gry powinien naprawdę egzekwować, że zasoby nie zostały zmienione, podejście „pakiet zasobów” ma tę zaletę, że pomaga powstrzymać tę aktywność (bezpieczeństwo poprzez zapomnienie).
źródło
Jest na to łatwa poprawka. Możesz po prostu zmienić nazwę rozszerzeń w wierszu polecenia, używając czegoś podobnego
A następnie umieść je w folderze \ map
Dostęp do wiersza polecenia można uzyskać z systemu Windows z uruchomionym cmd
To nie powstrzyma modderów, którzy wiedzą, że chcą zmodyfikować grę i pozostawi mniej niechlujne wrażenie na ludziach, którzy chcą po prostu grać w tę grę, bez całej zawartości.
Tak, nadal będzie można go edytować. Ludzie będą mniej skłonni to zauważyć.
Aby odpowiedzieć na komentarz Erica Robertsona
Jeśli chcesz poprawnie ukryć zawartość swojej gry przed graczami, możesz użyć szyfrowania RSA w tych plikach tekstowych i scalić je w jeden plik tekstowy, gdy jesteś w tym miejscu. Nie powinno to stanowić większego problemu, chociaż podejrzewam, że jest to o wiele więcej niż przesadzanie.
źródło
Jeśli kiedykolwiek byłby nieprofesjonalny, może już nie być. Wczesne gry wykorzystywały własne formaty pakietów, przede wszystkim w celu zachowania swojej własności intelektualnej (IP).
Można przezwyciężyć niektóre ograniczenia, takie jak fragmentacja i niepotrzebne wywołania funkcji podstawowego systemu plików, pakując wszystkie zasoby do jednego archiwum. To sprawia, że zdarzenia fragmentacji są mniej prawdopodobne podczas wdrażania pakietu na komputerze klienta.
W najgorszym przypadku może dojść do rozproszenia niewielkich pojedynczych zasobów plików wokół sektorów dysku twardego. (Wraz z pojawieniem się dysków SSD ten punkt jest często wywoływany)
Ale wszystkie te korzyści można również uzyskać dzięki bezpłatnemu, unikatowemu
.tar
formatowi archiwum.Dodatkowo, używając własnego formatu pakietu, możesz pokonać ograniczenia, takie jak brak wersjonowania, skrótów plików, kodowania oraz wskaźników / linków w plikach, żeby wymienić tylko kilka.
Podsumowując , opowiadam się za przejrzystością w rozwoju niezależnym, chyba że wyraźnie potrzebujesz ochrony swojego adresu IP.
Co do wspaniałych kwestii podniesionych przez
MGOwen
: Aby zapobiec niespodziankom Spoiling , możesz zmienić nazwę rozszerzenia pliku, zmienić atrybuty pliku, używać nietypowych formatów multimediów, wyciąć nagłówek multimediów i przechowywać go w innym miejscu itp. Aby zapobiec utracie wyzwania, użyj serializacji binarnej program do zapisywania stanu gry, w razie potrzeby z dodatkowym szyfrowaniem i zmiennymi wabiącymi.Oświadczenie: Nie jestem twórcą gier. Postaw ten post tylko jako punkt wyjścia ...
źródło
Łatwo to naprawić, w przeciwnym razie indeksowanie wyszukiwania pozwoli znaleźć finalne filmy itp.
W przypadku plików danych: odwróć bity za pomocą xor
Aby ukryć „Gold: 250” przed GREP.
Wystarczy zakodować przy użyciu tej samej (losowej) wartości xor.
Aby ukryć sceny przed przypadkowymi użytkownikami, spróbuj tego: Machinarium przetłumaczyło nazwy plików, więc \ videos zmieniło się w \ 0101, a wszystkie pliki miały 8-cyfrowy identyfikator, a następnie .101, aby zatrzymać skojarzenia plików.
źródło