Table of Contents

Flappy Bird Definitive Edition

Introducere

Jocul care a cutremurat planeta in 2014 se intoarce ! Jocul va suferi totusi cateva modificari fata de varianta originala. In primul rand, repetitivitatea jocului din 2014 va fi inlaturata prin introducerea unui mecanism de dificultate pentru joc. Deasupra ecranului pe care se desfasoara jocul se vor afla 5 led uri galbene, care indica dificultatea curenta. Acesta va creste treptat, deoarece nu ne dorim ca jucatorii sa moara incepand din primul sau al doilea obstacol.In acest fel jocul va fi friendly si pentru incepatori, dar challenging si pentru cei hardcore.

In plus, ar fi dragut ca fiecare sa isi poata customiza pasarea cum doreste. De aceea, voi introduce un buton colorat prin apasarea caruia pasarea se va colora corespunzator. Se va introduce si un filtru de dark mode, prin care orasul prin care se plimba pasarea noastra preferata va deveni unul intunecat si neprietenos.

Fara sunetele catchy jocul nu ar mai fi el insusi (https://www.youtube.com/watch?v=DMmlXBR5hs4), de aceea le voi reproduce printr-un buzzer.

Descriere generală

Schema bloc

Schema hardware

Hardware Design

Componente utilizate

Detalii de utilizare a componentelor

Software Design

Am utilizat Arduino IDE, impreuna cu librariile:

Redarea imaginilor jocului

Animatiile

Utilizarea buzzer-ului

Afisajul cu 5 LED-uri

Initial am conceput trecerea de la o dificultate la alta in functie de numarul de tuburi parcurse de catre pasare, insa am adaugat posibilitatea de a face aceasta trecere in functie de un timer configurat in modul CTC, ce in rutina de tratare a intreruperii va incrementa numarul de led-uri aprinse.

Butonul de culoare

Acesta va cicla printr-un set de culori, folosind o intrerupere de tip PCINT pentru a modifica aspectul pasarii in orice moment, inclusiv cand aceasta zboara.

Logica jocului

Rezultate Obţinute

Demo 2 run-uri pe zi si pe noapte

Demo schimbare culoare pasare

Se poate observa cum pasarea isi schimba culoarea atat in meniul de start, cat si in timpul run-ului. De asemenea, LED-uri se aprind progresiv, iar buzzer-ul emite sunetele corespunzatoare desfasurarii jocului.

P.S: Aceasta nu este versiunea finala din punct de vedere estetic a proiectului, acesta fiind ambalat intr-o cutie care sa separe logica hardware din spate (multitudinea de fire, multiplexarea), si sa ofere utilizatorului doar un ecran pe care sa se joace si un breadboard cu LED-uri si buton. Am filmat fara cutie pentru a se putea vedea conexiunile.

Concluzii

A fost un proiect interesant; dar am considerat ca a fost si destul de costisitor ca timp si dificultate. Totusi, in final consider ca a fost worth it, pentru ca am inteles mult mai bine lucrul cu Arduino/Atmega, in acelasi timp avand un joc in plus cu care sa imi omor timpul liber :-D .

Download

Cod Sursa

Schema hardware PDF

Jurnal

Bibliografie/Resurse

Resurse Software

Resurse Hardware

Export to PDF