Crewerfahrungsgewinn

Alle Diskussionen über Schiffe werden in diesem Bereich ausgetragen
Benutzeravatar
Malle
Großadmiral
Großadmiral
Beiträge: 6948
phpbb forum styles
Registriert: Montag 13. November 2006, 15:16

Re: Crewerfahrung

Beitrag von Malle »

du erlaubst damit auch negative Erfahrungsgewinne=Verluste ;), max(0,rest). Die Multiplikatoren und die Einbindung zerstörter Schiffe sind okay, nur würde ich die Crewerfahrungsunterschiede nicht einfach nur voneinander abziehen, die sollen schon als eigener Multiplikator einfließen. Die eigenen Verluste abziehen find ich nicht nötig, weil auch Verluste Erfahrungen bringen, ist aber Geschmackssache. Man kann auch argumentieren, dass das Nichtvermeiden von übermäßigen Verlusten bestraft werden soll. Man könnte noch einen Multiplikator anhand der Überlegenheit vor Schlachtbeginn einzuführen, um Abschlachten unterlegener Flotten kaum Erfahrung bringen zu lassen. Hier könnte man die Anzahl aller gegnerischen Schiffe mal die Summe der Multiplikatoren durch dasselbe der Eigenen teilen und dranmultiplizieren.
Benutzeravatar
master130686
Kommodore
Kommodore
Beiträge: 1906
Registriert: Montag 21. August 2006, 16:01
Kontaktdaten:

Re: Crewerfahrung

Beitrag von master130686 »

Es is zwar möglich, aber negative Erfahrung wollte ich eigentlich nich. Ich dachte mir man könnte eine Bedingung einbauen, dass wenn das Ergebnis der Rechnung kleiner als 0 is, automatisch keine Erfahrung gewonnen wird.

Das mit den Crewerfahrungsunterschieden könnte man z.B. so machen:

(Erfahrung (eigene) / Erfahrung (Gegner)) * 10

Die "10" is dabei jene letzte 10 aus der Formel. Wenn die eigene Erfahrung also größer als die der Gegner is bekommt man weniger dazu und umgekehrt.
Mit dem Faktor für die Überlegenheit könnte man ähnlich verfahren wie mit der Crewerfahrung, also z.B.:

Summe der Multiplikatorwerte aller eigenen Schiffe / Summe der Multiplikatorwerte aller gegnerischen Schiffe


Kombiniert könnte das dann so aussehen:

(Formel) / (10 * (Erfahrung (eigene) / Erfahrung (Gegner)) * (Summe der Multiplikatorwerte aller eigenen Schiffe / Summe der Multiplikatorwerte aller gegnerischen Schiffe))

Um eine Division durch Null zu vermeiden sollte man von vorn herein 2 Formeln machen, wobei die Zweite Formel angewendet wird, wenn die gegnerische oder die Eigene Erfahrung "0" sind. In diesem Fall sollte die Formel so aussehen:

(Formel) / (10 * (Anzahl Schiffe (eigene) / Anzahl Schiffe (Gegner)) * (Summe der Multiplikatorwerte aller eigenen Schiffe / Summe der Multiplikatorwerte aller gegnerischen Schiffe))

Natürlich bringen auch Verluste Erfahrung, aber wie du schon sagtest sollte das "Nichtvermeiden von übermäßigen Verlusten bestraft werden". Idealerweise, aber vermutlich zu kompliziert zu implementieren (oder Puste?), wäre es hierbei für jede Rasse einen eigenen Wert zu haben, da so etwas ja z.B. bei den Khayrin viel schwerer wiegt als bei den Terranern.
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
Sir Pustekuchen
Administrator
Administrator
Beiträge: 4183
Registriert: Dienstag 10. Januar 2006, 16:46
Kontaktdaten:

Re: Crewerfahrung

Beitrag von Sir Pustekuchen »

