Features, maybe already exist, maybe not, maybe third party ones.

Ok so after the post about the procedural generation of a city shown in the AC Unity video: Making Assassin's Creed Unity: Part 2 - Next Generation Technology - YouTube

I gotta say it seems like a great idea, and I know it’s all possible through blueprints to an extent, however I do have a few requests, by requests I mean, wondering if these will ever be implemented, if they already exist somehow, or how I can achieve them.

  1. Open-World Seamlessness

Most future titles, the big ones, are all very large open world areas, with no loading times, all amazing terrain qualities etc. So I was wondering if UE4 will soon have support for the networking and optimization of open-world areas. By that I mean it would be great if instead of trial and error UE4 had a core base for creating 50km square + areas, up to 100km square. Since most of todays large open world games are around that size.

Also the procedural generation of terrains, vegetation etc seem to be a big problem that can be tackled with blueprints, wondering which blueprints are out there or if I am better off coding my own

  1. Atmosphere and Weather (Dynamic)

I think what is lacking from the lower indie titles is atmosphere, dynamic lighting and weather. By this I mean the feel that the air around you has a density, could be tiny particles floating around, having a tiny bit of fog, having the air twist and bend in the distance due to heat etc…

Also a dynamic terrain where things like Rain make “puddles” appear and such as a great idea (yes I saw that in AC Unity).

  1. Dynamic Terrain

By this I mean a terrain that can be altered, and not just a static one, I am not talking minecraft level, but I am talking about some optimization. Many games are looking to let their players not only destroy certain objects, but also build large scale buildings, even cities, and cut down forests, reroute rivers, dig mines and tunnels etc… These seem very complicated to do through blueprints and pretty primitive.

Such as if I wanted a tree to be cut down permanently, or regrow I’d have to have 2 settings. 1 The tree is cut down to the stump and regrows in 3 stages or so, or 2. The tree is fully cut down and does not regrow

But then I’d also need to have a system where the game detects where “seeds” are planted and starts to grow trees. It all seems very primitive and forced, as if the engine isn’t suited for such tasks. Therefore I was wondering if there are any plans to accommodate real time ingame dynamic terrains.

  1. Networking

The in built networking is ok for small shooter games, or LAN parties I believe, but not suited at all for large scale operations. By this I mean even having a couple hundred players online in a largish terrain. It would be great to see a plugin like that of TechLords that would provide a core for the networking, and also security of a game, and help optimize it

  1. Stress Testing

I know there is an FPS option, but does it really reflect what the average computer will run at? I was wondering if there is an option for us to test out certain levels, or the game as a whole while emulating the average computer in order to know what more we have to optimize. It would be great if this option came with a troubleshooter to tell us where we need to really optimize, IE: That tree is crashing your FPS

Will add more options soon.

1. Epic is working on the world browser which I guess you already know, which will improve on open world building a lot.

2. The necessary tools and features to make all these thing you described are already implemented in the editor.
Epic won’t make complete systems like this and include it in the editor as they’re highly dependent on game style, art style and so on.
They supply the general tools that can be used to create effects such as these and many more by the game developers.

For example there is the Atmospherics Fog actor
Which can be used to simulate water particles in the atmosphere to further indicate distance to an object (making far away mountains blue tinted for example).

There is also the Exponential Heigh Fog you can use to make regular fog.

When it comes to weather it’s all up to what the game needs and not something Epic will supply a finished system for as it all depends on gameplay and artistic approach of each game. They supply you with everything you need to build it: Light actors, effects like rain should be done in Cascade, skydome with clouds are usually made within the material editor and then everything can be controlled by blueprints to add functionality.

Heatwaves can be done with particle systems or post process chains.

Procedual puddles could be done within materials and then controlled by your weather blueprint.

3. This should probably be split up a bit as some of these features are unrelated.
Dynamic terrain (being able to edit the ground while playing) is a hard thing to tackle and I haven’t seen it implemented by anyone in Ue4 yet.
Just being able to affect the landscape heightmap in runtime would be very useful.

The rest of the features all have the necessary tools there, ready for users to build them with.
Placing and destroying objects in the world is very doable with blueprints and community people have already implemented systems like that.

Cutting, planting and growing trees is also very doable with blueprints.
Build a blueprint that lets you cut down trees, when a tree is cut it would switch mesh to a stump and maybe even let the tree fall to the ground suing an animation.
Then you could have a system that lets you populate your world with these blueprints(trees) or place them by hand.
Lastly you make another blueprint that lets players place seends into the ground which will place a sapling mesh after X amount if time, then switch it to bigger ones as time goes on until it’s a big tree.

4. I’m guessing this is a hard thing to implement that will work for everyone.
The tools and features Epic usually supply are the ones that can be used by most and not just benefit a tiny fraction of the community.
Since there are so many ways for games to handle all networking, with different 3rd party solutions and what ever each developer might prefer.
Each game’s needs can usually be very specific so it’s hard to get everyone’s needs covered by the same system.

You might want to write a bit more detailed about exactly what you’re missing so they can either implement it or tell you if it’s already available. Just saying that you want 100 players in a big world is very vague and is already doable based on that description.

5. Not entirely sure what you mean but the FPS counter only shows what frame rate you have right now on your computer in the editor.
Emulating other systems is very hard to get accurate as it completely depends on hardware and what the hardware supports. I think you’re better off scavenging your attic for an old computer and see how it performs. The editor and the cooked game will perform different as well so you’re best off testing the game instead of the game in the editor to make sure it performs.

When it comes to checking how assets perform and all that there is already good tools for this documented here.

I might have misunderstood part so let me know if I did.

Nope you understood perfectly! Thanks for the answers.

Number 5 fair enough
Number 4, in terms of networking, I am not even sure how networking fully works for multiplayer games.

I meant type of networking that helps you set up “zones” etc as needed in large open world MMOs.
Are there any documented networks? Is there a way to see what other networking architectures other MMOs use?
I am not sure where to learn more on this

I can’t help a whole lot with networking, I’m not experienced enough with that, hopefully someone else can chime in on this.

There is some documentation on networking and replication here: Networking and Multiplayer | Unreal Engine Documentation
But I can’t find much about the bigger part of it like server infrastructure and such.

There is some info about how to use level streaming here: Level Streaming | Unreal Engine Documentation
It can be used for making zones that load as you approach them and such.

I’ll read through them, still organizing the concept etc.

may I ask you have to use C++ to do MMOs Open Worlds?

You have to use C++ for any game. For Openworld MMO you need LOADS of coding. Especially for building network, it costs thousands of $ minimum just for network.