5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AI Gaming はじめてみた

Last updated at Posted at 2020-01-22

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

登録作業はとても簡単。さすが洗練されてきていますね。

  1. https://www.aigaming.com にアクセス
  2. 右上のRegisterから登録
    image.png
  3. 必要事項を入力後、ダッシュボードがアクティベートされます

どんなゲームがあるの?

簡単なゲームから難しいゲームまで20種類くらいのゲームがリリースされています。

Nought and Crosses

小学生の頃に熱中した○×ゲーム
image.png

Battle Ship

相手の船を見つけて、早く全滅させた方が勝ち。(お互いに船の位置は見えておらず、着弾時の情報から場所を推測しています)
image.png

Match game

2枚のパネルを開いて、同じならポイント獲得!な神経衰弱。パネルの裏も表も画像のURLが渡されるので、まずはそれぞれのパネルが何なのか(動物・言葉・場所)を判断し、無駄なオープンを減らすところからスタートか。
image.png

BitCoinの稼ぎ方

Missionをクリア

登録時にいくらかのSatoshiが配布され、ミッションを進めていくことでSatoshiを増やしていくことができます。現在で最大4万Satoshiまで獲得できる模様。
image.png

最初はあまり気にしなくても、○×ゲームをやっていれば、3000Satoshiくらいにはなっていました。中には練習用Botと100連戦して50%以上の勝率をマークせよ、なんていうのもあります。

Betして勝つ

Satoshiを賭けて戦うこともできます。ただ、賭けて戦うケースはまだ稀みたいです。将来、貯めたSatoshiを全額投入!みたいなバトルがみられたりもするのでしょうか。
image.png

引き出し方

調べ中。(あまり興味がない)

遊び方

上部メニューの”EDITOR"からコーディング画面に入れます。
image.png

そのあと、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にかなり丁寧に記載されています。

image.png

○×ゲームの場合はgameState.Boardで一次元の配列としてボードの状態が引き渡されるので、これを理解して、自分のマークを置く位置nを{Positison: n}というJSONオブジェクトで返せばOKです。

対戦を始める

Select Opponentのドロップダウンで対戦相手を選択可能です。

  • housebot-practice : 弱いBot。まずはこいつに勝ちましょう。
  • housebot-competition : 強いBot。筆者は現時点でまだ勝ててません。

対戦相手を指定する

ドロップダウンではなく、直接入力することで、対戦するBotを指名可能です。
面白いのは、自分自身とも対戦できるという点です。ブラウザを2面開いて、お互いに指名し合ってRunすれば、対戦可能です。(自分の作ったBot同士で対戦する、というミッションもあるので、是非とも試してみてください)
image.png

これからやってみようと思うこと

  • competition Botに勝つ
  • 画像認識や自然文解析のクラウド基盤と連携して、他のゲームに挑戦する

まとめ

以上、簡単にAI Gamingについてご紹介しました。ブラウザで完結し、気軽にpythonおよびAIについて、各自のレベルに合わせて学習できる、良い基盤だと思います。

それでは今回はこの辺で。

5
7
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?