Ne dijele svi istu viziju budućnosti: Steve Jobs odustaje od uzaludne borbe s vlastitim Upravnim odborom i daje otkaz! Tim, ili nekim drugim povodom, svaka radio postaja na koju okrenem urla "Shout". Apple je očito nešto bez čega Jobs može, ali Jobsove ideje ipak negdje moraju sazrijevati - rađa se NeXT. Zemeckis nas, još barem godinu dana neopterećen Pixarovom prijetnjom, uveseljava prvim i uvjerljivo najboljim "Povratkom u budućnost", Nintendo istovremeno obećava ludu zabavu lansirajući NES u Americi, a Microsoft nas baca u depresiju s Windowsima 1.0 dok radio vrti u petlji gotovo borgovsku prijetnju: "We are the World"... Pogađate: godina je 1985. Kao i svi desetogodišnjaci, i ja imam prijatelja komodoraša. Čuli smo da je neki ludi Rus napisao fenomenalnu igru, nekakav Tetris, ali morat ćemo se strpiti još bar 3 godine dok je prvi put ne pokrenemo na Debeljku. Čuli smo i da je sredinom ljeta izašla nekakva Amiga. Volimo se igrati. Igramo sve što nam dođe pod ruku. A dolazi nam puno toga. Ne smeta nam što učitavanje, pogotovo bez turba, traje i traje. Barem imamo vremena maštati o tome kako ćemo jednog dana i mi napraviti neku igru koju će možda zaigrati i onaj ludi Rus. Pokušali smo je nedavno složiti. Kažem "složiti" jer nismo neki talenti. Pirat nam je na kazetu snimio Adventure Construction Set - koji uopće nismo tražili, ali moram priznati da nas je zabavljao neko vrijeme. I onda je prestao: GO WEST, GO NORTH, PICK SWORD, KILL DRAGON... bla, bla... nema akcije, dosadno. A onda jednog dana - veselje! Izašao je GameMaker. Pravitelj igara! Sretnici koji imaju Debeljka ili Apple II upravo su postali još sretniji - mogli smo napraviti vlastitu "akcionu" igru, bez kompromitiranja statusa prirodnog antitalenta. Garry Kitchen je svojim uratkom svima dao priliku da, koristeći razne Makere u paketu (Sprite Maker, Scene Maker, Sound Maker i Music Maker), kreiraju budući hit. Što se, istina - nije dogodilo. :) Dok smo pokušavali iskombinirati sve te silne Makere u neki konkretan "proizvod" kojim ćemo oduševiti barem susjeda, Sensible Software otišao je korak dalje i predstavio legendarni SEUCK: Shoot'Em-Up Construction Set. Sada smo konačno mogli skrolati ekrane! Sensible ih je najbolje odskrolao u Canon Fodderu, ali siguran sam da smo svi skupa najviše vremena utukli u Sensible Soccer driblajući s jedinim žutokosim spriteom u našoj reprezentaciji. Prosinečki, naravno. Nije prošla ni godina dana, a Francois Lionet promijenio je svijet instant izrade igara lansirajući STOS za Atari ST. Nakon što sam pročitao prve recenzije, znao sam da je to "to". Nažalost, Atarija u mom kvartu nije bilo. :( Sljedeće godine dobio sam toliko željenu Amigu. Ali morao sam čekati još godinu dana da Francois prebaci STOS na nju. Rodio se AMOS. Konačno alat za ostvarenje dječačkih snova! Ne samo da sam se ludo zabavljao programirajući u njemu - napisao sam i svoju prvu (komercijalnu!) igru. Bio sam najsretniji srednjoškolac na svijetu. Prošla je još godina dana i dogodilo se neminovno: 2D game making postao je 3D. Iako postoji od '86., Freescape, prvi proprietary 3D engine, tek od '91. postaje dostupan svima - kao 3D Construction Kit. Svi koji su do tada petljali po "letiš, letiš, a dok letiš pucaš, pucaš..." uradi-sam-igrama, mogli su započeti kloniranje Castle Mastera. AMOS je također dobio svoju 3D verziju, ali taj 3D nema previše zajedničkog s onim na kojeg će nas u godinama koje slijede naviknuti PlayStation. GameMaker se u međuvremenu preselio na Maca - i preživio do danas, ali jedva kao primjer retro aplikacije. Amiga i Atari su nestali, a s njima i STOS i AMOS. Windows pošast je poharala svijet, ali iz toga se ipak izrodilo nekoliko kvalitetnih "game makera" nove generacije. Međutim, većina (gotovo svi!) imaju isti "problem" - u pitanju su game engini prepakirani nakon izdanja igre za koju (i tijekom čijeg kreiranja) su razvijani, što znači da se isporučuju kao gomila koda kojeg kupac može mijenjati i dorađivati te ponekim editorom koji će dio programerskog posla preseliti u WYSIWYG domenu. Iako sam zavirio u neke od tih alata, dobro znajući kako izgleda kod i editori koje smo svojevremeno kreirali za Urban Jungle, kao i svi koji su ikada probali kopati po tuđem kodu, dijelim zaključak - to je nešto što se može poželjeti samo neprijatelju. S obzirom da u Mac svijetu nema neprijatelja, a među developerima vlada bratstvo, bio je red da zavlada i jedinstvo: 2005. godine rođen je Unity. Kao i na većinu stvari koje oduševe, na Unity sam naišao slučajno. Upravo smo obavili release Urban Jungle i motala mi se po glavi ideja portanja igre na Mac. Pregledavao sam dotadašnji škrt izbor alata za developing na Macu i, tražeći alternativni game engine, doguglao do Unitya u beta fazi. Ambrosia Software je upravo izdao igru GooBall na kojoj su David Helgason, Nicholas Francis i Joachim Ante radili mjesecima bez prestanka. Kad kažem "bez prestanka", doslovno mislim "bez prestanka". Ovaj danski trojac iznajmio je sobu sa samo dva kreveta kako bi bili sigurni da jedan od njih uvijek radi! :) GooBall je nastao kao svojevrsni "nusproizvod" razvoja Unitya - njihov masterplan nije bio kreirati simpatičnu igru B produkcije - plan je bio kreirati najnapredniji "game maker" i kreirati ga isključivo za Maca! Danas, kad Unity postoji već tri godine, doguravši do verzije 2.1, njegov pristup rješavanju problema doima se kao očito rješenje. Da bi "game maker" uspješno funkcionirao, korisnik mora od ideje do gotovog proizvoda doći čim kraćim putem. Klasični "game engine" od vas traži bar dvije stvari: da svladate njegove kriptične editore i da se snađete u tuđem kodu. Ako pritom nešto može zakomplicirati, zakomplicirat će pa se nemojte čuditi ako od vas bude tražio spremanje tekstura u formatima za koje niste nikada čuli i pisanje gameplaya u egzotičnim skriptualnim jezicima u usporedbi s kojima asembler izgleda kao najrazumljivija stvar na svijetu. Ako ne želite biti rob game engina (a ne želite!), brzo će vam prisjesti ideja uradi-sam-igre i vratit ćete se svom svakodnevnom poslu, pustivši dječačke snove "tamo gdje im je mjesto". Unity ne dijeli takav pristup. Nije mu ideja zakomplicirati vam život i uništiti snove. Kreće od pretpostavke da imate ideju za novi igraći hit, kreirali ste potrebne "elemente" (grafika, zvuk...) i želite sve to "nekako" povezati, bez kopanja po tuđem kodu ili poznavanja C++. Da budete sigurni da vam nitko neće prodati "mačka u vreći", na raspolaganju je 30-dnevni trial koji će vam omogućiti da Unity upoznate iz perspektive korisnika. Ako vam se svidi ono što vidite, imate opciju kupiti Indie ili Pro licencu. Razlika u cijeni je prilična ($199 za Indie i $1499 za Pro), ali takva je i razlika u mogućnostima. No, i ovdje ima kvaka - pozitivna, na sreću. Ako niste na "p" s programiranjem, Indie će vam biti više nego dovoljan. Ako se pak ne bojite programiranja (oprez: uključuje C++!) i raduje vas mogućnost pristupa svakom pojedinom dijelu Unitya koji možete prilagoditi vlastitim potrebama - zreli ste za Pro. U oba slučaja prvo što će se ukazati pred vama kad se Unity učita je integrirani editor. I to jedan jedini. U defaultnom setupu prikazivat će 3D pogled na scenu (unutar kojeg možete manipulirati svim elementima - pomicati ih u prostoru, kao u raznim 3D aplikacijama), pogled na igru (scena gledana iz perspektive igrača) i razne informacije koje uključuju pregled komponenti koje koristite unutar igre i njihovih parametara. Poznate tipke "play" i "pause" na dnu ekrana najbolje demonstriraju WYSIWYG koncept u akciji: kliknete "play" i igra kreće (u prozoru koji pokazuje pogled na igru). Nema kompajliranja, nema nikakvih međukoraka. Nakon što ste učitali Mayinu scenu, stvorili ste prostor u kojemu se odvija vaša buduća igra. Ako vam je taj prostor premali jer ste naumili kreirati sljedeći World of Warcraft - poigrajte se s terenima. Unity je u verziji 2 dobio mogućnost kreiranja terena, a u verziji 2.1 ta je mogućnost bitno unaprijeđena utoliko što možete imati "beskonačno" terena koji se učitavaju prema potrebi - što vam garantira neograničena prostranstva (ili vječna lovišta?). Instanciranje objekata se podrazumijeva, a možete ga, osim u kodu, raditi i tako da isti "asset" (u ovom slučaju 3D objekt) više puta dovučete na scenu. Na taj način možete vaš svijet populirati klonirajući objekt(e) koje ste uveli iz Maye. Da se ovo ne pretvori u reklamu za Mayu :) spomenut ću da je podržan veliki broj različitih 3D formata, ali najveća kompatibilnost i najoptimalniji workflow je upravo na relaciji MayaUnity. Sljedeći "best bet" format je (za ovakve stvari) uobičajeni FBX. Zvuk i glazbu importirat ćete na sličan način, a postavit ćete ih u prostor koristeći ikonice zvučnika u prikazu scene - što bi vam odmah trebalo dati ideju pozicioniranog 3D zvuka! U prijevodu: zvuk neće jednostavno "svirati u pozadini" nego će svirati lijevo ili desno, ovisno o tome gdje se nalazi "kamera" kojom gledate/slušate u igri, u odnosu na izvor zvuka. Ako želite da se zvuk ponaša kao pozadinski, dovoljno je "zakačiti" ga za kameru (klasični parenting) i čut će se uvijek "s istog mjesta". Unity ima integriranu fiziku (točnije, Ageia PhysX engine) pa svaki 3D karakter koji importirate možete s par klikova oživjeti tako da na njega djeluje gravitacija i ostale sile koje postavite u prostor. Neko vrijeme će vas, garantirano, zabavljati igranje s krpenim lutkama (ragdolls). Kad ste konačno sve elemente posložili na scenu, vrijeme je za definiranje gameplaya. Tu ćete morati zaprljati ruke programirajući (točnije, skriptirajući) i veselit će vas početi od nule (nema tuđeg koda, nema nikakvog koda!). Na raspolaganju su .NET bazirani JavaScript i C#. Možda plaše na prvo čitanje, ali to je isti onaj JavaScript s kojim se inače igrate web-mastera. :) Skripte ćete vezivati uz pojedine komponente na sceni, a u njima ćete definirati što se događa u slučaju pojedinih "evenata". Event može biti štošta, a jedan od uobičajenih je kolizija. Provjeravajući samo koliziju možete u rekordnom vremenu kreirati svoj osobni Asteroids klon. :) Unityev grafički engine će se pobrinuti da sve što je na sceni izgleda "predivno" (naravno, ovisit će prvenstveno o tome što je zapravo na sceni i koliko je kvalitetno teksturirano - ako je loše izgledalo u Mayi, Unityu neće pomoći ni žličica Vegete), bez obzira na kojoj grafičkoj kartici će se igra vrtiti i bez obzira hoće li pritom koristiti OpenGL ili DirectX. DirectX na Macu? Ne, naravno. Unity, kao i, recimo, REALbasic, podržava višeplatformski deployment, što pak znači da kod snimanja finalnog proizvoda (nazovimo ga "release"), možete birati hoćete li ga snimiti kao Mac aplikaciju, Windows aplikaciju (samo Pro verzija!), Dashboard widget ili web aplikaciju (na raspolaganju su Mac i Windows web playeri). Da bude zabavnije, na raspolaganju je i posebna verzija Unitya koja nudi i Wii deployment, ali jedan od preduvjeta korištenja dotične (osim još novaca) je važeća licenca Wii developera. Jedna od jačih strana Unitya je i networking, a u kombinaciji s prethodno spomenutim "neograničenim terenima", odnedavno se Unity tretira kao trenutno najpoželjnija platforma za razvoj MMORPGova kod svih koji nemaju Blizzardove kapacitete (dakle, vojsku programera koji se brinu za custom game engine i prateće alate) - Funcom (Age of Conan) spada među takve, da ne pomislite da pričam o susjedu Peri. :) Ako dodam da je dokumentacija fantastična (uključuje i tutoriale s kojima možete napraviti kompletnu igru), korisnici uvijek spremni pomoći, a trojac s početka priče, bez obzira što je u međuvremenu dobio još 13 suradnika, i dalje spreman osobno odgovoriti na svaki upit (a takvih ne manjka!) ostaje pitanje - zašto nikad niste čuli za Unity? Vjerojatno zato što se rađe igrate nego da radite igre. I to je u redu. Uglavnom je zabavnije. :) Ali ako ikada poželite vidjeti i "drugu stranu", smatrajte se sretnim što koristite upravo platformu na kojoj radi Unity - Mac. P.S. Prije nekoliko dana izašao je i prvi broj Unity Developer Magazina (UDM). Nakon što je developer konferencija postala uobičajena (ovogodišnji Unite će se održati u Copenhagenu, od 22 do 24 listopada), Charles Hinshow odlučio je, uz pomoć kolega s foruma, pokrenuti one-man-band časopis kojeg distribuira širom svijeta i to u tiskanom obliku. :) Ako se korisnička baza nastavi širiti ovim tempom, za očekivati je da će sadašnjih 48 stranica ovog dvomjesečnika prerasti u nešto "deblje" i "češće". Kako god - prvi broj je među nama, ima se što pročitati i nadam se da u dogledno vrijeme u Hrvatsku neće dolaziti samo jedan primjerak. :) |
Komentari
Hvala..
kada će prva igra iz radijonice kreativnog odjela?
urban jungle
Btw. Odličan članak.