Schildregeneration Combat-Simulator-Tests

Alle Diskussionen über Schiffe werden in diesem Bereich ausgetragen
Benutzeravatar
rainer
Vizeadmiral
Vizeadmiral
Beiträge: 2898
phpbb forum styles
Registriert: Mittwoch 12. September 2007, 10:57

Re: Schildregeneration Combat-Simulator-Tests

Beitrag von rainer »

HerrderGezeiten hat geschrieben:RL geht klar vor
genau - schön, dass Du wieder mehr Zeit hast, Vuto :)
Anonymissimus
Flottenkapitän
Flottenkapitän
Beiträge: 990
Registriert: Freitag 14. Mai 2010, 14:39

Re: Schildregeneration Combat-Simulator-Tests

Beitrag von Anonymissimus »

Vuto hat geschrieben:Rotharianerehrenwort.
Kayrinehrenwort, bitte
Benutzeravatar
Vuto
Flottenkapitän
Flottenkapitän
Beiträge: 515
Registriert: Donnerstag 15. Juli 2010, 17:04

Re: Schildregeneration Combat-Simulator-Tests

Beitrag von Vuto »

Anonymissimus hat geschrieben:
Vuto hat geschrieben:Rotharianerehrenwort.
Kayrinehrenwort, bitte
Ne ne, bei einem Kayrinehrenwort müsste ich mich am Ende sogar an mein Wort halten.
Da gefällt mir die recht dehnbare Definition von Ehre unserer insektoiden Freunde besser. :wink:
Benutzeravatar
Vuto
Flottenkapitän
Flottenkapitän
Beiträge: 515
Registriert: Donnerstag 15. Juli 2010, 17:04

Re: Schildregeneration Combat-Simulator-Tests

Beitrag von Vuto »

Da ich noch ein paar Posts hinterherhinke antworte ich euch einfach nacheinander wenn ich gerade Zeit dazu habe.
Nobody6 hat geschrieben:1. Warum nicht vorhandene natürliche Vorgänge als Vorbild nehmen?

Das wäre dann die e-Funktion und der Ladezustand der Schilde über die Zeit entspräche z.B. dem Ladevorgang eines Kondensators:

Code: Alles auswählen

Schild(t):= maxSchild * (1 - exp(-t/Tau))
Hierbei ist "Tau" die Schildtypabhängige Zeitkonstante (Nach 3 bis 7 Tau wären die Schilde wieder fast aufgeladen).
Es wäre gut, wenn die Formel direkt verwenden könnte um die Rundungsfehler, die durch die Integer-Rechnung entstehen, zu vermeiden.

Die Ladegeschwindigkeit (also das, was bisher verwendet wird) wäre

Code: Alles auswählen

RpT(Schild):= (maxSchild - Schild)/Tau
Danke, mein Abitur ist wohl schon zu lange her. :?
Damit kommt man auf das gleiche Ergebnis wie bei Test v1.4, nur spart man sich für jeden Prozentbereich einen eigenen Modifikator zu definieren.
Ich werde das so übernehmen.
Nobody6 hat geschrieben:2. Etwas anderes was ich in Zukunft gerne sehen würde ist, dass Schilde nachdem sie einige Zeit Ausgefallen sind nicht für den Rest des Gefechtes aus bleiben, sondern mit einiger Verzögerung reaktiviert werden. vlg. Equinox. Ich würde die stärke die die Schilde nach der Reaktivierung haben vom Level abhängig machen, z.B. 10% pro Level. Ein Level 0 Schilde würde leer wieder beginnen und Level 10 oder höher wäre voll aufgeladen.
Die Reaktivierung würde mir auch gefallen. Möglichkeiten zur Umsetzung fallen mir gerade zwei ein:
1. Reparaturchance: Die Schilde haben jeden Tick die Chance (Wert je nach Schildtyp) wieder zu starten.
2. Reparaturdauer: Ticks werden gezählt und nach X Ticks starten die Schilde wieder.
Eine Kombination aus beiden wäre auch möglich: X Ticks warten und dann die Chance zur Reaktivierung.
Nobody6 hat geschrieben:3. Was ist mit Schilden deren Wert z.B. durch Anomalien erhöht wurde? Ich finde die sollten keinen zusätzlichen Vorteil bekommen, also dieselbe absolute Regeneration haben.
Ich weiß nicht ob der ursprüngliche Schildwert gespeichert wird, das muss ich mal recherchieren. Aber eigentlich hätte ich auch kein Problem damit ihnen den Regenerationsbonus zu gewähren.
Nobody6 hat geschrieben:P.S.:
Vuto, wenn du gerade sowie mit dem Simulator "rumspielst" wäre es nicht eine gute Idee dafür zu sorgen, dass der Combat-Simulator und das Spiel aus denselben Dateien erzeugt werden bzw. die selben "Packages" verwenden (z.B. Combat.cpp*)?
Eine weitere Idee: den Simulator als eine Funktion schreiben die die Selben parameter werwendet und erzeugt wie die Funktion, die Spiel-intern aufgerufen wird um die Kämpfe durchzuführen - dann ließe er sich auch durch das Spiel starten und man könnte die Kämpfe beobachten!

* den Namen habe ich nur geraten
Ja, sinnvoll wäre das, denn die Dateien weichen inzwischen teilweise stark voneinander ab. Der Simulator zeigt also ein ziemlich verzerrtes Bild der Realität.
Leider sind die Veränderungen so umfangreich und komplex, dass ich mir das im Moment nicht zutraue. Vermutlich wäre es sogar einfacher den Simulator zu großen Teilen neu zu erstellen als so viel hineinzuflicken.
Vielleicht kann ich das irgendwann, ich gebe selten die Hoffnung ganz auf. :)
Benutzeravatar
Vuto
Flottenkapitän
Flottenkapitän
Beiträge: 515
Registriert: Donnerstag 15. Juli 2010, 17:04

Re: Schildregeneration Combat-Simulator-Tests

Beitrag von Vuto »

HerrderGezeiten hat geschrieben:Das Ergebnis sieht nicht schlecht aus (1.4).
Bei Einzelkampf oder bei wenigen Schiffen die langsam sind, gibt es noch immer wegen der extremen Feuerpausen sehr viel Aufladung. (wohl nicht zu vermeiden)
Die Ergebnisse der Kämpfe (Rassenvergleich) ist nicht so das Problem, dafür müssten halt die Schiffe leicht angepasst werden.
-> ist ja geplant

Ich glaube das die Regeneration halt noch ein bisschen zu hoch ist bei 1.4 , Schiffe mit starken Schilden scheinen für 1-2 schwache unknackbar (auch falls sie nicht zerstört werden!) da die Regernation weiter unten mit den Pausen ausreicht.

Matilda gegen ein langsames Schiff mit "nur viel" Torpedobewaffnung sollte auch wieder zu einem Hüllenplatzer führen.

Auch bin ich grad am Überlegen ob es nicht irgend eine Möglichkeit gibt die Hülle zu verbessern/aufzuwerten.
Sind die Schilde unten oder geht etwas durch die Schilde ist der Wert der Hülle meist schon Nebensache,..

Selbst eine Apocalypse Station der Khayrin mit 66.000 Hülle und nur 19.000 Schilden, lässt die Hülle wie Papier wirken.
Ich will das Platzen der Hülle nicht komplett entfernen, denn es ist durchaus sinnvoll, es sollte nur nicht mehr ganz so oft vorkommen.
Für leicht bewaffnete Schiffe sind starke Schilde ein Problem und das finde ich auch gut so. Das Balancing ist an der Stelle die Kunst. Sofern sie lange genug überleben können sie weiterhin versuchen die Hülle platzen zu lassen.

Das die Hülle keine große Hürde darstellt sobald die Schilde unten sind lässt sich leider schwer vermeiden, aber in unseren SF-Vorbildern ist es meistens genauso.
Darkness hat geschrieben:Du möchtest also im Grunde nach einem Kampf möglichst viele Schiffe die keine vollen Schilde haben aber auch nicht sofort unter Beschuss verlieren und stärkst die Schildreg deswegen absichtlich im niedrigen Bereich.

Allerdings geht dieser Effekt doch wieder zu lasten der Hülle. Je länger du die Schilde oben hältst desto mehr wird die Hülle runtergeschossen. Na gut, wenn die Schildreg jetzt eh sehr viel geringer ist, wird der Durchdringungsschaden wohl nicht mehr relevant sein da er nicht oft genug zum Einsatz kommt.

Zu deinen Schadensauflistungen unten finde ich den Test v1.3 rein optisch besser. Die Schildreg wirkt konstanter. Ich nehme mal an das der Wert dir immer noch zu hoch war und du deswegen Test v1.4 ausprobiert hast.
Ja, das ist es was ich unter anderem erreichen will. Die Schildreg soll insgesamt geringer werden, aber im niedrigen Bereich sogar etwas gestärkt werden. Die Hülle soll etwas seltener platzen, aber irrelevant soll und kann der Durchdringungsschaden dadurch trotzdem nicht werden.
HerrderGezeiten hat geschrieben:Ne, er hat glaub ich geschrieben, das der Unterschied zwischen den Schildtypen zu gering ist.
1.3 hat nur 2 Regenerationen und der Typ entscheidet wann die bessere Regeneration in kraft tritt.
Die Steigerung der Typen ist nicht so leicht, einerseits sollte es möglichst klein sein zum leichten Balancen, zum andern möglichst groß damit man auch eine Wirkung sieht,..

Wobei 1.3 wirkt wirklich konstanter aber lohnt sich da bessere Schildtypen noch?
-> Wie wird der Kostenfaktor bei einer Aufrüstung errechnet?
Ich glaub den Typ um 1-2 Stufen zu verbessern ist nicht sehr teuer. (max 100-200 Industrie?)
Von daher unterstützt es auch eher einen geringen Unterschied.
Ja, Test v1.3 scheitert für mich an zu geringen Typunterschieden, die hohen Typen regenerieren zu schlecht.

Die Kostenberechnung der Schilde ist etwas kompliziert, aber ich versuche es mal zusammenzufassen.
Für die Berechnung braucht man die Schildstärke, den Schildtyp und die Manövrierbarkeit.

Es müssen zwei Rechnungen addiert werden:
ManövrierbarkeitMOD = (Manövrierbarkeit - 4) / 10 * 1,75 + 1
1.) Schildstärke + (Schildstärke / 300 + 2 * Schildtyp) * 100 * ManövrierbarkeitMOD / 4
2.) Schildstärke / 200 * ⌈Schildtyp ^ 2,5⌉

Für ein Schiff mit Schildstärke 1000 und Manövrierbarkeit 5 sind die Industriekosten:
Typ 0 = 348
Typ 1 = +61
Typ 2 = +71
Typ 3 = +84
Typ 4 = +99
Typ 5 = +119 (Gesamt = 782)
Typ 6 = +142
Typ 7 = +162
Typ 8 = +189
Typ 9 = +212
Typ 10 = +244 (Gesamt = 1728)

Bei Schildstärke 10000 und Manövrierbarkeit 5
Typ 0 = 3479
Typ 1 = +84
Typ 2 = +184
Typ 3 = +309
Typ 4 = +459
Typ 5 = +659 (Gesamt = 5173)
Typ 6 = +883
Typ 7 = +1084
Typ 8 = +1359
Typ 9 = +1534
Typ 10 = +1909 (Gesamt = 11992)

Die Schilde um eine Stufe zu erhöhen ist also nicht unbedingt teuer, aber in Summe ist es trotzdem spürbar.
Benutzeravatar
Vuto
Flottenkapitän
Flottenkapitän
Beiträge: 515
Registriert: Donnerstag 15. Juli 2010, 17:04

