Table of Contents †
本ページについて †
このページは、Abstract Strategy Games
Online開発プロジェクトの開発者資料です。
開発過程での、実験結果、調査資料、内部仕様などを公開することで、Webベースアプリケーション・ソフトウェア開発、AI研究、アブストラクトゲーム等の研究に役立つこともあるかと考え、プロジェクト情報の一部分を公開します。
Aglie手法による、本プロジェクトの開発者向けの資料ですので、誤った表現、一貫性のない構成、等が含まれている箇所があります。
本ページに掲載してある文章、図、プログラムソースコード等、すべての著作権は、アブストラクトゲーム博物館に帰属します。
このプログラムは、2009/9/8 現在、ソースコードの開示、内部仕様の一般公開はおこなっていません。
本プロジェクトの目的 †
本ゲームシステムは、Webベースアプリケーションとして、多種のアブストラクトゲームをできるだけ簡便に実装できるようにすることを主目的としています。*1
プロジェクトには、ゲームルールを解釈するゲームエンジン、コンピューター対戦のためのAI、対話性の高いユーザーインターフェースの実現が含まれています。
特定ゲームの実装であれば、定跡、終盤手順などのDB、カスタマイズした局面評価、最善手探索手法等、さまざまな工夫をすることで強いAIを追求することもゴールになりますが、本プロジェクトでは、汎用性を優先するため、特定ゲーム向けのチューニングは、最小限にとどめています。アプリケーションのアーキテクチュア、アルゴリズムの個別チューニングに代えて、プラットフォームの性能向上を目指すことで少しでも強いAIの実現する努力をしています。本プロジェクト資料作成は、これらモニタリング&チューニングに関する結果を記録することも重要な目的と位置づけています。
History †
Version 1 †
- 開発期間 2009/6 はじめ ~ 2009/8 末
- FlipFlop, Rinne
をブラウザ上でプレーすることを目的に作成したWebベース・アプリケーション。
- FlipFlop, Rinne, King's Valleyを実現
Version 2 †
- 開発期間 2009/8 末 ~ 2009/9 初旬
- Version 1をリファクタリングして、ゲーム間での共通部分を整理
- より多くのゲームに対応できるようにアーキテクチュアを再検討した
- AIの強化
- パフォーマンスの向上
- Alapoを追加
Version 3 †
- 開発期間 2009/9 中旬 ~ 2009/10 中旬
- サーバー側プログラムのJRubyへの対応。これにあわせて
- ActiveRecordにDBインターフェースを統一
- 環境を判別して、Multi-Threadを自動的に使い分ける
- サーバー側プログラム外部プログラム連携のためのAPIの整理 (Version 4で)
- Mini-Shogiの実装
- Rinne AIの強化
-
Mini-Shogi実装準備と、AI強化のため、プログラム内部状態の可視化および統計情報を取得できるように修正
Version 4 †
- 開発期間 2009/10 中旬 ~ 2009/12 下旬
-
新規ゲームの実装よりも内部仕様と性能・素材の整理を中心とする
-
評価対象手の生成時のフィルタリング機能の導入
-
SSS法など、単純な深さ優先方式からの考慮方式の変更で、考慮時間の制御を容易にする ...
どのような方式があるかリサーチする
- 棋譜鑑賞
-
棋譜一覧から、対局を選択して再生する機能
- テキストの棋譜からゲームを再生する機能
- サーバー側プログラム外部プログラム連携のためのAPIの整理
- C言語などによるカスタムAIの記述を可能にする
- ネットワーク分散環境下でのAIリクエストの処理インターフェースの実現
- 新規ゲーム(近日発表)を追加
Version 5 †
- 開発期間 2010/1 初旬 ~ 2010/8
- Version 4で作成したCustom AIのAPIを使って、AIの強化を目指す
- 棋譜鑑賞
- 将棋型ゲームの、カスタムゲーム制作のための基礎機能作成
Version 6 (現在公開中) †
Games †
ゲーム個別の課題他
- AI5 3x3では完璧に指すようになった(ように見える)
- 5x5では、AIレベル3まで。プラットフォーム性能の向上によって改善を目指す
-
フロントエンド部分で、ボードFLIP時の駒反転表示を汎用性がある実装方法で実現。Zillionsは、この機能実現は、スマートな方法ではない。
- AIは探索空間が前3種に比べて多く、苦戦
- 残り駒数によって、探索の深さを調整するようにしている
- RubyでのAI実装は、このレベルのゲームが限界か?
- これまでのゲームと異なる箇所が多数
- 持ち駒のあつかい (対応済み)
- 駒の向き (対応済み)
- 合法手生成の効率化
- AI強化(Version 4から)
- 考案者からの公開承認待ちのため非公開
- MiniShogiと合わせて、AIの強化/調整
- 画像は、オリジナル駒ではなく、写真を活用
SEE ALSO †
以下、開発者専用のページです