Programista 2/2023 (107) – kwiecień/maj 2023 – Wave function collapse. Proceduralne generowanie map

programistamag.pl 1 rok temu

Koncepcja proceduralnego generowania elementów gier komputerowych nie jest niczym nowym. Początkowo był to tylko stosunkowo tani sposób na zwiększenie re-grywalności (ang. replayability, chodzi o to że, przez jaki czas gracz powraca do gry po jej ukończeniu), ale rozwiązanie to okazało się z czasem tak dużym źródłem inspiracji, iż niektóre współczesne produkcje wręcz bazują na proceduralnym generowaniu świata. Poznamy dziś algorytm, który pomaga generować losowe obrazy, zachowujące jednak pewien zbiór ograniczeń...

Zagadnienia poruszane w tym artykule:

  • Wave function collapse;
  • Skąd nazwa?
  • Generowanie obrazów;
  • Metody biorące udział w ekstrakcji kafelków z obrazu-ziarna;
  • Generujemy listę dostępnych następników dla kafelków;
  • Do roboty!
  • Metoda generująca wynikowy obraz;
  • Metoda GetNextUnobserved;
  • Metoda PickRandomSuccessor;
  • Metoda UpdatePossibleSuccessors;
  • Metoda GenerateResult (fragmenty);
  • Wizualizacja procesu;
  • Konfiguracja do wygenerowania obrazu z gotowych kafelków;
  • Wyniki;
  • Wzorcowy obraz;
  • Przykładowa aplikacja.

Artykuł pochodzi z magazynu Programista nr 107 (2/2023). Magazyn jest z przełomu kwietnia i maja 2023 roku. Szczegółowy spis treści wydania nr 104: https://programistamag.pl/programista-2-2023-107/

Autorem artykułu jest Wojciech Sura. Programuje 30 lat, z czego 15 komercyjnie; ma na koncie aplikacje desktopowe, webowe, mobilne i wbudowane – pisane w C#, C++, Javie, Delphi, PHP, JavaScript i w jeszcze kilku innych językach. w tej chwili pracuje jako architekt w firmie WSCAD, rozwijającej oprogramowanie nowej generacji CAD dla elektrotechników.

Idź do oryginalnego materiału