Sie befinden sich hier:  Produktion & Entwicklung -> 3D Gamestudio -> FAQ 

  
 

3D Gamestudio
Häufig gestellte Fragen


F. Was ist eine 3D-Engine, eine 3D-Sprache und ein 3D-Autorensystem?

A. Eine 3D-Engine ist eine Software-Bibliothek von 3D-Grafikfunktionen. Sie läßt sich in Kombination mit einem Software-Entwicklungssystem wie z.B. Microsoft Visual C++™ einsetzen. Spieleprogrammierung mit einer 3D-Engine bietet ein Maximum an Flexibilität, zumal die Bibliothek oft im Source Code vorliegt und damit angepasst werden kann (und meistens auch muss). Gute Programmiererfahrung und erheblicher Zeitaufwand sind allerdings erforderlich, um mit einer 3D-Engine ein komplexes Spiel zu programmieren.

Schneller geht es mit einer 3D-Sprache. Dies ist eine 3D-Engine, die in eine eigene Programmiersprache integriert ist. Solche Sprachen bieten nicht volle Flexibilität von 'richtigem' Programmieren, sind dafür aber viel einfacher und schneller zu nutzen - besonders für Einsteiger. Ein mit einer 3D-Sprache wie lite-C programmiertes Spiel erfodert nur etwa ein Zehntel des Codes und der Zeit, die für das gleiche Ergebnis mit einer 3D-Engine und einem Software-Entwicklungssystem erforderlich wären.

Noch einfacher geht es mit einem Autorensystem, mit dem sich Spiele ganz ohne Programmieren 'zusammenklicken' lassen. Freilich kann man nur relativ simple Spiele ohne jedes Programmieren gestalten. Daher enthalten Autorensysteme oft ebenfalls eine Skriptsprache, um komplexere Spiele ganz oder teilweise zu programmieren. Manche Systeme, wie Gamestudio/A7, beinhalten alle drei Komponenten und lassen sich zugleich auch als 3D-Engine oder 3D-Sprache einsetzen.

 

F. Welche Spielentwicklungssysteme außer Gamestudio können Sie noch empfehlen?

A. Autorensysteme: Creator (wenn Sie keine Angst vor LISP haben); 3D-Sprachen: Blitz (stabil und einigermaßen schnell); Open Source Engines: Irrlicht (gut strukturierter und verständlicher C++ Code); kommerzielle 3D Engines: Torque (große Community).

 

F. Was ist ein Szene-Manager?

A. Ein Szene Manager verbessert die Framerate, indem er nur die Objekte rendert, die sichtbar sind. Dieältesten Szene Manager waren das Portal und das Octree System. Ein Portal-System versucht die Szene auf den Inhalt zu reduzieren, der durch Öffnungen wie Tore oder Fenster sichtbar ist. Ein Octree System teilt den Level in einen hierarchischen 'Baum' würfelförmiger Regionen und rendert nur den Inhalt der Regionen im Sichtbereich der Kamera. Wegen ihrer Einfachheit werden Portal- oder Octree-System auch heute noch von einigen 3D Engines verwendet.

Das ABT (Adaptive Binary Tree) System benutzt quaderförmige Regionen, deren Größe von der Geometrie des Levels abhängt, und ist damit effektiver. Das BSP-Tree System teilt den Level in unregelmäßige Regionen entlang von Wänden. Es rendert nur die Teile, die tatsächlich sichtbar sind, und ist damit das effektivste System besonders in Innenräumen. Für Außenlevel, wo ein BSP-Tree nur einen geringen Vorteil bietet, wird oft ein LOD (Level Of Detail) System benutzt, um die Framerate zu erhöhen. Es schaltet bei Objekten, die weiter von der Kamera entfernt sind, auf einfachere Formen um. Auf diese Weise reduziert sich die Gesamtzahl der pro Frame gezeichneten Polygone.

 

F. Was ist ein Terrain-Renderer?

A. Realistische Landschaften bestehen aus Millionen Polygonen und können nicht mehr wie ein normales 3D-Modell gerendert werden. Daher beinhalten manche Engines einen speziellen Terrain-Renderer, der das Terrain in kleine Parzellen ('Chunks') unterteilt. Die Detailliertheit der Chunks hängt von ihrer Entfernung zur Kamera ab. Nur die Terrain-Teile in der Nähe der Kamera müssen in den Computer-Speicher geladen und am Bildschirm dargestellt werden. Auf diese Weise lassen sich sehr detaillierte Landschaften theoretisch unbegrenzter Größe darstellen.

 

 

F. Was ist Shadow-Mapping?

A. Auch Lightmapping genannt - ein System zum Vorberechnen realistischer Licht- und Schattenverläufe im Level. Der Shadow-Compiler erlaubt das Plazieren unbegrenzt vieler statischer Lichtquellen und berechnet daraus Lichtverläufe und Schatten für alle Oberflächen. Wie Sie sehen können, tragen vorberechnete Licht- und Schattenverläufe viel zur Erkennbarkeit und Atmosphäre einer Szene bei.

 

F. Was ist ein Partikel-System?

A. Ein Effekt-Generator, der mit einer enormen Menge winziger Partikel Spezialeffekte wie Rauch, Feuer oder Explosionen erzeugt. Gute Partikel-Effekte machen deutlich mehr her als vorgerenderte Animationen. Deshalb werden in allen neueren Spielen und Spielekonsolen Partikel-Generatoren verwendet. Einfache Partikel-System unterstützen vordefinierte Partikel-Eigenschaften wie Farbe oder Gravitation; ausgefeiltere Systeme wie das der A7-Engine erlauben die Programmierung individueller Partikel-Funktionen. Einige Partikel-Systeme haben auch Beam-Generatoren, die Lichtstrahlen und Leuchtspuren erzeugen können.

 

F. Was sind Shader?

A. Shader geben der Spielegrafik eine neue Dimension. Sie beeinflussen Transformation, Beleuchtung und Rendern direkt auf der Vertex-, Pixel- und Bildschirm-Ebene. Ein Shader ist eine Art kleines Skript, das für jeden Vertex oder jeden Pixel direkt auf der 3D-Hardware ausgeführt wird. Dies gibt dem Entwickler völlige Flexibilität über die Darstellung von Oberflächen. Vertex- und Pixel-Shader können realistische Wellen auf einer Wasserfläche erzeugen, dem Spiel einen Cartoon-Look geben, Modelle mit Fell überziehen oder den Lavafluss eines Vulkans kontrollieren.

Eine Reihe von modernen 3D-Engines unterstützen Shader. Shader-Unterstützung beinhaltet normalerweise eine Sammlung von Standard-Shadern sowie einen Editor, mit dem User individuelle Shader programmieren können. Manche Engines (wie A7) erlauben auch Postprocessing-Shader für Effekte wie in dem Unterwasserbild unten. 

 

F. Was ist ein Save/Load System?

A. Ein solches System erlaubt das Abspeichern und Wiederaufnehmen von Spielständen. Es speichert den kompletten Zustand aller laufenden Skripte und aller Objekte und Variablen in eine Datei, wahlweise zusammen mit einem Screenshot. Dies ist nötig zum Wiederaufnehmen des Spiels zu einem späteren Zeitpunkt an der gleichen Stelle, oder zum Verlassen und Betreten verschiedener Spiel-Levels an beliebigen Positionen. Speichern von Spielständen hört sich zwar einfach an, ist aber 'tricky' und muss im Kern der Game-Engine implementiert sein. Ohne ein solches System müsste zum Abspeichern von Spielständen ein Skript geschrieben werden, welches jede einzelne Variable und den Stand jeder laufenden Funktion abspeichert - sehr umständlich und in der Praxis kaum möglich, außer für sehr simple Spiele. Die meisten kommerziellen Engines besitzen daher ein eigenes Save/Load-System.

 

F. Was ist eine Physik-Engine?

A. Eine Physik-Engine berechnet Bewegungen, Rotationen und Kollisionsverhalten von Objekten gemäß den Regeln der Physik. Es ist nicht unbedingt notwendig, eine Physik-Engine für ein Spiel einzusetzen - einfache Physik-Regeln, wie Beschleunigung oder Abbremsung, lassen sich bis zu einem gewissen Grad auch per Skript programmieren. Diese Möglichkeit gibt es jedoch nicht mehr, wenn Objekte auf komplexe Weise zusammenstoßen, rollen, gleiten oder abprallen - wie etwa bei Autorennen oder Ballspielen. Eine Physik-Engine benutzt Objekteigenschaften wie Masse, Impuls, Drehmoment oder Elastizität, um Bewegungsverhalten mechanischer Prozesse zu simulieren. Dies sieht nicht nur viel realistischer aus, sondern ist für den Entwickler auch viel einfacher zu handhaben als das Schreiben von Bewegungsskripten.
Normale Physik-Engines modellieren die Physik fester Körper (Rigid Bodies), die sich entweder frei bewegen oder mittels Motoren, Gelenken, Angeln, Achsen oder Schiebezylindern miteinander verbunden sind. Manche Engines unterstützen auch die Physik von Nicht-Festkörpern, wie etwa Flüssigkeiten (Fluids).

 

F. Was ist ein Skript-Compiler?

