Open7
The Neural MMO Challenge

概要
- NeuralMMOという、プログラミングしたbotをMMO世界に放ってスコアを競うゲームプラットフォームを使ったプログラミング競技
- 期間:2023/12/16 9:00 JST (2023/12/15 00:00 UTC)
- Prize:$20K in prizes sponsored by Parametrix.ai
- 参加方法: aicrowd.com にアカウントを作り、上のチャレンジのリンクから参加
- リソース:
-
Discord
- welcomeチャンネルに各種リンクがあります
-
Discord

NeuralMMO
食事、資源回収、戦闘、経済などの機能が入ったMMOゲーム世界に、自動で判断・行動するキャラクターを放ち生存とスコアリングを行うゲームです。
キャラクターのAIは強化学習で生成することが想定されています。
ゲームの仕様は # TODO: リンク入れる
ブラウザークライアント で動作しているデモを見ることができます。

競技内容
※ 競技の複雑さの割に公式の説明が貧弱で、実際に動かしてからでないと非常にわかりづらいです
競技内容とルールは以下のランディングページに記載があります。
競うのはキャラクターを実際にMMO世界で動作させた結果のスコアの高さです。
キャラクターAIを生成するのにはReinforced Learning, Curriculum Generation, No Hold Barredの3つ※のtrack(手法)がありますが、競技自体はひとつです。
※ ランディングページにはLLMを使うtrackも記載があるが、正式にサポートされているわけではない

始め方
構成
強化学習の学習でGPUを使うため、Windows上にWSLを入れてその上で学習させ、開発はMacからssh接続でWSLに繋いで行います。

Submission
gitlab.aicrowd.com に指定の構成でリポジトリを作り、そのリポジトリに指定のタグ名でタグをpushすることでsubmissionします。
公式のSubmission方法は、チャレンジページの Submission
タブから Create Submission
をクリックして開く 新規Submission ページに書かれていますが、リポジトリを説明の通りに構成するとSubmitに失敗する ため以下の説明を読みましょう
- チャレンジ に参加していない場合は参加する
- https://gitlab.aicrowd.com にアカウントを作り、ssh鍵の登録など必要な準備を済ませておく
-
https://gitlab.aicrowd.com/Mudou/start-kit をフォークする
- 全ファイルをpullしてくるには git-lfs が必要なので入れておく
- このリポジトリにSubmitに必要なものが全て入っており、botのモデルも含まれるためSubmitすれば実行されてスコアが計上され、リーダーボードに載る
- リポジトリのREADMEに色々書いてあるが、Submitするだけならば環境を作ったり何かを実行する必要はない
- start-kitのaicrowd.jsonの内容を、新規Submissionページに書かれている
Your repository should have a aicrowd.json file with following fields:
の内容と置き換える。 この際、grader_idフィールドを削除しておく grader_idは過去回に必要だったフィールドで、残ったままSubmitするとSubmissionに失敗する -
新規Submissionページの
Submitting
セクションを参考に、バージョン番号を入れたgit tagを作成・remoteへpushする- おそらく gitlab.aicrowd.com に特定の名前のtagがpushされるとSubmissionとして扱うようになっている
- リポジトリのissueに、Submissionを受け付けてキューに入っている or 失敗した旨のissueが自動的に生成される

WSLにローカルネットワークからssh接続する

$ python train.py --runs-dir train/ --local-mode true