Wie eine Game-Engine von Grund auf neu bauen

May 15

Eine allgemeine game-Engine, die wiederverwendet werden können, um viele verschiedene Spiele zu erstellen, kann sehr nützlich sein, aber auch sehr schwierig zu entwerfen und implementieren kann. Das Ziel ist es, Spiele erstellen einfach erstellen Spielinhalte und lassen den Motor-Handle all die harte Arbeit. Viel Arbeit kann in dieses Unterfangen einsteigen. Ein Motors kann jedoch so einfach oder komplex sein, wie ein Programmierer es gerne will. Desto komplizierter ist, desto weniger hätte der Spiele Schöpfer zu tun, um ein Spiel zu erstellen, aber einfachere Motoren sind wesentlich einfacher zu implementieren und kann ein Spiel laufen viel schneller.

Anweisungen

1 Entwerfen Sie die Grundlagen der game Engine. Dazu gehören Dinge wie der Speicher-Manager, den Kernel und den Holzfällern, die von allen Komponenten des Motors verwendet werden. Ein Speicher-Manager erstellt eine einheitliche Schnittstelle für die Objekterstellung Spiel und ermöglicht es Ihnen, die Speicherauslastung während des Programms zu verfolgen. Der Kernel ist der Mut der game Engine, die Sache, die jeder Frame ausgeführt wird, die sicherstellt, dass alles läuft. Protokollierungen sind von unschätzbarem Wert und sollte ein Teil eines komplexen Programms.

2 Erstellen Sie eine allgemeine Design für eine game-Engine, die Ihren Bedürfnissen entspricht. Die Hauptkomponenten des Motors sind die Teilmaß, der Spielstatus-Updater und die Wiedergabe-Komponente. Der Eingang Teil nimmt Benutzereingaben und übersetzt sie auf etwas, das der Spielstatus-Updater verarbeiten kann. Der Updater Spiel Staat behandelt die Eingabe, um den Zustand des Spiels zu aktualisieren. Die Rendering-Engine zeichnet das Spiele Staat auf dem Bildschirm. Diese können jeder sein, wie kompliziert oder einfach bei Bedarf zu sein.

3 Entwerfen Sie und implementieren Sie der Teilmaß. Dies hängt oft das System, das das Spiel ist auf verwendet werden, und ein komplexeres Design erlauben die Nutzung auf mehreren Betriebssystemen und Hardwarekonfigurationen. Das Eingabemodul sollten Eingaben von Schlüssel, Maus, Joystick und möglicherweise andere Mensch-Computer-Schnittstelle Geräte und übersetzen sie in Werte, die bedeutet werden, um das Spiel Staat zu aktualisieren. Es könnte nützlich sein, ein Tool zu erstellen, die bestimmte Eingaben für Spielaktionen zuordnet.

4 Erstellen des Spielstatus-Updaters. Dies ist oft die komplexesten Komponente der game Engine. Es behandelt die Spielregeln, Spielphysik und alle Netzwerke, die das Spiel benötigen. Viel Zeit verbrachte Dieser Teilbereich entwerfen kann viele Kopfschmerzen später speichern.

5 Erstellen Sie die Rendering-Engine. Die Komplexität, die diese Komponente benötigt, hängt stark von dem Spiel selbst. Oft, 3D Spiele haben sehr anspruchsvolle Motoren rendern, um die meisten visuell erstellen atemberaubende Grafiken möglich beim Versuch, so wenig Systemressourcen wie es verwenden kann. Manchmal aber, Dinge nur auf dem Bildschirm, wie bei einem Pokerspiel gezeichnet werden müssen und der Programmierer brauchen nicht viel Pflege, zur Verwendung von Systemressourcen.

6 Erstellen Sie Tools für die verschiedenen Komponenten. Tools in diesem Zusammenhang sind Programme, mit denen Inhalte hinzufügen oder Konfigurieren von Komponenten für ein bestimmtes Spiel Spiel-Entwickler. Beispielsweise würde ein Eingabe-Tool ermöglichen eine Inhaltsersteller ordnen Sie Tastatureingaben zu verschiedenen Spielaktionen, wo kann ein Werkzeug für die Rendering-Engine ermöglichen einen Designer, eine grafische Benutzeroberfläche für ein Spiel zu entwickeln. Werkzeuge ermöglichen es Ihnen, die Komponenten Ihrer game-Engine zu testen, ohne tatsächlich eine ganze Spiel läuft und kann helfen, zu führen besser Komponenten konzipiert.

Tipps & Warnungen

  • Desto mehr Zeit verbringen Sie kommen mit einem guten Design, desto mehr Zeit werden, die Sie später sparen werden, wenn man ein Spiel mit Ihren Motor funktioniert.
  • Entwerfen Sie das Modul nach Ihren Bedürfnissen. Machen Sie es als komplexe oder so einfach, wie Sie es brauchen. Es ist nicht notwendig, einen Renderer Lage unglaublich komplexe Szenen in Echtzeit zu zeichnen, wenn Sie wollen einfach nur Kartenspiele zu machen haben.