libgames-support update



Hi games maintainers,

libgames-support is going to enter API freeze beginning with tomorrow's
release. (I might make some small changes before then.) The first
stable release will be next month, alongside the GNOME 3.20 release.
For 3.20, it will be required by Klotski, Nibbles, Robots. Thanks to
Nikhar for getting this project started and for doing much of the work,
to Iulian for improving the scores dialog, and to Sahil for the code
style checker.

The primary value of using this library is that it provides a nicer
scores dialog than the one your game currently has, allowing you to
delete your history.vala and scores-dialog.vala files; we currently
have slightly different versions of this file in many games. See bug
#745492 for the list of games that should switch to using this. The
library also has a GamesGridFrame implementation that has replaced the
one in Nibbles and Robots; the other game that would benefit from using
this is Five or More. This is also where the new code style checker
lives; your games are probably all already using this thanks to Sahil,
but this is not a build dependency and doesn't affect users at all.

Future plans are to put a hint icon here (and maybe other icons too),
since many games are currently abusing dialog-info-symbolic or dialog-
question-symbolic as a hint icon (the later has been mistaken for a
missing icon placeholder :) and to add a GamesApplicationWindow class
that will abstract away some layout management (e.g. remembering the
window size) that's common to various games (I'm looking at Arnaud for
that).

The only major remaining TODO item is to add GtkDoc documentation for
the API... in the meantime, the API is fairly simple to use, and
Nibbles/Robots/Klotski serve as examples.
 
If your game saves high scores, please try to migrate your game within
the next six months, so that we have all games migrated by 3.22. (If
you're really adventurous, you can try to do it for 3.20 before the
freeze, but otherwise please wait for 3.22.) See Nibbles or Robots or
Klotski for example code and bug me if you have problems. Take special
care to test scores import to make sure your players don't lose scores
during the upgrade, as occured in past transitions; C games (plus
Nibbles) will want to use a Games.Scores.DirectoryImporter (see Robots
for an example), and Vala games will want to use a
Games.Scores.HistoryFileImporter (see Klotski for an example).

The library is licensed LPGLv3+, so if you want to use it in GPLv2+
games you must upgrade your license from GPLv2+ to GPLv3+. You can do
this unilaterally so long as all source files with license headers
include the "or any later version" clause. You don't have to upgrade
the license on source files, but it's recommended to avoid confusion;
upgrading the license in the about dialog and the COPYING file is
required. Again, see Klotski for an example commit.

Lastly, be sure to add libgames-support as a dependency of your module
in jhbuild when making this change.

Thanks,

Michael


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]