Anyone has any idea how to create an open world with Blender ? An open world is a game without map borders. It works similar to this:
The terrain is divided in tiles. At any monent the player is at the 4 center tiles 67ab. When the player moves near the border of the outside tiles the game preloads new tiles. For instance player is at tile a near the SW corner. The game checks to see if tiles hijklmn (see below) are loaded and if not loads them.
The player is now at tiles 9ade and this set is the new world center. Occasionaly the entire world (with the player in it) is shifted to the center to avoid problems with the coordinates if the player walks too far away.
This solution can also be made into a tridimensional solution. It requires some heavy features and i dont know if Blender supports:
The engine must be able to control what pieces of geometry can be loaded and must be able to load geometry into a scene for the purpose of storing tiles (the cache scene). This loading must be possible in real-time.
The engine must be able to transform tiles and position all associated objects to the tiles (trees, veg, houses, npcs). The objects are linked objects to a library scene with all unique objects in the game or the memory consuption will be unbearable.
The game must be able to shift the entire world (game scene) to the center for reasons explained above.
The game must be capable to disable tiles that are not in the field of view of the player. The game must be able to unlink from the game scene all the tiles that are outside the 5x5 (4x4 plus a safe margin) tiles that represent the game scene at a certain time.
The game must be able to manage memory. Check how many memory the cache is using to unload unnecessary tiles objects from the cache after a certain limit of memory consuption has been reached.
The game must be able to LOD ai and geometry so that far away elements have a dumber but faster ai and a lighter geometry.
There is a lot of real-time load/unload link/unlik operation with this scheme. There is also some memory and scene management and at least simple LOD solutions are required.
My question is: is this possible to do with Blender game engine ?