Procedural Content Generation Research
Procedural Content Generation Research
Under guidance and supervision from Professor Jim Whitehead, around 15 undergrads, including myself, researched modern types of procedural-level design for games. We learned the conceptual concepts of how these techniques are employed commercially and implemented the algorithms ourselves on a smaller scale.
I used Perlin noise to procedurally generate tile-based maps in Phaser, creating natural-looking terrain like water, grasslands, and mountains. I researched Ken Perlin's gradient noise algorithm to understand its smooth transitions and how to apply it effectively for game environments. By sampling Perlin noise values across a grid, I assigned terrain types to each tile and enabled features like map regeneration through adjustable seeds and dynamic scaling via sampling window sizes. Challenges included resolving tiling artifacts for seamless map edges and ensuring the system balanced randomness with structured patterns. This experience taught me how to adapt complex algorithms to practical game mechanics and create scalable, replayable systems. It was a rewarding project that highlighted my ability to integrate mathematical concepts into interactive and engaging game features.
I implemented the Wave Function Collapse algorithm in the Phaser game framework to generate procedural maps with structured patterns. Using Phaser, I built a system that starts with an empty grid and iteratively collapses cells based on tile compatibility rules, ensuring cohesive and visually appealing patterns. To define the constraints, I established adjacency rules for tiles, dictating which ones could border others, and incorporated backtracking to handle conflicts during generation. The process allowed me to produce intricate, repeatable layouts while maintaining randomness. Challenges included managing computational efficiency and avoiding infinite loops in certain configurations, which I resolved through debugging and refining the ruleset.