The Cluster

The Cluster is a 2.5D exploration platformer set in an open world that's carefully procedurally planned and generated.

The world is suffering from the Plague of Shadows. Playing as Emyli, you must explore its uncharted areas to find and awake dormant artefacts used for powering an ancient defense system.

With the help of a map that's dynamically filled in, guidance from the Spirits of the Shrines, and Emyli's gift to be able to throw firestones to fend off shadows, will you be able to bring back safety to the land?

Download for Windows and macOS:
Get The Cluster on itch.io

Features

A procedural open world that feels planned with intent, featuring gameplay that revolves around navigating the world's design as it is, rather than relying on sandbox gameplay like digging or building to be able to reach locations.

A multi-tiered map shows the game's planned space on a vast scale. The detailed level of the map is uncovered as the player explores the world, and helps the player spot previously overlooked paths.

Enemy Shadows can follow the player almost everywhere using the exact same running and jumping abilities as the player. Both the player and enemies have to pick up stones from the ground to use for throwing at each other, which creates platforming-centric light skirmishes.

Shrine spirits offer hints about the locations of artefacts, providing a balance in between aimlessness and knowing where to go. This is possible because the game's planned world has knowledge of goals far outside the currently generated geometry.

Directional road signs point the way to faraway landmarks like shrines, gates, and the hub village. Reinforcing the feeling of the world as a carefully planned place, such road signs are common in manually designed games, but rarely seen in procedurally generated worlds.

Sophisticated dynamic camera framing smoothly positions the player differently in the frame depending on the proximity of nearby walls and passages.

And for people interested in the tech

The game also serves as a procedural planning showcase. It demonstrates some of the things the "Layer-Based Infinite Procedural Generation" approach of my open-source LayerProcGen framework is capable of, and that it scales up to a fully playable game.

Numerous built in debug options make it possible to inspect various aspects of the generation at different layers of abstraction.

Background

I worked on The Cluster on and off primarily between 2005 and 2016, starting with a 2D game made in Delphi Pascal and reinvented multiple times. In 2016 it eventually became clear to me that it would be impractical to complete it to the standard of a commercial title for a variety of reasons.

It does however showcase several interesting aspects of procedural generation that I haven't seen elsewhere, so I've been wrapping the game up for release as an experimental game. It can be enjoyable to play for some hours for the right (exploration-loving) audience, even if the variety and polish is not quite as originally envisioned.

The Cluster is now released

Aug 18 2024

The Cluster is finally released and available for free on Itch. It's a 2.5D exploration platformer set in an open world that's carefully procedurally planned and generated, and does a few interesting things I haven't yet seen in other games (check out the links for more info). Here's a trailer: My last blog post about The Cluster was in 2016 and titled "Development of The Cluster put on hold ...

Development of The Cluster put on hold

Sep 6 2016

The Cluster is an exploration platformer game I've been developing in my spare time for some time. You can see all posts about it here.As of the time being, I've put development of The Cluster on hold indefinitely. Burdens After having worked on the game for more than ten years (!) I finally came to the conclusion that the overall design and constraints in the game is making it very hard for me to finish it, while also holding me back from trying out a lot of otherwise interesting ideas. ...

The Cluster 2015 Retrospective

Dec 22 2015

The Cluster is an exploration game I've been developing in my spare time for some time. You can see all posts about it here. It looks like I didn't write any posts about it for all of 2015, yet I've been far from idle. By the end of 2014 I had done some ground work for fleshing out the structure of the world regions, but the game still didn't provide visible purpose and direction for the player. ...

The Cluster 2014 Retrospective

Dec 18 2014

The development of my exploration game The Cluster, that I'm creating in my spare time, marches ever onwards, and 2014 saw some nice improvements to it. Let's have a look back in the form of embedded tweets from throughout the year with added explanations. Worlds and world structure Tweaking of cost functions is one of the surprisingly satisfying aspects of coding procedural generation. During the end of 2013 I had implemented the concept of huge worlds in the game, and I spent a good part of 2014 beginning to add more structure and purpose to these worlds. ...

The Cluster

Sep 13 2014

The game I'm working on has a new name: The Cluster This replaces the previous working title "EaS". The full final name is likely going to be something along the lines of "Explorers of The Cluster", "Adventurers of The Cluster", "Enigmas of The Cluster" or similar, but I haven't decided on that yet. "The Cluster" is the defining part, and would be the recurring part if there should ever be more than one game in the series. ...

Debug your procedural world generation much easier with this one simple trick

Sep 6 2014

This post is about The Cluster, my 2.5D platform game under development with focus on non-linear exploration, set in a big, continuous world. You can read all the posts about The Cluster here. Okay cheesy title aside, this trick really did make debugging much easier for me, though the trick really is also very basic in retrospect. But it took me years to realize this, so maybe it will help somebody else too. ...

Layer-Based Procedural Generation

Sep 22 2013 - 6 Comments

One of the problems you'll face when creating an infinite procedurally generated world is that your procedural algorithm is not completely context-free: For example, some block might need to know about neighboring blocks. To use graphics processing as an example, you might have an initial noise function which is completely context-free, but very often an interesting procedural generation algorithm will also involve a blur filter, or something else where the local result depends on the neighboring data. But since you only have a part of the world loaded/generated at a time, what do you do at the boundaries of the loaded area? The neighboring pixels or data isn't available there since it isn't loaded/generated yet. The layer-based approach I describe in this post and video is a way to address this issue. ...

Rolling Grids for Infinite Worlds

May 2 2013

