MPE2  by Farama-Foundation

Multi-agent particle environments for communication-centric RL research

Created 3 years ago
592 stars

Top 54.2% on SourcePulse

GitHubView on GitHub
Project Summary

Multi Particle Environments 2 (MPE2) provides a robust suite of communication-oriented environments tailored for multi-agent reinforcement learning (MARL) research. It targets engineers and researchers developing sophisticated agent coordination strategies, offering a refined and extended version of OpenAI's foundational MPE codebase. MPE2 enhances consistency, introduces new scenarios, and improves the overall usability for MARL experimentation.

How It Works

MPE2 features particle agents that can navigate, perceive their surroundings, and exchange messages within static environments populated by landmarks. The framework encompasses both adversarial (competitive) and cooperative multi-agent settings, enabling the study of complex emergent behaviors. Key enhancements over the original OpenAI MPE include the default use of discrete action spaces for easier integration, standardized reward functions for consistent training, and cleaned observation spaces. Additionally, MPE2 introduces three novel environments to expand the research landscape.

Quick Start & Requirements

  • Installation: Install via pip: pip install mpe2.
  • Prerequisites: Requires a Python environment. No specific hardware dependencies like GPUs or specialized software are mentioned in the README.
  • Documentation: Links to detailed documentation for individual environments (e.g., /environments/simple_push/) are accessible through the project's structure.

Highlighted Details

  • Environment Diversity: Encompasses a range of adversarial (e.g., Simple Tag, Simple Crypto) and cooperative (e.g., Collect Treasure, Simple Speaker Listener) scenarios, facilitating research across different multi-agent paradigms.
  • Agent Dynamics: Agents are equipped with relative and absolute positional data, velocity vectors, and the ability to broadcast discrete or continuous messages to observable peers. Landmarks function as static elements, acting as either destinations or obstacles.
  • Action & Observation Spaces: Offers flexibility with both discrete (default) and continuous action spaces. Observation spaces are dynamically configured based on agent visibility and received communications, reflecting real-world sensing limitations.
  • Rendering: Includes a visualization module for rendering agent interactions, environmental elements, and communication flows, aiding in debugging and analysis.

Maintenance & Community

The provided README does not specify details regarding core maintainers, community support channels (such as Discord or Slack), or a public roadmap for future development.

Licensing & Compatibility

The README does not explicitly state the software license. This omission necessitates further investigation to determine compatibility for commercial applications or integration within proprietary systems.

Limitations & Caveats

No specific limitations, alpha status, or known bugs are detailed in the README. The most significant consideration for adoption is the absence of explicit licensing information, which could impact usage rights.

Health Check
Last Commit

2 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
2
Issues (30d)
4
Star History
563 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.