Autorul poate fi contactat la adresa: Login pentru adresa
sau: Login pentru adresaSpace Impact a fost un joc Shooter dezvoltat pentru telefoanele Nokia (incepand cu Nokia 3310). Acesta presupunea ca jucatorul sa controleze o navetuta spatiala prin diferite nivele, supravietuind Inamicilor cu ajutorul unor arme / abilitati speciale deblocate pe parcurs. La finalul fiecarui nivel se afla un Boss care trebuia ucis pentru a trece la nivelul urmator. Jucatorul avea Trei Vieti la dispozitie pentru a trece nivelul, iar daca le pierdea pe toate, era nevoit sa o ia de la capat.
Motivatia din spatele acestui proiect se bazeaza in principal pe nostalgie:
→ dorinta de a reproduce unul dintre cele mai bune jocuri de mobile inainte de “Epoca Smartphone”
→ dorinta de a juca din nou Space Impact fara sa caut un Nokia 3310 la shady dealers
Se doreste construirea unei “telecomenzi”(controller) pentru joc care sa comunice cu microcontroller-ul de pe placuta principala.
Acest controller va avea:
Se va crea un nivel redat pe un ecran Sparkfun LCD-10168. Acest ecran va oferi un feedback vizual comenzilor date de jucator prin telecomanda. Jucatorul va trebui sa se adapteze mediului de joc (design-ului de nivel) pentru a supravietui ca sa ajunga la final. Design-ul de nivel cuprinde:
Se va folosi un Buzzer Pasiv pentru a oferi un feedback audio jucatorului de fiecare data cand elibereaza un proiectil.
S-a utilizat WinAVR pentru compilare. Codul a fost redactat in Notepad++.
Link-uri catre bibliotecile de LCD si WinAVR se regasesc in resurse.
LCD Assistant s-a folosit pentru a obtine sprites in forma hexazecimala.
LCD-ul lucreaza cu o matrice 6×16:
In continuare, vom numi aceasta matrice: Harta.
Astfel, s-a construit un scenariu in care jucatorul se poate deplasa numai de-a lungul Coloanei 1, in sus si in jos, in partea stanga a Hartii. Inamicii isi vor face aparitia din partea dreapta si se vor deplasa orizontal de-a lungul liniei pe care se afla. Acelasi comportament este atribuit si consumabilelor:
Singura exceptie se regaseste la nivelul Boss-ului de la final de nivel, care va ramane pe loc pentru un anumit numar de cicli, ca apoi sa imite comportamentul celorlalti inamici.
Astfel, s-au luat in vedere urmatoarele elemente:
Din cauza limitarilor ferestrei de joc, s-a construit o lista de elemente in forma urmatoare {coord. x, coord. y, statut, tip}, unde:
La fiecare ciclu, toate elementele din aceasta lista se shifteaza cu o coloana mai la stanga (x–). Cand x a ajuns suficient de mic pentru a se incadra in Harta (x ⇐ 16), elementul de care apartine va fi redat in scena.
Sablonul hartii este urmatorul:
Unde:
Jucatorul interactioneaza cu mediul inconjurator in mod direct prin coliziuni:
De fiecare data cand un inamic este ucis, acesta acorda jucatorului un punct la scor. Poate exista doar un singur proiectil pe o linie la un moment dat. In momentul in care acesta loveste un inamic sau paraseste zona activa a hartii, va fi teleportat automat la coordonatele (2, y), unde y este linia pe care se afla.
Au fost folosite 2 butoane pentru Sus si Jos, 1 buton pentru a trage obisnuit si 1 buton pentru a activa abilitatea speciala.
Raman active doar butoanele de a trage obisnuit si de a activa abilitatea speciala, miscarea verticala fiind preluata de MPU-6050.
In urma realizarii acestui proiect, am obtinut un joc care imita jocul original.
Ecranul de start / Ecranul de joc / Boss-ul final / Ecranul de sfarsit:
Ciocioi Stefan-Viorel - Proiect Space Impact 2018
Contine si sprites folosite in joc si soft-ul LCD Assistant.
Sfarsit Milestone 1
20 Aprilie 2018 - Creata Pagina de Wiki
Sfarsit Milestone 2
06 Mai 2018 - Update Descriere Hardware
Sfarsit Milestone Final
22 Mai 2018 - Completare Pagina Proiect
LCD:
Accelerometru: