Überlegung zu Tool für Teamerstellung

Wir sammeln alle Infos der Bonusepisode von Pokémon Karmesin und Purpur für euch!

Zu der Infoseite von „Die Mo-Mo-Manie“
  • Hallo zusammen,
    Da ich momentan an meinem WiFi Team arbeite und gerne auch die Statistiken von Pokemon-GL berücksichtige, kam mir die Idee, das Ganze etwas zu automatisieren.
    Ich bin Software Entwickler und mir kam die Idee, ein Programm zu erstellen, das Vorschläge für Teams geben kann. Man soll in das Tool beliebig viele Pokemon eintragen können, woraufhin die VGC Statistiken zu den eingetragenen Pokemon ermittelt werden und jeweils die häufigsten Teammitglieder zu diesen Pokemon. Danach wird eine Summe unter Berücksichtigung des Platzes für jedes des als häufiges Teammitglied gefundenem Pokemon erstellt und der Summe nach absteigend die freien Slots im Team aufgefüllt.
    Nun bin ich aber noch recht neu im strategischen Bereich von Pokemon, auch wenn ich seit der blauen Edition dabei bin.
    Meine Frage an Euch: Haltet ihr so etwas für nützlich und könnt ihr mir sagen, ob es das womöglich schon gibt? Bisher habe ich nur Seiten gefunden, die die Schwächen von fertigen Teams analysieren.


    Update: Das Tool habe ich mittlerweile erstellt und ihr könnt es ausprobieren.
    Hier eine Preview, wie die Oberfläche aussieht:
    [Blockierte Grafik: https://cloud.githubuserconten…1e6-9d21-a1f5317aff0a.png]


    Für Windows benötigt ihr vor dem Starten GTK3 (hier die "gtk-runtime-3.8.1-i686.exe" herunterladen). Nach der Installation müsst ihr den Rechner neustarten. Wer Linux benutzt hat es womöglich ohnehin schon installiert, bzw kann dies mit seinem Paketmanager holen.
    Die neueste Version findet ihr immer hier.
    Es gibt ein Setup (.msi), mit dem ihr das Tool installieren könnt, sowie eine .zip Datei, mit der ihr das Tool ohne Installation benutzen könnt.
    In beiden Fällen startet ihr das Tool über die Pokemon.Team.Builder.UI.exe.
    Es gibt eine Projektseite auf GitHub. Falls ihr Probleme oder Anregungen habt würde ich mich freuen, wenn ihr sie dort als Issue hinterlegen könntet.
    Über ein paar Sterne würde ich mich auch sehr freuen.


    Gruß
    Florian

  • Hallo zusammen,


    FreakPsych: Vielen Dank für deine Nachricht.


    Habe das Tool gestern angefangen, da es mich jetzt auch nochmal interessiert hat.
    Bisher sind bloß die Anfragen an die Pokemon GL API implementiert und das Deserialisieren der Antworten.
    Mein Plan ist es, eine Benutzeroberfläche einzuführen, mit der das Ganze leicht bedient werden kann.
    Bisher teste ich noch mit Konsolenaufrufen.


    Testweise habe ich gerade mal ein Team aus Gengar und Scherox vervollständigen lassen.


    Als Vorschläge wurden mir die folgenden Pokemon angeboten:

    • #445 - Knakrack: Score 19
    • #245 - Suicune: Score 13
    • #663 - Fiaro: Score 10
    • #381 - Latios: Score 10

    Das ist jetzt allerdings noch eine simple Version.
    Ich hole mir alle vordefinierten Teammitglieder von Pokemon GL inklusive ihrer öftesten Teampartner.
    Danach gehe ich die Antworten durch und mache aus der Reihenfolge der öftesten Teampartner eine Punktzahl.


    Die Pokemon mit der höchsten Punktzahl werden dann absteigend benutzt, um die freien Plätze aufzufüllen.
    Eventuell probiere ich noch aus, auch für alle oft benutzten Teampartner nochmals ihre öftesten Teampartner auszusuchen, so wäre das ganze wohl noch etwas genauer.


    Hier befindet sich der Source Code, sowie eine Möglichkeit, das fertig erstellt Tool unter dem "Build | Passing" Badge herunterzuladen.
    Hierfür einfach auf den Badge klicken, auf "Artifacts" klicken und dann die Zip Datei herunterladen.


    EDIT:
    Habe wie angekündigt die Logik für das Finden der besten Teampartner nochmals angepasst.
    Der angepasste Source Code sowie der neueste Build finden sich (wie immer) im oben verlinkten GitHub Repo.


    Für ein Team mit initial nur Serpiroyal schlägt mein Tool folgende Partner vor:

    • #497 - Serpiroyal
    • #303 - Flunkifer
    • #445 - Knakrack
    • #663 - Fiaro
    • #115 - Kangama
    • #94 - Gengar

    Für das erste Beispiel mit Gengar und Scherox werden folgende Partner vorgeschlagen:

    • #94 - Gengar
    • #212 - Scherox
    • #445 - Knakrack
    • #115 - Kangama
    • #663 - Fiaro
    • #642 - Voltolos

    Über ein Feedback, ob die Teams eurer Meinung nach komplett daneben sind, oder ob es in die richtige Richtung geht, würde ich mich sehr freuen.
    Fürs erste werde ich (falls kein Feedback kommt) die Teampartnersuche erstmal so lassen und jetzt mit der GUI anfangen, es gibt viel zu tun :)


    Gruß
    Florian

  • Ich hab mal eine Frage wie dein Programm funktioniert.


    Angenommen ich habe Pokémon A und möchte das Team vervollständigen.


    Gibt er mir dann passend zu Pokémon A, Pokémon B-F aus oder füllt er nacheinander auf?


    Also: A -> A+B -> A+B+C


    Ich frage, weil ich bei den Teams das Gefühl habe, dass Megaentwicklungen nicht berücksichtigt werden. Heißt, es scheint so, als würde das Programm die "häufigsten" Partner der einzelnen Pokémon angeben, ungeachtet ihrer Items bzw. Standardsets.


    Im Serpiroyal-Team sind 4 potenzielle Mega-Pokémon hinzugefügt worden.
    Im Gengar/Scheroxteam sind 2 potenzielle Mega-Pokémon hinzugefügt worden.



    Eventuell müsste man da begrenzen, nicht dass wenn man zB ein Team um Fiaro bauen lässt, er einem 5 Mega-Pokémon ausgibt, da immer eines der 5 bei Fiaro mit rumhängt.



    Freue mich auf deine Antwort, da ich mich mit der Materie nicht auskenne


    Schöne Grüße, Nachtion

  • Hallo René,


    vielen Dank für dein Interesse am Tool.


    Das Programm läuft momentan wie folgt:

    • Der Benutzer gibt 1-6 Pokemon in der Vorauswahl für sein Team ein.
    • Wenn die Vorauswahl 6 Pokemon beinhaltet, gib diese zurück.
    • Das Tool nimmt nun jedes der Pokemon und ruft die Pokemon-GL API auf
    • In der Antwort der Pokemon GL API stecken die 10 häufigsten Teammitglieder des aktuellen Pokemons
    • Für jedes potentielle Teammitglied bilde ein Punkteranking wie folgt: 11 - Ranking (So wird der erste Platz mit 10 Punkten bewertet)
    • Nachdem jedes Pokemon aus der Vorauswahl ein eigenes Ranking der potentiellen Teammitglieder hat, gehe über alle Pokemon aus der Vorauswahl und "verschmelze" die potentiellen Mitglieder (Als Beispiel: Gengar und Scherox haben beide Knakrack als Platz 1 in ihrem Ranking. Nach dem verschmelzen hätte Knakrack in der Gesamtliste der potentiellen Mitglieder ein Ranking von 20).
    • Suche aus dem Ranking der Teammitglieder das mit dem höchsten Ranking, das noch nicht in der Vorauswahl ist.
    • Füge Pokemon mit höchstem Ranking zur Vorauswahl hinzu und gehe wieder zu Schritt 2.

    Es gibt seit gerade eben eine erste Version des Tools mit grafischer Oberfläche.
    Diese Version ist lauffähig unter Linux (GTK3 muss installiert sein) und unter Windows (GTK3 muss von hier zuerst installiert werden).
    Unter Windows sieht die Version noch etwas hässlich aus, ist aber alles noch in Arbeit.


    Das Tool selbst könnt ihr immer in der neueste Version hier herunterladen. Einfach Publish\app.zip herunterladen und die Pokemon.Team.Builder.UI.exe starten.
    Der erste Start dauert etwas, da hier noch der lokale Pokedex erstellt wird.
    Anschließend startet die Oberfläche, in der ihr in Listen eure Pokemon Vorauswahl starten könnt.
    Ihr könnt in den Listen entweder mit dem Mausrad scrollen, oder direkt die Pokedex Nummer eingeben.
    Nach einem Klick auf "Propose Team" sucht das Tool die besten Mitglieder basierend auf der Usage in Pokemon GL und trägt die noch offenen Listenpositionen mit diesen Pokemon ein.


    Bezüglich der Megaentwicklungen:
    Leider unterscheidet die Pokemon-GL API nicht grundsätzlich zwischen Mega / Nicht-Mega beim Ranking, was heißt, dass ich bisher nicht darauf achte.
    In den nächsten Versionen will ich jedoch die Anzeige stark erweitern, sodass nicht nur die Vorschläge angezeigt werden, sondern auch welche Items, Fähigkeiten und Attacken am häufigsten gespielt werden.
    Dazu kommen dann noch die häufigsten Switch-Ins dagegen, die Attacken die es am öftesten besiegen, sowie die Pokemon die es am öftesten besiegen.
    Die Daten hierfür sind alle schon da, es fehlt nur die Darstellung.
    Man könnte möglicherweise bei der Auswahl der potentiellen Team Mitglieder auch einen Schwellwert auf das Mega-Item einrichten, sodass nur ein Pokemon mit einer Nutzungsstatistik über dem Schwellwert erlaubt ist.
    Ich plane zudem auch noch andere Strategien für das Vorschlagen der weiteren Team Mitglieder. Eine Idee war zum Beispiel, die Pokemon / PokemonTypen, die die Pokemon in der Vorauswahl am öftesten besiegen, abzufragen und in das Team die Pokemon aufzunehmen, von denen sie selbst am öftesten besiegt werden (hoffe das war verständlich, mir geht es darum, Counter für die Counter des eigenen Teams zu finden).


    Bei weiteren Fragen und Anregungen könnt ihr gerne hier mitposten, ich freue mich über Feedback.


    Gruß
    Florian

  • Kurze Durchsage: Das Tool startet seit der letzten Version nicht auf Windows, hat aber in den Vorversionen funktioniert.
    Ich fixe das direkt noch und gebe hier Bescheid, sobald es wieder startet.

    Kommando zurück: Tool funktioniert nach wie vor unter Windows. Nach der Installation von GTK3 solltet ihr einmal neu starten, sonst startet das Tool nicht. Ich hoffe früher oder später alles bündeln zu können, damit das weniger Handarbeit ist. Wer schon GIMP oder Ähnlich installiert hat, dürfte aber ohnehin schon GTK in einer brauchbaren Version installiert haben.

  • Hallo zusammen,


    möchte gerne mal den neuesten Fortschritt zeigen.
    Die GUI wurde etwas erweitert und kann nun auch Pokemon Sprites darstellen.
    Zusätzlich gibt es zu jedem Pokemon einen Info Button. Momentan hat dieser noch keine Funktion, jedoch soll es in den nächsten Funktionen möglich sein, hier noch Zusatzinformationen wie die am öftesten benutzen Attacken / Items, die Counter etc anzuzeigen.
    Die Filterung nach Tiers prüfe ich noch. Die Daten müsste ich mir wohl selber zusammenstellen und muss schauen, wie viele Teampartner ich maximal von der GL API holen kann, da ich sonst die Befürchtung habe, die Teams nicht mehr voll zu bekommen.


    Im Anhang jedenfalls ein Bild einer Teamzusammenstellung ausgehend von Gengar.


    Gruß
    Florian

  • Update:


    Man kann nun separat nach Name / Nummer suchen, ist so benutzerfreundlicher geworden.
    Zudem ist das neue Content Pane auf der rechten Seite hinzugekommen, das zwar noch keine Funktionalität hat, aber auf dem später die öftesten Counter, sichere Switch-Ins und gefährliche Attacken angezeigt werden.


    Die Funktionalität zu den More Information Buttons kommt auch erst noch, hier werden dann Infos zu dem jeweiligen Pokemon in einem neuen Fenster angezeigt.


    Zur Abwechslung mal ein Screenshot, wie das ganze unter Linux aussehen kann.

  • Das ist in Linux deutlich hübscher als auf Windows. Aber gut, Grafik ist bei so einem Programm ja nicht sonderlich relevant.


    Ich bin mal sehr gespannt, wie das Programm funktioniert, sobald die ganzen Grundfeatures drin sind. Wenn das Programm "sicher" läuft, werd ich's auf jedenfall mal "richtig" testen und gucken ob die vorgeschlagenen Teams tauglich sind.


    Ich bin von den Entwicklungen bisher aber auf jedenfall schon einmal überzeugt! :)

  • Hallo zusammen,


    Vielen Dank für eure Antworten, freue mich sehr darüber.


    Nachtara: In Linux ist das Theming standardmäßig schon aktivert, muss mal gucken wie ich das in Windows aktivieren kann, ist aber sicherlich möglich.
    Das wäre dann aber eher der Feinschliff, zuerst kommen noch die übrigen Funktionen :)


    Chrisley: Die Teams sind momentan für ORAS Wifi Battles im Einzelkampf (3 on 3).
    Demnächst kommen aber noch die anderen Modi wie Doppelkampf etc dazu, die eigene Statistiken haben.
    Die Aufrufe sind schon implementiert, es fehlt nur noch die Auswahl in der Oberfläche.


    Gruß
    Florian

  • Hallo zusammen,


    neues Update meinerseits:


    Die Übersicht zum Team ist nun implementiert. Es gibt nun eine Statistik für das komplette Team, welche Pokemon gefährlich werden können (weil sie für viele der Member ein Counter sein können), welche Pokemon eher ungefährlich sind (Member werden nur selten von ihnen besiegt und sie sind kein Counter), sowie welche Attacken den eigenen Teammitgliedern oft den Rest geben.


    Es gab auch einige Fixes für die Oberfläche, sodass beim Laden der Bilder jetzt nichts mehr verrutscht :)


    Als Nächstes werde ich den Modusselektor unterbringen, damit man zwischen Einzel-, Doppel-, etc unterscheiden kann für die Statistiken.


    Gruß
    Florian


    PS: Wer sich über das "Doppelte Gengar" in der Counter Übersicht wundert: Momentan ist nur die sogenannte "Form-ID" enthalten, bei einem der beiden sieht man, das dort eine "1" eingetragen ist.
    Das eine ist die Mega Entwicklung, das andere die normale. Muss den Pokedex noch erweitern (um mehrsprachige Namen, die Formen und evtl noch Typen), dann kann ich in der Übersicht auch etwas lesbareres darstellen.

  • Hallo Florian!


    Dein tool klingt super interessant, würde das liebend gerne auch mal ausprobieren!


    Habe mir jetzt deine letzte Version runtergeladen (publish.app oder so), ich entpacke sie, klicke drauf in Windows (auf die Ui.exe-Datei), aber leider öffnet sich nichts ....


    kannst du mir weiterhelfen?



    Liebe Grüße
    Antonia

  • Hallo Antonia,


    Hast du GTK3 auch installiert wie aus meinem Link von oben?
    Ohne das startet es nicht. Nach der Installation solltest du auch unbedingt nochmal neustarten.
    Ich würde auch empfehlen, nochmal die neueste Version meines Tools von hier zu holen.
    Die letzte Version hat für das initiale Aufbauen des Pokedex 45 Minuten gebraucht, die neue Version nur noch 10-15.
    Direkt nach dem Starten reagiert das Programm während des Aufbauens des Pokedex nicht, danach geht es aber los und wenn der Pokedex das erste Mal aufgebaut wurde, ist dieser lokal vorhanden und muss nur noch geladen werden.
    Das Laden der ~800 Pokemonbilder dauert einfach ein bisschen.


    Gruß
    Florian


    Edit: Gerade nochmal eine neue Version rausgebracht, bei der die UI nicht hängt während der Pokedex Initialisierung.
    Hole jetzt doch nochmal andere Bilder, die schnelleren sahen ziemlich schlecht aus. Gebe Bescheid, wie lange die Initialisierung so dauert.


    => Pokedex Initialisierung gefixt: Dauert jetzt nur wenige Minuten bei mir + es gibt einen Fortschrittsbalken dafür :)
    Battle Type + Season Selektoren sind in Arbeit.

  • Hallo zusammen,


    der Battle Type Chooser ist nun auch drin. Ihr könnt unter "Bearbeiten" => "Choose Battle Type" auswählen zwischen:


    • Singles
    • Doubles
    • Triples
    • Rotation
    • Specials
    • Average of All Others

    Die ersten Kategorien dürften selbsterklärend sein. Die letzte Kategorie ist einfach eine Mischung der Statistiken über alle Types hinweg.
    Das Setting bleibt auch bei einem Neustart des Programms erhalten :)


    Die Season ist momentan auf VGC 2016 fixiert, weiß nicht ob hier ein Chooser benötigt wird, was meint ihr? Ist VGC 2015 noch sinnvoll zu unterstützen?


    Ansonsten hier mal ein neuer Screenshot eines Teams um Turtok herum, mit dem Battle Type "Doubles".
    Wenn ich mich nicht täusche, spielt man ja im VGC immer Doubles?


    Gruß
    Florian

  • Hey René,


    der ursprüngliche Link zu den Downloads zeigt immer automatisch auf die letzte Version.


    Aber hier nochmal: Link zur neuesten Version.


    Als nächstes werde ich noch die "More Information" Buttons bei den Pokemon erweitern, sodass man hier direkt sieht, welche Wesen, Attacken, Items oft auf den gewählten Team Mitgliedern gespielt werden.
    Wenn ich Lust habe wird daraus vielleicht sogar ein kleiner Pokedex, die API von der ich die Infos beziehe hat auch alle Pokedex Einträge, wäre ja ganz nett :)


    Die Tierlists einzubauen wäre auch ein sehr cooles Feature, muss mir aber wohl die Tierlist selber zusammenbauen, was man im Internet so findet, sieht alles ziemlich kaputt aus :-/


    Edit: Pokemon mit verschiedenen Formen (zB Rotom) werden auch noch nicht korrekt gehandhabt, ist auch noch ein ToDo.


    Gruß
    Florian