About Store Forum Documentation Contact



Post Reply 
Questions about float accuracy and large worlds ...
Author Message
Abril Offline
Member

Post: #31
RE: Questions about float accuracy and large worlds ...
(07-22-2011 07:48 PM)Spikelife Wrote:  One way you are really limited on the # of tiles you can use in a world by float accuracy; the other way a single world can truly be as large as you want up to the HUGE size of Int (32 bits).

Yes you are going to have floating point accuracy problems.
Assuming 1unit =1m, therefore 0.01 units = 1 cm, then you have to keep the world size within -10K / +10K limit before you start running into visible floating point accuracy issues, especially with physics.
Might be you wont notice them too much depending on the type of calculation - most of the issues are much more visible when doing for example rigid bodies silmuation close to the borders of the world.
In the physx documentation they even recommend keeping the range much lower, within -4K / +4K... ideally the world should be split into chunks of -4K / +4K and use chunk+offset for all calculations to avoid any issue.
On the other hand 8Km x 8Km is a pretty big sized world.
11-28-2011 12:03 PM
Find all posts by this user Quote this message in a reply
impi Offline
Member

Post: #32
RE: Questions about float accuracy and large worlds ...
(11-28-2011 02:23 AM)Demostenes2 Wrote:  It can be solved, but this is totally different story and actually there is no MMO on the world, which implements necessary technology. So this is reason, why they have cap like 10-20k players on one instance of world, more is impossible to handle by conventional techniques.
Second Life has a good (and relatively simple) system to cope with this and allows growth to extreme proportions : which is why I am suggesting similar to Esenthel : they have many regions [esenthel worlds] (over 30 000), each region runs on its own server and players can cross over regions and teleport between them. At any time there is between 50000 and 70000 players online with 26million registered. So the parallel in Esenthel would be to build seperate smaller worlds and place them alongside each other with visibility to neighbor world and ability to cross over. Once thats in place then 'unlimited' terrain is possible, as is MMO support - as multiple servers mean enough concurrent logins to qualify as MMO (not just MP - multiplayer).

(11-28-2011 02:16 AM)wysardry Wrote:  This seems to say that it can handle any area you can fit on a hard drive, which apparently is not the case. It may well be possible to modify the code to avoid the floating point accuracy limits, but the need to do that is not mentioned.
Well I haven't got into Esenthel enough yet, but my gutfeel is its going to be difficult to modify this, if even possible at all : as licensees don't get access to full source code, and this goes quite deep.

(11-28-2011 02:16 AM)wysardry Wrote:  The features list is one of the first places that potential users check when comparing engines, so it is important that they are accurate. Unfortunately, in my experience, they rarely are.
Most certainly this is not good and needs to be better clarified / fixed : as it can be quite upsetting to invest development time in an engine only to later realize it cannot do what it says on the box.

(11-28-2011 12:03 PM)Abril Wrote:  In the physx documentation they even recommend keeping the range much lower, within -4K / +4K... ideally the world should be split into chunks of -4K / +4K and use chunk+offset for all calculations to avoid any issue.
On the other hand 8Km x 8Km is a pretty big sized world.
In my (limited) experience with Havok physics I found 4km to be the limit too (I never tried neg 4k but it would be the same). At that range when there are enough physical bodies they can start doing strange things - like moving slightly, or even "vibrating". I would stick to around 3km to be safe.
11-29-2011 03:55 AM
Visit this user's website Find all posts by this user Quote this message in a reply
wysardry Offline
Member

Post: #33
RE: Questions about float accuracy and large worlds ...
Have any improvements been made to the size of supported worlds and avoiding floating point problems now that version 2.0 is out?
03-09-2014 09:22 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #34
RE: Questions about float accuracy and large worlds ...
There's no need to. F32 has already plenty of space for a huge game.
03-09-2014 11:40 PM
Find all posts by this user Quote this message in a reply
wysardry Offline
Member

Post: #35
RE: Questions about float accuracy and large worlds ...
"Huge" is a relative term. I was hoping the "unlimited sized worlds" feature mentioned on the site for the last 2-3 years had finally been implemented.
03-11-2014 07:46 PM
Find all posts by this user Quote this message in a reply
Rubeus Offline
Member

Post: #36
RE: Questions about float accuracy and large worlds ...
Keep in mind that even with all the tricks, due to floating point imprecisions, you will NEVER have a single truly unlimited sized world. However, you can have worlds that are as good as unlimited. What do you plan on doing that's going to require such a large world?
03-11-2014 09:25 PM
Find all posts by this user Quote this message in a reply
Dwight Offline
Silver Supporter

Post: #37
RE: Questions about float accuracy and large worlds ...
(03-11-2014 07:46 PM)wysardry Wrote:  "Huge" is a relative term. I was hoping the "unlimited sized worlds" feature mentioned on the site for the last 2-3 years had finally been implemented.

Good that you mention relative here.

You assume that your characters will be 2,0m, correct? So if you rescale your characters to 20cm (10% of the original size), as well as resize all assets to 10% of the original size, you world can become 10x bigger, as long as you don't forget to set speeds down as well.

