Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Large world support #1917

Open
HeadClot opened this issue Jan 6, 2017 · 11 comments
Open

[Feature Request] Large world support #1917

HeadClot opened this issue Jan 6, 2017 · 11 comments

Comments

@HeadClot
Copy link

HeadClot commented Jan 6, 2017

Would it be possible to get large world support in the main branch of T3D?

Here is what I mean by that -

  1. Terrain paging via Terrain Master
  2. Origin Shifting Via PhysX - http://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Manual/OriginShift.html
  3. Expose Origin shifting as a component

Since we already use PhysX This is part of the issue solved. However It would be dependent on getting physx 3.4.0 into the engine. I know that @rextimmy has a PR for that though. #2186

@Areloch
Copy link
Contributor

Areloch commented Jan 6, 2017

This is actually something that's come up a good bit, and already had some eyeballing done. It's not a perfect solution, but it'd be a good first step, in that I started looking at a level cell loading system. Think in games like Skyrim or the like, where the world is separated into a grid of level cells. As you move through, it progressively loads and unloads cells in the area around the player.

I already started some early investigative R&D along those lines, and it's looking promising. It wouldn't fix ALL issues, such as really extreme distances like your #2 touches on, but it'd definitely let you support moderately sized open worlds a la the elder scroll games. Correcting #2 is trickier, as it requires client-side tricks, and that touches a lot more systems, but it's certainly not impossible!

@HeadClot
Copy link
Author

HeadClot commented Jan 6, 2017

@Areloch - This is really good to hear. Let me know if you need any further help. I am not programmer but I am an artist... so I could provide some test height maps if needed. Let me know if you need anything. :)

I am really excited for this. :)

@ghost
Copy link

ghost commented Jan 6, 2017

Even modern RPG MMO games that come out now often do not have larger worlds than the usual 4x4 km or similar.

@John3
Copy link
Contributor

John3 commented Jan 6, 2017

@HeadClot is not the same, may this can help? #954

@HeadClot
Copy link
Author

HeadClot commented Jan 6, 2017

@John3 - That PR looks like it just handles the seams between terrains. I could be wrong though.

@John3
Copy link
Contributor

John3 commented Jan 6, 2017

Yep.. just that. Maybe is useful for you, is not a terrain paging.

@HeadClot
Copy link
Author

HeadClot commented Jan 9, 2017

Hey this is just an update on this issue. I found a cell based level system however it is part of a bigger project called Open Simulator and is written in C#. It is under the BSD license and is fully open source.

That said - It could be a very good reference for large scale multi-region worlds in Torque 3D.

@HeadClot
Copy link
Author

A few presentations on how to enable massive worlds :)

https://cesiumjs.org/massiveworlds/

@Bloodknight
Copy link
Contributor

At the risk of sounding like the master party pooper (all be it one who would like to use such a feature) There was once a discussion about which components should be part of a game engine vs which should be addons/plugins. I cannot help but feel that this in particular is one of those areas where the discussion should be considered, particularly since the terrain systems is a needy part of the engine (at least imo)

@HeadClot
Copy link
Author

@Bloodknight Ah good point.

@HeadClot
Copy link
Author

Hey I updated the original post for those not aware. Maybe we could expose this as a component? Mainly for modular reuse in the engine :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants