#author("2023-07-12T08:24:36+00:00","default:admin","admin") このページにはBakinの機能を組み合わせて使うことでさまざまなゲームシステムを実現する制作Tipsを記載しています。 下記に登場するサンプルプロジェクト「Orb Stories」「ダンジョンRPGサンプル」は、Bakinのトップメニュー>ゲームギャラリーにあります。 #Contents ---- *プレイヤーを透明にする [#w28c059b] 「ダンジョンRPGサンプル」では一人称カメラにした際プレイヤーを非表示にするために、データベース>キャストの移動用グラフィックに、「グラフィック設定をしないスタンプ」を設定しています。 -「ダンジョンRPGサンプル」のデータベース>キャストの「ケン」を見てみてください。 移動用グラフィックをクリックすると、DungeonPlayer_2Dという2Dスタンプが割り当たっているのがわかります。 -次にリソース>2DスタンプでDungeonPlayer_2Dを見てみるとグラフィックのところは指定無しにしています。 またサブグラフィックもグラフィックに何も指定せずに、ローカルライトだけ設定しています。 これはプレイヤーが明かりを持っているように前を照らすために設定しています。 -このグラフィック指定をせずにサブグラフィックのローカルライト設定のみを加えたスタンプは、「ダンジョンRPGサンプル」のB1マップのラストボス戦でも使用しています。 このスタンプをイベント化した状態でマップに配置しておき、ボスを倒す前は「イベントのサブグラフィックの表示状態変更」パネルでサブグラフィックをオフにしておきます。 そしてボスを倒した後はサブグラフィックをオンにしローカルライトを有効にすることで、部屋の明るさを変える演出を実現しています。 ---- *グリッド移動 [#bae9f034] グリッド単位の移動(地形のマス目単位に動く)は共通イベントを使うことで実現できます。 -「ダンジョンRPGサンプル」のコモンイベントパレットにある「グリッド移動」イベントを参考にしてみてください。 このイベントをエクスポートし、ご自分のプロジェクトの共通イベントでカスタムイベントを作成し、そのイベントにインポートすることでグリッド移動を導入することもできます。 -歩くスピードはイベント内にある「プレイヤーの移動スピードを変える」パネルで変更できます。ただし現状あまりスピードを遅くすると段差が登れないケースがありますのでご容赦ください。 -イベントでは、プレイヤーの操作を禁止した上で、改めて押された方向キーを確認。指定の角度にプレイヤーを移動させ、かつグリッドの中央に吸着させています。 ---- *バトル中のパーティに「前列/後列」の概念を導入する [#ta19d638] 「ダンジョンRPGサンプル」のバトルでは、パーティ側に前列/後列の概念を設定しています。(シンプルにするためにあえて敵は前列のみにしています。) 後列のメンバーは射程の長い武器を使わないと敵を攻撃できませんし、逆に敵からも素手の攻撃は基本当たりません。 これらの仕組みは下記の機能を設定することで実現しています。 **バトルレイアウトで味方パーティメンバーの立ち位置を設定する [#b194dca4] ゲーム定義>[[ルールと操作]]>バトルレイアウトの設定や、マップ設定パレット>敵分布、イベントパネル「バトル実行と結果の確認」にてバトル時の敵味方の配置の指定ができます。 バトル中の表示位置だけではなく、敵味方の距離もここで設定した内容をもとに算出されます。 ダンジョンRPGサンプルでは下記の画像のような配置をしています。 #br #ref(./バトルレイアウト.png,70%) **射程を設定する [#i50a14a0] 射程の概念をバトルに導入するにはまず、ゲーム定義>[[ルールと操作]]にて「射程を使用」をONにします。 そして「射程判定タイプ」を後述する「列」または「距離」のどちらかを指定してください。 「列」と「距離」の違いはゲーム定義>[[ルールと操作]]>「射程判定タイプ」をご覧ください。 次にデータベース>アイテムや、データベース>キャスト>基本タブにて、武器やキャスト自身(素手攻撃)の射程を設定する必要があります。 射程の単位はバトルレイアウトのグリッドです。 「ダンジョンRPGサンプル」のバトル中にメンバーの上に出ているFront/Backの表示はレイアウトツール>バトルステータスにて表示物を設定しています。 ---- *ダメージ表示 [#iad7936d] 「ダンジョンRPGサンプル」ではバトルシーンにて、パーティのステータス表示部分に攻撃されたときのダメージ値やエフェクトが出るようになっています。 - これはレイアウトツール>バトルステータス画面に特殊座標指定タグDamagePositionを設定したパーツを配置することで実現しています。 レイアウトパーツリストに「ダメージ表示位置」というコンテナがありますので参考にしてください。 ---- *パーティの並び替え [#w8406267] 前列/後列の概念がバトルに入ると、深いダメージを負ったメンバーを後列に回す、といった順番の並び替えに意味が出てきます。 「ダンジョンRPGサンプル」ではバトルコマンドとして「場所入れ替え」をできるようにするとともに、戦闘不能になったメンバーを自動的に後列に回すといった処理も行っています。 **バトルコマンド「場所の入れ替え」を有効にする [#xae9f1c4] バトル中に並び替えコマンドを使えるようにするには、データベース>[[キャスト]]>バトルタブの「バトルコマンドのメニュー」にて、割り当てる機能に「場所を入れ替える」を指定したコマンドを作成してください。 **「状態」による自動的並び替えを有効にする [#h32d4878] バトル中の状態によって自動的にメンバーを後列に送るには、まずゲーム定義>[[ルールと操作]]にて「バトル中の状態による並び替えを使用」をONにします。 またその際、必要に応じて「状態解除時に元の並びに戻す」をONにしてもいいでしょう。 そして、どの「状態」になったら後方に下がるのかは、データベース>[[状態定義]]の基本設定「付与の間、パーティの後方に移動」にて指定します。 ---- *バトルの背景切り替え [#mbcbcc4b] 「ダンジョンRPGサンプル」では、エンカウントバトルとボスバトルなど必要に応じて背景の2Dグラフィックを切り替えています。 これはイベントを使って実現しています。 -まずバトルマップとして使用している「Dungeon_2DBattleMap」に背景グラフィック用のイベントを配置します。 そのイベント内に変数値によって起動するイベントシートを複数用意し、それぞれに背景用グラフィックを割り当てています。 -そのうえでバトルが発生するイベントにて、背景に使いたいイベントシート用の値を変数に入れることで背景を切り替えています。 ---- *レイアウト上に表示する項目の絞込み [#ub90277f] 「ダンジョンRPGサンプル」では、「アイテムリスト」や「図鑑」にあたる各メニューにて、「武器だけ」や「貴重品のみ」といった表示する項目の絞込みを行っています。 これはデータベースの「管理タグ」とレイアウトツールの機能を組み合わせて実現しています。 **データベースの管理タグ [#nda5276c] データベースの項目ツリーの下に位置する管理タグ+メモ欄に、”#”を付けたタグを自由に設定できます。 またアイテムは基本設定の「消耗品」「武器」「防具」の設定や価格を0に設定することで内部的にタグが生成されています。 **レイアウトツールでのタグによる絞込み [#w6df7914] タグがついた項目のうちどれを表示するかをレイアウトツールで指定します。 アイテム選択画面などのレイアウトプロパティーにある「表示するアイテムの管理タグ」にてタグを指定することで表示する項目を指定できます。 タグを複数指定するとAND条件(「〇〇かつ××」)になることに留意してください。 **「図鑑」画面への表示 [#s40887f6] 「図鑑」タイプのレイアウトでは、データベースの各項目にある「そのほか」タブにて「図鑑登録」をオンにした項目だけが表示されることに注意してください。 ダンジョンRPGサンプルの図鑑、すなわち「探索手帳」のモンスターには、敵キャストだけが表示されるようになっています。 これを実現するために、まずデータベース>キャストでいわゆるモンスターに相当するキャストには#Monsterタグを設定しています そしてレイアウトツール>キャスト図鑑のレイアウトプロパティー「表示するアイテムの管理タグ」に#Monsterを指定することで実現しています。 ---- *強化アイテム [#hea54bae] 「ダンジョンRPGサンプル」では「ナイフ+1」のような強化されたアイテムが宝箱から出てきたり、手持ちのアイテムを強化してくれるイベントが発生します。 下記のような機能を組み合わせてこれを実現しています。 **強化可能アイテムに指定する [#c3385359] あるアイテムを強化できるアイテムにしたい場合は、まずデータベース>[[アイテム]]で強化させたいアイテムの「強化可能」をオンにすることを忘れないでください。 **アイテムの「カスタムイベント」を使った強化 [#b4831b39] 宝箱から出てくるアイテムについては、データベース>[[アイテム]]のカスタムイベントに、アイテムを強化する内容のイベントを組んでいます。 カスタムイベントはアイテムを取得したときに起動します。 イベントの中では乱数とループを使って”+1”から”+3"までのアイテムが登場するようになっています。 **強化するアイテム選択画面とコモンイベントを使った強化 [#p03381ff] B1マップでのアイテム強化イベントはレイアウトツールとコモンイベントの組み合わせで実現しています。 レイアウトツール>「強化するアイテム選択」画面のサブメニューコンテナのアクションから、共通イベント「アイテム強化_B1」を呼び出しています。 またレイアウトプロパティー「変数指定」に、コモンイベント側で使う『アイテムの強化』や『複雑な変数ボックスの操作』で使う『アイテム袋のn番目のパラメータ』変数を指定してください。 強化するアイテム選択画面は、コモンイベントとの組み合わせで効力を発揮することに注意してください。 アイテムのどの能力を強化するかはイベント内容で自由に設定できます。 アイテムの強化についてはサンプルイベントを共通イベントの中にもおいてありますので、参考にしてみてください。 ''(注意)'' 強化したアイテムはそれぞれ別の種類のアイテムとして扱われます。 ゲーム定義>ルールと操作にて設定できるアイテム袋の容量は持てるアイテムの「種類」の数を指定できるようになっています。 すなわち強化したアイテムはそれぞれ"1種類"とカウントされることになります。 ---- *ミニマップ [#o77834b0] 画面上にオートマッピング付きのミニマップを表示しています。 マップ上に発見したドアや宝箱のアイコンも表示されるようにしました。 これらは下記の機能を組み合わせて実現しています。 **ミニマップの表示 [#c3eee726] レイアウトツールで文字列の描画用パネルに特殊書式\minimappreviewを指定するだけでミニマップは表示できます。 ミニマップのサイズや表示位置はパネルの設定が反映されます。 「ダンジョンRPGサンプル」では、レイアウトツール>イベント用フリーレイアウト画面にて”minimap”というレイアウトを作成し、そのレイアウトを共通イベントから呼び出すことでミニマップを表示しています。 **ミニマップの表示内容の設定 [#e04d351f] -ミニマップ上で通行可能/不可の箇所を表す色やグリッドの画面上のサイズ、オートマッピングをするかどうかは、ゲーム定義>[[ルールと操作]]>現在地マップの表示設定にて設定ができます。 -ミニマップ上のプレイヤーアイコンを「プレイヤーの向き」に応じて回転させるかどうかはゲーム定義>[[ルールと操作]]で設定できます。 -地形の上を通行できるかどうかについての設定はリソース>[[地形]]にて各地形ごとに変更できます。 -マップのどこまでをミニマップで表示するかについては、マップ設定>地図で設定できます。 演出などのために、プレイ中歩き回れる範囲を超えたサイズのマップを作ることはよくあると思います。 その際不要な範囲をマップに表示しないためにはここで設定をしてください。 **ミニマップ上のアイコンの設定 [#k7634711] -ミニマップ上のドアや宝箱のアイコンは、ゲーム定義>システムリソース>現在地マップで画像を設定します。 -システムリソースで設定した画像をどこで表示するかは、イベントシートで設定します。 サンプルゲーム内のドアのイベントをご覧ください。 閉じているとき、開いたときそれぞれのイベントシートの「シート実行時に変化する要素」>「グラフィック設定」>「マップ表示用画像」に画像が指定されています。 イベントシートごとにアイコンを設定できるようにすることで、状態に応じて表示するアイコンを切り替えることをできるようにしています。