Re: Schildregeneration Combat-Simulator-Tests

Beitrag von Vuto »

master130686 hat geschrieben:Die ganze Diskussion hat mal wieder einen (mind. kleinen) Haken.

Ihr vergesst bei der Diskussion leider wieder dass nicht nur die Schildregeneration angepasst werden wird, sondern auch die Waffen.

Im Prinzip läuft das darauf hinaus, dass selbst wenn die angedachte neue Regeneration sehr niedrig (oder hoch) erscheint, das Ergebnis durch die (anscheinend erst nachfolgende) Waffenanpassung wieder ganz anders wirken kann oder das "Problem" (zu hoch oder zu niedrig) wird noch verstärkt.

Von daher sollte man diese zwei Anpassungen optimalerweise gemeinsam durchführen - und vor allem testen.
Es geht hier erst mal nur darum eine bessere Formel für die Regeneration zu finden. An den Variabelwerten kann man dann ganz einfach schrauben, wenn sich z.B. der Schaden erhöht. Die endgültige Anpassung muss dann im Gesamtpaket erfolgen, aber irgendwo muss man anfangen. :)

In den nächsten Tagen sollte ich zum nächsten Test kommen.
Ich werde ihn auf Test v1.4 aufbauen, mit der Formelvereinfachung von Nobody6 und leichten Veränderungen an den Werten.
HerrderGezeiten
Flottenkapitän
Flottenkapitän
Beiträge: 794
Registriert: Montag 15. August 2011, 01:32

Re: Schildregeneration Combat-Simulator-Tests

Beitrag von HerrderGezeiten »

Ich würde die Schildregeneration auch bei stärkeren Waffen nicht anpassen.
-> Ganz und gar nicht, schließlich soll ja die Regenerationsgeschwindigkeit nicht wieder den Schaden zwischen den Anflügen übersteigen.
Dauer dazwischen bleibt konstant da wir daran nichts ändern.

Hier sollte die Schildstärke im Ausgleich erhöht werden, falls es den notwendig wird bzw. auch Waffen verringert.
Schildstärke und Waffenschaden sind ohne programmier Wissen anzupassen.

Darum bin ich auch immer für eine lieber zu geringe Regeneration als eine zu hohe.
-> Schildstärke um Bsp. 200-400 einfach mal zu erhöhen bei allen Schiffen, ist für jeden machbar.
(viel Arbeit aber machbar) :roll:
Every Era has it`s Hero, it`s too bad it isn`t you.

Defizit is, wat de hast, wenn de weniger hast, wie de hättst, wenn de nischt hast.

There are times when the choice we want does not exist.
Nobody6
Offizier
Offizier
Beiträge: 220
Registriert: Samstag 22. Januar 2011, 10:31

Re: Schildregeneration Combat-Simulator-Tests

Beitrag von Nobody6 »

Vuto hat geschrieben:Ich werde ihn auf Test v1.4 aufbauen, mit der Formelvereinfachung von Nobody6 und leichten Veränderungen an den Werten.
An welche hast du denn dabei gedacht?

Es gilt zu beachten, dass z.B. "RpT(Schild):= (maxSchild - Schild)/Tau" eine schöne Formel ist, aber uns die Integer-Arithmetik hier einen Strich durch die Rechnung macht. Bedeutet:
- direkt in den C-Code geschrieben bedeutet, es wir immer abgerundet. Sobald dem Schild also weniger als Tau Punkte fehlen endet die Aufladung. Ein Schiff mit schwachen Schilde könnte also nie regenerieren.
- würde man mathematisch korrekt runden, würden immer noch die letzen Tau/2 Punkte nicht regeneriert
- Aufrunden führt hingegen zu einer minimalen Laderate von 1 (wie bisher), was wohl nicht gewollt ist da dann schwache Schilde praktisch immer voll geladen wären
HerrderGezeiten
Flottenkapitän
Flottenkapitän
Beiträge: 794
Registriert: Montag 15. August 2011, 01:32

Re: Schildregeneration Combat-Simulator-Tests

Beitrag von HerrderGezeiten »

Noch ein anderer Ansatz der Schild Typ scheint ja nicht so stark begrenzt zu sein.

20 wird vom Editor (viel mehr auch?) angenommen.
Falls man die Regeneration von V1.4 auf 20 Typen "streckt" könnte man so die Schiffe noch mit leicht angepassten Typen nachjustieren bzw. es gewollt auf geringe oder starke Regeneration einstellen.
(benutzt man 1-10 nur 50% von V1.4 bei 20 halt die 100%)

Da die Schiffspreise ja noch nicht festgelegt sind kommt es ja auch noch nicht in die Quere.
Every Era has it`s Hero, it`s too bad it isn`t you.

