ドラゴンクエストII復活の呪文生成プログラムVer.2

−ごろ合わせ呪文作成機能について−

2000年の年末ごろ,ドラゴンクエストII 復活の呪文生成
プログラムVer.2を改良し,意味のある文字を並べた呪文
を作る機能(ごろ合わせ呪文作成機能)を追加しました。



画面の説明

メイン画面の左下図の状態(画面3)のとき,[F1]キー
を押すとごろ合わせ呪文作成画面に移行します。

[F1]キー

矢印または四角いカーソルを方向キーで動かし,A
ボタンで実行,数値のカウントアップを行い,Bボタン
で数値のカウントダウン(または実行)を行います。

よみとる メイン画面からの復活の呪文を読みとり,呪文編集領域に転送します。
かきこむ 呪文編集領域の呪文の文字とデータをメインに書き込みます(現在未対応)。
もどる メイン画面(画面3)に戻ります。
クリアする 呪文の文字を消去し,人数1,文字数18,各キャラクターのアイテム数を0にします。
にんずう パーティの人数を設定します。1〜3の範囲で設定します。
もじすう 復活の呪文の文字数を設定します。18〜52の範囲で設定します。
ローレシア ローレシアの王子の所持アイテム数を0〜8の範囲で設定します。
サマルトリア サマルトリアの王子の所持アイテム数を0〜8の範囲で設定します。
(人数が1のときは無視されます)
ムーンブルク ムーンブルクの王女の所持アイテム数を0〜8の範囲で設定します。
(人数が1または2のときは無視されます)
呪文編集画面 呪文の文字を入力する画面です。方向キーで四角いカーソルを動かし,キーボード
からローマ字入力にて「あ」〜「ぽ」の文字を入力します。ただし「し」は「SI」,「ち」は
「TI」,「つ」は「TU」,「ふ」は「HU」,「じ」は「ZI」と入力する必要があります。
Aボタン(またはスペースキー)で空白文字を入力します。
Bボタンで子音の入力を取り消すことができます。



ごろ合わせ呪文の作成方法

STEP 1

まず入力する文字数を決定します。「文字数」に矢印を合わせ,AボタンとBボタンで調整します。


STEP 2
パーティの人数と各キャラクターのアイテム数を決定します。「人数」「ローレシア」「サマルトリア」「ムーンブルク」に矢印を合わせ,AボタンとBボタンで調整します。

STEP 3
文字数が適切かを判断します。呪文の最初の文字に1文字入力します(どの文字でもよい)。その後,[F1]キーを押して,壁の色の変化をみます。

緑色の場合はOK。赤色の場合は文字数をより大きくとるか,人数やアイテム数を減らす必要があります。

STEP 4
呪文の文字を入力していきます。空白が3文字以上あるときに[F1]キーを押すと,現在の状態をチェックすることができます。

壁の色が緑色の場合はOKですが,赤色の場合は最初の文字を含め,入力した文字などを変更する必要があります。

(注:左図は今回私が思いついた単語で埋め合わせていったものです。変な言葉もありますが気にしないように)

STEP 5
入力文字が決定していき,空白が2文字以下の状態で[F1]キーを押すと,「詳細チェック」となります。空白だった部分にスロットマシン風に文字が回り始めます。正しい呪文として検出した場合,その文字でいったん止まってから再度動き出します。この状態を覚えておいて(メモして)ください。

文字が止まらなかった場合や,気に入らなかった場合はSTEP 4にて再度文字を選択してください。

STEP 6

空白だった場所にSTEP5で得られた文字を入力し,空白のない状態で[F1]キーを押してチェックします。アイテムの中に「あぶないみずぎ」が含まれている場合は壁の色が黄色となり,MSX1/MSX2版のドラゴンクエストIIでしか使えない呪文となるので注意してください。緑色の場合は問題ありません。

以上で終了です。




注意点

このプログラムで文字数を18文字にした場合に不正な呪文が表示されることがあります。確認したところ,人数1,アイテム数0,文字数18で最後の2文字を空白としたときに起きるようです。これは私の調べた範囲では解決できませんでした(すみません)。文字数が19以上のときはOKだと思います。また,文字数が21,25,29,33,37,41,45,49(4の倍数に1を足した数)の呪文には対応していません。実際にはこれらの呪文は存在するのでしょうか?


コメント追加(2001年1月14日)

上記で「文字数を18文字にした場合に不正な呪文が表示される,文字数が19以上のときはOK」とありますが,30文字にしたときにも不正な呪文が表示されることがわかりました。おそらく51文字以下の場合は全て起きると考えられます。この不具合については今後調査することにします。


コメント追加(2001年1月17日)

上記の不具合の原因がわかったので,修正しました。内容としては,文字数が18,22,26,30,34,38,42,46,50のときは呪文の最終の4ビットを「0」にする必要があり,文字数が19,23,27,31,35,39,43,47,51のときは呪文の最終の2ビットを「0」にする必要があるということです。前回,18文字や30文字のときに不正な呪文が表示されるのはこの4ビットのいずれかが「1」になっていたことが考えられます。

本日,この不具合修正分をアップしました。

左の画面写真のように
51文字以下の復活の呪文
の作成も可能になりました。


コメント追加(2001年1月27日)

2001年1月27日,さらに修正を加えました。

まずは,名前入力時の不具合修正です。プレイヤーの名前の3文字目が空白で4文字目が空白以外のときは不正な呪文となるのですが,チェックにパスしてしまうようになっていました。相対ジャンプの指定を修正することで直りました。

そして,使用可能文字の表示機能の追加です。呪文の15〜17文字目などはチェックが厳しいため,使用できる文字列の自由度がかなり小さくなっています。そこで,現在のカーソル位置で使用可能な文字を表示する機能を追加しました。

本日,この修正分をアップしました。

チェックしたい文字位置にカーソルを合わせ,「F2」キーを押すと使用可能文字チェックがスタートします。「あ」「い」〜「ぽ」の順に文字が回り始めます,使用可能な文字でいったん止まるので。これらの文字が使用可能ということになります。使用可能な文字がない場合もあります。この機能を使えば最後の2文字を決めたあと,最初の文字を割り出すこともできるので便利です。


コメント追加(2001年2月5日)

前回「プレイヤーの名前の3文字目が空白で4文字目が空白以外のときは不正な呪文となる」と書きましたが,実際のゲームではチェックにパスすることがわかりました。これは2文字目以降についていえることです。本日,この修正分をアップしました。


コメント追加(2001年2月15日)

プレイヤーの名前に使用できる空白文字が2種類存在するということに従い,「コード:63」のデータがチェックにパスするように変更しました。なお,最初の文字が空白文字(コード:63)の場合はSTEP 6のときに壁の色が灰色となり,ワーニングであることを示すようにしました。




プログラム作成から完成までの流れ

2000年12月28日 入力画面のレイアウトの作成。
2000年12月29日 キー入力ルーチンの作成。
2000年12月30日 復活の呪文チェックルーチンの作成。
2000年12月31日 復活の呪文詳細チェックルーチンの作成。プログラムのテストプレイ。
2001年1月1日 ホームページを更新。



苦労した点

ローマ字入力は今回が初めてです。Windowsなどに較べてキーの認識速度がやや遅いですが,特に問題はないと思います。呪文のチェックルーチンの中では,プレイヤーの名前とアイテムのチェックを行うルーチンに苦労しました。名前のチェックは不正な文字と空白コードの処理に,アイテムチェックは装備できるアイテムの番号が不連続な点を処理するルーチンの作成に苦労しました。



最後に

今回,ごろ合わせ対応版に改良しようと思った理由としては,1990年ごろにジャングル大帝のキャラクター名などを入れたドラゴンクエストII の復活の呪文を自作していて当時の呪文を再現したいと思ったからです。下の画面写真のように意味のある単語を並べたものや同じ文字が並んだものが作れるようになっています。右下の画面写真のように文字数が多く,人数やアイテム数が少ない場合は後半の文字を比較的自由に決められるという特徴があるようです。


STEP 5の詳細チェックに最大1分以上かかることから,MSXはWindowsに較べれば非力なマシンだと感じました(TurboRは少しはましでしょう)。

復活の呪文生成プログラムとしてはマウスなどで操作するWindows版のものも公開されていますが,私が作ったもの(MSX用)の場合は表示文字フォントや操作性を実際のゲームに即し,できるかぎり再現するように工夫しています。だが掲示板などを拝見してわかったのですが,現在MSXが店頭にないためかMSXについて知らない方が多かったことは悲しかったです。

TurboR使用上の注意(2001年1月27日追記)

このプログラムで呪文の詳細チェックに最大1分以上かかることから,プログラムの実行にはできればTurboRを使用するのがいいと思います。
TurboRを使用する場合の注意点ですが,カーソル移動などのスピードが速すぎて操作ができないので,BASICプログラムのほうで以下の文を追加,変更してセーブ,RUN してください。



91 POKE &H9CA2,16 [Enter]
100 N=USR1(0)+9^9:GOTO 100 [Enter]
SAVE"D2V2" [Enter]

Turboモードによる詳細チェックの処理速度はノーマルに較べ約5倍になります。




一つ前へ戻る
一つ前へ戻る
概要その3へ
概要その3へ戻る
シルゴンハーゲンのホームページ・MSX編へ
MSX編 トップへ戻る
シルゴンハーゲンのホームページ・メインへ
ホームページ トップへ戻る