PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Game-Engine: Wie kann ich mir das vorstellen?


The Dude
2003-05-22, 18:05:36
Was genau ist eigentlich ne Game-engine und wie können die Game-Entwickler damit umgehen?

Wie funktionieren diese Dinger grundsätzlich? Können sich die Game-Designer mit einer guten Engine praktisch „nur“ noch auf die Erstellung von Levels, Objekten, Charakteren, Story, Spielabschnitte usw. konzentrieren? Sind diese Engines für Programmierer quasi fast schon komfortabel zu bedienende Tools?
Beispiel Splinter Cell, welches ja auf der Unreal2-Engine aufbaut: Was hatten die Programmier hier noch zu tun um beispielsweise die Lichtquellen dynamisch werden zu lassen? Welcher Aufwand war nötig, um der Kiste (dem Rechner) klarzumachen, wie das Wasser, die Hintergrundgrafik auszusehen hat, oder wie tief Sam Fisher fallen kann ohne zu sterben? Wie sieht es mit den Nichtspieler-Charakteren und deren KI aus: Berechnet eine lizenzierte Engine die KI oder wird diese komplett von den Entwicklern programmiert?

Wäre nett, wenn mir jemand der sich damit auskennt, ein paar Stichworte dazu posten könnte!

Greez

auki
2003-05-22, 19:22:23
das passt eher ins Technologie-Forum!
@mod: bitte verschieben :)

Unregistered
2003-05-22, 19:43:49
cool wieder so ein möchtegern mod...*kopfschüttel

Anárion
2003-05-22, 19:50:39
Originally posted by auki
das passt eher ins Technologie-Forum!
@mod: bitte verschieben :)

Blind sind wir keinesfalls mein lieber Lehrling ;)

Demirug
2003-05-22, 20:32:41
Die Frage ist nicht einfach zu beantworten da man im Prinzip sehr viel als Game-Engine bezeichnen kann.

In der allgemeinsten Form ist eine Game-Engine eine Sammlung von Funktionen welche das Erstellen von Spielen einfacher machen. Oft setzten sich Gameengines aus meheren Engines für unterschiedliche Bereiche (Grafik, Sound, AI, Physik, ...) zusammen. Diese werden entweder selbst erstellt oder zugekauft. Bei eingekauften (lizenzierten) Engines unterscheidet man zwischen einer Version mit Sourcecodes und einer ohne. Die Variante ohne Sourcecode ist dabei in der Regel nicht sehr gut veränderbar dafür aber auch meistens günstiger.

Zu den guten Engine gehören in der Regel auch Tools die es den Designern erlauben die Engine ohne Programmierkenntnisse zu nutzen. Wenn ein Programmier aber an der Engine änderungen vornimmt müssen oft auch die Tools an diese Veränderungen angepasst werden.

Die Programmier haben also die Aufgabe den Designer ein System zu entwickeln welches diesen erlaubt ihere Vorstellungen umzusetzten. Je mehr Teile dieses Systems fertig eingekauft werden desto weniger Programmier barucht man. Kann man das benötige System komplett einkaufen braucht man gar keine Programmier mehr.

Um hier eine klare Trennung zu haben spricht man oft davon das die Programmier das System entwickeln und die Designer es konfigurieren. Je mehr Möglichkeiten zur Konfiguration vorgesehen sind desto stärker haben die Designer Einfluss auf den Spielverlauf.

Ein einfaches Beispiel:

Eine Pac-Man Gameengine.

Möglichkeit 1. Ein Entwickler kann diese Engine so schreiben das sie keinerlei Konfigurations möglichkeiten enthält. Alle Level sind fest vorgeben die KI der geister wurde direkt programmiert. In diesem Fall ist die Engine auch gleich das Spiel.

Möglichkeit 2. Der Entwickler hat die KI programiert und das Punktesystem fest vorgegen aber die Engine enthält keine Levels. Dafür wurde ein Leveleditor programmiert und ein Designer entwirft alle Levels.

Möglichkeit 3. Die KI, die bei der 2 Möglichkeit noch direkt in der Engine vorhanden war, wird durch ein System ersetzt welches pro Geist ein KI-Script ausführt. Der Editor erlaubt es jetzt noch den Designer für jeden Geist die KI zu scripten.

Das Grundprinzip dürfte jetzt hoffentlich verständlich sein. Neben diesen 3 Möglichkeiten gibt es selbst bei einem so "einfachen" Spiel wie Pac-Man noch viel mehr Stellen bei denen man zwischen fest Programmiert und Konfigurierbar wählen kann. Bei einem richtig komplexen Spiel steigt die Anzahl dieser Stellen sehr stark an.

The Dude
2003-05-23, 00:24:24
Thanx Demirug für die Erklärung, hat mir weitergeholfen.
Greez