mrmcd110b - 0.95 rc4

metarheinmain chaosdays 110b
mirroring the truth

Referenten
Christian Esperer
Programm
Tag 1
Raum C205
Beginn 20:00
Dauer 01:00
Info
ID 2167
Veranstaltungstyp Vortrag
Track development
Sprache englisch

Unreal Hacking

An introduction to the game engine that revolutionized the computer game world, followed by a workshop for people interested in experimenting with it

When computers became powerful enough to easily perform the tasks laid on them, the focus shifted from creating fast code to fast creating of elegant, functional, modular, platform-independent and secure code. Technologies like the Java platform revolutionized big parts of the software world. In 1998, a game engine called the Unreal Engine was created, which introduced these concepts in the world of computer game development. This talk will give an overview of the Unreal technology, show some benchmarks, as well as some usual -- and not so usual -- usage examples to demonstrate the uniquity of the Unreal Approach.

The talk will begin with a short overview of the history of Unreal; showing the first version of the Engine and outlining how the technology changed over the years.

Next, the structure of Unreal will be explained, showing the pieces that make up the Unreal engine, how they are designed and interact with each other; how deep the modular design goes and how it eases up the task of building a computer game.

The main focus of the talk will lie on the scripting language, UnrealScript. An overview of the languages will be given, including:

  • benchmarks
  • comparision to java
  • client-server architecture (replication)
  • state code and latent functions
  • native functions and how to implement them
  • security of UnrealScript => buffer overflows, etc. => how safe is the execution of untrusted code?

An overview of the Unreal Class Tree will be given; explaining important classes of the engine core, especially:

  • The core of all classes, 'Object'
  • The special class 'Actor'
  • Classes that are part of the core subsystems (sound, graphics, networking, core AI handling, user interface)
  • Inventory handling in Unreal => class 'Inventory'
  • Game logic handling

These topics will explain the basics of the Unreal Script language, and since it is deeply integrated into the rest of Unreal, you will also get a good idea of how Unreal in general works.

To give a first insight into the process of implementing a game upon unreal, the game 'Deus Ex (1: the conspiracy)' is presented. Deus Ex is interesting in many ways; while it uses the modular approach of Unreal extensively and mainly builds upon it, it also changes some of the fundamentals and adds code to its code. The Deus Ex class tree will be discussed, especially:

  • NPC characters (classes 'ScriptedPawn' and below)
  • The UI subsystem
  • The player character
  • The mission subsystem
  • The conversation subsystem
  • Changes of the Deus Ex team in the Unreal Core

These topics contain everything that is game-specific; they show the steps that are needed to complete a game using Unreal, the problems that may arise, and what the details of game logic implementation look like in Unreal (Deus Ex creates the illusion of a perfectly simulated world at first -- after that you'll see how much you were fooled)