Large World Issue

Hello I need to figure out a way to make a map that represents a 10000 x 15000km map in a seamless fashion. So far without proper success I have tried loading the whole map as on terrain… worked OK and i could fly around it but that was while it was empty. The next thing I tried was world composition in various forms and sizes. These worked for the most part but due to the size of the map and in an effort to make smaller levels players would be on before moving to a nearby one i ended up slicing it up into 4096 levels but was unable to import all these maps at one time requiring me to import roughly 123 at a time and then they didn’t line up right. So to experiment i took the same map and only loaded in around 30 tiles covering a map roughly 60km2. This loaded in fine but I then encountered several issues. 1. the map was cut off by the orange world borders thingy. 2. as i moved around the map did not re-center to the player so that they stayed in the middle of the orange box. 3. light mass volume whatchamacallit wouldn’t compile and spit out massive errors.

Things I have considered. Scaling the world so everyone and everything is a fraction of thier real size so the world would be like micro-machines… scale the world down by like 1000x and scale all buildings, trees, players, cameras etc by 1000x so to a player it is still just as large but in data it is all much smaller… however I haven’t quite figured out how to do this going from world machine to UE4 since I need to maintain the world machine’s quality so i don’t have huge cliffs where a slight hill should be.

I have also considered some method of multiple side by side world compositions but no idea if this is even possible.

Please provide any all answers you can especially if the epic games could chime in here. the more details the better. Thank you.

A secondary question is when importing the height maps following world composition guides for world machine i ended up with 4096 height maps but when i try to import them UE4 uses the windows explorer file opener rather than a custom opener and as I am selecting multiple files i can reach around 120 or so selected files showing in the open file box as “file1” “file 2” “file3” etc but after a certain unchanging number the box goes blank. I can still select the files but they will only select visually and the box will remain blank preventing import. I confirmed this was something with windows not UE4 as selecting the same number of files in notepad++ does the same thing. However speaking to others who have use UE4 and people in general using notepad++ do not run into this issue and appear to be able to select as many as they want without issue.

I also posted this on answer hub but didn’t get any responses at: https://answers.unrealengine.com/questions/405833/large-world.html

I was messing around with this also… same thing the seams did not match up 100% and fixing then using the ue4 landscaping tools is a huge pain.
I was thing about other games with large open worlds … wow came to mind. If you go make and look at the original zones before you could fly around… the edges were mostly impassible areas Like mountains or oceans. with small entrance and exits.
Now with a huge budget they changed most of that to more open areas and with flight.

My suggestion with a smaller indie or if your doing it solo would be to break it up in smaller chunks and only fix seems on small entrances to other areas.
The biggest area I have been able to work smoothly with world machine was a 48.774 x 48.774 and used the 8129 resolution then scaled it in ue4 by 600% and 1000% for the height… I set the height in wm to 5120
the skybox and lights would get bad much larger then that. had to scale them up also

1 Like

Oh also break the semi large areas up into separate levels ( maps ) what ever you want to call them and use background loading so when they go from one area to another its more seamless… I have not tried that but read its possible

I have considered this and I wish I could talk directly to the guys that make kenshi cause they dealt with this exact issue and they did it before world comp existed. But my world is designed as a proper geographic land mass oceans, rivers, valleys and islands so artifically placing impassable terrain like mountains would destroy it. So I was thinking what if I loaded the heightmaps in in squares. An example of this is a large island one of the largest in my map I rectangled it so it was surrounded by a sliverish of ocean and was only like 12 tiles out of the 2096 and read out as being 60km2 so basicly 10x6km and the world bounds still cut it off. The theory i had was line em up but use minizoning kin to asheron’s call and dark age of camelot to load into a new world bound or even overlap the world bounds so that a player near an edge would be inside two world bounds but streaming only the nearest tiles to thier machine to keep load low. Problem is even my island cuts out and i can’t edit the whole island cause even in editor i end up with portions of the island missing from view.

Still on the hunt for more ideas. Doesnt matter what they are ill take any ideas maybe ive tried em maybe i havent.

10000 x 15000km?
scale it down. this is way too big.

Make several 1-2km chunks and get that streaming - use streaming volumes.

For reference in the actual game the entire map would never load. Instead it is meant to be a living world that loads as needed when players move around. realistically I figure a player would load at most 10km2 at a time if that. However if you could clarify streaming volumes?

Try setting these up
https://answers.unrealengine.com/questions/190176/level-streaming-volume.html

Thank you for this link. I googled and found that exact answer and while i see where it shows volumes in the screenshot it doesn’t seem to clarify or explain what it does or how it works. I will continue looking but if you have a link to that it would be appreciated.

That’s probably not very practical, even if you could put together something that large that functions it would be a huge amount of data

Another reference is that the entire map is to be the initial landscape but otherwise empty and unreleased at first and serves to be expansions to grow over time. However I still wanna be able to load atleast the most basic map in so I have an outline for the expansion areas to be later filled with content and released at the proper time. However that being said I have not even managed to get the initial island loaded how i want which UE4 reads as 60km2.

So reading that, the image that came to mind was like one of those facebook games like Happy Acres or Royal Story or Farmville. But you want to make a 3d open world right?
You can see the entire expandible world, but can’t access it without buying/ gaining access to the expansions. Definitely look into level streaming. You could possibly have a 2d sprite background set up until the player gets close enough, then replaced with the actual 3d level.
You may have to bite the bullet and actually scale down everything as you and another mentioned earlier as well. The tricky part will be keeping that scale in W.M. too.
A possible combination of those could work, but its still a ton of data going through.

I played with this myself for a couple of hours. The trickiest part really is keeping everything lined up. I work in inch, ft, miles(as a southern American, it’s all i know lol). I made a large terrain that was 50x50 miles. Scaled it down to 50x50 feet. Scaled the textures the same way. Then I chopped it into (10) 5x5 sections. Each section is a new level. World composition has an origin shift option. Played with that a bit and char appears to still move over a couple of steps on lvl load.

Not sure its entirely possible atm with UE4. At least not without serious C++ scripts and some Engine mods.

Not quite like farmville but in a way yes. The world in any form whether topdown, first person or isometric would be blocked off by a not so invisible wall that a character can go through but will have a 99.99999999% chance of dying if they do unless they run thier happy *** back to the safe side of said wall very fast thus limiting how far from the current playable area they can goto. With expansions and new content said wall will move further back revealing more of the world and more content which at that time would expand the game size on disk but not size in memory since the individual player would still only load what is near them and using a method of background processing like the X Series by egosoft very basic calculations will be done in background either on server in case of multiplayer or on pc in case of single player to determine how the unseen area’s NPC’s have acted over time and where they should be and what they should be doing should the character ever go there. These unreleased areas would be just basic minimally textured landmasses that have shape but no content like buildings or plants or even npc’s. But the shape is there so whichever direction we decide to expand the game on that living world it will forever match the size and shape of the released world map. This map is also the basis of a series of intended games to be released and as such we want the map to be forever cohesive and usable in any portion or entirety. Example being a transocean-esque game but since it’s a fantasy world would be fantasy ships or traders running around on the map but with greatly reduced detail levels as a player would never zoom into the character level and always be in a satellite view. IN this picture:

You can see the entirety of the shape. This was a very early on design map and originally meant to be 100x the size of the current proposed map as the original world was designed for textbased and was meant to represent the actual size of asia in real life. Due to scope and playability in graphics and transit times the size was reduced several times to the current proposed level and because this will one day also become an MMO intended to have full AR/VR the world is designed for total player immersion and grandscale kin to the idea of playing Eve Online where the galaxy is so large that some players may choose never to leave one part of the galaxy for the entirety of the time they play the game and they will never be capped because they didn’t follow along the prescribed zones of enemies and events in order to level ala WoW and WoW clones. This means if a player decides they wanna live in Dominion and never ever leave that province they will never run out of things to do because that province is an all encompassing environment unto it’s self and every province on that map is the same with weaker enemies and envirnoments being found closer to the capitals where the governents keep things safer and more diverse stuff being out near the fringes of provinces.

The 60km2 island in question is the island in Dominion which is the grey province. Where the number 1 is drawn is the north island and the one below it acrossed the river is the south island. The island I tried working with as initial area for release in the singleplayer game and probably for the MMO as well is the south island. Getting this to work within the bounds of UE4 is really my first obstacle since the orange bounds box cuts off the east and west edges of that island.

b7c2c8d199d75b397c934f04e4a60d59.png

Please help me atleast get the island working to start with here and then in time perhaps I can figure out how to make numerous world bounds and have player minizone acrossed them or find a way to expand or move said world bound around the larger map as a whole.

if you are really sure you want to do this;

cut up those areas into smaller areas, then set up streaming volumes like so;

c1a68d41a70c7528ce4686c575805c16722ece5a.jpeg

32ed051045dff7fe8104a7ec0b79e4e258f3b59f.jpeg

870020c32bcb25137a3134c964fceb7c9885845c.jpeg

And do you mean cut them up in world machine or cut em up in UE4 after importing them cause these tiles are the island mentioned out of the 4096 total tiles of the entire map and unless i totally misunderstood how world comp works i want the whole world to be 4096 tiles. Also can you clarify exactly how streaming volumes work are they world comp tiles or are they different and if so how do I do them and what are they supposed to do?

Maybe you can use unigine, it support 64-bit Precision of Coordinates large world.