[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [pygame] The introduction of my Google Summer Code Project
On Apr 28, 2008, at 9:47 PM, 帆 张 wrote:
Noah Kantrowitz <kantrn@xxxxxxx> 写道:
The problem with chipmunk, and by extension box2d, is what exactly? I
would rather see the existing bindings improved than someone try
writing a new engine. Perhaps make a library that provides a mixin to
easily enable binding pygame Sprite objects to physics objects.
--Noah
Thank you for your good advice.
Fist I'd like to tell the diffiences between our physics engine and
Chipmunk: my engine will be integrated with Pygame directly which
means it offers more user-friendly interfaces. for example, a user
who use pygame as a 2D graphics engine and pymunk as 2D physics
engine, he or she must write codes for managing both rendering state
sand physics states of game objects, just like you said before
"binding between physics object and sprite", by contrast, our engine
in Pygame will manage them all automaticly
So you aren't writing a library for people to use, you are writing a
game engine. This is fine, but you should understand the distinction
and know that homebrew game engines are rarely useful to anyone but
the author. Designing a good engine and API is among the hardest tasks
in game development. I have tried several times and am not embarrassed
to say that all were fairly lousy. I still learned a great deal from
each attempt, so I wouldn't say its wrong to try. Just be aware of the
task in front of you. Some small tips I can give:
* Control scope. _Do not_ try to make a generic engine. I would say
stick to something like "top-down car-based games" or "side-view
platform games" or similar.
* Design the API in full, then try to write a mock game in it.
* Test everything as frequently as possible. Testing game code is
still tricky, but use unit tests to see that the right code paths are
being hit.
, and I want to offer some more useful special interfaces for game
development like rigid-doll system and explosion system in future.
This engine is just a part of pygame which means it is integrated
with pygame inside.
Indeed, Writing a new engine maybe sound like a little ambitious and
useless. I have ever thought about just to wrap a mature physics
library in Python like Box2D engine and improve it by writing a
layer for binding and so on, but I'm a fan of physics development, I
decide to make it on my own. I know It's hard for me to make a
mature one in just three months,
You are wrong about this. It isn't hard. It is impossible. You will
undoubtedly learn much doing this, however the net benefit to the
community will be zero.
but I want to give Pygame users more choices in physics module with
pygame and I will improve it with other people in the community for
making it better, I hope it won't end after google SOC. And I'm
dedicating myself into this project.
Many people say that, the numbers say otherwise. Its nothing personal
but I think the GSoC project does more harm than good to the FOSS
community, as there are now several years of unmaintained and
generally shoddy code in various corners that no one knows what to do
with. The publicity and $ are nice, but I think the community loses in
the end.
--Noah