General > Announcements

2.42.3b Now Available

<< < (4/8) > >>

EricL:
I've did lots of testing with both fixed and nonfixed bots before I released.  Here are some things to note:

Bots arrn't solid.  Collison detection just applies forces to their velocities.  The forces are scaled by their mass so this can result in some strange behaviour.  For example, if a massive non-fixed bot hits a lightweight non-fixed bot, things appear like you expect - they penetrate some, the massive bot gets deflected a little, the less massive one gets deflected a lot.  But if the less massive one is fixed, the amount the massive one gets deflected remains the same so it will appear as if the massive one moves through the smaller fixed one and only gets deflected a little.

(Hmmm.  This gives me an idea.  Maybe I should treat fixed bots as extremely massive for the purposes of calculating the forces on the non-fixed collider.  I'll try this...)

Also, bots under their own power can thrust against collison repulsion forces and penetrate.  As above, small mass bots won't have a lot of inertia.  It they thrust each cycle, they can overcome the collision forces.  Additionally, ties connect to a bots center so for very large bots, the length of the tie "pulls" the bots towards each other and provides forces opposite to the colision force.

Multibots present some other strange problems because the collison forces can be translated to tension forces on the tie so tied couples can sometimes appear to go through large bots since the forces on the bots can balance and the ties themselves are not currently part of collision detection.

Numsgil:
Alot of issues stem from the way the program lets bots interpenetrate in 2.4.

Elite:

--- Quote from: EricL ---(Hmmm.  This gives me an idea.  Maybe I should treat fixed bots as extremely massive for the purposes of calculating the forces on the non-fixed collider.  I'll try this...)
--- End quote ---
Good thinking. I'd say making fixed bots infinitely massive for collision calculations would probably solve some of the problems  

I've narrowed down my collision bug: If the first bot on the list is 'blocked' the collision detection for all bots is disabled.

EricL:

--- Quote from: Numsgil ---Alot of issues stem from the way the program lets bots interpenetrate in 2.4.
--- End quote ---
A lot of issues stem from the quantum nature of cycles.  Bots with high velocity can move a lot further than a pixel in a cycle, which means they can penetrate other bots before the code even gets to know there has been a collision.  For fast moving, small diameter bots, they can even collide and pass their centers before the code gets a chance to do anything.  I suppose we could move collision detection to be predictive in cycle n-1, but I'm not up for that today...  


--- Quote from: Elite ---I've narrowed down my collision bug: If the first bot on the list is 'blocked' the collision detection for all bots is disabled.
--- End quote ---

Ah hah!!!!!  Nice work.

Elite:
To be fair, after compensating for my collision-detection-disabling bug by placing the blocked veggie after the unblocked bot, I was really impressed with the physics.

I think that bug is the reason why collision detection wasn't working for me in the earlier versions either.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version