Crewerfahrungsgewinn

Alle Diskussionen über Schiffe werden in diesem Bereich ausgetragen
Benutzeravatar
MTB
Flottenkapitän
Flottenkapitän
Beiträge: 683
Registriert: Donnerstag 12. Juni 2008, 15:37
Wohnort: Frankfurt

Re: Crewerfahrung

Beitrag von MTB » Montag 27. Oktober 2008, 10:09

Sir Pustekuchen hat geschrieben:Also wäre dies eine erste Formel. Ich bräuchte dann noch die von MTB, wenn die auch noch implementiert werden soll.
Siehe http://birth-of-the-empires.de/phpBB3/v ... =75#p14034

@Malle: Keiner hindert uns in die Kampfmodifikatorenterme auch Formeln einzubauen.
@CombatSimulator (3D-Kampf): Wenn's mal soweit ist, wird dann nicht über die Leistung jeden Schiffes Buch geführt? Weil, die "vernichtete Kampfkraft" in unseren Formeln lässt sich ja auch Schiffsbezogen verwenden.
Besser ein lebender Feigling als ein toter Held

Benutzeravatar
Malle
Großadmiral
Großadmiral
Beiträge: 6948
Registriert: Montag 13. November 2006, 15:16

Re: Crewerfahrung

Beitrag von Malle » Montag 27. Oktober 2008, 15:40

der combat simulator funktioniert schon in 3D-Koordinaten, wird nur im Simulator 2D-projeziert grafisch angezeigt. D.h. schiffsbezogene Daten sind theoretisch abrufbar.

Benutzeravatar
MTB
Flottenkapitän
Flottenkapitän
Beiträge: 683
Registriert: Donnerstag 12. Juni 2008, 15:37
Wohnort: Frankfurt

Re: Crewerfahrung

Beitrag von MTB » Montag 27. Oktober 2008, 16:00

Was hindert dann an einer schiffsbezogenen Berechnung der Erfahrung?
Besser ein lebender Feigling als ein toter Held

Benutzeravatar
Malle
Großadmiral
Großadmiral
Beiträge: 6948
Registriert: Montag 13. November 2006, 15:16

Re: Crewerfahrung

Beitrag von Malle » Montag 27. Oktober 2008, 17:40

z.B. können zerstörte Schiffe nicht mehr so einfach umgerechnet werden auf ein einzelnes Schiff. Bekommt der, der den "final blow" gemacht hat, dafür doppelte oder anders modifizierte Erfahrung auf seinen gemachten Hüllenschaden, oder bekommen anteilmäßig alle, die an der Zerstörung mitgewirkt haben, einen kleinen Bonus abhängig vom prozentual gemachten Hüllenschaden. Zudem müsste die ganze Protokollorierei erst noch implementiert werden denke ich.

Crewerfahrung des Gegners vs. eigene Crewerfahrung müsste auch immer trefferbezogen den Gewinn durch einen Treffer modifizieren. Man kann also schlecht einfach nur nach dem Kampf die Treffer alle aufsummieren für ein Schiff und mit dem Durchschnittscrewerfahrungsquotienten gewichten. Sehr viel kleinklein-Protokollierei.

Benutzeravatar
MTB
Flottenkapitän
Flottenkapitän
Beiträge: 683
Registriert: Donnerstag 12. Juni 2008, 15:37
Wohnort: Frankfurt

Re: Crewerfahrung

Beitrag von MTB » Montag 27. Oktober 2008, 17:54

