Skip to main content

Gummworld2 - 0.3.0

Gummworld2 is a pygame framework for a scrolling game, where the map is larger than the display. It emphasizes simplicity and performance.


Gummbum
(gummbum)
::: News :::

Version 2.0.0 is released. New HUD, more speed, less junk.

  • There is a new and much improved HUD.
  • SpatialHash is much faster thanks to a challenge I made to DR0ID. :D
  • Demos are tweaked where needed.
  • world editor has been retired.
  • PGU has been retired.

The full image of the screenshot collage is available in Gummworld2 Downloads (gw2_screenshots.png), as well as the individual screenshots used to make the collage.

Enjoy!

::: About :::

Gummworld2 is a pygame framework for a scrolling game, where the map is larger than the display. It emphasizes simplicity and performance. You add the display elements and game logic, the engine provides the framework for timing, events, updates, and rendering.

Tiled helpers are included for elaborate mapping. However, Tiled is not required.

Source and documentation, plenty of uncomplicated examples, as well as some elaborate ones are included. Source available at Bitbucket. The wiki cites completed games.

Compatible with Python 2.7 and 3.x.

The fast renderer BasicMapRenderer matured in v0.5.0. The Mana World's map01 blazes. It is a five layer map with many SRCALPHA tiles. See examples/07_tiled_tmw_renderer_complete.py. This is super fast. The demo examples/29_basic_map_renderer.py renders 8,000+ tiny tiles at 800 fps, and typically sluggish jobs like dynamic hex maps at very high speeds.

::: More :::

Also available in downloads (Gummworld2 required):

  • gw2_skeleton, a la skellington. Get this for fast skeleton setup. Highly recommended. I've gotten a fair number of how-to questions that are solved by this module layout. (Note: this is not the same as game_skel, also available in downloads. game_skel is standalone, whereas gw2_skeleton is a drop-in skeleton specifically for Gummworld2.)
  • The Mana World resources needed by some Gummworld2 examples (sorry, TMW is kept separate because it is GPL v2). This is just a drop-in data directory.
Standalone (Gummworld2 not required): Various small projects I use often, and some games and proofs-of-concept.

Changes

With release v0.3.0 the tiled2 branch is live. The included tiletmxloader v3 brings optimizations and bug fixes. The gummworld2 library brings many optimizations and a few bug fixes, and quite a bit of internal redesign as well as some API changes. Some dead modules and toolkit functions have been removed.

SpatialHash replaces Quadtree and 2D arrays for map objects storage. It is much more flexible and easy to query than arrays, and a lot faster than Quadtree.

A new SuperMap class joins an arbitrary number of maps together, with memory-friendly auto-loading and unloading and other features. This class is also super easy to use, and enables unlimited world building.

API changes were necessary to bring in the new features.

Note: if you want to pull source from SVN, be sure to get the tiled2/ branch.

Links

Home Page
https://bitbucket.org/gummbum/gummworld2/wiki/Home
Source
http://code.google.com/p/gummworld2/

Releases

Gummworld2 0.3.0 — 28 Nov, 2011

Gummworld2 0.4.4 — 23 Aug, 2013

Gummworld2 1.0.0 — 25 Mar, 2015

Gummworld2 0.0.0 — 31 Dec, 2010

Gummworld2 0.0.2 — 3 Jan, 2011

Gummworld2 0.4.0 — 6 Apr, 2012

Gummworld2 0.0.4 — 7 Jan, 2011

Gummworld2 0.0.5 — 10 Jan, 2011

Gummworld2 0.0.11 — 8 Feb, 2011

Gummworld2 0.1.0 — 27 Feb, 2011

Gummworld2 0.0.10 — 29 Jan, 2011

Gummworld2 0.0.9 — 22 Jan, 2011

Gummworld2 0.1.1 — 25 Mar, 2011

Gummworld2 0.0.12 — 20 Feb, 2011

Gummworld2 0.2.0 — 21 May, 2011

Gummworld2 0.4.1 — 28 Mar, 2013

Gummworld2 0.4.3 — 20 Aug, 2013

Gummworld2 0.5.0 — 16 Apr, 2014

Gummworld2 0.4.2 — 6 Aug, 2013

Gummworld2 0.4.5 — 26 Mar, 2014

Gummworld2 2.0.0 — 15 Sep, 2017

Pygame.org account Comments