THE-END-ALL-EXISTENCE-BE-ALL-GREATER-THAN-GOD-PHYSICS-ENGINE

Community Forums/Showcase/THE-END-ALL-EXISTENCE-BE-ALL-GREATER-THAN-GOD-PHYSICS-ENGINE

Bouncer(Posted 2003) [#1]
No, not really. Just a little demo that does the same as Halos "engine", which is just about nothing more than a basic spring/particle physics.

So Halo, here's your RagDoll. I can't believe I just used a few hours of my precious time for a thing I don't need. But can't eat my words.....

www.kotiposti.net/naama/dragqueen.zip

And to everyone that wants a physics system:
Just study a little, there's code around here everywhere.
Study this system and DMC's, Bot Builders and Miracles work.
This stuff is VERY simple. It's a lot better to code a physic engine for YOUR needs to handle the things it needs to handle, than use some kind of all-a-round physics system. The info is here on this site, just use it. It's not a big job.


Gabriel(Posted 2003) [#2]
If I press f1 or f2 I get Entity Does Not Exist.

Yep, certainly physses ( thank you for a great word, Simon ) all over Halo's efforts.


fredborg(Posted 2003) [#3]
Yeah, but yours don't use some obscure userlibs, so it's not as good ;)

Now, you just need to make a muscle structure, so we can do a flexing Arnold Ragdoll :)

Thanks for sharing!
Fredborg


Bouncer(Posted 2003) [#4]
It works fine for me... so I don't know what's the problem.... run debug and see what's going on. I'm using visual blitz editor, so I hope the .bb is not corrupted because of that.


granada(Posted 2003) [#5]
ran ok for me!


Gabriel(Posted 2003) [#6]
That WAS with debug enabled. If you mean you want the line it errors on, it's :

ScaleEntity p\mesh,rad,rad,rad



Wiebo(Posted 2003) [#7]
Nice!


Gabriel(Posted 2003) [#8]
Well I've downloaded it twice and run it eight times. It errors exactly the same no matter what I do.


Bouncer(Posted 2003) [#9]
I tested it with the old blitz ide aswell, works , fine debug on or off. strange bug.


JoshK(Posted 2003) [#10]
Your knees can go backwards. There is no "front" to your figure. This was actually the hardest part of the code.


Bouncer(Posted 2003) [#11]
It's there to people to improve or abuse or whatever... i don't have the interrest.. just did some basics.


sswift(Posted 2003) [#12]
Halo, you're mistaken. His code already does that.


http://www.ioi.dk/Homepages/thomasj/publications/AdvancedPhysics_files/v3_document.htm


See:
Articulated bodies
Angular constraints


All he needs to do is add one distance constraint (spring) to each leg, and set the legs up so that they use hinge joints instead of the pin joints they use right now.

He just constructed his model in a simpler manner than he could have.


sswift(Posted 2003) [#13]
Fix it up bouncer, show Halo's who's boss. :-)


Koriolis(Posted 2003) [#14]
Bouncer, the bug is very simple: the "mesh" in TParticle is a float instead of an integer. So depending on wether the entity handle fits into a float's mantissa (24 bits), it will, or will not work. This is the reason why it works for some peaople, and doesn't for others (as the handle is kinda random, being just a pointer).
Jusdt removing the '#' will make it work for everyone.

Your example is nice. It clearly shows how simple it is even if it's very powerful. Which is really the beauty of verlet integration.


Bouncer(Posted 2003) [#15]
Glad you pointed that out... it was made in a hurry so typos like this may exist


JoshK(Posted 2003) [#16]
Come on, constrain the knees properly.


Smurfpuss(Posted 2003) [#17]
halo i have sent you a e-mail


Warren(Posted 2003) [#18]
Wouldn't his email program notify him of that?


Craig H. Nisbet(Posted 2003) [#19]
Yeah, the float fix worked for me too.


Craig H. Nisbet(Posted 2003) [#20]
So how do you go about attaching this ragdoll stuff to a B3D model?


RexRhino(Posted 2003) [#21]
Man, yes this is neat stuff, but have you looked at bouncers code? Pourly commented, no indentation, and incredably difficult for someone else to pick it up and do something with it. It is an interesting hack, and better than I could do in one night, but it isn't very useful. With the time it would take for me to understand your code, I could write my own.


sswift(Posted 2003) [#22]
"So how do you go about attaching this ragdoll stuff to a B3D model?"

Well, you'd use two verlets to represent the primary axis of each bone and align each bone in the model to this exais each frame.

Probably have to take into account roll somehow though.


"Wouldn't his email program notify him of that?"

Halo only checks his email like once a day. :-)


Koriolis(Posted 2003) [#23]
With the time it would take for me to understand your code, I could write my own
Wasn't it exactly his point? That is, verlet physics being relatively simple, writing your own system is affordable. Now it's clear for me that if you can have an already written library (with a consistent interface) that entirely suits your needs, well of course use it, don't be fool :)
Anyway as I understand it, it was not meant to be used as is, it's just a code snippet, not a library.


dmc(Posted 2003) [#24]
love the title lol.

hey i got a question for those of you that have been playing with verlet entites.

i need to create different types of springs between the verlets. well more accuratly i need to be able to better control each spring with paramters such as dampening, spring tension, rest length, and most importantly a compression routine that will allow me to give different resistance values for different compressions.

why? i need to make a more accurate suspension model.

so heres the question: if my structure had different types of springs would the overall system suffer from severe instability problems when it goes thru the relaxation loop?


bradford6(Posted 2003) [#25]
Pretty cool I like this programming battle stuff. Kinda like IRON CHEF

IRON CODER Halo VS. Bouncer

Ingredient = Physics


Bot Builder(Posted 2003) [#26]
Love the topic as well. especially the greater than god part. it's pretty funny. for a second I was thinking "Oh not again!!".

hmmm. about your question dmc, I think that the system would be fine. the key of course is not the method, but the use of the system. You havve to get the springs right or else it will be intrinsically unstable. In english, If you have two springs always disagreeing, it's gonna be very unstable. Well, I guess you could say that about the normal spring system anyway. so, I say go for it. I myself was thinking of impliminting a "1D bezier curve" spring where you give it 4 control points that define the resistence of the spring at different compressions.

hah. just ran the demo. nice. Well, I agree with bouncer on that physics should become a "mostly code your own" thing. I mean, you could use someone elses, but what happens when you need support for somthing it hasn't got. My own physics engine was more of a learning project. I have a much better understanding of blitz commands, and now know how to write a basic physics system in 1-2 hours. Maybe physics will go the way of the particle systems. Generally understood, widely programmed, and with a few really good librarys.


JoshK(Posted 2003) [#27]
Come on, constrain the knees so they don't bend backwards.


Caff(Posted 2003) [#28]
Nice stuff Bouncer, very clean implementation.


googlemesilly(Posted 2003) [#29]
is this the equivalent of a schoolyard fight in blitz ??
lol ... just kidding !

S/D


Red Ocktober(Posted 2003) [#30]
hahaha... shhhhhh let em fight for a while longer....

we can all benefit from this :)

Great stuff... both of you egomaniacs!!!

--Mike


wedoe(Posted 2003) [#31]
Very nice stuff Bouncer :)
Giitos !


Smurfpuss(Posted 2003) [#32]
yes it's nice but use less to me i am not that good coder so i can implement is in to singularity engine


BlitzSupport(Posted 2003) [#33]
The constraints thing *is* pretty important for convincing ragdoll effect...


Zephar123(Posted 2003) [#34]
well really I think halo did a better juob not trying to dog or anyhtign. Tips his hat at halo.