Projektuję grę, która działa na klasycznym silniku kafelkowym, ale którego świat jest generowany losowo. Czy istnieją gry lub algorytmy, które to robią? Algorytmy generowania procedur, które znalazłem, nigdy nie używają systemu kafelków ... Jaki byłby najlepszy sposób na wygenerowanie całego „świata” za pomocą systemu kafelków? Nie mówię o labiryntach bloków, ale dzięki ogólnej „mapie świata”
22
Odpowiedzi:
Twoje pytanie poprowadzi Cię do dziedziny generowania treści proceduralnych.
Generacja światowa oparta na kafelkach oparta na metodach ciągłych / analogowych
Przez ciągłe rozumiem coś, co nie jest kafelkami, coś analogicznego, przykładem jest mapa wektoryzowana. Możesz użyć dowolnej ciągłej techniki do generowania, a następnie skwantyfikować ją. Na przykład wygeneruj obraz szumu Perlina o wysokiej rozdzielczości, a następnie zmniejsz jego rozdzielczość, aby dopasować go do rozmiaru mapy tilem, i próbkuj piksele, aby uzyskać mapę wysokości. (Mapy wysokości mogą być świetnym punktem wyjścia dla twojego świata.) To dlatego, że wspomniałeś o źródłach, które nie pokazały ci, co zrobić, aby zastosować je do płytek.
Światowa generacja oparta na kafelkach z zastosowaniem „rzeźbionego” podejścia do rzeźbienia
Dzięki podejściu opartemu na kafelkach (komórkach) możesz zrobić coś w rodzaju ślepej generacji, w której generujesz świat krok po kroku, nie patrząc dalej niż np. bezpośrednio sąsiadujące kafelki, ale zwykle wygląda to jak dzieło owada. Jest to typowe urządzenie CA (automaty komórkowe) i wykazuje nieco większą inteligencję.
Generowanie świata oparte na kafelkach z wykorzystaniem szerszego widoku świata, z góry na dół
Jest to bardziej inteligentne podejście do budowania kafelka świata po kafelku, ponieważ najpierw buduje się go region po regionie. W ten sposób masz kontrolę nad np. różne biomy, regiony polityczne itp., jak Tarn Adams w Dwarf Fortress. Oczywiście wymaga to trochę zastanowienia się nad tym, jak chcesz podzielić swój świat. Istnieje wiele sposobów, na które będziesz musiał przeprowadzić własne badania.
Generowanie treści proceduralnych jest dość szerokim tematem, więc musisz dobrze się przeczytać, zanim uzyskasz solidne wyobrażenie o tym, czego naprawdę chcesz i jak sobie z tym poradzić - diabeł zawsze tkwi w szczegółach . Z tego powodu niektóre dobre źródła tego to lista dyskusyjna rec.games.roguelike.development (mnóstwo informacji na temat światów procedur opartych na kafelkach), strony programistyczne AmitP (patrz „Inne tematy”) i na koniec, proceduralne Content Generation Wiki .
źródło
Generowanie procedur jest ogromnym tematem. Jak głęboko jesteś gotów zejść?
Odpowiedzi Nicka Wiggilla są na najwyższym poziomie. Dodałbym do tego, sugerując przyjrzenie się matematycznym metodom tworzenia spójnego losowego terenu.
Hałas Perlina to świetny sposób na wygładzenie losowości i działa doskonale na każdym terenie. Symulowanie erozji może dawać realistyczne wrażenie wysokości (chociaż może nie być to konieczne, ponieważ grasz w płytki)
Wiele technik omawianych w artykułach takich jak ta autorstwa Oddlabs , twórcy Tribal Trouble, działa dobrze również w 2D i przy niskich rozdzielczościach. Jeśli czujesz się bardziej komfortowo z tego rodzaju podejściem, warto nauczyć się tych technik.
źródło
Spelunky's Procedural Space - świetne wprowadzenie do generowania treści proceduralnych przez Dariusa Kazemi
Spelunky to gra 2D autorstwa Dereka Yu, która ma świetne poziomy proceduralne.
Jest też zawartość proceduralny wiki http://pcg.wikidot.com/
źródło