執行參數 - LanKuDot/MLGame GitHub Wiki
以下介紹 MLGame 可用的執行參數。
功能參數
--version
印出 MLGame 的版本。如果是指定在遊戲名之後,如 python MLGame.py arkanoid --version
,則會印出該遊戲的版本。
-h/--help
印出幫助說明。如果是指定在遊戲名稱之後,如 python MLGame.py arkanoid -h
,則會印出該遊戲的幫助說明。
-l/--list
列出 games
資料夾中可以執行的遊戲與遊戲版本。
執行參數
-f FPS/--fps FPS
指定遊戲更新的間隔時間,預設為 30。
要注意的是實際執行的 FPS 會比指定的值還要低。在 MLGame 中會將這個值做倒數,取得遊戲更新的間隔時間,所以每一影格的執行時間實際是「遊戲更新時間 + 間隔時間」,例如:30 FPS 來說,執行間隔約為 0.033 秒,如果遊戲更新需要花 0.005 秒,則一個影格的實際時間是 0.038 秒,約為 26 FPS。在機器學習模式中,機器學習端在收到場景資訊後,要在這個間隔時間內傳出指令。
-m/--manual-mode
以手動模式執行遊戲。
在手動模式下,遊戲類別必須提供 get_keyboard_command()
函式來幫助偵測鍵盤按鍵,並回傳指令,詳見遊戲與 MLPlay
類別。
-r/--record
紀錄遊戲過程。在每輪遊戲結束後,會產生紀錄檔並儲存到該遊戲的 log
資料夾裡。詳細的紀錄檔格式請見遊戲紀錄檔。
-1/--one-shot
在一輪遊戲結束時直接結束 MLGame。
-i SCRIPT/--input-script SCRIPT
指定機器學習模式中要使用的玩家程式檔名。如果要指定複數個程式,則連續使用這個 flag。玩家程式中必須要有 MLPlay
類別,詳見遊戲與 MLPlay
類別。
指定的程式檔案必須存在於該遊戲的 ml
資料夾中。例如:python MLGame.py -i ml_play_template.py arkanoid EASY 1
,則在 games/arkanoid/ml/
的資料夾裡必須要有 ml_play_template.py
這個檔案。
指定的檔案與對應的機器學習端詳見機器學習模式。
--input-module MODULE
指定機器學習模式中要使用的玩家程式模組。如果要指定複數個模組,則連續只用這個 flag。該模組中必須要有 MLPlay
類別。
這個 flag 與 --input-script
類似,只是指定的是絕對模組路徑,也就是用在 import
中的模組路徑。路徑起始點在 MLGame.py
所在的資料夾。例如想要使用 games/arkanoid/ml/ml_play_template.py
可以指定 python MLGame.py --input-module games.arkanoid.ml.ml_play_template arkanoid EASY 1
。