コグノスケ


2021年 10月 4日

Might and Magic ファミコン版 - まとめリンク

目次: Might and Magic ファミコン版 - まとめリンク

日記が増えすぎて、一覧が欲しくなってきたので作りました。

リンク集

Might and Magic の攻略、解析の参考になるサイトです。

編集者: すずき(更新: 2022年 7月 22日 16:03)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2021年 10月 5日

久しぶりにファミコンの Might and Magic Book One をやってみたい

目次: Might and Magic ファミコン版 - まとめリンク

Nintendo Switch Online に加入すると、ファミコンやスーパーファミコンのソフトでも遊べるので、子供の時に挫折したゲーム(最近だとファミコンウォーズ、スーパーピクロス)をやっています。グラフィクスは近年のゲームと比べるまでもなくショボいですけど、今も名作は名作です。面白いですね。

子どもの時に挫折したゲームはいくつもありますが、ナンバーワンが Might and Magic Book One : the Secret of the Inner Sanctum です。この時代に流行ってた Wizardry みたいな 3D 風の迷路を歩いていく海外製 RPG です。難易度が異常に高くて有名で、小学生の私は Lv.2 すら拝むことなく諦めました。

この手の Switch には収録されていないソフトも遊びたいなあ?と思って、ニューファミコンを物色していたのですが、結構でかくて邪魔そうだし、中古の割に高いです。今でも人気なのか……侮ってましたね。

ですが、我々には PC とエミュレータがあるじゃないですか。幸いなことに、ファミコンソフトそのものはそんなに高くないので、ROM ダンパーで ROM を吸い出して、PC で遊ぶことにしました。


レトロダンパー

私はレトロダンパー(メーカーのサイト)を使っています。クライアントを起動して、認識ボタンを押し、吸い出すだけで OK なので便利です。

Might and Magic Book One 購入

早速、中古のカセットを購入しました。外観は割とズタボロというか、年季入った姿です。ま、動けば良いのさ。


ファミコン版 Might and Magic Book One のカセット

GAKKEN のロゴの通り、なぜか日本語ローカライズは学習研究社(学研)が行っています。今見ると不思議です。教科書作ってる学研が、なぜゲームの移植を……。


レトロダンパーにカセットを挿した状態

レトロダンパーさんで吸い出すときはこんな感じになります。吸い出した ROM をエミュレータに放り込んでみたところ、正常に動作しているようです。良きかな良きかな。

ゲームの感想

まずは普通に遊んでみました。今なら意外とクリアできるのでは?と思ったのも束の間、あっ、無理でした。調子乗ってすみませんでした。在りし日の絶望が蘇りました。

  • 攻撃がほぼ当たらない
  • 敵から逃げられない
  • Lv2 が果てしなく遠い
  • 罠解除役(盗賊)が宝箱の罠に掛かる
  • パーティーがすぐ全滅、タイトルに戻される

最初から難しすぎます。基本的には 1バトルごとに休憩+セーブって感じです。攻撃が当たらないのも辛く、一方的にボコられて死んでしまいます。死んだら復活させるお金がないのでリセットです。

さらに Wikipedia を見てびっくりしたのは、次の一文です。
「ファミコン版は(中略)やや簡単に調整された部分が多い」
えっ?これで?嘘だろ……??オリジナル版はどれだけ鬼畜難易度なの?

息抜きに YouTube で攻略動画を見ていると、ラストダンジョン(イドの迷宮、アストラル世界)の音楽がとてもカッコ良いですね。何とか辿り着きたいですが、最初の町(ソーピガルの町)から脱出できていない身からすると、果てしなく遠いです。

編集者: すずき(更新: 2021年 11月 8日 23:39)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2021年 10月 6日

Might and Magic Book One で初めての TAS に挑戦

目次: Might and Magic ファミコン版 - まとめリンク

子ども時代のトラウマ難易度ゲーム Might and Magic Book One に、大人になってから挑みましたが、変わらず撃沈しました。やっぱり難しいです。でもエミュレータなら、Lv.1 で最速クリアする動画を作れるんです。いわゆる TAS(Tool Assisted Speed-run)動画です。

TAS するにあたっては、定番の BizHawk というエミュレータを使います。ROM をロードして Tool - TAStudio を選ぶと、フレーム単位でキー入力を選べる画面が出現します。


BizHawk TAStudio

操作に自信があるなら Recording mode を使って自分の操作を記録し、あとでファインチューンすると良いでしょう。私は操作にあまり自信がなかったので、1フレームずつチマチマとマウスで入力しました。

TAS 第一弾

とりあえずエンディングまで辿り着いたので、YouTube にもアップロード([TAS] NES Might and Magic Book One (J) 23:30 - YouTube)しました。YouTube のアップロード側機能は初めて使いましたが、とても使いやすいですね。

TAS としてのクオリティはあまり良くないです。攻略ルートがかなり適当で、これより早くクリアできる動画は簡単に作れると思います。容易に改善できそうなところは、

  • メッセージスキップしてない(スキップ条件が良くわからなかった)
  • 「ようせい」との戦闘に 2ターン掛けてる
  • 「ガラドリエルのめぐみ」取りに行くのが無駄(Gem は「ようせい」が落とした 7つで足りてた)
  • ダスクの町の店で物を売る必要がない(金は足りてる)
  • 地上エリア A2(火山地帯)からの脱出が遅い
  • 「さんごのかぎ」の受け渡しが無駄(先頭の人が持てるルートに変えた方が良い)
  • 5人もパーティーに入れている

5人パーティーだとオーラのクエストが長いし、戦闘で行動できない人が出やすく無駄が多いので避けたいですが、4人パーティーだと「ようせい x 3」が出ないので、妥協しました。

あと Might and Magic の大きな特徴として、敵から逃げると MAP の特定の位置に必ず戻される仕様があります。わざとエンカウントし逃げれば、歩くよりも早く移動ができる可能性があります。TAS ではぜひとも活用すべき事項ですが、エンカウントのルールがわからず、エンカウント確率もかなり低いため、総当たりだと全然エンカウントしません。これは厳しい。ギブアップ。

とまあ、色々諦めたしょぼい TAS 動画を作っただけで非常に疲れました……。世の中のハイレベル TAS 動画の作者さんは凄いですわ〜。

補足

Might and Magic ファミコン版は日本語版と英語版があります。このうち英語版の TAS は既に存在していて、クリアタイムがたったの 8分[TAS] NES Might and Magic by Dammit in 08:07.72 - YouTube)です!超早ですね。

英語版はアイテムを別のアイテムに化けさせるバグがあって、そのバグを突くとゴミから終盤のクエストでもらえるはずのアイテムを錬成でき、ほぼ全てのクエストを無視してラストダンジョンに挑めます。

日本語版ではバグが修正されているほか、クエストの仕様も違うため、少なくとも同じ攻略法ではクリアできません。

編集者: すずき(更新: 2021年 11月 8日 23:40)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2021年 10月 7日

Might and Magic Book One のメインクエスト紹介

目次: Might and Magic ファミコン版 - まとめリンク

ファミコン版 Might and Magic Book One にはたくさんのクエストがありますが、クリアに必要なクエストはさほど多くありません。図示するとこんな感じです。


クエスト、アイテムの依存関係

なお、ファミコン版 Might and Magic Book One の情報は、マイトアンドマジック 1 攻略情報 さんが非常に参考になります。地図がめっちゃ見やすいです。

メインクエスト紹介(手紙、兄弟、真のアラマー王)

クエストの位置など詳しい情報は攻略情報さんを見ていただくとして、下記では TAS で使った攻略ルートを簡単に説明します。

盗賊への転職
ソーピガルの町の [X: 2, Y: 13] にあるギルドに行って盗賊に転職します。Lv.1 クリアには盗賊が必須です。盗賊以外を選ぶと扉の鍵が解除できなくて進めなくなります。Might and Magic はさ、どうぞどうぞ、と投げ出されたイベントアイテムにすら罠が仕掛けてある鬼畜仕様のため、アイテム拾うだけで盗賊が必須です。
ソーピガルからの脱出
ソーピガル → ソーピガル地下 [14, 0] → ノーザンバリアー洞穴 → 地上エリア C2 の経路で移動し、町の外に出ます。ソーピガルの町の出口から出たいところですが、Lv.1 で出口に行くと衛兵に「未熟者」と言われて追い返され、ソーピガルの町から出してくれません。
アイスプリンセスのクエスト(ダイヤの鍵)
C2 → C1 → B1 → B2 の経路で移動し、[4, 4] にいるアイスプリンセスの問いに答えると、革袋がもらえて、中にダイヤの鍵が入っています。このクエストだけ、なぜか「さがす」必要はありません。ダイヤの鍵はテレポート 20回分の魔法が込められていて、とても便利な移動手段です。C2 → B2 は近道に見えますが、残念ながらアイスプリンセスに辿り着く道がありません。
GEM の入手
B2 → B3 → コリンブルッフ洞穴にいき、ダイヤの鍵を使ったテレポートで宝箱([1, 1] [0, 3] [1, 5] のどれでも OK)の真上に飛びます。アイテムはクリアに不要ですが、一緒に手に入る GEM は後で使います。GEM もクリア時間短縮に欠かせない存在です。
手紙のクエスト(手紙 その 1)
コリンブルッフ洞穴 → ソーピガル地下 [1, 2] へ行きコーラックからクエストを受けます。エルキューンのアガールに手紙を渡してくれと言われます。
手紙のクエスト(手紙 その 2)
ソーピガル地下 → ソーピガル →(転送)→ エルキューンの経路で移動します。転送というのは、ソーピガル [11, 3] にいるおじさんのこと(GEM 1個でどの町でも送ってくれる)です。宿屋の奥 [4, 3] にいるアガールに手紙を渡すと、別の手紙を渡されてダスクのテルゴランに渡してくれと言われます。
オーラのクエスト
エルキューン → B1 → C1 → C2 → ソーピガルの経路で移動します。道すがら別のクエストを進めます。
  • C2 [8, 8]: 占いオババと会いオーラの色を調べます。後のクエストで聞かれる(さんごの鍵)のでメモをお忘れなきよう。
手紙のクエスト
ソーピガル →(転送)→ ダスクの経路で移動します。テルゴランは迷路の先 [8, 0] にいます。この町はテレポート無効なので、地道に歩きましょう。テルゴランに手紙を渡すとアルガリーのゾム、ポートスミスのザムの兄弟に会ってくれと言われます。
兄弟のクエスト
ダスク → ダスクの地下 → ソーピガル →(転送)→ アルガリー → ポートスミスの経路で移動し、兄弟に会います。歩いて会おうとすると大量の強制エンカウントで時間が掛かるので、テレポートで全部飛ばします。ゾムザム兄弟はどちらが先でも良いですが、ポートスミス → アルガリーだとポータルもなく移動も辛いので、アルガリー → ポートスミスがおススメです。
  • アルガリー [1, 1]: ゾム
  • ポートスミス [12, 2]: ザム
市民のパスポート、兄弟のクエスト(ルビーの笛)
ポートスミス → B3 → B2 → B1 → C1 の経路で移動します。C1 [7, 7] でゴールデンバウムという金ぴかの木を見て、ゾムザム兄弟の伝言通りに歩き [15, 15] へ行くと、ルビーの笛が沸いてきます。基本的に「さがす」しないとモノが手に入らないゲームですが、このクエストだけ「さがす」をする必要がありません。変なクエスト……。
  • C1 [5, 7]: 市民のパスポート(城に入るために必要)を取る、馬車を調べるか?に「はい」、その後「さがす」です。
  • C1 [7, 7], [15, 15]: ゴールデンバウムとルビーの笛です。
フック付きロープ
C1 → C2 → ソーピガルの経路で移動し、店で「フック付きロープ」を 10G で買います。ソーピガル以外にも売っていますので、ソーピガル以外でも構いません。デューム城で使うので、その前に買っておいてください。
真のアラマー王のクエスト(金の鍵)
ソーピガル →(転送)→ ポートスミス → B3 → 魔法の砦の経路で移動し、魔法の砦 B2 の [3, 4] にいる犬の像まで行きます。テレポート活用が吉です。犬の像と話した後に「さがす」と金の鍵が拾えます。デューム城で使います。
真のアラマー王のクエスト(貴族のパスポート)
B3 → B2 → A2 の経路で移動し、迷路の奥 [0, 15] にいるドルイドのパルセラの問いに「はい」と答えた後に「さがす」と貴族のパスポートが拾えます。アラマー城で使います。エリア A2 はテレポートが使えないので地道に歩きましょう。
真のアラマー王のクエスト(ゴロスのめだま)
A2 → B2 → B1 → A1 → デューム城の石垣 → デューム城内部の経路で移動します。エリア A1 もテレポートが使えないので、地道に歩きますが、迷路がクッソ長くて辛いです。
  • A1 [7, 14]: デューム城の石垣、内部への入り口です。
  • デューム城 [8, 5] [6, 6] [7, 10]: 壁の外に押し戻される罠(三カ所)、フック付きロープで飛び越えましょう。
  • デューム城 [7, 7]: 金の鍵を持たずに行くと扉に吹き飛ばされます。
  • デューム城 [7, 8]: 真のアラマー王と話した後「さがす」と「ゴロスのめだま」を拾えます。
ニセのアラマー王の正体クエスト
デューム城 → A1 → B1 → C1 → C2 → ソーピガル →(転送)→ ダスク → E1 → E2 → E3 → アラマー城の経路で移動します。アラマー城に入るにはハレーショにパスワードを聞いて、ライオンのレリーフに答える必要がありますが、テレポートで全て無視して入り口 [14, 7] に直行できます。必要なアイテムを所持していればニセのアラマー王に「正体を見破ったな」と言われ、イドの迷宮に飛ばされます。
  • 市民のパスポート: 持たずに入り口に行くと、衛兵に追い返されます。
  • 貴族のパスポート: 持たずに王の部屋の前に行くと、衛兵に追い返されます。
  • ゴロスのめだま: 持たずにニセのアラマー王に会うと、クリア不能クエストを押し付けられます(僧侶の「ちゅうし」でキャンセルするしかない)
イドの迷宮
英語版だと Soul Maze ですが、日本語版は「イドの迷宮」という全然違う名前で、ニセのアラマー王のセリフ「ソウルメイズの地に監禁」が意味不明に見えます。訳を間違ったのかなあ……?本来はマッピングしてパスワードを知ります。「いちをしる」魔法が使えないため、マッピングの難易度は高いです。しかしパスワードは固定なので正解を知っていれば瞬殺です。クリア後はソーピガルに戻されます。

以上が Might and Magic の世界に起こった事件と、その謎に迫るメインクエストを超スピード解決する手順となります。初めてプレイする方がこの手順でクリアすると、たぶん訳が分からないと思います。

お時間がある方は、攻略サイトを見ながらでも構わないので、金の板や町のヒント、囚人たちなどに出会い話すと、しっかり作られた世界感が味わえると思います。

メインクエスト紹介(オーラ、アストラル世界)

もう一つのメインクエストの流れです。オーラのクエストは、ストーリーにはあまり関係ないです。ラストダンジョンの歯ごたえを増すためのクエストという感じです。アストラル世界は全てのストーリーの終着点で、ああ、そういうことだったんだ!と思うはずです。

オーラのクエスト(さんごの鍵)
ソーピガル → ポートスミス → B3 → B4 → A4 の経路で移動します。[4, 6] にいる老人に、各キャラクターのオーラの色を答えます。オーラはエリア C2 の占いオババに教えてもらった色です。正解すると [4, 2] に飛ばされるので、その場で旋回(移動しちゃダメ)、「さがす」で「さんごの鍵」を拾えます。
オーラのクエスト(金色のオーラ)
A4 → B4 → C4 の経路で移動します。先頭のキャラクターにさんごの鍵を持たせて [7, 2] で南を向くと、ボルカノ神殿に入れます。ボルカノ神殿 [7, 11] の火山の神に「なぞ」を出してもらって、答えると「金色のオーラ」にしてもらえます。ボルカノ神殿の入り口のある島は、テレポートで入れますが、テレポートで出ることはできません。注意。
オーラのクエスト(キーカード)
C4 → B4 → A4 の経路で移動します。[4, 6] にいる老人に会うと、また [4, 2] に飛ばされるので、その場で旋回、「さがす」で「キーカード」を拾えます。
アストラル世界
ゴロスのめだまを使ってアストラル世界に飛びます。壁がほぼすべて透明のバリアで構成されている鬼畜が考えたダンジョンです。迷ってしまったら敵から逃げれば、かならずスタート地点の [7, 0] に戻れるので、敵を倒すばかりでなくうまく使いましょう。
  • 5カ所の封印: [4, 6] [4, 10] [7, 14] [10, 10] [10, 6] にある封印を解除します。解除するたびに敵が出ます。
  • [7, 10]: ドア、キーカードで開きます。
  • [7, 8]: 「やすむ」と次に進みます。イドの迷宮をクリアしている必要があります。
  • [6, 7]: コーラックがいて、世界の果てに行けと言われ、ソーピガルに戻されます。
世界の果て
ソーピガル →(転送)→ エルキューン → B1 の経路で移動します。[4, 15] にある世界の果てに行くとゲームクリアです。最後に Book Two に続く!と出ますが、Book Two はファミコンでは発売されませんでした。悲しい。スーパーファミコン版が発売されているようです。

この他にも諸侯のクエスト、全く関係ないクエストなど、たくさんありますので、ぜひ遊んでみてください。全体的に良くできたゲームシステムだと思うんですけど、難易度の高さ(敵が強すぎる……)に、挫けそうになるのがイケてないポイントではあります。

編集者: すずき(更新: 2022年 4月 4日 05:52)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2021年 10月 8日

初めての 6502 アセンブラに挑戦

目次: Might and Magic ファミコン版 - まとめリンク

引き続き Might and Magic TAS 動画に挑んでいます。クリアタイムを縮めるには「わざとエンカウントして逃げる」「メッセージスキップ」の 2点がほしいですが、メモリダンプを見ていても全く発生条件がわかりません。仕方ないのでファミコンの CPU 6502 のアセンブラを読んでいます。もはやリバースエンジニアリングです。

命令が非常にシンプルで、レジスタ幅は 8bit、レジスタ数は A, X, Y の 3つしかありません。読んでいる分には面白いですが、これでソフト書くことを想像すると辛いです。昔の人はこんなん書いてたのかあ……。ま、それはさておいて、プログラムの解析を行った結果、エンカウントのルールが「半分だけ」分かりました。

基本
  • コントローラの状態を得るごとにカウンタが増減(アドレス 0x523 はデクリメント、0x524 はインクリメントされる)
  • キー入力でもカウンタの初期値が大きく変更される
  • 移動用のキー入力(上下左右 と B)した「次のフレーム」でエンカウント判定
町の場合
256フレームでカウンタが 1周(逆に言えば 256フレーム以内にエンカウントチャンスがないなら、初期値変更の操作を入れる必要あり)

カウントの条件判定関数(アドレス 0xE85D とそのサブ関数)を Lua で書き直しました。BizHawk の Lua も初めて使ったので書き方がわからず、1回 Python で書いてから移植するという無駄な行為をしました……。中心となる条件判定関数はこんな感じです。

カウント変数の値から敵とのエンカウント判定をする関数

function rol(v)
	local ncarry = (bit.band(v, 0x80) ~= 0)
	v = bit.lshift(v, 1)
	v = bit.band(v, 0xff)
	if (carry) then
		v = bit.bor(v, 0x1)
	end
	carry = ncarry
	return v
end

function ror(v)
	local ncarry = (bit.band(v, 1) ~= 0)
	v = bit.rshift(v, 1)
	v = bit.band(v, 0xff)
	if (carry) then
		v = bit.bor(v, 0x80)
	end
	carry = ncarry
	return v
end

function adc(v1, v2)
	v1 = v1 + v2
	if (carry) then
		v1 = v1 + 1
	end
	carry = (v1 > 0xff)
	return bit.band(v1, 0xff)
end

function sbc(v1, v2)
	v1 = v1 - v2
	if (not carry) then
		v1 = v1 - 1
	end
	carry = not (v1 < 0)
	return bit.band(v1, 0xff)
end

function judge(v0, v1, v2)
	local v24e = v0
	v523 = v1
	v524 = v2

	-- Addr: E8A1
	local v248 = 0x73
	local v249 = 0xc

	-- Addr: E8AB
	local v24a = v523
	local v24b = v524
	local v24c = v523
	local v24d = v524

	-- Addr: E8BF...E8D2
	for x = 7, 1, -1 do
		v24c = rol(v24c)
		v248 = ror(v248)
		if (carry) then
			carry = false
			ra = adc(v24a, v24c)
			v24a = ra
		end
	end

	-- Addr: E8D4
	carry = true
	v24a = sbc(ra, v24b)

	-- Addr: E8DD...E8F0
	for x = 4, 1, -1 do
		v24d = rol(v24d)
		v249 = ror(v249)
		if (carry) then
			carry = false
			ra = adc(v24b, v24d)
			v24b = ra
		end
	end

	-- Addr: E8F2
	carry = true
	v24b = sbc(ra, v24a)
	v524 = v24b

	-- Addr: E8FC
	carry = true
	v24a = sbc(v24a, v24b)
	v523 = v24a

	----------------------------------------------

	-- Addr: E871
	v24f = v24a
	ra = 0

	-- Addr: E87B ... E88F
	for x = 8, 1, -1 do
		v24f = rol(v24f)
		ra = rol(ra)
		carry = true
		ra = sbc(ra, v24e)
		if (not carry) then
			ra = adc(ra, v24e)
		end
	end

	-- Addr: E891
	v24e = ra
	v24e = v24e + 1

	return v24e
end

引数の v0 には現在いるマップから決まる一定の値(アドレス 0x6191 の値)を渡し、引数 v1, v2 にはカウンタ 0x523, 0x524 の値を渡します。エンカウント判定の結果が 1 であれば敵とのエンカウントという意味になります。あと judge() を呼ぶ前に、グローバル変数の carry = false にしておかないと結果が狂います。

内部でキャリークリアしとけ、って思われるかもしれませんが carry = true で呼ぶケース(今回は追っかけていませんが)もあるので、勝手にキャリークリアしてはいかんのです……。

話を元に戻すと、カウンタを 255フレーム分、変化させながらこの判定関数を呼ぶと、今から何フレーム後にエンカウントするか予測できるわけです。


町マップのエンカウント予想

例えば、上記の画像だと(43, 157, 179)と出ています。これは 43フレーム目にエンカウント処理が真と判定されるという意味です。ややこしいことに、Might and Magic のエンカウント判定は移動するボタン(前後左右、B ボタンのどれか)を押した「次のフレーム」に行われるため、42フレーム後に移動すると必ずエンカウントします。同様の理屈で 156フレーム後、178フレーム後も移動すると必ずエンカウントします。

エンカウントを理解できたぞ、これならエンカウント楽勝だろ!と意気込んで地上 MAP に行ってみたら、町以外(地上、ダンジョンなど)はカウンタの増減ルールが全く違っていて予測は微塵も機能しませんでした。ええ……そんな……。

予想以上の難解な動き

町だと 1フレームに 1回しかコントローラの状態を見ないため、カウンタも 1しか変化しません。そのため予測が楽でした。ところが町以外の MAP はアイドル時間に全力でコントローラの状態を見るため、70〜80くらいカウントが一気に変わり、さらに嫌なことに毎フレーム変化量が違うので予測ができません。こりゃ無理ですね。

エンカウントと並ぶもう一方の難問「メッセージスキップ」のルールは全く分かりません。基本的にはボタンを押すとメッセージがスキップされるはずなのに、そうじゃない時間がかなりあります。プログラムを解析していると8フレームほど入力を全く見ていない瞬間が何カ所かあって、スキップと関連していそうでしたが、仕組みの解明には至りませんでした。

メッセージスキップを諦めるとかなり時間を食ってしまう(最速スキップで11〜16フレーム、スキップしないと160〜170フレーム)ので、困りましたね。

編集者: すずき(更新: 2021年 11月 3日 10:20)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2021年 10月 9日

Might and Magic Book One のエンカウント処理が半々でわかった

目次: Might and Magic ファミコン版 - まとめリンク

引き続き Might and Magic TAS 動画に挑んでいます。前回書いた通り、町以外の MAP ではエンカウント判定用のカウンタ変化量が予測できません。しかしコントローラ入力後だけは、カウンタの変化量が必ず 0 もしくは 1 になることに気づきました。これを利用し、町以外の MAP のエンカウントが 50%の確率で予想できるようになりました。

残念ながら今の知識ではエンカウント予想を 100%にはできなさそうです。Might and Magic はキー入力チェックと画面更新が全く同期しないので、フレーム単位(=画面更新)しか動くタイミングがない TAS のツールだと、うまく挙動が推定できません。技術的にはモヤっとしますが、動画を作る分にはこれでも十分です。

地上エリア A1 や A2 のように、歩きだと脱出に時間が掛かる MAP で「わざとエンカウント+逃げる」手段を使えるようになったので、格段に早く脱出できるようになりました。

他にも細かい点を更新して 3分くらいタイムを更新し、20分28秒になりました。

謎のメッセージスキップ判定

メッセージスキップも、未だに仕組みは良くわからないものの、

  • A, B ボタンを 1フレームごとに交互に連打
  • 24フレーム(=メッセージが開ききる時間)スキップできないなら、巻き戻す
  • 連打開始タイミングを 1フレームずつ遅れさせてスキップできるか試す

とすると、比較的メッセージスキップが実現しやすいことが判明しました。

改善点の解説

もはや興味のある人はいないと思うので、自分向けのメモです。改善点は下記のとおりです。

  • 地上エリア A1, A2 で「わざとエンカウント+逃げる」を使い高速に脱出
  • GEM を「ようせい」ではなく、コリンブルッフ洞穴で調達
  • テレポート回数を減らした(ダイヤのかぎ 1つで済ませるため)
  • できるだけメッセージスキップした

TAS なら戦闘結果も制御してなんぼだろ!?というご指摘はごもっともですけど、どうも良い乱数が引けず、極端に時間が掛かったり、ドロップアイテムの GEM が足りなくて詰んでしまったり、うまく行かないことが多いです。TAS ですら戦闘が鬼門なの?このゲーム……??

再現性が不安定すぎるので戦闘をルートから外し、GEM はコリンブルッフ洞穴で拾うことにしました。これでだいぶ安定します。動画をアップロードしてから気づきましたが、5人パーティになっていますが、戦闘しないならメンバーは 2人でも良かったかな。うーん、まあいいか。

編集者: すずき(更新: 2021年 11月 8日 23:41)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2021年 10月 10日

Might and Magic Book One TAS タイム短縮の記録

目次: Might and Magic ファミコン版 - まとめリンク

いくつか改善を盛り込んで 19m30s になり、さらにもう一工夫で 1分半以上早くなって 18m43s にできました。YouTube にも載せておきました([TAS] NES Might and Magic Book One (J) 18:43 - YouTube)。

基本的なルートは当初から変えていません。最初のバージョンからの変遷 23m30s → 20m28s → 19m30s → 18m43s を見ると、5分くらい無駄を削ったことになりますね。

最初のバージョンを作ったときは、3〜4分は削れそうだけど 19分切るのは無理かな〜?と思ってましたが、意外と早くなってびっくりです。でも、そろそろ限界を感じるのでここらで打ち止めにします。

改善点の解説

前のバージョン(19m30s 版)では、持ち物が溢れるので 2人パーティーでクリアしましたが、実は 1人旅でも問題ありません。Might and Magic は必須アイテムでも容赦なく捨てられるからです。

例えば、ゴロスの目玉を手に入れるとき、フック付きロープはもちろん、その時点で用済みとなった必須アイテム(金のカギ、ルビーの笛)も捨てて構いません。

改善点の一覧は YouTube の説明と同じになりますが 19m30s 版では、

  • 無駄にエルキューンに寄っていた箇所を削った
  • 2人パーティーにした(オーラ関連のクエストが短くなる)
  • メッセージスキップする個所を増やした

次の 18m43s 版では、

  • 1人パーティーにした
  • コリンブルッフ洞穴 → ソーピガルの町の地下に直接飛ぶようにした(町を経由する必要がない)
  • A4 エリアのテレポートをやめた(歩きの方が早い)
  • 魔法の砦のテレポートを 2回減らした(歩きの方が早い)

これ以上を目指すなら、劇的にルート改善するか、メインクエストを飛ばすようなバグがないと厳しそうです。

失敗の記録

Might and Magic の TAS に挑みたいという奇特な方が居るとはあんまり思えないんですけど、将来の参考のために「やったけどダメだったこと」も残しておきます。

失敗その 1、コリンブルッフ洞穴ではなく、エルキューンの町で GEM を取るルート。

エルキューンは宝物を「ぬすむ」と GEM が取れます。GEM を得るまでは早いんですが、エルキューンからソーピガルに帰る時間が掛かるので、総合では遅いです。Might and Magic は町同士が絶妙に離れた嫌らしい場所にありますね。良くできてるじゃん……。

失敗その 2、コリンブルッフ洞穴 → デューム城のポータルでエリア A1 を無視するルート。

エリア A1 はテレポート使用不可の MAP で、迷路が非常に長くて時間が掛かります。コリンブルッフ洞穴からデューム城に行けば、大きく時間削減できるのでは?と期待しましたが、エリア A1 の巧妙な仕掛けに阻まれて実現不可能でした。

デューム城はざっくりいうと外部と内部に分かれていて、クエストで用事があるのは内部です。コリンブルッフ洞穴のポータルから行くと外部に着きます。外部から内部には「つうか」の魔法があれば行けます。しかしながら Lv.1 のキャラクターで「つうか」の魔法を使う容易な方法はないです(少なくとも私は知らない)。

エリア A1 に一度出て、デューム城内部に入ろうとしてもダメで、エリア A1 の迷路開始点 [15, 7] を踏まないと、デューム城内部へ行く入り口(石垣の隙間 [7, 14])が出現しない仕掛けになっていました。コリンブルッフから来ても、エリア A1 の迷路を歩かないと、デューム城内部には入れません。そうか、ズルは許さんってことね。良くできてるじゃん……。

編集者: すずき(更新: 2021年 11月 8日 23:42)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2021年 10月 11日

freestanding と nostdlib

目次: GCC を調べる - まとめリンク

コンパイラオプションで -ffreestanding -nostdlib を指定したときと、-nostdlib だけを指定したときの挙動の違いをメモしておきます。

テストプログラム
int printf(const char *a, ...);

void _start(void)
{
        printf("\n");
}

おそらくこの例がわかりやすいと思います。-ffreestanding -nostdlib の場合は「freestanding 環境」をしてします。C 言語の規格では hosted と freestanding の 2つが定められていて、hosted は全ての標準ライブラリ関数が使える環境、freestanding は標準 C ライブラリが存在しない環境(※)を意味します。OS のない環境などを想定しています。

このとき printf() は素直に printf() 関数の呼び出しとしてコンパイルされます。したがって、

freestanding 環境、nostdlib でのコンパイル、リンク結果
$ gcc -g -Wall -ffreestanding -nostdlib a.c

/usr/bin/ld: /tmp/ccclc296.o: in function `_start':
a.c:4: undefined reference to `printf'

リンクエラーも「printf がないよ」となります。これは nostdlib を指定しているので、暗黙のうちにリンクされる標準 C ライブラリ(-lc)すらもリンクされないからです。

一方、ffreestanding を指定しない場合は、標準 C ライブラリが存在するものとして最適化が働きます。この例で言えば、printf("\n"); は putchar('\n') に置き換えた方が良いね!という最適化が働きます。したがって、

hosted 環境、nostdlib でのコンパイル、リンク結果
$ gcc -g -Wall -nostdlib a.c

/usr/bin/ld: /tmp/ccZ5E2Qq.o: in function `_start':
a.c:4: undefined reference to `putchar'

リンクエラーは「putchar がないよ」となります。

(※)標準ヘッダのうち float.h, iso646.h, limits.h, stdarg.h, stdbool.h, stddef.h のみ使えます。
正確な意味が知りたければ、C99 draft TC3 (N1256) 4.Conformance の 6. を参照ください。

どちらを使うか

どちらが良いとかではなくて、作りたいシステム次第です。

標準 C ライブラリを使わず、C ライブラリの API を前提とした最適化をされると困るなら、-ffreestanding を指定しなければなりません。コンパイラが抱えている C ライブラリの代わりに、あえて別の標準 C ライブラリ準拠のライブラリを使う(つまり freestanding ではない)ときは、-ffreestanding は使わず -nostdlib だけの方が実行速度などで有利だと思われます。

編集者: すずき(更新: 2022年 5月 19日 12:55)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2021年 10月 12日

nostdlib と nostartfiles

目次: GCC を調べる - まとめリンク

コンパイラの -nostdlib と -nostartfiles の効果についてメモしておきます。確認方法は簡単で、gcc に -v オプションを付けるだけです。

結果が大量に出力されるので、collect2 のオプションのみ抜粋して、さらに今回の話題と関係ない余計なオプションは省きます。

gcc -static の場合
/usr/lib/x86_64-linux-gnu/crt1.o
/usr/lib/x86_64-linux-gnu/crti.o
/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginT.o
AAAAA.o
--start-group
  -lgcc
  -lgcc_eh
  -lc
--end-group
/usr/lib/gcc/x86_64-linux-gnu/9/crtend.o
/usr/lib/x86_64-linux-gnu/crtn.o

