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
Spielt der HP Wert denn überhaupt irgendeine Rolle, solange er Größer 0 bleibt? Ansonsten einfach erstbeste Einheit nehmen und auf minimal 1 reduzieren, wenn noch Schaden übrig weiter mit irgendeiner anderen.
Administrator
Meine Frage, warum die bestmögliche Performance benötigt wird, hast du noch nicht beantwortet.
Administrator
Was hat man denn davon, wenn es gleichmäßig verteilt ist? Und was genau bedeutet dann "gleichmäßig"?Spielt der HP Wert denn überhaupt irgendeine Rolle, solange er Größer 0 bleibt? Ansonsten einfach erstbeste Einheit nehmen und auf minimal 1 reduzieren, wenn noch Schaden übrig weiter mit irgendeiner anderen.
Es soll wenn möglich gleichmäßig verteilt sein.
Premature optimization ...
Ich bezweifle ernsthaft, dass du einen Unterschied zwischen einer primitiven Lösung und einer idealen Lösung messen, geschweige denn merken könntest - auch nicht bei 1000 gleichzeitig gehosteten Spielen. Da bekommst du an ganz anderen Stellen Probleme, nicht bei so etwas Trivialem, das höchstens ein paar Mal pro Sekunde auftritt. Und warum soll die rekursive Lösung schlecht sein? 10 ist doch keine "tiefe rekursive Verschachtelung". Zudem geht es auch iterativ.
Aber bevor du eine richtige Messung durchgeführt hast und siehst, dass dein Spiel genau an diesem Punkt zu viel Zeit verbrät, solltest du dir keinen Kopf darüber machen. Implementiere es einfach irgendwie (natürlich nicht total dämlich), so dass es funktioniert. Mit Intuition liegt man bei solchen Dingen oft meilenweit daneben. Man denkt, dass man Gott weiß wie viel Zeit verschenkt, aber letztendlich wirst du es kaum messen können.
Wenn du so akribisch optimierst, dann sparst du bei deinen Datenstrukturen sicherlich auch jedes einzelne Byte an RAM, das sich irgendwie einsparen lässt?
Was hat man denn davon, wenn es gleichmäßig verteilt ist? Und was genau bedeutet dann "gleichmäßig"?Spielt der HP Wert denn überhaupt irgendeine Rolle, solange er Größer 0 bleibt? Ansonsten einfach erstbeste Einheit nehmen und auf minimal 1 reduzieren, wenn noch Schaden übrig weiter mit irgendeiner anderen.
Es soll wenn möglich gleichmäßig verteilt sein.
Wie wäre eine Alternative ähnlich zu Diablo3.
Alle Monster einer Gruppe teilen sich einen großen Lebenspunktepool.
Abhängig von diesem Pool berechnest du dann das Leben der einzelnen Monster.
Lebenspool: 1000
Anz. Monster: 5
Leben einzelner Monster: 200.
Beispiel:
Schaden: 100.
Lebenspool: 1000 - 900.
Leben einzelner Monster: 180.
usw.
Sollen deine Monster alle gleichzeitig sterben?
Zum Thema Performance, in meiner Firma haben wir teilweise eine sechsstellige Anzahl von Objekten mit denen verschiedene rechen aufwändige Prozesse durchlaufen werden und das ganze geht in wenigen Sekunden. Und niemand hat bei der Implementierung auf Performance geachtet. Optimierungen werden nur durchgeführt, wenn Dinge merklich schlechter werden.
Damals in der Uni jedoch wurde einem immer eingetrichtert alles zu optimieren... in der Realität ist das aber ohne große finanzielle Verluste nicht zu bewerkstelligen... und vor Allem nicht nötig.
Verstehe nicht, was es an gleichmäßig nicht zu verstehen gilt.
Werbeanzeige