Intervju: Vladimir Jakšić, game programer

Tokom pregleda našeg VFX Serbia LinkedIn news feed-a zapazili smo vrlo zanimljivu upotrebu Unity GUI (Graphical User Interface) sistema, zamolili smo Vladimira da porazgovara sa nama o toj temi, vizuelnom skriptovanju, da li se polako briše granica izmedju artista i programera.

  • Za početak predstavite se našim čitaocima.

Rođeni sam Beograđanin što mi nije smetalo da završim Elektronski fakultet u NišuZovem se Jakšić Vladimir i diplomirani sam inženjer elektronike. Dugi niz godina se bavim programiranjem 3D aplikacija u realnom vremenu, simulacija i video igara. Pored programiranja u toku rada sa artistima i modelerima naučio sam dosta i o tom aspektu izrada aplikacija.

  • Iskoristili ste Unitijev GUI na jedan novi inovativan način, recite nam nešto više tome.

Grafički korisnički interfejs, skraćeno GUI, je element bez koga nijedna aplikacija a naročito video igra ne može da postoji i funkcioniše. Svi smo navikli na njega i velika pažnja se poklanja njegovom izgledu i funkcionalnosti.

GUI je ono što stoji na vrhu ekrana što bi se reklo, najpribližnije korisniku. Nešto što lebdi ispred sadržaja igre. 2D “skrama” koja obuhvata 3D sadržaj igre. Unity3D je u svom novom endžinu dodao podršku za 3D pozicioniranje GUI elemenata. Ideja je da se GUI element postavi u prostoru, da dobije treću dimenziju. Namenjen je za prikaz kokpita aviona, sliku nekog panoa, računarskog ekrana u igri, ili nešto interesatniji početni meni.

UnityGUI  guipic

  • Taj koncept ste primenili na svojoj video igri “In Cube Action” koja se može besplatno skinuti sa Google Play Store-a.

Ovo je prvi put da je GUI iskorišćen da obuhvati sve aspekte 3D video igre. Samo okruženje po kome se igrač kreće, strelice koje određuju smer  i orijenaciju kretanja.  Celokupan sadržaj. Jednostavno rečeno, kao da se 2D GUI prelio u treću dimenziju i obojio celu igru.

InCube

  • U čemu je korist takvog pristupa, razlika od klasičnog metoda izrade video igara?

Prvo sam želeo da napravim eksperiment i utvrdim da li je to uopšte moguće. Sama ideja igre je omogućavala da se tako nešto uradi. Potreba da svaki zid bude interaktivan je jednostavno pozivao da bude napravljen uz pomoć dugmeta.

00005951Image 00005974Image 00005992Image 00006054Image 00006068Image

Sa druge strane igru sam radio samostalno, te mi je ovaj način olakašao i ubrzao rad jer sam bitan deo izrade video igre, 3D modelovanje  preklopio sa izradom GUI-a. Takođe sam iskoristio i Unity-jev event system koji je implementiran da poveže GUI interakciju sa kodom. Time sam ubrzao i programski razvoj aplikacije. Za pravljenje tridesetak nivoa sam isprogramirao editor:

  • Odakle ideja da se napravi ovakva video igra, 3D lavirint, kretanje po zidovima, plafonu?

Kao mali imao sam krevete na sprat,i spavao sam na gornjem krevetu. Dok sam ležao na leđima, gledao sam na plafonu 11-tog sprata kako se  ocrtavaju senke uličnih lampi. Zavesa, antena, roletna. Crno beli kadar iskošenih ivica. Poneki zakasneli vozač bi farovima pravio pokretne slike. Polazeći iza moje glave sa ormana , rombovi i kvadrati putovali bi preko plafona i nestajali na prozoru. Senka se krivila preko pravog ugla zida i plafona.Ja sa njom.Mentlana vežba bi počinjala. Hodam sa senkom. Krećem se po zidu i korakom prelazim na plafon. Mogu li da vidim sobu iz tog ugla. Mogu. Nastavljam dalje. Dolazim do prozora. Korak i sada hodam po staklu. Soba još jednom menja svoj izgled…

  • Držali ste gostujuće predavanje na Elektronskom fakultetu u Nišu o Antares-Universe Vizio plaginu za Unity, to je sličan način vizuelnog skriptovanja kao Unreal4 Blueprint sistem?

Da, na poziv sa modula Elektronika/Multimedijalne tehnologije održao sam promotivno predavanje gde sam predstavio koncept vizuelnog programiranja u Unity game enginu. Vizio je delo tima dvojce ljudi iz Rusije i može se skinuti sa Asset Store-a u besplatnoj verziji. Sistem je nekoliko godina stariji od Blueprinta i oslanja se dosta na koncept viđen u Virtools-u i Quest3D-u.

  • Koliko je takav pristup skriptovanja težak artistima?

Nimalo, čak je i dosta približniji njima nego “pravim” programerima naviklim samo na tekstualni kod. Ko god je radio sa materijalima u Unreal endžinu, Autodesk-ovom ShaderFX, ili bilo kom node base editoru, osećaće se kao riba u vodi i sa vizuelnim programiranjem. Potrebno je samo znati šta želite da uradite.

Ideja kod vizuelnog programiranja je da se putem logičkih blokova – nodova, povezivanjem njihovih ulaza i izlaza napravi tok programa koji će se izvršavati po zadatim pravilima.  To je isto kao pravljenje logičkih kola:

logicka kola

Jednostavno pišete algoritam šta program treba da radi i  onda nema potrebe algoritam pretvarati u kod. Dodatno ubrzanje procesa razvoja aplikacije. Naravno neki sitni delovi programa se i dalje pišu u kodu, s tim što se ti delići nalaze vrlo često potpuno gotovi na internetu. Da se malo poetski izrazim ti delići tekstualnog koda su kao listovi na drvetu vizuelnog programiranja.

Evo slike vizuelnog programiranja iz In Cube Action video igre:

main_vizio

  • Znači u industriji se polako briše linija izmedju programera i artista. Recimo dizajneri nivoa rade na funkcionalnosti istog, dok su programeri rasterećeni od tog dela posla?

Da bi bili dobri u ovom poslu potrebno je da što više proširujete svoje znanje. Programeri trebaju da znaju šta su materijali, teksture i šejderi.
Artisti trebaju da znaju kako da programiraju otvaranje vrata i paljenje svetla u sceni da bi mogli da trenutno reaguju i naprave scenu na najbolji mogući način. Da ne čekaju programera da im on to uradi,

  • Savet programerima i artistima?

Vrlo malo projekata možete da uradite sami. Velike projekte skoro nikada. Potrebno je da  se prave timovi. Da se ne beži od novih tehnologija i oblasti koje vam nisu primarne. Naravno najbolje je da tokom studija usvajate nova znanja i upoznajete nove ljude i tu počnete da razvijate svoje timove.

VFX Serbia Vam se zahvaljuje na intervjuu. Vladimira možete kontaktirati preko LinkedIn profila i Facebook stranice.

In Cube Action možete besplatno skinuti sa Google Play Store-a.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s