more

Showing posts with label game engine. Show all posts
Showing posts with label game engine. Show all posts

Sunday, 18 October 2020

All game engines and its detail

 Unreal Engine

Jump to navigationJump to search

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

Unreal Engine

UE Logo Black Centered.svg

Screenshot of Unreal Engine 4.20

Screenshot of Unreal Engine 4.20

Original author(s) Tim Sweeney

Developer(s) Epic Games

Stable release 4.25 (May 5, 2020; 5 months ago) [±]

Written in C++

License Source-available commercial software with royalty model for commercial use[1]

Alexa rank Increase 2,808 (As of July 26, 2020)[2]

Website unrealengine.com

List-Class article List of games

The Unreal Engine is a game engine developed by Epic Games, first showcased in the 1998 first-person shooter game Unreal. Although initially developed for first-person shooters, it has been used in a variety of other genres, including platformers, fighting games, MMORPGs, and other RPGs. Written in C++, the Unreal Engine features a high degree of portability, supporting a wide range of platforms.


The latest release is Unreal Engine 4, which launched in 2014 under a subscription model. Since 2015, it can be downloaded for free, with its source code available on GitHub. Epic allows for its use in commercial products based on a royalty model, typically asking developers for 5% of revenues from sales, though with the success of Fortnite, which has become a testbed for Unreal Engine for Epic, Epic waives this fee for developers that publish their games through the Epic Games Store. On May 13, 2020, Epic announced that their portion of royalties for games developed in Unreal Engine are waived until developers have earned their first US$1 million in revenue, retroactively applying to January 1, 2020. Unreal Engine 5 is scheduled for release by late 2021.



Contents

1 History

1.1 First generation

1.2 Unreal Engine 2

1.3 Unreal Engine 3

1.3.1 Unreal Development Kit

1.4 Unreal Engine 4

1.5 Unreal Engine 5

2 UnrealScript

3 Marketplace

4 Use in film making

5 Legal aspects

6 Awards

7 See also

8 References

9 Further reading

10 External links

History

First generation


A screenshot of the first version of UnrealEd, displaying a user interface written in Visual Basic[3]

The first-generation Unreal Engine was developed by Tim Sweeney, the founder of Epic Games.[4] Having created editing tools for the shareware games ZZT (1991) and Jill of the Jungle (1992),[5] Sweeney began writing the engine in 1995 for the production of a game that would later become a first-person shooter known as Unreal.[6][7][8] After years in development, it debuted with the game's release in 1998,[9] although MicroProse and Legend Entertainment had access to the technology much earlier, licensing it in 1996.[3] According to an interview, Sweeney "wrote 90 percent of the code in the engine."[10] As with ZZT, he used the IBM Model M keyboard while programming.[11]


Among its features were collision detection, colored lighting, and a limited form of texture filtering.[12] The engine also integrated a level editor, UnrealEd,[13] that had support for real-time constructive solid geometry operations as early as 1996, allowing mappers to change the level layout on the fly.[14][15] Even though Unreal was designed to compete with id Software, developers of Doom and Quake, John Carmack complimented the game for the use of 16-bit color while remarking its implementation of visual effects such as volumetric fog. "I doubt any important game will be designed with 8-bit color in mind from now on. Unreal has done an important thing in pushing toward direct color, and this gives the artists a lot more freedom," he said in an article written by Geoff Keighley for GameSpot.[8] "Light blooms [the spheres of light], fog volumes, and composite skies were steps I was planning on taking, but Epic got there first with Unreal," he said, adding: "The Unreal engine has raised the bar on what action gamers expect from future products. The visual effects first seen in the game will become expected from future games."[8]


At first, the engine relied completely on software rendering, meaning the graphics calculations were handled by the CPU.[4] However, over time, it was able to take advantage of the capabilities provided by graphics cards, focusing on the Glide API, specially designed for 3dfx accelerators.[15][12] While supported, OpenGL and Direct3D reported a slower performance compared to Glide due to their deficiency in texture management.[16][17] According to Sweeney, the hardest part of the engine to program was the renderer, as he had to rewrite it several times during development, though he found less "glamorous" the infrastructure connecting all the subsystems.[18] With regard to audio, Epic employed the Galaxy Sound System, a software programmed in assembly language that integrated both EAX and Aureal technologies, and allowed the use of tracker music, which gave level designers flexibility in how the soundtrack was played at a specific point.[19][20][21]



Harry Potter and the Sorcerer's Stone for PC was developed with the Unreal Tournament version of the engine using assets from the 2001 film.[22]

Unreal was noted for its graphical innovations, but Sweeney recognized in an interview with Eurogamer that many aspects of the game were unpolished, citing complaints about its high system requirements and online gameplay issues.[23] Epic addressed these points during the development of Unreal Tournament by incorporating several enhancements in the engine intended to optimize performance on low-end machines and improve the networking code, while refining the artificial intelligence for bots to display coordination in team-based environments.[24] In addition to being available on Microsoft Windows, Linux, Mac and Unix,[25] the engine was ported through Unreal Tournament to the PlayStation 2 and, with the help of Secret Level, to the Dreamcast.[26][27]


