Poradnik TTS: najważniejsze wskazówki
To, co oszczędzi Ci najwięcej nerwów przy budowaniu gry w Tabletop Simulator.
Nazwy menu podaję po angielsku, tak jak w grze. W różnych wersjach TTS i w różnych poradnikach menu z publikacją i chmurą nazywa się Modding albo Upload. Chodzi o to samo miejsce na górnym pasku.
15 zasad, które ratują projekt
- Grafiki importuj zawsze jako Cloud, nigdy Local. Pliki Local widzisz tylko Ty. Na playteście inni gracze zobaczą puste obiekty.
- Zapisuj często i rób kopie przed każdą dużą zmianą. Jeden zepsuty zapis może kosztować tydzień pracy.
- Obrazy zapisuj w RGB, nie w CMYK. CMYK w TTS nie działa. Maksymalny rozmiar to 4096 × 4096 px.
- Przed każdym playtestem sprawdź grę na cudzym komputerze. To, że działa u Ciebie, niczego nie dowodzi.
- Zablokuj planszę i elementy, które nie powinny się ruszać (Lock). Inaczej pierwsze kliknięcie testera przesunie Ci cały stół.
2Sterowanie: minimum na start
| Akcja | Jak |
|---|---|
| Podnieś / upuść obiekt | lewy przycisk myszy |
| Menu obiektu (blokada, nazwa, kolor…) | prawy przycisk myszy na obiekcie |
| Odwróć obiekt (np. kartę) | F albo środkowy przycisk |
| Obróć trzymany obiekt | Q / E |
| Powiększ kartę pod kursorem | przytrzymaj Alt |
| Przybliż w miejsce kursora | Z (drugie naciśnięcie oddala) |
| Dobierz kilka kart z talii | najedź na talię i wpisz cyfrę (np. 3) |
| Potasuj talię | R nad talią |
| Zgrupuj obiekty | G |
| Skaluj obiekt | przytrzymaj + albo – nad obiektem |
| Zaznacz kilka obiektów | przeciągnij lewym przyciskiem po pustym stole |
| Wyśrodkuj kamerę | Spacja |
| Tryb kamery (3. osoba / 1. osoba / z góry) | P |
Pełną listę skrótów znajdziesz w menu Help w grze.
3Własne elementy gry
Wszystkie własne elementy dodajesz z menu Objects → Components → Custom. Do wyboru są m.in.:
| Element | Do czego |
|---|---|
| Board | plansza; jej rozmiar wynika z proporcji obrazu, domyślnie jest zablokowana |
| Deck | talia kart z jednego arkusza obrazów |
| Tile | kafelki, płytki, karty postaci |
| Token | żetony (kształt brany z przezroczystości PNG) |
| Dice | własne kości |
| Figurine | płaska figurka na podstawce |
| Model | model 3D w formacie OBJ |
Talia kart
- Karty układasz na jednym arkuszu w siatce, np. 10 × 7. Arkusz zrobisz z szablonu (folder TTS w Steam:
Modding\Deck Templates) albo we wbudowanym Deck Builderze. - Ostatnie pole arkusza to obraz „ukrytej karty”, czyli to, co widzą inni, gdy karta jest w czyjejś ręce. Nie wstawiaj tam karty z gry.
- Unique Backs: zaznacz, jeśli każda karta ma mieć inny rewers.
- W ustawieniach talii podajesz szerokość, wysokość i liczbę kart na arkuszu. Jeśli liczby się nie zgadzają, karty będą przesunięte.
Modele 3D
- Tylko format OBJ.
- Poniżej 25 000 wierzchołków, bo większe modele mogą się nie wczytać albo wysypać grę.
- Collider (bryła kolizji) poniżej 256 trójkątów.
- Krótko: model ma być prosty. Gra planszowa nie potrzebuje rzeźby.
4Obrazy: wymagania
| Zasada | Dlaczego |
|---|---|
| PNG albo JPG, tryb RGB | CMYK nie działa |
| najwyżej 4096 × 4096 px | większe obrazy sprawiają problemy |
| najlepiej boki będące potęgą dwójki (512, 1024, 2048, 4096) | TTS i tak je przeskaluje, a robi to gorzej niż program graficzny; czarne tekstury też często wynikają z „krzywych” wymiarów |
| PNG z przezroczystością dla żetonów | z niej powstaje kształt żetonu |
5Hosting grafik: Cloud zamiast Local
Przy każdym imporcie obrazu TTS pyta, gdzie ma go trzymać:
- Local: plik na Twoim dysku. Inni gracze go nie widzą. Nadaje się tylko do prób w pojedynkę.
- Cloud: plik w chmurze Steam, przypisany do Twojego konta (100 GB miejsca). Widzą go wszyscy i nie znika.
Cloud Manager (menu Modding / Upload) pokazuje wszystkie Twoje pliki w chmurze. Przycisk Upload All przenosi do chmury wszystkie pliki lokalne naraz. Po Upload All od razu zapisz grę, bo stare zapisy nadal wskazują na pliki lokalne.
6Gotowy stół: narzędzia
Blokada (Lock). Prawy przycisk na obiekcie → Toggles → Lock. Zablokuj planszę, tory punktacji i wszystko, co ma stać w miejscu.
Punkty przyciągania (Snap Point Tool)
Miejsca, do których „przyciągają się” upuszczone obiekty, np. pola na planszy.
- Kliknięcie na stole tworzy punkt na stole.
- Kliknięcie na zablokowanym obiekcie (np. planszy) tworzy punkt na nim. Gdy później przesuniesz planszę, punkty pojadą razem z nią.
- Rotation Snap dodatkowo obraca obiekt w ustalonym kierunku, np. kartę zawsze pionowo.
Strefy (Zone Tools)
| Strefa | Co robi | Przykład użycia |
|---|---|---|
| Hand Zone | ręka gracza i jego miejsce przy stole | karty na ręce, ukryte przed innymi |
| Hidden Zone | ukrywa zawartość przed wybranymi graczami | zakryta pula, tajna informacja |
| Randomize Zone | tasuje to, co w niej leży (przy wczytaniu albo po zaznaczeniu) | losowy układ kafelków |
| Layout Zone | sama układa upuszczone karty w porządku | rynek kart, rząd ofert |
| Fog of War Zone | zakrywa obszar, odsłaniany przez wybrane pionki | mgła wojny, eksploracja mapy |
| Scripting Zone | sama nic nie robi, ale skrypt wykrywa, co w niej leży | liczenie punktów skryptem |
Siatka (Grid)
Pola planszy jako siatka, do której przyciągają się obiekty. Plansze domyślnie ją przyjmują.
7Instrukcja na stole
Instrukcja ma leżeć na stole (to wymaganie projektu). Najwygodniej zrobić z niej książkę ze stanów (States):
- Każdą stronę instrukcji zaimportuj jako osobny obiekt, np. Tile.
- Ułóż strony w rzędzie i zaznacz je w kolejności stron.
- Prawy przycisk na pierwszej stronie → Create States.
- Powstaje jeden obiekt. Gracz zmienia strony klawiszami cyfr (1, 2, 3…), trzymając nad nim kursor.
Dodatkowo możesz wkleić zasady do Notebooka, w zakładce Rules, która otwiera się pierwsza po wczytaniu gry. To dodatek, a nie zamiennik instrukcji na stole.
Jak napisać samą instrukcję, pokazuje wykład 5.
8Tury i ręce graczy
- Options → Turns: wbudowany system tur. Pokazuje, czyja kolej, pozwala ustalić kolejność, a opcja Disable Interactions blokuje graczom ruchy poza ich turą.
- Options → Hands: ustawienia stref rąk, np. Disable Unused wyłącza ręce na pustych miejscach.
Wbudowany system tur i Randomize Zone działają bez programowania. Samo ich włączenie nie liczy się jako rozszerzenie S3 albo S5. Rozszerzenie skryptowe to coś, czego TTS nie robi sam, np. fazy tury prowadzone skryptem albo losowe zdarzenia z własnej logiki.
9Zapisywanie i wersje
- Zapis: Games → Save & Load → Create, nadaj nazwę, Save.
- Nazywaj zapisy z wersją:
NazwaGry_v0.5_playtest,NazwaGry_v1.0. - Przed każdą dużą zmianą (nowe zasady, import wielu grafik, skrypt) zrób nowy zapis zamiast nadpisywać stary.
- Pojedynczy obiekt możesz zapisać do Chest (prawy przycisk → Save to Chest) i używać go w innych zapisach.
10Publikacja w Steam Workshop
- Wczytaj gotowy, rozstawiony stół.
- Menu Modding / Upload → Workshop Upload.
- Wpisz tytuł i opis. W opisie podaj, o czym jest gra, dla ilu graczy, ile trwa partia i jak się wygrywa.
- Miniatura jest obowiązkowa, bez niej publikacja się nie uda. Przy wyborze pliku wybierz Cloud.
- W opcjach zaznacz tylko te typy gry i liczby graczy, które naprawdę pasują.
- Upload. Zapisz 9-cyfrowe ID z okienka sukcesu, bo będzie potrzebne do aktualizacji.
- Nowa pozycja jest ukryta. Na Steam: Your Workshop Files → Change Visibility → Public (albo Unlisted na próbę).
- Dodaj na stronie Workshop zrzuty ekranu.
Aktualizacja: to samo menu, zakładka Update Workshop, wklejasz ID. Żeby zobaczyć swoją grę na liście aktualizacji, musisz ją subskrybować. Aktualizować może tylko autor.
Porządek w plikach i lista kontrolna przed wydaniem: wykład 7.
11Skrypty Lua (rozszerzenia S1–S5)
- Dokumentacja: api.tabletopsimulator.com. TTS używa Lua 5.2 z ograniczonym zestawem bibliotek.
- Skrypt może należeć do całego stołu (Global) albo do konkretnego obiektu.
- Błędy skryptów pojawiają się na czacie gry. Patrz tam najpierw.
- Ucz się z cudzych modów: skrypty zapisują się razem z grą. Zasubskrybuj grę z Workshop, która robi coś podobnego, i przeczytaj jej kod w edytorze skryptów.
- Zasada bezpieczeństwa: gra musi dać się rozegrać także ręcznie. Jeśli skrypt się wysypie na playteście, gracze dokończą partię bez niego.
- Edytor: wbudowany w TTS albo VS Code z wtyczką społeczności (film: Tabletop Simulator and VS Code).
12Checklista przed playtestem
Odhaczenia zapamiętuje Twoja przeglądarka, nikt poza Tobą ich nie widzi.
13Gdy coś nie działa
| Problem | Co zrobić |
|---|---|
| Inni nie widzą moich grafik | importowane jako Local: przenieś do chmury (Upload All w Cloud Managerze) i zapisz grę |
| Czarne tekstury | użyj wymiarów będących potęgą dwójki (1024, 2048, 4096) i trybu RGB |
| Karty w talii są przesunięte | sprawdź szerokość, wysokość i liczbę kart w ustawieniach talii |
| Gra nie chce się wysłać do Workshop | zapisz grę, uruchom TTS ponownie, spróbuj jeszcze raz; sprawdź, czy dodałeś miniaturę |
| Model 3D się nie wczytuje albo gra się wysypuje | za dużo wierzchołków (limit 25 000) albo za złożony collider |
| Błąd „Could Not Open File” | w ustawieniach tymczasowo wyłącz Mod Caching |