Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2021:alazar:the_binding_of_ionut [2021/05/30 17:36]
ionut.otelea
pm:prj2021:alazar:the_binding_of_ionut [2021/05/30 20:20] (current)
ionut.otelea [Bibliografie/Resurse]
Line 39: Line 39:
 {{ :​pm:​prj2021:​alazar:​ionut_otelea:​p1.jpeg?​750 |}}\\ {{ :​pm:​prj2021:​alazar:​ionut_otelea:​p1.jpeg?​750 |}}\\
 \\ \\
-După cum se poate observa, joystickul și butoanele sunt de fapt plasate pe același controller (**Joystick Shield V1.A**). Butoanele corespund câte unui pin digital de pe plăcuța **Arduino UNO**, iar joystickul în sine folosește 2 pini analogici (câte unul pentru fiecare axă). Ecranul *LCD ILI9341** necesită utilizarea unor **rezistori** de 10k pe fiecare pin (există posibilitatea de a arde ecranul în lipsa acestor rezistori). **Buzzerul** ar trebui în teorie înseriat cu un rezistor pentru a obține un sunet mai fin. Totuși, am preferat să elimin rezistorul pentru un sunet cât mai puternic.\\+După cum se poate observa, joystickul și butoanele sunt de fapt plasate pe același controller (**Joystick Shield V1.A**). Butoanele corespund câte unui pin digital de pe plăcuța **Arduino UNO**, iar joystickul în sine folosește 2 pini analogici (câte unul pentru fiecare axă). Ecranul ​**LCD ILI9341** necesită utilizarea unor **rezistori** de 10k pe fiecare pin (există posibilitatea de a arde ecranul în lipsa acestor rezistori). **Buzzerul** ar trebui în teorie înseriat cu un rezistor pentru a obține un sunet mai fin. Totuși, am preferat să elimin rezistorul pentru un sunet cât mai puternic.\\
    
 ===== Software Design ===== ===== Software Design =====
Line 57: Line 57:
 Prin toate cele prezentate am reușit implementarea unui joc minimal, plăcut și ușor de jucat. Mai jos se poate găsi un link către un scurt demo al jocului conținând atât o victorie, cât și o înfrângere.\\ Prin toate cele prezentate am reușit implementarea unui joc minimal, plăcut și ușor de jucat. Mai jos se poate găsi un link către un scurt demo al jocului conținând atât o victorie, cât și o înfrângere.\\
 \\  \\ 
 +[[https://​drive.google.com/​file/​d/​1t3CZwQ0GfrzpmX-ONHvp6bxOsEtodEXw/​view?​usp=sharing|Demo The Binding Of Ionuț]]\\
 +\\
 +{{:​pm:​prj2021:​alazar:​ionut_otelea:​p4.jpeg?​150|}}
 +{{:​pm:​prj2021:​alazar:​ionut_otelea:​p5.jpeg?​150|}}
 +{{:​pm:​prj2021:​alazar:​ionut_otelea:​p6.jpeg?​150|}}
 +{{:​pm:​prj2021:​alazar:​ionut_otelea:​p7.jpeg?​150|}}
 +
 ===== Concluzii ===== ===== Concluzii =====
 Pe parcursul dezvoltării proiectului m-am lovit de limitările fizice ale componentelor utilizate. Astfel, plăcuța Arduino Uno nu poate transmite un flux de date mare, suficient de repede, către ecranul LCD (motiv pentru care jucătorul pare uneori a clipi pe ecran și fapt din cauza căruia am decis ca monștri să fie imobili). Totodată, verificarea constantă a coliziunilor (la fiecare frame), este extrem de costisitoare din punct de vedere al puterii de calcul (se realizează înmulțiri și radicali). Din acest motiv am limitat numărul de proiectile active la 5 pentru jucător și la 10 pentru monștri (Pe parcurs ce monștri mor și nu mai lansează proiectile chiar se observă o creștere a performanței jocului). Având în vedere toate acestea, a trebuit să reduc cu mult complexitatea jocului pe care o prevedeam la începutul proiectului în încercarea de a asigura o funcționalitate bună și o experiență de joc cursivă și plăcută.\\ Pe parcursul dezvoltării proiectului m-am lovit de limitările fizice ale componentelor utilizate. Astfel, plăcuța Arduino Uno nu poate transmite un flux de date mare, suficient de repede, către ecranul LCD (motiv pentru care jucătorul pare uneori a clipi pe ecran și fapt din cauza căruia am decis ca monștri să fie imobili). Totodată, verificarea constantă a coliziunilor (la fiecare frame), este extrem de costisitoare din punct de vedere al puterii de calcul (se realizează înmulțiri și radicali). Din acest motiv am limitat numărul de proiectile active la 5 pentru jucător și la 10 pentru monștri (Pe parcurs ce monștri mor și nu mai lansează proiectile chiar se observă o creștere a performanței jocului). Având în vedere toate acestea, a trebuit să reduc cu mult complexitatea jocului pe care o prevedeam la începutul proiectului în încercarea de a asigura o funcționalitate bună și o experiență de joc cursivă și plăcută.\\
Line 65: Line 72:
 Mai jos se găsește codul sursă realizat pentru implementarea jocului.\\ Mai jos se găsește codul sursă realizat pentru implementarea jocului.\\
 \\ \\
 +{{:​pm:​prj2021:​alazar:​ionut_otelea:​oteleaionutgabriel_335ca_proiectpm.zip| Cod sursă}}
 ===== Jurnal ===== ===== Jurnal =====
   * 25.04.2021: Realizarea paginii proiectului și a descrierii succinte a acestuia.   * 25.04.2021: Realizarea paginii proiectului și a descrierii succinte a acestuia.
 +  * 02.05.2021: Conectarea inițială a componentelor și verificarea funcționalităților de bază.
 +  * 08.05.2021: Implementarea minimală a unui personaj și a mișcării acestuia.
 +  * 16.05.2021: Adăgarea monștrilor și a scorului, cât și a proiectilelor.
 +  * 22.05.2021: Realizarea coliziunilor și cuplarea tuturor componentelor software.
 +  * 30.05.2021: Finisarea documentației și adăugarea unui demo al jocului.
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
-{{:​pm:​prj2021:​alazar:​ionut_otelea:​the_binding_of_ionut.pdf|}}+[[pm:​prj2021:​alazar:​the_binding_of_ionut|]]\\ 
 +{{:​pm:​prj2021:​alazar:​ionut_otelea:​the_binding_of_ionut_v2.pdf|The Binding Of Ionuț}}\\ 
 +[[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab2-2021|Lab2 PM]]\\ 
 +[[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab4-2021|Lab4 PM]]\\ 
 +[[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab5-2021|Lab5 PM]]\\ 
 +[[https://​github.com/​adafruit/​Adafruit_ILI9341|Bibliotecă ecran LCD]]\\ 
 +[[https://​simple-circuit.com/​interfacing-arduino-ili9341-tft-display/​|Cod exemplu ecran LCD]]\\ 
 +[[https://​thearduinostore.wordpress.com/​products/​joystick-shield-v1-a/​|Cod exemplu Joystick Shield]]\\ 
 +[[https://​forum.arduino.cc/​t/​joystick-shield-module-v1-a/​257004|Pinout Joystick Shield]]\\ 
pm/prj2021/alazar/the_binding_of_ionut.1622385398.txt.gz · Last modified: 2021/05/30 17:36 by ionut.otelea
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