Vergleich von 3D Game Engines - Institut für Visualisierung und

Transcription

Vergleich von 3D Game Engines - Institut für Visualisierung und
Seminar
Algorithmen für Computerspiele“
”
Vergleich von 3D Game Engines
Zhen Peng
28. Juni 2010
Betreuer: Michael Krone und Sven Bachthaler
Institut für Visualisierung und Interaktive Systeme
Universität Stuttgart
Inhaltsverzeichnis
1 Einleitung
2
2 3D Game Engine
2.1 Definition . . . . . . . . .
2.2 Bestandteile . . . . . . . .
2.2.1 Grafik-Engine . . .
2.2.2 Physik-Engine . .
2.2.3 Soundsystem . . .
2.2.4 Steuerung . . . . .
2.2.5 Netzwerk-Code . .
2.2.6 Datenmanagement
2.2.7 Skripting . . . . .
3 Entwicklungsgeschichte
3.1 Ultima Underworld
3.2 Wolfenstein 3D . .
3.3 Doom . . . . . . .
3.4 Quake . . . . . . .
3.5 Half-Life . . . . . .
3.6 Red Faction . . . .
3.7 Far Cry . . . . . .
3.8 Unreal Tournament
3.9 Jetzt? . . . . . . .
. .
. .
. .
. .
. .
. .
. .
3
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Beispiel
4.1 Kommerzielle Game Engines . . . . .
4.2 Freie Game Engines . . . . . . . . . .
4.3 Vergleich - Unreal Engine 3 vs. Irrlicht
4.3.1 Entwickler . . . . . . . . . . . .
4.3.2 Plattformen . . . . . . . . . . .
4.3.3 Lizenz . . . . . . . . . . . . . .
4.3.4 Grafik-Engine . . . . . . . . . .
4.3.5 Physik-Engine . . . . . . . . .
4.3.6 Sound-Engine . . . . . . . . . .
4.3.7 Skriptsprachen . . . . . . . . .
4.3.8 Übersichtstabelle . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
4
4
4
5
5
5
5
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
7
7
7
8
8
8
8
9
. . . . .
. . . . .
Engine
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
10
10
10
10
10
11
11
11
11
11
11
11
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Zusammenfassung
13
Literatur
13
1 Einleitung
Ich kann mich noch daran erinnern, wie ich begeisternd war als ich am 5. Geburtstag ein
NES von Nintendo als Geschenk bekam. Das Spiel “Super Mario Bros.” war ein meiner
Lieblingsspiele. Das Spiel ist einfach, die Grafik ist zwei-dimensional, der Spieler schaut
seitlich auf die Szenerie. Mario kann nur springen, sich links und rechts bewegen. Nachdem
er einen Pilz isst, kann er dann schießen. Das Spiel besteht aus acht Welten zu je vier Leveln.
Wie sieht diese Spielserie jetzt aus? Im Jahr 2010 wird das Spiel “Super Mario Galaxy 2”
veröffentlicht. Das neue Spiel hat feine drei Dimension Grafik, kompliziertes Kontroll-System
und viel schwierigere Missionen im Vergleich mit “Super Mario Bros.”.
Abbildung 1.1: Super Mario Bros. (1985)
Abbildung 1.2: Super Mario Galaxy 2 (2010)
Dann betrachten wir die Entwicklung des Schießspieles. Das erstes Lichtgun-Spiel heißt
“Ray-O-Lite”. Das ganze Spielsystem sieht wie einen Schrank aus, der Hintergrund ist ein
Bild und ändert sich nicht. Eine Ente bewegt sich auf einem Band. Wenn man mit dem
Lichtgun auf der Ente richtig schießt, fällt die Ente nach hinten. So war das Schießspiel im
Jahr 1936. Am November 2009 wurde das Spiel “Call of Duty: Modern Warfare 2” weltweit
für PC (Windows), Xbox 360 und PlayStation 3 veröffentlicht. Das Spiel hat feine drei
Dimension Grafik, Waffen-System, Multiplayer-Modus, 18 Missionen. Der bekannte deutsche
Hollywood-Komponist Hans Zimmer produzierte die Musik. Im Spiel wird die von der Firma
Infinity Ward entwickelte “IW 4.0”-Engine eingesetzt.
Abbildung 1.3: Ray-O-Lite (1936)
Abbildung 1.4: Call of Duty: Modern Warfare 2 (2009)
3
Durch Vergleichen kann man sofort erkennen, wie groß der Unterschied zwischen die Spiele
vor den Jahrzehnten und die heutigen Spiele ist. Der großte Unterschied liegt in Grafik. Dank
der Entwicklung der Spiel-Engine, besonders der Entwicklung der Grafik-Engine haben die
meiste aktuelle Spiele feine drei Dimension Grafik, von Spielfiguren bis Szenerien. Was eine
Spiel-Engine überhaupt ist, ist geneu das Thema von dem nächten Abschnitt.
2 3D Game Engine
2.1 Definition
Eine Spiel-Engine ist ein Computerprogramm, das den Spielverlauf steuert und für die
visuelle Darstellung des Spieleablaufs verantwortlich ist [4]. Als ein konkretes Beispiel ist die
Spiel-Engine ähnlich wie das Gehirn von Mensch. Sie steuert den ganzen Spielverlauf, ist der
wichtigste Teil des Spieles.
2.2 Bestandteile
In [5] wird die Architektur einer 3D-Spiel-Engine ausführlich und detailliert vorgestellt. Die
Engine besteht unter anderem aus folgenden 7 Teilen :
2.2.1 Grafik-Engine
Die Grafik-Engine ist für die grafische Darstellung auf dem Bildschirm verantwortlich. Man
kan sich so unter Grafik-Engine vorstellen, sie ist ein Maler, der nach Diktat malt und die
Spiel-Engine ist hier der Leiter. Im Zusammenhang mit 3D-Computergrafik bezeichnet man
die Grafik-Engine auch als 3D-Engine.
Insbesondere bei 3D-Computerspielen wie Egoshootern entscheidet die Qualität der Effekte
ihrer jeweiligen Grafik-Engine maßgeblich über den kommerziellen Erfolg des Spiels, weswegen ihnen in diesem Bereich große Aufmerksamkeit zukommt [1].
Die Grafik-Engine bietet einem Spieledesigner eine große Palette von grafischen Funktionen und Effekten,wie z.B. Geometrische Objektbeschreibung, Oberflächentexturen, Licht und
Schatten, Transparenz, Spiegelungen usw. Im Falle einer 3D-Engine kommen oftmals noch
weitere Techniken hinzu [7]. Am häufigsten wird die 3D-Welt durch Polygone konstruiert, hinzukommen noch Partikeleffekte, die z.B. Nebel, Dreck, Feuer oder Wasser darstellen können.
In fortgeschrittenen 3D-Engines wird noch die so genannten Bumpmaps-Technik verwendet,
die den Texturen eine plastische Struktur verleihen.
2.2.2 Physik-Engine
Eine Physik-Engine dient zur Simulation physikalischer Prozesse sowie der Berechnung
objektimmanenter Eigenschaften. Ziele von Pysik-Engines sind eine Vereinfachung der
Programmierung und die Vermittlung von realistischer Umgebung. Neben höherem visuellen
Realismus kann das Physiksystem auch Auswirkung auf das Spielgeschehen haben, wenn
beispielsweise ein fallendes Objekt einen Hügel herunterkullert, anstatt darauf liegen zu
2.2 Bestandteile
5
bleiben [3].
Es gibt vier Arten der Simulation: 1. Physik starrer Körper; 2. nicht elastische Physik mit
Deformationen; 3. Masse-Feder Modelle u. a. als Grundlage der Simulation von Seilen und
Stoff; 4. Partikelsysteme u. a. als Grundlage der Simulation von Flüssigkeiten und Feuer.
2.2.3 Soundsystem
In den meisten Spielen ist ein Soundsystem für den Spieler sehr wichtig, z.B. in Egoshootern,
indem ein differenzierter Raumklang entsteht, kann der Spieler die Position von Gegnern
lokalisieren und sich auf dem Schießen vorbereiten. Außerdem können klanglich verschiedene
Räumlichkeiten wie Badezimmer, Hallen, Gänge, Höhlen oder Unterwasser-Klangdämpfung
simuliert werden und physikalisch bedingte Effekte wie der Dopplereffekt umgesetzt werden.
Durch das Soundsystem wird der räumliche Eindruck der Spielwelt verstärkt.
2.2.4 Steuerung
Unpräzise Steuerung führt schnell zu Frustration [4]. In den früheren PC-Spielen wurden
häufig nur die Pfeiltasten der Tastatur gesetzt, es gibt heute aber für verschiedene Spiele andere, besser geeignete Lösungen. Bei Sportspielen greifen viele Spieler zum Gamepad.
Strategie- und Aufbauspiele werden normalerweise per Maus gesteuert. Außerdem werden
Lenkräder in Rennspielen, Joysticks für Flugsimulationen verwendet. Bei Ego-Shootern hat
sich normalerweise eine Kombination aus Maus und Tastatur durchgesetzt.
2.2.5 Netzwerk-Code
Der Netzwerk-Code dient zur Verwaltung von Multiplayer-Teil eines Spiels. Er bestimmt z.B.
wieviele Spieler gleichzeitig am Spiel teilnehmen können oder welches Netzwerkprotokoll für
Datenübertragung werwendet wird. Der Reiz des Mehrspieler-Modus liegt daran, gemeinsame
Spielererlebnisse mit anderen Persionen zu erleben und einen direkten Leistungsvergleich vornehmen zu können. Je mehr Daten zu übertragen sind, desto mehr Anforderung an NetzwerkCode werden gestellt. Üblicherweise wird ein zusandsloses Netzwerkprotokoll wie das UDP in
der darunter liegenden Schicht eingesetzt. Ein zustandsloses Netzwerkprotokoll hat geringeren
Overhead und geringere Latenzzeit, dadurch kann zumindest weiche Echtzeitanforderungen
besser erfüllt werden [2]. Allerdings besteht der Nachteil darin, dass sie keine Fehlerkorrektur
liefern, dies muss als Teil des Netzcodes implementiert werden.
2.2.6 Datenmanagement
Das Datenmanagement dient zum Laden und Speichern von Spielständen, Benutzer- und
Leveldaten sowie Speicherverwaltung. Um Speicherplatz zu reduzieren, werden Daten normalerweise komprimiert und verschlüsselt.
2.2.7 Skripting
Skriptsprachen dienen der Programmierung der Spielabläufe. im Vergleich mit anderen Programmiersprachen haben Skriptsprachen folgende Vorteile [4]: erst, Skriptsprachen sind für
6
3D Game Engine
den Anwenderkreis der Spieledesigner, die nicht notwendigerweise professionelle Programmierer sind, leichter zu erlernen als reine Entwicklungssprachen. Zweite, Skriptsprachen können
oftmals iterativ während der Programmausführung vorgenommen werden, was die Entwicklungszeit verkürzt. Aber Eine Scriptsprache ist meistens langsamer als andere Programmiersprachen wie zum Beispiel C++. Deshalb, obwohl Spielabläufe grundsätzlich auch in
der Entwicklungssprache programmiert werden können, wird in Spielen eine Zwei-SchichtenArchitektur verwendet. Die Spiel-Engine selbst ist meist nicht in einer Scriptsprache programmiert, sondern in beispielsweise C++ [6], und die Spiel-Engine stellt eine oder mehrere
Scriptsprachen zur Verfügung.
3 Entwicklungsgeschichte
Fast jedes große Spiel bringt auch seine eigene Engine mit. Die Engines haben oft keinen eigenen Namen und tragen den Namen des Spieles. Aus der Vielzahl an Grafik-Engines stechen
einige besonders hervor, folgende werden einige Meilensteine der 3D-Grafik-Engines vorgestellt.
3.1 Ultima Underworld
Im Jahr 1992 wurde das von Blue Sky Productions entwickelte Spiel Ultima Underworld
veröffentlicht. Ultima Underworld war das erste Computerspiel, das dreidimensionale, texturierte Grafik in Echtzeit darstellte. Das technische Gerüst hierfür basierte nicht auf dem
Raycasting-Verfahren.
3.2 Wolfenstein 3D
Im gleichen Jahr 1992 wurde das von id software entwickelte Spiel Wolfenstein 3D auch
veröffentlicht. Wolfenstein 3D ist einer der ersten Ego-Shooter. Die Labyrinthe, in denen
Wolfenstein 3D spielt, sind eigentlich nicht dreidimensional, sondern simulieren Dreidimensionalität mittels Raycasting-Verfahren, welches trotz minderer Qualität bis Mitte der 90er
Jahre die bevorzugte Technik für 3D-Darstellungen in Spielen war. So gibt es in Spiel nur
eine festgelegte Höhendimension, es führt dazu, dass alle Räume gleich hoch sind und sich auf
derselbe horizentalen Ebene befinden. Wolfenstein 3D gehörte zu den erfolgreichsten Computerspielen der 1990er Jahre.
3.3 Doom
Ein Jahr später, 1993 wurde das Spiel Doom veröffentlicht. Wegen der 3D-Grafik und des kommerziellen Erfolgs gilt Doom als Meilenstein im Bereich der Computerspiele. Die neue Technik
Binary Space Partitioning (BSP) ermöglichte, große Levels auch für 386er PCs flüssig darzustellen. Alle Räume im Grundriss auf Rechtwinkligkeit beschränkt waren, konnten Grundrisse
in der Doom-Engine nun auch alle Arten von schrägen Winkeln und sogar Kurven beinhalten. Beliebige Raumhöhen war eine weitere wesentliche Neuerung der Doom-Engine, in der
Vorgängerengine waren alle Räume noch gleich hoch und lagen auf derselben horizontalen
Ebene.
3.4 Quake
Im Jahr 1996 wurde Quake veröffentlicht. Quake und Doom waren gleich wie Wolfenstein 3D,
wurden von id software entwickelt. Es war der erste Ego-Shooter, der neben einer echten 3DUmgebung auch Gegner und erstmals auch Gegenstände aus Polygonen benutzte. Aufgrund
8
Entwicklungsgeschichte
der geringen Leistung damaliger Computer stellten frühere Ego-Shooter wie zum Beispiel
Doom Gegner und Gegenstände noch durch 2D-Grafiken dar. Quake besitzt MehrspielerModus, mit dem der Spieler über LAN sowie im Internet mit oder gegen andere Spieler
spielen kann. Obwohl es vor Quake schon Mehrspielerturniere gab, so hatte das Spiel einen
großen Einfluss auf die Entwicklung des E-Sports.
3.5 Half-Life
Im Jahr 1998 wurde das von der Firma Valve entwickelte Spiel Half-Life veröffentlicht. Die
Half-Life Engine entstand aus der von id Software lizenzierten Quake-Engine. Die Engine
von Half-Life ähnelt der von Quake aber nur noch in sehr geringem Maße. Die wichtigsten Veränderungen waren das neuartige skelettbasierte Animationsmodel, das verbesserte
Netzwerk-Code und die künstliche Intelligenz der Computergegner. Die Engine war auf C++
umgestiegen. Auch für den Klang wurde damals aktuelle Techniken verwendet, dadurch wurde
die diverse Sound-Raumeffekte erzeugt. Half-Life wurde von der deutschen ComputerspieleFachzeitschrift PC Games 1998 zum Spiel des Jahres gekürt.
3.6 Red Faction
Im Jahr 2001 wurde das von der Firma Volition, Inc. entwickelte Spiel Red Faction veröffentlicht. Im Spiel Red Faction wurde erstmals die neuartige GeoMod-Technologie angewandt.
Mit dieser Technologie ist es möglich, der Spieler mit Hilfe seiner Waffen die Umgebung zu
verändern soger zu zerstören. So ist es auch zum Beispiel möglich, eine Tür entweder mit einem Schlüssel zu öffnen, oder die Wand daneben wegzusprengen. Im Mehrspielermodus findet
GeoMod häufiger taktische Anwendung.
3.7 Far Cry
Im Frühjahr 2004 wurde das von Crytek entwickelte Spiel Far Cry veröffentlicht. Durch modernste Techniken wie DirectX 9.0c und der Verwendung des Shadermodels 3.0, erreichte das
Spiel eine noch nie dagewesene Optik. Es konnte besonders durch seine realistische Wasserdarstellung und Fernsicht überzeugen.
3.8 Unreal Tournament 3
Im Jahr 2007 wurde das von Epic Games entwickelte Spiel Unreal Tournament 3 (ehemals
Unreal Tournament 2007) veröffentlicht. Unreal Tournament 3 ist ein futuristischer EgoShooter, der vierte Teil der Tournament-Reihe der Unreal-Spieleserie. Das Spiel verwendet
die Unreal Engine 3 und läuft damit unter verschiedenen Plattformen und Betriebssystemen.
Die Unreal Engine 3 stellt aufwändige Shader-Effekte, Oberflächen mit Offset Mapping und
die Fähigkeit nebenläufig und unterbrechungsfrei Teile der Spielewelt nachzuladen bereit. Die
Unreal Engine 3 wird in dem nächsten Abschnitt genauer vorgestellt.
3.9 Jetzt?
9
3.9 Jetzt?
Aktuelle Engines sind die von Doom3, Jupiter EX, Half-Life 2, Unreal 2, Unreal Tournament
3 mit der Unreal Engine 3 sowie Crysis mit der CryEngine 2. In den letzten Jahren kamen
populäre Grafik-Engines zumindest im Bereich der Ego-Shooter fast ausschließlich von id
Software, Epic Games und Valve. Neben den kommerziellen Spiel-Engines stehen noch zahlreiche freie Spiel-Engines zur Verfügung, mit den können gute Spiele auch entwickelt werden.
In dem nächsten Abschnitt schauen wir einige Beispiele an.
4 Beispiel
4.1 Kommerzielle Game Engines
Bekannte kommerzielle Game Engines :
Unreal Engine von Epic Game (http://www.unrealtechnology.com)
CryEngine von Crytek (http://www.crytek.com)
Torque 3D Engine von Garage Games (http://www.torquepowered.com)
4.2 Freie Game Engines
Bekannte freie Game Engines :
Irrlicht Engine (http://irrlicht.sourceforge.net)
OGRE Enigie (http://www.ogre3d.org)
Unreal Development Kit von Epic Game (http://www.udk.com/index.html)
Abbildung 4.1: Irrlicht Engine
Abbildung 4.2: Unreal Development Kit
4.3 Vergleich - Unreal Engine 3 vs. Irrlicht Engine
Wie groß ist der Unterschied zweichen eine kommenzielle und eine freie Spiel-Engine? Hier
als Beispiele werden Unreal Engine 3 und Irrlich Engine ausgewählt.
4.3.1 Entwickler
Unreal Engine 3 wurde von der US-amerikanischen Firma Epic Games entwickelt. Nikolaus
Gebhardt hat im Jahr 2003 mit der Entwicklung der Irrlicht Engine angefangen, bis 2006
entwickelte Nikolaus ganz allein. Heute, das Team besteht aus 12 Personen inklusive Nikolaus.
4.3 Vergleich - Unreal Engine 3 vs. Irrlicht Engine
11
4.3.2 Plattformen
Beide Engines unterstützen den PC (Mac, Linux und Windows), die Spiel-Konsole Wii sogar
iPhone. Klein Unterschied zwischen die beide Engines ist, außer den oben erwähnten Plattformen, Unreal Engine 3 hat Versionen für XBox 360 und PS3, Irrlich Engine hat Versionen
für PSP und SymbianOS.
4.3.3 Lizenz
Die Kosten für die Lizenzierung des kompletten Frameworks der Unreal Engine 3 beträgt
350.000 USD. Eine Alternativ dafür ist, am Anfang können Teams die Engine sogar umsonst
bekommen, vorausgesetzt, sie beteiligen Epic prozentual an den späteren Einnahmen. Einen
solchen Deal bietet Epic freilich nur an, wenn das Konzept und die Firmengeschichte des
Entwicklers einen sicheren Erfolg versprechen. Irrlicht Engine ist total kostenlos unter zlibLizenz.
4.3.4 Grafik-Engine
Für die grafische Darstellungen unterstützt Unreal Engine 3 kein OpenGL, hat aber ein eigenes
Rendering System - Gemini. Bei Irrlicht Engine werden Direct X, OpenGL sowie zwei Software
Renderers genutzt. Unreal Engine 3 unterstützt die High Dynamic Range Rendering (HDRR)
Technologie, welche Irrlicht Engine dagegen nicht unterstützt. Die beide Engines verwenden
Per-Pixel Lighting Technologie, aber Unreal Engine 3 unterstützt mehr Mapping-Techniken.
Bei Schatten bietet UE3 auch mehr Effekte an.
4.3.5 Physik-Engine
Das Physik System von Unreal Engine 3 basiert auf PhysX von NVIDIA. Bei Irrlicht Engine
steht eine eigene Physik-Engine - IrrPhysx, die aber nur noch die Beta-Version ist.
4.3.6 Sound-Engine
Die beide Engines haben eigene Sound-Engine.
4.3.7 Skriptsprachen
Außer C++ darf der Spieledesigner von Unreal Engine 3 nur die spezielle Scriptsprache UnrealScript benutzen, aber bei Irrlicht stehen deutlich viel mehr Skriptsprachen zur Auswahl,
wie zum Beispiel .Net, Ruby, Java usw.
4.3.8 Übersichtstabelle
Das Vergleichsergebnis wird in der nachfolgenden Übersichtstabelle aufgelistet:
12
Beispiel
Tabelle 4.1: Vergleich - Unreal Engine 3 vs. Irrlicht Engine
Type
Entwickler
Unreal Engine 3
Kommerziell
Epic Games
Platformen
PC (Mac, Linux, Windows),
Xbox 360, PS3, Wii, iPhone
Lizenz
350.000 USD oder 0 USD +
Gewinnbeteiligung
Direct X
Multi-threaded rendering system – Gemini
Grafik-Engine
Physik-Engine
Sound-Engine
Skriptsprachen
64-bit color high dynamic range rendering
Per-pixel lighting
Dynamic stencil shadows +
Dynamic soft shadows + Precomputed shadow masks
NVIDIA PhysX
Visual Sound Cue Editor
C++, UnrealScript
Irrlicht Engine
Frei
Nikolaus Gebhardt + Team
aus 11 Personen
PC (Mac, Linux, Windows),
PSP, Wii, SymbianOS, iPhone
Zlib
Direct X, OpenGL
Irrlicht Engine software renderer + Burning’s video software renderer
Kein HDRR
Per-pixel lighting
Dynamic stencil shadows
IrrPhysx (beta version)
IrrKlang
C++, .Net, Delphi, Lua, Ruby, Java, Squirrel, Autolt
5 Zusammenfassung
Von der aus nur einigen Farbblöcken bestehenden Grafik bis der feinen Spielfigur mit Millionen Polygone, in den letzten Jahrzehnten werden Computerspiele fortschreitend entwickelt
und zeigen den Spielern immer realistischer Spielwelt. Für die Spieler, die vor einigen Jahren
die Computerspiele erst kennengelernten, ist es schwerig sich darunter zu vorstellen, wie grob
und einfach die 3D-Spiele vor 30 Jahren waren. 3D Spiel-Engine spielt eine wichtigste Rolle
in der Spielentwicklung.
In dieser Arbeit wird die 3D Spiel-Engine sowie ihre Entwicklungsgeschichte vorgestellt. Von
das erste 3D Spiel Ultima Underworld 1992 veröffentlicht wurde bis heute, dazwischen nur
28 Jahre. Fast jedes große Spiel bringt auch seine eigene Engine mit. Neben den kommerziellen Spiel-Engines stehen noch zahlreiche freie Spiel-Engines zur Verfügung. Zwei ausgewählte
Spiel Engines - Unreal Engine 3 als der Vertreter der kommerziellen Spiel-Engines und Irrlicht Engine als der Vertreter der freien Spiel-Engines wird in dieser Arbeit von verschiedenen
Aspekten verglichen. Das Ergebnis weist darauf hin, obwohl freie Engines nicht so viele Technologien verwenden, so viele Funktionen und Effekte anbieten, wie die kommerzielle SpielEngines, kann ein Spieledesigner mit den auch gute und feine Computerspiele entwickeln.
Literaturverzeichnis
[1] Grafik-engine. http://de.wikipedia.org/wiki/Grafik-Engine.
[2] Netzcode. http://de.wikipedia.org/wiki/Netzwerk-Code.
[3] Physik-engine. http://de.wikipedia.org/wiki/Physikengine.
[4] Spiel-engine. http://de.wikipedia.org/wiki/Spiel-Engine.
[5] Jason Gregory. Game Engine Architecture. Transatlantic Publishers, 2009.
[6] Heiko Kalista. C++ für Spieleprogrammierer. Hanser Fachbuch, third edition, 2009.
[7] Alexander Rudolph. 3D-Effekte für Spieleprogrammierer. Profirezepte für realistische
Spielewelten. Markt und Technik, 2005.
Erklärung
Ich versichere, dass ich die Arbeit ohne fremde Hilfe und ohne Benutzung anderer als
der angegebenen Quellen angefertigt habe, und dass die Arbeit in gleicher oder ähnlicher
Form noch keiner anderen Prüfungsbehörde vorgelegen hat und von dieser als Teil einer
Prüfungsleistung angenommen wurde. Alle Ausführungen, die wörtlich oder sinngemäß
übernommen wurden, sind als solche gekennzeichnet.
Stuttgart, den 28. Juni 2010
(Zhen Peng)