pygame is
Python
Simple DirectMedia Layer
 
 
pygame.org is
Site Swing
Gummworld2

Gummworld2 - 0.0.12

Gummbum (gummbum)

Tags:

Description

There is a Google group to discuss Gummworld2 and related projects. All are welcome. Please stop by and start a discussion.

This is Gummworld2. It's designed as a light pygame framework for a scrolling game, where the map is larger than the display. It emphasizes simplicity, freedom, and performance.

Helpers for Tiled and pymunk are included. However, they are not required.

Source and documentation bundle is available, as well as SVN, via the project home page. Plenty of uncomplicated examples.

Yes, that screenshot shows a legitimate 332 FPS in a scrolling 800x600 window. It's a 2048x2048-pixel map of nearly 500 visible sprites, collapsed down to 36 images by Gummworld2 for batch efficiency.

Changes

Highlights of release 0.0.12:
  • Critical fixes to the editor and library.
  • Many enhancements to the editor: scaling; cut, copy, paste; niceties for QuadTree support.
  • The first demo combining a Tiled map (graphics) and Gummworld2 map (physical).
  • pytmxloader groks Tiled tilesets now (thanks, DR0ID!)
  • New toolkit function load_entities() for using Gummworld2 editor files in games.

The full change log is here.

Links

Home Page: http://code.google.com/p/gummworld2/
Source: http://code.google.com/p/gummworld2/

Screenshot


click to view original size

Releases

Gummworld2 - 0.4.1 - Mar 28, 2013
Gummworld2 - 0.4.0 - Apr 6, 2012
Gummworld2 - 0.3.0 - Nov 28, 2011
Gummworld2 - 0.2.0 - May 21, 2011
Gummworld2 - 0.1.1 - Mar 25, 2011
Gummworld2 - 0.1.0 - Feb 27, 2011
Gummworld2 - 0.0.12 - Feb 20, 2011
Gummworld2 - 0.0.11 - Feb 8, 2011
Gummworld2 - 0.0.10 - Jan 29, 2011
Gummworld2 - 0.0.9 - Jan 22, 2011
Gummworld2 - 0.0.5 - Jan 10, 2011
Gummworld2 - 0.0.4 - Jan 7, 2011
Gummworld2 - 0.0.2 - Jan 3, 2011
Gummworld2 - 0.0.0 - Dec 31, 2010

Pygame.org account Comments

If you wish to leave a comment with your pygame.org account, please sign in first.

February 27, 2011 3:03pm - Gummbum - nickname: (gummbum)
Lots of new stuff. I *think* the only thing remaining before I call it 1.0 are the pymunk entity classes, and maybe some helpers (for example, pymunk collision detection and handling).

Even with the all-Python QuadTree and geometry code, the library seems to be quite usable on new-ish hardware. Dual-core systems that I've tried perform well. Single core systems chug and snort.

In v0.1.0 smaller tiles became a lot faster as a result of the MapLayer change from dict to list. Even collapsed maps are a quite bit faster. The screenshot depicted above could now be updated to show 360 FPS. Just visualize it. :)
January 7, 2011 1:37am - Gummbum - nickname: (gummbum)
Oh, and I forgot. Thank you, I will certainly contact you about the Tiled map loader if needed. So far it is working GREAT. :)
January 7, 2011 1:35am - Gummbum - nickname: (gummbum)
Very right, DR0ID. Combining tiles (via the Gummworld2 toolkit) only works for static tiles in a map object, where all the tiles scroll in unison. I'm not sure you'd want to use the same trick for independent sprites, as they typically do not want to move in unison. But if you could do it there would be gains (e.g. a big dragon or siege engine that is loaded from disk as six tiles combined into a single tile).

One drawback of combining tiles is you can no longer use a tile as a collision object--like the trees in the bunny demo. This is what the map editor is supposed to solve. Thus, if I have a combined tile, there will be geometry in the model representing its original parts. Of course, this means I will have a necessary separation between the graphics and the game model--which is not a bad thing, I think, but many pygamers seem to like the sprite-is-view-and-model school of thought. I like both ways, so Gummworld2 will try to support both with as little fuss as possible.
January 6, 2011 3:39pm - DR0ID - nickname: (dr0id)
If you have any improvements, comments, request or bugfixes about the Tiled map loader just contact me.

I found your trick to batch the tiles together to bigger ones to make the scrolling fascinating. But this only works for static background unless you know yet another trick for that.
January 4, 2011 1:12am - Gummbum - nickname: (gummbum)
<b>Friendly note<b><br>
Make sure you get the right Gummworld2 version to go with the bunny demo game: v0.0.2. The game will not work with v0.0.1.
January 1, 2011 2:05pm - Gummbum - nickname: (gummbum)
@DR0ID
Too late! I'm already using tiledtmxloader (and loving it). :)

Very nice optimization of the gradient trick.

Thanks for the tips, DR0ID, and especially for your work on the Tiled map loader.
January 1, 2011 2:44am - DR0ID - nickname: (dr0id)
for the fill_gradient function there is a trick:

just create a new surface which is 1 line thick, fill it with the gradient, then scale it to the size you want (instead of iterating over all pixels or lines)

I used this trick here:

http://pygame.org/project-gradients-307-.html
January 1, 2011 2:36am - DR0ID - nickname: (dr0id)
Maybe this could be useful to you.

http://pygame.org/project-map+loader+for+%27tiled%27-1158-.html
spotlight

 
our projects
pygame.org welcomes all python game, art, music, sound, video and multimedia projects. If they use pygame or not.
 
recent releases
May 22, 2013


May 21, 2013

May 19, 2013

May 18, 2013


May 17, 2013

May 16, 2013

May 15, 2013


May 11, 2013

May 8, 2013

... more!
 
for pygame related questions, comments, and suggestions, please see help (lists, irc)