20,000 Light Years Into Space

A Steampunk-themed strategy game where you have to manage a steam supply network on a distant planet.

Game screenshot
  • Single player
  • Free and open source
  • Typical time to play through the game is 15 minutes

Fifteenth Anniversary Edition

Version 1.5.0 celebrates 15 years since the release of the original game. It's updated for newer systems, with better code and better graphics, but it's still the same game. There's more in the manual which has been updated for this new version!


  • Manual: manual.pdf
    Instructions for the game, information about the newest version, credits, hints, all collected together in a free booklet!
  • Windows 10 installer: install-20kly-v1.5.0.exe
    Self-contained installer - download and run the .exe file to install the game. Does not require admin. May also work on Windows 7/8.
  • Linux version: 20kly-1.5.0.zip
    Zip file containing the game's executable and manual. Extract the zip file and then run the 20kly executable. Requires a 64-bit CPU and glibc 2.27 (i.e. Ubuntu 18.04 or later).
  • Source code: https://github.com/20kly/20kly
    All source code is available on Github. Run the "lightyears" program using Python 3.6 or later, e.g. "python3 lightyears". You also need to install Pygame 1.9.4 or later, e.g. "python3 -m pip install pygame".
  • Old versions: archived here
    The older Windows versions (e.g. 1.4) will work on Windows XP and require Python 2 on Linux. You can also get the source code of old versions from Github. And, I wrote an article about the technical details about restoring the game from these old versions.

Bug reports

If you find a bug in version 1.5.0, you can report the issue on Github, or send me a bug report. Remember, though, the game is free, and I don't have a lot of time to help with problems... However, I will try to fix any reported problems in version 1.5.1.

If it crashes, the Windows version will create a file called "20kly-crash-info.txt" in the %APPDATA% folder, which you can reach by entering "shell:appdata" in an Explorer window. The Linux version will put this in your $HOME directory. The source versions print the same information to the console.

If you are really really keen, Github will let you submit bug fixes in the form of pull requests which I will review when I am able. It is all open source (GPL 2). If possible, please use the pyinstaller/*/*_build.sh scripts to run the build and test process for your platform, in order to make sure your pull request does not break any test.

SHA256 sums

020c83e4daec9230c30a0aa714bdb9d169d89343549774696cac2c82fb1870b4  install-20kly-v1.5.0.exe
1a0be7d42466547503733a7225799c4b31674aacc0c6ea11a1e769104c9ca904  20kly-1.5.0.zip