第1回 GBC版DWM2 & DQM2 国際交流並走 企画概要 / International Community Race Information

GBC版「Dragon Warrior Monsters 2」 & 「ドラゴンクエストモンスターズ2
いま、北米で最もアッッッツい“持ち運べる8ビットなレース”を、DW4/DQ4 国際交流並走のノウハウを活かしてお送りします!

JST: 2024年3月10日(日曜)正午12時00分出走。

世界中のモンスターマスターたちによるレースが幕を開ける!

GBC "Dragon Warrior Monsters 2" & "Dragon Quest Monsters 2": The most exciting "portable 8-bit race" in the West is now being presented, utilizing the know-how of the DW4/DQ4 international community race!!

Get ready for a race between monster masters from around the world!

Starting time: Saturday March 9, 10pm EST / 7pm PST


ニコ生 日本語ミラー: Real Time Attack Harbor
Twitch 日本語ミラー: RTA Racing
Twitch English restream: RPG Limit Break

“勝負”としての並走ではなく、「国際交流を楽しむ」ことがメインの並走です。
The main purpose of this race is not to compete, but to enjoy international exchange.


レース参加者、並びに解説にご協力頂けるかたを募集中です!
大会用googleフォームからご応募ください。


レギュレーション / Regulations

レギュレーションまとめをご覧下さい。

The regulations are the same as those of speedrun.com/dqm2. Please check them via the Show rules button.

走者一覧 / Runners

情報は3月10日時点のものです。
Information is current as of March 10.

Platforms scheduled to be used by JP runners in the race are marked with an asterisk (*).


解説 / Commentators

GBC DWM2 & DQM2 国際交流並走 レギュレーション / International community race regulations

レギュレーションが更新された場合、更新内容と更新日時を記録します。
If the regulations are updated, the date/time and content of the changes will be recorded here.

このページは、speedrun.com/dqm2のルールを基にして作成されました。
This page was created based on the rules at speedrun.com/dqm2.


日本語レギュレーション

ゲームルール

  • 単ボタンを一定速度で連射するような、単純な連射機の使用は許可する。
  • 上記を除き、特定のサードパーティ製ハードウェアや、エミュレータ等でしか利用できない機能は禁止する(特に1つのボタンを複数のボタンや、連続したボタンに割り当てるマクロ機能の禁止)。
  • 許可されるゲーム機/エミュレータは、各国コミュニティのメインレギュレーションに準拠する。
  • 使用するハードは、スーパーゲームボーイ2(SFC)、及びゲームボーイプレーヤーGC)を推奨。動作の速いSGB1(SFC)を使用する場合、最終タイムは他の一般的な環境に合わせて調整される。
  • 使用するソフトは「イルの冒険」「ルカの旅立ち」のうち、どちらのバージョンでも良い。
  • 通信ケーブルをはじめとした、あらゆる通信機能は禁止する。
  • ドロップアイテムやエンカウントを操作するなどのセーブ & ロード(状況再現)は許可する。

裏技について

  • マップ移動に関する技、クローン作成/セーブ破壊技、通称『預かり所バグ』と呼ばれる技は禁止する。
    • この節については後ほど、わかりやすい表現に変更されます。内容は変わりません。
  • その他、明記されていない裏技は許可する。

計測区間

  • 「さいしょからあそぶ」を選択し、主人公の名前を入力して「はい」押下と同時に計測開始。
  • ドークを倒し、スタッフロール後の「THE END...」表示と同時に計測終了。

English Regulations

The regulations are the same as those of speedrun.com/dqm2. Please check them via the Show rules button.

第6回 NES版DW4 & FC版DQ4 国際交流並走 企画概要

NES版「Dragon Warrior IV」 & FC版「ドラゴンクエストIV
今回で第6回となる導かれしゲーマーたちの国際交流並走を、過去最多のメンバーでお送りします!

JST: 2023年6月25日(日曜)午前8時00分出走。

世界から導かれし14人のランナーたちによる、過去最大規模のレースが幕を開ける!

NES "Dragon Warrior IV" & Famicom "Dragon Quest IV"
This will be the 6th international community race, "RTA of the Chosen", with the largest number of members ever!

Starting time: Saturday June 24, 7pm EDT / 4pm PDT

14 runners from around the world will compete in the largest-ever community race!

ニコ生 日本語ミラー: Real Time Attack Harbor
Twitch 日本語ミラー: RTA Racing
Twitch English restream: RPG Limit Break

“勝負”としての並走ではなく、「国際交流を楽しむ」ことがメインの並走です。
The main purpose of this race is not to compete, but to enjoy international exchange.


(走者募集は終了しました。多数のご応募ありがとうございました)


レギュレーション / Regulations

レギュレーションまとめをご覧下さい。
Please see the Regulations summary.

走者一覧 / Runners

Platforms scheduled to be used by JP runners in the race are marked with an asterisk (*).


解説 / Commentators

  • North America
  • Japan
    • crimson_ytb (クリムゾン): Nico
    • vaxherd: Twitch
    • mokoppoid (moko): YouTube [Supporter]

結果 / Race results

走者名
Runner's name
順位
Order
記録
Record
ゲーム機
Console
所属国
Country of affiliation
linda_nushi 1st 6:16:57 NES Japan
3lis_game 2nd 6:17:17 Famicom Japan
Sutefu 3rd 6:30:44 Famicom Japan
Brian roger 4th 6:32:44 Famicom Japan
ebi_doom2 5th 6:57:39 NES Japan
ErrotOfRuto 6th 7:11:57 NES United States
SUMDeaner 7th 7:13:47 NES United States
SpeedrunJoe 8th 7:26:26 NES United States
Xytoriak 9th 7:32:22 NES United States
ShinerCCC 10th 7:38:13 NES Canada
resylia7star 11th 7:44:56 NES Japan
VaeluV 12th 8:02:45 NES United States
NorthRex 13th 8:21:22 NES Canada
TheCowness - Abstention Fmicom United States

【QfG5宣伝企画】みんなで天空作品並走 DQ 4-5-6 RTA 『個人』もチームも大歓迎大会!

「1月21日の土曜に天空リレーやらない?」
「並走相手も募集したら楽しいかも」
『よっしゃやるか^q^』

