Shameless Request (click ads--and some news!)

Oct 24, 2007 at 9:40 PM
I know ads are annoying, but it's one way to try and get a little something back for all the time spent sitting in the basement building a physics engine.

So if you are feeling generous click an add or two for me. :-)

See them up there... at the top of the screen.

And just so this post isn't completely useless, some news!

I've got the new sweep and prune code from BioSlayer rolled into the engine. It's not performing quite as well as I expected, but I haven't performanced tuned it at all yet. At the moment, I'm defaulting to the normal brute force collider and have a property hanging off the Physics Simulator to turn on SweepAndPrune.

I've also fixed a few bugs found by people here in the forums and a couple I found my self. I am hoping to get this new build out sometime in the next week or two.

Oct 25, 2007 at 4:10 AM
Clicked =)

Can't wait for the new version. I am doing good progress on my project but I could use a small boost in performance so I have more latitude for other parts of the game (like the AI).
Oct 25, 2007 at 12:32 PM
Not sure the next release will have that big of a performance boost. Depends how much time I have to spend trying to tune things.

Right now I think my bottleneck is not the broadphase collision but rather the narrow phase and collision response. I have some ideas to help speed that up.

Oct 28, 2007 at 3:54 AM
Any chance you could post the SAP integration here as a sneak peak? If I get a chance, I might tweak it to use better frame coherence and see if that pays off. Basically, the idea would be to initially create the list of AABB successful geometry pairs that gets pass on to the narrow-phase, and from then on, incrementally update that list via custom sort... Ie, no testing occurs regarding objects already in the list... We just test new objects as the extents swap positions...

Oct 29, 2007 at 12:03 PM
I should have a new release out tomorrow (Oct 29th)
Oct 30, 2007 at 1:43 AM
New version is released!
Oct 30, 2007 at 5:22 AM

So, when I get a chance, I'll start taking a look at the sweep and prune... probably won't have any serious time until maybe the weekend.

BTW - On first past, I wonder if one area the SweepandPrune might be suffering is here:

if (w1.colliders.Contains(w2.geometry))

What I'm seeing happening is that there are actually quite a few objects in the list (single axis)... I'm new to C# and not sure how Contains finds the w2 geometry (linear search?) is in the list - but I found myself in Geom Equals code way too much... and I think at the end of the day, it is probably faster to just check w1 and w2 extents directly instead of finding if w2 is in w1's list - which may be quite large. Anyway - I have some ideas to give a try...

Oct 30, 2007 at 10:18 AM
Well, if you can speed things up in anyway, please let me know and I will role it back into the engine if you don't mind. I haven't had anytime to look at this other than getting it into the engine as-is.
Oct 30, 2007 at 3:35 PM
hey, just wanted to let you know I migrated to the new version and everything is running well. The changes to Geom were pretty painless, don't worry about it =)

One major bug I noticed though, when I tried the SweetAndPrune, basically nothing collided anymore. My character just falls through everything until the application crashes (reaches the max value of a float i guess).

Oct 30, 2007 at 5:31 PM
Hmm, I tested that briefly and it was working... I wonder if something changed. I'll check it out tonight when I get home.