A. Viele 3D-Systeme enthalten Skriptsprachen zum Steuern von Objekten im Spiel. Je mehr Dinge sich bewegen, desto mehr Skriptanweisungen müssen pro Sekunde ausgeführt werden. Oft sind diese Sprachen INTERPRETIERT. Die Skriptanweisungen werden in einen Zwischencode übersetzt, der dann während des Spiel vom Programm interpretiert wird. Da der Prozessor den Code Byte für Byte auswerten muss, sind interpretierte Sprachen ziemlich langsam und beeinflussen die Framerate erheblich. Spiele, die mit solchen Sprachen programmiert wurden, sind daher auf relativ kleine Level mit wenigen bewegenden Objekten beschränkt.

Ein Skript-Compiler übersetzt die Sprache nicht in einen Zwischencode, sondern direkt in den MASCHINENCODE des Prozessors. Da das Auswerten des Codes während des Spiels entfällt, laufen compilierte Skripte wesentlich schneller als interpretierte. Sie beeinflussen die Framerate auch in großen Leveln mit hunderten von sich bewegenden Objekten kaum. Vorsicht: Manche Systeme führen 'Compiler' in ihrer Feature-Liste, meinen damit aber lediglich den Übersetzer in den Zwischencode und somit eigentlich das Gegenteil.

 

F. Muss ich programmieren lernen, um ernsthaft Spiele zu entwickeln?

A. Ja - egal was Sie woanders gehört haben. Einfache Spiele, wie 3D-Shooter, können Sie zwar auch ohne Programmieren zusammenbauen. Zur Realisierung von eigenen Spielideen und Effekten jedoch ist es notwendig, diese mit Skripten zu programmieren. Aber keine Sorge: Auch wenn Sie noch nie programmiert haben, können Sie sich mit Hilfe eines lite-C-Tutorials in kurzer Zeit einarbeiten.

 

F. Warum C und nicht BASIC / LUA / PYTHON ...?

A. Eine C-basierte Sprache ist zur Spieleprogrammierung aus vielen Gründen besser geeignet. C-Code ist übersichtlicher, kürzer und einfacher zu verstehen als BASIC und läuft - da compiliert und nicht interpretiert - viel schneller als eine reine Skriptsprache wie LUA oder PYTHON. Wegen seiner Unterstützung von C++-Klassen kann lite-C direkt auf DirectX und Windows API Funktionen zugreifen und erlaubt damit die Programmierung komplexer Effekte, die in keiner anderen Skriptsprache möglich wären.


Fast alle kommerziellen Spiele werden zur Zeit in C/C++ programmiert. Auch Spiele, die LUA oder PYTHON als Skriptsprache einsetzen, benutzen C/C++ für alle komplexeren Aufgaben wie Rendern, Physik und Effekte. Windows- und Grafikbibliotheken wie DirectX haben ein C/C++-basiertes Interface, und C ist auch die Grundlage der Shader-Sprache, in der 3D-Effekte gestaltet werden. Um die Sprache C kommt man in der Spieleindustrie nicht herum.

 

F. Wie oft werden neue Features für Gamestudio entwickelt? Sind die Updates kostenlos? Sind sie abwärtskompatibel?

A. Gamestudio wird ständig mit neuen Features ausgestattet - das ist es, womit wir im wesentlichen unsere Zeit verbringen. Sie finden den Plan für künftige Features unter den Beta und Forecast Links in unserem Forum. Normale Updates sind kostenlos und kommen alle paar Monate heraus. Grosse Upgrades zu einer neue Engine-Generation ( A4 -> A5 -> A6 -> A7) kommen im Abstand von einigen Jahren heraus und sind nicht gratis. Alle Updates sind kompatibel zur Vorgängerversion.

 

F. Wie fehlerfrei ist die Software, und wie stabil laufen die damit produzierten Spiele?

A. Wir sind ziemlich sicher, das Gamestudio das mit Abstand robusteste und fehlerfreieste Entwicklungssystem auf dem Markt ist. Wenn Sie Spiele entwickeln, wollen Sie sich schließlich nicht auch noch mit Software-Bugs herumärgern. Bevor ein Update freigegeben wird, wird es von einem Team von etwa 100 Beta-Testern - alles erfahrene Spielentwickler - monatelang intensiv geprüft. Danach wird es einem öffentlichen Beta-Test im Forum unterzogen, der normalerweise über 1000 Tester einbezieht. Erst dann steht es offiziell zum Download zur Verfügung.

 

 

  

Keine Produkte im Warenkorb.



Wenn es um Qualität geht,
ist Geiz eben nicht geil...

software3D.de - Service

)) Philosophie

)) Sortiment

)) Deutsche Beratung

)) Rückgaberecht

Nicht fündig geworden?

Wenn Sie Fragen oder Wünsche haben klicken Sie bitte hier oder rufen Sie uns an!

(+49)0 71 73 - 9 14 69 59