Open world?

So I was just thinking (which is never good :wink: ) What way would be the best way to make an Open world?

Load in chunks?
A material shader that edits vert counts?
Libload?

I don’t know really so I’m asking you guys for some Ideas…

And also as there a good way of doing a Terran generator for “Infinite World” or is that something I should even think about?

You could do the Ocarina Of Time thing and separate your world into “rooms”. That’s what Faith (another BGE project) did.

As far as terrain generation, I’ve seen some people dabble in it in the BGE but I don’t think it’s powerful enough for a Minecraft-style infinite world.

This and this and this might help you

Open world as in just the terrain, there isn’t really much magic.
There isn’t anything that makes a game infinite.
Just load/generate the world in chunks based on your location and performance.

You can generate simple ground terrain in bge by vertex manipulation and then spawn in assets with some logic.

If you need more complex terrain you can also generate the terrain into .blend files on a separate blender (modeling) instance and libload them on the fly.

If you need to be able to manipulate the terrain (like a voxel game) then you are better off with other engines.
You can’t generate meshes in blender.

So in short you can generate simple heightmap terrain tiles, but for editing complex features (make caves/holes) in game you should use other means…

a thing that comes to my mind is a combination of fractals, infinite paterns.
or procedural world generation, ea a seeded random engine determines how a world would be.
First used in the game Elite, and still used today in the larger space sims like spore and no mans skye.
Probaply i a lot of other games to, but no mans skye and spore where very clear about using such techniques.

Red Frost’s procedural generator is nice for figuring out how they work. I’m in the same boat as you are trying to create an open world environment that can be manipulated. So if you find any… please shoot me a like. Thanks.