Skip to content
Choose a tag to compare

Summer 2019

Choose a tag to compare

The Summer Solstice 2019 release has finally come! πŸŽ‰ 🎊

Note that because of incompatibilities, PyGame 1 and Python 3.6 & 3.7 are the only supported versions. Neither Python 3.8 nor PyGame 2 are supported in this release. (This will hopefully be fixed for our Fall Equinox 2019 release, but its largely out of our hands.)

New since 0.5.1

  • Online docs! (#195)
  • Sprites can rotate (#214)
  • An Idle event has been added, fired each iteration through the event loop (#221)
  • An animation feature has been added (#230) and an example (#235)
  • A title argument has been added to (#258)
  • ppb.make_engine() has been added to simplify customization (#255)
  • GameEngine.loop_once() has been added to allow for external loops (#255)
  • The sprite sides API now implements full numerical methods (#272)
  • GameEngine() now accepts systems and basic_systems arguments (you probably want the former) (#295)

Breaking Changes since 0.5.1

  • The Y axis has been flipped so that +Y is up (#237, #275)
  • ppb.Vector has changed significantly; see the ppb-vector changes (#204, #280)
  • The deprecated scene change API (Scene.running, has been removed (#259)
  • System.activate() has been removed (#221)
  • GameEngine.register() now accepts callables instead of simple values (#228)
  • has been completely removed (#284)

Fixes since 0.5.1

  • ppb.utils.LoggingMixin now works with subclasses (based on the file the calling code is in) (#202)
  • StartScene no longer requires an empty kwargs when passed a scene class (#236)
  • GameObjectCollection (and its subclass Scene) work correctly with subclasses of children (#241)
  • Simplified the rendering event flow (#256)
  • Sprite.size of less than or equal to 0 no longer causes error (#262)
  • Defining sprites in a REPL no longer causes problems (#270)
  • Camera data is updated before PreRender fires (#274)

Development changes