„Spasi patku“
Autor članka: Leon Šantić, 1.c
Profesorica Emina Grmić nam je zadala zadatak da u tjedan dana napravimo escape room te da sadrži pitanja vezana za predmet Algoritmi i programiranje. Kako bi nam bilo lakše napraviti igru, pokazala nam je radove prošlih generacija i objasnila kako to treba izgledati tako da igraču bude sve jasno. Igru je bilo potrebno napraviti u bilo kojem programu, bio to PowerPoint, Scratch, Genially, i još nekoliko njih koje je nabrojila. Odlučio sam koristiti Unity zbog toga što sam ga 2023. godine koristio te sam već bio upoznat s njime.
Izrada
Na GitHub-u sam isti dan napravio repozitorij te na računalo instalirao Unity i Visual Studio Code. Prva dva dana sam razmišljao te planirao tko će biti glavni lik, kako će igra biti prikazana i kako bi mapa mogla izgledati. Za glavnog lika sam odabrao patku a igra je prikazana u 2D djelomično pikseliziranom stilu. Igru nisam totalno radio od nule, imao sam skripte iz svoje prve igre tako da mi je to bio olakšani početak. Pozadinu, vrata i zidove sam crtao u Paint-u, dok je lika i ostale stvari nacrtala moja sestra. Prvo što sam napravio bila je mala prostorija tako da mogu testirati kretanje, skakanje i animacije lika.

Prvo sam krenuo na izradu animacije mahanja krilima, prvi problem s kojim sam se susreo je kako da Unity-u kažem dira li lik tlo ili ne tako da patka maše krilima samo dok je u zraku. Taj problem sam riješio uz pomoć oznaka tako da sam na sve na čemu lik ne bi trebao letjeti stavio oznaku „ground“ i u skripti dodao da ako lik dira nešto što ima oznaku „ground“ postane uzemljen.

Dalje sam krenuo s prepoznavanjem kretanja, iako sam mogao samo staviti da ako je patka na tlu da ne maše krilima, no nisam jer patka na nekim mjestima nije htjela mahati krilima. To sam riješio prepoznavanjem brzine, ako se patka kretala i nije bila na tlu animacija bi se pokrenula.

Kada sam lika napravio kako sam htio krenuo sam s izradom mape. Nisam imao neki plan kako bi to trebalo izgledati pa sam nasumično dodavao dijelove mape dok nije bila dovoljno velika. Zatim sam postavio tipke, ploče i pitanja te napisao još tri skripte kako bi tipke mijenjale izgled, otvarala vrata i kaznile igrače za netočne odgovore.

Prikaz mape u 3D-u

Stvari koje bi trebao popraviti
Igra je u redu no mogla je biti bolja. Problema ima svakako no nisam ih riješavao zbog toga što su minimalni. Prvi problem koji sam primjetio je da igrač može stisnuti obje tipke što bi ga kaznilo čak i ako je prvo stisnuo točan odgovor, taj problem se lako može otkloniti dodavanjem nekoliko linija koda koje bi uklonile drugu tipku ukoliko je jedna pritisnuta. Drugi problem je taj što nisam napravio glavni meni i napisao upute u igri, smatrao sam da je to mnogo posla te sam odustao od te ideje i stavio upute na GitHub u README datoteku. Organizacija mi nije bila bitna pa sam sve objekte samo kopirao i lijepio te ih gomilao na jednoj sceni no bilo bi puno bolje da je sve organizirano.

Ako bi popravio sve ove probleme, stvorio priču i nadodao još nekoliko pitanja, igra bi bila značajno bolja i zanimljivija.
Gdje se igra može preuzeti
Skoro sve se nalazi na GitHub-u tako da možete dublje zaviriti u skripte.
Repozitorij: https://github.com/santicleon1/Esc-Room
Preuzimanje: https://github.com/santicleon1/Esc-Room/releases