This is an old revision of the document!
Dungeon Explorer
Introducere
Proiectul consta intr-un joc de tip dungeon crawler genre Roguelike RPG, in care jucatorul controleaza un personaj ce exploreaza un labirint, infrunta inamici si colecteaza diferite resurse sau imbunatatiri, la fiecare explorare labirintul va fi diferit camerele vor fi generate procedural pe baza unor reguli astfel fiecare eplorare va aduce o experienta noua pentru jucator . Scopul proiectului este de implementa un joc cu mai multe mecanici precum logica de miscare, gestionarea resurselor, AI basic pentru inamici, interactiunea jucator cu mediul inconjurator si toatea acestea folosind niste resurse limitate. Idea de la care am pornit a fost pasiunea mea pentru jocuri, astfel m-am gandit cum as putea face un proiect care sa fie interesant pentru mine, astfel am ajuns la aceasta idee. Un joc de tip dungeon crawler poate poate fi simplificat pentru a fi adaptat la constrangerile hardware insa raman si o groaza de mecanici pentru a face jocul interant in continuare.
Descriere generală
Sistemul este compus din următoarele componente:
Bloc de control pentru mișcare: microcontrolerul ATmega328P primește input de la joystick și keypad și transmite comenzile prin UART către placa principală Arduino Mega. De asemenea, acesta primește mesaje de la Arduino Mega pentru activarea buzzerului atunci când este necesar.
Joystick-ul este utilizat pentru controlul mișcării caracterului din joc.
Keypad-ul este folosit pentru atacarea inamicilor și pentru interacțiunea cu diferite elemente din joc.
Bloc de control pentru display: Arduino Mega se ocupă de afișarea sprite-urilor pe ecran. Acesta primește comenzile prin UART de la cealaltă placă și mută jucătorul sau realizează interacțiuni cu elementele din joc în funcție de acestea.
TFT Shield v2.2 este utilizat pentru conversia nivelului de tensiune de la 5V la 3.3V, deoarece pinii ecranului funcționează la 3.3V.
Ecranul TFT LCD de 3.2 inch afișează harta, jucătorul și inamicii.
Hardware Design
Ecranul este conectat in modul 16-bit paralel la Arduino Mega. Pinii ecranului efectuează comunicarea la 3.3V dar plăcuța dă output la 5V, astfel pentru a face legătura între ecran și microcontroler am utilizat TFT Shield V2.2. Astfel Shield-ul se conectează la plăcuță astfel:
Această mapare a pinilor nu a fost făcută de mine shield-ul are doar un mod de conectare la Arduino Mega.
De la shield la ecran:
Am conectat pinii DB0-DB15 pentru modul 16-bit paralel
Pinii CS RD WR CS pentru a folosi biblioteca de desenare
Pinii de VDD si GND pentru power
Software Design
Descrierea codului aplicaţiei (firmware):
mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
librării şi surse 3rd-party (e.g. Procyon AVRlib)
algoritmi şi structuri pe care plănuiţi să le implementaţi
(etapa 3) surse şi funcţii implementate
Rezultate Obţinute
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
Concluzii
Download
O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună

.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.
Jurnal
Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Export to PDF