Ein Programmierparadigma, bei dem Spielobjekte (Entitäten) aus Komponenten bestehen und von Systemen bearbeitet werden. Jede Entität ist eine ID, die auf bestimmte Komponenten verweist.
Wir gehen vom grundlegenden System-Komponenten-Entitäten-Ansatz aus . Lassen Sie uns Assemblagen (Begriff aus diesem Artikel abgeleitet) nur aus Informationen über Komponententypen erstellen . Dies geschieht dynamisch zur Laufzeit, genau wie wir einer Entität nacheinander Komponenten hinzufügen / entfernen würden, aber nennen wir es einfach genauer, da es sich nur um …
Ich mache ein Spiel, das mit dem Entity-Component-Paradigma entworfen wurde und Systeme verwendet, um zwischen Komponenten zu kommunizieren, wie hier erläutert . Ich habe den Punkt in meiner Entwicklung erreicht, an dem ich Spielzustände hinzufügen muss (z. B. Pause, Spielen, Levelstart, Rundenstart, Spielende usw.), bin mir aber nicht sicher, wie …
Hintergrund: Ich entwerfe ein einfaches 3D-Render-System für eine Architektur vom Typ eines Entitätskomponentensystems unter Verwendung von C ++ und OpenGL. Das System besteht aus einem Renderer und einem Szenendiagramm. Wenn ich die erste Iteration des Renderers abgeschlossen habe, verteile ich möglicherweise das Szenendiagramm in der ECS-Architektur. Im Moment ist es …
Meine Frage lautet: Wie würde man globale Kontextdaten speichern, dh. Weltdateninformationen, aktuelle Weltzeit usw. in einem Entitätskomponentensystem? Ich denke daran, ein offenes Weltsimulationsspiel im Stil einer Zwergenfestung in C ++ zu entwickeln. Ich habe nur zum Spaß eine Spiel-Engine im Stil von Entity-Komponenten erstellt und versuche derzeit herauszufinden, wie ich …
Wenn eine Entität keinen expliziten 'Typ' hat (z. B. Player) und lediglich eine Sammlung von Komponenten ist, wie identifiziere ich die Entitäten, an denen meine Systeme arbeiten sollen und nicht? Zum Beispiel kollidieren bei einem Pong-Spiel sowohl das Paddel als auch der Ball mit den Fenstergrenzen. Die Kollisionsbehandlungssysteme sind jedoch …
Derzeit stehe ich vor folgendem Problem: Ich versuche, einen Pong-Klon mithilfe eines Entity-Component-Systems (ECS) zu schreiben . Ich habe das "Framework" ganz alleine geschrieben. Es gibt also eine Klasse, die die Entitäten mit allen Komponenten verwaltet. Dann gibt es die Komponentenklassen selbst. Und zuletzt gibt es meine Systeme, die nur …
Ich versuche, ein komponentenbasiertes Entitätssystem für Lernzwecke zu entwerfen (und später für einige Spiele zu verwenden), und ich habe einige Probleme beim Aktualisieren von Entitätszuständen. Ich möchte keine update () -Methode in der Komponente haben, um Abhängigkeiten zwischen Komponenten zu vermeiden. Was ich derzeit im Sinn habe, ist, dass Komponenten …
Okey, was ich bisher weiß; Die Entität enthält eine Komponente (Datenspeicherung), die Informationen wie enthält; - Textur / Sprite - Shader - etc. Und dann habe ich ein Renderer-System, das all dies zeichnet. Was ich aber nicht verstehe, ist, wie der Renderer gestaltet werden soll. Sollte ich eine Komponente für …
Damit Komponenten in der Lage sind, jeden Frame zu aktualisieren (und diese Funktionalität aus Komponenten herauszulassen, die nicht benötigt werden), kam mir die Idee, eine UpdateComponent-Komponente zu erstellen. Andere Komponenten wie MovableComponent(die Geschwindigkeit halten) würden von der IUpdatableabstrakten Klasse erben . Dies erzwingt MovableComponentdie Implementierung einer Update(gametime dt)Methode und einer …
Ich habe kürzlich gefragt, wie Entitäten von ihrem Verhalten getrennt werden sollen, und die Hauptantwort, die mit diesem Artikel verknüpft ist: http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/ Das ultimative Konzept, über das hier geschrieben wurde, ist das folgende: OBJEKT ALS REINE AGGREGATION. Ich frage mich, wie ich mit C # Spielentitäten als reine Aggregation erstellen …
Ich mache ein Spiel, das komponentenbasierte Spielobjekte verwendet, und es fällt mir schwer, eine Möglichkeit für jede Komponente zu implementieren, mit ihrem Spielobjekt zu kommunizieren. Anstatt alles auf einmal zu erklären, werde ich jeden Teil des relevanten Beispielcodes erklären: class GameObjectManager { public: //Updates all the game objects void update(Time …
Für mein aktuelles Projekt habe ich ein komponenten- / entitätsbasiertes System implementiert , das im Wesentlichen den meisten Best Practices in diesem eher undefinierten Bereich folgt . Also habe ich (leicht erweiterte) Entitäten erhalten , die im Grunde eine intID, einen für Menschen lesbaren Namen, eine std::mapder Komponenten und einen …
Ich bin ziemlich neu in der Idee von Entitätssystemen, nachdem ich eine Menge Dinge gelesen habe (am nützlichsten dieser großartige Blog und diese Antwort ). Obwohl ich ein wenig Probleme habe zu verstehen, wie einfach es ist, die Position eines Objekts durch eine undefinierte Anzahl von Quellen zu manipulieren. Das …
Die Frage ist ziemlich selbsterklärend: Löst die Mehrfachvererbung nicht alle Probleme, die auch Entitätssysteme lösen? Ich habe mich gerade an einen Begriff erinnert, der "Mehrfachvererbung" genannt wird, und der viele Probleme zu lösen scheint, die die klassische Vererbung mit sich gebracht hat.
Hinweis: Ich programmiere dies in Javascript, aber es sollte größtenteils sprachunabhängig sein. Ich denke darüber nach, meinen Motor auf einen ECS-basierten umzustellen. Ich habe die Grundidee ( Hinweis: Das ist falsch, siehe meine Antwort ): Entitäten sind Spielobjekte. Komponenten sind Teile der Funktionalität ( reactToInput()) oder des Zustands ( position), …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.