Name Last Update
assets Loading commit data...
bencode Loading commit data...
data Loading commit data...
debian Loading commit data...
doc Loading commit data...
globtopattern Loading commit data...
jeejah Loading commit data...
lume Loading commit data...
md5 Loading commit data...
os Loading commit data...
serpent Loading commit data...
ship Loading commit data...
spoilers Loading commit data...
tests Loading commit data...
utf8 Loading commit data...
.dir-locals.el Loading commit data...
.gitignore Loading commit data...
.gitlab-ci.yml Loading commit data...
Changelog.md Loading commit data...
Contributing.md Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
Upgrading.md Loading commit data...
asteroid.lua Loading commit data...
body.lua Loading commit data...
bussard.el Loading commit data...
bussard.png Loading commit data...
conf.lua Loading commit data...
credits.md Loading commit data...
host_fs_proxy.lua Loading commit data...
mail.lua Loading commit data...
main.lua Loading commit data...
manual.md Loading commit data...
metatable_monkey.lua Loading commit data...
mission.lua Loading commit data...
pause.lua Loading commit data...
readme.md Loading commit data...
save.lua Loading commit data...
services.lua Loading commit data...
starfield.lua Loading commit data...
utils.lua Loading commit data...

Bussard

screenshot

A spaceflight programming adventure. Mine, trade, upgrade, and unlock the potential of your spacecraft by hacking on the code that makes it tick.

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).

Playing

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 console can be accessed using ctrl-enter, and from there 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.

Installation

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.0 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.

Status

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

FAQ

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.

Q: What can I do to improve the frame rate?
A: The biggest performance drag is calculating trajectories. Reduce the calculations with ship.trajectory = 32 and you should notice a dramatic speed boost. If you drop the trajectory length, you may want to boost the ship.trajectory_step_size to compensate.

Q: How do you match orbit with the station?
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 line up. The stripes on your ship's trajectory and the station's trajectory represent equal amounts of time, if your trajectories cross at the same stripe it means you will be in the same place at the same time.

Q: Why does my trajectory sometimes wobble a lot?
A: High velocity movement near the base of a gravity well can be non-deterministic, which throws off the estimated trajectory.

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.

Influences

Licenses

Original code, prose, and images copyright © 2015-2016 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.