From NYC Resistor Wiki
Jump to navigation Jump to search


Time has already run out (again)-- now it's time to make more!


All slots should display a "WIN/LOSE" message and then clear at the end of a game[edit]

Priority 1! System does not restart automatically[edit]

Implemented, please test

We need this done first so that folks can easily do testing for gameplay changes. We should be able to bring up the system with the flick of a switch (or 12 switches) and all the parts should start talking to each other automatically. This is both to ease testing (not everyone understands the guts), and to prevent long down-times during the event. FUTURE CREW/Startup for more details.

Priority 2 (because of lead times) We need uniforms[edit]

Point person:

We should have something to distinguish us so that the crowd around the machine knows who is in charge. We can reuse the lab coats (I volunteer to wash them) but I suspect the patches will fall off. We can maybe re-iron them? or get Future Crew-specific buttons or patches. Would someone like to design and order something?

Alternatively we can go for random sci-fi costumes, but that would probably be much more complicated to pull together, and time is short.

Priority 2b FUN and PRIZES[edit]

Point person

Buttons or stickers to hand out saying that your future crew succeeded or failed at its mission. Folks with better graphic design and witty phrase invention skills than me should take point on this.

Table and Scoretower[edit]

These seem to be coming together quite well -- excellent work Astrida, Shelby, and Justin! Post if you need help with anything.

Gameplay edits[edit]

Point person

Each game should be able to tell the server how long the task it's requesting will take, so that folks trying to play Beethoven's 5th on the piano or dial internationally have enough time. Meanwhile, long tasks should be made simpler. (I will do this for the Patch Panel.)

Messages to the players on displays[edit]

Point person

They need to know if they have succeeded or failed in the current task. How will they know? This message type should be clarified and unified across consoles. Maybe a status bar that fill up and announces success or failure? Maybe red/green/yellow LEDs?

Octoscroller scoreboard messages[edit]

Point person: Trammell

The score and something like "You've won" "You've lost" or something more creative. Either as text or bitmaps, let's keep is simple. Send questions about formatting to Trammell. OCTOSCROLLER will be super bright.

Light strips not responding correctly[edit]

Point person - Holly

I need the priority 1 item done before I can debug this.

Teletype is unreliable[edit]

Point person - Trammell
Volunteers (someone with a car who wants to go to Jersey?)

It doesn't advance, and the manual advance gear keeps breaking. There are two more teletypes available for free in New Jersey.

Box for teletype[edit]

Point person - Holly
Volunteers - Trammell

Make the teletype less dangerous by encasing it in a clear acrylic box. General teletype reliability also needs to be improved.

Patch Panel needs to be simplified[edit]

Point person - Holly

I've got this covered.

Back Story[edit]

Point person

We should have a "pitch" for before each game so people who are all like "what the hell?" can be all like "oh I got it." Which should include a brief back-story and basic gameplay (and be really short).

Network architecture[edit]

Server URL[edit]



Each console is driven by a Raspberry Pi that communicates with a server on a local network.

We currently have five Pis provisioned; each has a static IP. They can be logged into with the default Raspian user (pi/raspberry).


The FC-server currently starts future_server.py at startup; it is not currently started as a daemon so if it dies it will need to be restarted manually.

While the FC-server does not currently run a console there is no reason why it should not be able to do so.

Tips and Tricks[edit]

Playing with the composite output on the RPi[edit]

Outside of X11, you can adjust the resolution of the RPi with:

 sudo fbset -xres [X_IN_PIXELS] -yres [Y_IN_PIXELS]

Within X, you should be able to use xrandr.

To turn off the composite (to create a "burst of static"), switch over to the HDMI output with:

 tvservice --explicit="CEA 16"

To turn it back on, do:

 tvservice --sdtv="NTSC 4:3"

(You can also use other aspect ratios to glitch... :) Important: after you bring the composite output back up, you'll need to reset the resolution (using fbset or xrandr) to bring the image back! Otherwise you'll just see a black screen.

Using OpenGL ES and Pygame[edit]

There's a great library for this: RPIGL. Clone it! I'm not sure if there are any package dependencies but if so they should be pretty easy to figure out.


Console and server software are in the github repository: [1]

Known consoles so far[edit]

Patch Panel Console (Holly, Trammell)[edit]

Photo: http://www.flickr.com/photos/osr/8623530170/in/set-72157633177014350

The first console under development is a patch panel with 8 three position switches. The Teensy++ configures all forty BNC connectors as inputs with the pull-up enabled, then pulls each one down in turn and sees if any others also go low. If so, then it assumes that those two are connected and outputs it on the USB serial port. Any number of cross connects are supported. The eight switches are connected to Vcc and Ground, so currently only the two positions can be read.

Toy Piano (Ranjit)[edit]

VidEditConsole (Adam)[edit]

Lots of blinky buttons!

Video of VidEditConsole in action

Oscilloscope? (Trammell?)[edit]

Photo: http://www.flickr.com/photos/osr/8954247595/

Might be a standalone game / twitter client during the show. We have enough output devices?

Pushbuttons + Teletype (Trammell, Guy)[edit]

Photo 1: http://www.flickr.com/photos/osr/8686712001/in/set-72157633295179819

Photo 2: http://www.flickr.com/photos/osr/8626420572/in/set-72157633177014350

The push buttons go under the teletype where the KSR unit would be. Commands for other units are printed on the teletype paper. Games are similar to the VCR panel: sync blinking, turn off all leds, turn on all leds, press specific button, etc.

Rotary Dialer (Widget)[edit]

this is kinda simple, could be incorporated into another project.