This page uses a PHP Language Detection scrpit from

wersja polska | English version | Version française

  • Copyright © 2007, 2008, 2009, 2010, 2013 Tomasz Kaźmierczak

This documentation is distributed under the terms of the GNU Free Documentation Licence. Either version 1.2 of the license, or (at your option) any later version. See the GNU FDL for details.


Version 1.1.0

  • Copyright © 2003-2013 Tomasz Kaźmierczak
  • Copyright © 2006 Kamil Pawłowski
  • Copyright © 2009 Marcin Sękalski
  • Copyright © 2009-2010 Tomasz Wiśniewski

Cytadela is distributed under the terms of the GNU General Public License (GNU GPL); either version 3 of the License, or (at your option) any later version. Cytadela comes with ABSOLUTELY NO WARRANTY. See the GNU GPL for details.

Cytadela is a conversion of an Amiga game also called Cytadela, created by Virtual Design. The conversion contains an implementation of several algorithms taken from the original. Major part of graphics, all music, sounds and levels are taken from the original, but in some cases they are processed and/or modified in order to make them easier to use with the conversion and to correct some bugs.

All the algorithms and artwork were taken from the original with permission from their authors. Distribution of the artwork (as a part of the conversion) is allowed under terms of the GNU GPL.

1. System requirements

1.1 Software requirements

The Citadel uses OpenGL, GLU, SDL, SDL_mixer and VLC. The minimum required versions of the libraries are:

  1. SDL: 1.2.11
  2. SDL_mixer: 1.2.6
  3. OpenGL: the best is to have 1.4 or newer; if your OpenGL driver is in earlier version then the folowing extensions are required:
    • 1.0 and 1.1 - you can't run the Citadel with this version of OpenGL!
    • 1.2 - GL_ARB_multitexture, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_border_clamp, GL_ARB_texture_mirrored_repeat
    • 1.3 - GL_ARB_texture_mirrored_repeat
  4. GLU: 1.2
  5. VLC: 1.2

If you are unsure about the OpenGL version that your graphics card's driver supports you can check it after compiling the Citadel - at startup the program checks for the GL version and displays an information about it.

1.2 Hardware requirements

  • About 100 MB of hard disk space
  • OpenGL compatible graphics card (as described in software requirements)
  • A sound card (not required, but is highly recommended)

