コンピュータによる自動化を施しトラペッタでレベル99までレベル上げしてみました
[2020/4/20]
タイトルの「街」を「町」に変更しました。
[2020/2/23]
勝利回数が戦闘回数より2回少ないのは詳細不明ですが敵が全員逃げて終わった分だと思われます。とにかく全滅はしていません。
[2020/2/18]
Botの詳細仕様です。本当に詳細。
■エンカウント方法
・くちぶえを覚えていなくてブーメランを持っていない場合→トラペッタの南門の橋の端に向かって走り続ける。
・くちぶえを覚えていなくてブーメランを持っている場合→トラペッタの西門の橋の端に向かって走り続ける(実際くちぶえを覚えてなくてブーメランを持っている状況は発生しなかったので無駄機能)。
・くちぶえを覚えている→くちぶえ発動するために必要な操作を3回行う(コマンド入力が早すぎるためかたまに失敗するので保険で3回やる。本当は成功するまでやり続けるのがいいけど簡単に修正できなかったので放置)。
・くちぶえに必要な操作
○、→ or ←、○、↓、○、↑、○、○
くちぶえが失敗するたびに右か左にズレるので現在位置を確認しつつなるべく橋の中央付近に留まれるように2番目のコマンドを考える。
■宿屋
・主人公かヤンガスのHPが13以下の場合宿屋へ。
・ブーメランを持っていない→門(1)から宿へ行くルートを設定。
・ブーメランを持っている→門(2)から宿へ行くルートを設定(動画内ではこのシーンが映ることはありませんでした)。
■装備
・ブーメランを持っておらずゲーム内時間が6時から24時の間で所持金が426以上の場合は武器屋へ。プレイ時間などをカウントするためのタイマーの他に昼夜を管理するためのタイマーがありますが、武器屋はそのタイマー上で6時から25時の間やっています。門から30分ほどかかるので時間に余裕がない場合は行くことを諦めます。ブーメランは420Gですが宿屋へ泊るためのお金がなくなると嫌なので少し余裕を持って買いに行きます。
・ブーメランを買った後所持金が10G以上の場合店主から「他に買うか?」と聞かれ10G未満の場合は聞かれないのでどちらの状況でも購入手続きができるようにコマンドを考える。
■スキル
主人公ヤンガスともに5番目のスキル>3番目>1番目>2番目という優先度でポイントを割り振ります。ポイントが100だったりレベルが足りないことによる制限でそれ以上割り振れない場合次の優先度のスキルを割り振ります。現在のカーソル位置から次に割り振りたいスキルのカーソル位置まで十字キーの上を押した方が早いのか下の方が早いのかも考えて移動し、地味に高速化を図っています。
■移動
・次の中間地点へ向けてカメラを動かします。中間地点への方角は現在位置と中間地点の座標から計算します。この際時計回りと反時計回りとどっちが早いのかを考えます。
・カメラの角度と中間地点への方向がある程度同じになると、スティックを前に倒し前進します。前進している間もカメラの角度と中間地点への角度にズレが発生した場合その都度カメラの向きを調整しますしあまりにもズレが大きい場合は立ち止まります。
・初期のエンカウント方法の「壁に向かって走り続ける」はこの移動ルーチンを利用して橋の手すりの向こう側に中間地点を設定し、永遠にたどり着けなくなっている状態です。
・町人を避ける機能とかはなく、町人はぶつかると立ち止まるので一度ひっかかるとなかなか抜け出せず最悪1分程度タイムロスになる。
■コントローラー入力処理のハッキング
コントローラーがゲームに対して送っている信号を断ちBotがコントローラー信号を独占して操作できるようにする。
■ゲーム内時間とBotの同期
エミュレータは動作速度が不定なのでエミュレータがどんな速度で動作しようとゲーム内時間において同じタイミングや間隔でボタン入力ができるようにする。
■ファークリップ位置変更
エミュレータの動作速度を上げるためにファークリップ位置を変更し描写するオブジェクトを近距離の物に限定しています。見栄えが悪くなるので録画しているときは基本的にこの機能はオフです。ヤンガスや主人公がレベル99になったシーンではオンになっていますね。レベル上げにかかった3300時間というのはゲーム内時間で、実時間ではそれより1000時間ほど早かったです。動画内では多少大げさな表現をしてしまいすみませんでした。
[2020/2/16]
PS2エミュレータでの動作です。
Негізгі бет DQ8 最初の町でレベル99にしてみた(自動操縦)
No video
Пікірлер: 4,4 М.