Razvoj igara u Unityju bez poznavanja programiranja - je li zbilja izvedivo?

Razvoj igara u Unityju bez poznavanja programiranja – je li zbilja izvedivo?

Game developeri temeljni su stupovi u stvaranju jedne video igre. Oni pretvaraju ideje u stvarnost. Iz koda nastaju zgrade, palače, pejzaži i najraznolikiji likovi koji s tim okruženjem mogu interagirati, a ovaj nemali pothvat često je podcijenjen u široj tehnološkoj zajednici.

Svojih 5 minuta slave ponovo dobiva drugo najzastupljenije zanimanje u hrvatskoj gaming industriji, a to su game developeri, točnije, oni koji koriste game engine Unity. Ovo je sada već 7. radno mjesto u industriji videoigara koje predstavljamo, a prijašnji su bili pisci, producenti, game dizajneri, marketingaši, #3D Artisti i Unreal Engine programeri.

Svoja iskustva i savjete s ovim game engineom, kojeg mjesečno koristi 1.5 milijuna stručnjaka u raznim područjima od arhitekture do filma, podijelili su Jakov Dužević, freelancer; Toni Steyskal, Unity instruktor na Machina Game Dev Academyju i Bruno Margetić iz Delta Realityja.

Kako su započeli svoju developersku karijeru u Unity?

Njegova priča je klasična, smatra Toni. Igre su bile dio njegovog odrastanja, a tijekom studija odvažio se naučiti kako raditi videoigre kroz YouTube tutoriale i razne online tečajeve. Sve je krenulo kao zanimljiv hobi i istraživanje alata za izradu igara da bi na kraju sve više vremena posvećivao učenju izrade igara umjesto samog igranja:

Kroz studij sam ugurao što više tema vezanih uz igre i njihov razvoj u svoje seminare, aktivnosti i teme završnog i diplomskog rada. Sve to zajedno mi je omogućilo priliku odrađivanja prakse u Nanobitu te se od tog trena moja karijera u razvoju igara zakotrljala.

Jakov je na FER-u započeo put programskog inženjerstva – tadašnji uspjeh Croteama i njihovog naslova Serious Sam bio je dobra početna motivacija mnogim studentima iz njegove generacije. Jedva je dočekao četvrtu godinu i kolegij Interaktivna računalna grafika i Virtualna okruženja:

Imao sam sreće i da sam, nakon faksa, prvi posao našao na projektu razvoja 3D shopping malla u Trilleniumu Hrvoja Prpića koji se razvijao upravo s Unityjem. Iako taj projekt u konačnici nije zaživio, meni je bilo neprocjenjivo to prvo iskustvo rada u timu i učenje od iskusnijih Unity developera.

Od knjige “C# za neznalice” do FER-a pa preko ADU-a do virtualne stvarnosti

S druge strane, Bruno je htio biti pisac. Htio je stvarati svjetove, a kada je došao PS1, shvatio je da čitanje omogućuje da sam stvoriš svijet u kojem se narativ odvija dok videoigre omogućuju da sudjeluješ u svijetu koji je netko pripremio za tebe. U srednjoj školi kreće drugim smjerom, posuđuje dvije knjige “C# za neznalice” i počinje učiti programiranje što je naposljetku i svladao, ali nije naučio raditi igre…

Upisao sam FER i tri godine čekao predmet Interaktivna računalna grafika da napokon naučim raditi grafiku. Tamo sam pak naučio rudimente grafike i to je opet bilo kilometrima daleko od onoga što sam tražio.

U međuvremenu se nešto odvijalo u amaterskom kazalištu i odlučio sam ostaviti FER i sve te stvari i otići raditi svjetove u kazalištu – biti pisac, vratiti se onoj nekoj želji iz djetinjstva.

Bruno je diplomirao dramaturgiju na Akademiji dramskih umjetnosti i tako se odredio za kazalište koje zapravo nikada nije volio, iskreno kaže. Volio je stvaranje svjetova u obliku predstava, ali nije bio strastven oko toga. Htio je prenijeti kazalište online, ali tada gledatelj mora imati širinu pogleda:

