fc2ブログ

テストプレイヤーさんの募集について

2014/9/5
募集終了しました。一応、元記事だけ残しておきます。


自作PCゲーム『不思議のダンジョン ローグの崖と巨大迷宮』について、自分だけのデバッグ作業に限界を感じたので、外部のプレイヤーさんを募って、テストプレイをお願いしたいと思います。
個人製作ゲームなので無報酬ですが、テストプレイをやってみたい方は気軽に連絡をいただければと思います。

連絡先:『koyoru12★yahoo.co.jp』(★→@)

・内容
ゲームのデバッグが目的ですが、普通にプレイしていただければ大丈夫です。
できれば本編クリアまでお願いしたいです。時間は5~10時間程度。そんなに難しくはない(はず)。
何らかの事情でクリアまでたどり着けない場合は、その時点まででもOKです。
ちなみにファイルサイズは32.5MBです。

・条件
パソコンでのゲーム、メールのやり取りについて支障のない方。
やや重いゲームなので、お使いの環境によってはプレイに支障が出るかもしれません。
プレイ期間をだいたい2~3週間ほどで設けようかと考えているので、ある程度自由な時間の取れる方。
不思議のダンジョンをプレイしたことのある方(の方がいいかもです…。プレイ経験なしでも大丈夫ですが)。
もしかするとこちらの都合でお断りすることがあるかもしれません。

・その他
ただのフリーゲームで、せいぜい名前のクレジットでくらいしかお礼をできないため、
こちらもあまり重荷を課すことなく自由な感じでいきたいと思います。
難しく考えずに、気軽に応募していただければ嬉しいです!


以下、ゲーム紹介。


ジャンルは不思議のダンジョンRPG。イメージとしてはトルネコ3に近い感じで、難易度はあれよりも低め。
ゲーム内容の説明はスクリーンショットに一任します。

エンディング1
いろんなモンスターを仲間にして戦う。登場するモンスターは100種類を超え、そのすべてを仲間にできる。

ScreenShot_2014_0729_00_01_00.png
仲間モンスターはいろんな特技を使って個性的な戦いを繰り広げる。

エンディング5
例によってレベルアップした狂戦士に襲われて一撃死したり、

エンディング6ドロボー
ドロボーに手を染めたり、

エンディング7MH
開幕モンスターハウスでえらい目に遭ったりします。

ScreenShot_2014_0806_08_28_18.png
登場するダンジョンの数は、ストーリー8個、オプション5個、クリア後6個の計19個。
持込ありなし、レベル継続、レベル1からを含めて、個性的なダンジョンがそろいぶみです。

その他、未識別アイテムに名前をつけたり、武器盾指輪を合成したり、と基本的なシステムはひととおりそろっています。
少しでも興味をもたれた方は、ぜひぜひご応募をお願いします!!
スポンサーサイト



本日の進捗 ダンジョン部分完成!

できた。
長かった。

ScreenShot_2014_0822_20_51_59.png
いちおうロード画面なるものも作ってみました。

ダンジョン数は、
ストーリー8個+クリア前オプション5個+クリア後解放6個
の計19個。

ダンジョンそれぞれに個性があって、
たとえば武器と盾を合成しながら進むダンジョン、部屋も真っ暗でミニマップなし+全モンスターバーサーカー状態のダンジョン、フロアアイテムは金だけでお店でお買い物しながら進むダンジョンなどなど個性的なものがたくさん。
もちろんクリア後はいわゆる持込可能ダンジョンやもっと不思議などなど各種ダンジョンがそろい踏み。
いろいろなことが試せるので、作るのは大変だったけどなかなか面白い作業でした。
あとはストーリーを若干作れば、とりあえずゲーム完成ですね!

…デバッグを除けば、だけど。

本日の進捗 クリア後ダンジョン99Fその3

持込ありレベル継続のガチダンジョンを作って99Fまで降りてみた。
先日の持込不能ダンジョンはクリアまでに8時間とかかかってたけど、今回はサクサク進んで1時間半程度。やっぱりこのくらいの長さがちょうどいいのだ、個人的には。

さて、これでとりあえずクリア後のメインダンジョンは完成。
あとはいわゆるまぼろしの洞窟的なパズル要素の強いダンジョンを作るつもりだけど、あちらは99Fにはしないつもり。というのも、どうせレベルが上がらないのに99Fまであってもなんだか面倒だし、長さが難易度を上げるためだけにしか役立ってないみたいでいまいち苦手です。緊張感をもって、かつ面白く、また潜りたいと思えるようなダンジョンを作らねば!
てことで、まぁ50Fってところかなぁ…。
ScreenShot_2014_0817_07_30_33.png

そういえば、こちらも潜っている最中に5個ほどバグを発見しました。とりあえず対応策はとったけれど、はたして本当につぶせているのかは微妙なところ。
この調子だとなぁ…絶対バグあるよなぁ…まだまだたくさん。


ScreenShot_2014_0815_08_03_16.png
↑余談。そういうレベルになったので、例によって店主を捕獲してみた。
しかしクリア後は状態異常攻撃をしてくるヤカラが多いため、特殊攻撃を無効化できない店主にはあまり日の目が当たらないかもしれません。
タイマンだったら明らかに誰よりも強いんだけども。
まぁ、コレクター的要素が強いので、実用性はあまり気にしなくてOKですね。

ミニマップの作成

ミニマップですが、別にこれもローグライク必須ってわけでもないのでTIPSの方に。
通路の壁を描画するタイプと床を描画するタイプがありますが、床を描画するタイプでつくってみます。

当然ながら、マップ座標の1マスごとに1ピクチャ使って描画していきます。
なのでマップサイズが100×100だったら、最大1万枚+αのピクチャを使うので、どこかにミニマップ用のピクチャ番号をどかんととっておくといいと思われます。

さて、とりあえず床のドットとなる小さなピクチャを用意しましょう。
1×1ピクセルだとさすがに小さいですが、2×2ピクセルとか3×3ピクセルとかでいいと思います。

で、なるべく処理を軽減させるために、ランダムダンジョンを生成した時点で、あらかじめ不透明度0で全部ミニマップを表示してしまいましょう。
マップ横サイズ×マップ縦サイズ分ループさせて、移動可能なマスには床ピクチャを描画します。320×240なら1マス16ピクセル、640×480なら1マス32ピクセルなので、ここらへんを使えば画面上の描画座標も簡単に取得できそうです。
あと、マップ座標とピクチャ番号に互換性を持たせるとのちのち便利ですね。

こうしてあらかじめ不透明度0で描画しておくことで、1ターンごとの処理が主人公とその周囲の床ピクチャをピクチャ移動で不透明度255にすることだけで済みます。
ローグライクではとにかく処理の重さに余裕がないので、極力処理量を減らす努力が必要ですね。

で、床描画ができたらオブジェクト系をその上のレイヤーに描画していきます。
こちらでもオブジェクトのIDとピクチャ番号に互換性をもたせて、移動処理のついでに自分のピクチャのミニマップを動かしたりすると楽なんじゃないかと思います。

PC操作

1ターン処理を呼び出すトリガーとなるPC操作イベントをつくっていきます。
基本的にPC操作イベントはキー入力受付を無限ループさせるイベントですね。
並列実行のイベントでキー入力を受け付けてもできなくはないですが、自分がローグの崖を作った経験からすると、並列実行イベントはバグの温床なので、極力使うのを避けたいところです。

中身はこんな感じ。「1ターンの処理を実行」から呼び出されているイベントです。

[ループ地点]
キー入力受付:決定、キャンセル、四方向、サブetc…

条件分岐
1.決定 攻撃処理を呼び出してループ中断
2.キャンセル メニュー処理呼び出し
3.四方向 移動可能なら移動させてループ中断
4.サブとか 方向転換とかその他もろもろ呼び出し

ウェイト1フレーム
[ループ地点へ戻る]

簡略化したものですが、だいたいこんな感じです。
ようは、ループ内でキー入力を常時受け付けるようにしておいて、キー入力されたらそれに対応するイベントを呼び出し、なおかつターンを進める場合はループ中断して、このイベントを呼び出している「1ターンの処理を実行」イベントに戻ってNPC操作なんかを進める、という感じですね。
並列実行のイベントではないので、NPC操作中にキー入力を受け付けてしまってターン処理が二重に呼び出される、とかいうバグも防げます(ローグの崖ではそれで何度泣いたことか…)。

あとは状態異常で行動不能になっていたり行動制限がかかっていたりする状態なんかを追加していけば、PC操作はわりと簡単に完成するんではないかと思います。

NPC操作

ターン制を曲がりなりにも実装したので、いよいよAI構築に入っていきます。
ローグライクではこのAI行動処理を1ターンごとに、存在するオブジェクト数分ループさせるので、超高頻度で呼び出す処理になります。

そして、お分かりでしょうが、このコモンイベントの内容によってゲーム自体の処理の重さが決まってきます
自分でもローグライクを作った結果、快適速度で主人公を移動させつつ、処理の重さを気にさせない(コンマ以下のつっかかりが気にならない程度の)コマンド数はだいたい1ターンに2~3万が限度ってところでしょう。
それ以上を超えてくると、移動のたびに体感できるレベルでつっかかったりするので、とにかく無駄な処理を省くつもりで作っていきたいところです。

で、AIをつくるまえに自分なりに思ったことを書いておきますが、ここの処理は意図的に簡略化させた方がよいです
気合入れて「超高度なAIつくってやるぜー!」ってつくりだすと、かなり後悔することになります。
AIは必要最低限にしておいて、ゲームの深みは攻撃処理とかで出せばいいや、くらいの気持ちでつくっていくとちょうどいいんじゃないかと思います。

サンプルは以下の通り。
1.行動可能判定。行動不能なら終了。
2.攻撃判定。使用できる特技に応じて、特技の効果範囲内に敵がいるか判定。敵がいたら攻撃処理を呼び出して終了。
3.攻撃しなかった場合、移動判定。移動するのであれば座標関連のDBを動かして、キャラピクチャ(ないしイベント)の移動描画処理を呼び出す。

シンプルですが、だいたいこんな感じになるのではと思います。
移動判定に関しては、目的座標とか目的オブジェクトとかいう概念を活用するとつくりやすいでしょう。
目的が設定されていればその座標ないしオブジェクトに接近するように行動、目的が設定されていなければ、近くに(自分から見て)敵状態の生物がいればそいつを目的に設定、みたいな感じで。
純粋な不思議のダンジョン系ローグライクの場合は、フロアの循環のために、目的座標に部屋の入り口の座標なんかを利用することになりそうです。

AIは作り込めば作り込むほどゲームの奥深さを増す可能性がありますが、作り込んだ分だけ処理が遅くなるということを常に頭に入れておくとよいと思います。

本日の進捗 クリア後ダンジョン99Fその2

前回は持ち込みありだったけど、今回は持ち込みなしのもっと不思議風を作って99Fまで下りてみた。

ScreenShot_2014_0809_09_03_49.png
↑もっと不思議恒例のダースドラゴンもといドラゴンロードの捕獲風景。フロアホーミング40ダメージ炎がどこからでも飛んでくるので捕獲も命がけ。とはいえ、やっぱりポポロ異世界よりは易しめの難易度だけれど。
いろいろ考えた結果、こいつだけはフロアに2体以上出現したら鬼畜ゲーになりすぎるので、低確率配置+フロアに1体のみ出現ということにしてみました。


ScreenShot_2014_0809_09_05_30.png
こちらはクリア画面。自作ゲーのクリア画面をのっけるのもなんかアレなんだけど、一応。
やっぱりそれ相応の難易度なのでレベル上げ+アイテム集め+慎重に進んでいると、どうしてもこのくらいの時間がかかってしまう。本当はここまで時間がかかると何周もする気が失せるので、最長でも5時間くらいでさっさと降りられる難易度にしたかったのですが。
ちなみに作者自身も99Fまで下りるのに何回か積んでリセットしてたりします。私は正直トルネコ2のもっと不思議もトルネコ3の異世界やまぼろしもシレンの最終問題も掛け軸裏も食神もクリアしたことのないヘタクソプレイヤーなので、本当のトルネコラーとかシレンジャーにとってはこのくらいがちょうどいい難易度なのかも。

バグの方はやはり原因不明のものが数個。やや致命的なものもあるのでどうにかしたいところだけど、はてさて。
でもとりあえず、99Fまで50万エラーが出たことは一度もなかったので、そこだけは安心。正直他のエラーはエンターキー押してりゃどうにかなるけど、50万エラーだけはどうしようもないので、何としてでも回避せねばならんのです。

ともあれ、これでクリア後ダンジョンは2つ完成。あとは持込ありレベル継続のガチダンジョンをひとつ、まぼろしみたいな高難易度ダンジョンをひとつ、それともうひとつ作りたいダンジョンがあるのでそれを作って、とりあえずダンジョンの方は完成。それから後回しにしていたセーブ処理やストーリーの手つかずだった部分を作り上げて何回か周回テストプレイしてデバッグして…。
いつになったら公開できるんですかねぇ、コレ。

本日の進捗 クリア後ダンジョン99F

エンディングとか作るのがだるくてすっ飛ばして、とりあえずダンジョンだけ全部作ってしまおうという気になったので、
ゴリゴリダンジョンを作っている最中です。

で、今日の一枚。
ScreenShot_2014_0806_08_28_18.png
クリア後の持ち込み可能、レベル1スタートダンジョンでの光景です。いつの間にやら99Fに到達してたりしますね。

で、まぁ99Fに到達したのはいいんだけど、とりあえずバグが多すぎる。実際潜ってる最中に2回くらい50万エラーで止められたし(これは原因が分かったのでバグつぶししたものの)、時々見えないアイテムが落ちてたり、バグじゃなくても仕様と言い切っちゃっていいのか分からないくらい微妙な処理だったり…。なんにせよ99Fダンジョンを潜るのにバグで止められたらその時点で投げられるだろうし、デバッグはきちんと行わないといかんのです。

あとはまぁ、バランスの問題。当初から予想していたものの、仲間あり&装備ありだとやはりヌルくなりすぎるきらいがありますね。随所でバランス調整は行っているけど、なかなか難しいものです。
今回のダンジョンはもともと持ち込みありレベル1スタートのやさしめのダンジョンなのでいいとして、トルネコ3でいう宝物庫あたりはガチの装備&仲間で挑んで楽しめるダンジョンにしたいので、バランス調整がやっかいな感じ。

とりあえず今のところ、ダンジョンはストーリー8個+テクニカル5個+クリア後1個で14個完成済み。
ボリュームだけなら十分すぎるくらいの量があるのではないかと自負しております。

1ターンの処理内容

15/01/06改稿

メインループから呼び出される、1ターンの処理を実行するコモンイベントをつくっていきます。
まぎれもなく、ローグライクの根幹たるコモンイベントです。テンションがあがりますねぇ()

おおざっぱな内容はこんな感じ。

[ループ地点]
プレイヤーの操作受付

分岐1:プレイヤーが何らかの行動をした場合
NPC操作
状態更新
(この過程でプレイヤーが死亡したらループ中断して、メインループからゲームオーバー処理を呼び出す)

分岐2:プレイヤーが階段を下りた場合
ループ中断して、メインループから階層を更新する処理を呼び出す

分岐3:プレイヤーが何もしなかった場合
ウェイト1フレーム


ループ地点へ戻る

ということで、みれば分かりますがローグライクをやっている間はこのコモンイベントを延々とループさせ続けます。
要するに、プレイヤーがなんらかの操作をするのを監視して、操作されたらNPCを動かしたりするって感じですね。
何の入力がなくても、ウェイト1フレームを入れてあるので、もちろん50万エラーにはなりません。
階段を下りたりゲームオーバーになったりするのは大きく場面転換する処理なので、ここでは行わず、一度メインループまで戻してから、メインループから直接呼び出してもらうことにします。

なんだかひどく簡素に見えますが、これで後はプレイヤー操作とかNPC操作とかの中身をつくっていけば、ローグライクが完成しちゃうんですね~。
ね、簡単でしょ?
Twitter
カテゴリ
最新コメント
月別アーカイブ
カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR