Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install brycewang-stanford-awesome-agent-skills-for-empirical-research-skills-43-wentorai-research-plugins-skills-domains-ai-ml-vmas-sigit clone https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research.gitcp Awesome-Agent-Skills-for-Empirical-Research/SKILL.MD ~/.claude/skills/brycewang-stanford-awesome-agent-skills-for-empirical-research-skills-43-wentorai-research-plugins-skills-domains-ai-ml-vmas-si/SKILL.md---
name: vmas-simulator-guide
description: "Vectorized multi-agent reinforcement learning simulator"
metadata:
openclaw:
emoji: "🎮"
category: "domains"
subcategory: "ai-ml"
keywords: ["multi-agent RL", "VMAS", "simulator", "reinforcement learning", "vectorized", "cooperative"]
source: "https://github.com/proroklab/VectorizedMultiAgentSimulator"
---
# VMAS: Vectorized Multi-Agent Simulator Guide
## Overview
VMAS is a vectorized simulator for multi-agent reinforcement learning (MARL) that runs thousands of parallel environments on GPU via PyTorch. It provides a diverse set of 2D cooperative, competitive, and mixed scenarios for benchmarking multi-agent algorithms. Orders of magnitude faster than CPU-based simulators, enabling rapid research iteration on multi-agent coordination problems.
## Installation
```bash
pip install vmas
```
## Quick Start
```python
import vmas
# Create vectorized environment
env = vmas.make_env(
scenario="simple_spread",
num_envs=1024, # Parallel environments
num_agents=3,
device="cuda", # GPU acceleration
continuous_actions=True,
)
# Environment loop
obs = env.reset()
for step in range(100):
# Random actions for demonstration
actions = [env.action_space[i].sample()
for i in range(env.n_agents)]
obs, rewards, dones, infos = env.step(actions)
# obs: list of [num_envs, obs_dim] tensors
# rewards: list of [num_envs] tensors
```
## Scenarios
| Scenario | Type | Agents | Description |
|----------|------|--------|-------------|
| **simple_spread** | Cooperative | 3 | Cover N landmarks |
| **simple_tag** | Competitive | 4 | Predator-prey |
| **transport** | Cooperative | 4 | Move package to goal |
| **wheel** | Cooperative | 4 | Coordination on wheel |
| **flocking** | Cooperative | 5+ | Reynolds flocking |
| **discovery** | Cooperative | 3 | Explore and discover |
| **navigation** | Mixed | N | Multi-agent navigation |
## Integration with MARL Libraries
```python
# With TorchRL
from torchrl.envs import VmasEnv
env = VmasEnv(
scenario="simple_spread",
num_envs=512,
device="cuda",
)
# With RLlib
from ray.rllib.env import MultiAgentEnv
# VMAS provides RLlib-compatible wrapper
# With CleanRL / custom training
import torch
env = vmas.make_env("transport", num_envs=2048, device="cuda")
obs = env.reset()
# All tensors on GPU — train directly without CPU transfer
policy_output = policy_network(obs[0]) # Agent 0 observations
```
## Custom Scenarios
```python
from vmas import Scenario, Agent, World, Landmark
class MyScenario(Scenario):
def make_world(self, batch_dim, device):
world = World(batch_dim=batch_dim, device=device)
world.add_agent(Agent(name="agent_0"))
world.add_agent(Agent(name="agent_1"))
world.add_landmark(Landmark(name="goal"))
return world
def reset_world(self, env, world):
# Randomize positions
for agent in world.agents:
agent.set_pos(torch.rand(env.batch_dim, 2) * 2 - 1)
def reward(self, agent, world):
# Distance to goal
goal = world.landmarks[0]
return -torch.linalg.norm(agent.state.pos - goal.state.pos,
dim=-1)
# Register and use
env = vmas.make_env(MyScenario(), num_envs=512)
```
## Use Cases
1. **MARL research**: Benchmark multi-agent algorithms
2. **Cooperative learning**: Study emergent coordination
3. **Scalability testing**: GPU-accelerated parallel training
4. **Custom scenarios**: Design domain-specific multi-agent tasks
5. **Education**: Teach multi-agent RL concepts
## References
- [VMAS GitHub](https://github.com/proroklab/VectorizedMultiAgentSimulator)
- [VMAS Paper](https://arxiv.org/abs/2207.03530)
- [BenchMARL](https://github.com/facebookresearch/BenchMARL)