I onda sam saznao da postoji VR. Totalno me razlijepila ta spoznaja. Nešto se spojilo – fantazija o game developmentu, mogućnosti interakcije i stvaranja narativno upogonjenih svjetova u kojima sudjeluješ na jedan sasvim novi način.

Bruno je počeo intenzivno pratiti VR i tako ga je ta tehnologija vratila u programiranje nakon 10 godina od napuštanja FER-a. Točnije, u programiranje se vratio kada je jedan masterclass Bruni srušio snove o 360 videu jer je saznao da ga industrija napušta jer ga je nemoguće monetizirati. Tada je Bruno odlučio da neće biti tvrdoglav i ići protiv struje, već će se priključiti “svima” iz industrije i okrenuti se interakciji i gamedevu u VR-u.

Po čemu su Unity i programski jezik C# posebni?

Jakovu je izrazito drago da se C# jezik redovito razvija i prati trendove u programiranju koji se pojavljuju u drugim sferama razvoja softvera. Game development s Unityjem tako direktno postaje bolji sa svakim podizanjem C# standarda:

Posebno koristan alat za pisanje koda je Rider editor od JetBrainsa. To je alat koji su tvorci Resharper plugina za Microsoftov Visual Studio razvili posebno za rad s Unityjem kako bi imali kontrolu nad cijelim IDE-om i omogućili brži razvoj novih značajki. To se upravo vidi u nedavnoj integraciji funkcionalnosti koje dolaze iz svijeta umjetne inteligencije.

Unity radi na principu komponenata koje dodaju funkcionalnosti pojedinim elementima igre, objašnjava nam Toni. Postoje predefinirane komponente koje dodaju osnovne mehanike elementima igre – kao što su fizika, svjetlost i izgled – a developeri i sami rade nove komponente programirajući u C# kako bi omogućili specifične mehanike baš za svoju igru (pucanje, skakanje, skupljanje novčića i sl.).

C# je pristupačan jezik koji svojom razinom apstrakcije dobro aproksimira razinu apstrakcije oko koje je organiziran Unity (koji je kao engine napisan u C++), ističe Bruno. Unity se polako, ali sustavno okreće “paketnoj modularnosti”:

Ima jako opširan marketplace (asset store) na kojem je moguće kupiti besramno puno gotovih stvari za projekte. Može se naći hrpa solidnih i osrednjih stvari, ali ima i vrhunskih assetova koji sjajno rješavaju određene probleme i posljedično skraćuju vrijeme potrebno da se određena funkcionalnost razvije iz nule.

Taj bogati asset store omogućava developerima da na jedan način “outsourcaju” određene zadatke. Ima zaista solidnog koda u assetima i može se svašta naučiti čitanjem tuđih stvari.

Od kada je Unity izašao na burzu, stvari su se promijenile

Također, tvrtka Unity Technologies posebna je po tome što je ponudila svoje dionice na burzi i time postala tvrtka koja svojim dioničarima mora dokazivati svrhu ulaganja i ostvarivati određene financijske ciljeve, objašnjava nam Jakov:

Od tada se primjećuje znatan fokus na praćenje novih trendova koji se pojavljuju na tržištu. Bilo da se pokušava integrirati najnoviju blockchain tehnologiju, ili se postaviti kao glavni alat za razvoj metaversa, ili pak izbaciti artiste i programere iz posla. Korištenjem umjetne inteligencije, Unity Technologies se odmah pretvara u rješenje za sve.

Iskusniji korisnici Unityja prepoznaju da zato neke dugo najavljivane značajke čekaju duže, zbog stalne izmjene fokusa od strane managementa:

Nadam se da će ti hypeovi proći, a alat ostati vjeran glavnoj ideji odnosno fokusu na omogućavanju lakšeg rada artistima i programerima.

Što se tiče blockchain tehnologije, Jakov na svojem LinkedIn profilu ima jasno naglašeno kako ne želi raditi na NTF i metaverse projektima. Smatra kako preveliki hype oko tih tehnologija donio ogromnu količinu financijskih sredstava u game development industriju koji usmjeravaju sposobne timove da razvijaju proizvode čija je primarna svrha iskoristiti igrača kako bi izvukli svaki cent iz njega:

S obzirom na to da je potražnja za programerima velika i mogu birati projekte na kojima ću raditi, radije biram raditi igre koje usrećuju, a ne koje iskorištavaju ljudske slabosti.

Koliko je Unity težak za same početnike?

Unity je odličan alat za početnike koji žele naučiti razvoj videoigara jer postoji ogromna zajednica i izvor informacija kako krenuti i napraviti prvu vlastitu igru, ističe Toni:

Za krenuti se snalaziti u Unityju nije potrebno predznanje u programiranju, no za nešto dublje korištenje alata svakako je potrebno znati programirati (postoje i razni dodaci za vizualno programiranje koji olakšavaju cijeli proces učenja).

Jakov smatra da Unity ima jako glatku krivulju učenja u početku, ali kasnije postaje težak. Takav je, nažalost i pristup u tutorialima s kojima se podučava početnike:

Kada se krene u osmišljavanje originalnih ideja i kompleksnijih sustava, znanje programiranja postaje esencijalno bitno i nezaobilazno.

Tada treba znati napraviti izmjenu načina razmišljanja koji se s početničkim tutorijalima ustalio i reorganizirati kod u arhitekturu programskog rješenja kakav se koristiti i u drugim industrijama koje razvijaju softverska rješenja.

Bruno kao i Toni smatra da je Unity super za početnike baš zato što ima toliku zajednicu i zato što se koristi C#. S druge strane, Bruno se pita što je točno početnik?

Netko tko je pomalo radio u Scratchu ima neke ideje o tome kako programiranje izgleda, a početnik je. Netko tko zna koristiti teletekst je isto početnik. Predznanje u kodiranju nije nužno, ali je ogroman plus.

“Unity se često reklamira kao alat s kojim se može izraditi igra bez poznavanja programiranja…”

Ako želite učiti Unity, prvo je potrebno upoznati se s alatom i njegovim sučeljem, objašnjava Toni. Postoje odlični besplatni mini projekti od Unityja koji vam daju polugotove igre s uputama kako su posložene i kako ih malo izmijeniti i zaokružiti.

Kad se dobije osnovna ideja kako Unity radi najbolje je prebaciti se u učenje samog programiranja pomoću jezika C# izvan Unityja. Tako se mogu naučiti osnovne programiranja, a da pritom Unity ne skreće pažnju na sebe, navodi Toni:

Na kraju, vratiti se s tim znanjem u Unity, proučiti kako programiranje funkcionira sada u tom alatu i napraviti što više manjih igara različitih žanrova kako bi se istražile sve mogućnosti koje Unity nudi.

I najbolji savjet na kraju – nemojte krenuti odmah u izradu vaše igre iz snova.

Za one koji se žele okušati u Unityju, Jakov pak preporučuje krenuti upravo s učenjem programiranja i naglašava da ne pokušavate izbjeći taj dio. Također, preporučuje da se u proučavanje programiranja krene dosta široko. Poznavanje design patterna, arhitekture razdijeljenih sustava, web developmenta i mrežne tehnologije uvijek dobro dođe kada se želi u potpunosti razumjeti kako razvijati moderne igre:

Unity se često reklamira kao alat s kojim se može izraditi igra bez poznavanja programiranja ili izrađivanjem logike putem vizualnih pluginova, no smatram da to nije ispravan put te da jako ograničava mogućnosti i brzinu razvoja ideja.

Ako netko zaista želi raditi igre, mora biti svjestan da to zapravo znači pisanje koda, a ne puko raspoređivanje 3D modela po sceni (rečeno bez namjere da omalovažavam rad level designera).

Bruno također savjetuje da se početnik prisili naučiti C# unutar Unity projekta. Dakle, ne dirati Unity kao engine nego svladati C# kao programski jezik i shvatiti objektno orijentirano programiranje (OOP), ali da sve skripte pokreće iz Unityja. Onda polako početi ljuštiti Unity…

