Improbable Icon


Conceptual Miniature Biomes



I am looking at creating miniature biomes that each has their own small ecology.

The concept is that each biome is a hex roughly 100km wide with its own set of workers that loosely affect other biomes surrounding it. Within each biome is a small ecology that consists of animals, monsters, NPCs, weather, and other things that will help the biome to sustain itself.

Ideally, there would be one physical server overseeing the biome with its own AI that helps the other workers within its purview to ensure the biome does not “die”. Whether that is growing grass or introducing new animals as others die off or are eaten. Additionally, I want a full day/night system with seasons and weather patterns. The day/night system and seasons would be universe wide, while the weather system would be constrained in each biome. This will allow me to have a dynamic world while being consistent on a larger scale.

Eventually other biomes will be able to affect those around them. Let’s say one group of NPCs/Monster builds up their strength unopposed. That group would then be able to move to another biome, either by invading it or by slowly moving in and setting up homes. Another example might be wolves; they are so over populated in one biome that they begin to roam in packs to other biomes to avoid fighting each other.

Why Hexes?

My reasoning behind hexes is to allow up to six other biomes to share boarders. It also allows for a more dynamic growth of the world.

Another option might be octagons for a more consistent spread of each biome. I would love to read some discussion on whether I should go hexagons or octagons for landmass/biomes.

This is just the beginning of my idea. I plan to grow this as I work out the technical side and things move forward.

Please throw your ideas and criticisms at me!


Hey there,
Great post, it sounds really exciting - if I was building this I’d be tempted to use fairly generic physics workers, and an entity to control each biome. That way you still get the advantages of the load balancing, but the biome entity (which doesn’t have to be visible) can do all the logic to keep each one functioning as expected.
Doing day/night sounds really cool as well, one of the complexities in spatialOS is synchronising universe wide options - for this I would be tempted to have a single entity controlling it - and then use Streaming Queries to ensure it’s available for every worker.



Great idea @philraley!

Is the intention to morph this idea into some sort of simulation-based game? Using different custom workers for each type of entity (or even better, each type of behaviour – animals and monsters may share a “hunting” behaviour, for example) would probably make this easier to develop. Also, see Tyto Ecology for an example of what one biome could look like!


@chris.major that is what I was thinking as well. Using generic physics workers with an “overload” entity. The day/night entity would really only need to keep track of the date and time and send the information off to each biome and the player client. I wouldnt expect this to be to difficult to do.

@apu actually the idea is to have a top-down action RPG similar to Diablo with the controls like Battlerite, but I want an open world with a dynamic evironment over static randomly generated “zones”. The players would be able to battle across each biome effecting how it grows with the damage they cause, or not cause. I would also like dynamic quest generation based on how a biome evolves. Wolf population growing out of control and attacking the townsfolk, get a quest to cull their numbers, etc… Additionally, because its a top-down game the issue of millions of players on a screen are taken care of by SpatialOS. With each biome controlled by its own entitiy, the over population of the server should be solved. At least that is the concept.


Sounds really great @philraley - sounds like a really good use of the SpatialOS platform, and I’m looking forwards to seeing how it goes.


@chris.major thanks for the encouragement. I look forward to trying to implement the ideas. Now I need to ask, do I wait for 9.1 and Unity 5.5 support or get started right away?


Is there anything you’re waiting for in particular in Unity 5.5 @philraley? If not, I’d suggest getting started with 9.0 and upgrading your project to 9.1 when it’s released, which we aim to get out before the end of this month (more details here). Excited to see what you create!


This is a great idea. I’m a designer at Improbable and have been wanting to do some work on Biomes too.

Really looking forward to hearing about your progress. I’d go for it!

I found watching Planet Earth 2 a huge source of inspiration for Biomes and behaviours based on climate, so it might be worth checking that out too.


Ooo, I will watch that! Thanks @adamboard for the info and support!

@apu there are some things I am looking forward to but probably nothing I can’t just upgrade to later.