Rails で作る AI vs AI Reversi - ストーリー

AI vs AI Reversi, Rails Add comments

昨日(Rails で作る AI vs AI Reversi - モデル設計)の続きです。今日はストーリー(ユースケース)について。

クライアントにあたる Reversi AI は、 おそらくバッチ的なプログラムになるでしょう。その場合、実際のリバーシのアルゴリズム以外に、どうやって対戦相手を見つけるか・前述の Game をどうやって生成するか、などが問題になります。プレイヤーにはアルゴリズムのプログラミングに集中してもらいたいため、「ゲームの生成・対戦相手を見つける・対戦結果を見る」などは、Webサイト上で提供しようと考えています。

それを踏まえた上で考えたストーリーです。

基本ストーリー

前準備

  1. 公開された API および仕様に沿った Reversi AI を作る。

Web サイトにて

  1. サインアップする。 => 認証キーをメモ
  2. 対戦相手を探して対戦を申し込む。もしくは、Game を生成して対戦相手を待つ。
  3. プレイヤーが揃う。 => Game の id をメモ

自分の PC にて

  1. 自分の認証キーと Game の id を設定する。(設定ファイルとか引数とか、お好みで)
  2. Reversi AI を実行する。 GET で盤の情報 etc を取得して、POST で石を打つ。
  3. (実装していれば)対戦結果を見る。

Web サイトにて

  1. 対戦結果を見る。

いかがでしょうか。最後に見たのは数年前だけど、「対戦相手を待つ」あたりは、ハンゲっぽいのをイメージしてます。

もし 8/9 間に合いそうになければのストーリー

自分の PC にて

  1. クライアントは、「相手は誰でもいいから紹介してー」という GET リクエストをゲームサーバに送り続ける。(ポーリング )
  2. サーバは、プレイヤーが組み合ったら、サーバ側で自動的に Game を生成して id を返す。
  3. クライアントは、受け取った Game の id をキーにして、対戦開始。

どうしよっかなぁ。(結構楽しんでる :-)

Leave a Reply

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン