Main development happens at https://github.com/ZeusWPI/OBUS/
Find a file
2021-02-01 13:42:18 +01:00
arduino-makefile@6f786a96b0 Add makefile 2020-08-10 17:10:08 +02:00
debugging_tool Parse ACKs in debugger 2020-09-11 21:57:18 +02:00
docs Make it easier for new people to get started 2021-02-01 13:42:18 +01:00
lib Merge pull request #14 from ZeusWPI/info-callback 2021-01-30 14:26:55 +01:00
misc Added date module 2020-09-08 00:08:13 +02:00
moana Assign info module 1 to redfast00 2020-09-10 01:54:15 +02:00
pcb Add custom PCB 2021-01-30 11:44:36 +01:00
src Make it easier for new people to get started 2021-02-01 13:42:18 +01:00
.editorconfig Add editorconfig 2020-08-10 15:34:15 +02:00
.gitmodules Add makefile 2020-08-10 17:10:08 +02:00
LICENSE Add MIT license, approved by all previous contributors 2020-08-28 03:32:33 +02:00
makefile Fix 2020-08-10 17:32:03 +02:00
README.md Make it easier for new people to get started 2021-02-01 13:42:18 +01:00

Ontmijnen van een Bom vereist Uitstekende Samenwerking

You see an armed time bomb but don't know how to disarm it. Your friends found a manual to defuse the bomb and you have them on call. This is the premise of the game OBUS, a hardware project by Zeus WPI. Inspired by the amazing software game Keep Talking and Nobody Explodes.

Get started writing a module

These are the instructions for building your own OBUS module with an Arduino Nano v3 and the custom PCB. If you're using other hardware, you might need to do some things differently.

  1. Read the "Getting started guide" to get a general idea of how OBUS works.
  2. Install the Arduino IDE.
  3. Clone this repository with Git in a permanent location on your drive.
  4. Symlink the library: ln -s /ABSOLUTE/PATH/TO/REPO/lib /PATH/TO/Arduino/libraries/obus (on most Linux distro's, this the Arduino folder is in $HOME/Arduino)
  5. Follow these steps to install the CAN library
  6. Execute ./src/new_module.sh to create a new module. When asked for a type, you'll probably want to choose 'puzzle'.
  7. Edit the newly generated .ino file, either in the Arduino IDE or in your own editor.
  8. In the Arduino IDE, select the correct board (Arduino Nano) and processor (ATmega328P (Old Bootloader)). After that, flash your code to the Arduino and test it out.

TODO insert picture here

Background

Game

The game is played by at least two players. The goal is to defuse a bomb, this is accomplished by defusing every module on that bomb before the bomb timer runs out.

There are two roles:

  • Expert: this person can read the manual about how to defuse the bomb, but cannot see nor interact with the bomb
  • Defuser: this person can see and interact with the bomb, but cannot read the manual

These two roles can communicate with each other. To successfully defuse the bomb, they must communicate efficiently and clearly. If a mistake is made, the team gets a strike. If they get too many strikes or the timer runs out, the bomb explodes.

Implementation goals

  • It should be easy to add new modules, both hardware- and software-wise
  • It should be easy to build your own module and get it working with the rest of the game
  • Every run of the game should be different
  • It should be possible for multiple people at the same time to develop a new module

The idea is to have one bomb controller that keeps track of the timer, the amount of strikes and of whether the bomb has been successfully disarmed, and to have multiple modules that have one or more challenges on them that need to be solved.