ゲームプログラムおよびゲーム装置
【課題】キャラクタ同士の会話をわかりやすく雰囲気豊かに表示する。
【解決手段】LCD14および12は所定の軸に対して右および左に配置される。RAM48には、第1キャラクタ画像データおよび第2キャラクタ画像データと、これに関連付けられた第1メッセージデータおよび第2メッセージデータとが記憶される。CPUコア42は、第1キャラクタ画像データに基づく第1キャラクタ画像をLCD14に表示し、第2キャラクタ画像データに基づく第2キャラクタ画像をLCD12に表示する。また、第1メッセージデータに基づく第1メッセージ画像をLCD14にさらに表示し、第2メッセージデータに基づく第2メッセージ画像をLCD12にさらに表示する。そして、タッチパネル22等によりなされる所定操作に応答して、LCD14および12に表示された第1メッセージ画像および第2メッセージ画像の少なくとも一方を更新する。
【解決手段】LCD14および12は所定の軸に対して右および左に配置される。RAM48には、第1キャラクタ画像データおよび第2キャラクタ画像データと、これに関連付けられた第1メッセージデータおよび第2メッセージデータとが記憶される。CPUコア42は、第1キャラクタ画像データに基づく第1キャラクタ画像をLCD14に表示し、第2キャラクタ画像データに基づく第2キャラクタ画像をLCD12に表示する。また、第1メッセージデータに基づく第1メッセージ画像をLCD14にさらに表示し、第2メッセージデータに基づく第2メッセージ画像をLCD12にさらに表示する。そして、タッチパネル22等によりなされる所定操作に応答して、LCD14および12に表示された第1メッセージ画像および第2メッセージ画像の少なくとも一方を更新する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ゲームプログラムおよびゲーム装置に関し、特にたとえば、キャラクタ同士が会話する、ゲームプログラムおよびゲーム装置に関する。
【背景技術】
【0002】
従来のこの種の装置としては、特許文献1に開示されたものが知られている。この従来技術は、2つのキャラクタを表示し、そしてこれら2つのキャラクタにそれぞれ対応する2つのメッセージ(せりふ)を交互に、または同時に表示する。
【0003】
また、特許文献2に開示されたものも知られている。この従来技術は、複数のキャラクタと1つの吹き出しとを表示する。吹き出しはボックス部およびポインタ部で構成され、ボックス部には複数のキャラクタのいずれか1つに対応するメッセージが記述される。ボックス内のメッセージに対応するキャラクタは、ポインタ部の向きによって示される。
【特許文献1】特開2004−290269号公報
【特許文献2】特開2006−6429号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の従来技術では、2つのキャラクタおよび2つのメッセージは単一の画面内に表示されるので、キャラクタとメッセージとの対応関係がわかりにくい。また、携帯型ゲーム装置のように表示画面が小さい場合は特に、メッセージを判読しづらい。
【0005】
特許文献2の従来技術では、一度にいずれか1つのキャラクタのメッセージしか表示されないので、キャラクタ同士が会話する雰囲気に欠ける。
【0006】
それゆえに、この発明の主たる目的は、キャラクタ同士の会話をわかりやすく雰囲気豊かに表示できる、ゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【0007】
請求項1の発明に従うゲームプログラムは、ゲーム装置(10:実施例で相当する参照符号。以下同じ)のプロセサ(42)に、第1キャラクタ画像表示ステップ(S23)、第2キャラクタ画像表示ステップ(S27)、第1メッセージ画像表示ステップ(S37)および第2メッセージ画像表示ステップ(S45)を実行させる。ここでゲーム装置は、互いに隣接する第1表示器(14)および第2表示器(12)と、第1キャラクタ画像データおよび第2キャラクタ画像データならびに当該第1キャラクタおよび当該第2キャラクタにそれぞれ関連付けられた第1メッセージデータおよび第2メッセージデータを記憶したメモリ(48)と、操作手段(22,20)とを備える。
【0008】
第1キャラクタ画像表示ステップは、第1キャラクタ画像データに基づく第1キャラクタ画像を第1表示器に表示する。第2キャラクタ画像表示ステップは、第2キャラクタ画像データに基づく第2キャラクタ画像を第2表示器に表示する。第1メッセージ画像表示ステップは、第1キャラクタ画像が表示されている際に、第1メッセージデータに基づく第1メッセージ画像を第1表示器にさらに表示する。第2メッセージ画像表示ステップは、第2キャラクタ画像が表示されている際に、第2メッセージデータに基づく第2メッセージ画像を第2表示器にさらに表示する。メッセージ更新ステップは、操作手段によって所定操作がなされたとき第1表示器に表示されている第1メッセージ画像および第2表示器に表示されている第2メッセージ画像の少なくとも一方を更新する。
【0009】
請求項1の発明では、ゲーム装置は、第1表示器および第2表示器とメモリと操作手段とを備える。第1表示器および第2表示器は互いに隣接し、メモリには第1キャラクタ画像データおよび第2キャラクタ画像データならびに当該第1キャラクタおよび当該第2キャラクタにそれぞれ関連付けられた第1メッセージデータおよび第2メッセージデータが記憶される。
【0010】
メモリ内の第1キャラクタ画像データに基づく第1キャラクタ画像は、第1キャラクタ画像表示ステップによって第1表示器に表示され、メモリ内の第2キャラクタ画像データに基づく第2キャラクタ画像は、第2キャラクタ画像表示ステップによって第2表示器に表示される。こうして第1キャラクタ画像および第2キャラクタ画像が第1表示器および第2表示器にそれぞれ表示されている際に、メモリ内の第1メッセージデータに基づく第1メッセージ画像が第1メッセージ画像表示ステップによって第1表示器にさらに表示され、またメモリ内の第2メッセージデータに基づく第2メッセージ画像が第2メッセージ画像表示ステップによって第2表示器にさらに表示される。操作手段によって所定操作がなされると、第1表示器に表示されている第1メッセージ画像および第2表示器に表示されている第2メッセージ画像の少なくとも一方が、メッセージ更新ステップによって更新される。
【0011】
請求項1の発明によれば、第1キャラクタおよびこれに対応する第1メッセージは第1表示器に表示され、第2キャラクタおよびこれに対応する第2メッセージは第2表示器に表示されるので、プレイヤはキャラクタとメッセージとの対応関係が明瞭にわかり、各表示器の画面が小さくてもメッセージを容易に判読できる。また、第1キャラクタおよび第1メッセージと、第2キャラクタおよび第2メッセージとは、互いに隣接して表示され、これら第1メッセージおよび第2メッセージの少なくとも一方が所定操作に応答して更新されるので、キャラクタ同士が会話する雰囲気を演出できる。
【0012】
なお、互いに隣接する第1表示器および第2表示器は、好ましくは所定の軸に対して右および左にそれぞれ位置する。これにより、プレイヤキャラクタおよびノンプレイヤキャラクタが並んで会話する雰囲気が得られる。または、第1表示器および第2表示器は下および上にそれぞれ位置してもよい。この場合、たとえば1階のプレイヤキャラクタと2階のノンプレイヤキャラクタとが会話する雰囲気を演出できる。
【0013】
請求項2の発明に従うゲームプログラムは、請求項1に従属し、プロセサに第1読出ステップ(S33),第1回転処理ステップ(S35),第2読出ステップ(S41)および第2回転処理ステップ(S43)をさらに実行させる。第1表示器および第2表示器は、所定の軸に対して右および左にそれぞれ配置され、第1キャラクタ画像データおよび第2キャラクタ画像データの各々は、この軸に沿う第1方向の表示方向性を有する。メモリには、第1方向とは所定角度異なる第2方向の表示方向性を有するフォント画像データがさらに記憶される。
【0014】
第1読出ステップは、第1メッセージデータに従ってフォント画像データをメモリから読み出す。第1回転処理ステップは、第1読出ステップによって読み出されたフォント画像データに所定角度の回転処理を施す。第1メッセージ画像表示ステップの表示処理は、回転処理が施された後のフォント画像データに基づいて実行される。第2読出ステップは、第2メッセージデータに従ってフォント画像データをメモリから読み出す。第2回転処理ステップは、第2読出ステップによって読み出されたフォント画像データに所定角度の回転処理を施す。第2メッセージ画像表示ステップの表示処理は、回転処理が施された後のフォント画像データに基づいて実行される。
【0015】
請求項2の発明では、メモリ内の第1メッセージデータに従い、メモリ内のフォント画像データが第1読出ステップによって読み出される。読み出されたフォント画像データには所定角度の回転処理が第1回転処理ステップによって施され、回転処理が施された後のフォント画像データに基づく第1メッセージ画像が表示される。
【0016】
また、メモリ内の第2メッセージデータに従い、メモリ内のフォント画像データが第2読出ステップによって読み出される。読み出されたフォント画像データには所定角度の回転処理が第2回転処理ステップによって施され、回転処理が施された後のフォント画像データに基づく第2メッセージ画像が表示される。
【0017】
請求項2の発明にしたがえば、第1メッセージ画像データおよび第2メッセージ画像データの表示方向性を回転処理によって第1キャラクタ画像および第2キャラクタ画像の表示方向性と一致させるので、第1メッセージ画像および第2メッセージ画像を的確に表示できる。換言すれば、予め回転処理が施された専用のフォント画像データを準備しなくても、汎用的なフォント画像データの流用が可能となる。
【0018】
請求項3の発明に従うゲームプログラムは、請求項2に従属する。第1表示器および第2表示器の各々の表示面は長方形状を有し、所定角度は90度である。第1表示器および第2表示器は、各々の表示面の長手方向が第1方向と一致し、かつ各々の表示面の中心点を通る直線(X)が上記の軸に対して垂直となるような位置に配置される。
【0019】
請求項4の発明に従うゲームプログラムは、請求項1ないし3のいずれかに従属する。第1メッセージ表示ステップおよび第2メッセージ表示ステップは、第1メッセージ画像および第2メッセージ画像を同一の高さにそれぞれ表示する。なお、「同一の高さにそれぞれ表示する」とは、たとえば上記の軸に対して対称な位置にそれぞれ表示することである。
【0020】
請求項4の発明によれば、第1メッセージおよび第2メッセージの判読が容易となる。
【0021】
請求項5の発明に従うゲームプログラムは、請求項1ないし4のいずれかに従属する。ゲーム装置は、上記の軸の周りを回動可能に連結された第1ハウジング(16b)および第2ハウジング(16a)をさらに備える。第1表示器および第2表示器は、第1ハウジングおよび第2ハウジングにそれぞれ設けられる。
【0022】
請求項5の発明によれば、第1ハウジングおよび第2ハウジングを第1表示器の表示面と第2表示器の表示面とが互いに向かい合う向き(蓋を閉じる向き)に適当な角度(たとえば10〜20度)回動させることで、あたかもキャラクタ同士が向かい合って会話しているように見え、雰囲気が一層豊かになる。
【0023】
請求項6の発明に従うゲームプログラムは、請求項1ないし5のいずれかに従属し、プロセサにアイコン画像表示ステップ(S47)をさらに実行させる。操作手段は、第1表示器上に設けられるタッチパネル(22)を含む。
【0024】
アイコン画像表示ステップは、第1メッセージ画像表示ステップおよび第2メッセージ画像表示ステップの表示処理に関連してアイコン画像を第1表示器にさらに表示する。メッセージ更新ステップは、アイコン画像へのタッチ操作がタッチパネルによって検出されたとき更新処理を実行する。
【0025】
請求項6の発明では、第1メッセージ画像表示ステップおよび第2メッセージ画像表示ステップの表示処理に関連して、アイコン画像がアイコン画像表示ステップによって第1
表示器にさらに表示される。メッセージ更新ステップの更新処理は、アイコン画像へのタッチ操作がタッチパネルによって検出されたとき実行される。なお、この更新処理は、アイコン画像へのタッチ操作に限らず、ゲーム装置に備わる操作スイッチ(20)を押下する操作に応答して実行されるようにしてもよい。
【0026】
請求項7の発明に従うゲームプログラムは、請求項5または6に従属する。ゲーム装置は、第1ハウジングおよび第2ハウジングの開閉状態を検出する検出手段(64)をさらに備える。メッセージ更新ステップは、検出手段の検出結果に関連して更新処理を実行する。
【0027】
請求項7の発明では、第1ハウジングおよび第2ハウジングの開閉状態(つまり両ハウジングの互いの位置関係)が検出手段によって検出され、メッセージ更新ステップの更新処理は検出手段の検出結果に関連して実行される。
【0028】
請求項7の発明によれば、第1ハウジングおよび第2ハウジングの互いの位置関係を変更する操作、すなわち蓋を開閉する操作によってメッセージを更新させることができる。蓋を開閉する操作をメッセージ更新のトリガとすることで、ゲームの娯楽性を高めることができる。
【0029】
請求項8の発明に従うゲームプログラムは、請求項7に従属し、プロセサに第1判別ステップ(S51)、第2判別ステップ(S53)および第3判別ステップ(S55)をさらに実行させる。メモリに記憶された第1メッセージデータおよび第2メッセージデータは、複数のゲームシーンのいずれかに関連付けられている。メモリには、当該メモリに記憶された第1メッセージデータおよび第2メッセージデータが複数のゲームシーンのどれに関連付けられているかを識別するシーン識別データがさらに記憶される。そして位置関係は、第1ハウジングおよび第2ハウジングのなす角度(θ)である。
【0030】
第1判別ステップは、検出手段の検出結果が第1閾値を減少方向に跨いだか否かを判別する。第2判別ステップは、第1判別ステップの判別結果が肯定的であるときシーン識別データが特定ゲームシーンを示すか否かを判別する。第3判別ステップは、第2判別ステップの判別結果が肯定的であるとき検出手段の検出結果が第2閾値を増加方向に跨いだか否かを判別する。メッセージ更新ステップは、第3判別ステップの判別結果が肯定的であるとき更新処理を実行する。
【0031】
請求項8の発明では、最初、検出手段の検出結果つまり第1ハウジングおよび第2ハウジングのなす角度が第1閾値を減少方向に跨いだか否かが、第1判別ステップによって判別される。第2判別ステップは、第1判別ステップの判別結果が肯定的であるとき、メモリ内のシーン識別データが特定ゲームシーンを示すか否かを判別する。第3判別ステップは、第2判別ステップの判別結果が肯定的であるとき、検出手段の検出結果が第2閾値を増加方向に跨いだか否かを判別する。メッセージ更新ステップの更新処理は、第3判別ステップの判別結果が肯定的であるとき実行される。なお、第1閾値および第2閾値は、同一の値でも、互いに異なる値でもよい。
【0032】
請求項8の発明によれば、特定ゲームシーンでいったん蓋を閉じ、その後に蓋を開ければ、メッセージが更新される。なお、特定ゲームシーンは、たとえばキスシーンである。
【0033】
請求項9の発明に従うゲーム装置(10)は、互いに隣接する第1表示器(14)および第2表示器(12)、第1キャラクタ画像データおよび第2キャラクタ画像データならびに当該第1キャラクタおよび当該第2キャラクタにそれぞれ関連付けられた第1メッセージデータおよび第2メッセージデータを記憶したメモリ(48)、操作手段(22,2
0)、第1キャラクタ画像データに基づく第1キャラクタ画像を第1表示器に表示する第1キャラクタ画像表示手段(S23)、第2キャラクタ画像データに基づく第2キャラクタ画像を第2表示器に表示する第2キャラクタ画像表示手段(S27)、第1キャラクタ画像が表示されている際に第1メッセージデータに基づく第1メッセージ画像を第1表示器にさらに表示する第1メッセージ画像表示手段(S37)、第2キャラクタ画像が表示されている際に第2メッセージデータに基づく第2メッセージ画像を第2表示器にさらに表示する第2メッセージ画像表示手段(S45)、および操作手段によって所定操作がなされたとき第1表示器に表示されている第1メッセージ画像および第2表示器に表示されている第2メッセージ画像の少なくとも一方を更新するメッセージ更新手段(S57)を備える。
【0034】
請求項9の発明でも、請求項1の発明と同様に、キャラクタとメッセージとの対応関係が明瞭にわかり、メッセージも容易に判読できる。また、キャラクタ同士が会話する雰囲気を演出できる。
【発明の効果】
【0035】
この発明によれば、キャラクタ同士の会話をわかりやすく、かつ雰囲気豊かに表示することができる。
【0036】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0037】
【図1】この発明の一実施例を示す図解図である。
【図2】図1実施例の電気的な構成を示すブロック図である。
【図3】図1実施例に適用されるメモリマップを示す図解図である。
【図4】図1実施例に適用されるゲーム画面の一例を示す図解図である。
【図5】(A)〜(E)は図4ゲーム画面の変化を時系列的に示す図解図である。
【図6】図1実施例に適用されるゲーム画面の他の一例を示す図解図である。
【図7】(A)〜(E)は図6ゲーム画面の変化を時系列的に示す図解図である。
【図8】図1実施例に適用されるCPU動作の一部を示すフロー図である。
【図9】図1実施例に適用されるCPU動作の他の一部を示すフロー図である。
【図10】図1実施例に適用されるCPU動作のその他の一部を示すフロー図である。
【図11】(A)〜(E)は他の実施例における図4ゲーム画面の変化を時系列的に示す図解図である。
【図12】(A)〜(C)はその他の実施例におけるゲーム画面の変化を時系列的に示す図解図である。
【発明を実施するための形態】
【0038】
図1を参照して、この発明の実施例であるゲーム機10は、第1の液晶表示器(LCD)12および第2のLCD14を含む。このLCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)に並ぶように近接して配置される。
【0039】
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
【0040】
図1からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも少し大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。一方、下側ハウジング16bは、その平面形状が上側ハウジング16aよりも横長に選ばれ、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。また、下側ハウジング16bには、音抜き孔18が形成されるとともに、操作スイッチ20(20a,20b,20c,20d,20e,20Lおよび20R)が設けられる。
【0041】
また、上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが回転軸Yの周りを回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折りたたんでおけば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング16aと下側ハウジング16bとは、回動可能に連結せずに、それらを一体的(固定的)に設けたハウジング16を形成するようにしてもよい。
【0042】
なお、以下では、LCD12の表示面とLCD14の表示面とが対面するように上側ハウジング16aを回動させて折りたたんだ状態(図示せず)を“蓋を閉じた状態”と呼び、LCD12の表示面とLCD14の表示面とが同一方向を向いた状態(つまり図1または図4に示される状態)を“蓋を完全に開いた状態”と呼び、そして両状態のいずれでもない状態を“蓋を不完全に開いた状態”と呼ぶ。蓋を完全に開いた状態では、LCD12の表示面とLCD14の表示面とは同一平面内に存在すると見なし、LCD12の表示面の中心とLCD14の表示面の中心とを通る直線を“主軸X”と定義する。主軸Xは、上記の回転軸Yに対して垂直である。
【0043】
また、主軸Xは、蓋を不完全に開いた状態では、図6に示されるように2つに折れ曲がるものとする。この折れ曲がり角すなわち上側ハウジング16aと下側ハウジング16bとのなす角度(LCD12の表示面とLCD14の表示面とのなす角度)を回動角θ(ただし0≦θ≦180°)と呼ぶ。蓋を完全に開いた状態ではθ=180°であり、蓋を閉じた状態ではθ=0となる。
【0044】
操作スイッチ20は、方向指示スイッチ(十字キー)20a,スタートスイッチ20b、セレクトスイッチ20c、動作スイッチ(Aボタン)20d、動作スイッチ(Bボタン)20e、動作スイッチ(Lボタン)20Lおよび動作スイッチ(Rボタン)20Rを含む。スイッチ20a,20bおよび20cは、下側ハウジング16bの一方主面において、LCD14の左側に配置される。また、スイッチ20dおよび20eは、下側ハウジング16bの一方主面において、LCD14の右側に配置される。さらに、スイッチ20Lおよびスイッチ20Rは、それぞれ、下側ハウジング16bの上端(天面)の一部であり上側ハウジング16aとの連結部以外の部分において、当該連結部を挟むようにして左右に配置される。
【0045】
方向指示スイッチ20aは、ディジタルジョイスティックとして機能する。左右上下にこの順序で配置される4つの押圧部a1〜a4の1つを操作することによって、プレイヤによって操作可能なプレイヤキャラクタまたはプレイヤオブジェクトやカーソルの移動方向の指示等が可能である。
【0046】
スタートスイッチ20bは、プッシュボタンで構成され、ゲームの開始(再開)、や一時停止等のために用いられる。セレクトスイッチ20cは、プッシュボタンで構成され、ゲームモードの選択等のために用いられる。
【0047】
動作スイッチ20dすなわちAボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプする、切る等の任意の動作(アクション)をさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ20eすなわちBボタンは、プッシュボタンで構成され、セレクトスイッチ20cで選択したゲームモードの変更やAボタン20dで決定したアクションの取り消し等のために用いられる。
【0048】
動作スイッチ20L(Lボタン)および動作スイッチ20R(Rボタン)は、プッシュボタンで構成され、Lボタン20LおよびRボタン20Rは、Aボタン20dおよびBボタン20eと同様の操作に用いることができ、また、Aボタン20dおよびBボタン20eの補助的な操作に用いることができる。
【0049】
また、LCD14の上面には、タッチパネル22が装着される。タッチパネル22としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル22は、その上面をスティック24ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック24等」という場合がある。)で、押圧したり、撫でたり、触れたり、叩いたりすることにより操作すると、スティック24等によって操作された(つまり、タッチ入力された)位置の座標を検出して、検出した座標(検出座標)に対応する座標データを出力する。
【0050】
なお、この実施例では、LCD14(LCD12も同じ、または略同じ。)の表示面の解像度は256dot×192dotであり、タッチパネル22の検出精度(操作面)も表示画面に対応して256dot×192dotとしてある。ただし、図1では、タッチパネル22を分かり易く示すために、タッチパネル22をLCD14と異なる大きさで示してあるが、LCD14の表示画面の大きさとタッチパネル22の操作面の大きさとは同じ大きさである。なお、タッチパネル22の検出精度は、表示画面の解像度よりも低くてもよく、高くてもよい。
【0051】
LCD12およびLCD14には異なるゲーム画面が表示され得る。たとえば、レースゲームでは一方のLCDに運転席からの視点による画面を表示し、他方のLCDにレース(コース)全体の画面を表示することができる。また、RPGでは、一方のLCDにマップやプレイヤキャラクタ等のキャラクタを表示し、他方のLCDにプレイヤキャラクタが所有するアイテムを表示することができる。さらに、一方のLCDにゲームのプレイ画面を表示し、他方のLCDに当該ゲームを操作するための文字情報やアイコン等の画像を含むゲーム画面(操作画面)を表示することができる。さらには、2つのLCD12およびLCD14を合わせて1つの画面として用いることにより、プレイヤキャラクタが倒さなければならない巨大な怪物(敵キャラクタ)を表示することもできる。
【0052】
したがって、プレイヤはスティック24等でタッチパネル22を操作することにより、LCD14の画面に表示されるプレイヤキャラクタ、敵キャラクタ、アイテムキャラクタ、文字情報、アイコン等のキャラクタ画像を指示したり、コマンドを選択したりすることができる。なお、ゲームの種類によっては、その他の入力指示、たとえばLCD14に表示されたアイコンの選択または操作、座標入力指示等に用いることもできる。
【0053】
このように、ゲーム機10は、2画面分の表示部となるLCD12およびLCD14を有し、いずれか一方(この実施例では、LCD14)の上面にタッチパネル22が設けられるので、2画面(12,14)と2系統の操作部(20,22)とを有する構成になっている。
【0054】
また、この実施例では、スティック24は、たとえば上側ハウジング16aの側面(右側面)近傍に設けられる収納部(穴ないし凹部)26に収納することができ、必要に応じて取り出される。ただし、スティック24を設けない場合には、収納部26を設ける必要もない。
【0055】
さらに、ゲーム機10はメモリカード(またはゲームカートリッジ)28を含む。このメモリカード28は着脱自在であり、下側ハウジング16bの裏面ないしは底面(下端)に設けられる挿入口30から挿入される。図1では省略するが、挿入口30の奥部には、メモリカード28の挿入方向先端部に設けられるコネクタ(図示せず)と接合するためのコネクタ46(図2参照)が設けられており、したがって、メモリカード28が挿入口30に挿入されると、コネクタ同士が接合され、ゲーム機10のCPUコア42(図2参照)がメモリカード28にアクセス可能となる。
【0056】
なお、図1では表現できないが、下側ハウジング16bの音抜き孔18と対応する位置であり、この下側ハウジング16bの内部には、スピーカ32(図2参照)が設けられる。
【0057】
また、図1では省略するが、たとえば、下側ハウジング16bの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング16bの底面側には、電源スイッチ、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなども設けられる。
【0058】
図2はゲーム機10の電気的な構成を示すブロック図である。図2を参照して、ゲーム機10は電子回路基板40を含み、この電子回路基板40にはCPUコア42等の回路コンポーネントが実装される。CPUコア42は、バス44を介してコネクタ46に接続されるとともに、RAM48、第1のグラフィック処理ユニット(GPU)50、第2のGPU52、入出カインターフェイス回路(以下、「I/F回路」という。)54、LCDコントローラ60およびセンサ64に接続される。
【0059】
コネクタ46には、上述したように、メモリカード28が着脱自在に接続される。メモリカード28は、ROM28aおよびRAM28bを含み、図示は省略するが、ROM28aおよびRAM28bは、互いにバスで接続され、さらに、コネクタ46と接合されるコネクタ(図示せず)に接続される。したがって、上述したように、CPUコア42は、ROM28aおよびRAM28bにアクセスすることができるのである。
【0060】
ROM28aは、ゲーム機10で実行すべきゲーム(仮想ゲーム)のためのゲームプログラム、画像(キャラクタ画像、背景画像、アイテム画像、アイコン(ボタン)画像、メッセージ画像など)データおよびゲームに必要な音(音楽)のデータ(音データ)等を予め記憶する。RAM(バックアップRAM)28bは、そのゲームの途中データやゲームの結果データを記憶(セーブ)する。
【0061】
RAM48は、バッファメモリないしはワーキングメモリ(ワークRAM)として使用される。つまり、CPUコア42は、メモリカード28のROM28aに記憶されたゲームプログラム、画像データおよび音データ等をRAM48にロードし、ロードしたゲームプログラムを実行する。また、CPUコア42は、ゲームの進行に応じて発生または取得されるデータ(ゲームデータやフラグデータ等)をRAM48に記憶しつつゲーム処理を実行する。
【0062】
なお、ゲームプログラム、画像データおよび音データ等は、ROM28aから一度に全部または必要に応じて部分的にかつ順次的に読み出され、RAM48に記憶される。
【0063】
ただし、メモリカード28のROM28aには、ゲーム以外の他のアプリケーションについてのプログラムおよび当該アプリケーションの実行に必要な画像データ等が記憶される。また、必要に応じて、音(音楽)データが記憶されてもよい。かかる場合には、ゲーム機10では、当該アプリケーションが実行される。
【0064】
GPU50およびGPU52は、それぞれ、描画手段の一部を形成し、たとえばシングルチップASICで構成され、CPUコア42からのグラフィックスコマンド(graphics command :作画命令)を受け、そのグラフィックスコマンドに従ってゲーム画像データを生成する。ただし、CPUコア42は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる。)をGPU50およびGPU52のそれぞれに与える。
【0065】
また、GPU50には、第1のビデオRAM(以下、「VRAM」という。)56が接続され、GPU52には、第2のVRAM58が接続される。GPU50およびGPU52が作画コマンドを実行するにあたって必要なデータ(画像データ:キャラクタデータやテクスチャ等のデータ)は、GPU50およびGPU52が、それぞれ、第1のVRAM56および第2のVRAM58にアクセスして取得する。ただし、CPUコア42は、描画に必要な画像データをRAM48から読み出し、GPU50およびGPU52を介して第1のVRAM56および第2のVRAM58に書き込む。GPU50はVRAM56にアクセスして表示のためのゲーム画像データを作成し、その画像データをVRAM56の描画バッファに記憶する。GPU52はVRAM58にアクセスして描画のためのゲーム画像データを作成し、その画像データをVRAM58の描画バッファに記憶する。描画バッファとしてはフレームバッファまたはラインバッファ等が採用されてよい。
【0066】
VRAM56およびVRAM58は、LCDコントローラ60に接続される。LCDコントローラ60はレジスタ62を含み、レジスタ62はたとえば1ビットで構成され、CPUコア42の指示によって「0」または「1」の値(データ値)を記憶する。LCDコントローラ60は、レジスタ62のデータ値が「0」である場合には、GPU50によって作成されたゲーム画像データをLCD12に出力し、GPU52によって作成されたゲーム画像データをLCD14に出力する。一方、レジスタ62のデータ値が「1」である場合には、LCDコントローラ60は、GPU50によって作成されたゲーム画像データをLCD14に出力し、GPU52によって作成されたゲーム画像データをLCD12に出力する。
【0067】
なお、LCDコントローラ60は、VRAM56およびVRAM58から直接画像データを読み出すことができるし、あるいはGPU50およびGPU52を介してVRAM56およびVRAM58から画像データを読み出すこともできる。
【0068】
また、VRAM56およびVRAM58はRAM48に設けられてもよいし、あるいはその描画バッファおよびZバッファがRAM48に設けられてもよい。
【0069】
I/F回路54には、操作スイッチ20,タッチパネル22およびスピーカ32が接続される。ここで、操作スイッチ20は、上述したスイッチ20a,20b,20c,20d,20e,20Lおよび20Rであり、操作スイッチ20が操作されると、対応する操作信号(操作データ)がI/F回路54を介してCPUコア42に入力される。また、タッチパネル22から出力される操作データ(座標データ)がI/F回路54を介してCPUコア42に入力される。さらに、CPUコア42は、ゲーム音楽(BGM)、効果音またはゲームキャラクタの音声(擬制音)などのゲームに必要な音データをRAM48から読み出し、I/F回路54を介してスピーカ32からその音を出力する。
【0070】
センサ64は、蓋の開閉状態、具体的には上側ハウジング16aと下側ハウジング16bとのなす角度(回動角θ:図6参照)を検出する。センサ64の検出結果は、プレイモードおよびスリープモードの間のモード切り替えなどに利用される。また、会話ゲームをプレイする場合には、メッセージを更新する際のトリガとしても利用される。
【0071】
以上のように構成されたゲーム機10で会話ゲームを行う場合におけるRAM48のメモリマップを図3に示す。図3を参照して、プログラム記憶領域70には、表示プログラム72,移動/回転プログラム74,タッチ入力検出プログラム76,蓋状態検出プログラム78などが記憶される。
【0072】
表示プログラム72は、データ記憶領域80内のデータに基づいて、ゲーム空間,キャラクタ,メッセージおよびスキップボタンなどの画像をLCD12および/またはLCD14に表示する。移動/回転プログラム74は、ゲーム空間内でキャラクタを移動したり、メッセージの画像を回転させたりする。タッチ入力検出プログラム76は、タッチパネル22へのタッチ入力を検出する。蓋状態検出プログラム78は、センサ64からの信号に基づいて蓋の開閉状態つまり回動角θを検出する。
【0073】
また、データ記憶領域80には、プレイヤキャラクタデータ82,ノンプレイヤキャラクタデータ90,メッセージデータ98,スキップボタンデータ108,ゲーム空間データ114,シーン識別データ115およびフォントデータ116などが記憶される。
【0074】
プレイヤキャラクタデータ82は、ゲーム空間内に表示されるプレイヤキャラクタの画像データ84,プレイヤキャラクタの表示位置を示す座標データ86および拡大されたプレイヤキャラクタの画像データ88を含む。ノンプレイヤキャラクタデータ90は、ゲーム空間内に表示されるノンプレイヤキャラクタの画像データ92,ノンプレイヤキャラクタの表示位置を示す座標データ94,および拡大されたノンプレイヤキャラクタの画像データ96を含む。
【0075】
メッセージデータ98は、プレイヤキャラクタ用メッセージの表示位置を示す座標データ100,ノンプレイヤキャラクタ用メッセージの表示位置を示す座標データ102,プレイヤキャラクタ用のメッセージデータ104およびノンプレイヤキャラクタ用のメッセージデータ106を含む。プレイヤキャラクタ用メッセージデータ104およびノンプレイヤキャラクタ用メッセージデータ106の各々は、1番目〜N番目のN個のメッセージにそれぞれ対応するN個のデータブロックに区分される。これら2N個のデータブロックの各々が、1つのキャラクタによる1回分の発言(1単位のせりふ)に対応する。
【0076】
なお、ROM28には第1〜第MのM個のシーンの各々で交わされる会話のメッセージデータが格納されており、各シーンで必要なデータがROM28bからRAM48に転送される。つまり、RAM48内のメッセージデータ98は、M個のシーンのいずれか1つで交わされる会話に対応するメッセージデータである。
【0077】
スキップボタンデータ108は、スキップボタンの画像データ110およびその表示位置を示す座標データ112を含む。ゲーム空間画像データ114は、ゲーム空間を表示するためのデータである。シーン識別データ115は、現在のシーンが上記のM個のシーンのどれであるかを識別するためのデータである。フォントデータ116は、メッセージデータをメッセージ画像に変換するためのデータである。
【0078】
ここで、上記の画像データ84,88,92,96,110および114の各々は、主軸Xに対して右に90度回転されたような表示方向性を有する。なお、この実施例で表示方向とは、画像の天地方向(矢印Dの方向:図4参照)を意味する。ただし、本ゲーム機は、矢印Dとは垂直方向にゲーム機を向けた状態で、例えばスイッチ20d・20eを右手で操作し、スイッチ20aを左手で操作して遊ぶゲーム機であり、矢印Dの方向に向けて遊ぶのは本発明特有である。従って、会話ゲームでは、ゲーム空間やキャラクタの画像は、ゲーム機10を左に90度回転させた状態で正立する(たとえば図4参照)。これに対し、フォントデータ116は、他のゲームなどにも流用されるため、主軸Xに沿った表示方向性を有する。従って、ゲーム機10を左に90度回転させた状態でメッセージ画像を正立させるためには、描画時にフォントデータ116を右に90度回転させる必要がある。このような回転処理は、移動/回転プログラム74によって実行される。
【0079】
ゲーム機10でプレイされる会話ゲームの流れを、図4,図5(A)〜図5(E),図6および図7(A)〜図7(E)により説明する。会話ゲームは、ゲーム機10を左に90度回転させた状態でプレイされる。ゲームがスタートされると、ゲーム空間がLCD14(右画面)に表示され、そしてゲーム空間上にプレイヤキャラクタおよびノンプレイヤキャラクタがさらに表示される(図示せず)。なお、このときLCD12(左画面)には、たとえばゲーム空間内の任意の地点(プレイヤキャラクタのいる場所)で撮影された三次元カメラ画像などが表示される。
【0080】
この後、プレイヤがゲーム空間上の任意の点をスティック24等でタッチすると、プレイヤキャラクタはタッチされた位置へと移動される。この結果、プレイヤキャラクタがノンプレイヤキャラクタと接触すると、LCD14には拡大プレイヤキャラクタ画像120が表示され、LCD12には拡大ノンプレイヤキャラクタ画像122が表示される(図4参照)。続いて、LCD14にはプレイヤキャラクタ用のメッセージ画像124がさらに表示され、LCD12にはノンプレイヤキャラクタ用のメッセージ画像126がさらに表示される。メッセージ画像124およびメッセージ画像126の各々は、回転軸Yに対して対称な位置(つまり同じ高さ)に表示される。そしてLCD12の右下隅に、スキップボタン128がさらに表示される。
【0081】
詳しくは、メッセージ画像124および126は、図5(A)〜図5(E)に示す要領で表示および更新される。拡大キャラクタ画像120および122の表示が完了すると(図5(A)参照)、会話が開始される。会話は、プレイヤキャラクタのメッセージ124と、これに続くノンプレイヤキャラクタのメッセージ126とを1組として、N組のメッセージで構成される。すなわち、まずプレイヤキャラクタのメッセージ124として“僕は○○。君は誰?”がLCD14に表示され(図5(B)参照)、続いてノンプレイヤキャラクタのメッセージ126として“僕は△△。よろしく…”がLCD12に表示される(図5(C)参照)。こうして1組目のメッセージが表示されると、LCD14の右下隅にスキップボタン128が表示される。
【0082】
ここでスティック24等によりチェクボタン128を押下する(ボタンにタッチする)と、2組目のメッセージが表示される。すなわち、まずプレイヤキャラクタのメッセージ124が“こちらこそ。一緒に遊ぶ?”に更新され(図5(D)参照)、続いてノンプレイヤキャラクタのメッセージ126が“うん。遊ぼう。何して遊ぶ?”に更新される(図5(E)参照)。そしてLCD14の右下隅にスキップボタン128が表示され、以降、N組目のメッセージが表示されるまで同様の動作が繰り返される。なお、メッセージの更新動作は、LCD14上のチェクボタン128に限らず、操作スイッチ20の特定ボタンを押下する操作をトリガとして実行してもよい。
【0083】
このように、会話はスキップボタン128等の押下操作に応答して進行する。ただし、特定のシーンでは、スキップボタン128等の押下操作を行わなくても、蓋の開閉操作によって会話が進行する。このようなシーンの一例を図6に示す。図6のシーンでは、右画面(LCD14)のプレイヤキャラクタ120は男性であり、左画面(LCD12)のノンプレイヤキャラクタ122は女性である。
【0084】
なお、このシーンでも、他のシーンと同様、LCD14にはプレイヤキャラクタ用のメッセージ画像124が表示され、LCD12にはノンプレイヤキャラクタ用のメッセージ画像126が表示される。また、LCD14の右下隅にはスキップボタン128が表示され、このスキップボタン128の押下操作に応答して表示メッセージが更新される点も同様である。
【0085】
蓋の開閉操作によるメッセージ更新処理は、図7に示す要領で行われる。現在、プレイヤキャラクタのメッセージ124として“好きだよ?”がLCD14に表示され、ノンプレイヤキャラクタのメッセージ126として“わたしもよ”がLCD12に表示されている(図7(A)参照)。ここで蓋を閉じる操作が行われると、プレイヤキャラクタ120およびノンプレイヤキャラクタ122は互いに接近し、そしてキスをする。なお、蓋が完全に閉じられた時点で、キスの効果音(たとえば“チュッ”)を出力するようにしてもよい。この間、画面上のメッセージは更新されない(図7(B)および図7(C)を参照)。
【0086】
この後、蓋を開く操作が行われると、次の1組のメッセージが表示される。すなわち、まずプレイヤキャラクタのメッセージ124が“行ってくるよ”に更新され(図7(D)参照)、続いてノンプレイヤキャラクタのメッセージ126が“まってるわ”に更新される(図7(E)参照)。
【0087】
なお、図5(A)〜図5(E)および図7(A)〜図7(E)の各々では、2つのメッセージ124および126を共に表示したままこれを交互に更新している(つまり一方のメッセージが更新されたとき他方のメッセージは更新されることなくそのまま表示され続ける)が、一方のメッセージが更新されたとき他方のメッセージを消去するようにしてもよい。このような更新方法を図11(A)〜図11(E)に示す。
【0088】
具体的には、拡大キャラクタ画像120および122の表示が完了すると(図11(A)参照)、会話が開始される。すなわち、まずプレイヤキャラクタのメッセージ124として“僕は○○。君は誰?”がLCD14に表示される(図11(B)参照)。続いて、ノンプレイヤキャラクタのメッセージ126として“僕は△△。よろしく…”がLCD12に表示され、同時にプレイヤキャラクタのメッセージ124は消去される(図11(C)参照)。このとき、LCD14の右下隅にスキップボタン128が表示される。
【0089】
ここでスティック24等によりチェクボタン128を押下する(ボタンにタッチする)と、2組目のメッセージが表示される。すなわち、まずプレイヤキャラクタのメッセージ124が“こちらこそ。一緒に遊ぶ?”が表示され、同時にノンプレイヤキャラクタのメッセージ126は消去される(図11(D)参照)。続いて、ノンプレイヤキャラクタのメッセージ126が“うん。遊ぼう。何して遊ぶ?”が表示され、同時にプレイヤキャラクタのメッセージ124は消去される(図11(E)参照)。このときLCD14の右下隅にスキップボタン128が表示され、以降、N組目のメッセージが表示されるまで同様の動作が繰り返される。
【0090】
さらには、図12(A)〜図12(C)に示すような更新方法もある。すなわち、まずプレイヤキャラクタのメッセージ124として“じゃんけんしよう”が表示される(図12(A)参照)。次に、ノンプレイヤキャラクタのメッセージ126として“いいよ。じゃんけん…”が表示され、同時にプレイヤキャラクタのメッセージ124は消去される(図12(B)参照)。このときLCD14の右下隅にスキップボタン128が表示され、このボタン128を押下すると、プレイヤキャラクタのメッセージ124として“ぽん!”が表示され、同時にノンプレイヤキャラクタのメッセージ126は“ぽん!”に更新される。(図12(C)参照)。つまり、両キャラクタのメッセージが同時に表示(更新)される。
【0091】
上記のような会話ゲームをプレイするとき、CPUコア42は、図8〜図10に示すフローチャートに従う処理を実行する。図8を参照して、ステップS1では、ゲーム空間画像データ114に基づくゲーム空間(図示せず)をLCD14に表示する。ステップS3では、ゲーム空間内の画像データ84に基づくプレイヤキャラクタ(図示せず)をLCD14にさらに表示する。なお、このとき、ゲーム空間内の任意の地点で撮影された三次元カメラ画像をLCD12に表示してもよい。
【0092】
ステップS5では、タッチパネル22へのタッチ入力の有無を判別し、NOであればステップS9に進む。プレイヤがLCD14に表示されたゲーム空間内の任意の地点にスティック24等でタッチすると、ステップS5でYESと判別し、ステップS7に移る。ステップS7では、ゲーム空間内のプレイヤキャラクタをタッチパネル22で検出されたタッチ位置に移動させる。そして、ステップS9に移る。
【0093】
ステップS9では、プレイヤキャラクタがいずれかのノンプレイヤキャラクタと接触したか否かを判別する。ここでNOであればステップS13に進み、YESであればステップS11の会話処理(後述)を経てステップS13に進む。ステップS13ではゲーム終了か否かを判別し、NOであればステップS1に戻る。操作キー20によってゲーム終了操作が行われるか、あるいは特定シーン(後述)以外のシーンで蓋を閉じる操作が行われると、ステップS13でYESと判別し、処理を停止する。
【0094】
なお、ここでは、プレイヤキャラクタがノンプレイヤキャラクタと接触したとき会話を開始したが、会話開始のトリガはこれに限らない。たとえば、プレイヤキャラクタがノンプレイヤキャラクタに接近したとき画面を点滅させ、この状態で所定のボタンが押されたとき会話を開始するようにしてもよい。
【0095】
上記ステップS11の会話処理は、詳しくは、図9および図10に示すサブルーチンに従う。図9を参照して、ステップS21では、プレイヤキャラクタの拡大画像データ88をRAM48から読み出す。ステップS23では、読み出された拡大画像データ88に基づくプレイヤキャラクタ120をLCD14に表示する。プレイヤキャラクタ120の表示位置は、座標データ86に基づく。
【0096】
ステップS25では、ノンプレイヤキャラクタの拡大画像データ96をRAM48から読み出す。ステップS27では、読み出された拡大画像データ96に基づくノンプレイヤキャラクタ122をLCD12に表示する。ノンプレイヤキャラクタ122の表示位置は、座標データ94に基づく。この時点で、表示画面は図5(A)のようになる。
【0097】
こうしてプレイヤキャラクタ120およびノンプレイヤキャラクタ122が表示されると、会話が開始される。会話はN組のメッセージで構成される。ステップS29では、変数nに“1”をセットする。ステップS31では、n番目のプレイヤメッセージデータ、つまりプレイヤキャラクタ用メッセージデータ104のうちn番目のメッセージに対応するメッセージデータを読み出す。ステップS33では、読み出されたメッセージデータに従ってフォントデータ116を読み出す。ステップS35では、読み出されたフォントデータ116を右に90度回転する。そしてステップS37で、回転されたフォントデータ、つまりn番目のプレイヤメッセージ124をLCD14に表示する。プレイヤメッセージ124の表示位置は、プレイヤキャラクタ用の座標データ100に基づく。この時点で、表示画面は図5(B)のようになる。
【0098】
ステップS39では、n番目のノンプレイヤメッセージデータ、つまりノンプレイヤキャラクタ用メッセージデータ106のうちn番目のメッセージに対応するメッセージデータを読み出す。ステップS41では、読み出されたメッセージデータに従ってフォントデータ116を読み出す。ステップS43では、読み出されたフォントデータ116を右に90度回転する。そしてステップS45で、回転されたフォントデータ、つまりn番目のノンプレイヤメッセージ126をLCD12に表示する。ノンプレイヤメッセージ126の表示位置は、ノンプレイヤキャラクタ用の座標データ102に基づく。さらにステップS47で、スキップボタンデータ108に基づいてスキップボタン128をLCD14に表示する。この時点で、表示画面は図5(C)のようになる。
【0099】
なお、2つのメッセージ124および126を択一的に表示する場合には、ステップS45でプレイヤメッセージ124を消去する(この場合の表示画面は図11(C)のようになる)。n=2以降では、ステップS37でノンプレイヤメッセージ126が消去される。
【0100】
こうしてn組目のメッセージが表示されると、ステップS49およびS51のループ処理に入る。図10を参照して、ステップS49ではタッチパネル22からの信号に基づいてスキップボタン128が押されたか否かを判別し、ステップS51ではセンサ64からの信号に基づいて蓋が閉じられたか否かを判別する。LCD14上のスキップボタン128がスティック24等でタッチされると、ステップS49でYESと判別する。上側ハウジング16aが閉じる向きに回動され、これにより回動角θが閾値θ1(たとえば150度)を減少方向に跨ぐと、ステップS51でYESと判別する。ステップS49でYESであればステップS57に進み、ステップS51でYESであればステップS53に進む。
【0101】
ステップS53では、現在のシーンが特定シーンであるか否かをシーン識別データ115に基づいて判別する。ここでNOであれば上位層のルーチンに復帰し、YESであればステップS55で蓋が開かれたか否かをセンサ64からの信号に基づいて判別する。上側ハウジング16aが開く向きに回動され、これにより回動角θが閾値θ2(たとえば160度)を増加方向に跨ぐと、ステップS55でYESと判別し、ステップS57に移る。なお、回動角θに関する2つの閾値θ1およびθ2は、互いに異なる値でも、同一の値でもよい(たとえばθ1=θ2=160度)。
【0102】
ステップS57では、変数nをインクリメントする。続くステップS59では、変数nが定数Nよりも大きいか否かを判別し、ここでYESであれば上位層のルーチンに復帰する。ステップS59でNOであれば、ステップS31に戻る。
【0103】
従って、図5(C)の状態でスキップボタン128が押下されると、表示メッセージは図5(D)および図5(E)のように更新される。一方、特定シーンたとえば図7(A)のシーンで蓋が閉じられ、そして閉じられた蓋が開かれると、表示メッセージは図7(D)および図7(E)のように更新される。
【0104】
なお、図7(A)のシーンで蓋を閉じる代わりにスキップボタン128が押下されても、表示メッセージは図7(D)および図7(E)のように更新される。ただしこの場合、図7(B)および図7(C)に示すキャラクタ画像の更新処理は省略される(すなわちキャラクタはキスをしない)。
【0105】
以上から明らかなように、この実施例では、RAM48には、第1キャラクタ画像データ(プレイヤキャラクタの拡大画像データ88)および第2キャラクタ画像データ(ノンプレイヤキャラクタの拡大画像データ96)ならびに当該第1キャラクタ画像データおよび当該第2キャラクタ画像データにそれぞれ関連付けられた第1メッセージデータ(プレイヤキャラクタ用メッセージデータ104)および第2メッセージデータ(ノンプレイヤキャラクタ用メッセージデータ106)が記憶される。CPUコア42は、第1キャラクタ画像データに基づく第1キャラクタ画像(プレイヤキャラクタ120)をLCD14に表示し(S23)、第2キャラクタ画像データに基づく第2キャラクタ画像(ノンプレイヤキャラクタ画像122)をLCD12に表示する(S27)。また、かかるキャラクタ表示処理に関連して、第1メッセージデータに基づく第1メッセージ画像(プレイヤメッセージ124)をLCD14にさらに表示し(S37)、第2メッセージデータに基づく第2メッセージ画像(ノンプレイヤメッセージ126)をLCD12にさらに表示する(S45)。そしてタッチパネル22等を通して所定操作が検出されると、LCD14に表示されている第1メッセージ画像およびLCD12に表示されている第2メッセージ画像の少なくとも一方を更新する(S57)。これにより、キャラクタ同士の会話をわかりや
すく、かつ雰囲気豊かに表示することができる。
【0106】
以上では、ゲーム機10を用いて説明したが、この発明は、互いに隣接する第1表示器および第2表示器と、第1キャラクタ画像データおよび第2キャラクタ画像データならびに当該第1キャラクタ画像データおよび当該第2キャラクタ画像データにそれぞれ関連付けられた第1メッセージデータおよび第2メッセージデータを記憶したメモリと、操作手段とを備えるゲーム装置に適用できる。
【符号の説明】
【0107】
10…ゲーム機
12,14…LCD
16a…上側ハウジング
16b…下側ハウジング
20…操作キー
22…タッチパネル
24…スティック
42…CPUコア
48…RAM
64…センサ
【技術分野】
【0001】
この発明は、ゲームプログラムおよびゲーム装置に関し、特にたとえば、キャラクタ同士が会話する、ゲームプログラムおよびゲーム装置に関する。
【背景技術】
【0002】
従来のこの種の装置としては、特許文献1に開示されたものが知られている。この従来技術は、2つのキャラクタを表示し、そしてこれら2つのキャラクタにそれぞれ対応する2つのメッセージ(せりふ)を交互に、または同時に表示する。
【0003】
また、特許文献2に開示されたものも知られている。この従来技術は、複数のキャラクタと1つの吹き出しとを表示する。吹き出しはボックス部およびポインタ部で構成され、ボックス部には複数のキャラクタのいずれか1つに対応するメッセージが記述される。ボックス内のメッセージに対応するキャラクタは、ポインタ部の向きによって示される。
【特許文献1】特開2004−290269号公報
【特許文献2】特開2006−6429号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の従来技術では、2つのキャラクタおよび2つのメッセージは単一の画面内に表示されるので、キャラクタとメッセージとの対応関係がわかりにくい。また、携帯型ゲーム装置のように表示画面が小さい場合は特に、メッセージを判読しづらい。
【0005】
特許文献2の従来技術では、一度にいずれか1つのキャラクタのメッセージしか表示されないので、キャラクタ同士が会話する雰囲気に欠ける。
【0006】
それゆえに、この発明の主たる目的は、キャラクタ同士の会話をわかりやすく雰囲気豊かに表示できる、ゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【0007】
請求項1の発明に従うゲームプログラムは、ゲーム装置(10:実施例で相当する参照符号。以下同じ)のプロセサ(42)に、第1キャラクタ画像表示ステップ(S23)、第2キャラクタ画像表示ステップ(S27)、第1メッセージ画像表示ステップ(S37)および第2メッセージ画像表示ステップ(S45)を実行させる。ここでゲーム装置は、互いに隣接する第1表示器(14)および第2表示器(12)と、第1キャラクタ画像データおよび第2キャラクタ画像データならびに当該第1キャラクタおよび当該第2キャラクタにそれぞれ関連付けられた第1メッセージデータおよび第2メッセージデータを記憶したメモリ(48)と、操作手段(22,20)とを備える。
【0008】
第1キャラクタ画像表示ステップは、第1キャラクタ画像データに基づく第1キャラクタ画像を第1表示器に表示する。第2キャラクタ画像表示ステップは、第2キャラクタ画像データに基づく第2キャラクタ画像を第2表示器に表示する。第1メッセージ画像表示ステップは、第1キャラクタ画像が表示されている際に、第1メッセージデータに基づく第1メッセージ画像を第1表示器にさらに表示する。第2メッセージ画像表示ステップは、第2キャラクタ画像が表示されている際に、第2メッセージデータに基づく第2メッセージ画像を第2表示器にさらに表示する。メッセージ更新ステップは、操作手段によって所定操作がなされたとき第1表示器に表示されている第1メッセージ画像および第2表示器に表示されている第2メッセージ画像の少なくとも一方を更新する。
【0009】
請求項1の発明では、ゲーム装置は、第1表示器および第2表示器とメモリと操作手段とを備える。第1表示器および第2表示器は互いに隣接し、メモリには第1キャラクタ画像データおよび第2キャラクタ画像データならびに当該第1キャラクタおよび当該第2キャラクタにそれぞれ関連付けられた第1メッセージデータおよび第2メッセージデータが記憶される。
【0010】
メモリ内の第1キャラクタ画像データに基づく第1キャラクタ画像は、第1キャラクタ画像表示ステップによって第1表示器に表示され、メモリ内の第2キャラクタ画像データに基づく第2キャラクタ画像は、第2キャラクタ画像表示ステップによって第2表示器に表示される。こうして第1キャラクタ画像および第2キャラクタ画像が第1表示器および第2表示器にそれぞれ表示されている際に、メモリ内の第1メッセージデータに基づく第1メッセージ画像が第1メッセージ画像表示ステップによって第1表示器にさらに表示され、またメモリ内の第2メッセージデータに基づく第2メッセージ画像が第2メッセージ画像表示ステップによって第2表示器にさらに表示される。操作手段によって所定操作がなされると、第1表示器に表示されている第1メッセージ画像および第2表示器に表示されている第2メッセージ画像の少なくとも一方が、メッセージ更新ステップによって更新される。
【0011】
請求項1の発明によれば、第1キャラクタおよびこれに対応する第1メッセージは第1表示器に表示され、第2キャラクタおよびこれに対応する第2メッセージは第2表示器に表示されるので、プレイヤはキャラクタとメッセージとの対応関係が明瞭にわかり、各表示器の画面が小さくてもメッセージを容易に判読できる。また、第1キャラクタおよび第1メッセージと、第2キャラクタおよび第2メッセージとは、互いに隣接して表示され、これら第1メッセージおよび第2メッセージの少なくとも一方が所定操作に応答して更新されるので、キャラクタ同士が会話する雰囲気を演出できる。
【0012】
なお、互いに隣接する第1表示器および第2表示器は、好ましくは所定の軸に対して右および左にそれぞれ位置する。これにより、プレイヤキャラクタおよびノンプレイヤキャラクタが並んで会話する雰囲気が得られる。または、第1表示器および第2表示器は下および上にそれぞれ位置してもよい。この場合、たとえば1階のプレイヤキャラクタと2階のノンプレイヤキャラクタとが会話する雰囲気を演出できる。
【0013】
請求項2の発明に従うゲームプログラムは、請求項1に従属し、プロセサに第1読出ステップ(S33),第1回転処理ステップ(S35),第2読出ステップ(S41)および第2回転処理ステップ(S43)をさらに実行させる。第1表示器および第2表示器は、所定の軸に対して右および左にそれぞれ配置され、第1キャラクタ画像データおよび第2キャラクタ画像データの各々は、この軸に沿う第1方向の表示方向性を有する。メモリには、第1方向とは所定角度異なる第2方向の表示方向性を有するフォント画像データがさらに記憶される。
【0014】
第1読出ステップは、第1メッセージデータに従ってフォント画像データをメモリから読み出す。第1回転処理ステップは、第1読出ステップによって読み出されたフォント画像データに所定角度の回転処理を施す。第1メッセージ画像表示ステップの表示処理は、回転処理が施された後のフォント画像データに基づいて実行される。第2読出ステップは、第2メッセージデータに従ってフォント画像データをメモリから読み出す。第2回転処理ステップは、第2読出ステップによって読み出されたフォント画像データに所定角度の回転処理を施す。第2メッセージ画像表示ステップの表示処理は、回転処理が施された後のフォント画像データに基づいて実行される。
【0015】
請求項2の発明では、メモリ内の第1メッセージデータに従い、メモリ内のフォント画像データが第1読出ステップによって読み出される。読み出されたフォント画像データには所定角度の回転処理が第1回転処理ステップによって施され、回転処理が施された後のフォント画像データに基づく第1メッセージ画像が表示される。
【0016】
また、メモリ内の第2メッセージデータに従い、メモリ内のフォント画像データが第2読出ステップによって読み出される。読み出されたフォント画像データには所定角度の回転処理が第2回転処理ステップによって施され、回転処理が施された後のフォント画像データに基づく第2メッセージ画像が表示される。
【0017】
請求項2の発明にしたがえば、第1メッセージ画像データおよび第2メッセージ画像データの表示方向性を回転処理によって第1キャラクタ画像および第2キャラクタ画像の表示方向性と一致させるので、第1メッセージ画像および第2メッセージ画像を的確に表示できる。換言すれば、予め回転処理が施された専用のフォント画像データを準備しなくても、汎用的なフォント画像データの流用が可能となる。
【0018】
請求項3の発明に従うゲームプログラムは、請求項2に従属する。第1表示器および第2表示器の各々の表示面は長方形状を有し、所定角度は90度である。第1表示器および第2表示器は、各々の表示面の長手方向が第1方向と一致し、かつ各々の表示面の中心点を通る直線(X)が上記の軸に対して垂直となるような位置に配置される。
【0019】
請求項4の発明に従うゲームプログラムは、請求項1ないし3のいずれかに従属する。第1メッセージ表示ステップおよび第2メッセージ表示ステップは、第1メッセージ画像および第2メッセージ画像を同一の高さにそれぞれ表示する。なお、「同一の高さにそれぞれ表示する」とは、たとえば上記の軸に対して対称な位置にそれぞれ表示することである。
【0020】
請求項4の発明によれば、第1メッセージおよび第2メッセージの判読が容易となる。
【0021】
請求項5の発明に従うゲームプログラムは、請求項1ないし4のいずれかに従属する。ゲーム装置は、上記の軸の周りを回動可能に連結された第1ハウジング(16b)および第2ハウジング(16a)をさらに備える。第1表示器および第2表示器は、第1ハウジングおよび第2ハウジングにそれぞれ設けられる。
【0022】
請求項5の発明によれば、第1ハウジングおよび第2ハウジングを第1表示器の表示面と第2表示器の表示面とが互いに向かい合う向き(蓋を閉じる向き)に適当な角度(たとえば10〜20度)回動させることで、あたかもキャラクタ同士が向かい合って会話しているように見え、雰囲気が一層豊かになる。
【0023】
請求項6の発明に従うゲームプログラムは、請求項1ないし5のいずれかに従属し、プロセサにアイコン画像表示ステップ(S47)をさらに実行させる。操作手段は、第1表示器上に設けられるタッチパネル(22)を含む。
【0024】
アイコン画像表示ステップは、第1メッセージ画像表示ステップおよび第2メッセージ画像表示ステップの表示処理に関連してアイコン画像を第1表示器にさらに表示する。メッセージ更新ステップは、アイコン画像へのタッチ操作がタッチパネルによって検出されたとき更新処理を実行する。
【0025】
請求項6の発明では、第1メッセージ画像表示ステップおよび第2メッセージ画像表示ステップの表示処理に関連して、アイコン画像がアイコン画像表示ステップによって第1
表示器にさらに表示される。メッセージ更新ステップの更新処理は、アイコン画像へのタッチ操作がタッチパネルによって検出されたとき実行される。なお、この更新処理は、アイコン画像へのタッチ操作に限らず、ゲーム装置に備わる操作スイッチ(20)を押下する操作に応答して実行されるようにしてもよい。
【0026】
請求項7の発明に従うゲームプログラムは、請求項5または6に従属する。ゲーム装置は、第1ハウジングおよび第2ハウジングの開閉状態を検出する検出手段(64)をさらに備える。メッセージ更新ステップは、検出手段の検出結果に関連して更新処理を実行する。
【0027】
請求項7の発明では、第1ハウジングおよび第2ハウジングの開閉状態(つまり両ハウジングの互いの位置関係)が検出手段によって検出され、メッセージ更新ステップの更新処理は検出手段の検出結果に関連して実行される。
【0028】
請求項7の発明によれば、第1ハウジングおよび第2ハウジングの互いの位置関係を変更する操作、すなわち蓋を開閉する操作によってメッセージを更新させることができる。蓋を開閉する操作をメッセージ更新のトリガとすることで、ゲームの娯楽性を高めることができる。
【0029】
請求項8の発明に従うゲームプログラムは、請求項7に従属し、プロセサに第1判別ステップ(S51)、第2判別ステップ(S53)および第3判別ステップ(S55)をさらに実行させる。メモリに記憶された第1メッセージデータおよび第2メッセージデータは、複数のゲームシーンのいずれかに関連付けられている。メモリには、当該メモリに記憶された第1メッセージデータおよび第2メッセージデータが複数のゲームシーンのどれに関連付けられているかを識別するシーン識別データがさらに記憶される。そして位置関係は、第1ハウジングおよび第2ハウジングのなす角度(θ)である。
【0030】
第1判別ステップは、検出手段の検出結果が第1閾値を減少方向に跨いだか否かを判別する。第2判別ステップは、第1判別ステップの判別結果が肯定的であるときシーン識別データが特定ゲームシーンを示すか否かを判別する。第3判別ステップは、第2判別ステップの判別結果が肯定的であるとき検出手段の検出結果が第2閾値を増加方向に跨いだか否かを判別する。メッセージ更新ステップは、第3判別ステップの判別結果が肯定的であるとき更新処理を実行する。
【0031】
請求項8の発明では、最初、検出手段の検出結果つまり第1ハウジングおよび第2ハウジングのなす角度が第1閾値を減少方向に跨いだか否かが、第1判別ステップによって判別される。第2判別ステップは、第1判別ステップの判別結果が肯定的であるとき、メモリ内のシーン識別データが特定ゲームシーンを示すか否かを判別する。第3判別ステップは、第2判別ステップの判別結果が肯定的であるとき、検出手段の検出結果が第2閾値を増加方向に跨いだか否かを判別する。メッセージ更新ステップの更新処理は、第3判別ステップの判別結果が肯定的であるとき実行される。なお、第1閾値および第2閾値は、同一の値でも、互いに異なる値でもよい。
【0032】
請求項8の発明によれば、特定ゲームシーンでいったん蓋を閉じ、その後に蓋を開ければ、メッセージが更新される。なお、特定ゲームシーンは、たとえばキスシーンである。
【0033】
請求項9の発明に従うゲーム装置(10)は、互いに隣接する第1表示器(14)および第2表示器(12)、第1キャラクタ画像データおよび第2キャラクタ画像データならびに当該第1キャラクタおよび当該第2キャラクタにそれぞれ関連付けられた第1メッセージデータおよび第2メッセージデータを記憶したメモリ(48)、操作手段(22,2
0)、第1キャラクタ画像データに基づく第1キャラクタ画像を第1表示器に表示する第1キャラクタ画像表示手段(S23)、第2キャラクタ画像データに基づく第2キャラクタ画像を第2表示器に表示する第2キャラクタ画像表示手段(S27)、第1キャラクタ画像が表示されている際に第1メッセージデータに基づく第1メッセージ画像を第1表示器にさらに表示する第1メッセージ画像表示手段(S37)、第2キャラクタ画像が表示されている際に第2メッセージデータに基づく第2メッセージ画像を第2表示器にさらに表示する第2メッセージ画像表示手段(S45)、および操作手段によって所定操作がなされたとき第1表示器に表示されている第1メッセージ画像および第2表示器に表示されている第2メッセージ画像の少なくとも一方を更新するメッセージ更新手段(S57)を備える。
【0034】
請求項9の発明でも、請求項1の発明と同様に、キャラクタとメッセージとの対応関係が明瞭にわかり、メッセージも容易に判読できる。また、キャラクタ同士が会話する雰囲気を演出できる。
【発明の効果】
【0035】
この発明によれば、キャラクタ同士の会話をわかりやすく、かつ雰囲気豊かに表示することができる。
【0036】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0037】
【図1】この発明の一実施例を示す図解図である。
【図2】図1実施例の電気的な構成を示すブロック図である。
【図3】図1実施例に適用されるメモリマップを示す図解図である。
【図4】図1実施例に適用されるゲーム画面の一例を示す図解図である。
【図5】(A)〜(E)は図4ゲーム画面の変化を時系列的に示す図解図である。
【図6】図1実施例に適用されるゲーム画面の他の一例を示す図解図である。
【図7】(A)〜(E)は図6ゲーム画面の変化を時系列的に示す図解図である。
【図8】図1実施例に適用されるCPU動作の一部を示すフロー図である。
【図9】図1実施例に適用されるCPU動作の他の一部を示すフロー図である。
【図10】図1実施例に適用されるCPU動作のその他の一部を示すフロー図である。
【図11】(A)〜(E)は他の実施例における図4ゲーム画面の変化を時系列的に示す図解図である。
【図12】(A)〜(C)はその他の実施例におけるゲーム画面の変化を時系列的に示す図解図である。
【発明を実施するための形態】
【0038】
図1を参照して、この発明の実施例であるゲーム機10は、第1の液晶表示器(LCD)12および第2のLCD14を含む。このLCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)に並ぶように近接して配置される。
【0039】
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
【0040】
図1からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも少し大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。一方、下側ハウジング16bは、その平面形状が上側ハウジング16aよりも横長に選ばれ、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。また、下側ハウジング16bには、音抜き孔18が形成されるとともに、操作スイッチ20(20a,20b,20c,20d,20e,20Lおよび20R)が設けられる。
【0041】
また、上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが回転軸Yの周りを回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折りたたんでおけば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング16aと下側ハウジング16bとは、回動可能に連結せずに、それらを一体的(固定的)に設けたハウジング16を形成するようにしてもよい。
【0042】
なお、以下では、LCD12の表示面とLCD14の表示面とが対面するように上側ハウジング16aを回動させて折りたたんだ状態(図示せず)を“蓋を閉じた状態”と呼び、LCD12の表示面とLCD14の表示面とが同一方向を向いた状態(つまり図1または図4に示される状態)を“蓋を完全に開いた状態”と呼び、そして両状態のいずれでもない状態を“蓋を不完全に開いた状態”と呼ぶ。蓋を完全に開いた状態では、LCD12の表示面とLCD14の表示面とは同一平面内に存在すると見なし、LCD12の表示面の中心とLCD14の表示面の中心とを通る直線を“主軸X”と定義する。主軸Xは、上記の回転軸Yに対して垂直である。
【0043】
また、主軸Xは、蓋を不完全に開いた状態では、図6に示されるように2つに折れ曲がるものとする。この折れ曲がり角すなわち上側ハウジング16aと下側ハウジング16bとのなす角度(LCD12の表示面とLCD14の表示面とのなす角度)を回動角θ(ただし0≦θ≦180°)と呼ぶ。蓋を完全に開いた状態ではθ=180°であり、蓋を閉じた状態ではθ=0となる。
【0044】
操作スイッチ20は、方向指示スイッチ(十字キー)20a,スタートスイッチ20b、セレクトスイッチ20c、動作スイッチ(Aボタン)20d、動作スイッチ(Bボタン)20e、動作スイッチ(Lボタン)20Lおよび動作スイッチ(Rボタン)20Rを含む。スイッチ20a,20bおよび20cは、下側ハウジング16bの一方主面において、LCD14の左側に配置される。また、スイッチ20dおよび20eは、下側ハウジング16bの一方主面において、LCD14の右側に配置される。さらに、スイッチ20Lおよびスイッチ20Rは、それぞれ、下側ハウジング16bの上端(天面)の一部であり上側ハウジング16aとの連結部以外の部分において、当該連結部を挟むようにして左右に配置される。
【0045】
方向指示スイッチ20aは、ディジタルジョイスティックとして機能する。左右上下にこの順序で配置される4つの押圧部a1〜a4の1つを操作することによって、プレイヤによって操作可能なプレイヤキャラクタまたはプレイヤオブジェクトやカーソルの移動方向の指示等が可能である。
【0046】
スタートスイッチ20bは、プッシュボタンで構成され、ゲームの開始(再開)、や一時停止等のために用いられる。セレクトスイッチ20cは、プッシュボタンで構成され、ゲームモードの選択等のために用いられる。
【0047】
動作スイッチ20dすなわちAボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプする、切る等の任意の動作(アクション)をさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ20eすなわちBボタンは、プッシュボタンで構成され、セレクトスイッチ20cで選択したゲームモードの変更やAボタン20dで決定したアクションの取り消し等のために用いられる。
【0048】
動作スイッチ20L(Lボタン)および動作スイッチ20R(Rボタン)は、プッシュボタンで構成され、Lボタン20LおよびRボタン20Rは、Aボタン20dおよびBボタン20eと同様の操作に用いることができ、また、Aボタン20dおよびBボタン20eの補助的な操作に用いることができる。
【0049】
また、LCD14の上面には、タッチパネル22が装着される。タッチパネル22としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル22は、その上面をスティック24ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック24等」という場合がある。)で、押圧したり、撫でたり、触れたり、叩いたりすることにより操作すると、スティック24等によって操作された(つまり、タッチ入力された)位置の座標を検出して、検出した座標(検出座標)に対応する座標データを出力する。
【0050】
なお、この実施例では、LCD14(LCD12も同じ、または略同じ。)の表示面の解像度は256dot×192dotであり、タッチパネル22の検出精度(操作面)も表示画面に対応して256dot×192dotとしてある。ただし、図1では、タッチパネル22を分かり易く示すために、タッチパネル22をLCD14と異なる大きさで示してあるが、LCD14の表示画面の大きさとタッチパネル22の操作面の大きさとは同じ大きさである。なお、タッチパネル22の検出精度は、表示画面の解像度よりも低くてもよく、高くてもよい。
【0051】
LCD12およびLCD14には異なるゲーム画面が表示され得る。たとえば、レースゲームでは一方のLCDに運転席からの視点による画面を表示し、他方のLCDにレース(コース)全体の画面を表示することができる。また、RPGでは、一方のLCDにマップやプレイヤキャラクタ等のキャラクタを表示し、他方のLCDにプレイヤキャラクタが所有するアイテムを表示することができる。さらに、一方のLCDにゲームのプレイ画面を表示し、他方のLCDに当該ゲームを操作するための文字情報やアイコン等の画像を含むゲーム画面(操作画面)を表示することができる。さらには、2つのLCD12およびLCD14を合わせて1つの画面として用いることにより、プレイヤキャラクタが倒さなければならない巨大な怪物(敵キャラクタ)を表示することもできる。
【0052】
したがって、プレイヤはスティック24等でタッチパネル22を操作することにより、LCD14の画面に表示されるプレイヤキャラクタ、敵キャラクタ、アイテムキャラクタ、文字情報、アイコン等のキャラクタ画像を指示したり、コマンドを選択したりすることができる。なお、ゲームの種類によっては、その他の入力指示、たとえばLCD14に表示されたアイコンの選択または操作、座標入力指示等に用いることもできる。
【0053】
このように、ゲーム機10は、2画面分の表示部となるLCD12およびLCD14を有し、いずれか一方(この実施例では、LCD14)の上面にタッチパネル22が設けられるので、2画面(12,14)と2系統の操作部(20,22)とを有する構成になっている。
【0054】
また、この実施例では、スティック24は、たとえば上側ハウジング16aの側面(右側面)近傍に設けられる収納部(穴ないし凹部)26に収納することができ、必要に応じて取り出される。ただし、スティック24を設けない場合には、収納部26を設ける必要もない。
【0055】
さらに、ゲーム機10はメモリカード(またはゲームカートリッジ)28を含む。このメモリカード28は着脱自在であり、下側ハウジング16bの裏面ないしは底面(下端)に設けられる挿入口30から挿入される。図1では省略するが、挿入口30の奥部には、メモリカード28の挿入方向先端部に設けられるコネクタ(図示せず)と接合するためのコネクタ46(図2参照)が設けられており、したがって、メモリカード28が挿入口30に挿入されると、コネクタ同士が接合され、ゲーム機10のCPUコア42(図2参照)がメモリカード28にアクセス可能となる。
【0056】
なお、図1では表現できないが、下側ハウジング16bの音抜き孔18と対応する位置であり、この下側ハウジング16bの内部には、スピーカ32(図2参照)が設けられる。
【0057】
また、図1では省略するが、たとえば、下側ハウジング16bの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング16bの底面側には、電源スイッチ、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなども設けられる。
【0058】
図2はゲーム機10の電気的な構成を示すブロック図である。図2を参照して、ゲーム機10は電子回路基板40を含み、この電子回路基板40にはCPUコア42等の回路コンポーネントが実装される。CPUコア42は、バス44を介してコネクタ46に接続されるとともに、RAM48、第1のグラフィック処理ユニット(GPU)50、第2のGPU52、入出カインターフェイス回路(以下、「I/F回路」という。)54、LCDコントローラ60およびセンサ64に接続される。
【0059】
コネクタ46には、上述したように、メモリカード28が着脱自在に接続される。メモリカード28は、ROM28aおよびRAM28bを含み、図示は省略するが、ROM28aおよびRAM28bは、互いにバスで接続され、さらに、コネクタ46と接合されるコネクタ(図示せず)に接続される。したがって、上述したように、CPUコア42は、ROM28aおよびRAM28bにアクセスすることができるのである。
【0060】
ROM28aは、ゲーム機10で実行すべきゲーム(仮想ゲーム)のためのゲームプログラム、画像(キャラクタ画像、背景画像、アイテム画像、アイコン(ボタン)画像、メッセージ画像など)データおよびゲームに必要な音(音楽)のデータ(音データ)等を予め記憶する。RAM(バックアップRAM)28bは、そのゲームの途中データやゲームの結果データを記憶(セーブ)する。
【0061】
RAM48は、バッファメモリないしはワーキングメモリ(ワークRAM)として使用される。つまり、CPUコア42は、メモリカード28のROM28aに記憶されたゲームプログラム、画像データおよび音データ等をRAM48にロードし、ロードしたゲームプログラムを実行する。また、CPUコア42は、ゲームの進行に応じて発生または取得されるデータ(ゲームデータやフラグデータ等)をRAM48に記憶しつつゲーム処理を実行する。
【0062】
なお、ゲームプログラム、画像データおよび音データ等は、ROM28aから一度に全部または必要に応じて部分的にかつ順次的に読み出され、RAM48に記憶される。
【0063】
ただし、メモリカード28のROM28aには、ゲーム以外の他のアプリケーションについてのプログラムおよび当該アプリケーションの実行に必要な画像データ等が記憶される。また、必要に応じて、音(音楽)データが記憶されてもよい。かかる場合には、ゲーム機10では、当該アプリケーションが実行される。
【0064】
GPU50およびGPU52は、それぞれ、描画手段の一部を形成し、たとえばシングルチップASICで構成され、CPUコア42からのグラフィックスコマンド(graphics command :作画命令)を受け、そのグラフィックスコマンドに従ってゲーム画像データを生成する。ただし、CPUコア42は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる。)をGPU50およびGPU52のそれぞれに与える。
【0065】
また、GPU50には、第1のビデオRAM(以下、「VRAM」という。)56が接続され、GPU52には、第2のVRAM58が接続される。GPU50およびGPU52が作画コマンドを実行するにあたって必要なデータ(画像データ:キャラクタデータやテクスチャ等のデータ)は、GPU50およびGPU52が、それぞれ、第1のVRAM56および第2のVRAM58にアクセスして取得する。ただし、CPUコア42は、描画に必要な画像データをRAM48から読み出し、GPU50およびGPU52を介して第1のVRAM56および第2のVRAM58に書き込む。GPU50はVRAM56にアクセスして表示のためのゲーム画像データを作成し、その画像データをVRAM56の描画バッファに記憶する。GPU52はVRAM58にアクセスして描画のためのゲーム画像データを作成し、その画像データをVRAM58の描画バッファに記憶する。描画バッファとしてはフレームバッファまたはラインバッファ等が採用されてよい。
【0066】
VRAM56およびVRAM58は、LCDコントローラ60に接続される。LCDコントローラ60はレジスタ62を含み、レジスタ62はたとえば1ビットで構成され、CPUコア42の指示によって「0」または「1」の値(データ値)を記憶する。LCDコントローラ60は、レジスタ62のデータ値が「0」である場合には、GPU50によって作成されたゲーム画像データをLCD12に出力し、GPU52によって作成されたゲーム画像データをLCD14に出力する。一方、レジスタ62のデータ値が「1」である場合には、LCDコントローラ60は、GPU50によって作成されたゲーム画像データをLCD14に出力し、GPU52によって作成されたゲーム画像データをLCD12に出力する。
【0067】
なお、LCDコントローラ60は、VRAM56およびVRAM58から直接画像データを読み出すことができるし、あるいはGPU50およびGPU52を介してVRAM56およびVRAM58から画像データを読み出すこともできる。
【0068】
また、VRAM56およびVRAM58はRAM48に設けられてもよいし、あるいはその描画バッファおよびZバッファがRAM48に設けられてもよい。
【0069】
I/F回路54には、操作スイッチ20,タッチパネル22およびスピーカ32が接続される。ここで、操作スイッチ20は、上述したスイッチ20a,20b,20c,20d,20e,20Lおよび20Rであり、操作スイッチ20が操作されると、対応する操作信号(操作データ)がI/F回路54を介してCPUコア42に入力される。また、タッチパネル22から出力される操作データ(座標データ)がI/F回路54を介してCPUコア42に入力される。さらに、CPUコア42は、ゲーム音楽(BGM)、効果音またはゲームキャラクタの音声(擬制音)などのゲームに必要な音データをRAM48から読み出し、I/F回路54を介してスピーカ32からその音を出力する。
【0070】
センサ64は、蓋の開閉状態、具体的には上側ハウジング16aと下側ハウジング16bとのなす角度(回動角θ:図6参照)を検出する。センサ64の検出結果は、プレイモードおよびスリープモードの間のモード切り替えなどに利用される。また、会話ゲームをプレイする場合には、メッセージを更新する際のトリガとしても利用される。
【0071】
以上のように構成されたゲーム機10で会話ゲームを行う場合におけるRAM48のメモリマップを図3に示す。図3を参照して、プログラム記憶領域70には、表示プログラム72,移動/回転プログラム74,タッチ入力検出プログラム76,蓋状態検出プログラム78などが記憶される。
【0072】
表示プログラム72は、データ記憶領域80内のデータに基づいて、ゲーム空間,キャラクタ,メッセージおよびスキップボタンなどの画像をLCD12および/またはLCD14に表示する。移動/回転プログラム74は、ゲーム空間内でキャラクタを移動したり、メッセージの画像を回転させたりする。タッチ入力検出プログラム76は、タッチパネル22へのタッチ入力を検出する。蓋状態検出プログラム78は、センサ64からの信号に基づいて蓋の開閉状態つまり回動角θを検出する。
【0073】
また、データ記憶領域80には、プレイヤキャラクタデータ82,ノンプレイヤキャラクタデータ90,メッセージデータ98,スキップボタンデータ108,ゲーム空間データ114,シーン識別データ115およびフォントデータ116などが記憶される。
【0074】
プレイヤキャラクタデータ82は、ゲーム空間内に表示されるプレイヤキャラクタの画像データ84,プレイヤキャラクタの表示位置を示す座標データ86および拡大されたプレイヤキャラクタの画像データ88を含む。ノンプレイヤキャラクタデータ90は、ゲーム空間内に表示されるノンプレイヤキャラクタの画像データ92,ノンプレイヤキャラクタの表示位置を示す座標データ94,および拡大されたノンプレイヤキャラクタの画像データ96を含む。
【0075】
メッセージデータ98は、プレイヤキャラクタ用メッセージの表示位置を示す座標データ100,ノンプレイヤキャラクタ用メッセージの表示位置を示す座標データ102,プレイヤキャラクタ用のメッセージデータ104およびノンプレイヤキャラクタ用のメッセージデータ106を含む。プレイヤキャラクタ用メッセージデータ104およびノンプレイヤキャラクタ用メッセージデータ106の各々は、1番目〜N番目のN個のメッセージにそれぞれ対応するN個のデータブロックに区分される。これら2N個のデータブロックの各々が、1つのキャラクタによる1回分の発言(1単位のせりふ)に対応する。
【0076】
なお、ROM28には第1〜第MのM個のシーンの各々で交わされる会話のメッセージデータが格納されており、各シーンで必要なデータがROM28bからRAM48に転送される。つまり、RAM48内のメッセージデータ98は、M個のシーンのいずれか1つで交わされる会話に対応するメッセージデータである。
【0077】
スキップボタンデータ108は、スキップボタンの画像データ110およびその表示位置を示す座標データ112を含む。ゲーム空間画像データ114は、ゲーム空間を表示するためのデータである。シーン識別データ115は、現在のシーンが上記のM個のシーンのどれであるかを識別するためのデータである。フォントデータ116は、メッセージデータをメッセージ画像に変換するためのデータである。
【0078】
ここで、上記の画像データ84,88,92,96,110および114の各々は、主軸Xに対して右に90度回転されたような表示方向性を有する。なお、この実施例で表示方向とは、画像の天地方向(矢印Dの方向:図4参照)を意味する。ただし、本ゲーム機は、矢印Dとは垂直方向にゲーム機を向けた状態で、例えばスイッチ20d・20eを右手で操作し、スイッチ20aを左手で操作して遊ぶゲーム機であり、矢印Dの方向に向けて遊ぶのは本発明特有である。従って、会話ゲームでは、ゲーム空間やキャラクタの画像は、ゲーム機10を左に90度回転させた状態で正立する(たとえば図4参照)。これに対し、フォントデータ116は、他のゲームなどにも流用されるため、主軸Xに沿った表示方向性を有する。従って、ゲーム機10を左に90度回転させた状態でメッセージ画像を正立させるためには、描画時にフォントデータ116を右に90度回転させる必要がある。このような回転処理は、移動/回転プログラム74によって実行される。
【0079】
ゲーム機10でプレイされる会話ゲームの流れを、図4,図5(A)〜図5(E),図6および図7(A)〜図7(E)により説明する。会話ゲームは、ゲーム機10を左に90度回転させた状態でプレイされる。ゲームがスタートされると、ゲーム空間がLCD14(右画面)に表示され、そしてゲーム空間上にプレイヤキャラクタおよびノンプレイヤキャラクタがさらに表示される(図示せず)。なお、このときLCD12(左画面)には、たとえばゲーム空間内の任意の地点(プレイヤキャラクタのいる場所)で撮影された三次元カメラ画像などが表示される。
【0080】
この後、プレイヤがゲーム空間上の任意の点をスティック24等でタッチすると、プレイヤキャラクタはタッチされた位置へと移動される。この結果、プレイヤキャラクタがノンプレイヤキャラクタと接触すると、LCD14には拡大プレイヤキャラクタ画像120が表示され、LCD12には拡大ノンプレイヤキャラクタ画像122が表示される(図4参照)。続いて、LCD14にはプレイヤキャラクタ用のメッセージ画像124がさらに表示され、LCD12にはノンプレイヤキャラクタ用のメッセージ画像126がさらに表示される。メッセージ画像124およびメッセージ画像126の各々は、回転軸Yに対して対称な位置(つまり同じ高さ)に表示される。そしてLCD12の右下隅に、スキップボタン128がさらに表示される。
【0081】
詳しくは、メッセージ画像124および126は、図5(A)〜図5(E)に示す要領で表示および更新される。拡大キャラクタ画像120および122の表示が完了すると(図5(A)参照)、会話が開始される。会話は、プレイヤキャラクタのメッセージ124と、これに続くノンプレイヤキャラクタのメッセージ126とを1組として、N組のメッセージで構成される。すなわち、まずプレイヤキャラクタのメッセージ124として“僕は○○。君は誰?”がLCD14に表示され(図5(B)参照)、続いてノンプレイヤキャラクタのメッセージ126として“僕は△△。よろしく…”がLCD12に表示される(図5(C)参照)。こうして1組目のメッセージが表示されると、LCD14の右下隅にスキップボタン128が表示される。
【0082】
ここでスティック24等によりチェクボタン128を押下する(ボタンにタッチする)と、2組目のメッセージが表示される。すなわち、まずプレイヤキャラクタのメッセージ124が“こちらこそ。一緒に遊ぶ?”に更新され(図5(D)参照)、続いてノンプレイヤキャラクタのメッセージ126が“うん。遊ぼう。何して遊ぶ?”に更新される(図5(E)参照)。そしてLCD14の右下隅にスキップボタン128が表示され、以降、N組目のメッセージが表示されるまで同様の動作が繰り返される。なお、メッセージの更新動作は、LCD14上のチェクボタン128に限らず、操作スイッチ20の特定ボタンを押下する操作をトリガとして実行してもよい。
【0083】
このように、会話はスキップボタン128等の押下操作に応答して進行する。ただし、特定のシーンでは、スキップボタン128等の押下操作を行わなくても、蓋の開閉操作によって会話が進行する。このようなシーンの一例を図6に示す。図6のシーンでは、右画面(LCD14)のプレイヤキャラクタ120は男性であり、左画面(LCD12)のノンプレイヤキャラクタ122は女性である。
【0084】
なお、このシーンでも、他のシーンと同様、LCD14にはプレイヤキャラクタ用のメッセージ画像124が表示され、LCD12にはノンプレイヤキャラクタ用のメッセージ画像126が表示される。また、LCD14の右下隅にはスキップボタン128が表示され、このスキップボタン128の押下操作に応答して表示メッセージが更新される点も同様である。
【0085】
蓋の開閉操作によるメッセージ更新処理は、図7に示す要領で行われる。現在、プレイヤキャラクタのメッセージ124として“好きだよ?”がLCD14に表示され、ノンプレイヤキャラクタのメッセージ126として“わたしもよ”がLCD12に表示されている(図7(A)参照)。ここで蓋を閉じる操作が行われると、プレイヤキャラクタ120およびノンプレイヤキャラクタ122は互いに接近し、そしてキスをする。なお、蓋が完全に閉じられた時点で、キスの効果音(たとえば“チュッ”)を出力するようにしてもよい。この間、画面上のメッセージは更新されない(図7(B)および図7(C)を参照)。
【0086】
この後、蓋を開く操作が行われると、次の1組のメッセージが表示される。すなわち、まずプレイヤキャラクタのメッセージ124が“行ってくるよ”に更新され(図7(D)参照)、続いてノンプレイヤキャラクタのメッセージ126が“まってるわ”に更新される(図7(E)参照)。
【0087】
なお、図5(A)〜図5(E)および図7(A)〜図7(E)の各々では、2つのメッセージ124および126を共に表示したままこれを交互に更新している(つまり一方のメッセージが更新されたとき他方のメッセージは更新されることなくそのまま表示され続ける)が、一方のメッセージが更新されたとき他方のメッセージを消去するようにしてもよい。このような更新方法を図11(A)〜図11(E)に示す。
【0088】
具体的には、拡大キャラクタ画像120および122の表示が完了すると(図11(A)参照)、会話が開始される。すなわち、まずプレイヤキャラクタのメッセージ124として“僕は○○。君は誰?”がLCD14に表示される(図11(B)参照)。続いて、ノンプレイヤキャラクタのメッセージ126として“僕は△△。よろしく…”がLCD12に表示され、同時にプレイヤキャラクタのメッセージ124は消去される(図11(C)参照)。このとき、LCD14の右下隅にスキップボタン128が表示される。
【0089】
ここでスティック24等によりチェクボタン128を押下する(ボタンにタッチする)と、2組目のメッセージが表示される。すなわち、まずプレイヤキャラクタのメッセージ124が“こちらこそ。一緒に遊ぶ?”が表示され、同時にノンプレイヤキャラクタのメッセージ126は消去される(図11(D)参照)。続いて、ノンプレイヤキャラクタのメッセージ126が“うん。遊ぼう。何して遊ぶ?”が表示され、同時にプレイヤキャラクタのメッセージ124は消去される(図11(E)参照)。このときLCD14の右下隅にスキップボタン128が表示され、以降、N組目のメッセージが表示されるまで同様の動作が繰り返される。
【0090】
さらには、図12(A)〜図12(C)に示すような更新方法もある。すなわち、まずプレイヤキャラクタのメッセージ124として“じゃんけんしよう”が表示される(図12(A)参照)。次に、ノンプレイヤキャラクタのメッセージ126として“いいよ。じゃんけん…”が表示され、同時にプレイヤキャラクタのメッセージ124は消去される(図12(B)参照)。このときLCD14の右下隅にスキップボタン128が表示され、このボタン128を押下すると、プレイヤキャラクタのメッセージ124として“ぽん!”が表示され、同時にノンプレイヤキャラクタのメッセージ126は“ぽん!”に更新される。(図12(C)参照)。つまり、両キャラクタのメッセージが同時に表示(更新)される。
【0091】
上記のような会話ゲームをプレイするとき、CPUコア42は、図8〜図10に示すフローチャートに従う処理を実行する。図8を参照して、ステップS1では、ゲーム空間画像データ114に基づくゲーム空間(図示せず)をLCD14に表示する。ステップS3では、ゲーム空間内の画像データ84に基づくプレイヤキャラクタ(図示せず)をLCD14にさらに表示する。なお、このとき、ゲーム空間内の任意の地点で撮影された三次元カメラ画像をLCD12に表示してもよい。
【0092】
ステップS5では、タッチパネル22へのタッチ入力の有無を判別し、NOであればステップS9に進む。プレイヤがLCD14に表示されたゲーム空間内の任意の地点にスティック24等でタッチすると、ステップS5でYESと判別し、ステップS7に移る。ステップS7では、ゲーム空間内のプレイヤキャラクタをタッチパネル22で検出されたタッチ位置に移動させる。そして、ステップS9に移る。
【0093】
ステップS9では、プレイヤキャラクタがいずれかのノンプレイヤキャラクタと接触したか否かを判別する。ここでNOであればステップS13に進み、YESであればステップS11の会話処理(後述)を経てステップS13に進む。ステップS13ではゲーム終了か否かを判別し、NOであればステップS1に戻る。操作キー20によってゲーム終了操作が行われるか、あるいは特定シーン(後述)以外のシーンで蓋を閉じる操作が行われると、ステップS13でYESと判別し、処理を停止する。
【0094】
なお、ここでは、プレイヤキャラクタがノンプレイヤキャラクタと接触したとき会話を開始したが、会話開始のトリガはこれに限らない。たとえば、プレイヤキャラクタがノンプレイヤキャラクタに接近したとき画面を点滅させ、この状態で所定のボタンが押されたとき会話を開始するようにしてもよい。
【0095】
上記ステップS11の会話処理は、詳しくは、図9および図10に示すサブルーチンに従う。図9を参照して、ステップS21では、プレイヤキャラクタの拡大画像データ88をRAM48から読み出す。ステップS23では、読み出された拡大画像データ88に基づくプレイヤキャラクタ120をLCD14に表示する。プレイヤキャラクタ120の表示位置は、座標データ86に基づく。
【0096】
ステップS25では、ノンプレイヤキャラクタの拡大画像データ96をRAM48から読み出す。ステップS27では、読み出された拡大画像データ96に基づくノンプレイヤキャラクタ122をLCD12に表示する。ノンプレイヤキャラクタ122の表示位置は、座標データ94に基づく。この時点で、表示画面は図5(A)のようになる。
【0097】
こうしてプレイヤキャラクタ120およびノンプレイヤキャラクタ122が表示されると、会話が開始される。会話はN組のメッセージで構成される。ステップS29では、変数nに“1”をセットする。ステップS31では、n番目のプレイヤメッセージデータ、つまりプレイヤキャラクタ用メッセージデータ104のうちn番目のメッセージに対応するメッセージデータを読み出す。ステップS33では、読み出されたメッセージデータに従ってフォントデータ116を読み出す。ステップS35では、読み出されたフォントデータ116を右に90度回転する。そしてステップS37で、回転されたフォントデータ、つまりn番目のプレイヤメッセージ124をLCD14に表示する。プレイヤメッセージ124の表示位置は、プレイヤキャラクタ用の座標データ100に基づく。この時点で、表示画面は図5(B)のようになる。
【0098】
ステップS39では、n番目のノンプレイヤメッセージデータ、つまりノンプレイヤキャラクタ用メッセージデータ106のうちn番目のメッセージに対応するメッセージデータを読み出す。ステップS41では、読み出されたメッセージデータに従ってフォントデータ116を読み出す。ステップS43では、読み出されたフォントデータ116を右に90度回転する。そしてステップS45で、回転されたフォントデータ、つまりn番目のノンプレイヤメッセージ126をLCD12に表示する。ノンプレイヤメッセージ126の表示位置は、ノンプレイヤキャラクタ用の座標データ102に基づく。さらにステップS47で、スキップボタンデータ108に基づいてスキップボタン128をLCD14に表示する。この時点で、表示画面は図5(C)のようになる。
【0099】
なお、2つのメッセージ124および126を択一的に表示する場合には、ステップS45でプレイヤメッセージ124を消去する(この場合の表示画面は図11(C)のようになる)。n=2以降では、ステップS37でノンプレイヤメッセージ126が消去される。
【0100】
こうしてn組目のメッセージが表示されると、ステップS49およびS51のループ処理に入る。図10を参照して、ステップS49ではタッチパネル22からの信号に基づいてスキップボタン128が押されたか否かを判別し、ステップS51ではセンサ64からの信号に基づいて蓋が閉じられたか否かを判別する。LCD14上のスキップボタン128がスティック24等でタッチされると、ステップS49でYESと判別する。上側ハウジング16aが閉じる向きに回動され、これにより回動角θが閾値θ1(たとえば150度)を減少方向に跨ぐと、ステップS51でYESと判別する。ステップS49でYESであればステップS57に進み、ステップS51でYESであればステップS53に進む。
【0101】
ステップS53では、現在のシーンが特定シーンであるか否かをシーン識別データ115に基づいて判別する。ここでNOであれば上位層のルーチンに復帰し、YESであればステップS55で蓋が開かれたか否かをセンサ64からの信号に基づいて判別する。上側ハウジング16aが開く向きに回動され、これにより回動角θが閾値θ2(たとえば160度)を増加方向に跨ぐと、ステップS55でYESと判別し、ステップS57に移る。なお、回動角θに関する2つの閾値θ1およびθ2は、互いに異なる値でも、同一の値でもよい(たとえばθ1=θ2=160度)。
【0102】
ステップS57では、変数nをインクリメントする。続くステップS59では、変数nが定数Nよりも大きいか否かを判別し、ここでYESであれば上位層のルーチンに復帰する。ステップS59でNOであれば、ステップS31に戻る。
【0103】
従って、図5(C)の状態でスキップボタン128が押下されると、表示メッセージは図5(D)および図5(E)のように更新される。一方、特定シーンたとえば図7(A)のシーンで蓋が閉じられ、そして閉じられた蓋が開かれると、表示メッセージは図7(D)および図7(E)のように更新される。
【0104】
なお、図7(A)のシーンで蓋を閉じる代わりにスキップボタン128が押下されても、表示メッセージは図7(D)および図7(E)のように更新される。ただしこの場合、図7(B)および図7(C)に示すキャラクタ画像の更新処理は省略される(すなわちキャラクタはキスをしない)。
【0105】
以上から明らかなように、この実施例では、RAM48には、第1キャラクタ画像データ(プレイヤキャラクタの拡大画像データ88)および第2キャラクタ画像データ(ノンプレイヤキャラクタの拡大画像データ96)ならびに当該第1キャラクタ画像データおよび当該第2キャラクタ画像データにそれぞれ関連付けられた第1メッセージデータ(プレイヤキャラクタ用メッセージデータ104)および第2メッセージデータ(ノンプレイヤキャラクタ用メッセージデータ106)が記憶される。CPUコア42は、第1キャラクタ画像データに基づく第1キャラクタ画像(プレイヤキャラクタ120)をLCD14に表示し(S23)、第2キャラクタ画像データに基づく第2キャラクタ画像(ノンプレイヤキャラクタ画像122)をLCD12に表示する(S27)。また、かかるキャラクタ表示処理に関連して、第1メッセージデータに基づく第1メッセージ画像(プレイヤメッセージ124)をLCD14にさらに表示し(S37)、第2メッセージデータに基づく第2メッセージ画像(ノンプレイヤメッセージ126)をLCD12にさらに表示する(S45)。そしてタッチパネル22等を通して所定操作が検出されると、LCD14に表示されている第1メッセージ画像およびLCD12に表示されている第2メッセージ画像の少なくとも一方を更新する(S57)。これにより、キャラクタ同士の会話をわかりや
すく、かつ雰囲気豊かに表示することができる。
【0106】
以上では、ゲーム機10を用いて説明したが、この発明は、互いに隣接する第1表示器および第2表示器と、第1キャラクタ画像データおよび第2キャラクタ画像データならびに当該第1キャラクタ画像データおよび当該第2キャラクタ画像データにそれぞれ関連付けられた第1メッセージデータおよび第2メッセージデータを記憶したメモリと、操作手段とを備えるゲーム装置に適用できる。
【符号の説明】
【0107】
10…ゲーム機
12,14…LCD
16a…上側ハウジング
16b…下側ハウジング
20…操作キー
22…タッチパネル
24…スティック
42…CPUコア
48…RAM
64…センサ
【特許請求の範囲】
【請求項1】
互いに隣接する第1表示器および第2表示器と、第1キャラクタ画像データおよび第2キャラクタ画像データならびに当該第1キャラクタおよび当該第2キャラクタにそれぞれ関連付けられた第1メッセージデータおよび第2メッセージデータを記憶したメモリと、操作手段とを備えるゲーム装置のプロセサに、
前記第1キャラクタ画像データに基づく第1キャラクタ画像を前記第1表示器に表示する第1キャラクタ画像表示ステップ、
前記第2キャラクタ画像データに基づく第2キャラクタ画像を前記第2表示器に表示する第2キャラクタ画像表示ステップ、
前記第1キャラクタ画像が表示されている際に前記第1メッセージデータに基づく第1メッセージ画像を前記第1表示器にさらに表示する第1メッセージ画像表示ステップ、
前記第2キャラクタ画像が表示されている際に前記第2メッセージデータに基づく第2メッセージ画像を前記第2表示器にさらに表示する第2メッセージ画像表示ステップ、および
前記操作手段によって所定操作がなされたとき前記第1表示器に表示されている第1メッセージ画像および前記第2表示器に表示されている第2メッセージ画像の少なくとも一方を更新するメッセージ更新ステップを実行させるための、ゲームプログラム。
【請求項2】
前記第1表示器および前記第2表示器は所定の軸に対して右および左にそれぞれ配置され、
前記第1キャラクタ画像データおよび前記第2キャラクタ画像データの各々は前記軸に沿う第1方向の表示方向性を有し、
前記メモリは前記第1方向とは所定角度異なる第2方向の表示方向性を有するフォント画像データをさらに記憶し、
前記プロセサに、前記第1メッセージデータに従って前記フォント画像データを前記メモリから読み出す第1読出ステップ、前記第1読出ステップによって読み出されたフォント画像データに前記所定角度の回転処理を施す第1回転処理ステップ、前記第2メッセージデータに従って前記フォント画像データを前記メモリから読み出す第2読出ステップ、および前記第2読出ステップによって読み出されたフォント画像データに前記所定角度の回転処理を施す第2回転処理ステップをさらに実行させ、
前記第1メッセージ画像表示ステップの表示処理は前記回転処理が施された後のフォント画像データに基づいて実行され、前記第2メッセージ画像表示ステップの表示処理は前記回転処理が施された後のフォント画像データに基づいて実行される、請求項1記載のゲームプログラム。
【請求項3】
前記第1表示器および前記第2表示器の各々の表示面は長方形状を有し、
前記所定角度は90度であり、
前記第1表示器および前記第2表示器は、各々の表示面の長手方向が前記第1方向と一致し、かつ各々の表示面の中心点を通る直線が前記軸に対して垂直となるような位置に配置される、請求項2記載のゲームプログラム。
【請求項4】
前記第1メッセージ表示ステップおよび前記第2メッセージ表示ステップの各々は前記第1メッセージ画像および前記第2メセージ画像を同一の高さにそれぞれ表示する、請求項1ないし3のいずれかに記載のゲームプログラム。
【請求項5】
前記ゲーム装置は前記軸の周りを回動可能に連結された第1ハウジングおよび第2ハウジングをさらに備え、
前記第1表示器および前記第2表示器は前記第1ハウジングおよび前記第2ハウジングにそれぞれ設けられる、請求項1ないし4のいずれかに記載のゲームプログラム。
【請求項6】
前記操作手段は前記第1表示器の表示面上に設けられるタッチパネルを含み、
前記プロセサに、前記第1メッセージ画像表示ステップおよび前記第2メッセージ画像表示ステップの表示処理に関連してアイコン画像を前記第1表示器にさらに表示するアイコン画像表示ステップをさらに実行させ、
前記メッセージ更新ステップは前記アイコン画像へのタッチ操作が前記タッチパネルによって検出されたとき更新処理を実行する、請求項1ないし5のいずれかに記載のゲームプログラム。
【請求項7】
前記ゲーム装置は前記第1ハウジングおよび前記第2ハウジングの開閉状態を検出する検出手段をさらに備え、
前記メッセージ更新ステップは前記検出手段の検出結果に関連して更新処理を実行する、請求項5または6記載のゲームプログラム。
【請求項8】
前記メモリに記憶された第1メッセージデータおよび第2メッセージデータは複数のゲームシーンのいずれかに関連付けられており、
前記メモリは当該メモリに記憶された第1メッセージデータおよび第2メッセージデータが前記複数のゲームシーンのどれに関連付けられているかを識別するシーン識別データをさらに記憶し、
前記位置関係は前記第1ハウジングおよび前記第2ハウジングのなす角度であり、
前記プロセサに、前記検出手段の検出結果が第1閾値を減少方向に跨いだか否かを判別する第1判別ステップ、前記第1判別ステップの判別結果が肯定的であるとき前記シーン識別データが特定ゲームシーンを示すか否かを判別する第2判別ステップ、および前記第2判別ステップの判別結果が肯定的であるとき前記検出手段の検出結果が第2閾値を増加方向に跨いだか否かを判別する第3判別ステップをさらに実行させ、
前記メッセージ更新ステップは前記第3判別ステップの判別結果が肯定的であるとき更新処理を実行する、請求項7記載のゲームプログラム。
【請求項9】
互いに隣接する第1表示器および第2表示器、
第1キャラクタ画像データおよび第2キャラクタ画像データならびに当該第1キャラクタおよび当該第2キャラクタにそれぞれ関連付けられた第1メッセージデータおよび第2メッセージデータを記憶したメモリ、
操作手段、
前記第1キャラクタ画像データに基づく第1キャラクタ画像を前記第1表示器に表示する第1キャラクタ画像表示手段、
前記第2キャラクタ画像データに基づく第2キャラクタ画像を前記第2表示器に表示する第2キャラクタ画像表示手段、
前記第1キャラクタ画像が表示されている際に前記第1メッセージデータに基づく第1メッセージ画像を前記第1表示器にさらに表示する第1メッセージ画像表示手段、
前記第2キャラクタ画像が表示されている際に前記第2メッセージデータに基づく第2メッセージ画像を前記第2表示器にさらに表示する第2メッセージ画像表示手段、および
前記操作手段によって所定操作がなされたとき前記第1表示器に表示されている第1メッセージ画像および前記第2表示器に表示されている第2メッセージ画像の少なくとも一方を更新するメッセージ更新手段を備える、ゲーム装置。
【請求項1】
互いに隣接する第1表示器および第2表示器と、第1キャラクタ画像データおよび第2キャラクタ画像データならびに当該第1キャラクタおよび当該第2キャラクタにそれぞれ関連付けられた第1メッセージデータおよび第2メッセージデータを記憶したメモリと、操作手段とを備えるゲーム装置のプロセサに、
前記第1キャラクタ画像データに基づく第1キャラクタ画像を前記第1表示器に表示する第1キャラクタ画像表示ステップ、
前記第2キャラクタ画像データに基づく第2キャラクタ画像を前記第2表示器に表示する第2キャラクタ画像表示ステップ、
前記第1キャラクタ画像が表示されている際に前記第1メッセージデータに基づく第1メッセージ画像を前記第1表示器にさらに表示する第1メッセージ画像表示ステップ、
前記第2キャラクタ画像が表示されている際に前記第2メッセージデータに基づく第2メッセージ画像を前記第2表示器にさらに表示する第2メッセージ画像表示ステップ、および
前記操作手段によって所定操作がなされたとき前記第1表示器に表示されている第1メッセージ画像および前記第2表示器に表示されている第2メッセージ画像の少なくとも一方を更新するメッセージ更新ステップを実行させるための、ゲームプログラム。
【請求項2】
前記第1表示器および前記第2表示器は所定の軸に対して右および左にそれぞれ配置され、
前記第1キャラクタ画像データおよび前記第2キャラクタ画像データの各々は前記軸に沿う第1方向の表示方向性を有し、
前記メモリは前記第1方向とは所定角度異なる第2方向の表示方向性を有するフォント画像データをさらに記憶し、
前記プロセサに、前記第1メッセージデータに従って前記フォント画像データを前記メモリから読み出す第1読出ステップ、前記第1読出ステップによって読み出されたフォント画像データに前記所定角度の回転処理を施す第1回転処理ステップ、前記第2メッセージデータに従って前記フォント画像データを前記メモリから読み出す第2読出ステップ、および前記第2読出ステップによって読み出されたフォント画像データに前記所定角度の回転処理を施す第2回転処理ステップをさらに実行させ、
前記第1メッセージ画像表示ステップの表示処理は前記回転処理が施された後のフォント画像データに基づいて実行され、前記第2メッセージ画像表示ステップの表示処理は前記回転処理が施された後のフォント画像データに基づいて実行される、請求項1記載のゲームプログラム。
【請求項3】
前記第1表示器および前記第2表示器の各々の表示面は長方形状を有し、
前記所定角度は90度であり、
前記第1表示器および前記第2表示器は、各々の表示面の長手方向が前記第1方向と一致し、かつ各々の表示面の中心点を通る直線が前記軸に対して垂直となるような位置に配置される、請求項2記載のゲームプログラム。
【請求項4】
前記第1メッセージ表示ステップおよび前記第2メッセージ表示ステップの各々は前記第1メッセージ画像および前記第2メセージ画像を同一の高さにそれぞれ表示する、請求項1ないし3のいずれかに記載のゲームプログラム。
【請求項5】
前記ゲーム装置は前記軸の周りを回動可能に連結された第1ハウジングおよび第2ハウジングをさらに備え、
前記第1表示器および前記第2表示器は前記第1ハウジングおよび前記第2ハウジングにそれぞれ設けられる、請求項1ないし4のいずれかに記載のゲームプログラム。
【請求項6】
前記操作手段は前記第1表示器の表示面上に設けられるタッチパネルを含み、
前記プロセサに、前記第1メッセージ画像表示ステップおよび前記第2メッセージ画像表示ステップの表示処理に関連してアイコン画像を前記第1表示器にさらに表示するアイコン画像表示ステップをさらに実行させ、
前記メッセージ更新ステップは前記アイコン画像へのタッチ操作が前記タッチパネルによって検出されたとき更新処理を実行する、請求項1ないし5のいずれかに記載のゲームプログラム。
【請求項7】
前記ゲーム装置は前記第1ハウジングおよび前記第2ハウジングの開閉状態を検出する検出手段をさらに備え、
前記メッセージ更新ステップは前記検出手段の検出結果に関連して更新処理を実行する、請求項5または6記載のゲームプログラム。
【請求項8】
前記メモリに記憶された第1メッセージデータおよび第2メッセージデータは複数のゲームシーンのいずれかに関連付けられており、
前記メモリは当該メモリに記憶された第1メッセージデータおよび第2メッセージデータが前記複数のゲームシーンのどれに関連付けられているかを識別するシーン識別データをさらに記憶し、
前記位置関係は前記第1ハウジングおよび前記第2ハウジングのなす角度であり、
前記プロセサに、前記検出手段の検出結果が第1閾値を減少方向に跨いだか否かを判別する第1判別ステップ、前記第1判別ステップの判別結果が肯定的であるとき前記シーン識別データが特定ゲームシーンを示すか否かを判別する第2判別ステップ、および前記第2判別ステップの判別結果が肯定的であるとき前記検出手段の検出結果が第2閾値を増加方向に跨いだか否かを判別する第3判別ステップをさらに実行させ、
前記メッセージ更新ステップは前記第3判別ステップの判別結果が肯定的であるとき更新処理を実行する、請求項7記載のゲームプログラム。
【請求項9】
互いに隣接する第1表示器および第2表示器、
第1キャラクタ画像データおよび第2キャラクタ画像データならびに当該第1キャラクタおよび当該第2キャラクタにそれぞれ関連付けられた第1メッセージデータおよび第2メッセージデータを記憶したメモリ、
操作手段、
前記第1キャラクタ画像データに基づく第1キャラクタ画像を前記第1表示器に表示する第1キャラクタ画像表示手段、
前記第2キャラクタ画像データに基づく第2キャラクタ画像を前記第2表示器に表示する第2キャラクタ画像表示手段、
前記第1キャラクタ画像が表示されている際に前記第1メッセージデータに基づく第1メッセージ画像を前記第1表示器にさらに表示する第1メッセージ画像表示手段、
前記第2キャラクタ画像が表示されている際に前記第2メッセージデータに基づく第2メッセージ画像を前記第2表示器にさらに表示する第2メッセージ画像表示手段、および
前記操作手段によって所定操作がなされたとき前記第1表示器に表示されている第1メッセージ画像および前記第2表示器に表示されている第2メッセージ画像の少なくとも一方を更新するメッセージ更新手段を備える、ゲーム装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−106112(P2012−106112A)
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願番号】特願2012−53914(P2012−53914)
【出願日】平成24年3月12日(2012.3.12)
【分割の表示】特願2006−128219(P2006−128219)の分割
【原出願日】平成18年5月2日(2006.5.2)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願日】平成24年3月12日(2012.3.12)
【分割の表示】特願2006−128219(P2006−128219)の分割
【原出願日】平成18年5月2日(2006.5.2)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
[ Back to top ]