N88-BASIC→HSP移植(03)衝突判定&イベント処理を加えてみました♪☆『N88-BASIC→HSP移植プロジェクト』

PC-88版N88-BASICで作ったプログラムのHSP移植プロジェクト Vol.3 HSP

初代 PC-8801 の N88-BASIC で作成した、プログラミング覚えたての頃のショボイゲームを、そのまま HSP で移植して再現してみようじゃないか!というプロジェクト。

前回までで仮の移動処理が出来上がったメインプログラム。今回はより完成に近づけるため、壁などの衝突判定と各マップパーツのイベント判定を付け加えていきます。

最終段階ではかなりゲームらしくなりますよ♪ それでは始めていきましょうか~!

ブログランキング参加中!ポチッ👆と応援よろしくです♪
  • にほんブログ村 ゲームブログ ドラクエシリーズへ
  • にほんブログ村 ゲームブログ レトロゲームへ
 
スポンサーリンク

PC-88から移植した自作RPG「アシュラの塔」のダウンロードはこちらから
N88-BASICのプログラムをWindows上で編集&保存!「N88-BASIC Source editor」のダウンロードはこちらから

マップイベント処理用スクリプト作成

イベントはこのような感じで記述

タイルマップエディタ「Tiled」で作成したマップファイルでは、オブジェクトレイヤーを作ってイベントが発生する場所にオブジェクトを配置しています。

そのオブジェクトと同じ座標に主人公が移動した時、オブジェクト名に含まれているイベント番号から判断して、当てはまるイベントを実行させます。

ちなみに上のイベント設定は少しずつ進化させているので、徐々に複雑なことをできるようにしていく予定ですが、それはいつになるかな~😅

宝箱イベント

宝箱の中身を取れるようになりました

そんな独自のイベントスクリプトを利用して作成した処理の1つが、RPGには欠かせない宝箱ゲットのイベント。

PC-88版では宝箱の上に乗ることで手に入れることができたのですが、HSP移植版では横から触れることで手に入れられるようにしました。

上写真の宝箱は、1つ前のスクリプト画像で EVT(000)=”@TB7″ となっているところ。

@TB が宝箱イベントの目印で、その後ろの 7はアイテム番号としました。7に「カギ」が割り当てられているので、「カギヲ テニイレタ!!」となるわけですね♪

宝箱をゲットした直後にフラグを立て、何度も取れないようにして処理終了です。

扉の判定ではカギの有無をチェック

カギを持っていない場合は扉が開かない

次はカギを持っていないと開けることができない、扉のイベント処理を作成!

スクリプトで “@DO” となっているのが扉イベントになります。

このように判定しています

ちなみに扉の処理はこんな感じ。持っているカギの数がゼロだったら「カギヲ モッテイマセン。」と出力して脱出しています。

なお、if 文の条件に書かれているもう一つの条件 IN(1)=0 とは、何度でも扉を開けることができるアイテム「マジカルキー」を持っているかどうかのフラグです。

開けることができた場合はフラグを立て、サブルーチンの *door1 内でカギの所持数をマイナスしたりメッセージを表示したりなどの後処理をしています。

会話メッセージの表示処理

ドラクエなどのように1文字ずつ表示されるメッセージは

どんどんいきましょう。次は RPGなどではおなじみの 1文字ずつメッセージを表示させていく処理。

スクリプトでは “@MS” が目印となっていて、メッセージに挟まれている @r はキー入力待ちを行う部分となります。画面上では ▼ を表示して入力待ち状態になります。

こんな感じで再現しました

HSPで書いた表示処理のサブルーチンがこちら。キー入力待ちの目印「@r」単位で文字列を区切って配列へ入れ、1文字ずつ表示する処理を繰り返します。

現段階では 1行出力後にキー入力待ちへ突入するようになっています。いずれはこれを複数行出力対応に変えていく予定ですが、PC-88版そのままの移植なので今はこれでOK♪

回復の泉&ボス戦イベント

泉に触れるとHPを最大にする処理を追加し

次に作るのは回復の泉判定。こちらの処理はシンプルで、触れると変数HPの値を最大HPの数値にセットするだけ。

あとはメッセージを表示させてステータス表示を更新させれば終了です。

この位置に来るとボス戦になる判定もOK

1階から 2階へ移動する階段の手前には、このフロアのボスが隠れています。

写真の位置に主人公が到着するとボス戦へ突入するのですが、その判定処理も作りましたよ。

まだバトル部分のプログラムが無いので、目印のメッセージ表示しかありませんが。

倒すことができたらフラグを立てて処理終了となるようにする予定です。

階段でのフロア移動処理

階段でフロア移動することも可能に

今回作成する最後の処理は、上り階段・下り階段でのフロア移動処理。

このゲームのフロア移動は、座標が変化することなく上下フロアに移動するだけなので、処理を書くこと自体は難しくなかったです。

階段のコードはこうなってます

@UP と @DW が階段で、それぞれの後ろに付けている数字が移動先フロア番号。

地上5階・地下2階の構成で、地下1階が 6、地下2階が 7としているため、その移動に対応させるべく上記のような方法にしました。

BASIC で長くダラダラと書いていたこれらのイベント処理。今回のHSP版ではかなりスッキリ短くなりました~♪

現段階の動作を動画で

今回作った部分を短い動画でアップしたので、ちらっと再生してみてくださいね♪

バトルが無いだけで、普通に宝箱を取ったり扉を開けたりできています。

かなりいい感じに仕上がってきているので、この勢いで全てのイベントを作っていきたいところですが、今回はここで終了しておきます。

次でどこまで作ることができるのか!?どうぞお楽しみに♪

ポチッと応援してもらえたら嬉しいな♪

広告
ブロサーの方はこちらからコメントできます

TSAPPS開発室の息抜きゲーム部屋 - にほんブログ村

人気ブログランキングでフォロー


HSPWindowsアプリ開発
スポンサーリンク
ゴルディクスをフォローする
当サイトをご利用の方へ
当サイトでは、各ゲーム会社様を代表とする共同著作者が権利を所有する画像を利用しています。ゲームの画像の著作権はゲーム会社様にあります。当該画像の転載・配布は禁止致します。  
(C)ARMOR PROJECT/BIRD STUDIO/SQUARE ENIX All Rights Reserved.
カカニャン(H.N.患者)もよろしく
カカニャン

一言メッセージ

二次創作を中心に絵や小説を作っています(未だ投稿はしていませんが、オリジナル作品も出すつもりです)。 互いに発信し合えるSNSの良さを活かして沢山の方と交流出来たらいいなぁ、と思っています。

コメント

タイトルとURLをコピーしました