Draft:Unreal Engine 1

Unreal Engine 1 (UE1) is the first version of the Unreal Engine game engine. It was initially developed in 1995 by Epic Games founder Tim Sweeney for Unreal. Epic later began to license the Engine to other game studios.

History


The first-generation Unreal Engine was developed by Tim Sweeney, the founder of Epic Games. Having created editing tools for his 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, including the graphics, tools, and networking system.

Licensing Unreal Engine
Sweeney initially did not plan to license his Engine, but when other studios offered to license it from Epic, he agreed.

"We released amazing screenshots of our game, but also screenshots of our editor early on, around 1995. That led those companies to call us. Microprose called us and they said 'we're interested in licensing your engine!' and we're like 'Engine? What engine? Oh! Right, our engine! It's very expensive.'"

Sweeney attributed part of Epic's success in licensing Unreal Engine to their customer support. 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 would get together with their leads to discuss improvements to its game development system, internally dubbed the Unreal Tech Advisory Group. 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."

Rendering
At first, the engine relied completely on software rendering, meaning the graphics calculations were handled by the central processing unit (CPU). However, over time, it was able to take advantage of the capabilities provided by dedicated graphics cards, focusing on the Glide API, specially designed for 3dfx accelerators. While OpenGL and Direct3D were supported, they reported a slower performance compared to Glide due to their deficiency in texture management at the time. Sweeney particularly criticized the quality of OpenGL drivers for consumer hardware, describing them as "extremely problematic, buggy, and untested", and labeled the code in the implementation as "scary" as opposed to the simpler and cleaner support for Direct3D. With regard to audio, Epic employed the Galaxy Sound System, a software created in assembly language that integrated both EAX and Aureal technologies, and allowed the use of tracker music, which gave level designers flexibility in how a game soundtrack was played at a specific point in maps. Steve Polge, the author of the Reaper Bots plugin for Quake, programmed the artificial intelligence system, based on knowledge he had gained at his previous employer IBM designing router protocols.

According to Sweeney, the hardest part of the engine to program was the renderer; he had to rewrite its core algorithm several times during development. He found the infrastructure connecting all the subsystems less "glamorous". Despite requiring a significant personal effort, he said the engine was his favorite project at Epic, adding: "Writing the first Unreal Engine was a 3.5-year, breadth-first tour of hundreds of unique topics in software and was incredibly enlightening."

Other Features
Among its features were collision detection, colored lighting, and a limited form of texture filtering. It 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. Even though Unreal was designed to compete with id Software (developer of Doom and Quake), co-founder John Carmack complimented the game for the use of 16-bit color and remarked 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."



Unreal was noted for its graphical innovations, but Sweeney acknowledged in a 1999 interview with Eurogamer that many aspects of the game were unpolished, citing complaints from gamers 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 also refining the artificial intelligence for bots to display coordination in team-based gamemodes such as Capture the Flag. Originally planned as an expansion pack for Unreal, the game also came with increased image quality with the support for the S3TC compression algorithm, allowing for 24-bit high resolution textures without compromising performance.

In addition to being available on 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.