fc2ブログ

本日の進捗 7つめのダンジョンまで完成!

ストーリーはダンジョン8個の予定なので、あと一個つくれば完成です!(あくまでもストーリーダンジョンが)
ScreenShot_2014_0728_23_59_46.png
ザ・モンスターハウスの図。
やはりこれだけモンスターがいると処理がかなり重くなってしまう。
だいたい1匹あたり3000~5000コマンドくらい消費する。もちっと簡素にして必要十分なプログラムが組めればいいんだけど、文系かつ素人の自分にはこれが限界でした。

ScreenShot_2014_0729_00_01_00.png
↑オヤジ戦車もとい自走砲ホロたんを作りました♪
遠距離から固定20ダメージ砲で周囲8マスに効果。壁を破壊しまくって豪快ですが、隣に敵がいるときも大砲撃ちまくって自分を爆風に巻き込む素敵な性能です。

素材はお借りしたものです。感謝です!

ttp://ruifs.exblog

ストーリーダンジョンが一通り終わったら、次は後回しにしていた一部のアイテムの使用効果処理とテクニカルダンジョンの構成。合成もいまだ手つかずの状態です。

ていうかテストプレイしながら思ったけど、やはりバグが多い。多すぎる。

基本システム改造でスフィアンマスターズ作ってたときもバグが多かったんだから、自作システムとなりゃバグが大量発生するのは目に見えていたが、しかし…。
目立つところだけでも相当数のバグがあるので、デバッグ作業には死ぬほど時間をついやすことになりそうです。。
スポンサーサイト



本日の進捗 3つめのダンジョンまで完成!

モンスターの特技やアイテムの効果をぽちぽち入力したり作ったりしながらダンジョン製作中です。。
ScreenShot_2014_0723_18_54_06.png
↑本家通り、壁抜け特性をもつゆうれいさん。フリーダムなのです。

ScreenShot_2014_0723_18_58_09.png
↑通路での遠距離攻撃で無双するハーピーさん。リリパットとかボウヤーとか、そこらへんの立ち位置。素材が手に入ったのでいずれオヤジ戦車的ななにかも作る予定。

最初にまとめてシステム回りの処理を作ってしまったおかげで、想像以上にサクサク作れております!
難易度的には、スフィアンマスターズもそうだったけどやっぱり易しめ。
ゲームってのは攻略されてしかるべきものだからなぁ(と、ダンジョンで一度でも死ぬとやる気をなくすソフトプレイヤーは語る)。
ソフトプレイヤー向けに作っておいて、クリア後とテクニカルダンジョンでパズラー向けの難易度の高いダンジョンを作ればいいんじゃないのかしら。しらしら。ツマラン!と言われて投げられるならまだしも、難しくて途中で投げられるってのは、やっぱりもったいない気がするのです。なので今のとこ、ダンジョンで倒れてもペナルティは(ストーリー中は)ゴールドのペナルティのみで、所持品はなくならないようにするつもりです。

メインループの構築

なんだか今まで机上の空論みたいなことばかりでアレでしたが、そろそろ本格的に中身の構築に入っていきます。
メインループの構築ですね。

メインループとは何ぞやっちゅー話ですが、造語です。
ローグライクのモデルとして階層構造を思い浮かべると分かりやすそうですが、その階層の一番上に位置するやつですね。
いろんな要素は捨象していますが、単純な中身はこんな感じ。

ランダムダンジョン生成

[ループ地点]
1ターンの処理を実行

(主人公死亡のとき)ゲームオーバー処理を呼び出す
(クリアしたとき)エンディング処理を呼び出す
(階段を下りたとき)最初のランダムダンジョン生成に戻る
(それ以外)ループ地点に戻る

てなところですね~。
中身自体はとっても単純ですが、みて分かる通り、ゲームの場面を大きく転換させるような処理は全部まとめてメインループが受け持っています。
変なところからゲームオーバー処理を呼び出したりすると、ゲームオーバー後も処理が続いたりしてしまって大変なことになります(byローグの崖となんちゃらかんちゃら)

まぁなんですね、会社の大きな方針転換は社長が自ら決めるのと同じようなものでしょうか。
ゲームも基本は階層構造なので、階層を意識してコモンイベントを組むくせを身につけると、のちのちデバッグ作業のときに「どこがバグってるんだ!分からん!」とかいう事態を防げるのではないかと思います(実話)。

バーサーカーの可能性!

とりあえず、今のところのテクニカルダンジョン(ストーリー外のやつ)についての案をまとめてみる。
数としては、クリア前までに5個前後解放される感じでちょうどいいのかなぁ…。

1.トルネコ3のバレイナのほら穴的ななにか
邪悪な風穴攻略の際にバレイナさんにはお世話になりました。持ち込み可、レベル継承でいろんな便利アイテムが手に入る低層ダンジョンをひとつ用意してみたい。

2.全面水路・浮遊のみのダンジョン
今のところの案では、『ローグの崖』では空中にいる敵(水路の上とか)に攻撃できないシステムを導入してみる予定です。難易度調節の関係で、そのくらいがちょうどいい緊張感かなぁと。もちろん指輪か剣の印で攻撃できるようにはする予定。で、せっかくのオリジナルシステムなので、それを活かしたダンジョンをひとつ。どの程度の難易度に仕上がるかは未知数ですが。

3.「夜」のダンジョン
前の記事で書いた、呪われた地下庭園を参考にしたダンジョンです。ただそれだけだと面白みがないので、シレンの夜システムを参考に、全敵バーサーカー状態とかも検討中。ヤンガスにのっとって、ミニマップの表示はしない予定。

4.バーサーカーと一緒!
はい! これが本日の記事の目玉ですよ!
トルネコ3をプレイしていたとき、バーサーカーに惚れて、ぜひバーサーカーを仲間として使いたい!と思っていた人は決して少なくないはず!(だと、思う)ところがそのバーサーカーときたら、仲間にしてもほとんど敵と変わらない扱いで、試しに話しかけようと思ったら殺してしまう始末…。せっかく魅力的なモンスターなのに、これじゃもったいない!

ということで、バーサーカーをテーマにしたダンジョンが何かできないかなぁとずっと考えてたんですが、ようやく思いつきました。
持ち込み不可、レベル1からで、最初からバーサーカーが1匹だけ仲間にいる状態からスタート!主人公のレベルは上がらない仕様にして(ここは要検討)、仲間のバーサーカーを頼りにダンジョンを進んでいくシステム。
ただし、このバーサーカーはHPが半分以下になると(ここも要検討)、主人公を襲ってくるようになる。なので、このダンジョンの攻略中は味方バーサーカーのHPが減らないように注意しなければならない。

面白そうだと思うんだけどなぁ…。ただ、アイデアだけだと難易度がやばそう。ここらへんについてはうまく調節する必要がありそうなのです。ちなみにこのシステムがドンキーコング3の『はらぺこニブラ』を参考にして思いついたというのは秘密。

これでとりあえず、4つのアイデア。もう一つは店とかMHとかの要素をうまく絡めたダンジョンにしたいけど、まだごちゃごちゃしてる感じです…。

本日の進捗 妄想中…

ダンジョン内処理の関係でできること、できないことが見えてきたので、その範囲内でどんなダンジョンが作れるかを妄想中。
理想の難易度としては、トルネコ2、トルネコ3のストーリー程度。決して簡単ではなくプレイヤーにいい緊張感を与えられるけど、ムリゲーというほどの難易度でもない。少年ヤンガスは個人的には簡単すぎたかなぁ。
自分自身ソフトプレイヤーであることを自覚しているので、ソフトプレイヤーでも知識と経験があればどうにかできる程度の難易度で済ませたい。

それに、あまりに難しすぎると攻略法ってものが確立されすぎちゃって面白くないのです。特にポポロ異世界なんかは低層でコンボを行うのがほぼ必須だったりするし。自分は不思議のダンジョンは三、四時間あればサクッと潜りきれるような感じのが好きなので、コンボに手を出すだけの気力がないのです。

システムとしては、シレンの食神とか掛け軸裏はなかなか面白いと思った。ただ、あの二つも難易度が高すぎて攻略法が固定されちゃってる感があるので、いまいち。あと肉とかワナ師とかはシステム自体作るのが面倒だし重くなりそうなので、ボツ。

という感じでいろいろ考えた結果、だいたいの案はまとまりました。

前提:ダンジョンにもぐるにはマップという特定のアイテムが必要。ストーリーダンジョンのマップは各ダンジョンの最深層で手に入れられるようにしておいて、それ以外にもサブマップを予定中。サブマップはいろんなイベントを進めたりすることで手に入れることができるようにする。

で、ストーリーマップはトルネコ2の感じを参考にしてみたい。とりあえずストーリークリアまでは8個のダンジョンがあるとして、ソフトプレイヤーにも分かりやすいよう、システム(仲間システム、通路視界システム、未識別アイテム、店、MH)が徐々に解禁されていく感じで。最後の不思議のダンジョンは今までのをまとめた総合的なダンジョンにすれば収まりもいい感じではないか!

次に、オプションのマップ。こちらはストーリーではできないような王道のシステムから若干外れた、テクニカルなものを用意してみる予定。詳しくは…別の記事で書こう。

最後に、クリア後に解放されるマップ。これはトルネコ3のクリア後のダンジョンを参考に。
まず、持ち込み可、レベル1からの王道ダンジョン。トルネコ3では封印、トルネコ2では不思議のダンジョンにあたる。
次に、持ち込み不可レベル1からの王道ダンジョン。異世界とかもっと不思議みたいな感じ。
さらに、持ち込み可、レベル継承の宝物庫的なダンジョン。鍛え上げた装備とか仲間の行き場をなくさないよう、超強力な敵をガンガン出す。どうでもいい話だけど、少年ヤンガスはこういう持ち込み可のガチ難易度のダンジョンがひとつあれば、だいぶ印象が変わった気がする。配合で仲間強化しても、結局行き場がなかったからなぁ…。

閑話休題。

続いてパズラー向けの高難易度ダンジョンもつくる予定。まぼろし的なやつ。と言いながら、自分自身は完全にビビッてまぼろしとか一度もプレイしたことないんだが。クリアできる気がせんぜよ。

ここまでがトルネコ3を参考にしたダンジョンで、少年ヤンガスでもいくつか面白いと思ったダンジョンがあったので、それを参考にしてみようと思う。
まず、夢幻の宝物庫。店とMHが毎階のように配置されるってシステムが結構斬新で、毎度フロアがお祭り騒ぎみたいな状態になるのも面白かった。ただ、これはそもそもの敵の強さがたいしたことない少年ヤンガスだからこそできることなのかも。正直、トルネコ3の基準で毎階層MHが出てきたらクリアできる気がしない。

次に、呪われた地下庭園。こちらはマイナーかつコアながら、ダンジョンが真っ暗ってところがなかなか面白い。シレンの方では似たような感じで「夜」のシステムがあったりするので、そちらも参考にしつつ作ってみる予定。

さらに、いにしえの闘技場。持ち込み可で各階層に必ずMHが配置されたり、大部屋MHでスタートするようなイメージ。トルネコ3でいったら魔物の巣にあたります。

最後に、しゃくねつの大洞窟。個人的にはヤンガスではこれが一番好き! ヤンガスの中では難易度が高めのダンジョンで、後半がただの作業ゲーとなる魔導とかとは違って、最後まで緊張感をもってプレイできるいいダンジョンだったと思う。
ようがん石を投げまくって壁を破壊したり、ばくだん岩を誘爆させたりするのもテクニカルで面白かったし、後半は隣接されたらけっこうな確率で危険な状況に陥るので、そこらへんもいい緊張感だった。
ということで、爆破ゲーみたいなダンジョンをひとつ作ってみたい。ただしトルネコ3の爆指は却下。あれはただのボンバーマンだ。
モンスターが爆発で消えるかどうかは悩みどころだけども…。爆発の種類を何種類か用意して、最大級の爆発のとき(火薬壺)はモンスターが消えるようにしました。
ScreenShot_2014_0719_16_31_03.png
↑参考:爆発で消える店主。

アイテム、ワナ、キャラなどのイベント管理について

15/01/05改稿

いよいよローグライクの中身ですね~。
ダンジョン生成が終わったら、次にアイテムやワナやキャラをどうやって管理するか考えることにします。

・アイテム管理
まぁいろいろ方法はあるでしょうが、個人的には全マスDB+アイテム個別IDでピクチャを使った管理をお勧めします。
アイテムを置くときはマップの全マスの配置アイテムデータを保存しているDBにアイテムの個別IDを書き込み(X5Y10にアイテムID3を置くんだったら全マスDBのデータ5項目10に3を代入とか)、アイテムが拾われたり消滅したりしたら全マスDBから消去する感じですね。

それから、アイテム情報の管理はひとつのDBにまとめてしまうことを強くおすすめします。

装備も消費アイテムも、落ちているアイテムも持っているアイテムも、全部ひとつのDBにまとめておいた方が後々絶対に楽です。処理が簡単になる=バグを減らせるので。ローグの崖で痛い目にあった僕がいうので、これは間違いないです…。

手持ちアイテムの管理については、こちらもいろいろと方法があるでしょうが、個人的には手持ちアイテムのID(102、103とかの数字)をだけを保管するDBをつくって管理することをお勧めします。
もちろん床落ち状態と区別するために、アイテムのステータスとして「手持ち状態」と「床落ち状態」を区別する項目は必要になりそうですね~。

そういえば、ワールドフロンティアでは主人公専用の手持ちアイテムDBを廃止して、キャラクターのステータス内に文字列で手持ちアイテムなる項目を設けました。
こうすることで敵も主人公と同様複数のアイテムを持てるようになったりして管理が楽になることもあるので、興味のある方はそっちの方の記事もご覧いただければと思います。

・ワナ管理
長くなりましたが、ワナ管理です。
こちらは性質上アイテムと似ている(アイテムやワナと同じマスに共存できない)ので、ほとんどアイテムと同じで構わない気がします。ワナ用の全マスDBをつくって各マスにあるワナ情報を保存、主人公が一歩動くたびに全マスDBを参照して、ワナがあるんだったら起動、壊れたら消去みたいな感じで。
アイテム管理を作り終えた人なら、特につまることもないのではと思います。

・キャラ管理
キャラ管理も実はアイテム管理と似たような感じですね~。
全マスDBをつくってキャラの位置情報を保存、キャラが移動するたびに情報を書き換えるだけです。
ローグの崖ではキャラの管理はマップイベントを使っていましたが(配置したらグラフィック変更・死んだら透明画像にグラフィック変更みたいな感じ)、全力でピクチャによる管理を推奨しておきます。
やってみると分かるんですが、マップイベントだと主人公と他キャラとの間に微妙な動作タイミングのズレが生じるんですよね。
他にもいろいろ不便なことが多いので、キャラ管理はピクチャによることをお勧めしておきます。
表示座標はマップチップのサイズ×マップ座標+αで、方向なんかはパターン番号や自動パターン切替を使えばどうにかなりそうですね。

自動消去メッセージウィンドウの作成

TIPS第二弾ということで、今回は自動消去メッセージウィンドウを作っていくことにしましょう!
自動消去メッセージウィンドウというのは、不思議のダンジョンをうろついている際に、敵を殴ったりすると画面下に出てくるあのメッセージウィンドウのことです。
不思議のダンジョンではプレイの快適さを増すため、メッセージウィンドウが時限式で勝手に消去されるようになっていますよね。

これの作り方もいろいろあるとは思いますが、とりあえず自分流ということで。
↓↓↓

・考え方
イベントコマンドにある「文章表示」は一切使わず、自作コモンでメッセージ表示をすべて管理する。
たとえば文字列変数のどれかに「表示メッセージ」とか名前をつけて、その文字列変数に何か文字が代入されたら、それを即座に表示するようにする(なので当然ながら、並列コモンで作ることになりますよね)。表示し終えたら文字列変数の中身をカラにする。メッセージ&文字の表示はピクチャでどうにでもなるはず!

なお、消去については、並列イベントが1フレームに一回実行されることをうまく活用します。
時間計測用の変数を用意して、並列が実行されるたびに+1するように設定(これで1フレームが計測できるわけです)で、。この変数が一定値を超えたら表示されているメッセージウィンドウ&文字のピクチャを消去すればそれでOKですね。
簡単簡単!

注意事項としては、どこかのイベントで表示文字列の変数をいじったら、そのあとに必ず1フレームウェイトを入れること
メッセージ表示を並列で組んでいるので、1フレームウェイトしないとイベントが実行されず、たとえば表示文字列にAという文字列を代入→その直後にBという文字列を代入したようなとき、Aの文字列が表示されなくなってしまいます。

ではでは、今回は短めながらこのへんで。

本日の進捗 タイトル画面作成!

ダンジョン内処理の基本システムが一通り出来上がったので、気分を変えてタイトル画像作成しました。。

ScreenShot_2014_0713_12_09_29.png
このサイトさんから素材をお借りしました。超感謝です!

ttp://www.ac-illust.com/

さらっとタイトル名が表示されてますが、世界観とかいろいろ考えた結果『ローグの崖と巨大迷宮』に決定しました。
崖の地下空間に巨大迷宮(不思議のダンジョン)が広がっている的なアレです。
これから本格的にゲーム内容を作っていくわけですが、このタイトル画像のカッコよさに見合うだけのものになるのかどうか、かなり不安なのであります!

本日の進捗 仲間加入!

アイテム関連の処理とかNPCの移動処理が一通り終わったので、いよいよ仲間加入に着手。
とりあえず仲間になるようにしてみた。
ScreenShot_2014_0711_11_12_33.png
↑モッチがかわいすぎたので思わずスクショ!

ちなみに仲間の行動処理は敵の行動AIを使い回してます。
まだ徘徊して敵を殴るくらいしかできないけど、そのうち命令もつくる予定(一緒に行動、自由に行動、その場で待機)。
どんどんNPCの移動処理の行数が増えていくのが一抹の不安です…。

[地形生成]セルオートマトンを使う

ランダムダンジョン生成のおまけとしてセルオートマトンについてもちょっと触れておきます。
セルオートマトンを使うと一マス通路をいい具合に拡張できたりしていろいろ夢が広がりますね~。

例によって参考にしたのは、このサイトさん。
ttp://www40.atwiki.jp/spellbound/pages/384.html

手順はこんな感じ。とりあえず今回は床(チップA)と天井(チップB)の二元配置図をつくってみることにします。

マップの全マスを、チップAとチップBのどちらかでランダムに書き換える。

一マスずつすべてのマスを走査して、チップBの周囲8方向にチップAが4マス(ここらへんは適当)以上あるときは、そのマスをチップAに書き換える。

床と天井の配置がいい具合になるまで手順を繰り返す。

というように、手順もクソもないくらいに簡単です。
風化で岸壁が削れていく感じを、プログラム上で再現したような感じなのかなぁ。
行数は増えますが、かなりリアルな地形を簡単につくることができるのでとっても便利です。
ただし、セルオートマトンだけではすべての部屋がつながったダンジョンをつくることは不可能なので、他のアルゴリズムと組み合わせて地形の形を整えるのに使ってみるとちょうどいいような気がします。

ScreenShot_2014_0709_20_28_49.png
『ローグの崖と巨大迷宮』より完成例。簡単なアルゴリズムながら、わりとそれっぽい水路を作ることができました。

ScreenShot_2014_1006_07_57_40.png
そして『ワールドフロンティア』より進化形。この地形は(ほとんどすべて)セルオートマトンによって自動生成されています。
Twitter
カテゴリ
最新コメント
月別アーカイブ
カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR