Re: [pygame] physics engine?

2009-06-24 Thread Peter Gebauer
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?

2009-06-19 Thread mva


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?

2009-06-19 Thread Brian Fisher
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?

2009-06-19 Thread Ian Mallett
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?

2009-06-19 Thread machinim...@gmail.com
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?

2009-06-18 Thread René Dudfield
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?

2009-06-18 Thread machinim...@gmail.com
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,