MULTIPLY29
ナビゲーションに移動
検索に移動
MULTIPLY29とは、Windows95の時代にVisual C++で開発されたフリーソフトウェアである。
概要[編集]
ロボットの思考回路を設計して対戦させるというゲーム。
思考回路の設計は各種機能を持ったチップを並べて設計し、それぞれのチップで各種パラメーターを設定する。
思考回路[編集]
基本的にはjawp:OODAループになる。各種フラグは最初は全てOFFから始まる。スキャンできる範囲は前方180°である。
Observe[編集]
状況を観察するチップを用いて、周りの状況をスキャンする。
Orient[編集]
状況判断を行う。
- 敵の攻撃を受けているか
- はい
- 回避行動実施フラグON
- Decideへジャンプ
- いいえ
- 回避行動実施フラグOFF
- はい
- 敵を見つけたか
- はい
- 敵影確認フラグON
- 敵は正面10°の範囲内か [Search -5~5]
- はい
- 右旋回フラグOFF
- 左旋回フラグOFF
- いいえ
- 敵は右側5~90°の範囲内か [Search 5~90]
- はい
- 右旋回フラグON
- いいえ
- 左旋回フラグON
- はい
- 敵は右側5~90°の範囲内か [Search 5~90]
- はい
- 敵は正面10°の範囲内か [Search -5~5]
- 敵影確認フラグON
- いいえ
- 敵影確認フラグOFF
- はい
Decide[編集]
意思決定を行う。
- 回避行動実施フラグONか
- はい
- 敵弾は正面30°の範囲内か
- はい
- 右旋回フラグOFF
- 左旋回フラグOFF
- いいえ
- はい
- 敵弾は右側90°の範囲内か
- はい
- 右旋回フラグON、左へ回避行動実施フラグON
- いいえ
- 左旋回フラグON、右へ回避行動実施フラグON
- はい
- Actへジャンプ
- 敵弾は正面30°の範囲内か
- いいえ
- はい
- 敵影確認フラグONか
- はい
- 敵を攻撃できる位置取りか
- はい
- 攻撃用意は出来ているか
- はい
- 敵との間に障害物はあるか
- はい
- Actへジャンプ
- いいえ
- 敵との間に味方はいるか
- はい
- Actへジャンプ
- いいえ
- 有効射程内か
- はい
- どの武装で攻撃するのが良いか
- ミサイルがいいか
- はい
- ミサイル攻撃実施フラグON
- いいえ
- はい
- レーザーがいいか
- はい
- レーザー攻撃実施フラグON
- いいえ
- はい
- ミサイルがいいか
- どの武装で攻撃するのが良いか
- いいえ
- はい
- 有効射程内か
- はい
- 敵との間に味方はいるか
- はい
- 敵との間に障害物はあるか
- いいえ
- はい
- 攻撃用意は出来ているか
- いいえ
- はい
- 敵を攻撃できる位置取りか
- いいえ
- はい
Act[編集]
行動を実施する。
- 左に回避行動実施フラグONなら左に回避行動実施し、左に回避行動実施フラグOFF
- 右に回避行動実施フラグONなら右に回避行動実施し、右に回避行動実施フラグOFF
- ミサイル攻撃実施フラグONならミサイル攻撃実施し、ミサイル攻撃実施フラグOFF
- レーザー攻撃実施フラグONならレーザー攻撃実施し、レーザー攻撃実施フラグOFF
- 左旋回フラグONなら左に旋回実施 [Move TURN:-100]
- 右旋回フラグONなら右に旋回実施 [Move TURN: 100]
- 左旋回フラグと右旋回フラグの両方ともOFFなら旋回停止実施
- Observeへジャンプ
チップについて[編集]
それぞれのチップに明確な役割があり、比較的分かりやすい。パラメータの設定が少々癖がある。
- Move
- 移動チップ。平行移動方向は左が-90、正面が0、右が90、後退が180。旋回はマイナス側が左旋回、プラスが右旋回。
備考[編集]
- 各チップで一定の処理時間が取られるため、フラグ立てても行動実施までに幾つもチップを経由すると一定のラグが発生する模様。敵の思考回路も基本的にはOODAサイクルとなる事を考えると、いかにサイクルを早く回すかは勝利に直結するので侮れない[1]。基本的な動作が安定したら、速度チューニングを行う事が「勝つためには」必要になってくる。別に勝つ事が目標では無く思い通りに動かす事だけが目的なら、速度チューニングは行わない。可読性が失われる[2]。
- マップ上の障害物は配置が何パターンかある。
Windows10では[編集]
M3D.exeの実行時に以下のエラーが出る。
- d3drm.dll が見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決する可能性があります。
Windows Vistaで廃止されたDLLらしい。GoogleでDLL名で検索してもMicrosoftのサイトは出てこない。
サイト上にDLL名「d3drm.dll」が書かれていないので仕方が無いようだ。7-Zipでなんとかなるようだ[3]。
関連項目[編集]
脚注[編集]
- ↑ “OODAサイクルについて”. サドンストライク2スタディ. 2018年12月14日確認。
- ↑ “どこまで速くできる? 達人に学ぶPython超高速データ分析”. CodeZine (2015年5月8日). 2018年12月14日確認。
- ↑ “d3drm.dll がない”. どうってこともないブログ (2015年4月29日). 2018年12月13日確認。
外部リンク[編集]
- MULTIPLY29 - craftware