Server
人狼知能プラットフォーム
人狼知能プラットフォーム0.6.xダウンロード
Java 11(以上)の実行環境が必要です.
- aiwolf-ver0.6.4.zip (2023/06/28)
- aiwolf-ver0.6.3.zip (2021/12/13)
JavaDoc: aiwolf-docs-ver0.6.3.zip - aiwolf-ver0.6.2.zip (2020/06/29)
JavaDoc: aiwolf-docs-ver0.6.2.zip - aiwolf-ver0.6.1.zip (2020/05/14)
- aiwolf-ver0.6.0.zip (2020/04/02)
0.6.x系プラットフォーム更新ログ
- 2023/06/28 ver0.6.4
-
- AutoStarterの改良
Pythonエージェントの名前を指定できるようにした(エージェント側の対応が必要)
- AutoStarterの改良
- 2021/12/13 ver0.6.3
-
- AutoStarterの改良
- エージェント番号や役職付与におけるランダムネスを向上
- 設定ファイル中の乱数の種を利用して条件を揃えることを可能とした
- GUILogViewerStarterとAutoStarterに日本語GUIを有効にする隠しオプション -j
- 存在しないエージェントが返ってきたときのゲームサーバの頑健性を向上
- メソッド名の間違い修正
誤: GameSetting#setRandomSeer,正: GameSetting#setRandomSeed
- AutoStarterの改良
- 2020/06/29 ver0.6.2
-
- AutoStarterで.NETおよびPythonエージェントの役職が指定できないバグの修正
- 2020/05/14 ver0.6.1
-
- 非同時囁きの実装
- 2020/04/02 ver0.6.0
-
- 同時発話でなくなり,発話直前の発話までしか知ることができなくなりました(ver0.5.xでは見かけ上順番を付けた同時発話でしたので,ターンの発話すべてを知ることができました).
- Java 1.8のサポート期限が迫っていることから,開発環境をJava 11にしました.したがって実行できるクラスファイルのバージョンは55までとなります.
- サンプルプログラムを改良しました.
人狼知能プラットフォームの起動
AutoStarterの使い方
開発したエージェントをローカルでテストするには,プラットフォームのzipファイルに含まれる
AutoStarter.sh(Linux,MacOS)またはAutoStarter.bat(Windows)を使います.
AutoStarterの設定
AutoStarter.iniが設定ファイルですので,まずこれを編集します.
lib=./ ...(1) log=./log/ ...(2) port=10000 ...(3) game=10 ...(4) view=false ...(5) #C#=PATH_TO_C#_CLIENT_STARTER ...(6) setting=./SampleSetting.cfg ...(7) #agent=5 ...(8) Sample1,java,org.aiwolf.sample.player.SampleRoleAssignPlayer,WEREWOLF ...(9) Sample2,java,org.aiwolf.sample.player.SampleRoleAssignPlayer,SEER Sample3,java,org.aiwolf.sample.player.SampleRoleAssignPlayer Sample4,java,org.aiwolf.sample.player.SampleRoleAssignPlayer Sample5,java,org.aiwolf.sample.player.SampleRoleAssignPlayer #PythonPlayerName,python,PATH_TO_PYTHON_PLAYER_FILE ...(10) #C_SharpPlayerName,C#,PATH_TO_PLAYER_DLL:CLASS_PATH,SEER ...(11)
(1)はライブラリディレクトリを指定します.ここでは,./なので,AutoStarter.iniと同じディレクトリ,またはその下部ディレクトリにあるjarファイルを読み込みます.
(2)はログの出力場所です.
(3)はつなぐポートです.通常に変更する必要はありません.
(4)ゲーム数です.
(5)ゲームの経過をヴィジュアルで表示するかどうかを決めます.表示する場合はview=trueとしてください.
(6)C#エージェントを動かす場合に,C#のClientStarterへのパスです.
(7)Configファイルへのパス
(8)エージェント数を指定します.ここをコメントアウトした場合は,この下で指定するエージェントのみで実行します.
AutoStarter.shの外部から接続したい場合は,agent数を増やしてください.
例えば,Smaple4体と外部から1体接続したい場合は,
agent=5 Sample1,java,org.aiwolf.sample.player.SampleRoleAssignPlayer,WEREWOLF Sample2,java,org.aiwolf.sample.player.SampleRoleAssignPlayer,SEER Sample3,java,org.aiwolf.sample.player.SampleRoleAssignPlayer Sample4,java,org.aiwolf.sample.player.SampleRoleAssignPlayer
とすれば,
> AutoStarter.bat add Sample4 add Sample3 add Sample2 add Sample1 Waiting for connection...
と表示され,Sample1-4が接続した時点でいったん停止しますので,外部エージェントを実行してください.
(9)Javaエージェントの設定
エージェント名,java,クラスパス,役職(希望があれば)
なお,読み込むjarファイルは,libで指定したディレクトリ以下に.
の順で書きます.
(10)Pythonエージェントの設定
エージェント名,python,PythonPlayerのファイルへのパス,役職(希望があれば)
(11)C#エージェントの設定
エージェント名,C#,C#のdllファイルへのパス:クラスパス,役職(希望があれば)
C#エージェントだけ,dllファイルへのパスとクラスパスの双方が情報として必要なので注意してください.
AutoStarterの実行
Linux,MacOSの方はAutoStarter.shを実行してください.
Windowsの方はAutoStarter.batを実行してください.
人狼知能プラットフォーム0.5.xダウンロード
- aiwolf-ver0.5.6(2019/05/27)
- aiwolf-ver0.5.5(2019/05/15)
- aiwolf-ver0.5.4(2019/04/17)
- aiwolf-ver0.5.3(2019/04/15)
- aiwolf-ver0.5.2(2019/03/16)
- aiwolf-ver0.5.1(2019/03/07)(JavaDocのDL)
- aiwolf-ver0.5.0(2019/02/20)(JavaDocのDL)
0.5.x系プラットフォーム更新ログ
- 2019/05/27 ver0.5.6
-
- 発話チェックのバグフィックス
- 2019/05/15 ver0.5.5
-
- 発話チェックContent#validate()のバグフィックス
- AutoStarter終了時の勝率表の改良
- 2019/04/17 ver0.5.4
-
- 死後もdayStartが呼び出されるようになりました.
- 2019/04/15 ver0.5.3
-
- 死後もdayFinishが呼び出されるようになりました.
- 2019/03/16 ver0.5.2
-
- サンプルエージェントを改良しました.
- Contentクラスのバグを修正しました.
- GameViewerで主語が明示された発話がSkipになるバグを修正しました.
- 2019/03/07 ver0.5.1
-
- サンプルエージェントを全面的に書き直しました.
- GameViewerで対応していないTopicがあったのを修正しました.
- 2019/02/20 ver0.5.0
-
- Pythonエージェントや.NETエージェントもAutoStarterからスタートできるようになりました.
- AutoStarterではJavaエージェントに限りクライアント−サーバ間が直結となり,Javaエージェントのみの村では高速化が期待できます.
- AutoStarter.iniの書式が変わりました.
- ContentBuilder群が人狼知能プロトコルver.3に対応しました.
人狼知能プラットフォーム0.4.xダウンロード
- aiwolf-ver0.4.12(2018/06/16)
- aiwolf-ver0.4.11(2018/01/26)
- aiwolf-ver0.4.10(2018/01/24)(JavaDocのDL)
- aiwolf-ver0.4.9(2017/06/13)
- aiwolf-ver0.4.8(2017/06/09)
- aiwolf-ver0.4.7(2017/05/25)
- aiwolf-ver0.4.6(2017/05/18)(JavaDocのDL)
- aiwolf-ver0.4.5(2017/03/29)JavaDoc (JavaDocのDL)
- aiwolf-ver0.4.4(2017/01/15)
- aiwolf-ver0.4.3(2016/12/28)
- aiwolf-ver0.4.2(2016/12/23)
- aiwolf-ver0.4.1(2016/12/21)
- aiwolf-ver0.4.0(2016/11/30)javadoc
0.4.x系プラットフォーム更新ログ
- 2018/06/16 ver0.4.12に更新
-
- AutoStarterで外部から接続したPythonエージェントなどの成績が出ないバグを修正
- AutoStarterがシングルスレッドで動いていた問題を修正
- finishが二回呼ばれていた問題を修正
- Voteなどで存在しないAgentを返した場合はnullを返したのと同じ扱いに変更
- 2018/01/26 ver0.4.11に更新
-
- 文字化けのバグを修正
- 2018/01/24 ver0.4.10に更新
-
- 発話内容のチェックのバグを修正
- サンプルエージェントを「人狼知能で学ぶAIプログラミング」3.1のものに変更
-
AbstractRoleAssignPlayerを除いたサンプルエージェント用抽象クラスを非推奨に変更
- 2017/06/13 ver0.4.9に更新
-
- 人狼処刑時にAttackが行われないバグを修正
- 2017/06/09 ver0.4.8に更新
-
- サーバクライアント通信時のエージェントの並び順によって職業が推定可能であったため,並び順をランダム化
- 2017/05/25 ver0.4.7に更新
-
- Java8固有のメソッドを使わないように修正
- 2017/05/18 ver0.4.6に更新
-
- 非推奨だったorg.aiwolf.client.base.*を削除
- 追放が決まったら即statusをDEADにするように修正
- AIWolfGame#whisper()でmaxWhisperTurnであるべき箇所がmaxWhisperのままだったのを修正
- GameData#getGameInfoToSend()で前日のcursedFoxであるべき箇所が当日のものだったのを修正
- 死んだエージェントにもDAILY_FINISHリクエストが送られていたのを修正
- AIWolfViewerを自然言語部門へ対応
- AIWolfViewerで非推奨クラスを使わないように修正
- 2017/03/29 ver0.4.5に更新
-
- いくつかのBugFIX
- 2017/01/15 ver0.4.4に更新
-
- ContentBuilderを変更
- Topicを変更
- ContentBuilderとTopicに大きな変更がありましたので,0.4.3までで作ったエージェントではエラーが発生する可能性があります.申し訳ありません.
- 詳細は0.4.4での発話生成の方法をご覧ください.
- 2016/12/28 ver0.4.3に更新
-
- いくつかのBugFix
- サンプルプレイヤーを強化
- 2016/12/23 ver0.4.2に更新
-
- WhisperがViewerに表示されないバグを修正
- サンプルプレイヤーをorg.aiwolf.sample.player.SampleRoleAssignPlayerに変更.
- サンプルプレイヤーのソースコードはGitHubのページにあります.
- 2016/12/21 ver0.4.1に更新
-
- vote()で再投票のときに前回の投票状況を知らせるため,GameInfoにlatestVoteListフィールドを追加.このフィールドは当日限り有効(日付変更とともに空になる)で,最終的な投票状況は翌日のGameInfoのvoteListフィールドに入る.
- attack()で再投票のときに前回の投票状況を知らせるため,GameInfoにlatestAttackVoteListフィールドを追加.このフィールドは当日限り有効(日付変更とともに空になる)で,最終的な投票状況は翌日のGameInfoのattackVoteListフィールドに入る.
- GameInfoのlatestExecutedAgentフィールドに当日の追放者が入る.divine(), guard(), whisper(), attack()で利用可能.このフィールドは当日限り有効(日付変更とともにnullになる)で,同じ情報は翌日のGameInfoのexecutedAgentフィールドに入る.
- 元々エージェントに公開する予定のなかったGameInfoのattackedDeadフィールドを削除.
- 2016/11/30 ver0.4.0に更新
-
- 人柱版
人狼知能プラットフォーム0.4.x系における主な変更点
人狼知能プラットフォームは0.4.x系に変更されます.
主な変更点は以下の通りです.
- 下位互換性が保証されないため,0.3.x系で作られたエージェントの動作は保証されません
- ターン制となり各ターン発言するかどうかを選ぶことが出来るようになりました.同一ターンに複数の発言があった場合,同時に発言されたと見なされます.
- それに伴い,Talkにturnが追加されました.
- AIWolfClient.jarにあった発話生成ライブラリがAIWolfCommon.jarに移動しました.ただし,パッケージは変更ないのでエージェント開発するうえでの変更点はありません.
- TemplateTalkFactoryがdeprecatedとなり,Contentクラス及びContentBuilderクラスを用いた発話生成が推奨されます
- 共有者妖狐が追加されました.(大会では使用しません)
Nightly Update
人狼知能プラットフォームはGitHubに登録されています.
最新版(不安定版)はhttps://github.com/aiwolf/からダウンロードできます.
ソースコードを読みたい方はこちらをお使い下さい
2016年11月現在,第3回大会のために開発中のバージョンは0.4.xになります.GitHubから直接ダウンロードする場合は,0.4.x系をご利用ください.
開発者がGitHub初心者のため,不備があったらご連絡ください
サーバクライアント通信仕様
プラットフォーム開発者用にサーバクライアントのTCP/IP通信の仕様書を公開します.
仕様書といっても,ざっくりしたものですが.
要望に応じて詳細を追加していきます.
過去ログ
これより下は過去の情報となります.最新版は0.4.xです.
以下の情報は最新版では適用されませんのでご注意ください.
人狼知能プラットフォーム0.3.xダウンロード
- aiwolf-ver0.3.6(2016/08/03)
- aiwolf-ver0.3.5(2016/07/04) javadocdownload
- aiwolf-ver0.3.4(2016/05/15) javadoc download
- aiwolf-ver0.3.3(2016/05/07) download (javadoc zipfile)
- aiwolf-ver0.3.2(2016/01/21)
- aiwolf-ver0.3.1(2016/01/20)
- aiwolf-ver0.3.0(2016/01/05)
対戦用アプリケーション
人狼知能と対戦してみるためのアプリケーションを作成しました.
- vsAIWolf-0.3.5(2016-07-04)
- vsAIWolf-0.3.3(2016-05-07)
- vsAIWolf-0.3.2(2016-01-21)
- vsAIWolf-0.3.1(2016-01-20)
- vsAIWolf-0.3.0(2016-01-05)
0.3.x系プラットフォーム更新ログ
- 2016/8/3 ver0.3.6に更新
-
- Talk,Whisperでnullがくると発話を一切しないバグを修正
- キャラクタの画像を差し替え
- 2016/7/4 ver0.3.5に更新
-
- 0日目の最初にWhisperを実行する
- Agentをfinalクラスに変更
- AgentLibraryReaderのバグを修正
- 2016/5/15 ver0.3.4に更新
-
- Java8に依存したコードがあったのを削除
- AutoStarter.iniの改行コードを変更
- 2016/5/7 ver0.3.3に更新
-
- AutoStarterを追加.設定ファイルに書かれている情報を元に人狼知能を実行できるようになった.詳細はこちら.
- 2016/1/21 ver0.3.2に更新
-
- TCIPIPServerで受け付けるエージェントが1少なくなっていたのを修正
- 2016/1/20 ver0.3.1に更新
-
- Agent番号が0から始まっていたのを1からに修正
- GUIClientStarterを追加
- 2015/1/5 ver0.3.0更新
-
- バージョンを0.3.x系にアップデート
人狼知能プラットフォーム0.3.x系における主な変更点
人狼知能プラットフォームは0.3.x系に変更されます.
主な変更点は以下の通りです.
- aiwolf-guiがaiwolf-viewerに名称変更されました.
- それに伴い,packageがorg.aiwolf.common.uiからorg.aiwolf.uiに変更されました.
- 独自に使っている方は,AIWolfGame#setLoggerで,GameViewerをセットするように変更してください
- DirectStarterやRoleRequestStarterが非推奨になりました.今後はTCPIP接続による実行を推奨します.
- TCPIPサーバを簡単に立ち上げられるように,GUIServerStarterを作成しました.
- AIWolf-0.3.x/StartServer.bat(Windows)またはAIWolf-0.3.x/StartServer.bat(Mac, Unix)を実行すれば自動的にGUIServerStarterが開始されます.
- GUIServerStarterは開発中です.
第一回人狼知能大会用サーバ
第一回人狼知能大会用サーバは人狼知能大会のレギュレーションに沿ったものになります.
バグFIXなどが行われる可能性はありますので,常に最新版をご確認ください.
第一回人狼知能大会@CEDEC2015
- aiwolf-ver0.2.5(2015/08/01)
- aiwolf-ver0.2.4(2015/07/19)
- aiwolf-ver0.2.3(2015/07/13)
- aiwolf-ver0.2.2(2015/07/12)
- aiwolf-ver0.2.1(2015/06/29) javadoc download
- aiwolf-ver0.2.0(2015/05/24) javadoc download
サンプルエージェント
プロジェクトメンバーが作ったサンプルエージェントを公開します.zipファイルを解凍してソースコードをご覧ください.
ご自由に改変,流用いただけます.- kajiAgent(2015/07/04)
大会用サーバ更新ログ
- 2015/8/1 ver0.2.5に更新
-
- InitializeでGameSettingを変更出来るバグを修正
- 2015/7/19 ver0.2.4に更新
-
- ごくまれに襲撃になぜか失敗するバグを修正しました
- 2015/7/13 ver0.2.3に更新
-
- GUI周りのバグを修正しました.
- BODYGUARDが処刑後に他のエージェント守れるバグを修正しました.
- 2015/7/12 ver0.2.2に更新
- aiwolf-gui-0.2.2.jarを追加しました.
aiwolf-gui-0.2.2.jarをビルドパスに追加して,ゲームの起動を
org.aiwolf.server.bin.RoleRequestStarterの代わりに
org.aiwolf.client.ui.bin.GUIRoleRequestStarterを利用する事でGUIでログを見ることができるようになります.あるいは,AIWolfGame#setLoggerで,GameFrameを設定すればGUIでログを確認することができるようになります.
- 2015/6/29 ver0.2.1に更新
- 人狼標準ルールに従うようにバグを修正.
一部これまでには発生しなかったnullが存在するようになるため,お気をつけください.
- 占い先が不正だった場合は占い結果はnullになる
- BodyGuardによるガード先が不正だった場合は護衛対象はnullになる.護衛は行われない.
- BodyGuardが処刑されていた場合,護衛は発生しなくなるように修正.
- 自分に投票した場合,他のプレイヤーの中からランダムに選ばれたプレイヤーに投票する.
- 襲撃先が不正だった場合,襲撃への投票を棄権したことになる.
- すべての人狼が投票を棄権した場合,襲撃は行われない.
- FileGameLoggerでディレクトリを指定した場合,自動的にファイル名をつけてログを作成するようになった.
安定板
- aiwolf-ver0.1.16(2015/03/07)
- aiwolf-ver0.1.15(2015/02/09)
- aiwolf-ver0.1.14(2014/11/19) javadoc download
- aiwolf-ver0.1.13(2014/10/13)
- aiwolf-ver0.1.11(2014/10/09) javadoc
- aiwolf-ver0.1.10 (2014/09/22) javadoc
- aiwolf-ver0.1.9 (2014/09/19)
- aiwolf-ver0.1.8 (2014/09/16) javadoc
- aiwolf-ver0.1.7(2014/07/04)
- aiwolf-ver0.1.6(2014/06/27)
- werewolf-ver0.1.5 (2014/06/20)
- werewolf-ver0.1.4 (2014/06/16)
werewolf-ver0.1.0(2014/05/06)非推奨
Nightly Update
人狼サーバはGitHubに登録されました.
最新版(不安定版)はhttps://github.com/aiwolf/からダウンロードできます.
ソースコードを読みたい方はこちらをお使い下さい2015年11月現在,第二回大会のために開発中のバージョンは0.3.xになります.GitHubから直接ダウンロードする場合は,0.3.x系をご利用ください.
開発者がGitHub初心者のため,不備があったらご連絡ください対戦用アプリケーション
人狼知能と対戦してみるためのアプリケーションを作成しました.
- vsAIWolf-0.3.0(2016-01-05)
- vsAIWolf-0.2.4(2015-07-21)
- vsAIWolf-0.2.3(2015-07-13)
- vsAIWolf-0.2.1(2015-06-29)
- vsAIWolf-0.2.0(2015-05-24)
- vsAIWolf-0.1.16(2015-03-07)
- vsAIWolf-ver0.1.15(2015/02/09)
- vsAIWolf-0.1.14(2014/11/19)
- vsAIWolf-0.1.13(2014/11/13)
- vsAIWolf-0.1.12(2014/11/12)
illust KRNN様