Procedural Programming to Generate Grid Worlds

Procedural Programming to generate Grid Worlds with profiles for specific cognitive challenges.

My Griid Wurld Design Task for DeepMind on the 16th of March 2020 and the following conversation with Cedric Hauteville inspired me to go a step further and develop a sketch in unity to generate grid worlds procedurally.
Each building element has a profile with specific cognitive aspect categories: Perception, Exploration, Communication, Memory, Team Work and Planning. With a star like a slider, it is possible to set up a goal for the grid world to generate a cognitive challenge, which influences the heuristic of the procedural process. Five more parameters can be chosen for the overall building: 2D/3D, which is allowing the procedure to place stairs and energized ramps to jump in Z-axis, clustering increases the number of floor pieces without walls, creating a more room-like feel, straight-enforcement is increasing the chance to place a straight piece to enforce a corridor-like world, single or multiple agents are unlocking the teamwork parameter and allow for building elements that have to be solved in teamwork, lastly whether or not to use teleports in the world.

There are countless possibilities to continue working on the project, increase the amount of categories and of course building elements for each category. And of course, I would like to actually test those generated worlds with actual agents to see how they perform. On the technical side of things, it would be great if the Grid World generated could be saved to a file or a catalogue of generated worlds, potentially like described in the DeepMind Lab as human-readable text files.

You can test the application in your browser:

When I received the challenge, of course I immediately thought about the DeepMind Lab paper and work, which have been an inspiration also for this project:


Kit of Parts: Building Elements Matrix

118 Parts
Categories: Basic Elements, Perception, Exploration, Communication, Memory, Team Work, Planning


Grid World Example Iterations

Iteration 1: 100 Building Elements
Iteration 1: 250 Building Elements / 3D
Iteration 1: 250 Building Elements / 3D / Teleport / Straight Enforcement / Clustering

Leave a Reply