Unreal Engine

**Unreal Engine** é un motor de xogo desenvolvido por Epic Games, exhibido por primeira vez no *shooter* en primeira persoa de 1998 *Unreal*. Malia estar enfocado principalmente para *shooters* en primeira persoa, utilizouse en varios outros xéneros, incluíndo videoxogos de sixilo, videoxogos de rol multixogador masivo en liña e outros videoxogos de rol. Escrito na linguaxe de programación C++, Unreal Engine posúe un alto grao de portabilidade e é unha ferramenta de grande uso na industria dos videoxogos.

A última versión do motor é Unreal Engine 4, deseñado para Microsoft DirectX 11 e 12 (plataformas Microsoft Windows, Xbox One, Windows RT), GNM (para PlayStation 4), OpenGL (para macOS, Linux, iOS, Android, Ouya e Windows XP), Vulkan (para Android), Metal (para iOS) e JavaScript/WebGL (para navegadores HTML5).

## Historia 
### Unreal Engine 1 
Estreándose en 1998 co videoxogo *Unreal*, a primeira xeración do Unreal Engine integraba renderizado, detección de colisións, IA, visualización, capacidades de rede, *scripting* e manexo de sistema de ficheiros nun motor completo. Unreal Engine 1 fornecía un rasterizador por software avanzado e un método de renderizado acelerado por hardware usando a API Glide, desenvolvida especificamente para GPUs 3dfx, recibindo actualizacións posteriores para OpenGL e Direct3D.

O motor fíxose popular pola súa arquitectura modular e a inclusión dunha linguaxe de *scripting* chamada UnrealScript, que facilitaba a creación de mods, incluíndo conversións totais coma *Tactical Ops*.

Tim Sweeney, creador do motor e fundador de Epic Games, declarou nunha entrevista de 1998 coa revista *Maximum PC* que dende o seu comezo o motor deseñárase de forma que fose extensible e mellorable a través de múltiples xeracións de xogos.

### Unreal Engine 2 
[miniatura|upright=1.2|left|*[Killing Floor (videoxogo)|Killing Floor* desenvolveuse co Unreal Engine 2.]]

A segunda versión do motor publicouse no 2002 con ''America's Army*, un *shooter* multixogador gratuíto crado polo Exército dos Estados Unidos e financiado polo Goberno dos Estados Unidos. Nesta xeración tanto o código coma o motor de renderizado reescribíronse por completo. Incluía tamén o editor de niveis UnrealEd 2 e o SDK de físicas Karma, responsable das físicas de boneco en *Unreal Tournament 2003* e *Unreal Championship*.

Unreal Engine 2.5 foi unha actualización para a versión orixinal de Unreal Engine 2, mellorando o rendemento de renderizado e engadindo físicas para vehículos, un editor de sistemas de partículas para UnrealEd e soporte de 64 bits en *Unreal Tournament 2004*. A maiores usouse unha versión especializada do 2.5 para *Unreal Championship 2: The Liandri Conflict* na plataforma orixinal de Xbox.

### Unreal Engine 3 
As primeiras capturas de pantalla de Unreal Engine 3 presentaronse en maio de 2004, momento no que o motor xa levava uns 18 meses en desenvolvemento. A diferenza de Unreal Engine 2, Unreal Engine 3 deseñouse para aproveitar o hardware con programación completa de *shaders*, facendo os cálculos por píxel en lugar de por vexel. 
 
Inicialmente Unreal Engine 3 só estaba dispoñible para as plataformas Windows, PlayStation 3 e Xbox 360, mentres que a funcionalidade para iOS e Android engadiuse posteriormente no ano 2010 (con *Infinity Blade* sendo o primeiro título para iOS e *Dungeon Defenders* o primeiro para Android). O soporte para macOS engadiuse posteriormente en 2011. O renderizador desta versión incluía técnicas coma o HDRR, iluminación por píxel e sombras dinámicas. Xa no 2012 Epic anunciou que Unreal Engine 3 funcionaría tanto en Windows 8 coma en Windows RT.

Durante o período activo do Unreal Engine 3 o motor recibiu actualizacións significativas, incluíndo contornas destrutibles melloradas, dinámicas de corpo brando, simulación de multitudes, funcionalidade para iPod Touch, integración con Steamworks, unha solución de iluminación global, e capacidade 3D estereoscópica en Xbox 360. O soporte para DirectX 11 demostrouse coa demo *Samaritan*, desenvolvida por Epic Games en colaboración con NVIDIA.

Fóra da industria dos videoxogos houbo moitos proxectos que adoptaron Unreal Engine 3. O programa infantil de televisión *LazyTown* usou o motor na súa rodaxe para xerar escenarios virtuais para a súa posterior integración con actores e monicreques que actuaban diante de pantallas verdes, e en marzo de 2012 o FBI adquiriu a licenza do Unreal Engine 3 para o seu uso nun simulador de adestramento.

#### Unreal Development Kit 
[miniatura|left|upright=1.2|O videoxogo *[The Ball (videoxogo)|The Ball* desenvolveuse co UDK.]]
Malia que Unreal Engine 3 foi unha contorna aberta para a realización de mods, a capacidade de publicar e vender xogos feitos con este motor estaba restrinxida para aqueles que fosen concesionarios da licenza do motor. Porén, en novembro de 2009 Epic Games publicou unha versión do SDK de Unreal Engine 3 chamada Unreal Development Kit (UDK), dispoñible para o pútlico xeral. En decembro de 2010 nunha actualización do UDK engadiuse soporte para a creación de xogos e aplicacións de iOS.

### Unreal Engine 4 
O 17 de agosto de 2005 Mark Rein, vicepresidente de Epic Games, revelou que Unreal Engine 4 levaba en desenvolvemento dende 2003, e ata mediados de 2008 o desenvolvemento correu exclusivamente ó cargo de Tim Sweeney. O Unreal Engine 4 exhibiuse de forma exclusiva na Game Developers Conference de 2012, e o 7 de xuño de 2012 publicouse un vídeo dunha demo do motor en GameTrailers TV. Esta demo crearase nun PC con tres GeForce GTX 580 en SLI e podía executarse nun PC cunha GeForce GTX 680.
 
Unha das principais características do motor ía ser a iluminación en tempo real usando trazas cónicas de vóxels, eliminando a iluminación por computación previa. Porén, esta característica foi finalmente substituída por outro algoritmo semellante pero menos custoso por mor de preocupacións de rendemento das consolas da seguinte xeración. O motor incluíu tamén novas funcionalidades de desenvolvemento para reducir os tempos de iteración, permitindo actualizar o código C++ mentres que o motor está a executarse.

thumbtime=38|miniatura|esquerda|300px|Visualización arquitectónica interactiva usando Unreal Engine 4
O 19 de marzo de 2014 Unreal Engine 4 publicouse na Game Developers Conference xunto a tódalas súas ferramentas, características e código fonte completo en C++ por medio dun novo modelo de subscrición libre para Windows, macOS, iOS e Android por uns 19&nbsp;$ ó mes, máis un 5% dos beneficios que resultasen de calquera produto comercial desenvolvido co motor. Tim Sweeney afirmou que este novo modelo de negocio era un reflexo dos cambios na industria.

O 3 de setembro de 2014 Epic Games publicou o Unreal Engine Marketplace, permitindo que os subscritores do motor mercasen e vendesen entre eles pezas de contido variado creado co motor. O 4 de setembro de 2014 Epic publicou Unreal Engine 4 de forma gratuíta para escolas e universidades, incluíndo copias persoais para estudantes de cursos de desenvolvemento de videoxogos, informática, arte ou arquitectura entre outras disciplinas.

## UnrealScript 
UnrealScript (abreviado coma UScript) foi a linguaxe de *scripting* nativa de Unreal engine para o código dos xogos desenvolvidos con este motor antes da publicación de Unreal Engine 4. Estaba deseñada para unha programación de alto nivel sinxela. O intérprete de UnrealScript foi programado polo propio Tim Sweeney, quen xa creara unha versión previa desta linguaxe.

Semellante a Java, UnrealScript está orientada a obxectos sen herdanza múltiple, e as clases defínense en ficheiros individuais. En contraste con Java, UnrealScript non ten *wrappers* de obxectos para tipos primitivos, e as interfaces só están dispoñibles para xogos feitos con Unreal Engine 3 e algúns con Unreal Engine 2.

En marzo de 2014 Epic anunciou que Unreal Engine 4 non continuaría empregando UnrealScript, senón que usaría *scripting'' en C++. A programación visual estaría soportada polo sistema Blueprints Visual Scripting, substituto do sistema visual Kismet previo.

## Notas 
## Véxase tamén 
### Ligazóns externas 
* Páxina web oficial