PDA

View Full Version : To Pixelux: Questions



podtech115
04-28-2010, 09:37 PM
You don't have to answer all of them, but it would be very nice if you could answer some. :)

1. If you had a game that was made only for the PS3, how much better would the physics be? And how many times faster then the Xbox would it be?

2. Are you aware of all the Physics Engines out there? And what do you think of them?

Breach:
http://www.youtube.com/watch?v=wQmXifRw ... IRnF6o9bVo (http://www.youtube.com/watch?v=wQmXifRw9nM&playnext_from=TL&videos=6IRnF6o9bVo)

APEX Destruction:
http://www.youtube.com/watch?v=grIVUDH4 ... YzL2inpfEE (http://www.youtube.com/watch?v=grIVUDH4FIM&playnext_from=TL&videos=MYzL2inpfEE)

Havok Destruction
http://www.youtube.com/watch?v=a06hAe747Do

Structure Procedural System:
http://www.youtube.com/watch?v=AtC0lpKKE38


3. IS there anyway For DMM to work with Tessellation? OR is this going to be a problem?
http://www.youtube.com/watch?v=bkKtY2G3FbU

4. Can your DMM work with Unlimited Detail or Voxels in the near future?
http://www.youtube.com/watch?v=THaam5mwIR8

5. Why does DMM only works with ATI's Radeon graphics cards? Why not Nvidia's Fermi?

6. They said in The Force Unleashed, that the DMM forced to work with Havok Physics and Euphoria. Why did they need Havok at all? Wasn't DMM good enough to work the Physics by itself?

7. How much more powerful would DMM be if it was used in a GPGPUs like Fermi?
Here's a Fermi video showing how powerful the card could be:
http://www.youtube.com/watch?v=nlcc9wJA ... yT9MUm2JJI (http://www.youtube.com/watch?v=nlcc9wJAzFQ&playnext_from=TL&videos=wyT9MUm2JJI)
I don't trust tech demos, so I'm not sure if the video above is real.

8. You keep saying that you do not have permission to show anything new. That's Understandable. But can we have a date when you can talk about it? Like, let's say, 3 years from now? Because if you can't say anything after 3 years, then we may never get to see another DMM thing for a long time. Which just makes me sad. :(

9. Are CPUs or GPUs today powerful enough to make a fully working DMM building (with rooms and all), or a DMM town/city? And if not, when will it happen?

Thanks

Mr. Wonko
05-07-2010, 09:47 AM
I'm not pixelux but I can still answer one of the questions.


5. Why does DMM only works with ATI's Radeon graphics cards? Why not Nvidia's Fermi?
It doesn't only work with ATI's Radeon cards.
As far as I know they're working on (or have already finished) OpenCL support which is an open standard for computations to which anybody can add support for his hardware. So theoretically Fermi could get support as well.

I've got another question though: Will The Force Unleashed 2 use DMM 2?

podtech115
05-10-2010, 02:17 PM
Thanks Mr. Wonko, at least I got one answer.

dmmjedi
05-14-2010, 12:31 AM
Hmm, some good questions!

1. If you had a game that was made only for the PS3, how much better would the physics be? And how many times faster then the Xbox would it be?
Answer 1) DMM 1 is roughly the same level of performance on both the PS3 and the Xbox360. The PS3 version takes advantage of the Synergistic Processing Units (or SPUs). DMM Performance is scalable with the number of SPUs you decide to use so you could theoretically decide to use most of them for DMM. This would yield you around 2700 live tetrahedrons to simulate. A typical game has around 150 - 300 tetrahedrons per object, so you can imagine how many that would be in a typical scene ~ 9 - 18 objects. You can have way more than that objects in a scene that are not live though. The number of objects goes up depending on fracture and material property (floppy objects are quite cheap to simulate). I think you could build a game on the PS3 that ran at over 60fps if you dedicated most of the SPUs to DMM and kept the rendering load to a minimum.

2. Are you aware of all the Physics Engines out there? And what do you think of them?

Answer 2) I'll take each one in turn and give you my thoughts...

Breach:
http://www.youtube.com/watch?v=wQmXifRw ... IRnF6o9bVo

