GJAX IS UNDER CONSTRUCTION! (※日本語ブログ)

Please wait a minute for GJAX/2008

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  171  : 記事  0  : コメント  757  : トラックバック  50

ニュース

今後のスケジュールについて

予定なし

インフォメーション

わんくま同盟メンバ ブログ トップ

ブログタイトル(July 2007~)
GSP.NET GJAX!
【読み方:じーえすぴーどっとねっと/じーじゃっくす】
【サブ:~ A C# programmer dives into ASP.NET! ~】

ASP.NET AJAXと違って、GSP.NET [ghost_shell's (web) pages & .NET]の部分が正式名称、GJAX!の部分が省略形・俗語となっています。

過去のブログタイトル
【表記:ウェブ100】
【読み方:うぇっぶいちまるまる】
【サブ:.Net & Webに てん ぜろ】

書庫

日記カテゴリ

先週末の懇親会で意外と支持のあったリバーシ/オセロネタ。
アクアさんのところでコメントしたのだけど「今週末作ろうかな。」と思ったので、企画したらどのくらいの人が興味を示すのだろう、という調査です。
ここはこうした方がいいんじゃない?!というツッコミは歓迎。

  1. ルール
    優れたプログラムであるほど時間をかければいい解を出してくるので、時間制限は設けたい。
    個人的には経過時間によって(処理時間の合計が限度を超えたら)失格にするよりも、1手ごとに制限時間を設けるというのがやりたいなーと思います。
    例えば1秒後にディーラー(実行プログラム)がどこに指すかを見た(変数にアクセスした)ときに何も書かれてなかったり間違っていたら失格やペナルティとか。
    実行環境の処理性能も決めないと。
  2. 内部仕様
    入力:盤面 bool?[] や bool?[,]
    出力:結果 int や Point
    bool?(Nullable<bool>)の場合、nullはどちらの駒もおかれていない状態というのはいいとして、trueって自分の駒?黒番?
    IEnumerable<Point>も考えたけど、常に黒、白、黒、白、・・・とはならないんだっけ?
    自分が提案したルールだと、メソッド内部で結果をセットするので、出力はvoidですね。
  3. スケジュール
    今月末。 と言っておいて後から延ばす。

いきなりゲームAIって言われて戸惑うかもしれないし、その反対にいきなりすごいものを作られてもこっちが当惑するので、まずは駒が置ける場所をリストで返す、というところから始めた方がいいのかな。

#ここはこうした方がいいんじゃない?!と受けるとする前に何1つ決めてないじゃないか!

投稿日時 : 2008年5月22日 18:30

コメント

# re: リバーシ ゲームAI 募集 2008/05/22 18:43 凪瀬
ハンドアセンブルの際のクロック数のカウントじゃないけども、実行時バイトコードのステップ数とかでアルゴリズムの処理時間を計測とかできないもんですかねぇ。
さすがにランタイムまでは作りたくないし。

# re: リバーシ ゲームAI 募集 2008/05/22 19:56 渋木宏明(ひどり)
もう作っちゃった>プラグイン形式の Player を戦わせるオセロ盤

# re: リバーシ ゲームAI 募集 2008/05/22 20:40 ながせ
なんとーぅ。
最弱のAIなら、ちら裏で展開たけど、その先を見てみたいものです。

# re: リバーシ ゲームAI 募集 2008/05/22 22:49 出水
思考ルーチンの部分はスレッド化して、一定時間経ったらAbortとかでどうかなぁ?

# re: リバーシ ゲームAI 募集 2008/05/23 12:50 ghost_shell
コメントありがとうございます。

凪瀬 さん

気持ち分かります。
組み込みの開発はしたことないけど、UNIXでC言語を使っていた時、コード中の1命令、果ては実行時の1命令にすごくこだわりをもっていたなぁ。

...現世紀の話ですけど。

----------------------------------------
渋木宏明(ひどり) さん

どこで公開しているんですか~?
プラグインの形式はどうなってますぅ~?

----------------------------------------
ながせ さん

遅ればせながら、ちら見させていただきました。
多くの人に参加してもらえるように展開できないかな。
ゲームAI考えたりプログラムで組むのって楽しいのに。

----------------------------------------
出水 さん

いいですね。

...実を言うとそのことを最初に決めてしまいたかったのですが、割り当てられるメモリも同じにしないといけないかなー(どうするんだ?)、という新たな疑問が新たに生まれたり、広くアイデアを頂くために抑えていました。

# re: リバーシ ゲームAI 募集 2008/05/23 15:33 渋木宏明(ひどり)
>どこで公開しているんですか~?

とりあえず落ち着いた感じなので

http://cid-f11bb9fd8e1bc5f9.skydrive.live.com/self.aspx/Downloads/Reversi-20080523.zip

に置きました。

>プラグインの形式はどうなってますぅ~?

IPlayer インターフェースを継承したクラスの入った、クラスライブラリです。の予定で、まだそこんとこ未実装です。

今はプロジェクト参照してビルドしてから実行 (^^;

ゲームの実行エンジンとゲーム盤の実装を分けてあるので、週末にプラグインを受け付けるリッチなゲーム盤を作ります。




# re: リバーシ ゲームAI 募集 2008/05/23 17:37 ghost_shell
渋木宏明(ひどり) さん ありがとうございます。
とりあえずMVCのVとCが揃いつつありますね。(Cは実行かけるだけですが)
あとはM(=ゲームAI)だけですね。告知しないとー。

> ゲームの実行エンジンとゲーム盤の実装を分けてあるので、週末にプラグインを受け付けるリッチなゲーム盤を作ります。

おぉ! お願いしてもいいのかしら?

# リバーシ ゲームAI 続報 2008/05/23 18:30 GJAX IS UNDER CONSTRUCTION! (※日本語ブログ)
リバーシ ゲームAI 続報

# re: リバーシ ゲームAI 募集 2008/05/23 19:36 渋木宏明(ひどり)
ジェネラルなやつは作りますけど、ゲームエンジンが分離してあるので、ゲーム盤はゲーム盤で発展させられますよん。

今のままでも、やろうと思えば各 AI プレイヤーの思考時間の計測はゲーム盤側で出来るようになってたりしますし。

複数の AI プレイヤーを登録して、トーナメント戦やらすようなゲーム盤も作れたりします ;-)

Post Feedback

タイトル
名前
Url:
コメント: