pygame reloaded

So Marcus has been working away in the background refactoring/rewriting pygame. Hopefully his work will become part of pygame 2.0... but in the mean time we hope to do another set of 1.x pygame releases.

The main pieces I see for another pygame release are the evolution of the testing frame work into a library, examples as a library, the camera module, and many other changes are coming to pygame... including pygame coming to another implementation of python... tinypy!


Below are Marcus's notes about the pygame reloaded release.


Features
--------
* New FRect class for high precision rectangle handling using floating point
values.
FRect and Rect share the same properties and functions and can be converted
into the other rectangle type without any problems.
* New PixelFormat class that wraps up SDL_PixelFormat.
* New CDTrack class that keeps information about CD tracks.
* New physics module integrated. Zhang Fan's GSoC work on an easy to use
physics simulation is now available.
* New sdlgfx module, which wraps up the SDL_gfx library and adds features
such as fast zoom and drawing primitives or FPS management.
* Improved C API.
* Improved SDL sound and channel handling. Though not perfect, they are more
robust now.
* Completely rewritten build system, allowing a fine grained build
configuration for nearly any purpose.
* Completely rewritten documentation system.
* Installation is compatible towards pygame - it goes into a new
namespace and module hierarchy, so having pygame and pygame2 installed
won't hurt your pygame 1.x applications.

Besides those great things about which we all can get excited, there are
some downsides to it - otherwise it would not be pygame.

Changes
-------
* Module, class and package layout changed.
* Completely different API in nearly all places for both, Python and C.
* No ABI or API compatibility towards pygame 1.x (and it is not planned!)
* Feature compatibility towards pygame 1.x only in limited areas.
* Overhauled test system.

Downsides
---------
* Early development stage. Expect weird things to happen when you use it.
* Not many examples and tests yet.
* API likely to change before an official release is made.
* MacOS support not available yet.
* physics module not working yet.
* Many other issues to be revealed.

Comments

Popular posts from this blog

Draft 3 of, ^Let's write a unit test!^

Is PostgreSQL good enough?

post modern C tooling - draft 6