Gute Ressourcen zum Erlernen der Spielarchitektur? [geschlossen]

104

Gibt es gute Ressourcen zum Erlernen von Spielarchitekturen? Ich bin auf der Suche nach Übersichten über verschiedene Architekturen. Ich neige dazu, Informationen über die verschiedenen Teile eines Spiels zu finden, wie Entitäten, Physik-Engines, Skripte usw., aber nicht darüber, wie man alle Teile zusammenbringt.

Wie beeinflusst die Art des Spiels dies als Bonus? Ein Platformer und ein MMO haben beispielsweise Unterschiede.

Colin Gislason
quelle

Antworten:

64

Game Engine Architecture von Jason Gregory ist ein gutes Buch zu diesem Thema. Sie können es in Google Books lesen, bevor Sie es kaufen.

Matias Valdenegro
quelle
4
Ich kann dieses Buch nicht genug empfehlen. Wenn Sie Handcode-Beispiele suchen, ist dies nicht das richtige Buch für Sie. Wenn Sie sich jedoch einen Überblick über alle Komponenten einer modernen Spiele-Engine verschaffen möchten und wissen möchten, wie sie zusammenpassen, dann ist dies ein herausragendes Buch. Der Schreibstil ist sehr professionell (er wurde als Lehrbuch geschrieben), aber für jeden zugänglich, der Grundkenntnisse in den Grundsätzen der Informatik besitzt.
Bob Somers
Sieht gut aus. Zur Liste meiner Bücher hinzugefügt.
Colin Gislason
1
Dies ist eines meiner Lieblingsbücher. Das einzige Problem, das ich damit hatte (was der Autor erkannte), waren die sehr spärlichen Details auf Audio.
Slurps Mad Rips
1
Das ist ein guter Punkt, das Buch deckt nicht alles ab. Die beiden großen Dinge, die mir aufgefallen sind, waren Audio und Networking, die beide nur nebenbei erwähnt werden. Aber der Autor war ehrlich darüber, dass er diesen aus verschiedenen Gründen den Schaft geben musste. Vielleicht in der zweiten Auflage? :)
Bob Somers
Wow, das Buch sieht absolut genial aus.
NM01,
39

Mein Buch, Game Programming Patterns , ist unvollständig und lauert, aber was ich habe, ist online frei verfügbar. Möglicherweise können Sie etwas davon nutzen.

herrlich
quelle
1
Ich habe das schon gelesen. Sehr guter Inhalt, wenn nicht vollständig. Dies ist jedoch ein Beispiel für Informationen zu Teilen, ohne wie diese zusammengesetzt werden sollen.
Colin Gislason
2
Das ist eine absichtliche Entscheidung, aber das hilft dir wahrscheinlich nicht viel. Das Problem ist, dass jedes Spiel anders ist, insbesondere in den verschiedenen Genres. Es gibt also kein "Hier ist die gesamte Architektur, die Sie erstellen sollten", es sei denn, Sie versuchen wirklich nur, ein vorhandenes Spiel zu klonen. Ich denke, das Beste, was du tun kannst, ist zu sagen: "Hier sind ein paar große Stücke, nimm die, die du brauchst, und verbinde sie." Spieleprogrammierbücher über Grafik, KI usw. sollten Ihnen die großen Stücke geben. Das Ziel meines Buches ist es, Ihnen zu erklären, wie Sie sie anschließen können.
Munificent
1
Ja, das verstehe ich definitiv. Die meiste Software ist so. Ich vermute, ich suche nach Beispielen dafür, wie es gemacht wurde, damit ich fundiertere Entscheidungen für die Spiele treffen kann, an denen ich arbeite. Tolle Arbeit an dem Buch / der Seite, übrigens.
Colin Gislason
4
Bitte beenden Sie dieses Buch, es ist unglaublich gut so weit. Ich wäre definitiv bereit, für eine vollständige Version zu spenden :)
Kyle C
4
Ihr Buch sieht wirklich gut aus, danke, dass Sie es geteilt haben. Ich hoffe du wirst es zu Ende bringen!
GvS
15

Enginuity ist eines der besten kostenlosen Tutorials zum Thema Game Engine Design. Siehe, das ist nicht genau das, wonach du gefragt hast. Es handelt sich um ein Tutorial zum Schreiben einer Game-Engine bis zu den niedrigsten Aspekten - es ist jedoch eine Universal- Engine, und Sie können möglicherweise für jedes Spiel einen gemeinsamen Divisor ableiten.

Lesen Sie einfach die Einführung durch und hören Sie auf, wenn es für Ihren Geschmack zu detailliert wird;)

Dave O.
quelle
1
Ich habe ein gutes Stück davon durchgelesen. Es gab viele nützliche Informationen, auch wenn sie nicht genau das waren, wonach ich gefragt habe. Danke für den Link.
Colin Gislason
1
Es wurde festgestellt, dass der Link nicht funktioniert und dass kein funktionierender Link gefunden werden kann. Wenn jemand einen findet, bitte updaten, danke.
Dave O.
Ich lief die Seite über die Suche und fand ich diese: gamedev.net/page/resources/_/reference/programming/...
DMan
14

