MSX GAME BOOK「LABYLINTH」

【2022/04/24更新】
「BASICプログラム」と「マシン語プログラム」に分かれていますが、プログラム全体のサイズが約25.4Kバイトもあり、さらに「マシン語プログラム」がディスクのワークエリアに及んでいるどころかメモリの上限(F37FH)まで使用しており、実機のディスクに対応させるような改造もできないので、ディスク環境で動作させることは難しいと思われます。当時はよく遊んだので非常に残念ですが仕方ありません。 そのままではディスク環境で動作しないため、「マシン語プログラム」をVRAMにいったん退避し、「BASICプログラム」をロード後にVRAMから元のアドレスのRAMに戻すことでディスク環境での実行だけはできるようにしました。
なお、ゲームデータのセーブやロードをディスクに対応させることまではできていないので、通常どおりカセットテープを使用することになりますw

具体的には以下のとおりにします。
・「マシン語プログラム」を-2000HオフセットしたC700H-D37FHに入力して「LABYLIN.BIN」で保存。
・以下のBASICプログラムまたはリンク先のテキストファイルを「LABYLIN1.BAS」でディスクに保存。(ダウンロード環境によっては改行が反映されないことがあるので適宜修正してください。)
10 SCREEN 0:CLEAR 200,&HC6F3
20 FOR I=&HC6F3 TO &HC6FF:READ A$:POKE I,VAL("&H"+A$):NEXT
30 BLOAD"LABYLIN.BIN"
40 DEF USR=&HC6F3:I=USR(0)
50 CLEAR 200,&HDE40
60 RUN"LABYLIN2.BAS"
70 DATA 21,00,C7,11,00,30,01,80,0C,CD,5C,00,C9

http://parupu.chu.jp/hatena/program/gamebook/LABYLIN1.TXT

・「BASICプログラム」に以下の1文を追加またはリンク先のテキストファイルをマージして「LABYLIN2.BAS」でディスクに保存。(ダウンロード環境によっては改行が反映されないことがあるので適宜修正してください。)
1 POKE &HFD9F,&HC9:CLEAR 200,&HE6F3:FOR I=&HE6F3 TO &HE6FF:READ A$:POKE I,VAL("&H"+A$):NEXT:DEF USR=&HE6F3:I=USR(0):DATA 21,00,30,11,00,E7,01,80,0C,CD,59,00,C9
http://parupu.chu.jp/hatena/program/gamebook/LABYLIN2.TXT

あとは「LABYLIN1.BAS」を実行すれば自動的にプログラムをロードしてゲームが始まります。
(機種によっては動かないことがあるかもしれませんのでご了承ください。)

また、掲載されてる元の「BASICプログラム」にはこちらのサイト(Enri's Home PAGE)の訂正記事のとおり385行と2100行にバグがあるようですので、以下の画面のとおり修正しておくとよいかもしれません。(一部修正しています。)

下の動画ツイートは私のFM-Xに専用の「プリンタIF・RAMカートリッジ」を装着してRAMを32KBに拡張し、外付けFDDを装着して「LABYLINTH」を上記の方法にて実行させたもので、実行後はカセットからゲームデータをロードし、電源投入から約45秒でゲームデータをロードしてゲームをスタートできています。


ちなみにこれらのゲームデータは私が中学生の時に遊んで保存したもの使っていますw セーブデータのキャラクタ名がドルアーガの塔のキャラクタ名を使っているのが中学生らしくて(


前述のとおり、ゲームデータのセーブやロードをディスクに対応させることまではできていないので、そのあたりは今後の課題としたいと思います。


プログラムを実行するとまずは難易度の設定画面が表示されます。数字が小さいほどゲームが易しくなるようですが、ゲーム時間が長くなると難易度は上昇していくとのことです。

「1」は最初から、「2」はカセットテープからゲームデータをロードします。

「1」を選択し、プレイヤーの名前と職業を設定していきます。

最初は6人でパーティーを編成するので6人分設定します。

設定が終わってゲームスタート~。
はじめの画面は通常モードで、各人のステータスの一部と迷宮内迷路が3Dで表示されています。

スペースキーを押すとコマンドの説明が表示されます。

スタート地点では買い物ができるので、さっそく買い物をしてみましょう。

「1」は武器。「ボーガン」と「ユミ」は飛び道具です。

「2」は食べ物。移動するごとに減っていくので随時補給しましょう。

「3」は水。移動するごとに人数分減っていくので随時補給しましょう。

「4」は薬。「Charm」は戦闘前の話し合いのときに相手を友好的にさせます。「Sesame」はワナがあるときに安全に外すことができます。「Power」は戦闘時にパワーが増大します。「Fire M」は戦闘時に同名の魔法と同じ効力で攻撃できます。「Healing」は体力を回復させます。

「5」は医者。傷を完全に直して体力を回復してくれますが、回復する体力が多いほどお金が多くかかります。

スタート時は「騎士」以外は武器を持っていないので、とりあえず各人の武器を買いそろえました。

準備ができたので迷宮を彷徨います。
しかし扉を開けようとしたらいきなりワナが!

ドロボーに壊させてみます。

しくじってダメージw
と同時に敵が現れて・・・

画面が戦闘モードに切り替わり、「Thief」が現れました。

「Thief」と話し合ってみましょう。

魔法で敵を友好的にして・・・

敵は立ち去りました。話し合いがうまくいけば仲間になることもあるようです。

再び迷宮を彷徨って液体の入った壺を見つけましたので飲んでみましょうw

薬の「Healing」でした!薬は袋に入れて持ち歩きます。

時には毒で死んでしまうこともwww
ちなみに同じ場所にある壺であっても飲むタイミングによって入っているものが違うようです。

再び迷宮を彷徨ってまたまた「Thief」と遭遇。

話し合いに失敗したので襲い掛かってきましたw

戦闘モードのコマンドは5つ。まずは移動して体制を整えます。

敵を取り囲みました。キャラの絵柄が同じなのでどれが敵なのかわかりにくいですが、ここでは敵を飛び道具の「ユミ」で攻撃しています。

敵を倒しました!

倒した敵から金貨と薬をゲット!

倒した敵によっては武器をゲットできることも。

金貨だけの場合もあったり・・・

苦労して倒しても何も持っていないこともw

しばらく冒険と戦いを続け、キャラも育っていい感じになってきましたが・・・

水が無くなってしまいましたwww

食料や水が無くなると即ゲームオーバー。基本的な部分は常にチェックしておかないといけませんですね・・・

おまけ。本誌の説明によると敵キャラは全部で16種類居てるようで、キャラの絵柄は複数の敵キャラで共通しているものもあります。(本誌での説明順に並べ、未遭遇の敵キャラは空白にしてあります。)

前述のとおりこのゲームは中学生の時によく遊びましたがやはりクリアできていませんでした。
当時のリベンジを兼ねてまたの機会に再チャレンジすることにしたいと思います。


この「LABYLINTH」に関しては、ぎゃぶねこさん(@gyabuneko)にいろいろとご協力いただいております。ありがとうございますm(_ _)m