Page 1 of 2
I propose a list; What PyPRP does, and does not support
Posted: Sat Mar 14, 2009 10:18 am
by Jamey
Hi all,
Whether some of you know or not, I've been toying around and learning the various features of Blender. I've come across many
awesome things that Blender can do such as
Fluid simulations,
Meta Objects,
Particles, and more.
Now I was thinking, maybe we should look more into these features and see what we may be able to do to integrate them into our ages (and PyPRP), and organize a list (possibly on our Wiki) about what features will work, which ones work to a certain extent, and which ones still need to be researched into. I think if we find out how to make these things work for our ages, even if they are only to a certain extent, they can provide many interesting possibilities!

What do you all think?
Re: I propose a list; What PyPRP does, and does not support
Posted: Sat Mar 14, 2009 10:26 am
by Paradox
We are limited more by what Plasma supports than what Blender supports.
Plasma does not support fluid simulations, meta objects, NURBS, ray-traced reflections, Material nodes, etc...
Re: I propose a list; What PyPRP does, and does not support
Posted: Sat Mar 14, 2009 12:07 pm
by Jamey
If that's the case, is there a way for us to simply integrate these features into the existing Plasma engine?
Re: I propose a list; What PyPRP does, and does not support
Posted: Sat Mar 14, 2009 12:18 pm
by D'Lanor
Simply?

And without adding lag?
edit: Ok, but seriously now. I think Cyan only used about 5% (or less) of what PhysX has to offer. So there may be methods that could be used on cards with PhysX hardware.
Re: I propose a list; What PyPRP does, and does not support
Posted: Sat Mar 14, 2009 2:01 pm
by Jamey
D'Lanor wrote:edit: Ok, but seriously now. I think Cyan only used about 5% (or less) of what PhysX has to offer. So there may be methods that could be used on cards with PhysX hardware.
If that is the case, it's just a matter of figuring out how to unlock the full potential of PhysX. If the features are already implemented into the engine, and they were just never used, it's a matter of figuring out how to make them workable, and making tutorials for the features so others can implement them into fan creations.
But where do we start though?
D'Lanor wrote:Simply? And without adding lag?
One can dream big can't he?

Re: I propose a list; What PyPRP does, and does not support
Posted: Sat Mar 14, 2009 3:12 pm
by Grogyan
Jamey wrote:D'Lanor wrote:edit: Ok, but seriously now. I think Cyan only used about 5% (or less) of what PhysX has to offer. So there may be methods that could be used on cards with PhysX hardware.
If that is the case, it's just a matter of figuring out how to unlock the full potential of PhysX. If the features are already implemented into the engine, and they were just never used, it's a matter of figuring out how to make them workable, and making tutorials for the features so others can implement them into fan creations.
But where do we start though?
One can dream big can't he?

You can start by reading up on the PhysX SDK, generally a developer only implements what they thing tey'll use from the physics engine, in this case its collision, gravity, basic particles simulation, some cloth, velocity, acceleration etc.
One thing that Cyan has always mentioned is how they did not implement inertia, this I believe is very important.
My dream is that our version of Plasma will do without subworlds, Uru the only game have seen that uses this principal for efficiency, however UT3, doesn't need to, has more physics, more complex meshes and runs faster than any complex Age Cyan has done.
PyPrp 2.0 could be tailored to better work with the new Plasma engine than the current PyPrp.
with all the extra physics we may want to introduce, we will need to have an option in the game options for Hardware/Software based processing of these physics for better game performance
Uru doesn't have an inventory either, even for just 1 item, so thats something else we will need to add
Re: I propose a list; What PyPRP does, and does not support
Posted: Sat Mar 14, 2009 4:44 pm
by Jamey
Grogyan wrote:
You can start by reading up on the PhysX SDK, generally a developer only implements what they thing tey'll use from the physics engine, in this case its collision, gravity, basic particles simulation, some cloth, velocity, acceleration etc.
One thing that Cyan has always mentioned is how they did not implement inertia, this I believe is very important.
My dream is that our version of Plasma will do without subworlds, Uru the only game have seen that uses this principal for efficiency, however UT3, doesn't need to, has more physics, more complex meshes and runs faster than any complex Age Cyan has done.
PyPrp 2.0 could be tailored to better work with the new Plasma engine than the current PyPrp.
with all the extra physics we may want to introduce, we will need to have an option in the game options for Hardware/Software based processing of these physics for better game performance
Uru doesn't have an inventory either, even for just 1 item, so thats something else we will need to add
If the engine won't be needing sub-worlds, how will we be able to make things like elevators and things like that in our ages? Is there a different method I don't know about?
As for finding new ways to implement new features and physics into the Plasma Engine, I'm all for it. I just don't know very much about this kind of stuff at all. I'm more of a designer and modeler, and not a programmer.
What are some ways I can help if this is a project the GoW is willing to take off with? I'd like to help as much as I can, but there are just some things I don't know at the moment unfortunately. (Which I'm hoping will become clear when I go off to College)
Re: I propose a list; What PyPRP does, and does not support
Posted: Sat Mar 14, 2009 4:52 pm
by Grogyan
I'm not sure exactly how lifts work in UT3, but i'll guess they use the zero plane of the character, and use the lift height as the vector for raising or lowering the character.
In UT3 a trick you can use is when the lift reaches the top of its movement, you jump, and be able to make a "super jump" to get to difficult places, a simple example of inertia physics
Re: I propose a list; What PyPRP does, and does not support
Posted: Sat Mar 14, 2009 4:57 pm
by Jamey
Grogyan wrote:In UT3 a trick you can use is when the lift reaches the top of its movement, you jump, and be able to make a "super jump" to get to difficult places, a simple example of inertia physics
Yeah, that's one of many examples showing my point. If we can get these new features implemented, they can change a whole lot of things from gameplay, to puzzles, and above all, making ages seem much more real.
I just hope that we all can pull it off with flying colors!

Re: I propose a list; What PyPRP does, and does not support
Posted: Sun Mar 15, 2009 1:03 am
by Jojon
Jamey wrote:If the engine won't be needing sub-worlds, how will we be able to make things like elevators and things like that in our ages? Is there a different method I don't know about?
As Grog said; just plain physics. When YOU stand in an real world elevator and it goes up, the floor pushes up unto your feet, transfering momentum -- this is what we SHOULD have in the game as well. During the development of Plasma, however, the coders ran into some difficulties with this (I am not sure what, probably team A wrote the animation subsystem and another the physics interface and a third the avatar collision detection and then "Oh, do we have to make these three interact?!..and in two days?", or it simply sucked CPU cycles ;P), so they introduced the concept of subworlds as a workaround.
No intertia, by the way? Err, then why do we have a mass property? (not that the avatar seems to have any greater difficulties stopping a moving five ton object dead in its tracks... :P)
I guess the MystV build had some cloth simulation implemented, if nothing else. :7