Proiect Diploma Viscol Georgiana Alina Ingineria Sistemelor Multimedia 2020 [631531]

1

UNIVERSITATEA DIN CRAIOVA
FACULTATEA DE AUTOMATICĂ, CALCULATOARE ȘI
ELECTRONICĂ

DEPARTAMENTUL DE AUTOMATICĂ ȘI ELECTRONICĂ

PROIECT DE DIPLOMĂ
Viscol Georgiana Alina

COORDONATOR ȘTIINȚIFIC
Conf. Dr. Ing. Ionuț Cristian Reșceanu

IULIE 2020
CRAIOVA

ii

UNIVERSITATEA DIN CRAIOVA
FACULTATEA DE AUTOMATICĂ, CALCULATOARE ȘI
ELECTRONICĂ

DEPARTAMENTUL DE AUTOMATICĂ ȘI ELECTRONICĂ

Joc video Race și Platformă online de prezentare a dezvoltării Jocului Race
Viscol Georgiana Alina

COORDONATOR ȘTIINȚIFIC
Conf. Dr. Ing. Ionuț Cristian Reșceanu

IULIE 2020
CRAIOVA

iii
„Învățătura este o comoară care își urmează stăpânul pretutindeni .”
Proverb popular

iv
DECLARAȚIE DE ORIGINALITATE

Subsemnatul VISCOL GEORGIANA ALINA, student: [anonimizat], Calculatoare și Electronică a Universit ății din
Craiova, certific prin prezenta că am luat la cunoștință de cele prezentate m ai jos și că î mi asum, în
acest context, originalitatea proiectului meu de licență :
 cu titlul Joc Race și Site Web de creare a jocului Race ,
 coordonată de Conf. Dr. Ing. Ionuț Cristian Resceanu,
 prezentată în sesiunea Iulie 2020.
La elaborarea proiectului de licență, se consideră plagiat una dintre următoarele acțiuni:
 reproducerea exactă a cuvintelor unui alt autor, dintr -o altă lucrare, în limba română sau prin
traducere dintr- o altă limbă, dacă se omit ghilimele și referința precisă,
 redarea cu alte cuvinte, reformularea prin cuvinte proprii sau rezumarea ideilo r din alte
lucrări , dacă nu se indică sursa bibliografică,
 prezentarea unor date experimentale obținute sau a unor aplicații realizate de alți autori fără
menționarea corectă a acestor surse,
 însușirea totală sau parțială a unei lucrări în care regulile de mai su s sunt respectate, dar care
are alt autor.
Pentru evitarea acest or situații neplăcute se recomandă:
 plasarea între ghilimele a citatelor directe și indicarea referinței într -o listă corespunzătoare la
sfărșitul lucrăr ii,
 indicarea în text a reformulării unei idei, opinii sau teorii și corespunzător în lista de referințe
a sursei originale de la care s- a făcut preluarea,
 precizarea sursei de la care s-au preluat date experimentale, descrieri tehni ce, figuri, imagini,
statistici, tabele et caetera,
 precizarea referințelor poate fi omisă dacă se folosesc informații sau teori i arhicunoscute, a
căror paternitate este unanim cunoscută și acceptată.
Data, Semnătura candidat: [anonimizat],

v

UNIVERSITATEA DIN CRAIOVA
Facultatea de Automatică, Calculatoare și Electronică
Departamentul de Automatică și Electronică
Aprobat la data de
…………………
Director de
departament,
Prof. dr. ing.
Cosmin IONETE

PROIECTUL DE DIPLOMĂ

Numele și prenumele student: [anonimizat]/ -ei:
Viscol Georgiana Alina

Enunțul temei:

Joc Race și Platformă online de prezentare a dezvoltării
jocului Race
Race este un joc de curse cu mașini, în care jucătorul dispune
pentru a se juca de două circuite, trei moduri de joc, trei
unghiuri din care să vadă traseul și mașina.
Site-ul Web este despre cum am creat acest joc, acesta are
câte o secțiune pentru Acasă, Despre joc, Etape creerii
jocului, Referințe din joc, Pașii prin care l -am creat, Galerie,
Întrebări frecvente, Sponsori jocului și Footer-ul care are o
scurtă descriere a jocului, câteva link -uri folositoare și
contact.

Datele de pornire:

Am pornit de la învățarea principiilor de bază a programului
Unity, Visual Studio întrucât pentru crearea jocurilor este
nevoie de limbajul C# și a limbajului HTML, C SS,
JavaScript, jQuery, Boostrap pentru site-ul web.

Conținutul proiectului:

INTRODUCERE
PLATFORMA DE DEZVOLTARE
TEHNOLOGII FOLOSITE
Tehnologii pentru jocul video
Tehnologii pentru site-ul web
PREZENTAREA APLICAȚIEI
Prezentarea jocului
Prezentarea site-ului web
CONCLUZIILE FINALE
BIBLIOGRAFIE
REFERINȚE WEB

Material grafic obligatoriu:
Capturi de ecran
Scheme bloc

Consultații:
săptămânale
Conducătorul științific
(titlul, nume și prenume, semnătura): Șef lucrări conf. dr. ing. Reșceanu Crist ian Ionuț

vi

Data eliberării temei :
10.10.2019

Termenul estimat de predare a
proiectului:
20.06.2020

Data predării proiectului de către
student și semnătura acestuia:
22.06.2020

vii

UNIVERSITATEA DIN CRAIOVA
Facultatea de Automatică, Calculatoare și Electronică
Departamentul de Automatică și Electronică

REFERATUL CONDUCĂTORULUI ȘTIINȚIFIC

Numele și prenumele candidatului/-ei: Viscol Georgiana Alina
Specializarea: Ingineria Sistemelor Multimedia
Titlul proiectului: Platformă online de prezentare a dezvoltării jocului Race și
jocul video Race
Locația în care s -a realizat practica de
documentare (se bifează una sau mai
multe din opțiunile din dreapta): În facultate □
În producție □
În cercetare □
Altă locație: [se detaliază ]

În ur ma analizei lucrării candidatului au fost constatate următoarele:
Nivelul documentării Insuficient
□ Satisfăcător
□ Bine
□ Foarte bine

Tipul proiectului Cercetare
□ Proiectare
□ Realizare
practică □ Altul
[se detaliază ]
Aparatul matematic utilizat Simplu
□ Mediu
□ Complex
□ Absent

Utilitate Contract de
cercetare □ Cercetare
internă □ Utilare
□ Altul
[se detaliază ]
Redactarea lucrării Insuficient
□ Satisfăcător
□ Bine
□ Foarte bine

Partea grafică, desene Insuficient ă
□ Satisfăcăt oare
□ Bună
□ Foarte bună

Realizarea
practică Contribuția autorului Insuficientă
□ Satisfăcătoare
□ Mare
□ Foarte mare

Complexitatea
temei Simplă
□ Medie
□ Mare
□ Complexă

Analiza cerințelor Insuficient
□ Satisfăcător
□ Bine
□ Foarte bine

Arhitectura Simplă
□ Medie
□ Mare
□ Complexă

viii
Întocmirea
specificațiilor
funcționale Insuficientă
□ Satisfăcătoare
□ Bună
□ Foarte bună

Implementarea Insuficientă
□ Satisfăcătoare
□ Bună
□ Foarte bună

Testarea Insufi cientă
□ Satisfăcătoare
□ Bună
□ Foarte bună

Funcționarea Da
□ Parțială
□ Nu

Rezultate experimentale Experiment propriu
□ Preluare din bibliografie

Bibliografie Cărți
Reviste
Articole
Referințe web

Comentarii
și
observații

În concluzie, se propune:

ADMITEREA PROIECTULUI
□ RESPINGEREA PROIECTULUI

Data, Semnătura conducătorului științific,

ix
REZUMATUL PROIECTULUI
Joaca este calea nat urală prin care oamenii învață. Acest joc este unul de îndemanare care stimulează
abilitățile jucătorului, acesta este o activitate recreațională în care este implicat un jucător, care trebuie
să atingă un scop și anume să termine cursa. Jucătorul dispune de 2 hărți, una pe timp de zi, una pe
timp de noapte și trei mașini deblocate, a patra putând fi obținută cu recompensele acumulate după
finalizarea unei curse în modul Score Attack. Acesta dispune de 3 moduri de joc : Race Mode (modul
de joc în care mașina jucătorului se întrece cu o mașină controlată de calculat or), Time Attack (modul
în care cursa este cronometrată, înregistrându -se timpul pentru o tură și cel mai bun timp în care poate
fi parcursă o tură) , Score Attack (modul în care mașina coltrolată de jucător trebuie să colecteze
puncte), de asemenea și de o posibilitate a jucătorului de a schimba unghiul din care să vadă mașina și
terenul de joc prin apăsarea tastei C. Race se termină când playerul parcurge număr ul specificat de
ture. J ocul dispune de o grafică 3D uimitoare vizual și fizică realistă.
Acest joc este recomandat atât copiilor cât și adulților. Fiind un joc cu mașini, pentru a oferi
jucătorului un plus de suspans, pe traseu acesta întâlnește diferite obstacole. Acest joc video este un
joc dinamic, antrenant și amuzant, un adevărat raliu. Race este un joc de curse foarte captivant,
extreme de realist și detaliat, care îți pune la dispoziție o varietate de mașini sport . Acesta reprezintă o
provocare ce îți testează abilitățile de conducere rapidă și simțul orientării .
Platformă online de prezentare a dezvoltării unui joc este numit ă Race după jocul video. În acest site
web am pus un logo, un video în care prezint jocul și îl testez, o scurtă descriere a jocului, pașii în
funcție de care am creat jocul, câteva referințe vizuale , câteva întrebări referitoare la motorul grafic
Unity și la jocul Race, un contact, de asemenea și o secțiune despre mine, creatoarea jocului.

Termenii cheie : Race, RaceMode, Unity, HTML, JavaScript, C#, site.

x
CUPRINSUL
1 CAPITOLUL 1 . INTRODUCERE ……………………………………………………………………………………………… 1
1.1 S COPUL ……………………………………………………………………………………………………………………………….. 1
1.2 M OTIVAȚIA ………………………………………………………………………………………………………………………….. 1
1.3 I NTRODUCERE ÎN JOCURILE VIDEO …………………………………………………………………………………………… 2
2 CAPITOLUL 2 . PLATFORMA DE DEZVOLTARE ………………………………………………………………….. 5
2.1 A PLICA ȚII POPULARE …………………………………………………………………………………………………………….. 6
2.2 J OCUL VIDEO RACE ……………………………………………………………………………………………………………… 10
2.3 S CURT ISTORIC ……………………………………………………………………………………………………………………. 10
2.4 D ESCRIERE …………………………………………………………………………………………………………………………. 11
2.5 V ERSIUNILE PENTRU PLATFORMA PC ……………………………………………………………………………………… 13
2.6 O BIECTIV …………………………………………………………………………………………………………………………… 15
2.7 O BIECTIV …………………………………………………………………………………………………………………………… 17
2.8 C ONCLUZII …………………………………………………………………………………………………………………………. 17
3 CAPITOLUL 3 . TEHNOLOGII FOLOSITE ……………………………………………………………………………. 19
3.1 T EHNOLOGI PENTRU DEZV OLTAREA JOCULUI RACE ………………………………………………………………….. 19
3.1.1 S ISTEMUL DE OPERARE WINDOWS …………………………………………………………………………………………. 19
3.1.2 P LATFORMA DE DEZVOLTARE UNITY ……………………………………………………………………………………… 20
3.1.2.1 U NITY ……………………………………………………………………………………………………………………………….. 21
3.1.2.2 ASSET STORE ……………………………………………………………………………………………………………………… 22
3.1.2.3 S UNET ……………………………………………………………………………………………………………………………….. 24
3.1.3 L IMBAJUL DE PROGRAMAR E C# …………………………………………………………………………………………….. 24
3.1.4 P LATFORMA .NET ………………………………………………………………………………………………………………. 26
3.1.5 C ONCLUZII …………………………………………………………………………………………………………………………. 27
3.2 T EHNOLOGII PENTRU DEZVOLTAREA SITE -ULUI WEB RACE ………………………………………………………. . 28
3.2.1 P ROGRAMUL NOTEPAD ++ ……………………………………………………………………………………………………. 29
3.2.2 L IMBAJUL HTML ……………………………………………………………………………………………………………….. 29
3.2.3 L IMBAJUL JAVASCRIPT ………………………………………………………………………………………………………… 31
3.2.4 L IMBAJUL J QUERY ………………………………………………………………………………………………………………. 33
3.2.5 L IMBAJUL CSS …………………………………………………………………………………………………………………… 34
3.2.6 URL ………………………………………………………………………………………………………………………………….. 35
3.2.7 B OOTSTRAP ……………………………………………………………………………………………………………………….. 36
3.2.8 C ONCLUZII …………………………………………………………………………………………………………………………. 37
4 CAPITOLUL 4 . PREZENTAREA APLICAȚI EI ……………………………………………………………………… 38
4.1 P REZENTAREA GENERALĂ …………………………………………………………………………………………………….. 38

xi
4.2 J OCUL VIDEO RACE ……………………………………………………………………………………………………………… 39
4.2.1 A RHITECTURA APLICAȚIE I ……………………………………………………………………………………………………. 39
4.2.1 D ESCRIEREA JOCULUI ………………………………………………………………………………………………………….. 40
4.2.1 M AȘINA …………………………………………………………………………………………………………………………….. 47
4.2.2 M EDIUL VIRTUAL ……………………………………………………………………………………………………………….. . 48
4.2.3 C ONCLUZII …………………………………………………………………………………………………………………………. 49
4.2.4 P OSIBILITĂȚI DE DEZVO LTARE ………………………………………………………………………………………………. 50
4.3 P LATFORMĂ ONLINE DE PREZENTARE A DEZVOLTĂ RII JOCULUI RACE …………………………………………. 50
4.3.1 P AGINA DE ÎNCEPUT …………………………………………………………………………………………………………….. 51
4.3.2 P AGINA DESPRE ………………………………………………………………………………………………………………….. 53
4.3.3 P AGINA DE ETAPE ……………………………………………………………………………………………………………….. 54
4.3.4 P AGINA DE REFERINȚE …………………………………………………………………………………………………………. 55
4.3.5 P AGINA DE PAȘI ………………………………………………………………………………………………………………….. 56
4.3.6 P AGINA DE GALERIE …………………………………………………………………………………………………………….. 56
4.3.7 P AGINA DE ÎNTREBĂRI …………………………………………………………………………………………………………. 57
4.3.8 P AGINA DE SPONSORI …………………………………………………………………………………………………………… 57
4.3.9 S FÂRȘITUL SITE -ULUI WEB ……………………………………………………………………………………………………. 58
4.3.10 CONCLUZII …………………………………………………………………………………………………………………………. 58
4.3.11 P OSIBILITĂȚI DE DEZVO LTARE ………………………………………………………………………………………………. 59
5 CONCLUZII FINALE ……………………………………………………………………………………………………………… 60
6 BIBLIOGRAFIE ………………………………………………………………………………………………………………………. 61
7 REFERINȚE WEB …………………………………………………………………………………………………………………… 62

1
1 CAPITOLUL 1 . INTRODUCERE
1.1 Scopul
Acest joc Race de curse cu mașini a fost creat cu scopul de a atrage persoanele cărora le plac
provocările întrucât jocul presupune ca jucătorii să aibă îndemânare, abilit ate, să fie competitivi și să
atingă un scop, ș i anume terminarea cursei. Acesta joc dispune de 3 moduri de joc : Race Mode, Time
Attack, Score Attack și Race se termină când playerul parcurge numărul specificat
de ture. Jocul disp une de o grafică 3D uimitoare vizual și fizică realistă.
Iar scopul site- ului este ca persoanele interesate de jocuri să își creeze propriul joc video. În acest site
web am pus un logo, un video în care prezint jocul și îl testez, o scurtă descriere a jocului, pașii în
funcție de care am creat jocul, câteva referințe vizuale și câteva întrebări refe ritoare la motorul grafic
Unity și la jocul Race.
1.2 Motivația
Am ales această temă de creare a unui joc de curse cu mașini pentru că jocurile sunt pentru mine o
parte interesantă și creativă, prin care mă pot transpune într -o altă lume, cea a copilăriei . Totodată
prin acest joc putem învăța cum să conducem virtual pe un teren, testându -ne abilitățile de
îndemânare, printre obstacole, colectând puncte și contra timp. Consider următorul lucru că joaca este
calea naturală prin care oamenii învață și se recreează în același timp.
Totodată am ales să fac și un site web despre creearea acestui joc deoarece vreau să învăț alte
persoane doritoare cum se creează jocul Race. În momentul de față, este foarte bine ști ut că un rol
destul de important în dezvoltarea unui joc o are prezența pe web. Site -ul web este un instrument al
publicității în cazul jocurilor, cu ajutorul căruia se poate lucra și câștiga în același tim p sau învăța cum
se creează jocul respectiv.

