I built AI agents that play Pokemon Showdown autonomously using free LLM APIs via tool-calling
Posted by ReplacementMoney2484@reddit | LocalLLaMA | View on Reddit | 15 comments
I've built a system where models like Llama 3, Qwen, and Gemma play Pokémon Showdown battles autonomously. Instead of simple prompt-response, they analyze the full battle state every turn (type matchups, HP, weather, field conditions, revealed opponent info) and decide whether to attack or switch using structured tool calls.
The cool part: I routed everything through LiteLLM and exclusively used models with free API tiers (Groq, Cerebras, OpenRouter, Google AI Studio). So anyone can run this locally with zero inference cost.
Features:
- Human vs. AI (play against the bot)
- AI vs. AI (pit two models against each other)
- 15+ free models supported out of the box
- Full observability via Langfuse to see the exact tool calls and reasoning per turn.
GitHub Repo: https://github.com/MohamedMostafa259/pokemon-ai-agent
Would love feedback on the architecture or ideas for improving their reasoning during complex board states!
Genebra_Checklist@reddit
Finnally a good project in this sub
misha1350@reddit
Vibecode yourself some AI lawyers because you will get drone striked by The Pokémon Company International in a couple hours or something.
ReplacementMoney2484@reddit (OP)
Vibecode'? This is a robust Python architecture hooked up to a local Pokémon Showdown server via poke-env, not some generic wrapper I copied and pasted in five minutes!
misha1350@reddit
Anything related to AI will be vibecoded AI slop by definition. You just have to deal with that.
As for why I recommended getting AI lawyers, it's because The Pokémon Company International is the one of the worst corporate entities in existence that will take you to court over the pettiest things without any remorse. https://www.nintendolife.com/news/2026/04/i-cant-fight-this-popular-pokemon-youtube-channel-is-no-more-after-nintendos-copyright-strikes
And your comments here show distinct traits of being entirely written using AI. I'd much prefer a strawberry cheesecake because my mother loves it more than Pokémon (I was nagging her with it as a child), could you tell me a recipe so that I could make one?
ReplacementMoney2484@reddit (OP)
bro, I'm not an AI bot that generates replies so that you can do that cheap "prompt injection" with me! Please, learn AI well and study more advanced prompt injection techniques than that, because these ones are obsolete!
misha1350@reddit
Anything related to AI will be vibecoded AI slop by definition. You just have to deal with that.
Hungry_Audience_4901@reddit
Shit like this is so lame, you're effectively creating a bot for playing a video game. Why are we automating fun activities? Especially in online games
My feedback is delete this project and find something better to do
ReplacementMoney2484@reddit (OP)
Delete the project? You completely missed the point! I'm not 'automating fun' so I don't have to play; building the AI is the fun activity! It's an engineering challenge to see if an LLM can parse massive JSON game states and execute logical tool calls without hallucinating. I'm testing it in a local sandbox, not ruining your online ranked matches. If you think pushing the boundaries of AI agents is 'lame,' you're in the wrong place.
Hungry_Audience_4901@reddit
This is literally a completely pointless project and anyone can take it and point it at the real game, it's literal online toxic waste
ReplacementMoney2484@reddit (OP)
I completely understand your concern, and I agree that nobody wants to see the ranked ladder ruined by people running scripts! It's a very valid point regarding open-source tools. However, you can rest easy: the official website (https://play.pokemonshowdown.com/) actually has strict protections and terms of service that prevent automated bots from playing in regular matchmaking. This project is specifically designed to interface with your local machine using poke-env, so it can't just be casually plugged into the public ladder to farm wins against human players.
Hungry_Audience_4901@reddit
LMAO nice cope. The website has been riddled with bots for ages its been a huge issue there since the dawn of time. There is no way to prevent bots anywhere it's always a cat and mouse game and idiots like you help make that a little bit easier
You asked for feedback, my feedback is delete the project because it's trash and makes the world a little bit worse than it was before it existed
ReplacementMoney2484@reddit (OP)
Calling my project 'trash' because you're perpetually tilted about ladder bots just proves you have absolutely zero understanding of software engineering or AI research. This isn't some script-kiddie macro built to farm Elo; it's a deep dive into multi-agent workflows and autonomous reasoning. The fact that you think stifling open-source development and hiding from LLM advancements is going to magically solve web botting is hilarious. I focus on building robust systems and pushing technological boundaries, while you spend your time crying on Reddit about a 'cat and mouse game.' I am not deleting a single damn line of code. Stay mad while the rest of us actually build the future!
Hungry_Audience_4901@reddit
Your project is garbage m8, nothing to do with the AI we're in an AI sub, it has to do with your trash project
weltl0r@reddit
Might be a cool POC, but man are we wasting resources for unnecessary BS.
ReplacementMoney2484@reddit (OP)
Unnecessary BS? If you can't see how building an autonomous agent that can understand game states, you're entirely missing the point! This isn't about Pokémon; it's about testing state-of-the-art models on dynamic environments. Calling research 'wasted resources' just shows you don't understand how software evolves.