Gram w ten gatunek od lat — Game Dev Tycoon, Startup Company, Big Ambitions, linia Devices i Laptop Tycoon — a potem spędziłem osiemnaście miesięcy, budując jedną. Rzeczy, której nie rozumiałem jako gracz, jest to, że ekonomia nie jest miejscem, w którym wstawiasz liczby. Jest miejscem, w którym wstawiasz reguły, których liczbom nie wolno złamać.
Poniżej są prawdziwe prawa z mojej symulacji. Każde jest testem o nazwie czytającej się jak zdanie, i to jest celowe: prawo ekonomiczne zapisane po angielsku przeżywa strojenie, a magiczna liczba w pliku konfiguracyjnym nie.
Najpierw prawa, potem liczby
Każda ekonomia, którą zbudowałem źle, psuła się tak samo: wystroiłem jedną liczbę, potem drugą, potem czterdzieści kolejnych, a sześć tygodni później gra miała inny charakter i żaden pojedynczy commit nie był za to odpowiedzialny. Wszystkie liczby dało się obronić. Po cichu odwróciły się kierunki.
Prawo to stwierdzenie o kierunku, nie o wielkości. Oto moje, w nazwach z zestawu testów:
| Prawo, czyli nazwa jego testu | Czego broni |
|---|---|
PricePerTokenOnlyEverFalls | Zapadka w jedną stronę, na której wisi cała reszta. |
DemandGrowsFastThenFlattens | Boom, który się kończy, więc wczesny sukces nie jest sukcesem na zawsze. |
TheFrontierKeepsClimbingAndNeverWaitsForThePlayer | Świat, który idzie dalej, niezależnie od ciebie. |
CuttingPriceBuysShareAndNothingElseDoes | Dokładnie jedna dźwignia na najważniejszej liczbie. |
ShareIsSplitAgainstRealRivalsAndNeverHandedOver | Zero darmowych klientów, nigdy. |
AModelNobodyReplacesQuietlyStopsBeingChosen | Nic, co wydałeś, nie zostaje dobre. |
ScarcityPeaksInTheShortageAndEasesAfterwards | Wstrząsy, które przychodzą i mijają. |
ASubscriptionLeftAloneDriftsIntoOverchargingAndThatIsAStory | Stanie w miejscu musi coś kosztować. |
TheMarketNeverBreaksOverFourteenYears | Krańce, czyli miejsce, gdzie kumulujące się liczby naprawdę się psują. |
Przeczytaj drugą kolumnę jeszcze raz jak dokument projektowy, bo nim jest. Długo mi zajęło zauważenie, że moje najjaśniejsze stwierdzenie, czym jest ta gra, leży w pliku z testami.
Najlepsza mechanika, jaką mam, to liczba, której gracz nigdy nie dotyka
Jeśli masz zabrać z tego artykułu jedną rzecz, zabierz tę. To najtańsza ciekawa mechanika, jaką kiedykolwiek zbudowałem, i jest zrobiona w całości z prawa, które już wcześniej napisałem.
Układ: rynkowa cena rzeczy, którą sprzedaje mój gracz, spada w czasie — to prawo pierwsze i jest prawdziwe o prawdziwej branży, o której jest ta gra. Gracz wybiera model cenowy wcześnie, a abonament jest wyborem oczywistym, bo jest stabilny. Ustawia go, działa, zamyka ekran.
Rok później jego opłata nie drgnęła, a cena rynkowa spadła o połowę. Teraz liczy sobie dwa razy stawkę rynkową, nie zrobiwszy absolutnie nic. Test mówi to arytmetyką:
A potem asercja, która tłumaczy, dlaczego to jest mechanika, a nie szczegół symulacji. Komunikat to coś, co przeczytałbyś, gdyby kiedyś oblała:
Ogólna reguła, która się tam kryje
Ekran jest ciekawy tylko wtedy, gdy podjęta na nim decyzja może sama stać się zła. Nie przez licznik, nie przez zdarzenie, które w ciebie strzela, tylko dlatego, że świat się ruszył, a twój wybór został tam, gdzie go zostawiłeś.
To przestawia zwykłą skargę, że gra menedżerska „nudzi się po godzinie". Rzadko brakuje jej zawartości. Brakuje jej rozpadu: powodu, żeby gracz wrócił do decyzji, którą uważa już za zamkniętą.
Przeciwwaga waży tyle samo. Rozliczanie za zużycie podąża za rynkiem w dół, więc nigdy nie dryfuje — a test mówi, dlaczego to jedyny powód, żeby je wybrać:
To jest prawdziwy kompromis, a nie lepsza opcja: abonament płaci więcej, dopóki uważasz, i karze, gdy przestajesz; rozliczenie za zużycie płaci mniej i nigdy nie gryzie. Gracz potrafi wytłumaczyć oba jednym zdaniem, a to jest poprzeczka, którą w tym gatunku powinien przechodzić każdy wybór ekonomiczny.
Jedna dźwignia rusza udziałem i tylko jedna
Udział w rynku to liczba, na którą gracze patrzą, co czyni ją liczbą najbardziej narażoną na to, że stanie się niezrozumiała. Jeśli cztery systemy nią szarpią, nikt nie prześledzi, dlaczego się ruszyła, a gra menedżerska, w której centralna liczba rusza się z powodów nie do prześledzenia, jest automatem do gry z arkuszami.
Moja ma więc dokładnie jedną dźwignię, nazwaną tak prosto, jak umiałem:
Prawem towarzyszącym jest to, o którym się zapomina, a stanowi różnicę między ekonomią
a tablicą wyników: ShareIsSplitAgainstRealRivalsAndNeverHandedOver. Nie ma stanu,
w którym rynek po prostu daje graczowi klientów. Nawet dominująca firma napotyka asercję, że
rywale zatrzymują część rynku, bo ekonomia, w której konkurenci przestają konkurować, to
ekonomia, która po cichu się skończyła — a gracz poczuje to długo przed tym, zanim
będzie umiał to nazwać.
Świat nie może czekać na gracza
Większość gier tycoon jest tu hojna i kosztuje je to całe napięcie. Jeśli konkurencja skaluje się do twoich postępów, nic, co robisz, nie jest pilne, bo dystans jest stały z definicji.
Moja stawia tezę przeciwną jako prawo:
TheFrontierKeepsClimbingAndNeverWaitsForThePlayer. Najlepsza rzecz na świecie
poprawia się według własnego harmonogramu. Zostań w tyle na dwa lata gry, a jesteś w tyle,
a nie przyciągnięty gumką z powrotem.
Brzmi surowo i potrzebuje przeciwwagi, którą jest przedział balansu z artykułu o testach grywalności: zwyczajny gracz musi i tak skończyć cztery lata w zasięgu czołówki. Te dwa testy są sprzeczne celowo. Jeden mówi, że świat nie czeka; drugi, że grę mimo to da się wygrać. Balans jest odległością między nimi, a zapisanie obu jest tym, co powstrzymuje cię przed przypadkowym zmiękczeniem pierwszego przy próbie zadowolenia drugiego.
Dwa prawa, od których długa gra robi się żywa
DemandGrowsFastThenFlattens daje ekonomii boom z końcem, więc firma,
która wjechała na wczesną falę, nie może się na niej wieźć. Wzrost, który nigdy się nie
wypłaszcza, to gra nagradzająca dobry start i potem przestająca o cokolwiek pytać.
ScarcityPeaksInTheShortageAndEasesAfterwards czyni wstrząsy
tymczasowymi. Niedobór, który nigdy nie mija, jest po prostu trwałą zmianą ceny
w przebraniu i gracze właśnie tak go czytają.
Nic, co wydałeś, nie zostaje dobre
AModelNobodyReplacesQuietlyStopsBeingChosen to prawo, które dodałbym jako
pierwsze do cudzej gry tycoon, bo brakuje go w prawie każdej.
Powszechny projekt każe ci zbudować produkt, a ten produkt zarabia już zawsze. Czyni to pierwsze godziny satysfakcjonującymi, a późniejsze pustymi, bo optymalną strategią staje się gromadzenie: nigdy nic nie wycofuj, niech sterta rośnie. Starzenie się jest tym, co zamienia stertę w portfel, którym trzeba zarządzać.
Zwróć uwagę na słowo quietly w nazwie testu. Produkt nie jest kasowany, nie wygasa, nie odpala się żadne powiadomienie. Klienci po prostu przestają go wybierać, bo rynek się ruszył, a on nie. Gracz odkrywa to, patrząc — czyli zachowaniem, które w tym gatunku chcesz nagradzać.
Dowód, że ekonomia nie rozpada się w czternastym roku
Kumulujące się liczby psują się na krańcach. Ekonomia zachowująca się pięknie przez cztery lata potrafi w dziewiątym dać ujemną cenę, nieskończony popyt albo martwy rynek, a wśród twoich graczy jest ktoś, kto tam dojdzie.
| Test | Czego nie dopuszcza |
|---|---|
TheMarketNeverBreaksOverFourteenYears | Żadnej wartości wchodzącej w niemożliwe na dalekim krańcu krzywej. |
SomebodyIsActuallyServingTheMarketThroughout | Rynku, który technicznie istnieje, a nikogo na nim nie ma. |
EveryModelTypeIsSomethingSomebodyEventuallyBuilds | Zawartości osiągalnej na papierze i wybieranej przez nikogo. |
TheServedMarketChangesShapeOverAWholeGame | Rynku o tym samym kształcie w roku dziesiątym co w pierwszym. |
Ten drugi jest subtelniejszy, niż wygląda. „Ktoś obsługuje rynek" w ogóle nie dotyczy gracza — sprawdza, że symulowany świat pozostaje zaludniony. Ekonomia, w której rywale po cichu wymierają, jest technicznie stabilna i kompletnie martwa, a wydać ją bardzo łatwo, bo nic nie zgłasza błędu.
Trzeci to moja ulubiona porządkowa rzecz w całym zestawie. Przechodzi zawartość i sprawdza, że każdy typ produktu jest czymś, co ktoś w świecie w końcu buduje. Zawartość, która istnieje, ale nigdy nie zostaje wybrana, to ekonomiczna wersja nieosiągalnej funkcji: skończona, poprawna i niewidzialna.
Ile realizmu i gdzie się zatrzymać
Moja gra dotyczy branży z prawdziwą, publikowaną ekonomią, więc pokusa, żeby modelować wszystko, była silna, a uleganie jej było błędem, który popełniłem dwa razy.
Reguła, przy której zostałem: kierunki mają być uczciwe, wielkości mają być czytelne. Cena spadająca w czasie jest prawdą o rzeczy prawdziwej i gra bez tego byłaby fałszywa. Dokładny kształt tego spadku istnieje po to, żeby decyzja dała się odczytać, a nie żeby pasować do wykresu.
Sprawdzianem jest to, czy gracz potrafi wytłumaczyć jednym zdaniem, co mu się stało. „Trzymałem opłatę abonamentową, podczas gdy rynek spadł o połowę, więc liczyłem dwa razy za dużo i klienci odeszli" jest zdaniem. Jeśli uczciwy model daje wynik, którego nikt nie umie opowiedzieć, model ma rację, a gra jest zła — a to grę robisz.
Kiedy nic z tego nie dotyczy ciebie
Jeśli twoja ekonomia to sklep z kilkoma ulepszeniami albo pieniądze istnieją wyłącznie po to, żeby dawkować zawartość, którą ułożyłeś ręcznie, to przerost formy. Te prawa zarabiają na siebie wtedy, gdy ekonomia jest grą — gdy gracz spędza godziny na decyzjach liczbowych i oczekuje, że będą się sumować.
Uczciwy sygnał, że ich potrzebujesz: stroiłeś tę samą stałą więcej niż trzy razy i nie umiesz powiedzieć, jak gra ma się czuć w piątej godzinie.
Kolejność, w której napisałbym je ponownie
- Jedna zapadka. Wybierz jedną liczbę, która rusza się tylko w jedną stronę, i zbuduj wokół niej resztę. U mnie to spadająca cena jednostkowa.
- Jedna dźwignia na głównej liczbie. Cokolwiek gracz obserwuje najczęściej, rusza tym dokładnie jedna rzecz, a ta rzecz jest nazwana w teście.
- Jeden rozpad. Coś rozsądnego musi stać się nierozsądne, gdy gracz nie patrzy. To jest mechanika, a nie matematyka.
- Zero darmowych klientów. Udział jest zawsze sporny, także wtedy, gdy gracz wygrywa.
- Przebieg daleko poza kampanię. U mnie czternaście lat; u ciebie tyle, ile podwaja najdłuższą realną rozgrywkę.
Pytania, które ludzie zadają
Jak zaprojektować ekonomię gry tycoon?
Najpierw prawa, potem liczby. Ekonomia to mały zestaw stwierdzeń o tym, w którą stronę rzeczy wolno się ruszać: cena jednostkowa tylko spada, popyt rośnie szybko i się wypłaszcza, czołówka pnie się w górę niezależnie od gracza. Każde to zdanie egzekwowalne testem, więc nie odwróci się po cichu w miesiącach strojenia. Liczby stroisz potem; prawa powstrzymują strojenie przed zrobieniem innej gry.
Dlaczego moja gra tycoon nudzi się po pierwszej godzinie?
Zwykle dlatego, że stanie w miejscu przestało cokolwiek kosztować. Jeśli decyzja z pierwszej godziny nadal jest poprawna w piątej, ekran, na którym ją podjęto, jest ekranem, którego nikt już nie otworzy — a gra menedżerska to w większości ekrany. Lekarstwem rzadko jest więcej zawartości, tylko rozpad: rozsądny wybór ma stać się nierozsądny przez ruch świata, a nie przez odpalenie licznika.
Czy udział w rynku powinien być czymś, co gracz kupuje ceną?
Jedna dźwignia powinna nim ruszać, a reszta nie, inaczej udział dryfuje z powodów nie do prześledzenia. U mnie obniżka ceny kupuje udział i nic innego tego nie robi, i tak nazywa się test. Równie ważne: udział jest dzielony przeciw prawdziwym rywalom i nigdy nie jest oddawany, bo ekonomia, w której konkurenci przestają konkurować, po cichu się skończyła.
Jak nie dopuścić do rozpadu ekonomii późno w długiej grze?
Uruchom ją daleko poza miejsce, do którego dotrze gracz, i sprawdź, że nadal jest sensowna. Moja krokuje rynek przez czternaście lat i sprawdza też, że ktoś przez cały czas go obsługuje. Kumulujące się liczby psują się na krańcach, a kampania testowana tylko do czterech lat w końcu spotka gracza, który dojdzie do roku szóstego.
Ile realizmu ekonomicznego potrzebuje gra tycoon?
Tyle, żeby kierunki były uczciwe, i ani trochę więcej. Wielkości istnieją po to, żeby decyzje dało się odczytać. Sprawdzian: czy gracz potrafi wytłumaczyć jednym zdaniem, co mu się stało. Jeśli uczciwy model daje wynik, którego nikt nie umie opowiedzieć, model ma rację, a gra jest zła.
MarketModelTests.cs, BusinessPricingTests.cs i
MarketDriftTests.cs, podlinkowanych w źródłach.