1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
|
Glotski 0.2 (Release At Last) January 8, 2000
All content except for files ending in .lev by Martin Hock
(oxymoron@cmu.edu)
Copyright 1999-2000 Martin Hock.
All of this software (i.e. everything in this archive) is distributed
under the GNU General Public License, version 2 or higher. It has NO
WARRANTY. Please read COPYING for more info. Stated again in more words:
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
INTRODUCTION:
You wake up one day to realize that you have no real friends and have
accomplished nothing of any real importance. You stare at yourself in the
mirror and wonder why you even need to exist anymore. You begin to feel
yourself slipping away from reality, slowly, almost completely unlike
slipping on, say, a bar of soap. But as you begin to drift off, right
before you lose your last shred of consciousness, something grabs you.
Something... blocky. Yes. The blocks. You must slide them. They must
be slid. No one, but you, can slide these blocks. Your life takes on
meaning as you begin sliding the blocks around, and around, and around...
IMPORTANT INFORMATION:
Since its original release, the game has actually gotten so it resembles a
real application. This is good. Of course, it is not done yet.
The game is named Glotski, which rhymes with.. not free? But, as you
realized, this game is entirely free (as in speech), unlike Klotski, a
game for Microsoft Windows, which therefore this game obviously isn't.
This game requires a relatively recent version of Gnome, one that has a
canvas that actually works.
HOW TO PLAY:
Start the game by either running 'glotski -f <name-of-level.lev>' where
the argument (required) is the name of a level file, or simply running
'glotski' and using the file dialog that pops up. The level may either be
present in your path or, if not, in LEVELPATH (defined at time of compile;
default is /usr/local/games/glotski/). The file dialog will start in the
LEVELPATH directory.
A level consists of a series of square-based blocks, which may be slid
around on a rectangular grid by dragging them around with the left mouse
button. Blocks may not overlap. You have a series of goals in mind
(usually just one). You must move the blocks around until they match each
of these goal patterns. Usually the goal is as simple as "move a certain
block to a certain place on the grid" but it can be more complex (like
"mirror the entire playing field vertically"). Look in the little "Goal"
window to see what it is you're supposed to do. It is possible to make
the goal ambiguous, by having two pieces that look similar have different
meanings, but then it is also possible to make the goal impossible to
attain, so you must have trust in the level author.
Usually these goals are fairly hard to attain. I personally am not very
good at attaining them. I wrote this game because I liked the
commercially sold game "Rush Hour" by Binary Arts and I wanted to create
something like it. I soon realized that Rush Hour was far too specialized
a case. Currently the game is a very large superset of Rush Hour. I also
wrote it when I read the fabulous book _Sliding Piece Puzzles_ by L. E.
Hordern and realized the wealth of sliding block puzzles that were out
there.
FILE FORMAT:
The level file format is very similar to the file format of the puzzles found
at Nick Baxter's Sliding Block Home Page at:
http://www.johnrausch.com/SlidingBlockPuzzles/
Currently, I do not support textures for the blocks. I also support an
additional directive, type, which takes the format:
type x typename
where x is one of the piece identifiers, and typename is one of: [ihvb]
for immobile, horizontally movable, vertically movable, and both axes
movable, respectively. Oh, and I support multiple targets (goals). This
is handy for levels like "Marco Polo" (which I have not packaged). Put
the goals in the order of the last one you want fulfilled first.
The interface is not finalized, but I'm pretty satisfied with it. I'll
probably add some more features eventually. The parser is not that great
when it's given an invalid level, but it seems to work fine for valid
ones. (And it will give you a bit of a clue what you did wrong if it's
invalid.) Oh, and I may as well switch over to an autoconf build process
(I need to learn how to use that - nobody help me this time!)
A NOTE ABOUT THE PACKAGED LEVELS:
I have decided to only package level files that I am as sure as I can be
are in the public domain. These are levels that were either patented
quite some time ago and thus the patents have expired, or were
manufactured by several unrelated companies and thus have been established
as generic. If someone wants to provide me with advice about this issue,
I certainly would welcome it. Furthermore, if anyone makes any puzzles
that they want included, contact me. (You will retain copyright, but they
will be placed under the GPL.) Some "Rush Hour"-ish puzzles as well as
puzzles with multiple goals would be nice; there currently are no such
puzzles distributed. The more puzzles I can include, the better. The
puzzles are currently all taken from Hordern's book.
And that's about it for now... What, were you expecting more for free?
|