Unreal Engine

***Unreal Engine*** ir *[[Epic Games]]* izstrādāts spēļu dzinis. Tas tika rādīts 1998. gadā, demonstrējot pirmās personas šaujamspēli *Unreal*. Lai gan tas tika izstrādās pirmās personas šaujamspēlēm, to ir izdevies lietot arī citiem spēļu žanriem, piemēram lomu spēlēm. Dzinis ir sarakstīts C++ valodā, un to mūsdienās izmanto daudzi datorspēļu izstrādātāji.

Pagaidām pēdējā versija ir *Unreal Engine 4*, kas ir paredzēts *[[Microsoft DirectX]]* 11 un 12 platformām (*[[Microsoft Windows]]* un *[[Xbox One]]*), GNM (*[[Playstation 4]]*), *[[OpenGL]]* (*[[macOS]]*, *[[Linux]]*, *[[iOS]]*, *[[Android]]*, *[[Ouya]]*, un *[[Windows XP]]*) un *[[JavaScript]]*/*[[WebGL]]HTML5* tīmekļa pārlūkiem.

Ginesa pasaules rekordi ir piešķīruši balvu par "Visveiksmīgākais spēļu dzinis".

## Vēsture

### ''Unreal Engine 1''

Pirmo reizi izmantots spēlē *Unreal* 1998. gadā. Šim dzinim ir integrēta renderēšana, sadursmju noteikšanu, AI, tīklošana, skriptošana un failu sistēmas pārvaldība viss vienā spēļu dzinī. Šī dzinēja versija ieguva lielu popularitāti tad, kad tika izveidota spēle *[[Unreal Tournament]]*. Šī dziņa versija strādāja uz platformām, kas atbalstīja *OpenGL* un *[[Direct3D]]*.

Cits *Unreal Engine* popularitātes iemesls bija modulāra dziņa arhitektūra un *UnrealScript*, kas ļāva salīdzinoši vienkārši veikt izmaiņas.

### ''Unreal Engine 2''

Otrā dziņa versija tika izlaista 2002. gadā ar spēli *America's Army*, kuru veidoja ASV Armija un ASV valdība šo spēli finansēja. Šajā versija liela koda daļa tika pārrakstīta, ieskaitot renderēšanas dzini. Šajā versijā tika iekļauts *UnrealEd 2*, kas ir līmeņu redaktors, ar ko cilvēki varēja rediģēt šajā dzinī veidoto spēļu līmeņus. Kopā ar to, tika izlaists arī fizikas SDK, ar kuru tika radīta Ragdoll fizikas sistēma un iekļauta spēlē *Unreal Tournament 2003*. Šī fizikas sistēma tika izmantota arī daudzās citās spēlēs, bet šī bija viena no pirmajām. Šo dzini daudzi izstrādātāji sāka lietot veidojot spēles *[[Xbox]]* konsolei, un lai gan šo dzini varēja lietot lai veidotu spēles priekš *[[Playstation 2]]* un *[[GameCube]]* dziņa izstrādātāji *Epic Games* oficiāli to neatbalstīja priekš šīm divām platformām.

Vēlāk šis dzinis tika uzlabots ar versija *Unreal Engine 2.5*, uzlabojot tā renderēšanas resursu efektivitāti, kā arī transporta līdzekļu fiziku, daļiņu sistēmas redaktors, kas tika iekļauts *UnreadEd2*, 64 bitu sistēmas atbalsts spēlei *Unreal Tournament 2004*. Šim dzinim tika izstrādātas speciāla versija *UE2X Xbox* konsolei. Šī uzlabota versija tika lietota spēlei *Unreal Championship 2*. Uzlabotā versija nebija ekskluzīva *Xbox* platformai, bet vienīgie uzlabojumi tika veikti šai platformai. Šī versija arī atbalstīja *[[EAX 3.0]]*.

### ''Unreal Engine 3''

Kad tika publicētas pirmās bildes 2004. gadā, kurās tika demonstrēta *Unreal Engine 3* darbība, pie tā tika strādās 18 mēnešus. Atšķirībā no iepriekšējās versijas, UE3 lietoja pilnībā programmējamu ēnotāju detaļas/ierīcas (angļu *hardware*). Visas apgaismojuma kalkulācijas tiek veiktas priekš katra pikseļa. Unreal Engine 3 atbalsta gammas labojošu, augstas dinamikas apgabala renderi. No sākuma atbalstītās platformas bija *Microsoft Windows*, *Xbox 360*, *Playstation 3*, 2010. gadā tika atbalstītas arī *Android* un iOS platformas. Mac OS X atbalsts tika izveidots 2011. gadā.

Šīs versijas dzīvescikla laikā tas tika ļoti uzlabots ar funkcijām, piemēram, globālā apgaismojuma risinājums, uzlabotas iznīcināmas vides, lielu pūļu simulācijas, pievienota *IPod Touch* funkcionalitāte, *SteamWorks* iestrāde, reāllaika globālā apgaismojuma risinājums, stereoskopiskais 3D, DirectX 11 atbalsts un daudz citas funkcijas.

*Unreal Engine 3* tika izmantots arī citos produktos, kas nebija spēles. Populārs bērnu šovs *LazyTown* UE3 lietoja filmēšanas laikā. 2012. gada Martā arī FIB licencēja šo dzinēju simulācijas nolūkiem. 2013. gadā tika izveidota animēšanas programma "Muvizu Play", kas lietoja UE3.

### ''Unreal Development Kit''

Unreal Engine bija salīdzinoši atvērts spēļu modificētājiem, lai veidotu spēles *Unreal Engine* un pārdotu, vispirms ir jālicencē. Tomēr 2009. gadā, *Epic Games* publicēja *Unreal Development Kit*, kas bija pieejams būtībā jebkuram un ir bezmaksas. *Unreal Development Kit* ir bezmaksas versija UE3 SDK. 2010. gadā UDK atbalstīja *Android* un iOS spēļu izstrādi, un no 2011. gada ir iespējams veidot arī UDK spēlēs Mac OS X un visām *Microsoft Windows* platformām.

### ''Unreal Engine 4''

2005. gada 17. augustā *Epic Games* paziņoja, ka *Unreal Engine 4* tiek izstrādāts no 2003. gada. Līdz 2008. gada vidum, pie tā strādāja tikai [Tims Svīnījs](https://en.wikipedia.org/wiki/Tim_Sweeney_(game_developer)), *Epic Games* dibinātājs. Dzinis ir paredzēts astotās paaudzes konsolēm, personālajiem datoriem un Tegra K-1 bāzētām ierīcēm. Viens no lielākajiem uzlabojumiem šī dziņa versijā salīdzinot ar iepriekšējo ir tā apgaismojuma sistēma. Bija plānota reāla laika globāls apgaismojums izmantojot *voxel cone tracing*, bet vēlāk šī sistēma tika aizstāta ar citu, resursu efektīvāku algoritmu, jo dziņa veidotāji uztraucās par to, ka spēļu konsoles nebūs pietiekami jaudīgas. UE4 tika iekļautas arī jaunas izstrādātāju iespējas, kas ļāva rakstīt kodu pat tikmēr kamēr dzinis darbojās un jaunā "Blueprint" sistēma, kas izstrādātājiem ļauj rakstīt spēles loģiku ļoti ātri, un to rakstot nav jāizmanto C++. Šo uzlabojumu rezultātā tiek samazināts laiks starp iterācijām un tiek samazināta zināšanu starpība starp tehniskajiem māksliniekiem, dizaineriem un programmētājiem.

2014. gadā *Epic Games* paziņoja jaunu biznesa pieeju dziņa licencēšanai. Tika izlaists *Unreal Engine 4*, visi tā rīki un tā pirmkods izstrādātājiem ar jaunu abonementa modeli. Jebkurš interesents UE4 priekš Microsoft Windows, Mac OSX, iOS un Android var to iegūt maksājot 19 dolārus mēnesī un 5% no ienākumiem, kas ir iegūti dēļ produkta, kas izmanto UE4. Pirms tam lai veidotu spēlēs vai citus produktus izmantojot *Unreal Engine*, bija jāmaksā par licencēšanu, kas varēja maksāt vairākus miljonus dolāru. Šādu izvēli firma izdarīta, jo spēļu industrijai attīstoties, *Epic games* vēlējās, lai UE4 būtu pieejams pēc iespējas vairāk cilvēkiem.

2014. gada 3. septembrī *Epic Games* izlaida *Unreal Engine Marketplace*, kas ir vieta, kur UE abonētāji var pirkt citu taisītus asetus vai pārdot paštaisītus.
2014. gada 17. septembrī *Epic* deva *Unreal Engine 4* universitātēm un skolām par brīvu, kā arī personālu kopiju studentiem, kas tajās mācījās. Skolai vai Universitātei ir jābūt akreditētai Video spēļu izstrādē, datorzinātnē, mākslā, arhitektūrā.
2015. gada 19. februārī *Epic* izveidoja *Unreal Dev Grants*, kas ir $5,000,000 fonds, kas domāts izstrādātājiem, kas veido jaunas un inovatīvas programmas vai spēles izmantojot *Unreal Engine 4*.

## ''UnrealScript''

*UnrealScript* (saīsinājumā: *UScript*) is *Unreal Engine* skriptošanas valoda, kas paredzēta spēles loģikas veidošanai, kodu pirms tika izlaists *Unreal Engine 4*. Šī valoda ir domāta vieglai augsta līmeņa spēles programmēšanai. Līdzīgi kā programmēšanas valoda Java, *UnrealScript* ir objekt orientēta valoda. 2014. gadā tika paziņots, ka *Unreal Engine 4* vairs nelietos *UScript*, tā vietā spēles skriptēšana tiek veikta C++. Vizuālā skriptēšana tiek veikta programmā "Blueprints".

## Atsauces