Could you build this?

As I mentioned yesterday, the essential skill that you will use throughout your career is the ability to decompose problems and compose solutions. Today I'm going to give you a challenge that may seem out of reach at first, but for which you almost certainly have all the tools. I'll spend the next few days breaking the full problem down into its constituent parts.

About 5 years ago, I built a high-tech escape room with some friends from my theatre production days. The game was kind of a mashup of the movies Dr. Strangelove and Wargames, where you and 15 other people are tasked with stopping a faulty AI from starting a nuclear war in a 1980s era missile bunker.

Among other things, the game featured:

  • 4 custom built arcade cabinets on which small groups of players solved individual puzzles. Each of these had a four-way joystick, start/select buttons, and a keyboard, as well as some custom hardware interfaces specific to each puzzle. Each of these was running a Raspberry Pi internally. Events in these puzzles advanced the narrative of the rest of the room, and could affect the others.

  • 1 large "patch bay" of 260 jacks where players would plug pairs of cables into pairs of receptacles as solutions to other puzzles in the room. Pressing a button after selecting a pair in the grid would reveal if they had solved the puzzle correctly. Each correct pair disarmed one of ten missiles. This also contained its own Raspbery Pi

  • Theatrical lighting, sound, and video design, which all had to be controlled and synchronized with the events that were happening in the above-mentioned elements.

Just knowing these requirements and the technologies that you are familiar with as a recent bootcamp grad, start sketching out how you might build this system. Identify the unknowns that would need more research and see how well you can compartmentalize them into discrete problems with specific questions.

Tomorrow I'll start picking this thing apart and show you how I did it.

Next Up:
Initial Client Server Architecture

Previously:
Decomposing Problems, Composing Solutions


Want to impress your boss?

Useful articles delivered to your inbox. Learn to to think about software development like a professional.

Icon