Malle hat geschrieben:z.B. können zerstörte Schiffe nicht mehr so einfach umgerechnet werden auf ein einzelnes Schiff. Bekommt der, der den "final blow" gemacht hat, dafür doppelte oder anders modifizierte Erfahrung auf seinen gemachten Hüllenschaden, oder bekommen anteilmäßig alle, die an der Zerstörung mitgewirkt haben, einen kleinen Bonus abhängig vom prozentual gemachten Hüllenschaden. Zudem müsste die ganze Protokollorierei erst noch implementiert werden denke ich.
Jetzt rächt es sich dass ich die Implementierung nicht kenne:
Beim Combat-Simulator, wird da nicht für jedes Schiff rundenweise(?) Aktionen ausgeführt?
Falls ja, könntest Du jedem Schiff das, wenn es dran ist, Schaden macht, den Erfahrungsgewinn gutschreiben (entweder direkt, sodass in die Folgeberechnungen die Erfahrung schon eingeht, oder virtuell, sodass ein Kampf mit der Starterfahrung durchgespielt wird).
Und, wenn unbedingt nötig, für den "final blow" in den Kampfmod-Term noch ein "+x" aufnehmen.
Malle hat geschrieben:Crewerfahrung des Gegners vs. eigene Crewerfahrung müsste auch immer trefferbezogen den Gewinn durch einen Treffer modifizieren. Man kann also schlecht einfach nur nach dem Kampf die Treffer alle aufsummieren für ein Schiff und mit dem Durchschnittscrewerfahrungsquotienten gewichten. Sehr viel kleinklein-Protokollierei.
Wie schon geschrieben, "Jetzt rächt es sich dass ich die Implementierung nicht kenne" - fallen die Daten nicht eh' an? Starterfahrung hast Du pro Schiff, Kampfkraft muss auch irgendwo berechnet werden, dann müssten die Kampfmods pro Schiff einfliessen und dann kommt's auf die Simulation an - wenn Ihr einen "echten" Kampf mit Schiffsaktionen simuliert, hast Du da doch auch für die Effektberechnungen die "verursachter Schaden" Werte. So hatte ich mir den Combat Simulator Implementierung eigentlich vorgestellt?
Besser ein lebender Feigling als ein toter Held

Benutzeravatar
Malle
Großadmiral
Großadmiral
Beiträge: 6948
Registriert: Montag 13. November 2006, 15:16

Re: Crewerfahrung

Beitrag von Malle » Montag 27. Oktober 2008, 18:01

lad dir doch mal den Combat Simulator runter (Download unter Modifikationen) und stell im combatscript.txt random=0 ein, dann bekommst du den Kampf grafisch angezeigt und dann fällt dir auch auf, dass er auf Ticks beruht, also auch im gewissen Sinne Runden, aber eben millisekundenweise, d.h. im Grunde einer Echtzeitkampf. kann also durchaus vorkommen, dass ein final blow von 2 oder mehreren Schiffen im gleichen Kampftick erfolgt, d.h. es ist gar nicht klar, wer wen denn nun getroffen hat und wer nicht (wichtig ist ja nur, dass die Summe der Treffer die Resthüllenintegrität übersteigt und damit das Schiff explodiert, wer allerdings zur Summe wieviel beigetragen hat, z.B. bei 2 Torpedos von 2 Schiffen auf 1 Ziel, die alle treffen, das Ziel aber nur noch 10 hp hat und bei einem Treffer schon erledigt ist, wird nicht ausgerechnet, geht ja auch nicht, weil die Torpedos alle zum selben Tick einschlagen, was zwar durchaus nicht so oft vorkommt, weil die torpedos selber noch eine Geschwindigkeit haben und alle von derselben Entfernung aus abgeschossen sein müssten, damit das passiert, aber wir sind ja in 3D und da kann das schon vorkommen).

Was richtig Edles wäre die Echtzeitberechnung von EPs, d.h. ähnlich wie man Schäden an Schiffen macht, wird instantan noch während des Kampfes kontinuierlich die Erfahrung erhöht und zwar Hüllenschaden am gegn. Schiff bewirkt EP-Gewinn beim eigenen, quasi so ne Art reziproker Crewerfahrungsschaden am eigenen Schiff. Dann müsste man noch die Herkunft der Torpedos protokollieren, da diese nicht wie Laser keinen instantanen Schaden verursachen und schon ist man seine Probleme los. Da kann man dann auch gleich den Crewerfahrungsquotienten mit einfließen lassen, weil man die Daten der beiden Schiffe ja vorliegen hat. Momentan brauchst du die Herkunft der schadenverursachenden Waffen nicht zu kennen, es ist nur wichtig, dass etwas einschlägt und Schaden verursacht. Bei großen Kämpfen kann das schon ein kleiner Mehraufwand werden zu rechnen, weil die Torpedoherkünfte ja irgendwo zwischengespeichert werden müssen und somit Speicherplatz brauchen.

Ganz zum Schluss jedenfalls könnte man dann noch die globalen Modifikatoren dranmultiplizieren an jeden Erfahrungsgewinn (man nimmt einfach beim Echtzeitberechnungsmodell die Differenz der Erfahrung zu Beginn und am Ende der Schlacht und überschreibt dann mit einem neuen gewichteten Wert) wie z.B. der Kampfkraftquotient und die Flagshipgeschichte.

