Reviving KSokoban releases, next week already 8)

Friedrich W. H. Kossebau kossebau at kde.org
Wed Aug 24 00:35:55 BST 2022


Hi,

in case there are still some (passive) KDE Games community members here, I 
should keep you in the loop I guess :)

Last week, while updating code using API I had deprecated myself in KDE 
Frameworks, I came across the KSokoban repo (invent.kde.org/games/ksokoban). 
And while I remember that game from early KDE days, but not being much into 
gaming the last decade, I was surprised to see that the code was fairly up-to-
date and the program actually usable, yet there had not been a release for 
more than 14 (sic!) years, the last one at KDE3 times.

Which saddened me, all the efforts done by all the people all the years, yet 
no easy usage of the product for everyone.
Well, besides Gentoo user as https://repology.org/project/ksokoban hints;)

So with a rather dormant KDE Games community these days, and myself being a 
long time contributor to lots of KDE projects by the years (sadly never on KDE 
Games though, despite having been in long personal contact with KDE Games' 
Josef S. & Stefan M. in the local FLOSS scene in those ancient times, closest 
I ever got to games in 2011 is documented in [0]) and having also been the 
release manager of some KDE projects... I decided I should just go ahead and 
push KSokoban over the hill and back into rolling to releases again.

[0] https://frinring.wordpress.com/2011/03/28/introducing-kde-games-to-fullscreen-and-touch-interfaces-blue-wonder-2011/

First read up a bit on the history in the ML archive, to understand why things 
are where they are. And for what I understand, the main issue was the non-
scaling UI, and then the lack of fully dedicated maintainer to get things 
done, either by a replacement app like Magazynier or QML Sokoban (found on 
store.kde.org) or by doing the hard work to port KSokoban codebase to 
libkdegames API and get respective scaling graphic material.

Then I got in contact by email with Shlomi F., being the last one who seemed 
dedicated, who quickly replied to sadly tell he currently is no longer big 
into Sokoban games and to give his carte blanche for any further work of mine.

And so I just went ahead:
* added an appstream metainfo file to meet today's standards
* fixed loading of 3rd-party themes from remote URLs and per DnD
* restored buildsystem logic as CMake code to render the graphic material from 
the povray files (a bit wow'ed the pov files from 20 years ago still worked :)
* rerendered the graphics material in doubled dimensions
* made code support Qt's HiDPI technology
* completed efforts to hbuild & work with Qt6/preKF6, so future-prepared
* some code brush over, to my taste of what is modern C++ ;)

For what I can tell, the current state provides some gaming fun and works to 
what it intends to provide. I would have many feature ideas, but only to 
enhance things, no bugs currently known to me.

And with the first commit ever for KSokoban, by what the git repo tells, 
having been done on 1998-08-30, I took that as hint to do a first new release 
on the same day, just 24 years later:
Tuesday, 30th August 2022, so upcoming week.

Thus yesterday I declared a string-freeze on the repo to myself and told the 
nranslators about it and the planned release date. Also activated the bug 
entry for KSokoban again and added the upcoming version 0.5.0 to it (picking 
the version as proposed during the initial Qt5/KF5 port commit).

So things should be well set to make the new release happen :)
Last one I did is only a few months ago, so related hands still a bit warm.

Long term I would like to see KSokoban joining most of the other KDE games as 
part of the KDE Gear release effort, ideally already starting with 2KDE Gear 
2.12. Feedback on the 0.5.* releases should help here. 

Today also started to poke current KDE graphic contributors to look into doing 
a Breeze-style icon, to integrate at least there already visually with what is 
the modern design. Tracked at https://bugs.kde.org/show_bug.cgi?id=458214.

Post 0.5.* I plan to first see how to make KSokoban themeable (to also enable 
scalable themes next to the has-to-stay-being-history classic current one) and 
also make use of respective libkdegames API. I know this was discussed to be 
hard, but long autumn & winter nights are coming up in this hemisphere, and 
that's the season also of (hard) nuts to crack, isn't it ;)

Cheers
Friedrich




More information about the kde-games-devel mailing list