Sunday, February 28

Grease 0.1 Released

I released the inaugural 0.1 release of my game engine Grease today. This is basically a throw-it-over-the-wall release so that I can use the code and push it further during the upcoming pyweek compo at the end of March. That said it is complete enough to implement an entire game, an example of which is included in the distribution. Obligatory screenshots below:



The game uses Grease features such as its awesomely-retro vector polygon renderer, collision detection, decorator-based key binding and mode management for hot-seat multiplayer. The entire game is a single script that weighs in about 550 lines, which includes whitespace and docstrings. Even so no real effort is made to make the code short, it was written with clarity in mind, not brevity. Most of the code savings comes from the abstractions available in Grease.

At the moment, Grease is implemented entirely in Python and sits on top of Pyglet. My upcoming efforts on this project will be to make the blasteroids example into a full tutorial and get everything fully documented. After that I will be creating more complex example games and adding native-code parts to Grease where needed. The intention is to always have pure-Python versions of everything available though, and the Python versions will be developed first.

Of course you are welcome and encouraged to try it for yourself. You can download it from pypi here:

http://pypi.python.org/pypi/grease

The code of the example blasteroids game above can be scrutinized here:

blasteroids.py

Enjoy.

3 Comments:

Blogger Alastair Montgomery said...

Look pretty impressive, I'm adding it to my "need to check out" list.

5:20 AM  
Blogger Hemebond said...

Will Grease be updated to work with Pyglet 1.1.4?

3:05 AM  
Blogger casey said...

The short answer is "yes", which should hopefully not be a big deal. The long answer is that I may decide to divorce grease from a particular "backend". pyglet is not really being actively developed, so it probably makes sense to support PyOpenGL + pygame, etc.

5:23 PM  

Post a Comment

<< Home