Sudden Strike Schadenssystem
Verfasst: 17.04.2007, 14:13
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...
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...