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

eUsluge

Grad Zagreb omogućio potpun uvid u proračun kroz aplikaciju iTransparentnost

Nova aplikacija omogućuje svakom građaninu da detaljno prouči gradski porarčun po različitim parametrima.

Startupi

Što je to R&D potencijal – i kakve veze ima s razvojem startupa?

Je li startup nacija u kojoj su nastali tech giganti kao Skype, Wise, Bolt i Pipedrive to postala slučajno, otkrijte sa mnom na putu u Estoniju.

Nesortirano

Što je Akt o čipovima – i kako će doprinjeti tehnološkom razvitku Hrvatske

Jačanje konkurentnosti Europske unije u industriji poluvodiča prilika je i za Hrvatsku koja u sklopu 43 milijarde eura vrijedne incijative priprema otvaranje edukacijskih centara.

Što ste propustili

Novost

Marko Elezović novi je Head of Engineering u Lemaxu

S 15 godina iskustva u developmentu i vođenju developerskih timova u različitim startupima i scaleupima, Marko Elezović otvara novu (Saa)stranicu u svojoj karijeri.

Netokracija Podcast

Hrvati ne vjeruju influencerima, YouTubeu i blogovima

Kome vjerovati postaje sve važnije pitanje današnjice. Srećom, Hrvati jako vjeruju u svoje sposobnosti prepoznavanja lažnih vijesti. No, jesu li zbilja u tome tako dobri ostaje za vidjeti.

eUsluge

Kako koristiti Portal zdravlja, eLijekove i eHZZO?

Ako niste sigurni što sve digitalno možete obaviti kad su u pitanju javne zdravstvene usluge, niti kako iskoristiti njihove mogućnosti - od pretrage nalaza, izdavanja uputnica do odabira doktora - ovo je tekst za vas.

Panel

Hrvatski game developeri o stvaranju “ozbiljnih” videoigara

S predstavnicima game dev studija, ali i drugih privatnih tvrtki i dobrotvornih organizacija, raspravljamo o razvoju videoigara kojima svrha nije samo zabava, već i edukacija.

Startupi

Ivan Mrvoš: “Include više nije samo ‘onaj mali s pametnim klupama'”

Include, solinski startup poznat po pametnim klupama Steora, okrenuo se razvoju i proizvodnji novih proizvoda. Mrvoš, koji još nema ni 30 godina, a već je iskusni poduzetnik s respektabilnom karijerom, za Netokraciju je ispričao kako se i koliko ta tvrtka promijenila. Nedavno smo mogli pročitati da bi mogli promijeniti i vlasnika...

Esport

Peta sezona SET-a zaključena u Infobipu: Od 22 fakulteta pobjednički je varaždinski FOI

Student Esports Tournament, jedan od najpoznatijih studentskih esport događaja u Hrvatskoj, petu sezonu završio je u spektakularnoj LAN završnici koja se održala u prostorima Infobipa u Zagrebu.