Unreal Engine

Unreal Engine

en.wikipedia.org

Jump to navigation Jump to search

"Unreal technology" redirects here. For science or technology which is beyond reality, see science fiction.

The Unreal Engine is a game engine developed by Epic Games, first showcased in the 1998 first-person shooter game Unreal. Although primarily developed for first-person shooters, it has been successfully used in a variety of other genres, including stealth, fighting games, MMORPGs, and other RPGs. With its code written in C++, the Unreal Engine features a high degree of portability and is a tool used by many game developers today. It has won several awards, including the Guinness World Records award for "most successful video game engine."[2]

The current release is Unreal Engine 4, designed for Microsoft Windows, macOS, Linux, SteamOS, HTML5, iOS, Android, Nintendo Switch, PlayStation 4, Xbox One, Magic Leap One, and virtual reality (SteamVR/HTC Vive, Oculus Rift, PlayStation VR, Google Daydream, OSVR and Samsung Gear VR).

Contents

History

Unreal Engine 1

Development of the first generation Unreal Engine was carried out by the founder of Epic Games, Tim Sweeney.[3] Inspired by John Carmack's pioneering programming work on Doom and then Quake,[3] Sweeney started the engine in 1995 for the production of a game that would later become known as Unreal, a first-person shooter set in a medieval world with alien elements.[4][5] After three years of development, it debuted with the game's release in 1998,[6] although licensees such as MicroProse and Legend Entertainment had possessed the technology much earlier, with the first licensing deal taking place in 1996.[7]

Both software and hardware rendering were present in the foundational software, as well as collision detection, colored lighting, and a rudimentary version of texture filtering.[8] The engine also provided a level editor, UnrealEd (formerly Unreal World Editor[9]),[10] that had support for real-time constructive solid geometry operations as early as 1996, allowing mappers to change the level layout "on the fly".[11][12] Other features implemented during the engine's development included real-time direct illumination and light sourcing, which were respectively integrated in 1995 and 1997.[13][14] In addition to having support for Microsoft Windows, Linux and Mac,[15] Unreal Tournament also opened the platform to PlayStation 2 and, with the help of Secret Level, to Dreamcast.[16][17] In 2000, Epic updated the engine with new improvements, including higher-polygon models and architecture, a skeletal animation system and large-scale terrain support.[18]

By late 1999, The New York Times indicated that the number of external projects using Epic's technology was 16, naming the likes of Deus Ex, Nerf Arena Blast and Duke Nukem Forever,[15] the title from 3D Realms that was set to debut the series on the GameCube console.[19] While it cost around $3 million to produce and licenses for up to $350,000,[15] Epic gave modders the ability to create their own worlds with the incorporation of UnrealEd and a scripting language called UnrealScript in its games, sparking a community of enthusiasts around a game engine that was built to be extensible and improved over multiple generations of games.[20][21][22]

The big goal with the Unreal technology all long was to build up a base of code that could be extended and improved through many generations of games. Meeting that goal required keeping the technology quite general-purpose, writing clean code, and designing the engine to be very extensible. The early plans to design an extensible multi-generational engine happened to give us a great advantage in licensing the technology as it reached completion. After we did a couple of licensing deals, we realised it was a legitimate business. Since then, it has become a major component of our strategy.
[23]

Unreal Engine 2

Killing Floor was built in Unreal Engine 2.

The second version made its debut in 2002 with America's Army, a free multiplayer shooter developed by the U.S. Army as a recruitment tool.[24][25] Though based on previous technology, this generation saw the renderer completely re-written,[26] and the inclusion of a variety of features such as the Matinee cinematic editing tool, export plug-ins for 3D Studio Max and Maya, and the Karma physics engine,[27] a tool by Math Engine that powered the ragdoll physics in Unreal Tournament 2003.[28][29] In addition, it featured UnrealEd 2, which debuted with the previous generation of the engine and was shortly followed later by UnrealEd 3. Other engine elements were also updated, with improved assets as well as adding support for the Xbox.

UE2.5, an update to the original version of UE2, improved rendering performance and added vehicles physics, a particle system editor for UnrealEd, and 64-bit support in Unreal Tournament 2004. A specialized version of UE2 called UE2X was used for Unreal Championship 2: The Liandri Conflict on the original Xbox platform, featuring optimizations specific to that console.[30]

In March 2011, Ubisoft Montreal revealed that UE2 was successfully running on the Nintendo 3DS.[31][32]

Unreal Engine 3

Screenshots of Unreal Engine 3 were presented in 2004, at which point the engine had already been in development for over 18 months.[33] Unlike Unreal Engine 2, which still supported fixed-function pipeline, Unreal Engine 3 was designed to take advantage of fully programmable shader hardware.[34] All lighting calculations were done per-pixel, instead of per-vertex. On the rendering side, Unreal Engine 3 provided support for a gamma-correct high-dynamic range renderer.[34]

Initially, Unreal Engine 3 only supported Windows, PlayStation 3, and Xbox 360 platforms, while iOS (first demonstrated with Epic Citadel) and Android were added later in 2010, with Infinity Blade being the first iOS title and Dungeon Defenders the first Android title.[35][36] OS X support was added in 2011.[37] The same year it was announced that the engine would support Adobe Flash Player 11 through the Stage 3D hardware-accelerated APIs and that it was being used in two Wii U games, Batman: Arkham City and Aliens: Colonial Marines.[38][39] Windows 8 and Windows RT support was added in 2012.[40] In 2013, Epic teamed-up with Mozilla to bring Unreal Engine 3 to HTML5. Using the asm.js sublanguage and Emscripten compiler, they were able to port the engine to JavaScript and WebGL in four days.[41]

Screenshot of the Samaritan demo

Throughout the lifetime of UE3, significant updates have been incorporated,[42] including improved destructible environments, soft body dynamics, large crowd simulation, iPod Touch functionality,[43] Steamworks integration,[44] a real-time global illumination solution,[45][46] and stereoscopic 3D on Xbox 360 via TriOviz for Games Technology.[47][48][49] DirectX 11 support was demonstrated with the Samaritan demo, which was unveiled at the 2011 Game Developers Conference and built by Epic Games in a close partnership with NVIDIA, with engineers working around the country to push real-time graphics to a new high point.[50][51][52]

Unreal Development Kit

While Unreal Engine 3 has been quite open for modders to work with, the ability to publish and sell games made using UE3 was restricted to licensees of the engine. However, in November 2009, Epic released a free version of UE3's SDK, called the Unreal Development Kit (UDK), that is available to the general public.[53][54]

In December 2010, it was updated to include support for creating iOS games and apps.[55]

Unreal Engine 4

Unreal Tournament is being built with Unreal Engine 4.

In August 2005, Mark Rein, the vice-president of Epic Games, revealed that Unreal Engine 4 had been in development since 2003.[56] Until 2008, development was "basically" done by Tim Sweeney, CEO and founder of Epic Games.[57] The engine targets the eighth generation of consoles, PCs and Tegra K1-based[58] devices running Android announced in January 2014 at CES.

In February 2012, Mark Rein said "people are going to be shocked later this year when they see Unreal Engine 4".[59] Unreal Engine 4 was unveiled to limited attendees at the 2012 Game Developers Conference,[60] and video of the engine being demonstrated by technical artist Alan "Talisman" Willard was released to the public on June 7, 2012 via GameTrailers TV.[61][62] This demo was created on a PC with triple GeForce GTX 580 (tri SLI) and can be run on a PC with a GeForce GTX 680.[63]

