Playable! 更新履歴
v1.1.0 - 2023-12-31
ドキュメント
追加
- General Agent の導入に伴い以下のページを追加しました。
- docs/general-agent/
変更
- General Agent の導入に伴い以下のページに記述を追加しました。
- docs/index.md
- docs/getting-started/index.md
- docs/integration-sample/start-guide.md
General Agent
追加
v1.0.1 - 2023-09-15
ドキュメント
追加
- Playable! ツールの組み込み練習として、Unreal Engine の Third Person テンプレートプロジェクトに対し、以下の作業を試すためのチュートリアル資料を追加しました。
- Game-Python Bridge の組み込み
- Map Scanner の導入
- Collision Checker の導入
- Playthrough Tester の導入
- Simple Auto Gameplay のドキュメントにおいて、欠けていた情報を追記しました。
- Python 仮想環境の構築方法
- ツールの起動方法
変更
- 各ツールの変更に伴い、該当するドキュメントを修正しました。
- 具体的な内容は各ツールの更新履歴を参照してください。
- 一部の定義名の表記が適切でない部分を修正しました。
- Game-Python Bridge の対応する Unreal Engine のバージョンを更新し、Unreal Engine 5.2 までに対応しました。
- Unreal Engine 5.2 以降でコンソールコマンドを利用する際の操作 (キーのデフォルト値) が変更されたため、該当する文章を修正しました。
Game-Python Bridge
UE Plugin
- 変更はありません。
Python Module
- 変更はありません。
Map Scanner
追加
- ソースコードに不足していたコメントや DocString を追加しました。
変更
- Scan Result Viewer の仕様変更を行いました。
- 起動時にデフォルトで地形データの可視化が ON になるようにしました。
- 起動時のカメラ座標が
settings.yaml
で指定した「スキャン範囲の原点」になるようにしました。 - 空間上に地形データの描画更新が行われる境界線を表示するようにしました。
pip install
時に Game-Python Bridge も一緒にインストールするようにしました (必ずドキュメントサイトの環境構築手順に従ってください)。- 一部コードのファイル名やクラス名の形式を、他 Playable! ツールと統一しました。
core
フォルダはbase
フォルダになり、alfort
フォルダ内のコードで継承されるファイルやクラスにはbase_
やBase
の接頭語を付けました。alfort
フォルダ内のコードについて、core
フォルダ内のコードを継承しているファイルやクラスにはcustom_
やCustom
の接頭語を付けました。
settings.yaml
の key 名をスネークケースに統一しました。- スキャン時に生成されるパラメータファイル
_map_list.yaml
に、ボクセルサイズおよび各マップの探索開始座標が記載されるようになりました。
修正
Python/base/server_global.py
>reset_global()
で、最新の numpy では廃止されているdtype
を使用している箇所を修正しました。
削除
- 未使用のコードを削除しました。
Collision Checker
変更
pip install
時に Game-Python Bridge も一緒にインストールするようにしました (必ずドキュメントサイトの環境構築手順に従ってください)。- 一部コードのファイル名やクラス名の形式を、他 Playable! ツールと統一しました。
alfort
フォルダ内のコードについて、基底クラスを継承してカスタマイズする必要があるファイルやクラスにはcustom_
やCustom
の接頭語を付けました。Python/utils/common_func.py
はPython/utils/util_modules.py
になりました。
- ソースコードにハードコーディングされていた以下のパラメータを
_map_list.yaml
から読むようにしました (ドキュメントサイトのマニュアルに従って、一部パラメータは同ファイルに手書きする必要があります)。Python/result_viewer.py
> 各マップのゲーム内名称リストMAPNAME_LIST
Python/result_viewer.py
>get_startpoint()
に定義していた各マップの初期座標Python/svrun_client.py
> ゲームバイナリのパスを指定する実行オプション--envpath
のデフォルト値Python/make_colfile.py
> テスト対象となるマップ ID のリストmap_list
Python/map_data/map_data.py
> スキャンデータのボクセルサイズCELL_SIZE
_map_list.yaml
内の一部パラメータ名が変わりました。- セーブデータやコリジョンファイルなどを用意する際、ファイル名に
{マップ ID}__
の接頭語を追加する必要がなくなりました。 Python/svrun_server.py
、Python/svrun_client.py
、make_colfile.py
の実行時オプションが変わりました。詳しくはドキュメントサイトの操作マニュアルを参照してください。result_viewer.py
とcoltest_checker.py
で作成される、設定内容を保存するファイルの命名規則、および拡張子を統一しました。result_viewer.py
の GUI 上から、異なるテストバージョンのテスト結果表示を選択できるようにしました。- 新規ゲームへの導入手順を減らすために、一部関数やクラスの仕様を調整しました。
修正
requirements.txt
に記載している依存モジュールの漏れや誤りを修正しました。result_viewer.py
の落下点リストにおける「ここに移動」をクリックした際、適切な場所にワープされず、青矢印の移動経路も正しくないバグを修正しました。- テスト結果に落下点や怪しい箇所が一つも存在しない時、
result_viewer.py
で落下点や怪しい箇所を可視化しようとするとエラーになるバグを修正しました。
Item Collector
追加
- ソースコードに不足していたコメントや DocString を追加しました。
変更
pip install
時に Game-Python Bridge も一緒にインストールするようにしました (必ずドキュメントサイトの環境構築手順に従ってください)。- 一部コードのファイル名やクラス名の形式を、他 Playable! ツールと統一しました。
core
フォルダはbase
フォルダになり、alfort
フォルダ内のコードで継承されるファイルやクラスにはbase_
やBase
の接頭語を付けました。alfort
フォルダ内のコードについて、core
フォルダ内のコードを継承しているファイルやクラスにはcustom_
やCustom
の接頭語を付けました。libs
フォルダはutils
フォルダになりました。
- ソースコードにハードコーディングされていた以下のパラメータを
_map_list.yaml
から読むようにしました (ドキュメントサイトのマニュアルに従って、一部パラメータは同ファイルに手書きする必要があります)。Python/utils/util_modules.py
(旧:Python/libs/tools.py
) >「ゲーム座標 ⇔ スキャンデータ座標」間の座標変換係数pos_set
Python/item_collector.py
> スキャンデータのボクセルサイズCELLSIZE
Python/item_collector.py
> 各マップのゲーム内名称リストMAP_NAME_TABLE
Python/item_collector.py
> 各マップ用のセーブデータ名MAP_SAVEDATA_TABLE
- 各マップに存在するアイテムの座標を列挙したファイルの名前が
{マップ ID}_Treasure.json
から{マップ ID}_item_list.json
に変わりました (同ファイルをゲームプロジェクトから作成する際、新しい方の名前で保存してください)。 - GUI 上で「フィールド移動で回収」「デバッグ移動で回収」「アイテム未入手」「回収失敗」に割り振られている色が、円グラフと凡例で異なっていたので統一しました。
- GUI の凡例部分のデザインを調整しました。
削除
- 未使用のコードを削除しました。
Playthrough Tester
変更
pip install
時に Game-Python Bridge も一緒にインストールするようにしました (必ずドキュメントサイトの環境構築手順に従ってください)。- 共通して使用できるコードを基底クラスに、ゲーム毎にカスタマイズが必要なコードを継承クラスとして分離しました。
base
フォルダ内には基底クラスとなるコードが置かれています。alfort
フォルダ内のコードで継承されるファイルやクラスにはbase_
やBase
の接頭語がついています。alfort
フォルダ内には継承クラスとなるコードが置かれています。base
フォルダ内のコードを継承しているファイルやクラスにはcustom_
やCustom
の接頭語がついています。
- セーブデータが存在しないゲームでも少ない変更作業で動くよう、一部関数やクラスの仕様を調整しました。
修正
- GUI 上の手本ラベル欄において、一部の漢字が正常に表示されないバグを修正しました。
- 手本の再生に失敗したと判定された後、同じ手本、もしくは次の手本の先頭からリトライする処理が正しく動かず、プレイヤーが停止状態となるバグを修正しました。
削除
- 不要なコードやファイルを削除しました。
その他のツール
Simple Auto Gameplay
追加
- 必要なモジュールを一括でインストールするための
requirements.txt
を追加しました。 ドキュメントサイトの環境構築手順に従って使用してください。
map_param_calc.py
変更はありません。
サンプルゲーム
変更
- Item Collector の変更に伴い、
Content/Morikatron/ActorDetecter/TreasureBoxDetecter
が出力するファイル名を変更しました。