Widziałem, że symetria i spójność są ważne w projektowaniu poziomów RTS, ale jestem leniwy i chcę robić poziomy generowane proceduralnie.
Jak mogę się upewnić, że generuję równe szanse podczas proceduralnego tworzenia poziomów dla RTS?
Widziałem, że symetria i spójność są ważne w projektowaniu poziomów RTS, ale jestem leniwy i chcę robić poziomy generowane proceduralnie.
Jak mogę się upewnić, że generuję równe szanse podczas proceduralnego tworzenia poziomów dla RTS?
Odpowiedzi:
Osobiście uważam, że symetria w projektowaniu poziomów jest nudna i nie sądzę, że jest to konieczne, aby była potrzebna na uczciwych poziomach; symetria to sposób na zapewnienie wszystkim dostępu do tych samych zasobów i tych samych wąskich gardeł dzięki temu, że poziom dosłownie jest odzwierciedlony dla każdego gracza w pewien sposób. Myślę, że ważną częścią jest dostęp (w przybliżeniu) do tych samych zalet i wad. Nie tyle sama symetria.
Myślę też, że gra zrównoważona tak, że wszystkie strony mają taką samą moc i równoważne możliwości, jest nudna. Oczywiście nie chcesz całkowitej nierównowagi tych czynników, ale myślę, że może to stworzyć interesującą dynamikę gry, oferując każdej ze stron nieco różne możliwości i blokady dróg.
To jest rodzaj kontekstu projektowego, który myślę jako określenie rzeczywistej odpowiedzi na pytanie:
Jeśli symetria naprawdę ma dla ciebie znaczenie, możesz po prostu proceduralnie wygenerować kawałek poziomu, a następnie wykonać kopię lustrzaną tego poziomu w obu osiach. Fragment, który generujesz, to w zasadzie jedna czwarta poziomu, i odzwierciedlasz go, więc każda ćwiartka jest taka sama. Na przykład proceduralna mapa wysokości z losowo rozproszonymi depozytami zasobów:
Ale jak powiedziałem powyżej, wydaje się to nudne. Bardziej interesującym podejściem może być generowanie proceduralnie całego terenu, ale umieszczając zasoby, pamiętaj o ograniczeniu każdej ćwiartki do takiej samej liczby (w ramach pewnej tolerancji, aby zapewnić pewną zmienność). Możesz chcieć przesunąć rozmieszczenie różnych typów zasobów w różnych obszarach (losowo, w pobliżu punktów początkowych, w pobliżu granic) w zależności od znaczenia zasobów. Na przykład:
Możesz przeprowadzić analizę wygenerowanego obrazu, aby spróbować znaleźć krawędzie elementów - na przykład wąskie kaniony, które można uznać za wąskie gardła. Możesz zdecydować się na przerzucenie generowania terenu dla części mapy, jeśli na przykład ma on znacznie więcej lub mniej wąskich gardeł lub podobnie wykrywalne elementy terenu niż inne. Możesz także przeprowadzić podobną analizę terenu, aby upewnić się, że każdy umieszczony zasób jest w pewien sposób osiągalny.
Na przykład możesz zdecydować się na przerzucenie dolnej lewej ćwiartki, ponieważ ma ona zbyt dużo wody (na czerwono) lub ćwiartki zawierające zieleń, ponieważ są zbyt korzystne taktycznie (potencjalne wąskie gardła kanionu):
Możesz także zdecydować o ręcznym generowaniu funkcji; możesz ręcznie umieścić niektóre elementy, takie jak rzeka dzieląca sekcje poziomu lub kluczowe złoża zasobów, a następnie uruchomić generowanie procedur, aby zachować ręcznie ustawione funkcje równoważenia kluczowych elementów, jednocześnie zapewniając interesującą i organiczną różnorodność, z której chcesz wyjść generowania proceduralnego.
Na przykład wygenerowany teren, który zachowuje ręcznie umieszczoną rzekę dzielącą mapę na pół i zalesioną osłonę, zapewnił dodatkową ochronę wokół baz:
W niektórych przypadkach możliwe jest poleganie na samych graczach w tworzeniu zrównoważonych asymetrycznych map za pomocą mechaniki manipulacji kafelkami.
Na jednym końcu spektrum możesz pozwolić graczom na tworzenie mapy, częściowo lub całkowicie, wybierając i umieszczając kafelki mapy. Istnieje wiele różnych sposobów na ulepszenie tego:
Na drugim końcu spektrum manipulacji kafelkami pozwala graczom manipulować kafelkami mapy. W tym rozwiązaniu gra rozpoczyna się od początkowej mapy. Początkowa mapa może być symetryczna lub może być „wystarczająca” przy użyciu dowolnej z pozostałych odpowiedzi.
Następnie następuje faza manipulacji mapą, w której gracze mogą wykonać następujące czynności:
Te manipulacje mogą być wykonywane pojedynczo, w którym to przypadku jeden gracz będzie miał szansę zareagować na manipulacje innego gracza lub gracz może stać w kolejce na liście zmian, które zostaną wykonane. Możesz także pozwolić graczom manipulować całą mapą lub ograniczyć rzeczy do ich obszarów początkowych.
Wadą tego podejścia jest to, że ostateczny wynik musi być chroniony przed niepożądanymi skutkami - tj. Manipulowanie nieprzejezdnym pasmem górskim, tak aby część mapy stała się niedostępna. Możliwe rozwiązania tej wady to:
Niech Twój algorytm generowania mapy generuje symetryczne poziomy, generując poziom, odbij go i umieść każdego gracza po jednej stronie. Mapę dla czterech graczy można utworzyć, tworząc kopię lustrzaną na osi X i Y.
W ten sposób mapa będzie równie dobra (lub zła) dla wszystkich graczy. Efektem ubocznym, o którym musisz wiedzieć, jest to, że gracze są świadomi pozycji innych graczy i rozmieszczenia innych części mapy po zbadaniu własnych.
Inną opcją jest wygenerowanie mapy bez tej sztuczki symetrycznej, ale następnie pokazanie graczom całej mapy i umożliwienie każdemu graczowi swobodnego wyboru początkowej lokalizacji.
Jednym z podejść jest użycie innych czynników do zrównoważenia mapy. Możesz być w stanie zautomatyzować to za pomocą niektórych algorytmów analizy mapy i zapewniając dodatkowe zasoby początkowe do lokalizacji, które są uważane za znajdujące się w niekorzystnej sytuacji. Alternatywnie możesz użyć samych graczy do tego kroku. Bieżącym przykładem tego jest wykorzystanie aukcji odwrotnej w trybie ujawnienia w Offworld Trading Company (OTC) do ustalenia początkowego roszczenia (tj. Wybranie początkowej lokalizacji bazowej):
W miarę upływu czasu początkowy dług za wczesne założenie funduszu maleje. W końcu zamieni się w pieniądze początkowe, jeśli znalezienie dwóch ostatnich graczy zajmie wystarczająco dużo czasu. Gdy pozostanie tylko jeden gracz, który nie założył swojej kwatery głównej, wartości przestają się zmieniać i ten gracz nie zyskuje na czekaniu na znalezienie.
Nie pamiętam, czy był to wywiad z 3 ruchami przed nami lub Okrągły stół przy projektowaniu gry , ale w jednym z nich Soren Johnson (programista) mówi, że ta mechanika zasadniczo zmienia problem mapy z „czy mogę najpierw znaleźć najlepszą lokalizację” na „ jak dobra jest druga najlepsza lokalizacja na mapie. ”
Zaletą jest to rozwiązanie, które umożliwia wysoce asymetryczne mapy. Wadą jest to, że cała mapa jest ujawniana wszystkim graczom, przynajmniej na początku. Podejście pozagiełdowe ujawnia również lokalizacje bazy gracza. Inne mechanizmy, takie jak licytacja w ciemno, mogą uniknąć ujawnienia bazowych lokalizacji.