Kompliziert nicht, wenn man es an einen bestehenden Wert koppeln könnte, zum Beispiel die Rasseneigenschaft.
Benutzeravatar
master130686
Kommodore
Kommodore
Beiträge: 1906
Registriert: Montag 21. August 2006, 16:01
Kontaktdaten:

Re: Crewerfahrung

Beitrag von master130686 »

Nun, als Referenzwert könnte man z.B. die Werte für das Verlieren einer großen Schlacht (Loose a major battle) aus der Moral.data.

Die zu erwartende Erfahrung könnte dann durch diesen Wert geteilt werden.

Oder man staffelt das noch. Wenn z.B. der Wert "6" wäre, könnte man sagen, dass z.B. bei einem Verlust von 75+ % die Erfahrung nur 1/5 von der is, die man ohne Verluste hätte erreichen können. Bei einem Verlust von 60-74 % gibt es nur 1/4, bei 44-59 % 1/3, bei 27-43 nur 1/2 und bei 10-16 % 3/4 der Erfahrung (man kann natürlich auch weniger Unterscheidungen machen).
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 »

Ein Problem gibt es noch mit der Formel, nämlich, dass sie für Kampfteilnehmer, die sich zurückziehen während des Kampfes und weniger Schaden gemacht haben als sie erhalten haben, meist 0 Erfahrung mitnehmen was etwas unbefriedigend ist. Deine Differenzformel liefert auch immer komplementäre Ergebnisse für Gegner und eigene Flotte, d.h. einer bekommt EP, der andere einen komplementären negativen Wert. Klar, momentan gibt es immer nur totale Gewinner und totale Verlierer, aber das ändert sich ja noch.
Benutzeravatar
Sir Pustekuchen
Administrator
Administrator
Beiträge: 4183
Registriert: Dienstag 10. Januar 2006, 16:46
Kontaktdaten:

Re: Crewerfahrung

Beitrag von Sir Pustekuchen »

Generell sollte es durch Verluste in eigenen Reihen nicht weniger Erfahrung geben. Manchmal lassen sich solche Verluste noch besser analysieren und man kann daraus mehr Erfahrung schöpfen als wären alle Schiffe am Leben geblieben. Ich würde denen sogar mehr Erfahrung geben. Am Besten wäre es, wenn nach einer Schlacht ein Erfahrungswert für die beteiligten Flotten vorliegt, welche dann auf die überlebenden Schiffe gleichmäßig verteilt wird. Das müsste ja genau durch die obigen Formeln berechnet werden können.

Wenn also an einer Schlacht 50 gegen 80 Schiffe kämpfen und es bleibt am Ende nur ein Kreuzer eines Imperiums übrig, so würde dieser alle Erfahrungspunkte bekommen. Er wäre dann legendär! Logisch ist dies natürlich auch zu erklären. Bei solch einer großen Schlacht als Einziger überlebt zu haben geht natürlich ich die Analen der Geschichte des betroffenen Imperiums ein. Überleben stattdessen 45 von den 50 Schiffen und die gegnerischen Schiffe sind alle zerstört, weil es vielleicht nur Scouts waren, dann bekommt jedes Schiff nur 1/45tel der Erfahrung des imaginären legendären Kreuzers.

Schlussendlich müsstet ihr euch auf eine Formel einigen, welche ich dann implementieren werde. Diese Formel sollte einen Wert während des Kampfes errechnen, welcher nach dem Kampf auf die übriggebliebenen Schiffe verteilt werden kann. Außerdem bin ich stark dafür, dass man schnell frühe höhere Erfahrungslevel erreicht. Nach ein oder zwei kleinen Kämpfen sollte man schon das nächste Level erreicht haben. Es bringt ja nix wenn der Spieler erst 100 Kämpfe machen muss, um überhaupt mal ein legendäres Schiff zu bekommen. So langlebig sind die Schiffe in BotE nämlich auch nicht. Es kommen ja ständig technologisch bessere.
Was sind denn deine 8 Stufen?
Namentlich existieren die nicht. Ich habe einfach die Schiffsstärken im Kampf modifiziert, wenn das Schiff eine bestimmte Grenze bei der Erfahrung übersteigt hat. Also 0, 500, 1000, 2000, 4000, 8000, 16000, 32000EP. Die Werte und Anzahl dieser Stufen kann ich noch beliebig verändern. So kann ich auch Malles Konzept implementieren.
Benutzeravatar
master130686
Kommodore
Kommodore
Beiträge: 1906
Registriert: Montag 21. August 2006, 16:01
Kontaktdaten:

Re: Crewerfahrung

Beitrag von master130686 »

Meine Formel soll ja auch nich nur 1 Mal für den Kampf angewendet werden. Sie ist immer aus Sicht der jeweiligen Rasse zu berechnen. Also wenn Cartarer gegen Khayrin kämpfen, dann wird die Formel einmal aus Sicht der Cartarer und einmal aus Sicht der Khayrin berechnet.
Wenn also an einer Schlacht 50 gegen 80 Schiffe kämpfen und es bleibt am Ende nur ein Kreuzer eines Imperiums übrig, so würde dieser alle Erfahrungspunkte bekommen.
Momentan würde der eine Kreuzer (basierend auf einer Schlacht von 50 vs 80 Cruiser 1, wobei der "letzte Kreuzer" aus den 50 is) 5759 Erfahrung bekommen.
Im umgekehrten Fall (also der "letzte Kreuzer" is von den 80) würde er 2104 Erfahrung bekommen.
Überleben stattdessen 45 von den 50 Schiffen und die gegnerischen Schiffe sind alle zerstört, weil es vielleicht nur Scouts waren, dann bekommt jedes Schiff nur 1/45tel der Erfahrung des imaginären legendären Kreuzers.
In diesem Fall würden die 5 überlebenden Schiffe (ausgehend von 50 Cruiser 1 vs 80 Scout 2) jeweils 20 (genau genommen 20,35555...) Erfahrung erhalten. Die gesamte gesammelte Erfahrung beträgt also 916.
Es bringt ja nix wenn der Spieler erst 100 Kämpfe machen muss, um überhaupt mal ein legendäres Schiff zu bekommen. So langlebig sind die Schiffe in BotE nämlich auch nicht. Es kommen ja ständig technologisch bessere.
Man könnte ja die ersten Level (ähnlich wie in BotF) Punktemäßig relativ nah beieinander ansiedeln, also dass die Abstände zwischen den Leveln von Level zu Level immer größer werden.
Man könnte auch gleich das Punktemodell von BotF übernehmen, also 700 -> 1500 -> 3500 -> 7000 (oder so ähnlich war das ja). Wobei man hier vielleicht noch ein paar zusätzliche Level bei 200, 1100, 2300 und 5200 einbauen könnte/sollte.

Hierdurch wäre ein relativ schnelles Wachstum am Anfang und ein etwas langsameres am Ende gewährleistet.


Ich hab die Formel ein wenig modifiziert/erweitert. So wird nun das Stärkeverhältnis, basierend auf meinen Multiplikatoren berücksichtigt, sowie die gesammte gesammelte Erfahrung durch die Anzahl der überlebenden Schiffe geteilt. Wohingegen ich die in meinem vorigen Post erwähnten Modifizierungen nicht mit einberechnet habe, da diese noch zu einer Division durch Null führen könnten.
Bei der Berechnung habe ich es so vorgesehen, dass negative Werte einfach mit -1 multipliziert werden und so positive Werte ergeben, so dass man immer, zumindest etwas, Erfahrung erhält. Im Anhang ist nochmal die modifizierte Excel-Version.

Die oben erstellten Berechnungen bzw. erzielten Erfahrungsgewinne basieren schon auf der neuen Formel.

Die neue Formel lautet:

(((Crewerfahrung (Gegner) + Schaden (Gegner) /1000 + zerstörte Schiffe (Gegner) * (Summe der Multiplikatorenwerte aller überlebenden gegnerischen Schiffe)) - (Crewerfahrung (eigene) + Schaden (eigene) /100 + zerstörte Schiffe (eigene) * (Summe der Multiplikatorenwerte aller überlebenden eigenen Schiffe))) / 10) * (Summe der Multiplikatorenwerte aller gegnerischen Startschiffe / Summe der Multiplikatorenwerte aller eigenen Startschiffe) / (Summe eigener Startschiffe - zerstörte Schiffe (eigene))
Dateianhänge
Crewerfahrung.rar
(2.53 KiB) 277-mal heruntergeladen
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
MTB
Flottenkapitän
Flottenkapitän
Beiträge: 683
Registriert: Donnerstag 12. Juni 2008, 15:37
Wohnort: Frankfurt

Re: Crewerfahrung

Beitrag von MTB »

@Puste:
Könntest Du die Erfahrung statt an diskreten Stufen nicht mit einem Schlüssel direkt auf die Kampfkraft umrechnen, im Stile von:
Kampfkraft = Kampfkraft (Schiffsbasis) * Erfahrung * Skalierungsfaktor?
Mit einem Skalierungsfaktor von 0,01 wären dann 200 Erfahrung ausreichend um doppelt so gut zu kämpfen wie ein frisch gebautes Schiff.
(und natürlich kann Skalierungsfaktor auch Skalierungsfaktor(Erfahrung) sein ...)
Besser ein lebender Feigling als ein toter Held
Benutzeravatar
Sir Pustekuchen
Administrator
Administrator
Beiträge: 4183
Registriert: Dienstag 10. Januar 2006, 16:46
Kontaktdaten:

Re: Crewerfahrung

Beitrag von Sir Pustekuchen »

@MTB:
Könnte man machen, ich finde die diskreten Stufen aber besser. Das läßt sich auch besser darstellen.

@master:
Die Formel schaut sehr gut aus und liefert super Werte. Bei den Multiplikatorwerten der Schiffe müsste man noch etwas rumspielen. Es gibt keinen Cruiser 1, 2, oder 3, sondern nur Cruiser. Dies gilt auch für alle anderen Schiffstypen. Da stehen also nur die verschiedenen Arten zur Verfügung. Also Scout, Jäger, Fregatte, Zerstörer usw.
Bei den Erfahrungsstufen lassen sich nun maximal 7 Stufen darstellen, wenn davon ausgegangen wird, dass ein Schiff auf der 1. Stufe (Level 0) kein Erfahrungssymbol bekommt. Es lassen sich also maximal 6 solcher "Kugeln" neben einem Schiff anzeigen. Sonst werden sie zu klein und es sieht nicht mehr gut aus.

Wenn ich die Stufen von Malle aufgreife und etwas modifiziere wären diese dann:

Level 0 (0 EP) Greenhorn
Level 1 (250 EP) Anfänger
Level 2 (500 EP) Normal
Level 3 (1000 EP) Profi
Level 4 (2500 EP) Veteran
Level 5 (5000 EP) Elite
Level 6 (10000 EP) Legendär
Benutzeravatar
master130686
Kommodore
Kommodore
Beiträge: 1906
Registriert: Montag 21. August 2006, 16:01
Kontaktdaten:

Re: Crewerfahrung

Beitrag von master130686 »

Das mit Cruiser 0, 1 usw. is aus Malles Schiffsunterhalt (http://birth-of-the-empires.de/phpBB3/v ... 70&start=0). Ingame bzw.für die Formel sehe ich 2 Möglichkeiten. Entweder man vergibt für die Schiffe ID's (wie bei den Gebäuden), und ordnet denen dann den Multiplikator zu, oder man weist dem Mutliplikator direkt den Klassen zu.

Die Darstellung der Erfahrungswerte ließ sich auch ähnlich dem Prinzip aus der Total War-Reihe umsetzen (bestimmt gibt es das auch noch anderswo, aber ich kenn mich da nich so aus).

In TW gibt es 9 Erfahrungsstufen. Jede Stufe ist ein ^, wobei immer maximal 3 ^ untereinander sind und die Stufen 1-3 Bronze, 4-6 Silber und 7-9 Gold sind (also bei Stufe 3 werden drei bronzene ^ angezeigt und bei Stufe 4 ein silbener).

Ähnlich könnte man es hier handhaben. Wobei ich sowieso dafür wäre für jede Rasse ein eigenes Symbol zu haben (wie in BotF), auch wenn es vielleicht schwierig wird 7 verschiedene Symbole zu finden.



Wie is das eigentlich mit der Erfahrung bei Dezimalstellen?
Ich hab mal als Beispiel eine Kampf von 5 vs 5 Scout 0 durchgerechnet wo 2 eigene und 4 gegnerische Scouts zerstört werden.
Der gesamte Erfahrungsgewinn (der eigenen Schiffe) liegt bei 1, also bekommt jeder 0,333... EP bekommen würde. Bekommt das Schiff diese dann und hat somit nach 3 solchen Kämpfen 1 Punkt? Oder wird gerundet?
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
Sir Pustekuchen
Administrator
Administrator
Beiträge: 4183
Registriert: Dienstag 10. Januar 2006, 16:46
Kontaktdaten:

Re: Crewerfahrung

Beitrag von Sir Pustekuchen »

Zu kompliziert soll es nicht werden. Der Nutzer soll sofort erkennen, welches Schiff wieviel Erfahrung hat. Er soll sofort unterscheiden können, ob ein Schiff besser als ein anderes ist. Farben und verschiedene Symbole sind da eher hinterlich.

Den Multiplikator fest an eine Schiffsklasse zu koppeln oder irgendwie anders fest zu machen funktioniert nicht. Dadurch wäre das Spiel nicht mehr modbar. Es muss also an irgendwas fest gemacht werden, was so nicht modifiziert werden kann. Das sind nunmal die Schiffstypen. Diese kann man nicht ändern und sie werden auch so schon im Programm als feste Größe beachtet.

Hier ist mal das, was ich mit dem Paint.NET und XnView für die Erfahrungsstufen erschaffen habe. Ingame sieht es gut aus, habe da auch schon anderes probiert.
EP_Übersicht.png
EP_Übersicht.png (1.81 KiB) 7588 mal betrachtet
Bekommt das Schiff diese dann und hat somit nach 3 solchen Kämpfen 1 Punkt? Oder wird gerundet?
Es wird immer abgerundet. Somit bekommt das Schiff 0 EP.
Benutzeravatar
Malle
Großadmiral
Großadmiral
Beiträge: 6948
Registriert: Montag 13. November 2006, 15:16

Re: Crewerfahrung

Beitrag von Malle »

Wie wärs mit Schiffstyp mal Durchschnittstechanforderung der Klasse mal Gewicht? So hätte man den Cruiser 0, 1 oder 2 auf die Tour dargestellt. Kontinuierliche statt diskrete Werte kann man ja über Intervallangabe machen. Es wird nur diskret dargestellt, aber intern kontinuierlich gerechnet so wie MTB es angegeben hat. Nicht jeder Veteran ist gleich Veteran, da gibt es auch langgediente Veterane und gradeerst Veterane, was sich am "Punktestand" widerspiegelt. Dennoch gibt die diskrete Darstellung immer noch genügend Hinweise darauf wie gut ein Schiff ungefähr ist.

Die Grafiken sehen klasse aus!
Benutzeravatar
master130686
Kommodore
Kommodore
Beiträge: 1906
Registriert: Montag 21. August 2006, 16:01
Kontaktdaten:

Re: Crewerfahrung

Beitrag von master130686 »

Ok, wie wäre es dann mit diesen Multiplikatoren, gekoppelt an den Schiffstyp?

Wert----Typ
0,5____Probe
1______Colony & Transport
1,5____Scout
2______Fighter/Hunter
2,5____Frigate
3______Destroyer
4______Destroyer (Heavy)
5______Cruiser
6______Cruiser (Heavy)
7______Battleship
8______Flagship
9______Outpost
10_____Starbase


Das sieht ganz gut aus. Wie isn das Ingame zu erkennen? Vor allem wie lassen sich die Unterschiede zwischen den Stufen erkennen - also z. B. 3 zu 4 oder 4 zu 5?

Ich fände eine Übersicht á la

*
---------------
**
---------------
**
*
---------------
**
**
---------------
**
**
*
---------------
**
**
**

günstiger. Nicht nur, dass es sowohl horizontal als auch vertikal weniger Platz benötigt, durch diese Platzeinsparung könnte man die Symbole auch etwas größer machen und/oder etwas weiter auseinander oder noch etwas anderes, was die Übersichtlichkeit erhöht.
Wie wärs mit Schiffstyp mal Durchschnittstechanforderung der Klasse mal Gewicht?
Was für ein Gewicht?

Ich finde diese Erweiterung gut, würde es aber noch durch 5 Teilen. Denn sonst hätte man z.B. bei einem Tech10 Schiff (z.B. Flagship) einen Multiplikator von 80, das finde ich ein wenig hoch (bei /5 wären es nur 16).

Zudem gibt diese Formel das Problem auf, dass alle Schiffe, die nicht mind. 3x Tech1 als Voraussetzung haben, einen Multiplikator von 0 hätten (auch ohne die /5-Teilung) - was u.a. in der Formel wieder zu Problemen führen würde.
Vor allem die die AT-Class Frigate, alle Typ1 Outposts, alle Typ1 Scouts und der Rok'Hanar Fighter Fighter sollten einen Multiplikator von mind. 1 haben (Outposts weit mehr), während Typ1 Kolos und Transen bei 0 bleiben können.

Edit:
Mir is grade eingefallen, dass man die Techvoraussetzung doch einbauen kann, nämlich wenn man diese zu einem festen Multiplikatorwert (z.B. mein neuer Vorschlag) addiert, anstelle diese zu multiplizieren.

Dadurch hätte man einen minimalen Multiplikator von 0,5 und einen maximalen von 20. Und es würde nie eine Multiplikation mit oder eine Division durch 0 geben.
Zuletzt geändert von master130686 am Montag 20. Oktober 2008, 16:50, insgesamt 1-mal geändert.
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
MTB
Flottenkapitän
Flottenkapitän
Beiträge: 683
Registriert: Donnerstag 12. Juni 2008, 15:37
Wohnort: Frankfurt

Re: Crewerfahrung

Beitrag von MTB »

Malle hat geschrieben:Dennoch gibt die diskrete Darstellung immer noch genügend Hinweise darauf wie gut ein Schiff ungefähr ist.
In Richtung "Erfahrungsklasse" statt diskrete Stufe. Und man hätte permanent was von der Erfahrung, keine seltsamen Sprünge.
Besser ein lebender Feigling als ein toter Held
Benutzeravatar
MTB
Flottenkapitän
Flottenkapitän
Beiträge: 683
Registriert: Donnerstag 12. Juni 2008, 15:37
Wohnort: Frankfurt

Re: Crewerfahrung

Beitrag von MTB »

@Formeln: Der Unterschied der Erfahrungen der beteiligten Flotten ist doch schon in der Kampfkraft - wär's da nicht einfacher, sowas wie:
Erfahrung = [Kampfkraft (eigene) nach der Schlacht - Kampfkraft (eigene) vor der Schlacht] * [Kampfkraft (Gegner) nach der Schlacht) - Kampfkraft (Gegner) vor der Schlacht]
einfacher?
Und ich gehe mal davon aus, das in den Kampfalgorithmen schon eine "Kampfkraft" berechnet wird - unter Einbeziehung der Crewerfahrungen.
Besser ein lebender Feigling als ein toter Held
Antworten

Zurück zu „Ships“