Jump to content

Soft bodied damage physics?


8 replies to this topic

#1 MuzzledElk

    Rookie

  • Knight Errant
  • 5 posts

Posted 17 June 2012 - 04:29 PM

So I was snooping around the great varried expanses of youtube the other day and I came across this:

Cry Engine 3: Soft body Physics.



Now this may seem unrelated, but if you direct your eyes to the FAQ, there is something rather interesting that applies.

Quote

Q. What game engine is being used to develop the next MechWarrior® game?

A.We are proud to announce that CryENGINE®3 powers MechWarrior® Online™

I was wondering that if soft bodied damage physics are availible for use, will (not quite sure how to word this) the developers(you?) be able to implement it into gameplay by any meaningful degree?
So you may be saying:
"What the heck does that mean?"

Well my friend, what I mean is that when you launch a missile at a truck in real life, it does this.
Posted Image

Okay, so how does this fit into my ever elusive point?
Well, just simply glancing at this image, we can clearly see two things:
1)
This truck and its occupants are very dead
2)
This truck and its occupants are very bent and twisted into all sorts of ways that they should not be twisted in.

You may also notice another thing:
The front of the truck was hit with the explosive, not the back, therefore only the front is damaged (severely.)
Okay, great, but where is my point?
Well, when you look at the burnt, twisted remains of a truck like this one:
Posted Image
What do you think?
Probably something along the lines of;
"Yep, that truck is pretty dead."
...and then you move on with whatever else you were doing, immediately forgetting about the truck and how it was damaged entirely. This applies in larger part to Mechwarrior, but for lack of a proper image of a dead mech, I'll subsitute for now with a destroyed tank.

Posted Image


Just look at that, eh? Pretty dead looking indeed, but you notice something here, don't you? Its without a story, its nondescript and most of all, its boring. I can't even really tell if its a tank or not, I'm just assuming it is from the treads.
You don't know anything of what happened here, do you? To you and I, its just a pile of useless scrap metal covered in mud and grime.

Okay, so I've had my fun and I've given you some examples of wanton destruction, now what the blazes am I hoping to acheive through all of this?
Well look no further than the banner of this very site, hey, I've even taken the liberty of doing it for you and posting it here so you don't even have to look.
Posted Image

My my, look at that.
What do we see here? Destruction with a story. I'm not going to bore you by going into detail, but take a look at the mech on the far right. Part of its torso is falling off from laser damage or something. Look at the falling bits of molten metal as they rip from the main chassis, revealing the red-hot innards for all to see.

Now doesn't that look amazing?

The best part is?
This is essentially done for the developers by CRYTEK in the engine, all they have to do is re-code the damage system.
Okay, I'm getting ahead of myself here.

How I forsee this working is insead of a black blotch or red hot particle overlay onto the mech's model at the point of impact, is that there exists three layers to the battlemech. The first, outermost, layer is the armor plates, this should be self explainatory, but the damage would be done so that if you were to shoot a part of the armor plate with say, a small yeild missile, that area would be damaged and bent a little, but not the entire segment.

It would also be visible for all to see, meaning that one could damage an enemy and have the rest of their team coordinate their efforts upon that specific armor section, eventually revealing the next layer: the inner mechanics.

The entire mech would be realistically moved around by mechanical parts that one would find in everyday life (servos, pulleys, hydraulics, ect.), meaning that when someone manages to breach the outer armor, they are able to damage the inner workings on a much more realistic degree. For example:
Mech A is shooting at Mech B.
Mech B is hit in the elbow by Mech A with a Gauss round, thus nearly instantly piercing all armor and severely damaging the elbow's servo and either crippling the rest that arm down, or merely locking it in place depending on how lucky Mech A was.

Mech A sees this damage, and uses his small weapons to rip the innards apart with ease, thus further disabling the arm and possibly any hydraulic lines running through that area (if mechs use hydraulics, I have no idea if they do or not, correct me otherwise.)

Okay, you might be saying, this is entirely pointless, what's wrong with the old system?

Because having the arm magically swap to a charred, twisted model when destroyed really rustles my jimmies.
Posted Image

Okay, moving on.
Didn't I mention three layers? So far I've only explained two.
Well, the third layer of damage prone innards is the super-structure, the actual skeleton of the mech. Once the mechanical bits have been cleared away, all you have left is a whole lot of iron and joints. Its pretty simple of what happens to the super structure if shot, it breaks and the limb or area either falls off (everything but the middle torso) or crumbles apart (the middle torso) much like the image we see of the banner with the mechs shooting at eachother.

A way one could use this to be more interesting is if maybe Mech A falls awkwardly from a tall building or something, and lands on the edge of one leg, that leg would be bent horridly at the super-structure. The pilot would then be forced to deal with finding how to get back up and walking with it, and depending on the skill of the pilot the mech could either be disabled or crippled to the point of limping. This could also factor in the innards. (were any servos or hydraulic/electrical lines damaged?)

Now I know this would take a lot of effort and attention to detail, but I believe that it would elevate this game to a whole new level of awesome. Yell at me if I'm doing this whole forum thing wrong, this is the first time ever I've actually posted something onto one as a new topic. Thanks for reading and tell me what you think!

#2 Dirk Le Daring

    Member

  • PipPipPipPipPipPipPipPipPip
  • 2,083 posts
  • LocationAustralia

Posted 17 June 2012 - 04:40 PM

I see your points, they seem sound and logical. Just have to wait and see how it is put together.

On the workings of a mech....have a look at this..http://mwomercs.com/...y-an-education/ :)

#3 killer panzer

    Member

  • PipPipPip
  • 50 posts

Posted 18 June 2012 - 10:30 AM

if you look at the interviews that explain the different mech classes, you can see that some mechs are missing "very important parts". while they may not be using the soft bodied physics that you explain here, there is something replicating this principle in the promos. now that i think about it, the promo where they hot-drop an atlas there is one soft body on it. the two black cables that detach, or it can just be CG animation, i dont know.
on another note, soft bodied physics also take up alot of data processing bandwidth. the least invasive simulating that i can think of off hand would be PhysX (gag). but this is not nice to non-nvidea chips; amd, intel, and ati will get clogged up rendering them. i havn't seen any official writing or post anywhere, but when they explained some of the tech aspects of MWO, they seem to be focusing on overall performance, not proprietary toys like what we see in a smoldering slag pile called "crysis". i think they will stay away from this in release, if not completely.
my last bit is your "layered" idea. this is a great idea, but you explain 3 different layers, which require 3 different simulations one after another. while this may work with the first round and single round, the simulations will become exponentially complex with each subsequent round. the problem stems with the polygons, the objects that give computer objects shape, and in this case mass. when simply rendering damage or shape, it can be done quickly, but the game will turn one "bone" into 1000 fragments.

the edit is spelling corrections

Edited by killer panzer, 18 June 2012 - 10:34 AM.


#4 MuzzledElk

    Rookie

  • Knight Errant
  • 5 posts

Posted 18 June 2012 - 10:51 AM

View Postkiller panzer, on 18 June 2012 - 10:30 AM, said:

if you look at the interviews that explain the different mech classes, you can see that some mechs are missing "very important parts". while they may not be using the soft bodied physics that you explain here, there is something replicating this principle in the promos. now that i think about it, the promo where they hot-drop an atlas there is one soft body on it. the two black cables that detach, or it can just be CG animation, i dont know.
on another note, soft bodied physics also take up alot of data processing bandwidth. the least invasive simulating that i can think of off hand would be PhysX (gag). but this is not nice to non-nvidea chips; amd, intel, and ati will get clogged up rendering them. i havn't seen any official writing or post anywhere, but when they explained some of the tech aspects of MWO, they seem to be focusing on overall performance, not proprietary toys like what we see in a smoldering slag pile called "crysis". i think they will stay away from this in release, if not completely.
my last bit is your "layered" idea. this is a great idea, but you explain 3 different layers, which require 3 different simulations one after another. while this may work with the first round and single round, the simulations will become exponentially complex with each subsequent round. the problem stems with the polygons, the objects that give computer objects shape, and in this case mass. when simply rendering damage or shape, it can be done quickly, but the game will turn one "bone" into 1000 fragments.

the edit is spelling corrections


The bandwith is a very valid argument, so I believe the whole system can be dumbed down a bit into manageble "chunks".
Lets say with each section of the mech (Middle, left and right torso, head and legs) are all divided into three more sections that can be individually damaged, giving the illusion of soft bodied damage. I don't think it would be too difficult to have the layered system in effect if each subsequent layer, when destroyed becomes active. (When the outer armor layer is destroyed, the actuators become 'active' and visible.)
Now for ASCII art! :D
| is armor
] is mechanical parts
= is super structure or skeleton
Arm
|[=]|
|[=]|
|[=]|
|[=]|
In this example, only the armor is simulated.
Damaged arm

|[=]|
|[=]
|[=
|[=]|
In this example, the mechanical parts and skeleton is simulated in the damaged areas of lines 2 and 3 respectivly while only the armor is simulated in lines 1 and 4.

#5 Sesambrot

    Member

  • PipPipPipPipPipPipPip
  • Bridesmaid
  • 862 posts
  • LocationGermany

Posted 18 June 2012 - 11:43 AM

Just because it's possible (video), doesn't mean it's always viable...

Ask yourself, how big of a difference would this make ingame, and how much effort would need to go into it in order to make it work.

I agree that it would be really super awesome to see this kind of destruction, but the difference would be negligible...
It's a purely cosmetic feature, maybe good for some "Uuuhhhhs" and "Aaaahhhhs", but after that people will hardly notice it anymore.

An example:
Did you play the original Crysis? Do you remember that one of it's most advertised features where destructible environments? The trees and shacks?
Ask yourself, how many times did you actually bother to blow up a shack like that, or "cut down" a tree with your rifle?
I'm going to assume, that while playing normally (not messing around with the physics) you maybe cut down a tree two or three times, and then didn't bother with it for the rest of the playthrough, because it's honestly really just a way to waste ammo. It may look a bit different for the shacks, but really only if used grenades or RPGs against infantry inside those buildings, and then it just happened to be blown up alongside the poor guys inside of it...
You could bring up Red Faction as a counterargument, but that game actually revolves around destroying the environment, Crysis and MWO do not, you can't even use it to your advantage. ...not really

But we're not even talking about the environment here, but what is essentailly the playermodel, so it has even less effect on gameplay.
As said before, a nice to have feature, but not really important...


One also needs to look at the work required to implement it!
I'm not a coder, so I can't tell you how long it would take to implement the feature codewise, your idea sounds simple enough, but
(and that's a big one) you also need to consider the amount of work required on the modelling side of things!
having three layers (armor, actuators or "mechanical parts", internal structutre) for every part of the mech, would at least tripple the amount of work needed to produce a single model. If you then split up each mech-component into multiple parts as well.......
In itself that doesn't seem like too much trouble, but all that stuff needs to be checked for leaks, triangulation, then rigged and animated and whatnot...

In total, that means you would probably increase the amount of work and time needed to create a single mech, to 4 times of it's original!
And all that just for a gimicky visual feature that you'll barely be able to notice with all the explosions around you?

That time is better spent on actual gameplay features.

Edited by Sesambrot, 18 June 2012 - 11:44 AM.


#6 killer panzer

    Member

  • PipPipPip
  • 50 posts

Posted 18 June 2012 - 01:32 PM

View PostMuzzledElk, on 18 June 2012 - 10:51 AM, said:


The bandwith is a very valid argument, so I believe the whole system can be dumbed down a bit into manageble "chunks".
Lets say with each section of the mech (Middle, left and right torso, head and legs) are all divided into three more sections that can be individually damaged, giving the illusion of soft bodied damage. I don't think it would be too difficult to have the layered system in effect if each subsequent layer, when destroyed becomes active. (When the outer armor layer is destroyed, the actuators become 'active' and visible.)


i understand what your saying. but the flaw is this, while breaking them up into sections may work, you are still creating more polygons from each hit. fragments from debris will still be flying, density and shape will be recalculated. soft body physics is normally used to simulate fabric, grass, and objects that are "ambient" as Sesambrot describes. this is because they are simple codes that will only react in one way.

for the sake of space, im cutting up your post to focus on my responce

View PostSesambrot, on 18 June 2012 - 11:43 AM, said:

Just because it's possible (video), doesn't mean it's always viable...

Ask yourself, how big of a difference would this make ingame, and how much effort would need to go into it in order to make it work.


Did you play the original Crysis? Do you remember that one of it's most advertised features where destructible environments? The trees and shacks?
Ask yourself, how many times did you actually bother to blow up a shack like that, or "cut down" a tree with your rifle?
...RPGs against infantry inside those buildings, and then it just happened to be blown up alongside the poor guys inside of it...

One also needs to look at the work required to implement it!
I'm not a coder, so I can't tell you how long it would take to implement the feature codewise,


im unsure who your crysis comment is directed to. i think we are arguing the same point initially. like you im not a programing expert or programer, but i try to keep an understanding of the subject. the mechanics of MWO is cryengine, the programing is based off of nvidea coding. they will not need to rewrite much if anything, simply expand existing codes.
after some research i found that by programing something like this, you can have things other than aesthetic responces. your RPG for example can be used to determine area-of-effect weapons. shooting a cliff can induce a rockslide and make a mech loose its footing, or get pummeled from above.

#7 Darksteps

    Member

  • PipPip
  • 20 posts

Posted 18 June 2012 - 07:47 PM

Quote

i understand what your saying. but the flaw is this, while breaking them up into sections may work, you are still creating more polygons from each hit.


Actually you wouldn't be creating more polys per hit, if you look at the vehicle models in GTA IV, the areas that would show greater detail where damage is concerned, already have the polys there. Also, if you're using Tesselation and displacement maps, the damage could be done with normal maps.If the damage is represented through the use of normal maps, they would be client side and there would be no extra calculations to send to the server and then to other clients. There is no need for an increase.

Also, polycount isn't that big of a deal for Cryengine 3. The polycount for player characters can range from 3,500 to 11,000 and up to 16,000 for NPCs. Obviously, the mechs would be the player characters. And if your system could run the first Crysis, which was built off of Cryengine 2, you should be able to run anything that Cryengine 3 can throw at you; it is more optimized than 2 was.

In GTA IV it was referred to as procedural damage now if is most often called soft body damage, but if it could be done with an inferior engine 5 years ago, with no fps loss, it should be easily doable in Cryengine 3.

Edited by Darksteps, 18 June 2012 - 07:51 PM.


#8 Nacon

    Member

  • PipPipPipPipPipPipPip
  • Knight Errant
  • 661 posts
  • LocationMars

Posted 15 July 2012 - 06:06 AM

I guess you guys haven't seen this yet.





Developed by Rig of Rods, moved their softbody and vehicle physic on top of CryEngine.

Edited by Nacon, 15 July 2012 - 06:14 AM.


#9 CmdrSpider

    Member

  • PipPipPipPipPip
  • 170 posts

Posted 15 July 2012 - 06:53 AM

I'm all for more realism as long as it doesn't slow down the production of the game or cause the game to lag. The game will be fun without this level of detail, but would be totally Awesome with it.





9 user(s) are reading this topic

0 members, 9 guests, 0 anonymous users