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

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

Embed Size (px)

Citation preview

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 1/38

UNIVERSITY OF

PADERBORN

Projektgruppe KIMAS

Unreal & Unreal Tournament

25.06.2003

Stefan Köhler

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 2/38

UNIVERSITY OF

PADERBORNÜbersicht

• Einleitung• Geschichte

• Versionen

• Programmaufbau

• Die Unreal-Welt

• Standard-Bots – Verhalten und KI

• Modifikationen der Engine

• Eigener Bot

• Fazit

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 3/38

UNIVERSITY OF

PADERBORNEinleitung

• 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

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 4/38

UNIVERSITY OF

PADERBORNEinleitung

• Versionen

• First-Generation-Builds:

• Original Unreal-Engine

• nur Single-Player

• Second-Generation-Builds:

• auch als „Tournament-Build“ bekannt, Builds 300-451

• 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

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 5/38

UNIVERSITY OF

PADERBORNEinleitung

• Versionen

• Third-Generation-Builds:

• Sprung der Build-Nr. ab 927 (Americas Army) auf 2000+ (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

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 6/38

UNIVERSITY OF

PADERBORNEinleitung

• Versionen

• Fourth-Generation-Builds:• Auch als Warefare-Builds bekannt

• Geplant bzw. in der Entwicklung

• Release erstmals mit Unreal Warefare

• Ab Build 3000+

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 7/38

UNIVERSITY OF

PADERBORNEinleitung

• 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.

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 8/38

UNIVERSITY OF

PADERBORNÜbersicht

• Einleitung

• Die Unreal-Welt• Aufbau

• Darstellung

• Spielphysik

• Editor & Dateien

• Standard-Bots – Verhalten und KI

• Modifikation der Engine

• Eigener Bot

• Fazit

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 9/38

UNIVERSITY OF

PADERBORNDie Unreal-Welt

• Aufbau:• Größe zur Zeit zwischen 6 und 75.000 Polygonen

• Maximal sinnvolle Größe bei 50.000 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

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 10/38

UNIVERSITY OF

PADERBORNDie Unreal-Welt

• Beispiel für eine „offene“ Map

• Darstellung:

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 11/38

UNIVERSITY OF

PADERBORNDie Unreal-Welt

• Beispiel für Meshes und Aktoren:

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 12/38

UNIVERSITY OF

PADERBORNDie 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

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 13/38

UNIVERSITY OF

PADERBORNDie 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

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 14/38

UNIVERSITY OF

PADERBORNDie 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)

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 15/38

UNIVERSITY OF

PADERBORNDie Unreal-Welt

• Vereinfachte Kollisionsgrenzen:

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 16/38

UNIVERSITY OF

PADERBORNDie Unreal-Welt

• Vorberechnete Kollisionsgrenzen:

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 17/38

UNIVERSITY OF

PADERBORNDie Unreal-Welt

• Kollisionsberechnung:

X

Richtungsvektor(& Geschwindigkeit)

Zylindermittel-punkt

(XYZ-Position)

Ebene n Ebene n+2 Ebene n+3 Ebene n+1

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 18/38

UNIVERSITY OF

PADERBORNDie 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)

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 19/38

UNIVERSITY OF

PADERBORNÜbersicht

• Einleitung

• Die Unreal-Welt

• Standard-Bots – Verhalten und KI• Allgemein

• Verhalten

• KI

• Wahrnehmungen

• Schnittstelle

• Modifikationen der Engine

• Eigener Bot

• Fazit

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 20/38

UNIVERSITY OF

PADERBORN

• 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

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 21/38

UNIVERSITY OF

PADERBORNStandard-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

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 22/38

UNIVERSITY OF

PADERBORN

• 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

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 23/38

UNIVERSITY OF

PADERBORN

• 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

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 24/38

UNIVERSITY OF

PADERBORN

• 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

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 25/38

UNIVERSITY OF

PADERBORN

• 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; } }}

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 26/38

UNIVERSITY OF

PADERBORNÜ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

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 27/38

UNIVERSITY OF

PADERBORNModifikationen

• 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:

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 28/38

UNIVERSITY OF

PADERBORNModifikationen

• 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:

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 29/38

UNIVERSITY OF

PADERBORNModifikationen

• 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."}

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 30/38

UNIVERSITY OF

PADERBORNModifikationen

• 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:

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 31/38

UNIVERSITY OF

PADERBORNModifikationen

• 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“

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 32/38

UNIVERSITY OF

PADERBORNModifikationen

• Alles andere:• Mods, die nicht über GameInfo- oder Mutatorklasse funktionieren

• Abweichende Programmregeln (sind aber auch in GameTypes möglich)

• Arten von Modifikationen:

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 33/38

UNIVERSITY OF

PADERBORNModifikationen

• 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:

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 34/38

UNIVERSITY OF

PADERBORNModifikationen

• Insta-Gib

• Headshot

• BigHead

• …

• Verschiedene Gametypes

• Monsterrush

• Surviver

• Autorennen

• …

• Bekannte Mods:

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 35/38

UNIVERSITY OF

PADERBORNÜbersicht

• Einleitung

• Die Unreal-Welt

• Standard-Bots – Verhalten und KI

• Modifikationen der Engine

• Eigener Bot• Kommt nächste Woche

• Fazit

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 36/38

UNIVERSITY OF

PADERBORNFazit

• 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

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 37/38

UNIVERSITY OF

PADERBORNFazit

• 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

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

Projektgruppe KIMAS – Unreal & Unreal Tournament 38/38

UNIVERSITY OF

PADERBORNQuellenverzeichnis

• „Physikengines – State of the Art, Konzepte“, B. Schmidt, M. Bader, 11/2002,

http://www.uni-ulm.de/~s_hdamme/docs/lab/Physik-StateOfTheArt.pdf

• „Unreal Developer Network“, http://udn.epicgames.com

• „Unreal Wiki –The Unreal Engine Documentation Site“,

http://wiki.beyondunreal.com

• Mathengine Karma™ und KAT, http://www.mathengine.com/karma_f.html

• „Mobile Agenten und Sicherheit“, K. Umschaden (TU Wien), 2002, http://

www.infosys.tuwien.ac.at/Teaching/Courses/AK2/vor99/t8/