Comment: An interesting engine. The use of destructible cover is nice, but the destruction itself is still rigid-body based. You'll notice that objects simply "disappear" when destroyed, they don't flex and bend. There is no simulation of internal stresses of objects, just jointed rigid bodies being detached. This can work well for very rigid objects like bricks and stone, but even those things bend slightly before breaking. When large pieces of even very rigid objects are moving around, you will find that they still flex and behave quite differently from the way a rigid body system portrays them (what I like to call, "giant pieces of styrofoam"). Our Gamebryo demo video shows the way we do such things much better.

APEX Destruction:
http://www.youtube.com/watch?v=grIVUDH4 ... YzL2inpfEE

Comment: Don't want to make my friends at Nvidia feel bad, but DMM is way better :) For all the reasons I cited above.

Havok Destruction
http://www.youtube.com/watch?v=a06hAe747Do

Comment: Another way to milk a rigid body system. Add breakable constraints and you have realistic destructibles! right? NO!!! it is not as good as our finite element-based approach. Things made this way look like they are falling apart. Without true simulation of stress, even breakable constraints make stuff look fake.

Structure Procedural System:
http://www.youtube.com/watch?v=AtC0lpKKE38

Comment: more rigid body destruction...

Overall, you have to remember that when engineers model real-world systems, they do it with continum physics (finite element analysis). DMM is built on that foundation. A scene with even a few DMM objects can have hundreds of times the detail of a rigid body system. I like to call this "kinetic fidelity". Your eyes and visual system are very well adapted to sense kinetic fidelity. Seeing stuff move is something human vision does extremely well. When we see something that looks fake or doesn't move correctly, we notice it far before we notice color or rendering details. Wood flexes slightly before it breaks, brick can crumble upon impact, rubber bounces and plastic objects bend and can stay bent depending on their plasticity, deformation limits and energy dissipation. We model all these things and more inside of DMM, and we use that stress information to model fracture as well, so when stuff breaks, it looks real.

3. IS there anyway For DMM to work with Tessellation? OR is this going to be a problem?
http://www.youtube.com/watch?v=bkKtY2G3FbU

Answer 3) Sure, we can work with that. DMM only cares about the tetrahedral mesh. The surface meshes can be anything and are deformed by a shader that is driven by the tetmesh. Potentially, you could have higher resolution DMM meshes that you could instance in for level of detail, we have discussed that with some game developers.

4. Can your DMM work with Unlimited Detail or Voxels in the near future?
http://www.youtube.com/watch?v=THaam5mwIR8

Answer 4) Its funny you should mention Voxels. We spent about 2 years researching Voxels and had voxel-based object representation working quite well. Since then we have graduated to a tetrahedral representation. The way to work with that would be dynamic remeshing (similar to what the hardware tesselator in question 3 works). For now, we don't have any plans to support unlimited detail directly within the API for DMM2. Perhaps someone will do something clever with LOD meshes...you never know :)

5. Why does DMM only works with ATI's Radeon graphics cards? Why not Nvidia's Fermi?

Answer 5) We are targetting ATI's boards first with OpenCL. Fermi and other Nvidia boards also work with OpenCL and should be able to run the same code.

6. They said in The Force Unleashed, that the DMM forced to work with Havok Physics and Euphoria. Why did they need Havok at all? Wasn't DMM good enough to work the Physics by itself?

Answer 6) You could make an entire game with just DMM as the physics. Euphoria is a character simulation system, so it really doesn't figure in the comparison. Rigid body systems are good for certain things like simple colliders and constrained movement objects. In TFU, each of these systems had a specific area it made sense to use it in. Making them all work together is really a testament to the engineers who worked on the project. There are interesting issues between systems (which we have remedied in DMM2). For example, in DMM, the rotational inertia and restitution of an object are implicit in its reaction to external forces through our simulation of internal stress based on 14 material properties. In a rigid body system, you have explicit representations of things like rotation and force as well as restitution. Having these two different kinds of physics work together can be achieved with an interleaved simulation where you convert the forces in one system to a form where they can interact with the other and you do this every other frame. Interleaved simulations work well for casual interaction, but just don't try and make a DMM/Havok sandwich, not a good idea...We have solved this problem in DMM2 though, see the videos on our facebook page for examples. In fact, we include the Bullet Rigid Body System as a part of DMM2.

7. How much more powerful would DMM be if it was used in a GPGPUs like Fermi?
Here's a Fermi video showing how powerful the card could be:
http://www.youtube.com/watch?v=nlcc9wJA ... yT9MUm2JJI
I don't trust tech demos, so I'm not sure if the video above is real.

Answer 7) We have not worked with a Fermi nor have I seen the demo you indicate first-hand so I can't vouch to its "real-timeness", but I suspect Fermi is quite powerful. I would say that both ATI and Nvidia are generally pretty close in performance. I can't say how DMM2 will compare between the two until we have an actual drop, but I can say that at 2 Teraflops, the current ATI 58xx series is the fastest thing I have ever seen :)

8. You keep saying that you do not have permission to show anything new. That's Understandable. But can we have a date when you can talk about it? Like, let's say, 3 years from now? Because if you can't say anything after 3 years, then we may never get to see another DMM thing for a long time. Which just makes me sad.

Answer 8) You'll see a lot of cool new stuff shortly. I Promise! - a hint, keep an eye on this company's site: www.munkyfun.com (http://www.munkyfun.com) They will have some cool stuff to show you relating to DMM soon...We are also hard at work on some internal projects that utilize DMM in interesting new ways. We will be posting all that stuff on our facebook page as we get some levels up and running.

9. Are CPUs or GPUs today powerful enough to make a fully working DMM building (with rooms and all), or a DMM town/city? And if not, when will it happen?

Answer 9) You know, you could do that today without the constraint of real-time. We have some building destruction simulations that look really good. In terms of real-time, DMM2 is a much better path to doing that sort of thing. The way we are handling contact and finite element solution in DMM2 lends itself much better to creating structures. AMD did a neat demo at GDC where they showed some robots destroying a city in real-time. Some buildings were even made of Rubber!

hope this gives you some answers!

Cheers,
dmmjedi

podtech115
05-20-2010, 10:33 PM
Wow! Thank you for the amazing answers! I didn't think you would answer back, but you did! I thought my questions were a bit selfish, because I thought you would be too busy with work to say anything.

But now it makes me want to add more questions, but I shouldn't push my luck. Maybe I'll ask in 2 years or so. :D

However, I'll reply back to this answer:

"Answer 9).... AMD did a neat demo at GDC where they showed some robots destroying a city in real-time. Some buildings were even made of Rubber!"

Unfortunately, I saw it and it looked.... bad. Really bad. See for yourself at 4:14.
http://www.youtube.com/watch?v=59G3zjWp2z0


Thank you again for the great answers.

dmmjedi
05-21-2010, 04:09 PM
Not a problem. Please feel free to ask anything. We will do our best to respond.

The ATI demo had some material adjustments that needed to be done. It was also done with DMM1, not DMM2, so things will improve quite a bit soon.

I have been posting a lot of videos to our facebook page (you can get to it from our homepage) as well as a YouTube channel (look for dmmjedi). You may want to check some of those out.

Also, the munkyfun link I posted is now updated. Munkyfun has detail on their DMM-infused Zombie Shooter - "Stay Dead". It is basically a game utilizing DMM1 where the zombies, plants, props and even weapons are made of DMM. Zombies can have flesh ripped off them with grappling hooks, plants will move in response to things walking or crawling through them. Hopefully they will post some more screenshots and perhaps video. The detail is quite incredible, and I think DMM adds a lot to the game.

Cheers,
dmmjedi

horyd
05-23-2010, 08:30 AM
Quick question, thought I might as well throw it in this thread since there's already a lot of questions in here :P (also some really nice videos too!)

With the new Bullet-DMM collaboration, were there any changes to the rigid body interaction system or does the software still use interleaved hybrid simulation (or is it essentially the same but just with some improvements added)? I've seen the kart video which looks awesome btw, so whatever you guys did, great work!

Jaryd

dmmjedi
05-23-2010, 10:14 PM
Hi Jaryd,

Thank you for noticing the interaction quality improvement :)

