Gummworld2 - 0.0.11
Gummworld2 is a pygame framework for a scrolling game, where the map is larger than the display. It emphasizes simplicity and performance.
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.
::: 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.
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.
- Very significant fixes to QuadTree, GameClock, and the toolkit Tiled Map loader.
- Some enhancements and corrections to toolkit.collapse_map_layer().
- The addition of toolkit.reduce_map_layers(), which reduces multiple map layers to one layer, and a demo to showcase the benefit.
- A lot of work on the world editor, its tilesheet palette and geometry classes.
Very soon I will be putting much thought into editor actions that feed the user_data field for world entities, because I can't imagine hand editing hundreds of user_data entries for a game level. Thus, I aim to reduce the labor of annotating shapes with data. It'd be great to have some ideas on how to make it accessible.
Also soon, I will make another demo mini-game using the Tiled and Gummworld2 editors, from which I hope to glean usability improvements for the world editor. I mean, would it not be cool to churn out a respectable level in just a couple hours? =)
In the meantime, I cordially invite you to the Gummworld2 discussion group. Because demos are mere morsels. The time is nigh to sink teeth into a meaty, juicy game. (And no. No, da Gumm's next game will *still* not be called PYABLO. :) It'll be... um, not sure yet.)