One of the major features planned for UE4 was real-time global illumination using voxel cone tracing, eliminating pre-computed lighting.[13] However, this feature has been replaced with a similar but less computationally-expensive algorithm prior to release for all platforms including the PC because of performance concerns.[64] UE4 also includes new developer features to reduce iteration time, and allows updating of C++ code while the engine is running. The new "Blueprint" visual scripting system (a successor to UE3's "Kismet"[65]) allows for rapid development of game logic without using C++, and includes live debugging.[66][67] The result is reduced iteration time, and less of a divide between technical artists, designers, and programmers.[68]

I could say: 'I'm going to convert this pillar into a blueprint [in the Engine] and add some sort of trap to it.' It means I can really go in and start enhancing my world with interaction that just would not have been possible without a technical artist, a designer and a programmer and now any one of those three can do all of it, provided they have the assets handy. The fact that I can just go in and say, 'If you're within X distance of this thing, start to glow and take my distance to it, normalize it zero to one and then just lerp [oscillate] between two different brightness values, so as I reach for something it gets hot'...that would have been something do-able but very difficult for anybody except a gameplay programmer. And he wouldn't have known how to set up the assets, but now any one of the three could do it.
[68]

On March 19, 2014, at the Game Developers Conference, Epic Games released Unreal Engine 4, and all of its tools, features and complete C++ source code, to the development community through a new subscription model.[69][70] Tim Sweeney, said that the new business model is a reflection of changes in the industry. Epic Games has traditionally made its Unreal Engine available to large AAA game development teams at a cost of millions of dollars but as the industry has evolved, Epic has had to "really rethink our whole business as to how we make the engine available to teams."[71][72] "Looking at the new shape of the industry now, we realize that's an outdated tool," Sweeney said. "Looking at the possibilities for the engine, we started from scratch and thought 'How can we make the engine available to more people?'".[73]

Play media
Interactive architectural visualization made in UE4.

On September 4, 2014, Epic released Unreal Engine 4 to schools and universities for free, including personal copies for students enrolled in accredited video game development, computer science, art, architecture, simulation, and visualization programs.[74][75]

On February 19, 2015, Epic launched Unreal Dev Grants, a $5 million development fund designed to provide financial grants to innovative projects being built with UE4.[76][77][78]

As of March 2, 2015 , Unreal Engine 4 is available to everyone for free, along with all future updates,[79][80] with a selective royalty schedule.[81][82] Oculus VR announced in October 2016 that it will cover royalty fees for all Unreal Engine titles shipping on the Oculus Store for up to the first $5 million of gross revenue per game.[83]

To prepare for the release of its free-to-play "Battle Royale" mode in Fortnite in September 2017, Epic had to make a number of Unreal Engine modifications that helped it to handle a large number (up to 100) connections to the same server while still retaining high bandwidth, and to improve the rendering of a large open in-game world. Epic will incorporate these changes into future updates of the Unreal Engine.[84]

The currently supported platforms are Microsoft Windows,[85] macOS,[85] Linux,[85] SteamOS,[85] FreeBSD,[86] HTML5,[87] iOS,[85] Android,[85] Nintendo Switch,[88] PlayStation 4,[89] Xbox One,[89] Magic Leap One[90] and virtual reality (SteamVR/HTC Vive,[91] Oculus Rift,[92] PlayStation VR,[93] Google Daydream,[94] OSVR[95] and Samsung Gear VR[96]).

UnrealScript

UnrealScript (often abbreviated to UScript) is Unreal Engine's native scripting language used for authoring game code and gameplay events before the release of Unreal Engine 4. The language was designed for simple, high-level game programming.[97] The UnrealScript interpreter was programmed by Tim Sweeney, who also created an earlier game scripting language, ZZT-oop.[12]

Similar to Java, UnrealScript is object-oriented without multiple inheritance (classes all inherit from a common Object class), and classes are defined in individual files named for the class they define. Unlike Java, UnrealScript does not have object wrappers for primitive types. Interfaces are only supported in Unreal Engine generation 3 and a few Unreal Engine 2 games. UnrealScript supports operator overloading, but not method overloading, except for optional parameters.

At the 2012 Game Developers Conference, Epic announced that UnrealScript was being removed from Unreal Engine 4 in favor of C++.[98] Visual scripting would be supported by the Blueprints Visual Scripting system, a replacement for the earlier Kismet visual scripting system.[4][65]

One of the key moments in Unreal Engine 4's development was, we had a series of debates about UnrealScript – the scripting language I'd built that we'd carried through three generations. And what we needed to do to make it competitive in the future. And we kept going through bigger and bigger feature lists of what we needed to do to upgrade it, and who could possibly do the work, and it was getting really, really unwieldy. And there was this massive meeting to try and sort it out, and try to cut things and decide what to keep, and plan and...there was this point where I looked at that and said 'you know, everything you're proposing to add to UnrealScript is already in C++. Why don't we just kill UnrealScript and move to pure C++? You know, maximum performance and maximum debuggability. It gives us all these advantages.'
Gamasutra.[99]

Reception

Awards and accolades

An Unreal Engine presentation at GDC 2016

The Unreal Engine holds several technology awards, including eight Game Developer Magazine Front Line Awards for Best Game Engine (2004,[100] 2005,[101] 2006,[102] 2007,[103] 2009,[104] 2010,[105] 2011,[106] 2012[107]), a place in the Front Line Awards Hall of Fame,[108] and six Develop Industry Excellence Awards for Best Engine (2009,[109] 2010,[110] 2011[111] 2013,[112] 2016,[113] 2017[114]). It also received GamesRadar's E3 2012 Important Stuff Awards for "Best Taste of Next-Gen",[115] IGN's Best of E3 2012 for "Coolest Tech",[116] Game Informer's Best of E3 2012 Awards for "Best Tech",[117] and was declared "Best Engine" in Develop 100: The Tech List 2014.[118]

In 2014, Guinness World Records called the Unreal technology the most successful video game engine.[2]

Games using the Unreal Engine

Main article: List of Unreal Engine games

References

Further reading

Articles

Books

Source en.wikipedia.org

Report Page