XorGramana is a maze based logical puzzle game where you must escape each maze by arranging letters to form pre-defined words. XorGramana is based upon the game Xor which appeared in the early 1990's on 8bit home computers. XorGramana implements a version of Xor too.
Sorry, but XorGramana is in English only. A lot of work which is currently beyond my scope would need to be done to allow the game to play in other languages. New letter icons, completely new map designs for XorGramana, and then plenty of code modification to handle it all.
Contents
Latest Versions
About
Differences between Xor and XorGramana
Screen Shots
Download Source
Build XorGramana
Playing XorGramana
Viewing the Map
General Objects
Flipping Objects
Behaviour Reference
Latest Versions
The latest version of this document is available at
http://www.jwm-art.net/XorGramana/reference.html
The latest version of XorGramana can be found at
http://www.jwm-art.net/XorGramana
About
The game play is largly based upon an old 8bit game called Xor but in a loose spirit of detournment the objective is no longer to collect the masks scattered around the maze to open the exit door, but to manipulate letters mostly which form pre-defined words. In keeping with Xor, there is no time limit in which to accomplish this, but you have a limited number of moves.
XorGramana is developed from the code base of XorCurses - another game by jwm-art.net but uses the SDL library so it has nice graphics.
XorGramana is written and created by James W. Morris and began development in March 2009 to keep the author occupied while the Global Credit Crisis stopped all tempory work coming his way which he'd othewise be performing like a semi-trained monkey.
topDifferences between Xor and XorGramana
The basic objective remains the same: escape the maze. But this time you don't simply solve puzzles to be able to reach all the masks. The mask now serve a different purpose and do not have to be collected. Instead you solve puzzles which often form a word.
The next difference is the fact there are more than twice as many objects in XorGramana than there are in Xor. With this in mind, XorGramana was designed with new behaviours to complement the original behaviours. Further, the behaviours have been combined in ways which do not appear in Xor.
This is potentially quite confusing, for instance there is an object in XorGramana which like a fish, will fall when it can. However, this object also shares the properties of the doll object from Xor, when it is pushed horizontally.
Due to the fact there are many different objects and many different combinations of behaviours in XorGramana, every object has different coloured arrows indicating exactly which behavioural properties it exhibits and the directions these properties operate in.
Another new aspect to the puzzles in XorGramana, is that the player can be blocked into a 'room' within a maze until a particular puzzle is solved. Many of the levels in XorGramana use this feature, such that when the letters scattered around a room are arranged to form the word-sollution to the puzzle, a force-field blocking the exit from the room is removed and the player can proceed to the next puzzle.
Lastly, in Xor, all objects which gravitated (ie fish, chickens, and bombs) had to be supported by (or rest against) another object in the map design. In XorGramana however, unsupported objects are allowed in the map design and if used carefully, when the player begins the map they are presented with a nice little animation type effect. See the level 'Ivy Mikes Breakie' in XorGramana for an example of this, where the word to be constructed is firstly destroyed right before your eyes!
Despite all these differences, the logic behind the behaviours remains exactly the same (touch wood). As proof of this XorGramana also implements all 15 levels from the original Xor game using the same game engine code to do so. Objects such as fish, chickens, dolls, and bombs are replaced by the letter objects from XorGramana which have exactly the same behavioural properties.
topScreen Shots
Click on the images to see the full size versions.
Level Menu (options & replay load not working):
![]()
'Ivy Mikes Breakie' level 5 (introductory animation):
![]()
Download Source
XorGramana-0.0.8.tar.bz2
topBuild XorGramana
XorGramana at this stage can be built on GNU/Linux and requires the SDL development libraries (specifically SDL_image and it's dependancies). You should probably be using the packages provided by your GNU/Linux distribution to obtain SDL.
Once you have downloaded the XorGramana source, open a terminal and enter the following commands into it. The last command will start the game only if the build process completed without errors.
tar -xjf XorGramana-0.0.8.tar.bz2
cd XorGramana-0.0.8
make
./xorgramana
If the build process fails, please contact me so that I can improve the game. My email address can be found in the README provided with the source.
At this stage, there is no install target in the Makefile. XorGramana should be played from within the XorGramana-0.0.7 top level directory.
topPlaying XorGramana
Playing + Menu keys:
up arrow - move up
down arrow - move down
left arrow - move left
right arrow - move right
enter - Select/switch between players
m - view map
ESC - quit (asks for replay)
Map display keys:
m - hide map and return to game
- - zoom out map
= - zoom in map
arrows - move around zoomed-in map.
Menu-specific keys:
o - options (unimplemented)
l - load replay (unimplemented)
x - toggle switch between XorGramana and Xor
Scrolling/Edge threshold keys (during play):
1 - 1 block
2 - 2 blocks
3 - 3 blocks (default)
Miscellaneous keys:
f1 - toggle indicators on/off
f11 - toggle windowed/full screen display modes
esc - replay/quit/menu/exit
Replay keys (at replay prompt):
y - show replay
n - quit to level menu
c - continue playing (from this point in replay)
s - save (unimplemented)
(during replay)
1,2,3,4,5,6,7,8,9
- controls replay speed (1 - fast, 9 - slow)
esc - return to replay prompt/return to menu
When you start XorGramana, you are presented with a menu screen. Here you are able to choose which level you wish to play. Use the up and down arrow keys to select and press enter/return to begin. The options and replay load features do not work at this stage. You can press 'x' to switch between playing XorGramana or Xor.
The arrow keys move your player left, right, up, or down. Your player is indentifiable by the fact it is the only object that bares any resemblance to a shield. (See below).
You have two players, a blue player and a red player. To switch between your two players press return/enter. If your players are in close proximity you can tell which you have selected by looking at the bottom of the screen, next to the number there.
The number at the bottom right of the screen tells you how many moves you have remaining in which to complete all the puzzles in the maze. Take your time, there is no time limit nor any bonus for being quick.
When you first start playing, prepare to be confused as to what the hell you are meant to be doing. Just go up to objects and push them (by attempting to move to the position where the object is located). Some will move, a few are static and do not move, and some others have special properties.
When you have solved all the puzzles in a level, then the exit door will change from being closed, to being open. You only need to get one player to the open exit door to finish that level, as long as you've solved all the puzzles it does not matter if one of your players is stuck somewhere or has been killed.
The first level, 'Alpha Sequence', is supposed to be a gentle introduction to XorGramana and you do not have to form any words in this level. You basically just move through the level, pushing objects and observing what they do. There are one or two minor puzzles. For this level, due to the way it is constructed you should try to get both players to the exit, otherwise the exit won't open.
Finally, some of the more complex puzzles require both your players working together side by side in order to solve them.
topViewing the Map
Before you can view the map to the level you are playing, you must collect atleast one of the four map-pieces. Each map-piece reveals one quarter of the map. In XOR, only the walls, uncollected masks, and the exit is shown. No other objects are displayed in the map. In XorGramana, the map shows the walls, the exit, and the positions of the unsolved word-solutions scattered around the maze.
The map in XorGramana shows blanks (an underline character) where each letter in the word solution must be placed to be solved. The actual letters are not shown, so you must figure that out for yourself. The map comes in useful for when you are confused about where the letters are supposed to be positioned. If there are no blank characters in the area of the map where your player currently is, but there are lots of letters then you don't have to form a word to solve that particular puzzle, the puzzle is just a puzzle ;-)
topGeneral Objects
Your blue player.
Your red player.
Horizontal force-field. Blocks vertical movement and allows horizontal movement through it. Once a force field has been passed through by either the player or another object, it disappears.
Vertical force-field. Only allows vertical movement through it.
This is the exit you must reach. It will remain closed until you solve all the puzzles in XorGramana, or in Xor, until you have collected all the blue masks.
Once you have solved all the puzzles the exit will look like this.
In XorGramana, when you collect a masks you gain an extra 10 moves. In Xor, you must collect the masks to pass through the exit door.
This letter toggles the wall visibility on and off.
The teleport will transfer the player to the other teleport on the map. Teleports cannot teleport other objects beside the player, and if the destination teleport is surrounded by objects, the player will not teleport.
top
Flipping Objects
The fact that an object will flip is not indicated by any indicators, other than perhaps from guessing that it might flip because it can be pushed and has no other properties. Here then are a list of the sets of flippable objects.
Set 1: bdpq
A b will become a d when pushed horizontally. A b will become a p when pushed vertically.
A d will become a b when pushed horizontally. A d will become a q when pushed vertically.
A p will become a q when pushed horizontally. A p will become a b when pushed vertically.
A q will become a p when pushed horizontally. A q will become a d when pushed vertically.
Set 2: lj
An l can only be pushed vertically and will become a j when done so.
A j can only be pushed horizontally and will become an l when so done.
Set 3: sz
An s can only be pushed horizontally and will become a z when so done.
A z can only be pushed vertically and will become an s when done so.
top
Behaviour Reference
Here are the generalized categories of behaviour in XorGramana:
- Static objects do not move and block movement (ie a wall).
- Filter objects filter movement across them. If they block horizontally then they allow vertical movement and vice-versa.
- Collectable objects do not move but have a positive or negative effect upon player when passed over.
- Gravitating objects move in a single direction as soon as their path is unblocked.
- Pushable objects move a single block in the direction pushed.
- Hard-Pushable objects move in the pushed direction over many blocks until their path is blocked.
- Exploding objects explode in a horizontal or vertical direction one block each side when hit by a gravitating object .
- Flipping objects change to another (flippable) object when hit by a gravitating object or pushed by the player.
- Special objects perform some other behaviour not categorised by any other property (ie the exit and teleport objects).
Many objects have two or more of these properties combined.
Identifying the behaviour of an object
This short green arrow indicates the object can be pushed in the direction the arrow is facing.
This long blue arrow indicates the object gravitates in the direction of the arrow.
Two short green arrows like this indicate the object can be given a 'hard push' in that direction.
Two red arrows facing opposite directions indicate the direction of the blast when the object explodes.
Further behavioural characteristics
A gravitating object will kill the player, detonate a bomb, or flip a flippable object provided it has gravitated atleast one block already before making contact. You may rest a gravitating object on your player, or on a bomb, or on a flippable object provided it has not gravitated onto them. Gravitating objects will pass through force-fields provided they are moving in the correct direction for the force-field to allow movement through it.
An exploding object's blast is one block either side of the object, either horizontally, or vertically, as indicated by the red arrows. Bombs can destroy anything which falls in it's direct vicinity, including the object which detonated it, and can kill your player.
An object which is moving under the force of a hard push cannot harm your player, cannot pass through a force-field, and cannot detonate a bomb.
An object which is of the single-push variety (as represented by a single green arrow) when pushed will not detonate a bomb by way of that push, but it will pass through a force-field if that force-field allows the direction through in which the object is pushed.
All gravitating objects can be pushed horizontally if they gravitate up or down (and vice-versa). The single-push gravitating object when pushed will move in the direction it was pushed in and then try to gravitate if it can. The hard-push variety will when pushed not try to gravitate until the path in which the direction of their push follows becomes blocked.
Objects which have several properties can only exhibit one behaviour at a time. So for example, an object with the hard-push and gravitating properties will not harm your player or detonate a bomb unless it is gravitating.
Only one object at a time can be pushed.
Movement precedences
In Xor, some sollutions to a puzzle require, if you don't know how the precedences work, to take a risk. As Xor always pointed out, nothing in Xor is random. It is all predictable, and therefor always reproducible (which makes the replay very easy to code).
There is a remake of Xor for Windows which has not reproduced the exact rules serving the precedences of the original game. Purists may argue with progressives about this but I don't really care to, and have therefor reproduced the exact behaviour (touch wood again) and don't wish to knock the Windows remake (which has far superior scrolling).
Using Xor for ease (as opposed to XorGramana), suppose there is a mask which you want to collect, with a fish above, resting on it, and a chicken to the right resting against it (the mask). Below the mask is a wall, so you (the player) must approach the mask from the left. When you do this, you now have a fish resting upon you and a chicken resting against you. The chicken wants to run left and the fish wants to fall. What will happen when you move left?
The fish will drop and block the chicken from killing you. However, if we remove the wall from below the mask and place it to the left of the mask, the player now must approach the mask from below in order to collect it. This time however, it will be the chicken that moves first, protecting you from death by falling fish (very nasty).
In these two instances, it is the direction the player moves which governs the precedence of order of movement - the player moves horizontally then vertical-moving objects will move first. The player moves vertically, horizontal-moving objects will go first. This rule also applies to exploding bombs, but this time, it is not the player which explodes a bomb but a detonator (in Xor, this might be a fish, chicken, or another bomb). What does this rule apply to with bombs? Around the bomb things explode, around the explosion might be fish and chickens, so the rule determines which of these move first and bases this choice on the direction of the detonator.
A more complex case involves chains of moving objects. In Xor there are situations where you might have three chickens side by side in a row resting against a collumn of fish. If you unblock the fish so that they can fall, the chickens will not be able to begin moving until the last fish has dropped below the line of chickens. That means that the chickens can't push into the line of fish. Again, this is something the Windows remake of Xor has not quite got correct, but remember I'm not a purist and if that's how they want to do it - then I don't want to play it (besides it runs in Windows and I'm a Linux User (or luser)).
XorGramana has, aswell as objects that fall and run left, objects that rise and objects that run right. As an example we have a falling h-bomb resting atop a horizontal force-field. Directly below the force-field is an object which rises. It is a trap! Beware! In XorGramana I decided that the laws taken from Xor would hold precedence over the new laws I were to create: Falling objects precede rising objects, and leftwards objects precede rightwards objects. Back to the example, after the player has passed through the force-field the bomb will drop beside the player. The object below what was the force-field will now rise and detonate the bomb which will kill the player.
top