2
1.3 Introducere în jocurile video
Un joc video este un joc electronic care presupune să se interacționeaze cu o interf ață grafică pentru a
genera răspuns vizual pe un ecran. În general jocurile video dispun de un sistem de recompensare a
utilizatorului, de obicei se ține scorul, acest sistem depinzând de îndeplinirea un or anumite obiective
în joc. În anul 2008, piața mondială a jocurilor video a înregistrat o valoare de 41,9 miliar de de dolari
iar în 2011 a ajuns la 56 miliarde dolari. În anul 2015, piața a estimată creașterea la 82 miliarde dolari.
Indiferent de platforma pentru care sunt concepute (PC, Android, consolă), de tipul și d e durata lor,
jocurile video au fost încă din anii 1950 una din cele mai utilizate activități , realizate în scopuri de
relaxare, dar în anii 1970 au atins popularitate la scară largă și până în prezent, să const ruiască în jurul
lor una ditre industriile de top ale economiei mondiale cum sugerează figura 3.

Fig. 3 Industria jocurilor și impactul pe care îl are la nivel global

Jocurile video sunt alese de sute de milioane de oameni din toată lumea ca modalitate de petrecere a
timpului liber, cum sugerează figura 1. Influența pe care o au jocurile asupra oam enilor care le
utilizează diferă în funcție de mediul din care face parte persoana respectivă, de exi stența diverselor
afecțiuni, cât și de jocul în sine, genul și caracteristicile lui. O treime din românii care folosesc
internetul sunt cu vârste cuprinse între 16 și 74 de ani și joacă online sau descarcă jocuri video de pe
net. Industria jocurilor video se află într -o continuă dezvoltare și ajunge la câștiguri de zeci de
miliarde de dolari în fiecare an cum este exemplificat în figura 2.

3

Influențată de tendințele pieț ei pe care vi le-am prezentat anterior, îmi propun crearea unei astfel de
aplicații pentru platformele PC și Mac prin intermediul acestei lucrări. Apli cația, inspirată dintr -o
serie de jocuri video populare, se încadrează în categoria strategie, de curse cu mașini și oferă
posibilitatea utilizatorilor de aș testa îndemânarea atât împotriva unei mașini controlate de calculator,
cât și contra timpului. Acest joc presupune și un mod de colectare de puncte. Accentul es te pus pe
oferirea unei experiențe de joc bogată și intuitivă.
Pentru a ajuta orice persoană care dorește să creeze un joc video am realizat un site web în care am
detaliat toți pașii cu ajutorul cărora am creat jocul meu video numit Ra ce. În acest site am pus câteva
referințe vizuale din joc, o scurtă descriere a lui, un video prin care prezint jocul , câteva întrebări
uzuale despre motorul grafic de dezvoltare al jocului și despre joc, un log o și câteva detalii despre
creatoarea jocului.
Fiecare dintre platformele pe care sunt dezvoltate jocurile video are un rol im portant în dezvoltarea
acestora, dar ne axăm pe dispozitivele PC și pe MAC, a căror ramură a cunoscut în ul timii ani o
expansiune extrordinară.
Pe langă numărul mare de dispozitive și diversitatea categoriilor de jocuri disponibi le, această
explozie se datorează și avantajelor pe care această industrie le are asupra celorlalte platforme
(industria jocurilor pentru android sau pentru console), atât din punct de vedere al ut ilizatorului final,
cât și din punct de vedere al dezvoltatorilor de jocuri.
 pentru acest tip de aplicații uneltele de dezvoltare sunt în număr mare ;
 existența unui număr impresionant de programe care pot acoperii orice nevoie profesională s au
personală;
 capacitațile consumatorului de hard disk depașesc deja mulți TB (terabyte) și continua să crească în
dimensiune, iar componentele lor pot fi modificate;
 calculatoarele și laptop -urile pot rula software mai puternic decât un smartphone sau o tabletă
datorită dimensiunii, componentelor și cerințelor de putere mai pu țin restrictive.

4
Astfel jocurile sunt printre cele mai descărcate și mai folosite aplicații pe platforma computer.
Totodată, un studiu realizat de compania americană Nielsen3 relevă faptul că 93% dintre utili zatori ar
fi dispuși să plătească pentru achiziționarea unei aplicații de tip joc, cum sugerează figura 4.

În Capitolul 1 sunt prezentat e scopul, motivația jocului și site -ului web, de asemenea și o introducere
în jocurile video.
În Capitolul 2 este prezentat pe scurt mediul de dezvoltare PC și M AC, sunt prezentate cele mai
populare jocuri publicate sub această platformă, sunt identificate și analizate soluțiile existent e, de
altfel este prezentat jocul Race și site -ul web, o scurtă istorie a jocului, obiectivele jocului și ale site-
ului web, de asemenea obiectivele și câteva concluzii.
În capitolul 3 sunt prezentate tehnologiile folosite pentru atingerea obiectivului acestei lucrări. Printre
tehnologii se numără sistemul de operare Windows, platforma de dezvoltare Unity, limbajul de
programare C#, platforma .NET pentru jocul video Race, iar pentru platfor ma online de prezentare a
dezvoltării jocului video Race se numără programul Notepad++, limbajul HTML, limbajul JavaScript,
limbajul JQuery, limbajul CSS, Url-ul și Bootstrap . Apoi sunt prezentate concluziile atât pentru jocul
video cât și pentru site -ul web.
În capitolul 4 sunt descri se în detaliu toate funcționalitățile aplicației și metodele folosite pentru
implementarea acestora. La început este o prezentare, apoi pentru jocul video este pr ezent ată și
schițată arhitectura aplicației, apoi descrierea jocului și analiza mașin ii care reprezintă jucătorul în
acest joc, de asemenea mediul virtual, iar la final sunt puse concluziile și posibilități de dezvoltare.
Pentru site-ul web este descrisă fiecar e pagină a acestuia, după acestea se află concluziile și
posibilitățile de dezvoltare.
În capitolul 5 se sunt câteva concluzii referitoare la internet, tehnologie, dezvoltarea jocului și a site –
ului web.

5
2 CAPITOLUL 2 . PLATFORMA DE DEZVOLTARE

Mecanismul de calcul cel mai vechi cunoscut care se pare că putea funcționa ca o mașină de calculat
se consideră a fi mecanismul din Antikythira, datând din anul 87 î.e.n. era folosit aparent pentru a
calcula mișcăril e planetelor. Tehnologia la baza acestui mecanism nu este cunoscută.
În prima jumătate a secolului al XX-lea, calculatoare le analoage satisfăceau nevoile de calcul ale
comunității științifice, foarte specializate și din ce în ce mai sofist icate. Perfecționarea electronicii
digitale (datorată lui Claude Shannon în anii 1930) a condus la abandonarea calculatoarelor analogice
în favoarea celor digitale , care modelează problemele în biți (numere) în loc de semnale electrice sau
mecanice.
Jocurile de computer sunt o categorie de aplicații software care este destinată distracției. De la apariția
acestora, în lumea computerelor, în anii 1970 , până astăzi, industria a evoluat, astfel că putem vorbi cu
ușurință de multe evenimente de prezentare a jocurilor, cum sunt E3 sau CeBit la nivel mondial
sau CERF în România , precum și de câteva organizații de jucători profesioniști.
PC înse amnă Personal Computer. Iniț ial PC-urile purtau denumirea de IBM PC , fiind calculatoare
dezvoltate și create de către compania americană IBM, iar termenul de Personal Computer era o
marcă a acestei companii. Pe 12 august 2021 se vor împlinii 40 de ani de la lansare a pe piață a
primului PC.
PC-ul este calculatorul care poate fi utilizat acasă, la birou, la școală și apr oape peste tot. Printre
avantajele care fac din PC-uri ce le mai răspândite calculatoare sunt : prețul de achiziție accesibil
oricărui tip de buget și existența unui număr impresionant de programe care pot acoper ii orice nevoie
profesională sau personală.
Calculatoare Apple sau Macintosh ( „Mac”) sunt calculatoare de uz personal dar nu sunt PC-uri.
Acestea sunt produse în exclusivitate de către firma americană Apple Computer și până nu de mult au
folosit hardware și incompatibil cu PC -urile. Începand cu anul 2006, strategia companiei a fost accea
de a se adopta o platforma hardware asemănătoare cu PC-urile dar sistemul de opeare proprietar al
companiei – MAC OS – a rămas (oficial) în continuare destinat în exclusivitate doar calculatoarelor
Apple.
Calculatoarele Apple se remarcă printr -un design ergonomic și non -conformist. Deoarece prețul
sensibil este mai mare decât al unui PC, MAC-urile s e găsesc în număr mai mic în Europa. În țări
precum Japonia sau S.U.A, Mac-urile sunt calculatoare comune cu o cot ă de pia ță de aproximativ 1/3.

6
2.1 Aplicații populare
Jocurile sunt cele mai căutate aplicații ale momentului, cu titluri le care numără zeci de milioane de
descărcări . Voi prezenta în continuare pe scurt câteva dintre cele mai populare titluri de jocu ri
printre utilizatorii de PC-uri și MAC din care m-am inspirat la creearea jocului meu.
 Car Multiplayer
Car Multiplayer este un simulator de conducere 3D surprinzător de realist , Fig. 5. Acesta vă
oferă o varietate uriașă de vehicule pentru a conduce și a explora liber un oraș detal iat, plin de
mișcare și secrete.
Jocul intuitiv din Multiplayer Car Parking este extrem de similar cu aproape orice alt joc de
conducere. Acest lucru înseamnă că practic orice utilizator se poate bucura să -l joace. Puteți
controla viteza vehiculului prin atingerea pedalelor găsite în partea dreaptă a ec ranului, în timp
ce ut ilizați pictograma volanului pentru a controla direcția , Fig. 6. Multiplayer-ul de parcare
auto oferă, de asemenea, tone de funcții suplimentare atunci când vine vorba de simularea
conducerii pentru a vă cufunda complet în experiență. Printre aceste caracteristici veți găsi
posibilitatea de a aprinde luminile de ceață, de a utiliza semnalele de întoarcere și chiar de a
folosi lumini de pericol.
Una dintre cele mai interesante caracteristici în Car Parking Multiplayer este includerea per fectă
a unui sistem d e parcare care va simula experiența de parcare în viața reală în cel mai re alist
mod posibil.
Parcare Multiplayer oferă, de asemenea, un sistem complet multiplayer care vă va permi te să
interacționați în timp real, atât cu prietenii, cât și cu jucători din întreaga lume.

 Midnight Club II
Acesta e ste continuarea jocului Midnight Club, publicat pentru PlayStation 2, Xbox și PC.
Jucătorii pot face curse prin orașele Los Angeles, Paris , repectiv Tokyo, Fig. 8. În acest joc, se
pot observa in orașele în care jucătorul face curse și monumente și clădiri cunoscute , de

7
exemplu în Los Angeles se observ ă indicația Hollywood -ului, Capital Records Tower și Los
Angeles River. La fel și cu orașul Paris unde se pot observa câteva monumente cunoscute al
acestu ia, Turnul Eiffel, Arcul de Triumf și catedrala Notre Dame. Tokyo este un or aș cu alei
înguste, de asemenea are Sala Tokyo City, Turnul Tokyo și Templul Asakusa Kannon.
Vehiculele din acest joc, sunt asemănătoare cu cele din lumea reală, cum ar fi Je rsey XS, care
seamănă cu Dodge Viper,de asemenea Victory, care este asemănătoare unui Aston Martin
Vanquish, și Veloci, care este asemănătoare unui Saleen S7. Actualul Saleen S7 a fo st folosit
în Midnight Club 3 ca o mașină existentă , Fig.7.

Fig. 7 Vehicule din jo c Fig. 8 Referință descriptivă din joc

 Need For Speed: Rivals (2013)
Need for Speed Rivals este un joc open-world și este distribuit de Criterion Games, de asemenea
de Ghost Games, fiind ca număr al 12-lea joc din seria Need for Speed. Jocul a fost lansat
pentru Windows, XBOX 360, PlayStation 3 pe 19 noiembrie 2013, de asemenea pentru XBOX
One și PlayStation 4 pe aceeași dată, Fig. 9.
Jucătorul ia rolul unui șofer de curse sau polițist, fiecare având un mod de joc diferit. Rivals
oferă 11 mecanisme care pot fi î mbun ătățite cum ar fi laser EMP, fulgere, țepi, și abilitatea de a
cere o blocare de șosea. Jocul se desfășoară într- o locație ficțională numită Redview County,
Fig. 10. Mecanismul open- world este același ca în Need for Speed Most Wanted (2012) , cu
unele sărituri, radare de viteză, și mașini deblocabile, cât și scurtături care nu apar pe hartă. De
asemenea, jocul are progresie de carieră și pentru sofer de curse, dar și pentru poliți st. Odată
terminată o misiune, deblochezi noi oportunități.
Este dovedit faptul că Rivals a luat câteva elemente de gameplay din vechiul "Need for speed
Underground". Need for Speed Rivals a avut recepție pozitiva după lansare, criticii fiind uimiți
de grafica vizuală, controlul mașinilor și sistemul online.

8

Fig. 9 Imaginea de început a jocu lui Fig. 10 Imagine din timpul jocului

 Asphalt 9: Legends
Acesta este un joc video de curse dezvoltat de Gameloft Barcelona și publicat de Gameloft.
Lansat pe 25 iulie 2018, este a noua versiune principală din seria Asfalt. În comparați e cu
intrările anterioare, există mai multe caracteristici noi și îmbunătățite, cum ar fi o linie de
mașină de prestigiu, noi scheme de control, inclusiv modul de pilotare automată num it Touch
Drive și moduri de cursă, precum și „ nitro- unda de șoc” reimplementată de la Asphalt 6:
Adrenalină.
În prezent, există 93 de mașini începând cu luna mai 2020 , Fig. 11. Ca și varianta anterioară de
joc, fiecare dintre mașini aparține progresiv unei clase cu performanțe și rarit ate mai ridicate: D,
C, B, A și S. Jucătorul începe cu o mașină din clasa cea mai joasă (Clasa D), Mitsubishi Lancer
Evolution X. Toate mașinile din joc necesită acum „planuri ” pentru deblocare, fiecare dintre ele
având de la 3 la 6 stele. Pentru fiecare stea nouă, capacitatea de performanță a mașinii es te
crescută. Fiecare mașină poate fi personalizată, de asemenea, cu noua funcție de editor auto. D e
asemenea, noutățile din seria sunt „ cluburile ”, unde până la 20 de jucători pot înscrie în
colaborare „puncte de reputație” pentru a obține recompense. Cu cât reputația punctează mai
mult clubul, se obțin recompense mai bune, de la credite până la planuri pentru mașini.
Jocul are, de asemenea, „unda de șoc nitro”, revenind de la Asfalt 6: Adrenalină și Asfalt 7:
Căldură. Pe platformele mobile, Asphalt 9 are trei scheme de control: Tilt to Stee r, Tap to Steer
și noul "Touch Drive" în care jucătorul selectează rutele și cascadori prin gl isarea la stânga și la
dreapta. Pe dispozitivele Windows 10, Touch Drive și controale manuale se pot utiliza cu
tastatura. În joc, există trei moduri de joc: Carieră, Multiplayer și Evenimente. În modul de
carieră, jucătorul completează „ capitole ” cu un singur jucător care constă în mai multe serii de
curse care se concentrează asupra unei anumite clase de mașini sau producător. În Multip layer,
jucătorul concurează în timp real cu alți jucători online. În Evenimente, jucă torul participă la o

9
competiție zilnică sau săptămânală pentru a bate vremurile altor jucători sa u a câștiga alte
articole, Fig. 12.

Fig. 11 Mașinile din joc Fig. 12 Imagine din timpul jocului

 School Driving 3D
School Driving 3D este un joc interesant în care puteți învăța regulile rutiere și puteți dovedi că
puteți conduce o mașină într -un mod real , mediul mondial, Fig. 13. School Driving 3D este un
simulator realist care vă permite să alegeți între diferite mașini, autobuze și camioane . Peste 40
de niveluri cu diferite scenarii de conducere sunt incluse în jocul video . În acest joc se pot
exlora abilitățile de conducere, iar jucătorul va juca ca șoferul școlii 3D , Fig. 14 . Acest joc
are o dimensiune de 47,42 MB , a fost dezvoltat de Ovilex Soft și publicat în data de 26.02.2015.

Analizând cele cinci exemple descrise mai sus observăm că indiferent că este vorba des pre un joc
strategic, de curse cu mașini, există anumite puncte comune care fac dintr- o astfel de aplicație un
succes în rândul utilizatorilor. Tendința nu este de a dezvolta jocuri cât mai complexe pentru
platformele pe computer, ci pornind de la un concept simplu, dar ingenios, să se contruiască o
aplicație care să respecte câteva p rincipii:

10
 să fie intuitiv, natural, de asemenea original din punct de vedere al e xperienței de joc și al
modului de interacțiune cu dispozitivul;
 să dispună de o gamă diversificată de mașini atractive cu efecte sonore și vi zuale
specifice;
 să ofere o gamă largă de variante din care utilizatorul să alegă în timpul jocul ui : mașini,
trasee, mod de joc;
 întrucât memoria dispozitivelor permite, se poate descărca sau juca online aproape orice
joc în funcție de memoria fiecărui dispozitiv;
 să ofere posibilitatea ca jucătorul să poată exersa abilitățile de condus rapid și de
îndemânare.

2.2 Jocul video RACE
Printre numeroasele jocuri existente pentru platforma computer, regăsim multe titl uri care continuă o
îndelungată și celebră serie de jocuri video pentru calc ulatoare personale, anume seria jocurilor de
curse cu mașini.
Jocul video Race a fost realizat cu ajutorul unui motor grafic : Unity, la care studenții au acces gratuit.
Din Asset Store am importat obiecte texturate, fără costuri.
Acest joc este recomandat atât copiilor cât și adulților. Fiind un joc cu mașini, pentru a oferi
jucătorului un plus de suspans, pe traseu acesta întâlnește diferite obstacole. Acest joc video este un
joc dinamic, antrenant și amuzant, un adevărat raliu. Race este un joc de curse foarte captivant,
extreme de realist și detaliat, care îți pune la dispoziție o patru mașini sport. Acesta reprezintă o
provocare ce îți testează abilitățile de conducere rapidă și simțul orientării .

2.3 Scurt istoric al jocului
Am ales să realizez un joc vi deo 3D – curse cu mașini. Jocul este de acțiune și poate fi jucat în modul
singleplayer împotriva calculatorului. Ideea de la care a plecat acest joc a apărut inspirându -mă d in
numerosele jocuri de curse cu mașini pe care le -am jucat și le -am considerat extraordinar de bune. Îmi
plac foarte mult mașinile, de aceea am ales ca să creez jocul meu video cu mașini de cu rse. Scopul
meu este să fac cât mai mulți oameni să pătrundă în lumea jocuril or, să îndrăgească jocul meu
captivându-i și chiar să își exerseze abilitățile de conducere în mediul virtual .

11
Jocul video Race este creat cu ajutorul unui motor grafic : Unity, la car e oricine are acces gratuit.
Unity fiind un motor grafic este creat de Unity Technologies și folosit pentru dezvoltarea jocurilor
video pentru calculator, console, telefoane.

2.4 Descrierea jocului
Genul jocului Race este de acțiune. Acest joc este unul de îndemanare care stimulează abilitățile
jucătorului, jocul este o activitate recreațională în care este implicat un jucător, care trebuie să atingă
un scop și anume să termine cursa. Jucătorul dispune de 2 hărți, una pe timp de zi, Fig. 15, una pe
timp de noapte și trei mașini deblocate, a patra mașină putând fi obținută cu rec ompensele acumulate
după finalizarea unei curse în modul Score Attack. Jocul Race dispune de 3 moduri de joc : Race
Mode este modul de joc în care mașina jucătorului se întrece cu o mașină controlată de calculator ,
aceasta urmând diferite waypoints pentru a se deplasa pe hartă , Time Attack fiind modul în care cursa
este cronometrată, se înregistrează timpul pentru o tură și cel mai bun ti mp în care poate fi parcursă o
tură, acesta fiind actualizat dupa fiecare finish doar daca timpul nou este m ai scurt ca durat ă decat cel
anterior, Score Attack este modul în care mașina coltrolată de jucător va putea colecta diferite cuburi
de punctaje diferite, dacă acesta va colecta 100 de puncte, va putea debloca mașina al bastră , de
asemenea dispune și de posibilitatea jucătorului de a schimba unghiul din care să vadă mașina și
terenul de joc prin apăsarea tastei C : din fața mașinii, din spatele mașinii, de asemenea de departe din
spatele mașinii . La început, jocul dispune de o animație cu numărătoarea inversă, Fig. 1 6.

Fig. 15 Traseul din joc pet imp de zi Fig. 16 Animația de la începutul jocului

Jocul Race este format din mai multe scene (Scenes): RaceArea01, respectiv RaceArea0 2 (circuitele),
SplashScreen (pentru a indica utilizatorului ca jocul este in curs de incarcare), M ainMenu (meniul de
unde jucatorul poate apasa Play), TrackSelect (meniul de unde jucatorul va selecta masi na dorita,
harta si respectiv modul de joc) și nu în ultimul rând, Credits (aici vor fi afi șați developerii / sursele
materialelor), Fig. 17.

12

Fig. 17 Poză cu Meniul jocului, Secțiunea de alegere, circu itul de zi și creditele

În joc am creat un environment, adică un teren creeat după peisajul montan care are: câțiva munți,
copaci, flori, stânci, case și un traseu în jurul munților. Acest joc presupune îndepl inirea sarcinilor
care depind de modul de joc ales de către jucător, colectarea punctelor, parcurgerea tur ei într -un timp
cât mai scurt sau întrecer ea cu mașina controlată de calculator. Mașina nu poate depășii traseul pentru
că acesta este prevăzut cu bariere invizibile , cum este prezentat în figura 18 , iar în colțul din dreapta al
jocului va fi prezentă o minimapă în care este urmărită mașina, Fig. 19. Mașinile care pot fi alese sunt
de culoare : roșie, albastră, roz și verde, iar mașina albastră este blocată până î n momentul în care
jucătorul colectează un anumit punctaj în modul de joc ScoreAttack. Jocul dispune de două cir cuite,
unul pe timp de zi și unul pe timp de noapte când mașina va avea farurile aprinse, Fig. 20. Race se
termină când playerul parcurge numărul specificat de ture. Jocul dispune de o grafică 3D uimitoare
vizual și fizică realistă.

Fig. 18 Barierele invizib ile care delimitează traseul Fig.19 Minimap

13

Fig. 20 Circuitul de noapte

La început va trebui sa iți alegi o mașină, care îți va plăcea mai mult, un circuit pe care se va desfășura
cursa și modul de joc, după aceea va începe cursa.
În jocul video mașina poate fi controlată de la tastatură prin apăsarea săgeț ii de înainte ca mașina să
meargă în față, săgeții de înapoi pentru ca mașina să meargă înapoi, săgeții de stânga ca mași na
să meargă spre stânga, a săgeții de dreapta ca mașina să meargă în dreapta și prin apăsarea tastei C
pentru ca jucătorul să vadă mașina din unul din cele trei unghiuri, după cum sugerează Fig. 21.

Fig. 21 Tastele de control ale mașinii

2.5 Versiunile pentru platformele PC și MAC
Prin colaborări cu experți de nivel mondial în domeniul software și hardware, platform ele PC și MAC
se află într -o continuă dezvoltare în încercarea de a oferi atât utilizatorilor, cât și dezvoltatorilor,
performanțe din ce în ce mai ridicate și noi capabilități funcționale.
Ținând cont de faptul că industria jocurilor video și -a îndreptat mult atenția în ultimii ani asupra
platformelor PC și MAC, era aproape inevitabil ca o serie atât de populară cum sunt cursele cu mașini
să nu fie explorată la nivelul dispozitivelor PC și MAC, mai ales datorită memo riei cât mai mari pe
parcursul evoluției tehnologiei .
Modul de joc RaceMode este modul cel mai captivan t deoarece jucătorul se întrece într -o cursă pe
timp cu o mașină controlată de calculator (Fig. 22) care se deplasea ză pe traseu urmărind niște
waypoint s. Cursa poate fi câștigată la parcurgerea a două ture de traseu, iar la fina lul cursei o cameră
se va roti în jurul mașinii pentru a o prezenta și se va auzi muzica de sfârșit , Fig. 23.

14

Fig. 22 Modul Race cu cele două mașini Fig. 23 Finalul cursei când se rotește
camera în jurul mașinii

TimeAttack este modul în care cursa este cronometrată, iar jucătorul trebuie să parcurg ă traseul de
două ori pe timp, se înregistrează timpul pentru o tură și cel mai bun timp în care poate fi parcursă o
tură, acesta fiind actualizat dupa fiecare finish doar daca timpul nou este mai scurt decat cel anterior.
Pentru ca timpul să fie afișat și salvat, am creat un canvas în care am pus două panel -uri unul pentr u
numărul de ture, de asemenea celălalt pentru timp și cel mai bun timp , Fig. 24.

Fig. 24 Modul de joc TimeAttack

ScoreAttack este modul de joc în care există niște recompense , acestea sunt cuburi de diferite culori și
punctaj diferit, pe care jucătorul trebuie să le colecteze pentru obținerea unui scor cât mai mare (Fig.
25), de asemenea și pentru deblocarea mașinii de culoare albastră.

Fig. 25 Modul ScoreAttack

Toate aceste plusuri ale versiunii jocului vor impresiona atât jucător ii acestuia, cât ș i criticii din
domeniu, ambele categorii având de spus doar lucruri pozitive la adresa aplicației.

15
Piața platformelor de dezvoltare a jocurilor se bucură de o creștere imensă , punând la dispoziție o
paletă vastă de opțiuni. Opțiuni le sunt foarte accesibile în momentul de față, întruc ât oricine are o idee
și suficientă motivație poate începe crearea unui joc chiar de acasă . Cele mai folosite platforme de
dezvoltare a jocurilor video sunt Unreal Engine, Unity, RPG Maker VX Ace, a cestea au ajuns într-un
punct atât de avansat, încât pentru elaborarea unui joc mediu nici nu sunt necesar e prea multe
cunoștințe de programare. Totuși , trebuie menționat că toate platformele , pe lângă documentația de
bază, este susținută și de câte un grup mare alcătuit din pasionați . Iar în cazul în care un dezvoltator de
jocuri, indiferent de nivelul lui de experiență, se confruntă cu o problemă pe care nu o poate rezolva
singur, are șanse foarte mari de aș găsi întrebarea pusă deja pe forumurile comunităților. De
asemenea, în cazul în care nu a mai întrebat nimeni înaintea lui, cu siguranță îi va răspunde cineva
care s- a confruntat cu o situație asemănătoare și va fi gata să îl îndrume în rezolvarea problemei
întâmpinate.
Pentru un utilizator care vede pentru prima dat ă acest joc este foarte importantă înțelegerea gameplay –
ului și a modului de funcționare al mașinii . De aceea site-ul w eb, denumit după joc, de îndrumare a
utilizatorului este extrem de binevenit , atât pentru ca jucătorul să poată juca acest joc cât și să îl poată
crea.

2.6 Descrierea Platformei online de dezvoltare a jocului video Race

Platforma online de dezvoltare a jocului video Race (Fig. 26) este creată pentru a ajut a utilizatorii să
înțeleagă modul de funcționare al jocului și să ajute doritorii să -și creeze pro priul joc de curse cu
mașini. Acest site are un design plăcut vizual și este ușor de folosit, astfe l utilizatorii nu necesită
cunoașterea unor limbaje specifice site -ului (HTML, CSS, JavaScript) pentru a-l folosii, iar în crearea
jocului de asemenea cei ca re doresc să dezvolte jocul de curse nu trebuie să aibă cunoștințe prea multe
de programare în limbajul C#, întrucât urmărind pașii specificați de mine consider că aceștia nu vor
avea probleme în dezvoltarea jocului.

16

Fig. 26 Pagina de început a site-ului web

Site-ul web pe care l-am dezvoltat are 7 pagini interne :
 Acasă care este pagina de început și conține banner -ul cu butoanele pentru paginile următoare,
un logo specific curselor, titlul site- ului și un buton de play care ne va trimite pe youtube un de
am încărcat o prezentare video a jocului care ulterior va porni;
 Despre, aceast ă pagină prezintă o descriere a jocului și are o poză cu jocuri variate în spate
pentru a-i da un pus vizual interesant;
 Etape în această pagină sunt denumite etapele dezvoltării jocului și sunt însoți te de o poză
reprezentativă, iar apăsând pe denumirea unei etape se va deschide o pagină externă cu toat e
specificațiile necesare pentru a creea etapa de joc ; (Fig.27)
 Referințe, această pagină conține o descrere scurtă a jocului și ilustrații reprezentative din joc,
prin apăsarea uneia dintre poze se va deschide poza respective la dimensiunea normală;
 Pașii, pagina aceasta dispune de pașii în care se poate creea jocul organizați pe z ile (3 zile) și
timpul necesar îndeplinirii fie căruia;
 Galeria, în această pagină este un carusel cu poze din joc, acesta face ca imaginile să se schimbe
automat, deși se pot schimba și manual;
 Sponsori, aceasta conține două logo -uri pentru dezvoltatoarea jocului și persoana care a ajutat
cu anumite detalii.
De asemenea acest site dispune și de un footer în care este o scurtă descriere a jocul ui cu logo -ul,
câteva link- uri folositoare (Acasă, Despre mine, Termenii și condițiile) și un contact cu detal iile cu
ajutorul cărora utilizatorii mă pot contacta pentru lămuriri sau pentru mulțumiri.

17

Fig. 27 Pagina de etape pentru crearea jocului

2.7 Obiective
Pornind de la conceptul care stă în spatele jocurilor video de curse cu mașini, această lu crare își
propune abordarea dezvoltării unui joc pentru platforma PC și MAC, care să păs treze, pe cât este
posibil, caracteristicile specifice curselor de mașini. Accentul se va pune pe implementarea unui
algoritm de inteligență artificială robust care să reprezinte o provocare pentru jucători.
Jocul Race este implementat pentru sistemul de operare Windows, are la bază motorul de joc Unity
care este o platform educațională și limbajul de programare C#.
Obiectivul jocului Race este câștigarea cursei, parcurgând două ture de traseu indi ferent de modul de
joc, întrecerea cu mașina controlată de calculator, colectarea punctelor de pe traseu, astfel deb locând
mașina albastră cu 100 de puncte acumulate sau parcurgerea traseului într -un timp cât mai scurt.
Obiectivul site- ului web este de a învăța doritorii să creeze propriul joc video de curse cu mașin i
parcurgând pașii specificați, înțelegând conceptul acestui joc video.

2.8 Concluzii
Piața platformelor pentru PC și MAC și-a îndreptat atenția în ultimii ani asupra dezvoltării de jocuri
video. Au apărut ca rezultat jocuri ca „Need For Speed ” sau „Asphalt9 ” care au fost achiziționate pe
zeci de milioane de dispozitive din întreaga lume.

18
Influențată de tendința pieței jocurilor video care se află într -o continuă dezvoltare și de conceptul din
spatele seriei de curse cu mașini, am decis să îmi îndrept atenția către impl ementarea unui joc
asemănător celor mai sus menționate având ca țintă sistemul de operare Windows.
În multitudinea de jocuri existente, jocul creat întrunește caracteristicile unei rețete de curse cu
mașini , Fig. 28. N oul joc are parte, pe lângă elementele definitorii seriei, de o grafică impresi onantă și
fizică realistă . Este vorba de versiunea pentru PC și MAC a jocului numit „Race ”.

Fig. 28 Jocul Race cu o grafică impresionantă

Pentru înțelegerea mai bună a jocului am creat un site web cu același nume “ Race ” în care am
explicat etapele creerii jocului video , am pus câteva referințe vizuale, câteva întrebări frecvente și o
prezentare a acestuia sub forma unui clip video.

19
3 CAPITOLUL 3. TEHNOLOGII FOLOSITE

3.1 Tehnologii pentru dezvoltarea jocului video Race
Crearea jocurilor presupune un proces complex care poate dura de la câteva zile la câțiv a ani și poate
implica de la un singur dezvoltator până la o companie întreagă. Câteva etape prin cipale ale acest ui
proces sunt: găsirea unui concept de bază, producția, crearea nivelelor și a resurs elor grafice/audio și
testarea jocului.
Fie că este vorba de spre un joc creat de o companie din acest domeniu sau de un dezvoltator
independent, în dezvoltarea unor astf el de aplicații intervin numeroase unelte și tehnologii care ajută
și facilitează procesul. Cele mai folosite unelte software sunt : motoarele de joc (Unity, AndEngine,
etc.), motoarele de fizică (Box3D, Bullet, Phyz, etc.), convertoarele de r esurse sau editoarele de
nivele.
Pentru dezvoltarea jocului „Race ” au fost folosite ur mătoarele unelte și tehnologii:
 sistemul de operare Windows
 motorul de joc Unity
 limbajul de programare C#
 platforma .NET

3.1.1 Sistemul de operare Windows
Windows-ul este un sistem de operare multitasking, ce înseamnă că permite în același timp execuția
mai multor programe, acesta a devenit cel mai folosit sistem de operare. Acesta pune la dispoziția
utilizatorului o interfață grafică prietenoasă, GUI (Graphical User Int erface) bazată pe ferestre.
Utilizând sistemul Windows se pot constata caracteristicile de interfață comune tuturo r programelor
Windows:

• tot ceea ce afișează un program Windows pe ecran este cuprins în spațiul ferestrei sal e (zona
dreptunghiulară de pe ecran și identificată printr -o bară de titlu) pe care o poate deplasa și
redimensiona;
• majorilatea aplicațiilor prezintă o interfață atât cu tastatură, cât și cu mouse;
• schimbarea datelor se realizează între programe;

20
• utilizatorul interacționează cu un program Windows prin intermediul unor obiecte grafice
afișate pe suprafața ferestrei aplicației : meniuri, butoane de comandă și de opțiune, cursoar e,
căsuțe de opțiune, bare de defilare, etc.;
• pot lucra simultan o multitudine de programe.

Sistemul Windows e xecută următoarele funcții :
– se pot gestiona fișierel e;
– se poate efectua mutarea, copierea și ștergerea dosarelor și fișierelor care există pe calculator , se pot
afișa liste cu ele;
– folosind pictogramele și meniurile se pot lansa aplicațiil e cu ușurință;
– în sistem se detect ează erorile.

Prin intermediul interfeței grafice, sistemul Windows a fost proiectat să sim uleze obiectele și
activitățile unui serviciu de birou din realitatea curentă. La deschiderea ca lculatorului, pe ecran apare
o imagine c olorată care ocupă tot ecranul : aceasta sugerează un obiect, care corespunde în realitate
suprafeței mesei de lucru (desktop) și pe care este așternut un tapet (wall paper) având aspectul
imaginii respective. De aceea, prin corespondență cu relitatea, pe d esktop sunt amplasate imagini care
sugerează obiecte de lucru, și anume obiectele care trebuie să fie mereu prezente pe b irou pentru a fi
accesate imediat, indicate printr- o pictogramă sugestivă, însoțită de un nume de identificare .
Microsoft Windows este un sistem de operare ce realizează un mediu prin intermediul căruia se poate
lucra cu calculatorul, mediu bazat pe pictograme și meniuri, organizate în casete denumit e ferestre.
Acest mediu este numit și interfață grafică pentru utilizator.

3.1.2 Platforma de dezvoltare Unity
În momentul de față, piața platformelor de dezvoltare a jocurilor se bucură de u n apogeu, oferind o
paletă imensă de opțiuni. Aceste opțiuni sunt atât de accesibile acum, încât orici ne are o idee și
suficientă motivație poate începe dezvoltarea unui joc đin confortul propriului apart ament. Cele mai
populare platforme, precum Unity, Unreal Engine, RPG Maker VX Ace au ajuns înt run stadiu atât de
matur, încât pentru crearea unui joc modest nici nu sunt necesare foarte multe cunoșt ințe de
programare. De asemenea, merită menționat faptul că fiecare platformă, pe lângă documentaț ia de
bază, este susținută și de câte o comunitate imensă formată din entuziaști. Astfel , în cazul în care un
dezvoltator, indiferent de nivelul de experiență, se găsește pus în situația de a se confrunta cu o
problemă pe care nu o poate rezolva de unul singur, are șanse foarte mari de aș găsi întreba rea gata

21
formulată pe forumurile comunităților. Și în cazul în care nu a mai fost nimeni care să înt rebe înaintea
lui, cu s iguranță va găsi pe cineva care s -a confruntat cu o situație similară și e gata să îi răspundă.

3.1.2.1 Unity
Unity este un game- engine scris în C și C++ lansat inițial în 2005 (versiunea 1.0) al cărui ult im
release stabil a avut loc acum câteva luni (martie 2016, versiunea 5.3.4). Unity, Fig. 29, se bucură de
popularitatea pe care o are mulțumită mai multor factori: oferă soluții pent ru dezvoltarea aplicațiilor
atât 2D cât și 3D ce pot fi rulate pe un număr mare de platforme (Linux, Mac, Window s, Android,
iOS, WebGL, BlackBerry, Xbox, Play Station, Nintendo WiiU & 3DS, etc.). Portabilitatea nu se
limitează doar la mediile în care aplicațiile Unity pot fi rulate. Astf el, dezvoltatorii nu sunt forțați să
opteze pentru o anumită platformă în vederea dezvoltării, ș i au posibilitatea de a utiliza atât Windows
și MacOS, cât și Linux (Ubuntu – încă în beta). Unul dintre aspectele care s au dovedit a fi foarte utile
în procesul de dezvoltare al aplicației mele este posibilitatea de a scrie și uti liza scripturi pentru
aproape orice, cele mai utilizate limbaje fiind C# și Javascript. Personal, am ales să scriu în C# (în
condițiile în care nu mai folosisem niciodată C# până atunci și găsisem chiar și posi biliatatea de a
folosi python), principalele motive fiind ușurința aplicării unei gândiri POO și faptul că marea
majoritate a comunității încurajează utilizarea acestor limbaje pentru a ușu ra rezolvarea (cu sau fără
ajutor extern) a potențialelor probleme ce pot apărea de a lungul procesului de dezvoltare.

Fig. 29 Platforma de dezvoltare Unity

22
3.1.2.2 Asset Store
Un alt aspect esențial care contribuie la experiența dezvoltării în Unit y este prezența Asset Store ului.
Asset Store este o platformă de cumpărare a unor assets create în majoritatea t impului de către
comunitate. Asset-urile pot fi grupuri de modele, sunete, scripturi, texturi, etc ce formează un tot
unitar ce poate fi importat cu ușurință într -o aplicație Unity. Pentru o mai ușoară exemplificare a
noțiunii de asset, poate fi observată importanța asset -urilor în proiectul meu. În această aplicație sunt
folosite câteva asseturi : Vehicles, Classic Skybox, Farlandskies, HousePack, Toon Forest f ree set ,
Tree9.
Vehicles este un asset, importat gratuit, care crează mașina din joc , aceasta este controlabilă de către
utiliza tor sau de către calculator. Acest asset conține un pachet care include scripturi (Fig. 30) pentru
deplasarea înainte, înapoi, la dreapta și la stânga a mașinii, sunete pentru accel erare, decelerare, și o
cameră atașată acest eia, camera reprezintă perspect iva din care poate privi un utilizator universul
aplicației . Majoritatea asset-urilor, cum este acesta , conțin unul sau mai multe “prefabs ”. Prefabs-urile
reprezintă un obiect al jocului prefabricat ce include toate caracteristicile m enționate mai sus și le
configurează pentru a lucra împreună ca un tot -unitar.

Fig. 30 Scriptul pentru Control aplicat pe mașină

Al doilea asset pe care l-am folosit este Classic Skybox, pe care l- am găsit gratuit pe Asset Store,
publicat pe 28.02.2015 pentru Versiunea 0.1 a lui Unity . Acesta conține 15 modele 3D de Skybox-uri
în diferite perioade de timp . Am decis să folosesc acest asset deoarece doream un model care să fie în
ton cu atmosfera jocului de acțiune, și timpul nu mi -ar fi permis să învăț să modelez cu o as emenea
precizie profesională. Așadar, am importat acest asset în aplicația mea pentru cerul din jocul meu
video, astfel am creat cu ajutorul acestui asset o fizică cât mai realist și naturală . Cu ajutorul acestui
asset am creat două circuite unul pe timp d e zi (Fig. 31 ) și unul pe timpul nopții (Fig. 32).

23

Fig. 31 Pe timpul zilei Fig. 32 Pe timpul nopții

Al treilea asset pe care l-am folosit este Farlandskies, pe care l- am găsit tot gratuit pe Asset Store,
publicat pe 19.09.2016 pentru Versiunea 0.1 a lui Unity. Acest pachet conține u n Skybox în stil
minimalist, cu desene animate și anume cinci modele de culori diferite pentru : miezul zilei, seara,
miezul nopții, apus de soare, z orii zilei și vine cu un efect de rotație. Am decis să folosesc acest asset
deoarece am dorit să creez un meniu inedit pentru jocul meu, Fig. 33.

Fig. 33 Meniul creat cu Farlandskies

Al patrulea asset pe care l-am folosit este HousePack, pe care l-am importat grat uit de pe Asset Store,
publicat pe 01.05.2015 pentru Versiunea 0.1 a lui Unity. Acest pachet conține zece modele de case
bine conturate, dintre care am folosit patru modele, Fig. 34.
Al cincilea asset pe care l-am folosit este Toon Forest free set , pe care l-am luat gratuit de pe Asset
Store, publicat pe 07.07.2016 pentru Versiunea 0.1 a lui Unity. Acest pachet conține diverse modele
de flori, ciuperci și iarbă, Fig. 3 5.
Al șaselea asset pe care l-am folosit este Tree9, importat tot gratuit de pe Asset Store, publicat pe
24.02.2016 pentru Versiunea 0.1 a lui Unity. Acest pachet conține diverse modele de copaci, Fig. 3 5,
folosind asset- ul am adăugat un plus fizicii naturale.

24

Fig. 35 Textura naturală a terenului cu copaci și flori Fig. 3 4 Două dintre modele de casă din jocul video Race

3.1.2.3 Sunet
Pentru crearea sunetelor folosite în aplicație am folosit Audio Editor -ul telefonului meu, un Digital
Audio pro dus de Android. Am ales să îl folosesc deoarece este un tool foarte util și ușor de folosit, pe
care l-am folosit la numeroase alte proiecte pe parcursul câtorva ani. Folosind Audio Edit or-ul, am
creat, cu ajutorul unor sintetizatoare, niște sunete ambientale și am modifica t niște sunete înregistrate
de mine pentru a i oferi entității deosebite din universul jocului.

3.1.3 Limbajul de programare C#
C# este un limbaj de programare dezvoltat de compania Microsoft, inițial în cadrul proiectului .NET,
care mai apoi a fost acceptat ca standard de către Ecma (ECMA 334) în 2002 și de ISO (ISO/IEC
23270:2006) în 2003.
Acesta a fost proiectat de Anders Hejlsberg, iar echipa sa de dezvoltare este în prezent condusă de
Mads Torgersen. Cea mai recentă versiune este 8.0, care a fost lansată în 2019 alături de Visual
Studio 2019 versiunea 16.3.
C # este un limbaj de programare multi- paradigmă cu scop general, care cuprinde tastarea puternică,
cu scop lexical, imperativ, declarativ, funcțional, generic, orientat pe obi ect (bazat pe clasă) și
discipline de programare orientate pe componente. Fiind un limbaj de scop general, implicit oferă
multe variante de rezolvare pentru o paletă variată de probleme.
Acest limbaj permite construirea de aplicații web prin intermediul ASP .NET, aplicații desktop prin
WPF (Windows Presentation Foundation) sau aplicații mobile pe Windows Phone. C# are un impact
chiar și în piața de cloud computing, fiind în strânse relații cu dezvoltarea pl atformei Windows Azure.
Standardul Ecma publică obiective le de proiectare pentru C #:
 Limbajul se dorește a fi un limbaj de programare simplu, modern, cu scop general, orientat
pe obiecte.

25
 Limbajul și implementările acestora ar trebui să ofere suport pentru principiile de inginerie
software, cum ar fi verifica rea puternică a tipului, verificarea limitelor, detectarea încercărilor de a
utiliza variabile neinițializate și colectarea automată a gunoiului. Robustitatea , durabilitatea și
productivitatea programatorului sunt importante.
 Limba este destinată utilizăr ii în dezvoltarea de componente software adecvate pentru
implementare în medii distribuite.
 Portabilitatea este foarte importantă pentru codul sursă și programatorii, în spec ial cei deja
familiarizați cu C și C ++.
 Sprijinul pentru internaționalizare est e foarte important.
 C # este destinat să fie potrivit pentru scrierea aplicațiilor atât pentr u sisteme găzduite, cât
și pentru sisteme încorporate, de la cele mari care folosesc sisteme de operare sofi sticate, până la
cele foarte mici având funcții dedica te.
 Deși aplicațiile C # sunt destinate să fie economice în ceea ce privește cerințele d e memorie
și puterea de procesare, limbajul nu a fost destinat să concureze direct la performanță și
dimensiune cu C sau limbaj de asamblare.

Microsoft conduce dezvol tarea compilatorului C # de referință open source și set de instrumente,
denumite anterior „Roslyn ”. Compilatorul, care este scris în întregime în codul gestionat (C #), a
fost deschis și funcționalitatea a apărut ca API. Aceasta permite astfel dezvoltat orilor să creeze
instrumente de refactorizare și diagnosticare.
Alte compilatoare C # :
 Proiectul Mono oferă un compilator C # open -source, o implementare completă open -source a
Common Language Infrastructure.
 Proiectul DotGNU (acum întrerupt) a furnizat, de asemenea, un compilator C # open-source, o
implementare aproape completă a infrastructurii Common Language.
 Xamarin oferă instrumente pentru a dezvolta aplicații multiplă pentru sisteme de oper are
obișnuite pentru mobil și desktop, folosind C # ca bază de coduri și compilând coduri native.
Mono este o alegere obișnuită pentru motoarele de joc datorită naturii sale multi plă de platformă.
Motorul de joc Unity folosește Mono C # ca limbaj principal de script. Motorul de joc Godot a
implementat un modul o pțional Mono C # datorită unei donații de 24.000 USD de la Microsoft.

26
Un exemplu de limbaj C# în Mono este următorul :

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraStable : MonoBehaviour {

public GameObject Thecar;
public float CarX;
public float CarY;
public float CarZ;

void Update () {
CarX = Thecar.transform.eulerAngles.x;
CarY = Thecar.transform.eulerAngles.y;
CarZ = Thecar.transform.eulerAngles.z;

transform.eulerAngles = new Vector3 (CarX – CarX, CarY, CarZ – CarZ);
}
}

Fig. 35 Script p entru mașina din joc

3.1.4 Platforma .NET
Platforma .NET este dezvoltată de compania Microsoft ce include limbaje de programare, un runtime
și bibl iotecile framework ului, ce permite dezvoltarea unui număr mare de tipuri de aplicații. C# este
unul dintre limba jele de programare inclus în .NET, pe lângă Visual Basic, F#, C++ și altele.

A.

B.

A. Compilare tradițională B. CLR (Common Language Runtime )
Fig. 36 Schemă de funcționare

Numele formal al runtime-ului este CRL (Common Language Runtime). Limbajele de programare
care vizează acest runtime se compilează într -un IL (Intermediate Language). CLR este, defapt, un
cod sursă
compilator
binar executabil

cod sursă
compilator
binar executabil

27
Virtual Machine (VM) care rulează într-un IL și oferă multe servicii, precum gestionarea memoriei,
gestionarea excepțiilor, securit ate, garbage collection, și multe altele.
Majoritatea platformelor de dezvoltare a jocurilor video pun la dispoziția utilizatorilor atât un GUI,
cât și posibilitatea d e a scripta în diferite limbaje de programare diverse elemente sau aspecte, atât al e
aplicației, cât și ale platformei. Unity nu este o excepție de la această regulă, după cum se va putea
observa în continuare.
În legătură cu partea de scriptare din Unity, la începutul dezvoltării ori cărui proiect va fi ridicat un
semn de întrebare în privința limbajului de programare ce va fi folosit. Unit y propune două soluții : o
variantă ajustată pentru Unity a limbajului Javascript și C#. Unity nu im pune nicio restricț ie în
privința acestei decizii, permițând utilizarea concomitentă atât a limbajului C#, cât și Javascript, deși
acest amestec este privit ca “practică rea” deoarece poate duce la confuzie și conflicte la compilare.
Abordarea recomandată (și prezentă și în proiectul de față) este de a alege un singur limbaj și a -l
utiliza oriunde este necesar în proiect. Limbajul ales, după cum reiese și din capitolele anterioare, este
C# în cazul de față, din mai multe motive.
Nu există un limbaj mai rău dintre Javascript și C# , pentru programare în Unity. Un joc de tipul "curse
de mașini " dezvoltat pe platforma Unity este principial al acestei alegeri, faptul că informațiile și
conceptele dobândite de dezvoltator înainte de a începe lucrul în Unity se tr ansferă cu ușurință în C#
(de exemplu, gândirea orientată pe obiect). C# are de asemenea o poziție importantă în istoria creșterii
Unity, fiind strâns legat de .NET.
.NET este folosit în Unity sub numele de “Mono ”.

3.1.5 Concluzii

Fie că este vorba de un joc dezvoltat de o echipă întreagă sau de un singur dezvoltator independent,
uneltele software ușurează foarte mult procesul de creare a jocurilor video.
Motoarele de joc ajută la administrarea resurselor, redarea elementelor vizuale și controlul logicii
aplicației oferind pe r total un nivel de abstractizare în procesul de dezvoltare. Sunt simulate astfe l
concepte precum dinamica obiectelor rigide, detecția coliziunii dintre corpuri sau existența unor forțe
constante (gravitația, forța de frecare, etc.).
Pentru dezvoltarea jocului video Race am ales ca unelte de dezvoltare : sistemul de operare Wi ndows,
motorul de joc Unity, platforma .NET și limbajul de programare C# . Datorită funcționalităților
disponibile, modului de orga nizare și extensiilor oferite, Unity a fost alegerea p otrivită pentru
implementarea unui joc cu un astfel de nivel de complexitate. Platforma .NET împreună cu limbajul

28
de programare C# , oferă exact performanța, scalabilitatea și funcționalitățile ce au fost necesa re
pentru simularea aspectelor realității în l umea jocului Race.
3.2 Tehnologii pentru dezvoltarea site-ului web Race
De obicei c alculatorul este folosit dimineaț a la o cafea, la diferitele domenii de activitate și
seara pentru vizionarea unui film, sunt tot mai mulți oameni care, stând neclintiți în fața
calculatoarelor, navighează p e rețeaua de calculatoare ce acoperă lumea întreagă , activează și
călătoresc în spațiul cibernetic.
Internetul este similar cu rețele locale, fiind o mulțime de calculatoare interconectate la nivel global ,
dar la o scară mult mai largă. Elementul primar al acestuia este World Wide Web (Web sau WWW ).
Acest element WWW este un suport pentru text, animație, grafică și sunet. Documentele Web -ului
sunt cunoscute sub numele de pagini Web. Web -ul constă în pagini cu informații de pe g azde care
rulează software de tip server Web. Gazda este de multe ori identificată cu serverul Web, lucru care
nu este corect. Serverul Web nu este calculatorul în sine, ci un software.

Un server Web este un program care furnizează la cerere pagini Web. Când un utilizator solicită de la
o adresă IP specifică un anumit fișier, serverul Web încearcă să obțină acel fișier și să îl trimită înapoi
acestuia. Fișierul solicitat poate să fie codul sursă HTML al unei pagini Web, unui fișier Flash, unui
document XML, unei imagini GIF sau unui fișier AVI. Browserul Web este cel care determină ceea
ce trebuie cerut, nu serverul.
Paginile Web se pot gestiona cu ajutorul software- ului special, fiind regasite și afișate prin intermediul
unor browser-e (navigatoarelor Web), de altfel sunt memorate pe HDD-ul serverului specializat.
Paginile de Web sunt afișate de către navigatorul Web prin interpretarea unor marcatori definiți cu un
limbaj special denumit HyperText Markup Language (HTML ), marcatorii sunt utilizați pentru a
codifica pagina de Web cu informația de afișat. Marcatorii au semnificații diferite, cum ar fi aceștia
stabilesc legături între documente/fișiere sau semnifică modul în care vor fi așezate diversele părți
ale paginii.
Tipic, o pagină de Web este legată de o diversitate de fișiere cum ar fi fișiere text, grafice sau
multimedia. Mecanismul prin care sunt create căile de acces între documente este denumit hipertext.
Atunci când utilizatorul apasă click asupra unei legături , cum ar fi un element grafic, o porțiune de
text, navigatorul încarcă fișierul la care punctează această legătură și îl afișează. Legăturile din cadrul
textului sunt ușor de identificat deoarece majoritatea navigatoarelor, co lorează diferit de restul
textului, aceste legături le subliniază. Un site Web este definit ca o colecție coerentă de informații
prezentată sub forma unor pagini Web, fișiere multimedia, documente și de alte tipu ri, între care
există legături.

29
Folosind toate aceste informații am creat un site web denumit Race, numit după jocul video pe care l-
am dezvoltat. Pentru dezvoltarea site-ului web au fost utilizate următoarele unelte și tehnologii:
 Programul Notepad++
 Limbajul HTML
 Limbajul JavaScript
 jQuery
 Limbajul CSS
 URL
 Bootstrap

3.2.1 Programul Notepad++
Acest program, Notepad++ este un editor de text gratuit pentru Windows , găzduit la Sourceforge. De
asemenea programul permite editarea codului sursă specific unui număr de limbaje de programare
destul de mare, precum HTML, PHP, C, C++, Pascal, Cobol.
Notepad++ are f acilități remarcabile , acestea sunt următoarele :
 Se poate modif ica de către utilizator colorarea sintactică pentru 48 de limbaje de programare;
 Se face deducerea și întregirea automată a cuvântului de cod din biblioteca utilizată, adică o
autocompletare;
 Interfață cu mai multe ferestre, adică utilizează tab -uri;
 Are de asemenea și un s uport pentru căutări/înlocuiri cu expresii regulate PERL;
 Se poate face tipărirea color a codului sursă ( WYSIWYG );
 Oferă suport pentru macroinstrucțiuni.
Notepad++, fiind programat în C++ și utilizând Win32 API și biblioteca STL, s e bazează pe
motorul Scintilla , asigurând astfel o execuție rapidă și un consum redus de resurse.

3.2.2 Limbajul HTML
STRUCTURA PAGINII HTML

<!DOCTYPE html> Versiunea HTML
<head> Conține metalimbajul utilizat în pagină
<title>Titlul paginii</title> Titlul paginii HTML
</head>
<body> Este corpul paginii și are conținutul acestea
<h1> Linia de Head</h1> Este o e tichetă de cap a liniei
<p>Acesta este un paragraph. </p> Un paragraf de text

30
</body>
</html>

Fig. 37 Schemă cu funcționarea unei pagini simple în HTML

Paginile Web sunt fișiere cu simplu text construite folosind limbajul Hypertext Markup Language
(HTML). Acesta fiind implementat precum o mulțime de tag -uri este ușor de învățat. Aceste tag -uri
sunt folosite de autorii paginilor Web pentru a marca paginile de text, i ar browserele le foloses c
pentru a ronda și afișa informațiile pentru a putea fi vizualizate. Paginil e Web pot avea legături
hypertext la alte pagini.
Acest limbaj are următoarele caracteristici :

 HTML înseamnă Hyper Text Markup Language
 Este limbajul de marcare standard pentru crearea de pagini Web
 Descrie structura unei pagini Web
 Constă într-o serie de elemente
 Elementele HTML spun browserului cum să afișeze conținutul
 Elementele lui etichetează bucăți de conținut, cum ar fi „ acesta este un titlu ”, „acesta este
un paragraf ”, „acesta este un link ” etc.
Paginile HTML au extensia „.html ” sau „.htm” și sunt alcătuite din etichete sau tag -uri. De obicei
aceste etichete sunt pereche, una de deschidere <marcă> și alta de închidere </marcă>, mai există și
cazuri în care nu se închid, atunci se folosește <marcă / >. Navigatorul web redă aceste etichete afișând
rezultatul pe ecran. HTML- ul nu face deosebire între litere majuscule și minuscule.
Pagina primară a unui domeniu este fisierul „ index.html ” respectiv „index.htm ”. Această pagină e ste
setată a fi afișată automat la vizitarea domeniului.
De exemplu la vizitarea domeniului www.licență.ro este afișată pagina www.licență.ro/i ndex.html.
Un document HTML este format din:
1. versiunea HTML a documentului
2. zona de head cu etichetele <head></hea d>
3. zona de body cu etichetele <body></body> s au <frameset></frameset>
HTML po ate avea următoarele versiuni :
 HTML 4.01 Strict
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/htm l4/strict.dtd">
 HTML 4.01 Transitional

31
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
 HTML 4.01 Frameset
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
 HTML 5
<!DOCTYPE HTML >

Un exemplu de pagină creat ă în limbajul HTML este următorul :
<!DOCTYPE html >
<html>
<head >
<title>Licen ța</title>
</head >
<body >
<h1>Anul 2020 </h1>
<p>Licența se susține în iulie 2020 .</p>
</body ></html >
Fig. 38 Codul pentru o pagină simplă în HTML

3.2.3 Limbajul JavaScript

Fig. 39 Imagine cu JavaScript

HTML fiind un limbaj de markup, permite crearea layout- ului paginilor și a formularelor, dar nimic
mai mult. Pentru a se construi interfețe complicate este necesar un limbaj de scripting. Scripting-ul
permite scrierea de cod care sunt programe mai mici, rulate în cadrul browserului . JS (JavaScript) este
un limbaj de programare orientat pe obiect bazat pe conceptul prototipurilor. E ste folosit mai ales
pentru a introduce unele funcționalități în paginile web, codul JS din aceste pagini fiind rulat de
către browser.
În construirea site-urilor web, limbajul este cunoscut pentru utilizarea sa și anume pentru a acces a
obiecte le încapsulate (em bedded objects) în alte aplicații. A fost creat inițial sub numele de Mocha,

32
apoi sub denumirea de LiveScript, iar în final JavaScript, de către Brendan Eich de la Netscape
Communications Corporation.
Deși are numel e asemănător și unele similarități în sintaxă cu Java , între cele două nu există nicio
legătură. JavaScript are o sintaxă asemănătoare cu cea a limbajului C, dar are mai multe în comun
cu limbajul Self decât cu cel cu care are numele asemănător .
Până la începutul anului 2005, ultima versiune care exista a fost JavaScript 1.5, care corespunde cu
cea de-a treia Ediție a lui ECMA-262, adică ECMAScript standardizată de JavaScript. Versiunile
de Mozilla au încep ut cu 1.8 Beta 1 având suport pentru E4X , acesta este o extindere a limbajului care
are de a face cu XML, definit în standardul ECMA-357. P e versiunea curentă de Mozilla 1.8.1 sunt
construite Firefox și Thunderbird versiunile 2.0, aceasta suportă versiunea 1.7 a lui JavaScript.
Script- urile pot fi incluse în codul HTML sau pot fi stocate în fișiere externe și leg ate în interiorul
acestui cod. JavaScript este executat de browserul Web.
Un exemplu care folosește acest limbaj este următorul :
<button onclick ="myFunction()"> Apasă aici! </button >

<script >
function myFunction() {
var x = document.getElementById( "încercare" );
x.style.fontSize = "30px" ;
x.style.color = "white" ;
}
</script >
Fig. 40 Un exemplu de cod în JavaScript

În scriptarea paginilor web, ce l mai des utilizat este JavaScript. Script- urile pentru diverse activități
pot fi înglobate în paginile HTML de programatorii web , activități precum verificarea datelor
introduse de utilizatori sau crearea de meniuri și alte efecte animate.
Tot mai întâlnită în ultimul timp este tehnica AJAX pentru construirea pagi nilor web, acestă denumire
este o abreviere de la „Asynchronous JavaScript and XML ”. Fără a reîncărca toată pagina web și
actualizând numai anumite porțiuni ale paginii prin manipularea DOM -ului paginii, tehnica AJAX
constă în executarea de cereri HTTP în fundal. întrucât operația (costisitoare ca timp) de încărcare a
unei pagini HTML complete este în mare parte eliminate, această tehnică permite construirea unor
interfețe web cu timp mic de răspu ns. Acest limbaj este dinamic. Se poate scrie orice , dacă sintaxa
este corectă, de aceea r ar este necesar ă utilizarea operatorul de evaluare pentru lucruri de genul acesta,
și dacă ceea ce s-a scris nu există, se va primi o eroare de execuție .
În JavaScript sunt mai multe tipuri de date : Null, Boolean, Nedefinit, String, Array, Date
calendaristice, Variabile, Mesaje de eroare, Obiectul Math.
În sintaxa unui cod pot fi introduse comentarii, iar s intaxa unui comentaiu este aceeași ca în C++ și
multe alte limbaje cum este în exemplul următor :

33

/* Acesta este un comentariu
în JavaScript. */
Fig. 41 Un exemplu de comentariu

3.2.4 JQuery

Fig. 42 Schema pentru un cod simplu în JQuery

În JavaScript este o platformă de dezv oltare numită jQuery, fiind concepută pentru ușurarea și
îmbunătăți rea proceselor precum traversarea arborelui DOM în HTML, managementul inter-browser
al evenimentelor, animații și cereri tip AJAX. Acesta a fost gândit să aibă o dimensiune cât se poate
de mic ă, fiind disponibil în toate versiunile importante de browsere și să re specte filosofia
"Unobtrusive JavaScript". În anul 2006 jQuery a fost lansat de către John Resig.
Acest jQuery se folosește și pentru a rezolva probleme le specifice prog ramării web , care sunt
următoarele :
 în arborele DOM , selecțiile de elemente folosind motorul lor de selecții open source Sizz le,
un proiect creat din jQuery
 modificarea arborelui DOM precum și parcurgerea lui
 modificarea evenimentelor din browser și înregistrarea lor
 să se poată manipula elementele CSS
 efecte le și animații le
 cererile de tip AJAX
 plugin-uri sau extensii
 versiunea browser- ului, funcția each , care sunt utilități .

34
Câteva dintre cele mai semnificative aspecte ale jQuery sunt extensiile sau pl ugin-urile. Arhitectura
acestuia îngăduie programatorilor să creeze subaplicații care prelungesc funcțiile de bază jQuery cu
funcții specifice plugin -ului. În acest fel biblioteca principală poate ocupa un spațiu diminuat
considerabil, iar extensiile utile în unele pagini web pot fi adăugate la cerere, doar când sunt necesare .
Există și un set de extensii principal numit jQuery User Interface (jQuery UI). jQu ery UI pune la
dispoziție pentru interactivitatea de bază un set de extensii, teme de culori și efecte mai complicate
decât cele din biblioteca de bază. Avantajul jQuery UI față de celelalte extensii este că dezvoltarea și
examinarea acestor componente se face în paralel cu dezvoltarea bibliotecii de bază , diminuând riscul
de nepotrivire.
Orice programator poate dezvolta o extensie și jQuery pune la dispoziție publicarea în catalogul de pe
pagina proiectului în diferitele categorii disponibile.
Un exemplu simplu de jQuery este următorul :
$ (document ).ready( function (){
$(‘body ’).html( ‘Hello World! ’);
});
Fig. 43 Un exemplu de cod în JQuery
3.2.5 Limbajul CSS

Fig. 44 O poză cu CSS și cod în acesta

CSS înseamnă Cascading Style Sheets și este un standard pentru formatarea elementelor unui
document HTML . Stilurile se pot atașa elementelor HTML în cadrul documentului sau prin
intermediul unor fișiere externe, prin elemental “ <style> ” și/sau atributu l “style ”. Acesta se poate
utiliza și pentru formatarea elementelor XHTML, XML și SVGL.
Un exemplu care folose ște acest limbaj este :
body {
background-color : #fff;
color : #2f3138;
font-family : "Open Sans", sans-serif;
}
h1 {
color : red;
text-align : center;
}

35
p { font-family : arial;
font-size : 20px ;}

Fig. 45 Exemplu de cod în CSS

Acesta este un limbaj care descrie stilul unui document HTML și modul în care trebuie afișate
elementele HTML.
CSS3 fiind un upgrade al limbajuui CSS aduce câteva atribute noi și ajută la dezvoltarea noilor
concepte în web-design. Câteva dintre cele mai importante module (segmente ) adăugate ale acestui
standard pentru formatarea elementelor HTML aduc un plus mare î n dezvoltarea activități de web-
design. Majoritatea proprie tăților CSS3 au fost implementate cu succes în variantele de browsere noi ,
chiar dacă au apărut unele deficiente de compatibilitate între browsere.
Cele mai importante modulele adăugate in CSS3 sunt următoarele : selectoare, modele , fundaluri și
margini, v alori de imagine și conținut înlocuit, efecte de text, transformări 2D / 3D, anim ații,
dispunere de coloane multiple, interfaț a utilizator.

3.2.6 URL
URL( Uniform Resource Locator – Descriptor Uniform de Resurse) este f ormatul unei locații din
Internet. Structu ra completă a acestuia este urmatoarea:
protocol://nume-calculator-gazda-georgiana:port/cale-director/resursa
Regulile guvernează transferul datelor în rețea și reprezintă serviciul sau p rotocolul. În practică s unt
utilizate urm ătoarele protocoale:
 file este cel care specifică un URL local;
 http indică adresa Internet a unei pagini Web sau altă resursă ;
 ftp este utilizat pentru adresarea în Internet a fișierelor prin intermedi ul protocolului de
transfer de fișiere FTP;
 gopher este cel care indică adresa URL a unui director Gopher și reprezintă un sistem utilizat
pentru localizarea, de asemenea transferul informațiilor de indexare a numelor fișierelor în
Interent;
 telnet permite conectarea în timp real la un alt calculator în Internet și utilizarea acestuia ca și
cum ar fi un calculator local.
În sistemele Windows, în unele situații protocolul poate să lipsească pentru anumite adrese, tipul
acestuia este determinat din numele gazdei.

36
În mod unic un calculator în cadrul rețelei este identificat numele ca lculatorului gazdă . Printr-o adresa
IP, prin denumirea unui calculator din Internet folosind specificațiile DNS sau prin denumirea unui
calculator local poate fi reprezentat numele acestuia.
Portul este este specific fiecărei aplicații, fiind reprezentat printr- un număr. Majoritatea aplicațiilor de
rețea utilizează porturi pentru a comunica. Pe un calculator poat e să existe mai multe aplicații de
rețea, fiecare aplicație folosește un port diferit . Numele resursei este reprezentat de numele fișierului
specificat. Acesta poate fi un document, un fișier multimedia, o pagina Web, un fișier executabil. Un
URL este limitat pentru că nu poate conține spații și alte caractere speciale, astfel că orice spațiu sau
caracter special se va converti printr-un cod asociat acestora precedat de simbolul „%”. Alte URL-uri
folosite sunt cele de : e-mail, prin care se pot doar transmite mesaje le de poștă electronica și știri
Usenet, în care trebuie să ofere acces pentru a identifica un server de știri.

3.2.7 Bootstrap

Bootstrap este un framework de CSS gratuit și deschis, direcționat către dezvoltarea web front -end
receptivă și mobilă. Acesta include șabloane de design bazate pe CSS și JavaScript pentru tipografie,
formulare, butoane, navigare și alte componente de interfață.
Bootst rap este al șaselea proiect de pe GitHub, cu peste 135.000 de stele, în spatele lui freeCodeCamp
(aproape 307.000 de stele) și marginal în spatele framework-ului Vue.js., Bootstrap se află în top 2000
în SUA, în timp ce vuejs.org se află în top 7000 din SU A.
Bootstrap, numit inițial Twitter Blueprint, a fost dezvoltat de Mark Otto și Jacob Thornton la Twitter
ca framework pentru a încuraja coerența între instrumentele interne. Înainte de Bootstrap, au fost
utilizate diverse biblioteci pentru dezvoltare a interfeței, ceea ce a dus la incoerențe și o sarcină mare
de întreținere.
Acesta a fost redenumit de la Twitter Blueprint la Bootstrap și a fost lansat ca proiect open source pe
19 august 2011. Bootstrap a continuat să fie menținut de Mark Otto, Jacob Thornton și un grup mic de
dezvoltatori de bază, precum și de o comunitate numeroasă de contribuabili.
Ulterior au fost dezvoltate versiunile Bootstrap 2 pe data de 31 ianuarie 2012, pe 19 aug ust 2013 a
apărut Bootstrap 3, Bootstrap 4 a fost finalizat pe data de 18 ianuarie 2018.
În viitor se urmărește apariția unei noi versiuni Bootstrap 5, care să includă următoarele modificări :
 Aruncarea jQuery în favoarea JavaScript,
 Rescrierea grilei pentru a susține coloanele plasate în afara rândurilor și a modului
responsive,
 Migrarea documentației de la Jekyll la Hugo,

37
 Abandonarea suportului pentru IE10 și IE11,
 Mutarea infrastructurii de testare de la QUnit la Jasmine,
 Adăugarea unui set personalizat de pictograme SVG.

3.2.8 Concluzii

Dacă Internetul la începuturile lui dispunea de crearea și dezvoltarea de site -uri web exclusiv ca
activitate specifică doar programatorilor și designerilor web, fenomenul web 2.0 a făcut posibilă
extinderea acestui domeniu și a introdus posibilitatea realizării de site -uri web de către orice persoană,
chiar și de către acelea care nu dețin cunoștințe prea multe de programare sau web design. În
momentul de față există o serie de opțiuni disponibile pentru dezvoltarea cu ușurință a unui site web.
Fie ca este vorba de un site web creat de o întreagă echipă sau de un singur dezvoltator, uneltele de
dezvoltare ajută foarte mult la acest proces.
Programul Notepad++ ajută la implementarea codului limbajelor HTML, JavaScript, CSS, jQuery,
oferind aplicației cel mai potrivit design și o bună funcționalitate.
Pentru dezvoltarea site- ului web Race am ales ca unelte de dezvoltare : programul Notepad++, și
limbajele HTML, CSS, Java Script, jQuery, de altfel am utilizat și Bootstrap pentru un design cât mai
interesant al site-ului . Datorită funcționalităților disponibile, modului de organizare și extensiilor
oferite, acestea au fost cele mai bune alegeri pentru un astfel de nivel de complexitate.

38

4 CAPITOLUL 4 . PREZENTAREA APLICAȚI EI

4.1 Prezentarea generală
În capitol acesta voi prezenta aplicați ile propriu-zise, voi explica procesul de dezvoltare al acestora,
problemele întâmpinate și soluțiile găsite la aceste probleme. În subcapitolele ce urmează, voi folos i
exemple bazate pe bucăți de cod, care se vor remarca față de restul textului printr -un font diferit.
Apariția calculatoarelor și utilizarea lor în toate domeniile a reprezentat o dezvoltare majoră în viața
omenir ii. Din ziua în care omul a început să utilizeze calculatorul pent ru nevoile personale sau pentru
nevoile comunității, ș i-a dat seama că își ușurează viața și că poate să realizeze lucruri pe care nu
putea face până atunci sau le făcea cu muncă foarte mult ă.
Această lucrare are ca obiectiv crearea jocului 3D cu numele „ Race ” pentru platformele PC și MAC.
Îndeplinirea acestui obiectiv este posibilă prin îmbinarea conceptelor și tehnologiilor pr ezentate în
capitolele anterioare. Astfel, jocul are la bază motorul Unity prin intermediul căruia sunt controlate și
expuse utilizatorului aspectele vizuale și audio (script -uri, animații, efecte sonore), sunt administrate
activitățile și scene le componente ale aplicației.
Se crează prin simularea fizicii obiectelor ( miniharta, terenul, modurile de joc, cuburile pentru scor,
timpul, mașinile etc.) o lume virtuală care oferă utilizatorului impresia realității. Motorul face astfel
posibilă existența gravitației, a obiectelor fizice cu proprietăți precum opacifierea sau invizibilitatea și
a coliziunilor în timp real dintre acestea. Jocul este construit în așa fel încât să fie intuitiv, ușor de
jucat, dar totodată să pună la încercare abilitățile de conducere ale utilizatorilor. Acesta conține un
meniu simplu și trei moduri de joc interesante. Sesiunile de joc sunt scurte având o durată de
parcurgere a două ture de traseu și permit utilizatorilor să se bucure de aplicați e în orice moment.
Totodată această lucrare are încă un obiectiv și anume crearea site -ului web “Race ” pentru o
înțelegere mai bună a jocului video și pentru a ajuta doritorii să creeze propriu l lor joc video.
Realizarea obiectivului este posibilă prin îmbinarea conceptelor și tehnologiilor prezenta te în
capitolele anterioare. Acest site web are la bază imple mentarea codului HTML, CSS, JavaScript,
jQuery cu ajutorul programului Notepad++, astfel se creează paginile site -ului care conțin o scurtă
descriere a jocului și obiectivului acestuia, referințe vizuale di n joc, etapele de creare a jocului video,
un logo, întrebări frecvente și o scurtă bibliografie a creatoarei jocului. Aplicația a fost proiectată să
fie utilizată de către persoanele care vor să își dezvolte propriul joc v ideo. Persoanele care vor folosi

39
acest program nu necesită cunoștințe superioare în domeniul informaticii. Proiectul conț ine doar
ferestre, butoane, poze.

4.2 Jocul video Race
Aplicația reprezintă un joc 3D definit, în mare, de două aspecte:
 Un teren de joc cu o fizică realistă , care presupune o atmosferă de competiție;
 O mașină controlată de utilizator în trei moduri de joc, de asemenea se pun la dispoziție două
circuite.
4.2.2 Arhitectura aplicației

Fig. 46 O diagramă a aplicației

Pentru o reprezentare fidelă a arhitecturii unui proiect dezvoltat în Unity, tr ebuie clarificat faptul că
aceste aplicații nu sunt orientate pe obiect, ci sunt bazate pe componente. Pentru înțeleg erea noțiunii
de component în Unity, se va defini prima dat ă conceptul de GameObject. În Unity cel mai important
tip de obiect prezent este GameObject. Fiecare element al unei aplicații este un GameObject. Totuși,
un GameObject nu poate face nimic singur deoarece are nevoie de niște proprietăți pentru a putea fi
ceva. Proprietățile acestea sunt în componente. De aceea, un GameObject poate fi privit ca un
container pentru mai multe componente, în care se pot păstra sunete, lumini, animații, script uri, etc.
În principiu , aplicația poate fi privită ca o îmbinare a câtorva elemente ce definesc jocul.
Cu ajutorul acestora și a altor carac teristici din Unity am creat jocul video din mai multe șcene : Unity Game “Race” Meniu Play Credits
Quit RandomGame TrackSelect Car GameMode Circuit

40
 O șcenă corespondent ă a secțiunii de meniu;
 O șcenă ce reprezintă mulțumirile (Credits) .
 O șcenă ce reprezintă TrackSelect din care se poate selecta :
– mașina (jucătorul) ,
– modul de joc, acest element este de o importanță majoră în aplicația prezentată, deoarece
toată acțiunea (cursa) se bazează pe acest mod de joc. Este vorba despre un GameObject ca re
orchestrează jocul. Acesta poate genera scorul pe care să îl acumuleze jucătorul, o mașină cu
care mașina utilizatorului se poate întrece sau un timer,
– circuitul de joc ;
 O șcenă ce reprezintă circuitul de zi (RaceArea01) .
 O șcenă ce reprezintă circuitul de noapte (RaceArea02) .

4.2.3 Descrierea jocului
Race face parte din categoria jocurilor d e acțiune, întrucât este vorba de curse de mașini. Pentru
terminarea cursei trebuie ca mașina jucătorului să parcurgă traseul stabilit de două ori. Utilizatorii pot
alege din trei moduri de joc : RaceMode, în acest mod mașina jucătorului se întrece cu mași na
controlată de calculator; Time Attack este modul în care mașina utilizatorului trebuie să parcurgă
traseul de două ori pe timp; ScoreAttack, acest mod presupune ca mașina jucătorului în timp ce
parcurge cele două ture să colecteze punctele de pe traseu, care sunt niște cuburi de culor i diferite și
punctaj diferit , dar acest joc se joacă doar singleplayer .
Jocul video Race începe ca orice joc cu meniul (Fig. 47) care conține o imagine plăcută vizual de
fundal, numele acestuia, punctajul acumulat în bani di n modul de joc ScoreAttack și patru butoane
care ne trimit în alte scene. Primul buton de jos este cel de “Quit” care ne va scoate din joc, al doilea
buton este cel de “Credits ” (Fig. 48) care ne va duce la șcena cu acela și nume și va prezenta
dezvoltatoarea jocului, cei care l-au testat și programatorii. Cel de-al treilea buton este cel de
“Random Game ” care ne va duce la șcena cu circuitul de zi, iar al patrulea buton este cel de “Play”,
acest buton ne trimite la șcena de “TrackSelect ” (Fig. 49) în care p utem alege mașina (roșie, roz,
verde sau albastră), modul de joc (RaceMode, ScoreAttack și Time Attack), de asemenea circuitul de
joc (de zi sau de noapte), după care va începe jocul pe care l -am ales.

41

Fig. 47 Meniul jocului Fig. 48 Credits

Fig. 49 TrackSelect

Cu ajutorul următorului cod se poate alege mașina din joc ( Fig. 50 cu mașina roșie, mașina roz , mașina verde și
mașina albastră ).

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CarChoice : MonoBehaviour {

public GameObject RedBody;
public GameObject PinkBody;
public GameObject GreenBody;
public int CarImport;

void Start () {
CarImport = GlobalCar .CarType;
if (CarImport == 1) {
RedBody.SetActive ( true);
}
if (CarImport == 2) {
PinkBody.SetActive ( true);
}
if (CarImport == 3) {
GreenBody.SetActive ( true);
}
}
}

Fig. 50 Script- ul pentru alegerea mașinii

42
În primul rând am declarat bibliotecile din limbajul C#, acestea fiind „System.Collections ”,
„System.Collections.Generic ”, “UnityEngine ”, apoi am declarant clasa cu același nume precum script- ul
“CarChoice ” și variabilele, care sunt obiecte de joc “RedBody ”, “PinkBody ”, “GreenBody ” și variabila întreagă
“CarImport ”. În „Start ” am inițializat „ CarImport ”, apoi am apelat funcția „ if” în care dacă îi dau valoarea 1 l ui
„CarImport ”, mașina roșie este activă, dacă pun valoarea 2 mașina roz va fi activă, iar dacă se va d a valoarea 3,
mașina activă va fi cea verde.

Fig. 51 Versiunile de mașini din joc

Având la dispoziție două ture în fiecare mod de joc, jucătorul este nevoit ca folosind controlul de la
tastatură pus la îndemână să construiască o tactică prin care să îndeplinească mi siunile jocului. În
fiecare tură acesta poate controla doar mașina sa. Acesta are la dispoziți a sa săgețile pe lângă cele
cinci taste “A”, “D”, “S”, “W”, “C” cu care să se deplaseze în mediul înconjurător și să folosească trei
unghiuri diferite din care să vadă mașina în timpul jocului video .
O tură de traseu este parcursă atunci când mașina controlată de utilizator aju nge la linia de fini sh.
Jocul se termină atunci când mașina a parcurs cele două ture de traseu, ajungând la linia de final
începe să cânte o melodie de final de joc și o camera se rotește în jurul mașinii prezentând -o.
Pentru a putea fi integrate în simularea fizică în “RaceMode ”, la mașinile din joc sunt atașate script-
uri cu ajutorul cărora mașina jucătorului poate fi controlată de acesta de la t astatura PC -ului sau
mașina controlată de calculator urmărește niște waypoint -uri pe traseu pentru ajunge la finalul cursei .
Mașina utilizatorului are ataș at deasupra ei două cuburi (Fig. 51), care sunt invizibile la dezactivarea
opțiunii “ Mesh Renderer ” (Fig. 52) , cele două cuburi sunt : un cub invizibil căruia îi sunt puse trei
camere ș i un script pentru acestea, astfel se poate schimba unghiul din care po ate fi vazută mașina de
la tastatură , de asemenea un al doilea cub tot invizibil numit “Finishcub ” care are atașată o camera , o
melodie de final și un script pentru aceasta, astfel la finalul cursei camera respectivă se roteș te în jurul
mașinii. De altfel mașina jucătorului mai are atașat o cameră din care este văzut traseul de sus pentru
o minihartă și un folder cu muzica din timpul jocului.
Pentru cubul de final “Finishcub ” am implementat următorul cod care va face camera s ă se rotească în
jurul mașinii la sfârșitul jocului.

43
La început am declarat bibliotecile specifice limbajului C# care mi-au fos t necesare, acestea sunt :
“System.Collections ”, “System.Collections.Generic ”, “UnityEngine ”, apoi am declar at clasa cu același
nume ca și script -ul „FinishRotate ” , după care în update am pus funcția de transformare a rotației și
am specificat valorile unghiurilor de rotație pe axa x (0), pe axa y (1) și pe axa z (0) .

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FinishRotate : MonoBehaviour {

void Update () {
transform.Rotate( 0, 1, 0, Space .World);
}
}

Fig. 53 Script-ul pentru rotirea camerei la final

Mașina dispune și de câteva caracteristici, cum sunt : lumini, sunete de accelerație și dece lerație ,
stopuri pentru mersul înapoi , coliziuni frontale, de caroserie și de spate, ajutor, fum în cazul în care
aceasta se blochează și nu poate înainta, butuci pentru roți, iar toate acestea îi conferă o fizică c ât mai
realistă mașinii.

Fig. 51 Cele două cuburi deasupra Fig. 52 Cuburile când sunt invizibile
mașinii când sunt vizibile

În acest mod singleplayer sunt create două tipuri de mașini : ce a controlat ă de jucătorul uman și ce a
controlat ă de algoritmul de inteligență artificială. Cele două diferă prin proprie tăți ce țin de logica
aplicației. La modelarea ace stei situații pentru mașina condusă de calculator este necesară
introducerea câtorva cuburi pe care le-am numit “Mark01 ”, “Mark02 ”, “Mark03 ” până la “ Mark22 ” și
un GameObject pe care l-am numit “Tracker ” (Fig. 54 ), c ăruia i -am atribuit un script cu ajutorul
căruia mașina controlată de calculator să se deplaseze pe un traseu prestabilit.

44

Fig. 54 Tracker în poziția lui Mark01
Cu ajutorul următorului cod în limbajul C# mașina controlată de calculator v a urmării niște cuburi
pentru a se deplasa pe traseu.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Dreamcar01Track : MonoBehaviour {

public GameObject TheMarker;
public GameObject Mark01;
public GameObject Mark02;
public int MarkTracker;

void Update () {
if(MarkTracker == 0){
TheMarker.transform.position = Mark01.transform.position;
}
if(MarkTracker == 1){
TheMarker.transform.position = Mark02.transform.position;
}
}
}

Fig. 55 Script- ul pentru deplasarea mașinii controlate de calculator

În crearea unui script începem cu declararea bibliotecilor care ne vor fi de ajutor în scrierea acestuia.
În codul următor aceste biblioteci sunt : „ System.Collections ”, „System.Collections.Generic ”,
„UnityEngine ”, după aceea declarăm clasa dândui numele script -ului „Dreamcar01Track ”, apoi
declarăm variabilele și anume trei obiecte de joc : „ TheMarker ”, „Mark01 ”, „Mark02 ” , o variabilă de
tip întreg numită „ MarkTracker ” , de asemenea se va pune și update.
Această porțiune de cod indică poziția unde se va duce “ Tracker ” adică la poziția primului “ Mark01 ”
în poziția 0 , apoi la urm ătoarea poziție adică la “ Mark02 ” în poziția 1 , întrucât acest “Tracker ” ne va
spune unde se va duce mașina controlată de calculator.
În ceea ce privește interacțiunea cu utilizatorul în timpul jocului, acestă es te realizată într -un mod cât
se poate de int uitiv și natural. Informațiile sunt bine distribuite pe suprafața ecranului pentru a nu
îngreuna experiența de joc (Fig. 56). Astfel, la început se poate da play și apoi jucătorul își poate alege

45
modul de joc, mașina cu care vrea să joace, de altfel circuitul de zi sau de noapte. După aceea vor
apărea pe ecran doar informațiile legate de joc, întrucât controlul mașinii se face de la tastatură printr-
o simplă apăsare a săgeților sau a tastelor (A, D, W, S), iar camera se poate schimba doar prin
apăsarea tastei C (Fig.57).

Fig. 56 Experiența de joc din timpul a cestuia Fig. 57 Camera de față a mașinii

În modul de joc TimeAttack mașina controlată de utilizator trebuie să parcurgă cele două ture, iar în
timpul cursei acesta va fi cronometrat și se va înregistra cel mai scur t timp în care acesta parcurge o
tură, afișându -se la „Best time ” în colțul din dreapta de sus sub „ Lap time ” (Fig. 58).

Fig. 58 Modul de joc TimeAttack

Cu ajutorul codului următor pe care l-am implementat în jocul video, începe cursa pe timp de zi în
modul de joc TimeAttack.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ModeTime : MonoBehaviour {

public int ModeSelection;
public GameObject AICar;
public static bool isTimeMode = true;

void Start () {
ModeSelection = ModeSelect .RaceMode;

if (ModeSelection == 2) {

46
isTimeMode = true;
AICar.SetActive ( false );
} } }

Fig. 59 Script-ul pentru începerea cursei pe timp de zi în modul TimeAttack

În primul rând am declarat bibliotecile din limbajul C# care mi-au fost necesare în implementarea
acestui cod, acestea sunt : “System.Collections ”, “System.Collections.Generic ”, “Unity.Engine ”,
“Unity.Engine.UI ”, apoi am declarat clasa cu același nume ca și script -ul “ModeTime ”. Dup ă aceea
am declarat variabilele următoare : variabila întreagă “ ModeSelection ”, obiectul de joc “AICar ” În
Start ” i-am atribuit modului de selecție modul “RaceMode ”, apoi am apelat funcția „ if” în care dacă
am pus valoarea modului de selecție 2 atunci TimeMode este setat activ („ true”), de altfel mașina
controlată de calculator este dezactivată („ AICar.SetActive ( false );”).

În codul următor am apelat funcția „ if” în care dacă numărul milisecundelor este mai mare de 10,
atunci milisecundele vor fi inițializate cu 0 și se va adăuga valoarea 1 la secund e, după aceea se repetă
astfel făcându -se 2 secunde și tot așa .

if (MilliCount >= 10){
MilliCount = 0;
SecondCount += 1;
}

Fig. 60 Monitorizarea secundelor și milisecundelor cu ajutorul script -ului

În modul de joc ScoreAttack mașina controlată de utilizator trebuie să parcurgă cele două ture, iar în
timpul cursei aceasta trebuie să colecteze punctele de pe traseu, acestea puncte sunt ni ște cuburi de
culori diferite și punctaj diferit, afișându -se la „Score ” în colțul din dreapta de sus (Fig. 61).

Fig.61 Modul ScoreAttack în joc

Cu ajutorul codului următor implementat în limbajul C# se poate alege modul de joc ScoreAttack.

47

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ModeScore : MonoBehaviour {

public int ModeSelection;
public GameObject RaceUI;
public GameObject ScoreUI;
public GameObject AICar;
public static int CurrentScore;
public int InternalScore;
public GameObject ScoreValue;
public GameObject ScoreObjects;

void Start () {
ModeSelection = ModeSelect .RaceMode;

if (ModeSelection == 1) {
RaceUI.SetActive ( false );
ScoreUI.SetActive ( true);
AICar.SetActive ( false );
ScoreObjects.SetActive ( true);
}
}
void Update(){
InternalScore = CurrentScore;
ScoreValue.GetComponent< Text> ().text = "" + InternalScore;
}
}

Fig. 62 Script-ul pentru alegerea modului ScoreAttack

Prima dată am declarat bibliotecile în limbajul C#, apoi clasa „ModeScore ” și variabilele. La „Start”
am dat lui „ModeSelection ” valoarea „RaceMode ”, după aceea am apelat funcția „ if” în care i-am dat
lui „ModeSelection ” valoarea 1 pentru modul „ScoreAttack ”, apoi am activat „ScoreUI ” și
„ScoreObjects ” , de asemenea am dezactivat „RaceUI ” și „AICar ”, iar în Update am dat valoarea
„CurrentScore ” lui „InternalScore ”, astfel se va înregistra scorul afișându -se pe ecan în colțul din
dreapta de sus.

4.2.4 Mașina

48
Având în vedere faptul că proiectul prezentat în această lucrare este un joc, m odul în care utilizatorul
interacționează cu aplicația nu ar trebui să surprindă. Jucătorul va observa și v a interacționa cu
universul jocului prin camerele atașate mașinii (Car).
Aruncând din nou o privire la diagrama aplicației de la subcapitolul 4.2.2, vom observa faptul că
apare o componentă a jocului numită “ Car”. Acest Car nu este altceva decât un asset al cărui nume
este tot Car. După cum spuneam în capitolul 3.1.2.2 (Asset Store), Car este un asset car e reprezintă o
entitate ce poate fi controlată de către utilizator cu ajutorul camerei (utilizatorul observă universul
jocului prin camera atașată mașinii). Tot ce face acest asset este să includă script -uri pentru detectarea
coliziunilor, deplasarea mașinii , sunete pentru accler ație și decelerație , colliders (obiecte cu proprietăți
fizice, folosite în cazul de față pentru a detecta coliziuni frontale, laterale sau de spate), o cameră
atașată acestui collider (camera reprezintă perspectiva din care poate privi un utilizator univer sul
aplicației), lumini, particularități cu fumul în cazul în care se blochează mașina și ajut or.
Modific ările pe care i le-am adus acestui asset standard (pe lângă ajustarea unor parametri precum
culoarea ) a fost adăugarea unei surse de lumină atașată d e acest asset, script-uri pentru controlarea
ușoară a mașinii, mai multe camere pentru a vedea mașina din unghiuri diferite, cubul de final cu
muzica de final și camera care se rotește în jurul acestuia și muzica . Astfel, în mediul întunecos în
care se a flă mașina în circuitul de noapte, jucătorul va putea vedea traseul datorită acest or lumini puse
în dreptul farurilor mașinii, acestea acoperă o suprafață mică în comparație cu dimensiunile terenului.
Evident, la fel ca toți parametrii ce caracterizează Car și proprietățile adăugate pot fi modificate după
bunul plac.

4.2.5 Mediul virtual

Mediul virtual al jocului Race constă într -un teren care imită mediul natural dintr -o zonă de munte
(Fig.63 ) pe care se desfășoară cursa de mașini . Acesta este creat pentru ca t raseul cursei să pară cât
mai realist și natural , de aceea am creat munți cu stânci cărora le -am adăugat texturi de iarbă și stânci,
am pus copaci și flori, am adăugat câteva case, de asemenea am creat un traseu în jurul m unților pe
care va avea loc cursa, acestuia i- am adăugat textură de asphalt, de asemenea am pus câteva bariere ca
mașina să nu iasă de pe traseu.

49

Fig. 63 Zona de munte din joc
Pentru a oferi o oarecare diversitate jocului, au fost create 2 circuite vizuale: de zi și de noapte
(RaceArea0 1 și RaceArea02) . Pentru cele două circuite am creat două șcene una pentru cel de zi în
care am pus traseul în jurul munților (Fig. 64) și una pentru cel de noapte în care am simplificat
traseul, am pus un mod întunecat și i -am adăugat mașinii lumini pentr u faruri. (Fig. 65) La pornirea
jocului este încărcată ș cena corespunzătoare modului selectat, a circuitului vizual ales, de asemenea
va apărea și mașina selectată .
Suprafața de joc are un rol important în oferirea unei experiențe de joc comple te. Aceasta ia parte în
simularea fizică fiind suprafața de suport pentru celelalte entități din joc. Ea însă nu este afectată de
forța gravitațională sau orice altă forță sau impuls din exterior .

Fig. 64 Circuitul de zi Fig. 65 Circuitul de noapte

4.2.6 Concluzii

Folosind instrumentele prezentate în Capitolul 3, jocul video Race a fost implementat as tfel încât să
ofere utilizatorului final o experiență de joc plăcută, intuitivă și cât m ai naturală. La nivelul jocului s- a
încercat obținerea diversității prin crearea de numeroase nivele unice prin car acteristicile oferite, prin

50
temele de texturare disponibile și prin instrumentele ce pot fi folosite de ut ilizator în timpul jocului
gândite astfel încât să acopere toate situațiile ce pot apărea.
La un nivel transparent utilizatorului s- au folosit concepte fizice și de inginerie a programării pentru a
obține o aplicație robustă, scalabilă și eficientă din punct de vedere al algoritmilor utili zați.
Am reu șit prin îmbinarea elementelor vizuale și audio cu implementarea simulării fizi ce și a
diversității de aspecte ale jocului (terenul, modul de joc, maș ina, circuitele ) să creez o aplicație ce
oferă o experiență generală captivantă, stimulentă și naturală.
Am reușit prin balansarea dinamică a dificultății să adaptez jocul pentr u nivelul de îndemânare a
jucător ului, oferind astfel în final posibilitatea obținerii victoriei.

În zilele noastre Internetul are o importanță majoră iar exploatarea oportunita ților oferite de acesta
trebuie sa fie o prioritate. Platforma online de prezentare a jocului video R ace este gratuit și poate fi
permanent, 24 de ore din 24 în atenția publicului din orice zonă a lumii. Conținut ul acestuia poate fi
actualizat sau schimbat după placul fiecăruia.
La baza Platformei online de prezentare a jocului video Race stă limbajul HTML, ca re este un limbaj
des folosit și foarte puternic. Din motivele aceste pentru implementarea aplica ției am ales să folosesc
limbajul HTML. În prezent cele m ai multe aplicații distribuite sunt dezvoltate cu limbajul HTML,
care este o soluție convenabilă pentru crearea unei aplicații electronice folosi toare utilizatorii doritori
să dezvolte un joc video de dificultate medie care dispun de un buget redus, întruc ât acesta este gratis.
Lumea se schimbă în permanență, tehnologiile evoluează, apar aplicații software cât mai noi, care ne
vor conduce într- o lume computerizată. Eu consider că limbajul HTML ocupă un loc foarte important
în această lume și are un rol impo rtant în dezvoltarea tehnologiilor noi. Aplicația Platformă online de
prezentare a jocului video Race este doar o mică parte din această lume imensă a limbajului HTML,
dar o parte semnificativă, deoarece folosirea lui ușurează munca multor oameni cu vârste diferite.

4.2.7 Posibilități de dezvoltare

Versiunea respectivă a aplicației a jocului video Race nu este versiunea finală, ci doar prima versiune.
Aplicația poate fi îmbunătățită, adăugând noi utilități. De aceea câteva lucru ri noi care ar putea fi
incluse în dezvoltarea acestui program sunt :
 Aplicația ar putea fi dezvoltată într -un fel ca să deservească toate necesitățile unei curse de de
mașini, adică să fie posibilă utlizarea mai multor circuite de joc.
 Aplicația ar putea avea mai multe recompense în jo c.

51
 O altă dezvoltare ar putea fi adăugarea unui chat de mesaje în aplicație care să se ocupe de
monitorizarea jucătorilor și a mesajelor dintre aceștia.

4.3 Platformă online de prezentare a dezvoltării unui joc

Site-ul web “Race ” a fost creat pentru o înțelegere mai bună a jocului video și pentru a ajuta doritorii
să creeze propriul joc video. Am creeat paginile site-ului punând o scurtă descriere a jocului și
obiectivului acestuia, referințe vizuale din joc, etapele de creare a jocului v ideo, un logo, întrebări
frecvente și o scurtă bibliografie a creatoarei jocului, de asemenea și o pr ezentare video a acestuia .
Aplicația a fost proiectată să fie utilizată de către persoanele care vor să î și dezvolte un joc video.
Persoanele care vor folosi acest program nu trebuie să aibă cunoștințe superioare în domeniul
informaticii. Proiectul conține ferestre, butoane, poze , video.

4.3.1 Pagina de început
Fișierul predefinit pentru directorul web de prezentare este index. html, deci înseamnă că
atunci cân d accesăm serverul file:///C:/Users/Georgiana/Desktop/RaceGame/index.html ne va
trimite fișierul de bază, adică prima pagină a site -ului (index.html ) ce va fi afișat în browser
(Fig.66 ).
Asa cum puteți vedea, prima pagină reprezintă pagina de prezentare. Paginile sunt concepute
astfel ca să fie ușor de folosit de toate persoanele. Prin intermediul ac estei pagini utilizatorii
pot accesa celelalte pagini și videoclipul de prezentare al jocului video R ace în care testez
jocul și toate caracteristicile acestuia .

52
Fig.66 Pagina de început a site-ului web

Design-ul paginii a fost realizat în Notepad++. Cu ajutorul acestui a se pot dezvolta coduri în diferite
limbaje cum ar fi HTML, CSS, JavaScript, jQuery, PHP și alte câteva.
Notepad ++ este un editor de coduri sursă gratuit și de înlocuire a notepad -ului care acceptă mai multe
limbi. Rulând în mediul MS Windows, utilizarea acestuia este reglementată de licența GPL.
Bazat pe componenta de editare puternică Scintilla, Notepad ++ este scris în C ++ și folosește API -ul
Win32 pur și STL, care asigură o viteză de execuție mai mare și o dimensiune mai mică a
programului. Prin optimizarea cât mai multor rutine fără a pierde capacitatea de utilizare, utilizați mai
puțină putere a procesorului, computerul poate accelera și reduce consumul de energie .
În această pagină de început am pus o imagine plăcută legată de jocurile video, un logo cu numele
jocului și o mașină, câteva butoane pentru paginile următoare și un buton de play pentru videoclipul
de prezetare al jocului (Fig. 67), cu toate acestea am creat un design-ul potrivit site-ului web.
Header-ul este la fel pentru fiecare pagină și conține poza cu logo -ul site- ului și un banner -ul cu
butoanele meniului pentru paginil e următoare :

 “Acasă” , acest buton ne trimite la prima pagină
 “Despre ”, acest buton ne trimite la pagina care conține descrierea jocului
 “Etape ”, acest buton ne duce la pagina cu etapele de dezvoltare ale jocului video
 “Referințe” , acest buton ne paseaz ă către pagina cu referințele vizuale din joc
 “Pașii” , butonul acesta ne duce la pașii în care am creat jocul, care sunt organizați pe zile
 “Galerie ”, în pagina la care ne trimite butonul acesta este o mulțime de poze din t impul
jocului video Race
 “Întrebă rile”, pagina la care ne ne trimte butonul conține întrebările uzuale
 ”Sponsorii ”, această pagină la care ne trimite butonul conține cele două logo -uri cu
dezvoltatoarea jocului și sponsorul care a ajutat cu lămurirea unor detalii.

53

Fig.68 Videoclipul de prezentare al jocului

Cu ajutorul codului următor pe care l -am implementat în limbajul HTML am creat o listă cu butoanele
paginilor următoare și banner-ul pe care sunt butoanele, punându- le în porțiunea de head .

<nav id="nav-menu-container">
<ul class="nav-menu">
<li class="menu- active"><a href="#intro">Acasă</a></li>
<li><a href="#despre">Despre</a></li>
<li><a href="#etape">Etape</a></li>
<li><a href="#referințe">Referințe</a></li>
<li><a href="#pasi">Pași</a></li>
<li><a href="#galerie">Galerie</a></li>
<li><a href="#întrebări">Întrebări</a></li>
<li><a href="#supporters">Sponsori</a></li>
</ul> </nav>

Fig. 69 Codul pentru crearea banner-ului cu butoanele
4.3.2 Pagina Despre
Această pagină conține o scurtă descriere a jocului video Race , care este un joc de acțiune,
îndemânare și competiție întrucât este vorba despre un joc de curse cu mașini. De asemenea am pus o
poză cu jocuri variate în spatele descrierii, care îi confereră un aspect atractiv.
Am creat această pagină cu o secțiune și cinci clase pentru un container, un rând, de asemenea pentru
trei coloane.

54

Fig. 70 Pagina Despre a site-ului web

La crearea acestei secțiuni se execută următorul cod :

Fig. 71 Codul pentru Pagina Despre
4.3.3 Pagina de Etape
Această pagină dispune de 9 etape reprezentate de poza descriptivă fiecărei etapei și t itlul acesteia. Iar
apăsând pe titlul etapei se va deschide o pagină externă în care sunt toate specificații le cu ajutorul
cărora am făcut etapa din jocul video.

55

Fig.72 Pagina cu etapele de dezvoltare ale jocului

Etapele cu ajutorul cărora am dezvoltat jocul video sunt :
 “Crearea terenului de joc cu traseul pentru curs ă” este prima estapă, în care am detaliat toate
specificațiile de creare al e terenului de joc,
 a doua etapă este “Importarea mașinii și punerea camerei pe mașină cu ajutorul cubul ui”, în
aceasta am specificat pașii prin care am importat asset -ul “Car” și prin care am stabilizat
camera care urmărește mașina,
 a treia etap ă este “Punerea timpului și a celui mai bun timp pentru cursă” , în care am detaliat
crearea monitoriz ării timpului în care mașina parcurge o tură de traseu și afișarea celui mai
scurt timp de parcurgere,
 a patra etapă este „Punerea liniei de finish, a lui Lapcompletetrigger și a lui
HalfCompleteTrigger ”, în care am detaliat segmentarea traseului pentru a se putea monitoriza
o tură de traseu,
 a cincea etapă este „Controlul camerei și crearea monitorizării turelor” , în care am specificat
cum am creat posibilitatea de a schimba unghiul din care pot fi văzute mașina și traseul,
 a șasea etapă este „Crearea modului TimeAttack și RaceMode” , în care am pus specificațiile
de creare a celor două moduri de joc „ TimeAttack ” și „RaceMode ”,
 a șaptea etapă este „ Crearea modului de joc ScoreAttack ”, în car e am detaliat pașii de creare a
modului respectiv,
 a opta etapă este „Crearea meniului de joc, a șcenei TrackSelection și a șcenei Cr edits” , în
care este detalierea dezvoltării acestor șcene ,
 ultima etapă „Crearea șcenei pentru circuitul de noapte și terminarea joculu i” este cea în care
am detaliat pașii necesari pentru încheierea dezvoltării jocului video „ Race ”.

56
4.3.4 Pagina de referințe

Fig. 73 Pagina de referințe a site -ului

Această pagină are o secțiune de head ca toate celelate pagini și conținutul ei ce dispune de un motto
al jocului , o scurtă descriere a acestuia și câteva referințe vizuale din joc cu terenul, meniul, modurile
de joc TimeAttack, ScoreAttack, RaceMode și circuitele de zi și de noapte. Prin simpla apăsare a unei
imagini, aceasta se deschide separat la dimeniunea ei no rmală dând posibilitatea de ieșire. (Fig. 74)

Fih. 74 O imagine la dimensiunea normală
4.3.5 Pagina de pași
În această pagină am pus un titlul, un scurt text și trei butoane care conțin pașii ne cesari pentru
dezvoltarea jocului video. Pașii sunt organizați pe zile, întrucât jocul se poate creea în doar trei zile
dacă se va munci cu seriozitate la crearea lui. Pentru fiecare pas am pus programul în care l-am creat,
o poză descriptivă acestuia, o denumire și o scurtă descriere. Prin apăsarea butoanelor „Day 1 ”, „Day
2”, „Day 3 ” se vor afișa pașii pe care i -am realizat în ziua de luni, de marți sau de miercuri în vederea
creerii jocului video.

57

Fig. 75 Pagina Pașilor prin care am dezvoltat jocul

4.3.6 Pagina de galerie

Fig. 76 Galeria din site-ul web
În această pagină am pus o descriere scurtă a jocului și un carusel cu o mulțime de poze, care va face
ca pozele să fie afișate pe rând într -un chenar turcuaz , acestea se schimbă automat de la prima până la
ultima imagine sau se pot afișa și manual printr -un simplu click de mouse asupra bulinei de sub poze
sau asupra oricărei imagini care duce la afișarea ei separat în mărimea naturală .

4.3.7 Pagina de întrebări

58
În această secțiune am pus șapte întrebări uzuale despre platforma educațională Unit y, de asemenea și
despre jocul video Race. Întrebările sunt ilustate în ordinea în care le -am pus, iar fiecare dintre acestea
au în dreapta lor un buton. Prin apăsarea butonului din dreapta al fiecărei î ntrebări se va afișa
răspunsul întrebării respective sub aceasta.

Fig. 77 Pagina de Întrebări frecvente

4.3.8 Pagina de sponsori

Fig. 78 Pagina de Sponsori a site-ului web

În această pagină (Fig. 78) am pus cele două persoane care au ajutat la crearea jocului. Dezvoltatoarea
jocului Viscol Georgiana pentru care am creat un logo și J immy Vegas care m-a ajutat cu anumite
sugestii în crearea acestui joc video. Punând săgeata mouse -ului pe unu din cele două logo -uri, acesta
se va scala după cum se vede și în figura 79.

59

Fig.79 În pagina Sponsori imaginea logo- ului mărită

4.3.9 Șfârșitul sit e-ului web

Fig.80 Footer-ul site-ului web

În secțiunea de Footer am pus câteva rânduri despre joc, însoțită de un log o reprezentativ, link -urile folositoare
care sunt Acasă, acesta ne întoarce la pagina de început, Despre mine care duce utilizato rul la o pagină externă,
în care sunt specificate câteva detalii despre dezvoltatoarea site- ului, Termeni și condiții în care sunt date câteva
condiții pentru folosirea site -ului, de asemenea am pus un contact în cazul în care utilizatorul întâmpină unele
proble me în dezvoltarea jocului sau în înțelegerea acestuia, iar la sfârșit am pus toate drepturile rezervate
dezvoltatoarei site- ului și prin apăsarea pe numele acesteia ne trimite înapoi la pagina de început.

4.3.10 Concluzii

În zilele noastre Internetul are o impo rtanță majoră iar exploatarea oportunitaților oferite de ace sta
trebuie sa fie o prioritate. Platforma online de prezentare a jocului video Race este gratuit și poate fi
permanent, 24 de ore din 24 în atenția publicului din orice zonă a lumii. Conținut ul acestuia poate fi
actualizat sau schimbat după placul fiecăruia .

60
La baza Platform ei online de prezentare a jocului video Race stă limbajul HTML, care este un limb aj
des folosit și foarte puternic. Din motive le aceste pentru implementarea aplicației am ales să folosesc
limbajul HTML. În prezent cele mai multe aplicații distribuite sunt dezvoltate cu limbajul HTML,
care este o soluție convenabilă pentru crearea unei aplicații electronice folositoare utilizatorii doritori
să dezvolte un joc video de dificultat e medie care dispun de un buget redus, întrucât acesta este gratis.
Lumea se schimbă în permanență, tehnologiile evoluează, apar aplicații software cât mai noi, care ne
vor conduce într- o lume computerizată. Eu consider că limbajul HTML ocupă un loc foarte important
în această lume și are un rol important în dezvoltarea tehnologiilor noi . Aplicația Platformă online de
prezentare a jocului video Race este doar o mică parte din această lume imensă a limbajului HTML ,
dar o parte semnificativă, deoarece folosirea lui ușurează munca multor oameni cu vârste diferit e.

4.3.11 Posibilități de dezvoltare
Versiunea respectivă a aplicației Platformă online de prezentare a jocului video Race nu este
versiunea finală, ci dimpotrivă prima versiune. Aplicația poate fi îmbunătățită, adăugând noi facilități.
Iată câteva lucruri noi care ar putea fi incluse în dezvoltarea acestui program:
 Aplicația ar putea fi dezvoltată într -un fel ca să deservească toate necesitățile unei serii de
dezvoltare a jocurilor video, adic ă să fie posibilă folosirea acestuia de către toți doritorii să
învețe dezvoltarea mai multor jocuri .
 O altă dezvoltare ar putea fi adăugarea unei secțiuni de comunicare în aplicație care să se
ocupe de monitorizarea utilizatorilor, neclarităților, a mesajelor acestora care pot transmite
chiar și unele îmbunătățiri pe care aceștia le consideră necesare cum ar putea fi tutoriale cu
dezvoltarea jocurilor pentru o înțelegere mult mai bună pentru a-i ajuta mult mai mult.
 Al treilea punct de dezvoltare ar putea fi crearea unui forum de discuții între utilizatori și
dezvoltatorii jocurilor care ar fi util de exemplu pentru rezolvarea unor prob leme, informarea
utilizatorilor despre diferite îmbunătățiri sau apariții de jocuri noi etc. Acestea sunt doar niște
idei de dezvoltare a aplicației Platformă online de prezentare a jocului video Race, dar având
în vedere progresul tehnologiei, mai pot apărea și altele.

61
5 CAPITOLUL 5 . CONCLUZII FINALE
Ajutându- mă de cunoștințele acumulate de- a lungul experienței dobândite pe parcursul celor 4 ani de
studii la Facultatea de Automatică, Calculatoare și Electronică și de informațiile întâlnite în diverse
materiale, am dezvoltat două aplicații, acestea au un nivel mediu de dificulate.
Atât jocurile cât și platformele online de prezentare a aces tora sunt din ce în ce mai utilizate în
prezent, întrucât Internetul și tehnologia sunt într -o continuă expansiune , cele două sunt extreme de
folosite în zilele noastre, iar în prezent internetul este utilizat în proporție de 57 % la nivel global.
Este est imat că World Wide Web ar conține peste 60 de trilioane de pagini separate.
În topul primelor cincisprezece orașe care au accesul cel mai rapid la internet ul de mare viteză se
găsesc nouă orașe din România.
Platforma online de prezentare a jocului video R ace se bazează pe limbajul HTML, care este un
limbaj des utilizat. De accea pentru implementarea aplicației am ales să foloses c limbajul HTML. În
prezent cele mai multe aplicații distribuite sunt dezvoltate cu acest limbaj ul, care este o soluție
convenabil ă pentru crearea unei aplicații electronice folositoare utilizatorii dor itori să dezvolte un joc
video de dificultate medie. Lumea se schimbă în permanență, tehnologiile evoluează, apar aplicații
software mai noi, care ne vor conduce tehnologia foarte depa rte. Eu consider că limbajul HTML
ocupă un loc foarte important în această lume și are un rol important în dezvoltarea tehnologiilor noi.
Aplicația Platformă online de prezentare a jocului video Race este doar o mică parte din aceast limbaj
vast, dar o par te semnificativă, deoarece folosirea lui ușurează munca multor oameni cu vârste difer ite
care vor să își conceapă propriul joc.
La nivelul jocului am încercat obținerea diversității prin crearea de moduri de joc unice prin
caracteristicile oferite, prin te mele de texturare disponibile și prin instrumentele ce pot fi folosite de
utilizator în timpul jocului, gândite astfel încât să acopere toate situațiile ce pot apărea.
Am reușit prin îmbinarea elementelor vizuale și audio cu implementarea simulării fizice și a
diversității de aspecte ale jocului (terenul, modul de joc, maș ina, circuitele ) să creez o aplicație ce
oferă o experiență generală captivantă, stimulentă și naturală.
Am reușit prin balansarea dinamică a dificultății să adaptez jocul pentr u nivelul de îndemânare a
jucătorului, oferind astfel în final posibilitatea obținerii victoriei.

62
6 CAPITOLUL 6 . BIBLIOGRAFIE

1. [CD16] – Programare web client-side, JavaScript – Ciprian Dobre, 2016
2. [DW18] – How to code in HTML5 and CSS3 – Damian Wielgosik, 2018
3. [FMB11] – Servicii Web, Modele, Platforme, Aplicații – Florian Mircea Boian, Editura Albastra
(ALB978-973-650-266-8), 2011
4. [JK19] – Mastering C# 8.0 – Joydip Kanjilal, Editura BPB, 2019

7 CAPITOLUL 7 . REFERI NȚE WEB
1. [Com19], Computer Hope, Computer vs. Smarphone, 2019, disponibil on-line la
adresa https://www.computerhope.com/issues/ch001398.htm

63
2. [Jim19], Jimmy Vegas, Jocuri video, 2019,

3. [Ovi15], Ovilex Soft, SchoolDriving3D, 2015, disponibil on-line la adresa
https://www.microsoft.com/ro-ro/p/school-driving-
3d/9nblggh08w9s?activetab=pivot:overviewtab
4. [Sco13], Paginile Web, Scobiola D., 2013, disponibil on-line la adresa
https://www.slideshare.net/danyk19/lucrare-29295842
5. [Wik15],Wikipedia, Need for Speed Rivals, 2015, disponibil on-line la adresa
https://en.wikipedia.org/wiki/Need_for_Speed_Rivals
6. [Wik18], Wikipedia, Asphalt 9: Legends, 2018, disponibil on-line la adresa
https://asphalt.fandom.com/wiki/Asphalt_9:_Legends
7. [Wik18], Wikipedia, Personal computer, 2018, disponibil on-line la adresa
https://en.wikipedia.org/wiki/Personal_computer
8. [Wik19], Wikipedia, JQuery, 2019, disponibil on-line la adresa
https://ro.wikipedia.org/wiki/JQuery
9. [Wik20], Wikipedia, Unity, 2020, disponibil on-line la adresa
https://en.wikipedia.org/wiki/Unity_(game_engine)
10. [W3s20], W3schools, JS, 2020, disponibil on-line la adresa
https://www.w3schools.com/js/
11. [W3s20], W3schools, CSS, 2020, disponibil on-line la adresa
https://www.w3schools.com/css/css_intro.asp

Similar Posts