Electronics Programming

Boring Deadly Urgent Machine (Game) :: Part 1 :: The Spec

Some machines I like because of their sleek, minimalist exteriors, modernist or even brutalist megaliths of silicon, or brass.
But I love me some blinkenlights. If it’s got switches galore, laden with quadrant faders and vernier dials, festooned with vu meters, pulsing with neon lamps or LEDs, I’m going to pay that some serious attention. Throw in some industrial interconnects, be they ubiquitous BNCs, or some exotic mixed signal sockets, anything heavy duty, very very high frequency, lots of pins or fibre optic, fastened with clips, twist-locks, clamps or thumb screws….ahem.

When I was a child, I had this spaceship dashboard, made of grey painted plywood, that hooked to my bedstead. It had clunky (the good kind of clunky) switches, a steering wheel. My father made it for me, because I am lucky that way.
Now it is today, and I want it back, but bigger, and interactive. I want a physical version of Spaceteam, and have the game throw requirements at me through voice, and printouts, and screens. I want to have to re-wire plugboards, finesse trimmers, type in commands on buckling spring keyboards that look or sound like line noise (so, Perl, then). I want rooster knobs made of the finest vintage bakelite, and knife switches for that Frankenstein’s lab feel. I want the complication to ramp up gradually, but be a source of enjoyable panic, and to reward practice.


Spaceteam is a team game, played on mobile devices, where each player sees a fraction of the controls. They must communicate problems to each other by shouting, because the issues each player sees, are fixed by altering controls on someone else’s screen.

Here you can see two player’s screens, both seeing a different fraction of the spaceship’s controls. Note how some of the controls have become damaged, swinging down, or covered in goo or smoke.

Cockpits are a glorious riot of switches and displays.
Very manual looking cockpit here

Note the increasingly “glass” cockpit, with virtual meters, gauges and other readouts.

Some games I’ve played recently allow what would otherwise be inert, possibly bored bystanders, to take part, by voting on the action, or, in the case of Choice Chamber, altering the play conditions. Several of the JackGames party games also play entirely through the browser, no app needed on the player’s phones (the game itself requires a Windows machine to host the main display). That’s better than every new player having to download an app, and means all systems that support wifi and a modern-ish browser can join in, including laptops.

I envision the game as having just the one operator at any one time, and that could be dull for the other people waiting to play. Allowing them to monitor the performance, or help (or hinder!) in some way, would be much more engaging. Also, any system where the audience is signed in could alert the audience member that it is their go. This could be facilitated in various ways. One way is to have a Wi-Fi hotspot. This releases the game system from needing a local connection to the internet, and no player needs to hunt around for the per-session Wi-Fi password- you could display it on a screen. Downside to that is, a phone can only be affine to one network at a time, and that would take them away from any Wi-Fi AP that was internet connected. Still, a useful backup option, at least.

Functional Requirements

  • Expandable to take many (up to 255) inputs of many different modes
    • Switches (anything where a connection is made, regular push buttons (latching and non-latching), wiring (plugboards, finding the right connector out of a pile of patch leads)
    • Variable Voltage (anything where the input isn’t binary) selector switches, potentiometers, faders, analogue joysticks
    • Serial (anything more complex) such as a keyboard, bluetooth interface, remote control
    • internet? SMS?
  • expandable to drive many outputs
    • single LEDs
    • LED matrix, bar graph and seven segment displays
    • Vacuum fluorescent
    • LCD
    • HDMI monitor
    • VU meters and other dials/moving coil/needle displays
    • Servo-driven displays and similar (imagine wires that disconnect themselves via an ejector pin)
    • Audio (simple buzzers up to audio samples and text-to-speech)
  • interface should carry an ID code consisting of a unique identifier, and a view/control class code, so that when plugged in, the system either recognises it from before, or at least can say “unrecognised switch”. Perhaps include human readable label, to wit: “unrecognised switch – green knife switch”

Non-Functional Requirements

  • fun for first timers, fun for experienced players
  • fun for the audience
  • sturdy or at least easy to fix given the frantic nature of the game
  • lightweight or at least modular, to allow taking to parties

Development checkpoints

The first stage would be to establish the electronic standard for uni- and bi-directional communications, plus power delivery.
Then, build a couple of basic examples- a switch and a light, for instance.
Then, write the software to receive and send messages to the controls, and a very basic game.

Leave a Reply

Your email address will not be published. Required fields are marked *