Defizit is, wat de hast, wenn de weniger hast, wie de hättst, wenn de nischt hast.

There are times when the choice we want does not exist.
Benutzeravatar
Vuto
Flottenkapitän
Flottenkapitän
Beiträge: 515
Registriert: Donnerstag 15. Juli 2010, 17:04

Re: Schildregeneration Combat-Simulator-Tests

Beitrag von Vuto »

@HerrderGezeiten: Ja, es wäre vermutlich besser die Schildstärke statt der Regeneration anzupassen, aber sollte es aus einem anderen Grund doch nötig sein, müssen nur zwei Variablen angepasst werden.

Die Schildtypen über 10 direkt einzubeziehen kling vernünftig, selbst wenn es nur für die einfache Erweiterbarkeit in Zukunft ist.

@Nobody6: Ja, die Formel meinte ich. In den bisherigen Tests habe ich mit Fließkommazahlen gearbeitet, was aufgrund ihrer Beschränkungen schnell zu spürbaren Rundungsfehlern bei hohen Schildstärken führt. Vielleicht wäre es sinnvoller mit z.B. um 1000 multiplizierten Integern zu arbeiten, ich werde es ausprobieren.

Um auf ähnliche Ergebnisse wie in Test v1.4 zu kommen liegt Tau zwischen 330 und 185, von da habe ich mich dann langsam weiter nach unten getestet. Ich komme meinem Wunsch-Regenerationsverhalten immer näher, aber ein paar Test brauche ich noch bevor ich die nächste Version auf euch loslasse.
HerrderGezeiten
Flottenkapitän
Flottenkapitän
Beiträge: 794
Registriert: Montag 15. August 2011, 01:32

Re: Schildregeneration Combat-Simulator-Tests

Beitrag von HerrderGezeiten »

