Re: [pygame] physics engine?
Heya! It was really too bad that the gsoc project wasn't really finished. It didn't need to be a full 2D physics engine like Chipmunk or Box2D, but in it's current state it is lacking some basic, mandatory features to be useful. I think the collision part should be rewritten to be a part of the PyGame standard collision library. This way you can have traditional rect collisions, pixel based collision detection and vector based testing all in one neet package for PyGame. That collision library would also provide PyGame community with much needed types for vectors, quats and the math surounding it. As for the physics, if you can write a simple platformer it's good enough. Just my two cents. Also, for a good physics library check out PyODE, it now features a 2D joint lock so you can go from 3D to 2D without much effort. /Peter On 2009-06-19 (Fri) 11:57, René Dudfield wrote: On Fri, Jun 19, 2009 at 11:25 AM, machinim...@gmail.commachinim...@gmail.com wrote: hi, what 2d physics engine would you recommend for using with pygame? what happened to the SOC physics project? is it finished? will it be included in pygame? Unfortunately not much work has been done on that since the gsoc last year finished... and no one else has really picked it up. It lives in pgreloaded now. However I don't know of any games using it. Perhaps if it got some users and a maintainer it might improve. I think Marcus might have plans for it, but not sure what they are. Perhaps it might get into pygame 1.9.1... but definitely not 1.9.0. The main engines used by people are these two engines: pybox2d http://pygame.org/project/723/ http://code.google.com/p/pybox2d/ pymunk http://pygame.org/project/780/ http://code.google.com/p/pymunk/ There are a number of successful games using them - and both projects have people working on them, and they seem well maintained. There's also py-lepton, which is a particle library... which does some particle physics stuff, but not really a physics library: (no pygame project page) http://code.google.com/p/py-lepton/ and finally pyode - which is more complex, and seems harder for people to finish games with, but does 3d stuff: (no pygame project page) http://pyode.sourceforge.net/ Also have a look on the pygame website for physics stuff. There's some simple stuff in there, which might be nice to learn from. http://pygame.org/tags/physics cheers,
Re: [pygame] physics engine?
René Dudfield ren...@gmail.com: On Fri, Jun 19, 2009 at 11:25 AM, machinim...@gmail.commachinim...@gmail.com wrote: hi, what 2d physics engine would you recommend for using with pygame? what happened to the SOC physics project? is it finished? will it be included in pygame? Unfortunately not much work has been done on that since the gsoc last year finished... and no one else has really picked it up. It lives in pgreloaded now. However I don't know of any games using it. Perhaps if it got some users and a maintainer it might improve. I think It was not officially announced, so it's not uncommon that nearly noone uses it. Zhang Fan lacks the time to spend more work on it and I lacked the time for now to sort out the last issues with it in pgreloaded. The SVN branch however is fully operational. Maybe we should package it and make a seperate release for it - or integrate it into a seperate module with pygame 1.9.x (which would be event better). If you need fully-fledged 2D physics with all bits and piece, the physics engine however will not be that interesting for you. It's intention is not to be a competitor to box2d or chipmunk, but to act as small, fast and easy to use module within pygame to give games a bit more fun. Marcus might have plans for it, but not sure what they are. Perhaps it might get into pygame 1.9.1... but definitely not 1.9.0. Integrate it smoothly in pgreloaded and improve the collision handling backend to have other types of collision (circle, etc.) easier integrated (which is the open issue on my tasks list and the reason why it's not fully functional in pgreloaded at the moment) mainly. Then packport the changes into the physics branch :-). It would make a nice addon for 1.9.1 as it can completely work on its own and thus would not have any impact on the other modules in pygame. Regards Marcus
Re: [pygame] physics engine?
The quality of chipmunk and box2d is so incredibly good and is built off of such a depth of experience by the authors that if you want really actually do want a 2d physics engine (i.e. you're not just looking for stuff moving and hitting each other, you want stacking, joints, friction, etc) you would be utterly and completely silly in every way to even consider anything else Between pymunk and pybox2d, personally I greatly perfer pybox2d because box2d is more feature rich, is more stable with bouncy objects and it's continuous collision detection (actually continuous collision response using binary search time of collision) makes it much more stable and predictible particularly with fast moving objects. chipmunk was branched from box2d to add a performance feature, and you can sum up it's difference from box2d as faster and easier to use provided you are doing just what it does well. seriously, in the picture of 2d physics engines, they are both super wonderful. you want stacking, friction, joints, etc, in 2d they are the only real options. You want motors and gears and fast moving objects, you probably want pybox2d. If you just want stuff moving and hitting each other though, and you want to control exactly how things move or behave, or you know you want unphysics-y stuff to happen a lot, you would probably end up struggling a lot with any physics engine to get things to work out the way you want them to. On Thu, Jun 18, 2009 at 6:25 PM, machinim...@gmail.com machinim...@gmail.com wrote: hi, what 2d physics engine would you recommend for using with pygame? what happened to the SOC physics project? is it finished? will it be included in pygame?
Re: [pygame] physics engine?
I completely agree. However, it always comes down to the application. If I just need a falling object, I'd probably just do it myself. If you want an object to hit another sideways (and start spinning) while bouncing off obliquely, use an engine.
Re: [pygame] physics engine?
On 6/19/09, Brian Fisher br...@hamsterrepublic.com wrote: The quality of chipmunk and box2d is so incredibly good and is built off of such a depth of experience by the authors that if you want really actually do want a 2d physics engine (i.e. you're not just looking for stuff moving and hitting each other, you want stacking, joints, friction, etc) you would be utterly and completely silly in every way to even consider anything else Between pymunk and pybox2d, personally I greatly perfer pybox2d because box2d is more feature rich, is more stable with bouncy objects and it's continuous collision detection (actually continuous collision response using binary search time of collision) makes it much more stable and predictible particularly with fast moving objects. chipmunk was branched from box2d to add a performance feature, and you can sum up it's difference from box2d as faster and easier to use provided you are doing just what it does well. seriously, in the picture of 2d physics engines, they are both super wonderful. you want stacking, friction, joints, etc, in 2d they are the only real options. You want motors and gears and fast moving objects, you probably want pybox2d. If you just want stuff moving and hitting each other though, and you want to control exactly how things move or behave, or you know you want unphysics-y stuff to happen a lot, you would probably end up struggling a lot with any physics engine to get things to work out the way you want them to. thanks for this review! i will go for pybox2d then. sounds very promising. On Thu, Jun 18, 2009 at 6:25 PM, machinim...@gmail.com machinim...@gmail.com wrote: hi, what 2d physics engine would you recommend for using with pygame? what happened to the SOC physics project? is it finished? will it be included in pygame?
Re: [pygame] physics engine?
On Fri, Jun 19, 2009 at 11:25 AM, machinim...@gmail.commachinim...@gmail.com wrote: hi, what 2d physics engine would you recommend for using with pygame? what happened to the SOC physics project? is it finished? will it be included in pygame? Unfortunately not much work has been done on that since the gsoc last year finished... and no one else has really picked it up. It lives in pgreloaded now. However I don't know of any games using it. Perhaps if it got some users and a maintainer it might improve. I think Marcus might have plans for it, but not sure what they are. Perhaps it might get into pygame 1.9.1... but definitely not 1.9.0. The main engines used by people are these two engines: pybox2d http://pygame.org/project/723/ http://code.google.com/p/pybox2d/ pymunk http://pygame.org/project/780/ http://code.google.com/p/pymunk/ There are a number of successful games using them - and both projects have people working on them, and they seem well maintained. There's also py-lepton, which is a particle library... which does some particle physics stuff, but not really a physics library: (no pygame project page) http://code.google.com/p/py-lepton/ and finally pyode - which is more complex, and seems harder for people to finish games with, but does 3d stuff: (no pygame project page) http://pyode.sourceforge.net/ Also have a look on the pygame website for physics stuff. There's some simple stuff in there, which might be nice to learn from. http://pygame.org/tags/physics cheers,
Re: [pygame] physics engine?
On 6/19/09, René Dudfield ren...@gmail.com wrote: On Fri, Jun 19, 2009 at 11:25 AM, machinim...@gmail.commachinim...@gmail.com wrote: hi, what 2d physics engine would you recommend for using with pygame? what happened to the SOC physics project? is it finished? will it be included in pygame? Unfortunately not much work has been done on that since the gsoc last year finished... and no one else has really picked it up. It lives in pgreloaded now. However I don't know of any games using it. Perhaps if it got some users and a maintainer it might improve. I think Marcus might have plans for it, but not sure what they are. Perhaps it might get into pygame 1.9.1... but definitely not 1.9.0. The main engines used by people are these two engines: pybox2d http://pygame.org/project/723/ http://code.google.com/p/pybox2d/ pymunk http://pygame.org/project/780/ http://code.google.com/p/pymunk/ thanks! i will look into these two and also into your other links... There are a number of successful games using them - and both projects have people working on them, and they seem well maintained. There's also py-lepton, which is a particle library... which does some particle physics stuff, but not really a physics library: (no pygame project page) http://code.google.com/p/py-lepton/ and finally pyode - which is more complex, and seems harder for people to finish games with, but does 3d stuff: (no pygame project page) http://pyode.sourceforge.net/ Also have a look on the pygame website for physics stuff. There's some simple stuff in there, which might be nice to learn from. http://pygame.org/tags/physics cheers,