というわけで、[FC DQ4: クリムゾン] → [SFC DQ5: moko] → [SFC DQ6: lis] の順で、1月21日の土曜07:00~ 3人で天空リレーをやります。

並走して頂ける方がいると楽しくなりますので、並走してくださる方々も募集しています!

レギュレーション

  • FC DQ4
    • 裏技/状況再現あり
    • 5章でアリーナ&クリフト加入禁止
    • サブフレームリセット、およびセーブデータ改ざん禁止
    • 電源投入~The Endの羽ペン消失までを計測。
    • デスピサロ撃破後のフリーズ防止のため、「やみのランプ、きのぼうし」等のアリーナのIDに対応する特定の道具(いずれか1つでok)を預かり所に預けることを推奨します。
  • SFC DQ5
    • ニコ生ルール
    • 電源投入~THE ENDが表示された瞬間までを計測。
  • SFC DQ6
    • ニコ生ルール
    • 電源投入~The Endの羽ペン消失までを計測。
  • DS DQ4-5-6

並走参加について

  • 特定作品の並走に参加される場合
    • 並走したい作品名と配信URLを、クリムゾン、lisのどちらかに連絡をお願いします。
  • チームで天空並走に参加される場合
    • 参加されるかた(1人~3人)のお名前と配信URLを、クリムゾン、lisのどちらかに連絡をお願いします。

並走開始のタイミングについて

  • FC DQ4: 1月21日(土)07:00~ JST
  • SFC DQ5: クリムゾンのFC DQ4が終了した瞬間(mokoと同時スタート)
  • SFC DQ6: mokoのSFC DQ5が終了した瞬間(lisと同時スタート)
  • チームで天空並走に参加される場合、moko、lisのタイミングには合わせず、FC DQ4の開始からチーム内で天空リレーを進行してください

連絡先

参加者一覧 (1月20日19:35更新)

[ ] 内のアルファベットはチーム名です。

そもそもどういう趣旨の並走企画なの?

2023年1月31日(火)02:00 JSTから、北米のRPG専門オンラインRTAイベント「Questing for Glory 5(以下QfG)」が開催されます。このイベントは、北米では一定以上の注目度があるものの、残念ながら日本での知名度はほとんどありません。

今回の並走企画の発案者である、クリムゾン、moko、lisの3人は、こちらのイベントに上記レギュレーションの天空リレーで応募し、プレゼンを突破して出場できることになりました。そのQfG本番前にプレリレーを行う事になり、「せっかく天空リレーやるなら並走のほうが面白いよね!」という流れで企画が決まりました。

このQfGを始めとした海外のイベントをきっかけに、特にSFCDQ5DQ6北米未発売)のRTA英語圏でも認知されれば、国際交流や国際並走なども活発化するかもしれません。日本から海外イベントに参加するかたも増えるかもしれません。

遊ぶ友達は多いほうが、ゲームは楽しくなるはずです。

企画者

文責: クリムゾン
企画/宣伝: lis、moko

第5回 NES版DW4 & FC版DQ4 国際交流並走 企画概要

NES版「Dragon Warrior IV」 & FC版「ドラゴンクエストIV
導かれしゲーマーたちの国際交流並走は、この度5回目を迎えました!

JST: 2022年11月20日(日) 午前8時00分出走。
Sat, Nov 19 begin at 6:00 pm Eastern, 3:00 pm Pacific.

世界から導かれしライアン/Ragnarたちが五戦目を走り出す!

ニコ生 日本語ミラー: Real Time Attack Harbor
Twitch 日本語ミラー: RTA Reacing
Twitch English restream: ReallyReallyLongAThon


レギュレーション / Regulations

レギュレーションまとめをご覧下さい。
Please see the Regulations summary.

走者一覧 / Runners


解説 / Commentators


結果 / Race results

走者名
Runner's name
順位
Order
記録
Record
ゲーム機
Console
所属国
Country of affiliation
waiwainico 1st 6:06:48 Famicom Japan
linda_nushi 2nd 6:22:29 NES Japan
SUMDeaner 3rd 6:24:40 NES USA
ebi_doom2 4th 6:26:51 NES Japan
3lis_game 5th 6:53:20 Famicom Japan
DrMisterHomes 5th 6:53:20 NES Canada
anatoleu 7th 6:57:44 NES USA
resylia7star 8th 7:19:43 Famicom Japan
JoeC19713 9th 7:54:35 NES USA

NES DW4 & FC DQ4 国際交流並走 レギュレーション / International community race Regulations

レギュレーションが更新された場合、更新内容と更新日時を記録します。
When the regulations are updated, the date/time and content of the changes will be recorded here.

  • 「裏技について」に、サブフレームリセット等の禁止を追加しました。
    Prohibition of subframe resets, etc. was added to "Bugs/glitches". (2023/05/09)
  • 「計測区間」をSpeedrun.comの記述に合わせました。
    "Timing" has been adapted to the SRC description. (2022/11/12)

日本語レギュレーション

ゲームルール

  • 連射機の使用は許可する。
  • エミュレータや、特定のサードパーティ製ハードウェアでしか利用できない機能は禁止する(上記の単純な連射機能を除く)。
  • 許可されるゲーム機/エミュレータは、各国コミュニティのメインレギュレーションに準拠する。
  • DQ4側は、メタル系の敵(メタルスコーピオンを除く)に「せいすい」を「つかう」行為を禁止する。
  • DW4側は、ポーカーで100枚賭けの使用を許可する。
  • エンカウントを操作する場合などのセーブ&ロードは、DW4、DQ4ともに許可する。

裏技について

  • カジノコインの購入金額をオーバーフローさせ、適正ではない金額で購入することを禁止する(DQ4のみ)。
  • 「にげる」を繰り返し、必ず会心の一撃がでる状態での「こうげき」ないし「ブーメラン」の使用を禁止する(DQ4のみ)。
  • 「ガスのつぼ」入手前に搭乗できる「透明気球」の使用を禁止する(DQ4のみ)。
  • 「たからのちず」などで大きな扉を増殖させることを禁止する(DW4、DQ4双方)。
  • ゲーム機へ物理的ショックを与える等で意図的に誤作動を引き起こさせる行為、サブフレームリセット及び任意コード実行等は、国際交流の趣旨にそぐわないため、禁止する。
  • その他、明記されていない裏技(なんでも装備など)は許可する。

