Pet-Features | [Alle Ideen hier hinein!]

In dieses Unterforum kommen alle Beiträge zu Feature-Requests, die bereits umgesetzt wurden.
Baaam
Core Developer
Beiträge: 967
Registriert: Mo 23. Dez 2013, 14:13
Hat sich bedankt: 172 Mal
Danksagung erhalten: 206 Mal

Re: Pet-Features | [Alle Ideen hier hinein!]

Beitrag von Baaam »

Zum 2. Edit:

Wohl eher nicht, denke ich. Also eventuell :D Unsere aktuelle Taktik ist alle Probleme in den Griff zu bekommen - gelingt uns, wie man anhand der offenen Bugthreads im Bugforum sieht recht gut. Und auch erst dann wollen wir die Pets anfassen.

Ich denke Dinge wie Eier einlösen und füttern (wenn dann die finale Strategie mit allen Optionen steht) sind eine Sache, die wir "relativ" schnell hinbekommen. Bei der Petarena mach ich euch jetzt mal nicht viel Hoffnung, dass die schon im nächsten Update kommt => Also streng genommen wird es dann schon eine iterative Veröffentlichung, allerdings werden trotzdem vorher Bugs gefixt etc. - wir können bzw. wollen eigentlich auch nicht ein Update veröffentlichen nur um das Eier einlösen zu releasen, wenn wir dann noch alte Bugs mit rumschleppen.
Folgende Benutzer bedankten sich beim Autor Baaam für den Beitrag:
Nuwisha (Di 21. Jun 2016, 18:56)
Nuwisha
Beiträge: 79
Registriert: Sa 31. Mai 2014, 06:49
Hat sich bedankt: 118 Mal
Danksagung erhalten: 19 Mal

Re: Pet-Features | [Alle Ideen hier hinein!]

Beitrag von Nuwisha »

Nicht ganz das, was ich gehofft habe, aber immerhin eine klare und sachliche Aussage mit nachvollziehbarer Begründung.
Damit kann ich leben. (y)
Das hier ist mir auf jeden Fall um Längen lieber, als die Arroganz und der beißende Sarkasmus/Zynismus, der einem im
offiziellen Forum ständig um die Ohren gehauen wird.

Meine Prioliste ist Folgende:
1. Alles, was automatisch durch korrekte Verwendung (nicht einfach wegwerfen/verkaufen :twisted:) im Inventar Platz schafft
--> Es nervt, das Inventar ständig manuell putzen zu müssen
2. Suche nach neuen Pets
--> Um nicht Mitternacht vor dem Rechner hocken zu müssen
2. Kämpfe gegen Habitatgegner
--> Um die pilzfreien Kampfversuche besser ausnutzen zu können
3. Kämpfe gegen Mitspieler
--> Schon auch nett aber das ist verhältnismäßig wenig manueller Aufwand

Ja, die 2 ist doppelt aber die beiden sind für mich ziemlich gleichwertig.
Wsxobylydob
Beiträge: 311
Registriert: So 27. Jul 2014, 15:00
Hat sich bedankt: 27 Mal
Danksagung erhalten: 51 Mal

Re: Pet-Features | [Alle Ideen hier hinein!]

Beitrag von Wsxobylydob »

Mir ist für das Pet-Füttern eben gerade folgender Algorithmus eingefallen:

Folgende Routine wird für alle 5 Elemente durchgeführt:
Habitat-Gegner finden:
Für jedes Pet, das ein Spieler hat, wird zunächst die Siegchance per Arenasimulation für den aktuellen Gegner im Habitat berechnet. Ist die Siegchance für ein Pet über X %, dann wird diese Berechnung für den nächsten danach kommenden Habitatgegner durchgeführt und so weiter, bis man einen Gegner gefunden hat, den kein Pet ohne Levelup besiegen würde* (Welches Pet wäre für die zukünftigen Habitat-Gegner gut geeignet zum Füttern, da aktuelle Gegner zu besiegen* sind).
Findet man keinen Gegner, weil mindestens ein Pet alle noch anstehenden Habitat-Gegner besiegen würde oder das Habitat bezwungen wurde, dann tritt Kriterium Y ein. (Y wird in den Einstellungen festgelegt und kann letztes Pet füttern, Pet mit höchstem Level füttern, Futter wegwerfen, ... sein)

Ziellevel berechnen:
Hat man nun einen Habitat-Gegner gefunden, wird für jedes einzelne Pet, das der Spieler hat, folgendes gemacht: Für jedes weitere Level für dieses Pet (Ausgehend vom Level des Pets bis Siegchance >= X oder Level=100) wird die Siegchance am Habitat-Gegner berechnet.
Heißt man weiß dadurch bei welchem Level ein Pet den Habitat-Gegner schaffen würde*. (Dieses Level wird gespeichert)

EDIT:
Optimierung: Ziellevel berechnen
Um die Anzahl der Berechnungen pro Pet auf maximal 7 zu reduzieren (und nicht wie bei manchen Pets theoretisch 50 oder mehr), wird folgendes gemacht:
Untere Schranke = aktuelles Level des Pets
Obere Schranke = 100
Nun wird immer der Durchschnitt zw. der unteren und oberen Schranke gebildet. Der Durchschnitt wird in jedem Fall abgerundet.
Jetzt wird die Siegchancenberechnung für den Durchschnitt durchgeführt.
Liegt die Siegchance für den Durchschnitt >= X, ist Obere Schranke = Durchschnitt.
Liegt die Siegchance für den Durchschnitt < X, ist Untere Schranke = Durchschnitt.

Dies wird solange durchgeführt bis Untere Schranke und Obere Schranke nur 1 [Level] von einander entfernt sind; also wenn "Untere Schranke + 1 == Obere Schranke".
Dann ist Obere Schranke das Ziellevel.
Code: http://pastebin.com/Yfv8eVYY

Zudem um die Berechnungen gering zu halten, kann man auch zu Beginn die Siegchancenberechnung für Level 100 für das Pet durchführen, um zu schauen, ob man überhaupt diese Technik anwenden muss, und ob man sich nicht die 6/7 Berechnungen sparen kann, da dieses eh nicht gefüttert wird, falls für Level 100 Siegchance < X liegt (s. Abschnitt "Kein Pet kann den Habitat-Gegner besiegen*?:").

Attribut-Berechnung für bestimmtes Pet mit bestimmten Level:
Faktor wird ausgewählt:
Pet-Nr. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Faktor 10 11 12 13 14 16 18 20 25 30 35 40 50 60 70 80 100 130 160 160

Vor-Basis = Faktor * (Level+1)
Rudel-Bonus = Vor-Basis * (0,05 * Rudel) Rudel: Anzahl der Pets im Rudel
Basis = Vor-Basis + Rudel-Bonus

Hauptattribut: Basis
Nebenattribut: Basis/2
Ausdauer: Basis
Glück: Basis * 0,75
Rüstung: Maximal-Wert der Klasse (10,25,50 %) http://forum.sfgame.de/showthread.php?t=74248
Waffenschaden:

Damage-Multi:
Magier 4,5
Kundschafter 2,5
Krieger 2
Waffenschaden = Damage-Multi * (Level+1)

Quelle für Attributsberechnung:
https://docs.google.com/spreadsheets/d/ ... =500316837
http://forum.sfgame.de/showthread.php?t=73984&page=2 (Post #12)

Auswahl für das Füttern:
Für jedes Pet wird dann die Differenz zw. aktuellem Level des Pets und dem Ziellevel berechnet.
Das Pet, welches die kleinste Differenz hat, wird gefüttert, da dieses Pet am wenigsten Futter braucht, bis es den Habitat-Gegner besiegen* könnte. (Ausgewähltes Pet wird gespeichert)
Dies ist manchmal das letzte Pet oder das mit dem höchsten Level. Dadurch wird die meiner Meinung nach sinnvollste Entscheidung für das Füttern getroffen.

EDIT: Falls Differenz bei mehreren Pets gleich ist, wird immer das von der Position her am weitesten hinten liegende Pet gefüttert.

Dadurch werden auch die Vorschläge von TerryS abgedeckt:
TerryS hat geschrieben:I really see three different options in feeding pets.

