Bomb Game

Introducere

Proiectul constă în dezvoltarea unui joc interactiv bazat pe dezamorsarea unei bombe simulată, similar cu jocul "Keep Talking and Nobody Explodes". Jucătorii trebuie să rezolve diverse module (mini-jocuri) într-un timp limitat și să evite să facă trei greșeli, pentru a dezamorsa bomba. Fiecare greșeală va fi semnalizată prin aprinderea unui bec roșu, iar rezolvarea corectă a unui modul va fi indicată de un bec verde. Scopul jocului este de a testa și îmbunătăți abilitățile de lucru în echipă și de rezolvare a problemelor sub presiune. Acest joc este util atât pentru distracția participantilor, cât și pentru dezvoltarea abilităților menționate.

Bomba NU va exploda dacă jucătorul nu reușește să o dezamorseze.

Proiectul NU are scopul de a încuraja construirea unei bombe propriu-zise sau orice obiect asemănător, fiind la bază doar o idee de joc.

Descriere generală

Componentele principale:

LED Display: Afișează timpul rămas până la “explozia” bombei.

Butoane de Control: Includ un buton de start pentru inițierea timerului și un buton de reset pentru a începe jocul de la început.

Indicatori Luminoși: Trei becuri roșii care se aprind când jucătorul comite o greșeală și becuri verzi care indică rezolvarea corectă a fiecărui modul.

Emițător sunet: Un buzzer care scoate sunet ce poate fi interpretat drept cod Morse.

Modulele de joc:

Modulul Buton: Jucătorii trebuie să apese un buton când anumite cifre apar pe timer.

Modulul Culori: Jucătorii reacționează la un bec care luminează în patru culori diferite și trebuie să apese câteva butoane în ordine corectă.

Modulul Fire: Involvă diverse fire colorate care trebuie tăiate conform indicațiilor din manualul jocului.

Modulul Morse: Acest modul include o boxă care emite un cod Morse. Jucătorii trebuie să traducă mesajul Morse și să apese un buton specific de un număr de ori corespunzător traducerii. De asemenea, modulul include un buton de resetare a contorului pentru numărul de apăsări și un buton de trimitere (submit) pentru a confirma selecția.

Fiecare jucător va avea acces la un manual fizic în format PDF pentru a consulta instrucțiunile necesare rezolvării fiecărui modul în timpul jocului.

Hardware Design

Componente:

Arduino MEGA 2560

LCD 16×2 (I2C)

Breadboard

Butoane

LED-uri

Buzzer

Micro servomotor SG90

Baterii de 9V

Modul buton:

Modul culori:

Modul fire:

Modul morse:

Proiect finalizat:

Software Design

Arduino

  • Fiecare modul are functia specifica lui, care ruleaza in continuu pana cand jucatorul dezamorseaza bomba, sau pana cand se scurge timpul.
  • Principala problema a codului a fost paralelizarea modulelor deoarece dorim ca toate minigame-urile sa fie accesibile in acelasi timp si sa nu limitam jucatorul sa rezolve modulele intr-o anumita ordine. Functiile modulelor au fost scrise in loop-ul din Arduino IDE, iar acestea nu contin functia delay(), functie ce este blocanta pentru aplicatie. Alternativa functiei delay() a fost functia millis() cu ajutorul careia am salvat timpul real al aplicatiei si am planificat aprinderea/stingerea becurilor la anumite perioade de timp.
  • Pentru randomizarea jocurilor, am creat functii de dificultate, care sunt apelate asemenea functiilor specifice modulelor. Acestea verifica in continuu starea actuala a bombei si decide cum ar trebui rezolvate modulele. Codul scris este asemenea instructiunilor din manual.

Rezultate Obţinute

Recordul meu personal pentru dezamorsarea bombei este de 90 de secunde ramase, din cele 180 de secunde care sunt oferite jucatorului. :-D

Concluzii

  • Jocul este destul de dificil, mai ales pentru o prima incercare de a dezamorsa bomba. Dificultatea poate fi controlata direct din codul arduino.
  • Pentru a diversifica jocul, se pot adauga oricat de multe module noi sau se pot adauga mai multe conditii in manualul bombei.

Download

Link cu repo-ul de pe Github: GitHub

Manualul bombei se gaseste pe linkul de mai sus, sau direct de aici.bombmanual.pdf

pm/prj2024/rvirtan/marian.irimia2708.txt · Last modified: 2024/05/23 20:49 by marian.irimia2708
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0