The Gameworld environments are designed to develop sample-efficient learning algorithms, which is enforced in the challenge by limiting the interactions to 10K steps. These environments could be solved by humans within minutes, ensuring that learning does not hinge on brittle exploration or complex credit assignment.
Gameworld also supports controlled perturbations such as changes in object color or shape, testing an agent's ability to generalize across superficial domain shifts.
The suite includes 10 diverse games generated with the aid of a large language model, drawing inspiration from ALE and classic video games, while maintaining a lightweight and structured design.
Aviate | Bounce | Cross | Drive | Explode |
---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() |
Fruits | Gold | Hunt | Impact | Jump |
![]() | ![]() | ![]() | ![]() | ![]() |
To install the gameworld
library, either use the pypi registry pip install gameworld
, or install from source by cloning the repository and running pip install -e .
.
This library has been developed and tested onpython3.11
for both Linux and macOS.
The Gameworld environments use the gymnasium.Gym api. To run your own algorithm against our environments, create an environment instance as:
import gameworld.envs # Triggers registering the environments in Gymnasium
import gymnasium
game = "Aviate"
env = gymnasium.make(f"Gameworld-{game}-v0")
obs, info = env.reset()
for t in range(10_000):
# random actions as example
action = env.action_space.sample()
# step env
obs, reward, done, truncated, info = env.step(action)
# reset when done
if done:
obs, info = env.reset()
The Gameworld environments support controlled perturbations in order. For each environment, you can choose no (None
), shape (shape
), or a color (color
) perturbation.
For example, a shape perturbation after 5000 steps in the Explode
environment can be created using the following snippet:
env = gymnasium.make(
f"Gameworld-Explode-v0", perturb='shape', perturb_step=5000
)
Below we show an example of a shape and color perturbation on Explode and Fruits:
Explode Color | Explode Shape | Fruits Color | Fruits Shape |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |