Returning to Havok), Bashiok has added some new info, and even included some quotes from D3’s lead technical artist Julian Love. He quoted some forum posters in his reply, and those are indented below.about corpses and game physics (the use of
[INDENT]or just disconnecting corpses from the physics engine when they come to rest, and have them fade out[/INDENT]
Aside from my previous comment of this not being nearly as fun (it would also look/feel kind of lame), Havok already knows when an object has come to rest and so they already have a lower cost when they’re still. Additionally with the proposed method there is no reliable way to determine when or even if a body will come to rest. In a single player game with a class that maybe doesn’t use a ton of skills that interact with corpses in a significant way this could work, but in a multiplayer game there could potentially be hundreds of corpses piling up as they’ve never come to rest due to all of the player skills firing off.
We’re also taking extra care to minimize the ability of a player to impact the performance of another player, as was sometimes maliciously done in Diablo II.
[INDENT]I am wondering why you just use an object’s age and don’t specify a complexity and priority attribute for each object. By combining these two with the age method you would be able to fade out highly complex physics and low priority (tiny) objects earlier.
I’m just going to quote Julian from an e-mail at this point so I’m not rewriting his words and acting like I know what I’m talking about here – “Because most objects in the game that use the age method aren’t different enough in anatomical complexity for this to yield significant benefits. The size of objects generally isn’t a factor. It is the number of unseen physics meshes that the technical artists add to these things that matters and they tend to be pretty similar from actor to actor. This is largely due to the anatomical similarity of living things in nature…”
Most things have appendages, a back bone, head, etc.
Julian also made the point that while we have our new system for determining the number and age of a physics actors, we still have the old tried and true “disappear after n seconds” method. We can actually choose which actors use which system, so our intent is to make sure that a destroyed table won’t make a corpse disappear, for instance. The corpse probably being the more important of the two to keep around.
Quite a few of you were discussing options, sliders, ways to control how long something takes to disappear, etc. and that may be a possibility. The current setting, which is around 20, is just our initial implementation. There’s always the possibility for that number to change, or for it to potentially be variable by the player. We do want to keep the game options uncluttered and consistent as much as possible though.