Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
A simple OpenAI Gym environment for single and multi-agent reinforcement learning
| Date | Stars |
|---|---|
| 2026-07-31 | 786 |
| 2026-08-01 | 786 |
| 2026-08-02 | 786 |
| 2026-08-06 | 786 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Slime Volleyball Gym Environment <p align="left"> <img width="100%" src="https://otoro.net/img/slimegym/pixel.gif"></img> </p> Slime Volleyball is a game created in the early 2000s by an unknown author. *“The physics of the game are a little ‘dodgy,’ but its simple gameplay made it instantly addictive.”*<br/> --- **Update (May 12, 2022):** This environment has been ported over to [EvoJAX](https://github.com/google/evojax), hardware-accelerated neuroevolution toolkit that allows SlimeVolley to run on GPUs, enabling training time in minutes rather than hours. --- SlimeVolleyGym is a simple gym environment for testing single and multi-agent reinforcement learning algorithms. The game is very simple: the agent's goal is to get the ball to land on the ground of its opponent's side, causing its opponent to lose a life. Each agent starts off with five lives. The episode ends when either agent loses all five lives, or after 3000 timesteps has passed. An agent receives a reward of +1 when its opponent loses or -1 when it loses a life. This environment is based on [Neural Slime Volleyball](https://otoro.net/slimevolley/), a JavaScript game I created in [2015](https://blog.otoro.net/2015/03/28/neural-slime-volleyball/) that used self-play and evolution to train a simple neural network agent to play the game better than most human players. I decided to port it over to Python as a lightweight and fast gym environment as a testbed for more advanced RL methods such as multi-agent, self-play, continual learning, and imitation learning algorithms. ### Note: Regarding Libraries - The pre-trained PPO models were trained using [stable-baselines](https://github.com/hill-a/stable-baselines) v2.10, *not* [stable-baselines3](https://github.com/DLR-RM/stable-baselines3). - The examples were developed based on Gym version 0.19.0 or earlier. I tested 0.20.0 briefly and it seems to work, but later versions of Gym have API-breaking changes. - I used pyglet library 0.15.7 or earlier while developing this, but have not tested whether the package works for the latest versions of pyglet. ### Notable features - Only dependencies are gym and numpy. No other libraries needed to run the env, making it less likely to break. - In the normal single agent setting, the agent plays against a tiny 120-parameter [neural network](https://otoro.net/slimevolley/) baseline agent from 2015. This opponent can easily be replaced by another policy to enable a multi-agent or self-play environment. - Runs at around 12.5K timesteps per second on 2015 MacBook (core i7) for state-space observations, resulting in faster iteration in experiments. - A [tutorial](TRAINING.md) demonstrating several different training methods (e.g. single agent, self-play, evolution) that require only a single CPU machine in most cases. Potentially useful for educational purposes. - A pixel observation mode is available. Observations are directly rendered to numpy arrays and runs on headless cloud machines. The pixel version of the environment mimics gym environments based on the Atari Learning Environment and has been tested on several Atari gym wrappers and RL models tuned for Atari. - The opponent's observation is made available in the optional `info` object returned by `env.step()` for both state and pixel settings. The observations are constructed as if the agent is always playing on the right court, even if it is playing on the left court, so an agent trained to play on one side can play on the other side without adjustment. This environment is meant to complement existing simple benchmark tasks, such as CartPole, Lunar Lander, Bipedal Walker, Car Racing, and continuous control tasks (MuJoCo / PyBullet / DM Control), but with an extra game-playing element. The motivation is to easily enable trained agents to play against each other, and also let us easily train agents directly in a multi-agent setting, thus adding an extra dimension for evaluating an agent's performance. ##
Excerpt of 13,296 characters
Read on GitHubhardmaru · Japan
37
Yasuhiro Fujita · @pfnet
2
2
Andrew Sears · Canada
1
Ben Trevett · United Kingdom
1
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:5e8fe4a1b724bfd7, desc:multi-agent, desc:multi agent