A downloadable game for Windows, macOS, and Linux

Download NowName your own price

A complex simulation oriented strategy and management game on planetary scale. Each tile on the hexagonal grid is an atom of this dynamic and complex world. Subjects of interest for this project includes: emergent complexity, land use management, procedural generation, production chains and complex economies. This game is partly inspired by classics like Transport tycoon, Anno and Factorio.



World generation

Currently several systems are simulated when the world is generated. These includes hydraulic erosion and ecosystem dynamics. The aim of these systems is to create an interesting and varied world to interact with.

World generation

Erosion algorithm during world generation

Ecosystem dynamics simulation

Data visualization

Map filters allow the user to visualize the world in different ways. An essential part in viewing world data.

Map filter demo

The hexagon is the bestagon

The world is made up of hexagons (and 12 pentagons). This gives the tiles a good visual appeal. And lends itself well to adjacency features and tactics.

Some additional images from world generation



Requirements:

  • 4-8GB RAM
  • Windows operating system
  • Mac/Linux (experimental)
  • DirectX 11

Download

Download NowName your own price

Click download now to get access to the following files:

Orbis multiplex 0.1.6.3.zip 35 MB
Orbis Multiplex 0.2.0.0.zip 35 MB
Orbis Multiplex 0.2.0.1.zip 35 MB
Orbis Multiplex 0.2.0.0 mac.zip 35 MB
Orbis Multiplex 0.2.0.0 Linux.zip 37 MB
HexagonShowcase.zip 34 MB

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

Hello!
I was wondering if you have any suggestions on how to get started with procedural world generation, even if it's something as relatively basic as mapping a generated heightmap onto an icosphere.

Can you tell me a bit more about the use case? I think it would vary.

In general I would say focus on visualizing as much information as possible. In my world I for example have the option to click on any tile during runtime, and see a dump of ALL variables connected to that tile. cellId, elevation, neighbourCellIds, temperature etc. This kind of debugging will help enormously, whatever the use case is.

Also make the implementations as  separate as possible. If you for example simulate both vegetation growth and plate tectonics. Those should most likely be independent, structure your program such that you could run them independantly to reduce "nested complexity".

Another general thing is parameter handling. Simulations like these might have ALOT of parameters to tweak. Making it easy to select parameters, and do reruns on the exactly same parameters will be valuable in the long run. Also setting up the simulation so that you can create multiple worlds in sequence, save each to file/image and then compare them afterwards, and see how certain parameters affect the outcome makes it easier for you to test, and get the results you desire.

Hello again and thanks for the reply.

I intend to use it to generate semi-realistic maps and terrain for D&D, but I have no experience with generating terrain outside of playing with Terragen and PerfectWorldDF in the past.

I want to derive a region's biome from a combination of elevation, overall 'steepness' of the terrain, how wet a region is would be determined by a drainage map, temperature map, and a precipitation & rain shadow map. The effects of erosion would also be affected by how deep the soil layer goes before it hits rock.

But for now, I need to figure out the basic step of converting an icosphere to a hexagon (+12 pentagon) sphere and mapping a seamless noise map to it, I saw your video on creating the hex sphere, but I have little to no idea on how to implement it in either UE5, Godot, or Blender. I'm leaning more towards using one of the 2 game engines for the simulation aspects of it.

(1 edit)

This is really a great project.

Can it be sold? Purchase source code for use in my project?

Hi.

Hmm, it's an interesting think you bring up. At the moment no. What are you interested in?

My plan has been since the very start to produce a game for steam. I've not thought about releasing source code, but everything is not set in stone.

Hi,Robin Johansson.

I am very interested in the planet generation of your project, and I know it is not open source.

You can consider creating a paid tutorial for planet generation code,

Or open a source code purchase channel?

Sorry, my English is not very good, and the description may not be clear enough.

I think the description is clear. Will consider it. I've got a day job, and am doing this on my spare time (evening/weekends) so things might not happen fast. 

Would a C# library fulfill your need?

Deleted 319 days ago

C # meets my requirements, how can I obtain it?

hi,Robin Johansson

How to obtain the C # library?

Do you want to submit to the purchase channel of itch.io?

I have not put together the library yet. I have a real job that I spend most of my time on. I don't allocate much resources to this project at the moment. If I put together the library, I will write about it here and in the Discord channel.

(+1)

I pushed the limit of your engine and somehow make a dark ozoe that ate my world's flora/fauna. the way i gen the world was max moutain, max ocean depth, slitily negtive ocean mod, 4 continent,20% above default sim iteration on both, and delta of 30. it appered surronding desert and ate the world slowly as ticks went by.

(1 edit) (+1)

Fun that you tried some extreme settings :)

That sounds like an unstability in the  differential equation solver... Probably related to the high delta value. Delta values higher than 5 can be problematic if I remember correctly :)

I think that too, it was amusing to make a 'gray goo' happen. The goo tends make bands around desert areas so I wonder if number break happens between forest/plains and desserts. Either way if anyone complaining about ooze eating their world some number gen in the final part world gen gets scuffed.(if you like I could take picture of it I don't know where your screen shots get sent to when I press c so it's going to be a bad phone pic, also the goo thing happened on triangle world gen version the hex one it appears but I don't think tick change over is in unless I'm blind and can't find the game control)

And you could make a challenge mode with something like this make a self contained food/lumber system before the goo eats it all.

That actually sounds like a really cool idea. But I should probably remove the goo bug, and replace it with an actual species that is so efficient that it destroys all other life. 

Maybe some kind of fungus infestation/lotus swarm. The animal version would be xenomorphs :)

An interesting thing in the challenge could be how to contain it. Maybe barriers can be built to prevent it's spread for example.

Ye it' on the border. It's in places where some species have a difficulty to survive that the calculations tends to be unstable. Could probably be fixed.

The C screenshots should end up in Dokuments\My Games\Orbis Multiplex\Screenshots, try to look there :)

(+1)

Thanks, hope game development does well for you.

(+2)

This looks really interesting! Is there a way to export the worlds we create as images?

(+2)

At the moment no. You can take a screenshot by pressing "c". I've had a lot of questions about exporting images, so that is a feature I will prioritize for the near future. It would include exporting images of a map projection, somelike like a mercator projection.

I can never promise dates or precise timelines. But since this feature has been requested multiple times, I will try to add it in September 2022.

Thanks for the feedback!

Deleted post
(+1)

Exporting all geometry data (3D model) could be something I implement. But first im gonna prioritize 2D maps.

Deleted post
(+3)

Thanks. Ye constant improvement and innovation is the key to success.

Deleted post
(+2)

Some wise words.