Spielsatz Darkage
Registrierdatum: 01.03.2005, 13:47
Beiträge: 1846
 |
Wie läuft die Schadenberechnung bei Kommaschäden ab?
Ist 0,9 ein Punkt Schaden oder 0, wie siehts mit 0,1 aus?
Ich habe nämlich immer noch große Probleme, Splitterschaden zu balancieren. Die Variante "1-3 Schaden pro Splitter" ist da vllt. der einzig wirklich gangbare Weg. |
Admin, Spielsatz GalWar
Registrierdatum: 31.08.2005, 21:51
Beiträge: 5596
 |
Kannst Du das vielleicht mal genauer beschreiben?
Soweit ich die Formeln im Kopf habe sind alle Schadenswerte als integer definiert, d.h. da gibt es keine Kommazahlen... |
Spielsatz Darkage
Registrierdatum: 01.03.2005, 13:47
Beiträge: 1846
 |
Genauer beschreiben - da muss ich mir erst ein beispiel ausdenken :D
Also, der Gegner hat Widerstand 10. Neben ihm schlägt ein Splitterprojektil ein.
Hat das Projektil 10 Splitter, treffen ihn vllt. 2
Hat es 100, sind es 20.
Bei der ersten Variante brauchst du, um 20 Schaden anzurichten 10 schaden pro Splitter: Also 20 Stärke und Durchschlag, wenn ich richtig bin.
bei der zweiten brauchst du für 1 Schaden pro Projektil z.B. Stärke 2 und Durchschlag 20.
Soweit so gut.
Der nächste Gegner hat Panzer 11.
Damit würde der Schaden wohl bei 0,9 liegen. Richtet das Projektil immer noch einen Schadenspunkt an, oder 0?
Denn das Problem ist, dass beim area-effekt bei einem Volltreffer alle (oder fast alle) das Ziel treffen. Das ist ja auch nicht falsch, nur wird der Schaden unbalancierbar hoch, wenn du ihn nach der ersten Variante berechnest, denn dann brauchst du so viele Splitter, damit auch ein naher Einschlag mit ausreichender Wahrscheinlichkeit wenigstens 1 Mal trifft, dass etwa 100 Schaden am Ziel ankommen.
Bsp:
10 Schaden, 30 Durchschlag und 30 Splitter erledigen bei Volltreffer jedes Ziel in meinem Spielsatz - einschließlich eigener Soldaten. Zwei Felder daneben trifft aber im Schnitt höchstens ein Splitter - minimale Auswirkung.
Die einzige eventuell realistische (und wirklich spielbare) Lösung wäre also, den Schaden gering und die Splitterzahl hoch zu machen - falls überhaupt. |
Programmierer, allgemeines
Registrierdatum: 06.06.2004, 17:19
Beiträge: 3186
 |
function TISOObject.GetDamagePoints: Integer;
begin
if fPower=0 then
result:=0
else
result:=fAttackStrength-round(fAttackStrength*(fResistance/fPower));
end;
... es wird also ganz normal gerundet (bei 0,9 also z.B. auf 1, bei 0,4 auf 0) |
Spielsatz Darkage
Registrierdatum: 01.03.2005, 13:47
Beiträge: 1846
 |
Gut, dann werde ich mal umstellen und hoffen, dass eine Version mit niedrigem Schaden und hohem Durchschlag verwendbarer ist.
Ansonsten ist dieser area-effekt nämlich ziemlich nutzlos.
Eventuell wäre auch eine andere Splitterverteilung denkbar - vllt. nur in einer Ebene. Nicht unbedingt realistisch von der Flugbahn her, aber von den Auswirkungen vielleicht. |