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.
Ich suche nach Möglichkeiten, mein ECS zu verbessern, und ich habe viele Leute gesehen, die vorgeschlagen haben, Komponenten in Arrays zu speichern. Dies scheint großartig zu sein, wenn man den schnellen Zugriff für eine Komponente unter Verwendung der Entitäts-ID und vor allem die schnelle Iteration über Elemente des Arrays (da …
In meiner ECS-Implementierung verwende ich bitweise Operationen (wie in diesem Thread beschrieben und dargestellt ), um einer Entität mitzuteilen, aus welcher Art von Komponenten sie derzeit besteht. Meine EntityKlasse hat also folgendes Mitglied: unsigned long m_CompMask; Die verschiedenen Komponententypen werden dann als definiert enum, deren Elementwerte alle Zweierpotenzen sind: enum …
Für mein Projekt möchte ich komponentenbasierte Entitäten in C ++ verwenden. Meine aktuelle Implementierung gliedert sich in folgende Teile: Systeme - Enthalten eine Karte der Komponenten bestimmter Klassen und bearbeiten diese. Zum Beispiel hat PhysicsSystem einen Vektor von PhysicsComponents. Komponenten - Eine Komponente enthält einige öffentliche Variablen und möglicherweise einen …
Ich schreibe eine grundlegende Asteroids-Implementierung als Übung, um zu lernen, wie man in Entitäten und Komponenten denkt, und das meiste davon ist ziemlich einfach. Aber eine Sache, auf die ich immer wieder stoße, sind Situationen, in denen ein bestimmtes System eine bestimmte Entität / Komponente benötigt und ich weiß, dass …
Dies ist eine sehr grobe Skizze, wie ich die Dinge derzeit entworfen habe. Es sollte zumindest eine Vorstellung davon geben, wie mein ECS derzeit aufgebaut ist. Wenn Sie in diesem Diagramm bemerken, habe ich das HUD grundsätzlich aus dem ECS aufgeteilt. Sie haben ihre eigenen Dinge (HudLayer, HudComponent usw.) und …
Ich mache mich derzeit mit dem Paradigma der Entitätskomponenten vertraut. Nehmen wir zum Beispiel ein Kollisionssystem, das erkennt, ob Entitäten kollidieren und ob sie explodieren. Das Kollisionssystem muss also die Kollision basierend auf der Positionskomponente testen und dann den Status dieser Entitäten auf Explosion setzen. Was aber, wenn der "Effekt" …
Ich habe kürzlich mit einem Entity / Component / System-Design gespielt und bin auf ein paar Stolpersteine gestoßen. Instanz Nehmen wir an, ich habe ein paar hundert "Dinge" (Asteroiden, Hühner, was auch immer), die mit Instanzen gezeichnet werden. In einer klassischen Komponentenhierarchie hätte ich ein Spielobjekt, das den einzelnen Instanzindex …
Geschlossen . Diese Frage muss fokussierter sein . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so, dass sie sich nur auf ein Problem konzentriert, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 2 Jahren . Ich bin wirklich interessiert an den Fähigkeiten von …
Ich habe darüber nachgedacht, wie das Überschreiben von Verhaltensweisen in einem komponentenbasierten Entitätssystem implementiert werden kann. Ein konkretes Beispiel: Eine Entität hat eine Heidekomponente, die beschädigt, geheilt, getötet usw. werden kann. Die Entität hat auch eine Rüstungskomponente, die den Schaden begrenzt, den ein Charakter erleidet. Hat jemand zuvor solche Verhaltensweisen …
Meine Engine verwendet intern ein komponentenbasiertes Entitätssystem, und ich möchte es für die Skripterstellung an Lua binden. Jetzt möchte ich Leute retten, die Skripte für die Schreibarbeit schreiben. In C ++ gehen Sie wie folgt vor, um die Position einer Entität festzulegen: pEntity->GetComponent< CPoint >()->SetPos( Vector( X, Y ) ); …
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.