Benutzeravatar
MTB
Flottenkapitän
Flottenkapitän
Beiträge: 683
Registriert: Donnerstag 12. Juni 2008, 15:37
Wohnort: Frankfurt

Re: Crewerfahrung

Beitrag von MTB » Dienstag 28. Oktober 2008, 09:45

Malle hat geschrieben:lad dir doch mal den Combat Simulator runter (Download unter Modifikationen) und stell im combatscript.txt random=0 ein, dann bekommst du den Kampf grafisch angezeigt und dann fällt dir auch auf, dass er auf Ticks beruht, also auch im gewissen Sinne Runden, aber eben millisekundenweise, d.h. im Grunde einer Echtzeitkampf. kann also durchaus vorkommen, dass ein final blow von 2 oder mehreren Schiffen im gleichen Kampftick erfolgt, d.h. es ist gar nicht klar, wer wen denn nun getroffen hat und wer nicht (wichtig ist ja nur, dass die Summe der Treffer die Resthüllenintegrität übersteigt und damit das Schiff explodiert, wer allerdings zur Summe wieviel beigetragen hat, z.B. bei 2 Torpedos von 2 Schiffen auf 1 Ziel, die alle treffen, das Ziel aber nur noch 10 hp hat und bei einem Treffer schon erledigt ist, wird nicht ausgerechnet, geht ja auch nicht, weil die Torpedos alle zum selben Tick einschlagen, was zwar durchaus nicht so oft vorkommt, weil die torpedos selber noch eine Geschwindigkeit haben und alle von derselben Entfernung aus abgeschossen sein müssten, damit das passiert, aber wir sind ja in 3D und da kann das schon vorkommen).
Dann sollten alle Beteiligten den "final blow" Bonus bekommen - effektive Zusammenarbeit.
Malle hat geschrieben:Was richtig Edles wäre die Echtzeitberechnung von EPs, d.h. ähnlich wie man Schäden an Schiffen macht, wird instantan noch während des Kampfes kontinuierlich die Erfahrung erhöht und zwar Hüllenschaden am gegn. Schiff bewirkt EP-Gewinn beim eigenen, quasi so ne Art reziproker Crewerfahrungsschaden am eigenen Schiff. Dann müsste man noch die Herkunft der Torpedos protokollieren, da diese nicht wie Laser keinen instantanen Schaden verursachen und schon ist man seine Probleme los. Da kann man dann auch gleich den Crewerfahrungsquotienten mit einfließen lassen, weil man die Daten der beiden Schiffe ja vorliegen hat. Momentan brauchst du die Herkunft der schadenverursachenden Waffen nicht zu kennen, es ist nur wichtig, dass etwas einschlägt und Schaden verursacht. Bei großen Kämpfen kann das schon ein kleiner Mehraufwand werden zu rechnen, weil die Torpedoherkünfte ja irgendwo zwischengespeichert werden müssen und somit Speicherplatz brauchen.
Hmm. Ist Speicherplatz noch ein Thema? Wir reden hier von 1ner ID extra pro Torpedo - die des abschiessenden Schiffes. Und die Schiff-IDs sind 4 Byte?
Und beim Einschlagen musst Du die Torpedo-ID hernehmen, die Erfahrungsmodifier des abschiessenden Schiffes holen und dann den Erfahrungsewinn berechnen - bei jedem Treffer.
Malle hat geschrieben:Ganz zum Schluss jedenfalls könnte man dann noch die globalen Modifikatoren dranmultiplizieren an jeden Erfahrungsgewinn (man nimmt einfach beim Echtzeitberechnungsmodell die Differenz der Erfahrung zu Beginn und am Ende der Schlacht und überschreibt dann mit einem neuen gewichteten Wert) wie z.B. der Kampfkraftquotient und die Flagshipgeschichte.
Warum am Schluss und nicht bei der Schiffsberechnung? Sowohl globale (Kommandoschiff) als auch schiffsspezfische (Dingsdatorpedos) kann man doch gleich dort einfliessen lassen, oder übersehe ich was?
Besser ein lebender Feigling als ein toter Held

Benutzeravatar
Malle
Großadmiral
Großadmiral
Beiträge: 6948
Registriert: Montag 13. November 2006, 15:16

Re: Crewerfahrung

Beitrag von Malle » Dienstag 28. Oktober 2008, 17:55

