説明

ゲームシステム、ゲーム装置、ゲームプログラム、およびゲーム処理方法

【課題】2つの表示装置に表示される各ゲーム画像に対するゲーム操作を容易に行うことを可能にする。
【解決手段】ゲームシステム1は、ゲーム装置3と端末装置7とを含む。ゲーム装置3は、端末装置7に対する操作を表す操作データを取得する。さらに、ゲーム装置3は、操作データに基づくゲーム処理に基づいて第1ゲーム画像および第2ゲーム画像を生成する。第1ゲーム画像は、端末装置7とは別体のテレビ2へ出力されて表示される。第2ゲーム画像は、端末装置7へ無線送信されて表示される。ここで、ゲーム装置3は、端末装置7の慣性センサから出力されるデータに基づいて端末装置7の姿勢を算出し、端末装置7の姿勢に応じて第2ゲーム画像を切り替える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2つの表示装置にゲーム画像を表示するゲームシステム等に関する。
【背景技術】
【0002】
従来、2つの表示装置にゲーム画像を表示するゲームシステムがある。例えば、特許文献1に記載のゲームシステムでは、テレビには3次元ゲーム空間の画像が表示され(図6等)、ビデオゲーム機と通信可能な携帯ゲーム機の画面にはマップ画像やアイテム画像が表示される(図8、図12)。このゲームシステムによれば、プレイヤは、画面の切替操作を行うことなく3次元ゲーム空間の画像とマップ画像との両方を見ることができるので、ゲーム空間の様子が把握しやすく、かつ、ゲーム操作が行いやすいゲーム画像を提供することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−325973号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記ゲームシステムでは、マップ画像に対するゲーム操作は携帯ゲーム機を用いて行われ、テレビに表示される3次元ゲーム空間に対するゲーム操作はビデオゲーム機のコントローラを用いて行われる(段落0034)。そのため、1人プレイでゲームを行う場合には、プレイヤは、2つのゲーム画像に対する操作を切り替える度にコントローラと携帯ゲーム機とを持ち替えなければならない。このように、上記ゲームシステムでは、2つのゲーム画像に対する操作の切り替えが煩雑であるため、2つのゲーム画像に対するゲーム操作が困難であり、プレイヤが2つの表示装置を有効に活用することは困難であった。上記ゲームシステムでは、例えば、2つの表示装置の各ゲーム画像に対するゲーム操作を動的に(ゲームプレイを止めずに)変更しながらゲームを行うようなことはできなかった。
【0005】
それ故、本発明の目的は、2つの表示装置に表示される各ゲーム画像に対するゲーム操作を容易に行うことができるゲームシステムを提供することである。
【課題を解決するための手段】
【0006】
本発明は、上記の課題を解決するために、以下の(1)〜(14)の構成を採用した。
【0007】
(1)
本発明の一例は、ゲーム装置と、当該ゲーム装置と通信可能な操作装置とを含むゲームシステムである。
ゲーム装置は、操作データ取得部と、ゲーム処理部と、第1ゲーム画像生成部と、第2ゲーム画像生成部と、第1画像出力部と、第2画像出力部とを備える。操作データ取得部は、操作装置に対する操作を表す操作データを取得する。ゲーム処理部は、操作データに基づいてゲーム処理を行う。第1ゲーム画像生成部は、ゲーム処理に基づいて第1ゲーム画像を生成する。第2ゲーム画像生成部は、ゲーム処理に基づいて第2ゲーム画像を生成する。第1画像出力部は、操作装置とは別体の所定の表示装置へ第1ゲーム画像を出力する。第2画像出力部は、第2ゲーム画像を操作装置へ無線送信する。
操作装置は、第2ゲーム画像取得部と、表示部と、慣性センサと、操作データ送信部とを備える。第2ゲーム画像取得部は、第2ゲーム画像を受信する。表示部は、第2ゲーム画像を表示する。操作データ送信部は、慣性センサから出力されるデータを含めて操作データをゲーム装置へ送信する。
また、ゲーム装置は、慣性センサから出力されるデータに基づいて操作装置の姿勢を算出する姿勢算出部を備える。第2ゲーム画像生成部は、操作装置の姿勢が所定の第1状態となるか、当該第1状態とは異なる第2状態となるかに応じて第2ゲーム画像を切り替える。
【0008】
上記「ゲーム装置」は、ゲーム処理を実行し、ゲーム処理に基づいてゲーム画像を生成する情報処理装置であればどのようなものであってもよい。上記ゲーム装置は、ゲーム専用の情報処理装置であってもよいし、一般的なパーソナルコンピュータのような多用途の情報処理装置であってもよい。
上記「操作装置」とは、表示部および慣性センサを備える任意の装置を含む概念であり、後述する実施形態における端末装置の他、携帯型ゲーム装置を含む概念である。
上記「ゲームシステム」は、ゲーム装置と操作装置とを含んでいればよく、第1ゲーム画像を表示する所定の表示装置を含んでいなくともよいし、含んでいてもよい。すなわち、ゲームシステムは、当該所定の表示装置を含まない形態で提供されてもよいし、含む形態で提供されてもよい。
上記「第1状態」および「第2状態」とは、操作装置の姿勢に関する状態であり、単にある時点の姿勢によって決まる状態であってもよいし、姿勢の変化によって決まる状態であってもよい。例えば、操作装置の姿勢が所定の閾値よりも大きい状態を第1状態とするとともに、操作装置の姿勢が当該所定の閾値以下である状態を第2状態としてもよい。また、例えば、操作装置の姿勢が所定の第1閾値以下である姿勢から当該第1閾値よりも大きい姿勢へと変化した状態を第1状態とし、操作装置の姿勢が所定の第2閾値よりも大きい姿勢から当該第2閾値以下の姿勢へと変化した状態を第2状態としてもよい。
また、上記「第2ゲーム画像生成部」は、操作装置の少なくとも2種類の状態に応じてゲーム画像を切り替えればよく、操作装置の3種類以上の状態に応じてゲーム画像を切り替えてもよい。
上記「(第2)ゲーム画像を切り替える」とは、あるゲーム画像を異なる種類のゲーム画像に変更することを意味する。切り替え前後の2種類の画像は、後述する実施形態のような、主観視点の画像とマップ画像とであってもよい。また、切り替え前後の2種類の画像は、異なる視点および/または異なる視線方向でゲーム空間を表す種類の画像であってもよいし、ゲーム空間を表す画像とゲーム空間を表すものではない画像その他の画像とであってもよい。なお、その他の画像とは、例えば、メニュー画面を表す画像や、アイテムを選択するためのアイテム画面を表す画像の他、ゲーム進行上意味のない画像(例えば、ゲームのタイトル画面を表す画像)であってもよい。
【0009】
上記(1)の構成によれば、操作装置に対する操作に基づいて2つの表示装置(操作装置の表示部および所定の表示装置)に表示されるゲーム画像が生成される。つまり、プレイヤは、各ゲーム画像に対する操作を1つの操作装置で行うことができるので、上記特許文献1に記載のゲームシステムのように操作装置を持ち替えることなく、2つの表示装置に表示される各ゲーム画像に対するゲーム操作を容易に行うことができる。
さらに、上記(1)の構成によれば、操作装置の姿勢が変化することに応じて操作装置に表示される第2ゲーム画像が切り替わるので、プレイヤは操作装置を用いて第2ゲーム画像を容易に切り替えることができる。これによれば、操作装置の画面に複数種類のゲーム画像を表示させることが可能であるとともに、プレイヤが操作装置を用いてゲーム操作を行ったまま第2ゲーム画像を切り替えることが可能となる。したがって、プレイヤは、2つの表示装置をより有効に活用してゲームを行うことができる。例えば、上記(1)の構成によれば、第2ゲーム画像をゲーム中に動的に切り替え、それに応じて2つの表示装置の画面のうちで見る対象をゲーム中に動的に切り替えるといった、新規なゲーム方法を提供することも可能である。
【0010】
また、上記(1)の構成によれば、各ゲーム画像はゲーム装置側で生成されるので、操作装置はゲーム画像を受信して表示する機能を有すれば足りる。例えば、上記特許文献1のゲームシステムのように、2つの装置(ビデオゲーム機と携帯ゲーム機)の両方でゲーム処理が実行される場合には、双方のゲーム処理を同期させる必要があり、ゲーム処理が複雑になってしまう。一方、上記(1)の構成によれば、ゲーム処理は一方の装置(ゲーム装置側)のみで実行されるので、ゲーム処理の同期をとる必要がなく、ゲーム処理を簡易化することができる。
【0011】
(2)
ゲーム処理部は、判定部を有していてもよい。判定部は、表示部の画面が所定の基準よりも鉛直に近い姿勢となった場合に第1状態であると判定し、表示部の画面が所定の基準よりも水平に近い姿勢となった場合に第2状態であると判定する。
【0012】
上記(2)の構成によれば、操作装置の画面が鉛直となる第1状態と、操作装置の画面が水平となる第2状態とで第2ゲーム画像が切り替わる。つまり、プレイヤは、操作装置を上げ下げするという自然な動作で第2ゲーム画像を切り替えることができ、容易な切り替え操作を提供することができる。
【0013】
また、上記(2)の構成によれば、プレイヤは、必要に応じて自由に操作装置の画面を鉛直にしたり水平にしたりすることができる。つまり、上記(2)の構成によれば、プレイヤは、操作装置を常に鉛直に保つ必要がないので腕が疲れることがなく快適にゲーム操作を行うことができる。また、操作装置の姿勢を変化させてもプレイヤから見た画面の向きは変化しないので、姿勢を変化させても画面が見にくくなることがなく、見やすいゲーム画像を提供することができる。
【0014】
(3)
判定部は、操作装置が第1状態であると判定された場合、所定の基準を表す閾値を、より水平に近い姿勢を表す値に変更し、操作装置が第2状態であると判定された場合、所定の基準を表す閾値を、より鉛直に近い姿勢を表す値に変更してもよい。
【0015】
上記(3)の構成によれば、操作装置の画面が鉛直に近い第1状態から、当該画面が水平に近い第2状態へと移行する場合の判定においては、当該画面が相対的に水平に近くなる姿勢を表す基準が用いられる。一方、操作装置が第2状態から第1状態へと移行する場合の判定においては、当該画面が相対的に鉛直に近くなる姿勢を表す基準が用いられる。これによれば、操作装置が一方の状態から他方の状態へと移行した直後において、移行時から姿勢が多少変化しても元の状態へと戻ることがない。したがって、上記(3)の構成によれば、第1状態と第2状態とが頻繁に切り替わってしまうことを防止することができ、第2ゲーム画像が頻繁に切り替わってしまうことを防止することができる。
【0016】
(4)
第1画像生成部は、ゲーム空間を表す第1ゲーム画像を生成してもよい。このとき、第2画像生成部は、操作装置の姿勢が所定の第1状態(鉛直状態)となる場合、ゲーム空間を表す画像であって第1ゲーム画像とは異なる画像を生成し、操作装置の姿勢が第2状態(水平状態)となる場合、当該第1状態とは異なる画像を生成する。
【0017】
上記「第1状態とは異なる画像」とは、第1状態において生成されるゲーム空間を表す画像とは異なる種類の画像であれば、どのような画像であってもよい。例えば、「第1状態とは異なる画像」は、後述する実施形態におけるマップ画像の他、メニュー画面を表す画像や、アイテム画面を表す画像等であってもよい。
【0018】
上記(4)の構成によれば、操作装置が第1状態となる場合には、各表示装置には、ゲーム空間を表す画像がそれぞれ異なる態様で表示されるので、プレイヤは、ゲーム空間の状況を容易に把握することができる。また、操作装置が第2状態となる場合には、操作装置には第1状態とは異なるゲーム画像が表示されるので、第1状態とは異なるゲーム情報をプレイヤに提供することができる。また、第2ゲーム画像の切替は、操作装置の姿勢を変化させることで容易に行うことができる。したがって、プレイヤは、ゲーム空間の状況を容易に把握するゲーム画像と、その他のゲーム情報を得ることができるゲーム画像とをゲーム操作中に容易に切り替えることができ、2つの表示装置をより有効に活用することができる。
【0019】
また、上記(4)の構成に上記(2)の構成を組み合わせる場合には、次のような効果をさらに得ることができる。すなわち、上記(4)の構成によれば、ゲーム空間を表す第1ゲーム画像が所定の表示装置に表示される。ここで、ゲーム中においてプレイヤが主に見るのはゲーム空間を表す画像であり、かかるゲーム空間を表す画像を所定の表示装置に表示すれば、プレイヤは、操作装置の画面を水平としても(第1ゲーム画像によって)ゲーム空間の状況を把握することができる。したがって、上記の場合、プレイヤが操作装置の画面を鉛直にし続けてゲーム操作を行う機会をより減らすことができ、操作装置を用いたゲーム操作をより快適にすることができる。
【0020】
さらに、上記(4)の構成に上記(2)の構成を組み合わせる場合には、操作装置の画面を鉛直にした状態(第1状態)において操作装置にはゲーム空間を表す画像が表示され、操作装置の画面を水平にした状態(第2状態)において操作装置には他のゲーム画像が表示される。これによれば、ゲーム中にプレイヤが主に見る画像である、ゲーム空間を表す画像は、所定の表示装置、あるいは、操作装置の画面を鉛直にした場合の操作装置に表示される。したがって、プレイヤは、いずれの表示装置の画面を見る場合でも、主に前方を見てゲーム操作を行うことができる。これによれば、プレイヤは、ゲーム中において視線方向をあまり変化させずにゲームを行うことができ、ゲームを快適に行うことができる。
【0021】
(5)
ゲーム処理部は、ゲーム空間に配置されるプレイヤオブジェクトを操作データに基づいて制御するオブジェクト制御部を有していてもよい。このとき、第1画像生成部は、プレイヤオブジェクトが表示範囲に含まれるように設定される第1仮想カメラを用いて、ゲーム空間を表す第1ゲーム画像を生成する。第2画像生成部は、操作装置の姿勢が第1状態となる場合、プレイヤオブジェクトから見た視点となる位置に設定される第2仮想カメラを用いて、ゲーム空間を表す第2ゲーム画像を生成する。
【0022】
上記「プレイヤオブジェクトから見た視点となる位置」とは、プレイヤオブジェクトの位置や、その近傍の位置を含む概念である。すなわち、当該位置に仮想カメラが配置されることによって、いわゆる主観視点のゲーム画像が生成されればよい。
【0023】
上記(5)の構成によれば、いわゆる客観視点のゲーム画像と主観視点のゲーム画像とが各表示装置に表示される。したがって、プレイヤは、2種類のゲーム画像を見ることによってゲーム空間の状況をより容易に把握することができる。
【0024】
(6)
第2画像生成部は、操作装置の姿勢が第1状態となる場合、ゲーム空間に配置される所定のオブジェクトに関して第1ゲーム画像とは異なる表示態様となるように第2ゲーム画像を生成してもよい。
【0025】
上記「所定のオブジェクトに関して第1ゲーム画像とは異なる表示態様となるように第2ゲーム画像を生成する」とは、各ゲーム画像において所定のオブジェクトの色や形状が異なる場合の他、一方のゲーム画像において所定のオブジェクトが表示されるとともに、他方のゲーム画像において所定のオブジェクトが表示されない場合(図14および図15参照)を含む概念である。
【0026】
上記(6)の構成によれば、操作装置には所定のオブジェクトが所定の表示装置とは異なる表示態様で表示されるので、プレイヤが操作装置の画面を見なければならない状況や、所定の表示装置よりも操作装置の画面を見た方が有利な状況を作ることができる。つまり、操作装置の姿勢を変更して操作装置の画面を見る動機付けをプレイヤに与えることができる。これによって、プレイヤは、操作装置に表示されるゲーム画像を単に補助的に用いるのではなく、操作装置の画面と所定の表示装置の画面とのうちで見る対象をゲーム状況に応じて切り替えながらゲームを行うこととなる。上記(6)の構成によれば、見る対象となる画面をゲーム中に動的に切り替えながらゲームを行うという、新規なゲーム操作をプレイヤに行わせることができ、より興趣性の高いゲームを提供することができる。
【0027】
(7)
第1ゲーム画像生成部は、所定のオブジェクトを非表示としてゲーム空間を表す第1ゲーム画像を生成してもよい。このとき、第2画像生成部は、操作装置の姿勢が第1状態となる場合、所定のオブジェクトを表示可能として第2ゲーム画像を生成する。
【0028】
上記(7)の構成によれば、所定のオブジェクトに関しては操作装置にのみ表示されることとなる。したがって、普段は所定の表示装置を見つつ、必要な(所定のオブジェクトを見たい)場合には操作装置の姿勢を変えて操作装置の画面を見るという、新規なゲーム操作を実現することができる。
【0029】
(8)
第2画像生成部は、操作装置の姿勢が第1状態となる場合、当該操作装置の姿勢に応じた姿勢となる第2仮想カメラを用いて第2ゲーム画像を生成してもよい。
【0030】
上記(8)の構成によれば、第1状態においては、操作装置に表示されるゲーム空間の画像における視線方向は、操作装置の姿勢に応じて変化することとなる。これによれば、プレイヤは、操作装置を用いた直感的な操作で容易かつ迅速に視線方向を変更することができる。
【0031】
(9)
第2画像生成部は、操作装置の姿勢が第2状態となる場合、ゲーム空間を上方から見た様子を表す画像を生成してもよい。
【0032】
上記「ゲーム空間を上方から見た様子を表す画像」は、後述する実施形態のように、仮想の3次元ゲーム空間に設定される仮想カメラを用いて生成される画像でもよいし、予め用意される等して仮想カメラを用いずに生成される2次元の画像であってもよい。
【0033】
上記(9)の構成によれば、プレイヤは、操作装置を第2状態とすることによって、ゲーム空間における各オブジェクトの配置等を容易に把握することができる。
【0034】
(10)
ゲーム処理部は、操作装置の姿勢が第1状態となる場合と第2状態となる場合とで、ゲーム空間における所定のオブジェクトに対する操作方法を変更してもよい。
【0035】
上記(10)の構成によれば、第2ゲーム画像が切り替わることに合わせて、所定のオブジェクトに対する操作方法が変化する。したがって、表示される第2ゲーム画像に応じた適切な操作方法をプレイヤに提供することができる。
【0036】
(11)
ゲーム処理部は、操作装置の姿勢が第1状態となる場合、操作装置の姿勢が第2状態となる場合には実行不可能である所定のゲーム処理を、操作装置に対する操作に応じて実行してもよい。
【0037】
上記「所定のゲーム処理」とは、ゲーム進行に影響を与えたり、あるいは、ゲーム表示が変更されたりする処理であればどのような処理であってもよい。上記「所定のゲーム処理」は、例えば、オブジェクトに所定の動作を行わせる処理や、ゲーム空間中における所定のオブジェクトを選択する処理である。
【0038】
上記(11)の構成によれば、上記所定のゲーム処理を実行するための操作は、操作装置を第1状態とした場合にのみ可能となる。これによって、操作装置の姿勢を変更する動機付けをプレイヤに与えることができる。上記(11)の構成によれば、プレイヤは、操作装置に表示されるゲーム画像を単に補助的に用いるのではなく、操作装置の姿勢をゲーム状況に応じて切り替えながらゲームを行うこととなる。したがって、上記(11)の構成によれば、操作装置の姿勢を変更することでゲーム画像をゲーム中に動的に切り替えながらゲームを行うという、新規なゲーム操作をプレイヤに行わせることができ、より興趣性の高いゲームを提供することができる。
【0039】
(12)
本発明の他の一例は、ゲーム装置と、当該ゲーム装置と通信可能な操作装置とを含むゲームシステムである。ゲームシステムは、操作データ取得部と、姿勢算出部と、ゲーム処理部と、第1ゲーム画像生成部と、第2ゲーム画像生成部と、第1表示制御部と、第2表示制御部とを備える。操作データ取得部は、操作装置に対する操作を表す操作データを取得する。姿勢算出部は、操作データに基づいて操作装置の姿勢を算出する。ゲーム処理部は、前記操作データに基づいてゲーム処理を行う。第1ゲーム画像生成部は、ゲーム処理に基づいて第1ゲーム画像を生成する。第2ゲーム画像生成部は、操作装置の姿勢に応じて第2ゲーム画像が切り替わるように、ゲーム処理に基づいて第2ゲーム画像を生成する。第1表示制御部は、操作装置とは別体の所定の表示装置に第1ゲーム画像を表示させる。第2表示制御部は、操作装置が有する表示部に第2ゲーム画像を表示させる。
【0040】
上記(12)の構成によれば、上記(1)の構成と同様、操作装置に対する操作に基づいて2つの表示装置に表示されるゲーム画像が生成されるので、プレイヤは、各ゲーム画像に対する操作を1つの操作装置で行うことができ、2つの表示装置に表示される各ゲーム画像に対するゲーム操作を容易に行うことができる。
さらに、上記(12)の構成によれば、上記(1)の構成と同様、操作装置の姿勢が変化することに応じて操作装置に表示される第2ゲーム画像が切り替わるので、プレイヤは操作装置を用いて第2ゲーム画像を容易に切り替えることができる。これによれば、操作装置の画面に複数種類のゲーム画像を表示させることが可能であるとともに、プレイヤが操作装置を用いてゲーム操作を行ったまま第2ゲーム画像を切り替えることが可能となる。したがって、プレイヤは、2つの表示装置をより有効に活用してゲームを行うことができる。例えば、上記(12)の構成によれば、第2ゲーム画像をゲーム中に動的に切り替え、それに応じて2つの表示装置の画面のうちで見る対象をゲーム中に動的に切り替えるといった、新規なゲーム方法を提供することも可能である。
【0041】
(13)
本発明の他の一例は、ゲーム装置と、当該ゲーム装置と通信可能な操作装置とを含むゲームシステムである。ゲームシステムは、操作データ取得部と、姿勢算出部と、ゲーム処理部と、第1ゲーム画像生成部と、第2ゲーム画像生成部と、第1表示制御部と、第2表示制御部とを備える。操作データ取得部は、操作装置に対する操作を表す操作データを取得する。姿勢算出部は、操作データに基づいて操作装置の姿勢を算出する。ゲーム処理部は、操作データに基づいてゲーム処理を実行する。第1ゲーム画像生成部は、ゲーム処理に基づいて、仮想のゲーム空間を表す第1ゲーム画像を生成する。第2ゲーム画像生成部は、ゲーム処理に基づいて第2ゲーム画像を生成する。第1表示制御部は、操作装置とは別体の所定の表示装置に第1ゲーム画像を表示させる。第2表示制御部は、操作装置が有する表示部に第2ゲーム画像を表示させる。
ここで、第2ゲーム画像生成部は、少なくとも操作装置の姿勢が所定の第1状態となる場合に、ゲーム空間を表す第2ゲーム画像を生成する。また、ゲーム処理部は、操作装置の姿勢が第1状態となる場合に、第2ゲーム画像によって表されるゲーム空間に対する操作に応じて所定のゲーム処理を実行する。所定のゲーム処理は、操作装置の姿勢が当該第1状態とは異なる所定の第2状態となる場合には不可能である処理である。
【0042】
上記「第2ゲーム画像生成部」は、少なくとも第1状態となる場合に、ゲーム空間を表す画像を生成すればよく、他の状態においては、ゲーム空間を表す画像を生成してもよいし他の画像を生成してもよいし、ゲーム画像を生成しなくてもよい。
上記「第2ゲーム画像によって表されるゲーム空間に対する操作」とは、第2ゲーム画像によって表されるゲーム空間内における位置やオブジェクトに対して、操作対象となるオブジェクトに何らかの動作を行う操作や、当該ゲーム空間内における位置やオブジェクトを選択する操作を含む概念である。上記操作としては、例えば、第2ゲーム画像に含まれるオブジェクトに対する射撃操作等が考えられる。
【0043】
上記(13)の構成によれば、操作装置に対する操作に基づいて2つの表示装置(操作装置の表示部および所定の表示装置)に表示されるゲーム画像が生成される。つまり、プレイヤは、各ゲーム画像に対する操作を1つの操作装置で行うことができるので、上記特許文献1に記載のゲームシステムのように操作装置を持ち替えることなく、2つの表示装置に表示される各ゲーム画像に対するゲーム操作を容易に行うことができる。
さらに、上記(13)の構成によれば、ゲーム空間を表すゲーム画像が所定の表示装置に表示されるとともに、操作装置が第1状態となる場合には、ゲーム空間を表すゲーム画像が操作装置にも表示される。また、操作装置が第1状態となる場合には、上記所定のゲーム処理を実行するためのゲーム操作が可能となる。したがって、プレイヤは、操作装置を第2状態にして、所定の表示装置を主に見てゲームを行う操作方法と、操作装置を第1状態にして、操作装置を主に見てゲームを行う操作方法とを行うことができ、これら2種類の操作方法を操作装置の姿勢を変化させることで容易に切り替えることができる。すなわち、上記(13)の構成によれば、2つの表示装置の画面のうちで見る対象となる画面をゲーム中に動的に切り替えながら2種類の操作方法によってゲームを行うという、新規なゲーム操作をプレイヤに行わせることができ、より興趣性の高いゲームを提供することができる。
【0044】
なお、本発明の別の一例は、上記(1)〜(13)のゲームシステムにおけるゲーム装置の形態であってもよい。また、本発明の別の一例は、ゲーム装置のコンピュータを上記ゲーム装置における各部と同等の手段として機能させるゲームプログラムの形態であってもよい。さらに、本発明の別の一例は、上記(1)〜(13)のゲームシステムにおいて行われるゲーム処理方法の形態であってもよい。
【発明の効果】
【0045】
本発明によれば、2つの表示装置に表示されるゲーム画像に対する操作を単一の操作装置によって行うことが可能であるので、プレイヤは、2つの表示装置を用いたゲーム操作をより容易に行うことができ、2つの表示装置を有効に活用することができる。
【図面の簡単な説明】
【0046】
【図1】ゲームシステム1の外観図
【図2】ゲーム装置3の内部構成を示すブロック図
【図3】コントローラ5の外観構成を示す斜視図
【図4】コントローラ5の外観構成を示す斜視図
【図5】コントローラ5の内部構造を示す図
【図6】コントローラ5の内部構造を示す図
【図7】コントローラ5の構成を示すブロック図
【図8】端末装置7の外観構成を示す図
【図9】ユーザが端末装置7を把持した様子を示す図
【図10】端末装置7の内部構成を示すブロック図
【図11】端末装置7におけるゲーム画像の切り替え操作を示す図
【図12】端末装置7が水平状態である場合におけるテレビ用ゲーム画像の一例を示す図
【図13】端末装置7が水平状態である場合における端末用ゲーム画像の一例を示す図
【図14】端末装置7が鉛直状態である場合におけるテレビ用ゲーム画像の一例を示す図
【図15】端末装置7が鉛直状態である場合における端末用ゲーム画像の一例を示す図
【図16】ゲーム処理において用いられる各種データを示す図
【図17】ゲーム装置3において実行されるゲーム処理の流れを示すメインフローチャート
【図18】図17に示すゲーム制御処理(ステップS3)の詳細な流れを示すフローチャート
【図19】図18に示す姿勢算出処理(ステップS11)の詳細な流れを示すフローチャート
【図20】図18に示す状態判定処理(ステップS12)の詳細な流れを示すフローチャート
【図21】端末装置7が水平状態である場合における端末装置7および主観仮想カメラを示す図
【図22】端末装置7が鉛直状態である場合における端末装置7および主観仮想カメラを示す図
【図23】端末装置7の姿勢と、主観仮想カメラの配置と、プレイヤオブジェクトの体勢との関係と示す図
【図24】図17に示す端末用ゲーム画像の生成処理(ステップS5)の詳細な流れを示すフローチャート
【発明を実施するための形態】
【0047】
[1.ゲームシステムの全体構成]
以下、図面を参照して、本発明の一実施形態に係るゲームシステム1について説明する。図1は、ゲームシステム1の外観図である。図1において、ゲームシステム1は、テレビジョン受像器等に代表される据置型のディスプレイ装置(以下、「テレビ」と記載する)2、据置型のゲーム装置3、光ディスク4、コントローラ5、マーカ装置6、および、端末装置7を含む。ゲームシステム1は、コントローラ5および/または端末装置7を用いたゲーム操作に基づいてゲーム装置3においてゲーム処理を実行し、ゲーム処理によって得られるゲーム画像をテレビ2および/または端末装置7に表示するものである。
【0048】
ゲーム装置3には、当該ゲーム装置3に対して交換可能に用いられる情報記憶媒体の一例である光ディスク4が脱着可能に挿入される。光ディスク4には、ゲーム装置3において実行されるための情報処理プログラム(典型的にはゲームプログラム)が記憶されている。ゲーム装置3の前面には光ディスク4の挿入口が設けられている。ゲーム装置3は、挿入口に挿入された光ディスク4に記憶されている情報処理プログラムを読み出して実行することによってゲーム処理を実行する。
【0049】
ゲーム装置3には、テレビ2が接続コードを介して接続される。テレビ2は、ゲーム装置3において実行されるゲーム処理によって得られるゲーム画像を表示する。テレビ2はスピーカ2a(図2)を有しており、スピーカ2aは、上記ゲーム処理の結果得られるゲーム音声を出力する。なお、他の実施形態においては、ゲーム装置3と据置型の表示装置とは一体となっていてもよい。また、ゲーム装置3とテレビ2との通信は無線通信であってもよい。
【0050】
テレビ2の画面の周辺(図1では画面の上側)には、マーカ装置6が設置される。詳細は後述するが、ユーザ(プレイヤ)はコントローラ5を動かすゲーム操作を行うことができ、マーカ装置6は、コントローラ5の動きや位置や姿勢等をゲーム装置3が算出するために用いられる。マーカ装置6は、その両端に2つのマーカ6Rおよび6Lを備えている。マーカ6R(マーカ6Lも同様)は、具体的には1以上の赤外LED(Light Emitting Diode)であり、テレビ2の前方に向かって赤外光を出力する。マーカ装置6はゲーム装置3に接続されており、ゲーム装置3はマーカ装置6が備える各赤外LEDの点灯を制御することが可能である。なお、マーカ装置6は可搬型であり、ユーザはマーカ装置6を自由な位置に設置することができる。図1ではマーカ装置6がテレビ2の上に設置された態様を表しているが、マーカ装置6を設置する位置および向きは任意である。
【0051】
コントローラ5は、自機に対して行われた操作の内容を表す操作データをゲーム装置3に与えるものである。コントローラ5とゲーム装置3とは無線通信によって通信可能である。本実施形態では、コントローラ5とゲーム装置3との間の無線通信には例えばBluetooth(ブルートゥース)(登録商標)の技術が用いられる。なお、他の実施形態においてはコントローラ5とゲーム装置3とは有線で接続されてもよい。また、本実施形態では、ゲームシステム1に含まれるコントローラ5は1つとするが、ゲーム装置3は複数のコントローラと通信可能であり、所定台数のコントローラを同時に使用することによって複数人でゲームをプレイすることが可能である。コントローラ5の詳細な構成については後述する。
【0052】
端末装置7は、ユーザが把持可能な程度の大きさであり、ユーザは端末装置7を手に持って動かしたり、あるいは、端末装置7を自由な位置に配置したりして使用することが可能である。詳細な構成は後述するが、端末装置7は、表示手段であるLCD(Liquid Crystal Display:液晶表示装置)51、および、入力手段(後述するタッチパネル52やジャイロセンサ64等)を備える。端末装置7とゲーム装置3とは無線(有線であってもよい)によって通信可能である。端末装置7は、ゲーム装置3で生成された画像(例えばゲーム画像)のデータをゲーム装置3から受信し、画像をLCD51に表示する。なお、本実施形態では表示装置としてLCDを用いているが、端末装置7は、例えばEL(Electro Luminescence:電界発光)を利用した表示装置等、他の任意の表示装置を有していてもよい。また、端末装置7は、自機に対して行われた操作の内容を表す操作データをゲーム装置3に送信する。
【0053】
[2.ゲーム装置3の内部構成]
次に、図2を参照して、ゲーム装置3の内部構成について説明する。図2は、ゲーム装置3の内部構成を示すブロック図である。ゲーム装置3は、CPU(Central Processing Unit)10、システムLSI11、外部メインメモリ12、ROM/RTC13、ディスクドライブ14、およびAV−IC15等を有する。
【0054】
CPU10は、光ディスク4に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。CPU10は、システムLSI11に接続される。システムLSI11には、CPU10の他、外部メインメモリ12、ROM/RTC13、ディスクドライブ14およびAV−IC15が接続される。システムLSI11は、それに接続される各構成要素間におけるデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。なお、システムLSI11の内部構成については後述する。揮発性の外部メインメモリ12は、光ディスク4から読み出されたゲームプログラムや、フラッシュメモリ17から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、CPU10のワーク領域やバッファ領域として用いられる。ROM/RTC13は、ゲーム装置3の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC:Real Time Clock)とを有する。ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ11eまたは外部メインメモリ12に読み出したデータを書き込む。
【0055】
システムLSI11には、入出力プロセッサ(I/Oプロセッサ)11a、GPU(Graphics Processor Unit)11b、DSP(Digital Signal Processor)11c、VRAM(Video RAM)11d、および内部メインメモリ11eが設けられる。図示は省略するが、これらの構成要素11a〜11eは内部バスによって互いに接続される。
【0056】
GPU11bは、描画手段の一部を形成し、CPU10からのグラフィクスコマンド(作画命令)に従って画像を生成する。VRAM11dは、GPU11bがグラフィクスコマンドを実行するために必要なデータ(ポリゴンデータやテクスチャデータ等のデータ)を記憶する。画像が生成される際には、GPU11bは、VRAM11dに記憶されたデータを用いて画像データを作成する。なお、本実施形態においては、ゲーム装置3は、テレビ2に表示するゲーム画像と、端末装置7に表示するゲーム画像との両方を生成する。以下では、テレビ2に表示されるゲーム画像を「テレビ用ゲーム画像」と呼び、端末装置7に表示されるゲーム画像を「端末用ゲーム画像」と呼ぶことがある。
【0057】
DSP11cは、オーディオプロセッサとして機能し、内部メインメモリ11eや外部メインメモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。なお、本実施形態においては、ゲーム音声についてもゲーム画像と同様、テレビ2のスピーカから出力するゲーム音声と、端末装置7のスピーカから出力するゲーム音声との両方が生成される。以下では、テレビ2から出力されるゲーム音声を「テレビ用ゲーム音声」と呼び、端末装置7から出力されるゲーム音声を「端末用ゲーム音声」と呼ぶことがある。
【0058】
上記のようにゲーム装置3において生成される画像および音声のうちで、テレビ2において出力される画像および音声のデータは、AV−IC15によって読み出される。AV−IC15は、読み出した画像データをAVコネクタ16を介してテレビ2に出力するとともに、読み出した音声データを、テレビ2に内蔵されるスピーカ2aに出力する。これによって、テレビ2に画像が表示されるとともにスピーカ2aから音が出力される。
【0059】
また、ゲーム装置3において生成される画像および音声のうちで、端末装置7において出力される画像および音声のデータは、入出力プロセッサ11a等によって端末装置7へ送信される。入出力プロセッサ11a等による端末装置7へのデータの送信については後述する。
【0060】
入出力プロセッサ11aは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ11aは、フラッシュメモリ17、ネットワーク通信モジュール18、コントローラ通信モジュール19、拡張コネクタ20、メモリカード用コネクタ21、コーデックLSI27に接続される。また、ネットワーク通信モジュール18にはアンテナ22が接続される。コントローラ通信モジュール19にはアンテナ23が接続される。コーデックLSI27は端末通信モジュール28に接続され、端末通信モジュール28にはアンテナ29が接続される。
【0061】
ゲーム装置3は、インターネット等のネットワークに接続して外部情報処理装置(例えば他のゲーム装置や、各種サーバ等)と通信を行うことが可能である。すなわち、入出力プロセッサ11aは、ネットワーク通信モジュール18およびアンテナ22を介してインターネット等のネットワークに接続し、ネットワークに接続される外部情報処理装置と通信することができる。入出力プロセッサ11aは、定期的にフラッシュメモリ17にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、ネットワーク通信モジュール18およびアンテナ22を介してネットワークに送信する。また、入出力プロセッサ11aは、外部情報処理装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ22およびネットワーク通信モジュール18を介して受信し、受信したデータをフラッシュメモリ17に記憶する。CPU10はゲームプログラムを実行することにより、フラッシュメモリ17に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ17には、ゲーム装置3と外部情報処理装置との間で送受信されるデータの他、ゲーム装置3を利用してプレイしたゲームのセーブデータ(ゲームの結果データまたは途中データ)が記憶されてもよい。また、フラッシュメモリ17にはゲームプログラムが記憶されてもよい。
【0062】
また、ゲーム装置3は、コントローラ5からの操作データを受信することが可能である。すなわち、入出力プロセッサ11aは、コントローラ5から送信される操作データをアンテナ23およびコントローラ通信モジュール19を介して受信し、内部メインメモリ11eまたは外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
【0063】
また、ゲーム装置3は、端末装置7との間で画像や音声等のデータを送受信することが可能である。入出力プロセッサ11aは、端末装置7へゲーム画像(端末用ゲーム画像)を送信する場合、GPU11bが生成したゲーム画像のデータをコーデックLSI27へ出力する。コーデックLSI27は、入出力プロセッサ11aからの画像データに対して所定の圧縮処理を行う。端末通信モジュール28は、端末装置7との間で無線通信を行う。したがって、コーデックLSI27によって圧縮された画像データは、端末通信モジュール28によってアンテナ29を介して端末装置7へ送信される。なお、本実施形態では、ゲーム装置3から端末装置7へ送信される画像データはゲームに用いるものであり、ゲームにおいては表示される画像に遅延が生じるとゲームの操作性に悪影響が出る。そのため、ゲーム装置3から端末装置7への画像データの送信に関しては、できるだけ遅延が生じないようにすることが好ましい。したがって、本実施形態では、コーデックLSI27は、例えばH.264規格といった高効率の圧縮技術を用いて画像データを圧縮する。なお、それ以外の圧縮技術を用いてもよいし、通信速度が十分である場合には無圧縮で画像データを送信する構成であってもよい。また、端末通信モジュール28は、例えばWi−Fiの認証を受けた通信モジュールであり、例えばIEEE802.11n規格で採用されるMIMO(Multiple Input Multiple Output)の技術を用いて端末装置7との間の無線通信を高速に行うようにしてもよいし、他の通信方式を用いてもよい。
【0064】
また、ゲーム装置3は、画像データの他、音声データを端末装置7へ送信する。すなわち、入出力プロセッサ11aは、DSP11cが生成した音声データを、コーデックLSI27を介して端末通信モジュール28へ出力する。コーデックLSI27は、音声データに対しても画像データと同様に圧縮処理を行う。音声データに対する圧縮の方式は、どのような方式であってもよいが、圧縮率が高く、音声の劣化が少ない方式が好ましい。また、他の実施形態においては、音声データは圧縮されずに送信されてもよい。端末通信モジュール28は、圧縮された画像データおよび音声データを、アンテナ29を介して端末装置7へ送信する。
【0065】
さらに、ゲーム装置3は、上記画像データおよび音声データの他に、必要に応じて各種の制御データを端末装置7へ送信する。制御データは、端末装置7が備える構成要素に対する制御指示を表すデータであり、例えばマーカ部(図10に示すマーカ部55)の点灯を制御する指示や、カメラ(図10に示すカメラ56)の撮像を制御する指示等を表す。入出力プロセッサ11aは、CPU10の指示に応じて制御データを端末装置7へ送信する。なお、この制御データに関して、本実施形態ではコーデックLSI27はデータの圧縮処理を行わないが、他の実施形態においては圧縮処理を行うようにしてもよい。なお、ゲーム装置3から端末装置7へ送信される上述のデータは、必要に応じて暗号化がされていてもよいし、されていなくともよい。
【0066】
また、ゲーム装置3は、端末装置7から各種データを受信可能である。詳細は後述するが、本実施形態では、端末装置7は、操作データ、画像データ、および音声データを送信する。端末装置7から送信される各データはアンテナ29を介して端末通信モジュール28によって受信される。ここで、端末装置7からの画像データおよび音声データは、ゲーム装置3から端末装置7への画像データおよび音声データと同様の圧縮処理が施されている。したがって、これら画像データおよび音声データについては、端末通信モジュール28からコーデックLSI27に送られ、コーデックLSI27によって伸張処理が施されて入出力プロセッサ11aに出力される。一方、端末装置7からの操作データに関しては、画像や音声に比べてデータ量が少ないので、圧縮処理が施されていなくともよい。また、必要に応じて暗号化がされていてもよいし、されていなくともよい。したがって、操作データは、端末通信モジュール28で受信された後、コーデックLSI27を介して入出力プロセッサ11aに出力される。入出力プロセッサ11aは、端末装置7から受信したデータを、内部メインメモリ11eまたは外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
【0067】
また、ゲーム装置3は、他の機器や外部記憶媒体に接続することが可能である。すなわち、入出力プロセッサ11aには、拡張コネクタ20およびメモリカード用コネクタ21が接続される。拡張コネクタ20は、USBやSCSIのようなインターフェースのためのコネクタである。拡張コネクタ20に対しては、外部記憶媒体のようなメディアを接続したり、他のコントローラ等の周辺機器を接続したり、有線の通信用コネクタを接続することによってネットワーク通信モジュール18に替えてネットワークとの通信を行ったりすることができる。メモリカード用コネクタ21は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ11aは、拡張コネクタ20やメモリカード用コネクタ21を介して外部記憶媒体にアクセスし、外部記憶媒体にデータを保存したり、外部記憶媒体からデータを読み出したりすることができる。
【0068】
ゲーム装置3には、電源ボタン24、リセットボタン25、およびイジェクトボタン26が設けられる。電源ボタン24およびリセットボタン25は、システムLSI11に接続される。電源ボタン24がオンされると、図示しないACアダプタによって外部の電源からゲーム装置3の各構成要素に対して電力が供給される。リセットボタン25が押されると、システムLSI11は、ゲーム装置3の起動プログラムを再起動する。イジェクトボタン26は、ディスクドライブ14に接続される。イジェクトボタン26が押されると、ディスクドライブ14から光ディスク4が排出される。
【0069】
なお、他の実施形態においては、ゲーム装置3が備える各構成要素のうちでいくつかの構成要素は、ゲーム装置3とは別体の拡張機器として構成されてもよい。このとき、拡張機器は、例えば上記拡張コネクタ20を介してゲーム装置3と接続されるようにしてもよい。具体的には、拡張機器は、例えば上記コーデックLSI27、端末通信モジュール28およびアンテナ29の各構成要素を備えており、拡張コネクタ20に対して着脱可能であってもよい。これによれば、上記各構成要素を備えていないゲーム装置に対して上記拡張機器を接続することによって、当該ゲーム装置を端末装置7と通信可能な構成とすることができる。
【0070】
[3.コントローラ5の構成]
次に、図3〜図7を参照して、コントローラ5について説明する。図3は、コントローラ5の外観構成を示す斜視図である。図4は、コントローラ5の外観構成を示す斜視図である。図3は、コントローラ5の上側後方から見た斜視図であり、図4は、コントローラ5を下側前方から見た斜視図である。
【0071】
図3および図4において、コントローラ5は、例えばプラスチック成型によって形成されたハウジング31を有している。ハウジング31は、その前後方向(図3に示すZ軸方向)を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。ユーザは、コントローラ5に設けられたボタンを押下すること、および、コントローラ5自体を動かしてその位置や姿勢(傾き)を変えることによってゲーム操作を行うことができる。
【0072】
ハウジング31には、複数の操作ボタンが設けられる。図3に示すように、ハウジング31の上面には、十字ボタン32a、1番ボタン32b、2番ボタン32c、Aボタン32d、マイナスボタン32e、ホームボタン32f、プラスボタン32g、および電源ボタン32hが設けられる。本明細書では、これらのボタン32a〜32hが設けられるハウジング31の上面を「ボタン面」と呼ぶことがある。一方、図4に示すように、ハウジング31の下面には凹部が形成されており、当該凹部の後面側傾斜面にはBボタン32iが設けられる。これらの各操作ボタン32a〜32iには、ゲーム装置3が実行する情報処理プログラムに応じた機能が適宜割り当てられる。また、電源ボタン32hは遠隔からゲーム装置3本体の電源をオン/オフするためのものである。ホームボタン32fおよび電源ボタン32hは、その上面がハウジング31の上面に埋没している。これによって、ユーザがホームボタン32fまたは電源ボタン32hを誤って押下することを防止することができる。
【0073】
ハウジング31の後面にはコネクタ33が設けられている。コネクタ33は、コントローラ5に他の機器(例えば、他のセンサユニットやコントローラ)を接続するために利用される。また、ハウジング31の後面におけるコネクタ33の両側には、上記他の機器が容易に離脱することを防止するために係止穴33aが設けられている。
【0074】
ハウジング31上面の後方には複数(図3では4つ)のLED34a〜34dが設けられる。ここで、コントローラ5には、他のコントローラと区別するためにコントローラ種別(番号)が付与される。各LED34a〜34dは、コントローラ5に現在設定されている上記コントローラ種別をユーザに通知したり、コントローラ5の電池残量をユーザに通知したりする等の目的で用いられる。具体的には、コントローラ5を用いてゲーム操作が行われる際、上記コントローラ種別に応じて複数のLED34a〜34dのいずれか1つが点灯する。
【0075】
また、コントローラ5は撮像情報演算部35(図6)を有しており、図4に示すように、ハウジング31前面には撮像情報演算部35の光入射面35aが設けられる。光入射面35aは、マーカ6Rおよび6Lからの赤外光を少なくとも透過する材質で構成される。
【0076】
ハウジング31上面における1番ボタン32bとホームボタン32fとの間には、コントローラ5に内蔵されるスピーカ47(図5)からの音を外部に放出するための音抜き孔31aが形成されている。
【0077】
次に、図5および図6を参照して、コントローラ5の内部構造について説明する。図5および図6は、コントローラ5の内部構造を示す図である。なお、図5は、コントローラ5の上筐体(ハウジング31の一部)を外した状態を示す斜視図である。図6は、コントローラ5の下筐体(ハウジング31の一部)を外した状態を示す斜視図である。図6に示す斜視図は、図5に示す基板30を裏面から見た斜視図となっている。
【0078】
図5において、ハウジング31の内部には基板30が固設されており、当該基板30の上主面上に各操作ボタン32a〜32h、各LED34a〜34d、加速度センサ37、アンテナ45、およびスピーカ47等が設けられる。これらは、基板30等に形成された配線(図示せず)によってマイクロコンピュータ(Micro Computer:マイコン)42(図6参照)に接続される。本実施形態では、加速度センサ37は、X軸方向に関してコントローラ5の中心からずれた位置に配置されている。これによって、コントローラ5をZ軸回りに回転させたときのコントローラ5の動きが算出しやすくなる。また、加速度センサ37は、長手方向(Z軸方向)に関してコントローラ5の中心よりも前方に配置されている。また、無線モジュール44(図6)およびアンテナ45によって、コントローラ5がワイヤレスコントローラとして機能する。
【0079】
一方、図6において、基板30の下主面上の前端縁に撮像情報演算部35が設けられる。撮像情報演算部35は、コントローラ5の前方から順に赤外線フィルタ38、レンズ39、撮像素子40、および画像処理回路41を備えている。これらの部材38〜41はそれぞれ基板30の下主面に取り付けられる。
【0080】
さらに、基板30の下主面上には、上記マイコン42およびバイブレータ46が設けられている。バイブレータ46は、例えば振動モータやソレノイドであり、基板30等に形成された配線によってマイコン42と接続される。マイコン42の指示によりバイブレータ46が作動することによってコントローラ5に振動が発生する。これによって、コントローラ5を把持しているユーザの手にその振動が伝達される、いわゆる振動対応ゲームを実現することができる。本実施形態では、バイブレータ46は、ハウジング31のやや前方寄りに配置される。つまり、バイブレータ46がコントローラ5の中心よりも端側に配置することによって、バイブレータ46の振動によりコントローラ5全体を大きく振動させることができる。また、コネクタ33は、基板30の下主面上の後端縁に取り付けられる。なお、図5および図6に示す他、コントローラ5は、マイコン42の基本クロックを生成する水晶振動子、スピーカ47に音声信号を出力するアンプ等を備えている。
【0081】
なお、図3〜図6に示したコントローラ5の形状や、各操作ボタンの形状、加速度センサやバイブレータの数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であってもよい。また、本実施形態では、撮像手段による撮像方向はZ軸正方向であるが、撮像方向はいずれの方向であってもよい。すなわち、コントローラ5における撮像情報演算部35の位置(撮像情報演算部35の光入射面35a)は、ハウジング31の前面でなくてもよく、ハウジング31の外部から光を取り入れることができれば他の面に設けられてもかまわない。
【0082】
図7は、コントローラ5の構成を示すブロック図である。コントローラ5は、操作部32(各操作ボタン32a〜32i)、撮像情報演算部35、通信部36、加速度センサ37、およびジャイロセンサ48を備えている。コントローラ5は、自機に対して行われた操作内容を表すデータを操作データとしてゲーム装置3へ送信するものである。なお、以下では、コントローラ5が送信する操作データを「コントローラ操作データ」と呼び、端末装置7が送信する操作データを「端末操作データ」と呼ぶことがある。
【0083】
操作部32は、上述した各操作ボタン32a〜32iを含み、各操作ボタン32a〜32iに対する入力状態(各操作ボタン32a〜32iが押下されたか否か)を表す操作ボタンデータを通信部36のマイコン42へ出力する。
【0084】
撮像情報演算部35は、撮像手段が撮像した画像データを解析してその中で輝度が高い領域を判別してその領域の重心位置やサイズなどを算出するためのシステムである。撮像情報演算部35は、例えば最大200フレーム/秒程度のサンプリング周期を有するので、比較的高速なコントローラ5の動きでも追跡して解析することができる。
【0085】
撮像情報演算部35は、赤外線フィルタ38、レンズ39、撮像素子40、および画像処理回路41を含んでいる。赤外線フィルタ38は、コントローラ5の前方から入射する光から赤外線のみを通過させる。レンズ39は、赤外線フィルタ38を透過した赤外線を集光して撮像素子40へ入射させる。撮像素子40は、例えばCMOSセンサやあるいはCCDセンサのような固体撮像素子であり、レンズ39が集光した赤外線を受光して画像信号を出力する。ここで、撮像対象となる端末装置7のマーカ部55およびマーカ装置6は、赤外光を出力するマーカで構成される。したがって、赤外線フィルタ38を設けることによって、撮像素子40は、赤外線フィルタ38を通過した赤外線だけを受光して画像データを生成するので、撮像対象(マーカ部55および/またはマーカ装置6)の画像をより正確に撮像することができる。以下では、撮像素子40によって撮像された画像を撮像画像と呼ぶ。撮像素子40によって生成された画像データは、画像処理回路41で処理される。画像処理回路41は、撮像画像内における撮像対象の位置を算出する。画像処理回路41は、算出された位置を示す座標を通信部36のマイコン42へ出力する。この座標のデータは、マイコン42によって操作データとしてゲーム装置3に送信される。以下では、上記座標を「マーカ座標」と呼ぶ。マーカ座標はコントローラ5自体の向き(傾斜角度)や位置に対応して変化するので、ゲーム装置3はこのマーカ座標を用いてコントローラ5の向きや位置を算出することができる。
【0086】
なお、他の実施形態においては、コントローラ5は画像処理回路41を備えていない構成であってもよく、撮像画像自体がコントローラ5からゲーム装置3へ送信されてもよい。このとき、ゲーム装置3は、画像処理回路41と同様の機能を有する回路あるいはプログラムを有しており、上記マーカ座標を算出するようにしてもよい。
【0087】
加速度センサ37は、コントローラ5の加速度(重力加速度を含む)を検出する、すなわち、コントローラ5に加わる力(重力を含む)を検出する。加速度センサ37は、当該加速度センサ37の検出部に加わっている加速度のうち、センシング軸方向に沿った直線方向の加速度(直線加速度)の値を検出する。例えば、2軸以上の多軸加速度センサの場合には、加速度センサの検出部に加わっている加速度として、各軸に沿った成分の加速度をそれぞれ検出する。なお、加速度センサ37は、例えば静電容量式のMEMS(Micro Electro Mechanical System)型加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。
【0088】
本実施形態では、加速度センサ37は、コントローラ5を基準とした上下方向(図3に示すY軸方向)、左右方向(図3に示すX軸方向)および前後方向(図3に示すZ軸方向)の3軸方向に関してそれぞれ直線加速度を検出する。加速度センサ37は、各軸に沿った直線方向に関する加速度を検出するものであるため、加速度センサ37からの出力は3軸それぞれの直線加速度の値を表すものとなる。すなわち、検出された加速度は、コントローラ5を基準に設定されるXYZ座標系(コントローラ座標系)における3次元のベクトルとして表される。
【0089】
加速度センサ37が検出した加速度を表すデータ(加速度データ)は、通信部36へ出力される。なお、加速度センサ37が検出した加速度は、コントローラ5自体の向き(傾斜角度)や動きに対応して変化するので、ゲーム装置3は取得された加速度データを用いてコントローラ5の向きや動きを算出することができる。本実施形態では、ゲーム装置3は、取得された加速度データに基づいてコントローラ5の姿勢や傾斜角度等を算出する。
【0090】
なお、加速度センサ37(後述する加速度センサ63についても同様)から出力される加速度の信号に基づいて、ゲーム装置3のプロセッサ(例えばCPU10)またはコントローラ5のプロセッサ(例えばマイコン42)等のコンピュータが処理を行うことによって、コントローラ5に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサ37を搭載するコントローラ5が静止状態であることを前提としてコンピュータ側の処理が実行される場合(すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理が実行される場合)、コントローラ5が現実に静止状態であれば、検出された加速度に基づいてコントローラ5の姿勢が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサ37の検出軸が鉛直下方向を向いている状態を基準としたとき、1G(重力加速度)がかかっているか否かによって、コントローラ5が基準に対して傾いているか否かを知ることができるし、その大きさによって基準に対してどの程度傾いているかも知ることができる。また、多軸の加速度センサ37の場合には、さらに各軸の加速度の信号に対して処理を施すことによって、重力方向に対してコントローラ5がどの程度傾いているかをより詳細に知ることができる。この場合において、プロセッサは、加速度センサ37からの出力に基づいてコントローラ5の傾斜角度を算出してもよいし、当該傾斜角度を算出せずに、コントローラ5の傾斜方向を算出するようにしてもよい。このように、加速度センサ37をプロセッサと組み合わせて用いることによって、コントローラ5の傾斜角度または姿勢を判定することができる。
【0091】
一方、コントローラ5が動的な状態(コントローラ5が動かされている状態)であることを前提とする場合には、加速度センサ37は重力加速度に加えてコントローラ5の動きに応じた加速度を検出するので、検出された加速度から重力加速度の成分を所定の処理により除去することによってコントローラ5の動き方向を知ることができる。また、コントローラ5が動的な状態であることを前提とする場合であっても、検出された加速度から、加速度センサの動きに応じた加速度の成分を所定の処理により除去することによって、重力方向に対するコントローラ5の傾きを知ることが可能である。なお、他の実施例では、加速度センサ37は、内蔵の加速度検出手段で検出された加速度信号をマイコン42に出力する前に当該加速度信号に対して所定の処理を行うための、組込み式の処理装置または他の種類の専用の処理装置を備えていてもよい。組込み式または専用の処理装置は、例えば、加速度センサ37が静的な加速度(例えば、重力加速度)を検出するために用いられる場合、加速度信号を傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。
【0092】
ジャイロセンサ48は、3軸(本実施形態では、XYZ軸)回りの角速度を検出する。本明細書では、コントローラ5の撮像方向(Z軸正方向)を基準として、X軸回りの回転方向をピッチ方向、Y軸回りの回転方向をヨー方向、Z軸回りの回転方向をロール方向と呼ぶ。ジャイロセンサ48は、3軸回りの角速度を検出することができればよく、用いるジャイロセンサの数および組み合わせはどのようなものであってもよい。例えば、ジャイロセンサ48は、3軸ジャイロセンサであってもよいし、2軸ジャイロセンサと1軸ジャイロセンサとを組み合わせて3軸周りの角速度を検出するものであってもよい。ジャイロセンサ48で検出された角速度を表すデータは、通信部36へ出力される。また、ジャイロセンサ48は1軸または2軸回りの角速度を検出するものであってもよい。
【0093】
通信部36は、マイコン42、メモリ43、無線モジュール44、およびアンテナ45を含んでいる。マイコン42は、処理を行う際にメモリ43を記憶領域として用いながら、マイコン42が取得したデータをゲーム装置3へ無線送信する無線モジュール44を制御する。
【0094】
操作部32、撮像情報演算部35、加速度センサ37、およびジャイロセンサ48からマイコン42へ出力されたデータは、一時的にメモリ43に格納される。これらのデータは、操作データ(コントローラ操作データ)としてゲーム装置3へ送信される。すなわち、マイコン42は、ゲーム装置3のコントローラ通信モジュール19への送信タイミングが到来すると、メモリ43に格納されている操作データを無線モジュール44へ出力する。無線モジュール44は、例えばBluetooth(ブルートゥース)(登録商標)の技術を用いて、所定周波数の搬送波を操作データで変調し、その微弱電波信号をアンテナ45から放射する。つまり、操作データは、無線モジュール44で微弱電波信号に変調されてコントローラ5から送信される。微弱電波信号はゲーム装置3側のコントローラ通信モジュール19で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置3は操作データを取得することができる。そして、ゲーム装置3のCPU10は、コントローラ5から取得した操作データを用いてゲーム処理を行う。なお、通信部36からコントローラ通信モジュール19への無線送信は所定の周期毎に逐次行われるが、ゲームの処理は1/60秒を単位として(1フレーム時間として)行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。コントローラ5の通信部36は、例えば1/200秒に1回の割合で操作データをゲーム装置3のコントローラ通信モジュール19へ出力する。
【0095】
以上のように、コントローラ5は、自機に対する操作を表す操作データとして、マーカ座標データ、加速度データ、角速度データ、および操作ボタンデータを送信可能である。また、ゲーム装置3は、上記操作データをゲーム入力として用いてゲーム処理を実行する。したがって、上記コントローラ5を用いることによって、ユーザは、各操作ボタンを押下する従来の一般的なゲーム操作に加えて、コントローラ5自体を動かすゲーム操作を行うことができる。例えば、コントローラ5を任意の姿勢に傾ける操作、コントローラ5によって画面上の任意の位置を指示する操作、および、コントローラ5自体を動かす操作等を行うことが可能となる。
【0096】
また、本実施形態において、コントローラ5は、ゲーム画像を表示する表示手段を有しないが、例えば電池残量を表す画像等を表示するための表示手段を有していてもよい。
【0097】
[4.端末装置7の構成]
次に、図8〜図10を参照して、端末装置7の構成について説明する。図8は、端末装置7の外観構成を示す図である。図8における(a)図は端末装置7の正面図であり、(b)図は上面図であり、(c)図は右側面図であり、(d)図は下面図である。また、図9は、ユーザが端末装置7を把持した様子を示す図である。
【0098】
図8に示されるように、端末装置7は、大略的には横長の長方形の板状形状であるハウジング50を備える。ハウジング50は、ユーザが把持することができる程度の大きさである。したがって、ユーザは、端末装置7を持って動かしたり、端末装置7の配置位置を変更したりすることができる。
【0099】
端末装置7は、ハウジング50の表面にLCD51を有する。LCD51は、ハウジング50の表面の中央付近に設けられる。したがって、ユーザは、図9に示すようにLCD51の両側部分のハウジング50を持つことによって、LCD51の画面を見ながら端末装置を持って動かすことができる。なお、図9ではユーザがLCD51の左右両側の部分のハウジング50を持つことで端末装置7を横持ちで(横に長い向きにして)持つ例を示しているが、端末装置7を縦持ちで(縦に長い向きにして)持つことも可能である。
【0100】
図8の(a)図に示すように、端末装置7は、操作手段として、LCD51の画面上にタッチパネル52を有する。本実施形態では、タッチパネル52は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。また、タッチパネル52はシングルタッチ方式でもよいし、マルチタッチ方式であってもよい。本実施形態では、タッチパネル52として、LCD51の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル52の解像度とLCD51の解像度が一致している必要はない。タッチパネル52に対する入力は通常タッチペンを用いて行われるが、タッチペンに限らずユーザの指でタッチパネル52に対する入力をすることも可能である。なお、ハウジング50には、タッチパネル52に対する操作を行うために用いられるタッチペンを収納するための収納穴が設けられていてもよい。このように、端末装置7はタッチパネル52を備えるので、ユーザは、端末装置7を動かしながらタッチパネル52を操作することができる。つまりユーザは、LCD51の画面を動かしつつ、その画面に対して直接(タッチパネル52によって)入力を行うことができる。
【0101】
図8に示すように、端末装置7は、操作手段として、2つのアナログスティック53Aおよび53Bと、複数のボタン54A〜54Lとを備えている。各アナログスティック53Aおよび53Bは、方向を指示するデバイスである。各アナログスティック53Aおよび53Bは、ユーザの指で操作されるスティック部がハウジング50の表面に対して任意の方向(上下左右および斜め方向の任意の角度)にスライド(または傾倒)することができるように構成されている。また、左アナログスティック53AはLCD51の画面の左側に、右アナログスティック53BはLCD51の画面の右側にそれぞれ設けられる。したがって、ユーザは、左右いずれの手でもアナログスティックを用いて方向を指示する入力を行うことができる。また、図9に示すように、各アナログスティック53Aおよび53Bは、ユーザが端末装置7の左右部分を把持した状態で操作可能な位置に設けられるので、ユーザは、端末装置7を持って動かす場合においても各アナログスティック53Aおよび53Bを容易に操作することができる。
【0102】
各ボタン54A〜54Lは、所定の入力を行うための操作手段である。以下に示すように、各ボタン54A〜54Lは、ユーザが端末装置7の左右部分を把持した状態で操作可能な位置に設けられる(図9参照)。したがって、ユーザは、端末装置7を持って動かす場合においてもこれらの操作手段を容易に操作することができる。
【0103】
図8の(a)図に示すように、ハウジング50の表面には、各操作ボタン54A〜54Lのうち、十字ボタン(方向入力ボタン)54Aと、ボタン54B〜54Hとが設けられる。つまり、これらのボタン54A〜54Gは、ユーザの親指で操作可能な位置に配置されている(図9参照)。
【0104】
十字ボタン54Aは、LCD51の左側であって、左アナログスティック53Aの下側に設けられる。つまり、十字ボタン54Aはユーザの左手で操作可能な位置に配置されている。十字ボタン54Aは、十字の形状を有しており、上下左右の方向を指示することが可能なボタンである。また、ボタン54B〜54Dは、LCD51の下側に設けられる。これら3つのボタン54B〜54Dは、左右両方の手で操作可能な位置に配置されている。また、4つのボタン54E〜54Hは、LCD51の右側であって、右アナログスティック53Bの下側に設けられる。つまり、4つのボタン54E〜54Hはユーザの右手で操作可能な位置に配置されている。さらに、4つのボタン54E〜54Hは、(4つのボタン54E〜54Hの中心位置に対して)上下左右の位置関係となるように配置されている。したがって、端末装置7は、ユーザに上下左右の方向を指示させるためのボタンとして4つのボタン54E〜54Hを機能させることも可能である。
【0105】
また、図8の(a)図、(b)図、および(c)図に示すように、第1Lボタン54Iおよび第1Rボタン54Jは、ハウジング50の斜め上部分(左上部分および右上部分)に設けられる。具体的には、第1Lボタン54Iは、板状のハウジング50における上側の側面の左端に設けられ、上側および左側の側面から露出している。また、第1Rボタン54Jは、ハウジング50における上側の側面の右端に設けられ、上側および右側の側面から露出している。このように、第1Lボタン54Iは、ユーザの左手人差し指で操作可能な位置に配置され、第1Rボタン54Jは、ユーザの右手人差し指で操作可能な位置に配置される(図9参照)。
【0106】
また、図8の(b)図および(c)図に示すように、第2Lボタン54Kおよび第2Rボタン54Lは、板状のハウジング50の裏面(すなわちLCD51が設けられる表面の反対側の面)に突起して設けられる足部59Aおよび59Bに配置される。具体的には、第2Lボタン54Kは、ハウジング50の裏面の左側(表面側から見たときの左側)のやや上方に設けられ、第2Rボタン54Lは、ハウジング50の裏面の右側(表面側から見たときの右側)のやや上方に設けられる。換言すれば、第2Lボタン54Kは、表面に設けられる左アナログスティック53Aの概ね反対側の位置に設けられ、第2Rボタン54Lは、表面に設けられる右アナログスティック53Bの概ね反対側の位置に設けられる。このように、第2Lボタン54Kは、ユーザの左手中指で操作可能な位置に配置され、第2Rボタン54Lは、ユーザの右手中指で操作可能な位置に配置される(図9参照)。また、第2Lボタン54Kおよび第2Rボタン54Lは、図8の(c)図に示すように、上記足部59Aおよび59Bの斜め上方を向く面に設けられ、斜め上方を向くボタン面を有する。ユーザが端末装置7を把持した場合には中指は上下方向に動くと考えられるので、ボタン面を上方に向けることで、ユーザは第2Lボタン54Kおよび第2Rボタン54Lを押下しやすくなる。また、ハウジング50の裏面に足部が設けられることにより、ユーザはハウジング50を把持しやすくなり、かつ、足部にボタンが設けられることで、ハウジング50を把持したまま操作しやすくなる。
【0107】
なお、図8に示す端末装置7に関しては、第2Lボタン54Kおよび第2Rボタン54Lが裏面に設けられるので、LCD51の画面(ハウジング50の表面)が上を向いた状態で端末装置7を載置させる場合、画面が完全に水平にはならない場合がある。そのため、他の実施形態においては、ハウジング50の裏面に3つ以上の足部が形成されてもよい。これによれば、LCD51の画面が上を向いた状態では足部が床面に接することで床面に載置できるので、画面が水平になるように端末装置7を載置することができる。また、着脱可能な足部を追加することで端末装置7を水平に載置するようにしてもよい。
【0108】
各ボタン54A〜54Lには、ゲームプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン54Aおよびボタン54E〜54Hは方向指示操作や選択操作等に用いられてもよいし、各ボタン54B〜54Eは決定操作やキャンセル操作等に用いられてもよい。
【0109】
なお、図示しないが、端末装置7は、端末装置7の電源をオン/オフするための電源ボタンを有している。また、端末装置7は、LCD51の画面表示をオン/オフするためのボタンや、ゲーム装置3との接続設定(ペアリング)を行うためのボタンや、スピーカ(図10に示すスピーカ67)の音量を調節するためのボタンを有していてもよい。
【0110】
図8の(a)図に示すように、端末装置7は、マーカ55Aおよびマーカ55Bからなるマーカ部(図10に示すマーカ部55)をハウジング50の表面に備えている。マーカ部55は、LCD51の上側に設けられる。各マーカ55Aおよびマーカ55Bは、マーカ装置6の各マーカ6Rおよび6Lと同様、1以上の赤外LEDで構成される。マーカ部55は、上述のマーカ装置6と同様、コントローラ5の動き等をゲーム装置3が算出するために用いられる。また、ゲーム装置3はマーカ部55が備える各赤外LEDの点灯を制御することが可能である。
【0111】
端末装置7は、撮像手段であるカメラ56を備えている。カメラ56は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。図8に示すように、本実施形態では、カメラ56はハウジング50の表面に設けられる。したがって、カメラ56は、端末装置7を持っているユーザの顔を撮像することができ、例えばLCD51を見ながらゲームを行っている時のユーザを撮像することができる。
【0112】
なお、端末装置7は、音声入力手段であるマイク(図10に示すマイク69)を備えている。ハウジング50の表面には、マイクロフォン用孔60が設けられる。マイク69はこのマイクロフォン用孔60の奥のハウジング50内部に設けられる。マイクは、ユーザの音声等、端末装置7の周囲の音を検出する。
【0113】
端末装置7は、音声出力手段であるスピーカ(図10に示すスピーカ67)を備えている。図8の(d)図に示すように、ハウジング50の下側側面にはスピーカ孔57が設けられる。スピーカ67の出力音はこのスピーカ孔57から出力される。本実施形態では、端末装置7は2つのスピーカを備えており、左スピーカおよび右スピーカのそれぞれの位置にスピーカ孔57が設けられる。
【0114】
また、端末装置7は、他の装置を端末装置7に接続するための拡張コネクタ58を備えている。本実施形態においては、図8の(d)図に示すように、拡張コネクタ58は、ハウジング50の下側側面に設けられる。なお、拡張コネクタ58に接続される他の装置はどのようなものであってもよく、例えば、特定のゲームに用いるコントローラ(銃型のコントローラ等)やキーボード等の入力装置であってもよい。他の装置を接続する必要がなければ、拡張コネクタ58は設けられていなくともよい。
【0115】
なお、図8に示した端末装置7に関して、各操作ボタンやハウジング50の形状や、各構成要素の数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であってもよい。
【0116】
次に、図10を参照して、端末装置7の内部構成について説明する。図10は、端末装置7の内部構成を示すブロック図である。図10に示すように、端末装置7は、図8に示した構成の他、タッチパネルコントローラ61、磁気センサ62、加速度センサ63、ジャイロセンサ64、ユーザインタフェースコントローラ(UIコントローラ)65、コーデックLSI66、スピーカ67、サウンドIC68、マイク69、無線モジュール70、アンテナ71、赤外線通信モジュール72、フラッシュメモリ73、電源IC74、および電池75を備える。これらの電子部品は、電子回路基板上に実装されてハウジング50内に収納される。
【0117】
UIコントローラ65は、各種の入出力部に対するデータの入出力を制御するための回路である。UIコントローラ65は、タッチパネルコントローラ61、アナログスティック53(アナログスティック53Aおよび53B)、操作ボタン54(各操作ボタン54A〜54L)、マーカ部55、磁気センサ62、加速度センサ63、およびジャイロセンサ64に接続される。また、UIコントローラ65は、コーデックLSI66と拡張コネクタ58に接続される。また、UIコントローラ65には電源IC74が接続され、UIコントローラ65を介して各部に電力が供給される。電源IC74には内蔵の電池75が接続され、電力が供給される。また、電源IC74には、コネクタ等を介して外部電源から電力を取得可能な充電器76またはケーブルを接続することが可能であり、端末装置7は、当該充電器76またはケーブルを用いて外部電源からの電力供給と充電を行うことができる。なお、端末装置7は、図示しない充電機能を有するクレイドルに端末装置7を装着することで充電を行うようにしてもよい。
【0118】
タッチパネルコントローラ61は、タッチパネル52に接続され、タッチパネル52の制御を行う回路である。タッチパネルコントローラ61は、タッチパネル52からの信号に基づいて所定の形式のタッチ位置データを生成してUIコントローラ65へ出力する。タッチ位置データは、タッチパネル52の入力面において入力が行われた位置の座標を表す。なお、タッチパネルコントローラ61は、タッチパネル52からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。また、UIコントローラ65からタッチパネルコントローラ61へは、タッチパネル52に対する各種の制御指示が出力される。
【0119】
アナログスティック53は、ユーザの指で操作されるスティック部がスライドした(または傾倒した)方向および量を表すスティックデータをUIコントローラ65へ出力する。また、操作ボタン54は、各操作ボタン54A〜54Lに対する入力状況(押下されたか否か)を表す操作ボタンデータをUIコントローラ65へ出力する。
【0120】
磁気センサ62は、磁界の大きさおよび方向を検知することで方位を検出する。検出された方位を示す方位データは、UIコントローラ65へ出力される。また、UIコントローラ65から磁気センサ62へは、磁気センサ62に対する制御指示が出力される。磁気センサ62に関しては、MI(磁気インピーダンス)素子、フラックスゲートセンサ、ホール素子、GMR(巨大磁気抵抗)素子、TMR(トンネル磁気抵抗)素子、あるいはAMR(異方性磁気抵抗)素子等を用いたセンサがあるが、方位を検出することができればどのようなものが用いられてもよい。なお、厳密には、地磁気以外に磁界が発生している場所においては、得られた方位データは方位を示さないことになるが、そのような場合であっても、端末装置7が動いた場合には方位データが変化するため、端末装置7の姿勢の変化を算出することができる。
【0121】
加速度センサ63は、ハウジング50の内部に設けられ、3軸(図8の(a)図に示すxyz軸)方向に沿った直線加速度の大きさを検出する。具体的には、加速度センサ63は、ハウジング50の長辺方向をx軸、ハウジング50の短辺方向をy軸、ハウジング50の表面に対して垂直な方向をz軸として、各軸の直線加速度の大きさを検出する。検出された加速度を表す加速度データはUIコントローラ65へ出力される。また、UIコントローラ65から加速度センサ63へは、加速度センサ63に対する制御指示が出力される。加速度センサ63は、本実施形態では例えば静電容量式のMEMS型加速度センサであるとするが、他の実施形態においては他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ63は1軸または2軸方向を検出する加速度センサであってもよい。
【0122】
ジャイロセンサ64は、ハウジング50の内部に設けられ、上記x軸、y軸およびz軸の3軸周りの角速度を検出する。検出された角速度を表す角速度データは、UIコントローラ65へ出力される。また、UIコントローラ65からジャイロセンサ64へは、ジャイロセンサ64に対する制御指示が出力される。なお、3軸の角速度を検出するために用いられるジャイロセンサの数および組み合わせはどのようなものであってもよく、ジャイロセンサ64はジャイロセンサ48と同様、2軸ジャイロセンサと1軸ジャイロセンサとで構成されてもよい。また、ジャイロセンサ64は1軸または2軸方向を検出するジャイロセンサであってもよい。
【0123】
UIコントローラ65は、上記の各構成要素から受け取ったタッチ位置データ、スティックデータ、操作ボタンデータ、方位データ、加速度データ、および角速度データを含む操作データをコーデックLSI66に出力する。なお、拡張コネクタ58を介して端末装置7に他の装置が接続される場合には、当該他の装置に対する操作を表すデータが上記操作データにさらに含まれていてもよい。
【0124】
コーデックLSI66は、ゲーム装置3へ送信するデータに対する圧縮処理、および、ゲーム装置3から送信されたデータに対する伸張処理を行う回路である。コーデックLSI66には、LCD51、カメラ56、サウンドIC68、無線モジュール70、フラッシュメモリ73、および赤外線通信モジュール72が接続される。また、コーデックLSI66はCPU77と内部メモリ78を含む。端末装置7はゲーム処理自体を行なわない構成であるが、端末装置7の管理や通信のための最小限のプログラムを実行する必要がある。電源投入時にフラッシュメモリ73に格納されたプログラムを内部メモリ78に読み出してCPU77が実行することで、端末装置7が起動する。また、内部メモリ78の一部の領域はLCD51のためのVRAMとして使用される。
【0125】
カメラ56は、ゲーム装置3からの指示に従って画像を撮像し、撮像した画像データをコーデックLSI66へ出力する。また、コーデックLSI66からカメラ56へは、画像の撮像指示等、カメラ56に対する制御指示が出力される。なお、カメラ56は動画の撮影も可能である。すなわち、カメラ56は、繰り返し撮像を行って画像データをコーデックLSI66へ繰り返し出力することも可能である。
【0126】
サウンドIC68は、スピーカ67およびマイク69に接続され、スピーカ67およびマイク69への音声データの入出力を制御する回路である。すなわち、コーデックLSI66から音声データを受け取った場合、サウンドIC68は当該音声データに対してD/A変換を行って得られる音声信号をスピーカ67へ出力し、スピーカ67から音を出力させる。また、マイク69は、端末装置7に伝わる音(ユーザの音声等)を検知して、当該音を示す音声信号をサウンドIC68へ出力する。サウンドIC68は、マイク69からの音声信号に対してA/D変換を行い、所定の形式の音声データをコーデックLSI66へ出力する。
【0127】
コーデックLSI66は、カメラ56からの画像データと、マイク69からの音声データと、UIコントローラ65からの端末操作データとを無線モジュール70を介してゲーム装置3へ送信する。本実施形態では、コーデックLSI66は、画像データおよび音声データに対して、コーデックLSI27と同様の圧縮処理を行う。上記端末操作データ、ならびに、圧縮された画像データおよび音声データは、送信データとして無線モジュール70に出力される。無線モジュール70にはアンテナ71が接続されており、無線モジュール70はアンテナ71を介してゲーム装置3へ上記送信データを送信する。無線モジュール70は、ゲーム装置3の端末通信モジュール28と同様の機能を有している。すなわち、無線モジュール70は、例えばIEEE802.11nの規格に準拠した方式により、無線LANに接続する機能を有する。送信されるデータは必要に応じて暗号化されていてもよいし、されていなくともよい。
【0128】
以上のように、端末装置7からゲーム装置3へ送信される送信データには、操作データ(端末操作データ)、画像データ、および音声データが含まれる。なお、拡張コネクタ58を介して端末装置7に他の装置が接続される場合には、当該他の装置から受け取ったデータが上記送信データにさらに含まれていてもよい。また、赤外線通信モジュール72は、他の装置との間で例えばIRDAの規格に従った赤外線通信を行う。コーデックLSI66は、赤外線通信によって受信したデータを、必要に応じて上記送信データに含めてゲーム装置3へ送信してもよい。
【0129】
また、上述のように、ゲーム装置3から端末装置7へは、圧縮された画像データおよび音声データが送信される。これらのデータはアンテナ71および無線モジュール70を介してコーデックLSI66に受信される。コーデックLSI66は、受信した画像データおよび音声データを伸張する。伸張された画像データはLCD51へ出力され、画像がLCD51に表示される。また、伸張された音声データはサウンドIC68へ出力され、サウンドIC68はスピーカ67から音を出力させる。
【0130】
また、ゲーム装置3から受信されるデータに制御データが含まれる場合、コーデックLSI66およびUIコントローラ65は、制御データに従った制御指示を各部に行う。上述のように、制御データは、端末装置7が備える各構成要素(本実施形態では、カメラ56、タッチパネルコントローラ61、マーカ部55、各センサ62〜64、および赤外線通信モジュール72)に対する制御指示を表すデータである。本実施形態では、制御データが表す制御指示としては、上記各構成要素を動作させたり、動作を休止(停止)させたりする指示が考えられる。すなわち、ゲームで使用しない構成要素については電力消費を抑えるために休止させてもよく、その場合、端末装置7からゲーム装置3へ送信される送信データには、休止した構成要素からのデータが含まれないようにする。なお、マーカ部55は赤外LEDであるので、制御は単に電力の供給のON/OFFでよい。
【0131】
以上のように、端末装置7は、タッチパネル52、アナログスティック53、および操作ボタン54といった操作手段を備えるが、他の実施形態においては、これらの操作手段に代えて、または、これらの操作手段とともに、他の操作手段を備える構成であってもよい。
【0132】
また、端末装置7は、端末装置7の動き(位置や姿勢、あるいは、位置や姿勢の変化を含む)を算出するためのセンサとして、磁気センサ62、加速度センサ63、およびジャイロセンサ64を備えるが、他の実施形態においては、これらのセンサのうち1つまたは2つのみを備える構成であってもよい。また、他の実施形態においては、これらのセンサに代えて、または、これらのセンサとともに、他のセンサを備える構成であってもよい。
【0133】
また、端末装置7は、カメラ56およびマイク69を備える構成であるが、他の実施形態においては、カメラ56およびマイク69を備えていなくてもよく、また、いずれか一方のみを備えていてもよい。
【0134】
また、端末装置7は、端末装置7とコントローラ5との位置関係(コントローラ5から見た端末装置7の位置および/または姿勢等)を算出するための構成としてマーカ部55を備える構成であるが、他の実施形態ではマーカ部55を備えていない構成としてもよい。また、他の実施形態では、端末装置7は、上記位置関係を算出するための構成として他の手段を備えていてもよい。例えば、他の実施形態においては、コントローラ5がマーカ部を備え、端末装置7が撮像素子を備える構成としてもよい。さらにこの場合、マーカ装置6は赤外LEDに代えて、撮像素子を備える構成としてもよい。
【0135】
[5.ゲームシステムにおける処理の概要]
次に、本実施形態のゲームシステム1において実行される処理の概要について説明する。ゲームシステム1は、テレビ2と端末装置7という2つの表示装置にそれぞれゲーム画像を表示することによって、プレイヤにより見やすいゲーム画像を提供したり、ゲームの操作性や興趣性を向上したりすることができる。また、本実施形態では、端末装置7に表示される端末用ゲーム画像は、端末装置7の姿勢に応じて切り替わり、端末装置7の姿勢に応じて異なるゲーム画像が表示される。以下、仮想のゲーム空間においてプレイヤオブジェクトおよび敵オブジェクトが登場するゲームを例に、ゲームシステム1における処理の概要について説明する。
【0136】
(ゲーム画像の切り替え)
図11は、端末装置7におけるゲーム画像の切り替え操作を示す図である。本実施形態においては、端末装置7に表示される端末用ゲーム画像は、端末装置7の姿勢に応じて切り替わる。具体的には、図11に示すように、端末装置7の画面が水平に近い状態(「水平状態」と呼ぶ)と、端末装置7の画面が鉛直に近い状態(「鉛直状態」と呼ぶ)とで、端末用ゲーム画像が切り替わる。より具体的には、端末装置7を水平状態にした場合には、ゲーム空間を上方から見たマップ画像が端末装置7に表示され、端末装置7を鉛直状態にした場合には、プレイヤオブジェクトの位置からゲーム空間を見た画像(主観視点の画像)が端末装置7に表示される。このように、プレイヤは、端末装置7の姿勢を変化させる操作によって、端末用ゲーム画像を容易に切り替えることができる。なお、本実施形態においては、テレビ2には、プレイヤオブジェクトを含むゲーム空間の画像(客観視点の画像)が表示される。
【0137】
上記のように、本実施形態においては、ピッチ方向に端末装置7を回転させることによって、端末用ゲーム画像の切り替えが行われる。したがって、プレイヤは、端末装置7を上げ下ろしするという自然な動作で端末用ゲーム画像を切り替えることができる。なお、端末用ゲーム画像の切り替えは、端末装置7の姿勢に応じて行われればよく、他の実施形態においては、端末装置7の姿勢をピッチ方向以外の他の方向に回転させることによって切り替えが行われてもよい。
【0138】
ここで、端末用ゲーム画像を切り替えるために端末装置7の姿勢を変化させる他の方法としては、例えば、端末装置7を鉛直状態とした状態において、端末装置7をヨー方向に回転させる(鉛直方向を軸として回転させる)方法が考えられる。また、端末装置7を鉛直状態あるいは水平状態とした状態において、端末装置7をロール方向(端末装置7の画面に垂直な軸回りの回転方向)に回転させる方法が考えられる。しかし、前者の方法では、ゲーム中において端末装置7を鉛直状態にし続けるので、プレイヤは腕が疲れてしまい、快適にゲーム操作を行うことができないおそれがある。また、後者の方法では、画面の向きが変化してしまうので、ゲーム画像が見にくくなってしまうおそれがある。
【0139】
これに対して、上記実施形態によれば、プレイヤは必要に応じて端末装置7を水平状態としてゲーム操作を行うことができるので、常に鉛直状態としておく必要がなく、快適にゲーム操作を行うことができる。また、端末装置7の画面の向きはプレイヤから見て変化しないので、ゲーム画像が見にくくなることを防止することができる。
【0140】
また、本実施形態においては、プレイヤオブジェクトに対するゲーム操作は端末装置7を用いて行われる。したがって、プレイヤは、端末装置7を用いてプレイヤオブジェクトに対するゲーム操作を行うとともに、端末装置7の姿勢を変化させることで、ゲーム画像を切り替えることができる。これによって、プレイヤは、ゲーム中(ゲーム操作中)においても端末用ゲーム画像を動的に切り替えることができる。なお、本実施形態においては、端末装置7が操作装置として用いられ、コントローラ5は用いられないので、ゲームシステム1はコントローラ5を含まない構成であってもよい。
【0141】
(ゲーム画像の具体例)
以下、図12〜図15を参照して、テレビ2および端末装置7に表示されるゲーム画像の例を説明する。図12は、端末装置7が水平状態である場合におけるテレビ用ゲーム画像の一例を示す図である。図12に示すように、テレビ2には、プレイヤオブジェクト81を含むゲーム空間の画像(客観視点の画像)が表示される。なお、本実施形態では、プレイヤオブジェクト81は、カメラを模したアイテム82(以下、カメラ82と記載する)を持っている。端末装置7が水平状態である場合には、プレイヤオブジェクト81はカメラ82を下ろしている。
【0142】
また、本実施形態においては、ゲーム空間には、お化けを模した敵オブジェクト(図15に示す敵オブジェクト85)が登場する。ただし、テレビ2には敵オブジェクト85は表示されず、敵オブジェクト85の影83のみが表示される(図12参照)。このように、本実施形態においては、テレビ用ゲーム画像からだけでは、プレイヤが敵オブジェクト85の位置を把握することは困難である。なお、他の実施形態においては、テレビ用ゲーム画像からだけでは、プレイヤが敵オブジェクト85の位置を把握することは不可能であるようにしてもよい。すなわち、ゲーム装置3は、敵オブジェクト85に加えて影83の画像を含まないテレビ用ゲーム画像を生成してもよい。
【0143】
図13は、端末装置7が水平状態である場合における端末用ゲーム画像の一例を示す図である。図13に示すように、水平状態である場合、端末装置7にはマップ画像が端末装置7に表示される。なお、本実施形態においては、マップ画像は、ゲーム空間の地面の上方に配置された仮想カメラを用いて生成されるが、他の実施形態においては、2次元のマップ画像が表示されてもよい。マップ画像には、プレイヤオブジェクト81の位置および向きを表すマーク84が含まれる。したがって、プレイヤは、端末装置7を水平状態にし、端末装置7に表示されるマップ画像を見ることで、ゲーム空間におけるプレイヤオブジェクト81の位置を把握することができる。なお、他の実施形態においては、水平状態である場合における端末用ゲーム画像としては、メニュー画面を表す画像や、プレイヤオブジェクト81が使用するアイテムを選択するためのアイテム画面を表す画像を表示してもよい。
【0144】
また、端末装置7が水平状態である場合、プレイヤは、端末装置7に対するゲーム操作によってプレイヤオブジェクト81を移動させることができる。具体的には、プレイヤは、アナログスティック53に対する上下左右の入力によって、ゲーム空間の地面上においてプレイヤオブジェクト81を移動させることができる。なお、詳細は後述するが、水平状態である場合における移動操作では、プレイヤオブジェクト81がゲーム空間の地面上において任意の向き(前後左右の向き)を向くことが可能である。
【0145】
図14は、端末装置7が鉛直状態である場合におけるテレビ用ゲーム画像の一例を示す図である。図14に示すように、テレビ用ゲーム画像に関しては、鉛直状態の場合も水平状態の場合と同様、客観視点でゲーム空間を表す画像が表示される。また、敵オブジェクト85は表示されず、影83のみが表示される。なお、水平状態の場合には鉛直状態の場合と異なり、プレイヤオブジェクト81は、カメラ82を構えたポーズ(体勢)をとっている。詳細は後述するが、プレイヤオブジェクト81は、端末装置7の姿勢に応じてカメラ82の向きを変えるように制御される。したがって、プレイヤは、テレビ2に表示されるプレイヤオブジェクト81の体勢およびカメラ82の向きを見ることで、端末装置7の姿勢を確認することができる。
【0146】
図15は、端末装置7が鉛直状態である場合における端末用ゲーム画像の一例を示す図である。図15に示すように、鉛直状態である場合、端末装置7には、いわゆる主観視点でゲーム空間を表す画像(主観視点の画像)が表示される。より具体的には、本実施形態では、主観視点の画像として、カメラ82の位置から見たゲーム空間を表す画像が表示される。なお、主観視点の画像は、プレイヤオブジェクト81からの視点で見た画像であるとプレイヤが認識するものであればよい。すなわち、主観視点の画像における視点の位置は、プレイヤオブジェクト81の位置またはその近傍の位置であればよく、本実施形態のようにカメラ82の位置であってもよいし、他の実施形態においてはプレイヤオブジェクト81の頭部の位置であってもよい。詳細は後述するが、上記主観視点のゲーム画像は、カメラ82の位置に設定される仮想カメラを用いて生成され、当該仮想カメラの向きは、端末装置7の姿勢に応じて変化する。つまり、プレイヤは、端末装置7の姿勢を変化させることによって主観視点の画像の視線方向を変化させることができる。
【0147】
ここで、端末用ゲーム画像においては、テレビ用ゲーム画像とは異なり、敵オブジェクト85が表示される。したがって、プレイヤは、端末装置7を鉛直状態にし、端末用ゲーム画像をゲーム空間の画像に切り替えることで、敵オブジェクト85を視認することができる。なお、図15では示されないが、本実施形態においては、ゲーム上の演出の目的で、上記の主観視点の端末用ゲーム画像は白黒の画像で生成される。
【0148】
また、本実施形態においては、端末装置7が鉛直状態である場合、プレイヤは射撃操作を行うことができる。具体的には、鉛直状態である場合、端末装置7の画面中央には照準画像86が表示される。そして、プレイヤが所定の射撃操作を行うことに応じて、プレイヤオブジェクト81は照準画像86が指し示す位置に向かって射撃動作を行う。射撃動作の結果、敵オブジェクト85に弾が命中すれば、敵オブジェクト85を倒す(消滅させる)ことができる。上述のように、プレイヤは、端末装置7の姿勢を変化させることによって主観視点の画像の視線方向を変化させることができるので、端末装置7の姿勢に応じて上記仮想カメラの向きが変わり、照準画像86が指し示す位置が変わる。したがって、プレイヤは、端末装置7の姿勢を変化させるという容易かつ直感的な操作で射撃方向を変化させることができる。
【0149】
また、端末装置7が鉛直状態である場合も水平状態である場合と同様、プレイヤは、端末装置7に対するゲーム操作によってプレイヤオブジェクト81を移動させることができる。ただし、鉛直状態である場合における移動操作では、水平状態である場合とは異なり、プレイヤオブジェクト81は向きを固定して平行移動を行う。鉛直状態である場合における移動方法は射撃操作に適した移動方法である。すなわち、水平状態の移動方法には客観的な視点でゲーム空間内においてプレイヤオブジェクト81を移動させるのに適した移動方法を採用し、鉛直状態の移動方法には主観的な視点で移動するのに適した移動方法を採用している。
【0150】
本実施形態においては、プレイヤは、敵オブジェクト85に捕まらないようにプレイヤオブジェクト81を移動させつつ、射撃操作によって敵オブジェクト85を倒して遊ぶ。すなわち、プレイヤは、客観視点のテレビ用ゲーム画像を見たり、端末装置7を水平状態にしてマップ画像を見たりしながらプレイヤオブジェクト81を移動させるとともに、適宜のタイミングで端末装置7を鉛直状態にすることで敵オブジェクト85の位置を確認し、敵オブジェクト85を見つけた場合には鉛直状態で射撃操作を行って敵オブジェクト85を倒す。このように、本実施形態では、端末装置7の姿勢を変化させることで端末用ゲーム画像をゲーム中に動的に切り替え、それに応じてテレビ2の画面と端末装置7の画面とのうちで見る対象をゲーム中に動的に切り替えるという、新規なゲーム操作を提供することができる。
【0151】
以上のように、本実施形態においては、プレイヤは、端末装置7を用いて、テレビ2のゲーム画像に対するゲーム操作と、端末装置7のゲーム画像に対する操作との両方を行うことができる。これによれば、プレイヤは、操作装置を持ち替えるといった煩雑な動作を行うことなく、2つの表示装置に表示される各ゲーム画像に対するゲーム操作を容易に行うことができる。
【0152】
また、本実施形態においては、テレビ2には客観視点でゲーム空間を表すゲーム画像が表示されるとともに、端末装置7が鉛直状態である場合には、ゲーム空間を表す画像であって、テレビ用ゲーム画像とは異なるゲーム画像(主観視点の画像)が端末装置7に表示される。一方、端末装置7が水平状態である場合には、鉛直状態とは異なるゲーム画像(マップ画像)が端末装置7に表示される。したがって、本実施形態によれば、プレイヤは、端末装置7を鉛直状態とすることによって、(ゲーム空間を表す2種類の画像によって)ゲーム空間の状況を容易に把握することができるとともに、端末装置7を水平状態とすることによって、鉛直状態とは異なるゲーム情報を得ることができる。
【0153】
なお、端末装置7を鉛直状態にし続けてゲーム操作を行うとプレイヤは腕が疲れてしまうおそれがある。これに関して、本実施形態においては、端末装置7を鉛直状態とした場合と水平状態とした場合とで端末用ゲーム画像が切り替わるとともに、テレビ2にはゲーム空間を表す画像が表示される。したがって、プレイヤは、端末装置7を鉛直状態としない場合(水平状態とした場合)でも、テレビ2の画面を見ることでゲーム空間の状況を把握することができる。本実施形態によれば、プレイヤは端末装置7を鉛直状態に保つ必要がないので、疲れることなく快適にゲームを行うことができる。
【0154】
また、本実施形態によれば、端末装置7を鉛直状態とした場合における端末用ゲーム画像のみに敵オブジェクト85が表示される。また、端末装置7を鉛直状態とした場合にのみ、プレイヤオブジェクト81の射撃動作が可能となる。このように、鉛直状態とすることによるゲーム上のメリットを設定することで、端末装置7を水平状態から鉛直状態へと変更する動機付けをプレイヤに与えることができる。これによって、ゲーム中に端末装置7の姿勢を変化させて端末用ゲーム画像を動的に切り替えるという新規なゲーム操作をプレイヤに行わせることができる。
【0155】
さらに、本実施形態においては、プレイヤオブジェクト81を移動させる際には、プレイヤは端末装置7を水平状態とし、主にテレビ2の画面を見て移動操作を行えばよく、プレイヤオブジェクト81に射撃動作を行わせる際には、端末装置7を鉛直状態とし、主に端末装置7の画面を見て射撃操作を行えばよい。したがって、移動操作を行う場合も射撃操作を行う場合も、プレイヤは、主に前方を見てゲーム操作を行えばよい。つまり、本実施形態によれば、テレビ用ゲーム画像と鉛直状態における端末用ゲーム画像としてゲーム空間を表す画像を生成することによって、ゲーム中におけるプレイヤの視線方向をほぼ変化させないようにすることができる。したがって、本実施形態によれば、プレイヤは、2つの表示装置のうちで見る対象をゲーム中に動的に切り替えながらも、視線方向を変化させる必要がないので、プレイヤにゲームを快適に行わせることができる。
【0156】
[6.ゲーム処理の詳細]
次に、本ゲームシステムにおいて実行されるゲーム処理の詳細を説明する。まず、ゲーム処理において用いられる各種データについて説明する。図16は、ゲーム処理において用いられる各種データを示す図である。図16において、ゲーム装置3のメインメモリ(外部メインメモリ12または内部メインメモリ11e)に記憶される主なデータを示す図である。図16に示すように、ゲーム装置3のメインメモリには、ゲームプログラム90、端末操作データ91、および処理用データ97が記憶される。なお、メインメモリには、図16に示すデータの他、ゲームに登場する各種オブジェクトの画像データやゲームに使用される音声データ等、ゲームに必要なデータが記憶される。
【0157】
ゲームプログラム90は、ゲーム装置3に電源が投入された後の適宜のタイミングで光ディスク4からその一部または全部が読み込まれてメインメモリに記憶される。なお、ゲームプログラム90は、光ディスク4に代えて、フラッシュメモリ17やゲーム装置3の外部装置から(例えばインターネットを介して)取得されてもよい。また、ゲームプログラム90に含まれる一部(例えば、端末装置7の姿勢を算出するためのプログラム)については、ゲーム装置3内に予め記憶されていてもよい。
【0158】
端末操作データ91は、端末装置7に対するプレイヤの操作を表すデータである。端末操作データ91は、端末装置7から送信されてゲーム装置3において取得され、メインメモリに記憶される。端末操作データ91は、角速度データ92、加速度データ93、タッチ位置データ94、操作ボタンデータ95、および、スティックデータ96を含む。なお、メインメモリには、最新の(最後に取得された)ものから順に所定個数の端末操作データが記憶されてもよい。
【0159】
角速度データ92は、ジャイロセンサ64によって検出された角速度を表すデータである。本実施形態では、角速度データ92は、図8に示すxyzの3軸回りのそれぞれの角速度を表すものであるが、他の実施形態においては、任意の1軸以上の軸回りの角速度を表すものであればよい。
【0160】
加速度データ93は、加速度センサ63によって検出された加速度(加速度ベクトル)を表すデータである。本実施形態では、加速度データ93は、図8に示すxyzの3軸の方向に関する加速度を各成分とする3次元の加速度を表すものであるが、他の実施形態においては、任意の1以上の方向に関する加速度を表すものであればよい。
【0161】
タッチ位置データ94は、タッチパネル52の入力面において入力が行われた位置(タッチ位置)を表すデータである。本実施形態では、タッチ位置データ94は、上記入力面上の位置を示すための2次元座標系の座標値を表す。なお、タッチパネル52がマルチタッチ方式である場合には、タッチ位置データ94は複数のタッチ位置を表すこともある。
【0162】
操作ボタンデータ95は、端末装置7に設けられる、押圧可能なキー操作部(各操作ボタン54A〜54L)に対する入力状態を表すデータである。具体的には、操作ボタンデータ95は、各操作ボタン54A〜54Lが押下されているか否かを表す。
【0163】
スティックデータ96は、各アナログスティック53Aおよび53Bのスティック部がスライドした(または傾倒した)方向および量を表すデータである。アナログスティック53は、2次元の任意の方向に移動可能な操作部材(スティック部)を移動することによる入力操作が可能な入力装置であり、スティックデータ96は、当該操作部材が操作された方向(操作方向)および量(操作量)を表すものである。本実施形態においては、アナログスティック53に対する操作量および操作方向は、左右方向に関する操作量をx成分とし、上下方向に関する操作量をy成分とする2次元座標によって表されるものとする。
【0164】
なお、端末操作データ91には、上記データ92〜95の他、磁気センサ62によって検出された方位を表す方位データが含まれていてもよい。また、本実施形態においては、端末操作データ91の他、カメラ画像データおよび/またはマイク音データが端末装置7からゲーム装置3へ送信されてもよい。カメラ画像データは、端末装置7のカメラ56によって撮像された画像(カメラ画像)を表すデータである。マイク音データは、端末装置7のマイク69によって検出された音声(マイク音)を表すデータである。なお、これらカメラ画像データおよびマイク音データは、コーデックLSI66によって圧縮されてゲーム装置3へ送信され、ゲーム装置3においてコーデックLSI27によって伸張されてメインメモリに記憶されてもよい。
【0165】
なお、本実施形態のように端末操作データ91から端末装置7の姿勢を算出する場合には、端末操作データ91は、端末装置7の姿勢を算出するための物理量を表すデータを少なくとも含んでいればよい。この物理量を表すデータとは、本実施形態では加速度データ93、角速度データ92、および上記方位データであるが、他の実施形態においては、端末操作データ91は、これら3つのデータのうちいずれか1つまたは2つを含むものであってもよい。また、加速度センサ63およびジャイロセンサ64のような慣性センサの出力データに基づけば端末装置7の姿勢を容易に算出することができるので、このような慣性センサを用いて姿勢を算出することが好ましい。
【0166】
また、端末装置7が他の入力手段(例えば、タッチパッドや、コントローラ5の撮像手段等)を有する場合には、端末操作データ91は、当該他の入力手段から出力されるデータを含んでいてもよい。
【0167】
また、本実施形態ではコントローラ5が操作装置として用いられないので図示しないが、メインメモリには、コントローラ5に対するユーザ(プレイヤ)の操作を表すコントローラ操作データが記憶されてもよい。
【0168】
処理用データ97は、後述するゲーム処理(図18)において用いられるデータである。処理用データ97は、端末姿勢データ98、端末状態データ99、プレイヤデータ100、客観カメラデータ101、主観カメラデータ102、上方カメラデータ103、第1閾値データ104、および、第2閾値データ105を含む。なお、図16に示すデータの他、処理用データ97は、ゲームに登場する各種オブジェクトに設定される各種パラメータを表すデータ等、ゲーム処理において用いられる各種データを含む。
【0169】
端末姿勢データ98は、端末装置7の姿勢を表すデータである。端末装置7の姿勢は、例えば、所定の基準姿勢から現在の姿勢への回転を表す回転行列によって表現されてもよいし、3次のベクトルまたは3つの角度によって表現されてもよい。また、本実施形態においては、端末装置7の姿勢として3次元空間における姿勢が用いられるが、他の実施形態においては、2次元平面における姿勢が用いられてもよい。本実施形態では、端末姿勢データ98は、上記端末操作データに含まれる加速度データ93および角速度データ92に基づいて算出される。端末姿勢データ98の算出方法についてはステップS11で後述する。
【0170】
端末状態データ99は、端末装置7の姿勢に関する状態を表すデータである。具体的には端末状態データ99は、上記水平状態および鉛直状態のいずれか一方を表す。端末状態データ99が水平状態および鉛直状態のいずれを表すかは、上記端末姿勢データ98に基づいて決定される。
【0171】
プレイヤデータ100は、プレイヤオブジェクト81の各種情報を表すデータである。本実施形態においては、プレイヤデータ100は、プレイヤオブジェクト81の位置および向き、ならびに、プレイヤオブジェクト81の体勢を少なくとも表す。なお、プレイヤオブジェクト81の体勢とは、プレイヤオブジェクト81がカメラ82を持つ体勢である。プレイヤデータ100は、上記端末操作データ91および端末姿勢データ98に基づいて算出される。
【0172】
客観カメラデータ101は、ゲーム空間を客観視点で見た画像(図12および図14参照)を生成するために用いられる仮想カメラ(客観仮想カメラ)に関する情報を表すデータである。また、主観カメラデータ102は、ゲーム空間を主観視点で見た画像(図15参照)を生成するために用いられる仮想カメラ(主観仮想カメラ)に関する情報を表すデータである。上方カメラデータ103は、ゲーム空間を地面の上方から見たマップ画像(図13参照)を生成するために用いられる仮想カメラ(上方仮想カメラ)に関する情報を表すデータである。各カメラデータ101〜103は、仮想カメラの位置および向きを少なくとも表し、これらに加えて仮想カメラの画角等を表すものであってもよい。各カメラデータ101〜103は、プレイヤオブジェクト81の位置および向きに基づいて設定される。
【0173】
各閾値データ104および105は、端末装置7の状態(水平状態または鉛直状態)を判定するために用いられる閾値を表すデータである。具体的には、第1閾値データ104は、端末装置7が鉛直状態となったか否かを判定するために用いられる第1閾値を表す。また、第2閾値データ105は、端末装置7が水平状態となったか否かを判定するために用いられる第2閾値を表す。詳細は後述するが、本実施形態では、第1閾値と第2閾値とは異なる値であり、第1閾値は、第2閾値が表す姿勢よりも端末装置7の画面が鉛直に近い姿勢を表す。なお、第1閾値および第2閾値の値はゲームプログラム90において予め定められており、各閾値データ104および105はゲームプログラム90が読み込まれる適宜のタイミングでメインメモリに記憶される。
【0174】
次に、ゲーム装置3において行われるゲーム処理の詳細を、図17〜図23を用いて説明する。図17は、ゲーム装置3において実行されるゲーム処理の流れを示すメインフローチャートである。ゲーム装置3の電源が投入されると、ゲーム装置3のCPU10は、図示しないブートROMに記憶されている起動プログラムを実行し、これによってメインメモリ等の各ユニットが初期化される。そして、光ディスク4に記憶されたゲームプログラムがメインメモリに読み込まれ、CPU10によって当該ゲームプログラムの実行が開始される。なお、ゲーム装置3においては、電源投入後にゲームプログラムがすぐに実行される構成であってもよいし、電源投入後にまず所定のメニュー画面を表示する内蔵プログラムが実行され、その後ユーザによってゲームの開始が指示されたことに応じてゲームプログラムが実行される構成であってもよい。図17に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
【0175】
なお、図17〜図19および図23に示すフローチャートの各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、変数の値や、判断ステップで利用される閾値も、単なる一例に過ぎず、必要に応じて他の値を採用してもよい。また、本実施形態では、上記フローチャートの各ステップの処理をCPU10が実行するものとして説明するが、上記フローチャートの一部のステップの処理を、CPU10以外のプロセッサや専用回路が実行するようにしてもよい。
【0176】
まずステップS1において、CPU10は初期処理を実行する。初期処理は、仮想のゲーム空間を構築し、ゲーム空間に登場する各オブジェクトを初期位置に配置したり、ゲーム処理で用いる各種パラメータの初期値を設定したりする処理である。なお、本実施形態においては、初期処理において、端末装置7の状態として水平状態を表すデータが端末状態データ99としてメインメモリに記憶される。また、プレイヤオブジェクト81に関して、予め定められた位置および向きを表すデータがプレイヤデータ100としてメインメモリに記憶される。ステップS1の次にステップS2の処理が実行される。以降、ステップS2〜S8の一連の処理からなる処理ループが所定時間(1フレーム時間)に1回の割合で繰り返し実行される。
【0177】
ステップS2において、CPU10は、端末操作データを取得する。端末装置7は、端末操作データをゲーム装置3へ繰り返し送信するので、ゲーム装置3は端末操作データを逐次受信する。ゲーム装置3においては、端末通信モジュール28が端末操作データを逐次受信し、入出力プロセッサ11aが端末操作データをメインメモリに逐次記憶する。ステップS3においては、CPU10は、最新の端末操作データ91をメインメモリから読み出す。ステップS2の次にステップS3の処理が実行される。
【0178】
ステップS3において、CPU10はゲーム制御処理を実行する。ゲーム制御処理は、端末操作データに基づいて各種のゲーム処理を実行し、ゲームを進行させる処理である。以下、図18を参照して、ゲーム制御処理の詳細について説明する。
【0179】
図18は、図17に示すゲーム制御処理(ステップS3)の詳細な流れを示すフローチャートである。ゲーム制御処理においてはまずステップS11において、CPU10は、姿勢算出処理を実行する。姿勢算出処理は、端末操作データ91に基づいて端末装置7の姿勢を算出する処理である。以下、図19を参照して、姿勢算出処理の詳細について説明する。
【0180】
図19は、図18に示す姿勢算出処理(ステップS11)の詳細な流れを示すフローチャートである。姿勢算出処理においてはまずステップS31において、CPU10は、角速度データ92に基づいて端末装置7の姿勢を算出する。角速度に基づく姿勢を算出する方法はどのような方法であってもよいが、当該姿勢は、前回の姿勢(前回に算出された姿勢)と、今回の角速度(今回の処理ループにおけるステップS2で取得された角速度)とを用いて算出される。具体的には、CPU10は、前回の姿勢を今回の角速度で単位時間分だけ回転させることによって姿勢を算出する。なお、前回の姿勢は、メインメモリに記憶されている端末姿勢データ98により表され、今回の角速度は、メインメモリに記憶されている角速度データ92により表される。したがって、CPU10は、メインメモリから端末姿勢データ98および角速度データ92を読み出して、端末装置7の姿勢を算出する。以上のようにして算出された姿勢を表すデータはメインメモリに記憶される。ステップS31の次にステップS32の処理が実行される。
【0181】
なお、上記ステップS31において角速度から姿勢を算出する場合、初期姿勢を定めておくのがよい。つまり、端末装置7の姿勢を角速度から算出する場合には、CPU10は、最初に端末装置7の初期姿勢を設定しておく。端末装置7の初期姿勢は、加速度データに基づいて算出されてもよいし、端末装置7を特定の姿勢にした状態でプレイヤに所定の操作を行わせることで、所定の操作が行われた時点における特定の姿勢を初期姿勢として設定するようにしてもよい。なお、空間における所定方向を基準とした絶対的な姿勢として端末装置7の姿勢を算出する場合には上記初期姿勢を算出することが良いが、例えばゲーム開始時点における端末装置7の姿勢を基準とした相対的な姿勢として端末装置7の姿勢を算出する場合には、上記初期姿勢は算出されなくても良い。
【0182】
ステップS32において、CPU10は、ステップS31で算出された姿勢を、端末装置7の加速度に基づいて補正する。ここで、端末装置7がほぼ静止している状態では、端末装置7に対して加えられる加速度は重力加速度に相当する。つまり、この状態では、加速度データ93が表す加速度ベクトルは、端末装置7における重力方向を表す。したがって、CPU10は、ステップS31で算出された姿勢の下方向(重力方向)を、加速度ベクトルの表す重力方向へ近づける補正を行う。すなわち、上記下方向が加速度ベクトルの表す重力方向へ所定の割合で近づくように、上記姿勢を回転させる。これによって、角速度に基づく姿勢を、加速度に基づく重力方向を考慮した姿勢となるように補正することができる。なお、上記所定の割合は、予め定められた固定値であってもよいし、検出される加速度等に応じて設定されてもよい。例えば、CPU10は、検出される加速度の大きさが重力加速度の大きさに近い場合には、上記姿勢の下方向を加速度ベクトルの表す重力方向へ近づける割合を大きくし、検出される加速度の大きさが重力加速度の大きさから離れている場合には、当該割合を小さくするようにしてもよい。
【0183】
ステップS32の具体的な処理としては、CPU10は、ステップS31で算出された姿勢を表すデータと、加速度データ93とをメインメモリから読み出し、上記の補正を行う。そして、補正が行われた後の姿勢を表すデータを、端末姿勢データ98としてメインメモリに記憶する。上記ステップS32の後、CPU10は姿勢算出処理を終了する。ステップS11の姿勢算出処理の次に、ステップS12の処理が実行される。
【0184】
なお、上記加速度ベクトルは、重力加速度を基準とした端末装置7の姿勢に対応するものであるので、上記加速度ベクトルに基づいて端末装置7の姿勢を算出することも可能である。したがって、他の実施形態においては、CPU10は、加速度ベクトルに基づいて端末装置7の姿勢(加速度に基づく姿勢)を算出し、ステップS31で算出された角速度に基づく姿勢を、加速度に基づく姿勢へと所定の割合で近づける補正を行うようにしてもよい。
【0185】
上記姿勢算出処理のように、本実施形態においては、端末装置7の姿勢は、慣性センサである加速度センサ63およびジャイロセンサ74から出力されるデータに基づいて算出される。ここで、CPU10は、磁気センサ62によって検出される方位データから、端末装置7を基準とした所定の方位(すなわち、所定の方位を基準とした端末装置7の姿勢)を知ることができる。したがって、他の実施形態においては、CPU10は、角速度データ92および加速度データ93に加えて、上記方位データをさらに用いて端末装置7の姿勢を算出してもよい。方位データを用いて端末装置7の姿勢を算出する場合には、実空間における所定方向を基準とした絶対的な姿勢を算出することができるので、端末装置7の姿勢をより正確に算出することができる。なお、方位データに関して、地磁気以外の磁界が発生している場所においては、方位データは厳密には絶対的な方位(北等)を示さないことになるが、その場所における磁界の方向に対する端末装置7の相対的な方向が示されるので、そのような場合であっても端末装置7の姿勢を算出することが可能である。また、他の実施形態においては、上記3つのデータのうち1つまたは2つに基づいて姿勢を算出するようにしてもよい。
【0186】
図18の説明に戻り、ステップS12において、CPU10は状態判定処理を実行する。状態判定処理は、端末装置7が上述の水平状態であるか鉛直状態であるかを判定するための処理である。状態判定処理においては、CPU10は、LCD51の画面が所定の基準(第1閾値)よりも鉛直に近い姿勢となった場合に鉛直状態であると判定し、LCD51の画面が所定の基準(第2閾値)よりも水平に近い姿勢となった場合に水平状態であると判定する。以下、図20〜図22を参照して、状態判定処理の詳細について説明する。
【0187】
図20は、図18に示す状態判定処理(ステップS12)の詳細な流れを示すフローチャートである。状態判定処理においてはまずステップS41において、CPU10は、端末装置7の画面に垂直な方向を表す画面方向ベクトルV1の鉛直方向成分y1を算出する。なお、画面方向ベクトルV1は、一定の長さである単位ベクトルであるとする。また、画面方向ベクトルV1は、上記姿勢算出処理(ステップS11)で算出される姿勢から得ることができる。例えば、端末装置7の姿勢として、上記画面方向ベクトルV1の3次の各成分を行列の要素に含むような回転行列を姿勢算出処理で算出する場合には、当該回転行列の要素を抽出することによって容易に画面方向ベクトルV1を算出することができる。
【0188】
端末装置7の画面に垂直な軸が鉛直方向に近いか水平方向に近いかの判定は、画面方向ベクトルV1の鉛直方向成分を用いて行うことができる(図21および図22参照)。したがって、本実施形態においては、端末装置7が水平状態であるか鉛直状態であるかを判定するために、CPU10は画面方向ベクトルV1の鉛直方向成分y1を算出する。算出された鉛直方向成分y1を表すデータはメインメモリに記憶される。ステップS41の次にステップS42の処理が実行される。
【0189】
ステップS42において、CPU10は、端末装置7が現在水平状態であるか否かを判定する。具体的には、CPU10は、端末状態データ99をメインメモリから読み出し、端末状態データ99が水平状態を表すか否かを判定する。ステップS42の判定結果が肯定である場合、すなわち、端末装置7が水平状態である場合、ステップS43の処理が実行される。一方、ステップS42の判定結果が否定である場合、すなわち、端末装置7が鉛直状態である場合、ステップS45の処理が実行される。
【0190】
ステップS43において、CPU10は、上記画面方向ベクトルV1の鉛直方向成分y1が、所定の第1閾値T1よりも大きいか否かを判定する。図21は、端末装置7が水平状態である場合における端末装置7を示す図である。図21において、角度θは、画面方向ベクトルV1と鉛直下方向とのなす角である。また、第1基準ベクトルTV1は、(水平状態から)鉛直状態となるか否かを判定するための基準となるベクトルであり、角度θ1は、第1基準ベクトルTV1と鉛直下方向とのなす角である。上記第1閾値T1は、第1基準ベクトルTV1の鉛直方向成分である。例えば、第1閾値T1は、上記角度θ1が60°となるように設定される。なお、ここでは、ゲーム空間における鉛直方向を示すy’軸は、上方を正方向とするように設定される。
【0191】
図21から明らかなように、上記画面方向ベクトルV1の鉛直方向成分y1が第1閾値T1よりも大きくなることは、画面方向ベクトルV1と鉛直下方向とのなす角θが、第1基準ベクトルTV1と鉛直下方向とのなす角θ1よりも大きくなることを意味する。すなわち、上記画面方向ベクトルV1の鉛直方向成分y1が第1閾値T1よりも大きくなることは、端末装置7の姿勢が、第1基準ベクトルTV1が表す基準よりも鉛直に近くなることを意味する。したがって、ステップS43の判定によって、第1基準ベクトルTV1が表す基準よりも端末装置7の姿勢が鉛直に近くなるか否かを判定することができる。
【0192】
ステップS43の具体的な処理としては、CPU10は、画面方向ベクトルV1の鉛直方向成分y1を表すデータと第1閾値データ104とをメインメモリから読み出し、鉛直方向成分y1が第1閾値T1よりも大きいか否かを判定する。ステップS43の判定結果が肯定である場合、ステップS44の処理が実行される。一方、ステップS43の判定結果が否定である場合、CPU10は状態判定処理を終了する。
【0193】
ステップS44において、CPU10は、端末装置7の状態を鉛直状態に設定(変更)する。具体的には、鉛直状態を表すデータを端末状態データ99としてメインメモリに記憶する。ステップS44の後、CPU10は状態判定処理を終了する。
【0194】
一方、ステップS45において、CPU10は、上記画面方向ベクトルV1の鉛直方向成分y1が、所定の第2閾値T2よりも小さいか否かを判定する。図22は、端末装置7が鉛直状態である場合における端末装置7を示す図である。図22において、第2基準ベクトルTV2は、(鉛直状態から)水平状態となるか否かを判定するための基準となるベクトルであり、角度θ2は、第2基準ベクトルTV2と鉛直下方向とのなす角である。上記第2閾値T2は、第2基準ベクトルTV2の鉛直方向成分である。また、第2閾値T2は第1閾値T1よりも小さい値に設定される。すなわち、第2基準ベクトルTV2は、第1基準ベクトルTV1よりも水平に近い姿勢を表す。例えば、第2閾値T2は、上記角度θ2が45°となるように設定される。
【0195】
図21から明らかなように、上記画面方向ベクトルV1の鉛直方向成分y1が第2閾値T2よりも小さくなることは、画面方向ベクトルV1と鉛直下方向とのなす角θが、第2基準ベクトルTV2と鉛直下方向とのなす角θ2よりも小さくなることを意味する。すなわち、上記画面方向ベクトルV1の鉛直方向成分y1が第2閾値T2よりも小さくなることは、端末装置7の姿勢が、第2基準ベクトルTV2が表す基準よりも水平に近くなることを意味する。したがって、ステップS43の判定によって、第2基準ベクトルTV2が表す基準よりも端末装置7の姿勢が水平に近くなるか否かを判定することができる。
【0196】
ステップS45の具体的な処理としては、CPU10は、画面方向ベクトルV1の鉛直方向成分y1を表すデータと第2閾値データ105とをメインメモリから読み出し、鉛直方向成分y1が第2閾値T2よりも小さいか否かを判定する。ステップS45の判定結果が肯定である場合、ステップS46の処理が実行される。一方、ステップS45の判定結果が否定である場合、CPU10は状態判定処理を終了する。
【0197】
ステップS46において、CPU10は、端末装置7の状態を水平状態に設定(変更)する。具体的には、水平状態を表すデータを端末状態データ99としてメインメモリに記憶する。ステップS46の後、CPU10は状態判定処理を終了する。
【0198】
上記の状態判定処理によれば、端末装置7が水平状態である場合には、第1閾値T1を用いて判定が行われ(ステップS43)、端末装置7が鉛直状態である場合には、第1閾値T1よりも水平に近い姿勢を表す第2閾値T2を用いて判定が行われる(ステップS45)。つまり、状態判定処理では、端末装置7が鉛直状態であると判定された場合、水平状態であるか鉛直状態であるかを判定するための基準を表す閾値を、より水平に近い姿勢を表す第1閾値に変更し、端末装置7が水平状態であると判定された場合、当該基準を表す閾値を、より鉛直に近い姿勢を表す第2閾値に変更する。したがって、本実施形態では、端末装置7が一方の状態から他方の状態へと移行した場合、移行時から姿勢が多少変化しても元の状態へと戻ることがない。
【0199】
ここで、仮に第1閾値T1と第2閾値T2とを同じ値とすると、端末装置7の姿勢が各閾値が表す角度付近で変動する場合に水平状態と鉛直状態とが頻繁に切り替わってしまう結果、端末用ゲーム画像が頻繁に切り替わってしまう。これに対して、上記の状態判別処理によれば、2つの異なる閾値を用いることによって、水平状態と鉛直状態とが頻繁に切り替わってしまうことを防止することができる。
【0200】
また、詳細は後述するが、本実施形態においては、端末装置7の姿勢に応じて主観仮想カメラの視線方向を変化させることができ、射撃方向を変化させることができる。ここで、上記状態判別処理においては、端末装置7を鉛直状態にした場合には、より水平に近い基準を表す第2閾値T2を用いて判定が行われるので、プレイヤは、端末装置7をより下へ向けることができる。つまり、主観仮想カメラの視線方向を変化させることができる範囲をより広くすることができ、射撃をより広い範囲に向かって行うことができる。
【0201】
また、上記の状態判定処理においては、CPU10は、端末装置7が水平状態であるか鉛直状態であるかの判定を、上記画面方向ベクトルの鉛直方向成分を用いて行った。これによれば、後述する角度θを計算する場合等に比べて簡易な計算で判定を行うことができる。なお、他の実施形態においては、上記角度θを上記角度θ1およびθ2と比較したり、あるいは、画面方向ベクトルと各基準ベクトルとを比較することによって上記判定が行われてもよい。また、本実施形態においては、端末装置7の姿勢自体を用いて判定が行われたが、他の実施形態においては、端末装置7の姿勢に対応する主観仮想カメラの姿勢を用いて判定が行われてもよい。すなわち、上記画面方向ベクトルに代えて、主観仮想カメラの視線方向を表すベクトルを用いて判定が行われてもよい。なお、この場合、端末装置7の状態にかかわらずCPU10は主観仮想カメラの姿勢を算出する点に留意する。
【0202】
図18の説明に戻り、ステップS12の状態判定処理の次にステップS13の処理が実行される。ステップS13において、CPU10は、端末装置7が水平状態であるか否かを判定する。ステップS13の判定処理は上記ステップS42の判定処理と同様である。ステップS13の判定結果が肯定である場合、すなわち、端末装置7が水平状態である場合、ステップS14の処理が実行される。一方、ステップS13の判定結果が否定である場合、すなわち、端末装置7が鉛直状態である場合、ステップS17の処理が実行される。
【0203】
ステップS14において、CPU10は、プレイヤオブジェクト81を端末操作データに基づいて制御する。ここで、プレイヤオブジェクト81の移動方法はどのような方法であってもよいが、本実施形態では、第1の移動方法に基づいてプレイヤオブジェクト81の移動が制御される。第1の移動方法は、ゲーム空間におけるプレイヤオブジェクト81の向きが、端末装置7のアナログスティック53に対する方向入力に応じて変化するような移動方法である。具体的には、プレイヤオブジェクト81は、上述の客観仮想カメラの視線方向と方向入力とに基づく方向を向いて、当該方向に向かって移動する。例えば、アナログスティック53における真上方向の入力に対しては、プレイヤオブジェクト81は客観仮想カメラの視線方向(つまり、テレビ用ゲーム画像に表示されるゲーム空間の正面方向)を向いて移動し、アナログスティック53における右方向の入力に対しては、客観仮想カメラの視線方向から右方向を向いて移動する。なお、ここでは、客観仮想カメラは、プレイヤオブジェクト81に追従するように移動する。以上のように、本実施形態においては、端末装置7が水平状態である場合には、端末装置7に対する方向入力に応じてプレイヤオブジェクト81の向きが変化するような移動方法が採用される。
【0204】
ステップS14の具体的な処理としては、CPU10は、プレイヤデータ100をメインメモリから読み出し、ステップS2で取得した端末操作データ91と、当該プレイヤデータ100とに基づいて、プレイヤオブジェクト81の移動後の位置および向きを算出する。そして、算出された移動後の位置および向きを表すデータを新たなプレイヤデータ100としてメインメモリに記憶する。ステップS14の次にステップS15の処理が実行される。
【0205】
ステップS15において、CPU10は客観仮想カメラを設定する。客観仮想カメラは、プレイヤオブジェクト81が視野範囲に含まれるように設定されればどのように設定されてもよい。本実施形態では、客観仮想カメラは、プレイヤオブジェクト81の位置および向きに追従するように、プレイヤオブジェクト81から後方に所定距離だけ離れた位置に設定される。なお、本実施形態では、客観仮想カメラの視線方向が急激に変化することを防止するために、客観仮想カメラは、プレイヤオブジェクト81の移動に追従して引っ張られるように制御される。すなわち、客観仮想カメラは、プレイヤオブジェクト81から所定距離の位置に、プレイヤオブジェクト81の向きに遅れて追従するような向きとなるように設定される。具体的には、CPU10は、プレイヤデータ100をメインメモリから読み出し、客観仮想カメラの位置および向きを算出する。そして、算出された位置および向きを表すデータを客観カメラデータ101としてメインメモリに記憶する。ステップS15の次にステップS16の処理が実行される。
【0206】
ステップS16において、CPU10は上方仮想カメラを設定する。上述のように、上方仮想カメラは、ゲーム空間を上方から見た様子を表す画像を生成するための仮想カメラである。上方仮想カメラの位置は、プレイヤオブジェクト81の位置に基づいて決定される。例えば、上方仮想カメラは、地面上におけるプレイヤオブジェクト81の位置から鉛直上方向に所定距離だけ離れた位置に設定される。また、上方仮想カメラの向きは、所定の向き(ここでは鉛直下方向)を向くように設定される。なお、マップが画面内に全て収まるような場合は、上方仮想カメラの位置は固定されていてもよい。また、画面の上方向は、たとえば仮想空間の所定方向(たとえば北方向、等)が画面の上方向になるように設定すればよいし、プレイヤオブジェクト81の向きに応じて変化してもよい。CPU10は、プレイヤデータ100をメインメモリから読み出し、プレイヤオブジェクト81の位置に基づいて上方仮想カメラの位置を算出する。そして、算出された位置と、上記所定の向きとを表すデータを上方カメラデータ103としてメインメモリに記憶する。ステップS16の次に、後述するステップS23の処理が実行される。
【0207】
一方、ステップS17において、CPU10は、プレイヤオブジェクト81を端末操作データに基づいて制御する。ステップS16の処理におけるプレイヤオブジェクト81の移動方法はどのような方法であってもよいが、本実施形態では、上記ステップS14における第1の移動方法とは異なる第2の移動方法に基づいてプレイヤオブジェクト81の移動が制御される。第2の移動方法は、ゲーム空間におけるプレイヤオブジェクト81の向きが固定され、プレイヤオブジェクト81が向きを変えずに平行移動するような移動方法である。具体的には、プレイヤオブジェクト81は、端末装置7が鉛直状態となった時点の向きを変えずに、アナログスティック53における上下左右の方向入力に応じて前後左右に移動する。なお、鉛直状態となった時点における主観仮想カメラの向きを、その時点のカメラ82に合わせる実施形態の場合に、鉛直状態となった時点でプレイヤオブジェクト81の向きがカメラ82の向きと一致していない場合には、その時点でプレイヤキャラクタの向きをカメラ82の向きに合わせればよい。以上のように、本実施形態においては、端末装置7が鉛直状態である場合には、プレイヤオブジェクト81が向きを変えずに平行移動するという、射撃操作に適した移動方法が採用される。
【0208】
ステップS17の具体的な処理としては、CPU10は、プレイヤデータ100をメインメモリから読み出し、ステップS2で取得した端末操作データ91と、当該プレイヤデータ100とに基づいて、プレイヤオブジェクト81の移動後の位置を算出する。そして、算出された移動後の位置を表すようにプレイヤデータ100の内容を更新する。ステップS17の次にステップS18の処理が実行される。
【0209】
上記ステップS14およびS17の処理によれば、CPU10は、端末装置7の姿勢が水平状態となる場合と鉛直状態となる場合とで、所定のオブジェクト(プレイヤオブジェクト81)に対する操作方法を変更する。すなわち、水平状態においては、テレビ2に表示されるゲーム空間の画像および端末装置7に表示されるマップ画像を見てプレイヤは主に移動操作を行うので、移動に適した操作方法が適用される。一方、鉛直状態においては、端末装置7に表示されるゲーム空間の画像を見てプレイヤは主に射撃操作を行うので、射撃に適した操作方法が適用される。このように、本実施形態によれば、端末装置7に表示されるゲーム画像に応じた適切な操作方法をプレイヤに提供することができ、端末装置7の操作性を向上することができる。
【0210】
ステップS18において、CPU10は客観仮想カメラを設定する。ステップS18における客観仮想カメラの設定処理は、ステップS15の処理と同様である。なお、端末装置7が鉛直状態である場合には、プレイヤオブジェクト81の向きは不変であるので、客観仮想カメラの視線方向も固定される。端末装置7が鉛直状態である場合には、プレイヤオブジェクト81は平行移動を行うので、客観仮想カメラは、プレイヤオブジェクト81の平行移動に合わせて平行移動する。このように、本実施形態では、端末装置7が水平状態から鉛直状態へと移行した後で水平状態へと戻った場合、鉛直状態の前後でテレビ用ゲーム画像における視線方向は変化しない。ここで、本実施形態では、プレイヤが端末装置7を鉛直状態として端末用ゲーム画像を見て射撃操作等のゲーム操作を行った後、端末装置7を水平状態へと戻してテレビ用ゲーム画像を再度見るような状況も考えられる。このような状況であっても、本実施形態によれば、鉛直状態の前後でテレビ用ゲーム画像における視線方向が変化しないので、プレイヤは、視線方向がどちらを向いているのか分からずに混乱することなく、ゲーム操作を行うことができる。ステップS18の次にステップS19の処理が実行される。
【0211】
ステップS19において、CPU10は主観仮想カメラを設定する。主観仮想カメラの姿勢の算出方法は、端末装置7の姿勢に応じて主観仮想カメラの姿勢が変化するものであればどのような方法であってもよい。本実施形態では、現実空間における端末装置7の姿勢に対応するように、仮想のゲーム空間における主観仮想カメラの姿勢が制御される(図23参照)。具体的には、主観仮想カメラは、プレイヤオブジェクト81により決められる位置に、端末装置7の姿勢に応じた姿勢となるように設定される。以下、図23を参照して、主観仮想カメラの設定方法について説明する。
【0212】
図23は、端末装置7の姿勢と、主観仮想カメラの配置と、プレイヤオブジェクトの体勢との関係と示す図である。図23に示す表の左欄は、端末装置7が鉛直状態となった時点における状態(基準状態と呼ぶ)を示す。図23に示すように、本実施形態においては、主観仮想カメラ87はカメラ82の位置に設定される。なお、プレイヤオブジェクト81は、カメラ82を頭部付近の位置に持ち上げるような体勢をとるので、主観仮想カメラ87をカメラ82の位置に設定することによって、主観視点の画像を生成することができる。また、基準状態となった時点においては、主観仮想カメラ87は、ヨー方向(鉛直方向を軸とした回転方向)に関して客観仮想カメラと視線方向が同じになるように設定される。一方、ロール方向およびピッチ方向に関しては、主観仮想カメラ87は、端末装置7の姿勢に応じた姿勢となるように設定される。主観仮想カメラの姿勢は、主観仮想カメラの視線方向がLCD51の画面に垂直な軸(図8に示すz軸)に対応するように設定される。
【0213】
また、図23に示す表の右欄は、上記基準状態から右方向へ端末装置7を回転させた状態を示す。このとき、主観仮想カメラ87は、端末装置7の回転量と同じ量だけ、基準状態における姿勢から視線方向を右方向に向けた姿勢となる(図23に示す表の右欄中段を参照)。つまり、基準状態における姿勢が設定された後においては、主観仮想カメラ87は、基準状態における姿勢から、端末装置7の姿勢の変化方向に応じた方向に、変化量に応じた量だけ回転される。
【0214】
以上のように、本実施形態においては、端末装置7が鉛直状態となる場合には、主観仮想カメラは、端末装置7の姿勢に応じた姿勢となるように制御される。なお、本実施形態においては、主観仮想カメラの向きを変更することによって射撃方向を変化させることができる。したがって、プレイヤは、端末装置7の姿勢に応じて主観仮想カメラの向きを変化させることで射撃方向を変化させることができ、容易かつ迅速に射撃方向を変更することができる。
【0215】
また、本実施形態においては、端末装置7が水平状態から鉛直状態へと移行した時点では、ヨー方向に関して客観仮想カメラの視線方向と主観仮想カメラの視線方向とが一致するように主観仮想カメラの姿勢が設定される。これによって、端末装置7を鉛直状態にした直後においては、客観仮想カメラを用いて生成されるテレビ用ゲーム画像と、主観仮想カメラを用いて生成される端末用ゲーム画像との視線方向が一致することになる。したがって、本実施形態によれば、プレイヤは、端末装置7を鉛直状態にした直後であっても、端末用ゲーム画像の視線方向を容易に把握することができ、見やすく操作のしやすいゲーム画像を提供することができる。なお、他の実施形態においては、端末装置7を鉛直状態にした直後における主観仮想カメラの視線方向は、他の方向であってもよい。例えば、他の実施形態においては、端末装置7を鉛直状態にした直後における主観仮想カメラの視線方向は、プレイヤオブジェクト81の正面方向を向くように制御されてもよい。また、例えば、射撃対象となるオブジェクトを選択する(射撃対象をロックする)ことが可能な場合には、端末装置7を鉛直状態にした直後における主観仮想カメラの視線方向は、選択中のオブジェクトの方を向くように制御されてもよい。
【0216】
ステップS19の具体的な処理としては、CPU10は、端末姿勢データ98およびプレイヤデータ100をメインメモリから読み出し、プレイヤオブジェクト81の位置から決まるカメラ82の位置と、主観仮想カメラの姿勢とを算出する。なお、端末装置7が水平状態から鉛直状態へと移行した直後の場合には、CPU10は、さらに客観カメラデータ101をメインメモリから読み出し、端末装置7の姿勢および客観仮想カメラの姿勢に基づいて主観仮想カメラの姿勢を算出する。そして、CPU10は、算出された位置と姿勢とを表すデータを主観カメラデータ102としてメインメモリに記憶する。ステップS19の次にステップS20の処理が実行される。
【0217】
ステップS20において、CPU10は、端末装置7の姿勢に応じてプレイヤオブジェクト81の体勢を制御する。具体的には、プレイヤオブジェクト81が持つカメラ82の姿勢が端末装置7の姿勢に応じた姿勢となるように、プレイヤオブジェクト81の体勢が制御される。図23に示すように、基準状態においては、プレイヤオブジェクト81は、ヨー方向に関してカメラ82がプレイヤオブジェクト81の正面方向を向くようにカメラ82を持ち上げた体勢をとる(図23に示す表の左欄下段を参照)。また、ピッチ方向およびロール方向に関してカメラ82が端末装置7の姿勢に応じた姿勢となるように、プレイヤオブジェクト81の体勢が制御される。
【0218】
一方、基準状態におけるカメラ82の姿勢が設定された後においては、基準状態におけるカメラ82の姿勢から、端末装置7の姿勢の変化方向に応じた方向に、変化量に応じた量だけカメラ82の姿勢が変化するように、プレイヤオブジェクト81の体勢が制御される。例えば、図23に示すように、上記基準状態から右方向へ端末装置7を回転させた場合には、プレイヤオブジェクト81は、端末装置7の姿勢に応じてカメラ82を基準状態から右方向に向けた体勢をとる。なお、本実施形態では、端末装置7が鉛直状態である場合には、プレイヤオブジェクト81は足(下半身)の向きを変えず、上半身の向きだけを変化させることで体勢を変える。
【0219】
ステップS20の具体的な処理としては、CPU10は、端末姿勢データ98をメインメモリから読み出し、端末装置7の姿勢に基づいてプレイヤオブジェクト81の体勢(カメラ82の姿勢)を算出する。そして、算出された体勢を表すようにプレイヤデータ100の内容を更新する。ステップS20の処理に次にステップS21の処理が実行される。
【0220】
ステップS21において、CPU10は、射撃操作が行われたか否かを判定する。射撃操作は、プレイヤオブジェクト81に射撃動作を行わせるための操作であり、例えば所定のボタン(ここでは第1Rボタン54J)を押下する操作である。具体的には、CPU10は、ステップS2で取得した操作ボタンデータ95を参照することによって、上記所定のボタンが押下されたか否かを判定する。ステップS21の判定結果が肯定である場合、ステップS22の処理が実行される。一方、ステップS21の判定結果が否定である場合、ステップS22の処理がスキップされてステップS23の処理が実行される。
【0221】
ステップS22において、CPU10は、プレイヤオブジェクト81に射撃動作を行わせる。具体的には、プレイヤオブジェクト81の位置(例えばカメラ82の位置)から主観仮想カメラの視線方向に向かって弾やビームを発射する動作をプレイヤオブジェクト81に行わせる。これによって、プレイヤオブジェクト81は照準画像86が指し示す位置に向かって射撃動作を行うことになる。ステップS22の次にステップS23の処理が実行される。
【0222】
以上のように、本実施形態では、CPU10は、端末装置7の姿勢が鉛直状態となる場合、端末装置7の姿勢が水平状態となる場合には実行不可能であるゲーム処理(ステップS22における射撃処理)を、端末装置7に対する操作に応じて実行する。これによって、特定のゲーム操作を行うためにプレイヤは端末装置7を鉛直状態にする必要が生じるので、端末装置7の姿勢を変更する動機付けをプレイヤに与えることができる。すなわち、端末装置7の姿勢を変化させることで端末用ゲーム画像をゲーム中に動的に切り替えて遊ぶという新規なゲーム操作を提供することができる。
【0223】
ステップS23において、CPU10は、その他のゲーム進行処理を行う。その他のゲーム進行処理とは、上記ステップS11〜S22の処理以外にステップS3のゲーム制御処理において実行される処理である。上記その他のゲーム進行処理には、例えば、敵オブジェクト85の動作を制御する処理や、射撃動作による弾やビームが敵オブジェクト85に当たったか否かを判定する処理等が含まれる。上記の処理の他、ステップS23においてはゲームの進行に必要な処理が適宜実行される。上記ステップS23の後、CPU10はゲーム制御処理を終了する。
【0224】
図17の説明に戻り、ステップS3のゲーム制御処理の次にステップS4の処理が実行される。ステップS4においては、テレビ2に表示するためのテレビ用ゲーム画像が上記ゲーム制御処理に基づいてCPU10およびGPU11bによって生成される。すなわち、CPU10およびGPU11bは、ステップS3のゲーム制御処理の結果を表すデータをメインメモリから読み出し、また、ゲーム画像を生成するために必要なデータをVRAM11dから読み出し、テレビ用ゲーム画像を生成する。本実施形態では、プレイヤオブジェクト81が表示範囲に含まれるように設定される客観仮想カメラを用いて、ゲーム空間を表す画像が生成される。このとき、敵オブジェクト85を非表示としてテレビ用ゲーム画像は生成される。生成されたテレビ用ゲーム画像はVRAM11dに記憶される。上記ステップS4の次にステップS5の処理が実行される。
【0225】
ステップS5においては、端末用ゲーム画像の生成処理が実行される。端末用ゲーム画像の生成処理においては、端末装置7の姿勢に応じてゲーム画像が切り替わるように、ゲーム処理に基づいて端末用ゲーム画像が生成される。以下、図24を参照して、端末用ゲーム画像の生成処理の詳細について説明する。
【0226】
図24は、図17に示す端末用ゲーム画像の生成処理(ステップS5)の詳細な流れを示すフローチャートである。端末用ゲーム画像の生成処理においては、まずステップS51において、CPU10は、端末装置7が水平状態であるか否かを判定する。ステップS51の判定処理は上記ステップS42の判定処理と同様である。ステップS51の判定結果が肯定である場合、すなわち、端末装置7が水平状態である場合、ステップS52の処理が実行される。一方、ステップS51の判定結果が否定である場合、すなわち、端末装置7が鉛直状態である場合、ステップS54の処理が実行される。
【0227】
ステップS52において、CPU10は、敵オブジェクト85を非表示に設定する。具体的には、CPU10は、敵オブジェクト85を表示するか非表示にするかを示すフラグを、非表示を表すフラグ値に設定し、当該フラグ値を表すフラグデータをメインメモリに記憶する。ステップS52の次にステップS53の処理が実行される。
【0228】
ステップS53において、CPU10およびGPU11bは、上方仮想カメラを用いてマップ画像を生成する。すなわち、CPU10およびGPU11bは、ステップS3のゲーム制御処理の結果を表すデータ(上記フラグデータを含む)をメインメモリから読み出し、また、ゲーム画像を生成するために必要なデータをVRAM11dから読み出し、端末用ゲーム画像を生成する。ここで、ステップS53では、上記の上方仮想カメラを用いて端末用ゲーム画像が生成される。したがって、ステップS53では、ゲーム空間を上方から見た様子を表す画像(マップ画像)が生成される。また、上記フラグデータが非表示を表すので、ステップS53では、敵オブジェクト85および影83を非表示として端末用ゲーム画像は生成される。以上のようにして生成された端末用ゲーム画像はVRAM11dに記憶される。上記ステップS53の後、CPU10は端末用ゲーム画像の生成処理を終了する。
【0229】
一方、ステップS54において、CPU10は、敵オブジェクト85を表示可能に設定する。具体的には、CPU10は、敵オブジェクト85を表示するか非表示にするかを示すフラグを、表示可能を表すフラグ値に設定し、当該フラグ値を表すフラグデータをメインメモリに記憶する。ステップS54の次にステップS55の処理が実行される。
【0230】
ステップS55において、CPU10およびGPU11bは、主観仮想カメラを用いてマップ画像を生成する。すなわち、CPU10およびGPU11bは、ステップS3のゲーム制御処理の結果を表すデータ(上記フラグデータを含む)をメインメモリから読み出し、また、ゲーム画像を生成するために必要なデータをVRAM11dから読み出し、端末用ゲーム画像を生成する。
【0231】
ここで、ステップS55では、プレイヤオブジェクトから見た視点となる位置に設定される主観仮想カメラを用いて端末用ゲーム画像が生成される。したがって、ステップS55では、端末用ゲーム画像は、いわゆる主観視点でゲーム空間を表す画像となる。このように、端末用ゲーム画像は、ゲーム空間を表す画像であってテレビ用ゲーム画像(客観視点のゲーム画像)とは異なる画像となる。また、上記フラグデータが表示可能を表すので、ステップS55では、敵オブジェクト85および影83を表示可能として端末用ゲーム画像が生成される。つまり、端末装置7の姿勢が鉛直状態となる場合には、敵オブジェクト85に関してテレビ用ゲーム画像とは異なる表示態様となるように端末用ゲーム画像が生成される。また、端末用ゲーム画像の中央には上述の照準画像86(図15参照)が追加される。以上のようにして生成された端末用ゲーム画像はVRAM11dに記憶される。上記ステップS55の後、CPU10は端末用ゲーム画像の生成処理を終了する。
【0232】
上記ステップS55のように、本実施形態においては、2つの表示装置における所定のオブジェクト(敵オブジェクト85)の表示態様を異ならせるようにした。これによって、端末装置7の姿勢を変更して端末装置7の画面を見る動機付けをプレイヤに与えることができる。すなわち、本実施形態によれば、端末装置7の姿勢を変化させることで端末用ゲーム画像をゲーム中に動的に切り替えて遊ぶという新規なゲーム操作をプレイヤに行わせることができる。
【0233】
なお、本実施形態においては、テレビ2では敵オブジェクト85を表示せず、端末装置7では敵オブジェクト85を表示することによって、2つの表示装置における敵オブジェクト85の表示態様を異ならせるようにした。ここで、他の実施形態においては、他の方法によって敵オブジェクト85の表示態様を異ならせるようにしてもよい。例えば、他の実施形態においては、敵オブジェクト85の色や形状をテレビ2と端末装置7とで異ならせるようにしてもよい。具体的には、複数人でプレイするゲームにおいて、端末装置7では敵オブジェクト85を本来の姿で表示させ、テレビ2では敵オブジェクト85を他のプレイヤオブジェクト(味方のオブジェクト)の姿で表示させるようにしてもよい。これによれば、端末装置7を鉛直状態にすることによって敵オブジェクト85の正体を見破ることができるという、興趣性の高いゲームを提供することができる。
【0234】
なお、上記ステップS55においては、ゲーム上の演出等の目的で、白黒のゲーム画像が生成されてもよい。また、プレイヤが詳細な精度で射撃操作を行うことができるように、例えばプレイヤによるゲーム操作に応じて端末用ゲーム画像が拡大・縮小されるようにしてもよい。
【0235】
図17の説明に戻り、ステップS6において、CPU10は、テレビ2へゲーム画像を出力する。具体的には、CPU10は、VRAM11dに記憶されたテレビ用ゲーム画像のデータをAV−IC15へ送る。これに応じて、AV−IC15はテレビ用ゲーム画像のデータをAVコネクタ16を介してテレビ2へ出力する。これによって、テレビ用ゲーム画像がテレビ2に表示される。また、ステップS6においては、ゲーム画像のデータと共にゲーム音声のデータがテレビ2へ出力され、テレビ2のスピーカ2aからゲーム音声が出力されてもよい。ステップS6の次にステップS7の処理が実行される。
【0236】
ステップS7において、CPU10は、端末装置7へゲーム画像を送信する。具体的には、VRAM11dに記憶された端末用ゲーム画像の画像データは、CPU10によってコーデックLSI27に送られ、コーデックLSI27によって所定の圧縮処理が行われる。圧縮処理が施された画像のデータは、端末通信モジュール28によってアンテナ29を介して端末装置7へ送信される。端末装置7は、ゲーム装置3から送信されてくる画像のデータを無線モジュール70によって受信し、受信された画像データに対してコーデックLSI66によって所定の伸張処理が行われる。伸張処理が行われた画像データはLCD51に出力される。これによって、端末用ゲーム画像がLCD51に表示される。また、ステップS7においては、ゲーム画像のデータと共にゲーム音声のデータが端末装置7へ送信され、端末装置7のスピーカ67からゲーム音声が出力されてもよい。ステップS7の次にステップS8の処理が実行される。
【0237】
ステップS8において、CPU10は、ゲームを終了するか否かを判定する。ステップS8の判定は、例えば、ゲームオーバーになった(プレイヤオブジェクト81が敵オブジェクト85に捕まった)か否か、あるいは、プレイヤがゲームを中止する指示を行ったか否か等によって行われる。ステップS8の判定結果が否定の場合、ステップS2の処理が再度実行される。一方、ステップS8の判定結果が肯定の場合、CPU10は図17に示すゲーム処理を終了する。以降、ステップS2〜S8の一連の処理は、ステップS8でゲームを終了すると判定されるまで繰り返し実行される。
【0238】
以上に説明したゲーム処理によれば、端末装置7に対する操作に基づいて2つの表示装置(テレビ2および端末装置7)に表示されるゲーム画像が生成される(ステップS2〜S5)。したがって、プレイヤは、各ゲーム画像に対する操作を1つの操作装置(端末装置7)で行うことができる。すなわち、プレイヤは、複数の操作装置を持ち替えるといった煩雑な動作を行うことなく、2つの表示装置に表示される各ゲーム画像に対するゲーム操作を容易に行うことができる。
【0239】
また、上記ゲーム処理によれば、端末装置7に表示される端末用ゲーム画像は、端末装置7の姿勢に応じて切り替えられる。これによれば、プレイヤは、端末装置7を用いたゲーム操作中に端末装置7の姿勢を変化させることで端末用ゲーム画像を動的に切り替えることができる。これによって、プレイヤは、2つの表示装置を有効に活用してゲームを行うことができる。また、プレイヤは、端末用ゲーム画像を動的に切り替え、それに応じてテレビ2の画面と端末装置7の画面とのうちで見る対象を動的に切り替えるという、今までにない方法でゲームを行うことができる。
【0240】
[7.変形例]
上記実施形態は本発明を実施する一例であり、他の実施形態においては例えば以下に説明する構成で本発明を実施することも可能である。
【0241】
(端末用ゲーム画像の切り替えに関する変形例)
上記実施形態においては、ゲーム装置3は、端末装置7の姿勢に応じて端末用ゲーム画像を切り替えるようにした。ここで、他の実施形態においては、端末用ゲーム画像は必ずしも切り替えられる必要はない。例えば、他の実施形態においては、常に主観視点のゲーム画像が端末装置7に表示されるようにしてもよい。また、他の実施形態においては、端末装置7が水平状態となる場合には端末装置7に何も表示しないようにしてもよい。
【0242】
なお、端末用ゲーム画像の切り替えが行われない構成とする場合であっても、端末装置7の姿勢が鉛直状態となる場合に、端末用ゲーム画像によって表されるゲーム空間に対する操作に応じて、端末装置7の姿勢が水平状態である場合には不可能であるゲーム処理が実行される構成を採ることで、次のような効果を得ることができる。すなわち、上記の構成によれば、プレイヤは、端末装置7を水平状態にして、テレビ2を主に見てゲームを行う操作方法と、端末装置7を鉛直状態にして、端末装置7を主に見てゲームを行う操作方法とを行うことができ、これら2種類の操作方法を端末装置7の姿勢を変化させることで容易に切り替えることができる。したがって、2つの表示装置の画面のうちで見る対象となる画面をゲーム中に動的に切り替えながら2種類の操作方法によってゲームを行うという、新規なゲーム操作をプレイヤに行わせることができ、より興趣性の高いゲームを提供することができる。
【0243】
(2つの表示装置に表示するゲーム画像に関する変形例)
上記実施形態においては、ゲーム装置3は、テレビ用ゲーム画像と端末用ゲーム画像とで異なる画像を生成したが、他の実施形態においては、端末装置7が所定の状態となる場合(水平状態と鉛直状態のいずれか一方の場合)には、テレビ用ゲーム画像と端末用ゲーム画像とが同じであってもよい。例えば、上記実施形態において、端末装置7が鉛直状態となる場合には、テレビ2と端末装置7とに同じ主観視点(または客観視点)のゲーム画像が表示されるようにしてもよい。なお、テレビ用ゲーム画像と端末用ゲーム画像とで同じ仮想カメラを用いて画像を生成する場合には、画像の生成処理の効率化を図るべく、テレビ用ゲーム画像を用いて端末用ゲーム画像が生成されてもよい。すなわち、CPU10およびGPU11bは、敵オブジェクト85を描画しない状態の画像をテレビ用ゲーム画像として用いるとともに、当該画像に敵オブジェクト85を追加した画像を端末用ゲーム画像として用いるようにしてもよい。
【0244】
(ゲーム画像を切り替えるための端末装置の姿勢操作に関する変形例)
上記実施形態においては、端末装置7の姿勢を水平状態と鉛直状態との間で変更することによって、端末用ゲーム画像の切り替えが行われた。ここで、他の実施形態においては、端末用ゲーム画像の切り替えは他の方法によって行われてもよい。例えば、端末装置7を横持ちにした姿勢(図8に示すy軸が鉛直方向を向く姿勢)と、端末装置7を縦持ちにした姿勢(図8に示すx軸が鉛直方向を向く姿勢)とで、端末用ゲーム画像の切り替えが行われてもよい。なお、縦長のゲーム画像と横長のゲーム画像とを端末装置7に表示する場合には、端末装置7を横持ちにした姿勢となる場合に横長のゲーム画像が表示され、端末装置7を縦持ちにした姿勢となる場合に縦長のゲーム画像が表示されるとよい。
【0245】
(操作の切り替えに関する変形例)
上記実施形態においては、端末装置7の姿勢に応じて、ゲーム空間における所定のオブジェクト(プレイヤオブジェクト81)に対する操作方法が変更された。ここで、他の実施形態においては、ゲーム装置3は、端末装置7の姿勢に応じて操作方法を変更しなくてもよい。また、他の実施形態においては、ゲーム装置3は、端末装置7に対する操作と、当該操作に応じて実行されるゲーム処理との割り当てを端末装置7の姿勢に応じて変更するようにしてもよい。例えば、他の実施形態においては、端末装置7が水平状態となる場合には、アナログスティック53に対する方向入力に応じてマップ画像上のカーソルを移動するゲーム処理が実行され、端末装置7が鉛直状態となる場合には、アナログスティック53に対する方向入力に応じてゲーム空間におけるプレイヤオブジェクト81を移動するゲーム処理が実行されるようにしてもよい。
【0246】
また、上記実施形態においては、端末装置7の取り得る状態を2種類(水平状態または鉛直状態)とし、当該2種類の状態に応じて端末用ゲーム画像が切り替えられた。ここで、他の実施形態においては、端末装置7の取り得る状態を3種類以上とし、3種類以上の状態に応じて端末用ゲーム画像が切り替えられてもよい。
【0247】
(ゲーム内容に関する変形例)
上記実施形態においては、プレイヤオブジェクト81が敵オブジェクト85を退治するゲームを例として説明したが、他の実施形態においては、ゲームの内容はどのようなものであってもよい。
例えば、ゲームシステム1を用いた他のゲーム例としては、物陰に隠れつつ敵を射撃するゲームが考えられる。このゲームにおいては、端末装置7を水平状態とした場合には、端末装置7にはアイテム画面が表示され、プレイヤオブジェクトが物陰に隠れる。一方、端末装置7を鉛直状態とした場合には、主観視点等でゲーム空間を表す画像が端末装置7には表示され、プレイヤオブジェクトは物陰から出て射撃動作を行う。なお、テレビ2には例えば客観視点でゲーム空間を表す画像が表示されてもよい。上記のようなゲームにおいても、本発明を適用することが可能である。
【0248】
(ゲームシステムの構成に関する変形例)
上記実施形態においては、ゲームシステム1は、操作装置として機能する端末装置7と、コントローラ5と、ゲーム処理を実行するゲーム装置3とを含む構成であった。ここで、ゲームシステムは、操作装置(端末装置7)と、操作装置に対する操作に基づいてゲーム処理を実行するゲーム装置とを含む構成であればよい。例えば、他の実施形態においては、ゲームシステム1はコントローラ5を含まない構成であってもよい。また、ゲームシステム1はコントローラ5を含む場合には、端末装置7を用いるプレイヤと、コントローラ5を用いるプレイヤとによって複数人でゲームが行われてもよい。このとき、複数の端末装置7が用いられてもよいし、複数のコントローラ5が用いられてもよい。
【0249】
(ゲーム処理を実行する情報処理装置に関する変形例)
上記実施形態においては、ゲームシステム1において実行される一連のゲーム処理をゲーム装置3が実行したが、ゲーム処理の一部は他の装置によって実行されてもよい。例えば、他の実施形態においては、ゲーム処理の一部(例えば、端末用ゲーム画像の生成処理)を端末装置7が実行するようにしてもよい。また、他の実施形態では、互いに通信可能な複数の情報処理装置を有するゲームシステムにおいて、当該複数の情報処理装置がゲーム処理を分担して実行するようにしてもよい。なお、複数の情報処理装置においてゲーム処理が実行される場合には、各情報処理装置で実行されるゲーム処理を同期させる必要があり、ゲーム処理が複雑になってしまう。これに対して、本実施形態のように、ゲーム処理が1つのゲーム装置によって実行され、端末装置7はゲーム画像を受信して表示する処理を行う場合には、複数の情報処理装置間でゲーム処理の同期をとる必要がなく、ゲーム処理を簡易化することができる。
【産業上の利用可能性】
【0250】
本発明は、2つの表示装置に表示される各ゲーム画像に対するゲーム操作を容易に行うこと等を目的として、例えばゲームシステムやゲーム装置やゲームプログラム等に利用することが可能である。
【符号の説明】
【0251】
1 ゲームシステム
2 テレビ
3 ゲーム装置
4 光ディスク
5 コントローラ
7 端末装置
10 CPU
11e 内部メインメモリ
12 外部メインメモリ
51 LCD
53 アナログスティック
54 操作ボタン
63 加速度センサ
64 ジャイロセンサ
70 無線モジュール
81 プレイヤオブジェクト
85 敵オブジェクト
90 ゲームプログラム
91 端末操作データ
98 端末姿勢データ
99 端末状態データ
100 プレイヤデータ
101 客観カメラデータ
102 主観カメラデータ
103 上方カメラデータ
104 第1閾値データ
105 第2閾値データ

