このページにはBakinの機能を組み合わせて使うことでさまざまなゲームシステムを実現する制作Tipsを記載しています。
下記に登場するサンプルプロジェクト「Orb Stories」「ダンジョンRPGサンプル」は、Bakinのトップメニュー>ゲームギャラリーにあります。


ゲームの動作が重い際の対処法

ゲームプレイをしてみて操作に対してゲームの動作が遅い・かくつくといった症状がある場合、下記の点を意識して変更すると改善する可能性があります。

コリジョン(当たり判定)の見直し

コリジョンは処理時間に対する影響が大きい要素です。
まず「イベント」のコリジョンは「物体」のコリジョンと比較して処理時間が大きくかかります。
またコリジョンのサイズの大きさや形状の複雑さも処理に影響を与えます。
そのため下記の対策をとってみてください。

またゲームプレイをするPCのスペックが処理時間に影響を与えるケースもありますことをご了承ください。


プレイヤーを透明にする

「ダンジョンRPGサンプル」では一人称カメラにした際プレイヤーを非表示にするために、データベース>キャストの移動用グラフィックに、「グラフィック設定をしないスタンプ」を設定しています。


グリッド移動

グリッド単位の移動(地形のマス目単位に動く)は共通イベントを使うことで実現できます。


バトル中のパーティに「前列/後列」の概念を導入する

「ダンジョンRPGサンプル」のバトルでは、パーティ側に前列/後列の概念を設定しています。(シンプルにするためにあえて敵は前列のみにしています。)
後列のメンバーは射程の長い武器を使わないと敵を攻撃できませんし、逆に敵からも素手の攻撃は基本当たりません。
これらの仕組みは下記の機能を設定することで実現しています。

バトルレイアウトで味方パーティメンバーの立ち位置を設定する

   ゲーム定義>ルールと操作>バトルレイアウトの設定や、マップ設定パレット>敵分布、イベントパネル「バトル実行と結果の確認」にてバトル時の敵味方の配置の指定ができます。
   バトル中の表示位置だけではなく、敵味方の距離もここで設定した内容をもとに算出されます。
   ダンジョンRPGサンプルでは下記の画像のような配置をしています。

 
バトルレイアウト.png

射程を設定する

   射程の概念をバトルに導入するにはまず、ゲーム定義>ルールと操作にて「射程を使用」をONにします。
   そして「射程判定タイプ」を後述する「列」または「距離」のどちらかを指定してください。
   「列」と「距離」の違いはゲーム定義>ルールと操作>「射程判定タイプ」をご覧ください。

   次にデータベース>アイテムや、データベース>キャスト>基本タブにて、武器やキャスト自身(素手攻撃)の射程を設定する必要があります。
   射程の単位はバトルレイアウトのグリッドです。

   「ダンジョンRPGサンプル」のバトル中にメンバーの上に出ているFront/Backの表示はレイアウトツール>バトルステータスにて表示物を設定しています。


ダメージ表示

「ダンジョンRPGサンプル」ではバトルシーンにて、パーティのステータス表示部分に攻撃されたときのダメージ値やエフェクトが出るようになっています。


パーティの並び替え

前列/後列の概念がバトルに入ると、深いダメージを負ったメンバーを後列に回す、といった順番の並び替えに意味が出てきます。
「ダンジョンRPGサンプル」ではバトルコマンドとして「場所入れ替え」をできるようにするとともに、戦闘不能になったメンバーを自動的に後列に回すといった処理も行っています。

バトルコマンド「場所の入れ替え」を有効にする

 バトル中に並び替えコマンドを使えるようにするには、データベース>キャスト>バトルタブの「バトルコマンドのメニュー」にて、割り当てる機能に「場所を入れ替える」を指定したコマンドを作成してください。