klar kann man das. Ich ging eher davon aus, dass die Crewerfahrung und Flaggschiffanwesenheit zeitabhängig sind, d.h. wenn Schiffe und/oder Flaggschiffe zerstört, ändert sich insgesamt ja die Durchschnittserfahrung, weil aus weniger Schiffen der Durchschnitt gebildet wird. So könnte man beim Echtzeitmodell auch hier nochmal differenzieren.

Benutzeravatar
MTB
Flottenkapitän
Flottenkapitän
Beiträge: 683
Registriert: Donnerstag 12. Juni 2008, 15:37
Wohnort: Frankfurt

Re: Crewerfahrung

Beitrag von MTB » Mittwoch 29. Oktober 2008, 09:12

Malle hat geschrieben:klar kann man das. Ich ging eher davon aus, dass die Crewerfahrung und Flaggschiffanwesenheit zeitabhängig sind, d.h. wenn Schiffe und/oder Flaggschiffe zerstört, ändert sich insgesamt ja die Durchschnittserfahrung, weil aus weniger Schiffen der Durchschnitt gebildet wird. So könnte man beim Echtzeitmodell auch hier nochmal differenzieren.
Beim Einzelberechnungsmodell benutzt Du doch gar keine Durchschnittserfahrung - Du berechnest Erfahrung pro Aktion pro Schiff (schau Dir meine Formel nochmal an - der Erfahrungserhöhungsterm benutzt nur die vernichteten Kampfstärken).
Das wird nur problematisch bei rückwirkend wirksamen globalen Faktoren - bsp. vernichtetes Flagship - wenn wir da den vorherigen Bonus durch einen "ist gerade in die Luft geflogen" Malus ersetzen wollten.
Wobei ich eher dazu neige, den Flagshipbonus solange zu geben wie's da ist, und wenn's in die Luft fliegt ab diesem Zeitpunkt einen Malus zu geben.
Besser ein lebender Feigling als ein toter Held

Benutzeravatar
Sir Pustekuchen
Administrator
Administrator
Beiträge: 4182
Registriert: Dienstag 10. Januar 2006, 16:46
Kontaktdaten:

Re: Crewerfahrung

Beitrag von Sir Pustekuchen » Mittwoch 29. Oktober 2008, 11:45

Eine direkte Erfahrungsberechnung während eines Kampfes ist möglich. Ich kann aber nicht sagen, wieviel Einfluss dies auf die Performace haben wird. Die Implementierung ist wesentlich buganfäliger als so eine Post-Combat Erfahrungsberechnung. Trotzdem hätte die direkte Kampfberechnung einige Vorteile:

Vorteile:
  • schiffsspezifischer Erfahrungsgewinn
  • exakte Berechnung möglich
  • verursachter Schaden geht direkt in die EP ein
  • finaler Treffer kann extra bewertet werden
  • Unterscheidung zwischen Torpedo- und Beamschaden
  • unabhängig von den Schiffsbesitzern -> genaue Minorraceschiffsberechnung möglich
Nachteile
  • Buganfälliger
  • Performancekritischer
  • kein direkter Bezug der Schiffsstärken -> reiner Schaden + Erfahrung wird zur EP-Berechnung verwendet
  • keine Ahnung wie es Erfahrung für ne Flucht geben könnte
Mittlerweile weiß ich selbst nicht mehr, welcher Modus besser ist. Die Formel von master ist prima. Bei der Post-Combat Berechnung hat man nur den Nachteil, wenn zwei Verbündete gemeinsam kämpfen. Eine genaue Erfahrungpunkteberechnung ala Malle ist dann nicht mehr möglich. Jedenfalls nicht einfach und schnell umsetzbar. Da müsste man einiges Coden. Nebenbei wäre ein Erfahrungsgewinn für Minorraceschiffe überhaupt nicht möglich. Dort läßt sich aus programmtechnischen Gründen keine EP mit masters Formel berechnen. Bei der direkten Kampfberechnung wäre es aber möglich.

Die Formel für eine direkte Kampfberechnung sollte aber nicht zu groß werden. Diese müsste sehr sehr häufig aufgerufen werden und sollte daher schnell Ergebnisse liefern. Auch deren benötigte Variablen müssten sofort und schnell vorhanden sein. Eine Schiffsstärkenberechnung fällt daher weg. Division sollte auch vermieden werden, wenn man es als Mulitplikation oder noch besser Addition/Subtraktion darstellen kann.