初期化を行う crt1, crti と、終了時の処理を行う crtend, crtn が暗黙のうちにリンクされています。また -lgcc や -lc といった C ライブラリ系も暗黙のうちにリンクされます。

gcc -static -nostartfiles の場合
AAAAA.o
--start-group
  -lgcc
  -lgcc_eh
  -lc
--end-group

先ほどの結果と比べると crt 何とかが全部消えましたが、-lgcc などは健在です。C ライブラリ関数は使えますが、crt 何とかが呼んでくれていた main が呼ばれなくなります。代わりに _start という関数を定義せよと言われます。

gcc -static -nostdlib の場合
AAAAA.o

暗黙のうちにリンクされるオブジェクトやライブラリが全てなくなりました。printf のような C ライブラリ関数も使えなくなります。

編集者: すずき(更新: 2022年 5月 19日 12:55)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2021年 10月 14日

Might and Magic Book One TAS は移動が全て

目次: Might and Magic ファミコン版 - まとめリンク

Might and Magic の TAS 動画を作るときは戦闘を全く行わない(全部逃げる)ので、いかに最速で移動するか?の勝負になります。もはや RPG とは何だったのか……?という感じですが、TAS ならこんなもんでしょう。キー入力の基本ルールとして、

  • キー入力可能区間と、禁止区間がある
  • キー入力後、入力禁止区間が始まる(長さは後述)。
  • キー入力可能区間なら、キーを 1フレーム押してすぐ離せば認識される(複数フレームに渡って押し続ける必要がない)
  • 同じキーをもう一度入力するには、キー入力を認識する区間が始まった後「最低 1フレーム以上空ける」必要がある

最後のルールがわかりにくいと思うんで、画像で紹介します。


1フレーム空けて(6523 フレーム目)同じキー入力をすると認識する


1フレーム空けずに同じキー入力をすると認識しない


1フレーム空けなくても、違うキー入力ならば認識する

一番わかりやすい例を挙げると、開けたマスへ前向きに移動する場合です。↑キーでも B キーでも前に進めますが、ルールを勘案すると↑を連打、もしくは、B を連打(1フレーム空けなければならない)より、↑と B を「交互に連打」した方が速いです。面白いですね。

前向き 1マスの移動につき 1フレームずつ差が出ます。微々たる差ですが、歩くシーンは多いため意外と効きます。

入力禁止期間

キー入力を受け付けた後に、何フレーム入力禁止になるか?をまとめておきます。先ほどの画像で言うと赤くなっているフレームの数です。

Might and Magic はキー入力チェックと画面描画が全く同期していないせいなのか、入力禁止期間が ±1フレーム変化します。しかも頻繁に変化します。通常プレイなら気に留める必要すらないことです。が、TAS は 1フレームしかキーを押さないので、1フレームズレるだけで入力が認識されなくなり、めっちゃウザいです……。

基本的な移動

まずは前後左右などの移動方法を紹介します。左右旋回は前後直進の倍時間が掛かります。特に入口、出口、イベントなどは特定の方向しか発生しない場合が多いので、なるべく旋回せずに済むルートを構築しましょう。

前へ移動(↑ or B キー)
基本的な移動方法です。Might and Magic の歩きは意外に速くて、テレポートする時間で 40マスくらい進めてしまいます。迷路、強制エンカウントなどのない場所なら、歩きが最速の移動方法です。
  • 障害物なし: 8 〜 9フレーム
  • 障害物あり: 3 〜 4フレーム(乱数振り直しが発生しない)
後ろへ移動(↓キー)
前向きと同じ速度ですが、↑と B を交互に押して速く移動する技は後ろ向きだと使えません。加えてドアや通り抜けられる壁を通過できませんので、基本的には使わないでしょう。テレポート後など、旋回せず交差点に行ける場合に使うことがあるくらい。
  • 障害物なし: 8 〜 9フレーム
  • 障害物あり: 3 〜 4フレーム(乱数振り直しが発生する)
左、右旋回(←、→キー)
どちらも同じ速度で、18〜19フレームです。遅いとは言いませんが、速くもないです。戦闘の前後、マップ移動の前後でパーティーの向きが変わらないことをうまく活用し、旋回する回数をなるべく減らしましょう。迷路のマップはどうしようもないですが……。
メッセージ(スキップなし)
スキップしない場合は GO AHEAD! のメッセージウインドウが閉じる、新たなメッセージウインドウが開く、というエフェクトを待つので 88フレームほどかかります。意外と長いです。
  • 入力禁止: 5〜6フレーム
  • 閉じる: 24フレーム(スキップ可能区間)
  • 入力禁止: 24フレーム
  • 開く: 24フレーム(スキップ可能区間)
  • 入力禁止: 10フレームくらい、メッセージの長さに依存
メッセージ(スキップあり)
スキップ成功した場合は GO AHEAD! のメッセージが消え、新たなメッセージが上書きされる、という過程を経ます。GO AHEAD! が閉じようとするときにメッセージスキップできた場合が一番速いです。55フレームくらい(30フレーム高速化)です。
  • 入力禁止: 5〜6フレーム
  • スキップまで: 24フレーム以下(スキップ可能区間)
  • 入力禁止: 25フレームくらい、メッセージの長さに依存
マップ移動
メッセージ 2回+エフェクトなので時間が掛かります。できるだけマップ移動は避けた方が早くなりますが、Lv.1 は移動方法に制約が多く、どうしてもマップ移動が増えます。悩ましいです。

長距離移動その 1: テレポート(ダイヤの鍵)

罠や壁を無視、強制エンカウントマスを無視して目的地に飛べます。歩きでは侵入できない場所にも行けるため、必須の魔法です。

  • メニューオープン: 1 + 32フレーム
  • アイテムメニュー選択: 6〜8フレーム(↓→ A を最速で入力)
  • 使用者リストオープン: 15フレーム
  • 使用者選択: 2フレーム(A が連続で押せない、1フレーム待たないとダメ)
  • 装備リストオープン: 39フレーム
  • カーソル移動: 16フレーム(↓を 6回入力、毎回カーソル描画 1フレーム発生)
  • バックパックリストオープン: 33フレーム
  • アイテム選択: 1フレーム(一番上にあると最速)
  • 魔法エフェクト: 53フレーム
  • 方角選択: 3〜12フレーム(↓↓↓A など、A のみで済む「北向き」が最速)
  • 描画待ち: 11フレーム
  • 距離選択: 1〜16フレーム(↑↑↑ or ↓↓↓...A など、A のみで済む「1ブロック」が最速、なぜか↑キーより、↓キーの方が 1フレームずつ速い)
  • 移動エフェクト: 240フレーム

非常に便利な反面 453〜フレームと長い時間を要するのが欠点です。迷路の構造によっては歩いたほうが速い時もあります。

長距離移動その 2: エンカウント+逃げる

なんと Lv.1 で使える長距離移動の手段では最も速い(230〜フレーム)です。マップごとに固有の地点にしか行けないこと、乱数調整があるので必要フレーム数が不安定なことが欠点ですが、下手なテレポート+歩きよりずっと速いので、使える場所では積極的に使いましょう。

Might and Magic はエンカウント率がかなり低めなので、当てずっぽうだと 1度エンカウントするだけで試行回数が数百回を超え、めっちゃしんどいです。正直やってられませんでした。リバースエンジニアリングしてエンカウント予測できるようなってからというもの、気軽にエンカウント+逃げが使えて、TAS 作成時に非常に役立ちました。技術力の勝利。

  • 出会うまでの調整: 10〜フレーム(カウンタ次第で 100フレームほどもありえる)
  • モンスターが近づいてきた: 130〜フレーム(移動方法により速度が違う、最速は後ろ向き移動で壁に激突)
  • 戦闘メニュー: 16フレーム
  • 逃げる選択: 7〜フレーム(カウンタ次第で失敗する、調整必要だが大抵 10フレームあれば収まる)
  • 画面切り替え: 50フレーム

モンスターとの出会い方は 3種類あります。

  • 戦うかどうか選択
  • 通常(逃げられる)
  • 「おそいかかってきた」メッセージ+強制的に戦う(ほぼ逃げられない)

通常エンカウントが最速です。選択肢が出るタイプは時間が掛かり、「おそいかかってきた」は逃げられません、どちらも論外です。3種を振り分けるルールが解析できていませんが、幸いにも通常戦闘の発生率が一番高いみたいで、さほど試行錯誤は必要ありませんでした。

編集者: すずき(更新: 2021年 11月 8日 23:42)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2021年 10月 15日

初めて TASVideos に投稿

