Technology

Current technology – Unreal Engine 3

Unreal Engine 3 is a complete game development framework for next-generation consoles and DirectX10-equipped PCs, providing the vast array of core technologies, content creation tools, and support infrastructure required by top game developers. 

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; and to give programmers a highly modular, scalable and extensible framework for building, testing, and shipping games in a wide range of genres.

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.

  • Unreal Script

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

 

 

Additional Features

Networking

  • Internet and LAN play has been a hallmark of Epic's past competitive games such as Unreal Tournament 2003 (and 2004). The Unreal Engine has long provided a flexible and high-level network architecture suitable to many genres of games.
  • Internet and LAN play is fully supported on PC and all console platforms.
  • Supports Games for Windows Live, Xbox Live, and GameSpy (PC and PS3) network platforms.
  • Integrated voice communication on all platforms.
  • Unreal Engine gameplay network programming is high-level and data-driven, allowing UnrealScript game code to specify variables and functions to be replicated between client and server to maintain a consistent approximation of game state. The low-level game networking transport is UDP-based and combines reliable and unreliable transmission schemes to optimize gameplay, even in low-bandwidth and high-latency scenarios.
  • Client-server model supporting up to 64 players as provided. Also supports non-dedicated server (peer-to-peer mode) with up to 16 players.
  • Supports network play between different platforms (i.e. dedicated PC serving console clients; Windows, MacOS and Linux clients playing together.)
  • All gameplay features are supported in network play, enabling vehicle-based multiplayer games, competitive team games with NPC's or bots, cooperative play in a single player focused game, and so on. Support for auto-downloading and caching content, including cross-platform compatible UnrealScript code. This feature enables everything from user-created maps, to bonus packs, to complete game mods to be downloaded on the fly. In-game server browser GUI for finding and querying servers, keeping track of favorites, in-game chat, etc.
  • Please note that we don't provide a server or networking framework suitable for massively multiplayer games. Though such a task is a multi man-year engineering effort, several teams using the Unreal Engine have done so (including Sigil Games Online for Vanguard and NCSoft for Lineage II), demonstrating the feasibility of using the Unreal Engine as a MMORPG game client and tools pipeline, integrated with a proprietary server component.

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 9 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.
  • Modular material component interface for extending visual tool and adding new shader components usable by artists in the visual shader GUI.
  • Source control friendly software architecture, scalable to large teams and multi-platform projects.
  • Unreal Engine 3 is provided as one unified codebase that compiles on PC and all supported next-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 optimization pass 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.

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.

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're using in building content for our next Unreal Engine 3 based game. 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 are authoring 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 in the 2006 timeframe.  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

Unreal Engine 2 is a family of different engines designed to meet several unique development needs: Unreal Engine 2.5, Unreal Engine 2.X, and Unreal Engine 2 Runtime.

  • Past Versions

    Unreal Engine 2 family - past versions.
    Unreal Engine 2 supports DirectX8 and OpenGL on PC, Mac, Linux, Xbox, and PS2; and was proven in UT2003. Unreal Engine 2.5 was enhanced for UT2004. Unreal Engine 2.X is highly optimized to support the Xbox.