Benutzeravatar
MTB
Flottenkapitän
Flottenkapitän
Beiträge: 683
Registriert: Donnerstag 12. Juni 2008, 15:37
Wohnort: Frankfurt

Re: Crewerfahrung

Beitrag von MTB » Mittwoch 29. Oktober 2008, 12:26

Sir Pustekuchen hat geschrieben:Eine direkte Erfahrungsberechnung während eines Kampfes ist möglich. Ich kann aber nicht sagen, wieviel Einfluss dies auf die Performace haben wird. Die Implementierung ist wesentlich buganfäliger als so eine Post-Combat Erfahrungsberechnung. Trotzdem hätte die direkte Kampfberechnung einige Vorteile:

Vorteile:
  • schiffsspezifischer Erfahrungsgewinn
  • exakte Berechnung möglich
  • verursachter Schaden geht direkt in die EP ein
  • finaler Treffer kann extra bewertet werden
  • Unterscheidung zwischen Torpedo- und Beamschaden
  • unabhängig von den Schiffsbesitzern -> genaue Minorraceschiffsberechnung möglich
Nachteile
  • Buganfälliger
  • Performancekritischer
  • kein direkter Bezug der Schiffsstärken -> reiner Schaden + Erfahrung wird zur EP-Berechnung verwendet
  • keine Ahnung wie es Erfahrung für ne Flucht geben könnte
Mittlerweile weiß ich selbst nicht mehr, welcher Modus besser ist. Die Formel von master ist prima. Bei der Post-Combat Berechnung hat man nur den Nachteil, wenn zwei Verbündete gemeinsam kämpfen. Eine genaue Erfahrungpunkteberechnung ala Malle ist dann nicht mehr möglich. Jedenfalls nicht einfach und schnell umsetzbar. Da müsste man einiges Coden. Nebenbei wäre ein Erfahrungsgewinn für Minorraceschiffe überhaupt nicht möglich. Dort läßt sich aus programmtechnischen Gründen keine EP mit masters Formel berechnen. Bei der direkten Kampfberechnung wäre es aber möglich.

Die Formel für eine direkte Kampfberechnung sollte aber nicht zu groß werden. Diese müsste sehr sehr häufig aufgerufen werden und sollte daher schnell Ergebnisse liefern. Auch deren benötigte Variablen müssten sofort und schnell vorhanden sein. Eine Schiffsstärkenberechnung fällt daher weg. Division sollte auch vermieden werden, wenn man es als Mulitplikation oder noch besser Addition/Subtraktion darstellen kann.
Bei meiner Formel weiss ich, dass ein Kompromiss geht:
Nimm den Term der den prozentualen Erfahrungsgewinn darstellt (als Ergebnis der post Combat Berechnung: e * (b/a) * ((c-d)/c) * (1+Kampfmodifikatoren)*Obergrenze) und schlag den bei jedem einzelnen überlebenden Schiff drauf.
Besser ein lebender Feigling als ein toter Held

Benutzeravatar
master130686
Kommodore
Kommodore
Beiträge: 1905
Registriert: Montag 21. August 2006, 16:01
Kontaktdaten:

Re: Crewerfahrung

Beitrag von master130686 » Mittwoch 29. Oktober 2008, 14:31

Nebenbei wäre ein Erfahrungsgewinn für Minorraceschiffe überhaupt nicht möglich.
Wieso nich?
Minorraceschiffe haben alle benötigten Faktoren (Kampfstärke, Erfahrung und evtl. Modifikatoren) und der Rest is wie immer: eine Seite gegen eine andere.
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
Malle
Großadmiral
Großadmiral
Beiträge: 6948
Registriert: Montag 13. November 2006, 15:16

Re: Crewerfahrung

Beitrag von Malle » Mittwoch 29. Oktober 2008, 17:42