「状態」による自動的並び替えを有効にする

 バトル中の状態によって自動的にメンバーを後列に送るには、まずゲーム定義>ルールと操作にて「バトル中の状態による並び替えを使用」をONにします。
 またその際、必要に応じて「状態解除時に元の並びに戻す」をONにしてもいいでしょう。
 そして、どの「状態」になったら後方に下がるのかは、データベース>状態定義の基本設定「付与の間、パーティの後方に移動」にて指定します。


バトルの背景切り替え

 「ダンジョンRPGサンプル」では、エンカウントバトルとボスバトルなど必要に応じて背景の2Dグラフィックを切り替えています。
 これはイベントを使って実現しています。


レイアウト上に表示する項目の絞込み

「ダンジョンRPGサンプル」では、「アイテムリスト」や「図鑑」にあたる各メニューにて、「武器だけ」や「貴重品のみ」といった表示する項目の絞込みを行っています。
これはデータベースの「管理タグ」とレイアウトツールの機能を組み合わせて実現しています。

データベースの管理タグ

  データベースの項目ツリーの下に位置する管理タグ+メモ欄に、”#”を付けたタグを自由に設定できます。
  またアイテムは基本設定の「消耗品」「武器」「防具」の設定や価格を0に設定することで内部的にタグが生成されています。

レイアウトツールでのタグによる絞込み

  タグがついた項目のうちどれを表示するかをレイアウトツールで指定します。
  アイテム選択画面などのレイアウトプロパティーにある「表示するアイテムの管理タグ」にてタグを指定することで表示する項目を指定できます。
  タグを複数指定するとAND条件(「〇〇かつ××」)になることに留意してください。

「図鑑」画面への表示

  「図鑑」タイプのレイアウトでは、データベースの各項目にある「そのほか」タブにて「図鑑登録」をオンにした項目だけが表示されることに注意してください。

  ダンジョンRPGサンプルの図鑑、すなわち「探索手帳」のモンスターには、敵キャストだけが表示されるようになっています。
  これを実現するために、まずデータベース>キャストでいわゆるモンスターに相当するキャストには#Monsterタグを設定しています
  そしてレイアウトツール>キャスト図鑑のレイアウトプロパティー「表示するアイテムの管理タグ」に#Monsterを指定することで実現しています。


強化アイテム

「ダンジョンRPGサンプル」では「ナイフ+1」のような強化されたアイテムが宝箱から出てきたり、手持ちのアイテムを強化してくれるイベントが発生します。
下記のような機能を組み合わせてこれを実現しています。

強化可能アイテムに指定する

  あるアイテムを強化できるアイテムにしたい場合は、まずデータベース>アイテムで強化させたいアイテムの「強化可能」をオンにすることを忘れないでください。

アイテムの「カスタムイベント」を使った強化

  宝箱から出てくるアイテムについては、データベース>アイテムのカスタムイベントに、アイテムを強化する内容のイベントを組んでいます。
  カスタムイベントはアイテムを取得したときに起動します。
  イベントの中では乱数とループを使って”+1”から”+3"までのアイテムが登場するようになっています。

強化するアイテム選択画面とコモンイベントを使った強化

  B1マップでのアイテム強化イベントはレイアウトツールとコモンイベントの組み合わせで実現しています。
  レイアウトツール>「強化するアイテム選択」画面のサブメニューコンテナのアクションから、共通イベント「アイテム強化_B1」を呼び出しています。
  またレイアウトプロパティー「変数指定」に、コモンイベント側で使う『アイテムの強化』や『複雑な変数ボックスの操作』で使う『アイテム袋のn番目のパラメータ』変数を指定してください。
  強化するアイテム選択画面は、コモンイベントとの組み合わせで効力を発揮することに注意してください。

  アイテムのどの能力を強化するかはイベント内容で自由に設定できます。
  
  アイテムの強化についてはサンプルイベントを共通イベントの中にもおいてありますので、参考にしてみてください。

  (注意)
  強化したアイテムはそれぞれ別の種類のアイテムとして扱われます。
  ゲーム定義>ルールと操作にて設定できるアイテム袋の容量は持てるアイテムの「種類」の数を指定できるようになっています。
  すなわち強化したアイテムはそれぞれ"1種類"とカウントされることになります。


ミニマップ

画面上にオートマッピング付きのミニマップを表示しています。
マップ上に発見したドアや宝箱のアイコンも表示されるようにしました。
これらは下記の機能を組み合わせて実現しています。

ミニマップの表示

  レイアウトツールで文字列の描画用パネルに特殊書式\minimappreviewを指定するだけでミニマップは表示できます。
  ミニマップのサイズや表示位置はパネルの設定が反映されます。
  「ダンジョンRPGサンプル」では、レイアウトツール>イベント用フリーレイアウト画面にて”minimap”というレイアウトを作成し、そのレイアウトを共通イベントから呼び出すことでミニマップを表示しています。

ミニマップの表示内容の設定

ミニマップ上のアイコンの設定


足音の設定

プレイヤーが地形・物体の上を歩いた際に足音を鳴らすことができます。

地形への足音設定

  リソース>地形のプロパティーにある「効果音」にて足音を設定できます。

物体への足音設定

  物体の上を歩いた際の足音は、効果音を設定してある「地形」を割り当てることによって鳴らすことができます。
  リソース>3D/2Dスタンプの簡易コリジョンのプロパティーにある「地形割り当て」にて、地形を指定してください。
  「地形」に設定された「効果音」が適用されます。

足音の音量や再生速度の調整

  ゲーム定義>ルールと操作に足音のボリュームと足音の再生速度の設定があり、一律で変更することができます。
  またイベントパネル「足音の設定変更」を使って変更することもできます。
  個別の足音のボリュームを調整したい場合は、リソース>サウンドで使用している足音のボリュームを変更するとよいでしょう。


敵に駆け寄って攻撃

バトルの攻撃時、モンスターに駆け寄って斬りつけるような表現はバトルイベントを使うことで実現できます。

  1. まず下記のファイル名を右クリックし「名前を付けてリンク先を保存」してください。
    walk_attack_jp.txt
  2. 保存したテキストファイルをバトルイベントにインポートしてご覧ください。

連続ダメージ表現

一度のスキル攻撃で連続的にダメージを与える表現はコモンイベントを使うことで実現できます。

イベント内容については下記の画像を参考にしてください。

連続ダメージ.png

レベルキャップ開放イベント

キャストや職業の最大レベルを設定した上で、イベントによってその最大レベルを変更させることができます。
キャストのステータスの変更パネルを活用します。

「第一章が終わったら」や、「あるアイテムを手に入れたら」といったゲームの区切りにイベントを設定すると良いでしょう。

例えば下記のようなことを表現できるようになります。
  ゲーム全体の最大レベルは99
  ゲームスタート時のキャストAの最大レベルは20。
  第一章が終わった時点でイベントによって最大レベルが50までアップする。

最大レベルの変更.png

地面から生えている草モデルを揺らす

a_n_wind_discard や a_n_rm_wind_discard、map_wind_discardなどのシェーダーを使って地面に生えている草が風で揺れているような表現ができます。
『Orb Stories』の3Dスタンプsb_obj_nature002_Grass01aのマテリアルsb_obj_nature002_Grass01a(sb_obj_nature002_Grass01a)を参考にしてみてください。


スキル発動時のカットシーン

下記のような設定をすることで、スキル発動時にスプライトアニメーションを使ったカットシーンを挿入することができます。

Skill_Cutscene.png

添付ファイル: filewalk_attack_jp.txt 26件 [詳細] fileSkill_Cutscene.png 26件 [詳細] file最大レベルの変更.png 60件 [詳細] file連続ダメージ.png 148件 [詳細] file駆け寄って攻撃_戻る.png 161件 [詳細] file駆け寄って攻撃_駆け寄る.png 148件 [詳細] fileバトルレイアウト.png 137件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-05-24 (金) 11:46:33