Spacejunk manual

The game

You control a ship capable of collecting nearby debris. For that sake you must navigate a planetary system intercepting the drifting debris. The game is presented as a sequence of missions of increasing difficulty. At the beginning of each mission the amount of pieces to collect is reported.

The controls

Key bindings

Left arrow turns the ship left
Right arrow turns the ship right
Up arrow turns on propulsion
Down arrow/* accelerates time
p toggles pause mode
+/mouse wheel zooms in
-/mouse wheel zooms out
mouse left button selects the point of view
Controlchanges the length of the ship path
SHIFT+Arrow keys scrolls the view in the arrow key direction
SHIFT+Hold mouse left button scrolls the view in the mouse pointer direction
s saves a screenshot with name 0.bmp, 1.bmp, ... and the like

On board computer

The on-board computer has a navigation system which indicates the path of the ship in the near future. The path is calculated as observed from some point of view, which must be indicated in advance. The starting missions will help understanding this tool. For different maneuvers different points of view will be needed.

On board controls

on-board controls
ship icon Ship:
Tells the ship position with respect to other objects.
view point icon View point:
Marker drawn over the object currently selected as the view point. The view point is used to draw the ship route in the near future. Choose the view point with a mouse click.
path icon Ship path:
The path that the ship will perform in the near future. The path shape depends on which is the view point.
trash icon Trash:
Objects like this are the ones you must collect in order to complete missions.
zoom icon Zoom buttons:
Zoom the view in or out. These buttons are equivalent to pressing the + or - keys, or using the mouse wheel.
help icon Help button:
Displays current mission objectives.
quit mission icon Quit button:
Aborts mission.
center view icon Center the view on the view point:
Centers the view on the view point.
center ship button Center the view on the ship:
Centers the view on the ship.
change orbit length icon Change path length:
Changes the length of the ship path. There are three lengths which are selected by successively pressing the button. It is equivalent to pressing the Control key.
time accelerator icon Time forward button:
Makes the time pass faster. Useful for long trips. It is equivalent to pressing the Down arrow or the * key.
fuel indicator icon Fuel indicator:
Tells the amount of fuel available on the ship. It is consumed whenever the propulsion engine is on.
low fuel indicator icon Low fuel indicator:
This indicator will turn red when the fuel is near exhaustion.

score display icon
Points gathered by the player. The remaining fuel and the time bonus is added to the score at the end of each completed mission.

bonus display icon
Time bonus:
Each mission starts with a given amount of bonus points, and then they are decremented as time passes.

collect display icon
Remaining amount of trash to collect in order to complete the mission.

Pause mode

Pause mode is toggled by pressing the 'p' key. It is a mode where the world remains still while the player does not provide any input. If the ship is turned or thrust, or if the time is accelerated, the world will resume movement for as long as the player input is received. When the player releases the buttons the world freezes again.

This mode is provided to save the player the effort of training sharp reflexes in order to experience the game. This idea has been taken from Idealism, a game by Jason Rohrer.


Spacejunk uses a display of size 640x480 by default. It is possible to ask a higher resolution via command line arguments or through a configuration file, but the visual quality will be considerably decreased and performance may worsen.

Configuration file

In the top directory of the project, there should be a file named "config.txt". The options in this file are read every time Spacejunk is started, and written every time Spacejunk is finished. Here there are exemplifying contents for the file "config.txt":

music volume=128
fx volume=67
fullscreenSpecifies whether the game should be run in full screen mode. The game may run faster in this mode. The valid values are "yes" and "no".
widthWidth of the display. The valid values are greater or equal to 640.
heightHeight of the display. The valid values are greater or equal to 480.
languageCode of the language to use for the texts in the game. The valid values are "en" for English and "es" for Spanish.
fx volumeSpecifies the volume for sound effects. The valid values go from 0 to 100.
music volumeSpecifies the volume for music. The valid values go from 0 to 128.
audiobufferSpecifies the size of the audio buffer for playing sounds. If the specified value is n, then a buffer of 2n samples will be requested. Choose a lower if the sound skips, a higher value if the sound is delayed w.r.t. the actions. The valid values go from 8 to 13.

Command line arguments

USAGE: spacejunk [--fullscreen] [--audiobuffer n] [--width n] [--height n] [--lang [en|es]] [FILE]

If FILE is specified the level editor is started. The other options behave the same than those in the "config.txt" file. Values specified in the command line override those in the "config.txt" file.