Jump to content
Sign in to follow this  
9mm

Game physics

Recommended Posts

(if they still use the old collision detection)

OMG! Hopefully not! I remember the BMPs disappearing into the sky when bumped by another tank.

Or the problems to create an addon where you can load one vehicle into another. Usually both flipping and bouncing around until both are wrecked.

Share this post


Link to post
Share on other sites
OMG! Hopefully not! I remember the BMPs disappearing into the sky when bumped by another tank.

Or the problems to create an addon where you can load one vehicle into another. Usually both flipping and bouncing around until both are wrecked.

I think that also was due to the low refresh rates.

If an M1A1 tank is on collision course with a BMP tank, it often skip the actual first collision frame.

The very first detected collision in this case happens when the M1A1 is half way through the BMP. So the physics engine now detects multiple collisions on different faces (because the M1A1 is technically embedded in the BMP now) simultaneously creating a situation which isn't possible with n-body solving.

But since it can happen theoretically in simple Newtonian mechanics you build up an impossible force.

This can launch the BMP (and M1A1 in the worst case) with an impossible speed at an impossible trajectory.

And afaik, tanks aren't damaged by colliding with terrain even at high speeds. So they land unscathed.

I think the following needs to change in order to fix this: restrict collisions by the same object on multiple directions simultaneously through an a posteriori set. Increase refresh rate of the physics engine. Develop an a priori prediction system with an n-body solving algorithm.

And possibly the most important: Make very detailed shapes of the various collidable objects.

If this is done properly, BIS will be the masters of realtime computed collision detection.

Edited by SgtH3nry3

Share this post


Link to post
Share on other sites
with bit of effort the physics could look good already http://de.xfire.com/video/a32ca/
Yeah, but it doesn't fix the issues with collision detection though.

This one looks pretty funny aswell :D

82929-4.jpg

Except for maybe the sounds, and of course the bouncy physics. But since it's not a race simulator, I think the oversteering at 0:35 looks pretty cool.

I'm really interesting in the vehicle dynamics in OFP:DR since it's built on a racing game engine. (no I don't consider DIRT/GRID a simulator)

Share this post


Link to post
Share on other sites

LoL.... yes my ArmA Videos are the best... hehe ;-) :yay:

I have to learn till 20.00 o´clock for a chemistry test on university.... After that i will make Part2 of Physic Test... i made a few curios tests with more curios results..... so give me time till 22.00

PS: And sorry for my bad english... I am natural scientist and my school-english is not the best

Regards -rF- Cultivator :)

Edited by Cultivator

Share this post


Link to post
Share on other sites

ei always had loads of fun with 'crappy' physics since day one of OFP ... especially when blowing stuff up, and dying while inflight, getting stuck in a tree (like the scubadiver in one csi episodes...) :D

Share this post


Link to post
Share on other sites

Good evening....

My physicstest Part2 is ready....

just some little crazy tests and suggestions....

I hope you will enjoy it... if not... just listen to the music ... hehe ;-) :bounce3:

You can watch the video on the following link!

a3e32-4.jpg

I forgot one suggestion....

It would be nice if objects which moving down a hill slow down when there is high grass etc. it would solve the highspeed-problem

Regards -rF- Cultivator

Edited by Cultivator

Share this post


Link to post
Share on other sites

As long as you can't play cargolf like in OFP I'm happy. (Or sad, since it was alot of fun.)

Start at the airport in Nogova, one colourcoded civvie car per player, endless amount of satchels in a helicopter. 1-5 satchels per stroke, the hole is the lake east of Petrovice!

Share this post


Link to post
Share on other sites
I think that also was due to the low refresh rates.

I do not know the reason nor the technology that might solve this issue.

Fact is that in other game engines it works much better.

And the odd physics are inherit from OFP and it would be odd to see it again/still in the latest version of the engine after >8 years of development.

Since ArmA is among other aspects mainly about destruction I would like to see realistic collisions of any kind of objects.

If it is properly solved, they might be able to have natural chain reactions like "Tank collides with truck, truck is bouncing a wall, wall collapses, some bricks hitting a barrel,.....not the odd wall that simply turns by 90 degree in one peace and very slow.

Share this post


Link to post
Share on other sites

This game would be one of the greatest games ever made if they erased the odd physics and implemented some sort of ragdoll system for dead persons and animals.

Share this post


Link to post
Share on other sites

Good evening....

I wrote it in "Latest ArmA2 Press Coverage" but i think its better in this thread... :)

I am not an expert... but i think the physics for the characters and vehicles are not the same as for normal objects... I made some videos about object-physics.

If no ragdoll or other physicengine will be used in ArmA2 it would be better if after the deathanimation the character use the physic like the one for the barrels.

So it would be possible that the body can overturn etc. Perhabs its possible that just the limbs, head and arms use physics client-side and the torso will be syncron....

It would look better like in ArmA1 and you can use the torso as cover and the arms, limbs and head can move a bit.... but i don´t know if its possible in the engine....

Regards -rF- Cultivator

Edited by Cultivator

Share this post


Link to post
Share on other sites

i would agreed that overall physics should be renew, but i still dont buy the ragdoll stuff

edit: moving non ragedoll stuff back to press coverage

Edited by 4 IN 1

Share this post


Link to post
Share on other sites

I have no idea what so ever why you people HATE ragdoll so much, but you hurt my feelings!

Share this post


Link to post
Share on other sites
I have no idea what so ever why you people HATE ragdoll so much, but you hurt my feelings!

Well, I personally hate ragdolls, because it does something it's called. Ragdolls, the body of colliding object just works wrong, the mass, speed and all of that just seem as if when dropped body weights less than a balloon and especially in games like half-life 2 I can't but laught how when the body falls, it loses weight and body just collapses.

Share this post


Link to post
Share on other sites
I have no idea what so ever why you people HATE ragdoll so much...

First of all ragdolls uses alot of CPU power, and on a game such as ArmA II that's perhaps not the smartest move*. And secondly, it doesn't look very realistic to me. Current ArmA animations does the job, but it's far from perfect. However, this is better then to see your ragdoll body in weird unrealistic "death-positions".

In any case, here are some threads discussing ragdoll/physics:

http://forums.bistudio.com/showthread.php?t=66104&page=4

http://forums.bistudio.com/showthread.php?t=71703

http://forums.bistudio.com/showthread.php?t=26335&page=15

*(current recommended specs says Quad-core CPU and as a minimum Dual-core CPU)

Share this post


Link to post
Share on other sites
First of all ragdolls uses alot of CPU power, and on a game such as ArmA II that's perhaps not the smartest move*. And secondly, it doesn't look very realistic to me. Current ArmA animations does the job, but it's far from perfect. However, this is better then to see your ragdoll body in weird unrealistic "death-positions".
Ragdolls aren't really that CPU intensive, if the engine is properly coded.

Using purely ragdoll physics as a replacement for death animation won't work.

Other than procedural animations the best solution would be a motion captured animations combined with inverse kinematics for the final position.

Share this post


Link to post
Share on other sites

Hi Zerst0ren

I do not think anyone wants to hurt your feelings.

Ragdoll is great for certain things but it has an inherent problem: Exponential Load.

Exponential Load

This happens with all kinds of activities in very large games. It exists as a result of maintaining large numbers of dynamic entities. For each entity you have to maintain a big number of values.

Ammo

If you just consider just one aspect: Weapons counts per entity and you say they all potentially have, main weapon, a pistol, a rocket launcher, some binoculars, and NV goggles, current ArmA load outs. That is 5 items. 3 of those items have a variable number of ammo slots.

So the variables involved: Weapon type,

5 + 3 x 2 x n = 5 + 6n

lets give n an average value of 6 so 36 + 5 = 41

So that is 41 variables to be stored for weapon type and ammo magazines and we have not yet added in a variable for each magazine to keep its number of bullets!

So 2 x 36 + 5 = 77 variables

We have not dealt with direction weapon is facing so add 2 more variables that is 79. Which weapon is active so 80 dynamic variables. I am not dealing with static variables like range etc.

Now times it by the number of entities in ArmA certainly in the hundreds but can be in the thousands. Lets say 500 as an example. So 500 x 80 = 40,000 variables. Interesting that how the 80 becomes 40,000.

Now multiply it by the number of players in an MP game say 60 that 2,400,000 variables potentially passed by the server. Note I said potentially. Most of their time they sit on the clients.

A simple Ragdoll

Now let us consider a very rough non complex Ragdoll. Let us start with the hand. Since we want proper animations down to fingers on triggers and gripping weapons they need to be modeled accurately. 3 joints per digit but all the joints in the bottom joint at each hand junction need 2 variables each as they have variably limited rotation rather than just bending.

So 5 x 2 + 5 x 2 = 20 joints per hand so 40 variables for the pair. Wrists are rotators so 2 per arm so 44 variables, elbows ditto 48 shoulder 52. Add in the legs so 3 rotators hip knee and ankle plus one bender for the toes that is 3 x 2 +1 = 7 plus equals 52. Head waist jaw another six variables so 52 plus 6 equals 58.

It is a very very rough rag doll it has no shoulder rotation or back bend spines would add another 50 variables so it will look like a robot but lets do the math because that is what we are interested in.

58 x 500 entities = 29000 x 60 players = 1,740,000

Its a much smaller figure than the ammo! So it should work surely.

No. :(

There is a big major difference. All those variables have to be passed by the server in an MP game.

Otherwise in the example of a player P1 hiding behind a body E1 being shot at by player P2

i) In the case of P1 he is is lying behind E1's body on its side at a tangent to P1

ii) In P2 it is body on its back at different angle. So P2 can see and shoot P1

Obviously they have to be synchronized.

So you end up sending every single variable and your MP game does not even reach slide show levels. Not Frames Per Second they are Frames Per hour.

And this before we get to real complex physics and collision with other entities and the environment then you raise the calculations by powers of 10.

It can work in films and TV where it is pre rendered over many days.

In low entity count game it can work in SP with severely limited models such as:

* Extremity bones such as fingers often go unsimulated.

