AUL (1)

Was ist ein Spiel?

Facebook
Twitter
Pinterest

Wir alle haben wahrscheinlich eine ziemlich intuitive Vorstellung davon, was ein Spiel ist. Der allgemeine Begriff „Spiel“ umfasst Brettspiele wie Schach und Monopoly, Kartenspiele wie Poker und Blackjack, Kasinospiele wie Roulette und Spielautomaten, militärische Kriegsspiele, Computerspiele und verschiedene Spielarten für Kinder. und die Liste geht weiter. Akademiker sprechen manchmal von Spieltheorie, in der mehrere Agenten Strategien und Taktiken auswählen, um Gewinne innerhalb eines klar definierten Satzes von Spielregeln zu maximieren. Wenn es im Zusammenhang mit konsolen- oder computergestützter Unterhaltung verwendet wird, ruft das Wort “Spiel” normalerweise Bilder von dreidimensionalen virtuellen Welten hervor, in denen Humanoide, Tiere oder Fahrzeuge als spielergesteuerte Protagonisten vorkommen. (Oder für die alten Geeks unter uns mag es Bilder von zweidimensionalen Klassikern wie Pong, Pac-Man oder Donkey Kong heraufbeschwören.) Raph Koster definiert Spiele in seinem ausgezeichneten Buch A Theory of Fun for games Design. Es präsentiert dem Spieler eine Reihe von immer schwierigeren Mustern, was es zu einer interaktiven Erfahrung macht, die der Spieler lernt und schließlich meistert. Köster argumentiert, dass das Herz dessen, was wir „Spaß“ nennen, die Aktivität des Lernens und Beherrschens ist, so wie ein Witz in dem Moment lustig wird, in dem wir ihn „verstehen“, indem wir Muster erkennen.

Videospiele als weiche Echtzeitsimulationen

Die meisten 2D- und 3D-Videospiele sind Beispiele für das, was Informatiker reibungslose, interaktive, agentenbasierte Computersimulationen in Echtzeit nennen. Lassen Sie uns diesen Satz aufschlüsseln, um besser zu verstehen, was er bedeutet. In den meisten Videospielen werden Teile der realen oder virtuellen Welt mathematisch modelliert, damit Computer sie manipulieren können. Ein Modell ist eine Annäherung an die Realität und eine Vereinfachung der Realität (auch wenn es sich um eine virtuelle Realität handelt), da es offensichtlich unrealistisch ist, alle Details bis auf die atomare oder Quark-Ebene einzubeziehen. Ein mathematisches Modell ist also eine Simulation einer realen oder imaginären Spielwelt. Annäherung und Vereinfachung sind die beiden mächtigsten Werkzeuge eines Spieleentwicklers. Gekonnt eingesetzt können selbst stark vereinfachte Modelle manchmal so unterhaltsam sein, dass sie kaum von der Realität zu unterscheiden sind.

Agentenbasierte Simulationen sind Simulationen, bei denen mehrere separate Entitäten, die als “Agenten” bekannt sind, interagieren. Dies passt sehr gut zur Beschreibung der meisten 3D-Computerspiele, bei denen der Agent ein Fahrzeug, eine Figur, ein Feuerball, ein Energiepunkt usw. ist. Angesichts der agentenbasierten Natur der meisten Spiele ist es keine Überraschung, dass die meisten Spiele heute in Objekt- orientierte, oder zumindest lose, objektbasierte Programmiersprachen.

Alle interaktiven Videospiele sind Zeitsimulationen. Das heißt, das Modell der virtuellen Spielwelt ist dynamisch. Der Zustand der Spielwelt ändert sich im Laufe der Zeit, während sich die Ereignisse und die Geschichte des Spiels entfalten. Videospiele müssen auch auf unvorhersehbare Eingaben des/der menschlichen Spieler(s) reagieren (und somit interaktive Zeit simulieren). Schließlich erstellen die meisten Videospiele interaktive Echtzeitsimulationen, indem sie eine Geschichte präsentieren und in Echtzeit auf Spielereingaben reagieren.

Eine bemerkenswerte Ausnahme ist die Kategorie der rundenbasierten Spiele wie Computerschach oder Nicht-Echtzeit-Strategiespiele. Aber selbst diese Arten von Spielen bieten dem Benutzer normalerweise eine Art von grafischer Echtzeit-Benutzeroberfläche.

Was ist eine Game-Engine?

Der Begriff „Game Engine“ tauchte Mitte der 1990er Jahre in Bezug auf die sehr beliebten Ego-Shooter-Spiele (FPS) von id Software wie Doom auf. Doom ist mit einer einigermaßen klar definierten Trennung zwischen Kernsoftwarekomponenten (wie einem 3D-Grafik-Rendering-System, einem Kollisionserkennungssystem oder einem Audiosystem) und den Kunstobjekten, der Spielwelt und den Spielregeln, aus denen der Spieler besteht, konzipiert. Spielerlebnis. Der Wert dieser Trennung wurde deutlich, als Entwickler damit begannen, Spiele zu lizenzieren und sie in neue Produkte umzugestalten, indem sie neue Grafiken, Weltlayouts, Waffen, Charaktere, Fahrzeuge und Spielregeln mit minimalen Änderungen an der „Engine“-Software erstellten. Dies war die Geburtsstunde der „Mod-Community“, einer Gruppe einzelner Spieler und kleiner unabhängiger Studios, die neue Spiele erstellten, indem sie vorhandene Spiele mit kostenlosen Toolkits modifizierten, die von den ursprünglichen Entwicklern bereitgestellt wurden. Einige Spiele der späten 1990er, wie Quake III Arena und Unreal, wurden im Hinblick auf Wiederverwendung und „Modding“ entwickelt. Engines sind durch Skriptsprachen wie Quake C von id in hohem Maße anpassbar geworden, und die Lizenzierung von Engines beginnt, sich zu einer tragfähigen sekundären Einnahmequelle für die Entwickler zu entwickeln, die sie erstellen. Spieleentwickler können heute Spiele-Engines lizenzieren und viele ihrer wichtigsten Softwarekomponenten wiederverwenden, um Spiele zu erstellen. Obwohl diese Methode immer noch erhebliche Investitionen in kundenspezifische Softwareentwicklung erfordert, kann sie weitaus wirtschaftlicher sein, als alle Kernkomponenten des Motors im eigenen Haus zu entwickeln. Die Grenze zwischen Spiel und Engine ist oft fließend.

Einige Motoren machen eine ziemlich klare Unterscheidung, während andere wenig versuchen, die beiden zu trennen. In einem Spiel könnte der Rendering-Code speziell „wissen“, wie man einen Ork zeichnet. In einem anderen Spiel kann die Rendering-Engine Generi bereitstellen

c Material- und Beschattungsfähigkeiten und “Orcishness” können vollständig in Daten definiert werden. Kein Studio unterscheidet ganz klar zwischen einem Spiel und einer Engine. Dies ist verständlich, da sich die Definitionen dieser beiden Komponenten oft ändern, wenn das Design eines Spiels robuster wird.

Die datengesteuerte Architektur unterscheidet wohl eine Spiel-Engine von einer Software, die zwar ein Spiel, aber keine Engine ist. Wenn Ihr Spiel fest codierte Logik oder Spielregeln enthält oder Sondercode zum Rendern bestimmter Arten von Spielobjekten verwendet, wird es schwierig oder unmöglich, diese Software zum Erstellen anderer Spiele wiederzuverwenden. Wir empfehlen die Verwendung des Begriffs „Game Engine“ für Software, die skalierbar ist und ohne größere Modifikationen als Basis für viele verschiedene Spiele verwendet werden kann.

Das ist natürlich keine Schwarz-Weiß-Unterscheidung. Wir können uns eine Reihe von Wiederverwendbarkeitsmöglichkeiten vorstellen, unter die alle Motoren fallen. Sie können sich eine Spiele-Engine analog zu Apple QuickTime oder Microsoft Windows Media Player vorstellen, einer universellen Software, die fast jeden erdenklichen Spielinhalt wiedergeben kann. Dieses Ideal ist jedoch noch nicht erreicht (und wird möglicherweise nie erreicht). Die meisten Spiele-Engines sind sorgfältig entwickelt und fein abgestimmt, um ein bestimmtes Spiel auf einer bestimmten Hardwareplattform auszuführen. Und selbst die universellsten Multiplattform-Engines eignen sich nur zum Erstellen bestimmter Spielgenres wie Ego-Shooter oder Rennspiele. Man kann sagen, dass je universeller eine Spiel-Engine oder Middleware-Komponente ist, desto weniger geeignet ist sie, ein bestimmtes Spiel auf einer bestimmten Plattform auszuführen.

Dies liegt daran, dass das Entwerfen einer effizienten Software immer einen Kompromiss beinhaltet, und diese Kompromisse basieren auf Annahmen darüber, wie die Software verwendet wird und/oder auf welcher Hardware sie ausgeführt wird. Beispielsweise ist eine Rendering-Engine, die für intime Innenräume ausgelegt ist, nicht sehr gut geeignet, um massive Außenumgebungen zu rendern. Indoor-Engines können einen BSP-Baum (Binary Space Partitioning) oder ein Portalsystem verwenden, um das Zeichnen von Geometrie zu vermeiden, die durch Wände oder Objekte in der Nähe der Kamera verdeckt wird. Auf der anderen Seite kann eine Outdoor-Engine einen weniger genauen Okklusionsmechanismus oder gar keinen verwenden, aber sie kann aktiv Level-of-Detail (LOD)-Techniken verwenden, um sicherzustellen, dass entfernte Objekte mit einer minimalen Anzahl gerendert werden. Verwenden Sie ein hochauflösendes Dreiecksnetz für Geometrie in der Nähe der Kamera.

Mit dem Aufkommen schnellerer Computerhardware und spezialisierter Grafikkarten sowie effizienterer Rendering-Algorithmen und Datenstrukturen beginnen sich die Unterschiede zwischen Grafik-Engines für verschiedene Genres aufzuweichen. Beispielsweise können Sie jetzt ein Echtzeit-Strategiespiel mit einer Ego-Shooter-Engine erstellen. Es gibt jedoch immer noch einen Kompromiss zwischen Allgemeingültigkeit und Optimalität. Sie können Ihr Spiel noch beeindruckender gestalten, indem Sie die Engine feinabstimmen, um sie an die spezifischen Anforderungen und Einschränkungen eines bestimmten Spiels und/oder einer bestimmten Hardwareplattform anzupassen.

Related Articles

Leave a Comment

Your email address will not be published. Required fields are marked *