計測区間


English Regulations

Game Rules

  • The use of turbo is permitted.
  • Any features that are only available on emulators or certain 3rd party hardware will be prohibited (except for the simple turbo mentioned above).
  • Permitted consoles/emulators will follow each side's usual rules.
  • On the DQ4 side, it is forbidden to use Fairy Water (Seisui) on metal enemies (other than those named Scorpion).
  • The DW4 side is free to use 100-coin bets on poker.
  • Save and load (such as for manipulating Metal encounters) is allowed for both DW4 and DQ4.

Bugs/glitches

  • Overflowing the purchase price to buy casino coins at less than the normal price is prohibited (DQ4 only).
  • Using Attack or Boomerang when critical hits are guaranteed by repeatedly failing to flee is prohibited (DQ4 only).
  • Riding the invisible Balloon before obtaining the Gas Canister is prohibited (DQ4 only).
  • Replicating large doors on the map, such as by using the Treasure Map, is prohibited (both DW4 and DQ4).
  • Intentional physical shocks to game consoles, subframe resets, ACE, etc. are prohibited, as they are not in keeping with the purpose of the community race.
  • Any glitches not listed above (such as "equip anything") are allowed.

Timing

  • Timing starts upon confirmation of Message Speed on a new file.
  • Timing ends upon leaving Zenithia Castle after beating Necrosaro (last required input).

ドラゴンクエストIV(FC版・NES版)AI仕様の解析 by vaxherd

  1. 現在の作戦設定を取得する

    ボス戦(つまり「逃走禁止」フラグが設定されている戦闘)においては、 プレイヤーによって設定された作戦が「みんながんばれ」か「ガンガン いこうぜ」の場合、隠し作戦である「対ボス」が代わりに使用される。

  2. MP余裕量を計算する

    呪文を使う仲間の場合、作戦や戦闘状況に応じて、行動評価(以下参照)に 影響を与えずに使えるMPの「余裕量」が設けられている。行動の消費MPが この余裕量以下の場合、消費MP「0」とみなされる。

    具体的に、AIプログラムはまず、各仲間の「有用値」を計算する。256から、 マヌーサマホトーンの場合はキャラクター毎の値(以下参照)が引かれ、 さらに睡眠状態だと、その結果が半減される。

      キャラ │マヌーサ│マホトーン
      勇者  │    85  │    85
      クリフト│   100  │   100
      ミネア │   100  │   100
      マーニャ│    32  │   192
      ブライ │    32  │   192
      トルネコ│   160  │     0
      ライアン│   160  │     0
      アリーナ│   160  │     0
      各NPC  │    85  │    85
    

    そしてパーティ全体の基礎有用値「B」は、仲間の合計から計算される。 (計算式の「1024」は、パーティの人数によって変動はしない)

      B = 1024 - (各仲間の有用値の合計)

    この基礎有用値から、キャラクターと作戦設定をもとにMP係数「S」を 計算する。下記の表では、係数の計算に使う値を「X+Y」と表記している。 (注:「いろいろやろうぜ」ではMP余裕量を参照しない。以下参照)

      S = X + (Y×B)÷256

      作戦 │クリフト│ ミネア │マーニャ│ ブライ
      がんばれ│  64+30 │  50+26 │  70+38 │  60+38
      せつやく│  22+12 │  22+10 │  32+18 │  32+10
      ガンガン│ 255+0  │ 255+0  │ 255+0  │ 255+0
      だいじに│  22+30 │  22+26 │  75+38 │  75+38
      つかうな│   0+0  │   0+0  │   0+0  │   0+0
      対ボス │ 255+0  │ 255+0  │ 255+0  │ 255+0
    

    一例として、パーティ有用値が512(つまり50%)の状況において、作戦 「みんながんばれ」のクリフトの場合、S = 64 + (30×512)÷256 = 124 となる。

    そしてキャラクターが現在使える呪文の中で消費MPが一番多いものを調べ、 最終的なMP余裕値を次のように計算する。

      MP余裕値 = (最大消費MP × S) ÷ 32

    なお、表のX値が概ね高く設定されているため、このMP余裕値が実際に効果を 発揮するのは、作戦「じゅもんせつやく」と「いのちだいじに」における 回復役(クリフトとミネア)のみになる。この場合、パーティ状態が良いと MP消費の多い行動の評価値が下がるようになる。 また作戦「じゅもんつかうな」ではMP余裕値がゼロになるが、別の処理で 呪文が抑制されるので関係ない。

  3. 各敵の危険度を分析する

    それぞれの敵について、AIプログラムは次の情報を記録する。

各仲間への予想物理(通常攻撃)ダメージ 各仲間への予想呪文ダメージ 各仲間への予想特殊ダメージ(ブレスや体当たりなど、通常攻撃でも 呪文でもない行動によるダメージ) 物理攻撃能力の予想低下量(つまり睡眠などで仲間が攻撃できなくなることによる攻撃能力の低下) 呪文使用能力の予想低下量 道具使用能力の予想低下量 記録される値は、敵の行動選択確率を考慮する。ただ、敵の行動パターンが

完全ローテーションの場合、行動順を参照せず、行動確率が均一の敵と同じ ように評価する。

上記のデータから、呪文行動・非呪文行動の2つの「危険値」を算出する。

ダメージ分析では、物理攻撃を平均値と、その他の攻撃は最低値とみなす。 単体を対象とする行動の場合、ダメージが各仲間に分配される。通常攻撃に 関してはパーティ順による比重と、呪文に関してはマホカンタ状態も考慮 されるが、防具の呪文やブレス耐性は考慮されない。

特殊なケースとして、あばれうしどりの体当たりは仲間の現在HPを、ザキと ザラキは現在HPと最大HPの平均値をダメージ量とする。

【バグ】最大MPを取得する処理にミスがあり、実際に使用される値は、     「floor(最大HP/256)*257」となる(最大HPの上位バイトが、     下位バイトを上書きしてしまう)。このため、特に最大HPが     255以下の仲間は最大HPが0とみなされ、結果的にザキ・ザラキの     危険度が過小評価されてしまう。

「能力の低下量」データは、ラリホーなどの、ダメージは与えないが行動を 封じる敵行動の危険度評価に使われる。ただ分析が非常に単純で、物理攻撃 能力は「パーティの合計攻撃力?敵の合計守備力」(守備力は半減なし)、 呪文の価値はすべて「1」として、道具はその内部IDによって価値が判定 される(ブーメラン=1、ラーのかがみ=39など)。 また物理・呪文・道具それぞれの「低下量」の値は、最終的な危険値計算で そのまま合算されるため、魔法系の仲間やマホトーン系の敵行動は過小評価 されてしまう。

敵による回復・蘇生行動は、まずその他の行動による危険値を計算した後、 対象となり得る敵(回復行動の場合は全ての敵、蘇生行動の場合は使用者を 除く)の合計危険値を、行動による係数を掛けてその行動の危険値とする。 係数は、「ベホマズン」「ザオリク」は100%、「メガザル」は75%、その他の 行動は50%となる。

【バグ】蘇生行動の場合、使用者を除く危険値の計算処理においてデータの     バイト順を逆に読んでしまうミスがあって、計算結果がゴミデータ     になってしまう。この結果、蘇生行動の危険度は事実上「無限大」     と判定される。

  1. 行動を選ぶ

    4.1. 作戦「いろいろやろうぜ」

    作戦「いろいろやろうぜ」は、キャラクターが採り得る行動から完全に ランダムで選択する。戦闘では使えない道具やMPが足りない呪文、そして 特別に「メガザル」も除外されるが、パーティ状態や敵の危険値などは 全く考慮せず、例えば「マホカンタ」状態の敵に対しても躊躇なく呪文を 使ってしまう。

    具体的に、AIはまず3つの行動セットを生成する。 呪文のうち、最初の8つ(MP不足のもの、メガザルを除く) 呪文のうち、最後の4つ(上記同様)に加えて、こうげき、ぼうぎょ *所持している道具のうち、戦闘で使えるもの この3セットから行動をそれぞれ1つランダムで選択し、さらにその3つの 行動から、実際に行う行動をランダムで選ぶ(呪文を使わないキャラや、 戦闘で使える道具を持っていない場合は2つか1つからの抽選になる)。 行動の対象は、その行動の対象となるもの(攻撃なら敵、ホイミなら仲間 など。パーティアタックはしない)からランダムに選ぶ。単体を対象と する行動の場合で、有効な対象が見つからない場合(「ザオラル」なら 死亡している仲間がいない場合など)、行動の選び直しはせず、0番の 対象(仲間なら先頭キャラ、敵なら一番左)を対象とする。

    4.2. その他の作戦

    「いろいろやろうぜ」以外の作戦では、AIは次の順序に従って、キャラの 取り得る行動を一つずつ評価する。単体やグループ対象の行動は、全ての 対象に対して行われる。

      ① 通常攻撃を評価   ② 攻撃系、状態異常付与系道具を評価   ③ 攻撃系、状態異常付与系呪文を評価   ④ マホカンタを評価(ブライ限定)   ⑤ 回復系呪文を評価   ⑥ 回復系道具を評価   ⑦ 蘇生・状態異常治療系呪文を評価   ⑧ 蘇生・状態異常治療系道具を評価   ⑨ 現時点での最善行動が高優先度であれば⑩?⑫を飛ばす     (以下参照)   ⑩ 最善行動の評価値を0にリセット   ⑪ 強化・弱体系呪文を評価   ⑫ 強化・弱体系道具を評価   ⑬ ドラゴラムを評価   ⑭ 防御を評価

    上記手順の後、「最善」と評価されている(以下「行動評価詳細」参照) 行動と対象が、キャラクターの行動として設定される。

    道具については、以下の道具のみ評価される。  (攻撃系)  ・いかづちのつえ  ・てんばつのつえ  ・まどろみのけん  ・ほのおのつめ  ・こおりのやいば  ・まふうじのつえ  ・マグマのつえ  ・ほほえみのつえ  ・はじゃのつるぎ  ・はぐれメタルのたて  ・せいじゃくのたま  (回復系)  ・しゅくふくのつえ  ・ちからのたて  ・やくそう  ・けんじゃのいし  (状態異常治療系)  ・まんげつそう  (強化・弱体系)  ・みなごろしのけん その他のアイテム(世界樹の葉、風神の盾など)は「いろいろやろうぜ」 以外では一切使用されない。

    手順⑨における「優先度」は、次のように「高優先度」か「低優先度」と 判定される。  ・攻撃系行動は、対象の残りHPの1/4以上を与えると予想される場合に   高優先度となる。  ・状態異常付与系、回復系行動は常に高優先度となる。  ・上記以外はすべて低優先度となる。

    【バグ】道具は本来、呪文と同様に判定されるはずだったが、アイテムID     から優先度を判定する際に間違った値を読み込むため、「どれも     当てはまらない」と判定されて低優先度となってしまう。     仮に設計通りに挙動していたら、賢者の石を処理する関数が     データから抜けているため、賢者の石が選択された時はゲームが     クラッシュしてしまうので、ある意味幸運なバグとも言える。

    4.3. 学習レベルの効果

    AIの各敵に対する学習レベルは、行動に対する敵の耐性を判定する場合に 使われる(これ以外では一切使われない)。耐性判定の際、実際の耐性と 現在の学習レベルを基に、ランダムな耐性値をその敵の耐性として使う。 下記の表で分かるように、学習レベル3(完全学習)ではランダム性が なく、常に実際の耐性値が使われる。 (注:表の値は設計されたものだが、バグによって実際の耐性判断が かなり違ってしまう。下記2点目のバグ情報を参照)

    「耐性0・学習レベル1」などいくつかの場合には、ランダム範囲が100% より高くなる。100%を超えるランダム値は100%として扱われるため、この 設定は「100%と判断される確率を上げる」ためのものと考えられる。 (とはいえ、耐性0で学習レベルが2に上がると、100%と判断する確率が 下がってしまうので、単なるタイプミスや計算ミスの可能性もある。)

    ラリホーマルカニ以外の行動の耐性判定表】

      Lv│ 耐性0 │ 耐性1 │ 耐性2 │ 耐性3
      0│ 60-100%│ 40-98% │ 20-80% │  0-80%
      1│ 70-110%│ 50-90% │ 30-70% │  0-40%
      2│ 70-102%│ 60-90% │ 30-60% │  0-30%
      3│  100%  │   85%  │   40%  │    0%
    

    ラリホーマルカニの耐性判定表】

      Lv│ 耐性0 │ 耐性1 │ 耐性2 │ 耐性3
      0│ 60-100%│ 60-100%│ 30-90% │  0-80%
      1│ 70-110%│ 70-110%│ 40-80% │  0-40%
      2│ 70-102%│ 70-102%│ 45-75% │  0-30%
      3│  100%  │  100%  │   70%  │    0%
    

    【バグ】学習レベル3では、通常耐性1(命中率84.4%)とラリホーマ・     ルカニ耐性2(命中率69.5%)を、実際より1/128(約0.8%)高く     命中率を見積もってしまう。恐らくデータの入力ミスか、片方に     変更が生じて他方に反映されなかった類の問題と思われる。

    【バグ】ランダム判定に使われる内部テーブルは1/128単位で記録されて     いるが、実際の命中率計算は1/16単位で行われる。このため     テーブルから取得された値を8で割る必要があるが、実際には     2で割っているため、算出される予想命中率が設計値の4倍にまで     跳ね上がってしまう。この結果、耐性3(完全耐性)以外の敵は     すべて耐性無しと判定されて、完全耐性でも完全学習するまでは     ほぼ無視されてしまう。

    4.4. 行動評価詳細

    一部の行動(主に強化・弱体系)を除き、AIは各行動を評価した結果を 「行動評価値」として記録し、評価値の一番高い行動を、そのターンの 行動として選択する。

    評価値を比較する際、行動ごとの評価処理が返す基本評価値に対して、 作戦に応じて以下の計算を行う。  ・A = 基本評価値×16  ・B = (基本評価値×256) ÷ (消費MP×16 + 予想被ダメージの合計×1.4)  ・「ガンガン」「つかうな」「対ボス」の場合:調整評価値 = A  ・「せつやく」の場合:調整評価値 = B  ・「がんばれ」「だいじに」の場合:調整評価値 = A + B

    この調整評価値に対して、行動の消費MPがMP余裕量を超えた場合、次の ように最終的な評価値を計算する。  ・評価値 = (調整評価値×8) ÷ (8 + 超過MP)

    この最終評価値を、これまで最善と判断した行動の最終評価値と比較し、 次の手順に従って、新しい行動を最善行動とすべきか判定する。

     ① 評価値が最善評価値を下回り場合、最善行動を変更しない。    (最善行動がまだ無い場合はスキップ)

     ② 評価値が最善評価値と等しいとき、以下の場合に最善行動を変更    しない。     ・行動が通常攻撃     ・作戦が「対ボス」で、消費MPが最善行動の消費MPより少ない     ・作戦が「対ボス」以外で、消費MPが最善行動の消費MPより多い

     ③ 作戦が「がんばれ」「せつやく」以外、行動が呪文で、予想的中率    が7/16未満の場合、最善行動を変更しない。

     ④ 反射ダメージ(マホカンタ状態の敵に攻撃呪文を唱えた場合など)    を、作戦ごとの閾値(キャラクターの現在HPの割合)と比較する。     ・「がんばれ」 102/256 (40%)     ・「せつやく」  51/256 (20%)     ・「ガンガン」 140/256 (55%)     ・「だいじに」  1/256 (0.4%)     ・「つかうな」  1/256 (0.4%)     ・「対ボス」  160/256 (63%)    反射ダメージが閾値より多い場合、最善行動を変更しない。

     ⑤ 最善行動と最善評価値を、現在の行動と評価値に更新する。

    4.4.1. 呪文行動一般

      呪文固有の処理を行う前に、以下の場合には評価が中止される。
       ・作戦が「じゅもんつかうな」
       ・全員マホトーンのパルプンテ効果が発生中
       ・キャラクターがマホトーン状態
       ・キャラクターが呪文を覚えていない
       ・呪文を使うためのMPが不足している
    

    4.4.2. 通常攻撃

      通常攻撃の評価値は、対象(敵)の合計危険値を、敵を倒すまでに
      要される打撃回数(敵の残りHP ÷ (予想与ダメージ+1))で割った
      数値である。
    
      攻撃した時の副作用(毒針や微睡みの剣の効果)は、考慮されない。
    
      【バグ】「予想与ダメージ+1」を計算する際、1バイトオーバーフロー
          を考慮しないため、予想与ダメージが255の場合、打撃回数が
          「無限大」(実際には15.9375)になり、評価値も大幅に低下
          してしまう。この状況を発生させるには攻撃力510以上必要に
          なるが、強い仲間にバイキルトを掛けた場合には発生し得る
          と考えられる。
    

    4.4.3. 攻撃系呪文・道具

      敵が死亡・アストロン状態の場合、評価を中止する。呪文であれば、
      さらにマホカンタ・マホステ状態でも評価を中止し、マホカンタ状態
      の場合は行動の最低ダメージを反射ダメージに加算する。
    
      評価値は、対象の合計危険値を、敵を倒すまでに要される行動回数
      (敵の残りHP ÷ 最低ダメージ)で割った数値に、学習レベルにより
      判定した命中率を掛けた数値である。最低ダメージで評価するため、
      バギ系の行動はやや低く評価されてしまう。
    
      敵グループや全ての敵を対象とする行動の場合、敵一体ずつを対象に
      上記の評価を行い、その合計を評価値とする。評価が中止された敵の
      評価値は0として扱い、合計が0の場合、全体の評価を中止する。
    

    4.4.4. 状態異常付与系呪文・道具

      敵が死亡・アストロン・(呪文の場合)マホカンタ・マホステ状態、
      または行動によって付与される状態にすでになっている場合は評価を
      中止する。
    
      評価値は、以下の基本値と、敵の現在HP割合、学習レベルにより判定
      した命中率を掛け合わせた数値である。
       ・混乱、即死  合計危険値
       ・睡眠     合計危険値×1/2
       ・マホトーン  呪文危険値
       ・マヌーサ   物理攻撃危険値×5/8
       ・休み     合計危険値×1/6
    
      例外として、マホトーン・ザラキは、マホカンタ状態の敵がいる
      敵グループに対しては、グループの他の敵の状態や耐性に関係なく
      一切使用されない。
    

    4.4.5. マホカンタはぐれメタルのたて

      対象がマホカンタかマホステ状態の場合、評価を中止する。
    
      評価値は、全ての敵の、仲間一人に対する呪文危険値の合計である。
      この「一人に対する危険値」は、パーティの先頭キャラに対する呪文
      ダメージと呪文行動による能力低下値を足して、生存している仲間の
      数で割って算出される。
    
      【バグ】「先頭キャラに対する呪文ダメージ」はすでにパーティ人数
          で割られているため、呪文ダメージは、生存している仲間が
          多いほど過小評価される。
    
      【バグ】先頭キャラがマホカンタ・マホステ状態の場合、敵からの
          呪文ダメージが全く考慮されない。
    

    4.4.6. 回復系呪文・道具

      回復行動を評価する前に、まず、どの仲間が回復を必要としているか
      調査される。調査は、以下の手順で行われる。
    
       ① 各仲間の予想被ダメージを確認し、その値に行動キャラと作戦に
         応じて係数を掛ける(以下「回復テーブル1」を参照。クリフト
         とミネアが被ダメージを多く見積もって回復に力を入れる……
         ように設計されたが、バグによって正しく機能していない)。
         勇者が同じ仲間を回復しようとしてまだ行動していないときは、
         既に行動したか、勇者の後に行動する敵からのダメージを無視
         する(ように設計されたが、こちらもバグによって正しく機能
         していない。以下参照)。
    
       ② 生存していて、混乱していない仲間について、現在HPを、最大HP
         と予想被ダメージ(係数適用後)の両方と比較し、回復の必要性
         を判定する。
          ・現在HPが最大HPの7/8以上であれば、回復は不要。
          ・予想被ダメージが現在HPを上回る場合、強い回復が必要。
          ・現在HPから予想被ダメージを引いた残りが、最大HPの1/4
           (作戦「だいじに」の場合は1/3)未満の場合、弱い回復が
           必要。
          ・上記以外の場合、回復は不要。
    
      【バグ】手順①において、戦闘の行動順が格納されたメモリを正しく
          読み取っていない(同じメモリがフィールドの描画にも
          使われ、戦闘プログラムでは不要な部分をあえてクリアして
          いない)ので、「勇者(敵)が行動済みか」「敵が勇者の
          後に行動するか」という判定が狂いやすい。この結果、勇者
          の回復行動を無視して重複する場合もあれば、本当は追加
          回復が必要なのに回復しないこともあるなど、AIの挙動が
          予測しづらくなっている。
    
      【バグ】マホカンタ・マホステ状態の仲間を除外しようとする処理が
          あるが、行動が呪文か道具かの判定処理が正しくなく、結局
          これらの状態が(呪文でも道具でも)無視される。
    
      単体回復行動の場合、評価値は、回復後の現在HP割合(回復量は
      行動の平均回復量とみなされる)を、行動キャラと作戦に応じた
      回復目標(以下「回復テーブル2」を参照)で割った数値である。
      ただし、「回復量 ÷ 予想被ダメージ」の割合が一定の数値以下
      (「回復テーブル3」を参照)の場合、評価が中止される。
    
      また評価値とは別に、回復対象の「回復価値」も記録される。
      回復価値は、その仲間のダメージを与える能力に基づいて決まり、
      行動の最終評価の際、最善行動が回復行動の場合、現在の評価値が
      最善評価値より低くても、回復価値が高ければ最善行動を更新する
      (この比較において、「強回復が必要」と判断された仲間は、
      「弱回復が必要」と判断された仲間より無条件で回復価値が高い)。
    
      【バグ】「ダメージを与える能力」を判定する際、その仲間が使う
          呪文に対する敵の耐性を、学習レベルを用いて簡易計算
          しようとする処理があるが、耐性予想データを正しく扱って
          いないため、予想的中率がゴミデータになってしまう。
          この結果、呪文による与ダメージが大幅に過大評価される
          ことが多い。
    
      【バグ】評価値比較の際、最善行動が回復系以外の行動の場合で、
          その評価値が256以上の場合、比較が正しく行われない。
          とはいえ、そもそも回復系行動の評価値を攻撃・異常系
          行動の評価値に合わせようとした形跡が見当たらない。
    
      道具の場合、同等・より強力な呪文を上書きしないためのチェックも
      行われる。
       ・薬草は、ホイミを上書きしない。
       ・力の盾は、ベホマラー・やくそうを上書きしない。また作戦が
        「じゅもんせつやく」ではない場合、ベホマも上書きしない。
       ・祝福の杖は、ベホマ・ベホマラー・賢者の石を上書きしない。
    
      【バグ】力の盾の「薬草上書き禁止」設定はナゾ。恐らくは薬草では
          なく、祝福の杖と同様に賢者の石を対象にしたかったものと
          思われる。
    
      全体回復のベホマラーは、作戦が「じゅもんせつやく」でなく、かつ
      要回復の仲間が3人以上の場合のみ選択されるが、選択された場合は
      それまでの行動評価を無視して最善行動として設定される。
    
      賢者の石も同様に、要回復の仲間が1人以上いれば必ず選択される。
      ただ例外として、要回復の仲間が1人だけで、最善行動がベホマなら、
      そのベホマを上書きしない。
    
      【回復テーブル1】(予想被ダメージ係数)
    
      作戦 │クリ│ミネ│マー│ブラ│トル│ライ│アリ
      がんばれ│1.0 │0.5 │0.5 │0.5 │0.5 │0.5 │0.88
      せつやく│0.88│1.0 │1.0 │1.0 │1.0 │1.0 │1.0
      ガンガン│1.0 │0.0 │0.0 │0.0 │0.0 │0.0 │1.5
      だいじに│1.5 │1.0 │1.0 │1.0 │1.0 │1.0 │0.5
      いろいろ│0.5 │0.5 │0.5 │0.5 │0.5 │0.5 │1.0
      つかうな│1.0 │1.0 │1.0 │0.5 │0.5 │0.5 │0.94
      対ボス │0.81│0.0 │0.0 │1.0 │0.0 │0.0 │0.88
    
      【回復テーブル2】(最大HPに対する目標回復ライン)
    
      作戦 │クリ│ミネ│マー│ブラ│トル│ライ│アリ
      がんばれ│ 88%│ 88%│ 88%│ 88%│ 88%│ 88%│ 50%
      せつやく│ 50%│ 88%│ 88%│ 88%│ 88%│ 88%│100%
      ガンガン│100%│100%│100%│100%│100%│100%│100%
      だいじに│100%│100%│100%│100%│100%│100%│ 31%
      いろいろ│ 31%│100%│100%│100%│100%│100%│100%
      つかうな│100%│ 50%│ 50%│100%│ 50%│ 50%│100%
      対ボス │100%│100%│100%│100%│100%│100%│800%
    
      【回復テーブル3】(予想被ダメージに対する最低回復割合)
    
      作戦 │クリ│ミネ│マー│ブラ│トル│ライ│アリ
      がんばれ│0.5 │0.39│1.0 │1.0 │1.0 │1.0 │1.0
      せつやく│0.78│0.78│0.5 │0.5 │0.5 │0.5 │0.5
      ガンガン│0.78│0.7 │1.0 │1.0 │1.0 │1.0 │1.0
      だいじに│0.0 │0.0 │0.0 │0.0 │0.0 │0.0 │0.0
      いろいろ│1.0 │1.0 │1.0 │1.0 │1.0 │1.0 │1.0
      つかうな│1.0 │1.0 │0.31│0.31│0.04│0.39│0.39
      対ボス │0.78│0.78│1.0 │1.0 │1.0 │1.0 │1.0
    
      上記テーブルのうち、作戦「いろいろ」「つかうな」のデータは
      実際には使われないが、プログラム上設定されているものとして
      記載しておいた。
    
      【バグ】いわゆる「off-by-oneエラー」により、テーブル1・2では
          クリフト・ミネア用に設定されたデータが、実際はそれぞれ
          アリーナ・クリフトに適用されてしまう(アリーナの場合、
          次の作戦からクリフトのデータを取ってしまう)。
          他の仲間も同様に、データが1人ずつずれてしまっている。
          上記のテーブルでは、プログラムが実際に使うデータを
          記載している。
    

    4.4.7. 蘇生・状態異常治癒系呪文・道具

      これらの行動は評価値の概念を使わず、単純な行動優先度によって
      最善行動を選択する。
        メガザル > キアリク、満月草 > ザオリク > ザオラル
      評価の際、現在の最善行動が回復行動か、優先度のより高い治癒行動
      でなければ、最善行動を評価中の行動に更新する。
    
      【バグ】最適化ミスによって、ザオラルはザオリクとして扱われる。
          ただ、実際にはザオリクがザオラルの後に評価されるので、
          このバグは挙動には影響しない。
    
      ザオラルとザオリクは、死亡している仲間が1人以上いる場合に選択
      され、死亡している仲間のうち、もっとも最大HPの高い仲間を対象と
      する。
    
      キアリクと満月草は、麻痺している仲間(キアリクなら、マホカンタ
      またはマホステ状態の仲間を除く)が1人以上いる場合に選択される。
      麻痺中の仲間が複数いる場合、満月草は一番最後の麻痺している仲間
      を対象とする(ただしキアリクは上書きしない)。
    
      メガザルは、作戦が「いのちだいじに」、死亡している仲間が3人で、
      残る1人(ミネア)のMPが12未満の場合のみ選択される。
    

    4.4.8. 効果・弱体系呪文・道具

      これらの行動は、これまでに選択された最善行動が低優先度の場合
      のみ評価される。評価値の概念は基本的に持たず、それぞれの評価
      処理が、個別条件に従って最善行動を更新するかどうかを判定する。
    
      4.4.8.1. ルカニ、ルカナン、皆殺しの剣
    
         これらの行動は、まず、全ての敵の「平均」耐性レベルを計算し、
         そのレベルが1.5以上でなければ評価を中止する。ここで見る耐性
         は、全ての仲間が使える呪文がそれぞれ対象とする耐性(攻撃系
         呪文を使える仲間がいない場合、この判定は飛ばされる)。なお、
         比較の対象となるのは耐性レベルであって実際の耐性(命中率)
         ではなく、学習レベルも適用されない。
    
         上記の判定が通って、かつ守備力が1以上の敵がいれば、行動が
         選択される。これらルカニ系行動だけの評価値として、下がる
         守備力に予想命中率(学習レベル適用)を掛けた値である。
         ルカナン・皆殺しの剣の場合、予想命中率はそれぞれの対象の
         命中率の「平均」を取る。
    
         上記のカッコ付き「平均」とは、通常の平均ではなく、2つ目以降
         の値を、それまでの「平均」に加算して半減するという方法なので
         右寄りの敵、内部番号が大きい耐性にかなり偏ってしまう。
    
         これらの行動は、弱体・強化以外の行動、または評価値が同等か
         小さいルカニ系行動を上書きする。
    
      4.4.8.2. スカラ、スクルト
    
         これらの行動は、敵の「物理攻撃危険値 / 合計危険値」の割合
         (分子・分母とも全ての敵の合計)が、作戦に応じた値以上である
         場合のみ選択される。
    
      作戦 │閾値
      がんばれ│ 40%
      せつやく│ 80%
      ガンガン│120%
      だいじに│ 20%
      対ボス │ 30%
    
         ※表から分かるように、作戦「ガンガンいこうぜ」の場合、スカラ
          とスクルトは一切使われない。実際のデータは「75%」だが、
          割合計算の前、物理攻撃危険値に5/8の係数を掛けるため、実質
          120%の下限となるので、データ設定時にこの挙動を忘れていた
          可能性が考えられる一方、誤りに気付きながら、「ガンガンで
          守備力を上げる行動を取るべきではない」とそのまま仕様にした
          とも考えられる。プログラムではどちらを示唆する痕跡もなく、
          真相は不明。
    
         上記の判定が通った場合、これらの行動は、混乱・マホカンタ・
         マホステ状態でなく、そのターンの予想被物理ダメージが、最大HP
         の作戦に応じた割合以上の仲間を対象とする。
    
      作戦 │閾値
      がんばれ│3/16
      せつやく│5/16
      ガンガン│5/16
      だいじに│1/16
      対ボス │2/16
    
         対象が1人以上いれば行動が選択される。どちらの呪文も使える
         場合、対象が1人だけ、またはスクルトを唱えるMPが不足している
         場合にスカラが優先され、「被ダメージ / 最大HP」の割合が最大
         になる仲間が対象となる)。
    
         これらの行動は、強化・弱体以外の行動を上書きする。
    
      4.4.8.3. ピオリム
    
         ピオリムは、素早さの最も高い敵の素早さが、素早さの最も高い
         味方の4倍以上、8倍未満に選択される。死亡・麻痺状態の敵と
         味方は「素早さの最も高い」判定から除外される。
    
         【バグ】この判定が通るためには、仮にゲーム中最速のモンスター
             「だいまどう」(素早さ220)を相手にしても、最速の
             味方の素早さが55未満でなければならない。しかしこの
             呪文を使うブライ自身の素早さがそれより高く成長する
             ことが普通なので、この行動がAIに選択されることは
             まずない。計算命令を間違えたのか、分子と分母を入れ
             替えてしまったのかなど色々考えられるが、少なくとも
             意図された挙動でないことは間違いなさそうである。
    
      4.4.8.4. バイキルト
    
         バイキルトは、ルカニ系と同様に計算した全ての敵の「平均」耐性
         レベルが、作戦に応じた値以上である場合のみ選択される。
    
      作戦 │閾値
      がんばれ│ 1.5
      せつやく│ 2.0
      ガンガン│ 2.0
      だいじに│ 1.5
      対ボス │ 1.5
    
         【バグ】「ルカニ」で評価した最後の敵(通常は最も左側の敵)
             のルカニ耐性が3(完全耐性)であって、その敵の学習
             レベルも3(完全学習)であれば、予想命中率「0%」の
             データがメモリに残ってしまい、上記の判定はこの値を
             誤って参照するため、この行動は選択されない。
    
         上記の判定が通った場合、まず現在HPが最も多い敵を検索する。
         そして混乱・マヌーサ状態でなく、行動者以外ならマホカンタ・
         マホステ状態でなく、バイキルトも掛かっていない仲間について、
         その仲間から検索した敵への通常攻撃の平均ダメージを計算し、
         「敵の現在HP / 攻撃ダメージ」の割合を、作戦に応じた閾値と
         比較する。計算した割合が閾値以上であれば、その仲間は有効な
         対象と判定される。
    
      作戦 │閾値
      がんばれ│ 1.5
      せつやく│ 2.5
      ガンガン│ 1.0
      だいじに│ 1.5
      対ボス │ 1.0
    
         有効な対象がいる場合、この行動が選択され、もっとも攻撃力の
         高い有効対象を対象とする。また、この行動が選択された場合は
         その他すべての行動を上書きする。
    
      4.4.8.5. フバーハ
    
         最善行動が強化・弱体行動で作戦が「いのちだいじに」以外、
         またはフバーハ自体がすでに掛かっている場合は、この行動は
         選択されない。それ以外の場合、敵から炎・氷ブレスの攻撃を
         受ける合計確率が作戦に応じた値以上であれば選択され、他の
         すべての行動を上書きする。
    
      作戦 │ 閾値
      がんばれ│ 4/16
      せつやく│10/16
      ガンガン│10/16
      だいじに│ 1/16
      対ボス │ 2/16
    
         なお敵行動の確率判定では、行動パータン完全ローテーションの
         場合は均一の確率として加算される(危険値計算時と同様)。
    

    4.4.9. マホトラ

      この行動は、(16 + 12×残りMP)/256の確率で選択されない(残りMPが
      20以上なら確定で選択されない)。また、MPを持っている敵がいない
      場合でも選択されない。
    
      行動が選択された場合、MPを持っている敵の中で、最も高い「価値」
      の敵を対象とする。この「価値」は256 × (255 - 残りMP)未満の乱数
      である(無限のMPを持つ敵は、この計算において残りMP「240」として
      扱われる)。この結果、残りMPが低い敵ほど価値が高くなりやすい。
    
      この行動は「強化・弱体系行動」として扱われるので、すでに優先度
      の高い行動が選択されている場合は評価されない。
    
      ブライのAIは、この行動の評価を行わない。
    
      【バグ】マホトラの評価処理の意図はよく分からない。恐らくは敵の
          残りMPやマホトラ耐性を基に価値を算出したかったのではと
          思われるが、複数の箇所でデータを適切に格納せず、結果と
          して価値が事実上ランダムになってしまう。マホトラが
          滅多に評価されないからこれらの問題が見落とされたと
          推測される。
    

    4.4.10. ドラゴラム

      この行動は、作戦「じゅもんせつやく」の場合には選択されない。
      その他の作戦では、以下のいずれかの条件が満たされた場合に選択
      される。
       ・デスピサロ第7形態において、デスピサロがマホカンタまたは
        マホステ状態である。
       ・メタルキングが1匹以上いる。
       ・はぐれメタルが、作戦に応じた数以上いる。
       ・メタルスライムが、作戦に応じた数以上いる。
    
      作戦 │スライム│はぐれ
      がんばれ│  4  │  2
      ガンガン│  1  │  1
      だいじに│  4  │  2
      対ボス │  1  │  1
    
      なお、ドラゴラムは高優先度行動として扱われるので、条件が
      満たされた場合は必ず実行される。
    

    4.4.11. ルーラ

      この行動は、一切選択されない。
    

    4.4.12. 防御

      この行動は、以下の条件がすべて満たされた時に選択される。
       ・最善行動が通常攻撃である。
       ・その攻撃の予想ダメージは、対象の残りHPの1/4以下である。
       ・勇者がパーティにいて、まだ行動していない。
       ・行動者の現在HPが、最大HPの1/3未満である。