Technology

Current technology – Unreal Engine 3

Unreal Engine 3 is a complete development framework for DirectX 10-equipped PCs, Xbox 360® and PLAYSTATION®3, providing the vast array of core technologies, content creation tools, and support infrastructure required by top game studios, advanced visualization and simulation developers and creators of linear 3D animated content.

Every aspect of the Unreal Engine has been designed with ease of content creation and programming in mind, with the goal of putting as much power as possible in the hands of artists and designers to develop assets in a visual environment with minimal programmer assistance, as well as giving programmers a highly modular, scalable and extensible framework for building, testing, and shipping games in a wide range of genres.

Unreal Engine 3 is integrated with numerous leading middleware technologies through Epic Games’ Integrated Partners Program. Continual optimizations are made to the Unreal Engine’s highly mature tool pipeline, massive world support and multi-processor performance. Unreal Engine 3's advanced toolset is designed specifically to accelerate developers' productivity for ultra-complex, next-generation content.

Key Features

  • Rendering

    Multi-threaded rendering system – Gemini.
    64-bit color High Dynamic Range rendering pipeline.

  • Animation

    Animation.
    Putting art assets into motion.

  • Audio

    Audio.
    Cross-platform support for sounds and music.

  • Physics

    Physics.
    Rigid bodies, ragdolls, vehicles, and physics-based animation.

  • Kismet

    Gameplay scripting – Kismet.
    Designer-driven system for creating complex sequences of events and actions.

  • Matinee

    Cinematics – Matinee.
    Track-based keyframing system for controlling movement and modifying properties.

  • Cascade

    Particle effects – Cascade.
    Artist-driven system for creating particles and emitters.

  • Editor

    Editing tools – UnrealEd.
    Suite of tools for working with various aspects of the content creation pipeline.

  • Online - networking and multiplayer

    Online – Networking and Multiplayer.
    Cross-platform and platform-specific features for online experiences.

  • Unreal Script

    Integrated programming language – UnrealScript.
    A fully object-oriented Java-like language with special game-specific features.

 

 

Additional Features

Gameplay Framework: Artificial Intelligence

  • Navigation Mesh system provides a more accurate representation of an AI's traversable space via a connected graph of convex polygons:
  • Reduced memory footprint with the decrease in nodes being stored.
  • Less nodes means less time fixing up cross-level pathing information.
  • Pathfinding times go down as the density of the graph being searched shrinks.
  • Better representation of the world and therefore better pathing behavior.
  • Automated generation of paths.

Localization

  • Unreal Engine 3 content and code are localization-aware, with a simple framework for externalizing all game text, audio, images, and videos. Localized assets can be cooked for seek-free loading.
  • Unreal Engine 3 is based on the Unicode character set, and has full support for 16-bit Unicode fonts and text input, including importing TrueType fonts into renderable bitmap fonts.
  • Our games have shipped in nine languages including Japanese, Chinese, and Korean.

Programming

  • Unreal Engine 3 includes example content and 100% of the source code for the engine, editor, XSI/Max/Maya exporters, and the game-specific code for our internally-developed games.
  • Extensible, object-oriented C++ engine with software framework for persistence, dynamic loading of code and content, portability, debugging.
  • UnrealScript gameplay scripting language provides automatic support for metadata; persistence with very flexible file format backwards-compatibility; support for exposing script properties to level designers in UnrealEd; a GUI-based script debugger; and native language support for many concepts important in gameplay programming, such as dynamically scoped state machines and time-based (latent) execution of code.
  • Source control friendly software architecture, scalable to large teams and multi-platform projects.
  • Fully supports the latest versions of Microsoft Visual Studio.
  • Fast development iteration via the one-stop UE3 project builder: UnrealBuildTool:
    • Scripts define the build, and reduce the need for scripting and project management specific to the target platform.
    • Integrated with Visual Studio project files.
    • Supports distributed compilation through integration with Xoreax Grid Engine.
    • To minimize build time, UnrealBuildTool supports local parallel compilation, automatic use of precompiled headers, and automatic unity C++ file creation.
  • Artist Support:
  • Modular material component interface for extending visual tool and adding new shader components usable by artists in the visual shader GUI.
  • Animation sets can be hooked into gameplay logic for realistic game-specific movements.
  • Extensible scripting allows programmers to create new actions, events, and sequences that designers can use.
  • Full console support:
    • Unreal Engine 3 is provided as one unified codebase that compiles on PC and all supported current-generation console platforms. All game content and data files are compatible across all supported platforms, for fast turnaround time between code and content development on PC, and playtesting on console or PC.
    • Seek-free DVD loading optimized for consoles, able to load levels at > 80% of DVD's physical transfer rate. Extensible content-streaming framework suitable for multithreaded background DVD streaming of resources and predefined groups of resources based on LOD or programmatic control.
    • Fully optimized to take advantage of console-specific hardware.