By late 1999, The New York Times indicated that there had been sixteen external projects using Epic's technology, including Deus Ex, The Wheel of Time, and Duke Nukem Forever,[25] the latter of which was originally based on the Quake II engine.[28] Unlike id Software, whose engine business only offered the source code, Epic provided support for licensees and met with them to discuss improvements to its game development system.[3][29] While it cost around $3 million to produce and licenses for up to $350,000,[25] Epic gave players the ability to modify its games with the incorporation of UnrealEd and a scripting language called UnrealScript, sparking a community of enthusiasts around a game engine built to be extensible over multiple generations of games.[30][31][32][33]


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.


— Sweeney, Maximum PC, 1998[33]

Unreal Engine 2


Killing Floor was built in Unreal Engine 2.

In October 1998, IGN reported, based on an interview with affiliate Voodoo Extreme, that Sweeney was doing research for his next-generation engine.[34] With development starting a year later,[25] 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 device.[35][36] Soon after, Epic would release Unreal Championship on the Xbox, with it being one of the first games to utilize Microsoft's Xbox Live.[32]


Though based on its predecessor, this generation saw a notable advance in rendering terms as well as new improvements to the tool set.[37] Capable of running levels nearly 100 times more detailed than those found in Unreal, the engine integrated a variety of features, including a cinematic editing tool, particle systems, export plug-ins for 3D Studio Max and Maya, and a skeletal animation system first showcased in the PlayStation 2 version of Unreal Tournament.[38][39] In addition, the user interface for UnrealEd was rewritten in C++ using the wxWidgets toolkit, which Sweeney said was the "best thing available" at the time.[3]


Physical simulations, such as ragdoll player collisions and arbitrary rigid body dynamics, were powered by the Karma physics engine.[39][32] With Unreal Tournament 2004, vehicle-based gameplay was successfully implemented, enabling large-scale combat.[32][40] While Unreal Tournament 2003 had support for vehicle physics through the Karma engine, as demonstrated by a testmap with a "hastily-constructed vehicle", it wasn't until Psyonix created a modification out of Epic's base code that the game received fully coded vehicles. Impressed by their efforts, Epic decided to include it in its successor as a new game mode under the name of Onslaught by hiring Psyonix as a contractor.[39][41][42] Psyonix would later develop Rocket League before being acquired by Epic in 2019.[43]


A specialized version of UE2 called UE2X was designed for Unreal Championship 2: The Liandri Conflict on the original Xbox platform, featuring optimizations specific to that console.[44] In March 2011, Ubisoft Montreal revealed that UE2 was successfully running on the Nintendo 3DS via Tom Clancy's Splinter Cell 3D.[45] "The 3DS is powerful, and we are able to run the Unreal Engine on this console, which is pretty impressive for a handheld machine, and the 3D doesn't affect the performance (thanks to my amazing programmers)," said Ubisoft's Fabrice Cuny.[45]


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.[46] The engine was based on the first-generation, but contained new features. "The basic architectural decisions visible to programmers of an object-oriented design, a data-driven scripting approach, and a fairly modular approach to subsystems still remain [from Unreal Engine 1]. But the parts of the game that are really visible to gamers –the renderer, the physics system, the sound system, and the tools– are all visibly new and dramatically more powerful," said Sweeney.[47] Unlike Unreal Engine 2, which still supported a fixed-function pipeline, Unreal Engine 3 was designed to take advantage of fully programmable shader hardware.[47] All lighting and shadowing 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.[47] The first games released using Unreal Engine 3 were Gears of War for Xbox 360, and RoboBlitz for Windows, which were both released on November 7, 2006.[48]



Screenshot of the Samaritan demo

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.[49][50] In 2011, 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.[51][52] In 2013, Epic teamed-up with Mozilla to bring Unreal Engine 3 to the web; using the asm.js sublanguage and Emscripten compiler, they were able to port the engine in four days.[53]


Throughout the lifetime of UE3, significant updates were incorporated,[54] including improved destructible environments, soft body dynamics, large crowd simulation, iOS functionality,[55] Steamworks integration,[56] a real-time global illumination solution,[57][58] and stereoscopic 3D on Xbox 360 via TriOviz for Games Technology.[59][60][61] 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.[62][63][64]


Unreal Development Kit

While Unreal Engine 3 was quite open for modders to work with, the ability to publish and sell games meant using UE3 was restricted to licenses 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.[65]


In December 2010, the kit was updated to include support for creating iOS games and apps.[66] OS X compatibility followed in the September 2011 release.[67]


Unreal Engine 4

File:UE4Arch.com - Viennese apartment.webm

Interactive architectural visualization developed with Unreal Engine 4 (2015)

In August 2005, Mark Rein, the vice-president of Epic Games, revealed that Unreal Engine 4 had been in development for two years.[68] "People don't realise this but we're already two years into development of Unreal Engine 4. It certainly doesn't have a full team yet, it's just one guy and you can probably guess who that guy is," he told C&VG.[69] Speaking in an interview in early 2008, Sweeney said that he was basically the only person working on the engine, though he affirmed his research and development department would expand over time, designing the engine in parallel with the efforts by the UE3 team.[70] In February 2012, Rein said "people are going to be shocked later this year when they see Unreal Engine 4";[71] Epic unveiled UE4 to limited attendees at the 2012 Game Developers Conference,[72] and a video of the engine being demonstrated by technical artist Alan Willard was released to the public on June 7, 2012, via GameTrailers TV.[73]