MTB hat geschrieben:
Malle hat geschrieben:klar kann man das. Ich ging eher davon aus, dass die Crewerfahrung und Flaggschiffanwesenheit zeitabhängig sind, d.h. wenn Schiffe und/oder Flaggschiffe zerstört, ändert sich insgesamt ja die Durchschnittserfahrung, weil aus weniger Schiffen der Durchschnitt gebildet wird. So könnte man beim Echtzeitmodell auch hier nochmal differenzieren.
Beim Einzelberechnungsmodell benutzt Du doch gar keine Durchschnittserfahrung - Du berechnest Erfahrung pro Aktion pro Schiff (schau Dir meine Formel nochmal an - der Erfahrungserhöhungsterm benutzt nur die vernichteten Kampfstärken).
Das wird nur problematisch bei rückwirkend wirksamen globalen Faktoren - bsp. vernichtetes Flagship - wenn wir da den vorherigen Bonus durch einen "ist gerade in die Luft geflogen" Malus ersetzen wollten.
Wobei ich eher dazu neige, den Flagshipbonus solange zu geben wie's da ist, und wenn's in die Luft fliegt ab diesem Zeitpunkt einen Malus zu geben.
Ich will ja die Durchschnittserfahrung oder auch gleich die direkte Erfahrung deines Gegners mit reinbringen, weil es eben mehr Erfahrung bringt, gegen einen erfahrenen Hasen als Kapitän zu kämpfen als gegen ne Nullnummer. Von daher sollte bei beiden Verfahren, Post-Combat als auch Direktverfahren, dieser Unterschied berücksichtigt werden. Man könnte eben einfach den Quotienten aus dem Wert des direktgetroffenen Gegners und dem eigenen Wert nehmen und dranmultiplizieren an die EP. Im Grunde sollten alle Formeln funktionieren, indem man den Durchschnitt durch den jeweiligen direkten Wert ersetzt. Das dürfte dann in etwa soviel Performance kosten wie den Schild- und Hüllenwert bei einem Treffer zu verändern, sprich halbieren. Solange es keine Potenz mehr im Aufwand kostet und wir weiterhin O(n) oder was weiß ich wo der Algo im Moment steht bleiben, sollte die Performance nicht merkbar abrutschen.

Probiert mal jemand die Formel oben von master entsprechend umzugestalten und direkte Schiffswerte zu benutzen? Also je mehr ich drüber nachdenke, desto "natürlicher" erscheint mir eine Direktlösung. Das ist einfach wie ne negative Rückkopplung von Trefferschäden, sehr intuitiv. Und großviel andere Werte beachtet der Durchschnittspostcombatalgo auch nicht. Für den Unterschied der Kampfkraft kann man ja zu Anfang den Quotienten als Konstante ausrechnen und nachher einfach bei jedem Treffer global abrufen und dranmultiplizieren in der Formel, so dass man auch globale und nicht nur schiffsbezogene Werte mit einfließen lässt. Rückzüge werden den Wert nicht verändern. Eine Flucht gibt dann noch einen EP-Gewinn von der Idee her dadurch, dass man dem Gegner ja einen gewissen EP-Gewinn vorenthält, man klaut sie ihm und bekommt sie dadurch gutgeschrieben, d.h. eine Flucht bringt kompletten Resthüllenschaden am eigenen Schiff mal den ganzen Modifikatoren, nur diesmal eben postcombat-mäßig überall der Durchschnitt, da man keinen direkten Gegner mehr hat.

Benutzeravatar
MTB
Flottenkapitän
Flottenkapitän
Beiträge: 683
Registriert: Donnerstag 12. Juni 2008, 15:37
Wohnort: Frankfurt

Re: Crewerfahrung

Beitrag von MTB » Mittwoch 29. Oktober 2008, 18:21

Malle hat geschrieben:Ich will ja die Durchschnittserfahrung oder auch gleich die direkte Erfahrung deines Gegners mit reinbringen, weil es eben mehr Erfahrung bringt, gegen einen erfahrenen Hasen als Kapitän zu kämpfen als gegen ne Nullnummer. Von daher sollte bei beiden Verfahren, Post-Combat als auch Direktverfahren, dieser Unterschied berücksichtigt werden. Man könnte eben einfach den Quotienten aus dem Wert des direktgetroffenen Gegners und dem eigenen Wert nehmen und dranmultiplizieren an die EP. Im Grunde sollten alle Formeln funktionieren, indem man den Durchschnitt durch den jeweiligen direkten Wert ersetzt. Das dürfte dann in etwa soviel Performance kosten wie den Schild- und Hüllenwert bei einem Treffer zu verändern, sprich halbieren. Solange es keine Potenz mehr im Aufwand kostet und wir weiterhin O(n) oder was weiß ich wo der Algo im Moment steht bleiben, sollte die Performance nicht merkbar abrutschen.