@Vuto das Problem liegt eher darin, das wir da gar nicht hinkommen.
Da ist es egal ob es 2 Variablen oder auch nur ein "." ist. :wink:
Every Era has it`s Hero, it`s too bad it isn`t you.

Defizit is, wat de hast, wenn de weniger hast, wie de hättst, wenn de nischt hast.

There are times when the choice we want does not exist.
Nobody6
Offizier
Offizier
Beiträge: 220
Registriert: Samstag 22. Januar 2011, 10:31

Re: Schildregeneration Combat-Simulator-Tests

Beitrag von Nobody6 »

Vuto hat geschrieben:@Nobody6: Ja, die Formel meinte ich. In den bisherigen Tests habe ich mit Fließkommazahlen gearbeitet, was aufgrund ihrer Beschränkungen schnell zu spürbaren Rundungsfehlern bei hohen Schildstärken führt.
Wenn du mit Fließkomma rechnest sollte es keine Rundungsfehler geben (es sei denn du speicherst doch wieder als Integer, dann kannst du die die Fließkommarechung aber eigentlich auch gleich schenken).
Vielleicht wäre es sinnvoller mit z.B. um 1000 multiplizierten Integern zu arbeiten, ich werde es ausprobieren.
Das erscheint mir etwas übertrieben. Zehn wären schon ein guter Anfang. Wenn die Performance eine Rolle spielt, sollte man über Zweierpotenzen nachdenken (also 8, 16, 32, etc.).
Um auf ähnliche Ergebnisse wie in Test v1.4 zu kommen liegt Tau zwischen 3,3 und 1,85...
Das erscheint mir sehr wenig. Zwei bedeutet, dass sich ein (fast) leerer Schild in nur einem "Tick" um 50% wiederauflädt!
Benutzeravatar
Vuto
Flottenkapitän
Flottenkapitän
Beiträge: 515
Registriert: Donnerstag 15. Juli 2010, 17:04

Re: Schildregeneration Combat-Simulator-Tests

Beitrag von Vuto »

@HerrderGezeiten: Stimmt, ohne Zugriff auf den Code geht es auch dann nicht. Wir könnten die beiden Variablen vielleicht aus der BotE.ini laden.

@Nobody6: Ich sollte versuchen mich genauer auszudrücken. Für die letzten Tests habe ich float benutzt, aber float hat nur eine begrenzte Anzahl an Stellen, danach wird einfach abgeschnitten. Bei niedrigen Schildstärken ist es also genauer als wir es brauchen und bei hohen Schildstärken vielleicht zu ungenau.

Mit double wären noch mehr Stellen verfügbar, aber ich versuche es erst einmal mit den angepassten Integern.
Nobody6 hat geschrieben:
Um auf ähnliche Ergebnisse wie in Test v1.4 zu kommen liegt Tau zwischen 3,3 und 1,85...
Das erscheint mir sehr wenig. Zwei bedeutet, dass sich ein (fast) leerer Schild in nur einem "Tick" um 50% wiederauflädt!
Das habe ich aus der Formatierung meiner Tabelle falsch hierher übertragen. :oops: Es muss 330 und 185 heißen.
Benutzeravatar
master130686
Kommodore
Kommodore
Beiträge: 1906
Registriert: Montag 21. August 2006, 16:01
Kontaktdaten:

Re: Schildregeneration Combat-Simulator-Tests

Beitrag von master130686 »

Ich möchte bei der Gelegenheit dran erinnern dass ich u.a. die Schildstärke bereits mit modifiziert habe (die entsprechenden Dateien finden sich in dem entsprechenden Thread) - natürlich nicht als "das letzte Wort", aber vielleicht als Richtlinie (immerhin sind da die meisten Schiffswerte nicht mehr nur "einfach so", sondern folgen bestimmten Regeln bzw. Modifikatoren - welche man noch ändern kann, aber das is ja klar).
Verfallen wir nicht in den Fehler, bei jedem Andersmeinenden entweder an seinem Verstand oder an seinem guten Willen zu zweifeln. (Otto Fürst von Bismarck)
Benutzeravatar
Vuto
Flottenkapitän
Flottenkapitän
Beiträge: 515
Registriert: Donnerstag 15. Juli 2010, 17:04

Re: Schildregeneration Combat-Simulator-Tests

Beitrag von Vuto »

Ich komme gerade nicht dazu genug zu testen, aber mit Test v1.5 habt ihr jetzt auch die Möglichkeit die Variablen zu ändern.

Die Formel in Test v1.5 lautet:
Reg je Tick = (MaxSchild - Schild) / ( BaseTau - (Schildtyp * TauInterval))

BaseTau und TauInterval könnt ihr in der beigelegten CombatScript.txt verändern.

Code: Alles auswählen

§BASETAU§
333
§TAUINTERVAL§
15
Es liegt auch eine Tabelle bei, dort könnt ihr auch BaseTau und TauInterval verändern.
Zum Beispiel 333/15, Typ 0 Schild auf 90% regeneriert im nächsten Tick also 0,030030%. Bei einem MaxSchild von 5000 wären das 1,501501 Reg im nächsten Tick.

Ich bin gespannt welche Variablewerte euch am besten gefallen, auch gerne mit Masters Shiplist.
Viel Spaß beim testen.


EDIT: Anhang entfernt, siehe nächste Seite.
Antworten

Zurück zu „Ships“