アクションゲームツクールでは、Xbox360の「インディーズゲーム」用にデータをXNA形式で書き出すことができます。
そこで最初の(?)関門になるのが審査機構「ピアレビュー」。
かなり細かいところまでチェックが入るので、時には思いもよらない方向で差し戻しになってしまうこともあります。
その1・コントローラーが追加された時の処理
中でも、ゲームが起動してから2個目のコントローラーを本体に認識させると、その後にコントローラーの優先度がおかしくなるという問題でお困りの方が多いようです。
もともと1人用に作ったゲームで、それもアクツクでどう対応すればいいのかわからない……というお悩み、ごもっともですが、実はアクツクでは回避方法が設定できます。
ぜひインディーズゲーム制作者の皆さんのTIPSとしてご利用ください。
ポイントは、〈ゲーム開始前のタイトル画面などのうちに、利用するコントローラーを確定させる〉こと。
そこで、〈「START」ボタンを「押した」か「押した瞬間」が使用でき〉、〈他のボタン操作が存在しない分岐条件も所持する〉キャンバスを利用します。
ここでそれ以外の分岐条件がなければ、事実上メニュー等の選択で「START」ボタンでの分岐と操作コントローラの確定が同時に行なえます。
具体的には、次のどちらかの方法でコントローラーの確定処理が作れます。
- タイトル用のキャンバスに、スタートボタンを押す事を促すメッセージを表示し、「START」ボタンでゲーム用のキャンバスに分岐する分岐を追加する。
- タイトル用のキャンバスにメニューがある場合、「START」ボタンで選択したキャンバスに移るように修正する。
この〈操作コントローラー確定用のキャンバス〉に来るたびに、操作コントローラーを
リセットすれば、このキャンバス上では全コントローラで操作が可能になります。
たとえば最初はコントローラー1でプレイし、ゲームオーバー後にタイトルまで戻って
から、コントローラー2で始める、という用法ですね。
いずれにしても、このキャンバスから(「START」ボタンで次のキャンバスに移ってから)再びキャンバスに戻ってくるまでの間、次の操作はひとつのコントローラだけで
操作することになります。
- 流れの分岐
- メニュー操作
- 操作対象が「全て」または「1とキーボード」のガジェット
- メッセージボックスの操作
- ストレージの選択
これで厳しいピアレビューも怖くない!(?)
例として、アクツクのサンプルゲームではどのように変更すればいいのかを書いてみます。
「Simpleアクション」の場合……
- タイトルキャンバスからステージキャンバスに分岐する分岐条件の入力操作を 「いずれか」から「START」に変更する。
「QVGAアクション」の場合……
- タイトルキャンバスからエリア01キャンバスに分岐する分岐条件の入力操作の「以下の操作が入力された」にチェックを入れ、「START」を「押した」を追加する。
- タイトルキャンバスからコンティニューキャンバスに分岐する分岐条件の入力操作の「以下の操作が入力された」にチェックを入れ、「START」を「押した」を追加する。
- タイトルメニューの選択カーソルの決定動作を「A」から「START」に変更する。
最後に、ファイルの読み書きがあるゲームの場合の注意です。
ファイルの読み込みは、操作コントローラーが確定してから行なうようにしてください。
たとえばメニューに「続きから」がある場合で、かつそのメニューで操作コントローラーの確定処理を行なっているような場合には、「続きから」を押した後にファイル読み込みをするように調整してください。
その2・体験版でのクリア対策
現在ピアレビューでは、体験版(お試し版)で最後までクリアできてしまうゲームは差し戻される可能性があります。
アクツクでの対策として、次の方法のどちらかを使用してください。
- スイッチに XNATrialSave を作成し、OFF 状態にする。
- スイッチに XNAIsTrial を追加し、そのスイッチの状態を見て、体験版用の何らかの処理を実行する。
このスイッチを追加すると、XNA書き出し後のビルドでXbox360対応用のプログラムが入り、(a) 保存の回避、(b) 状態の確認 が実現します。
これはあくまでXbox360(インディーズゲーム)専用の処理で、XNA書き出しに必須というわけではありません。