Data-Driven Analysis Tools

  • Debugging and Performance Monitoring Tools
    • Memory tracking tools (including GPU memory).
    • Remote Control utility – extensible tool that runs alongside the game to allow for setting flags and running helper commands.
  • Player Experience: Unreal MCP (Master Control Program)
    • A suite of services for enhancing the online experience for players
      • Party system - the ability for a group of players to meet in a networked lobby and transition from match to match as a group.
      • Message of the day.
      • Live updating of game features without having to create a title update.
      • Online population tracking.
      • Gathering and reporting of user hardware configuration (TV type & resolution, number and size of storage devices, networking information, etc.).
  • Collection of gameplay-relevant data for community web site usage and/or design team feedback through advanced analytics (heat maps, data mining, etc.).
  • Client-side support via a collection of interfaces to allow flexible data exchange using standard HTTP protocol or custom protocols using direct TCP sockets.
  • Supports secure communication on PC and Xbox 360 using Microsoft's LIVE Server Platform (LSP) as well as direct communication to central servers on the network.

Massively Multiplayer Online Support: Atlas Technology

  • Massively multiplayer online game (MMOG) development suite developed by Epic Games China.
  • Provides a solid foundation on which to build MMOGs, casual and session based games, and community and e-commerce applications.
  • Persistent world server technology and MMOG content creation and management tools that work directly with Epic Games’ Unreal Engine 3.
  • Extends Unreal Engine 3’s functionality to support persistent online games.
  • Eliminates the need for intensive engineering effort to adapt third-party persistent server solutions or to build proprietary server applications.
  • Saves developers time and money by providing a purpose built, pre-integrated solution to use as a starting point.
  • For more information, visit www.AtlasTechnology.com.

Awards

Unreal Engine Integrated Partners

Epic Games' Integrated Partners Program establishes a formal business relationship between the game and middleware developer and select companies developing cross-platform technologies which integrate with, and are complementary to, Unreal Engine 3. As part of the program, Epic provides continuous Unreal Engine 3 source code access and full technical support to program members.

In addition, those companies that join Epic's partnership program agree to provide a high level of technical support for Unreal Engine 3 licensees through Epic’s established support channels, as well as keep implementations up-to-date with the latest software versions, and work with Epic on potential promotional and co-marketing efforts.

Such companies include FaceFX by OC3 Entertainment, SpeedTree by IDV, Inc., and Bink Video by RAD Game Tools – integrated and used by Epic in their games. Other products include AI middleware and cross-platform UI solutions, to name a few.

Proven Technology

Multiple UE3-powered games are currently in development at Epic and by our licensees, targeting a diverse set of genres from fighting games to MMPOGs to shooters. The technology was used to power games such as Epic’s recently-released Gears of War and the upcoming Unreal Tournament 3, as well as many games by licensees that represent some of the best studios in the industry.

For more Unreal Engine 3 licensing news, including announcements of support for Sony’s Playstation 3 and Microsoft’s Xbox 360, visit www.epicgames.com.

Typical Content Specifications

Here are the guidelines we use in building content for Unreal Engine 3 powered games. Different genres of games will have widely varying expectations of player counts, scene size, and performance, so these specifications should be regarded as one data point for one project rather than hard requirements for all.

Characters

For every major character and static mesh asset, we build two versions of the geometry: a renderable mesh with unique UV coordinates, and a detail mesh containing only geometry. We run the two meshes through the Unreal Engine 3 preprocessing tool and generate a high-res normal map for the renderable mesh, based on analyzing all of the geometry in the detail mesh.

  • Renderable Mesh: We build renderable meshes with 3,000-12,000 triangles, based on the expectation of 5-20 visible characters in a game scene.
  • Detail Mesh: We build 1-8 million triangle detail meshes for typical characters. This is quite sufficient for generating 1-2 normal maps of resolution 2048x2048 per character.
  • Bones: The highest LOD version of our characters typically have 100-200 bones, and include articulated faces, hands, and fingers.

Normal Maps & Texture Maps

We author most character and world normal maps and texture maps at 2048x2048 resolution. We feel this is a good target for games running on mid-range PC's. Next-generation consoles may require reducing texture resolution by 2X, and low-end PC's up to 4X, depending on texture count and scene complexity.

Environments

Typical environments contain 1000-5000 total renderable objects, including static meshes and skeletal meshes. For reasonable performance on current 3D cards, we aim to keep the number of visible objects in any given scene to 300-1000 visible objects. Our larger scenes typically peak at 500,000 to 1,500,000 rendered triangles.

Lights

There are no hardcoded limits on light counts, but for performance we try to limit the number of large-radius lights affecting large scenes to 2-5, as each light/object interaction pair is costly due to the engine's high-precision per-pixel lighting and shadowing pipeline. Low-radius lights used for highlights and detail lighting on specific objects are significantly less costly than lights affecting the full scene. 

 

Past versions – Unreal Engine 2

Designed to meet unique development needs for the previous hardware generation, Unreal Engine 2 is a family of different engines: Unreal Engine 2.5, Unreal Engine 2.X, and Unreal Engine 2 Runtime.

Past Versions

Unreal Engine 2, on which Epic shipped Unreal Tournament 2003, supports DirectX 8 and OpenGL on PC, Mac, Linux, Xbox, and PS2. Unreal Engine 2.5 was enhanced for Unreal Tournament 2004. Unreal Engine 2.X was highly optimized to support the original Xbox, and was used in Unreal Championship 2.