Antworten
Seite 1 von 129 1 2 3 11 51 101 ... LetzteLetzte
Ergebnis 1 bis 10 von 1282

Thema: [Simulator] Neuer Kampfsimulator / Kampfoptimierer

  1. #1
    Wuseler Avatar von Kaventsmann
    Registriert seit
    Feb 2011
    Beiträge
    474
    Welt
    Steppenwald

    [Simulator] Neuer Kampfsimulator / Kampfoptimierer

    Hallo,

    ich hab mich mal hingesetzt und einen kleinen Kampfsimulator gebaut. Als kleines Extra sollte der auch die optimale Anzahl der Angriffseinheiten finden.
    Das ganze ist noch im Beta Status und mit Sicherheit wuselt der eine oder andere Bug noch mit rum ;-) Darum ist jeglicher Fehlerreport erwünscht :-D

    http://www.siedler-online-wiki.de/kampfsimulator/

    Französisch
    http://www.settlersonlinetools.com/f...eur_de_combat/

    Weiter Features werden folgen. Man darf gespannt sein ;-)

    Gruß

    Euer Kaventsmann

    Beschreibung
    • die Einheitenanzahl ist wie im Spiel begrenzt. Also 201 Einheiten des Spielers (inkl. General) und 200 Einheiten auf Seiten der CPU
    • "Simulationen pro Kombination": Gibt die Anzahl an, wie oft eine Angriffskombination angreifen soll. Je höher der Wert ist, umso besser kann man die Streuung des Ergebnisses messen.
    • "Finde die optimalen Angreifer": Wird diese Option aktiviert, wird nach der optimalen Angriffskombination gesucht. Auf der linken Seite müssen dazu die Einheitentypen gewählt werden, die bei einem Angriff in Betracht kommen. Je mehr Einheitentypen gewählt werden, umso mehr Simulationen müssen durchgeführt werden. Es werden nur Kombinationen mit maximaler Einheitenanzahl auf Seiten des Spielers simuliert.
    • "Schrittweite": Gibt an, wie genau die Suche nach der optimalen Kombination durchgeführt werden soll. Achtung: Diese Option hat extrem hohen Einfluss auf die Anzahl der zu simulierenden Kombinationen!!! Je kleiner der Wert, umso genauer ist das Ergebnis aber umso mehr Kombinationen müssen geprüft werden. Wird hier beispielsweise der Wert "5" gewählt, so werden folgende Kombinationen simuliert (nur mit den Einheitetypen Rekruten und Milizen):
      200 Rekruten 0 Milizen
      195 Rekruten 5 Milizen
      190 Rekruten 10 Milizen
      ...

    Changelog:

    Version 1.0
    Features:
    - Simulation eines Kampfes und Errechnung der minimalen, maximalen und durchschnittlichen Verluste
    - Anzahl der Wiederholungen frei wählbar
    - Berechnung der optimalen Einheiten-Kombination (minimale Anzahl Verluste)
    - Prüfschrittweite frei wählbar
    - dynamische Auslastung, um ein Abstürzen des Flash Players / Browsers zu verhinden

    Version 1.1
    - Performance-Verbesserungen und geringerer Speicherverbrauch

    Version 1.2
    - Ausgabe der verbrauchten Resourcen
    - Top 20 der besten Kombinationen wählbar
    - Der Kampfsimulator ist jetzt mit dem Planer verknüpft:
    - Um den Simulator mit dem Planer nutzen zu können, klickt man auf seiner Planer-Seite auf den Link zum Simulator
    - Der Simulator zeigt nun an, welche Einheiten laut Planer gebaut werden können
    - Man kann nun nach einer Kombination suchen, bei der die Resourcen-Verluste am schnellsten wieder erwirtschaftet werden
    - ACHTUNG: Dieser Modus bringt nur sinnvolle Ergebnisse, solange es Kombinationen gibt, bei denen das Lager komplett geräumt wird
    Version 1.3
    - Neue Einheiten und Abenteuer integriert
    - Durchschnittliche Verluste werden nun auf eine Nachkommastelle genau angezeigt
    - Einheiten-Eigenschaften können per Mouse-Over eingesehen werden
    Geändert von Kaventsmann (02.12.11 um 17:30 Uhr)

  2. #2
    Architekt des Wuselimperiums
    Registriert seit
    Oct 2010
    Ort
    auf meinem eiland ;)
    Beiträge
    716
    Welt
    Grünland
    sieht schonmal nicht schlecht aus - ist aber ganz schön langsam..

  3. #3
    Wuseler
    Registriert seit
    Dec 2010
    Beiträge
    180
    Welt
    Windfeuertal
    Sehr schön und auch sehr schnell, dafür dass du alle möglichen Kombinationen beim Optimierer durchgehst. Auch gefällt mir sehr gut, dass man so ziemlich alles variabel einstellen kann.
    Aber da müsstest vielleicht eine kleine Anleitung zur effektiven Optimierung schreiben, sonst stellen Mathe- bzw. Info-Noobs alle Einheitentypen, zig Durchläufe pro Kombination und 5er Schrittweite ein. Dann wird sich gewundert, warum es so langsam ist.(*Richtung dirkb zwinkert*)

    Also müsste da sowas erwähnt werden wie: Viele Einheitentypen => hohe Schrittweite; wenig Einheitentypen => kleine Schrittweite.

    Fehler hab ich soweit keine gefunden, bin aber auch nur ein Paar Kämpfe durchgegangen.

    Edit:
    Wollt noch sagen: Bester Sim, den ich bisher ausprobiert hab!

    Edit2:
    Hmm, wo ich drüber nachdenk, "Am Start" klingt irgendwie wie Kinder-Hiphop-Sprache. Vielleicht liegt es nur an mir, aber ich denk da ständig an "fette beatz", die ich "am Start habe", o.ä.. Aber auch nicht so wichtig, wollts nur mal gesagt haben.
    Geändert von soegal (18.03.11 um 18:29 Uhr)
    "Parmesan und Partisan, wo sind sie geblieben? Partisan und Parmesan, alles wird zerrieben..."
    - Matthias Beltz -

  4. #4
    Wuseler Avatar von Bombabil
    Registriert seit
    Feb 2011
    Beiträge
    184
    Welt
    Windfeuertal
    Im Spiel kann ich 200 Einheiten dem General zu ordnen, in deinem Simulator nur 199

    Ansonsten stimmt das was ich gerade gegen MG eingegeben habe mit dem was ich vorher wo anders ausgrechnet habe überein! =)

  5. #5
    Wuseler
    Registriert seit
    Dec 2010
    Beiträge
    180
    Welt
    Windfeuertal
    @Bombabil

    Also ich kann 200 eingeben und beim Gegner ist es ja richtig, nur 199+Boss auswählen zu können.

    @Kaventsmann

    So doch mal einen Fehler im Optimierer gefunden:
    • Kampf gegen die Wilde Hilde + 199 Hunde
    • Lasse in 20er Schritten und bei 20 Durchläufen simulieren
    • Einheitentypen: Rek, Mil, Reiter, Soldat
    • Ergebnis: Es kommt nicht 200 Reiter als Optimum raus, sondern teilweise auch 20R+180C, 20M+180C oder 180C+20S raus.
    • Fehler war reproduzierbar.
    Geändert von soegal (18.03.11 um 18:46 Uhr)
    "Parmesan und Partisan, wo sind sie geblieben? Partisan und Parmesan, alles wird zerrieben..."
    - Matthias Beltz -

  6. #6
    Wuseler Avatar von Kaventsmann
    Registriert seit
    Feb 2011
    Beiträge
    474
    Welt
    Steppenwald
    @soegal

    Du hast recht ;-) Ich denke aber ich hab das Problem beheben können.

  7. #7
    Wuseler Avatar von Kaventsmann
    Registriert seit
    Feb 2011
    Beiträge
    474
    Welt
    Steppenwald
    Aufgrund einiger Anfragen habe ich mal noch eine kleine Bedienungsanleitung ergänzt.
    Natürlich bin ich weiterhin für etwaige Verbesserungsvorschläge und Bugmeldungen offen :-D

  8. #8
    Wuseler Avatar von Kaventsmann
    Registriert seit
    Feb 2011
    Beiträge
    474
    Welt
    Steppenwald
    Neue Version ist online. Diesmal wurde hauptsächlich an der Performance-Schraube gedreht ;-) Bei manchen Einstellungen dürfte die Simulation weit weniger als halb so lang dauern.
    Ich hoffe ich habe mit den Verbesserungen keine Bugs mit eingebaut. Also wer Bugs findet, darf sie behalten.
    Natürlich nicht ;-) Bitte hier im Forum posten, wenn was nicht stimmt.

  9. #9
    Wuseler
    Registriert seit
    Jan 2011
    Beiträge
    357
    Welt
    Windfeuertal
    Find ich gut, hab aber ein paar Fragen :
    Wieso ist min=max=avg (ich versuch grad den Bert+79Schläger einzugeben mit Rekruten/Milizen/Bogenschützen)
    Angeblich macht er doch 20 Versuche pro Kombination? Bei mir kommt nur 42 raus (Miliz)
    2. Wieso bevorzugt er Milizen? Klar verliert man weniger Siedler, aber ich würd mal eher 5:1 bei den Rekruten zu Milizen Kosten rechnen... Da sich das aber jeder anders denkt wärs vielleicht gut "lokale Maxima" auszugeben.
    Das geht so : Ist eine "optimale" Lösung gefunden, wähle von den sterbenden eine Einheitenart aus und suche eine erfolgreiche Kombination, die deren Verlust minimiert. (Und dann das rekursiv auf das Ergebnis anwenden, bis nur noch eine Einheitenart stirbt, oder es keine erfolgreichen Kämpfe mehr gibt). Dann kriegt man denke ich schon ganz gute Vorschläge raus.

    Beispiel : last standing Waldtraud (sie ist schon allein!) gegen Langbogis(LB)/Milizen/Soldaten :
    (PS bei mir spuckt er grad 140 Langbogis 60 Soldaten aus, das ist aber gewagt ^^, aber das ist ein anderes Problem, dass "optimalerweise" oft alle Nahkampftruppen sterben...)
    Wenn er die Lösung hat, bei der nun 60 Soldaten und angeblich bis zu 8 LB sterben, dann gib die aus und suche nach einer Kombination ohne LB-Verlust :
    Die wird sein : 65 Soldaten 135 LB (2. Ausgabe!)
    Nun suche nach einer Kombination ohne Soldaten und ohne LB-Verlust : geht nicht... (naja knapp ) Vorschlag : Minimaler Soldaten/LBverlust : 100 Milizen 30 Soldaten 70 LB (oder sowas).
    Da in der Startlösung keine Milizen starben, braucht man das nicht mehr optimieren und man ist fertig. Und hat 3 "schöne" Lösungen. (Eventuell muss der Algo noch direkt von der Startlösung kommend die Soldaten optimieren und gibt dann nochmal ne Lösung aus, die fast identisch ist zur 3.)
    Edit : Das war jetzt nur mal hier aus dem Stehgreif, aber ich denke Die Lösungen liegen immer (egal bei welchem Kosten/Nutzen) auf den Kanten des Suchraums (irgndwie dämmert da was aus der Optimierungstheorie) und darum lässt sich das hier so angeben, auch wenn man die Verhältnisse der Einheitewerte zueinander nicht kennt. Wenn du richtig abgehen willst, schau mal nach Simplex-Verfahren in Wikipedia.
    Edit 2: Ein eigener Kostenvektor würde noobs vermutlich überfordern, aber man kann auch einen default annehmen (Totale Produktionszeit ohne Buff z.b. (Siedler=25 Brote)), und die kann sich ein Profi dann selbst einstellen... Wenn Du magst denk ich mal drüber nach und schreib hier einen Vorschlag dazu hin.
    Edit 3: Ev. könnte man die Suche nicht in festen Schritten, sondern systematisch mit sowas wie Intervallhalbierung machen... wäre sehr viel schneller und geht hier weil die Kosten hier linear in jeder Dimension mit den Verlusten gehen (oh Wunder ) nur eben vom Suchraumrand begrenzt sind (Summe =200).
    Geändert von Siedlar (24.03.11 um 23:40 Uhr)

  10. #10
    Wuseler Avatar von Kaventsmann
    Registriert seit
    Feb 2011
    Beiträge
    474
    Welt
    Steppenwald
    Puh. Ne Menge Text :-D Also:
    1. Das mit deim min=max=avg sollte nicht mehr vorkommen. Das hab ich schon behoben. Hab die falsche Version hochgeschoben ;-)
    2. Zur Zeit funktioniert der Optimierungsalgorithmus so, dass er nach der minimalen Anzahl Verluste im Verhältnis zu den maximal Verlusten beim Gegner sucht. Die Suche nach anderen "Optimierungs-Zielen" wird später noch kommen. Da man auch nicht genau sagen kann, welche Kombination für den Spieler selbst optimal ist, wird es wohl auch eine Auswahlmöglichkeit mit den besten Ergebnissen geben.

    Zur Streuung:
    Das Problem bei Waldraud ist, dass sie immens viel HP hat und viel Schaden macht. D.h. der Kampf geht über viele Runden und die Streuung ist demensprechend hoch. Das kann man (zur Zeit) nur über viele Wiederholungen abschätzen. Ich könnte auch mit den absoluten Minimal- und Maximalschadenswerten arbeiten. Aber das macht keinen Sinn, da diese Fälle so gut wie nie auftreten.

    Das mit der Intervallsuche hab ich mir auch schon überlegt. Ich vermute aber, dass mir dadurch lokale Maxima durch die Lappen gehen. Ausserdem ist eine Suche nach der ganz exakten Einheitenanzahl nicht sinnvoll, da wir in den meisten Fällen sowieso mit Streuungen zu tun haben und man beim Angriff letztendlich Glück haben muss, um minimale Verluste zu haben.

    Das mit dem Kostenvektor wird noch kommen ;-) Erstmal war eine Performance- bzw. Datenstruktur-Optimierung dran. Das hat mich gestört ;-)

    Die Suche nach der optimalen Kombination im Hinblick auf die Kosten der Einheiten ist dahingehend schwierig, da ich nicht weiß, wie ich die Verluste des Gegner gegenrechnen soll. Muss ich mir nochmal in Ruhe Gedanken machen.

Antworten
Seite 1 von 129 1 2 3 11 51 101 ... LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein

Die von uns verwendeten Ubisoft-Cookies sollen sicherstellen, dass du unsere Websites optimal genießen kannst. Durch die Nutzung dieser Website erklärst du dich mit der Nutzung dieser Cookies einverstanden. Weitere Informationen zum Datenschutz.