One of the major features planned for UE4 was real-time global illumination using voxel cone tracing, eliminating pre-computed lighting.[74] However, this feature, called Sparse Voxel Octree Global Illumination (SVOGI), has been replaced with a similar but less computationally expensive algorithm due to performance concerns.[75] UE4 also includes the new "Blueprints" visual scripting system (a successor to UE3's "Kismet"[76]), which allows for rapid development of game logic without using code, resulting in less of a divide between technical artists, designers, and programmers.[77][78]


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.


— Willard, Kotaku, 2012[78]


An Unreal Engine booth at GDC 2017

On March 19, 2014, at the Game Developers Conference (GDC), Epic Games released Unreal Engine 4 through a new licensing model. For a monthly subscription at US$19, developers were given access to the full version of the engine, including the C++ source code, which could be downloaded via GitHub. Any released product was charged with a 5% royalty of gross revenues.[79] The first game released using Unreal Engine 4 was Daylight, developed with early access to the engine[80] and released on April 29, 2014.[81]


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.[82] On February 19, 2015, Epic launched Unreal Dev Grants, a $5 million development fund aiming to provide grants to creative projects using Unreal Engine 4.[83]


In March 2015, Epic released Unreal Engine 4, along with all future updates, for free for all users.[84][85] In exchange, Epic established a selective royalty schedule, asking for 5% of revenue for products that make more than $3,000 per quarter.[86] Sweeney stated that when they moved to the subscription model in 2014, use of Unreal grew by 10 times and through many smaller developers, and believed that they would draw even more uses through this new pricing scheme.[87]


In an attempt to attract Unreal Engine developers, Oculus VR announced in October 2016 that it will pay royalty fees for all Unreal-powered Oculus Rift titles published on their store for up to the first $5 million of gross revenue per game.[88]


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) of connections to the same server while still retaining high bandwidth, and to improve the rendering of a large open in-game world. Epic said it would incorporate these changes into future updates of the Unreal Engine.[89]


With the opening of the Epic Games Store in December 2018, Epic will not charge the 5% revenue fee on games that use the Unreal Engine and released through the Epic Games Stores, absorbing that cost as part of the base 12% cut Epic is taking to cover other costs.[90]


Effective May 13, 2020, and retroactive to January 1, 2020, the royalty exemption amount is increased to US$1,000,000 in lifetime gross revenue per title.[91]


The engine supports the following platforms: Microsoft Windows,[92] macOS,[92] Linux,[92] HTML5,[93] iOS,[92] Android,[92] Nintendo Switch,[94] PlayStation 4,[95] Xbox One,[95] Magic Leap One,[96] HTC Vive,[97] Oculus Rift,[98] PlayStation VR,[99] Google Daydream,[100] OSVR,[101] Samsung Gear VR,[102] HoloLens 2,[103] PlayStation 5,[104] Xbox Series X/S,[104] and Stadia.[105]


Unreal Engine 5


The cave system in the "Lumen in the Land of Nanite" Unreal Engine 5 demo was generated using real-world photogrammetry assets imported into the Nanite engine rather than detailed by hand.

Unreal Engine 5 was revealed on May 13, 2020 with expected launch in late-2021, supporting all existing systems including the next-generation consoles PlayStation 5 and Xbox Series X. Work on the engine started about two years prior to its announcement.[106] Among its major features include Nanite, an engine that allows for high-detailed photographic source material to be imported into games.[107] The Nanite virtualized geometry technology allows Epic to take advantage of its past acquisition of Quixel, the world's largest photogrammetry library in 2019. The goal of Unreal Engine 5 was to make it as easy as possible for developers to create detailed game worlds without having to spend excessive time on creating new detailed assets, allowing the engine software to handle these factors.[106] Nanite can import nearly any other pre-existing three-dimension representation of objects and environments, including ZBrush and CAD models, allowing the use of film-quality assets.[108] Nanite automatically handles the levels of detail (LODs) of these imported objects appropriate to the target platform and draw distance, a task that an artist would have had to perform otherwise.[109] Lumen is another component described as a "fully dynamic global illumination solution that immediately reacts to scene and light changes".[109][107][110] Lumen eliminates the need for artists and developers to craft a lightmap for a given scene, but instead calculates light reflections and shadows on the fly, thus allowing for real-time behavior of light sources.[109] Additional components include Niagara for fluid and particle dynamics and Chaos for a physics engine.[106]


With potentially tens of billions of polygons present on a single screen at 4k resolution, Epic also developed the Unreal Engine 5 to take advantage of the upcoming high-speed storage solutions with the next-generation console hardware that will use a mix of RAM and custom solid-state drives.[109] Epic had worked closely with Sony in optimizing Unreal Engine 5 for the PlayStation 5, with Epic helping Sony with the console's storage architecture, which Sweeney said is "far ahead of anything you can buy on anything on PC for any amount of money right now."[111] To demonstrate the ease of creating a detailed world with minimal effort, the May 2020 reveal of the engine showcased a demo called "Lumen in the Land of Nanite" running on a PlayStation 5 that was built by mostly pulling assets from the Quixel library and using the Nanite, Lumen, and other Unreal Engine 5 components to create a seemingly-realistic cave setting that could be explored.[106][112] Epic affirmed that Unreal Engine 5 would be fully supported on the Xbox Series X as well, but had been focused on the PlayStation 5 during the announcement as a result of their work with Sony in the years prior.[113] Epic plans to use Fortnite as a testbed for Unreal Engine 5 to showcase what the engine can do to the industry, with the game expected to use the engine by mid-2021.[106][114] Ninja Theory's Senua's Saga: Hellblade II will also be one of the first games to use Unreal Engine 5.[115]


