4 Oct 2015

Poslovi u dizajnu igara i čime se bave



Sećate li se iz kampa predavanja naših prijatelja iz "Eipixa": koji je proces pravljenja igre ?
Da se podsetimo :

A nedavno sam naišla na tekst koji nas detaljno upoznaje sa poslovima koji su traženi u industriji video igara i želim da ga podelim sa vama.




Ako želite da uđete u industriju igara, današnji vrhunski studiji su u stalnoj potrazi za talentima. Caka je, naravno, u tome da ne možete biti samo gejmer koji bi voleo da radi na sledećoj verziji igre Call of Duty. Jedan od prvih koraka ka dobijanju posla iz snova jeste upoznavanje sa raznim ulogama koje postoje u studiju. Današnje igre u kategoriji AAA traže toliko poslova da ih je ovde nemoguće izlistati, ali smo ih ovde uobičajeno grupisali kako biste stekli utisak šta ko radi, koje su veštine potrebne, itd.
Dizajner koncepta

Kao što svaki dizajner zna, najčešće je mnogo brže konceptualizovati projekat u dve dimenzije pre uletanja u 3D. Iz tog razloga, dizajneri koncepta blisko sarađuju sa glavnim dizajnerima na izradi generalnog izgleda igre.
Dizajner koncepta najčešće dobija pregled, u kome je dat generalni opis kako bi nešto trebalo da izgleda. Na primer, pregled može definisati da će likovi u igri biti „svemirski marinci“.
Od Halo do Call of Duty, igre su pune svemirskih marinaca – a svi pri tom imaju svoj jedinstveni izgled i utisak. Dakle, kako ti likovi u stvari izgledaju? U kakvim okruženjima žive? Upravo se ovim stvarima bavi dizajner koncepta, tokom izrade niza koncepata.
Da biste postali dizajner koncepta, potrebno vam je dobro poznavanje alata za skiciranje i slikanje kao što su Photoshop ili Sketchbook Pro. Pored toga, mnogi dizajneri koncepta AAA nivoa u svoje koncepte uvode određen nivo 3D-a, kako bi ubrzali tok rada.
Pogledajte trodelni intervju sa Vlasnikom konceptualnog studija One Pixel Brush AAA nivoa u kome on daje detaljno objašnjenje šta je neophodno za dizajnera koncepta.
Šta treba da naučite…
Photoshop ili SketchBook ili Corel Painter
Maya (ili sličan 3D program)
Bacite pogled kako to rade profesionalci na linku: Brza ilustracija koncepta za produkcije nivoa AAA u Photoshop-u
Dizajner priče
Kada radite kao dizajner priče, bićete zaduženi za ugođaj priče unutar igre. Većina većih studija ima i druge ljude koji rade sa dizajnerom priče, kao što je direktor razrade i/ili pisac scenarija.
Imajući u vidu da priča u igri nije uvek linearna kao na filmu, potrebno je da blisko sarađujete sa ostalim članovima tima, kako biste obezbedili da se priča razvija u skladu sa očekivanjima. To znači da su vam potrebna obimna znanja – ne samo o samoj priči, već i o načinu na koji ju je najbolje implementirati za igrača. Na primer, kada igraču oduzimate kontrolu radi prelaska na presek i razvoja priče? Gde ubaciti naraciju da bi priča krenula dalje?
Očigledno su vam potrebne profesionalne veštine u pisanju ako želite da budete dizajner priče, ali studiji često od dizajnera priče traže neočekivane stvari. Na primer, neki od njih kao što je Bungie od vas očekuju da poznajete skriptovanje za potrebe debagovanja, a drugi, recimo Ubisoft, traže čoveka koji bi umeo da nadzire aktivnosti kao što su kastinzi i sesije snimanja glasova, da bi obezbedio da priča ide pravim smerom.
Dizajner okruženja

