[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-games-devel
Subject: Re: Missing games and levels in KSokoban?
From: Ian Wadham <iandw.au () gmail ! com>
Date: 2022-08-28 2:18:32
Message-ID: BF60E2D1-8B55-4B80-A635-AB096F33342E () gmail ! com
[Download RAW message or body]
Hi Friedrich,
> On 26 Aug 2022, at 10:38 pm, Friedrich W. H. Kossebau <kossebau@kde.org> \
> wrote:
> Am Freitag, 26. August 2022, 09:02:56 CEST schrieb Ian Wadham:
> > One of the things I disliked about KSokoban, which I played in KDE 2 \
> > and KDE 3 times, was that a new maintainer came along and replaced all \
> > the games and levels with an entirely different set (called Sasquatch).
Actually Anders Widell was the author all the time in the early days. It \
was he who committed the first release at
https://invent.kde.org/games/ksokoban/-/blob/401d353748defbbf9ccd9770ce386b8505a38873
He also removed the original levels and replaced them with Sasquatch etc. \
So I wonder if he was motivated by copyright concerns when he did that. As \
you will have seen, the provenance of the original levels is given in the \
AUTHORS file, which you edited a few days ago.
Incidentally, here is the original TODO file: I don't think it has changed \
much over the years... :-)
* Icon
* Help file
* Go to specific level
* Scores
* Save/restore
* Load levels from files
* Drag & drop movement
> > Although the
> > new levels were good, the earlier levels were nice because they were \
> > graded from easy to hard and gave everyone, including little kids, \
> > access to the game.
> >
> > I'll have a dig through the repository in the next day or two and see \
> > what the current situation is re sets of levels.
>
> Okay. Already saw that in the ML archive discussions and made a mental \
> note, but with lower priority currently compared to theming.
The level files released by Anders were indeed text files, even though they \
were always named "level.data". They can be opened directly by vi and \
Apple's Text Editor on my MacBook Pro. They should probably have a .txt \
suffix these days.
The only "binary" or data-like feature is the occurrence of a line at the \
end of each level that contains a single zero-byte. That is, of course, the \
‘\0' character or C-type string- terminator. All those ‘\0' characters \
could just be deleted, leaving the empty lines. Then the whole "level.data" \
file would be easily parseable into games and levels as a multi-line text \
file, thus obviating all that bin2c complexity that was in the original \
build.
FWIW that roundabout way of loading the game data was one thing that put me
and others off persevering with porting KSokoban to KDE4. It was hard to be \
sure that it was just a workaround to avoid file I/O and not something more \
signifant that one might risk breaking (IIRC file I/O was a bit ho-hum in \
KDE 1 and Qt1 days, so maybe that's why Anders used bin2c and #include to \
get the levels loaded).
I see that Shlomi got around the problem, when porting to KF5, just by \
keeping an instance of the "levels/data.c" file in the repository and \
removing the "levels/level.data" text-file.
Anyway, if you wish to recover/reorder any or all of the games, the two \
versions of "levels/level.data" just before the change over to Sasquatch \
and later to KF5 ought to contain the most recent commits of all the text \
or text fragments you may need.
> Even more after I
> discovered https://ksokoban.online which helped me solve levels where I \
> first thought "this is impossible, the data or game must be broken" :P \
> and was to give up working on reviving releases.
> (totally could understand also why people even filed bug reports against
> ksokoban about "level x is not solvable", as I later saw, could have been \
> me :P)
That is one cool website, one of the best I've seen for playing a game. \
Simple, direct and easy to operate. And what a joy to have a "Show \
Solution" option… :-)
> > Also, I think the game is a good one to have a Game Editor added.
>
> The author of easySok agreed there, I saw :) Too bad that app also \
> stalled.
> Thought the few who would like to do levels can use a plain texteditor, \
> as the supported level format is plain text based, no?
Yes, it is text, but probably not easy to edit and play. Experience with \
composing KGoldrunner levels suggests that you need a visual editor and a \
quick way to switch to "play" (and test) mode when trying out ideas, moving \
walls, re-positioning treasure, etc. A lot depends on exact placement to \
change a level from easy, to hard, to impossible. I think the same might be \
true in KSokoban. As time went on, guys would send me KGoldrunner levels \
that were unplayable by me, so I added a feature to record all moves and \
save them to a file, which could be renamed as a "solution" file. Then I \
insisted that game-composers supply such a file along with their levels. \
The ingenuity and inventiveness of those guys has given me endless pleasure \
over the years...
> See also
> https://docs.kde.org/trunk5/en/ksokoban/ksokoban/loading-external-levels.html
>
> The whole level loading and management support though needs an overhaul
> indeed, to make things more discoverable, understandable & usable.
Hear, hear!
> Would be my own next target after theming, together with bringing back \
> those lost levels where possible. But only later this year, or early \
> next. But agree this is a rather weak spot.
>
> And having a dedicated separate editor for easy level design would be \
> neat. As well as integration with online communities already collecting \
> & managing levels. But that is a lot of work I do not see myself \
> currently having time left for, TODO list already full :)
Well, it's great that you are working on all this, Friedrich.
All the best.
Ian W.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic