Du bist nicht angemeldet.

Werbeanzeige

BlueCobold

Community-Fossil

Beiträge: 10 859

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

31

06.01.2015, 16:23

Vergiss Bits. Ehrlich.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Julién

Alter Hase

  • »Julién« ist der Autor dieses Themas

Beiträge: 723

Wohnort: Bayreuth

Beruf: Student | Hilfswissenschaftler in der Robotik

  • Private Nachricht senden

32

06.01.2015, 18:18

Ich habe hier ein Implementation, wie ich es machen würde.
Bisher ist sie noch nicht ausführlich getestet worden, daher sind da ziemlich wahrscheinlich Bugs drin. Ich würde auf NullPointerException ect. tippen.


Einfach mal in den Raum geworfen: https://github.com/Noire-Project/Noire
I write my own game engines because if I'm going to live in buggy crappy filth, I want it to me my own - Ron Gilbert

buggypixels

Treue Seele

Beiträge: 125

Wohnort: Meerbusch

Beruf: Programmierer

  • Private Nachricht senden

33

07.01.2015, 07:41

Das ist deine Sicht der Dinge. Als erstes finde ich es unglücklich, dass Entity überhaupt eine Klasse ist. Für mich heißt Entity:

C-/C++-Quelltext

1
typedef unsigned int Entity;

Dann benötigt Entity das Objekt World und delegiert dann alle Aufrufe auch an das Objekt. Finde ich eher unglücklich.
Das mit der ComponentMask kann man so machen. Ist das aber in der Praxis extrem umständlich. Ich hatte auch mal
einen ähnlichen Ansatz ausprobiert. Sah leider nur in der Theorie nett aus.
Also mit deinem Ansatz verlierst du viele der Vorteile die ein ECS bringen kann. Von Data Driven Design oder auch gerade Performancegewinn entfernst du dich sehr stark mit dem Ansatz.

Schorsch

Supermoderator

Beiträge: 5 206

Wohnort: Wickede

Beruf: Student

  • Private Nachricht senden

34

07.01.2015, 10:14

Ich denke man kann fest halten dass zumindest wir hier ziemlich unterschiedliche Ideen davon haben wie man so ein System denn nun umsetzen kann/sollte bzw was die Anforderungen daran sind. Vielleicht sollten wir es dabei belassen. Am sinnvollsten ist es für Julién denke ich eh wenn er sich einfach hin setzt und das System in einem Spiel unter bringt. Dann merkt er selbst wie seine Ideen dazu so funktionieren. So Konzepte lernt und versteht man meiner Meinung nach auch erst richtig wenn man sie selbst ein paar mal angewandt hat und gesehen hat was daran gut funktioniert und was man doch lieber anders löst.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

kiba

Alter Hase

Beiträge: 327

Wohnort: NRW

Beruf: Azubi: Fach-Info. Anw.

  • Private Nachricht senden

35

15.01.2015, 19:41

Falls du es in C++/C++11 machst, versuchst mit: https://github.com/alecthomas/entityx
Nur so zum anschauen, es ist klein , Übersichtlich und paar Beispiel Projekte gibts auch.

Werbeanzeige