It is currently Mon Nov 19, 2018 3:14 pm

All times are UTC




Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 24 posts ]  Go to page Previous  1, 2
Author Message
 Post subject:
PostPosted: Fri Apr 02, 2010 6:19 pm 
Offline

Joined: Sat Mar 27, 2010 8:20 pm
Posts: 112
Location: Portugal
Actually you are right. I forgot about when there is a lot of people in an Age.. That is the one time the 50 collisions owuld stand a problem and probably crash the engine.

_________________
  • Meesem hevtee d'nee? Mees!
  • Lena biv kenen erthbantee me Keelentee.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Apr 02, 2010 6:50 pm 
Offline

Joined: Wed Dec 17, 2008 11:30 pm
Posts: 39
if the collisions would be calculated independently for each avatar in a loop the you would not reach 50.

_________________
"Never attribute to malice that which can be adequately explained by stupidity."


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Apr 02, 2010 6:57 pm 
Offline

Joined: Sat Mar 27, 2010 8:20 pm
Posts: 112
Location: Portugal
Well because ODE is open source that can actaully be changed to do that.
There just needs to be someone who knows enough about programing and physics engines to do that..

_________________
  • Meesem hevtee d'nee? Mees!
  • Lena biv kenen erthbantee me Keelentee.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Apr 03, 2010 12:07 am 
Offline

Joined: Fri Feb 19, 2010 5:04 pm
Posts: 115
Location: England
zehl wrote:
Actually you are right. I forgot about when there is a lot of people in an Age.. That is the one time the 50 collisions would stand a problem and probably crash the engine.

The limit is 50 simultaneous collisions which, AIUI, means things like a pile of 50 rocks where every rock affects every other rock and you have to calculate all of the forces together, or a Newton's cradle with 50 balls, etc.

That shouldn't be an issue for MOULa. You wouldn't treat avatars as normal physics objects which get pushed around by other objects. Apart from gameplay issues, it just doesn't work correctly. If someone gets shoved, they typically don't just topple over and roll down the hill; they'll compensate in ways that have more to do with neurology than physics.

When simulating the behaviour of a cone or similar, you would treat avatars as "terrain", i.e. a collision between a cone and an avatar will affect the cone but not the avatar. When moving an avatar, you would treat other avatars as terrain; if you bump into one, it prevents or deflects your motion, but won't cause the other avatar to move.

It would mean that you have to limit the number of "kickable" objects (cones etc) within an area so that the engine doesn't freak out when someone decides to pile up every kickable object on top of a sleeping avatar.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Apr 03, 2010 12:17 am 
Offline
Obduction Backer

Joined: Tue May 09, 2006 12:56 am
Posts: 251
MOUL (and Uru since the beginning) has treated avatar-avatar intersections as non-collisions. That means the collision complexity is O(n), where n is the number of avatars. And since each client handles their own avatar, it's really more like O(1).


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Apr 04, 2010 12:16 am 
Offline

Joined: Fri Feb 19, 2010 5:04 pm
Posts: 115
Location: England
Tahgtahv wrote:
MOUL (and Uru since the beginning) has treated avatar-avatar intersections as non-collisions. That means the collision complexity is O(n), where n is the number of avatars. And since each client handles their own avatar, it's really more like O(1).

Even if we implemented avatar-avatar collisions, and/or implemented collisions server-side, you would only need to collide against objects in the immediate vicinity. You don't need a physics engine to know that you're not going to collide against something fifty metres away. But I wouldn't use a full-blown physics engine for avatar-avatar collisions anyhow, just simple deflection.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Apr 04, 2010 12:57 am 
Offline
Obduction Backer

Joined: Tue May 09, 2006 12:56 am
Posts: 251
I believe that was purposely not done to prevent bullying. You wouldn't want someone to be stuck in a corner due to another avatar. It would cause all sorts of problems with people in the link-in spot, and general movement in certain areas of the game as well.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Apr 04, 2010 10:24 pm 
Offline

Joined: Fri Feb 19, 2010 5:04 pm
Posts: 115
Location: England
Tahgtahv wrote:
I believe that was purposely not done to prevent bullying. You wouldn't want someone to be stuck in a corner due to another avatar. It would cause all sorts of problems with people in the link-in spot, and general movement in certain areas of the game as well.

I can see the reasons why you might want to avoid avatar-avatar collisions. The downside is that it means that the only limit to the number of avatars which can occupy even a small area is the limit on the total number of avatars in an instance, which creates scalability issues (or rather, it rules out various mechanisms for improving scalability).


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Apr 05, 2010 12:03 am 
Offline
Creative Kingdoms

Joined: Tue May 09, 2006 8:06 pm
Posts: 6223
Location: Everywhere, all at once
An upside (of no collision) is that it makes possible the fun game of Sardines. ;)

_________________
OpenUru.org: An Uru Project Resource Site : Twitter : Make a commitment.
Image


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 24 posts ]  Go to page Previous  1, 2

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to: