A spaceflight programming adventure




A spaceflight programming adventure.

Read the in-game manual for a taste of how the game works.

Read an interview on the motivation and background for the game (some spoilers, some outdated info).


When you're in flight mode, the arrow keys control the ship's engines and turning thrusters. Keys to access the ship's computer's various functions are listed on the side of the screen.

The ship's computer can be accessed using ctrl-enter, and from the console you can read the quick start guide by running man("quickstart"). The full reference manual is available with man("manual"), but you won't need that right away.

Recommended soundtrack: Contingency by Big Giant Circles though Ben Prunty's FTL soundtrack is a great fit too.


Releases for each platform are on itch.io. Windows and Mac OS X releases are standalone, but .love file releases require having LÖVE. Version 0.9.x is supported, but 0.10.x or higher is recommended for syntax highlighting support.

When running from source, type love . from a checkout.

repl screenshot

One problem when running from source is that when new features are added, key bindings for them are added to the default config, but existing saved games will continue on using the same config. You can replace your ship's config with the current default config ctrl-f1; your existing config source will be backed up.

If upgrading from an older version of Bussard, please see the upgrade guide.


Currently most of the engine features are coded, some more polished than others. However, there are only a handful of missions, and the characters are not sketched out in much detail yet.

See the list of open issues to see upcoming features. The changelog lists when recent user-visible changes were added in which releases.

The contributing guide contains details about the structure of the codebase and how to submit good patches.

The game contains programming challenges you must solve in order to progress. Eventually the goal is that you will be able to learn it without any (or much) prior programming experience through in-game hints and tutorials.

edit screenshot


Q: How do I change the controls?
A: Press ctrl-o then type "src.config" to open the main config file. The keys here are mostly for flight mode. At the bottom you can see where it loads other modes in files like "src.edit" or "src.mail". Open these other files with ctrl-o if you want to change keys for those modes. Find the key binding you want to change, and change the second argument to define_key to the keycode you want to use. For a complete list of keycodes, run man("keycodes"). Once you've made the changes, hit esc to go back to flight mode, and then press ctrl-r to load them. Note that after using the editor you may need to press ctrl-pagedown or ctrl-pageup a few times to get back to console, as console is just a buffer called *console* in the editor.

Q: How do you match orbit with a station or planet?
A: Remember that newtonian motion means your controls affect your velocity rather than directly controlling your motion. Don't accelerate towards the station; instead accelerate so your trajectories cross at the same point.

Q: Where are the missions?
A: There are currently only a few missions. The main chain starts at Tana Prime. Open up the "jobs" folder in your mail client to see available missions.

Q: I'm stuck on a mission!
A: If you've received a message, check the bottom of the screen when it's open to see if it's one that you can reply to by pressing alt-enter. This is how you initially accept missions, but some missions will need you to respond to messages you get in order to proceed.



Original code, prose, and images copyright © 2015-2017 Phil Hagelberg and contributors

Distributed under the GNU General Public License version 3 or later; see file COPYING.

See credits for licensing of other materials.