So yeah, you can make a pretty crazy world, but as you said, it is all relative.
03-11-2014 09:56 PM
Find all posts by this user Quote this message in a reply
wysardry Offline
Member

Post: #38
RE: Questions about float accuracy and large worlds ...
(03-11-2014 09:25 PM)Rubeus Wrote:  Keep in mind that even with all the tricks, due to floating point imprecisions, you will NEVER have a single truly unlimited sized world. However, you can have worlds that are as good as unlimited. What do you plan on doing that's going to require such a large world?
One way of getting around the floating point accuracy problem is to divide the world into cells/zones/patches with each one having its own local coordinate system and a unique id. Add a paging system to load and unload them as needed and you could handle detailed maps bigger than any known planet.

I've been a fan of Elder Scrolls II: Daggerfall since the first time I played it. Despite being released in 1996, it had a playable area of around 63,125 square miles or 163,492 square kilometers.

I'd like to try my hand at creating something similar.

(03-11-2014 09:56 PM)Dwight Wrote:  You assume that your characters will be 2,0m, correct? So if you rescale your characters to 20cm (10% of the original size), as well as resize all assets to 10% of the original size, you world can become 10x bigger, as long as you don't forget to set speeds down as well.
That would only work if you didn't mind the individual features of the terrain seeming ten times bigger to your character. What was a one metre wide stream would look like a ten metre wide river.
03-12-2014 01:02 AM
Find all posts by this user Quote this message in a reply
Rubeus Offline
Member

Post: #39
RE: Questions about float accuracy and large worlds ...
If you make your char 1/10 size, you make the terrain and objects 1/10 size, too. This is only a band-aide solution, though, as being smaller would require more precision and thus often suffers just as much at higher values. It's a limitation of floating point numbers and the way the math is done.
Yes, individual section with it's own coordinate system would help imprecisions, but it creates a lot of other issues to work out programmatically.
Given the floating point inaccuracies, I'd guess they'd start being noticeable when getting bigger than a ~264km square map.
I think that you really only need 64bit floaters for seamless space games where you are dealing with lightyears and AU. But remember, using 64bit floaters doesn't play well with GPUs, and would reduce performance considerably.
03-12-2014 05:29 AM
Find all posts by this user Quote this message in a reply
wysardry Offline
Member

Post: #40
RE: Questions about float accuracy and large worlds ...
Any progress on this?

I noticed that Esenthel is now on Steam and saw that the site (and Steam description) still says there is support for unlimited sized worlds.

Unreal Engine 4 has had support for streaming large worlds and adjusting the point of origin to avoid floating point inaccuracies in single player games for a while now.
12-11-2015 11:02 AM
Find all posts by this user Quote this message in a reply
Tottel Offline
Member

Post: #41
RE: Questions about float accuracy and large worlds ...
A lot of people have talked about the issue here, but so far, I don't think anyone has made a world big enough yet to actually run into any of these issues.
12-11-2015 11:13 AM
Find all posts by this user Quote this message in a reply
Zervox Offline
Member

Post: #42
RE: Questions about float accuracy and large worlds ...
(12-11-2015 11:13 AM)Tottel Wrote:  A lot of people have talked about the issue here, but so far, I don't think anyone has made a world big enough yet to actually run into any of these issues.

Doesn't matter, alot of people think they can make similar sized worlds as daggerfall etc not thinking about how much of games like daggerfall is just generic filler content and randomly created dungeons and what not, not to mention how much work before even the actual game got started in development by pre-work on lore etc.

if someone do however exceed these world sizes and want it to be a continious world(no loading screen) they would have to make their own world management anyway since there are a few ways of dealing with world sizes, and EE locking itself to one method would piss off someone else(eg the requirements of infinite world space in a space game vs world game is similar but at the same time vastly different), they would have to do planning on how the system works, how they are going to handle AI following you across these boundaries(if they want).
12-11-2015 10:46 PM
Find all posts by this user Quote this message in a reply
RedcrowProd Offline
Bronze Supporter

Post: #43
RE: Questions about float accuracy and large worlds ...
people want a really complex system, given to them, with almost no thinking or trying. sadly for you, i don't think it will ever happens with EE, as he answered it here a couple time already.
12-12-2015 12:53 AM
Find all posts by this user Quote this message in a reply
Zervox Offline
Member

Post: #44
RE: Questions about float accuracy and large worlds ...
Indeed, but I'll just say it again, if you really need something as specific as for space or daggerfall like game you are better off writing your own world manager as the needs are very specific to that game.
12-12-2015 02:15 AM
Find all posts by this user Quote this message in a reply
wysardry Offline
Member

Post: #45
RE: Questions about float accuracy and large worlds ...
(12-12-2015 12:53 AM)RedcrowProd Wrote:  people want a really complex system, given to them, with almost no thinking or trying.

What most people want is for features described on the site (in several places) as being included in the engine to actually be implemented.

If the engine is never going to let people create anything larger than small islands without modifying the source code, it shouldn't say it supports "Unlimited Sized Worlds".
12-12-2015 01:51 PM
Find all posts by this user Quote this message in a reply
Post Reply