Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Community-Fossil
Änder mal eine klasse wo andere sicj durch vererbung dran bedienen. Die subklassen werden dabei vermutlich ungewollt beeinflusst.
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Hey danke schonmal für eure Antworten!
Allerdings finde ich die Idee von component based entity system sehr interessant und würde es ansich ganz gerne benutzen, aber ein paar Dinge sind mir da noch nicht ganz klar.
Folgendes Szenario: Anngenommen ich habe 100 Verschiedene NPC's welche alle verschiedene Bewegungen, Aktionen, etc. benötigen, dann hätte ich bei der "normalen" Methode mit Basisklasse/Interface ja eigentlich genau 100 Klassen, welche alle jeweils einen NPC darstellen. Gut, und bei component based entity system müsste ich doch dann eigentlich viel mehr Klassen schreiben oder? Also so wie ich es verstanden habe, ist ja jede Komponente eine Klasse, und dann bräuchte ich doch um diese 100 verschiedenen Bewegungsabläufe und Actionen zu definieren, jeweils eine neue Komponente. Daraus würde dann ja folgen, dass ich mindestens das Doppelte an Klassen hätte.
Gut man könnte Komponenten schreiben, welche dann das Bewegungsmuster übergeben bekommen, aber das hängt ja auch immer nen bissel vom Spiel ab.
Hab selbst in c++ ein komponentensystem gemacht. TransformComponent ist bei unity fedter bestandteil jedes gameobjects. Spri h jedes gameobject hat immer teine transformComponent. Eine MeshRenderConponent ist nützlich. PhysicComponent. Particlesystemcomponent. Particleemittercomponent. Lightcomponent. Logic kannst du leicht mit componenten implementieren. Die update methode innerhalb der componete wird per frame aufgerufen.
Ietzlich ist aber auch noch ein message system ins compinentensystem uu implementieren. So können componenten leicht miteinanderbkommunizieren. Klar man sie auch direkt aus der componente ansprechen aber ein message system schickt nachricht raus und alle componenten die es interessiert koennen darauf reagieren.dadurch hat man eine sehr loose kopplung zwischen den einzelnen komponenten. Hoffe das verwirrt nicht alzu sehr. Vllt erstmal eon komponentensystem bauen. Du wirst es lieben.
Werbeanzeige