Eksperymentowałem z algorytmami do automatycznego generowania map drogowych dla gry, nad którą pracuję.
Używam gier „ Kingdom Rush ” jako punktu odniesienia, ponieważ mają one świetnie wyglądające mapy.
Jestem nowy w proceduralnym generowaniu treści i zastanawiałem się, czy ktoś tutaj ma jakieś wskazówki. Eksperymentowałem z generowaniem losowych topologii dróg, np. Kilku węzłów wejściowych / źródłowych, kilku węzłów wewnętrznych (rozwidlenie i scalanie) oraz niektórych węzłów wyjściowych zlewu, a następnie używając algorytmów układu graficznego do stworzenia rzeczywistej mapy drogowej na podstawie tych informacji.
Oto jeden przykład użycia algorytmu Fruchtermana-Reingolda dla układu drogi:
Niebieski wykres wykorzystuje losowo generowane punkty kontrolne Béziera, aby krawędzie wyglądały mniej prosto.
Oto kolejny przykład wygenerowany przy użyciu tego samego algorytmu, ale różnych liczb losowych:
Problem w tym, że większość wyników wygląda dość podobnie i nie jestem pewien, jakie reguły mogę dodać, aby poprawić sterowalność i różnorodność generowanych proceduralnie map.
Wszelkie porady są mile widziane.
źródło
Odpowiedzi:
Twoje przykładowe drogi mają krzywe na odcinkach między skrzyżowaniami, których nie ma twoja droga. Czy próbowałeś dodać więcej „zbędnych” punktów kontrolnych na swoich drogach?
Co powiesz na to, aby liczba pętli była parametrem generacji? Również „krzywizna” (liczba zbędnych punktów kontrolnych) Liczba wyjść byłaby inna.
Myślę, że możesz także zakończyć drogi, gdy uderzą w skrzyżowania, dając im podwójne punkty kontrolne. To powinno sprawić, że skrzyżowania będą wyglądać lepiej.
źródło