Razlika između Unity 3D i Unreal Enginea


Jedna od najčešćih nedoumica budućih programera u svijetu izrade videoigara jest "koji engine bi bio najbolji za moju video igru?".


Iako se na prvu čini kako su razlike minimalne, oni malo iskusniji već znaju na koja pitanja i potencijalnu problematiku trebaju obraćati pažnju.

Ukoliko pratite industriju video igara, tada ste vjerojatno čuli za izraz game engine, a sigurno su vam poznata i imena Unity 3D te Unreal Engine. Ako planirate karijeru u industriji video igara, potrebno je šire poznavanje ovih pojmova, čak i ako vam programiranje nije primarna vještina kojom se planirate baviti. 

U prethodnom blogu, Mitovi i činjenice o Unity game engineu,  spomenuli smo koji se sve mitovi i činjenice povezuju uz Unity 3D game engine. Stoga ćemo u ovom blogu pisati o sličnostima i razlikama između Unity 3D i Unreal Enginea, te objasniti njihovu namjenu prvenstveno u industriji video igara. 

Što je game engine?

Kad bi jednostavno nazvali ovaj kompjuterski alat „programom“, ljudi informatičke struke mogli bi zamjeriti na nedosljednosti. U čisto tehničkim okvirima, game engine  je zapravo 'programski okvir' čije su komponente namijenjene izgradnji računalnih igara. Jednostavnim riječnikom objašnjeno, to su softverske tvornice unutar kojih se slike, ilustracije i grafike podliježu stvarima kao što su animacije, fizičke zakonitosti, detekcija rubova, zvuk ili čak umjetna inteligencija.

Nacrtamo li jabuku na drvetu, i poželimo li da ona padne pri prolasku našeg lika u igri, nije dovoljno samo prebaciti njen crtež u game engine. Računalu se mora objasniti kako taj objekt reagira u prostoru, i odgovoriti na niz pitanja kao što su: Kojom ga se silom povuče prema zemlji? Hoće li se trava na zemlji pomaknuti pri udarcu? Koliko će jabuka odskočiti pri udarcu, i u kojem smjeru? Koji će se zvuk koristiti pri padu? Hoće li se promjeniti izgled jabuke nakon što padne? Da li odsjaj na njenoj kori prati neki izvor svjetlosti? Hoće li njen pad pokrenuti neke nove procese u prostoru (primjerice, dolazak mrava koji će jesti komadiće)?

Kako mu i sam prijevod imena s engleskog kaže, engine je „motor“ koji pokreće igru, a kao i oni u automobilizmu, svaki motor ima svoje prednosti i mane.

Unity 3D vs Unreal Engine: sličnosti i razlike

U prošlosti se nerijetko za svaku računalnu igru radio poseban engine, no to je bilo vrlo zahtjevno i skupo rješenje. Danas, mnogo godina kasnije, imamo niz game engine kao što su Cryengine, Construct 2, Game Maker: Studio, Frostbite i mnogi drugi s kojiima timovi i tvrtke stvaraju svoje igre. No, većina tržišta u rukama je dva konkurentska proizvoda, zvanih Unity 3D i Unreal Engine. Iako su razlike između njihovih finalnih proizvoda sve manje, u osnovi su to dva vrlo različita game enginea i dobro je osvijestiti po čemu se razlikuju.

Unity 3D je osmišljen prije dvanaest godina, i vrlo je brzo postao izborom mnogih tvrtki i timova pri izgradnji virtualnih svjetova, a veliku primjenu pronašao je među indie studijima. Sposoban za 2D i 3D grafiku, baziran je na programskom jeziku C#

Jedna od njegovih najvažnijih posebnosti je lagan razvoj igara za više platformi, od mobilnih, preko konzolaških do onih povezanih sa novim generacijama televizora (Windows PC, Mac OS X, Linux, Web Player, WebGL, VR (uključujući Hololens), SteamOS, iOS, Android, Windows Phone 8, Tizen, Android TV i Samsung SMART TV, kao i Xbox One, Xbox 360, PS4, Playstation Vita, i Wii U). Neke od poznatijih igara koje su napravljene u ovom game engineu su Cuphead, Hearthstone, RustKerbal Space ProgramDeux Ex:The Fall i Assassins Creed: Identity.

Unreal Engine, s druge strane, slavi gotovo dva desetljeća postojanja. Osmišljen je od strane Epic Games studija, a imenovan je po igri koja je originalno pokazivala njegovu moć, Unreal Tournament. Baziran je na programskom jeziku C++, te je više nego sposoban proizvoditi vrhunske 2D i 3D igre. 

Smatra se da je Unreal Engine nešto lakši za svladati ukoliko si početnik jer nudi i Blueprint sustav vizualnog kodiranja uz koji, tehnički, nećeš morati naučiti kodiranje. Naravno, ovaj sustav ima ponekih limitacija, no idealan je za početnike koji žele čim prije napraviti svoj prvi projekt i spremni su se prilagoditi ponuđenim funkcionalnostima.

Također, Unreal Engine nudi Profiler koji omogućava da pratiš performance uz igru te optimiziraš dijelove koji se predugo učitavaju, animacije koje usporavaju igru i slično. Posebno su impresivni njegovi doprinosi First Person Shooter žanru, obzirom da su u Unreal Engineu napravljeni naslovi poput Bioshock, BorderlandsDeus ExAssassins Creed: Chroniclesali i avanture poput Batman Arkham serijala i Thiefa ili indie igre Hello Neighbour.

Koji game engine koristiti? 

Koji game engine koristiti za izradu video igre? Ovo je pitanje koje muči mnoge početnike u industriji, obzirom da se u jednom trenu moraju odlučiti u koji će game engine utrošiti više vremena pri obuci. Naravno, moguće je naučiti oba dva, ali to podrazumijeva vrlo predan rad i godine stjecanja iskustva, a da ne govorimo o praćenju novih dodataka za svaki software.

Po svojoj prirodi, Unreal Engine je sofisticiraniji i prilagodljiviji zadacima, te daje veću slobodu svojim korisnicima. To ne znači da mu je konkurent nepraktičan, već jednostavno Unity 3D dominira po broju mogućnosti. Također, tijesno vodstvo ima i na području 3D grafike, no Unity 3D ga već pomalo stiže i na tom polju.

S druge strane, Unity 3D je, također, odličan za početnike zahvaljujući kvalitetnoj dokumentaciji i tutorijalima koji vrlo zorno podučavaju primjenu različitih mogućnosti game enginea. Isto tako, Unity 3D ima bolji asset store, mjesto na kojem se mogu kupovati različiti dodaci i materijali za razvoj igara. Načelno, percipira se da ovaj game engine bolje upravlja 2D grafikom, iako to može ovisiti i o nijansama koje se pokušavaju postići.

Oba game enginea koriste se i za izradu igara na mobilnim platformama, no ovdje dominira Unity 3D, obzirom da njegovi projekti zauzimaju manje mjesta u memoriji uređaja. Naravno da je u svijetu mobitela ovo vrlo važan faktor, obzirom na limitiranost slobodnog prostora. 

Eksperti bi još mogli navesti puno razlika između ova dva enginea, ali sve se svodi otprilike na ovaj zaključak. Želite li pokrenuti indie studio i raditi indie igre ili igre za mobilno tržište, posebno one 2D, Unity 3D će biti bolje rješenje. Isto tako, možete očekivati brži napredak i lako usvajanje vještina. S druge strane, ukoliko sebe vidite u zahtjevnim igrama takozvane „AAA“ produkcije, tada je Unreal Engine puno bolja opcija. No, najbolji ishod može se ostvariti učenjem programskog jezika C++, obzirom da vještina na tom polju pruža najveću slobodu i sposobost komunikacije sa računalnim sustavima.

Također, Unreal Engine se koristi i u filmskoj industriji, ali i u mnogim arhitektonskim uredima jer je idealan za izradu 3D arhitektonskih vizualizacija prostora, pa se tako s ovim programom sve više koriste i arhitekti diljem svijeta. Opširnije o tome možete pročitati u našem blogu 'Arhitektonske vizualizacije s Unreal Enginom'.

Želim i ja stvarati igre uz pomoć game enginea!

Imaš super ideju za igru, ali ne znaš kako je napraviti? Ukoliko želiš naučiti raditi u jednom od ova dva game enginea i krenuti sa stvaranjem novih svjetova, pogledaj na našim stranicama tečajeve za Unreal Engine i Unity 3D

Ukoliko želiš još dodatnih informacija, kontaktiraj nas na mail machina@machina.hr i dogovori razgovor u kojem ćemo zajedno porazgovarati što i gdje možeš kasnije raditi sa stečenim znanjem!