PuzzleScript PCG

This page for the work done for my Master’s Thesis in Procedural Content Generation(PCG). The first part will be about generating levels for any game described in PuzzleScript. The second will be generating a complete entire game.

All games are played with “Arrow keys”, “R” key to restart the current level, “Z” key to undo movement, and “>” button can be used to skip a level (please don’t skip levels unless they are unplayable or exactly like the previous one).

Level Generation

The following are 5 different games with different levels generated by myself and computer. Generated levels are produced 2 different methods (constructive approach and Genetic Approach). The Genetic Approach is tested with 3 different initialization methods (Random initialization, Constructive initialization, and Mixed initialization). All the different initialization methods have same population size and same number of generations. There is also some handcrafted levels to act as a reference to compare levels quality.

After playing each generated level please help us to collect some statistics about how enjoyable was the level from the corresponding Google form (fill the form while playing the game so you won’t forget your rating for the levels).

Sokoban

Sokobn

Description Player can push crates. Your goal to cover all target with crates.
Hand Crafted Play
Constructive Algorithm PlayAssess
GA with Random Initialization PlayAssess
GA with Constructive Initialization PlayAssess
GA with Mixed Initialization PlayAssess

LavaGame

LavaGame

Description Player can push crates. Player can’t go through lava. Crates destroy lava. Your goal to cover all target positions with players.
Hand Crafted Play
Constructive Algorithm PlayAssess
GA with Random Initialization PlayAssess
GA with Constructive Initialization PlayAssess
GA with Mixed Initialization PlayAssess

BlockFaker

BlockFaker

Description Player can push crates. Stacked crates can be pushed. Every 3 crates in a row are destroyed. Your goal to reach target position.
Hand Crafted Play
Constructive Algorithm PlayAssess
GA with Random Initialization PlayAssess
GA with Constructive Initialization PlayAssess
GA with Mixed Initialization PlayAssess

GemGame

GemGame

Description Player can push crates. Every 3 crates are transformed into a gem at middle position. Your goal is to place at least one gem on a target.
Hand Crafted Play
Constructive Algorithm PlayAssess
GA with Random Initialization PlayAssess
GA with Constructive Initialization PlayAssess
GA with Mixed Initialization PlayAssess

DestroyGame

DestroyGame

Description Player can push crates. Every gem with 2 crates on same row are destroyed. Your goal is to destroy all gems in the level.
Hand Crafted Play
Constructive Algorithm PlayAssess
GA with Random Initialization PlayAssess
GA with Constructive Initialization PlayAssess
GA with Mixed Initialization PlayAssess

Rule Generation

Coming Soon…

Thanks for the Help