メインコンテンツまでスキップ
バージョン: 1.1.0

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.pyPython/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.pyPython/svrun_client.pymake_colfile.py の実行時オプションが変わりました。詳しくはドキュメントサイトの操作マニュアルを参照してください。
  • result_viewer.pycoltest_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 が出力するファイル名を変更しました。