Ja das mit der Crew-Erfahrung...
Darüber habe ich mir auch ziemlich den Kopf zerbrochen. Verursachter Schaden? Verursachter Schild- oder/und Hüllenschaden? Erfolgreicher Treffer? Überlebende Hüllenpunkte? Aufteilen auf alle überlebenden Schiffe? Jedes Schiff für sich? Usw...
Ich hatte damit zu kämpfen, daß die Programmierung der Raumschlachten auf mehrere Skriptdateien aufgeteilt ist (wahrscheinlich durch Fortschreiten der Programmierung in den verschiedenen Versionen bedingt). Und nicht in jeder konnte ich alle Daten, die ich gerne gehabt hätte, aufrufen. Torpedotreffer(wahrscheinlichkeit) z. B. in der torpedo.cpp bezieht sich auf Torpedo und Zielschiff - das feuernde Schiff wird hier nicht benötigt und die Crew-Erfahrung von selbigem konnte ich nicht ohne Errormeldung aufrufen.
Die meisten Daten waren in der CombatShip.cpp verfügbar (nicht aber z. B. ob ein Torpedo getroffen hat - die PerhapsImpact-Funktion ließ sich partout nicht fehlerfrei aufrufen).
Die ursprüngliche Idee Schaden = Exp. habe ich wieder verworfen, da sonst die Schlachtschiffe sehr schnell und die Aufklärer sehr langsam Erfahrung gewinnen - und zwar bei den Torpedoschäden sehr deutlich (Verhältnis teilweise über 1:10, mit Micro-Versionen sogar bis zu 1:100). Und erfolgreiche Treffer? Geht auch nicht, da z. B. die Anzahl der Beams zwischen 2 und über 40 (Sternenbasis) liegen.
Letztlich kam mir aber doch eine Idee: Eine Mischung aus beiden Ansätzen geht - mit den verfügbaren Funktionen in der ComabtShip.cpp.
Die Torpedos machen Schaden, und jedesmal wenn dies passiert gibt es einen festen Erfahrungsgewinn, nämlich 20 Punkte ("damage += FireTorpedo(pCT, i, targetKO, boni);" und dann "m_pShip->SetCrewExperiance(20);").
Bei den Beams sind die Schäden nicht so unterschiedlich, wie bei den Torpedos (max. 1:2,8), aber die mit höherem Schaden sind wesentlich seltener verbaut (vor allem die beiden Ausreißer mit 1:17-fachem Schaden, aber auch sehr langer Recharge time) und die mit niedrigem Schaden wesentlich häufiger auf einem Schiff. Hier konnte ich also mit modifiziertem Schaden arbeiten ("AddExp = 1 + int (beamDamage/5);" und dann "m_pShip->SetCrewExperiance(AddExp);").
Ergibt im ganzen bei (getesteten) Kämpfen Ein-Schiff-gegen-Ein-Schiff je nach Länge (und Zähigkeit) der Kämpfe zwischen 300 und 700 Punkten Erfahrungsgewinn (auch bei großen, starken Schiffen nur geringfügig mehr als bei kleinen Schiffen). Also habe ich die Erfahrungsstufen noch angepaßt und den "freien" Erfahrungsgewinn (Runde für Runde) etwas abgesenkt.
Ein erstes Spiel (ca. 200 Runden als Romulaner) sieht ganz gut aus - bei epischen Schlachten mit wenigen Überlebenden gibts dann schon mal 2 Stufen dazu (in Ausnahmefällen auch mal 3), ansonsten kleinere Erfahrungsgewinne.
Die Formeln sind einfach, aber erstsaunlicherweise tatsächlich brauchbar. Und sie funktionieren auch bei drei oder mehr am Kampf beteiligten Parteien einwandfrei! Schiffe, die bei großen Flotten in einem Kampf nicht zum Zuge kommen, weil der Gegner schon sehr früh besiegt wurde, bekommen natürlich auch kein Erfahrung. Und Außenposten/Sternenbasen, die - kaum gebaut - schon von der KI mit ordentlichen Flotten wieder zerstört werden, haben ein höhere Überlebenschance, da sie schneller an Erfahrung gewinnen (eine Basis gegen viele Schiffe...), wenn sie denn mal überleben...
Star Trek MOD V2.1 by lordgeorge1
-
- Senior Kadett
- Beiträge: 47
- phpbb forum styles
- Registriert: Mittwoch 3. Oktober 2007, 14:03
- Wohnort: München
- master130686
- Kommodore
- Beiträge: 1906
- Registriert: Montag 21. August 2006, 16:01
- Kontaktdaten:
Re: Star Trek MOD V2.1 by lordgeorge1
Naja... klingt ja, zumindest so lange das Ergebnis (=der Erfahrungsgewinn) IMMER gut/angemessen ist, ganz gut. Vielleicht bewährt sich diese Formel ja - denn wir suchen ja eine (gute/brauchbare) Formel für die nächste Version.
Hast du dir zu diesem Thema schonmal die ursprüngliche Diskussion zu diesem Thema (http://birth-of-the-empires.de/phpBB3/v ... 252#p24252)angeguckt?
Wäre es dir möglich meine beiden neuesten Formeln mal zu implementieren und zu testen?
Ist die Erfahrung bei dir auch im Schiffs-Tooltip zu sehen? Oder durchsuchst du dafür nach jedem Kampf die Schiffs-Übersicht? Evtl. sogar noch die in dem unmittelbar zuvor geschehenen Kampf gesammelte Erfahrung in Klammern dahinter (diese Anzeige verschwindet also wieder in der darauffolgenden Runde, außer das Schiff war erneut an einem Kampf beteiligt - oder es steht dann halt "(+0)" da) - falls das möglich und nicht zu kompliziert ist.
Hast du dir zu diesem Thema schonmal die ursprüngliche Diskussion zu diesem Thema (http://birth-of-the-empires.de/phpBB3/v ... 252#p24252)angeguckt?
Wäre es dir möglich meine beiden neuesten Formeln mal zu implementieren und zu testen?
Ist die Erfahrung bei dir auch im Schiffs-Tooltip zu sehen? Oder durchsuchst du dafür nach jedem Kampf die Schiffs-Übersicht? Evtl. sogar noch die in dem unmittelbar zuvor geschehenen Kampf gesammelte Erfahrung in Klammern dahinter (diese Anzeige verschwindet also wieder in der darauffolgenden Runde, außer das Schiff war erneut an einem Kampf beteiligt - oder es steht dann halt "(+0)" da) - falls das möglich und nicht zu kompliziert ist.
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)
-
- Senior Kadett
- Beiträge: 47
- Registriert: Mittwoch 3. Oktober 2007, 14:03
- Wohnort: München
Re: Star Trek MOD V2.1 by lordgeorge1
Die Schiffserfahrung ist bei mir nur im Tooltip zu sehen.
@master130686: Deine Formel kann ich nicht implementieren - da werden gleich so viele Daten benötigt, daß ich erst recht in die oben beschriebene Problematik rein rutsche...leider.
@master130686: Deine Formel kann ich nicht implementieren - da werden gleich so viele Daten benötigt, daß ich erst recht in die oben beschriebene Problematik rein rutsche...leider.
-
- Senior Kadett
- Beiträge: 47
- Registriert: Mittwoch 3. Oktober 2007, 14:03
- Wohnort: München
Re: Star Trek MOD V2.1 by lordgeorge1
Ich wollte noch kurz mitteilen: Der MOD V3.0 ist seit heute online!
- master130686
- Kommodore
- Beiträge: 1906
- Registriert: Montag 21. August 2006, 16:01
- Kontaktdaten:
Re: Star Trek MOD V2.1 by lordgeorge1
Schade. Na dann muss das doch Puste machen. Aber vielleicht reicht ihm (und den/uns anderen) ja auch deine Version...Deine Formel kann ich nicht implementieren - da werden gleich so viele Daten benötigt, daß ich erst recht in die oben beschriebene Problematik rein rutsche...leider.
Wie Puste schonmal zu diesem Thema sagte (sinngemäß): So lange das Ergebnis stimmt, ist der Weg egal.
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)
Re: Star Trek MOD V2.1 by lordgeorge1
lordgeorge1 hat geschrieben:Ich wollte noch kurz mitteilen: Der MOD V3.0 ist seit heute online!
Danke, Danke, aber leider komme ich nicht über die erste Runde hinaus, dann hängt sich das Spiel auf.....
edit: liegt wahrscheinlich an Win7 64bit, auf WinXP läuft es...... ( immer diese alten Dinger, die auf modernen Rechnern nicht richtig funktionieren), ich werd weiter schaun und Ergebnisse posten
Re: Star Trek MOD V2.1 by lordgeorge1
bei mir (Vista) läuft 3.0 (3.0 hat übrigens einen eigenen Thread, hier: http://birth-of-the-empires.de/phpBB3/v ... =46&t=1912 )
Wiki - English Wiki - Homepage - Kategorien - A-Z