Als «entity-system» getaggte Fragen

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.

2
Stroring von Komponenten in Arrays (Entity Component System)
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 …

5
Wie kann ich eine Bitmaske, die größer als 64 Bit ist, effizient für die Überprüfung der Komponentenexistenz implementieren?
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 …

2
Erstellen Sie eine Entität aus einer Vorlage in einer komponentenbasierten Engine
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 …

3
Modellierung von „Singletons“ in einem Entity-Component-System
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 …

3
Entity Component System für HUD und GUI
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 …


2
Partikel / Instanzgruppen in einem Entitäts- / Komponentensystem
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 …

2
Buch über Entity System? [geschlossen]
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 …

4
Überschreiben des Komponentenverhaltens
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 …

3
Namensprobleme bei der komponentenbasierten Entity-System-API
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 ) ); …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.