SGE Game Engine - News
SGE 1.5 Released - What A Mess
Item posted by Layla Marchant <onpon4> on Sun 11 Jun 2017 01:43:28 PM UTC.
A new version of the SGE specification and the Pygame SGE has been released. This is a relatively small, yet somewhat... chaotic release.
Let's start with the specification changes, which are relatively minor:
- The way key names is handled has been made more generalized and flexible. Effectively, the total number of standard keys has been reduced (removing keys like "clear" and "super_left'), but the implementation is allowed to support any additional keys under names that start with "undef_", and it's been clarified that the engine is also allowed to not support arbitrary keys. This will help the specification accommodate other backends like Pyglet more, but more importantly, this fixed a problem with input methods (used for e.g. Japanese and Chinese text entry); the input method I use, at least, passed a keycode of "0", which was not actually defined as a key.
- Fixed a typo in the documentation for sge.gfx.Sprite.swap_color.
Nothing too crazy there. The big change is not likely to affect anything, realistically (there's not really a reason to use e.g. the Super key).
But then there came the big Pygame SGE change: the way lines are split has been changed to a much better one, utilizing the uniseg module. This, to be clear, is a good thing. The previous method simply did not split lines properly, and uniseg seems to be the best module which currently exists to do it right. But it also turns out that uniseg doesn't work with PyInstaller; someone needs to make a helper for it.
So for now, I have released two versions of the Pygame SGE: the regular version which uses uniseg, and is therefore better but incompatible with PyInstaller for now, and a "badsplit" version which continues to use the old method based entirely on the ASCII space character. I will work on writing that helper for PyInstaller as soon as I can to clean up this mess. In the meantime, please use the regular version when you can, and use the "badsplit" version otherwise (i.e. when building with PyInstaller).
If you appreciate my work on the SGE, as always, please consider contributing to my Patreon page or my Liberapay page. Your support makes it possible for me to spend more time on these efforts and less time making money by other means. My Patreon and Liberapay pages are here:
https://www.patreon.com/onpon4
https://liberapay.com/onpon4
Powered by Savane 3.14-8aba.
Corresponding source code