Introduction: Puzzle Roulette

Puzzle Roulette is a single-player twist on the popular cooperative bomb-defusal game Keep Talking and Nobody Explodes. In this version, you play both the defuser and the expert — but with a catch: the puzzle modules are randomized, and the manual is hidden until you "unlock" it through gameplay. It's a test of memory, logic, and nerves!

Supplies

The list of all the components that i user:

Controller:

  1. Raspberry Pi 4 (4gb)
  2. SD Card (16gb)
  3. Powersupply

Sensors:

  1. 4x Capacitve touch sensor
  2. 4x Limit buttons
  3. 1x Rotary encoder
  4. 1x Keypad
  5. 1x RFID

Actuators:

  1. 1x Display
  2. 4x Oled
  3. 1x Steppenmotor
  4. 1x Neonpixel ring 24-leds

Others:

  1. Breadboard
  2. 3D Printed Parts
  3. Laser-cut case
  4. 3x PCF
  5. 1x 1K Resistor

Attachments

Step 1: Electronics & Circuit

Before you start you should make an electric diagram, in the image you see the diagram i created for this project.

I made this with the Fritzing app

Step 2: Database

Next is the database, the data that is store is:

  1. Solutions
  2. Game's
  3. log of the IO
  4. Questions for the quiz part
  5. Puzzle Stats

Step 3: Backend

For the backend of the game we gonna us python Flask,

First you need to edit the config_example.py to:

[connector_python]
user = root
host = 127.0.0.1
port = 3306
password = PASSWORD
database = DATABASE

[application_config]
driver = 'SQL Server'

When you done setup the config, you need to create a venv via this command:

python -m venv p1venv

after that you should download all the requirements.txt (look files) via:

pip install -r requirements.txt

if you want to run the app.py with the neonpixel ring you need to do it with this command:

sudo ../p1venv/bin/python ../backend/app.py


Step 4: Case

I made this case on Fusion360, all the files for lasercutter(*.ai files) and 3d printing (.stl and .obj files) are down below.