Download - Knossos 3D maze game v1.1 user guide
Knossos 3D maze game v1.1 user guide
Introduction Named after the legendary labyrinth of Knossos, where Theseus defeated the Minotaur, Knossos is a
game about mazes. You can have the game generate a random maze for you, of a size and difficulty
of your choosing, or make your own to challenge your friends. You start at one corner of the maze,
and the goal is to find the exit at the opposite corner and escape. You get a 3D first person view of
the maze, as if you were inside it. You can make a 2D maze, a 3D maze, or even a higher dimensional
maze of 4 dimensions or more.
Key features include:
• Genuine 3D mazes, not just 2D mazes displayed with 3D graphics.
• Randomly generated mazes of a size and difficulty of your choosing.
• Adjustable difficulty ranging from trivial to very hard.
• Make a maze of up to 10,000,000 cells (on a typical PC).
• Highly configurable graphics settings to get the look and feel you want.
• A maze designer to let you design your own mazes.
• Mazes can be saved and loaded to share with friends.
Getting started
Installation To install the game, double click on the setup.msi file to start the installer, which looks like this:
This will take you through a few screens asking for your installation preferences, and will then install
the game. Unless you have a problem with the default settings, just keep clicking the next button to
go through these screens. The default settings should be fine for most people, but you can change
them if you want.
Once the game is installed you should see the following icon on your desktop (for Windows 7 users).
Double click on it to start the game.
Your first game To get started, just start up the game. The first time you start it, it will automatically create a
random 12x12 medium difficulty 2D maze for you. A message will appear to tell you your maze is
ready; click OK to continue and you should see something similar to this:
At the top is a panel with information about the current game, below this is a first person view of the
maze from your current position. Each maze consists of a grid of cells connected by corridors, which
may be open or closed. You start in one corner of the maze, and the exit is located at the opposite
corner. The aim of the game is to find the exit and escape. You can ignore most of the info in the top
panel for now, except that the position, which tells you your current location, is probably going to be
useful.
To move about, use the following keys:
Move forward L
Move back K
Turn left A
Turn right D
Turn up W
Turn down S
Turn clockwise E
Turn anticlockwise Q
Drop clue C
These key bindings are configurable if you don’t like the defaults. For the starter 2D maze you will
probably only need to use move forward (L), turn left (A), and turn right (D).
As you make your way through the maze, you will encounter the occasional progress message, and
possibly also some landmarks, as shown below.
Progress message A landmark
Progress messages give you some idea if you’re on the right track or not, and landmarks can help
you to navigate the maze. Both of these features are configurable and can be turned off entirely if
you want. You may also encounter a few other interesting things …
When you find the exit, it will be marked with a minotaur’s head graphic, as shown below.
When you enter the exit cell, a victory sound will be played and the screen below will display, to give
you information about how well you did.
Your next game The starter 12x12 maze is not supposed to be very difficult, and you may now want something more
challenging. To do so, you will need to create a new maze with different maze generation settings.
To do this, go to the Maze Generation screen via Menu -> Settings -> Maze Generation. There are
many settings on this screen, and they are all explained in detail in a later section (see Random Maze
Generation). For now, so you can get started quickly, we will just discuss the most important ones,
which are maze size and difficulty.
On the left of the Maze Generation Settings screen you can set the size of the maze. Choose how
many dimensions you want and then set the size of each of them. Next set the difficulty. This can
take any value between 0 and 10. What it means is discussed in more detail in the Random Maze
Generation section, but briefly, difficulty 0 is genuinely of zero difficulty, 5 is usually fairly
straightforward, and 10 is very hard. Anything below 5 should not trouble you much, 5 should be
fairly easy, but rising from 5 to 10 the solution to the maze becomes ever more convoluted and
difficult, with 10 representing a real challenge in a sufficiently large maze.
You may also want to try changing some of the user interface settings, to get a different look and
feel for your maze. These can be set in the UI settings screen, reached via Menu -> Settings -> User
Interface. Again, as with maze generation settings, there are many settings here; we’ll just discuss
the most important ones for now.
Corridor length, as a multiple of cell size, has a big effect on the maze experience. Set it to a low
value, even zero if you want, and you can see a lot more of the maze in your vicinity. This can cause
performance problems in extreme cases, and can also be a bit overwhelming in 3D, so try a few
values and pick that which you like best.
Next, you may wish to change the décor of the maze. By default, all the walls are decorated with the
Stone Walls texture set. There are five texture sets to choose from, near the bottom of the screen,
try them out and pick a favourite. They range in style from very traditional to very bizarre.
Lastly, by unchecking the “Ambient lighting” check box, you may choose point lighting (the maze is
lit as if you are holding a light) or ambient lighting (the maze is lit at equal brightness everywhere).
Point lighting is more atmospheric, but ambient lighting lets you see further. Take your pick.
Gameplay details
Starting a new game There are several ways to start a new game, listed below
1. Automatically on start-up: Whenever you start the application, it will automatically create a
new random maze, using the current maze generation settings, and start a new game with
it.
2. After victory or loss: If you win (or lose) a game, you will be presented with the victory
screen. At the bottom you are presented with three options. “New Maze” will create a new
maze with the current maze generation settings, and then start a new game in it. “New
Game” will start a new game in the current maze. “Cancel” just returns you to continue the
current game if you’d like to keep looking around the maze.
3. After editing the maze generation settings: If you use the maze generation settings screen
and have the “Make new maze on exit” option checked, then when you click OK it will create
a new maze using the new settings and start a new game in it.
4. On demand: You can ask for a new game at any time via “Menu -> File -> New Maze” or
“Menu -> File -> New Game”. New Maze will generate a new random maze using the current
settings and start a new game in it. New Game will start a new game in the current maze.
5. After using the map editor: If you use the map editor to edit a maze or create a new one, a
new game will be started in that maze after you click OK.
Loading and saving of mazes and games Under Menu -> File, you will find menu options for the loading and saving mazes and games. These
work in the usual way. If you save a maze, rather than a game, then only the maze will be saved and
any information about your current game will be lost. If a maze is loaded, then a new game is started
with it. If you save a game, the maze plus all information about the game, such as position, moves
made etc. is saved, allowing you to save a game and come back to it later.
Top panel The top panel displays information about the current game. From left to right it contains
1. Color pickers grid: This grid of colored rectangles acts as a shortcut for changing the colors
of the color scheme (see the UI settings section for more information about this feature). If
the color scheme is on (by default it is not), the walls will be recolored according to these
colors. To change a color, double click on its rectangle and a color choosing dialog will
appear to let you pick a new color,
2. Position information: The current position and exit position are displayed in the next
column.
3. The 3D compass: The 3D compass shows you what your current orientation is, i.e. what
direction you are facing, and what direction is to your right, left, above or below. In a 3D
maze the three directions are called x, y, z in that order, and the position is displayed as x, y,
z.
For example, in the above image, the compass is telling us that we are facing forward in the x
direction, with the z direction to our right, and the y direction above. If we were to move forward
here, the position would change from 3,3,1 to 4,3,1, i.e. plus one in the x direction.
4. Time and moves: The next column displays the time the current game has been going for,
and the number of moves made so far. This can be important to know as the game may be
against the clock, or have a moves limit.
5. Game limits: The next column shows the time left, the number of moves left, and the
number of clues left. If the time left or moves left is not applicable, because you’re not
playing an against the clock game for example, then the corresponding box will be greyed
out and display nothing. If you run out of time or moves, the game will end and the
corresponding info box will go red.
6. Maze information: The last column on the right shows some information about the maze.
You will be shown how large the maze is, and how long the shortest solution is.
Game settings There are various game settings that you can set to control things such as the progress reporting
system. The game settings screen can be found at Menu -> Settings -> Game. It looks like this:
We’ll not go through all these settings here, but rather refer back to this screen when discussing the
features that are controlled from here.
Game settings cannot be changed in the middle of a game; they can only be changed before you
make your first move in a new game. Also, the designer of the maze you are playing in can restrict
the settings that you can set, in order to prevent the maze from becoming trivial due to excessively
easy game settings. If this happens you will get a message telling you your setting has been
overridden by the maze.
Progress reporting system By default, the progress reporting system is on and reports every time you are a multiple of 10
moves from the exit. This means that you get a message on screen when you are 10, 20, 30 etc.
moves from the exit. The message is color coded, and will be red if you are further from the exit than
the last time you got a message, green if you are closer, and yellow if you’ve made no progress since
last time. You can change the progress reporting multiple in the game settings screen, and can also
turn off the progress reporting by unchecking the “Report progress” checkbox.
The maze designer can choose to limit your use of this system by setting a minimum interval (to
prevent you setting it to 1, or something very low, which trivialises any maze) or even disabling it
entirely for that maze. You will get a warning message if you try to set it more generously than the
current maze allows.
User clue system By default, the user clue system is on and allows you five clues. You can configure this in the game
settings screen by checking/unchecking the “User clues” check box to enable/disable user clues, and
the number of clues you can have is set by the “Max clues” text box.
The user clue system allows you to leave your own clues in the maze. You can mark a cell with a clue
if you think that will help you. Each clue consists of a single letter of a color of your choosing. What
these clues mean is entirely up to you; you may adopt any system you want.
To leave a clue in the current cell, press the “drop clue” key (C by default). You will then see this
screen:
Here you choose what letter you want for your clue. Double click on the colored button to the right
of “Color” to open a color picking dialog to change the color. Finally, choose which wall you want to
display the clue on. You must place the clue on a wall if the cell has any. In a 3D+ maze it is possible
for a cell to have no walls, in which case you may leave a clue floating in mid air in any of the six
directions.
Here’s an example of a red S clue that was dropped in the cell ahead of us earlier.
You will have a limited number of clues, so use them wisely!
Challenge modes By default, you can spend as long as you like trying to solve a maze, but if you want you can set a
time limit or move limit for you to solve the maze in. These can be set up in the game settings
screen, in a way which is hopefully self-explanatory.
If you set up a time or move limit, the top panel time left or moves left boxes will display the
remaining time/moves. If you run out of time or moves you lose the game
Game over Eventually you will find the exit, or if in challenge mode you may lose by running out of time or
moves. If you win, you are free to keep looking around if you wish, or you can choose to start a new
game or maze. If you lose and do not immediately start a new game, you will be unable to make any
further moves in the maze.
Higher dimensions UI If you want to try a higher dimensional maze, of 4 dimensions or more, you can create one via the
maze generation window simply by choosing the number of dimensions you want and supplying the
size of each of them. The goal is the same, to get from the start cell to the exit, but now your
position will have more coordinates. For example, in a 6D maze you start at 1,1,1,1,1,1. But how do
you move about in a higher dimensional maze?
In a higher dimensional maze, if it is possible to move in a higher dimension from a cell, a triangle
will be displayed to indicate this. There will be one triangle for every higher dimensional move
possible from a cell. These are called jump triangles and an example is shown below.
To move in a higher dimensional direction, just click on the jump triangle corresponding to that
move and you will be teleported to the new position.
The jump triangles in the current cell will always be displayed just in front of you, regardless of your
orientation. They are arranged in pairs (if both are present), with the triangle pointing up taking you
up a unit it its associated dimension, and the triangle pointing down taking you down a unit in its
dimension. The pairs are located along a circle, with the pair for the 4th dimension always located at
12 o’clock, and subsequent higher dimensional pairs are distributed evenly around the circle in a
clockwise manner. In the 6D example, this means the 5th dimension triangles are at 4 o’clock, and
the 6th dim ones at 8 o’clock. This is shown schematically below, and the above picture is also
reproduced with the triangles labelled according to what higher dimensional move they are for.
Diagram showing where the jump triangles will take you
Labelled jump triangles
The jump triangles will always be displayed like this, and whenever you turn around they will
reposition themselves to ensure you get the same view of them as before. You can also see the jump
triangles in nearby cells, but these will not react to being clicked on.
Random maze generation To make a new random maze, go to the maze generation screen at Menu -> Setting -> Maze
Generation. Choose the settings you want and then click OK, and the maze will be randomly
generated according to the settings. A randomly generated maze will always have every cell
reachable. The maze generation settings screen looks like this, and now we’ll discuss what each of
the settings do.
Maze size On the left side of the settings screen you specify the size of maze you want. First choose the
number of dimensions. Two or three dimensions are normal, but you can have as many dimensions
as you want. Under the dimensions text box are some dimension size text boxes. The number of
these will be the same as the number of dimensions. In each one enter the size of that dimension,
which is just how many cells wide the maze is in that dimension. At the bottom right of the screen
the “Cells” text box, which is read only, will tell you how many cells your maze will have.
How big a maze can you make? In theory, the game will allow you to create a maze a little over two
billion cells big (2147483647 cells to be precise), but in practice if you try to make a maze that big
you will just run out of memory. The upper limit will depend on your hardware, specifically how
much memory you have, but ten million cells should be possible on a typical PC. To get a feel for the
feasibility of making such a big maze, here are some relevant figures from a test PC. You won’t get
exactly the same numbers if you try this yourself, but you should be in the same ballpark.
10,000,000 cell maze statistics
Maze creation time 2 min 30 s
Memory used 2.38 GB
Time to save maze file 4 min 55 s
Time to load maze file 5 min 20 s
Maze file size 3.99 GB
As you can see, a ten million cell maze uses over 2GB of RAM, which most PCs should be able to
accommodate. If you have a lot of memory you may well be able to make a maze a few times bigger
than this.
Difficulty The next setting on the settings screen is Difficulty. This controls how ”difficult” the random maze
will be to solve and ranges from 0 to 10. What does difficulty mean exactly? Well, there is no formal
definition for it, but if you try a few mazes at various difficulties you’ll probably agree that a difficulty
10 maze is harder that a difficulty 5 one, which is in turn harder that a difficulty 0 maze.
To get some idea of what this setting actually does, we’ll consider the kinds of mazes that are
created as we raise the difficulty from 0 to 10.
At difficulty 0 all the corridors are open and you can just walk straight from the entrance to the exit.
A difficulty 0 maze really does pose zero difficulty. As the difficulty is raised from 0 to 5, the
percentage of open corridors decreases, until at difficulty 5 it is slightly above the minimum required
to ensure every cell is reachable.
Difficulty 5 mazes actually look like fairly normal mazes, whereas at the lower difficulties the mazes
are so open that they don’t really, and they should pose very little challenge. Even so, difficulty 5
mazes are not particularly difficult; the solution is typically only a bit longer than the direct path to
the exit, and a strategy of heading in the direction of the exit whenever possible will be fairly
effective. You will sometimes have to double back or make a detour, but not too often or too badly.
There are usually multiple ways to solve the maze as well.
As the difficulty increases from 5 to 10, the average solution length goes up. At difficulty 10 the
solution will usually be long and convoluted, and a simple strategy of heading towards the exit
whenever possible won’t be effective. Difficulty 10 mazes also have the property that they have no
internal loops (you can’t go round in circles in one) and only one solution. They are an example of
what are known as “perfect” mazes.
Of course the overall difficulty will depend on the size of the maze as well as the difficulty setting.
Clearly a 100x100 difficulty 10 maze is going to be harder to solve than a 10x10 one. Also the
number of dimensions is a factor – everybody knows you can solve a 2D maze by following the wall
to your left, but what do you do in 3D maze?
Finally, since there is a random number generator involved, occasionally a maze at a given difficulty
will just so happen to be a lot harder or easier than usual.
To give some concrete examples, here are some maps of 20x20 mazes constructed at various
difficulty levels, with the solution marked in red.
Difficulty 0. 38 move solution Difficulty 2.5. 38 move solution
Difficulty 5. 46 move solution Difficulty 7.5. 76 move solution
Difficulty 10. 108 move solution.
Mark exit Below the difficulty text box we have the mark exit check box. This one is simple: If checked the exit
cell will be marked with a minotaur’s head.
Regions If you tick the create regions checkbox, your maze will be divided into regions of average size as
specified in the region size textbox. Each region will decorate its walls with a texture set chosen at
random from the available ones (see the UI settings section for more information about texture
sets). Thus different parts of the maze will have different visual styles. An example of the boundary
between two regions is shown below.
Here, we are currently in a region using the Metallic texture set, and just ahead of us is a region
using the Abstract texture set.
Landmarks If you tick the landmarks check box then landmarks will be added to the maze. The Landmarks
fraction text box is used to set the fraction of cells that have a landmark. For example, if it is set to
10, then 1 in 10 cells have a landmark.
Landmarks are images that get displayed on the maze walls. They can range from something as
mundane as a puddle to one of the sights of the world. It’s possible, but rare, for multiple landmarks
to be displayed on the same wall.
Lights If you tick the “Add lights” check box, then colored lights will be placed in the maze. This can create
an atmospheric effect. The lit fraction is the fraction of cells that have a light in them, for example if
it is set to 200 then 1 in 200 cells has a light. Since each light will illuminate many nearby cells, it is
not recommended to set it too low. A lit fraction of 20 for a 2D maze, or 100 for a 3D maze will
suffice for you to encounter illuminated sections of the maze frequently. Of course you can also
make this a rare occurrence too if you want.
NOTE: The lights will not be visible with the default white ambient lighting, as everything is already
at maximum illumination and adding extra lights makes no difference. To see the lights either use
point lighting, or set the ambient light color to something dark.
The lights effect is not particularly realistic, as the walls do not cast shadows, but it can still look
quite pretty. Here is an example:
Progress reporting limitation The “Min report progress interval” text box allows you to restrict the usage of the progress reporting
feature in this maze. The progress reporting interval in the game settings cannot be set to a value
lower than the one specified here. For example, if the min report progress interval is 10, a player
may set their game settings progress interval to 10, but no lower. To disable progress reporting
entirely for the maze, set the min interval to the special value of 0.
You probably won’t be very interested in using this feature for mazes you randomly generate to play
yourself, as you can just set whatever interval you want in the game settings anyway; however if you
are designing your own maze (where this settings screen is also used) to share with others, you may
wish to prevent them from trivialising it by setting the report progress interval to 1, for example.
Make new maze on exit If this is checked, a new maze will be created with the new settings as soon as you click OK. If not,
the new settings will be stored but not acted on until you next choose to create a new maze.
UI Settings There are many UI settings to choose from. They allow you to customise the look and feel of your
maze. You can choose from one of five texture sets to decorate the walls, adjust the corridor length,
change the lighting model, recolor the walls and more.
The UI settings screen can be accessed via Menu -> Settings -> User Interface. It looks like this.
We’ll now go through the options on this screen.
Color scheme On the left of the screen are the current color scheme settings. The color scheme is used to color the
walls according to the direction they’re facing. The idea is that the color of the walls gives you a
sense of direction. Or maybe you’ve just always wanted to run around inside a bright green maze.
By default, the color scheme is disabled; tick the “Use the color scheme” check box at the top left to
enable it. On the left you can see a grid of color pairs. These are the colors that will be applied to the
walls. To change a color double click on the relevant grid cell and a color picker dialog will appear to
allow you to choose a new color. There is also a copy of this grid at the top left of the main window
that you can use as a shortcut for changing the colors.
The first row of the color grid contains the colors for painting walls facing in the x direction. The
color on the left will be the color of a wall right in front of you when you are looking in the minus x
direction, the one on the right when you are looking in the plus x direction. The next two rows work
in the same way for the y and z directions.
There are three color pairs by default, but at the top you can use the Colors text box to change the
number of pairs. Pairs beyond the third one will be used to color the jump triangles if you are playing
in a higher dimensional maze. If there are more dimensions than color pairs, then the pairs will be
cycled through.
You also have the option to make the minus direction colors a darker shade of the plus ones.
Choose how much darker you want them in the textbox next to “X” and click apply. The idea is that
the walls in a particular direction are the same color in both plus and minus directions, but brighter
in the plus direction. You don’t have to use this feature if you don’t want, and can use any colors you
want for the six directions.
Here we see two pictures of the same place, with the color scheme off and on respectively.
Corridor length You can change the corridor length. It is expressed as the ratio of the corridor length to the cell size,
so for example at the default setting of 1, the corridor walls are the same size as the cell walls. At the
default setting of 1 the maze has the feel of being made of a network of corridors, whereas at small
corridor lengths it may feel as if it is made of many thin walls. You can even set the corridor length to
0, removing the corridors entirely. Here is the same place viewed with a variety of corridor lengths.
Corridor length 0 Corridor length 0.1
Corridor length 0.3 Corridor length 1
As you can see, the smaller the corridor length, the more you can see of the surrounding area.
However, this can cause performance problems if a very large number of walls become visible, and it
can also be a bit overwhelming to follow what is going on. It’s up to you which length you prefer.
Move time This setting sets the time it takes to move from one cell to another, and to do a rotation. Reduce it
to speed things up, increase it to slow them down.
Lighting There are a few lighting settings. Firstly, you may choose ambient lighting, or point lighting (by
unchecking the ambient lighting checkbox). With ambient lighting, everything is lit equally with
uniform background lighting. With point lighting the maze is lit as if there is a light at your position.
What does this look like? Take a look:
Ambient lighting Point lighting
You can also change the lighting color by clicking on the colored button next to the lighting color
label. This will open a color picker dialog for you to choose the lighting color. For example, if you
chose to illuminate the above scene with red light, it would look like this.
Viewing distance The maximum distance you can see can be limited, to prevent performance problems if too many
walls are visible; tick the “Limit view distance” check box to restrict the viewing distance, then enter
the maximum distance in the accompanying text box. This distance is the number of cells you can
see directly ahead, so if it’s set to 8 you will be able to see the 8 cells in front of you, walls
permitting, but no further.
You can enable the fog effect if you want the view to smoothly fade to the background dull grey. If
the fog effect is disabled, you will instead see an abrupt cut off in the graphics at the maximum view
distance. Both options are shown below for the same location.
No fog Fog
The fog effect starts at two thirds the maximum view distance, and thickens with distance until the
walls are fully obscured at the maximum view distance.
Calculate while moving While waiting for you to decide what to do next, the game will pre-calculate various things so as to
be ready as soon as you choose to make a move or turn. This reduces lag. These calculations can
even be done while moving or turning. If you choose this option, lag is minimised, but when
calculating while moving, processor power is of course being diverted from the actual moving, so
your frame rate will be reduced while the calculations are in progress.
Texture sets The walls of the maze are decorated with texture sets. Each texture set can be enabled or disabled,
independently of the others. In a maze with multiple regions, each region will use a texture set
chosen at random from the enabled ones. If the maze does not have regions, the entire maze will
use a random enabled texture set.
There are currently five texture sets to choose from. Below is the same location shown using each of
the five texture sets.
Stone walls Brick walls
Metallic Water
Abstract
Untextured walls Although there is no explicit option to use untextured walls, there is, in addition to the five main
texture sets, a special texture set which can be used to equivalent effect. It is the “Untextured”
texture set, and it simply consists of six white squares. While technically the walls are still textured, if
you use this texture set they will be visually identical to untextured white walls. You can use the
color scheme if you would like colored walls; an example of this is shown below.
Full screen Check this box to play Knossos in full screen mode. If unchecked it will run in windowed mode.
Other settings • Sound: Go to Menu -> Settings -> Sound to open the sound settings window. Here you can
separately control the volume of the sound effects and background music, or turn them off
entirely. You also have three choices of background music.
• Key bindings: Go to Menu -> Settings -> Key Bindings to change the key bindings.
• View current maze settings: Go to Menu -> Settings -> Current Maze to see the maze
generation settings with which the current maze was made. This will open a read only
version of the Maze Generation Settings screen to view them.
Make your own maze The game comes with a map editor to let you design your own mazes and share them with others.
Opening the editor The maze editor can be accessed via Menu -> File -> Design New Maze, if you want to design a new
maze from scratch. If you want to edit an existing maze, then use Menu -> File -> Edit Maze.
There is also the No Copy version of the edit menu. Normally a copy of the maze is made when
opening the editor, and you work on the copy, which then replaces the original maze when you click
OK. The advantage of making a copy is that you can click Cancel to discard any changes made.
However, if editing a very large maze, you may not have enough memory to make a copy, in which
case you can use the “Edit Maze (no copy)” menu. If you do this, any edits you make are
immediately applied to the current maze and the Cancel feature is disabled.
Overview of the screens The maze editor actually consists of two screens, which open together. One is called Maze Designer
and it displays an editable map of the maze. The other is called Design Control, and it both controls
the display settings of Maze Designer, and offers some useful tools to help you build a maze. The
two screens are shown below.
If you open an existing maze for editing, then the Designer screen will immediately display the
current maze. If you start a new maze the Designer will initially be empty.
2D tutorial We’ll go over most of the features using an 8x8 2D maze as an example. After that we’ll cover how
the design of 3D and higher dimensional mazes works.
To create a new maze from scratch, go to Menu -> File -> Design New Maze. Initially the Designer
screen will be empty. On the design control screen, you have some basic maze generation settings,
such as size and difficulty. Set the size you want and click the New Maze button, which will create a
new maze of the specified size, with all the corridors closed. Alternatively, you can make a new
random maze with the Random Maze button, which you can then edit. If you have just made a new
8x8 maze, the designer will now look like this.
By default, each cell displays its position in the bottom right. Now you can start connecting up the
cells. To connect two adjacent cells, just click on one of them and then the next. To disconnect two
connected cells, do the same. After a few connections, your maze may look something like this.
Continue until you are satisfied with your maze, then click OK in Design control and a new game will
be started in your new maze. Whereas randomly generated mazes guarantee each cell is reachable,
there is no requirement that this be so for a maze you make yourself. It need not even have a
solution, although the player will be warned if this is the case.
Design control overview The Design Control screen has three sections. On the left are basic maze generation settings. You can
access all the maze generation settings by clicking the “More settings” button. In the middle are
some settings that control the how the Designer displays the maze. On the right is a column of
buttons that provide some useful tools.
Design Control tools We’ll cover the Design Control screen’s tools first.
New maze
This will create a new maze of the specified size, with all the corridors closed.
Random Maze
This creates a new random maze using the maze generation settings specified on this screen. You
can use this as a starting point for your own maze if you want.
Redraw
This forces a redraw of the Designer screen. Use this after changing some of the display settings.
Show solution
This will calculate the solution and display it in red, as shown below. It will also tell you how long the
solution is. If there is no solution, a message will be displayed to tell you so.
Show disconnected
This will analyse the maze to find any cells that are unreachable from the start position. They will
then be displayed on the map with a red background, as shown below.
Connect all
If there are disconnected cells, you can use this button to automatically randomly open more
corridors to ensure that all cells are connected. The algorithm that does this will never create any
new internal loops, or extra solutions. This can be used to quickly create a large and difficult maze –
just plot a convoluted solution from start to exit, and then click “Connect all” to fill in the rest of the
maze. Your convoluted solution will still be the only way to solve the maze. Below we can see the
above maze after “Connect all” has been applied to fix it.
Flavour
This will add flavouring to the maze. This includes landmarks, lighting, and regions, according to the
current maze generation settings. Any previous flavouring will be deleted first.
Show regions
This will display each of the regions of the maze in a different color in the designer, as in the example
below.
Show exit distance
This will color the cells in the designer according to their distance from the exit, with the most
distant being red, and the closest (i.e. the exit itself) being green. The color varies from green ->
yellow -> red as the distance increases, as shown below.
Set password
You can set a password on your maze. If you do this nobody else can open the maze for editing
without supplying the password. Clicking this button will open a password entry dialog to let you do
this.
Display control options In the middle of the Design Control window are some options for controlling the display of the maze.
Limit display size
By default, the display size is limited to a grid of 40x40 cells. This is because attempting to display all
of a large maze can take a long time, and may cause the computer to freeze up entirely. If you limit
the display size, you can control which section of the maze is displayed by entering a position into
the Position textboxes, next to the dimension size boxes. This will set the position of the bottom left
cell to be displayed. For example, below the display size has been limited to 10x10, with the start
position set to 10, 10.
Across and up dims
By default, the x dimension position increases as we move across the map from left to right, and the
y position increases as we move up the map from bottom to top. Thus x is the Across dimension and
y is the Up dimension. This can be changed to make any two of the available dimensions the Across
and Up dimensions, except that they cannot both be set to the same dimension. For 3D and higher
mazes, this is useful for viewing different slices through the maze in various directions.
Zoom
This setting can be used to zoom in or out. It is not a true zoom as it does not resize everything, but
just makes the cells bigger or smaller, without affecting the size of the coordinates or maze lines.
Others
The “Show coords” text box is used to toggle the display of the maze coordinates in each cell. The
“Show grid” check box is used to toggle the display of grid lines dividing the cells. If “Immediate
refresh” is checked, the map will be redrawn immediately anytime anything relevant is changed. If
unchecked the map will only be redrawn when the Redraw button is clicked.
3D and higher When designing a 3D maze, a pair of triangles will (usually) appear in each cell to indicate if you can
move up or down in the third dimension from that cell. The triangle pointing up indicates if you can
move up, and guess what the one pointing down indicates? The triangle will be green if movement is
possible, red if it is not. If it is not possible to move up or down in the third dimension, due to being
at the maze boundary in the third dimension, the corresponding up or down triangles will be
omitted. In addition, any cell in which movement is possible in a higher dimension (third or above),
will have a small circle in its centre to indicate this.
You can open or close a corridor in the third dimension by clicking on its associated map triangle,
which will swap its state from open to closed or vice versa.
In 3D and above, you can’t view the map of the whole maze at once; instead you can only view 2D
slices of it. Change the z position in the Design Control screen to view different “floors” of a 3D
maze.
Here is an example of a map of a 10x10x10 3D maze, with z set to 2.
In this example, in the cell at the bottom left, we can move down in the third dimension as the
triangle pointing down is green, but not up, as that triangle is red.
In a maze with more than three dimensions, more triangle pairs are displayed to indicate if corridors
up or down in the associated dimension are open or closed. There is one extra triangle pair for every
extra dimension, arranged in order of increasing dimension, from left to right, then top to bottom.
For example, in 6D maze, a cell might look like this in the map. Annotations have been added to
explain what’s going on.
Troubleshooting
Performance tips Under normal usage, you are unlikely to have any performance issues. However, if you make a large
low difficulty maze, don’t limit the view distance, and have a low corridor length, it is possible for
tens of thousands of wall sections to be visible at once, which may well cause lag, a low frame rate,
or in extreme cases, cause the game to freeze up completely. If you encounter performance
problems, you may want to consider changing some of these UI settings:
• Corridor Length: The lower this is, the more of the maze is visible at once, and the worse the
performance gets. You will get best performance if you set it to 1, as at this value you can
only see cells that are straight ahead of you, and none of the ones to the sides.
• Limit View Distance: Limit the view distance to reduce the number of walls visible at once.
Clearly the lower the maximum view distance, the smaller this number will be, and the
better will be the performance
• Lighting Type: Ambient lighting has better performance than point lighting.
How to start up without creating a maze If you want to start the game without it automatically creating a new maze immediately, hold down
the left shift key while starting it up. One situation in which you might want to do this is if the game
freezes on start up. This can happen if the UI settings and maze settings are causing a big
performance problem. Clearly you can’t change them if the game has seized up, but if you start the
game without creating a new maze it won’t freeze due to this, and you can go and check your UI
settings, changing them to fix the problem. See the previous subsection for more information about
this.
Reporting a bug If you find a bug, please send an email about it to [email protected]. To help us fix the
bug as soon as possible, please try to describe the problem as clearly as possible. Try to include any
information that might be relevant. If possible, attach a game file at the point in your game at which
the bug occurred (this won’t be applicable to all bugs, and also if the bug is one preventing you from
saving, not possible).
Reporting an exception Sometimes (hopefully very rarely) you will encounter an exception dialog that looks something like
this:
If this happens, it means that a bug in the code has caused the application to stop working. Usually it
will start working again after you click OK in this dialog. However, it will sometimes be the case that
when this kind of error occurs, the system is now in an unstable state, and if you try to continue
playing you may well encounter numerous subsequent errors. Therefore, it is recommended to
restart Knossos if this happens to you.
If you run into this kind of error, and wish to report it, please include the text in the dialog in your
report email (it can be cut and pasted), as it greatly helps the developer to diagnose and fix the
error.
Credits
The Knossos artwork has mostly been obtained from publicly available third parties, typically licenced under Creative Commons licences. This requires accreditation of all the original artists. Many thanks to them for making their works available in this way and thus making this project possible. Below are the credits for each piece of work.
Landmarks Sparkles based on (background removed) Sparkler by Tom Adamson is licenced under CC BY 2.0
Jupiter based on (background removed) NASA's Hubble Shows Jupiter's Great Red Spot is Smaller than Ever by NASA is licenced under CC BY 2.0
Parthenon based on (background removed) Parthenon by Konstantinos Dafalias is licenced under CC BY 2.0
Statue of liberty based on (background removed) img_2660 by Michael Hicks is licenced under CC BY 2.0
Big Ben based on (background removed) Big Ben Clock Tower by Justin Ennis is licenced under CC BY 2.0
Sydney opera house based on (background removed) HDR :: Sydney Opera House by Edward Allen Lim is licenced under CC BY 2.0
Pyramid based on (background removed) The Sphinx and Khafre Pyramid by Hannah Pethen is licenced under CC BY-SA 2.0
Brandenburg gate based on (background removed) Brandenburg Gate by Richard Matthews is licenced under CC BY 2.0
Eiffel tower based on (background removed) Eiffel Tower by Jerome Bon is licenced under CC BY 2.0
Colosseum based on (background removed) Colosseum by Chris Parker is licenced under CC BY-SA 2.0
Blue stain based on (background removed) ink-stain-texture-4 by Max Stanworth is licenced under CC BY 2.0
Eye based on (background removed) eye2thomastolkien by Thomas Tolkien is licenced under CC BY 2.0
Sputnik based on (background removed) Sputnik-1. by paukrus is licenced under CC BY-SA 2.0
Brown leaf based on (background removed) Leaf Edit by James is licenced under CC BY-SA 2.0
Fireworks 1 based on (background removed) Fireworks by Holley And Chris Melton is licenced under CC BY 2.0
Fireworks 2 based on (background removed) Kings Island Fireworks by William Klos is licenced under CC BY 2.0
Pi based on (background removed) IMG_1205 by ozz314 is licenced under CC BY 2.0
Psi based on (background removed) Psychology Symbol by p.Gordon is licenced under CC BY 2.0
Mosaic based on (background removed) Mosaic from Caesarea by Following Hadrian is licenced under CC BY-SA 2.0
Candle based on (background removed) Candle light by Jonas Foyn Therkelsen is licenced under CC BY 2.0
Puddle based on (background removed) Puddle by Ruben Holthuijsen is licenced under CC BY 2.0
Lightning based on (background removed) Lightning Show 1 by Jared Smith is licenced under CC BY-SA 2.0
Origami shark based on (background removed) Origami Bogota 2014 (115) by Jorge Jaramillo is licenced under CC BY 2.0
Tree based on (background removed) Lone tree birds by SR Photies is licenced under CC BY-SA 2.0
Texture sets
Abstract
Webtreats Tileable Light Blurs and Abstract Circle Patterns 3 by Webtreats is licenced under CC BY 2.0
Webtreats Icy Blues Abstract Photoshop Patterns 5 by Webtreats is licenced under CC BY 2.0
Colorful Plastic by Sharandra is licenced under CC BY 2.0
Webtreats Seamless Abstract Crumpled Tissue Texture 3 by Webtreats is licenced under CC BY 2.0
Webtreats Tileable Soft Pastel Abstract Light Patterns 6 by Webtreats is licenced under CC BY 2.0
Webtreats Tileable Chromatic Rainbow Textures 3 by Webtreats is licenced under CC BY 2.0
Brick walls Sandstone by Filter Forge is licenced under CC BY 2.0
Stone Wall 9 by West is licenced under CC0 1.0
High Quality Seamless Light Wood Patterns 7 by Webtreats is licenced under CC BY 2.0
Plaster 1 by Sharandra is licenced under CC BY 2.0
Metallic Webtreats 8 Free Fabulous Tileable Metal Textures 6 by Webtreats is licenced under CC BY 2.0
Webtreats Tileable Metal Textures 4-1024px by Webtreats is licenced under CC BY 2.0
Webtreats 8 Fabulous Free Metal Textures 1 by Webtreats is licenced under CC BY 2.0
Abstract Metal by Sharandra is licenced under CC BY 2.0
Stone walls Webtreats Tileable Stone, Pavement, and Marble Textures 3 by Webtreats is licenced under CC BY 2.0
Webtreats Seamless Stone, Pavement, and Marble Textures 1 by Webtreats is licenced under CC BY 2.0
Webtreats Seamless Stone, Pavement, and Marble Textures 4 by Webtreats is licenced under CC BY 2.0
Water 687 - Water - Seamless Pattern by Patrick Hoesly is licenced under CC BY 2.0
Webtreats Tileable Deep Water Blues 6 by Webtreats is licenced under CC BY 2.0
Webtreats Seamless Deep Water Blues Patterns #2 by Webtreats is licenced under CC BY 2.0
Diversity by Filter Forge is licenced under CC BY 2.0
DLI_WaterFlow by Filter Forge is licenced under CC BY 2.0
Webtreats Tileable Deep Water Blues Textures #9 by Webtreats is licenced under CC BY 2.0
Sound effects Moving forward sound buzz_low by alexbird is licenced under CC BY 3.0
Rotating sound machine_rotation1 by Taira Komori is licenced under CC BY 3.0
Dimensional jump sound RotoSource by kram1032 is licenced under CC BY 3.0
Victory sound 2dogSound_tadaa1_3s_2013jan31 by rdholder is licenced under CC BY 3.0
Defeat sound failure 1 by fins is licenced under CC0 1.0
Music Background music BWFV 830 - 6 - Tempo di Cavotta by Johann Sebastian Bach performed by Luis Sarro is licenced under CC PD
Background music Paul Pitman - Moonlight Sonata, Op. 27 No. 2 - I. Adagio sostenuto by Ludwig van Beethoven performed by Paul Pitman is licenced under CC PD
Background music Divertimento in F major, K.138/125c by Wolfgang Amadeus Mozart performed by Das Orchester Tsumugi is licenced under CC BY 3.0
Other Jump triangle texture based on (truncated) 84 Rusty Color Metal texture - 57 # texturepalace by texturepalace is licenced under CC BY-SA 2.0
Aplication icon based on (recolored) BULL HEAD VECTOR CLIP ART 3.eps by Vector Portal is licenced under Vector Portal Licence
Application icon, wallpaper, and minotaur head exit marker based on (recolored) BULL HEAD VECTOR CLIP ART 3.eps by Vector Portal is licenced under Vector Portal Licence
Sound effects and music are played using the third party software NAudio by Mark Heath which is licenced under Ms-PL