Blog:Symulowanie wszystkich mieszkańców w city-builderach to błąd?

Symulowanie wszystkich mieszkańców w city-builderach to błąd?
11 czerwca 2025 | Kenex


Każdy mieszkaniec prowadzi własne życie! Podejmuje samodzielne decyzje w oparciu o swoją sytuację życiową, zarządza swoim budżetem i ścieżką kariery!

Na papierze brzmi świetnie, ale w praktyce to uczyniło grę Cities:Skylines 2 strasznie chaotyczną, trudną do naprawienia i bardzo wymagającą dla komputera. Takie podejście do city-builderów mogło być błędem.

Fajna może być świadomość, że pod makietą miasta kryją się setki tysięcy "agentów" (mieszkańców), które podejmują własne decyzje i w ten sposób kształtują sytuację miasta. Jeśli jakaś firma zbankrutuje, agent staje sie bezrobotny, a brak wypłaty skutkuje brakiem pieniędzy na zakupy. Gdy dużo ludzi w okolicy straci pracę, będzie to zła wiadomość także dla pobliskich sklepów, bo klienci mniej kupią.

Problem w tym, że taki system uczynił grę okropnie chaotyczną i ciężką do zbalansowania. Gdy autorzy opublikują kolejny patch, który naprawia coś w symulacji, zaraz okazuje się, że inna rzecz się zepsuła. Gdyby gra obliczała rzeczy ogólnie, na poziomie budynków i dzielnic, naprawienie symulacji byłoby o niebo łatwiejsze niż zmienianie parametrów agentów i liczenie, że tym razem wszystko złoży się w poprawną całość.

Gdyby gra nie traciła tyle zasobów na agentów, moc obliczeniową można by przekierować na inne elementy. Na przykład by uczynić ruch drogowy znacznie mądrzejszym. Serio szlak mnie trafia, gdy w kolejnym odcinku drogi coś się z zepsuje i ruch zacznie się zatykać.

W dodatku chaotyczne podejście z agentami sprawia, że nawet twórcom pewne rzeczy trudno przewidzieć, co widać po tym, że gra zazwyczaj nie jest w stanie zakomunikować, co się dzieje i dlaczego. Gdy zaobserwuję jakąś nieprawidłowość, mogę tylko zgadywać, czy odpowiada za nią mój błąd (jaki?) czy bug symulacji.

Mam wrażenie, że gdyby odpuścić symulowanie każdego mieszkańca z osobna, można by zyskać bardzo wiele. Interfejs mógłby znacznie lepiej komunikować, co się dzieje, bo twórcy sami by decydowali, co się może stać i kiedy. Zamiast zgadywać, na co złożyły się decyzje głupkowatych ludzików, można by zaprogramować ogólne zależności z nauk społecznych, zwiększając tym samym realizm (w prawdziwym życiu ludzie nie są agentami).

Jeśli twórcom zależy na mieście, które żyje, zamiast robić spam agentami, lepiej niech zadbają o dużą ilość animacji. Gdy będziemy widzieć ludzi rozmawiających na ulicach, ćwiczących w parku, żebrzących przy ulicy, wypoczywających na balkonie, to znacznie łatwiej uwierzymy, że miasto żyje. A nie wtedy, gdy sterylna makieta robi tony obliczeń pod stołem, czego gracz i tak nie widzi.

W 2023 roku napisałem dość optymistyczny tekst, w którym prognozowałem, że CS2 będzie w przyszłości najlepszym city-bulderem w historii. Od premiery minęło jednak 1,5 roku, a gra nadal jest w niezbyt dobrym stanie. Coraz więcej sfrustrowanych graczy uważa, że winę ponoszą błędy w fundamentach projektu gry. Jako jeden z nich wskazuje się podejście agentowe dla symulacji. Więcej można poczytać po angielsku w tym wątku na Paradox Forum, szczególnie w tym poście. Dlatego też twórca konkurencyjnego Citystate Metropolis zapowiedział, że on nie chce iść w symulowanie każdego mieszkańca, a zamiast tego symulacja będzie na poziomie budynków. Jako zalety tego rozwiązania wskazuje uniknięcie mikrozarządczego piekła z jego strony oraz symulowanie milionowego miasta bez drastycznego spadku wydajności.

Zobacz też

MiauBlog:

MruczekWiki: