石垣 2019/11/02 17:27

制作日記2

ご支援ありがとうございます。
今日も元気に制作日記2です。
つまり現在制作中のおねショタゲームの話です。

とりあえず最初は敵用に描いたッカドール2号もといハッカファイター2号

ハッカファイター2号立ち絵

今回有料プランではハッカファイター2号立ち絵の原寸と裸差分と表情差分を公開しています。

さてここからはゲームの基本的な部分を制作中的な話です。
今回はマップを表示してさらにプレイヤーがマップ内を移動できるようにするところまで書いていきます。

まずはマップ表示。
ローグライク的なマップの場合は二次元配列を使って表現するのが良さそうですね。
二次元配列とは図で表すとこんな感じの縦と横に数字の並んだデータです。


説明のために図の0と1を塗り分けてみます。


0の部分を歩けない場所、1の部分を歩ける場所といった感じで考えていくことにします。
また、左上の黒い丸で囲んだ場所を x = 0, y = 0 と表現することにすると、赤い丸で囲んだ場所は x = 3, y = 3 と表現できます。
以降は x = 3, y = 3 の場所のことは (3, 3) にように書いていきます。

では先ほどの二次元配列をマップとしてゲーム画面に表示してみます。
手始めにマップの数値が0の歩けない部分には黒い床、数値が1の歩ける部分には白い床を表示させます。


プレイヤーが表示されている場所は (3, 3) ですね。


また画面全体においてマップが表示される部分は赤線内に限定してあります。
赤線からはみ出たマップは画面に表示されません。

さて次はマップ内を移動できるようにしていきます。
まずは移動するときに画面がどのように変化するかを考えてみます。


例えばプレイヤーが (3, 3) から (4, 4) へと右下に1マス移動する場合を考えてみます。
上の画像でプレイヤー移動前のAとプレイヤーが移動後のBを比較すると、
移動後は床全体が左上に1マス動いた状態に変化しているのが分かります。

つまりAとBの間に、右下を向いたキャラクターに歩行モーションを取らせながら床全体を左上に1マス分スクロールさせれば
キャラクターが (3, 3) から (4, 4) へと右下に1マス移動したことを画面上で表現できるわけですね。

実際のプログラムでは (3, 3) から (4, 4) へと1マス移動するという処理を次の手順で行うようにしてみました。
1:移動先の (4, 4) は歩ける床かをマップで確認する
2: (4, 4) が歩ける床ならキャラクターの歩きモーションを開始する
3:キャラクターに歩きモーションを取らせながら、キャラクターの移動方向とは逆方向に床全体をスクロールさせる
4:1マス分移動したらプレイヤーの位置データを (3, 3) から(4, 4) に変更して歩きモーションを終了する。

移動処理が完成したものがこちらとなります。

それから手元にあるオメガラビリンスZを参考にして前回から少し操作方法を変更しておきたいと思います。
・カーソルキーを押すと押した方向に1マス移動する。
・Zキーを押しながらカーソルキーを押すと移動はせずに向きだけを変更する。この時向いている方向にはグリッドを表示する。

・Sキーを押しながらカーソルキーを斜め方向に押すと斜めに1マス移動する。

長くなりましたがそんな感じでマップ表示とマップ内移動ができるようになるまでの話でした。

【 アニメ公開 】プラン以上限定 支援額:300円

このバックナンバーを購入すると、このプランの2019/11に投稿された限定特典を閲覧できます。 バックナンバーとは?

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

最新の記事

月別アーカイブ

記事を検索