Quick links: Github | Baselines | NeurIPS 2021 Paper | Discord | Twitter

icon Introduction

Neural MMO is an open-source and computationally accessible research platform that simulates populations of agents in procedurally generated virtual worlds. We support basic foraging tasks involving a few agents for a couple of minutes, thousand-agent joint survival + exploration + combat over multiple hours, and everything between. Our goal is to support a broad base of multiagent research that would be impractical or impossible to conduct on other environments.

from nmmo import Env

env = Env(config=None) # Default environment. Keep reading for config options
obs = env.reset()

while True:
    actions = {} # Compute with your model
    obs, rewards, dones, infos = env.step(actions)

Environments provide a standard PettingZoo API. Join our community Discord and post in #support for help (do not raise Github issues for support). See the quick links above for source code, baselines, latest publications, social media, and news!


@inproceedings{NEURIPS DATASETS AND BENCHMARKS2021_44f683a8,
  author = {Suarez, Joseph and Du, Yilun and Zhu, Clare and Mordatch, Igor and Isola, Phillip},
  booktitle = {Proceedings of the Neural Information Processing Systems Track on Datasets and Benchmarks},
  editor = {J. Vanschoren and S. Yeung},
  pages = {},
  title = {The Neural MMO Platform for Massively Multiagent Research},
  url = {https://datasets-benchmarks-proceedings.neurips.cc/paper/2021/file/44f683a84163b3523afe57c2e008bc8c-Paper-round1.pdf},
  volume = {1},
  year = {2021}
}

In the presentation above, I coin the term Foundation Policies, analogous to Foundation Models, as a grounding motivation for investing in environment complexity and generality. A key contribution of Neural MMO is to do so efficiently and interpretably by adapting techniques from classic MMO development for deep learning.

The associated poster provides a high level overview of the workflow intended to support most research on the platform. For a more thorough walkthrough of features and usage, read on.

../_images/NMMO_NeurIPS2021_Poster.jpg

icon Installation

Official support: Ubuntu 20.04, WSL, and MacOS. Tested with Anaconda Python 3.9

Packaged installation
# Install NMMO with baseline dependencies (quotes for mac compatibility).
pip install "nmmo[cleanrl]"

# Clone baselines repository. Optional but recommended: setup WanDB integration.
git clone https://github.com/neuralmmo/baselines nmmo-baselines
echo YOUR_WANDB_API_KEY > nmmo-baselines/wandb_api_key

#Run a quick demo (download client below)
python -m demos.minimal

Download the latest client here (WSL users: do this on your Windows host). Start the demo and run the executable for your platform in client/UnityClient/. After a few seconds, the demo console will show a connection message and the client will load the map. The on-screen instructions demonstrate how to pan and zoom. You can also click on agents to examine their skill levels. The in-game console (which you can toggle with tab) gives you access to a number of overlay visualiztions.

Setup from source for developers (slow without –depth=1)
mkdir neural-mmo && cd neural-mmo

git clone https://github.com/neuralmmo/environment
git clone https://github.com/neuralmmo/baselines
git clone https://github.com/neuralmmo/client

echo YOUR_WANDB_API_KEY > baselines/wandb_api_key
cd environment && pip install -e .[all]

icon Call for Collaborations

Following the platform’s recent publication in NeurIPS 2021, we are excited to announce an open call for collaborations!

Eligibility (at least one of)
  • You are affiliated with an academic lab (professor/PhD student/postdoc)

  • You have previously published in a relevent area (RL, PCG, etc)

  • You are a corporate researcher with substantial freedom to publish

  • You have a substantial engineering background and want to help with core development

Excepting prospective developers, your objectives should include first-author publication at a top venue. We (Joseph Suarez and Phillip Isola, MIT) would be included as second authors. Compared to working independently, we can offer:

Benefits:
  • Extended support and custom features

  • Project-specific guidance, having developed the platform

  • An invitation to our monthly group meetings

  • Scoop insurance (we avoid duplicate projects)

  • Introductions to other practitioners in our community

Contact me via Discord or email (in the publication) if you are interested.