3DダンジョンRPGエディタを作るスレ (579レス)
上下前次1-新
535: 520 2016/01/19(火)22:57 ID:u9fe2fGH(1) AAS
迷路の描画については、魔法のマッパーが有効な時の俯瞰表示と、
メインウィンドウとなる疑似3D迷路の2つがある。
俯瞰表示については、フロアマップのセル群のうち、所定の範囲
(この場合、進行方向前後5マス、左右3マス)にあるものについて、
進行方向が画面上側になるように回転させて描画する。
描画する際はセル単位に相互に重ならないように描くようにすれば、
描画順序(セルの保持順序)を気にしなくてもよい。
それに対して(Zバッファを使わない)疑似3D表示については、
奥から手前に向かい、左右は両端から中央に向かって描画
する必要があるため、現在の地点座標と向いている方角から、
省8
536: 520 2016/01/20(水)23:38 ID:yqZ8gL0+(1) AAS
マップエディタでは、迷路形状データの編集と合わせて
マップ上に様々な仕掛けを配置することも重要な機能である。
仕掛けとは、ターンテーブルやワープなどの罠だけではなく、
階段によるマップ間移動や、会話イベント、宝物の配置、
店や宿などの施設の設定全般のことである。
これらの仕掛けをマップデータ中に定義する方法としては、
マップ上の該当セルにユニークな名称(ラベル)を設定するとともに、
その名称に対応する仕掛けの内容を説明した任意様式の設定資料を
併用する方法が考えられる。
仕掛けの内容は当然ゲーム内容によって変わるものであるため、
省13
537: 520 2016/01/27(水)23:34 ID:VDw6Dqmf(1) AAS
そこで、マップデータにイベントを埋め込むという発想を拡張し、
イベントやマップ情報をひっくるめて「3DダンジョンRPG」そのものを
コントロールする処理システムというものを考える。
コントロールする対象は、ターンテーブルやマップ間移動のような
迷路のトラップに関するもののほか、情報を表示するためのウィンドウシステム、
プレイヤーの入力UI、ゲームの進行を管理するフラグ等、
制御内容を容易に"記述可能"なものから順に考えている。
これにより、イベントの設置、つまり制御内容を記述しテストする作業を、
迷路の設計と並行してマップデザイナー(兼シナリオライター)一人で
完結させるのが目的である。
省6
538: 520 2016/01/28(木)22:08 ID:dhlMU4Pp(1) AAS
参考のために一例を示す。
画像リンク[png]:amadela.web.fc2.com
マップ上を移動し、このセルに踏み込んだら、
このセルのマップ情報に付帯しているスクリプトを
テストプログラムが解釈する仕掛けになっている。
上から順に、画像ファイルを指定して表示、
ウィンドウを開く、テキストを表示する(2行)、
プレイヤーのキー入力待ち、画像消去、ウィンドウ消去
を意図した記述になっている。
画像ファイルとメッセージ文字列以外は一般に定型でよいため、
省4
539: 520 2016/01/29(金)22:08 ID:iWN0LHQ9(1/2) AAS
もう少し複雑になった例を示す。
画像リンク[png]:amadela.web.fc2.com
宝箱があり、開けるかどうか聞かれ、「はい」と答えると中身を入手する
パターンである。
ウィンドウにテキストが表示されるあたりは前例と同様で、
「はい」「いいえ」の回答によって分岐する部分があることと、
魔ッ貨と宝玉の入手にかかわる内部変数操作、そして、
宝箱開封済みを示すフラグの操作で構成される。
このスクリプトはマップデータ中の該当セルに埋め込んであるが、
魔ッ貨、宝玉および取得済みフラグについては、
省6
540: 520 2016/01/29(金)22:24 ID:iWN0LHQ9(2/2) AAS
このほか、階段の昇り降りやエレベータ判定、店などに入った時の切り替えも、
同じようにマップセル中にスクリプトとして記述できる。
店や回復施設など、複雑な選択操作やデータアクセスを伴うものについては、
別途プログラマが実体を開発する必要があるが、マップ上の特定地点に
その施設を置くという指示は、マップデザイナーに委ねることができる。
また、併せてストーリー進行に関しても、フラグを併用して迷宮内の謎を解きながら
探索するというパズル性も、若干プログラミング的な思考を伴うが記述可能で、
エディタ上でテストできる環境が整った。
現在、試しにFC版女神転生のダイダロス塔(静玉をとってエレベータに乗れるまで)を
このシステムで収容できるかどうかテストしているところである。
541: 520 2016/02/11(木)06:26 ID:TKq/gaXF(1) AAS
ダイダロス塔クリアまでの迷宮マップとイベントの設置テスト結果について。
このエリアの1階には一部に一方通行の場所とダークゾーンがあるが、
これらを含め、宝箱や壁の落書きなど全てそれっぽく収容することができた。
画像リンク[png]:amadela.web.fc2.com
セル単位に東西南北の壁または通路を記憶する本方式では、
隣接部屋間のその設定値を敢えて不整合にすることで
一方通行を設定することができる。
定型的なトラップの一種なので、エディタ上で入力サポートするように
機能を追加した。
ダークゾーンについては、階段と同じように、該当セルにフラグを立てて置き、
省6
542: 2016/02/12(金)16:23 ID:iP/PhpAe(1) AAS
がんばって〜
どこまで作るか知らないけど
543: 520 2016/02/13(土)04:45 ID:sZ75RTIP(1/3) AAS
当面の目標はファミコン版女神転生を収容できるシステム&エディタを自作することで、
現状、3D迷路のマップデータとトラップ類の設置については既報のとおり完了した。
幸いにして実機およびROMカセットを所有しているのと、攻略サイトやプレイ動画等
豊富に情報があるので入力と検証も自力で可能なのがありがたい。
問題があるとすれば今後のモチベーションをどのように保っていくかと思われる。
544: 520 2016/02/13(土)05:36 ID:sZ75RTIP(2/3) AAS
ここからは開発の焦点を変えて、このゲームのプレイ要素の一つである
キャラクターメイキング、パーティ編成のシステムの実装について検討する。
最終的に、戦闘システムの勝敗に関わる要素であるため、バランス調整が
肝になると予測されるが、まずはプレイヤーとのインタフェース部分から考えていく。
本作中には、戦士型のナカジマ、魔法使い型のユミコと、その他仲魔の3タイプの
キャラクタが登場し、その設定項目がタイプ別に微妙に異なることと、
それに応じてステータス画面のレイアウトも変える必要がある。
共通する要素としては、
・名前、種族、レベル
・強さ、知力、攻撃、機敏さ、運もしくは防御
省8
545: 520 2016/02/13(土)05:50 ID:sZ75RTIP(3/3) AAS
AA省
546: 520 2016/02/16(火)21:35 ID:OSyFbIMG(1) AAS
キャラクターメイキングの画面を試作した。
画像リンク[png]:amadela.web.fc2.com
また、同種の方法でプレイヤーのステータス画面および
仲魔のステータス画面も実装してみた。
画像リンク[png]:amadela.web.fc2.com
ステータス画面に、キャラクタの肖像画が表示されるというのは
FC版で、特に印象的だった記憶がある。
試作プログラムにおいてもその仕様に準拠し、
複数枚の画像を用意すればアニメーションも可能である。
なお、プレイヤーたちの画像および悪魔の画像については、
省2
547: 520 2016/02/23(火)04:44 ID:VJ1v/4yS(1) AAS
このゲームでは、パーティに悪魔を加えるためには、
事前に交渉(もしくは合体)の上で「仲魔」として登録が必要とされる。
仲魔はFC版では最大7体まで登録可能である。
この「仲魔登録」クラスの設計については、以下の仕様とする。
(1)初期状態では空っぽとする
(2)登録しようとする悪魔が既にエントリされていないかチェックする
(3)登録数が上限に達していないかチェックする
(4)登録可能な場合、悪魔の種類と現在のHP、MPをセットで配列末尾に登録する
(5)登録されている悪魔を抹消し、配列を詰める
(6)悪魔データベース記載の最大HP,MPを参照し、回復に必要な金額を算出する
省1
548: 2016/02/24(水)21:20 ID:3aPoux15(1) AAS
なんの言語を使っているのだろう。
配列じゃなくList型とかでもいい気がする?
class Nakama {
int hp, mp;
}
List<Nakama> nakamaList;
みたいな。
ちなみに自分は、敵、味方、(未実装だけど味方が召喚したのも)
Characterクラスで統一して、
List<Character> characterList;
省1
549: 520 2016/02/25(木)22:31 ID:cdKIzSfc(1) AAS
システム設計上の話とプログラミングの話を曖昧にして申し訳ない。
ゲームの仕様上は、要素数に上限のある配列構造を準備できればよく、
プログラミング上、必要な操作ができるのであれば、
listでもarrayでも構わない。
ただ、この仕様で敢えてlistを採用するメリットが見いだせない。
と言ってデメリットもないような気もするが、、
高々7個程度の要素数では、効率云々を議論するまでもなく、
結局、どっちでも構わないと思う。
なお、的確な指摘であるだけに、最後の「w」は残念だ。
550(1): 2016/02/27(土)00:05 ID:xKWjyR2t(1) AAS
おおう、申し訳ない。
「w」はクセのようなもので他意はないです。失礼しました。
なるほど、論理設計上、配列的な設計ということですね。
3Dダンジョン繋がりで、いろいろ参考にさせてもらってます。
(「セル」という名前付けは同じなんだなー、とか、
セル同士リンク構造でつなげてるんだなー、とか(うちはX×Yの方形構造))
551: 2016/02/27(土)18:53 ID:k3nxuSN5(1) AAS
3Dダンジョン ウィザードリィをベースに作ってる
ワイヤーフレームと3D画像と
552: 520 2016/02/28(日)21:40 ID:fYTROrM4(1/2) AAS
引き続き、その「仲魔登録クラス」の利用方法について検討する。
戦闘状態で交渉に成功したときに、登録エントリーの末尾に新規登録するのは
特に問題はないと思われる。
COMP→よぶコマンドを実行したときには、
「登録している仲魔のうち、まだ召喚していない悪魔」の選択リストを作る操作と、
その選択画面でカーソルを動かしたとき、呼び出しコストの見積もり表示を更新する
処理が必要になる。
この処理の実装に、汎用的なメッセージウィンドウを流用するのが困難であれば、
専用の選択ダイアログを作る価値はあると思う。
画像リンク[png]:amadela.web.fc2.com
省11
553: 520 2016/02/28(日)21:57 ID:fYTROrM4(2/2) AAS
>>550
セル(部屋)をリストで管理する方法については>>533で述べたように、
広さや形、フロア間の相対的な位置関係を気にせずに
ストレスなく作成、編集できるようにするための実装であるが、
方形配列に比べてアクセス効率が悪いデメリットがある。
しかし、これも仲間登録クラスの実装の問題と同じで、
今のPCなら速度的に大して問題にならないという理由で、
3Dダンジョンに限らず、拙作のドラクエ風ゲームでも採用している。
ただし、マップデータの保持がそうなっているだけで、
マップを表示する処理クラス内では、速度的な効率改善のため、
省2
554: 2016/03/04(金)19:52 ID:4OMe0RSY(1) AAS
なるほど、セル=1マスじゃなくてセル=1部屋だったのか。通りで
>1フロアあたりせいぜい100セル程度
100って少ないと思ってたんだ(20x20でも400マスだし)
上下前次1-新書関写板覧索設栞歴
あと 25 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.012s