Content

  1. Content (this section)
  2. About
  3. Objective
  4. Playing
  5. Status
  6. Getting the source
  7. Prerequisites
  8. TODO

About

Spindizzy is an isometric computer game released for several 8-bit home computer formats in 1986 by Electric Dreams Software. Players must navigate a series of screens to explore a landscape suspended in a dimensional space.

Spindizzy is an action and puzzle game played from an isometric perspective. Players can view the playing field from four angles, and rotate between them. The game takes place in a fictional landscape of interconnected stages suspended in a dimensional space. The player controls a probe called a Gyroscopic Environmental Reconnaissance And Land-Mapping Device (GERALD), via keyboard commands (joystick is planned but not yet implemented).

spindizzyGL is a new implentation of the original game design using OpenGL. The target platform is linux.

Objective

Scientists have discovered a mysterious structure in another dimension. To research its origin, the whole section needs the get mapped. This honourable task falls to you, the technical junior assistant sub worker of the “Mapping” department. For your investigation you receive "Gerald", a gyro-shaped, remote controlled vehicle. As the whole thing is a project of the government, the money is short. But you need money to provide energy for “Gerald”.

If you discover new sectors of the area or collect jewels, you instantly get new energy for "Gerald" (and with this more time to play). You will need it, as the area has about 400 sectors and each sector fills out the screen. The world that you need to research consists of a labyrinth of ramps, stairs, jumps, bridges, gangways, one ways, lakes, trampolines and ice areas. These need to be transcended with great skill. If Gerald falls down, this will cost energy (time). A system of switches and lifts poses logical problems. Certain places of the world are only accessible by a lift, but the lifts need to get activated by switches.

But often enough are these switches or lifts blocked by obstacles, which in turn need to be removed through other switches. As only a maximum of two switches can be active at the same time, you really need to puzzle at some places how to access the lift. And lastly there are also dangerous "inhabitants", which you should not touch as they steal you energy (time).

The craft is able to transform between three configurations: a ball, an inverted square pyramid, and a gyroscope. Players navigate the probe through the stages to explore the world within a time limit. The time limit can be extended by collecting power jewels scattered through the world and is decreased by falling off a stage. Stages feature ramps, corridors, and other obstacles that hinder the player from quickly traversing them. The game ends when time expires or the world is completely explored (all stages are visited and all jewels are collected).


Playing

In the title screen

SPACE = Start the game
H = Help – show a screen with the most important elements in the game. Press any key to get back to the title screen.
ESC = quit the game
F1 = select difficulty level

In contrast to the original gameset, I have defined difficulty levels. The rules for these levels are:

EASY
You have unlimited time and receive no penalties when dying
MEDIUM
You have the original time limit and receive half of the original penalties when dying
REAL
You play with the original settings
In spite of this, I have modified some (but not all) of the levels according to the difficulty level. But don't get too excited, spindizzyGL is a tough challenge in either setting.

In-game Keys

The game is controlled by keyboard commands:

keypad = move gerald to all directions
left CTRL = move with high speed
SPACE = Full stop. Can be used to stop, but also during moving. But needs much energy (time).
S = Show the score (see score)
M = show the map of the world
P = pause the game
I = change GERALDs appearing
= viewing direction north
= viewing direction east
= viewing direction south
= viewing direction west
Q = quit to title screen
D = self destruct (in case you are trapped, not originally present)


Tips for playing

Spindizzy is a strong opponent. You will need a lot of time and resilience to solve 100% of the game. It's a good practice to take notes of the tricky parts and have a map at hand.
As an absolute novice cartographer you want to explore the beginners area first. It lies east of the starting point and gives an introduction of the game mechanics. Later on you probably want to omit this area for later investigation and explore the more complex parts of the world first.
The next step to success is the south-east part of the world. It has a more diffifult layout and also provides some simple puzzles.
After completing the south-east area its time for south-west. If you found the way, you will be confronted with slighty harder puzzels. But once you have the hang of it you quickly can proceed to the middle west part.
In my opinion the north/far-east region is the most difficult part, mainly because it is a really long road and contains many convoluted puzzels.

Always keep an eye on the hint showing up in some levels (at the lower left of the screen). Most of the time it is impossible to overcome these points without the displayed switch.


Status

The gameset is complete and solvable, though I have not yet completed spindizzyGL (nor the original spindizzy) without cheating :-)

Spindizzy plays tricks on you, all the time. Most values of the game engine, like geralds acceleration, are not fixed but change from level to level. I tried quite hard to get as close to the original as possible, using the Atari XL version as the model. But putting together 380 levels and be exact in every detail is not easy. Most of the puzzles have the same solution as the original but I guess that my engine values are not always the same.

As far as I can tell there are no glitches, at least none which stifles you from completing the game.


Getting the source

I do not provide binary images. Instead, the source is kept in a repository at sourceforge. So you have to clone the repository, compile the sources and install the binary by yourself:

First clone the repository:

git clone git://git.code.sf.net/p/spindizzygl/code spindizzygl

cd spindizzyGL

Alternativly download a source tar-ball from Sourceforge and untar it:

tar -xzvf spindizzyGL-X.Y.tar.gz

cd spindizzyGL-X.Y

Now we can build spindizzyGL itself:

It is a good idea to build the binary in a directory of its own:

mkdir build; cd build

...and start the build process:

cmake ..

make

make install


You can pass some useful parameters to cmake, in order to assign the install directories:

USER_INSTALL_PREFIX
will install the binary under USER_INSTALL_PREFIX/bin and the datafiles in USER_INSTALL_PREFIX/share/games/spindizzyGL
default is /usr
BIN_DIR
install the binary under BIN_DIR/bin
default is USER_INSTALL_PREFIX/bin
DATA_DIR
install the data files under DATA_DIR/bin
default is USER_INSTALL_PREFIX/share/games/spindizzyGL
cmake is somewhat peculiar regarding variables provided on the commandline. To set the DATA_DIR (or respective any other) you have to use the following syntax:

cmake -D DATA_DIR:string=../gamedata/ ..

Prerequisites

libftgl
library to render text in OpenGL using FreeType
SDL
Simple DirectMedia Layer
SDL_mixer
Mixer library for Simple DirectMedia Layer
OpenGL
provided by your graphicscard or MESA
LUA
A a powerful embeddable scripting language


TODO




copyright © 1997-2018  Oliver Schroeder (remove XYZ)