Unreal Engine 5 will retain the current royalty model, with developers returning 5% of gross revenues to Epic Games, though this fee is forgiven for those that release their games on the Epic Games Store. Further, Epic announced alongside Unreal Engine 5 that they will not take any fee from games using any version of Unreal Engine for the first US$1 million in gross revenue, retroactive to January 1, 2020.[116]


UnrealScript

UnrealScript

Paradigm Object-oriented, generic

Developer Tim Sweeney

First appeared May 1998; 22 years ago

Typing discipline Static, strong, safe

OS Cross-platform (multi-platform)

Filename extensions .uc .uci .upkg

Website docs.unrealengine.com

Influenced by

C++, Java

UnrealScript (often abbreviated to UScript) was 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.[117] The UnrealScript interpreter was programmed by Sweeney, who also created an earlier game scripting language, ZZT-oop.[15]


Similar to Java, UnrealScript was object-oriented without multiple inheritance (classes all inherit from a common Object class), and classes were defined in individual files named for the class they define. Unlike Java, UnrealScript did not have object wrappers for primitive types. Interfaces were only supported in Unreal Engine generation 3 and a few Unreal Engine 2 games. UnrealScript supported 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++.[118] Visual scripting would be supported by the Blueprints Visual Scripting system, a replacement for the earlier Kismet visual scripting system.[7][76]


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.'


— Sweeney, Gamasutra, 2017[119]

Marketplace

With Unreal Engine 4, Epic opened the Unreal Engine Marketplace in September 2014. The Marketplace is a digital storefront that allows content creators and developers to provide art assets, models, sounds, environments, code snippets, and other features that others could purchase, along with tutorials and other guides. Some content is provided for free by Epic, including previously offered Unreal assets and tutorials.[120] Prior to July 2018, Epic took a 30% share of the sales but due to the success of Unreal and Fortnite Battle Royale, Epic retroactively reduced its take to 12%.[121]


Use in film making

The Unreal Engine has found use in film making, such as in the production of television series like with The Mandalorian and Westworld. In these series, virtual sets can be created within Unreal, and then rendered to large LED projection screens and atmospheric lighting systems that track with a camera's motion around actors and objects. The overall appearance was recognized to appear more natural than typical chromakey effects, and allows for real-time composition of shots, immediate editing of the virtual sets as needed, and the ability to shoot multiple scenes within a short period by just changing the virtual world behind the actors.[122] Jon Favreau and Lucasarts' Industrial Light & Magic division had worked with Epic in developing their StageCraft technology for The Mandalorian, based on a similar approach Favreau had used in The Lion King.[123][124] Favreau shared this technology approach with Jonathan Nolan and Lisa Joy, the producers for Westworld. The show had already looked at the use of virtual sets before and had some technology established, but integrated the use of Unreal Engine as with StageCraft for the third season of the show.[125]


Orca Studios, a Spanish-based company, has been working with Epic to establish multiple studios for virtual filming similar to the StageCraft approach with the Unreal Engine providing the virtual sets, particularly during the 2019–20 COVID-19 pandemic which had restricted travel.










Friday, 9 October 2020

Unity - game engine

 

Unity (game engine)

Unity is a cross-platform game engine developed by Unity Technologies, first announced and released in June 2005 at Apple Inc.'s Worldwide Developers Conference as a Mac OS X-exclusive game engine. As of 2018, the engine had been extended to support more than 25 platforms. The engine can be used to create three-dimensional, two-dimensional, virtual reality, and augmented reality games, as well as simulations and other experiences. The engine has been adopted by industries outside video gaming, such as film, automotive, architecture, engineering and construction.

Several major versions of Unity have been released since its launch. The latest stable version, 2020.1.7, was released in October 2020.



Contents
1 History
2 Overview

History
The Unity game engine launched in 2005, aiming to "democratize" game development by making it accessible to more developers. The next year, Unity was named runner-up in the Best Use of Mac OS X Graphics category in Apple Inc.'s Apple Design Awards. Unity was initially released for Mac OS X, later adding support for Microsoft Windows and Web browsers.

Unity 2.0 launched in 2007 with approximately 50 new features. The release included an optimized terrain engine for detailed 3D environments, real-time dynamic shadows, directional lights and spotlights, video playback, and other features. The release also added features whereby developers could collaborate more easily. It included a Networking Layer for developers to create multiplayer games based on User Datagram Protocol, offering Network Address Translation, and State Synchronization and Remote Procedure Calls.

When Apple launched its App Store in 2008, Unity quickly added support for the iPhone. For several years, the engine was uncontested on the iPhone and it became well-known with iOS game developers.

Unity 3.0 launched in September 2010 with features expanding the engine's graphics features for desktop computers and video game consoles. In addition to Android support, Unity 3 featured integration of Illuminate Labs' Beast Lightmap tool, deferred rendering, a built-in tree editor, native font rendering, automatic UV mapping, and audio filters, among other things.

