Back to Search Start Over

'Procedural Island Generation in Unity: Exploring Implementation Challenges of the Wave Function Collapse Algorithm'

Authors :
Chvatal, Marcus
Publication Year :
2023

Abstract

Videospiele sind zu einer beliebten Form der Unterhaltung für Spieler aller Altersgruppen geworden, weshalb dem weltweiten Videospielmarkt bis 2025 ein Umsatz von 269 Milliarden Dollar vorausgesagt wird. Mit der steigenden Nachfrage nach qualitativ hochwertigen Spielen ist der Wiederspielwert ein wichtiges Element für den Erfolg eines Spiels geworden. Das Spektrum der Videospiele reicht von einfachen 8-Bit-Spielen wie Snake bis hin zu komplexeren Spielen, die eine Geschichte erzählen. Der Entstehungsprozess von Videospielen erfordert viele Ressourcen, die sowohl große Entwicklungsteams in AAA-Studios als auch kleinere Teams in Indie-Studios aufbringen müssen. Bestimmte Tools wurden entwickelt, um den Erstellungsprozess zu unterstützen und es den Spielern zu ermöglichen, neue Levels dynamisch zu generieren, während sie das Spiel spielen. Bei diesen Tools handelt es sich um Algorithmen, die Inhalte für Videospiele prozedural generieren können. Das bedeutet, dass der Entwickler nicht mehr jedes Level von Hand erstellen muss, sondern stattdessen Regeln definieren kann, denen der Algorithmus folgen muss, um auf Knopfdruck neue Level zu erstellen. Viele populäre Algorithmen sind für diesen Fall entwickelt worden, einer davon ist der Wave Function Collapse Algorithmus, der von Max Gumin entwickelt wurde. Diese Arbeit konzentriert sich auf die Implementierung des WFC-Algorithmus in der Unity-Spiele-Engine zur prozeduralen Erzeugung von Inseln. Sie untersucht die Herausforderungen, die sich während des Implementierungsprozesses ergaben, und die notwendigen Änderungen, die vorgenommen wurden, um die gewünschten Ergebnisse zu erzielen. Die praktische Umsetzung umfasst die Erstellung eines Videospiels mit prozedural generierten Inseln. Die Ergebnisse zeigen nicht nur verschiedene Herausforderungen auf, wie z. B. die Festlegung von Adjazenzregeln und zusätzliche Techniken zur konsistenten Erzeugung von Inseln, sondern auch, wie der Algorithmus modifiziert werden kann, um diese Herausforderungen zu überwinden und definierte Kriterien zu erfüllen. Video games have become a popular form of entertainment for players of all ages, which is why the global video game market is predicted to generate \$269 billion in revenue by 2025. With the increasing demand for high-quality games, the replayability has become an important element in determining a game's success. Video games can range from simplistic 8-bit games such as Snake to more complex story-driven games. The creation process of video games requires lots of resources, which large development teams in AAA studios as well as smaller teams in indie studios have to produce. Certain tools have been developed to assist in the creation process and enable players to generate new levels dynamically while playing the game. These tools are algorithms that can procedurally generate content for video games, meaning that instead of handcrafting each level by the developer, they can instead define rules that the algorithm has to follow in order to create new levels with the click of a button. Many popular algorithms have been developed for this case, one of which is the Wave Function Collapse algorithm, developed by Max Gumin. This thesis focuses on the implementation of the WFC algorithm within the Unity game engine to procedurally generate islands. It explores the challenges faced during the implementation process and the necessary modifications made to achieve the desired results. The practical implementation involves the creation of a video game featuring procedurally generated islands. The results not only showcase various challenges, such as establishing adjacency rules and additional techniques used to consistently create islands, but also highlight how the algorithm can be modified to overcome these challenges and fulfil defined criteria.

Details

Language :
English
Database :
OpenAIRE
Accession number :
edsair.od.....10650..d570039300c7fda6457f0766ceb441f3