|
Re: Fake Fizziks with commercial edition (A6)
[Re: qwerty823]
#27761
05/23/04 03:30
05/23/04 03:30
|
Joined: Sep 2002
Posts: 8,177 Netherlands
PHeMoX
Senior Expert
|
Senior Expert
Joined: Sep 2002
Posts: 8,177
Netherlands
|
Quote:
Probably so. I think the "fake physics" he's thinking about is from the last AUM, which has a bug, since it was done with pro. Although you can fake it by alternating "who" gets the object each frame, but only one object per frame.
Mmmm, so this mean it IS possible? Does anyone know how to switch this registration then, with using similar methods described in AUM? I thought actually that that's the bug in the AUM code !!?!?!! Haven't tried anything like this though, so...
Cheers
|
|
|
Re: Fake Fizziks with commercial edition (A6)
[Re: PHeMoX]
#27762
05/23/04 05:58
05/23/04 05:58
|
Joined: Oct 2003
Posts: 1,258 Virginia, USA
qwerty823
Senior Developer
|
Senior Developer
Joined: Oct 2003
Posts: 1,258
Virginia, USA
|
Well, the way George made the demo, he basically had the physics objects far enough apart that there would only be really one active at a time, but you could kind of do two at a time, by splitting the time for each entity between two (or more).
Kind of like this, I think:
Frame 1 Entity 1, gets physics, does its thing, releases physics Entity 2, does nothing, or just uses ent_move
Frame 2 Entity 2, gets physics, does its thing, releases physics Entity 1, does nothing, or just uses ent_move
Frame 3 Same as frame 1
Basically each entity is under physics control every other frame. This might work for some things, but would fail in some instances (like shooting a would be physics object in the frame that it wasn't under physics control). The more objects that you tried to split the time between, the worse it would be.
Never argue with an idiot. They drag you down to their level then beat you with experience
|
|
|
Re: Fake Fizziks with commercial edition (A6)
[Re: qwerty823]
#27763
05/23/04 06:06
05/23/04 06:06
|
Joined: May 2004
Posts: 358 USA
I_M_FRUSTRATED
OP
Senior Member
|
OP
Senior Member
Joined: May 2004
Posts: 358
USA
|
I think that one physics object per frame can do wonders. If the game runs at 60 fps then that would be ideal for a fake physics engine. At 60 fps, one object would get the physics properties for one of those frames. I get the picture, the user would think that the game ACTUALLY has a physics engine, when it's really one object per microsecond. This is because the human brain cant pick out what happens every microsecond of time, thus giving the illusion of a real physics engine. Sorry if I'm being too repetitive. Just a theory
|
|
|
Re: Fake Fizziks with commercial edition (A6)
[Re: ventilator]
#27764
05/23/04 06:50
05/23/04 06:50
|
Joined: Mar 2003
Posts: 5,377 USofA
fastlane69
Senior Expert
|
Senior Expert
Joined: Mar 2003
Posts: 5,377
USofA
|
Quote:
i think the standard ode solver is O(n*n*n) and newton is O(n*n) worst case so newton currently is faster aswell! there is a new ode solver in the works which is O(n)
What does this mean? I scoured the newton site to get a fix on what their mehtodology and only found this, which sounds like what Ventilator is basing his quote on. From the Newton Forums:
Quote:
Newton solver goes for acuracy rather than speed. The statistic order of the newton solver is best case linear O(N), worst case quadratic O(N*N). on average you get 0(N * log(N)). Where N is the number of restrited DOF.
I've done all manner of physics simulations and I admit my statistics are weak, but the above makes little sense to me. The Statistic Order is a SORTING techinique and those numbers somewhat represent diffrent how many diffrent comparasons are done until you get the result you were searching for. So I'm gathering they are sorting the DOF and then what, applying a physics update based on this sort? From my ignorance or their lack of facts, I just don't see where the claims of "accuracy" or "speed" are based on.
I've done runge-kutta integration, monte-carlo simulations, set up terabyte lattices, and even had a brief stint with quantum computing, but I've never done anything like a game physics engine, so the above I'm at a loss as to what the number above mean.
Long story short, I don't see how these arguments prove anything about speed since I don't understand how sorting and numerically integrating are related. I could make a million guesses related to matrices, taylor series expansion cut off, etc, but thats all PHysics and not game ODE, so could someone give me some insight as to what the above means?
|
|
|
Re: Fake Fizziks with commercial edition (A6)
[Re: fastlane69]
#27765
05/23/04 08:08
05/23/04 08:08
|
Joined: May 2002
Posts: 7,441
ventilator
Senior Expert
|
Senior Expert
Joined: May 2002
Posts: 7,441
|
if i understand this correctly this O() stuff simply is a way of describing how an algorithm scales performance-wise.
for example:
O(n) means that 10 constraints will take 10 times longer to process than 1 constraint.
O(n*n) means that 10 constraints will take 100 times longer to process than 1 constraint.
i am not really a programmer or computer scientist so please correct me if i am wrong!
|
|
|
Re: Fake Fizziks with commercial edition (A6)
[Re: qwerty823]
#27767
05/23/04 09:17
05/23/04 09:17
|
Joined: Mar 2003
Posts: 5,377 USofA
fastlane69
Senior Expert
|
Senior Expert
Joined: Mar 2003
Posts: 5,377
USofA
|
Thank you, yes, I'm aware of the Big O notation (never knew to call it that though LOL) and like I said I could guess at it's usage. In the context I was familiar with, you classify the error of your calculations as O(h), where h is the stepsize of your numerical integrator. I think n-order runke-kutta has cuttoff errror on the Order O(h^(n+1)); hence I my initial confusion. What I'm trying to get at is that sorting constraints is only one factor in a PE; thus how much faster one sorts than the other is one factor. The actual numerical algorythem's used are just as important when you want to compare one engines performance next to another. All that aside, please note that on the Newton forums, they are quoted with going for "accuracy over speed", thus, wouldn't it be the 3DGS PE that is the overall faster beast?? Or is it? Like I said, I've never programmed a PE....
|
|
|
Re: Fake Fizziks with commercial edition (A6)
[Re: ventilator]
#27769
05/23/04 10:38
05/23/04 10:38
|
Joined: Mar 2003
Posts: 5,377 USofA
fastlane69
Senior Expert
|
Senior Expert
Joined: Mar 2003
Posts: 5,377
USofA
|
Quote:
tokamak, novodex, meqon,... seem to use linear time (O(n)) iterative solvers
Quote:
compared to those newton is a bit slower but more robust
Quote:
ode currently uses an O(n*n*n) solver
So by your quotes, we have three diffrent "categories" of engines. Problem is I went to the tokamak, newton, and ode sites and can't for the life of me find ANY information that addresses the above. Where are you getting this info from? I have not reason to doubt the above, I just can't seem to find ANYTHING like the above in any of the sources I'm looking at. Is it books or mags or what? I'd be interested in comparing the "guts" of all these free (and mostly open source) engines. I'm not looking forward to actually having to decipher this info from looking at the code....brrrrrr.....:(
I guess I'm looking for equations or something less code related and more as to HOW THEY DO THE PHYSICS and not just estimates. Saying that ODE uses an O(n^3) solver says nothing to me without some context or proof of where this comes from.
|
|
|
Re: Fake Fizziks with commercial edition (A6)
[Re: fastlane69]
#27770
05/23/04 10:59
05/23/04 10:59
|
Joined: May 2002
Posts: 7,441
ventilator
Senior Expert
|
Senior Expert
Joined: May 2002
Posts: 7,441
|
for example i sometimes follow discussions about physics engines on several forums and mailinglists. read this post of the ODE author: http://q12.org/pipermail/ode/2004-May/012806.html
i know that such discussions aren't reliable sources but together with the conclusions i drew from my own experiments with several physics engines many of these things seem to make sense. if you do some stacking experiments you will see how fast you will bring a6's physics engine to its knees and that O(n^3) is plausible.
|
|
|
|