Hi there! This is the location for frequently asked questions about our physical controller support.
What can the consoles do?
Anything the game's normal interface can do. Knowing we wanted the game to support this feature, all ship input and output was designed around a system whereby the game doesn't know or care what kind of input device is being used. A button being clicked on a screen still calls back to the same functions as pushing a physical button on a console.
What did you build them with?
The consoles we have built are done using Arduinos - small mini computer-on-a-chip devices which you can program in C, and which interface with the computer via virtual serial ports. In theory, you can use anything which connects via a (virtual or real) serial port, although we intend to expand this to include TCP or HTTP.
Otherwise, these all run using LEDs, resisters and various switches, connected to the Arduinos. The physical boxes can be anything, but we used MDF and hand-painted them.
How do they talk to the game?
We have devised a very simple protocol whereby the consoles turn on, send handshaking messages, and then note which inputs and outputs (for instance the binary state RCS_IS_FIRING, or the ship command BURN_MAIN_ENGINE) it needs to use, and which integer will represent them.
This way, despite being a serial connection (which is inherently very slow) all input can still be text-based, human-readable for debugging purposes, and only contains a few characters, for instance: CMD=3
You can read the protocol document here.
Will you show people how to build these?
Absolutely. We will be publishing full schematics for the consoles, source code for the Arduino side of the panels, and protocol information for those who want to do it all themselves. We will also release some video tutorials to help people along.
Can I buy consoles for my ship? I want all this but don't have the skills or time to make my own!
Unfortunately, we are not a hardware company. However, we are looking into options to be able to produce limited runs of specific ship consoles, either in kit form or fully assembled. For now, though, this is purely theoretical - it's not cheap or easy building these things professionally!
Got any more questions? Please, ask away!