Ako želite da budete dizajner okruženja, potrebno je da budete u stanju da koncepte okruženja pretvorite u božanstveno oblikovanu 3D scenu, koja je spremna za ulazak u endžin. Imajući u vidu da su igre interaktivne, igrači mogu zaviriti u bilo koji deo vašeg okruženja, pa je fokus na detalje uvek bitan.
Generalno, većina studija će od vas očekivati da svoja okruženja vodite od koncepta do završetka. Ovo znači da je neophodno da poznajete svaki korak u 3D toku rada – od modelovanja i tekstura, do uvođenja konačnih plodova rada u endžin igre.
Sve igre imaju budžete za prostor i teksture, pa je potrebno da budete u stanju da radite u njihovim okvirima. Ovo podrazumeva detaljno razumevanje izrade modela i tekstura visoke rezolucije i njihovo smanjenje pomoću raznih mapa tekstura, odnosno tehnika retipologije.
Šta treba da naučite…
Photoshop
Maya ili 3ds Max (ili nešto slično)
ZBrush ili Mudbox
Bacite pogled kako to rade profesionalci na linku: Oblikovanje stilizovanog okruženja igre u ZBrush-u i 3ds Max-u
Dizajner likova

Kao što su dizajneri okruženja zaduženi za vođenje okruženje od koncepta do završetka, vi ćete kao dizajner likova imati obavezu da likove koje je dizajner koncepta razvio pretvorite u 3D modele spremne za ulazak u igru.
Ovo podrazumeva detaljno razumevanje tokova rada u modelovanju sa većim i manjim brojem poligona, kao i tehnika teksturiranja, čime će vaš model oživeti, a ipak ostati u granicama broja poligona i obilja tekstura za igru.
Pošto se može desiti da morate da modelujete bilo koju vrstu likova, morate biti fleksibilni sa svojim znanjima i veštinama. To podrazumeva poznavanje tehnika modelovanja za širok dijapazon objekata i sposobnost modelovanja praktično bilo čega sa dobrom topologijom.
Trebaće vam podrobno razumevanje bilo kog standardnog softvera za modelovanje u ovoj oblasti, ali i volja da iznalazite nove načine za rešavanje problema.
Šta treba da naučite…
Photoshop
Maya ili 3ds Max (ili nešto slično)
ZBrush ili Mudbox
Bacite pogled kako to rade profesionalci na linku: Kreiranje lika u igri u 3ds Max-u i ZBrush-u
Dizajner igre

Uloga dizajnera igre je da smisli, a zatim i da pomogne u razvoju pravila igre. Kao što verovatno možete da zamislite, ova izuzetno bitna uloga zahteva obilje znanja o tome šta igru čini uspešnom. U suštini, na vama je da osigurate uspeh igre.
Na primer, verovatno ćete biti zaduženi za kreiranje fičera, pisanje misija i balansiranje toka igre.
Međutim, nije uvek sve na vama. Iako ćete odraditi dobar deo kreiranja, većina značajnih studija će od vas očekivati da sarađujete sa svima – od dizajnerskih timova do programera, na sprovođenju svojih ideja. Studiji će često od vas očekivati da kreirate prototipe radi objašnjavanja toka igre drugim timovima, koji će ga zatim razrađivati i razvijati.
Šta treba da naučite…
Python ili Lua (ili slični skript jezici)
Unreal Engine ili Unity (ili slični endžini za igre)
Bacite pogled kako to rade profesionalci na linku: Kreiranje koncepta igre i dokumenta dizajna
Dizajner nivoa

