Mody: najlepsze mody i jak je zainstalować Guide
Mody to pakiety tworzone przez użytkowników, które modyfikują lub rozszerzają shapez 2 — od prostych usprawnień wygody po nowe maszyny, funkcje rozgrywki, tłumaczenia lub niestandardowe scenariusze. Gra natywnie obsługuje mody i ma zdefiniowaną strukturę folderów, dzięki czemu mody można łatwo instalować, tworzyć i udostępniać.
Gdzie umieścić mody i dane trwałe
- Gra przechowuje dane trwałe (w tym mody, niestandardowe scenariusze, presety i eksportowane dane bazy) wewnątrz Folderu Danych Gry (znanego także jako Game Data lub folder zapisu/gry).
- Ścieżki:
- Windows: %USERPROFILE%\AppData\LocalLow\tobspr Games\shapez 2\
- MacOS: ~/Library/Application Support/tobspr Games/shapez 2/
- Linux: ~/.config/unity3d/tobspr Games\shapez 2/
- Otwórz folder z poziomu gry:
- Menu główne → Play → Show Folder, następnie przejdź do folderu nadrzędnego.
- W grze → Blueprint Library → Open Folder, następnie przejdź do folderu nadrzędnego.
- Polecenia Debug Console: logs.open-folder lub savegames.open-folder (uwaga: MacOS używa Player.log dla niektórych logów).
Układ folderu mods i instalacja
- Folder mods wewnątrz Folderu Danych Gry to miejsce, gdzie umieszczasz mody, aby gra załadowała je lokalnie.
- Każdy mod to podfolder wewnątrz folderu mods. Gra załaduje każdy podfolder jako oddzielny mod.
- Mody z Steam Workshop są obsługiwane i będą pobierane automatycznie po subskrypcji przez Workshop.
Zasoby modderskie i narzędzia
- Oficjalne i społecznościowe zasoby:
- Oficjalna dokumentacja modowania oraz wytyczne dotyczące grafiki/assetów dostarczone przez dewelopera.
- Przykładowe mody i repozytoria Shapez Shifter (modding API) dostępne na GitHub.
- Nieoficjalna dokumentacja społeczności uzupełniająca oficjalne materiały.
- Przydatne dokumentacje narzędzi stron trzecich: MonoMod RuntimeDetour i HarmonyX do runtime detouringu i patchowania.
- Gra używa Unity (konkretna wersja Unity podana jest w dokumentacji) i modding API (ShapezShifter), aby uprościć integrację; nie jest wymagany zewnętrzny loader modów.
- Referencje do assembly i klas są dostępne dla głębszego rozwoju i debugowania.
Tworzenie i eksportowanie danych gry do wykorzystania w modzie
- Gra może eksportować swoje wewnętrzne dane (zawartość podstawowa jak encje, scenariusze, presety) do ponownego użycia lub referencji:
- W grze otwórz debug console (F1) i uruchom debug.export-game-data.
- To tworzy folder o nazwie basedata-
wewnątrz Folderu Danych Gry. Użyj plików tam jako szablonów dla niestandardowych treści JSON.
Niestandardowe scenariusze, presety i trudności
- Niestandardowe scenariusze:
- Umieść pliki JSON scenariuszy w folderze custom-scenarios w Folderze Danych Gry, aby gra je załadowała.
- Eksportowane pliki scenariuszy z gry znajdują się w folderze scenarios w eksporotwanym folderze basedata.
- Niestandardowe presety scenariuszy:
- Umieść pliki JSON niestandardowych presetów parametrów scenariusza w custom-scenario-parameter-presets w Folderze Danych Gry.
- W grze presety scenariusza znajdują się wewnątrz folderu scenario-parameter-presets w eksportowanych folderach basedata.
- Podczas wybierania Scenariusza, pierwszym Presetem Scenariusza na wewnętrznej liście, który wskazuje ten Scenariusz, jest preset wybrany jako domyślny.
- Niestandardowe presety trudności:
- Gra obecnie nie obsługuje bezpośredniego ładowania niestandardowych presetów trudności jako plików JSON. Nadal możesz jednak przejrzeć wbudowane presety trudności w folderze difficulty-presets eksportowanego folderu basedata.
Niestandardowe tłumaczenia
- Aby załadować niestandardowe tłumaczenia, stwórz plik translations-override.json w tym samym formacie co translations-en-US.json i umieść go tam, gdzie gra go oczekuje.
- Uruchom grę z argumentem wiersza poleceń --custom-translations, aby załadować plik override.
- LanguageTitle wewnątrz pliku jest ignorowany; język pojawi się jako "Custom" w ustawieniach języka. Brakujące klucze domyślnie korzystają z angielskiego.
Przepływ pracy przy tworzeniu i debugowaniu
- Typowy przepływ pracy:
- Eksportuj bazowe dane gry, aby użyć istniejących JSON jako szablonów.
- Stwórz podfolder moda z assetami, kodem i definicjami JSON zgodnie z dokumentacją i wytycznymi artystycznymi.
- Użyj modding API (ShapezShifter) lub bibliotek do runtime patchingu, jeśli potrzebujesz zmienić zachowanie kodu.
- Testuj lokalnie, umieszczając folder moda w katalogu mods i uruchamiając grę.
- Debug Console jest dostępny w grze dla poleceń i rozwiązywania problemów.
- Dokumentacja dotycząca debugowania i runtime patchingu oraz przykłady społeczności (przykładowe mody) są zalecanymi odniesieniami.
Publikowanie i udostępnianie modów
- Steam Workshop:
- Mody można publikować do Steam Workshop w celu automatycznej dystrybucji.
- Udostępnianie w społeczności:
- Udostępnianie blueprintów i treści odbywa się również poprzez stronę Community Vortex oraz oficjalne Discord (#🛠blueprints).
- Przestrzegaj wytycznych gry dotyczących publikowania modów i assetów, aby uniknąć konfliktów i uszkodzonych zasobów.
Tematy i zaawansowane rozważania
- Istotne tematy modderskie omówione w dokumentacji:
- Modding Overview, Development Environment, Mod Loading, Debugging, Mod Publishing, Command Line Arguments, Game Files, Custom Game Modes, Debug Console.
- Używaj dostarczonych przykładowych modów i referencji API, aby poznać wzorce i najlepsze praktyki.
- Przy modyfikowaniu lub dodawaniu treści w formacie JSON (scenariusze, presety, tłumaczenia) upewnij się, że nazwy plików i lokalizacje odpowiadają oczekiwanym folderom opisanym powyżej, aby gra je rozpoznała.
Szybka lista kontrolna dla rozpoczęcia
- Eksportuj dane bazowe: otwórz debug console → debug.export-game-data.
- Stwórz folder moda wewnątrz Game Data Folder/mods/ i dodaj swoją zawartość.
- Dla niestandardowych scenariuszy lub presetów włóż JSON-y odpowiednio do custom-scenarios lub custom-scenario-parameter-presets.
- Dla tłumaczeń stwórz translations-override.json i uruchom grę z --custom-translations.
- Subskrybuj/publikuj na Steam Workshop, aby udostępniać lub otrzymywać mody.
- Konsultuj oficjalną dokumentację modowania, przykładowe mody i ShapezShifter w celu przykładów kodu i użycia API.