
Bussard: A space flight programming adventure - spdustin
https://gitlab.com/technomancy/bussard
======
technomancy
Hi folks; author here. Definitely interested in getting feedback from
playtesting either here or in the issue tracker.

As for status, the engine is probably at 85% completion or so; the remaining
features are mostly just functionality that will enable additional programming
challenges, like hooking in portal access control to an SQLite database or
integrating a Forth interpreter for the finale. (There is already a lisp
compiler functional in-game.)

There is still a lot to do in terms of story, programming challenges, and
plotting though. I have a fairly detailed backstory and outline plotted out,
(see the spoilers/ directory) but it's going to be a lot of work to flesh it
out into the game.

My long-term goal is to make it a game that you can learn programming just by
playing. I feel like most "learn to program" games end up feeling really
contrived because they don't lay the groundwork to create a rich enough world
to enable anything non-contrived. So my goal here is to create a fairly
detailed simulation, and then find the places where you can use programming to
overcome problems you run into.

Anyway, obviously the project is OSS, so if you're interested in contributing,
please drop me a line.

Edit: if you're impatient and want to just download a single file and play,
releases are at
[https://technomancy.itch.io/bussard](https://technomancy.itch.io/bussard)

~~~
jsingleton
Interesting, nice work. Were you inspired by Mojang's cancelled 0x10ᶜ?
[https://en.wikipedia.org/wiki/0x10c](https://en.wikipedia.org/wiki/0x10c)

I see the fan version released a v0.1 a couple of days ago.
[https://github.com/trillek-team/tec/releases](https://github.com/trillek-
team/tec/releases)

~~~
technomancy
I heard about 0x10ᶜ after I had been working on Bussard for a while. There are
similarities, but they are accidental. I specifically want my game not to
include combat, and while early on I thought it would be an open-world thing,
as it's progressed I've decided it would be a lot more compelling with a good
story behind it.

I may end up having an assembly language in the game, but it would be one of
many languages rather than the only one.

------
EvanAnderson
I see "A Fire Upon the Deep" cited as an inspiration and I'm immediately on
board!

------
fu86
Very nice game! Here are some thing I've notices during playing it.

* There is no usefull coding workflow. Thats how I do it: CTRL+o, enter filename, write some code, ESC, CTRL+ENTER, CTRL+UP, ENTER, oh an error, CTRL+o, enter filename, .... That is a little bit tedious.

* Without syntax highlighting, typos occur everywhere :)

* If there is an error in a script, the stacktrace shows a line number. But the editor does not have line numbers, so I have to count it manually. That sucks.

* Switching between modes would be nice. So switching from the mail view to the editor an back again (with the file and the mail opened) would be nice. A lot of time, there are some bits an pices in the mail which are relevant in the flight mode or in the editor (station names, some hints etc.)

* I've crashed the game and brought it to a point it can't be played any more. ([https://p.fu86.de/1468240067-8920.png](https://p.fu86.de/1468240067-8920.png)) (I think I've done ship.docs.msg1 = dofile(...), which caused the problem). Even if I wipe the savegame and use the stock config, the game crashed again after a few seconds.

~~~
technomancy
Thanks; following up on these things in the issue tracker:
[https://gitlab.com/technomancy/bussard/issues/127](https://gitlab.com/technomancy/bussard/issues/127)

------
siavosh
Looks very interesting, found a small teaser trailer:
[https://www.youtube.com/watch?v=r_gdeS3d6F8](https://www.youtube.com/watch?v=r_gdeS3d6F8)

------
Gracana
This looks very cool. When I was a kid I spent many an afternoon programming
robots in RoboWar, which used a simple stack machine processor with a bunch of
special instructions and registers for doing robot-y things. I think I enjoyed
that (and TIS-100 also, which you mentioned) because it provides all the fun
puzzle-y nature of programming without having to learn a big API or complex
language. Using a "foreign" language / machine architecture also helps
separate the game from reality, which I think is important.

------
paraknight
Interesting! I once did something related for a game jam:
[http://meta.gamedev.stackexchange.com/questions/1794/anniver...](http://meta.gamedev.stackexchange.com/questions/1794/anniversary-
game-jam-2014/1799#1799)

------
phreeza
Question: from browsing the manual, the scoop is something very different from
a Bussard ramscoop, correct? And the physics are all non-relativistic?

I don't mean to knock the game at all, it looks absolutely fantanstic and just
the list of inspirations makes me want to play it, very much.

~~~
technomancy
Oh yeah, the word "scoop" is used to refer to a collector for asteroid mining,
though the manual also refers to "fuel collectors" that are intended to be
Bussard ramscoops.

The physics are non-relativistic; correct. I have a section in my dev notes
labeled "crimes against science" where I list out all the places I can think
of that the game diverges from realism, (and avoid adding to the list) but I
hadn't considered that yet since all the interstellar travel in the game
happens through artificial wormholes:
[https://gitlab.com/technomancy/bussard/blob/master/spoilers/...](https://gitlab.com/technomancy/bussard/blob/master/spoilers/readme.md#crimes-
against-science) (edit: spoiler warning for the link)

------
passivepinetree
Has anybody tried this yet? It looks fascinating and I'd like to hear some
testimonials.

------
xnzakg
I feel like this needs multiplayer. Would be amazing to use it to teach others
how to program.

~~~
technomancy
It would be pretty cool, but it would be a lot harder to pull off. At this
point the thought of having to be responsible for another server doesn't sound
like a lot of fun to me, and preventing users from writing programs that suck
up all the CPU cycles is really tricky.

Plus I really want to focus on the storytelling aspects. Especially the end-
game scenario (see spoilers/readme.md if curious) would be extremely
problematic to implement in multiplayer.

~~~
Gracana
> preventing users from writing programs that suck up all the CPU cycles is
> really tricky

I like the low level programming / virtual machine approach for this reason.
You can provide the player with a machine that is severely limited in speed
and size, which makes for a fun challenge and makes it easy to keep things
bounded.

------
fapjacks
Nice! A Gitlab repo!

------
fernly
Sorry, not friendly a-tall. Never imagined a future vehicle would have a
1970s-era unix command line! Anyway said command line behaves oddly, cursor
seems to get "above" the ">" prompt and then I can't type? I can see the point
in that you can build up to some complexity without having to invest in a ton
of artwork and pixel candy to create a believable GUI for the ship, but the
cost in playability is high. I gather your implementation language is Lua...
is there for Lua anything comparable to PyGame for Python where you could
leverage some graphics?

In interactive mode, I zoomed out what seemed like quite a ways and didn't see
anywhere to go.

~~~
technomancy
> said command line behaves oddly

Yeah, there are some prompt bugs on master; try the beta-1 release linked in
my other comment for a more stable version. Will definitely be fixed before
the next beta release.

Edit: if you can provide repro steps for the prompt bug that would be super
helpful.

> I gather your implementation language is Lua... is there for Lua anything
> comparable to PyGame for Python where you could leverage some graphics?

Sure; I could easily create a GUI for the ship, but that would be a different
game than the one I'm trying to make. There are plenty games like that out
there already. I want something that feels more like TIS-100 than Endless Sky.
(Not to knock the latter, but they already do a better job at making that kind
of game than I ever could.)

On the other hand, part of the point of the game is that if some players want
to play a more GUI-centric game, all that you need is already included to turn
the game into that kind of game from the inside. All the HUD stuff and the
graphics libs are exposed to the in-game Lua sandbox.

> I zoomed out what seemed like quite a ways and didn't see anywhere to go.

You have to use a portal to get to another star system.

~~~
jholman
To repro a prompt bug:

    
    
        Windows 10
        Begin game
        ctrl-P (game says 'Cannot log into target.')
        ctrl-enter (console is broken)

~~~
technomancy
Oh, it looks like that specific problem has been fixed, assuming you were
running into it on the beta-1 release from itch.io. Thanks anyway.

~~~
jholman
Note that I'm not the rude poster upthread. I was just reporting since you
asked for a report.

Anyway, that IS the version wherein I found that bug. Is that not the latest
published release of the game for Windows?

~~~
technomancy
Sorry I wasn't clear--I thought he was talking about a bug that had been
introduced since the release, but it turned out it was the other way around.
The bug was present in the latest beta-1 release but fixed in git master since
then.

I hope to have a beta-2 release out in the next week or so.

