Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sunfish-shogi/usi-engine-delayer
USI (Universal Shogi Interface) プロトコルのコマンド送信を遅延させるツール
https://github.com/sunfish-shogi/usi-engine-delayer
shogi usi
Last synced: 3 days ago
JSON representation
USI (Universal Shogi Interface) プロトコルのコマンド送信を遅延させるツール
- Host: GitHub
- URL: https://github.com/sunfish-shogi/usi-engine-delayer
- Owner: sunfish-shogi
- License: mit
- Created: 2023-11-16T14:31:00.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-26T16:52:06.000Z (10 months ago)
- Last Synced: 2024-11-10T22:14:44.302Z (2 months ago)
- Topics: shogi, usi
- Language: Go
- Homepage:
- Size: 9.77 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# usi-engine-delayer
usi-engine-delayer は USI (Universal Shogi Interface) プロトコルのコマンド送信を意図的に遅延させるツールです。
将棋の GUI アプリで USI プロトコル関連の動作検証を行う際、必ずしも CPU に負荷をかけてより優れた指し手を追及する必要はありません。
かといって瞬時に応答するプレイヤーでは、思考時間が長いケースの動作検証として十分ではありません。
そこでこのツールではコマンドの送信を意図的に遅延させることで、マシンに負荷をかけずに思考時間を延長します。## 使用方法
### 必要なもの
Go 言語実行環境
### インストール
```
go install github.com/sunfish-shogi/usi-engine-delayer@main
```### 引数で設定値を渡す場合
- `-exe` - エンジンのパスを指定します。
- `-delay` - bestmove コマンドの遅延秒数を指定します。
- `-name` - エンジン名を上書きする場合にその名前を指定します。エンジンと同じディレクトリに bat ファイルを設置する場合は、例えば次のように記述します。
```bat
usi-engine-delayer -exe %~dp0Lesserkai.exe -delay 5
```macOS や Linux でシェルスクリプトを設定する場合は次のように記述します。
```sh
#!/bin/bash -eu
$HOME/go/bin/usi-engine-delayer -exe $(cd $(dirname $0); pwd)/YaneuraOu -delay 3
```### 設定ファイルを使用する場合
`-config` で設定ファイルのパスを指定します。省略するとカレントディレクトリの `config.json` を参照します。
設定ファイルは以下のように記述します。```json
{
"exePath": "C:\\Users\\GuestUser\\MyEngines\\Lesserkai.exe",
"delaySeconds": 5,
"name": "Lesserkay Delay-5s"
}
```なお、 `-exe` オプションが指定された場合は設定ファイルを参照しません。