Previous: Dyson


Developer: Rune Skovbo Johansen
Designer: Rune Skovbo Johansen
Engine: Unity
Genre: Platform
Modes: Single player
Perspective: 2.5d, side scrolling
Platforms: Windows Mac OS/X
Website: Rune's website
PCG Types: runtime-random-level-generation


EaS is a 2.5D platform game under development with focus on non-linear exploration, set in a big, continuous world. The entire world is procedurally generated at runtime, though it is consistent, meaning that the world will be the same on every play, save maybe for some special areas.

Use of Procedural Content Generation Methods

The single continuous world in EaS consists of sections or areas which are each generated at runtime as the player approaches. Up to nine areas can be active at the same time.

The generation of an area is performed in multiple steps at different levels of abstraction.

From rune|vision - Cavex - Game in Progress, a web-page by the author:

The entire level is based on a simple maze representation in a two-dimensional array. Based on the maze, a binary tree data structure is created where internal nodes represent T-junctions and leaf nodes represent dead ends (as well as the goal). In this data structure the arrangement of locked doors and keys is computed, and then planted in the corresponding places in the array. After that the array maze is modified in several steps, cutting down certain wall sections to create shortcuts (which then form loops) - making sure that it doesn't connect sections separated by a door. After this, "air space" is calculated to form wide open spaces and prevent the level consisting of narrow tunnels only. This makes it look less like a maze.

The actual area is then calculated based on this maze representation.

The placement of locked doors and keys is based on an algorithm similar to the "Environment Tree" described at Squidi.net.

External Links

rune|vision blog - Blog posts about EaS by the author.
rune|vision - Cavex - Game in Progress - Page about a previous iteration of the game, explaining some of the procedural generation methods.

Previous: Dyson

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License