しゅれでぃんがー 2021/10/18 09:30

ゲームを作ろう11 画面サイズとダンジョンマップ仕様を練る

やるぜ俺はやるぜ






 色んなゲームを遊んだ結果、具体的なゲームサイクルのイメージが出来上がってきた。なのでそろそろアウトプットしていこう、と、ちまちま触って形にしている。やることは山積みなので……一個ずつこなしていこう。


 まず、画面サイズを決めることにした。このゲームはスクロールを使用するのかどうか。あ、スクロールの意味は【ゲーム画面サイズ以上のマップサイズ形式を採用するかどうか】という意味。画面サイズ横幅1000として、1500とか2000ぐらいのマップ作るのかどうか。

 色々考えた結果、私が尊敬するクリエイターさんは基本的にスクロール無しの1画面完結型マップを採用しているので私もそれを真似することにした。画面サイズも48の倍数にしているらしい。何故かは知らない。が、その方が都合が良いのであれば、意味は分からないがそれも真似しようと思う。



 画面サイズの設定何処かな……と、探していたらデータベースの上級者向けツールの欄で発見。まずは画面サイズを設定し、それに合わせマップの横幅と高さの数値を調整。ある程度の大きさに設定しては試運転し、スクロールが発生しなくなるまで下げる。今後、全てのマップはこのマップサイズで統一する。

 地味だが、一番大事な仕様がとりあえず確定。次はダンジョンマップの仕組みについて整理する。



 ダンジョンマップもスクロール無しで行きたい。なので、マップサイズで一番見た目がいいサイズに部屋の大きさを調整、通路を部屋の真ん中に設置したいので縦横の移動可能領域は必ず奇数となるようにする。

 初級、中級、上級マップを作成予定。初級は画像の通り、2×2の四部屋構成。中級は3×3、上級は4×4……部屋の大きさと仕様を上手いこと考えないと実現できなそう……。でもスクロール無しという仕様は守りたい。今後、実際に作る段階でそれについては考えることにする。まあ致命的にはならないだろう……ひとまず棚上げ。

 ゲームサイクルはそれぞれマップを規定回数繰り返したらダンジョン内休憩ポイントorボスマップに到達。仕組みとしては

・ダンジョン内に設置されているマップリセットイベント
 (次の階層へとか書いとく)発動
・リセット回数をカウントするイベントを作っておいて
 規定回数到達で休憩マップorボスマップへ移動

 これを実現できるプログラムを考える。リセット回数自体を保存する関数を作って、それを参照する関数とか……なんかあった気がするよな。そもそもif文作ってる段階で文字列を出力してた気がする……。

 リセットにすることで、マップバリエーションを作る手間を削減。


 画像赤丸は敵イベント、出入り口は敵イベント固定。中央青丸は宝箱orランダムイベント。イベント設置段階で宝箱50%:ランダム50%みたいな感じで発生確率を分ける。ランダムイベントは調べた時さらに発生するイベントの%振り分け。宝箱は30%とかでいいかな……。設置予定イベントは宝箱:ランダム:焚き火:階段的なもの。階段はマップ上に一つ発生したら、他のポイントには発生せずさらにマップ上必ず一つ発生するプログラムにしたい。左上ピンクは触手くん初期位置。

 マップ全体がゲーム開始時点で見えることにより、階段へのルートをプレイヤーが好きに構築できるようにする。自身のHPとMPは基本的に回復できない(焚き火の出現率は10%とかにする)ようにして、単純に見える敵全てと戦っていたらボスにすらたどり着けず、辿り着いてもリソースが足りなくなるようにする。リソースの自然回復が無く、任意回復手段も制限されたRPG型不思議のダンジョン。形は変わったが、わりといい感じだと思う。







 具体的なイメージが固まってきたので、実際に触りながらトライ&エラーを繰り返す。

フォロワー以上限定無料

よろしくお願いいたします。

無料

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

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

月別アーカイブ

記事を検索