«
Timothy Kawamoto
Software Development
Procedural Content Generation for a 2D Platformer
The goal of my thesis was to utilize different procedural content generation ( PCG ) techniques to create playable levels for a 2D platformer . The platformer I used was Lorien , which I created during a Directed Focus Study project at SMU Guildhall .
The level generation included multiple steps : XML data reading , image generation , image post-processing , placing gameplay elements , and Perlin Biome generation . The generators are also capable of creating larger worlds of interconnected regions that require the player to explore and find new spells to unlock gated regions .
The levels are generated as an image , which Lorien reads and loads . One benefit of this is that the levels can be saved after generating them . Another developer could adjust the saved image in image editing
software acting as a simple editor . This allows my thesis to be used as a starting point for designers . They could generate levels , find one they like , save it , and then fine-tune it .
I ’ ve always enjoyed 2D platformers , especially Metroidvania-style games . My goal was to try and create similar levels using procedural generation . To do so , I looked at a variety of different PCG techniques including Perlin Noise , Cellular Automata , Wave Function Collapse , Perlin Worms , Perlin Biomes , and Markov Chains . One of the best things about this project was that it forced me to learn to use some of these techniques in unique ways . In addition , there were times in which I had to create my own techniques and algorithms to solve certain problems .
82 SOFTWARE DEVELOPMENT