* Simple joints are used instead of actual constraints imposed by a true skeleton. (For example, human knee joints are often modelled as a rigid hinge even though an actual human knee allows some rotation.)

* Simplified collision hulls are used to detect contact with other rigid bodies rather than detecting collision with the mesh.

http://en.wikipedia.org/wiki/Ragdoll_physics

But in large entity count complex environments it is probably many years away before we see it in ArmA.

Computer capabilities will have to rise a bit first.

Kind Regards walker

Edited by walker
Clarity Headings and spelling

Share this post


Link to post
Share on other sites
Obviously they have to be synchronized.r
This doesn't have to be the case. Ragdoll physics are more like a part of esthetical correctness as I like to call it.

For a game like Armed Assault 2, ragdolls don't need to be anymore network intensive as regular death animations.

Just give the pawn a given trajectory and final position, sync that with the clients.

The client now recieve that data and you can limit the ragdoll physics to the trajectory and final position.

Combine a few death animations with ragdoll physics through blended ragdoll physics.

This way the ragdoll will always end on the same spot while the client does all the computing and it will never look the same.

Share this post


Link to post
Share on other sites

You don't transfer just one position - you'd have to sync all parts of the body into the same place as well.

Share this post


Link to post
Share on other sites
GTA4's is only like 3-4sq Km....

Now compare that to Arma2... 220sq km. Theres a lot more strain on your hardware...

Bad example, Gta4 has a 36 km² highly detailed urban map with tens of AIs on screen, dynamic and higly detailed damages on vehicles and everything is ruled by the powerful Euphoria motion engine while Arma is almost only220sq km of field with horrible death animation, bad physics and AI and on top of that crappy performance, except that GtA sucks Real Virtuality is no match ..

Well, I personally hate ragdolls, because it does something it's called. Ragdolls, the body of colliding object just works wrong, the mass, speed and all of that just seem as if when dropped body weights less than a balloon and especially in games like half-life 2 I can't but laught how when the body falls, it loses weight and body just collapses.

You hate ragdoll because you played Hl2 ? :j:

Maybe you should try Red Orchestra, this game has a bit old engine, but that's a good example of what you can do with a tweaked physics engine, even an old one..

And secondly, it doesn't look very realistic to me. Current ArmA animations does the job, but it's far from perfect. However, this is better then to see your ragdoll body in weird unrealistic "death-positions".

In Red Orchestra, ragdoll is a client side thing and it works well! Ofp and Arma death animations are as aesthetic as realistic ..

It's the same thing on every games, realistic or not, in Css everyone is free to disable ragdoll and even get surrender animation and that's what people whose computer sucks do.

I'ld love ragdoll for much more immersion, something close from RedOchestra except that body shall not move after being stabilised on ground with an option to disable it and get classic death animations for low end computer.

Edited by dunedain

Share this post


Link to post
Share on other sites

IMHO if ragdoll is calculated using same parameters and without random values then effect would be the same for all clients and it dont need to be passed by the server.

Ragdoll is just limited movement of limbs because of collisions.

Share this post


Link to post
Share on other sites
You don't transfer just one position - you'd have to sync all parts of the body into the same place as well.
You don't have too. Only the general position of the body is needed. You don't need to sync the positions of all the bones, joints, etc.

Hidden & Dangerous 2 has a similar system which I am describing, but the pawn location isn't synced with high accuracy.

It isn't relevant if said pawn is upside down, legs crossed and arms to one side. That is only important if you want exactly the same esthetics on all clients. Only the location of the pawn itself is important, so players or NPCs can interact with it (take ammo, hide body, etc).

Share this post


Link to post
Share on other sites

Replying to ragdoll-related posts in the press coverage thread:

IMHO if ragdoll is calculated using same parameters and without random values then effect would be the same for all clients and it dont need to be passed by the server.

Ragdoll is just limited movement of limbs because of collisions.

You can never have 100% matching conditions.

Desync between clients being the main problem.

You don't have too. Only the general position of the body is needed. You don't need to sync the positions of all the bones, joints, etc.

Hidden & Dangerous 2 has a similar system which I am describing, but the pawn location isn't synced with high accuracy.

It isn't relevant if said pawn is upside down, legs crossed and arms to one side. That is only important if you want exactly the same esthetics on all clients. Only the location of the pawn itself is important, so players or NPCs can interact with it (take ammo, hide body, etc).

When you are supposed to be able to take cover behind a body the position of legs and arms matters quite a lot.

Share this post


Link to post
Share on other sites

In Reply to a post in the Press thread

IMHO if ragdoll is calculated using same parameters and without random values then effect would be the same for all clients and it don't need to be passed by the server.

Ragdoll is just limited movement of limbs because of collisions.

Hi

Sorry klamacz

You are assuming that all values on all computers in an MP game are exactly the same at the instance of action. They are not. In fact large amounts of a servers time are spent synchronizing and correcting game state.

Butterfly effect

We are dealing with chaos theory here, the ragdoll suffers from sensitive dependence to initial conditions. :(

By adding ragdoll to each action you multiply the effects of the action when what you want to do in MP is make it more simple to reduce server load.

Kind Regards walker

Edited by walker

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×