In 2012 VentureBeat wrote, "Few companies have contributed as much to the flowing of independently produced games as Unity Technologies. [...] More than 1.3 million developers are using its tools to create gee-whiz graphics in their iOS, Android, console, PC, and web-based games. Unity wants to be the engine for multi-platform games, period." A May 2012 survey by Game Developer magazine indicated Unity as its top game engine for mobile platforms. In November 2012, Unity Technologies delivered Unity 4.0. This version added DirectX 11 and Adobe Flash support, new animation tools called Mecanim, and access to the Linux preview.

Facebook integrated a software development kit for games using the Unity game engine in 2013. This featured tools that allowed tracking advertising campaigns and deep linking, where users were directly linked from social media posts to specific portions within games, and easy in-game-image sharing. In 2016, Facebook developed a new PC gaming platform with Unity. Unity provided support for Facebook's gaming platforms, and Unity developers could more quickly export and publish games to Facebook.

The Verge said of 2015's Unity 5 release: "Unity started with the goal of making game development universally accessible. [...] Unity 5 is a long-awaited step towards that future." With Unity 5, the engine improved its lighting and audio. Through WebGL, Unity developers could add their games to compatible Web browsers with no plug-ins required for players. Unity 5.0 offered real-time global illumination, light mapping previews, Unity Cloud, a new audio system, and the Nvidia PhysX 3.3 physics engine. The fifth generation of the Unity engine also introduced Cinematic Image Effects to help make Unity games look less generic. Unity 5.6 added new lighting and particle effects, updated the engine's overall performance, and added native support for Nintendo Switch, Facebook Gameroom, Google Daydream, and the Vulkan graphics API. It introduced a 4K video player capable of running 360-degree videos for virtual reality. However, some gamers criticized Unity's accessibility due to the high volume of quickly produced games published on the Steam distribution platform by inexperienced developers. CEO John Riccitiello said in an interview that he believes this to be a side-effect of Unity's success in democratizing game development: "If I had my way, I'd like to see 50 million people using Unity – although I don't think we're going to get there any time soon. I'd like to see high school and college kids using it, people outside the core industry. I think it's sad that most people are consumers of technology and not creators. The world's a better place when people know how to create, not just consume, and that's what we're trying to promote."

In December 2016, Unity Technologies announced that they would change the versioning numbering system for Unity from sequence-based identifiers to year of release to align the versioning with their more frequent release cadence; Unity 5.6 was therefore followed by Unity 2017.[23] Unity 2017 tools featured a real-time graphics rendering engine, color grading and worldbuilding, live operations analytics and performance reporting. Unity 2017.2 underscored Unity Technologies' plans beyond video games. This included new tools such as Timeline, which allowed developers to drag-and-drop animations into games, and Cinemachine, a smart camera system within games. Unity 2017.2 also integrated Autodesk's 3DS Max and Maya tools into the Unity engine for a streamlined asset sharing in-game iteration process.

Unity 2018 featured the Scriptable Render Pipeline for developers to create high-end graphics.[26] This included the High-Definition Rendering Pipeline for console and PC experiences, and the Lightweight Rendering Pipeline for mobile, virtual reality, augmented reality, and mixed reality. Unity 2018 also included machine learning tools, such as Imitation Learning, whereby games learn from real player habits, support for Magic Leap, and templates for new developers.

In 2019, a new link to the Wolfram Language was added, making it possible to access high level functions of the Wolfram language from Unity. Calling Unity objects from the Wolfram language was also made possible via the UnityLink library.

In June 2020, Unity introduced the Mixed and Augmented Reality Studio (MARS), which provides developers with additional functionality for rules-based generation of augmented reality (AR) applications.

Overview
Unity gives users the ability to create games and experiences in both 2D and 3D, and the engine offers a primary scripting API in C#, for both the Unity editor in the form of plugins, and games themselves, as well as drag and drop functionality. Prior to C# being the primary programming language used for the engine, it previously supported Boo, which was removed with the release of Unity 5, and a version of JavaScript called UnityScript, which was deprecated in August 2017, after the release of Unity 2017.1, in favor of C#.

Within 2D games, Unity allows importation of sprites and an advanced 2D world renderer. For 3D games, Unity allows specification of texture compression, mipmaps, and resolution settings for each platform that the game engine supports, and provides support for bump mapping, reflection mapping, parallax mapping, screen space ambient occlusion (SSAO), dynamic shadows using shadow maps, render-to-texture and full-screen post-processing effects.

As of 2018, Unity has been used to create approximately half of the new mobile games on the market and 60 percent of augmented reality and virtual reality content.


As of 2018, Unity had been used to create approximately half of the mobile games on the market and 60 percent of augmented reality and virtual reality content,[33] including approximately 90 percent on emerging augmented reality platforms, such as Microsoft HoloLens, and 90 percent of Samsung Gear VR content. Unity technology is the basis for most virtual reality and augmented reality experiences, and Fortune said Unity "dominates the virtual reality business". Unity Machine Learning Agents is open-source software whereby the Unity platform connects to machine learning programs, including Google's TensorFlow. Using trial and error in Unity Machine Learning Agents, virtual characters use reinforcement learning to build creative strategies in lifelike virtual landscapes. The software is used to develop robots and self-driving cars.

