Seite 1 von 1

Sudden Strike Schadenssystem

Verfasst: 17.04.2007, 14:13
von cougar6
Hallo,

ich möchte mal die an anderer Stelle von Tijn gestellte Frage nach der Berechnung des Schadens bei Sudden Strike aufgreifen und ein paar Dinge zum Schadenssystem des Spiels erklären (soweit ich es jedenfalls verstanden habe...)

Die abgezogenen Hitpoints hängen im wesentlichen von vier Faktoren ab:

* Waffenschaden
* Panzerung des Ziels
* Einstellungen der Datei "HITSNAMES"
* Einstellung der Datei "MISC"

1. Waffenschaden

Das erklärt sich ja von selbst. Man stellt einen Wert in der Einheitenbeschreibung ein und teilt eine sogenannte shot_id zu. Jede shot_ID ist einer "Schadensart" zugeteilt. (z.B. PIERCE oder EXPLOSIVE)
Die Parameter für diese Schadensart werden dann in HITSNAMES und MISC definiert.
Das könnte dann so aussehen:

shot_id 75mm_KWK
shot_damage 50 50

2. Panzerung des Ziels

Auch fast selbsterklärend. Jeder Schadensart werden 6 Werte zu geteilt, für Front-, Seiten- und Heckpanzerung.der vordere Wert zählt bei 0 und der zweite bei 100% Erfahrung. zu beachten ist, daß der maximale Wert für Panzerung 256 ist.
Das sieht dann z.B. so aus:

armor PIERCE 100 100 49 49 10 10

(ich benutze selbst keinen Erfahrungsgewinn für Panzerungswerte, deshalb sind hier die Werte gleich)

3. Einstellungen in "HITSNAMES"
Diese Datei definiert die Grundparameter für die Schadensarten. Man kan eigene Schadensarten hinzufügen. Ich kann nicht alle Werte vollständig erklären, aber hier schon mal das wichtigste.

- name rad step typ add

PIERCE 2 1 all 1

name definiert die Schadensart.

rad gibt den "Trefferradius" vor, gemessen in Pixeln. Jeder, der sich schon mal eine Einheitenbeschreibung angesehen hat, konnte den Wert "radius" darin finden. Dieser gibt die rechnerische Größe einer Einheit im Spiel an. Wie groß dieser Wert ist, hängt vom Geschmack des Modders ab und wird verschieden gehandhabt. Als Anhaltspunkt kann man sagen, daß jedes "Geländefeld" 32 Pixel mißt.

Das ganze Sytem funkioniert so, daß bei Beschuß überprüft wird, ob sich die beiden imaginären Kreise mit den Radien der EInheit und des Geschosses schneiden. Ist das so, wird Schaden ausgelöst.

typ stellt unter anderem ein, ob es sich um boden oder Luftbeschuß (AIR) handelt.
Zu den anderen Werten muß ich noch ein wenig testen.

4. Einstellungen in "MISC"
Dies ist der Kern des Kampsystems. Hier wird definiert, welcher Schaden, wieviel Panzerung durchschlägt. Es wird eine einfache lineare Beziehung aufgestellt.
Das sieht dann so aus:

shot_damage pierce 1 256
shot_armor pierce 1 256
shot_delta pierce 1

Das bedeutet, daß 1 Punkt Schaden 1 Punkt Panzerung durchschlägt und 256 Punkte Schaden 256 Punkte Panzerung. da höhere Werte als 256 nicht zulässig sind, macht es keinen Sinn hier mehr einzutragen.
Abhängig davon, wie viele Hitpoints die Objekte im Spiel haben sollen, kann man die Steigung der imaginären Gerade verändern:

shot_damage pierce 10 2560
shot_armor pierce 1 256
shot_delta pierce 1

Hier hat sich der notwendige Wert um 1 Punkt Panzerung zu durchschlagen schon auf 10 erhöht, usw.

Der Clou ist aber der Wert Shot_delta. Dieser stellt nämlich ein, wieviel Schaden nach Überwinden der Panzerung gemacht wird. 1 bedeutet, daß der VOLLE Schaden, wie er in der Beschreibung der angreifenden Einheit defiiert wurde, auf das ziel angewendet wird. Wird dieser Wert erhöht, wird der Schaden verringert. Für unser Beispiel vom Anfang:

Ein Panzer mit 200 Hitpoints wird von der shot_id 75mm_KWK mit 50 Punkten Schaden und den oben beschriebenen Einstellungen angegriffen:

Treffer in die Front (100 Panzerung): kein Schaden
Treffer in die Seite (49 Panzerung): 50 punkte Schaden
Treffer in das Heck (10 Panzerung): 50 Punkte Schaden

Man kann also frontal so lange drauf ballern, wie man will. Seitlich und von hinten reichen 4 Treffer aus, da Ziel zu vernichten.

Wie man sich vorstellen kann, gib es unendlich viele Kombinationen von Einstellungen und Werten. Man kann auch sekundären Schaden über die Explosionsdateien einbringen, oder den Wert Delta vergrößern, um weniger Schaden nach Durchschuß zu bekommen, da ist dann der persönliche Geschmack gefragt.

Auch scheint das System nicht vollständig ohne fehler zu funktionieren. Es kam schon vor, daß Treffer in die Bugpanzerung, eigentlich zu gut gepanzert, Schaden machten und Hecktreffer weniger Schaden machten als erwartet, wobei dabei Explosionen im SPiel waren...

Verfasst: 17.04.2007, 17:07
von kopfabhassan
hast du sehr gut erklärt jetzt kapier ich einiges!!!!!!!!

DANKE SCHÖN

und bitte mehr davon

Verfasst: 17.04.2007, 18:46
von pTah
jop super!
solche sache fehlen noch. vielleicht bekommt ja der ein oder andere lust aufs modden und wissenserhalt is immer gut!!! :)

Verfasst: 17.04.2007, 20:03
von Ciceri
top! schau mir das ganze kommende woche nach einigen prüfungen genauer an :D

Verfasst: 17.04.2007, 22:30
von Tijn
Sauber Klaus, danke.

Also theoretisch sollte es mit diesen Formulen möglich sein eine Tabelle zusamen zu stellen mit Trefferauswirkungen bei unterschiedlichen Panzern. Zb, bei Treffer von Panther frontal auf T-34 verliert der T-34 min/max x hitpoints.

Ich werde es mal versuchen ob sich so etwas machen lasst fur RWM.

Re: Sudden Strike Schadenssystem

Verfasst: 15.02.2014, 00:12
von Blakeswort
Eigentlich ist es nicht meine Art, alte Posts aus der Versenkung zu holen doch hoffe ich auf Hilfe in dem Punkt.

Einstellungen in "MISC"
Da hier der generelle Schaden berechnet wird, welcher bei einem Durschlag durch den Armor erzeugt wird habe ich verstanden.

Nun stehe ich jedoch vor der Frage, wie der shot Delta Wert einfluss auf den Schaden nimmt, welcher eintritt, wenn die Panzerung durschlagen wird.

Shot Delta 1 hab ich verstanden erzeugt vollen Schaden und wie staffelt sich diese Berechnung ?

Ich hab zwar die Möglichkeit mit zwei Pcs eine Multiplayer Schusstest Aktion durchzuführen, jedoch hoffe ich, dass sich jemand bereits mit diesem Thema ausseinander gesetzt hat und mir sagen kann, wie der shot_delta sich genau auf den Schaden auswirkt.

Btw ich brauch nur die Multiplayer Schadensdaten.

Würde mich freuen, wenn mir jemand helfen könnte.

LG Blake