File: Doc_en.html

package info (click to toggle)
cytadela 1.1.0-4
  • links: PTS, VCS
  • area: contrib
  • in suites: bookworm, bullseye, buster, stretch
  • size: 82,804 kB
  • ctags: 1,521
  • sloc: cpp: 11,228; sh: 787; makefile: 186
file content (405 lines) | stat: -rwxr-xr-x 21,039 bytes parent folder | download | duplicates (3)
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

	<head>
		<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
		<link rel="stylesheet" type="text/css" href="style/doc_screen.css" media="screen" title="Screen style" />
		<link rel="stylesheet" type="text/css" href="style/doc_printer.css" media="print" title="Printer style" />
		<link rel="shortcut icon" href="images/cytadela.png" />
		<title>Cytadela</title>
	</head>


	<body id="documentation">
		<div id="doc_header">

			<p class="no_margin">
<a href="Doc_pl.html">wersja polska</a> | English version | <a href="Doc_fr.html">Version française</a>
			</p>
			<p class="no_margin">
<a href="http://cytadela.sourceforge.net/doc.html">On-line version</a>
			</p>

			<ul>
				<li>Copyright &copy; 2007, 2008, 2009, 2010, 2013 Tomasz Kaźmierczak</li>
			</ul>

			<p>
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 <a href="GNUFDL">GNU FDL</a> for details.
			</p>

			<hr/>

			<h1>Cytadela</h1>
			<h3>Version 1.1.0</h3>
			<h3><a href="http://cytadela.sourceforge.net">project homepage</a></h3>

			<ul>
				<li>Copyright &copy; 2003-2013 Tomasz Kaźmierczak</li>
				<li>Copyright &copy; 2006 Kamil Pawłowski</li>
				<li>Copyright &copy; 2009 Marcin Sękalski</li>
				<li>Copyright &copy; 2009-2010 Tomasz Wiśniewski</li>
			</ul>

			<p>
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 <a href="COPYING">GNU GPL</a> for details.
			</p>

			<p>
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.
			</p>

			<p>
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.
			</p>
		</div>

		<hr/>

		<div id="doc_toc">
			<h1>Table of contents</h1>
			<ul>
				<li><a href="#req"><big><big><strong>1. System requirements</strong></big></big></a>
					<ul>
						<li><a href="#software_req"><big>1.1 Software requirements</big></a></li>
						<li><a href="#hardware_req"><big>1.2 Hardware requirements</big></a></li>
						<li><a href="#hw-sw_problems"><big>1.3 Known problems</big></a></li>
					</ul>
				</li>

				<li><a href="#compile"><big><big><strong>2. Compiling and running</strong></big></big></a>
					<ul>
						<li><a href="#comp_run-lin"><big>2.1 Under POSIX systems (GNU/*, *NIX, *BSD, etc.)</big></a>
							<ul>
								<li><a href="#compile-lin">2.1.1 Compiling</a></li>
								<li><a href="#run-lin">2.1.2 Running</a></li>
							</ul>
						</li>
						<li><a href="#comp_run-win"><big>2.2 Under Windows</big></a>
							<ul>
								<li><a href="#compile-win">2.2.1 Compiling</a></li>
								<li><a href="#run-win">2.2.2 Running</a></li>
							</ul>
						</li>
					</ul>
				</li>

				<li><a href="#controllers"><big><big><strong>3. Controllers</strong></big></big></a>
					<ul>
						<li><a href="#in-menu"><big>3.1 In menu</big></a></li>
						<li><a href="#in-game"><big>3.2 In game</big></a></li>
					</ul>
				</li>

				<li><a href="#game-menu"><big><big><strong>4. Menu</strong></big></big></a></li>

				<li><a href="#aim"><big><big><strong>5. The aim and the gameplay</strong></big></big></a>
					<ul>
						<li><a href="#the_aim"><big>5.1 The aim</big></a></li>
						<li><a href="#screen"><big>5.2 OSD elements</big></a></li>
						<li><a href="#items"><big>5.3 Weapons and items</big></a></li>
						<li><a href="#map"><big>5.4 The map</big></a></li>
						<li><a href="#saving"><big>5.5 Saving and loading</big></a></li>
						<li><a href="#riddles"><big>5.6 Solving riddles</big></a>
							<ul>
								<li><a href="#buttons">5.6.1 Buttons</a></li>
								<li><a href="#cards">5.6.2 Cards</a></li>
								<li><a href="#teleport">5.6.3 Teleport</a></li>
							</ul>
						</li>
						<li><a href="#enemies"><big>5.7 Enemies and fighting</big></a></li>
					</ul>
				</li>
			</ul>
		</div>

		<hr/>

		<div id="doc_content">
			<h1 id="req">1. System requirements</h1>
			<h2 id="software_req">1.1 Software requirements</h2>
			<p>
The Citadel uses OpenGL, GLU, SDL, SDL_mixer and VLC. The minimum required versions of the libraries are:
			</p>
				<ol>
				<li><strong>SDL</strong>: 1.2.11</li>
				<li><strong>SDL_mixer</strong>: 1.2.6</li>
				<li><strong>OpenGL</strong>: the best is to have 1.4 or newer; if your OpenGL driver is in earlier version then the folowing extensions are required:
					<ul>
						<li><strong>1.0 and 1.1</strong> - you can't run the Citadel with this version of OpenGL!</li>
						<li><strong>1.2</strong> - GL_ARB_multitexture, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_border_clamp, GL_ARB_texture_mirrored_repeat</li>
						<li><strong>1.3</strong> - GL_ARB_texture_mirrored_repeat</li>
					</ul>
				</li>
				<li><strong>GLU</strong>: 1.2</li>
				<li><strong>VLC</strong>: 1.2</li>
			</ol>
			<p>
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.
			</p>

			<h2 id="hardware_req">1.2 Hardware requirements</h2>
			<ul>
				<li>About 100 MB of hard disk space</li>
				<li>OpenGL compatible graphics card (as described in <a href="#software_req">software requirements</a>)</li>
				<li>A sound card (not required, but is highly recommended)</li>
			</ul>

			<h2 id="hw-sw_problems">1.3 Known problems</h2>
			<ul>
				<li>
					<p class="no_margin">
Sometimes during the game some keyboard key can <span class="metaphore">get stuck</span>, 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 <span class="metaphore">unstick</span> it (no, this bug wasn't intended:P).
					</p>
				</li>
				<li>
					<p class="no_margin">
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.
					</p>
					<p class="no_margin">
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.
					</p>
					<p class="no_margin">
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 <strong>will not change</strong> the format of the music in the menu, although it would solve the poblem.
					</p>
				</li>
				<li>
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.
				</li>
			</ul>


			<h1 id="compile">2. Compiling and running</h1>
			<h2 id="comp_run-lin">2.1 Under POSIX systems (GNU/*, *NIX, *BSD, etc.)</h2>
			<h3 id="compile-lin">2.1.1 Compiling</h3>
			<p>
To compile the sources you need the following:
			</p>
			<ul>
				<li>a C++ compiler</li>
				<li>'make' program</li>
				<li>libGL devel - development headers and libraries for OpenGL</li>
				<li>libGLU devel - development headers and libraries for GLU</li>
				<li>libSDL devel - development headers and libraries for SDL</li>
				<li>libSDL_mixer devel - development headers and libraries for SDL_mixer</li>
				<li>libVLC devel - development headers and libraries for VLC <em>library</em></li>
			</ul>
			<p class="big_margin">
In console run
				<code>#./configure</code>
				<code>#make</code>
				<code>#make install (as root)</code>
			</p>
			<p class="big_margin">
For configure options type:
				<code>#./configure --help</code>
			</p>
			<p>
For more information see the INSTALL file in the archive's top-level directory.
			</p>

			<h3 id="run-lin">2.1.2 Running</h3>
			<p>
To run the Citadel just type:
			<code>
#cytadela
			</code>
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.
			</p>

			<h2 id="comp_run-win">2.2 Under Windows:</h2>
			<h3 id="compile-win">2.2.1 Compiling</h3>
			<p class="no_margin">
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.
			</p>
			<p class="no_margin">
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.
			</p>
			<p>
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.
			</p>

			<h3 id="run-win">2.2.2 Running</h3>
			<p>
There is no installation system for the Citadel so just run the cytadela.exe from the explorer window.
			</p>


			<h1 id="controllers">3. Controllers</h1>
			<h2 id="in-menu">3.1 In menu</h2>
			<p><strong>Keyboard:</strong></p>
			<ul>
				<li>&apos;enter&apos; - selects the highlighted menu position</li>
				<li>&apos;space&apos; - selects the highlighted menu position; in the INFO submenu it turns on/off text scrolling</li>
				<li>&apos;esc&apos; - in main menu exits the game; gets back to the main menu (which results in quiting the gameplay) when pressed in &apos;level summary&apos; and in &apos;choose complex&apos; menus</li>
				<li>arrows - move the selection cursor</li>
			</ul>
			<p>
<strong>Mouse:</strong> move the mouse to change the cursor position; click the first or the second mouse button to select the position.
			</p>
			<p>
<strong>Joystick:</strong> move to change the cursor position; press the first button to select the position.
			</p>

			<h2 id="in-game">3.2 In game</h2>
			<p><strong>Keyboard:</strong></p>
			<ul>
				<li>&apos;enter&apos;, &apos;shift&apos; - use the selected weapon/card or use the hand</li>
				<li>&apos;esc&apos; - exits to the menu (quits the game)</li>
				<li>&apos;space&apos; - use the hand</li>
				<li>up arrow, 8 on numpad, W - move forwards</li>
				<li>down arrow, 5 on numpad, S - move backwards</li>
				<li>left arrow, 7 on numpad - turn left</li>
				<li>right arrow, 9 on numpad - turn right</li>
				<li>4 on numpad, A - strafe left</li>
				<li>6 on numpad, D - strafe right</li>
				<li>&apos;tab&apos; - map on/off</li>
				<li>p - pause on/off</li>
				<li>z - vision noise on/off</li>
				<li>F1 - select hand</li>
				<li>F2 - select handgun</li>
				<li>F3 - select shotgun</li>
				<li>F4 - select machinegun</li>
				<li>F5 - select flame thrower</li>
				<li>F6 - select blaster</li>
				<li>F7 - select rocket launcher</li>
				<li>F8 - select red card</li>
				<li>F9 - select green card</li>
				<li>F10 - select blue card</li>
<!--				<li>+ on numpad - increase the game's speed</li>
				<li>- on numpad - decrease the game's speed</li>-->
				<li>[ - increase the mouse speed</li>
				<li>] - decrease the mouse speed</li>
			</ul>
			<p>
<strong>Mouse:</strong> 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.
			</p>
			<p>
<strong>Joystick:</strong> move the joystick to move forwards, move backwards, turn left, turn right; press the first button to use selected weapon/item.
			</p>


			<h1 id="game-menu">4. Menu</h1>
			<p class="no_margin">
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.
			</p>
			<p class="no_margin">
After the startup screen a menu appears. In main menu you can choose the following:
			</p>
			<ul>
				<li>START - starts the game</li>
				<li>LOAD GAME - here you can choose from saved games</li>
				<li>OPTIONS - here you can change some game options:
					<ul>
						<li>DIFFICULTY: HARD/EASY</li>
						<li>GFX OPTIONS - in this submenu you can set the in-game screen size and choose between fullscreen and windowed mode</li>
						<li>SPEED SETTINGS - in this submenu you can set <!--the game speed and -->the mouse speed</li>
						<li>AUDIO SETTINGS - in this submenu turn the sound on or off</li>
					</ul>
				</li>
				<li>TRAINING - here you can choose one of five training levels</li>
				<li>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</li>
			</ul>

			<h1 id="aim">5. The aim and the gameplay</h1>
			<h2 id="the_aim">5.1 The aim</h2>
			<p class="no_margin">
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.
			</p>
			<p class="no_margin">
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.
			</p>
			<p class="no_margin">
Only when you have collected all the bomb parts you have access to the Command Center.
			</p>

			<h2 id="screen">5.2 OSD elements</h2>
			<p>
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:
			</p>
			<ul>
				<li>image of the bomb, showing how many parts of it you have already found</li>
				<li>energy (HP) counter</li>
				<li>heart plotter (the faster your heart beats, the more tired you are)</li>
				<li>compass that shows your direction</li>
				<li>image of currently selected weapon</li>
				<li>ammunition counter for the currently selected weapon</li>
				<li>three counters showing how many ID cards (red, green and blue) you have got</li>
			</ul>
			<p>
At the same bottom of the screen there is a window showing some scrolled messages.
			</p>

			<h2 id="items">5.3 Weapons and items</h2>
			<p>Weapons:</p>
			<ul>
				<li>Handgun - <strong>power</strong>: 5, <strong>range</strong>: 8000, <strong>ammo</strong>: one clip = 10 bullets</li>
				<li>Shotgun - <strong>power</strong>: 5*3 (shoots 3 bullets at a time), <strong>range</strong>: 10000, <strong>ammo</strong>: one clip = 3 shells</li>
				<li>Machinegun - <strong>power</strong>: 5*2 (shoots 2 bullets at a time), <strong>range</strong>: 10000, <strong>ammo</strong>: one clip = 10 bullets</li>
				<li>Flame thrower - <strong>power</strong>: 25, <strong>range</strong>: 12000, <strong>ammo</strong>: one bottle = fuel for 5 shots</li>
				<li>Blaster - <strong>power</strong>: 20, <strong>range</strong>: 12000, <strong>ammo</strong>: one battery = 5 shots</li>
				<li>Rocket launcher - <strong>power</strong>: 40+explosion, <strong>range</strong>: 12000, <strong>ammo</strong>: rockets</li>
			</ul>
			<p>
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.
			</p>
			<p>
Other items that can be found:
			</p>
			<ul>
				<li>First aid kit - increases your HP by 30 points</li>
				<li>Red, green or blue ID card - used in special slots to open doors, etc.</li>
				<li>Potion - makes you move faster for a while</li>
				<li>Beer - decreases your concentration and shooting accuracy for a while</li>
				<li>Bomb part - see section <a href="#the_aim">5.1 The aim</a></li>
			</ul>
			<p>
Collecting items is as simple as passing near to them.
			</p>

			<h2 id="map">5.4 The map</h2>
			<p>
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.
			</p>

			<h2 id="saving">5.5 Saving and loading</h2>
			<p>
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.
			</p>
			<p>
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.
			</p>

			<h2 id="riddles">5.6 Solving riddles</h2>
			<p>
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.
			</p>
			<h3 id="buttons">5.6.1 Buttons</h3>
			<p>
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.<br />
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.
			</p>
			<h3 id="cards">5.6.2 Cards</h3>
			<p>
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.<br />
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.
			</p>
			<h3 id="teleport">5.6.3 Teleport</h3>
			<p>
To use a teleport just go into it. You will be teleported into it's destination point.
			</p>

			<h2 id="enemies">5.7 Enemies and fighting</h2>
			<p>
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.<br />
Sometimes, when enemy dies, he leaves ammunition - it's worth to look around and check if there is something useful laying near the corps.
			</p>
			<p>
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.
			</p>
		</div>
	</body>
</html>