Posao dizajnera nivoa je da spoji sve delove koji je kreirao dizajnerski tim i da ih postavi u nivo igre. Na primer, dizajner okruženja pravi sve elemente koji su vam potrebni za nivo, ali je u krajnjoj liniji na vama da nivo razvijete na takav način da igražu pruži željeno iskustvo.
Potrebno je da blisko sarađujete sa dizajnerom igre, kako biste obezbedili da iskustvo odgovara njegovoj viziji.
Igre Assassin's Creed predstavljaju odličan primer solidnog dizajna nivoa. Pošto tok igre dopušta igračima da se penju i skaču praktično po svim objektima, posao dizajnera nivoa je da obezbedi da sve bude postavljeno tako da igrač može da se kreće po nivou. U krajnjoj liniji, igra ne bi bila zanimljiva ako bi trebalo doći do predmeta na prozoru koji je zaklonjen drvetom.
Da biste postali uspešan dizajner nivoa, potrebno vam je dobro razumevanje mehanike toka igre i pravila gejm dizajna, kao i šta je sve potrebno da se sve to implementira u endžinu koji koristi vaš studio. Ovo najčešće podrazumeva i dosta skriptovanja, odnosno programiranja.
Šta treba da naučite…
3ds Max ili Maya (ili sličan 3D program, pod pretpostavkom da je igra u 3D)
Python ili Lua (ili slični skript jezici)
C++ ili C# (ili slični programski jezici)
Unreal Engine ili Unity (ili slični gejm endžini)
Bacite pogled kako to rade profesionalci na linku: Unity Mobile Game Development: Level Design
Tehnički dizajner

Pozicija tehničkog dizajnera se razlikuje od studija do studija. Možda će od vas tražiti da razvijate baze likova, da kao dizajner zvuka kreirate dinamiku igre, ili da predstavljate vezu između programera i dizajnera u razvoju alata toka.
Dosta potreba zavisi i od veličine studija, ali sam naziv radnog mesta ukazuje da ćete morati da obezbedite balans tehničkih i umetničkih veština.
Iako nećete non-stop raditi kao programer na endžinu, morate znati kako da resurse od dizajnera dopunite alatima tako da profunkcionišu u endžinu. Kao što možete zamisliti, ovo podrazumeva posedovanje značajnog iskustva u skriptovanju/programiranju. To predstavlja tehničku stranu.
Umetnička strana se ispoljava u sposobnosti da resurse dizajnerskih tima pretvorite u funkcionalne elemente igre. Značajan udeo ovoga često podrazumeva da obezbedite da se resursi uklope u definisane budžete.
Na primer, dizajner okruženja može da napravi sjajan element, spreman za igru. Međutim, kada dizajner nivoa odluči da određen nivo zahteva stotinu instanci tog elementa, odjednom neko mora da smisli kako da ovi dodaci ne unište broj frejmova u sekundi. Kao tehnički dizajner, na vama je da to ispravite samostalno, ili u saradnji sa dizajnerom.
Ovo znači da ćete morati da radite u 3D aplikaciji koju koristi vaš studio (npr. 3ds Max ili Maya), Photoshop-u i u bilo kom kreativnom alatu koji vaš studio koristi.
Šta treba da naučite…
Python i MEL/MaxScript (u zavisnosti od 3D aplikacije vašeg studija)
C++ i/ili C# (ili slični programski jezici)
HLSL (ili sličan jezik za senčenje)
Bacite pogled kako to rade profesionalci na linku: Višefazna poslednja bitka na endžinu Unity
Animator

Kada dizajner razvije element, kao što je lik, to je statički objekat. Posao animatora je da ga oživi! Iako animacija nije karakteristična samo za igre, postoji razlika između animacija za igre i za filmove.
Biće vam potrebno dobro razumevanje 3D aplikacije kao što je Maya i načina na koji se koriste 12 principa animacije. Neki studiji od svojih animatora traže da pripomognu sa poslovima tehničke prirode. Recimo, ako ste tehnički animator, možda će od vas tražiti da pravite bazu za likove, pa čak i da razvijate alate za animaciju.
Čak i ako radite za studio koji od vas ne zahteva da znate da pravite bazu ili da posedujete tehničke veličine, u najmanju ruku bi trebalo da se trudite da zaokružite svoje veštine ovakvim znanjima, pa čak i osnovnim veštinama modelovanja. Ovo će vam pomoći da postanete bolji timski igrač, da locirate probleme i iznalazite im rešenja.
Šta treba da naučite…
Maya ili 3ds Max
Python i MEL/MaxScript (u zavisnosti od 3D aplikacije koju koristi vaš studio)
Bacite pogled kako to rade profesionalci na linku: Kreiranje animacija za bitku u paketu Maya
Glavni dizajner
Kada dođete do nivoa da možete da radite kao glavni dizajner, velika je verovatnoća je da već znate šta taj posao podrazumeva. Ovo iz razloga što većina glavnih dizajnera, a naročito onih za igre kategorije AAA, ne uleću u ovaj posao bez prethodnog iskustva.
Imajući to u vidu, vaša uloga kao glavnog dizajnera je da obezbedite da celokupan dizajnerski deo igre ispuni viziju i ciljeve kvaliteta igre. To znači da ne samo što ćete definisati umetnički stil igre, već ćete i blisko sarađivati sa čitavim dizajnerskim timom da bi njihov dizajn bio u skladu sa tim stilom.
Takođe ćete morati da sarađujete sa tehničkim timovima da biste obezbedili da dizajn koji igra generiše i dalje bude u umetničkom pravcu same igre.
Šta treba da naučite…
Maya ili 3ds Max
Photoshop
Unreal Engine ili Unity (ili bilo koji endžin koji se koristi u vašem studiju)
Dizajner korisničkog interfejsa

Ova uloga ima dva primarna elementa. Prvi se odnosi na sam korisnički interfejs. Kada se njime bavite, potrebno je da obezbedite da direktni interfejs igre, kao što je komunikacija tokom igre, odgovara stilu same igre, a da pri tom ostane funkcionalan.
Sa druge strane, dizajn korisničkog iskustva polazi od korisničkog interfejsa i obezbeđuje da njegova funkcionalnost bude jednostavna i intuitivna. Dizajn korisničkog iskustva je nalik dizajnu kretanja, pa su potrebne veštine da se dizajn u pokretu učini funkcionalnim.
Iako postoji značajna razlika u poslovima, postoji i dosta preklapanja između ove dve uloge. Studiji ponekad ove uloge spajaju u jedno radno mesto.
Bez obzira čime od navedenog se bavite, rezultati rada ovog tipa dizajna se ogledaju u korisničkom iskustvu koje odgovara stilu igre, a pri tomm ostaje intuitivno za igrača.
Šta treba da naučite…
Photoshop
Illustrator
After Effects ili Flash
Maya ili 3ds Max (ili slična 3D aplikacija)
Unreal Engine ili Unity (ili bilo koji endžin koji se koristi u vašem studiju)

Bacite pogled kako to rade profesionalci na linku: Kreiranje elemenata korisničkog interfejsa za igre u paketu Unity
Dizajner specijalnih efekata

Kada radite kao dizajner specijalnih, zaduženi ste za kreiranje simulacija za igru kao što su čestični sistemi. Ponekad se ova uloga naziva VFX dizajner, kao parnjak iz filmske industrije, pri čemu je glavna razlika između dizajna specijalnih efekata za igre i za filmove u tome što imate priliku da dizajnirate za gejm endžin u realnom vremenu.
Koliko god ovo jednostavno delovalo, razvoj specijalnih efekata u realnom vremenu dodaje još jedan nivo kompleksnosti. Na primer, realno ne postoji zaštitni sloj u igrama i većina igara dopušta igračima slobodno kretanje, pa ćete morati da obezbedite da svaki efekat deluje dobro iz svakog ugla.
Ako ove izazove spojimo sa ograničenjima koje nameće tok realnog vremena, očigledno je da ćete kao dizajner specijalnih efekata morati da posedujete značajno tehničko znanje u oblasti čestičnih sistema i veštine rešavanja problema kada stvari krenu suprotno vašim očekivanjima.
Šta treba da naučite…
Maya ili 3ds Max (ili slična 3D aplikacija)
Houdini
Photoshop
Python (ili slični skript/programski jezici)
Unreal Engine ili Unity (ili bilo koji endžin koji se koristi u vašem studiju)

