Skip to content

Releases: python-sge/sge

Seclusion Game Engine 2.0.2

01 Feb 00:25
v2.0.2
Compare
Choose a tag to compare

This update to the SGE is in response to finding out that Pygame's ACTIVEEVENT support seems to be broken, at least on Windows. It takes a measure to hopefully address this by updating the SGE to use a newer API added as of Pygame 2.0.1. There are no other changes in this release.

Seclusion Game Engine 2.0.1

31 Jan 00:25
v2.0.1
Compare
Choose a tag to compare

This is a bugfix release that we meant to push out a long time ago, but stuff happened and we just sort of forgot to do it.

This release features only the following changes:

  • Tweaked documentation to be more helpful.
  • Improved efficiency of sge.gfx.Sprite.swap_color().
  • Fixed warnings on room start.
  • Fixed conversion of sge.gfx.Color to int, which had been broken for awhile due to a simple mistake.

Seclusion Game Engine 2.0

30 Apr 17:16
v2.0.post0
57b33ba
Compare
Choose a tag to compare

This update to the Seclusion Game Engine is a big one with some compatibility-breaking changes which will make the SGE more robust in the long-term, as well as some significant enhancements. Unfortunately we weren't able to get everything we wanted into this release, but it's significant enough that we've decided to release it now.

As mentioned, this release breaks compatibility with previous SGE releases. However, the latest releases of all xSGE components are still compatible with SGE 2.0. (Due to this and the fact that we're not done with certain xSGE updates, new xSGE releases are not being made to coincide with SGE 2.0 just yet.) Compatibility breakages are as follows:

  • Mouse wheel input is no longer detected as mouse button presses; mirroring the upstream changes in SDL2 and Pygame 2, the mouse wheel is now given its own API. Instead of event_mouse_press to detect mouse wheel motion, use the new event_mouse_wheel_move events.
  • Most methods now require certain arguments to be keyword arguments. Most cases will raise a syntax error if you try to specify them as positional arguments.
  • The frame parameter of many draw methods has been repositioned earlier so that it is the final parameter that can be specified as a keyword argument. This can cause invisible compatibility breakage in code which was specifying one positional argument that is now required to be keyword arguments, since it would get interpreted as the frame argument instead of simply raising a syntax error. Affected methods include draw_line, draw_rectangle, draw_ellipse, draw_circle, and draw_text. Recommended course of action is to manually check all calls to these methods and ensure that they aren't passing an invalid positional frame argument. (For backward compatibility with previous SGE versions, specify the frame parameter as a keyword argument.)
  • sge.gfx.Color now raises TypeError instead of ValueError when an invalid type is given.

Other changes to the SGE include the following:

  • It is now possible to control the sampling frequency of audio playback, as well as whether said playback will be in stereo or mono.
  • The default sampling frequency is now 44100 Hz instead of 22050 Hz. This improves default sound quality.
  • It is now possible to force the game to scale up only by integer amounts with the new sge.game.scale_integer attribute.
  • It is now possible to both get and set the exact size of the window the game is in via the window_width, window_height, and window_size attributes of sge.game.
  • It is now possible to detect when the user resizes the window with the new sge.dsp.Game.event_window_resize.
  • Two functions, sge.dsp.list_fullscreen_modes and sge.dsp.fullscreen_mode_ok, have been added to allow querying what fullscreen modes the system is capable of.
  • Support for drawing and projecting "polylines" (multi-segmented lines) has been added.
  • Support for applying a kind of Python-based pixel shader to sprites has been added via the sge.gfx.Sprite.draw_shader method. This method is slow and not as flexible as true shaders, but may be useful for some applications.
  • sge.gfx.TileGrid now supports two hexagonal tiling methods.
  • All drawing methods now support anti-aliasing in the Pygame SGE.
  • Some bugfixes.

Seclusion Game Engine 1.7.1

17 Dec 18:11
v1.7.1
691cb95
Compare
Choose a tag to compare

We're coming out with a new bug release because, as it turns out, there was an incompatibility between SGE and Pygame 2. This release just fixes that incompatibility and tweaks whitespace a bit; it is otherwise identical to version 1.7.

Seclusion Game Engine 1.7

07 Sep 16:31
v1.7
94ed90a
Compare
Choose a tag to compare

Another Seclusion Game Engine update! This update was prompted mostly by needs we had for ReTux (a new version of which will be released soon), though we also just noticed a couple places where things could be improved. The Pygame implementation has had only one unique change: it now implements a much better version of the "pixelate" transition that actually pixelates properly. The specification has changed in the following ways:

  • Added sge.gfx.Font.linesize attribute which tells you how tall a "line" is for text of a particular font.
  • Added sge.gfx.Sprite.size attribute which allows setting both width and height in one operation.
  • Added outline and outline_thickness arguments to sge.gfx.Sprite.draw_text and related methods; these allow you to easily add outlines of any thickness to text.
  • Added use of an argument by the "pixelate" transition to control the rate of pixelation updates. This was added because of the improved method of pixelation implemented in the Pygame SGE which looks much better, but can be a bit jittery; increasing the time between each update helps with this.
  • Specified that extending sge.s with additional string variables is allowed.
  • Fixed some documentation which was either missing or had typos, and removed an outdated recommendation against MP3 (whose last remaining patents expired a couple years ago).

Seclusion Game Engine 1.6

14 May 21:52
Compare
Choose a tag to compare

Welcome to GitHub! 🙂 This is the first release of the SGE on GitHub, the first release under the new name "Seclusion Game Engine", and the first one since the project was orphaned.

This is a fairly humble release and mostly important for what it symbolizes: the resumption of the SGE's development. Differences from the previous release on Savannah include:

  • The package name for the Pygame SGE is now "sge" instead of "sge-pygame", clearly labeling it as the default SGE implementation.
  • The full name of the engine is now "Seclusion Game Engine" instead of "SGE Game Engine".
  • Support for Python 2 has been dropped.
  • Added sge.s.orthogonal and sge.s.isometric, for use with sge.gfx.TileGrid.
  • Added sge.gfx.Sprite.get_spritelist method, which returns a list of sprites with each sprite having one of the sprite's frames.
  • Fixed a spelling error in the documentation.