Spielprogrammierung: Die Express Line to Learning bietet eine nette Einführung in eine grundlegende Game-Engine-Struktur, die der Autor "IDEA / ALTER" nennt:

  • I - Importieren und initialisieren
  • D - Anzeigekonfiguration
  • E - Entitäten
  • A - Aktion (in ALTER-Schritte unterteilt)
    • A - Weisen Sie Schlüsselvariablen Werte zu
    • L - Loop (Setup-Hauptschleife)
    • T - Timer zum Einstellen der Bildrate
    • E - Ereignisbehandlung
    • R - Aktualisieren Sie die Anzeige

Das Buch führt durch ein vollständiges Beispielspiel, das in Python / Pygame implementiert ist.

David Eyk
quelle
7

Ich kann das Buch Game Coding Complete empfehlen. Herr Mike kennt sich mit Game Architecture bestens aus und erklärt es dem Leser sehr gut. Ich weiß nicht über die dritte Ausgabe, ich habe nur die zweite Ausgabe, aber es war eine Lektüre wert. Er erklärt alles von Scripting bis Sound, sogar ein bisschen 3D-Mathematik. Nicht bis ins kleinste Detail, aber gut genug, um mit anderen Materialien tiefer zu graben. Am Ende des Buches erstellt er ein vollständiges Spiel, in dem alles verwendet wird, was Sie mit diesem Buch gelernt haben.

thbusch
quelle
4

Mein guter Freund Joel hat auf einer Konferenz einen Vortrag über die Architektur gehalten, die er für einige PS1-Spiele verwendet hat. Obwohl der Vortrag spezifisch ist, bringt er alles auf allgemeine Ratschläge zurück, wonach in einer guten Architektur gesucht werden sollte.

Die Diskussion ist hier: http://jdinolt.tumblr.com/post/756062883/hrraaah-ego-trippin-my-first-talk-at-the-igad

Jeff
quelle
4

Eigentlich kein Spiel, aber eine unschätzbare Ressource für jeden Programmierer: Der Pragmatische Programmierer: Vom Gesellen zum Meister . Sie erfahren nicht, wie Sie eine 3D-Pipeline schreiben, sondern erhalten einen Überblick über die Prinzipien, die einer guten Software-Architektur zugrunde liegen.

David Eyk
quelle
2

Jeff Plummer "Eine flexible und erweiterbare Architektur für elektronische Spiele":

http://members.cox.net/jplummer/Writings/Writings.htm

Schöner Überblick und Vergleich verschiedener Spielarchitekturen.

oben rechts
quelle
1
Diese Seite ist nicht erreichbar, aber die Seite ist zusammen mit der 380-seitigen These, die Plummer verfasst hat, über archive.org verfügbar. Es ist leicht zu lesen und für Anfänger sehr informativ!
Philip
1

Ich denke, für das allgemeine Architekturwissen sind Erfahrung / Versuch / Irrtum die wichtigsten Ressourcen.

Da sich die Gesamtarchitektur je nach Art des Spiels, das Sie schreiben, so stark ändert, ist es am besten, Ressourcen / Dokumente zu Entity-Systemen / Engines / Skripten / usw. zu betrachten und sie zu etwas zusammenzufügen, das in Ihrer eigenen Anwendung eine Bedeutung hat lernen.

Das heißt, ich mag die Bücher mit den Game Programming Gems sehr, um die einzelnen Komponenten, die Sie in Ihren Spielen verwenden können, zu vertiefen. Trotzdem verwende ich immer noch viele der darin veröffentlichten Ideen für meine beruflichen Aktivitäten sowie für mein Hobby -Code.

Rob Ashton
quelle
0

Szenengraphen ftw. Diese können sowohl für die Spielelogik als auch für das Rendern verwendet werden, und Sie können damit Ihre Pipeline wirklich optimieren. Wenn Sie sie verwenden möchten, möchten Sie dies von Anfang an tun.

Tenpn
quelle
Wenn Sie "einen dieser" Ego-Shooter machen möchten, wählen Sie "Scene Graph". Wenn Sie Spiele machen möchten, verwenden Sie Ihr Gehirn. (Ich benutze Szenendiagramme zum Unterrichten, aber niemals für Produktionscode.)
Andreas
1
Möchtest du das erweitern oder einen Link bereitstellen?
Am
TomF spricht dort über Grafiken für Grafiken, und seine Kritik basiert auf Grafikanwendungen. Bei dieser Frage ging es um die allgemeine Spielarchitektur, und in diesem Kontext spreche ich über Szenen-Grpahs. Die Abhängigkeiten zwischen Pathfinding, Streaming, UI-Nachrichtenhandlern und Audio sind während der gesamten Lebensdauer Ihres Spiels statisch. Im Allgemeinen werden sie jedoch nicht verstanden, oder wenn sie nicht im Code ausgedrückt werden, können Sie diese Abhängigkeiten nicht verwenden, um einen Thread zu erstellen. Hier kommen
Szenendiagramme ins Spiel
0

Eine interessante Quelle für spielerisches Wissen, auf die ich kürzlich aufmerksam geworden bin, ist Penny Arcade - Extra Credits . Sie sind in Form von kurzen (~ 5 Minuten) wöchentlichen Videos. Sie haben eine Vielzahl von Themen behandelt, die alle unter dem obigen Link angezeigt werden können.

ChargingPun
quelle
Ich glaube nicht, dass sie sich wirklich mit Spielarchitektur beschäftigen.
Kylotan