[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

pygame is low level Re: [pygame] pygame is a disgrace



Caleb Mahase wrote:
> However, as time went on I began to realize that is was only good for
> VERY simple games. Even simple things such as rotating an image on a
> specified axis became convoluted and overly-complicated.

I'm not sure I follow what you're trying to accomplish - could you explain
further?


> I would highly
> reccommend that the Pygame team take a few pointers from the guy that
> developed Pysgear. Pygame is still low-level in many areas.

Are you referring to Pygsear? http://www.nongnu.org/pygsear/

I'm not familiar with it, but it looks to me to be a thin layer over
PyGame, including a UI implementation. What pointers would be useful to
take away from Pygsear?


I agree that PyGame is somewhat low level in places, in the sense that it
isn't a finished game engine. When I have written games using PyGame, I
wrote some non-game-specific code, including UI engine, a game state
system, and many other systems necessary to make a complete game, but not
designed specifically for the game I'm working on. The good news is that
the code I've written is reusable. The bad news is that you might not want
to write it the first time.

And you don't have to - as you mentioned, Pygsear exists. Also PGU and
OcempGUI, and there are a lot of other libraries out there that can
address specific requirements.

I think the variety of choices, while overwhelming, is good. I would
resist efforts to roll a single UI engine into PyGame, but I would
appreciate seeing an organized page on the pygame.org site that would
collect these libraries for easier browsing.


While saying that PyGame is low-level in places, I find it frustratingly
high-level in other places. Here are a few platform-specific things I'd
like to be able to do easily from a PyGame app:
- open a window fullscreen on a second monitor on Windows
- open a window as a child of a Windows window referred by HWND
- retrieve the Windows HWND for my display window
- add menu items to the Macintosh menu and react to them

At some point when I get time to work on the projects that use these
features, I'll explore the platform-specific code necessary to accomplish
them, and if it means recompiling a custom version of PyGame to expose
these specific, low-level, pieces of functionality, that's OK.

But I'd rather be spending my time higher up, closer to the game code; I'd
rather that PyGame erred on the side of being too low-level than too
high-level. And I find that overall, it tends to do a good job at that.


-Dave LeCompte