7月 11
昨日(Rails で作る AI vs AI Reversi - モデル設計)の続きです。今日はストーリー(ユースケース)について。
クライアントにあたる Reversi AI は、 おそらくバッチ的なプログラムになるでしょう。その場合、実際のリバーシのアルゴリズム以外に、どうやって対戦相手を見つけるか・前述の Game をどうやって生成するか、などが問題になります。プレイヤーにはアルゴリズムのプログラミングに集中してもらいたいため、「ゲームの生成・対戦相手を見つける・対戦結果を見る」などは、Webサイト上で提供しようと考えています。
それを踏まえた上で考えたストーリーです。
基本ストーリー
前準備
- 公開された API および仕様に沿った Reversi AI を作る。
Web サイトにて
- サインアップする。 => 認証キーをメモ
- 対戦相手を探して対戦を申し込む。もしくは、Game を生成して対戦相手を待つ。
- プレイヤーが揃う。 => Game の id をメモ
自分の PC にて
- 自分の認証キーと Game の id を設定する。(設定ファイルとか引数とか、お好みで)
- Reversi AI を実行する。 GET で盤の情報 etc を取得して、POST で石を打つ。
- (実装していれば)対戦結果を見る。
Web サイトにて
- 対戦結果を見る。
いかがでしょうか。最後に見たのは数年前だけど、「対戦相手を待つ」あたりは、ハンゲっぽいのをイメージしてます。
もし 8/9 間に合いそうになければのストーリー
自分の PC にて
- クライアントは、「相手は誰でもいいから紹介してー」という GET リクエストをゲームサーバに送り続ける。(ポーリング )
- サーバは、プレイヤーが組み合ったら、サーバ側で自動的に Game を生成して id を返す。
- クライアントは、受け取った Game の id をキーにして、対戦開始。
どうしよっかなぁ。(結構楽しんでる
)
Recent Comments