codingame:Spring Challenge 2022 ローカル対戦のための環境構築
Codingame、通称コドゲは、開発したゲームAIの強さを競うコンペを主催している会社のサイトです。先日Spring Challenge 2022が始まったばかりですね。
本記事では、Spring Challenge 2022でローカルで対戦する環境を構築するための方法について紹介します。 今回は最低限ローカルで動くところを目的としているため、便利なスクリプトを使った実行などについては触れません。最後に参考記事を載せておいたのでそちらを参考にしていただけたらと思います。また筆者の環境であるmacOS以外についても触れません。ご了承ください。
必要なもの
- Java8
$ ls /Library/Java/JavaVirtualMachines/ jdk1.8.0_331.jdk
jdk-12.0.1.jdk
などでは動作確認してません。どれがいいのかわからないけど、とりあえず進めます。
Javaのinstall方法については他記事に任せてしまいますが、私はOracleの公式からダウンロードしました。
mavenって何?
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
なるほど。インストールします。
$ brew install mvn
バージョンは、、
$ mvn --version Apache Maven 3.8.5 (3599d3414f046de2324203b78ddcf9b5e4388aa0) Maven home: /usr/local/Cellar/maven/3.8.5/libexec Java version: 18, vendor: Homebrew, runtime: /usr/local/Cellar/openjdk/18/libexec/openjdk.jdk/Contents/Home Default locale: en_JP, platform encoding: UTF-8 OS name: "mac os x", version: "10.15.7", arch: "x86_64", family: "mac"
最新です。これもどれがいいのかよくわからないけど動くのでよし!
- IntellJ IDE
学生さんは有料版(IntelliJ IDEA Ultimate) が無料で使えますが、 無料版(Community Edition)でも今回は特に問題ないです。
- git
githubから公式が提供してる環境をダウンロードするのにあると便利です。
実行手順
- ローカルにプロジェクトをダウンロードする
- IntelliJでプロジェクトを読み込む
- 実行する
1. ローカルにプロジェクトをダウンロードする
こちらのrepositoryにあります。
任意の場所にcloneします。
$ git clone https://github.com/CodinGame/SpringChallenge2022.git Cloning into 'SpringChallenge2022'... remote: Enumerating objects: 124, done. remote: Counting objects: 100% (124/124), done. remote: Compressing objects: 100% (95/95), done. remote: Total 124 (delta 20), reused 120 (delta 17), pack-reused 0 Receiving objects: 100% (124/124), 2.12 MiB | 6.79 MiB/s, done. Resolving deltas: 100% (20/20), done. $ ls SpringChallenge2022
2. IntelliJでプロジェクトを読み込む
IntelliJを起動して右上のOpen
からの先程のSpringChallenge2022
フォルダを選択して開きます。
こんな画面になればOKです。
2.5 描画moduleにも手を加える
このまま3. に進むと実行はできるけど真っ暗となってしまいます。SpringChallenge2022では描画のリソースにも手を加える必要があるみたいです。npmを使います。
参考: github.com
$ npm --version 6.14.4 $ cd SpringChallenge2022/src/main/resources/view/ && npm ci && npm run start [8:46:25 PM] File change detected. Starting incremental compilation... [8:46:25 PM] Found 0 errors. Watching for file changes.
これでOKです。
3. IntelliJで実行する
実行のエントリポイントとなるファイルsrc/test/java/Main.java
を開きます。
compileJava
という関数を呼んでますが、ここのbashスクリプトの実行でこけると悲しいので、Player two
と同じくpythonのスターターに置き換えちゃいましょう。
public class Main {
の行の左にある実行ボタン押してRun Main.main()
を選択すると色々走って(依存関係の解決とかbuildとか?)実行されます。※
実行されました。http://localhost:8888/test.html
にブラウザからアクセスしてみましょう!
うおー。
最後に
いかがでしたか?ローカル実行環境でAIを育てて、ライバルに差をつけよう! 筆者はまだルールすら把握してません。対戦よろしくお願いします。
以下、過去の記事で参考にさせていただいたものです。わからないことなどあればこちらも参照ください。
※ 環境によっては以下のようなエラーが出ます。Javaのバージョンが新しいもので実行されてしまってるということなので、設定を変えます。左下の設定ボタンからJava8で実行されるように変更し、Applyボタンを押してOKで閉じて実行しなおしてください。