Unity formerly supported other platforms including its own Unity Web Player, a Web browser plugin. However, it was deprecated in favor of WebGL. Since version 5, Unity has been offering its WebGL bundle compiled to JavaScript using a 2-stage language translator (C# to C++ and finally to JavaScript).

Unity was the default software development kit (SDK) used for Nintendo's Wii U video game console, with a free copy included by Nintendo with each Wii U developer license. Unity Technologies called this bundling of a third-party SDK an "industry first"



Thursday, 8 October 2020

Unreal Engine - The game engine software

 Unreal Engine

The Unreal Engine is a game engine developed by Epic Games, first showcased in the 1998 first-person shooter game Unreal. Although initially developed for first-person shooters, it has been used in a variety of other genres, including platformers, fighting games, MMORPGs, and other RPGs. Written in C++, the Unreal Engine features a high degree of portability, supporting a wide range of platforms.


The latest release is Unreal Engine 4, which launched in 2014 under a subscription model. Since 2015, it can be downloaded for free, with its source code available on GitHub. Epic allows for its use in commercial products based on a royalty model, typically asking developers for 5% of revenues from sales, though with the success of Fortnite, which has become a testbed for Unreal Engine for Epic, Epic waives this fee for developers that publish their games through the Epic Games Store. On May 13, 2020, Epic announced that their portion of royalties for games developed in Unreal Engine are waived until developers have earned their first US$1 million in revenue, retroactively applying to January 1, 2020. Unreal Engine 5 is scheduled for release by late 2021.




Contents

1 History

1.1 First generation

1.2 Unreal Engine 2

1.3 Unreal Engine 3

1.3.1 Unreal Development Kit

1.4 Unreal Engine 4

1.4.1 Supported platforms

1.5 Unreal Engine 5

2 UnrealScript


History

First generation


A screenshot of the first version of UnrealEd, displaying a user interface written in Visual Basic

The first-generation Unreal Engine was developed by Tim Sweeney, the founder of Epic Games. Having created editing tools for the shareware games ZZT (1991) and Jill of the Jungle (1992), Sweeney began writing the engine in 1995 for the production of a game that would later become a first-person shooter known as Unreal. After years in development, it debuted with the game's release in 1998, although MicroProse and Legend Entertainment had access to the technology much earlier, licensing it in 1996. According to an interview, Sweeney "wrote 90 percent of the code in the engine." As with ZZT, he used the IBM Model M keyboard while programming.


Among its features were collision detection, colored lighting, and a limited form of texture filtering. The engine also integrated a level editor, UnrealEd, that had support for real-time constructive solid geometry operations as early as 1996, allowing mappers to change the level layout on the fly.[14][15] Even though Unreal was designed to compete with id Software, developers of Doom and Quake, John Carmack complimented the game for the use of 16-bit color while remarking its implementation of visual effects such as volumetric fog. "I doubt any important game will be designed with 8-bit color in mind from now on. Unreal has done an important thing in pushing toward direct color, and this gives the artists a lot more freedom," he said in an article written by Geoff Keighley for GameSpot. "Light blooms [the spheres of light], fog volumes, and composite skies were steps I was planning on taking, but Epic got there first with Unreal," he said, adding: "The Unreal engine has raised the bar on what action gamers expect from future products. The visual effects first seen in the game will become expected from future games."


At first, the engine relied completely on software rendering, meaning the graphics calculations were handled by the CPU.[4] However, over time, it was able to take advantage of the capabilities provided by graphics cards, focusing on the Glide API, specially designed for 3dfx accelerators While supported, OpenGL and Direct3D reported a slower performance compared to Glide due to their deficiency in texture management. According to Sweeney, the hardest part of the engine to program was the renderer, as he had to rewrite it several times during development, though he found less "glamorous" the infrastructure connecting all the subsystems. With regard to audio, Epic employed the Galaxy Sound System, a software programmed in assembly language that integrated both EAX and Aureal technologies, and allowed the use of tracker music, which gave level designers flexibility in how the soundtrack was played at a specific point.


Harry Potter and the Sorcerer's Stone for PC was developed with the Unreal Tournament version of the engine using assets from the 2001 film.

Unreal was noted for its graphical innovations, but Sweeney recognized in an interview with Eurogamer that many aspects of the game were unpolished, citing complaints about its high system requirements and online gameplay issues. Epic addressed these points during the development of Unreal Tournament by incorporating several enhancements in the engine intended to optimize performance on low-end machines and improve the networking code, while refining the artificial intelligence for bots to display coordination in team-based environments. In addition to being available on Microsoft Windows, Linux, Mac and Unix, the engine was ported through Unreal Tournament to the PlayStation 2 and, with the help of Secret Level, to the Dreamcast.


By late 1999, The New York Times indicated that there had been sixteen external projects using Epic's technology, including Deus Ex, The Wheel of Time, and Duke Nukem Forever, the latter of which was originally based on the Quake II engine. Unlike id Software, whose engine business only offered the source code, Epic provided support for licensees and met with them to discuss improvements to its game development system. While it cost around $3 million to produce and licenses for up to $350,000, Epic gave players the ability to modify its games with the incorporation of UnrealEd and a scripting language called UnrealScript, sparking a community of enthusiasts around a game engine built to be extensible over multiple generations of games.


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.


— Sweeney, Maximum PC, 1998



Unreal Engine 2


Killing Floor was built in Unreal Engine 2.

In October 1998, IGN reported, based on an interview with affiliate Voodoo Extreme, that Sweeney was doing research for his next-generation engine. With development starting a year later, 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 device. Soon after, Epic would release Unreal Championship on the Xbox, with it being one of the first games to utilize Microsoft's Xbox Live.


Though based on its predecessor, this generation saw a notable advance in rendering terms as well as new improvements to the tool set. Capable of running levels nearly 100 times more detailed than those found in Unreal, the engine integrated a variety of features, including a cinematic editing tool, particle systems, export plug-ins for 3D Studio Max and Maya, and a skeletal animation system first showcased in the PlayStation 2 version of Unreal Tournament. In addition, the user interface for UnrealEd was rewritten in C++ using the wxWidgets toolkit, which Sweeney said was the "best thing available" at the time.


Physical simulations, such as ragdoll player collisions and arbitrary rigid body dynamics, were powered by the Karma physics engine With Unreal Tournament 2004, vehicle-based gameplay was successfully implemented, enabling large-scale combat. While Unreal Tournament 2003 had support for vehicle physics through the Karma engine, as demonstrated by a testmap with a "hastily-constructed vehicle", it wasn't until Psyonix created a modification out of Epic's base code that the game received fully coded vehicles. Impressed by their efforts, Epic decided to include it in its successor as a new game mode under the name of Onslaught by hiring Psyonix as a contractor. Psyonix would later develop Rocket League before being acquired by Epic in 2019.


A specialized version of UE2 called UE2X was designed for Unreal Championship 2: The Liandri Conflict on the original Xbox platform, featuring optimizations specific to that console. In March 2011, Ubisoft Montreal revealed that UE2 was successfully running on the Nintendo 3DS via Tom Clancy's Splinter Cell 3D. "The 3DS is powerful, and we are able to run the Unreal Engine on this console, which is pretty impressive for a handheld machine, and the 3D doesn't affect the performance (thanks to my amazing programmers)," said Ubisoft's Fabrice Cuny.


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. The engine was based on the first-generation, but contained new features. "The basic architectural decisions visible to programmers of an object-oriented design, a data-driven scripting approach, and a fairly modular approach to subsystems still remain [from Unreal Engine 1]. But the parts of the game that are really visible to gamers –the renderer, the physics system, the sound system, and the tools– are all visibly new and dramatically more powerful," said Sweeney. Unlike Unreal Engine 2, which still supported a fixed-function pipeline, Unreal Engine 3 was designed to take advantage of fully programmable shader hardware. All lighting and shadowing 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. The first games released using Unreal Engine 3 were Gears of War for Xbox 360, and RoboBlitz for Windows, which were both released on November 7, 2006.



Screenshot of the Samaritan demo

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. In 2011, 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. In 2013, Epic teamed-up with Mozilla to bring Unreal Engine 3 to the web; using the asm.js sublanguage and Emscripten compiler, they were able to port the engine in four days.


Throughout the lifetime of UE3, significant updates were incorporated, including improved destructible environments, soft body dynamics, large crowd simulation, iOS functionality, Steamworks integration,[56] a real-time global illumination solution, and stereoscopic 3D on Xbox 360 via TriOviz for Games Technology.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.[


Unreal Development Kit

While Unreal Engine 3 was quite open for modders to work with, the ability to publish and sell games meant 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.


In December 2010, the kit was updated to include support for creating iOS games and apps. OS X compatibility followed in the September 2011 release.



Unreal Engine 4

File:UE4Arch.com - Viennese apartment.webm

Interactive architectural visualization developed with Unreal Engine 4, 2015

In August 2005, Mark Rein, the vice-president of Epic Games, revealed that Unreal Engine 4 had been in development for two years. "People don't realise this but we're already two years into development of Unreal Engine 4. It certainly doesn't have a full team yet, it's just one guy and you can probably guess who that guy is," he told C&VG. Speaking in an interview in early 2008, Sweeney said that he was basically the only person working on the engine, though he affirmed his research and development department would expand over time, designing the engine in parallel with the efforts by the UE3 team. In February 2012, Rein said "people are going to be shocked later this year when they see Unreal Engine 4"; Epic unveiled UE4 to limited attendees at the 2012 Game Developers Conference and a video of the engine being demonstrated by technical artist Alan Willard was released to the public on June 7, 2012, via GameTrailers TV.


One of the major features planned for UE4 was real-time global illumination using voxel cone tracing, eliminating pre-computed lighting. However, this feature, called Sparse Voxel Octree Global Illumination (SVOGI), has been replaced with a similar but less computationally expensive algorithm due to performance concerns. UE4 also includes the new "Blueprints" visual scripting system (a successor to UE3's "Kismet"), which allows for rapid development of game logic without using code, resulting in less of a divide between technical artists, designers, and programmers.


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.


— Willard, Kotaku, 2012

On March 19, 2014, at the Game Developers Conference (GDC), Epic Games released Unreal Engine 4 through a new licensing model. For a monthly subscription at US$19, developers were given access to the full version of the engine, including the C++ source code, which could be downloaded via GitHub. Any released product was charged with a 5% royalty of gross revenues. The first game released using Unreal Engine 4 was Daylight, developed with early access to the engine and released on April 29, 2014.


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. On February 19, 2015, Epic launched Unreal Dev Grants, a $5 million development fund aiming to provide grants to creative projects using Unreal Engine 4.



An Unreal Engine booth at GDC 2017

In March 2015, Epic released Unreal Engine 4, along with all future updates, for free for all users. In exchange, Epic established a selective royalty schedule, asking for 5% of revenue for products that make more than $3,000 per quarter. Sweeney stated that when they moved to the subscription model in 2014, use of Unreal grew by 10 times and through many smaller developers, and believed that they would draw even more uses through this new pricing scheme.


In an attempt to attract Unreal Engine developers, Oculus VR announced in October 2016 that it will pay royalty fees for all Unreal-powered Oculus Rift titles published on their store for up to the first $5 million of gross revenue per game.


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) of connections to the same server while still retaining high bandwidth, and to improve the rendering of a large open in-game world. Epic said it would incorporate these changes into future updates of the Unreal Engine.


With the opening of the Epic Games Store in December 2018, Epic will not charge the 5% revenue fee on games that use the Unreal Engine and released through the Epic Games Stores, absorbing that cost as part of the base 12% cut Epic is taking to cover other costs.


Effective May 13, 2020, and retroactive to January 1, 2020, the royalty exemption amount is increased to US$1,000,000 in lifetime gross revenue per title.



Supported platforms

Microsoft Windows

macOS

Linux

HTML5

iOS

Android

Nintendo Switch

PlayStation 4

Xbox One

Magic Leap One

HTC Vive

Oculus Rift

PlayStation VR

Google Daydream

OSVR

Samsung Gear VR

HoloLens 2

PlayStation 5

Xbox Series X and Series S

Stadia

Unreal Engine 5


The cave system in the "Lumen in the Land of Nanite" Unreal Engine 5 demo was generated using real-world photogrammetry assets imported into the Nanite engine rather than detailed by hand.

Unreal Engine 5 was revealed on May 13, 2020 with expected launch in late-2021, supporting all existing systems including the next-generation consoles PlayStation 5 and Xbox Series X. Work on the engine started about two years prior to its announcement. Among its major features include Nanite, an engine that allows for high-detailed photographic source material to be imported into games. The Nanite virtualized geometry technology allows Epic to take advantage of its past acquisition of Quixel, the world's largest photogrammetry library in 2019. The goal of Unreal Engine 5 was to make it as easy as possible for developers to create detailed game worlds without having to spend excessive time on creating new detailed assets, allowing the engine software to handle these factors. Nanite can import nearly any other pre-existing three-dimension representation of objects and environments, including ZBrush and CAD models, allowing the use of film-quality assets. Nanite automatically handles the levels of detail (LODs) of these imported objects appropriate to the target platform and draw distance, a task that an artist would have had to perform otherwise. Lumen is another component described as a "fully dynamic global illumination solution that immediately reacts to scene and light changes". Lumen eliminates the need for artists and developers to craft a lightmap for a given scene, but instead calculates light reflections and shadows on the fly, thus allowing for real-time behavior of light sources. Additional components include Niagara for fluid and particle dynamics and Chaos for a physics engine.


With potentially tens of billions of polygons present on a single screen at 4k resolution, Epic also developed the Unreal Engine 5 to take advantage of the upcoming high-speed storage solutions with the next-generation console hardware that will use a mix of RAM and custom solid-state drives. Epic had worked closely with Sony in optimizing Unreal Engine 5 for the PlayStation 5, with Epic helping Sony with the console's storage architecture, which Sweeney said is "far ahead of anything you can buy on anything on PC for any amount of money right now." To demonstrate the ease of creating a detailed world with minimal effort, the May 2020 reveal of the engine showcased a demo called "Lumen in the Land of Nanite" running on a PlayStation 5 that was built by mostly pulling assets from the Quixel library and using the Nanite, Lumen, and other Unreal Engine 5 components to create a seemingly-realistic cave setting that could be explored. Epic affirmed that Unreal Engine 5 would be fully supported on the Xbox Series X as well, but had been focused on the PlayStation 5 during the announcement as a result of their work with Sony in the years prior. Epic plans to use Fortnite as a testbed for Unreal Engine 5 to showcase what the engine can do to the industry, with the game expected to use the engine by mid-2021. Ninja Theory's Senua's Saga: Hellblade II will also be one of the first games to use Unreal Engine 5.


Unreal Engine 5 will retain the current royalty model, with developers returning 5% of gross revenues to Epic Games, though this fee is forgiven for those that release their games on the Epic Games Store. Further, Epic announced alongside Unreal Engine 5 that they will not take any fee from games using any version of Unreal Engine for the first US$1 million in gross revenue, retroactive to January 1, 2020.


UnrealScript

UnrealScript

Paradigm Object-oriented, generic

Developer Tim Sweeney

First appeared May 1998; 22 years ago

Typing discipline Static, strong, safe

OS Cross-platform (multi-platform)

Filename extensions .uc .uci .upkg

Website docs.unrealengine.com

Influenced by

C++, Java

UnrealScript (often abbreviated to UScript) was 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. The UnrealScript interpreter was programmed by Sweeney, who also created an earlier game scripting language, ZZT-oop.


Similar to Java, UnrealScript was object-oriented without multiple inheritance (classes all inherit from a common Object class), and classes were defined in individual files named for the class they define. Unlike Java, UnrealScript did not have object wrappers for primitive types. Interfaces were only supported in Unreal Engine generation 3 and a few Unreal Engine 2 games. UnrealScript supported 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++. Visual scripting would be supported by the Blueprints Visual Scripting system, a replacement for the earlier Kismet visual scripting system.


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.'

Most popular

The top 10 best open world games in pc

  The best open-world games Just like you probably enjoy getting to choose your own path in real life, you want to have the same freedom in ...

most popular