1.3 Known problems

  • Sometimes during the game some keyboard key can get stuck, for example after pressing 'cursor up' the player can start to constantly move forward (even after releasing the key). In such case just press the key once again what will unstick it (no, this bug wasn't intended:P).

  • Music in menu and SDL_mixer - some distributions of SDL_mixer library are compiled without .mod format support (without libmikmod support). In such case the Citadel won't run because the music in menu is in .mod files. To solve the problem you can download the SDL_mixer's source code and compile it with the mikmod support.

    This is not only the Citadel's problem - there are some more games that use .mod files to play music and have the same problem with SDL_mixer.

    The .mod files support is an official feature of SDL_mixer and in my opinion it shouldn't be disabled when building a library package. And therefore I will not change the format of the music in the menu, although it would solve the poblem.

  • Dissolvation effect during teleportation, screen fade-in and fade-out effects during gameplay - those effects use OpenGL's accumulation buffer to be rendered. On graphic's cards that do not support accumulation buffer the OpenGL driver uses a software accumulation buffer which may result in extremely low framerates during dissolvation, fade-in and fade-out, especially in higher screen resolutions.

2. Compiling and running

2.1 Under POSIX systems (GNU/*, *NIX, *BSD, etc.)

2.1.1 Compiling

To compile the sources you need the following:

  • a C++ compiler
  • 'make' program
  • libGL devel - development headers and libraries for OpenGL
  • libGLU devel - development headers and libraries for GLU
  • libSDL devel - development headers and libraries for SDL
  • libSDL_mixer devel - development headers and libraries for SDL_mixer
  • libVLC devel - development headers and libraries for VLC library

In console run #./configure #make #make install (as root)

For configure options type: #./configure --help

For more information see the INSTALL file in the archive's top-level directory.

2.1.2 Running

To run the Citadel just type: #cytadela or if you used an installation system that created some link in your graphical user interface, you can also run the Citadel using the link.

2.2 Under Windows:

2.2.1 Compiling

In the main directory of the source tree there are also Dev-C++ project files created by Dev-C++ 5 beta. Just open the project and build it.

You will need SDL and SDL_mixer devpacks installed and have development files for libVLC (libVLC headers and libVLC.a) copied into proper directories. OpenGL and GLU devpacks are included in the Dev-C++ 5 beta.

You can also compile using some other IDE. In such case create a project in your IDE, add the source files to the project and add SDL, SDL_mixer, OpenGL, GLU and libVLC libraries in the linker options. If you don't know how to do it, read your IDE's documentation.

2.2.2 Running

There is no installation system for the Citadel so just run the cytadela.exe from the explorer window.

3. Controllers

3.1 In menu


  • 'enter' - selects the highlighted menu position
  • 'space' - selects the highlighted menu position; in the INFO submenu it turns on/off text scrolling
  • 'esc' - in main menu exits the game; gets back to the main menu (which results in quiting the gameplay) when pressed in 'level summary' and in 'choose complex' menus
  • arrows - move the selection cursor

Mouse: move the mouse to change the cursor position; click the first or the second mouse button to select the position.

Joystick: move to change the cursor position; press the first button to select the position.

3.2 In game


  • 'enter', 'shift' - use the selected weapon/card or use the hand
  • 'esc' - exits to the menu (quits the game)
  • 'space' - use the hand
  • up arrow, 8 on numpad, W - move forwards
  • down arrow, 5 on numpad, S - move backwards
  • left arrow, 7 on numpad - turn left
  • right arrow, 9 on numpad - turn right
  • 4 on numpad, A - strafe left
  • 6 on numpad, D - strafe right
  • 'tab' - map on/off
  • p - pause on/off
  • z - vision noise on/off
  • F1 - select hand
  • F2 - select handgun
  • F3 - select shotgun
  • F4 - select machinegun
  • F5 - select flame thrower
  • F6 - select blaster
  • F7 - select rocket launcher
  • F8 - select red card
  • F9 - select green card
  • F10 - select blue card
  • [ - increase the mouse speed
  • ] - decrease the mouse speed

Mouse: move the mouse to turn left or right; click the first (left) mouse button to move forwards; click the second (right) mouse button to use selected weapon/item.

Joystick: move the joystick to move forwards, move backwards, turn left, turn right; press the first button to use selected weapon/item.

4. Menu

After running the game a startup screen is displayed. You can wait till it disappears after few seconds or turn it off yourself - just click a mouse button, a joystick button or press enter on the keyboard.

After the startup screen a menu appears. In main menu you can choose the following:

  • START - starts the game
  • LOAD GAME - here you can choose from saved games
  • OPTIONS - here you can change some game options:
    • GFX OPTIONS - in this submenu you can set the in-game screen size and choose between fullscreen and windowed mode
    • SPEED SETTINGS - in this submenu you can set the mouse speed
    • AUDIO SETTINGS - in this submenu turn the sound on or off
  • TRAINING - here you can choose one of five training levels
  • INFO - brings up an information screen. Here one can read some information about the project. In this submenu the 'space' key turns on/off the text scrolling

5. The aim and the gameplay

5.1 The aim

The aim of the game is to destroy the Citadel. You must find six parts of a bomb with which you will blow the Citadel up. The bomb parts are placed in six complexes: Sewers, Laboratories, Power station, Stores, Hangar and Prison. There are two additional levels - Basement which is the entrance to the Citadel, and Command Center where the bomb should be planted.

The Basement is divided into two levels. The Command Center consists of just one level. All the other complexes are divided into three levels, and the bomb parts are placed in the third level of each complex. Before leaving a complex you have to make sure that you've taken a bomb part, because you can't go back to the allready penetrated complex.

Only when you have collected all the bomb parts you have access to the Command Center.

5.2 OSD elements

During the gameplay, at the bottom of the screen you can see an OSD panel which shows some useful information. Beginning from the left, the OSD panel contains:

  • image of the bomb, showing how many parts of it you have already found
  • energy (HP) counter
  • heart plotter (the faster your heart beats, the more tired you are)
  • compass that shows your direction
  • image of currently selected weapon
  • ammunition counter for the currently selected weapon
  • three counters showing how many ID cards (red, green and blue) you have got

At the same bottom of the screen there is a window showing some scrolled messages.

5.3 Weapons and items


  • Handgun - power: 5, range: 8000, ammo: one clip = 10 bullets
  • Shotgun - power: 5*3 (shoots 3 bullets at a time), range: 10000, ammo: one clip = 3 shells
  • Machinegun - power: 5*2 (shoots 2 bullets at a time), range: 10000, ammo: one clip = 10 bullets
  • Flame thrower - power: 25, range: 12000, ammo: one bottle = fuel for 5 shots
  • Blaster - power: 20, range: 12000, ammo: one battery = 5 shots
  • Rocket launcher - power: 40+explosion, range: 12000, ammo: rockets

The weapons are accessible after finding them. After some time every weapon gets damaged and you have to find another one for it's place. The damaged weapon is automatically thrown away after finding a new one or when you select another item you posess (either another weapon, ID card or hand). Weapons come with out ammunition - it has to be found separately.

Other items that can be found:

  • First aid kit - increases your HP by 30 points
  • Red, green or blue ID card - used in special slots to open doors, etc.
  • Potion - makes you move faster for a while
  • Beer - decreases your concentration and shooting accuracy for a while
  • Bomb part - see section 5.1 The aim

Collecting items is as simple as passing near to them.

5.4 The map

After pressing the TAB key a map will be displayed, which is beeing drawn while you walk through the Citadel. Only the locations you walked through and the nearest ones to them are visible. On the map you can see walls, doors and objects that block your way.

5.5 Saving and loading

After passing every level you will be informed about the time it took you, how many enemies you have killed and how many parts of bomb you have gathered. You will be also asked wether you want to save the state of the game. If you decide to do so, a save-game screen will appear, on which you will see a list of save positions. You can save a maximum of five game states, by choosing an apropriate position on the list - choosing a position will result in saving the actual game state with a name of the level you have just finished.

The saved game state can be loaded after going from the main menu into the LOAD GAME menu - you can find there a list of all saved game states. In order to load one of them, just select an apropriate position.

5.6 Solving riddles

During your journey thorough the Citadel you will have to solve many riddles. There are doors that can be opened or closed by pressing a button or by using a magnetic card, there are walls that can be moved in the same way, there are door locks, teleports and such.

5.6.1 Buttons

To use a button, turn towards it and use a hand. This way you can turn buttons on and off and pull levers into one of two positions. The buttons and levers have many different functions, depending on where they are placed.
In different complexes the buttons can look differently. For example in the basement they have a shape of a little skull with a red outline.

5.6.2 Cards

In order to make use a card you must turn towards a slot, chose an apropriate card (apropriate color) and use it. You can put only one card into one slot and after that the slot becomes locked, so it can't be reused. The card also can't be reused as it stays in the slot and you don't get it back. If you try to put a wrong card into the slot then you will be informed about it with an apropriate message.
When moving between levels, all the cards you posess are taken away from you. This is one of the rules of moving through the Citadel and you must obey it wether you like it or not.

5.6.3 Teleport

To use a teleport just go into it. You will be teleported into it's destination point.

5.7 Enemies and fighting

While trying to acomplish your mission, which is destroing the Citadel, you will have to face many enemies. In every complex you will have to fight enemies who differ not only by their look and the kind of weapons they use, but also by how agressive they are, how much energy (HP) they have and how inteligent they are. Moreover, some of them are insensitive to some weapons. During the fight you have to take into account all of this things - it can help in developing effective tactics against different types of enemies.
Sometimes, when enemy dies, he leaves ammunition - it's worth to look around and check if there is something useful laying near the corps.

While fighting, pay attention to the heart plotter - it indicates your fatigue. Sometimes it's worth retreating for a while in order to regain some stamina. A potion, which can be found on the floor from time to time, is also helpful in such situations.