Bacite pogled kako to rade profesionalci na linku: Uvod u čestične sisteme za Unreal Engine
Programer igre

Ako ste ikada sanjali u liniama koda, posao programera igre može biti pun pogodak za vas. Kao programer igre ćete biti odgovorni za prikupljanje objekata i dizajna i njihovo uklapanje u gejm endžin.
Neki studiji ovu ulogu nazivaju programerom igranja jer će vam primarna odgovornost biti da se fokusirate na funkcionalnosti igranja. Pored toga, neki studiji ovu ulogu fokusiraju i na specifični endžin. Na primer, možete se specijalizovati kao programer igre za Unity.
Kao što možete zamisliti, ovo znači da vam je potrebno značajno poznavanje matematike i programiranja na jeziku koji traži vaš endžin. Takođe će vam trebati pristojno razumevanje fizike, veštačke inteligencije, željene mehanike igranja i sposobnost debagovanja koda.
Šta treba da naučite…
Napomena: Jezici na koje bi trebalo da se fokusirate zavise od programskog jezika koji koristi endžin vašeg studija.
C++, C#, Perl, Python, Java, itd.
Unreal Engine ili Unity (ili bilo koji endžin koji se koristi u vašem studiju)

Bacite pogled kako to rade profesionalci na linku: Kreiranje sistema za igranje pomoću Blueprint fičera u paketu Unreal Engine
Programer veštačke inteligencije

Većina dobrih igara zahteva veštačku inteligenciju koja će predstavljati izazov za igrača, pa je vaša uloga kao programera veštačke inteligencije da razvijete funkcionalnosti za praktično svaki element igre koji nije pod kontrolom igrača. Ovo obuhvata stvari kao što su NPC-i i dejstva neprijatelja.
Kao i kod svakog programerskog posla, potrebno je da poznajete matematiku i fiziku, kao i da umete da optimizujete svoj kod. Možete očekivati dosta rešavanja problema kada odeljenje za osiguranje kvaliteta bude prijavljivalo bagove koje otkrije u veštačkoj inteligenciji.
Šta treba da naučite…
Napomena: Jezici na koje bi trebalo da se fokusirate zavise od programskog jezika koji koristi endžin vašeg studija.
C++, C#, Perl, Python, Java, itd.
Unreal Engine ili Unity (ili bilo koji endžin koji se koristi u vašem studiju)

Bacite pogled kako to rade profesionalci na linku: Serija igara 2D trka u endžinu Unity: Volume 4
Programer ključnih alata
Kada radite u studiju za razvoj igara, zasigurno ćete se susresti sa izazovima koji su specifični za vaš jedinstveni tok rada. Kao člana tima za ključne alate, suština vašeg posla je da dizajnere u timu podstaknete da rade brže i efikasnije. Ako možete da napravite alat koji će im svakog dana uštedeti po pet minuta, to će se nakupiti tokom čitavog razvoja igre.
Kao što možete pretpostaviti, razvoj ključnih alata podrazumeva da posedujete podrobno poznavanje tokova rada od početka do kraja. Ovo obuhvata dosta softvera koji se koristi tokom rada, bilo da je u pitanju Maya, Photoshop ili gejm endyin koji vaš studio koristi. Sa ovim znanjem ćete moći da utvrdite kada posao ne teče glatko i da utvrdite kakve bi alate mogli da kreirate da ubrzate rad.
Imajući u vidu da u tipičnom toku rada ima dosta ljudi, često ćete morati da radite sa njima i da tumačite potrebe raznih dizajnera u radu.
Šta treba da naučite…
Python
C# ili C++
Programski interfejsi za alate vašeg studija (npr. Maya, Photoshop, itd)
Osiguranje kvaliteta
Ako mislite da rad u osiguranju kvaliteta znači da ćete biti plaćeni da po čitav dan igrate igre, bićete razočarani. Iako igranje predstavlja deo posla, gledajte na to kao kada ste onda u školi morali da napišete sastav o knjizi Hobit. Morali ste da je mnogo bolje proučite nego da ste je samo onako čitali.
Isto tako, iako osiguranje kvaliteta podrazumeva igranje, ovde potpada mnogo više od toga. Vaša uloga je da otkrijete gde igra puca, da to prijavite i da pratite svaki bag do rešavanja. Ako vas igra usmerava da skrenete levo, morate otkriti šta se dešava ako skrenete desno. Ako vam igra stalno puca tako da pucanje može da se ponovi, to možete prijaviti razvojnom timu da bi ispravio bag.
A kada bude ispravljen, ponovo prolazite istom stazom da biste potvrdili da baga zaista više nema.
Mnogi misle da je osiguranje kvaliteta put ka drugim ulogama u industriji igara. Iako to u pojedinim studijima može biti tačno, nisu svi studiji voljni da vas puste dalje sa ove funkcije.
U svom intervjuu povodom igre Hearts of Iron 4, Viši menadžer za osiguranje kvaliteta Ana Dženilijus je rekla: „Ne bi trebalo da se prijavljujete za osiguranje kvaliteta ako želite da budete gejm dizajner. To [da je osiguranje kvaliteta] ulazna tačka ili odskočna daska uopšte ne volim. Ako zaista ne želite da radite u ovoj oblasti, nećete uživati u tome, a mi nećemo od vas dobiti najbolje rezultate. Ako zaista ne želite posao, svi su na gubitku.“
Inženjer za online softver
Ne morate igrati najnoviji Call of Duty za više igrača da biste igrali igru koja u izvesnoj meri koristi online prisustvo. Od čuvanja igre, do praćenja statistika i, naravno, mogućnost igranja sa više igrača – sve su to elementi servisa u okviru Xbox Live ili PlayStation Network. Kao inženjer za online softver, upravo ćete vi biti odgovorni za razvoj i funkcionisanje cloud mogućnosti vaše igre.
Imajući u vidu da danas većina servera radi na nekoj varijanti Linux-a, dobre su šanse da će vam biti potrebno poznavanje debagovanja na Linux-u, kao i u programskim jezicima vašeg endžina. Ova pozicija je izrazito tehničke prirode, a koristi i poznavanje baza podataka, imajući u vidu da se podaci razmenjuju između gejm endžina i online baze podataka.
O da, a ako ste ikad igrali online igru, znate i da serveri povremeno padaju u najnezgodnijem trenutku. U ovoj ulozi postajete deo tima koji je zadužen za vraćanje funkcionalnosti. To znači da morate umeti da otkrijete osnovni uzrok problema i da proaktivno tražite probleme pre nego što se ispolje.
Šta treba da naučite…
C++, C# ili Java
Linux
MySQL (ili slična baza podataka)
Mrežni protokoli (TCP, UDP, HTTP, HTTPS, itd)
Administrator mreže
Da bi vaša omiljena online igra za više igrača radila, neophodno je dosta rada na serverskoj strani. Kao što možete zamisliti, ovo znači da timovi ljudi razvijaju i održavaju servere. Kao administrator mreže, zaduženi ste za praćenje i održavanje optimalne efikasnosti rada tih servera.
Ovo znači da je potrebno da budete verzirani u serverskim skripting jezicima, bazama podataka i internet tehnologijama koje koristite. Slično ulozi inženjera za online softver, verovatno ćete biti deo tima koji pozivaju da reši krizne situacije ako (odnosno kada) server padne.

Ova lista poslova u gejming industriji predstavlja samo vrh ledenog brega kada su u pitanju savremene igre kategorije AAA. Većina ovih uloga, a naročito njihovi nazivi, značajno varira u zavisnosti od studija. Ako ste bacili oko na konkretan studio, pogledajte njihove oglase za poslove i vidite koji su zahtevi. Na osnovu toga ćete steći dobar utisak o onome što morate da naučite.
Izvor: Game jobs and what they do
prevod: Lana