-
Notifications
You must be signed in to change notification settings - Fork 81
Add Env for playing Pokémon using poke-env #131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Added observations on popular choices and practices in Pokemon-RL projects.
|
✅ Deployment succeeded for
Nice work! Wait for a code review and we're ready to go. You can iterate locally or validate fixes by running |
Add observations section to Readme
|
✅ Deployment succeeded for
Nice work! Wait for a code review and we're ready to go. You can iterate locally or validate fixes by running |
- Introduced a comprehensive tutorial for using the OpenEnv Pokemon Battle Environment. - Included sections on setup, battle mechanics, observations, available moves, and actions. - Demonstrated a complete battle simulation and a simple strategy agent. - Ensured proper connection to the environment and handling of battle states.
- Created a Jupyter notebook tutorial for the Pokemon Battle Environment, covering setup, battle mechanics, and agent strategies. - Added a shell script to test the Pokemon environment Docker image, ensuring services are running and performing basic environment interactions.
Updated Pokemon_Env & added a test notebook
|
✅ Deployment succeeded for
Nice work! Wait for a code review and we're ready to go. You can iterate locally or validate fixes by running |
This idea came super thanks to @cpich3g from our Hackathon.
We are continuing here but thanks again Justin for leading and inspiring!
Adds a complete Pokemon battle environment integration using poke-env and Pokemon Showdown, following OpenEnv's HTTP-based framework patterns.
Design Decisions
Event Loop Management
POKE_LOOPbackground threadasyncio.run_coroutine_threadsafe()asyncio.Eventobjects on correct loopMemory Management
Concurrency
reset()andstep()operationsError Handling
File Structure
src/envs/pokemon_env/
├── init.py # Package exports
├── models.py # Action, Observation, State dataclasses
├── client.py # HTTPEnvClient implementation
├── README.md # Environment documentation
└── server/
├── init.py
├── app.py # FastAPI application
├── pokemon_environment.py # Core environment logic
├── Dockerfile # Container with Showdown + OpenEnv
└── requirements.txt # Dependencies
examples/project-pikachu/
├── test_local_pokemon.py # Direct environment tests (6 tests)
├── test_http_pokemon.py # HTTP client tests (6 tests)
└── [documentation files] # Testing guides and architecture docs
Reward Modes
Sparse (default):
Dense:
Credits