【FPS開発進捗】ステージランダム生成のための部屋の作り込み+雑談いろいろ【コミカルサラ】
こんばんは!
今回は開発中のローグライトFPS「コミカルサラ」に関する進捗報告で
ステージをランダム生成するためのパーツ(=部屋)の作り込み作業に入った
という内容になっております。
前回までの作業で最初のステージをランダム生成するために必要な要素が一通りそろいました。ここまでできればあとはランダム生成用のパーツ(=部屋)をひたすら作り込んでいくだけなので、ステージ1用の部屋に敵や小物等を配置する作業を行いました。ここではその辺の進捗について書いていきます。
あとついでにフォロワーさん用の雑談もいろいろ書いておきましたのでよろしく。
ランダム生成用の部屋の作り込み
部屋のパターンを増やす
まず、ステージをランダム生成するためにはそのパーツとなる部屋が必要です。↑に書いた通り部屋の基礎(=オブジェクトを何も配置していない空き部屋)は既にできていたので、最近は部屋に敵や小物・障害物などを配置していく作業をやっていました。
(↓敵用の部屋のレイアウトを何種類か用意したときの様子)
今回作った主な部屋の種類は次のとおりです。
- ザコ部屋…ザコ敵が大量に出現。全部倒すと普通の宝箱が出現する
- エリート部屋…強力な敵が少数出現。ちょっといい宝箱が出現する
- お宝部屋…鍵付きのレア宝箱がある
いずれの部屋も「部屋の中でオブジェクトの有無がランダムに決まる」仕組みをつけました。例えば部屋に予め小物を用意しておくと、ゲーム実行時にランダムにその小物の数が変化するようなイメージです。これによってプレイしたときの印象や見た目に若干変化が出るようになります。
また敵キャラの場合は、主にザコ部屋で出現する敵の種類や登場順などがある程度ランダムになるようにもしておきました。
それから部屋の種類はもっと増やした方がいいかなと思ったのですが(※例えば仕掛けが多いギミック部屋など)本作は戦闘メインのFPSなのでシンプルな方がいいと思い、とりあえずは↑の3種類をメインにしておくことにしました。
部屋の出現場所を制御する
ところで部屋のパターンを増やすのはいいとして、増やしたパターンをきちんと制御できるようにする必要があります。例えば強敵がスタート地点のすぐ隣の部屋で出現したら理不尽ですからね。
そこで部屋がステージのどの部分に出現するか?を大まかに制御できるようにしました。
まず↑のようにステージの流れをザックリと設定し、それから部屋ごとに出現率を細かく調整する形でやっています。
これによって
- ランダム生成でも一定以上の敵部屋を必ず通ることになる
- 弱い敵が出てくるのはステージ序盤だけ
- ステージの真ん中あたりに必ずエリート部屋が出現
- レア度の高い宝箱は脇道の一番奥にある
- ステージの最後にボス
といった指定ができるようになりました。
ランダム生成されるステージの例
ここまでの作業で下記のように色々な形状のステージがランダム生成されるようになりました(※デバッグ用に色をつけてあります。赤がスタート地点、緑がゴール、紫が脇道です)。
年内の目標
さて今回の進捗報告はこんなところでして、今のところ開発の進捗自体は順調だといえます。しかしここから先は私が苦手とするゲーム内容を詰めていく段階に入ったので完成まではまだまだ手間暇かかる気がします。
なんていうか、ゲーム内容を詰めるのって大変だから毎回嫌になるんですよねぇ。人によっては「いやそこが一番楽しいでしょ!?」と思う方もいるかもしれませんが、個人的にはシステム部分の開発のほうがよっぽど楽しいので「ついにこの段階になってしまったか…」と気が重くなっています。
しかもこれからどんどん寒くなりますから体調やモチベーションの維持にも気を遣わないといけません(※寒さがかなり苦手なのに運悪く寒冷地に住んでおり冬は精神的にヤバい)。なんだか先が思いやられるぜ…。
ただまあ気が重いのは仕方ないとしても、あまりダラダラと開発したくはありません。そこでひとまず年内に達成すべき目標を「最初のステージを完成させる」ことに設定しました。
今回の作業で部屋のパターンをある程度用意できたので最初のステージを軽く遊べるようにはなりましたが、まだボスを作っていないですし、そもそもゲームバランスや手触りなどを考えると粗削りすぎて完成には程遠いです。今後はその辺をしっかり改善して作り込んでいきたいですね。
フォロワー以上限定無料
ゲーム開発の進捗報告を読むことができます。また、記事にコメントしていただけるようになります。
無料