Strafer Liberator - Utilitar - Dolj - Lucrari 2022 Online

Informatii generale

Descriere

Strafer II este un joc Open-World action-RPG, in care jucatorul ia rolul unui astronaut care s-a prabusit pe o planeta straina. Pe parcursul jocului, el afla secretele planetei pe care se afla si incearca sa scape din acest loc uitat de lume. Cu ajutorul instrumentelor pe care trebuie sa le obtina, el este fortat sa supravietuiasca atacurilor creaturilor si robotilor.
Printre influentele notabile se numara:”The legend of Zelda: a Link to the past”, “DOOM” si “God of War”

Tehnologii

Instalare:
Pentru a rula proiectul, trebuie instalat programul Greenfoot(Greenfoot | Download). Apoi, gfar-ul trebuie rulat.

Tehnologii utilizate: -Java -Greenfoot si -Tiled -JSON -C++ ,pentru construirea lumii din joc.

Din punct de vedere tehnic, proiectul are cateva componente ce comunica unul cu celalalt pentru a realiza o experienta de joc cat mai complexa, fara sa sacrifice durata jocului sau detaliile grafice.
Componente notabile sunt: sistemul de salvare, sistemul de eventuri, world listenerul, scrollerul, sistemul de muzica, sistemul de combat si interfata grafica…
Fiecare dintre acestea comunica intre ele si sunt conectate la clasa de Player si PlayWorld(lumea simularii).

Orice joc consideram ca trebuie sa contina un save system care sa permita oprirea aplicatiei si reluarea la un alt moment de timp a activitatilor. Acesta este cazul si in jocul nostru, Strafer II. Am impelmentat un sistem care salveaza automat in fisiere text diferite lucruri necesare pentru joc ( pozitia pe harta la momentul respectiv, progresia povestii, itemele jucatorului si portiunile de harta vizitate. Toate acestea sunt transmise in clasa WorldData, ce are rolul de a memora datele pe care le prelucreaza sistemul de eventuri si clasa Player.

Desi jocul este open world, adica jucatorul este liber sa exploreze lumea, povestea acestuia are o structura liniara. Sistemul de eventuri tine cont in fiecare frame al jocului de progresul playerului. Fiecare event reprezinta o actiune pe care acesta trebuie sa o indeplineasca pentru a avansa. Fiecare event are asociata un obiectiv pe harta care poate fi verificata din meniul “Map”.

Deoarece memoria alocata JVM-ului pentru un scenariu greenfoot este limitata, am creat aceasta clasa care imparte lumea in sectiuni, fiecare dintre aceste sectiuni comunicand cu cele invecinate. Astfel am eliminat complet necesitatea de a schimba intre clase greenfoot de tip World,procesul fiind redundant. WorldListenerul exista permanent in simulare si se ocupa de tot ceea ce tine de pozitia playerului si statutul Scrollerului, apoi realizand modificarile necesare in lumea simularii(“PlayWorld”).

Scrollerul faciliteaza dezvoltarea unui joc Open-Word, nerestrictionand dimensiunea lumii la rezolutia ferestrei. El ia pozitia jucatorului in lume si actualizeaza pozitia pe ecran a obiectelor si fundalului relative cu Playerul.

Muzica este un element prezent pe tot parcursul jocului, atat in meniuri cat si in gameplay. Exista trei compozitii proprii ce sunt schimbate in functie de ceea ce se intampla cu playerul (ex este in pauza/se plimba/este in combat).

O mare parte din actiunea din Strafer II este datorata sistemului de combat. Acesta are la baza interactiunile dintre player, iteme si NPC-uri(non-playable characters). NPC-urile ostile(clasa Inamic) au fiecare un mod diferit de atac si reactioneaza diferit la atacurile playerului. Playerul poate pierde si recupera hp(viata).

Exista doua categorii de NPC-uri:
-Friendly, cele care poarta dialoguri cu playerul si ofera informatii
-Inamicii, care te vor ataca. Acestia copiaza din fisiere text matrice associate lumii pe care le folosesc pentru a cauta playerul. Acest proces de pathfinding foloseste algoritmul lui Lee, cunoscut si ca BFS(Breadth First Search), unde celulele matricei setate cu valorea 0 reprezinta spatii pe care se pot misca, iar obstacole precum peretii sau portiuni in care nu pot ajunge sunt setate cu valoarea -1. Matricele au fost generate de un tool realizat de noi, ce citeste loactia fiecarui perete din sectiunea de lume prin parsare de json.

Exista diferite elemente ce transmit informatie catre utilizator, precum tutoriale pentru fiecare aspect important al jocului, cat si meniuri HUD(heads up display)(ex bara de viata, inventory), dar si meniuri :
principal, unde sunt optiunile de joc nou si continuare
de pauza
game over cand pierzi
map pentru a vizualiza harta si obiectivul curent

Pe langa java-greenfoot, partea grafica a fost realizata in aseprite si tiled, iar muzica compusa si inregistrata live de noi

Cerinte sistem

Greenfoot 3.7.0
16 GB RAM
2 GB ROM

Realizatori

Marius-Razvan Tudosie

  • Scoala: Colegiul National “Carol I”
  • Clasa: 11
  • Judet: Dolj
  • Oras: Craiova

Mihai-Nicusor Stoica

  • Scoala: Colegiul National “Carol I”
  • Clasa: 11
  • Judet: Dolj
  • Oras: Craiova

Screenshots