★Dreamcastソフトウェア作成基準

Dreamcastソフトウェア作成基準／Ver.１．００ベータ2

####

２．コントローラとコントロールポート

> 今回、Dreamcastでは、コントローラをＩＤ管理しておりません。代わりに、キーボード（系）であるか、ガン（系）であるか、コントローラ（系）であるかの情報とともに、そのコントローラが、どのキー（orボタン）を有しているかの情報が返されるようになっています。

> ＩＤで管理を行わず、キー（orボタン）で管理することで、将来、別種のコントローラ発売の際も、既存のアプリケーションで、動作に必要なボタンさえ実装されていれば動作可能にできるような柔軟な対応を考えています。

> 以下で、対応したコントローラという場合、アプリケーション動作に必要なキー（orボタン）を有しているコントローラのことを示します。

> 注：コントローラの最低限の機能として保証されるのは、Ａ・Ｂ・スタートのボタンとデジタル十字キーの機能です。標準コントローラにあるＸ・Ｙのボタンと、アナログ十字キーは保証されておりません。

> 注：アプリケーション動作に必要なキー（orボタン）を、ディスクのＩＰ情報の中に、１６ビットのデータとして格納します。

> 注：今回、ハードキーボードはコントローラ（系）ではなく、サターンの時のような、標準コントローラのＡボタンがキーボードのＺのキーにアサインされるような仕様はありません。ハードキーボードでの操作は、キー入力に限定されるような形になり、それ以外の操作は別に挿した、コントローラで行うようになります。

> □必須：対応していないコントローラの挿さっているコントロールポートからは、アプリケーションを「スタート」または操作させてはならない。

> □必須：上記規定に反し、対応していないコントローラで「スタート」または操作可能とする際には、不足しているキー（orボタン）を、コントローラにあるボタンまたは機能で代用されることで正常に動作がされなければならない。

２．１　コントロールポートの使用

> （以下の該当するアプリケーションいずれかの覧にてチェックを行ってください。）

> □：単一のユーザーが単一のコントローラを使用するアプリケーション　　　　　（２．１．１）

> （１ＰのＲＰＧ、アドベンチャー、等を想定）

> □：複数のユーザーがそれぞれが単一のコントローラを使用するアプリケーション（２．１．２）

> （２Ｐ格闘、４Ｐ対戦レースゲーム、複数によるクイズゲーム等を想定）

> □：単一のユーザーが複数のコントローラを同時に使用するアプリケーション　　（２．１．３）

２．１．１　単一のユーザーが単一のコントローラを使用するアプリケーション

> ◇推奨：ゲームスタート時において、本体のＡ〜Ｄの全てのコントロールポート（以下ポート）のいずれであっても、そこに対応コントローラが挿さっていたら、そのポートを使用可能としてください。複数のポートに対応コントローラが挿してあった場合、ポートＡ＞Ｂ＞Ｃ＞Ｄの順序で優先してスタートまたは操作可能とし、それ以降のポートは使用不可としてください。

> 例：ポートＡにガン、ポートＢにレーシングコントローラ、ポートＣとポートＤに標準コントローラが挿さっていて、ガンとレーシングコントローラに対応していないアプリケーションの場合、ポートＣの標準コントローラからスタートまたは操作可能とする。ポートＡ、ポートＢは未対応にて、またポートＤはポートＣにて操作するために、いずれも使用不可。

#### ２．１．２　複数のユーザーがそれぞれが単一のコントローラを使用するアプリケーション

> ◇推奨：本体のポートＡを１Ｐ、ポートＢを２Ｐ、以下同様と規定する。ゲームスタート時において、ポートＡからポートＤで対応コントローラが挿さっているポートをスタートまたは操作可能としてください。

> □必須：上記推奨に対応した場合、対応プレイヤー数を超えるポートについてはそのポートからスタートまたは操作可能としてはならない。

> 例：１Ｐのみまたは２Ｐ対戦の可能な格闘ゲーム（３Ｐ以上のゲームは不可）において、ポートＡ、ポートＢ、ポートＤのそれぞれに標準コントローラが挿さっていた場合、ポートＡ（１Ｐとして）、ポートＢ（２Ｐとして）をスタートまたは操作可能とする。ポートＤからはスタートまたは操作は不可とする。

> 例：４Ｐ格闘の場合であれば、対応プレイヤー数を越えるポートはないので（対応プレイヤー数＝４、ポート数＝４なので）、対応コントローラの挿さっているポートすべてから操作可能とする。

#### ２．１．３　単一のユーザーが複数のコントローラを同時に使用するアプリケーション

> ◇推奨：ゲームスタート時において、ポートＡからポートＤまでのうち、対応コントローラが挿さっているポートを全て（同時に）使用可能としてください。いずれのポートからでもスタートまたは操作可能としてください。

> （Ｉｎｔｅｒｎｅｔ　Ｅｘｐｌｏｒｅｒの場合、標準コントローラによる画面操作とキーボードによる文字入力を想定していますが、但し標準コントローラをポートＡ、キーボードをポートＤといった規定は今回は設けません。）

２．２　コントロールポートのチェック

> □必須：電源ＯＮ時に対応コントローラが挿さっていなかったポートでも、ゲームスタート前に対応コントローラが挿された場合、きちんと認識されスタートまたは操作可能とならなければならない。

> ゲームスタート前のタイトルループで、頻繁にチェックを行ってください。

> ◇推奨：途中参加可能なアプリケーションの場合、ゲーム中も頻繁にチェックを行い、ポートに対応コントローラが挿されればそのポートから操作可能となるようにしてください。

２．３　コントローラがポートから抜かれた場合

> ◇推奨：アプリケーションのスタート後に、使用していたポートからコントローラが抜かれた場合は、ポーズをかけた上で、「コントローラが抜けているかまたはメモリーカードの認識中です」と画面に警告表示を表示してください。

> コントローラが抜けた場合だけでなく、メモリーカードをアプリケーションの実行中に挿した場合も、一定時間抜けたのと同じ状態になります。（認識するまで０．５秒程度、ビジュアルメモリの電池が消耗していた場合３秒位）

> アプリケーション側では、コントローラが抜けたのか、ＶＭＳが挿されたのかを判断できないので、ユーザーがコントローラの暴走等と勘違いしないように、上記警告表示を行う時は「コントローラが抜けているかまたはメモリーカードの認識中」と必ず記述してください。なお、これはＶＭＳ挿入時であって、抜いた場合には上記遅延は発生しません。

２．４　コントローラがポートから抜かれた後に同じポートに挿し直された場合

> □必須：それまで使用していたポートからコントローラが抜かれ、対応するコントローラが差し戻された場合、その入力を再開する。

> 対応するコントローラであれば、違うコントローラでもかまいません。対応していないコントローラの場合、入力を再開させてはいけません。

> コントローラに外部メモリーが挿してあった場合は、外部メモリーについても注意が必要です。（１５．バックアップを参照してください）

２．５　ゲーム中、抜かれた以外のコントロールポートにコントローラが挿し直された場合

> □必須：２．１．２（複数のユーザーがそれぞれが単一のコントローラを使用するアプリケーション）の場合、入力を再開しない。

> ◇推奨：２．１．１および２．１．３の場合には、抜かれた以外のポートでも対応するコントローラであれば入力を再開するようにしてください。

２．６　ハードキーボードへの対応

> □必須：ハードキーボードにアプリケーションとして対応を行う場合、ハードキーボードが挿されていない状態での入力には、ソフトキーボード（or文字入力画面）を画面表示し、操作させることでユーザーが入力できるようにしてください。

####

★Dreamcastソフトウェア作成基準

####

Copyright SEGA ENTERPRISES, LTD, 1998