1) Always feed the highest level creature.
2) Always feed the highest base position creature. (The further down you go, the more each food gives, so theoretically there's a time when it's cost effective to move.)
3) Feed highest level creature until there's a new creature X slots further down. (That's basically what I'm trying right now, with X being 5.) X being a selection of how many positions.
Kein Pet kann den Habitat-Gegner besiegen*?:
Wenn selbst bei Level 100 (zum Beispiel die Anfangspets) die Siegchance eines Pets gegen den Habitat-Gegner immer noch nicht X übersteigt, dann wird dieses Pet wahrscheinlich nie den aktuellen Habitat-Gegner besiegen* können.
-> Pet wird für die Auswahl ignoriert, da Füttern nichts bringt.
Wenn alle Pets selbst bei Level 100 den Habitat-Gegner nicht schaffen, dann tritt Kriterium Y ein, da dann ein passendes Pet wahrscheinlich noch nicht gefunden wurde. (Y: siehe Abschnitt "Habitat-Gegner finden:")

Optimierung:
Da dies manchmal 100 Arenasimulationen und Attributsberechnungen seien können (mir fallen immer so ressourcenfressende Algorithmen ein :) ), wird diese Routine nur bei einer Änderung aufgerufen:
Pet-Daten** werden gespeichert, um Änderungen beim Botstart feststellen zu können und um dann gegebenenfalls die Routine aufzurufen.

"Änderung" heißt:
-ausgewählter Habitat-Gegner (siehe Abschnitt "Habitat-Gegner finden:") wurde besiegt -> Neuer Habitat-Gegner muss gefunden werden
-ein Pet erreicht das berechnete Ziellevel (siehe Abschnitt "Ziellevel berechnen:") und kann dadurch den ausgewählten Habitat-Gegners theoretisch besiegen* (Siegchance >= X). -> Neuer Habitat-Gegner muss gefunden werden
-Neues Pet wurde gefunden/existiert. -> Routine wird nur für dieses Pet durchgeführt:
---> Kann dieses Pet den ausgewählten Habitat-Gegner besiegen*?
---> Ja: Neuer Habitat-Gegner muss gefunden werden
---> Nein: Nur die Ziellevel für alle Pets müssen neu berechnet werden, aufgrund des Rudelbonus auf die Attribute. Habitat-Gegner bleibt gleich
EDIT: Das funktioniert nicht, da durch den Rudelbonus möglicherweise Pets den gewählten Habitat-Gegner besiegen könnten, sodass ein neuer gefunden werden muss. Daher ignoriert den letzten Punkt. Müsste eigentlich heißen:
-Neues Pet wurde gefunden/existiert


"Neuer Habitat-Gegner muss gefunden werden" = komplette Routine aufrufen

* "Habitat-Gegner besiegen" heißt immer Siegchance >= X % (X wird in den Einstellungen festgelegt und kann z.B. 90 % sein)
** Pet-Daten pro Element:
-Ausgewählter Habitat-Gegner
-Ausgewähltes Pet + Ziellevel dieses Pets
-Pets, die der Spieler hat

Habitat-Gegner meint immer den durch die Routine ausgewählten Habitat-Gegner.

MfG

Wsx...
Zuletzt geändert von Wsxobylydob am Di 20. Sep 2016, 21:24, insgesamt 1-mal geändert.
Folgende Benutzer bedankten sich beim Autor Wsxobylydob für den Beitrag:
Nuwisha (Mo 27. Jun 2016, 21:43)
Wsxobylydob
Beiträge: 311
Registriert: So 27. Jul 2014, 15:00
Hat sich bedankt: 27 Mal
Danksagung erhalten: 51 Mal

Re: Pet-Features | [Alle Ideen hier hinein!]

Beitrag von Wsxobylydob »

#Optimierung für Ziellevel-Berechnung hinzugefügt
Polydoros95
Beiträge: 35
Registriert: Mo 2. Mär 2015, 02:14
Hat sich bedankt: 2 Mal
Danksagung erhalten: 7 Mal

Re: Pet-Features | [Alle Ideen hier hinein!]

Beitrag von Polydoros95 »

Mir wäre es wichtig das ich dem Bot vorgeben kann welche Pets er füttern soll. Als Beispiel eine Liste wie bei den Prios wie der Bot Questen soll. Wichtig das ich auch sagen kann das unentdeckte Pets auf platz 1 stehen können und sobald ich das dann habe füttert er nur noch dieses.

Beim Kampf evtl diesen Rechner verwenden. https://docs.google.com/spreadsheets/d/ ... 1170714442 und er soll das beste Pet für den nächsten Habitat wählen und ich kann einstellen ab wieviel % Gewinnchance er die Habitats versuchen soll.
Benutzeravatar
seboka
Beiträge: 240
Registriert: Mo 4. Jan 2016, 15:24
Hat sich bedankt: 6 Mal
Danksagung erhalten: 12 Mal

Re: Pet-Features | [Alle Ideen hier hinein!]

Beitrag von seboka »

Polydoros95 hat geschrieben:Mir wäre es wichtig das ich dem Bot vorgeben kann welche Pets er füttern soll. Als Beispiel eine Liste wie bei den Prios wie der Bot Questen soll. Wichtig das ich auch sagen kann das unentdeckte Pets auf platz 1 stehen können und sobald ich das dann habe füttert er nur noch dieses.

Beim Kampf evtl diesen Rechner verwenden. https://docs.google.com/spreadsheets/d/ ... 1170714442 und er soll das beste Pet für den nächsten Habitat wählen und ich kann einstellen ab wieviel % Gewinnchance er die Habitats versuchen soll.
Gute Idee!
james
Beiträge: 5
Registriert: Di 16. Mai 2017, 22:00
Hat sich bedankt: 0
Danksagung erhalten: 3 Mal

Re: Pet-Features | [Alle Ideen hier hinein!]

Beitrag von james »

Habt ihr die Möglichkeit durch den bot, die 5 vorgeschlagenen Pet- Gegner anzugreifen? Dies kann ja nur alle 15 min geschähen. Zeitmäßig wäre das eine große Hilfe-
mfg james
yrdissia
Beiträge: 50
Registriert: So 21. Mai 2017, 17:32
Hat sich bedankt: 0
Danksagung erhalten: 6 Mal

Re: Pet-Features | [Alle Ideen hier hinein!]

Beitrag von yrdissia »

Hi,
vielleicht könnte noch eine Checkbox eingerichtet werden, um die Pet-Arena-Kämpfe erst nach den Quests starten zu lassen.

Gruß yrdissia
Baaam
Core Developer
Beiträge: 967
Registriert: Mo 23. Dez 2013, 14:13
Hat sich bedankt: 172 Mal
Danksagung erhalten: 206 Mal

Re: Pet-Features | [Alle Ideen hier hinein!]

Beitrag von Baaam »

Theoretisch kein Problem, kannst du kurz die Idee dahinter erläutern? :D
yrdissia
Beiträge: 50
Registriert: So 21. Mai 2017, 17:32
Hat sich bedankt: 0
Danksagung erhalten: 6 Mal

Re: Pet-Features | [Alle Ideen hier hinein!]

Beitrag von yrdissia »

Ich brauche die Plätze im Rucksack während der Quests, damit ich die richtigen Items dem Schmied geben kann. Wenn vorher die Pet-Arena bereits lief verbleiben Früchte im Rucksack, da ich nur ein einziges Pet bis max Leveln möchte. Da der Bot nun aber keine Regeln hat, welche Items dem Schmied zum zerlegen gegeben werden muss ich es manuell machen. Mit Früchten im Rucksack dann eben während der Quests, was die Idee des Bots im Wesen eigentlich konterkariert.

Wenn die Pet-Arena nach den Quests läuft bleiben ggf. Früchte im Rucksack, was nicht schlimm ist, werden die doch nach Mitternacht verfüttert.

Gruß Yrdissia
Folgende Benutzer bedankten sich beim Autor yrdissia für den Beitrag:
Baaam (Fr 13. Okt 2017, 15:46)
Gesperrt

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast