Physics in an endless world

So let me summarize what I understood so far and clarify a little:


  • The endless world is of course not millions of kilometers in size because no player could travel so far (so not even a solarsystem or similar^^).
  • Even a big world with several players should be divided because the physics objects around player B, e.g. 10 or 100 kilometers away from character A are not of interest for A and physics calculations are expensive.
  • In my memory it was possible for Bullet to do such a division.



    So pleasy tell me were I’m wrong.



    (If I should have caused confusion due to the use of “endless” I’m sorry, I did not think about telling it’s a “simple” RPG because for me that’s a well known fact ;))
@enum said:
A very pecise comment dear Normen. If you want to critize anything feel free to do so but do it in a way that I can understand what you mean.
pspeed did point me to difficulties in a constructive way, you tend to push people back.

My dear enum I wasn't emoting to you but to people who would understand. The facepalm emote generally implies a turning away from the subject in question. But as you're asking I will tell you.

I gave all the information I thought could help you, you basically ignored it and now I don't know what more to say. The whole thread along it was pointed out that partitioning your physics space and moving the world is the better solution. As you posed no questions on that topic I thought the idea started to permeate. Then you take the one comment by empire which implies not doing that and sum it up with that. :? --> :facepalm:

Again, to get a "double sized world" with absolute values you don't need to hack any of the apis as pspeed explained (only the actual world data would be doubles, not the spatials locations or physics objects locations). The only reason to use doubles in a physics space is to improve accuracy with large forces (or rather force differences) internally and that will come for free with native bullet.

So you ask me about the facepalm but not about anything else I said? Ignoring the information I give and looking for "insults" to jump on is simply not effective for yourself. You may not like me but you know I am right most of the time :P It took pspeed about a week to get the base for a full "endless" world working with the recommended approaches, it took empire about half a year or more (from my inaccurate judgement) to get the basics of his system working. Given, pspeed has more experience but empire didn't exactly make it easy for himself and at a gaming company I guess the people wouldn't really look happy if you expected them to hack their engine to doubles instead of doing what everybody else does..

So, no offense, I think a facepalm is the perfectly valid emote after two pages of explanation followed by the exactly wrong summary, isn't it? ;)
Peace.
1 Like

Yeah, I understood the facepalm as an insult like “The idiot doesn’t understand”. Probably I don’t understand but the “idiot”, that this emoticon implies to me, offended me a little as you guessed correctly. So I understood this wrong, too^^

On top of that you are right that you are right most of the time :wink:



Maybe I got an idea of what you (both of you) really recommended but I will do a quick test before I embarass myself (again)^^

I guess I do now know where the misunderstanding started (in the assumption that I understand you now^^):

Directly in the third post:

Basically you move the world instead of the player

That seems a bit strange within multiplayer, doesn’t it?^^


The local approach seemed strange to me because I am used to use bullet with exactly one physics space. So setting two players at different "real" positions into the origin wouldn't work.
Looking at BulletAppState now it seems not too difficult to use x PhysicsSpaces.
I hope that I understood it right and that this was the forest I couldn't see due to all those trees ;) (No idea if this phrase is known in english, too. At least normen will know what I mean^^)

You would not do all collision and location determination with the physics system anyway. You would use it for close, accurate collisions where you instantiate a local physics space with the data from your “world server/database” however that looks. This way its also much easier to say “player is on different continent, no collision with that whole continent” which is what you’d want anyway. So basically you fetch the (maybe even double) translation of the house in your world out of the db, subtract the (also double) player location (remember in the scenegraph the player is always at 0/0/0) and only if the object is actually within reach and visibility (and thus within the “float range”) you actually load it as a spatial and maybe add it to some physics space etc.

2 Likes

So understood it right now, yeah.



I’m sorry for having been “a bit slow” in understanding, it was just this little thing that confused all my thoughts and thank you for finally not giving up :wink:

2 Likes