I want to share how I do the rolling grids I use in The Cluster that in essence acts as infinite 2D arrays. Originally, my procedural game The Cluster (you can read all the posts about The Cluster here) was divided into "levels". The levels lined up seamlessly so wouldn't be noticed by the player, but in the implementation they were completely separate. Tons of code was used to deal with the boundaries of the levels. Every algorithm that handled some kind of grid, and which looked at neighbor cells in that grid, had to have special boundary case handling for the edges, which was a pain. ...

Technologies in my Procedural Game The Cluster

Feb 17 2013 - 1 Comments

This post is about The Cluster, my 2.5D platform game under development with focus on non-linear exploration, set in a big, continuous world. You can read all the posts about The Cluster here. In this post I'm creating an overview of the different technical aspects of The Cluster and listing links to posts I've written in each area. I'm also describing areas I haven't written about (yet). If there's any of these areas you'd like to hear more about, let me know in the comments. This can help me decide which areas to prioritize in future posts. ...

Generating a tree structure from a maze

May 15 2012

I got a mail from Robert Stehwien asking me how to generate an environment tree (as described on Squidi.net) from a 2D maze - something I wrote previously that I do in my game The Cluster but didn't go in details with. An environment tree is basically a tree structure representing connectivity in a spatial space, where inner nodes represent junctions where for example a corridor splits into two or more, and leaf nodes represent dead ends. An environment tree of a 2D maze would have inner nodes where the maze corridors split into two or more and leaf nodes at dead ends. ...

Still making that Cluster game...

Apr 23 2012

Though I haven't posted about it for the good part of a year, I haven't dropped my game The Cluster. Google AI Challenge ended up taking up quite some time last fall and after that was a period where I was preoccupied with other things, but I've recently gotten some new ideas and enthusiasm for continuing this long-running spare time project. Stay tuned... ...

Forcing Structure in Procedural Spaces

Aug 21 2011 - 2 Comments

The procedural game I'm working on in my spare time, The Cluster, has a focus on non-linear exploration and is set in a big, continuous world. When I've let people play it in its current state they've been happy to roam around at first, but quickly become bewildered from a lack of sense of direction and purpose because they could go so many places but had little idea of what they're supposed to do other than running around aimlessly. That got me thinking about ways to direct the experience better. ...

The Cluster: Video of New Environments

Aug 15 2011

This post is about The Cluster, my 2.5D platform game under development with focus on non-linear exploration, set in a big, continuous world. You can read all the posts about The Cluster here. In the last post I wrote about how I've improved the edges in the environment generation of The Cluster. But the background scenery was basically just parts of the foreground extended far into the distance which was not terribly interesting to look at. ...

The Cluster: Sweet Sweet Edges

May 29 2011

This post is about The Cluster, my 2.5D platform game under development with focus on non-linear exploration, set in a big, continuous world. You can read all the posts about The Cluster here. Last time I posted an update about The Cluster was - 10 months ago!? Well, development hasn't been idle though - far from it! - it's just that I've been working on some refactoring and changes that ended up being rather time-consuming. Some big hurdles are now over and blog updates should hopefully be more regular going forward. ...

Unity's ScriptableObject and Threading

May 20 2011 - 2 Comments

I found a pleasant solution to a problem I had in Unity that I thought I'd share. This post is technical in nature and won't be of interest to people who don't use Unity. In my procedural game I'm doing a lot of lengthy calculations and I've been looking into doing them in a separate thread in order to easily spread out the calculations over multiple frames. Using co-routines for this was getting overly convoluted, with yield statements and ...

The Cluster: Demo of Hunting AI and New Models

Aug 11 2010 - 2 Comments

This post is about The Cluster, my 2.5D platform game under development with focus on non-linear exploration, set in a big, continuous world. You can read all the posts about The Cluster here. Like I wrote about a few weeks ago I've been working on pathfinding and AI for the enemies in The Cluster. The AI pathfinding is now reasonably stable and there's a working demo below where you can fight against simple hunting enemies. Right now the enemies always know where the player is; later the knowledge of most enemies will be made less global and more based on local memory. ...

The Cluster: Demo of Procedural Environment

Aug 8 2010 - 6 Comments

This post is about The Cluster, my 2.5D platform game under development with focus on non-linear exploration, set in a big, continuous world. You can read all the posts about The Cluster here. I'm taking a break from pathfinding and AI to go back and talk about the raw level design in The Cluster; More specifically the procedural generation. The entire world in The Cluster is procedurally generated at runtime, though it is consistent, meaning that the world will be the same every time you play. However, this is strictly a design choice, not a technical limitation, and I'm considering including some kind of bonus areas or similar that will be different every time. ...

The Cluster: Agile Enemies in a Platform Game?

Jul 29 2010 - 2 Comments

This post is about The Cluster, my 2.5D platform game under development with focus on non-linear exploration, set in a big, continuous world. You can read all the posts about The Cluster here. I've been working on implementing path-finding for The Cluster, the 2.5D platform game I'm developing. Path-finding will let NPCs (enemies, companions, or other characters in the game) be able to find their way around in the world. For example, this will let them be able to chase/follow the player, or flee away from her. ...

First Peek at the Levels in The Cluster

Jun 14 2010

This post is about The Cluster, my 2.5D platform game under development with focus on non-linear exploration, set in a big, continuous world. You can read all the posts about The Cluster here. I've been working on a platform game on and off in my spare time for a looong time. Working title: The Cluster. It's a 2.5D platform game with focus on non-linear exploration, set in a big, continuous world. I'm using ...