Hi zusammen,
mir stellt sich momentan noch die Frage, wie ich am besten die Datenstruktur meiner "Business"-Objekte aufbauen.
Ich arbeite momentan an einem Spiel, dass aus Frontend-Sicht im Grunde genommen nur Items kennt. Soll heißen: Ein Krieger wird im Frontend genauso dargestellt, wie eine Kohlemine oder ein Stück Erz. Unterscheiden tun sie sich aber trotzdem:
- Krieger kann angreifen,
- Kohlemine erzeugt Kohle,
- Erz ist eine Ressource.
Nun zu meiner Frage:
Wie bilde ich das ganze im Programmcode ab.
- Ich könnte tatsächlich nur eine Klasse Item nutzen. Dann bräuchte ich aber Komponenten-Klassen, die dem Item zusätzliche Fähigkeiten geben. Ich würde dann zur Laufzeit die Objekte erzeugen und per Prototype-Pattern vervielfältigen.
- Oder ich bau mir eine Vererbungsstruktur auf und am Ende des Baumes existiert wirklich die Klasse Kohlemine oder Erz. Dies erlaubt mir aus meiner Sicht eine bessere Flexibilität, allerdings habe ich dann nicht mehr die Möglichkeit, das Gamesetting zu beeinflussen, ohne den Code neu Compilieren zu müssen.
- Und es gäbe noch einen Mittelweg, bei dem es z.B. die Struktur Item <- Ressource gibt, die dann verschiedene Ausprägungen besitzen, wie Kohle, Erz, Holz etc. Auch hier würde ich dann dass Prototype-Pattern verwenden.
---
So... kann mit Jemand sagen, ob es zu diesem Problem ein Best Practice in der Spieleentwicklung gibt?
Vielen Dank für Eure Antworten!
Schöne Grüße
Nico
mir stellt sich momentan noch die Frage, wie ich am besten die Datenstruktur meiner "Business"-Objekte aufbauen.
Ich arbeite momentan an einem Spiel, dass aus Frontend-Sicht im Grunde genommen nur Items kennt. Soll heißen: Ein Krieger wird im Frontend genauso dargestellt, wie eine Kohlemine oder ein Stück Erz. Unterscheiden tun sie sich aber trotzdem:
- Krieger kann angreifen,
- Kohlemine erzeugt Kohle,
- Erz ist eine Ressource.
Nun zu meiner Frage:
Wie bilde ich das ganze im Programmcode ab.
- Ich könnte tatsächlich nur eine Klasse Item nutzen. Dann bräuchte ich aber Komponenten-Klassen, die dem Item zusätzliche Fähigkeiten geben. Ich würde dann zur Laufzeit die Objekte erzeugen und per Prototype-Pattern vervielfältigen.
- Oder ich bau mir eine Vererbungsstruktur auf und am Ende des Baumes existiert wirklich die Klasse Kohlemine oder Erz. Dies erlaubt mir aus meiner Sicht eine bessere Flexibilität, allerdings habe ich dann nicht mehr die Möglichkeit, das Gamesetting zu beeinflussen, ohne den Code neu Compilieren zu müssen.
- Und es gäbe noch einen Mittelweg, bei dem es z.B. die Struktur Item <- Ressource gibt, die dann verschiedene Ausprägungen besitzen, wie Kohle, Erz, Holz etc. Auch hier würde ich dann dass Prototype-Pattern verwenden.
---
So... kann mit Jemand sagen, ob es zu diesem Problem ein Best Practice in der Spieleentwicklung gibt?
Vielen Dank für Eure Antworten!
Schöne Grüße
Nico