Giter Club home page Giter Club logo

Comments (4)

taylorhansen avatar taylorhansen commented on June 23, 2024 1

Hi, thanks for checking out my project!

Good to know that it works on WSL. As long as you can get TensorFlow (preferably with GPU) working it should be able to run anywhere.

As for changing the format of the game used for training the model, much of the code assumes the Gen-4 random battles format from Showdown, but it could be hacked to support a non-random team (outside of Gen-4 requires a lot more work though). Some pointers:

  • In the worker script used to manage training battles, remove the await lookup() call at the bottom which is used to improve the neural network input during random battles and set the variable to undefined. If you're just pitting the same team against itself, you could instead replace it with an object describing the team to improve learning as it will better specialize to facing just that team (here's the object format).
  • In simulateBattle() which actually calls into Pokemon Showdown's code to run the training battles, change the formatid field in the startOptions object to the Showdown format you're using. You'll also have to add a team field to the playerOptions objects to specify the team, represented as either a JS object or as a packed-format string (see doc).
  • In the PsBot runner script used to connect a trained model to a server for manual testing, change the string "gen4randombattle" to the format you're using in the bot.acceptChallenges() call. Also remove the await lookup() call or do the same thing as the first point.

Lemme know if anything comes up.

from pokemonshowdown-ai.

taylorhansen avatar taylorhansen commented on June 23, 2024 1

I see, interesting.

By the way the code in node_modules/ comes from the project's outside dependencies, the one you modified being from @pkmn/ps/randoms which is used to randomly generate a team of Pokemon while also balancing the levels, movesets, etc. based on the Pokemon's inherent strengths.

I'd also encourage that you take a look at this list of Pokemon AI projects that other people made, mentioned in this issue, which have a lot of other interesting ideas.

I'll also update the READMEs and example configs soon with better numbers/settings and usage guides.

Good luck in your efforts!

from pokemonshowdown-ai.

gogorogon avatar gogorogon commented on June 23, 2024

I wanted to extend my sincere thanks for your detailed guidance!

Following your advice, I have successfully locked 9 strong candidates in Gen 4.
(gengar, zapdos, suicune, tyranitar, salamence, metagross, latios, infernape, garchomp)

20240218_6_strong_pokemons

I made edits to three key parts of the project:

For pokemon-showdown, I modified the files at:
Gen 4 Random Sets
Limited pokemons to 9 candidates (gengar,zapdos,suicune,tyranitar,salamence,metagross,latios,infernape,garchomp)

Gen 5 Random Teams
Comment out error about number of pokemons.

For pokemonshowdown-ai, changes were made in:
node_modules > @pkmn > randoms > build > index.js
Limited pokemons to 9 candidates (gengar,zapdos,suicune,tyranitar,salamence,metagross,latios,infernape,garchomp)

I am now in the process of training the model. I will continue to study and contribute to this project as much as I can.

I really appreciate your help and am grateful for the opportunity to learn and contribute.

Thank you once again!

from pokemonshowdown-ai.

gogorogon avatar gogorogon commented on June 23, 2024

Thank you for your comment.
I didn't know there were several Pokemon AI projects.
They look very useful, and I try to improve model based on them.
If strong model is created, I will soon share it to you!

I'm very looking forward to progress of your project!

from pokemonshowdown-ai.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.