aboutsummaryrefslogtreecommitdiff
path: root/README
blob: 35995f820fbe3c30c57c7fdb28e7638e095c4943 (plain)
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
Thrust3D
========

Post-apocalyptic Jet Set Willy, set in a 3D nuclear power station.

Aim
===

Fly around the highly radioactive remains of the Mars nuclear power station and collect the coloured flashing radiactive
debris.  Don't crash into any walls or other objects or your craft will explode.  Land only on the glowing energy
platforms.

Background
==========

In the mid 90s, I played a game from a magazine cover disk (Archimedes World I think, but I really can't remember)
called "Lander".  No, not the demo version of Zarch, this was a completely different game where you piloted a small 2D
spaceship round a vast world collecting glowing radioactive debris from over a hundred separate rooms.  The spaceship
part was just like the many Lunar Lander variants you have probably played, but the exploration of a vast world appealed
to me for the same reasons that I enjoyed Jet Set Willy many years before.  In Lander, just like in Jet Set Willy. the
game would theoretically end when all the debris had been collected.  In practice, this was virtually impossible due to
the shear size and complexity of the game.  The attraction of the game was not in winning it, but in being able to
explore a seemingly never-ending world of pure imagination.

In creating Thrust3D I wanted to recreate that feeling of exploration and imagination, but using the capabilities of
modern graphics hardware to heighten the feeling.  I learnt a lot of OpenGL graphics programming and rendering
techniques in the course of my doctoral studies for visualising my research results, but none of this gave me an excuse
to use any of the advanced capabilities available.  Thrust3D was an outlet for this, and here is the result.

Installation
============

For installation details, see the 'INSTALL' file.  Basically it's just the usual ./configure / make / sudo make install.

You will almost certainly need working 3D acceleration (direct rendering) and a vaguely modern graphics card to play
Thrust3D smoothly.  To see if you have this, run 'glxinfo' in a terminal and see if it says 'direct rendering: yes' or
not.  If not, you most likely need to install 3D drivers for your graphics card.  Linux drivers for NVIDIA and ATI cards
come from the respective manufacturers' websites.  For Intel cards, look up the Linux DRI project.  Drivers might be
included in your distribution.

Thrust3D runs at full speed, but only just, on my ATI Mobility Radeon X600 card.  This is the primary development
system.  It also works fine on my NVIDIA Quadro FX540.  Both of these are 'entry-level' cards with fairly comparable
specifications.  If you have something beefier, great - it'll probably munch this for breakfast.  If not, you can still
play - you might just need to disable a few features (if that doesn't happen automatically): see the output from
'thrust3d --help' for details of things you can disable.  You should also try turning the resolution down (for example,
'thrust3d --resolution 640').

Music
=====

You can put some suitable background music as an Ogg/Vorbis file at $PREFIX/share/thrust3d/sounds/music.ogg ('$PREFIX'
is probably '/usr/local' unless you've done something different).  'Radioactivity' by Kraftwerk is particularly
appropriate. Obviously I can't distribute a copy of that material with the game, so you'll have to obtain your own copy.

Controls
========

	Space       - thrust (upwards)
	  or: Mouse button 1 (usually the left button)
	Left arrow  - turn left
	Right arrow - turn right
	Up arrow    - thrust forwards
	Down arrow  - thrust backwards
	Mouse       - change viewing angle (press 'r' to reset to default)
	
	'w'         - enter wireframe mode (this is not useful)
	'e'         - exit wireframe mode