そろそろ改善できそうな点がなくなったので、18m43s 版を TASVideos(サイトへのリンク)に投稿(TASVideos submissions: #7229: katsuster's NES Might and Magic in 18:43.92)しました。

私もあまり詳しい訳じゃないし、TAS 動画の集まる有名サイトってくらいの認識しかなくて、仕組みを知りませんでした。投稿にあたり How to を読んだ限りでは、下記のような仕組みみたいです。

  • 投稿すると New 状態になる
  • フォーラムでサイトのメンバーが投票する(Yes, No, Meh の 3つ)
  • フォーラムでは投票以外にも、質問とか、説明の不足などの指摘もあるとのこと
  • 欠陥がある TAS 動画は落とされるらしい
  • イイね!となったら Publish される

YouTube に TASVideos の投稿者名で TAS 動画が投稿されていますが、あれは Publish された動画のみです。ま、そりゃそうか。

編集者: すずき(更新: 2021年 10月 16日 04:52)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2021年 10月 16日

Might and Magic Book One のルート大幅更新

目次: Might and Magic ファミコン版 - まとめリンク

Might and Magic の攻略サイトを眺めていたら、ゲーム進行を大幅に高速化できる仕掛けを見つけました。エリア C1 にある「魔力がみなぎる泉」(一時的に全員の魔法レベル ML が最大の 7 になる)です。

エリア C1 の攻略情報は何回も見ていたのに、全然気づいていませんでした。TASVideos に投稿した矢先にこんなことに気づくとは。うーむ。

ML7 になると全魔法が使えるようになりますから、魔法使い ML3「ひこう」と ML6「つうか」、僧侶 ML6「まちへ」を利用して大幅にショートカットできます。ML7 になる効果は「やすむ」と消えますが TAS では「やすむ」必要がありません。マップ移動と戦闘では効果解除されないので、実質、ゲームクリアまで ML7 を維持できます。これは素敵だ。

MP が足りない!

問題は Lv.1 ゆえに MP が少ないことです。初期キャラの魔法使い、ユーリエール(MP 10)でも「ひこう(消費 MP3)」と「つうか(消費 MP6, GEM 4)」で MP がなくなります。MP を増やしたり回復する手軽な方法はなさそうなので、他のキャラクターも魔法使いに転職させ、なるべく高い MP の初期値(「ひこう」が 2回使える、6 以上)を引き、頭数でゴリ押ししかありません。

あと「ひこう」の欠点、町から町に飛べない点を補うため、僧侶も 1人仲間に入れて、僧侶 ML6「まちへ(消費 MP6、GEM 4)」を使います。

時間が掛かるルートを潰すことを重視して「まちへ」を 1回、「ひこう」を 5回で試しました。内訳は、

  • 手紙の後、ダスク → アルガリー(ゾムザム兄弟)
  • ゾムザム兄弟の後、B3 → C1(ゴールデンバウム、ルビーの笛)
  • ルビーの笛の後、C1 → B3(魔法の砦、金の鍵)
  • 金の鍵の後、B3 → A2(パルセラ、貴族のパスポート)
  • 貴族のパスポートの後、A2 → A1(デューム城)
  • デューム城の後、A1 → E3(アラマー城)

GEM はコリンブルッフで 20個手に入るので「つうか」「まちへ」「転送 x6」でも消費数は 14個で、十分お釣りが来ますが、GOLD と違って GEM は足りない時に 1人に集める方法がありません。所持数 4個未満になる分け方をすると「つうか」も「まちへ」も GEM 不足で使えなくなり(どちらも消費 GEM 4)、GEM を持っている意味がなくなります。

魔法は GEM がないと「つかえません」と冷たく言われるだけですけど、ソーピガルの転送おじさんは挙動が違います。基本的には先頭の人から GEM を 1つ持っていきますが、先頭の人が GEM 0 だったら次の人から持っていくみたいです。分け方を気にしなくて良いんだ、便利じゃん……。

要検討項目

今回紹介するルートはおそらく最速ではないです。下記は思いついたアイデア。

  • 5人より 6人の方が早そうだが、デメリット(ソーピガル宿屋、転職、オーラのクエストの時間が増える)分をメリットが超える必要がある。
  • 魔法使いか僧侶を 1人増やすとして「ひこう」2回 or 「つうか」1回 or 「まちへ」1回のどれが良いか?
  • 「ひこう」2回: エリア B3 → A4 と A4 → C4 あたりが使いどころか?でも A4, C4 は着地点が目的地から遠くて微妙。
  • 「つうか」1回: エリア A2, A1 か、デューム城の [7, 5] で北に抜ければ、フック付きロープ要らない。
  • 「まちへ」1回: 使いどころがなさそう。
  • GEM 20個、6人でどう分けるか?取った直後に 1 : 1 : 1 : 3 : 3 : 3 に分ければ GEM 4個持った人が 3人作れる?

たぶん 6人の方が早くなると思うんですけど、パーティー人数変えるときは、ほぼ最初からやり直しでしんどい(エンカウントの調整、タイミングのズレ修正が辛い)ので、まだ試していません。

攻略ルート更新版(序盤の準備)

下記では試作した更新版 5人パーティーの TAS で使った攻略ルートを簡単に説明します。まずは準備です。

5人パーティー
宿屋で 4人(騎士ミラード、弓使いギデオン、魔法使いユーリエール、僧侶ガーデニア)を加えます。
盗賊への転職
ソーピガルの町の [X: 2, Y: 13] にあるギルドに行き、転職で主人公を盗賊にします。Lv.1 クリアには盗賊が必須です。盗賊以外は扉の鍵が解除できず、先に進めません。Might and Magic はさ、どうぞどうぞ、と投げ出されたイベントアイテムにすら罠が仕掛けられている鬼畜仕様のため、アイテム拾いにも盗賊が必須です。
魔法使いへの転職
引き続き転職で魔法使い以外の 2人(ミラード、ギデオン)を魔法使いにします。「ひこう」の回数を稼ぐため、MP 6 以上を狙います。MP 9 の方が嬉しいですが、転職で初期 MP 9 は出ないっぽい……。最初から魔法職のキャラクターは MP 10 固定と Lv.1 にしては MP が高いので、魔法使い、僧侶の 2人(ユーリエール、ガーデニア)は転職させず使います。
  • 主人公: 騎士→盗賊
  • ミラード: 騎士→魔法使い(MP 6 以上に調整)
  • ギデオン: 弓使い→魔法使い(MP 6 以上に調整)
  • ユーリエール: 魔法使い(変更なし、最初から MP 10)
  • ガーデニア: 僧侶(変更なし、最初から MP 10)
ソーピガルからの脱出
ソーピガル → ソーピガル地下 [14, 0] → ノーザンバリアー洞穴 → 地上エリア C2 の経路で移動し、町の外に出ます。ソーピガルの町の出口から出たいところですが、Lv.1 で出口に行くと衛兵に「未熟者」と言われて追い返され、ソーピガルの町から出してくれません。
アイスプリンセスのクエスト(ダイヤの鍵)
C2 → C1 → B1 → B2 の経路で移動し、[4, 4] にいるアイスプリンセスの問いに答えると、革袋がもらえて、中にダイヤの鍵が入っています。このクエストだけ、なぜか「さがす」必要はありません。ダイヤの鍵はテレポート 20回分の魔法が込められていて、とても便利な移動手段です。C2 → B2 は近道に見えますが、残念ながらアイスプリンセスに辿り着く道がありません。B3 へはエンカウント+逃げるで南に抜けますが、2歩西に行ってテレポートが早いかな?微妙ですね。
GEM の入手
B2 → B3 → コリンブルッフ洞穴にいき、ダイヤの鍵を使ったテレポートで宝箱([1, 1] [0, 3] [1, 5] のどれでも OK)の真上に飛びます。アイテムはクリアに不要ですが、一緒に手に入る GEM は「つうか」「まちへ」の魔法、ソーピガルの転送おじさんなどに使います。クリア時間短縮に欠かせない存在です。
  • テレポート: 宝箱行き、ポータル行き、計 2回

Might and Magic のメインクエスト(手紙、兄弟、真のアラマー王)

メインクエストを解く順番は変えていませんが、地上をちんたら歩いていた部分を「ひこう」で積極的にぶっ飛ばします。

手紙のクエスト(手紙 その 1)
コリンブルッフ洞穴 → ソーピガル地下 [1, 2] へ行きコーラックからクエストを受けます。テレポートで強制エンカウントのマスや壁を全部無視すると早いです。エルキューンのアガールに手紙を渡してくれと言われます。
  • テレポート: コーラック行き、計 1回
手紙のクエスト(手紙 その 2)
ソーピガル地下 → ソーピガル →(転送)→ エルキューンの経路で移動します。転送というのは、ソーピガル [11, 3] にいるおじさんのこと(GEM 1個でどの町でも送ってくれる)です。宿屋の奥 [4, 3] にいるアガールに手紙を渡すと、別の手紙を渡されてダスクのテルゴランに渡してくれと言われます。
フック付きロープ
エルキューンの店で「ガラドリエルのめぐみ」を 5000G で売り払って「フック付きロープ」を 10G で買います。デューム城で使うので、その前に買えば OK ですが、ソーピガルは店の近くに行かないし、ポートスミスは宿と店が遠くてイマイチ。
  • エルキューン [3, 9]: フック付きロープ
ML7 の泉
エルキューン → B1 → C1 の経路で移動します。テレポートを使って一時的に全員 ML7(最大)になる泉に行きます。
  • C1 [9, 14]: 魔力がみなぎる(一時的に全員 ML7 になる)泉。
  • テレポート: 泉行き、計 1回
オーラのクエスト
C1 → C2 → ソーピガルの経路で移動します。道すがら別のクエストを進めます。
  • C2 [8, 8]: 占いオババと会いオーラの色を調べます。後のクエストで聞かれる(さんごの鍵)のでメモをお忘れなきよう。
手紙のクエスト
ソーピガル →(転送)→ ダスクの経路で移動します。テルゴランは迷路の先 [8, 0] にいます。この町はテレポート無効なので、地道に歩きましょう。テルゴランに手紙を渡すとアルガリーのゾム、ポートスミスのザムの兄弟に会ってくれと言われます。
兄弟のクエスト
ダスク →(まちへ)→ アルガリー → ポートスミスの経路で移動し、兄弟に会います。歩いて会おうとすると大量の強制エンカウントで時間が掛かるので、テレポートで全部飛ばします。ゾムザム兄弟はどちらが先でも良いですが、ポートスミス → アルガリーだとポータルもなく移動も辛いので、アルガリー → ポートスミスがおススメです。
  • アルガリー [1, 1]: ゾム
  • ポートスミス [12, 2]: ザム
  • テレポート: ゾム、ザム、計 4回
  • まちへ: ダスク → アルガリー、計 1回
市民のパスポート、兄弟のクエスト(ルビーの笛)
ポートスミス → B3 →(ひこう)→ C1 の経路で移動します。C1 [7, 7] でゴールデンバウムという金ぴかの木を見て、ゾムザム兄弟の伝言通りに歩き [15, 15] へ行くと、ルビーの笛が沸いてきます。基本的に「さがす」しないとモノが手に入らないゲームですが、このクエストだけ「さがす」をする必要がありません。変なクエスト……。
  • C1 [5, 7]: 市民のパスポート(城に入るために必要)を取る、馬車を調べるか?に「はい」、その後「さがす」です。
  • C1 [7, 7], [15, 15]: ゴールデンバウムとルビーの笛です。
  • ひこう: B3 → C1、計 1回
真のアラマー王のクエスト(金の鍵)
C1 →(ひこう)→ B3 → 魔法の砦の経路で移動し、魔法の砦 B2 の [3, 4] にいる犬の像まで行きます。テレポート活用が吉です。犬の像と話した後に「さがす」と金の鍵が拾えます。デューム城で使います。
  • テレポート: B1, B2、計 2回
真のアラマー王のクエスト(貴族のパスポート)
B3 →(ひこう)→ A2 の経路で移動し、迷路の奥 [0, 15] にいるドルイドのパルセラの問いに「はい」と答えた後に「さがす」と貴族のパスポートが拾えます。アラマー城で使います。エリア A2 はテレポートが使えないので地道に歩きましょう。
  • ひこう: B3 → A2、計 1回
真のアラマー王のクエスト(ゴロスのめだま)
A2 →(ひこう)→ A1 → デューム城の石垣 → デューム城内部の経路で移動します。エリア A1 もテレポートが使えないので、地道に歩きますが、[15, 10] を北向きに「つうか」でエンカウントと迷路をショートカットします。それでも結構長いです。
  • A1 [7, 14]: デューム城の石垣、内部への入り口です。
  • デューム城 [8, 5] [6, 6] [7, 10]: 壁の外に押し戻される罠(三カ所)、フック付きロープで飛び越えましょう。
  • デューム城 [7, 7]: 金の鍵を持たずに行くと扉に吹き飛ばされます。
  • デューム城 [7, 8]: 真のアラマー王と話した後「さがす」と「ゴロスのめだま」を拾えます。
  • ひこう: A2 → A1、計 1回
  • つうか: [15, 10] → [15, 9]、計 1回
ニセのアラマー王の正体クエスト
デューム城 → A1 →(ひこう)→ E3 → アラマー城の経路で移動します。アラマー城に入るにはハレーショにパスワードを聞いて、ライオンのレリーフに答える必要がありますが、テレポートで無視して入り口 [14, 7] に直行できます。必要なアイテムを所持していればニセのアラマー王に「正体を見破ったな」と言われ、イドの迷宮に飛ばされます。
  • 市民のパスポート: 持たずに入り口に行くと、衛兵に追い返されます。
  • 貴族のパスポート: 持たずに王の部屋の前に行くと、衛兵に追い返されます。
  • ゴロスのめだま: 持たずにニセのアラマー王に会うと、クリア不能クエストを押し付けられます(僧侶の「ちゅうし」でキャンセルするしかない)
  • テレポート: アラマー城の入口へ、計 1回
  • ひこう: A1 → E3、計 1回
イドの迷宮
英語版だと Soul Maze ですが、日本語版は「イドの迷宮」という全然違う名前で、ニセのアラマー王のセリフ「ソウルメイズの地に監禁」が意味不明に見えます。訳を間違ったのかなあ……?本来はマッピングしてパスワードを知ります。「いちをしる」魔法が使えないため、マッピングの難易度は高いです。しかしパスワードは固定なので正解を知っていれば瞬殺です。クリア後はソーピガルに戻されます。

以上が Might and Magic の世界に起こった事件と、その謎に迫るメインクエストを超スピード解決する手順となります。初めてプレイする方がこの手順でクリアすると、たぶん訳が分からないと思います。

お時間がある方は、攻略サイトを見ながらでも構わないので、金の板や町のヒント、囚人たちなどに出会い話すと、しっかり作られた世界感が味わえると思います。

Might and Magic のメインクエスト(オーラ、アストラル世界)

もう一つのメインクエストの流れです。オーラのクエストは、ストーリーにはあまり関係ないです。ラストダンジョンの歯ごたえを増すためのクエストという感じです。アストラル世界は全てのストーリーの終着点で、ああ、そういうことだったんだ!と思うはずです。

オーラのクエスト(さんごの鍵)
ソーピガル →(転送)→ ポートスミス → B3 → B4 → A4 の経路で移動します。[4, 6] にいる老人に、各キャラクターのオーラの色を答えます。オーラはエリア C2 の占いオババに教えてもらった色です。正解すると [4, 2] に飛ばされるので、その場で旋回(移動しちゃダメ)、「さがす」で「さんごの鍵」を拾えます。
  • テレポート: 老人の前へ、計 1回
オーラのクエスト(金色のオーラ)
A4 → B4 → C4 の経路で移動します。先頭のキャラクターにさんごの鍵を持たせて [7, 2] で南を向くと、ボルカノ神殿に入れます。ボルカノ神殿 [7, 11] の火山の神に「なぞ」を出してもらって、答えると「金色のオーラ」にしてもらえます。ボルカノ神殿の入り口のある島は、テレポートで入れますが、テレポートで出ることはできません。注意。
  • テレポート: ボルカノ神殿入口へ、計 1回
オーラのクエスト(キーカード)
C4 → B4 → A4 の経路で移動します。[4, 6] にいる老人に会うと、また [4, 2] に飛ばされるので、その場で旋回、「さがす」で「キーカード」を拾えます。
  • テレポート: 老人の前へ、計 1回
アストラル世界
ゴロスのめだまを使ってアストラル世界に飛びます。壁がほぼすべて透明のバリアで構成されている鬼畜が考えたダンジョンです。迷ってしまったら敵から逃げれば、かならずスタート地点の [7, 0] に戻れるので、敵を倒すばかりでなくうまく使いましょう。
  • 5カ所の封印: [4, 6] [4, 10] [7, 14] [10, 10] [10, 6] にある封印を解除します。解除するたびに敵が出ます。
  • [7, 10]: ドア、キーカードで開きます。
  • [7, 8]: 「やすむ」と次に進みます。イドの迷宮をクリアしている必要があります。
  • [6, 7]: コーラックがいます。世界の果てに行けと言われ、ソーピガルに戻されます。
世界の果て
ソーピガル →(転送)→ エルキューン → B1 の経路で移動します。[4, 15] にある世界の果てに行くとゲームクリアです。最後に Book Two に続く!と出ますが、Book Two はファミコンでは発売されませんでした。悲しい。スーパーファミコン版が発売されているようです。
編集者: すずき(更新: 2021年 11月 8日 23:43)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2021年 10月 17日

Might and Magic Book One のマップ ID 情報

目次: Might and Magic ファミコン版 - まとめリンク

解析というほどでもないですが、メモがてら残しておきます。アドレス 0x9e に現在のマップ ID が書かれています。マップ ID とマップの名前の対応は下記のとおりです。

マップ IDマップ名 マップ IDマップ名
0x00 - 0x20 E2
0x01 ソーピガル 0x21 E3
0x02 ポートスミス 0x22 E4
0x03 アルガリー 0x23 デューム城
0x04 ダスク 0x24 ホワイトウルフ城
0x05 エルキューン 0x25 アラマー城
0x06 ソーピガルの地下 0x26 ブラックリッジノース城
0x07 ノーザンバリアー洞穴0x27 ブラックリッジサウス城
0x08 ポートスミスの地下 0x28 ドラガデューン城
0x09 エルキューンの地下 0x29 ドラガデューン城 B1
0x0a ダスクの地下 0x2a ドラガデューン城 B2
0x0b コリンブルッフ洞穴 0x2b ドラガデューン城 B3
0x0c ボルカノ神殿 0x2c 魔法の砦 B1
0x0d 鷹の目洞穴 0x2d 魔法の砦 B2
0x0e ホワイトウルフ洞穴 0x2e 森のあばら屋 B1
0x0f A1 0x2f 森のあばら屋 B2
0x10 A2 0x30 レイバン砦 B1
0x11 A3 0x31 レイバン砦 B2
0x12 A4 0x32 エルドラド B1
0x13 B1 0x33 エルドラド B2
0x14 B2 0x34 エルドラド B3
0x15 B3 0x35 エルドラド B4(※)
0x16 B4 0x36 アストラル世界(※)
0x17 C1 0x37 イドの迷宮(※)
0x18 C2 0x38 -
0x19 C3 0x39 -
0x1a C4 0x3a -
0x1b D1 0x3b -
0x1c D2 0x3c -
0x1d D3 0x3d -
0x1e D4 0x3e -
0x1f E1 0x3f -

エミュレータなどメモリ書き換えできるツールであれば、地上のマップが切り替わる地点に行って、0x9e を行きたいマップに書き換えてから移動する(C2 の [12, 0] を南下するなど)と、任意のマップに飛ばせて ID とマップの対応が楽に確認できます。無効なマップ(0x00 や 0x38 以上)には、そもそも移動できなかったりハングしたりバグったりします。

(※)0x35 以上のマップはオートマッピング不可

オートマッピングの踏破済みフラグ

Might and Magic のオートマッピングの踏破フラグは 1マス 1ビットで、0 が未踏破、1 が踏破済みの意味です。1マス 1ビット、16ビット(2バイト)で Y: 1行分、32バイトで 1マップ(16 x 16)分を表しています。並び順はマップで見たときの左上から右下に向かって並んでいます。

左上からデータを並べるときは、画像処理で良く見かける座標の取り方(左上が X: 0, Y: 0、右下に向かい X, Y が増える)を良く見かけますが、Might and Magic は数学と同じ座標の取り方(左下が X: 0, Y: 0、右上に向かい X, Y が増える)なので、マップの左上は [X: 0, Y: 15] です。


オートマッピングの踏破済みフラグの並び順と座標の対応

このように Y の降順(15 -> 0 の順)で行単位に並んでいます。X の小さい側がアドレスの小さい側に対応、バイト内でいうと MSB 側に対応します。例えば、ある X 座標 1マスだけ訪れた場合の踏破済みフラグの値は下記のようになります。

  • X 0: 0x80 0x00, 1: 0x40 0x00, 2: 0x20 0x00, 3: 0x10 0x00,
  • X 4: 0x08 0x00, 5: 0x04 0x00, 6: 0x02 0x00, 7: 0x01 0x00,
  • X 8: 0x00 0x80, 9: 0x00 0x40, 10: 0x00 0x20, 11: 0x00 0x10,
  • X 12: 0x00 0x08, 13: 0x00 0x04, 14: 0x00 0x02, 15: 0x00 0x01,

踏破済みフラグが記録されている場所はマップの ID がわかれば計算できます。ID が N だとすると 0x6880 + (N - 1) * 0x20 です。

マップ IDアドレスマップ名 マップ IDアドレスマップ名
0x00 - - 0x20 0x6c60 -
0x01 0x6880 ソーピガル 0x21 0x6c80 -
0x02 0x68a0 ポートスミス 0x22 0x6ca0 -
0x03 0x68c0 アルガリー 0x23 0x6cc0 デューム城
0x04 0x68e0 ダスク 0x24 0x6ce0 ホワイトウルフ城
0x05 0x6900 エルキューン 0x25 0x6d00 アラマー城
0x06 0x6920 ソーピガルの地下 0x26 0x6d20 ブラックリッジノース城
0x07 0x6940 ノーザンバリアー洞穴0x27 0x6d40 ブラックリッジサウス城
0x08 0x6960 ポートスミスの地下 0x28 0x6d60 ドラガデューン城
0x09 0x6980 エルキューンの地下 0x29 0x6d80 ドラガデューン城 B1
0x0a 0x69a0 ダスクの地下 0x2a 0x6da0 ドラガデューン城 B2
0x0b 0x69c0 コリンブルッフ洞穴 0x2b 0x6dc0 ドラガデューン城 B3
0x0c 0x69e0 ボルカノ神殿 0x2c 0x6de0 魔法の砦 B1
0x0d 0x6a00 鷹の目洞穴 0x2d 0x6e00 魔法の砦 B2
0x0e 0x6a20 ホワイトウルフ洞穴 0x2e 0x6e20 森のあばら屋 B1
0x0f 0x6a40 - 0x2f 0x6e40 森のあばら屋 B2
0x10 0x6a60 - 0x30 0x6e60 レイバン砦 B1
0x11 0x6a80 - 0x31 0x6e80 レイバン砦 B2
0x12 0x6aa0 - 0x32 0x6ea0 エルドラド B1
0x13 0x6ac0 - 0x33 0x6ec0 エルドラド B2
0x14 0x6ae0 - 0x34 0x6ee0 エルドラド B3
0x15 0x6b00 - 0x35 0x6f00 (以降、キャラクターのステータス格納場所)
0x16 0x6b20 - 0x36 0x6f20 -
0x17 0x6b40 - 0x37 0x6f40 -
0x18 0x6b60 - 0x38 - -
0x19 0x6b80 - 0x39 - -
0x1a 0x6ba0 - 0x3a - -
0x1b 0x6bc0 - 0x3b - -
0x1c 0x6be0 - 0x3c - -
0x1d 0x6c00 - 0x3d - -
0x1e 0x6c20 - 0x3e - -
0x1f 0x6c40 - 0x3f - -

マップ ID と対比しやすくするため、あえて詰めず同じ並びにしておきました。オートマッピングが無効なマップは 2つのグループがあって、1つ目はバーン地上エリア全域 20マップです。このメモリ領域は別の用途に使われているようですが、何の用途か良く知りません。もう 1つのグループはエルドラド B4、アストラル世界、イドの迷宮で、キャラクターステータスの格納場所となっています。

編集者: すずき(更新: 2021年 11月 8日 23:43)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2021年 10月 23日

Might and Magic Book One のルート大幅更新、その 2

目次: Might and Magic ファミコン版 - まとめリンク

Might and Magic TAS のルートです。いくつか試したところこれが一番早く 14m46s でした。YouTube にも載せておきました([TAS] NES Might and Magic Book One (J) 14:46 with Map - YouTube

基本アイデア

エリア C1 にある「魔力がみなぎる泉」(一時的に全員の魔法レベル ML が最大の 7 になる)を使い、魔法使い ML3「ひこう」と ML6「つうか」、僧侶 ML6「まちへ」を利用して大幅にショートカットします。

大きな問題は 6人パーティーにして盗賊と僧侶を除いた 4人を魔法使いにしても MP が不足し、後半「ひこう」が使えず大きなロスになります。解決策として 5人パーティーにして一回「やすむ」で MP を回復させることにします。「魔力がみなぎる泉」に 2回通うことになりますが、その分、デューム城を「つうか」でぶっ飛ばせるので、総合的にみると早くなります。

気を付けるべきは、初期魔法キャラのユーリエール、ガーデニアです。この 2人は最初 MP 10 ですが「やすむ」と MP 6 に下がる変な奴らです。MP を使ってから「やすむ」をしないと、MP が無駄になります。

GEM と FOOD

GEM はコリンブルッフで 20個手に入りますが、GOLD と違って GEM は足りない時に 1人に集める方法がありません。所持数 4個未満になる分け方をすると「つうか」も「まちへ」も GEM 不足で使えなくなり(どちらも消費 GEM 4)、GEM を持っている意味がなくなります。

5人パーティーで 3人「つうか」「まちへ」を使う場合、GEM を使う 3人に「わりあい」を 3 にして分けると、2, 2, 4, 4, 4 に分けられます。「わりあい」を変えたときの「わける」は挙動がバグっており、なぜか合計 GEM 数が減ります。今回のパターンだと 1/5 も消え(20 → 16個)ます。しかも 1:1 で分けても 4, 4, 4, 4, 4 になるので、魔法系キャラに渡せる GEM 数が全く変わらず、「わりあい」を変えるだけ無意味です。面食らうバグですね……。

ソーピガルの転送おじさんは、基本的には先頭の人から GEM を 1つ持っていきます。先頭の人が GEM 0 だったら次の人から持っていきます。便利なんですけど、間違って「つうか」係の人から GEM を奪わないよう、並び順もしくはルートに気を付ける必要があります。今回、転送は 3回使います。

FOOD はギルドで転職すると 20個もらえますから「わける」すれば OK です。初期キャラは FOOD 0個なので、「わける」を忘れると「やすむ」で回復しません。罠としか思えない設定です。このゲームの難易度おかしいポイントの 1つですね。

初期キャラは全員無一文&ほぼ手ぶらなのは不思議ですよね。かろうじて武器か道具を 1つだけ持っていますが、装備すらしていません。冒険舐めすぎでしょ?

移動系魔法の配分

移動系魔法を使う回数は「ひこう」9回、「つうか」2回、「まちへ」1回です。内訳は、

ひこう
  • ゾムザム兄弟の後、B3 → C1(ゴールデンバウム、ルビーの笛)
  • ルビーの笛の後、C1 → B3(魔法の砦、金の鍵)
  • 金の鍵の後、B3 → A4(さんごの鍵)
  • さんごの鍵の後、A4 → C4(ボルカノ神殿)
  • ボルカノ神殿の後、C4 → A4(キーカード)
  • キーカードの後、A4 → A2(パルセラ、貴族のパスポート)
  • 貴族のパスポートの後、A2 → C1(回復、魔力がみなぎる泉)
  • 泉の後、C1 → A1(デューム城)
  • デューム城の後、A1 → E3(アラマー城)
つうか
  • A1: 迷路を省略する
  • デューム城: 壁の外に飛ばされる罠を全部(3つ)省略する
まちへ
  • 手紙の後、ダスク → アルガリー(ゾムザム兄弟)

攻略ルート更新版(序盤の準備)

下記では今回の TAS で使った攻略ルートを簡単に説明します。まずは準備です。

5人パーティー
宿屋で 4人(騎士ミラード、弓使いギデオン、魔法使いユーリエール、僧侶ガーデニア)を加えます。
盗賊への転職
ソーピガルの町の [X: 2, Y: 13] にあるギルドに行き、転職で主人公を盗賊にします。Lv.1 クリアには盗賊が必須です。盗賊以外だと扉の鍵が解除できず、先に進めないからです。Might and Magic はさあどうぞ、と投げ出されたイベントアイテムに罠が仕掛てある鬼畜仕様のため、アイテム拾いに盗賊が必須です。
魔法使いへの転職
引き続きギルドで魔法使い以外の 2人(ミラード、ギデオン)を魔法使いにします。「ひこう」の回数を稼ぐため、MP 6 以上を狙います。転職での初期最大 MP は 7 です。9 まであればもっと楽だったんですけどねえ。最初から魔法職のキャラクターは MP 10 固定ですので、魔法使い、僧侶の 2人(ユーリエール、ガーデニア)は転職させず使います。
  • 主人公: 騎士→盗賊
  • ミラード: 騎士→魔法使い(MP 6 以上に調整)
  • ギデオン: 弓使い→魔法使い(MP 6 以上に調整)
  • ユーリエール: 魔法使い(変更なし、最初から MP 10)
  • ガーデニア: 僧侶(変更なし、最初から MP 10)
ソーピガルからの脱出
ソーピガル → ソーピガル地下 [14, 0] → ノーザンバリアー洞穴 → 地上エリア C2 の経路で移動し、町の外に出ます。ソーピガルの町の出口から出たいところですが、Lv.1 で出口に行くと衛兵に「未熟者」と言われて追い返され、ソーピガルの町から出してくれません。
アイスプリンセスのクエスト(ダイヤの鍵)
C2 → C1 → B1 → B2 の経路で移動し、[4, 4] にいるアイスプリンセスの問いに答えると、革袋がもらえて、中にダイヤの鍵が入っています。このクエストだけ、なぜか「さがす」必要はありません。ダイヤの鍵はテレポート 20回分の魔法が込められていて、とても便利な移動手段です。C2 → B2 は近道に見えますが、残念ながらアイスプリンセスに辿り着く道がありません。B3 へはエンカウント+逃げるを使って短縮します。
GEM の入手
B2 → B3 → コリンブルッフ洞穴にいき、ダイヤの鍵を使ったテレポートで宝箱([1, 1] [0, 3] [1, 5] のどれでも OK)の真上に飛びます。アイテムはクリアに不要ですが、一緒に手に入る GEM は「つうか」「まちへ」の魔法、ソーピガルの転送おじさんなどに使います。クリア時間短縮に欠かせない存在です。ここで GEM と FOOD を「わける」しておきます。
  • テレポート: 宝箱行き、ポータル行き、計 2回
  • GEM: 宝箱から 20個(残り: 20, 0, 0, 0, 0)
  • GEM: 「わける」のバグで 4個減る(残り: 2, 4, 2, 4, 4)

メインクエスト(手紙、兄弟)

メインクエストを解く順番は以前と変わっています(貴族のパスポート、デューム城を後回し)、地上をちんたら歩いていた部分を「ひこう」で積極的にぶっ飛ばします。

手紙のクエスト(手紙 その 1)
コリンブルッフ洞穴 →(ポータル)→ ソーピガル地下の経路で移動します。コーラックからクエストを受けます。テレポートで強制エンカウントのマスや壁を全部無視すると早いです。エルキューンのアガールに手紙を渡してくれと言われます。
  • ソーピガル地下 [1, 2]: コーラック
  • テレポート: コーラック行き、計 1回
手紙のクエスト(手紙 その 2)
ソーピガル地下 → ソーピガル →(転送)→ エルキューンの経路で移動します。転送というのは、ソーピガル [11, 3] にいるおじさんのこと(GEM 1個でどの町でも送ってくれる)です。エルキューンの宿屋の壁を通り抜けてアガールに手紙を渡すと、別の手紙を渡されてダスクのテルゴランに渡してくれと言われます。
  • エルキューン [4, 3]: アガール
  • GEM: 転送で 1個消費(残り: 1, 4, 2, 4, 4)
ML7 の泉
エルキューン → B1 → C1 の経路で移動します。B1 はエンカウント+逃げるの方が歩きより若干早いです。C1 はテレポートを使って一時的に全員 ML7(最大)になる「魔力がみなぎる泉」に行きます。泉のあるエリアは魔法が使えないので、エンカウント+逃げるで移動します。
  • C1 [9, 14]: 魔力がみなぎる(ML 7 になる)泉
  • テレポート: 泉行き、計 1回
オーラのクエスト
C1 → C2 → ソーピガルの経路で移動します。道すがら C2 で占いオババと会いオーラの色を調べます。後のクエストで聞かれる(さんごの鍵)のでメモをお忘れなきよう。
  • C2 [8, 8]: 占いオババ
手紙のクエスト
ソーピガル →(転送)→ ダスクの経路で移動します。テルゴランは町の西側、迷路の先にいます。この町はテレポート無効なので地道に歩くしかありません。テルゴランに手紙を渡すとアルガリーのゾム、ポートスミスのザムの兄弟に会ってくれと言われます。
  • ダスク [8, 0]: テルゴラン
  • GEM: 転送で 1個消費(残り: 0, 4, 2, 4, 4)
兄弟のクエスト
ダスク →(まちへ)→ アルガリー → ポートスミスの経路で移動し、兄弟に会います。歩いて会おうとすると大量の強制エンカウントで時間が掛かるので、テレポートで全部飛ばします。ゾムザム兄弟はどちらが先でも良いですが、ポートスミス → アルガリーだとポータルもなく移動も辛いので、アルガリー → ポートスミスがおススメです。
  • アルガリー [1, 1]: ゾム
  • ポートスミス [12, 2]: ザム
  • テレポート: ゾム、ザム、計 4回
  • まちへ: ダスク → アルガリー、計 1回
  • GEM: まちへ 4個消費(残り: 0, 4, 2, 4, 0)
市民のパスポート、兄弟のクエスト(ルビーの笛)
ポートスミス → B3 →(ひこう)→ C1 の経路で移動します。C1 でゴールデンバウムという金ぴかの木を見て、ゾムザム兄弟の伝言通りに歩くと、ルビーの笛が沸いてきます。基本的に「さがす」しないとモノが手に入らないゲームですが、このクエストだけ「さがす」をする必要がありません。変なクエスト……。
  • C1 [5, 7]: 市民のパスポート(城に入るために必要)、馬車を調べるか?に「はい」その後に「さがす」
  • C1 [7, 7], [15, 15]: ゴールデンバウム、ルビーの笛
  • ひこう: B3 → C1、計 1回
真のアラマー王のクエスト(金の鍵)
C1 →(ひこう)→ B3 → 魔法の砦の経路で移動し、魔法の砦 B2 の [3, 4] にいる犬の像まで行き、金の鍵をもらいます。デューム城で使います。行きはテレポートは 2回+歩き、帰りはエンカウント+逃げるを使うと早いです。
  • B3 [14, 2]: 魔法の砦の入り口、ルビーの笛を 2回鳴らす
  • 魔法の砦 B2 [3, 4]: 犬の像、「さがす」と金の鍵
  • テレポート: B1, B2、計 2回
  • ひこう: C1 → B3、計 1回

メインクエストの流れとしては、このままデューム城に乗り込みたいところですが、今回は MP の配分の都合もあって別のクエストに寄り道します。

メインクエスト(オーラ)

もう一つのメインクエストですけど、オーラのクエストはストーリーとあまり関係ないです。ラストダンジョンの歯ごたえを増すためのクエストという感じです。

オーラのクエスト(さんごの鍵)
B3 →(ひこう)→ A4 の経路で移動します。小島にいる老人に各キャラクターのオーラの色を答えます。オーラはエリア C2 の占いオババに教えてもらった色です。正解すると [4, 2] に飛ばされるので、その場で旋回(移動しちゃダメ)、「さがす」で「さんごの鍵」を拾えます。初見殺しですよね……、これ。
  • A4 [4, 6]: 老人、オーラの色を答える
  • A4 [4, 2]: 旋回、「さがす」でさんごの鍵
  • テレポート: 老人の前へ、計 1回
  • ひこう: B3 → A4、計 1回
オーラのクエスト(金色のオーラ)
A4 →(ひこう)→ C4 → ボルカノ神殿の経路で移動します。ボルカノ神殿はちょっと特殊で、さんごの鍵を先頭の人が持っている必要があります。他の鍵は誰が持っていても良いのに……。ボルカノ神殿では火山の神の謎に答え「金色のオーラ」にします。ボルカノ神殿から出るとき、C4 のボルカノ神殿がある島(魔法が使えない)から出るとき、ともにエンカウント+逃げるが早いです。
  • C4 [7, 2]: ボルカノ神殿入口、先頭の人がさんごの鍵を持っている必要がある
  • ボルカノ神殿 [7, 11]: 火山の神、「なぞ」答えは「にくしみ」、金色のオーラ
  • テレポート: ボルカノ神殿入口へ、計 1回
  • ひこう: A4 → C4、計 1回
オーラのクエスト(キーカード)
ボルカノ神殿 → C4 →(ひこう)→ A4 の経路で移動します。[4, 6] にいる老人に会って「さがす」で「キーカード」を拾えます。
  • A4 [4, 6] [4, 2]: 老人、「さがす」でキーカード
  • テレポート: 老人の前へ、計 1回
  • ひこう: C4 → A4、計 1回

これで寄り道終わりです。メインクエストに戻ります。

Might and Magic のメインクエスト(真のアラマー王、アストラル世界)

TAS では無視できるものは全て無視して、最速で解きますけども……。本来、真のアラマー王とアストラル世界のクエストは、他のクエストや金の板(ヒントが書いてある)を見ないと答えがわからない作りになっています。全てのストーリーの終着点となっていて、ああ、そういうことだったんだ!と思う作りです。

真のアラマー王のクエスト(貴族のパスポート)
A4 →(ひこう)→ A2 の経路で移動し、迷路の奥にいるドルイドのパルセラの問いに答え、貴族のパスポートをもらいます。アラマー城で使います。エリア A2 はテレポートが使えないので地道に歩きましょう。
  • A2 [0, 15]: パルセラ、「はい」と答えて「さがす」で貴族のパスポート
  • ひこう: A4 → A2、計 1回
ML7 の泉、再び
A2 →(ひこう)→ C1 の経路で移動します。これで MP が全員尽きたはずなので「やすむ」で回復します。C1 ではテレポートを使って再び「魔力がみなぎる泉」に行きます。泉のある森は魔法が使えないので、森から出て「ひこう」で脱出します。
  • C1 [9, 14]: 魔力がみなぎる(ML 7 になる)泉
  • テレポート: 泉行き、計 1回
  • ひこう: A2 → C1、計 1回
真のアラマー王のクエスト(ゴロスのめだま)
C1 →(ひこう)→ A1 → デューム城の石垣 → デューム城内部の経路で移動します。エリア A1 もテレポートが使えないので、地道に歩きますが、[15, 10] を北向きに「つうか」でエンカウントと迷路をショートカットします。それでも結構長いです。デューム城の仕掛けも [7, 5] を北向きに「つうか」して全部無視します。デューム城から出るときはエンカウント+逃げるが早いです。
  • A1 [7, 14]: デューム城の石垣、内部への入り口
  • デューム城 [8, 5] [6, 6] [7, 10]: 壁の外に押し戻される罠(三カ所)、「つうか」で無視可能
  • デューム城 [7, 7]: 金の鍵を持たずに行くと扉に吹き飛ばされます。
  • デューム城 [7, 8]: 真のアラマー王と話した後「さがす」と「ゴロスのめだま」を拾えます。
  • ひこう: A2 → A1、計 1回
  • つうか: A1 [15, 10] → [15, 11]、デューム城 [7, 5] → [7, 6]、計 2回
  • GEM: つうか 2回 8個消費(残り: 0, 0, 2, 0, 0)
ニセのアラマー王の正体クエスト
デューム城 → A1 →(ひこう)→ E3 → アラマー城の経路で移動します。アラマー城に入るにはハレーショにパスワードを聞いて、ライオンのレリーフに答える必要がありますが、テレポートで無視して入り口 [14, 7] に直行できます。必要なアイテムを所持していればニセのアラマー王に「正体を見破ったな」と言われ、イドの迷宮に飛ばされます。
  • 市民のパスポート: 持たずに入り口に行くと、衛兵に追い返されます。
  • 貴族のパスポート: 持たずに王の部屋の前に行くと、衛兵に追い返されます。
  • ゴロスのめだま: 持たずにニセのアラマー王に会うと、クリア不能クエストを押し付けられます(僧侶の「ちゅうし」でキャンセルするしかない)
  • テレポート: アラマー城の入口へ、計 1回
  • ひこう: A1 → E3、計 1回
イドの迷宮
英語版だと Soul Maze ですが、日本語版は「イドの迷宮」という全然違う名前で、ニセのアラマー王のセリフ「ソウルメイズの地に監禁」が意味不明に見えます。訳を間違ったのかなあ……?本来はマッピングしてパスワードを知ります。「いちをしる」魔法が使えないため、マッピングの難易度は高いです。しかしパスワードは固定なので正解を知っていれば瞬殺です。クリア後はソーピガルに戻されます。
アストラル世界
ゴロスのめだまを使ってアストラル世界に飛びます。壁がほぼすべて透明のバリアで構成されている鬼畜が考えたダンジョンです。迷ってしまったら敵から逃げれば、かならずスタート地点の [7, 0] に戻れるので、敵を倒すばかりでなくうまく使いましょう。
  • 5カ所の封印: [4, 6] [4, 10] [7, 14] [10, 10] [10, 6] にある封印を解除します。解除するたびに敵が出ます。
  • アストラル [7, 10]: ドア、キーカードで開きます。
  • アストラル [7, 8]: 「やすむ」と次に進みます。イドの迷宮をクリアしている必要があります。
  • アストラル [6, 7]: コーラックがいます。世界の果てに行けと言われ、ソーピガルに戻されます。
世界の果て
ソーピガル →(転送)→ エルキューン → B1 の経路で移動します。[4, 15] にある世界の果てに行くとゲームクリアです。最後に Book Two に続く!と出ますが、Book Two はファミコンでは発売されませんでした。悲しい。スーパーファミコン版が発売されているようです。
  • B1 [4, 15]: 世界の果て、ゲームクリア
  • GEM: 転送で 1個消費(残り: 0, 0, 1, 0, 0)

以上が Might and Magic の世界に起こった事件と、その謎に迫るメインクエストを超スピード解決する手順となります。初めてプレイする方がこの手順でクリアすると、たぶん訳が分からないと思います。

お時間がある方は、攻略サイトを見ながらでも構わないので、金の板や町のヒント、囚人たちなどに出会い話すと、しっかり作られた世界感が味わえると思います。

編集者: すずき(更新: 2021年 11月 8日 23:44)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2021年 10月 30日

Might and Magic Book One TAS 長距離移動手段のまとめ

目次: Might and Magic ファミコン版 - まとめリンク

通常の歩く移動以外の長距離移動手段の方法と、所要時間をメモしておきます。

「エンカウント+逃げる」

行先はマップの特定位置のみですが、ショートカットに使えます。また上り階段マスに行くことが多いため、ダンジョンや城からの脱出には最適です。

  • 出会うまでの調整: 10〜フレーム(カウンタ調整次第、100フレームほどもありえる)
  • モンスターが近づいてきた: 130〜フレーム(移動方法次第、最速は後ろ向き移動で壁に 2回目に激突した場合)
  • 戦闘メニュー: 16フレーム
  • 逃げる選択: 7〜フレーム(カウンタ次第で失敗する、調整必要だが大抵 10フレームあれば収まる)
  • 画面切り替え: 50フレーム

最速で 213〜フレームくらいです。エンカウントが乱数依存なので若干ブレがあるものの、それでも一番早いです。

「ひこう」(消費 MP 3)

使用場所に制限があり、地上でしか使えません。しかし任意の地上 MAP に行ける優れもので GEM も不要の優れものです。

  • メニューオープン: 34フレーム
  • 魔法選択まで: 75〜フレーム(魔法使いの位置による、2人目だと 78フレームくらい)
  • どこへ?: 1〜9フレーム(行先次第)
  • 移動エフェクト: 172フレーム

282〜フレームくらいです。非常に早く、使い勝手も良いので、私が TAS するうえでのメイン武器です。

「まちへ」(消費 MP 6, GEM 4)

使用場所の制限はないものの、町にしか行けない点と、消費が大きいのが欠点です。

  • メニューオープン: 34フレーム
  • 魔法選択まで: 75〜フレーム(僧侶の位置による、5人目だと 84フレームくらい)
  • どこへ?: 1〜12フレーム(行先次第)
  • 移動エフェクト: 240〜フレーム(テレポートと同じエフェクト)

発動は早いですが、移動エフェクトがテレポートと同じで長く、350〜フレームくらい掛かります。しかし Might and Magic は町から町への移動が不便なので、非常に重宝する魔法です。

「ダイヤの鍵」によるテレポート(鍵 1つにつき 20回まで)

テレポート禁止マップ(地上 A1, A2、ダスクの町、デューム城、アラマー城など)以外なら使えます。どこにでも行けて非常に便利なうえ、序盤のイベントなら無視できてしまうミラクル魔法です。本来は消費 MP 5 ですが、ダイヤの鍵なら MP 消費なく使えます。

  • メニューオープン: 34フレーム
  • アイテムメニュー選択: 6〜8フレーム(↓→ A を最速で入力)
  • 使用者リストオープン: 15フレーム
  • 使用者選択: 2フレーム(A が連続で押せない、1フレーム待たないとダメ)
  • 装備リストオープン: 39フレーム
  • カーソル移動: 11フレーム(↓を 6回入力、毎回カーソル描画 1フレーム発生)
  • バックパックリストオープン: 33フレーム
  • アイテム選択: 1フレーム(一番上にあると最速)
  • 魔法エフェクト: 53フレーム
  • 方角選択: 2〜7フレーム(↓↓↓A など、A のみで済む「北向き」が最速)
  • 描画待ち: 12フレーム
  • 距離選択: 2〜9フレーム(↑↑↑ or ↓↓↓...A など、A のみで済む「1ブロック」が最速)
  • 移動エフェクト: 243〜フレーム

453〜フレームくらいです。便利な反面、時間が掛かりますから、歩きの方が早い時もあります。具体例を挙げると、地上 A4 や、魔法の砦 B1、B2 はテレポート 2回より、歩き+テレポート 1回の方が早いです。

編集者: すずき(更新: 2021年 12月 7日 14:02)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



こんてんつ

open/close wiki
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報