TL;DR
https://www.aigaming.com がBitCoinを賭けて戦う、バトルフィールドだ!!
AIやpythonに興味があれば、一緒に参加しよう!!
この記事は
pythonもAIも初学者なnoyaがAI Gamingというプラットフォームで学習をはじめたというお話
AI Gamingとは
AIgaming.com is a platform that allows computer programs (bots) to challenge each other in games, puzzles and competitions, with the added incentive of winning cryptocurrency (Bitcoin and Satoshi)
プレイヤーがお互いに対戦型ゲーム(○×ゲームとか、囲碁とか)をするBotを作成し、仮想通貨を賭けて競うためのプラットフォームです。とのこと。実際は、Oppoturnityについて入れたりする欄もあるので、AI人材を見つけるための基盤としての一面もあるのでしょうが、Oppoturnityに関しては無視することもできるので、気にせず登録してよいかと思います。
How to Start
登録作業はとても簡単。さすが洗練されてきていますね。
- https://www.aigaming.com にアクセス
- 右上のRegisterから登録
- 必要事項を入力後、ダッシュボードがアクティベートされます
どんなゲームがあるの?
簡単なゲームから難しいゲームまで20種類くらいのゲームがリリースされています。
Nought and Crosses
Battle Ship
相手の船を見つけて、早く全滅させた方が勝ち。(お互いに船の位置は見えておらず、着弾時の情報から場所を推測しています)
Match game
2枚のパネルを開いて、同じならポイント獲得!な神経衰弱。パネルの裏も表も画像のURLが渡されるので、まずはそれぞれのパネルが何なのか(動物・言葉・場所)を判断し、無駄なオープンを減らすところからスタートか。
BitCoinの稼ぎ方
Missionをクリア
登録時にいくらかのSatoshiが配布され、ミッションを進めていくことでSatoshiを増やしていくことができます。現在で最大4万Satoshiまで獲得できる模様。
最初はあまり気にしなくても、○×ゲームをやっていれば、3000Satoshiくらいにはなっていました。中には練習用Botと100連戦して50%以上の勝率をマークせよ、なんていうのもあります。
Betして勝つ
Satoshiを賭けて戦うこともできます。ただ、賭けて戦うケースはまだ稀みたいです。将来、貯めたSatoshiを全額投入!みたいなバトルがみられたりもするのでしょうか。
引き出し方
調べ中。(あまり興味がない)
遊び方
上部メニューの”EDITOR"からコーディング画面に入れます。
そのあと、Select Game Typeでゲームを選択すると、それぞれのゲームで「とりあえず動く」Botコードが記述されています。何もせずに右上のRunを押せば大抵の場合、ゲームが始まって、そして負けると思います。
Trouble
自分の場合は登録したあとに、ユーザアカウント名が気に入らなかったので変更したのですが、その場合botの名前が登録済みのBotの名前と一致せずゲームがはじめらませんでした。
デフォルトのBotの名前は(アカウント名)-defbot
になっているのでMY ACCOUNT >> BOT MANAGEMENT
で対応するBotを生成するか、旧アカウント名のBotを使うかなど、対応します。
Coding
Sampleを参考にコーディングしましょう。
基本的にはゲームマスタが交代にとある関数にゲームの情報を引数として呼び出す(○×ゲームの場合はcalculateMove(gameState)
)ので、その中身を実装します。
gameStateの構造や返し値のフォーマットについては、https://www.aigaming.com/Help の各ゲームの説明かProgrammer’s Referenceにかなり丁寧に記載されています。
○×ゲームの場合はgameState.Board
で一次元の配列としてボードの状態が引き渡されるので、これを理解して、自分のマークを置く位置nを{Positison: n}
というJSONオブジェクトで返せばOKです。
対戦を始める
Select Opponentのドロップダウンで対戦相手を選択可能です。
- housebot-practice : 弱いBot。まずはこいつに勝ちましょう。
- housebot-competition : 強いBot。筆者は現時点でまだ勝ててません。
対戦相手を指定する
ドロップダウンではなく、直接入力することで、対戦するBotを指名可能です。
面白いのは、自分自身とも対戦できるという点です。ブラウザを2面開いて、お互いに指名し合ってRunすれば、対戦可能です。(自分の作ったBot同士で対戦する、というミッションもあるので、是非とも試してみてください)
これからやってみようと思うこと
- competition Botに勝つ
- 画像認識や自然文解析のクラウド基盤と連携して、他のゲームに挑戦する
まとめ
以上、簡単にAI Gamingについてご紹介しました。ブラウザで完結し、気軽にpythonおよびAIについて、各自のレベルに合わせて学習できる、良い基盤だと思います。
それでは今回はこの辺で。