Upoznati komponente, UI. Napraviti neki UI app za PC. Upoznati singleton, state mašinu. Onda napraviti 2D app i upoznati fiziku. Deployati na Android. Zatim početi polako istraživati arhitekture. Baciti se na 3D app.

Onda pomalo sve kompleksnije i robusnije sustave itd. U svakom novom projektu uvesti nešto nepoznato, dotaknuti neki sustav s kojim još nije bilo kontakta.

Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.

Pravila ponašanja

Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.

Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Ekskluzivno

57hours Viktora Marohnića narastao 4 puta i osigurao još 2,75 milijuna dolara

U ekskluzivnom intervjuu za Netokraciju, suosnivač brzorastuće avanturističke platforme Viktor Marohnić, sa svojim investitorima, otkriva planove.

Tvrtke i poslovanje

7 savjeta za učinkovitu izradu poslovnog plana (posebno za one koji nemaju vremena)

Nisu bez razloga velikani povijesti od Sun Tzua do Dwight D. Eisenhowera pričali o planiranju kao o svetom gralu uspjeha - i ne stoji bez razloga ona narodna: dobra organizacija je pola posla.

Tvrtke i poslovanje

Ivan Burazin pokreće novi startup – Daytonu, već ima Fortune 500 klijente

Nakon tri godine, uspostave i razvoja Infobipovog Developer Experience odjela, Ivan Burazin, pokreće novi dev projekt. Time se nastavlja njegova startuperska priča i misija koja je počela prije više od dekadu - pomagati developerima da rade lakše, brže i učinkovitije. Upoznajemo njegov novi projekt, Daytonu!

Što ste propustili

Programiranje

“Design Handoff” je proces zbog kojeg developer i dizajner ne moraju imati “standoff”

Predaja bilokakvog projekta ne završava s vašom točkom na kraju - nego svih kojih se taj projekt usko tiče. Uz Neuralab prolazimo kako od “ja sam svoje riješio” doći do kvalitetnog, strukturiranog “design handoffa” koji će značajno olakšati život svima uključenima: dizajnerima, developerima, PM-ovima, klijentima…

Tvrtke i poslovanje

HR.WEEKEND: Jelena Jelušić o 7 smrtnih grijeha “employer brandinga”

Na prvome HR.Weekendu na WMF-u saznali smo 7 smrtnih grijeha "employer brandinga" koji će definitivno ubiti sliku vaše tvrtke, ali donosimo i recept kako ga spasiti.

Intervju

Evo kako je hrvatska glazbena industrija pregovarala s Big Techom!

Dolazak Spotifya i drugih poznatih glazbenih servisa u Hrvatskoj povijesni su dani, ali njima su prethodile godine i godine pravnih pregovora sa samim servisima, kao i domaćih udruga koja štite prava svih sudionika. Upravo u tim pregovorima možemo pronaći lekcije za medijsku industriju koja trenutno vodi pregovore s Big Techom.

Programiranje

Infobip Shift 2023: Kako pridonositi projektima otvorenog koda?

Zadnje retke s Infobip Shift 2023 konferencije posvećujemo ljudima i inicijativama vezanima uz open source (otvoreni kod).

Ekskluzivno

57hours Viktora Marohnića narastao 4 puta i osigurao još 2,75 milijuna dolara

U ekskluzivnom intervjuu za Netokraciju, suosnivač brzorastuće avanturističke platforme Viktor Marohnić, sa svojim investitorima, otkriva planove.

Izvještaj

Infobip Shift 2023: Od pive do savjeta za sreću, što su developeri dobili “ispod Peke”?

Infobip Shift iz godine u godinu potvrđuje kako zalužuje biti na popisu najboljih developerskih konferencija u Europi jer uspjevaju postići nešto teško - kvalitetan sadržaj svjetske razine predstaviti sa stilom u iskrenoj i pozitivnoj atmosferi.