The (somewhat) Perfect Landscape


I’ve played countless amounts of MMORPGS and open world games, and I would always feel a sense of awe when I stood at the top of a hill and stared at the massive gameworld.
My goal with this thread is to show my game world, go fishing for constructive feedback and discuss massive game world design, best practices etc. I’m aiming to create a MMORPG mixed with survival aspects. The focus is on playerskill (firstperson, directional combat), crafting, player driven economy and player run towns aka politics etc. The MMORPG I always dreamt about. My name’s Simen and I’m fresh out of the oven in game design, just worked with the game for half a year or so. Which hasn’t gotten me too far as I’ve tried and failed a lot. I am horrible at 3d modelling and I haven’t even touched animation, but I’m getting there. So that’s a little bit about me (oh, how I regret playing as the “I Just ?” clan in Paragon @myusername).

Now that I’m into game design I’ve tried to recreate that amazing moment you get when you see the whole world. I’m having difficulties due to FPS drops when staring at all of my sublevels. I’m using World Composition with 2 LODs, with 70% detail at 10k and 60% detail at 100k, along with 200k streaming distance which is not enough for a 16x16km landscape (gladly accepting tips for these streaming levels). Per sublevel I’m running at a perfect 60fps, and it drops to 50-40 fps when the view distance increases. When I move between sublevels the fps drops to 10 for a second or two, resulting in nasty hiccups when loading/unloading sublevels. Tips anyone?
I’ve LODed all my SpeedTree foliage to a decent level where billboards kick in at a short distance (a bit too short, but mandatory for performance as I want full forests).

World Machine is my best friend at the moment (don’t tell my fiance!). My world right now consists of a gigantic island with massive mountains. The whole island is very steep and I hoped to involve mountain climbing as a way of passage, and flying for a fortunate few who complete a set of hardcore demanding goals - it will be a rare sight to see people flying around. This is due to the PvP aspect of the game.

Putting game aspects aside, due to the game world being steep and with a dense amount of mountainous areas which provide extreme view distances, I’m looking for tips on the best approach. I’ve created a valley-landscape, but that didn’t suit me due to the lack of enormous mountains and boring/generic feeling it gave me. I want to make a unique landscape that appppeals both realists and those who enjoy a bit of surrealism. So I’ve created and ditched a bunch of landscapes, and now I’m wondering if I’ll have to do it once more, in the aim for my perfect landscape.

I want to recreate a world which players can connect with, which looks realistic yet not so at the same time, ie. floating islands as an example. Some people love realism and some don’t. What’s your views on this?

Thanks for reading. I’ll be posting pictures asap. Writing this on my phone.

Regards, Simen

I feel the most time consuming part is creating the art assets. Better have a firm grasp of modeling, and exporting.

I can agree with you on that part. My work progress at the moment is to create a beautiful landscape, and then create player functionality. Depending on the functionality (playerbuilding, crafting), I’ll make the 3d objects accordingly. I’ve been designing floating islands with roots popping out, made one that I’m happy with out of 10 tries haha.

Just as I wrote the thread I realized I have to remake my landscape. I’ll have to do a good mix between mountains, hills, plains and shorelines. I imported a slopemap for all 400 sublvls so it stings, but I’ll have to look around for a good landscape material that does height and slop blend along with manual painting. My previous method was to import slopemaps from WM and apply the textures according to a colorscale. Way too time consuming, but gives good results.

How would you do a game that has not one world but many worlds and systems in it? That’s the type of game I’m doing, but I would like more information on how to set up such a game. it think it would have to be modular.

Hmm, interesting. Are you thinking in the direction of planets? I’ve seen this one guy working on something like that; randomly generating a set amount of planet meshes, and when you get closer to the planet it transitions over to being a terrain landscape. Texture-wise I would use big textures for the planet meshes, and as you get closer (inside the atmosphere) the textures would transition to HD ones with normalmaps etc. I haven’t tried this, but there should be some info out there? :slight_smile:

I am commencing a game that will feature up to a dozen big maps each being a planet in game using world composition and level streaming with distance streaming disabled using a layer to do that, after some concept tests with smaller maps I found out that it is better performance wise to handle tiles loading manually in level blueprint code.
I had two options for the tiles maps… 1) a single persistent level and each huge map as a sublevel in a subfolder then the skysphere would have to be changed at runtime. 2) And having multiple folders each with its own persistent level and skysphere and only a huge map as a sublevel in its own subfolder, this way the skysphere wouldn’t need to be completely changed at runtime but preset for each persistent level alone.
And I think I am going with the second option.
Also at first I was thinking about placing each map coordinates shifted in the world from the origin and such… BUT… I won’t need to have more than the tiles of a single one loaded at a time so even though due to map size I might be in need of origin rebasing anyway I would avoid having some of the maps placed very far away from the origin. This way I would always load each map/planet at the standard 0,0,0 base coordinates anyway as it was the only level… Of course then the status of actors with all the variables for each persistent level/level streaming folder would need to be either swapped in/out of a save file system or using GameInstance or better yet a combination of both.

Yes the skysphere would have to be changed to suit the different world maps since the engine don’t support multiple skyspheres for each world map. It can only handle 1 skysphere.

To see my project this is the site that contains all the game ideas and layout
of all the systems. To get this type of game into Unreal Engine might
be a bit difficult…

But this seamless loading sounds like pretty advanced stuff. Are you trying to make a singular type game like Sacred 2 or Morrowind? I don’t know how to set up seamless loading of my levels yet. I know with Mass Effect 3 they broke up the systems into small modular maps and used animated loading screens to load in the maps. But because I’ve got alot of different worlds and systems to try to cover, I may have to use small modular maps for my planets. i think I need some advice on how to go about putting this type of game into unreal engine. I can’t use audio for doing all my dialog, it would be too many files as I have thousands of lines of dialog, so I have to use data structs instead to
display the text and use the audio sparingly. I noticed with this engine, if you have too many meshes, or too many files assets it starts affecting frame rate and taking the engine longer to build things.

Sorry for the late response, but I believe you would indeed need to use World Composition and level streaming in the same way DarkS474 does; I haven’t played around with planet systems yet.

My game will go in the direction of a seamless open world with no loading screens between levels and no fast travel etcetera. In the style of Elder Scrolls, although it’ll go multiplayer. I’'ll be doing this by using World Composition and level streaming in order to load out and in unseen levels and assets.

You’ll have to stream the levels in and out using LODs, that way you can have a good amount of assets implemented in your game levels. :slight_smile:

I’ve been working a lot on my world map in world machine the last week, trying to create a map that I could use as a finalized result.