【特許請求の範囲】
【請求項1】
ゲーム装置と、当該ゲーム装置と通信可能な操作装置とを含み、
前記ゲーム装置は、
前記操作装置に対する操作を表す操作データを取得する操作データ取得部と、
前記操作データに基づいてゲーム処理を行うゲーム処理部と、
前記ゲーム処理に基づいて第1ゲーム画像を生成する第1ゲーム画像生成部と、
前記ゲーム処理に基づいて第2ゲーム画像を生成する第2ゲーム画像生成部と、
前記操作装置とは別体の所定の表示装置へ前記第1ゲーム画像を出力する第1画像出力部と、
前記第2ゲーム画像を前記操作装置へ無線送信する第2画像出力部とを備え、
前記操作装置は、
前記第2ゲーム画像を受信する第2ゲーム画像取得部と、
前記第2ゲーム画像を表示する表示部と、
慣性センサと、
前記慣性センサから出力されるデータを含めて前記操作データを前記ゲーム装置へ送信する操作データ送信部とを備え、
前記ゲーム装置は、前記慣性センサから出力されるデータに基づいて前記操作装置の姿勢を算出する姿勢算出部を備え、
前記第2ゲーム画像生成部は、前記操作装置の姿勢が所定の第1状態となるか、当該第1状態とは異なる第2状態となるかに応じて前記第2ゲーム画像を切り替える、ゲームシステム。
【請求項2】
前記ゲーム処理部は、前記表示部の画面が所定の基準よりも鉛直に近い姿勢となった場合に前記第1状態であると判定し、前記表示部の画面が所定の基準よりも水平に近い姿勢となった場合に前記第2状態であると判定する判定部を有する、請求項1に記載のゲームシステム。
【請求項3】
前記判定部は、前記操作装置が前記第1状態であると判定された場合、前記所定の基準を表す閾値を、前記表示部の画面がより水平に近い姿勢を表す値に変更し、前記操作装置が前記第2状態であると判定された場合、前記所定の基準を表す閾値を、前記表示部の画面がより鉛直に近い姿勢を表す値に変更する、請求項2に記載のゲームシステム。
【請求項4】
前記第1画像生成部は、ゲーム空間を表す第1ゲーム画像を生成し、
前記第2画像生成部は、前記操作装置の姿勢が前記第1状態となる場合、前記ゲーム空間を表す画像であって前記第1ゲーム画像とは異なる画像を生成し、前記操作装置の姿勢が前記第2状態となる場合、当該第1状態とは異なる画像を生成する、請求項1から請求項3のいずれか1項に記載のゲームシステム。
【請求項5】
前記ゲーム処理部は、前記ゲーム空間に配置されるプレイヤオブジェクトを前記操作データに基づいて制御するオブジェクト制御部を有し、
前記第1画像生成部は、前記プレイヤオブジェクトが表示範囲に含まれるように設定される第1仮想カメラを用いて、前記ゲーム空間を表す第1ゲーム画像を生成し、
前記第2画像生成部は、前記操作装置の姿勢が前記第1状態となる場合、前記プレイヤオブジェクトから見た視点となる位置に設定される第2仮想カメラを用いて、前記ゲーム空間を表す第2ゲーム画像を生成する、請求項4に記載のゲームシステム。
【請求項6】
前記第2画像生成部は、前記操作装置の姿勢が前記第1状態となる場合、前記ゲーム空間に配置される所定のオブジェクトに関して前記第1ゲーム画像とは異なる表示態様となるように第2ゲーム画像を生成する、請求項4または請求項5に記載のゲームシステム。
【請求項7】
前記第1ゲーム画像生成部は、前記所定のオブジェクトを非表示として前記ゲーム空間を表す第1ゲーム画像を生成し、
前記第2画像生成部は、前記操作装置の姿勢が前記第1状態となる場合、前記所定のオブジェクトを表示可能として第2ゲーム画像を生成する、請求項6に記載のゲームシステム。
【請求項8】
前記第2画像生成部は、前記操作装置の姿勢が前記第1状態となる場合、当該操作装置の姿勢に応じた姿勢となる第2仮想カメラを用いて第2ゲーム画像を生成する、請求項4から請求項7のいずれか1項に記載のゲームシステム。
【請求項9】
前記第2画像生成部は、前記操作装置の姿勢が前記第2状態となる場合、前記ゲーム空間を上方から見た様子を表す画像を生成する、請求項4から請求項8のいずれか1項に記載のゲームシステム。
【請求項10】
前記ゲーム処理部は、前記操作装置の姿勢が前記第1状態となる場合と前記第2状態となる場合とで、ゲーム空間における所定のオブジェクトに対する操作方法を変更する、請求項1から請求項9のいずれか1項に記載のゲームシステム。
【請求項11】
前記ゲーム処理部は、前記操作装置の姿勢が前記第1状態となる場合、前記操作装置の姿勢が前記第2状態となる場合には実行不可能である所定のゲーム処理を、前記操作装置に対する操作に応じて実行する、請求項10に記載のゲームシステム。
【請求項12】
ゲーム装置と、当該ゲーム装置と通信可能な操作装置とを含むゲームシステムであって、
前記操作装置に対する操作を表す操作データを取得する操作データ取得部と、
前記操作装置の姿勢を算出する姿勢算出部と、
前記操作データに基づいてゲーム処理を行うゲーム処理部と、
前記ゲーム処理に基づいて第1ゲーム画像を生成する第1ゲーム画像生成部と、
前記操作装置の姿勢に応じて前記第2ゲーム画像が切り替わるように、前記ゲーム処理に基づいて第2ゲーム画像を生成する第2ゲーム画像生成部と、
前記操作装置とは別体の所定の表示装置に前記第1ゲーム画像を表示させる第1表示制御部と、
前記操作装置が有する表示部に前記第2ゲーム画像を表示させる第2表示制御部とを備える、ゲームシステム。
【請求項13】
ゲーム装置と、当該ゲーム装置と通信可能な操作装置とを含むゲームシステムであって、
前記操作装置に対する操作を表す操作データを取得する操作データ取得部と、
前記操作装置の姿勢を算出する姿勢算出部と、
前記操作データに基づいてゲーム処理を実行するゲーム処理部と、
前記ゲーム処理に基づいて、仮想のゲーム空間を表す第1ゲーム画像を生成する第1ゲーム画像生成部と、
前記ゲーム処理に基づいて第2ゲーム画像を生成する第2ゲーム画像生成部と、
前記操作装置とは別体の所定の表示装置に前記第1ゲーム画像を表示させる第1表示制御部と、
前記操作装置が有する表示部に前記第2ゲーム画像を表示させる第2表示制御部とを備え、
前記第2ゲーム画像生成部は、少なくとも前記操作装置の姿勢が所定の第1状態となる場合に、前記ゲーム空間を表す第2ゲーム画像を生成し、
前記ゲーム処理部は、前記操作装置の姿勢が前記第1状態となる場合に、前記第2ゲーム画像によって表されるゲーム空間に対する操作に応じて、前記操作装置の姿勢が当該第1状態とは異なる所定の第2状態となる場合には不可能である所定のゲーム処理を実行する、ゲームシステム。
【請求項14】
ゲーム装置と、当該ゲーム装置と通信可能な操作装置とを含むゲームシステムにおいて実行されるゲーム処理方法であって、
前記操作装置は、
当該操作装置が備える慣性センサから出力されるデータを含み、当該操作装置に対する操作を表す操作データを前記ゲーム装置へ送信する操作データ送信ステップを実行し、
前記ゲーム装置は、
前記操作データを取得する操作データ取得ステップと、
前記操作データに基づいてゲーム処理を行うゲーム処理ステップと、
前記慣性センサから出力されるデータに基づいて前記操作装置の姿勢を算出する姿勢算出ステップと、
前記ゲーム処理に基づいて第1ゲーム画像を生成する第1ゲーム画像生成ステップと、
前記操作装置の姿勢が所定の第1状態となるか、当該第1状態とは異なる第2状態となるかに応じてゲーム画像が切り替わるように、前記ゲーム処理に基づいて第2ゲーム画像を生成する第2ゲーム画像生成ステップと、
前記操作装置とは別体の所定の表示装置へ前記第1ゲーム画像を出力する第1画像出力ステップと、
前記第2ゲーム画像を前記操作装置へ無線送信する第2画像出力ステップとを実行し、
前記操作装置は、
前記第2ゲーム画像を受信する第2ゲーム画像取得ステップと、
前記第2ゲーム画像を表示部に表示する表示ステップとを実行する、ゲーム処理方法。
【請求項15】
前記ゲーム処理ステップは、前記表示部の画面が所定の基準よりも鉛直に近い姿勢となった場合に前記第1状態であると判定し、前記表示部の画面が所定の基準よりも水平に近い姿勢となった場合に前記第2状態であると判定する判定ステップを含む、請求項14に記載のゲーム処理方法。
【請求項16】
前記判定ステップにおいて、前記ゲーム装置は、前記操作装置が前記第1状態であると判定された場合、前記所定の基準を表す閾値を、前記表示部の画面がより水平に近い姿勢を表す値に変更し、前記操作装置が前記第2状態であると判定された場合、前記所定の基準を表す閾値を、前記表示部の画面がより鉛直に近い姿勢を表す値に変更する、請求項15に記載のゲーム処理方法。
【請求項17】
前記第1画像生成ステップにおいて、前記ゲーム装置は、ゲーム空間を表す第1ゲーム画像を生成し、
前記第2画像生成ステップにおいて、前記ゲーム装置は、前記操作装置の姿勢が所定の第1状態となる場合、前記ゲーム空間を表す画像であって前記第1ゲーム画像とは異なる画像を生成し、前記操作装置の姿勢が前記第2状態となる場合、当該第1状態とは異なる画像を生成する、請求項14から請求項16のいずれか1項に記載のゲーム処理方法。
【請求項18】
前記ゲーム処理ステップは、前記ゲーム空間に配置されるプレイヤオブジェクトを前記操作データに基づいて制御するオブジェクト制御ステップを含み、
前記第1画像生成ステップにおいて、前記ゲーム装置は、前記プレイヤオブジェクトが表示範囲に含まれるように設定される第1仮想カメラを用いて、前記ゲーム空間を表す第1ゲーム画像を生成し、
前記第2画像生成ステップにおいて、前記ゲーム装置は、前記操作装置の姿勢が前記第1状態となる場合、前記プレイヤオブジェクトから見た視点となる位置に設定される第2仮想カメラを用いて、前記ゲーム空間を表す第2ゲーム画像を生成する、請求項17に記載のゲーム処理方法。
【請求項19】
前記第2画像生成ステップにおいて、前記ゲーム装置は、前記操作装置の姿勢が前記第1状態となる場合、前記ゲーム空間に配置される所定のオブジェクトに関して前記第1ゲーム画像とは異なる表示態様となるように第2ゲーム画像を生成する、請求項17または請求項18に記載のゲーム処理方法。
【請求項20】
前記第1ゲーム画像生成ステップにおいて、前記ゲーム装置は、前記所定のオブジェクトを非表示として前記ゲーム空間を表す第1ゲーム画像を生成し、
前記第2画像生成ステップにおいて、前記ゲーム装置は、前記操作装置の姿勢が前記第1状態となる場合、前記所定のオブジェクトを表示可能として第2ゲーム画像を生成する、請求項19に記載のゲーム処理方法。
【請求項21】
前記第2画像生成ステップにおいて、前記ゲーム装置は、前記操作装置の姿勢が前記第1状態となる場合、当該操作装置の姿勢に応じた姿勢となる第2仮想カメラを用いて第2ゲーム画像を生成する、請求項17から請求項20のいずれか1項に記載のゲーム処理方法。
【請求項22】
前記第2画像生成ステップにおいて、前記ゲーム装置は、前記操作装置の姿勢が前記第2状態となる場合、前記ゲーム空間を上方から見た様子を表す画像を生成する、請求項17から請求項21のいずれか1項に記載のゲーム処理方法。
【請求項23】
前記ゲーム処理ステップにおいて、前記ゲーム装置は、前記操作装置の姿勢が前記第1状態となる場合と前記第2状態となる場合とで、ゲーム空間における所定のオブジェクトに対する操作方法を変更する、請求項17から請求項22のいずれか1項に記載のゲーム処理方法。
【請求項24】
前記ゲーム処理ステップにおいて、前記ゲーム装置は、前記操作装置の姿勢が前記第1状態となる場合、前記操作装置の姿勢が前記第2状態となる場合には実行不可能である所定のゲーム処理を、前記操作装置に対する操作に応じて実行する、請求項23に記載のゲーム処理方法。
【請求項25】
表示部を有する操作装置と通信可能なゲーム装置において実行されるゲーム処理方法であって、
前記操作装置に対する操作を表す操作データを取得する操作データ取得ステップと、
前記操作装置の姿勢を算出する姿勢算出ステップと、
前記操作データに基づいてゲーム処理を行うゲーム処理ステップと、
前記ゲーム処理に基づいて第1ゲーム画像を生成する第1ゲーム画像生成ステップと、
前記操作装置の姿勢に応じてゲーム画像が切り替わるように、前記ゲーム処理に基づいて第2ゲーム画像を生成する第2ゲーム画像生成ステップと、
前記操作装置とは別体の所定の表示装置に前記第1ゲーム画像を表示させる第1表示制御ステップと、
前記表示部に前記第2ゲーム画像を表示させる第2表示制御ステップとを含む、ゲーム処理方法。
【請求項26】
表示部を有する操作装置と通信可能なゲーム装置において実行されるゲーム処理方法であって、
前記操作装置に対する操作を表す操作データを取得する操作データ取得ステップと、
前記操作装置の姿勢を算出する姿勢算出ステップと、
前記操作データに基づいてゲーム処理を実行するゲーム処理ステップと、
前記ゲーム処理に基づいて、仮想のゲーム空間を表す第1ゲーム画像を生成する第1ゲーム画像生成ステップと、
前記ゲーム処理に基づいて第2ゲーム画像を生成する第2ゲーム画像生成ステップと、
前記操作装置とは別体の所定の表示装置に前記第1ゲーム画像を表示させる第1表示制御ステップと、
前記表示部に前記第2ゲーム画像を表示させる第2表示制御ステップとを含み、
前記第2ゲーム画像生成ステップにおいて、前記ゲーム装置は、少なくとも前記操作装置の姿勢が所定の第1状態となる場合に、前記ゲーム空間を表す第2ゲーム画像を生成し、
前記ゲーム処理ステップにおいて、前記ゲーム装置は、前記操作装置の姿勢が前記第1状態となる場合に、前記第2ゲーム画像によって表されるゲーム空間に対する操作に応じて、前記操作装置の姿勢が当該第1状態とは異なる所定の第2状態となる場合には不可能である所定のゲーム処理を実行する、ゲーム処理方法。
【請求項27】
表示部を有する操作装置と通信可能なゲーム装置であって、
前記操作装置が備える慣性センサから出力されるデータを含み、前記操作装置に対する操作を表す操作データを取得する操作データ取得部と、
前記慣性センサから出力されるデータに基づいて前記操作装置の姿勢を算出する姿勢算出部と、
前記操作データに基づいてゲーム処理を行うゲーム処理部と、
前記ゲーム処理に基づいて第1ゲーム画像を生成する第1ゲーム画像生成部と、
前記操作装置の姿勢が所定の第1状態となるか、当該第1状態とは異なる第2状態となるかに応じてゲーム画像が切り替わるように、前記ゲーム処理に基づいて第2ゲーム画像を生成する第2ゲーム画像生成部と、
前記操作装置とは別体の所定の表示装置へ前記第1ゲーム画像を出力する第1画像出力部と、
前記表示部に表示させるために前記第2ゲーム画像を前記操作装置へ無線送信する第2画像出力部とを備える、ゲーム装置。
【請求項28】
表示部を有する操作装置と通信可能なゲーム装置であって、
前記操作装置に対する操作を表す操作データを取得する操作データ取得部と、
前記操作装置の姿勢を算出する姿勢算出部と、
前記操作データに基づいてゲーム処理を実行するゲーム処理部と、
前記ゲーム処理に基づいて、仮想のゲーム空間を表す第1ゲーム画像を生成する第1ゲーム画像生成部と、
前記ゲーム処理に基づいて第2ゲーム画像を生成する第2ゲーム画像生成部と、
前記操作装置とは別体の所定の表示装置に前記第1ゲーム画像を表示させる第1表示制御部と、
前記表示部に前記第2ゲーム画像を表示させる第2表示制御部とを備え、
前記第2ゲーム画像生成部は、少なくとも前記操作装置の姿勢が所定の第1状態となる場合に、前記ゲーム空間を表す第2ゲーム画像を生成し、
前記ゲーム処理部は、前記操作装置の姿勢が前記第1状態となる場合に、前記第2ゲーム画像によって表されるゲーム空間に対する操作に応じて、前記操作装置の姿勢が当該第1状態とは異なる所定の第2状態となる場合には不可能である所定のゲーム処理を実行する、ゲーム装置。
【請求項29】
表示部を有する操作装置と通信可能なゲーム装置のコンピュータにおいて実行されるゲームプログラムであって、
前記操作装置が備える慣性センサから出力されるデータを含み、前記操作装置に対する操作を表す操作データを取得する操作データ取得手段と、
前記慣性センサから出力されるデータに基づいて前記操作装置の姿勢を算出する姿勢算出手段と、
前記操作データに基づいてゲーム処理を行うゲーム処理手段と、
前記ゲーム処理に基づいて第1ゲーム画像を生成する第1ゲーム画像生成手段と、
前記操作装置の姿勢が所定の第1状態となるか、当該第1状態とは異なる第2状態となるかに応じてゲーム画像が切り替わるように、前記ゲーム処理に基づいて第2ゲーム画像を生成する第2ゲーム画像生成手段と、
前記操作装置とは別体の所定の表示装置へ前記第1ゲーム画像を出力する第1画像出力手段と、
前記表示部に表示させるために前記第2ゲーム画像を前記操作装置へ無線送信する第2画像出力手段として前記コンピュータを機能させる、ゲームプログラム。
【請求項30】
表示部を有する操作装置と通信可能なゲーム装置のコンピュータにおいて実行されるゲームプログラムであって、
前記操作装置に対する操作を表す操作データを取得する操作データ取得手段と、
前記操作装置の姿勢を算出する姿勢算出手段と、
前記操作データに基づいてゲーム処理を実行するゲーム処理手段と、
前記ゲーム処理に基づいて、仮想のゲーム空間を表す第1ゲーム画像を生成する第1ゲーム画像生成手段と、
前記ゲーム処理に基づいて第2ゲーム画像を生成する第2ゲーム画像生成手段と、
前記操作装置とは別体の所定の表示装置に前記第1ゲーム画像を表示させる第1表示制御手段と、
前記表示部に前記第2ゲーム画像を表示させる第2表示制御手段として前記コンピュータを機能させ、
前記第2ゲーム画像生成手段は、少なくとも前記操作装置の姿勢が所定の第1状態となる場合に、前記ゲーム空間を表す第2ゲーム画像を生成し、
前記ゲーム処理手段は、前記操作装置の姿勢が前記第1状態となる場合に、前記第2ゲーム画像によって表されるゲーム空間に対する操作に応じて、前記操作装置の姿勢が当該第1状態とは異なる所定の第2状態となる場合には不可能である所定のゲーム処理を実行する、ゲームプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2012−152318(P2012−152318A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−12788(P2011−12788)
【出願日】平成23年1月25日(2011.1.25)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】