1/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Projektgruppe KIMAS Unreal & Unreal Tournament 25.06.2003 Stefan Köhler.

Slides:



Advertisements
Ähnliche Präsentationen
Web 2.0 Social Network Communities
Advertisements

Programmieren im Großen von Markus Schmidt und Benno Kröger.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
On the Criteria to Be Used in Decomposing Systems into Modules
PKJ 2005/1 Stefan Dissmann Vorwoche - Klasse public class Studierende { private String name, vorname, studiengang; private int matNr, semester; private.
Professional XNA Game Programming
RIS mit Treibereinbindung, Ewest/Rau, Windows 200x Musterlösung 1 RIS (mit Treibereinbindung) Teil 1 – Was ist RIS?
Pflege der Internetdienste
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Web 2.0 und RIAs - Adobe Air1 Seminar: Web 2.0 und Rich Internet Applications Wintersemester 2007/2008 Daniel Thaidigsmann
Arbeitsbereich Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS Grundlagen omnidirektionaler Sichtsysteme.
Verifizieren versus Berechnen
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
Java: Objektorientierte Programmierung
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
© Karin Haenelt 2006, Operationen auf Akzeptoren und Transduktoren, ( ) 1 Operationen auf endlichen Akzeptoren und Transduktoren.
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Zusammenfassung Vorwoche
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
UNIVERSITY OF PADERBORN Projektgruppe KIMAS Projektgruppe KIMAS Organisatorisches Andreas Goebels.
1/26 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Half-Life Projektgruppe KIMAS Half-Life Lars Tegeler.
1/11 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Grundlagen 3D-Engines Projektgruppe KIMAS Grundlagen 3D-Engines Alexander Weimer.
1/25 UNIVERSITY OF PADERBORN Projektgruppe KIMAS Projektgruppe KIMAS MultiAgenten-Systeme Andreas Goebels.
Kennlinie Lichtregelung in JavaNNS Version 1.1
Marcus Haller & René Schulze
Grundschutztools
Heute: Scherenzange zeichnen
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
1 Dienstbeschreibung mit DAML Ein graphischer Editor für DAML - Ting Zheng Betreuer: Michael Klein, Philipp Obreiter.
Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele
2 Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele.
Kakuro Regeln und Strategien
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
MS Excel, Open-/LibreOffice Calc Die Menüs I Office-Logo (Excel2007) bzw. Datei (andere): die Standard-Datei- und Druckoperationen; bei MS Excel hier auch.
Die Geschichte von Rudi
EIDAMO ® Frontend Das neue Frontend gibt Ihnen 100% Flexibilität, und weil es auf verschiedene Framework Biblieotheken basiert, können Sie praktisch.
TWS/Graph HORIZONT Produkt-Präsentation Software für Rechenzentren
Autopoll 2000.
Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 3 Übung: Softwaretechnologie.
JavaScript.
Moin. Ich benutze PPT 2002 und möchte drei Bilder nacheinander 1
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Project Perseus Der volle Projektname lautet Perseus Digital Library Project. Das Projekt begann in 1985 als Experiment zur Digitalisierung von Bibliotheken.
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Gruppe: Gewinnt Überblick 1.0 (Martin Kapfhammer)
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
… oder wie finde ich den Weg
Analyse von Ablaufdiagrammen
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Publikation auf Knopfdruck Judith Riegelnig Michael Grüebler 19. Oktober 2010 / Statistiktage Neuenburg.
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
Resultate Umfrage Partizipation Arbeitsgruppe DeLL Befragt wurden im Dezember 2010 alle 3., 4. und 5. Klassen Es wurde differenziert nach Ebenen: Schule,
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Agenda Rückblick 2. Aufbau der Software Benutzeroberfläche 4. Ausblick
Das IT - Informationssystem
LOD Levels of Detail Oliver Gassner Christian Troger.
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Analyseprodukte numerischer Modelle
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
© ÖVSVV. 2.1 / Stand vom Oktober Amateurfunk Weltweit Freunde.
Das IT - Informationssystem
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
 Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2.
 Präsentation transkript:

1/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Projektgruppe KIMAS Unreal & Unreal Tournament Stefan Köhler

2/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Übersicht Einleitung Geschichte Versionen Programmaufbau Die Unreal-Welt Standard-Bots – Verhalten und KI Modifikationen der Engine Eigener Bot Fazit

3/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Einleitung Geschichte: entwickelt 1995 von Microprose und Legend Durch finanzielle Schwierigkeiten Verkauf der Lizenz 1997 an Epic Mastergames (jetzt Epic Games), aber weiterhin Grundrechte bei Microprose und Legend vollständig in C++ geschriebene 3D-Engine Verkauf und Vertrieb erstmals mit Unreal 1 In der Unreal-Reihe bisher erschienen: Unreal Unreal Tournament Unreal Championsship Unreal 2 Unreal Tournament 2003

4/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Einleitung Versionen First-Generation-Builds: Original Unreal-Engine nur Single-Player Second-Generation-Builds: auch als Tournament-Build bekannt, Builds Erstmals bei Unreal Tounament Figuren wurden erstmals an Skeletten aufgehängt wurden in folgenden Spielen genutzt: Unreal Unreal Tournament Wheel of Time Deus Ex Harry Potter

5/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Einleitung Versionen Third-Generation-Builds: Sprung der Build-Nr. ab 927 (Americas Army) auf (wg. UT2003) Implementierung eines neuen Partikel-Systems zur Darstellung komplexere Texturen Komplette Skelettanimation (siehe Halflife) erstmals Support für GameCube (ab Build 829) und X-Box (739) Wird derzeit von folgenden Spielen benutzt: Unreal 2, Splinter Cell, UT2003, Raven Shield geplant für: Deus Ex 2, XIII, Thief III

6/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Einleitung Versionen Fourth-Generation-Builds: Auch als Warefare-Builds bekannt Geplant bzw. in der Entwicklung Release erstmals mit Unreal Warefare Ab Build 3000+

7/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Einleitung Programmaufbau: Eigene VM Soft- und Hardware-Rendering Modular aufgebaut austauschbare Programmteile client-seitiges Sandbox-Modell nur sicheren System-Calls zugelassen andere werden abgewiesen Reihenfolge des Aufbaus: Anwendungen (Aktoren, etc.) Geometrie Triangle-Setup Texturen, Schatten, etc.

8/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Übersicht Einleitung Die Unreal-Welt Aufbau Darstellung Spielphysik Editor & Dateien Standard-Bots – Verhalten und KI Modifikation der Engine Eigener Bot Fazit

9/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Die Unreal-Welt Aufbau: Größe zur Zeit zwischen 6 und Polygonen Maximal sinnvolle Größe bei Polygonen Räume sind scheinbar nach oben offen 4 Arten von Objekten Meshes:[engl. Masche] Grundstruktur aller Objekte, die fest integriert sind Aktoren:alle Objekte, die reagieren können Pawns: (Spielsteine) Aktoren, die vom Spieler oder der KI gesteuert werden können, z.B. Bots Texturen Animationen Gravitationskonstante variierbar (Richtung, Stärke) Ticks bei U2 / UT2003 zwischen 1/8000 und 1/20000 Sekunde, je nach CPU

10/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Die Unreal-Welt Beispiel für eine offene Map Darstellung:

11/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Die Unreal-Welt Beispiel für Meshes und Aktoren:

12/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Die Unreal-Welt Spielphysik: Physikengine basiert auf Karma von Mathengine Bietet Optimierungen und Lösungen für viele Plattformen Auch in Black & White und Raven Shield eingesetzt Seit UT 2003 volle Ausnutzung der Engine, inkl. Erweiterungen Mittlerweile auch Unterstützung für Fahrzeuge Per-Poly Kollisionsabfrage Kollision wird für jedes Polygon einzeln berechnet Kostet aber sehr viel Rechenzeit für Kollision werden einfachere Formen genommen als für Grafik

13/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Die Unreal-Welt Spielphysik: Basiert auf BSP (Binary Space Partitioning) Unterteilt Welt durch Ebene in zwei Hälften (für jede Achse einzeln) Rekursives Wiederholen des Vorgangs für jede Hälfte Baumstruktur (Binärbaum) Für Abfrage eine Ebene suchen, die zwischen den Objekten liegt Für Kollisionspunkt testen, auf welcher Seite der Ebene das Polygon ist

14/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Die Unreal-Welt Spielphysik: 3 Modelle für die Objekte: KarmaCollision Objekt besteht aus einer Menge konvexer Hüllen BoxCollision übliches Modell für Bots, einfache Objekte LineCollision für Waffenfeuer, berechnet u.a. Auftreffwinkel Kollisionspunkte werden in einem gewissen Radius um das Objekt berechnet Kollisionspunkte bleiben bestimmte Zeit online Bots werden per zylindrischer OBB modelliert (Oriented Bounding Boxes)

15/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Die Unreal-Welt Vereinfachte Kollisionsgrenzen:

16/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Die Unreal-Welt Vorberechnete Kollisionsgrenzen:

17/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Die Unreal-Welt Kollisionsberechnung: X Richtungsvektor (& Geschwindigkeit) Zylindermittel- punkt (XYZ-Position) Ebene nEbene n+2Ebene n+3Ebene n+1

18/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Die Unreal-Welt Editor & Dateien: Standardmäßiger Editor UnrealEd (z.Zt. Version 3) Dient zum Erstellen von Maps, Einbinden von Aktoren, etc. Bietet die Möglichkeit Skripte zu exportieren Für jede Map werden Pfade erstellt 1.Beim Editieren werden Pfadpunkte gesetzt 2.UnrealEd versucht diese zusammenzufassen wenn A von B aus erreichbar ist, wird der Graph entsprechend erweitert 3.Resultat: komplexes Netz aus Pfaden Alle Meshes, die der Spieler nicht erreichen kann, werden aus der Kollisionsabfrage entfernt (z.B. wegen Raumgrenzen)

19/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Übersicht Einleitung Die Unreal-Welt Standard-Bots – Verhalten und KI Allgemein Verhalten KI Wahrnehmungen Schnittstelle Modifikationen der Engine Eigener Bot Fazit

20/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Allgemein: Für jeden Bot ist bekannt, ob er ein Pawn, also ein Spieler ein Menschlicher Spieler ein Monster ist Maximal 16 Bots möglich Ebenfalls Modular aufgebaut Standard-Bots

21/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Standard-Bots Verhalten: Bots gehen an Pfad-Knoten entlang Sind keine Pfade gesetzt, wird eigene Berechnung versucht Pfade verkürzen die Rechenzeit Bots, die außerhalb der Pfade sind, versuchen dorthin zurück zu kommen Weiterführendes Verhalten nur über Erweiterung der Bot-Klasse Bots sind in der Lage, Treppen, Türen, Aufzüge, etc. zu benutzen Pfade können kurzfristig verlassen werden, z.B. für Pickups

22/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament KI: 3 Arten von KI Team-KI z.B. gemeinsames Ziel beim BR: Ball ins Tor bringen Squad-KI z.B. bei BR: Ballträger schützen Bots Low-Level (Navigation, Zielen, Waffen verwalten, Hitpoints, etc.) Manöver wie größere Sprünge über AI-Scripte: Standard-Bots MoveToObject WaitForTimer

23/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament KI: Auch Objekte besitzen eine kleine KI: Tore beim Bombing Run (Punkte geben) Basen bei CTF Domination Kontrollpunkte usw. Es gibt verschiedene vordefinierte Scripts Für Pawns: ChangeWeapon, FinishRotation, MoveToPoint, StopShooting, … Für Level: ChangeLevel, GotoAction, LeaveSequence, … Außerdem Skripte für Konsoleneingaben, Sounds, etc. Standard-Bots

24/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Wahrnehmungen: Bots sehen nur Netzwerk aus Knoten und Pfaden Sicht prinzipiell wie bei Kollision, also schauen, ob ein Objekt in der Sichtlinie liegt Kann zu Problemen führen Sichtweite entspricht der von Spieleren Wird ein anderer Actor gesehen, so werden überprüft: 1.Geräusche (z.B. Schüsse) 2.Spieler-Aktoren 3.Nicht-Spieler-Aktoren (nicht UT) 4.Ziel überhaupt sichtbar Aber: Bots sehen auch bei schlechten Sichtverhältnissen alles Sichtweite ist Modifizierbar Objekte werden auf gleiche Weise gesichtet Standard-Bots

25/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Schittstelle: Bisher erbten Bots von der Klasse Pawn Seit UT2003 keine Änderung dieser Klasse mehr nötig Jetzt Erweiterungen des Verhaltens über Scripted Actions Verhalten kann auch über Mutatoren gesteuert werden: Standard-Bots function ModifyPlayer( Pawn Other ) { if ( Other.Controller != None ) { if ( Other.Controller.bIsPlayer && !Other.IsHumanControlled() ) { Log("Sight radius adjusted"); // repEndDist is the end distance of the fog Other.SightRadius = repEndDist / 8; }

26/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Übersicht Einleitung Die Unreal-Welt Standard-Bots – Verhalten und KI Modifikationen der Engine Voraussetzungen Arten von Modifikationen Wie modifiziert man? Unreal-Script Bekannte Mods & Mutatoren Eigener Bot Fazit

27/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Modifikationen Der Editor UnrealEd, welcher auch für den Export der Aktoren zuständig ist Den UnrealScript-Compiler ucc.exe Beides ist bei Unreal dabei einen Text-Editor (zum Beispiel UltraEdit, MS Developer Studio, usw.) Wissen, was man tut! z.B. etwas UnrealScript können Was möchte man haben Voraussetzungen:

28/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Modifikationen Mutatoren: kleine Programmerweiterungen, sehr eingeschränkte Funktionalität alles was über diese Regeln hinausgeht sind Gameplay-Mods folgen bestimmten Regeln: 1.jeder Mutator muss mit jedem anderen Mutator funktionieren 2.Mutatoren dürfen das Gameplay nur wenig ändern 3.Mutatoren sollten Ressourcen mit anderen Mutatoren teilen Arten von Modifikationen:

29/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Modifikationen Beispiel für Mutator: class MutNoAdrenaline extends Mutator; function bool IsRelevant(Actor Other, out byte bSuperRelevant) { if ( Other.IsA('AdrenalinePickup') ) { bSuperRelevant = 0; return false; } if ( Controller(Other) != None ) Controller(Other).bAdrenalineEnabled = false; return Super.IsRelevant(Other, bSuperRelevant); } defaultproperties { GroupName="Adrenaline" FriendlyName="No Adrenaline" Description="Adrenaline pickups are removed from the map." }

30/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Modifikationen Gametypes: Alle Gametypes sind einzigartig keine gemeinsame Nutzung möglich Enthalten im Allgemeinen neue Waffen, Pickups, neue KI-Features oder spezielle Aktoren, die nur hier funktionieren Keine Regeln Lediglich Schnittstellen müssen Beachtung finden Muss auf Client-Server Ausgaben reagieren können Arten von Modifikationen:

31/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Modifikationen Einfaches Beispiel: class MyGame expands DeathMatchPlus; Defaultproperties { GameName="My Game" } Erzeugt einen neuen Gametype, der auf DeathmatchPlus basiert ändert in diesem Fall nur den Namen Alle neuen Funktionen und Variablen sind Bestandteil von My Game

32/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Modifikationen Alles andere: Mods, die nicht über GameInfo- oder Mutatorklasse funktionieren Abweichende Programmregeln (sind aber auch in GameTypes möglich) Arten von Modifikationen:

33/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Modifikationen 1998 von Epic entwickelt Für Entwicklerteam und Third-Party-Entwickler Komplett auf Unreal und die 3D-Entwicklung zugeschnitten Ermöglicht die einfache Einbindung von z.B. Netzwerkkomponenten Verbindet die Vorzüge von C/C++ und Java Zeigerlose Umgebung mit automatischem Garbagecollector Vererbung und einfacher Klassengraph Datentypsicherheit Arbeitet auf Objekt- und Interaktionsebene UnrealScript:

34/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Modifikationen Insta-Gib Headshot BigHead … Verschiedene Gametypes Monsterrush Surviver Autorennen … Bekannte Mods:

35/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Übersicht Einleitung Die Unreal-Welt Standard-Bots – Verhalten und KI Modifikationen der Engine Eigener Bot Kommt nächste Woche Fazit

36/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Fazit Vorteile: Sehr umfangreiche Schnittstelle Praktisch unbegrenzte Möglichkeiten beim Modifizieren, von Kleinigkeiten bis hin zu komplexen Spielmodi Viele Tutorials Eigene Scriptsprache (nicht immer leicht verständlich) Objektorientiert (meistens) Eigener Compiler Sehr Stabil, da keine direkten Änderungen an der Engine gemacht werden Läuft auch unter Linux

37/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Fazit Nachteile: Vielleicht etwas zu umfangreich UnrealScript hat ab und zu Macken im Bereich OO Ausgabe des Compilers nicht immer nachvollziehbar Wenn wir Unreal nehmen, muss ich innerhalb von einer Woche meine Ausarbeitung schreiben und den Bot mitentwickeln

38/38 UNIVERSITY OF PADERBORN Projektgruppe KIMAS – Unreal & Unreal Tournament Quellenverzeichnis Physikengines – State of the Art, Konzepte, B. Schmidt, M. Bader, 11/2002, Unreal Developer Network, Unreal Wiki –The Unreal Engine Documentation Site, Mathengine Karma und KAT, Mobile Agenten und Sicherheit, K. Umschaden (TU Wien), 2002,