Koliko često izađe softver nakon čijeg releasa poželite otići među developere i sve ih redom izgrliti? Ne znam za vas, ali kod mene je taj nagon proradio kad je Unity 1.0 ugledao svjetlo dana. Bilo je to 2005. godine, dok je Unity još bio beba koju su David, Nicholas i Joachim porodili vjerujući da su napravili "pravu stvar". Iako je već tada, ne posebno bogat featurima, odskočio od jednako ne-posebno-bogate konkurencije, pažnju je privukao kao jedan od rijetkih game engina raspoloživih za Mac, koji, usput, od korisnika ne traži diplomu Stanforda za uspješno korištenje. Tri muškarca i UnityUnity je svoju premijeru doživio u lipnju 2005. na WWDC-u, kao Appleov uzvanik. Već sljedeće godine, u kolovozu 2006., nagrađen je kao runner-up Appleovim Design Awardom za najbolje korištenje Mac OS X grafike. Tijekom narednih godina polica za nagrade hrabro je odoljevala pritisku sve veće težine kipića koji su se na njoj gomilali, a ove godine vrijeme je za novu policu jer je Unity okrunjen s prestižnim Develop Grand Prixom i ništa manje laksavim Technology Innovation Awardom dodijeljenim u softverskoj kategoriji od strane Wall Street Journala. Čini se da je trojac doista napravio "pravu stvar". Svoje oduševljenje Unityem podijelio sam s vama krajem kolovoza 2008., uzvikujući "Živjelo bratstvo i jedinstvo". Ako ste ga preskočili u strahu od neprikrivenog komunističkog pamfleta - preporučam da nadoknadite propušteno, ne grize. :) Tada je Unity bio već itekako solidan komad softvera i nosio je oznaku 2.1. Krajem te godine mnogi su ih poželjeli zagrliti jer je otvorio vrata jednostavnog razvoja 3D aplikacija i za iPhone. Kompanija (Unity Technologies) se preko noći udvostručila: kako u osoblju, tako i u broju prodanih licenci. Unity se preselio i na Windowse, a osim na iPhone (danas: iOS) omogućio je deployment na Wii, PS3 i Android. "One engine to rule them all", složio bi se i ovdje Tolkien, ali i veliki igrači poput Electronic Artsa koji su također uskočili u Unity vlak. NevjerojatnoKrajem prošle godine izdana je potpuno ispolirana verzija 2.6 i šokirala je korisnike time što je postala - besplatna. Licencu je od tada potrebno kupiti samo za Pro, iOS i Android verziju, odnosno za Wii/PS3 koji se licenciraju posebnim ugovorima. Zlobnici će primjetiti da se ta odluka poklapa s promjenom licencnih uvjeta korištenja Unreal Development Kita, ali:
Zvončići, zvončići...Verzija 2.6 bila je aktualna do prije desetak dana. A onda, nakon gotovo 4 mjeseca iscrpljujućeg beta-testiranja, skinut je NDA sa sljedeće verzije i 3.0 postalo je svima dostupno izdanje - izdanje koje je ponovo probudilo isti onaj nagon za grljenje developera! No, sad ih je već 50+ pa, po novim licencnim uvjetima, svaki korisnik Unitya ima pravo izgrliti samo jednog od developera u timu. Srećom: po vlastitom izboru. A zašto uopće grlimo developere? Zato što nema drugog načina za im se zahvaliti za ono što nam poklanjaju za 0 kn ili za "čak" $1.500 koliko košta Pro licenca! Pokušat ću biti slikovitiji: kada u softver koji vrijedi kao "suho zlato" (v2.6) ubacite samo dvije dodatne komponente od kojih svaka inače košta peteroznamenkastu cifru u dolarima (i to za jednokratno korištenje!) - ili se zapitate koji to Soros financira lude Dance i kako se uklapaju u plan s kojim je i Veliki Meštar upoznat samo na need-to-know bazi - ili jednostavno prihvatite da je Božić ove godine uranio. Što se krije ispod bora?Naizgled - ništa. :) Ušavši u 3.0 imate dojam da ste tamo gdje ste bili i do sada. Sve je nekako poznato, razlikuje se jedino po crnom skinu (u Pro verziji), nalik onome iz zadnje Maye, Maxa ili CS5. To je dobra vijest jer kada bi sve izgledalo "drugačije", bila bi to potvrda da ono što ste do sada koristili zapravo nije valjalo. :) S obzirom da je sve naizgled isto, osnovni koncept je rock-solid i 5 godina kasnije - to se zove imati jasnu viziju proizvoda! Ono što nećete ni vidjeti su novosti ispod haube - velik dio enginea napisan je iznova. Satkan je od 5 godina iskustva u razvoju dosadašnjeg, oslobođen je dječjih mušica, optimalno je prilagođen svim spomenutim platformama i u konačnici je, a to je najvažnije, značajno brži od svog prethodnika. U prijevodu: imat ćete bolji framerate starih projekata. Editori svih zemalja - znate što vam je činitiAko ste korisnik više od jedne licence (najčešće su to Pro i iOS), mahat ćete repom vidjevši da od sada desktop i mobile deployment više nisu rasuti u dvije zasebne instalacije Unitya. Uz v2.6, namijenjen desktop deployingu (Mac/Win standalone, Mac/Win web player, Mac widget), na disku ste morali imati i v1.7 za iPhone/iPad (iOS) deployment. Ne bi bilo ni toliko strašno da v1.7 nije baziran na v1.x editora koji u odnosu na funkcionalne apgrejde v2.x djeluje kao dinosaurus (korisnike je lako razmaziti!). Da bude apsurdnije, taj dinosaurus je imao ugrađen culling kako bi se iPhone developerima olakšao život. Culling je tehnika "skrivanja" 3D objekata/poligona koji se ne vide s neke pozicije na 3D sceni, kako bi se olakšao posao grafičkoj kartici. Bez cullinga bi 3D na iPhoneu bio neupotrebljiv. A culling nije trivijalan za implementaciju. Ostat će vječna zagonetka zašto culling nije bio implementiran i u desktop verziji (2.6). :/ Kako god, sve te muke su postale prošlost s 3.0 - o cullingu malo kasnije, a najvažnije je da od sada postoji samo jedan editor u kojem se može developati za SVE: od iPhonea do PS3 - naravno, sukladno instaliranim licencama. Funkcionalna kozmetikaEditor je doživio brojne plastične operacije koje ćete otkriti tek po putu. Ili nećete jer ćete biti uvjereni da su oduvijek tamo - jer je logično da su oduvijek bile tamo. :) Tvikanje postavki nije bilo nikad jednostavnije, a imajući na umu deployment na različite platforme to je itekako dobrodošla opcija. Shvatit ćete kad vam postane jasno da više ne morate mijenjati ikonice NAKON builda - Unity će sve obaviti za vas i isporučiti vam finalni proizvod. Uveden je Object Picker - praksa je pokazala da se sa dosadašnjim pop-upovima nije bilo najjednostavnije snalaziti u scenama s gomilama asseta (različiti resursi korišteni u projektu: od objekata i tekstura do samih skripti). Sad se otvara prozor s thumbnailovima koji ima i vlastiti filter - štogod tražili, naći ćete! Editoru je dodan "snapping" koji omogućava "prislanjanje" 3D objekata bazirano na njihovim vertexima (točkama). Scene (u igrama) se obično grade ponavljajući elemente tipa "komad ceste", slažući ih jedan do drugoga, a to sa snappingom postaje dječja igra. Bez snappinga je zahtjevalo manualno pozicioniranje na prethodno izračunatu koordinatu i kao takvo je trošilo bitno više vremena. A pritom bi i zjevali od dosade. Pretraživanje - za ovo im treba dati posebnu nagradu. :) Briljantan koncept: imate scenu prepunu šarenih objekata (jer scene obično jesu prepune šarenih objekata). I tražite "stol". Koji se zove "stol". I negdje je na sceni. Do sada ste ga mogli naći tako da u filter utipkate "stol" i lista objekata na koji možete kliknuti se suzi na one koji sadrže riječ "stol". Međutim, sada će se, uz to, dogoditi i sljedeće: sve što NE sadrži riječ "stol" će u editoru (u kojem imate pogled na 3D scenu) postati "blijedo" - samo će objekti koji sadrže naziv "stol" biti "u boji" - iz aviona ćete vidjeti gdje su i moći im pristupiti. A sam efekt pretraživanja će izmamiti "wow!". U konačnici ćete postajati sve senilniji samo da bi mogli pretraživati na taj način. Ali to je rizik posla. ;) Zvjer je puštena!Lightmapping je jedan od razloga zašto današnje igre izgledaju vraški dobro. Možda nisu igrive poput Froggera, ali ponekad jednostavno poželite napraviti snapshot i okačiti ga na zid, kraj omiljenih vam goblena. Lightmapping je, stručnim rječnikom, veliki pain in the ass. Zahtjeva savršenu topologiju 3D modela kako bi dotični mogao imati jednako savršenu UV mapu i onda se sve to lijepo osvijetli u 3D aplikaciji, "bejka" i kao tekstura proslijedi u neki real-time engine (Unity, u ovom slučaju). Ako potom art-direktor odluči u mjesečinom osvjetljenu uličicu dodati narančastu lampu, ponavlja se proces osvjetljavanja i "bejkanja", generirajući novu teksturu. Ako se art-direktor ponovo predomisli, sljedeći dan ga pronađu u nekoj mjesečinom osvjetljenoj uličici, bez pulsa. Kako je art-direktor bez pulsa prilično beskoristan, rješenje je kompletan dio posla iz 3D aplikacije preseliti u Unity i omogućiti mu da se predomišlja do mile volje. Tako je i učinjeno! Unity je dobio alat za lightmapping i to ne bilo koji - dobio je Beast, zvjer među alatima za lighmapping, jednu od one dvije komponente čije se licence inače plaćaju po cijeni limuzine srednje klase. Od sada: krijesnice!Lightmapping ima smisla samo kada se na sceni ništa ne miče. Mračna ulica osvjetljena mjesečinom se ne miče. Ali zato roj krijesnica u istoj toj uličici radi problem. Zato valjda nikad ne vidimo roj krijesnica u mračnim ulicama u igrama. No, ubuduće ćemo vidjeti i njih jer je Unity dobio "deffered rendering". Koliko god je tehničko objašnjenje zanimljivo i cure mi sline dok se trudim uživo objasniti ga u svoj njegovoj genijalnosti, skratit ću na činjenicu da deffered rendering znači gomilu dinamičkog svjetla na sceni. I nikad realističnije scene! U sjeniDok još zadovoljno trljate ruke jer ste ušićarili Beast za 0 kn, primjećujete da se u izborniku sakrio i Occlusion culling. I to ne bilo koji već - Umbra! Ono što je Beast za lightmapping, to je Umbra za occlusion culling. Onda valjda nije ni čudo da će vas i Umbra koštati koliko i Beast: točno 0 kn. :) Umbra je za Unity razvila novi "Precomputed Visibility Solution" algoritam. Osim što savršeno odrađuje posao i skriva sve što treba sakriti kako bi framerate bio što veći, vraški dobro izgleda i u editoru dok tvikate postavke - pogotovo ako ste ljubitelj Trona. :) Stereo? Naaah.Bilo je vrijeme da Unity dobije debuger. Ali ne samo da je dobio debuger nego je uz dosadašnji Unitron (editor koda baziran na Smultronu), dobio pravi pravcati IDE: MonoDevelop! I u njemu debuger (za korištenje kojeg, istina, morate imati Pro licencu - napomenut ću i da su oba vrijedna poklona, Beast i Umbra, također dostupni samo u Pro verziji!). Da bude malo manje zbunjujuće zašto baš MonoDevelop (a ne... Xcode): u Unityu se za programiranje/skriptanje koriste JavaScript, C# i Boo, a sve skupa počiva na open source .NET platformi poznatijoj kao - Mono. Unity traži zvijezduKada u alatu poput Unitya već imate Beast i Umbru, tišina nije opcija. Zato je audio doživio krupan upgrade i sada zvuči bolje nego ikad! U Pro verziji dostupni su audio effect filteri s kojima možete izvoditi čuda sa zvukom. Bilo je i vrijeme! Car više nije golKada sam, prije desetak godina, prvi put vidio Mayin Cloth, modul za fizikalnu simulaciju mekih tijela (soft bodies), bio sam istovremeno oduševljen što postoji i radi to što radi, i razočaran vidjevši koliko sporo radi to što radi, znajući da još neko vrijeme nećemo vidjeti takve efekte u realnom vremenu. PS3 me nekoliko godina kasnije uspješno uvjerio u suprotno, ali i dalje nisam fiziku mekih tijela doživljavao kao nešto trivijalno. Onda je Will Goldstone pokazao Cloth Physics Unity demo i ne znam što je bilo šokantnije: vidjeti demo ili shvatiti da ga spominju tek toliko da ga spomenu, kao da su promjenili ikonu ili nešto još manje nevažnije. Ponašajmo se u skladu tim, nemojmo pljeskati, idemo dalje. Entska poslaBit će da je u ekipu Unity developera ušao i neki šumar jer UDK korisnici više neće imati puna usta svog omiljenog SpeedTree Editora - Unity je dobio Tree Creator. I jako je zabavan! :) Na stranu to što je zabavan, činjenica je da više ne moramo importirati gotova 3D stabla, možemo ih proceduralno modelirati! Nije ni čudo da već danima slušam Crvene koralje, kao potencijalni soundtrack, i pokušavam osmisliti igru s drvosječom. Bit će hit u AppStoreu! Kako se obogatiti u Hrvatskoj?Nabrojao sam neke od najvidljivijih novosti u Unityu 3, ali to svakako ne iscrpljuje listu novotarija. No, sasvim su dovoljan razlog za zagrliti developere. Pogotovo kad nam dođe do mozga da slogan "The Most Powerful Engine This Side of a Million Dollars" ima itekakvo pokriće! Ako s vremena na vrijeme maštate o tome da putem AppStorea prodate svoju igru u milijun primjeraka, a odustali ste od Xcodea jer ste u njemu izgubili vlastito samopouzdanje - probajte Unity. Koštat će vas, znate već i sami, točno 0 kn - a samopouzdanje bi moglo dobiti adrenalinsku injekciju. :) |
Komentari
Dođe mi da pustim sve i krenem ovim putem... :-):P
@Riba To je GMO drvece
Bravo
Odličan prikaz
Evo link (nadam se da smijem):
http://itunes.apple.com/app/basketball-crazy-hoop/id393856195?mt=8
http://img100.imageshack.us/img100/9783/jabucnjak.jpg
Mislim da bi ShiVa mogla prešišat Unity u nekoj skoroj budućnosti.
Problem Unity-a je što gotovo uvijek postoji neki "potencijalni" bug ( iskusio sam to na vlastitoj "koži"-projektu ).
Ako misliš na live tečajeve i još k tome "kod nas", AFAIK, ne postoje. Dobra vijest je da ih mi (DIR) u Rijeci planiramo, u sklopu predavanja u e-učionici informatičkog muzeja PEEK&POKE, ali još uvijek smo u fazi opremanje učionice iMacovima uz pomoć Ljudi Dobre Volje pa će to vjerojatno malo potrajati.
Do tada su, ako ti pašu video tutoriali, http://unity3dstudent.com/ i https://www.design3.com/by-software/unity dobar izbor za od tuda krenuti.
Na Amazonu je raspoloživa i knjiga "Unity Game Development Essentials", također korisna za početak, a ovih dana bi trebala izaći još jedna.
> Koliko je vremena potrebno za takvo što? Npr. od prvih koraka do razvoja igre?
To ovisi o igri i onome tko je radi: Carmacku i Meieru obično treba manje vremena nego običnim smrtnicima. Ako znaš što radiš (čitaj: ne boriš se s alatom i dokumentacijom) , prototip igre možeš kreirati i za jedan dan. Naravno, od prototipa do finalnog izdanja ima puno posla, ali već s prototipom vidiš da li je nešto igrivo ili nije, a s većinom drugih alata do funkcionalnog prototipa stižeš puno kasnije.
Bitno je kvalitetno obaviti predprodukciju, pogotovo "dosadni" dio dizajniranja same igre "na papiru", stvaranjem dizajn dokumenta u kojem je definirana kompletna logika igre, do najmanjih detalja. Tek nakon toga se sazukavaju rukavi u Unityu (ili čemu god), gdje se samo implementira sve prethodno definirano u dizajn dokumentu. I da, po putu bude i promjena u dizajn dokumentu, proces je često "dvosmjeran". Ako je u igri bitna grafika (u Tetrisu, primjerice, nije ključni element), poželjno je u predprodukciji riješiti i "concept art" - s jedne strane da se ima jasna vizija kako igra mora izgledati, a s druge da se može na vrijeme odabrati put kojim će se doći do toga (Unity svakako nije najsretnije rješenje za u njemu napraviti klon klasičnog 2D Tetrisa - iako je, naravno, moguće).
> Koja su još znanja potrebna/poželjna?
I to ovisi o igri. Ako radiš simulaciju vožnje, poželjno je imati vozačkog iskustva (makar u ulozi suvozača). Od tehničkih znanja, potrebna su sva ona koja, ovisno o dizajnu igre (pri čemu NE mislim na grafički dizajn nego na gore spomenut "dizajn dokument"), treba implementirati. U najmanju ruku snalaženje u nekom 3D programu iz kojeg će doći objekti, snalaženje u grafičkom programu iz kojeg će izlaziti teksture i snalaženje u nekom sound editoru iz kojega će stići zvukovi. Naravno, to ne znači da autor igre mora imati sva navedena znanja. U praksi će vjerojatno "pokupiti" dijelove svih tih workflowa, ali nerijetko se posao podijeli u barem dvočlanu ekipu u kojoj se jedna osoba bavi programiranjem, a druga "artom" (grafika/zvuk). Što je krupniji zalogaj u pitanju, potrebna je veća ekipa, kako bi se svatko mogao fokusirati na svoj dio posla. No, indie igre često rade i "jednočlani timovi". Uvijek možeš kupiti gotove 3D objekt(e) i potreban zvuk te sve to spojiti u igru kakvu si zamislio. A možeš i otpjevušiti glazbenu temu, nacrtati likove na salveti i eto ti... Doodle Jump.
> Da li je potrebno biti nadaren za likovno izražavanje?
Nije, ali svakako pomaže. Iako, više od nadarenosti za likovno izražavanje, pomaže smisao za estetiku jer zahvaljujući njemu, možeš kvalitetno birati elemente koji će (kupljeni) ući u igru, a da pritom vizualno ne odeš u kič.
> Da li se programi tog tipa mogu koristiti i za nešto drugo osim igara?
Programi tipa Unity? Da, mogu. Jedan od primjera je i naš hyperviz (www.hyperviz.com), u kojem se Unity koristi kao jedan od 3D enginea za vizualizaciju (drugi je in-house Urban3D engine).
Napominjem da alati poput Unitya svakako nisu dobar izbor za programiranje baza podataka.
> Koliko dugo potraje stvaranje igre, onako otprilike?
Meni je najkraća trajala jedno popodne (igrivi prototip igre za iPhone, u Unityu), a najduža 3 godine (Urban Jungle, u vrijeme dok Unity još nije postojao). No, u okviru indie produkcije rokovi se obično svode na 2 do 6 mjeseci. Toliko rada na igri je uglavnom "prihvatljiv rizik" (s komercijalne strane).
> Koliko ljudi zahtjeva takav projekt?
Od 1 do N.
Osobno mislim da je najzabavnije raditi indie igre u dvočlanim timovima pri čemu se dvoje uključenih u projekt mora međusobno nadopunjavati pa ako si dobar u programiranju i, eto, usput se baviš i glazbom, kolega ili kolegica će pokriti crtanje i napisati upute, a zajedno ćete uvijek imati "drugo mišljenje" bez straha da vam netko ne ukrade ideju.
A ako vam se koji dan i ne radi na igri, uvijek možete zajedno chillati u potrazi za inspiracijom.
ShIva vs Unity je bolji izbor ako si netko da truda pa se ponoći sa po meni pomalo konfuznim ShiVa interfaceom , ja osobno radim s Unityem već vise od godinu i pol , manje vise intenzivno ( ne smatram se Unity poweruserom) te još uvijek otkrivam stvari u Unity-u.
Te jedino s čim s djelomično ne slažem iz teksta jest to sto bi ljudi mogli steči krivu sliku o tome da za izradu igri jedino sto im treba je game engine i level editor, a osobno znam da je to tek početak , jer uz sva ta GUI sucelja opet treba nakucati par tisuća linija koda da bi se dobio neki proizvod.
Te izrada igre nije nit brz nit lak posao, jedino sto je sigurno da je dinamican i zabavan, ali definitivno nije brz i lagan.
Nemoj nužno kriviti Unity za probleme s kolizijom. Kao prvo, u Unityu to ovisi o PhysXu. Kao drugo, ovisi o UTovoj implementaciji PhysXa pri čemu su, istina, mogući bugovi za koje bi mogli kriviti Unity. Međutim, kao treće, kad je kolizija u pitanju, najčešći problem je njezino "pogrešno" korištenje - PhysX je, kao i druga fizikalna rješenja za igre, "kvazi fizika", bazirana na brzim aproksimacijama . Dok god se objekti sporo kreću, stvar funkcionira prihvatljivo. Ali nakon određene brzine, testovi kolizije "pucaju" jer u dva susjedna frejma objekti nisu u dovoljnoj blizini za test: u prvom frejmu se još nisu "sudarili", a u drugom je penetracija već tolika da se zbog udaljenosti collidera tretira kao da se nije ni dogodila. Potencijalna rješenja su uvijek ista: povećati sampling fizike (uglavnom neisplativo jer samo više CPU resursa odlazi na testiranje) ili koristiti raycast metodu testiranja kolizije koja je zapravo jedina smislena kod velikih brzina. U 3.0 je napravljen upgrade na PhysX 2.8.3 pa se problem može pokušati riješiti sa novom, kontinuiranom detekcijom kolizije ili pak koristeći Physics.SphereC ast ili Physics.Capsule Cast (za testiranje kolizije volumena) tamo gdje običan Raycast nije dovoljan.
> Za naše prilike 3000 $ je previsoka cjena za punu licencu Unity iPhone developinga.
Za naša prilike bi i 3.000 kn bilo previše ali treba biti objektivan pa reći da je to ipak kikiriki za gotov, ispoliran game engine. Alternativa je sam ga raditi godinama (što je daleko skuplje od $3.000!) ili, naravno, kupiti neki jeftiniji, s kojim je čovjek zadovoljan. Osim toga, sama ideja developinga za iOS, ako ne računamo hackintosh rješenja, nije nimalo jeftina ni zbog potrebnog Mac hardvera na kojem će se kompajlirati finalni build u Xcodeu. Možemo spomenuti još i sav softver koji obično sudjeluje u nastanku jedne igre. Od Photoshopa, preko nekog 3D alata do nečega za zvuk. I da, to uvijek mogu biti GIMP i Blender, ali u velikoj većini slučajeva, čak i kod indie developera, nisu.
> Te jedino s čim s djelomično ne slažem iz teksta jest to sto bi ljudi mogli steči krivu sliku o tome da za izradu igri jedino sto im treba je game engine i level editor, a osobno znam da je to tek početak , jer uz sva ta GUI sucelja opet treba nakucati par tisuća linija koda da bi se dobio neki proizvod.
Ne sjećam se da sam u tekstu igdje "uvjeravao" potencijalne korisnika da je Unity sam za sebe dovoljan. Evo, bit ću eksplicitan pa reći: Unity je game engine - kad ga kupite, kupili ste game engine, ostalo morate obaviti sami. Ali s time što ste kupili, uštedjeli ste si godine posla. Doslovno. I platili ste to veselje između $0 i $3.000 (+još bar $99 Appleu da bi kompajlirani build stigao do iPhonea).
No, nije fer ni strašiti potencijalne korisnike s par tisuća linija koda. Možda netko želi napraviti 3D Minesweeper. Za to mu ne treba par tisuća linija koda. Treba mu barem red veličine manje. Naravno, ljepota programiranja je i u tome što do svakog rješenja postoji više od jednog puta pa nerijetko ista stvar može biti napisana i s 1.000 i sa 100 linija koda. To je već zona optimizacije i uvjerljivo najzahtjevniji dio razvoja svakog softvera, a pogotovo igara gdje svaki uzalud bačeni ciklus rezultira padanjem frameratea, kojeg igrač itekako primjeti.
> Te izrada igre nije nit brz nit lak posao, jedino sto je sigurno da je dinamican i zabavan, ali definitivno nije brz i lagan.
Istina. No, i to ovisi o tome tko i što radi. Ljepota Unitya (i ne samo njega već svih sličnih alata) je upravo u tome što odrađuje lavovski dio posla i nešto što bi se od nule moralo kodirati danima (u Xcodeu, recimo), u Unityu se može odraditi za jedno kišno popodne. Jasno je da to znači i puno kompromisa (generički engine uvijek je daaaaleko manje optimiziran od bilo kojeg specijalizirano g!), ali to je upravo ono što ga čini itekako podobnim za većinu casual developera. Hardcore developeri će ga možda iskoristiti za prototipiranje, a kad vide rezultat, krenut će pisati vlastito rješenje (engine) od nule, samo s dijelovima koji su im potrebni. I radit će višestruko brže, naravno.
Vjerujem da uz ovakav alat malo tko če se baviti nativnim OpenGL za izradu aplikacija. Nego ako netko želi raditi 2D igre preporučam mu Cocos2D, naime odličan framework za manipuliranje grafikom uz to i besplatan. Te ako netko ima živaca i volje neka proba portat IrrLicht za iOS develop, koliko sam vidio nekima je to uspjelo ( neki član s IrrLicht foruma je stavio i za primjer igru s AppStore-a koja je rađena pod IrrLichtom ) , te prema pričama navodno i Gameloft koristi portani Irrlicht , ali to su samo glasine.
Zašto ovo pišem, iz razloga što možda neki developeri bi htjeli raditi igre za iOS a nemaju mogučnost kupiti komercijalni engine isl te im ovdje samo navodim neke "alternative". Te naravno postoji još jedan half free engine za 3D grafiku , a to je SiO2 , odličan engine, ali za njegovu upotrebu morate dobro znat Blender, pošto izrada scena se vrši u Blenderu. U svakom slučaju probajte eksperimentiraj te pa čete vidjet.
@Djipi:
"I da, to uvijek mogu biti GIMP i Blender, ali u velikoj većini slučajeva, čak i kod indie developera, nisu. :-)"
Zanima me sto si mislio s time. Ja koristim Blender i Gimp i zadovoljan sam, neznam sta bi mi jos trebalo kod tih alata. Nisam nikad koristio druge alate (naucio se i ostao na njima) pa me zanima jel propustam sta?
Inace korisnikU2 je spomenuo SIO2 engine, koji sam ja koristio za svoju igru. Prednost je sto je open source, pa mozete mjenjati/optimi zirati i open GL library (sto daje jednu trzisnu vrijednost/priz nanost koristenjem takvog enginea). U konacnici kad se svlada bilo koji engine je svejedno koji koristite, jer se vecina posla svoji na koncept, dizajn igre (osim ak nije neka kopleksna igra s masu AI-a). Unity (nisam bio u prilici raditi snjim) vjerovatno daje laksi uvod u game dev, ali savladanjem enginea otvorenog koda poslje otvara vece mogucnosti.
Vidim da je DJ Marchiano smio, pa cu i ja ovdje predstaviti svoju igru koju sam razvio pomocu spomenutih alata. Igra je trenutno na reviewu i trebala bi kroz koji dan biti na iPhone App Storeu.
Screenshotovi, video i vise informacija na stranici (slobodno podrzite lajkanjem):
www.facebook.com/HelioDriver3D
Ako spomenuti dvojac zadovoljava sve tvoje potrebe (u domeni koju pokrivaju) - ne propuštaš ništa. Dapače, štediš prilično novaca pa si itekako u plusu.
U teoriji, propuštaš "nešto" samo ako si potrebe prilagodio mogućnostima tih konkretnih alata. Da bi znao što propuštaš, zaviri u ponudu komercijalne konkurencije pa ako tamo pronađeš neki alatić koji može optimizirati tvoj konkretan workflow, onda je to ono što propuštaš.
Bilo bi vrlo nezahvalno nabrojiti što to pojedini komercijalni softveri imaju a Blender i Gimp ne. Pokušat ću generalno: oboje ima lošu ergonomiju (UI). Nedavno sam čitao jedan whitepaper o tome u kojem smjeru bi se trebao razvijati Blender i tamo je vrlo studiozno ukazano na sve što mu ne valja uz prijedloge kako popraviti. Ne zato jer je neka ikonica ljepša ili ružnija (iako i to ima utjecaj - u smislu prepoznatljivos ti alata) već u smislu "logičnosti". Koliko god svaki workflow postane "logičan" nakon nekog vremena (samo zbog navike!), nije pretjerano teško objektivno ocijeniti koji je logičniji - logičniji je onaj koji aplikaciju drži izgrađenu na jednom, jednostavnom konceptu, bez obzira koliko je sama aplikacija složena. Maya je primjer takve aplikacije. Lightwave (među komercijalnima) je primjer logike softvera građenog "na izuzecima" - pravilo koje vrijedi u jednom dijelu programa (ili prozoru), u drugom više ne vrijedi - tamo vrijedi neko drugo. Kad učiš "logičan program", "gradivo" se nadovezuje na prethodno naučeno pa se učenje s vremenom ubrzava, a rješenja (pogotovo problema na koje nisi nikad naišao) postaju očita. U slučaju "nelogičnih" programa, iskustva su suprotna.
Photoshop/Gimp paralela se također može svesti ispolirani UI. Vrijedi li to 8K kn (ili koliko već Photoshop košta)? Ako ih rad u Photoshopu može vratiti nazad, svakako vrijedi. Plaćaš "kvalitetniju uslugu". Zapravo plaćaš ekipu ljudi (Adobe) posvećenu tome da korištenje tog softvera bude "ugodnije" od korištenja nekog drugog (i uopće ne sporim da bi mogao biti daleko jeftiniji!). Funkcionalnost im je manje-više ista i, ne računajući novije Photoshopove hi-tech điđe koje su korisnije za obradu slika, nego za game-dev, sve se svodi na komociju. Ajde, ako ću nitpickati - novi Photoshopi imaju solidno riješeno paintanje po 3D objektima pa se time može uštedjeti na alternativnom alatu poput Deep Painta.
I, da ne bude zabune, daleko od toga da je u Photoshopu sve "tamo gdje bi trebalo biti". Nije. Nije ni u Mayi. Ali oboje ima daleko manje "izuzetaka" u logici od konkurencije.
Ja sam u Photoshop došao iz Deluxe Painta (Amiga era). DPaint je do polovice 90ih savršeno služio mojim tadašnjim potrebama. Dapače, nisam se mogao priviknuti na Photoshop jer u njemu nisam mogao nacrtati ispunjen pravokutnik ili krug u jednom potezu. A u DPaintu jesam. Trebalo mi je neko vrijeme da shvatim da mi je ta opcija zapravo savršeno nepotrebna, a da za puno toga na što sam tek naišao u Photoshopu, u DPaintu nisam mogao ni znati da mi fali jer, ne vidjevši ikada da postoje, nisam nikada ni razmišljao o tim opcijama. Layeri, npr. Naravno, to nema veze na relaciji Photoshop/Gimp pa od "stvarno korisnih opcija" (i još k tome na Macu - vezano za GUI), osnovna razlika je, ponavljam, u komociji.
Što se tiče 3D-a, moj dugogodišnji izbor je bio Lightwave. Dok mi jako nije počelo smetati to što je s godinama postajao sve "pokrpaniji". Sa Softimageom sam se razišao još na SGI-u, kad je počeo stagnirati (doživio je novu renesansu tek zadnjih godina). Putem sam se poigrao sa Cinemom za koju smatram da je do dana današnjeg najintuitivniji 3D alat - pogotovo na Macu (i pogotovo za ljude neopterećene workflowima drugih 3D aplikacija!). A u Mayi sam našao sve što sam oduvijek htio od 3D alata. Istina, povremeno se pojavi nešto poput ICE-a i Lagoe (oboje danas ugrađeno u Softimage) pa preispitam svoj izbor i neko vrijeme razmišljam da li je vrijeme za novi switch. Nije.
Moram napomenuti da svoj izbor NE ocijenjujem isključivo u okviru game-deva.
Posao mi je vezan za video produkciju, game-dev je samo segment ukupne produkcije i u konačnici težim alatima koji najbolje međusobno komuniciraju i "upravljivi" su u smislu automatizacije workflowa (a da pritom svaki nije baš svijet za sebe). U tom kontekstu Gimp diskreditira već to što nema podršku za AppleScript (i ne, Script-Fu nije opcija).
> Unity (nisam bio u prilici raditi snjim) vjerovatno daje laksi uvod u game dev, ali savladanjem enginea otvorenog koda poslje otvara vece mogucnosti.
Preporučam poigrati se. Ne košta (osim vremena). Što se tiče svladavanja enginea - da, to je definitivno put prilagodbe alata vlastitim potrebama (a ne prilagodbe potreba mogućnostima enginea). Međutim, te prilagodbe imaju smisla obično tek kod većih (dužih) projekata. Casual igre (s rokom deploymenta od mjesec-dva) i petljanje po kodu samog engina ne idu ruku pod ruku jer previše vremena otpadne na to petljanje. Naglašavam da ovo komentiram isključivo iz "komercijalne perspektive": radeći casual igru za prodaju (ne sebi za gušt), u većini slučajeva modifikacija engina probija rok/budžet. Radeći igru sebi za gušt, rok i proračun ne postoje pa se može, bez posljedica godinama turpijati kod.
> Vidim da je DJ Marchiano smio, pa cu i ja ovdje predstaviti svoju igru koju sam razvio pomocu spomenutih alata. Igra je trenutno na reviewu i trebala bi kroz koji dan biti na iPhone App Storeu.
Čestitke, i tebi i njemu (nisam komentirao gore).
Za Blender je istina da je totalno neintuitivan, da nema neke neke logicnosti u radu i da mu GUI izgleda zastrasujuce (ruzno). Ali kada ga se jednom savlada se moze jako brzo raditi snjim (pogotovo jer se koristi puno kraticama, manje drag'n'dropom). A na youtube sam vidio dosta filmica rezultata rada snjime, i stvarno se mogu cuda napraviti
Nisam dovoljno kompetentan, ali mogu reci da za moje potrebe i sve buduce ce mi Blender i Gimp sigurno odgovarati...
Mislio sam isprobati unity, cisto zato sto je on proizvod na kojem danas rade 100 ljudi pa je pouzdanije da ce se razvijati dalje. SIO2 je "one man show" produkt i ukoliko on prestane sa razvojem i supportom ce engine i time moje znanje/mogucnos ti zaostajati.
Hvala na cestitkama
Tvoj pristup je za svaku pohvalu - došao si i do znanja i do konkretnih rezultata za 0 kn i bez krađe softvera. Rijetki to naprave.
Koncepti su manje-više isti u svim softverima pa znanje koje već sad imaš možeš prenijeti na bilo koju drugu softversku platformu u relativno kratkom roku. Komercijalni paketi nude triale od 30ak dana, ali za 30 dana možeš samo pregledati SW koji već znaš koristiti (i opredijeliti se za upgrade - što je uglavnom i poanta tih triala) - teško da ga za to vrijeme možeš kvalitetno naučiti.
Thumbs up za Blender i za Gimp u tom smislu. Ali thumbs down za oba softvera po pitanju kvalitete kojoj su do sada težili. Blender (u odnosu na Gimp) ima veliku prednost i očekujem da s vremenom, uz podršku kakvu ima zadnjih godina, stasa u potpuno upotrebljivu besplatnu alternativu, bez prigovora na UI.
Kolega je nedavno rekao da su Blender, Gimp i Audacity odlični primjeri kako NE bi trebalo raditi free SW. Kao primjer kvalitetnog razvoja naveo je Thunderbird. I složio bih se s njim. Kad se spomenuti trojac prilagodi korisnicima, kao što je to učinio Thunderbird, konačno će krenuti u pravom smjeru.
> Nisam dovoljno kompetentan, ali mogu reci da za moje potrebe i sve buduce ce mi Blender i Gimp sigurno odgovarati...
Znatiželjan sam: baš ništa ti ne nedostaje u njima (ne računajući već spomenute UI mane)?
Što SVE zapravo radiš u jednom, a što u drugom (konkretno, za igru)?
A trenutno radim, u Blenderu: Modeliranje scena i objekata. Ljepljenje textura, dodavanje fizickih svojstava objektima (koji se eksportiraju sa cijelom scenom). Pokuso sam napravit neke jednostavne (ne skeletalne i slicno) animacije, cisto za test, ne za igricu. Po cemu zakljucujem da mi dalje nece trebat bolje. Pa po tome sto sam na Youtubeu vidio vrhunske radove ostvarene pomocu Blendera, s kojima se najbolje igre nebi posramile. Al to nisam ja radio nit ciljam na to, pa neznam ima li kakvih nedostataka pri razvoju.
A za GIMP, radim teksture, crtam, precrtavam, radim sa slojevima, sve su to uglavnom male slikice jer se radi o iPhoneu, osim menu screena. Ima raznih filtera s kojima sam se naucio i sluze za sve moje potrebe, ima ih masu vise al me i ne zanimaju, bar zasad mi ne trebaju...
Al ja sam ustvari jos amater, jer se tek godinu dana (intenzivno) bavim time, a ima toga jos masu za naucit...
Moram, pogotovo kad pitas sta radim vezano za igru u tim alatima. Prije nekih sat vremena mi je approvana igra Helio Driver 3d (prva moja aplikacija za store uopce i odmah approvana)
iTines: itms://itunes.a pple.com/us/app /helio-driver-3 d/id399558775?m t=8
Nevjerujem da cu stic, odnosno neda mi se ucit radit s unityem sad, jer se radi o skriptnim jezicima koje i nisam bas koristio a ovo je u c++ i obj-c-u. A imam sad dovoljno elemenata rijesenih u mom "engineu" pa bi bilo glupo nakon toliko truda da to napravim prec na novo. Jedino mi zao zasto nisam koristio unity je sto sam u medjuvremenu dobio dvije ponude za rad u unity projektima...
Ovim putem bi htio upozoriti na oglas koji sam objavio (imam par ozbiljnih investitora iza svega toga).
http://www.jabucnjak.hr/forum/programiranje/57733-posao-programer-video-igara.html