Ich arbeite an einer Bibliothek, um die 2D-Spieleentwicklung mit Scala zu unterstützen. Bisher ist es eine Sammlung hilfreicher Klassen, das Laden von Dateien, die Erkennung von Kollisionen, Bilder, Sprites usw.
Also, wann hört es auf, eine Klassenbibliothek zu sein und fängt an, eine Engine zu sein? Wo genau liegt der Unterschied zwischen nützlichem Framework und einer Game Engine?
terminology
Lanbo
quelle
quelle
Antworten:
Ich denke, die Verwirrung, in die die Leute hier geraten, besteht darin, dass sich das eine im Allgemeinen aus dem anderen zusammensetzt. Was die Leute also wirklich wissen wollen, ist, wenn man genug davon hat, um als das andere betrachtet zu werden.
Noch nie.
Da ist gar nichts.
Lassen Sie mich nun die Antworten erklären. Eine Game Engine besteht aus Klassenbibliotheken. Sie hören nicht auf, Klassenbibliotheken zu sein, nur weil sie sich in einer Spiel-Engine befinden. Eine Bibliothek ist ein nützliches Framework, um einen bestimmten Bedarf innerhalb einer Game-Engine anzugehen. Ein Framework, das die Anforderungen für ein vollständiges Spiel beinhaltet, ist eine Game Engine.
Hier einige Beispiele für Game-Engines:
Und einige Beispiele für Bibliotheken
Hoffe das hilft
quelle
Es gibt wirklich keine konkrete Definition für einen Begriff (oder für den verwandten Begriff "Rahmen" in dieser Angelegenheit). Es gibt Hunderte von verschiedenen Möglichkeiten, die verschiedenen Unterscheidungen in Softwarepaketen zu interpretieren und ihnen Klassifizierungen zuzuweisen.
Ich persönlich betrachte eine "Bibliothek" als etwas, das eine relativ kleine und gezielte Menge an Funktionen bietet, während ein "Framework" mehr oder breitere Funktionen bietet und eine "Engine" die gleiche (oder mehr) und typischerweise eine Menge von Funktionen hat dazugehörige Tools.
Ich habe genug von den persönlichen Interpretationen der gleichen Begriffe anderer Leute gesehen, um mich sicher zu fühlen, was darauf hindeutet, dass eine "Engine" mehr oder mehr Funktionen bietet als eine "Bibliothek" normalerweise ... aber wo Sie diese Grenze für Ihre eigene Software ziehen liegt an Ihnen.
quelle
Dies ist eine schwierige Frage, da die Grenze zwischen Bibliothek und Engine manchmal sehr dünn und verschwommen sein kann. Ich muss sagen, dass eine Bibliothek zu einer Engine wird, wenn sie auf ein bestimmtes Spiel oder eine bestimmte Art von Spiel ausgerichtet ist.
Beispiel: Die Unreal-Engine (oder Source- oder Quake-Engine) wurde für FPS-Spiele entwickelt (sie könnte möglicherweise für andere Spiele verwendet werden, aber Sie würden einige Zeit mit der Arbeit an der Engine verbringen). Ogre3d (oder sogar Directx, SDL oder andere gängige Bibliotheken) kann verwendet werden, um jede Art von Spiel zu erstellen, ohne dass wesentliche Teile des Codes herausgerissen oder umgangen werden müssen.
quelle