Thrust - a rewrite of the C64 classic
thrust [--help] [--version] [--nodemo] [--nosoundeffects] [--gamma=Value] [--step] [--double] [--ggitarget=TARGET]
xthrust [--help] [--version] [--nodemo] [--nosoundeffects] [--gamma=Value] [--step] [--noshm] [--double] [-display display-name] [-geometry=geometry-spec]
dxthrust [--help] [--version] [--nodemo] [--nosoundeffects] [--gamma=Value] [--step]
svgathrust [--help] [--version] [--nodemo] [--nosoundeffects] [--gamma=Value] [--step] [--svgamode=MODE]
This is a rewrite of Thrust, the classic Commodore 64 game, to un*x and Windows.
The object of the game is to lift the Klystron Pod from the bottom of a cave and return it safely to space. The Pod is very heavy (compared to the ship) and this makes it tougher than it may seem.
You must be careful not to run out of fuel, crash into the cave walls, or let the enemy artillary outposts shoot you down.
The resistance is about to launch a major offensive against the Intergalactic Empire. In preparation for this, they have captured several battle-grade starships, but they lack the essential power sources for these formidable craft; Klystron Pods.
You have been commissioned by resistance to steal these pods from the Empire's storage planets. Each planet is defended by a battery of Limpet Guns, powered by a Nuclear Power Plant. By firing shots at the power plant, the guns can be temporarily disabled; the more shots fired at the nuclear reactor, the longer the guns will take to recharge.
BUT BEWARE!! If you fire too many shots at the reactor, it will become critical, giving you just ten seconds to clear the plantet before it is destroyed. If you have not already retrieved the pod stored at the planet, then you will have failed the mission. If you have retrieved the pod, and you manage to send the reactor into its critical phase, and leave the planet safely, you will receive a hefty bonus.
The GGI target to use, which can also be specified with the GGI_DISPLAY environment variable. E.g. --ggitarget=directx:-fullscreen. See the GGI documentation for full details on GGI targets.
Double the size of the window. This makes the game slow.
Do not try to share memory between Thrust and the X server.
The format of svgamode is G<width>x<height>x<colors> where <width>x<height> is at least 320x200 and <colors> has to be 256. Also, the mode cannot be planar. See the SVGAlib documentation for details on this. The default is G320x200x256. There has been success with modes G320x200x256, G640x480x256, G800x600x256 and G1024x768x256.
Note that the following keys are the default configuration. This can be changed by the user by creating a file named .thrustrc in the users home directory.
Shoots a bullet. Different targets have different effect:
The Fuel Tank explodes for 150 points.
The Limpet guns expolde for 750 points.
The Nuclear Power Plant can take a number of hits. When they are destroyed you are given a short period of time to clear out before the whole neighbourhood is nuked. If a Power Plant is hit - but not destoyed - it will recover after a period of time. During this recovery period, the Limpet guns are not able to fire. 2000 extra points are scored if the Power Plant is destroyed when the level is finished. There is exactly one Power Plant in every level.
In the more advanced levels you will find other things to shoot at.
Gives the ship a forward push at the cost of some fuel.
If the ship is above a Fuel Tank the ship is refueled, i.e the fuel is picked up. Two vertical bars are drawn to indicate that fuel is picked up. When there is no more fuel left in the tank, it disappears and 300 points are scored.
If the ship is close to the Klystron Pod a connecting wire is drawn. The Pod is picked up when the connecting wire is of the right length. If spacebar is released before the correct distance is reached the Pod is not picked up.
When the shield is activated, a circle is drawn around the ship. If the ship is carrying the Pod, the Pod and the wire are also protected by the shield. The shield costs fuel to power.
The .thrustrc file
Each command can be customized for either X11 or the SVGAlib (console) versions by specifying the appropriate prefix, X11- or SVGA-, followed by the command, and the key to be assigned. Numpad keys can be assigned using KP_[number], and control, shift and alt keys can be assigned using [key]_[direction].
Valid commands:
Examples:
thrust.highscore in the configured shared state dir.
${HOME}/.thrustrc
Game by Peter Ekberg peda@lysator.liu.se.
Original man page by Joey Hess joey@kitenet.net.
Thanks go out to the authors of the original for the C64.
Thrust may be copied under the term of the Gnu General Public Licence.
Who knows?