Probiert mal jemand die Formel oben von master entsprechend umzugestalten und direkte Schiffswerte zu benutzen? Also je mehr ich drüber nachdenke, desto "natürlicher" erscheint mir eine Direktlösung. Das ist einfach wie ne negative Rückkopplung von Trefferschäden, sehr intuitiv. Und großviel andere Werte beachtet der Durchschnittspostcombatalgo auch nicht. Für den Unterschied der Kampfkraft kann man ja zu Anfang den Quotienten als Konstante ausrechnen und nachher einfach bei jedem Treffer global abrufen und dranmultiplizieren in der Formel, so dass man auch globale und nicht nur schiffsbezogene Werte mit einfließen lässt. Rückzüge werden den Wert nicht verändern. Eine Flucht gibt dann noch einen EP-Gewinn von der Idee her dadurch, dass man dem Gegner ja einen gewissen EP-Gewinn vorenthält, man klaut sie ihm und bekommt sie dadurch gutgeschrieben, d.h. eine Flucht bringt kompletten Resthüllenschaden am eigenen Schiff mal den ganzen Modifikatoren, nur diesmal eben postcombat-mäßig überall der Durchschnitt, da man keinen direkten Gegner mehr hat.
Uff.
Was hälst Du davon:
@Erfahrung des Gegners einbringen:
a: Kampfkraft (eigene) vor der Schlacht
b: Kampfkraft (eigene) nach der Schlacht
c: Kampfkraft (Gegner) vor der Schlacht
d: Kampfkraft (Gegner) nach der Schlacht
e: Erfahrung (eigene, vor der Schlacht)
f: Erfahrung Gegner, vor der Schlacht)
PostCombat:
Aus
e * (b/a) * ((c-d)/c) * (1+Kampfmodifikatoren)*Obergrenze
wird
(f/e)* (b/a) * ((c-d)/c) * (1+Kampfmodifikatoren)*Obergrenze als Erfahrungsgewinn

Direkt, per Kampftick:
Hab' ich versucht die Formel direkt umzusetzen und hatte so nette Sachen wie bei Torpedos die Kampfkraft und Erfahrung zum Abschusszeitpunkt mitzuprotokollieren - also stattdessen:
Erfahrungsgewinn pro Treffer = relativer Erfahrungsunterschied * verursachter schaden in % * Mod
k = eigene Erfahrung zum Zeitpunkt des Treffers
l = Erfahrung des Gegners zum Zeitpunkt des Treffers
m = Kampfkraft Gegner zum Zeitpunkt des Treffers (= Kampfkraft Start - bisher genommener Schaden)
n = verursachter Schaden zum Zeitpunkt des Treffer
o = Kampfmods wie Flagship anwesend / vernichtet, Schiffsklassenunterschied, spezielle Waffen, ...

==> Erfahrungsgewinn pro Treffer = l/k * n/m * o
bzw.
Erfahrungsgewinn pro Treffer = l/Max (k,1) * n/Max(m,1) * o
Besser ein lebender Feigling als ein toter Held

Benutzeravatar
Malle
Großadmiral
Großadmiral
Beiträge: 6948
Registriert: Montag 13. November 2006, 15:16

Re: Crewerfahrung

Beitrag von Malle » Donnerstag 30. Oktober 2008, 16:58

Die Variante durch m um den Gewinn durch das Zerstören eines Schiffes zu simulieren gefällt mir nicht so gut. Die Kampfkraft soll nicht schiffsbezogen, sondern flottenbezogen als Verhältnis aus eigener zu gegn. Gesamtkampfkraft ganz zu Beginn des Kampfes berücksichtigt werden. Erfahrungstechnisch macht es ja keinen Unterschied ob mein gegnerisches Schiff schon beschädigt ist oder nicht, wenn ich ihm einen Treffer verpasse. Wenn überhaupt müsstest du die "Resttauglichkeit" des Gegners malnehmen, weil ein gut manövrierfähiges und kraftstrotzendes Schiff schwerer zu treffen ist als ne halbzerstörte Klapperkiste, die nur noch auf einer Antriebsspule läuft. Nur das Zerstören an sich sollte einen Extra-EP-Gewinn bedeuten, indem man einfach ein p:={2 falls Gegnerhülle<=0, 1 sonst} dranmultipliziert.

Tausch die beiden Modifikatoren aus und dann müsste das so gehen.

Antworten

Zurück zu „Ships“