taylorhansen / pokemonshowdown-ai

Reinforcement learning for Pokemon.
MIT License
36 stars 5 forks source link

Request for Assistance with Locking a Party of 6 Pokemon #367

Open gogorogon opened 4 months ago

gogorogon commented 4 months ago

Hello,

I am very impressed with your project and have successfully run your repository on Windows Subsystem for Linux (WSL). It works wonderfully.

I am currently looking to lock a party of 6 Pokemon within the application. Could you guide me on which part of the code I should modify to achieve this?

Thank you for your time and assistance.

taylorhansen commented 4 months ago

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:

Lemme know if anything comes up.

gogorogon commented 4 months ago

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!

taylorhansen commented 4 months ago

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!

gogorogon commented 4 months ago

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!