Engine videoigara

Izvor: Vidipedija
Skoči na: orijentacija, traži

Engine videoigre glavna je softverska komponenta bilo koje kompjuterske videoigre ili bilo koje druge interaktivne aplikacije s grafikom u realnom vremenu. Engine videoigre nudi temeljne tehnologije, pojednostavljuje produkciju, te često omogućuje pokretanje igre na više platformi poput igraćih konzola i desktop operativnih sustava kao što su Linux, Mac OS X i Microsoft Windows.

Osnovna funkcionalnost uglavnom dobivena s igrinim engineom uključuje i takozvani "rendering engine" ("renderer") za 2D ili 3D grafiku, fizikalni engine za vjerno fizikalno ponašanje objekata unutar prostora videoigre, zvuk, skriptiranje, animacije, umjetnu inteligenciju, mrežni kod, streaming, upravljanje memorijom, threading i struktura podataka za vektorsko grafičko uređivanje. Proces produkcije videoigara često je izvođen i uporabom postojećih enginea za produkciju različitih videoigara.


Pregled

Engine videoigara nudi skup alata namijenjenih vizualnoj produkciji. Ti su alati općenito ponuđeni u integriranom produkcijskom sučelju kako bi omogućili pojednostavljenu, brzu produkciju igara u podatkovnoj maniri. Ti su enginei ponekad znani i pod nazivom "game middleware" (hr: međusoftver) iz razloga što, u poslovnoj terminologiji, takvi enginei nude fleksibilnu softversku platformu koja nudi sve osnovne funkcionalnosti potrebne za produkciju igara, tako smanjujući troškove, kompleksnost i većinu ostalih poslovnih zapreka u visoko kompetitivnoj industriji videoigara.

Kao i u ostalim middleware rješenjima, engine videoigara inače nudi mogućnost pokretanja postojeće igre na različitim platformama, uključujući igraće konzole i osobna računala uz nekoliko promjena u igrinom izvornom kodu. Middleware je često dizajniran s arhitekturom baziranoj na komponentama koja omogućava zamjenu ili proširenje specifičnih sustava u engineu s više specijaliziranim (i često skupljim) middleware komponentama kao što su Havok za fiziku, FMOD za zvuk, ili SpeedTree za renderiranje (vizualiziranje). Neki enginei poput RenderWare solucija čak su dizajnirani kao serija spojenih middleware komponenti koji se mogu selektivno kombinirati kako bi kreirali specijalno prilagođeni engine, umjesto uobičajenih pristupa proširavanja ili prilagođavanja drugih fleksibilnih integriranih solucija. Bez obzira za specifičnost naziva, enginei videoigara često su korišteni za različitu uporabu, odnosno druge tipove interaktivnih aplikacija s grafičkim zahtjevima u realnom vremenu, kao što su marketinške prezentacije, arhitekturalne vizualizacije, trening simulacije i modelirane okoliše.

Neki enginei videoigara nude jedino 3D renderiranje (vizualiziranje) u realnom vremenu, umjesto širokih funkcionalnosti za produkciju videoigara. Ti enginei ovise o proizvođaču videoigara koji će ga implementirati u ostatak funkcionalnosti, odnosno formirali ga iz nekih drugih middleware komponenti. Ti su enginei često znani kao " grafički enginei", "rendering enginei" ili "3D enginei". Doduše, ova je terminologija nekonzistentno korištena iz razloga što su mnogi potpuni 3D enginei za igre često znani jednostavno kao "3D enginei". Nekoliko primjera grafičkih engina jesu: RealmForge, Ogre, Power Render, Crystal Space, Genesis3D, Irrlicht i JMonkey Engine.


Uporaba hardvera

Za današnje su potrebe 3D enginei, odnosno rendering sustavi u engineima videoigara kreirani prema grafičkom API-ju kao što su Direct3D ili OpenGL koji omogućavaju softversku uporabu GPU-a (grafičkog čipa) ili grafičke kartice. Zbirke poput DirectX-a, SDL-a, OpenAL-a također su korištene u igrama kako bi omogućile dostupnost ostalim računalnim hardverom poput perifernih jedinica (miš, tipkovnica, igraći kontroler itd.), mrežnih karica i zvučnih kartica. Prije pojave hardverski akcelerirane 3D grafike u igrama i aplikacijama korišteno je softversko renderiranje. Softversko je renderiranje još uvijek korišteno u nekim alatima namijenjenih modeliranju, ili za renderiranje slika prilikom čega je vizualna preciznost važnija od performansa u realnom vremenu (sličica u sekundi), odnosno ako računalni hardver nije u skladu s minimalnim zahtjevima kao što je podrška za shadere, odnosno u slučaju operativnog sustava Windows Vista, podrška za Direct3D 10.

S dolaskom hardverski akceleriranog procesiranja fizike, razni fizikalni API-ji kao COLLADA i PAL postali su raspoloživi da bi omogućili softversku uporabu PPU jedinice ( physics processing unit).


Povijest

Izraz "engine" u terminologiji videoigara pojavio se sredinom 1990-ih, specijalno u povezanosti s 3D igrama poput pucačina iz prvog lica (en: first person shooter; FPS). Popularnost igara Doom i Quake studija id Software započela je eru modernih 3D igara, ali i eru licenciranja enginea videoigara. Umjesto da rade potpuno novi engine, drugi su studiji licencirali osnovne porcije enginea id Software studija, te su tako dobili mogućnost kreiranja svoje grafike, likova, oružja, nivoa, te ostalog sadržaja.

Kasniji su naslovi, poput Quake III Arena studija id Software i Unreal studija Epic Games dizajnirani s takvim pristupom; engine i sadržaj stvoreni su odvojeno. Prakticiranje ovakvog tipa licenciranja pokazalo se kao koristan izvor prihoda za neke proizvođače, iz razloga što biste za jednu licencu visokokvalitetnog komercijalnog enginea za videoigre morali izdvojiti od 10.000 američkih dolara, pa sve do 3.750.000 američkih dolara (kao u slučaju Warcrafta III), a broj licenci može doći do nekoliko desetaka kompanija (gdje se za primjer može navesti Unreal Engine).


Middleware

Neke su kompanije specijalizirane za produkciju softvera znanog kao "middleware". Proizvođači middleware rješenja nastoje "poboljšati izum kotača" proizvodnjom robusnih softverskih kompleta koji sadrže mnogo elemenata koji bi proizvođaču igre zatrebali. Većina middleware solucija nude sadržaj koji pojednostavljuje produkciju, poput grafičkih, zvučnih, fizikalnih i AI funkcija. DX Studio, Gamebryo i RenderWare tri su najčešće korištene middleware solucije.

Određene su middleware solucije, primjerice specijalizirane isključivo za jednu zadaću, ali tu zadaću izvode mnogo bolje i uvjerljivije negoli enginei opće uporabe. SpeedTree je tako korišten za renderiranje realističnih stabala i vegetacije u RPG naslovu The Elder Scrolls IV: Oblivion.

Široko korišteni paketi koji nude specijalizirane funkcionalnosti primjerice su Havok i RAD Game Tools. Havok nudi sustav namijenjen robusnoj simulaciji fizike, dok je RAD Game Tools namijenjen produkciji sustava za video renderiranje, zvučnu reprodukciju i 3D renderiranje.

Vanjske poveznice

  • GameMiddleware.org, referentna web stranica za middleware rješenja namijenjenih komercijalnoj uporabi
  • Tereni u igrama, pregled renderiranja terena u nekim engineima videoigara od 1997. do 2000. godine