The main difference between DMM1 and DMM2 is the way in which we handle contact. The DMM2 way of handling contact allows us to use the rigid body constraints of Bullet (or any other impulse-based rigid body system for that matter) along with the ability to allow for contact with those systems. The interleaved aspect is still evident as you can't have both systems running at the same time, so you have to allow for one to run and then the other.

The latest build allows us to tear up the tires of the car while they remain attached to the rigid body wheels. That looks pretty neat too.

dmmjedi

Mac
05-25-2010, 01:24 PM
Since you are being so generous answering all our questions, I have some of my own. :)

Is there anything in DMM that makes it possible (or perhaps even easy?) to synchronize objects across multiple instances of the game world? (for example, to use DMM objects in a multiplayer game of some sort, where DMM physics are game-affecting).

Also, is DMM simulation deterministic?

Thanks.

dmmjedi
05-25-2010, 05:27 PM
Hi Mac,

Having DMM interaction be a part of the gameplay mechanic is something that we are very much looking forward to. Generally, physics-based gameplay has been confined in games to stacking boxes or turning levers. We feel it could be used in much more interesting ways. Tactical destructibility, melting, freezing, puzzles based on manipulating objects based on their material properties (rock crushes or bends metal beam, wooden latticework catches on fire and begins disintegrating, etc...) Procedural DMM where DMM objects could be created (vines, hills, buildings...) Getting back to your specific question though - We do have a way to compress and instance DMM objects so that you don't have to have a lot of different meshes in a scene, though if you start destroying things you will need to preserve state.

DMM is deterministic on common platforms. Specifically, if you have a DMM scene running on an Xbox 360 and another on a PS3 and they are talking to each other via a high speed link, they won't be guaranteed to be identical. On the PC, there is a similar issue due to PCs being different from each other in so many ways, but there are also ways to keep things synched up.

-dmmjedi

Mr. Wonko
05-27-2010, 09:55 AM
Hmm I didn't really get it... Is there built-in (de)serialization or not? That'd be the way to achieve network synchronisation, right?

Looking forward to the free DMM2 release anyway. The limit was the maximum amount of active bodies, right? So if the maximum is already hit and something hits a sleeping body nothing will happen?

Mac
05-27-2010, 01:33 PM
I'm guessing that was a yes to the question about being able to keep objects in synch.

However this confused me a bit:


We do have a way to compress and instance DMM objects so that you don't have to have a lot of different meshes in a scene, though if you start destroying things you will need to preserve state.

Could you please elaborate a little on this? How does it relate to the problem of synchronization?

Thanks.

dmmjedi
05-27-2010, 02:01 PM
Sorry for the confusion. Synchronization, determinism and serialization are three separate things I shouldn't have mixed up.

Serialization is a means of saving the state of DMM objects into a chunk of memory (which could then also be compressed). You would want to use serialization to move objects between scenes or other contexts.

Synchronization is something that is implicit when full determinism is guaranteed. DMM is deterministic within a platform (Xbox 360, PS3) and we work to keep it that way between versions.

The active element limit on the free version will limit the number of finite elements DMM will simulate at any given time. If you have a lot more active elements try and go live in addition to the ones that are already live, the system will ignore them until the budget allows them to become active.

-dmmjedi

Mr. Wonko
05-28-2010, 07:28 AM
You already said it isn't deterministic on the computer. Since the free version will only support the pc that's also the platform I'm most interested in. Since determination is not guaranteed, some other way of keeping it in sync is required - for example serializing the objects at certain key frames, sending them over the network and deserializing them again. Saving/loading also needs (de)serializing.

"scenes or other contexts" - Could you explain the structure of the engine a little more? I guess a scene is a "physical world"...

Documentation will be released together with the free API, right?

dmmjedi
05-28-2010, 08:25 AM
I shouldn't really make statements about a lack of determinism on PC due to different configurations. As the development is still going on, we are working to enforce determinism on the PC as well as the other platforms DMM2 will run on. We will consider adding a synchronization mechanism to allow easy synching of multiplayer scenes. Serializing objects can help with that from a game perspective (it is important to note that synching the game's context and synching DMM context are interrelated but not the same).

A "scene" is a context or data structure within which DMM handles a set of objects.

To answer your other question, yes, documentation and sample code will be included with the free DMM2 version.