(57)【特許請求の範囲】
【請求項１】
コントローラと、ゲーム装置と、を備えるゲームシステムであって、
（ａ）前記コントローラは、
所定の経路に沿って移動することが可能なように一端が固定されるレバー部、
前記レバー部が貫通する溝により、前記レバー部が当該所定の経路に沿って移動するようにガイドするガイド部、
前記レバー部の位置を検知して、当該検知された位置を「レバーの位置」として指定する状況情報を前記ゲーム装置に送信するセンサ部、
前記ゲーム装置から「レバーに与えるべき反発力」を指定する指令情報を受信して、当該「レバーに与えるべき反発力」に対応する力を、前記レバー部が当該所定の経路に沿って移動する方向の力として、前記レバー部に与える加力部
を備え、
（ｂ）前記ゲーム装置は、
当該コントローラと通信可能に接続される接続部、
ゲームの状況と、当該所定の経路内におけるレバーの位置と、に対応付けて、レバーに与えるべき反発力を指定する反発力情報があらかじめ記憶される記憶部、
前記接続部を介して当該コントローラから状況情報を受信する受信部、
現在のゲームの状況と、前記受信された状況情報に指定されるレバーの位置と、に対応付けられて前記あらかじめ記憶された反発力情報を取得して、当該反発力情報に指定される反発力をランダムに増減させたものをレバーに与えるべき反発力として指定する指令情報を生成する生成部、
前記生成部により生成された指令情報を、前記接続部を介して当該コントローラに送信する送信部
を備えることを特徴とするもの。
【請求項２】
『所定の経路に沿って移動することが可能なように一端が固定されるレバー部、前記レバー部が貫通する溝により、前記レバー部が当該所定の経路に沿って移動するようにガイドするガイド部、前記レバー部の位置を検知して、当該検知された位置を「レバーの位置」として指定する状況情報を前記ゲーム装置に送信するセンサ部、前記ゲーム装置から「レバーに与えるべき反発力」を指定する指令情報を受信して、当該「レバーに与えるべき反発力」に対応する力を、前記レバー部が当該所定の経路に沿って移動する方向の力として、前記レバー部に与える加力部を備えるコントローラ』と通信可能に接続されるゲーム装置であって、
当該コントローラと通信可能に接続される接続部、
ゲームの状況と、当該所定の経路内におけるレバーの位置と、に対応付けて、レバーに与えるべき反発力を指定する反発力情報があらかじめ記憶される記憶部、
前記接続部を介して当該コントローラから状況情報を受信する受信部、
現在のゲームの状況と、前記受信された状況情報に指定されるレバーの位置と、に対応付けられて前記あらかじめ記憶された反発力情報を取得して、当該反発力情報に指定される反発力をランダムに増減させたものをレバーに与えるべき反発力として指定する指令情報を生成する生成部、
前記生成部により生成された指令情報を、前記接続部を介して当該コントローラに送信する送信部
を備えることを特徴とするもの。
【請求項３】
請求項２に記載のゲーム装置であって、
前記記憶部には、ゲームの状況と、レバーの位置と、に対応付けて、駆動力を指定する駆動力情報があらかじめさらに記憶され、
現在のゲームの状況と、前記受信された状況情報に指定されるレバーの位置と、に対応付けられて前記あらかじめさらに記憶された駆動力情報に指定される駆動力から、仮想世界を運動するオブジェクトの加速度を計算する計算部、
前記計算された加速度によって当該仮想世界で当該オブジェクトを移動させ、当該移動した位置により、当該オブジェクトを画面に表示する表示部
をさらに備えることを特徴とするもの。
【請求項４】
請求項３に記載のゲーム装置であって、
前記表示部は、当該移動したオブジェクトの位置を視点とする当該仮想世界を画面に表示する
ことを特徴とするもの。
【請求項５】
請求項２に記載のゲーム装置であって、
前記記憶部には、ゲームの状況と、レバーの位置と、に対応付けて、音声情報があらかじめさらに記憶され、
現在のゲームの状況と、前記受信された状況情報に指定されるレバーの位置と、に対応付けられて前記あらかじめさらに記憶された音声情報を再生する音声部
をさらに備えることを特徴とするもの。
【請求項６】
『所定の経路に沿って移動することが可能なように一端が固定されるレバー部、前記レバー部が貫通する溝により、前記レバー部が当該所定の経路に沿って移動するようにガイドするガイド部、前記レバー部の位置を検知して、当該検知された位置を「レバーの位置」として指定する状況情報を前記ゲーム装置に送信するセンサ部、前記ゲーム装置から「レバーに与えるべき反発力」を指定する指令情報を受信して、当該「レバーに与えるべき反発力」に対応する力を、前記レバー部が当該所定の経路に沿って移動する方向の力として、前記レバー部に与える加力部を備えるコントローラ』と通信可能に接続され、接続部、記憶部、受信部、生成部、送信部を備えるゲーム装置において実行されるゲーム制御方法であって、
前記記憶部には、ゲームの状況と、当該所定の経路内におけるレバーの位置と、に対応付けて、レバーに与えるべき反発力を指定する反発力情報があらかじめ記憶され、
前記接続部は、当該コントローラと通信可能に接続され、
前記受信部が、前記接続部を介して当該コントローラから状況情報を受信する受信工程、
前記生成部が、現在のゲームの状況と、前記受信された状況情報に指定されるレバーの位置と、に対応付けられてあらかじめ記憶された反発力情報を取得して、当該反発力情報に指定される反発力をランダムに増減させたものをレバーに与えるべき反発力として指定する指令情報を生成する生成工程、
前記送信部が、前記生成された指令情報を、前記接続部を介して当該コントローラに送信する送信工程
を備えることを特徴とする方法。
【請求項７】
『所定の経路に沿って移動することが可能なように一端が固定されるレバー部、前記レバー部が貫通する溝により、前記レバー部が当該所定の経路に沿って移動するようにガイドするガイド部、前記レバー部の位置を検知して、当該検知された位置を「レバーの位置」として指定する状況情報を前記ゲーム装置に送信するセンサ部、前記ゲーム装置から「レバーに与えるべき反発力」を指定する指令情報を受信して、当該「レバーに与えるべき反発力」に対応する力を、前記レバー部が当該所定の経路に沿って移動する方向の力として、前記レバー部に与える加力部を備えるコントローラ』と通信可能に接続されるコンピュータを、
当該コントローラと通信可能に接続される接続部、
ゲームの状況と、当該所定の経路内におけるレバーの位置と、に対応付けて、レバーに与えるべき反発力を指定する反発力情報があらかじめ記憶される記憶部、
前記接続部を介して当該コントローラから状況情報を受信する受信部、
現在のゲームの状況と、前記受信された状況情報に指定されるレバーの位置と、に対応付けられて前記あらかじめ記憶された反発力情報を取得して、当該反発力情報に指定される反発力をランダムに増減させたものをレバーに与えるべき反発力として指定する指令情報を生成する生成部、
前記生成部により生成された指令情報を、前記接続部を介して当該コントローラに送信する送信部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、レバーの位置の情報を用い、レバーに対する反発力を制御するゲーム装置、ゲーム方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【０００２】
【従来の技術】
従来から、プレイヤーが自動車のドライバーとなって自動車を運転し、仮想的に設定された世界の中を自動車で移動し、他のプレイヤーやコンピュータが制御するプレイヤーと競争を楽しむレーシングゲームが提供されている。
【０００３】
このようなレーシングゲームでは、プレイヤーはハンドルの形状をしたコントローラを操作して自動車が走行する方向を決定し、アクセルやブレーキの形状をしたコントローラを操作して自動車の加速や減速の指示を出し、シフトレバーの形状をしたコントローラを操作して、自動車の仮想的なギヤ比を調整する。
【０００４】
このようなレーシングゲームにおいて、シフトレバーの形状をしたコントローラは、プレイヤーが棒状のシフトレバーを手で移動させると、これに連動するスイッチが切り替わったり、シフトレバーの位置を光センサなどで検知することによって、シフトレバーの位置を表す信号が出力される構成となっていた。たとえば、以下の文献にこのような技術が開示されている。
【特許文献１】
特許第３１６７９５８号公報
【０００５】
一方、現実の自動車においては、自動車の状態、たとえば、エンジンの回転数や出力、温度などによって、シフトレバーを移動させるときにドライバーが感じる力が変化する。すなわち、シフトレバーを操作して、エンジンの回転数と適合しないギア比に変更しようとしても、反発を受けてシフトレバーをその位置に変更することができないようになることが多い。また、このような場合には、種々の異音が生じたりする。一方、適合したギヤ比に変更しようとした場合には、シフトレバーはスムースに移動し、生じる音も小さいことが多い。このような、シフトレバーの手応えによって、ドライバーは自動車の状態を知得できる。
【０００６】
【発明が解決しようとする課題】
したがって、ゲームの進行状況や現在のレバーの位置によってシフトレバーを操作するときの反発力を変化させることにより、プレイヤーに仮想世界における自動車の状態、自動車の加速の状況などを知得させることを可能とする技術が求められている。特に、ゲームではリアルタイム性が要求されるため、このようなレバーに対する制御に必要な演算は、できるだけ高速に実行する必要がある。
【０００７】
本発明は、上記のような課題を解決するためのものであって、レバーの位置の情報を用い、レバーに対する反発力を制御することで、現実の自動車のシフトレバーの操作感と同じような操作感をプレイヤーに与えることを可能にするのに好適なゲーム装置、ゲーム方法、ならびに、これらをコンピュータによって実現するプログラムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００９】
本発明の第１の観点に係るゲーム装置は、接続部と、記憶部と、受信部と、生成部と、送信部と、を備え、以下のように構成する。
【００１０】
すなわち、接続部は、「所定の経路に沿って移動させることが可能なレバーを有するコントローラであって、現在のレバーの位置を指定する状況情報を送信し、当該レバーに与える反発力を指定する指令情報を受信するもの」と通信可能に接続することが可能である。通常の自動車のシフトレバーは、ロー、セカンド、サード、トップなどの位置に移動することによりギヤ比を変更できる。このほか、ギヤをこれらとは反転するように接続するバック（「リア」と呼ぶこともある。）という位置がある。そして、上記のある位置から別の位置への移動には、ニュートラルという位置を経由する必要がある。
【００１１】
本ゲーム装置に接続されるコントローラは、このような現実の自動車のシフトレバーを模したものとすることが望ましい。そして、このコントローラは、現在のレバーの位置の情報を本ゲーム装置へ状況情報として送信する。一方、本ゲーム装置は、コントローラに対してレバーに対する反発力を指定する指令情報を送信する。
【００１２】
一方、記憶部は、ゲームの状況と、レバーの位置と、に対応付けて、レバーに与えるべき反発力を指定する反発力情報をあらかじめ記憶する。
たとえば、現実の自動車のシフトレバーは、クラッチペダルを踏まずに移動しようとすると、大きな反発力が生じる。したがって、無理にシフトレバーを移動しようとすると、大きな力を加える必要がある。
一方、クラッチペダルを踏みながらであれば、シフトレバーをニュートラルへ移動する場合には、反発力は小さいので、ドライバーがシフトレバーに与える力も小さくてすむ。
【００１３】
また、クラッチをつなぐと、シフトレバーには、これに対応する振動が生ずることが多いが、これもまた、レバーの反発力に対応するものである。
このような現実の自動車の種々のデータを蓄積し、これを編集し、上記のようなシフトレバーの操作感を、レバーの位置に対する反発力情報として用意して、これを記憶部が記憶する。
【００１４】
さらに、受信部は、接続部を介して当該コントローラから状況情報を受信する。ここで受信される状況情報には、レバーの位置の情報が指定されている。
そして、生成部は、現在のゲームの状況と、前記受信された状況情報に指定されるレバーの位置と、に対応付けられて前記あらかじめ記憶された反発力情報を取得して、これに指定される反発力を指定する指令情報を生成する。現在のゲームの状況としては、たとえば、ゲーム内で走行し、プレイヤーが操作する仮想的な自動車のエンジンの回転数や温度、圧力、自動車の速度、クラッチの状態などが考えられる。
【００１５】
一方、送信部は、生成部により生成された指令情報を、接続部を介して当該コントローラに送信する。当該コントローラは、反発力情報を受信すると、これに指定された反発力をシフトレバーに与えるように機能する。
本発明によって、現実の自動車のシフトレバーの操作感と同じような操作感を、当該ゲーム装置に接続されたレバー型コントローラを操作するプレイヤーに与えることが可能となる。
【００１６】
また、本発明のゲーム装置において、生成部は、当該取得された反発力情報に指定された反発力を所定の周期で、もしくは、ランダムに増減させたものを指令情報に指定するように構成することができる。すなわち、あらかじめ記憶される反発力は、プレイヤーに感じさせる反発力の平均値に対応する。この場合の増減の幅や周期、乱数の特性は、ゲームの状況やレバーの位置に応じて変化させてもよい。
本発明により、現実の自動車のシフトレバーにおいてドライバーが感じるようなエンジンやギヤの振動を模した手応えを、ゲームのプレイヤーに与えることができるようになる。
【００１７】
また、本発明のゲーム装置は、計算部と、表示部と、をさらに備え、以下のように構成することができる。
すなわち、記憶部は、ゲームの状況と、レバーの位置と、に対応付けて、駆動力を指定する駆動力情報をあらかじめさらに記憶する。上記のように、ゲームの状況としては、自動車のエンジンの現在の回転数や出力、温度、圧力などの情報が含まれる。これとレバーの位置（選択されているギヤ比）と、に対応付けて、自動車を移動させようとする駆動力をあらかじめ用意しておくのである。
【００１８】
一方、計算部は、現在のゲームの状況と、受信された状況情報に指定されるレバーの位置と、に対応付けられてあらかじめさらに記憶された駆動力情報に指定される駆動力から、仮想世界を運動するオブジェクトの加速度を計算する。具体的には、得られた駆動力から路面の摩擦力やブレーキによる制動力を減じて、車体の質量で割り算を行えば、レーシングゲームにおける自動車の加速度を得ることができる。
【００１９】
そして、表示部は、計算された加速度によって当該仮想世界で当該オブジェクトを移動させ、当該移動した位置により、当該オブジェクトを画面に表示する。たとえば、仮想世界におけるオブジェクトの運動が２次元的なものである場合には、仮想世界全体の様子を表示した上で、上記の時間積分により得られるオブジェクトの位置に当該オブジェクトが表示される。したがって、本発明を適用することにより、当該オブジェクトの移動の様子をプレイヤーに知らせることができるようになる。
【００２０】
一方、本発明のゲーム装置において、表示部は、当該移動したオブジェクトの位置を視点とする当該仮想世界を画面に表示するように構成することができる。この場合、各種のポリゴンにより構成された仮想世界をオブジェクトから見た３次元グラフィックス画像が画面に表示されることとなる。
たとえば、本発明をレーシングゲームに適用した場合には、プレイヤーには、あたかも自分が自動車を運転し、自動車の中からレーシング場などの外の世界を眺めているかのような印象を与えることができる。
【００２１】
また、本発明のゲーム装置は、音声部をさらに備え、記憶部は、ゲームの状況と、レバーの位置と、に対応付けて、音声情報をあらかじめさらに記憶し、音声部は、現在のゲームの状況と、受信された状況情報に指定されるレバーの位置と、に対応付けられてあらかじめさらに記憶された音声情報を再生するように構成することができる。
【００２２】
たとえば、シフトレバーを、ニュートラルから現在のエンジンの回転数と負荷に適合するギヤ比の位置に移動させる場合と、適合しないギヤ比の位置に移動させる場合と、で異なる音声を発生させることができる。したがって、本発明を適用すれば、現実のシフトレバーの操作感したときに生ずる音と同様の音声をプレイヤーに聴かせることができるようになり、よりリアルな操作感を与えることができる。
【００２３】
本発明の他の観点に係るゲーム方法は、受信工程と、生成工程と、送信工程と、を備え、「所定の経路に沿って移動させることが可能なレバーを有するコントローラであって、現在のレバーの位置を指定する状況情報を送信し、当該レバーに与える反発力を指定する指令情報を受信するもの」と通信し、以下のように構成する。
【００２４】
すなわち、受信工程では、当該コントローラから状況情報を受信する。
一方、生成工程では、現在のゲームの状況と、受信された状況情報に指定されるレバーの位置と、に対応付けられてあらかじめ記憶された反発力情報を取得して、これに指定される反発力を指定する指令情報を生成する。
さらに、送信工程では、生成された指令情報を当該コントローラに送信する。
【００２５】
本発明の他の観点に係るプログラムは、「所定の経路に沿って移動させることが可能なレバーを有するコントローラであって、現在のレバーの位置および外力を指定する状況情報を送信し、指令情報を受信するもの」と通信可能に接続することが可能な接続部を有するコンピュータを、上記のゲーム装置として機能させ、もしくは、当該コンピュータに、上記のゲーム方法を実行させるように構成する。
【００２６】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、コンピュータとは独立して配布・販売することができる。
【００２７】
【発明の実施の形態】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム専用の情報処理装置に本発明が適用される実施形態を説明するが、各種のコンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔｓ）、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００２８】
（発明の実施の形態）
図１は、本発明の実施形態の１つに係るゲーム装置が実現される典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００２９】
情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３と、インターフェース１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）−ＲＯＭドライブ１０８と、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１０９と、を備える。
【００３０】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、情報処理装置１００の電源を投入することにより、プログラムが実行され、本実施形態のゲーム装置が実現される。
【００３１】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。ＣＰＵ  １０１は、各構成要素からデータを取得し、当該データを種々の演算により加工して各構成要素にデータや制御信号として与える。ＣＰＵ  １０１では、各種のデータはいったんＣＰＵ  １０１が備えるキャッシュに格納され、さらにＣＰＵ  １０１が備えるレジスタに取得されてから各種の演算が施される。
【００３２】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Ｉｎｉｔｉａｌ  Ｐｒｏｇｒａｍ  Ｌｏａｄｅｒ）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータを記録される。
【００３３】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行や通信に必要なデータが保持される。このほか、後述するシフトレバー型コントローラなど、情報処理装置１００に接続される各種の機器から伝達される種々の情報や、各種の機器に伝達すべき種々の情報も、一時的に格納される。
【００３４】
インターフェース１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。また、インターフェース１０４には、シフトレバー型コントローラを接続することができる。図２は、このようなシフトレバー型コントローラの実施形態の１つの概要構成を示す模式図である。以下、本図を参照して説明する。
【００３５】
本実施形態に係るシフトレバー型コントローラ２０１は、大別して、ベース部２０２、ガイド部２０３、レバー部２０４、センサ部２０５、加力部２０６の各部に分けられる。
【００３６】
ベース部２０２は、シフトレバー型コントローラ２０１を床に設置する際の土台となる部分である。本図では、ベース部２０２とガイド部２０３とは、独立した部材として図示されているが、実際には両者を接続する部材がある。すなわち、両者は箱状に構成されており、ベース部２０２はその底面に対応し、ガイド部２０３はその天井面に対応する。
【００３７】
また、レーシングゲームにおける操作は、一般にプレイヤーが興奮状態になるとかかる力が大きくなるのが通常であるので、少々乱暴に扱った場合であっても、転倒や移動などしない程度の重量を有するようにする。あるいは、ベース部２０２の底に、吸盤その他、床に吸着するような部材を配置して、シフトレバー型コントローラ２０１全体を床に固定する。
【００３８】
また、棒状のレバー部２０４は、その一端がユニバーサルジョイントによってベース部２０２に接続されており、ガイド部２０３の溝を貫通している。これによって、プレイヤーがレバー部２０４を操作する場合には、ガイド部２０３の溝に沿ってレバー部２０４を移動させる必要があることとなる。本実施形態では、ガイド部２０３には、「王」の字状に溝が開いている。「王」の時の縦棒が、ニュートラルに、他の頂点が、それぞれ、ロー、セカンド、サード、トップ、オーバートップ、バックに相当する。
【００３９】
センサ部２０５は、レバー部２０４の反射体に光線を当て、その反射によってレバー部２０４の姿勢を検知する。レバー部２０４は、ユニバーサルジョイントを支点として、ガイド部２０３の溝に沿って移動するので、現在いずれの方向に傾いているかが２つの傾きパラメータとして得られれば、レバー部２０４をシフトレバーとして見たときの位置を知ることができる。
【００４０】
なお、センサ部２０５としては、他にも種々の態様を採用することができる。すなわち、レバー部２０４と箱状体（ベース部２０２とガイド部２０３を含む箱状態。）の外壁と、をバネで接続して、レバー部２０４が自由状態となっている場合には、自然にニュートラル位置の中央（「王」の字の中央。）となるようにしておく。そして、当該バネにかかる力を力センサやひずみゲージによって検知することによって、レバー部２０４の傾きを検出する形態である。
【００４１】
このほか、レバー部２０４とベース部２０２を、ユニバーサルジョイントではなく、任意の方向にしなわせることが可能な可撓体で接続する。そして、この可撓体にひずみゲージを貼付することによって、レバー部２０４の姿勢を知る、というものである。すなわち、現在ゲーム装置用のコントローラに広く利用されているアナログジョイスティックと同様の構成とするのである。
【００４２】
一方、本コントローラ２０１においては、加力部２０６は、レバー部２０４の周囲に４つ用意されており、「王」の字に対して縦方向および横方向に相対する力を加えられるように配置され、レバー部２０４を周囲から押したり引いたりするような外力を与えることができる。加力部２０６に適切な指令信号を与えることにより、レバー部２０４に一切力を与えない（自由に姿勢を変更可能とする）ようなことも可能である。
【００４３】
加力部２０６が与える力には、油圧や空気圧などのほか、ソレノイドを用いた磁気力など、種々の力を利用することができる。油圧や空気圧を与えるために加力部２０６はポンプや電磁石を内蔵しており、これらに与える電力を増減させることによって、レバー部２０４に加える力を調整する。
【００４４】
レバー部２０４が移動していく様子はセンサ部２０５によって得られる。したがって、レバー部２０４の位置、移動速度、移動角加速度、加速度や角加速度は、センサ部２０５の出力から得ることができる。これらの情報と、各加力部２０６が与える反発力（ポンプや電磁石に与える電力から知ることができる。）から、プレイヤーがレバー部２０４に与えている外力を逆算することができる。
【００４５】
すなわち、各加力部２０６がレバー部２０４に与える力は、プレイヤーがレバー部２０４に与える外力に対する反発力であり、レバー部２０４が静止している場合は、これらは同じ大きさで逆向きとなる（作用・反作用の法則）。
【００４６】
シフトレバー型コントローラ２０１は、このほか、情報処理装置１００と接続するためのインターフェース２０７と、当該インターフェースに接続されるケーブル２０８と、情報処理装置１００のインターフェース１０４に接続するためのコネクタ２０９と、を有する。シフトレバー型コントローラ２０１は、これらを通じて、情報処理装置１００に、現在のレバーの位置（姿勢、角度）や外力を指定する状況情報を送信し、これらを通じて、情報処理装置１００から、レバーの反発力を指定する指令情報を受信する。
【００４７】
なお、シフトレバー型コントローラ２０１との通信は、バイト単位もしくはワード単位のデータとのやりとりとすることが好適であるため、たとえば、以下のような値の変換を行う。
【００４８】
まず、センサ部２０５の出力を適切に変換して、図３に示すような座標系に対応させて、レバー部２０４の位置を表現する。本図に示す対応付けでは、ニュートラル中央が（０，０）に対応し、ニュートラルで自由にシフトレバーが動く方向が横軸に対応し、各ギヤ比に設定するためにシフトレバーを操作する方向が縦軸に対応する。各座標値は、１バイトの整数（−１２８〜１２７）によって表現される。この場合、レバー部２０４の位置は、２バイトのデータによって表現されることになる。
【００４９】
Ｌ（ロー）  …  座標（−１２８，１２７）
２（セカンド）  …  座標（−１２８，−１２８）
３（サード）  …  座標（０，１２７）
４（トップ）  …  座標（０，−１２８）
Ｔ（オーバートップ）  …  座標（１２７，１２７）
Ｒ（バック）  …  座標（１２７，−１２８）
ニュートラル  …  座標（−１２８，０）〜（１２７，０）
【００５０】
次に、４つの加力部２０６が共働してレバーに与える力を上記の「王」の字の座標系に合わせて符号付き整数の対からなるベクトル表現で指定する。以下では、各方向成分を２バイトの整数（−３２７６８〜３２７６７）で表現する。シフトレバーの位置が（−１２８，１）〜（−１２８，１２７）にある場合に、反発力として（０，−３２７６８）が指定されると、シフトレバーをローに入れにくい、という手応えを表現することができる。
【００５１】
情報処理装置１００は、上記のような反発力のベクトル表現をシフトレバー型コントローラ２０１に通知すると、シフトレバー型コントローラ２０１は、４つの加力部２０６のそれぞれに与えるべき電力・電流・電圧の値を適切に変換して、これに呼応して反応する。
【００５２】
図１に戻り、インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、ゲームの進行状態を示すデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００５３】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００５４】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００５５】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。特に、点光源や平行光源、円錐光源などの典型的な（正）光源によってポリゴンが照らされる度合を計算する機能が、ライブラリ化もしくはハードウェア化され、高速に計算できるようになっている。
【００５６】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ＲＯＭ  １０２に記録されているが、ＤＶＤ−ＲＯＭに記録された専用のフォント情報を利用することも可能である。
【００５７】
ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Ｉｎｔｅｇｒａｇｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ）モデム、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ  Ｍｏｄｅｍ）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００５８】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。たとえば、自動車の走行音や、振動音、タイヤがロックしたときの音のほか、適合しないギヤ比にシフトレバーを操作しようとしたときに生ずる異音や、クラッチをつないだときに生ずる音などである。
【００５９】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００６０】
（ゲーム装置の概要構成）
図４は、当該実施形態に係るゲーム装置の各部の機能に係る概要構成を示す説明図である。図５は、当該実施形態に係るゲーム装置において実行されるゲーム方法の処理の流れを示すフローチャートである。以下、これらの図を参照して説明する。
まず、本実施形態に係るゲーム装置４０１は、接続部４０２と、記憶部４０３と、受信部４０４と、生成部４０５と、送信部４０６と、計算部４０７と、表示部４０８と、音声部４０９と、を備え、以下のように構成する。
【００６１】
接続部４０２は、「所定の経路に沿って移動させることが可能なレバーを有するコントローラであって、現在のレバーの位置を指定する状況情報を送信し、当該レバーに与える反発力を指定する指令情報を受信するもの」と通信可能に接続することが可能である。すなわち、シフトレバー型コントローラ２０１と接続されるので、情報処理装置１００のインターフェース１０４が、接続部４０２として機能することとなる。
【００６２】
一方、記憶部４０３は、ゲームの状況と、レバーの位置と、に対応付けて、レバーに与えるべき反発力を指定する反発力情報をあらかじめ記憶する。したがって、ＤＶＤ−ＲＯＭドライバー１０８に装着されるＤＶＤ−ＲＯＭや、これから読み出したデータを記憶するＲＡＭ  １０３等が、記憶部４０３として機能する。
【００６３】
図６、図７は、あるゲームの状況におけるレバーの位置と、レバーに与える反発力の大きさと、レバーに与える反発力の向きと、を図示する説明図である。
【００６４】
図６は、レバーの位置と、反発力の大きさと、を３次元的に表現したものである。また、反発力の向きは、図中の矢印で示してある。本図は、自動車の速度がある程度速くなっており、ギヤ比をセカンドからサードへ移行させるべき状況であって、クラッチを切っていない場合である。
【００６５】
レバーはすでにセカンドに入っているため、セカンドの近傍では反発力は小さいが、クラッチを切らずにニュートラルに入れようとしても反発力が生じる。そのままレバーを移動していくと、ある点を超えたときに、今度はニュートラルに寄せようとする向きの力が生じる。これは、サードの場合も同様である。
【００６６】
また、ロー、トップ、オーバートップ、バックへレバーを移動しようとしても、ニュートラルへ移動させようとする反発力が生じる。一方、クラッチを切らない状態でいったんニュートラルに入ってしまうと、レバーはニュートラルの範囲では自由に移動できるが、それぞれのギヤには入れにくい状況となる。
【００６７】
図７は、図６と同様の状況であって、クラッチを切った場合である。クラッチを切ると、レバーは、いずれのギヤ比にも入れやすくなるが、いったん端まで移動すると、ほかのところへ移動しようとしたときに手応えを感じることとなる。
【００６８】
このような分布としておけば、クラッチを切ってセカンドからニュートラルへレバーを移動しようとすると、当初は小さな反発力が生じるが、ある程度以上進むと、自然にニュートラルへレバーが移動するようになる。また、ニュートラルからサードへレバーを移動する場合も同様である。
【００６９】
図７のような状況では、レバーをバックに入れることも可能である。ここで、ゲームの状況が変化して、クラッチが繋がれたものとすると、反発力の分布は、図６に示すようなものに戻る。すると、バックに入っているレバーには、ニュートラル方向へレバーを移動しようとする反発力が生じることとなる。
【００７０】
このように、ゲームの状況に応じて反発力の大きさと向きを設定し、現実の自動車における場合と同様の操作感が得られるようにする。たとえば、現実の自動車を各種の状況において、シフトレバーにかかる反発力を測定すれば、反発力の基礎データを得ることができる。レーシングゲームの場合、考慮されるゲームの状況としては、以下のようなものが考えられる。
【００７１】
（ａ）自動車の質量。
（ｂ）路面の摩擦係数。
（ｃ）空気抵抗係数。
（ｄ）自動車の速度。
（ｅ）自動車の加速度。
（ｆ）エンジンの回転数。
（ｇ）ブレーキの踏み具合。
【００７２】
これらのデータは、仮想世界において走行する自動車のデータではあるが、現実の自動車において同様の事象が生じた場合のデータを元に構成することにより、よりリアルなシフトレバーの操作感を得ることができる。
【００７３】
さて、図４および図５に戻り、このような用意が整ったゲーム装置４０１において、本実施形態のゲーム方法が開始されてからの処理について説明する。まず、受信部４０４は、接続部４０２を介して当該コントローラから状況情報を受信する（ステップＳ５０１）。ここで受信される状況情報には、レバーの位置の情報が指定されている。したがって、ＣＰＵ  １０１は、インターフェース１０４と共働して、受信部４０４として機能する。
【００７４】
そして、生成部４０５は、現在のゲームの状況と、前記受信された状況情報に指定されるレバーの位置と、に対応付けられて前記あらかじめ記憶された反発力情報を取得する（ステップＳ５０２）。上記のように、ゲームの状況と、現在のレバーの位置が決まれば、反発力の大きさおよび向き（もしくは、これらの２次元のベクトル表現。）を、記憶部４０３から取得することができる。
【００７５】
そして、生成部４０５は、これに指定される反発力を指定する指令情報を生成する（ステップＳ５０３）。当該指令情報は、上記のようなデータフォーマットを採用した場合には、反発力の大きさと向きを示す２次元ベクトルに対応する４バイトの数値により表現される。したがって、ＣＰＵ  １０１は、ＲＡＭ  １０３等と共働して生成部４０５として機能する。
【００７６】
なお、反発力の値としては、記憶部４０３から取得された値をそのまま指定するのではなく、周期的にもしくは乱数を発生させることによって、反発力の大きさを増減させてから指令情報を生成する手法を採用してもよい。
一般に、自動車のシフトレバーには、エンジンの回転に自動車本体が共鳴するために所定の固有振動数で震える、という現象が見られる。そこで、反発力を、このような固有振動数で微小に増減させることによって、現実の自動車におけるシフトレバーの振動を再現することができる。
【００７７】
また、上記のような振動ではなく、乱数によって増減を決めるような手法を採用しても良い。この場合には、固有振動数による振動ではなく、ランダムな震えがプレイヤーに伝達されることとなる。
さらに、ゲームの状況に応じて、上記の固有振動数を変化させたり、乱数を発生させる手法を変更したり、増減の幅を変化させるようにしても良い。
これらの手法を採用した場合には、記憶部４０３から取得された値は、反発力情報に指定される反発力の平均値としての意味を有することとなる。
【００７８】
一方、送信部４０６は、接続部４０２を介して生成された反発力情報を当該コントローラに送信する（ステップＳ５０４）。したがって、ＣＰＵ  １０１は、インターフェース１０４と共働して送信部４０６として機能する。
すると、この反発力情報を受信したシフトレバー型コントローラ２０１では、指定された値によって、レバー部２０３に与える反発力を制御する。このようにして、現実の自動車のシフトレバーの操作感と同じような操作感を、当該ゲーム装置に接続されたレバー型コントローラを操作するプレイヤーに与えることが可能となる。
【００７９】
さらに、計算部４０７は、記憶部４０３を参照して、現在のゲームの状況と、受信された状況情報に指定されるレバーの位置とに対応付けられる駆動力を指定する駆動力情報を得る（ステップＳ５０５）。
記憶部４０３は、ゲームの状況と、レバーの位置と、に対応付けて、駆動力を指定する駆動力情報をあらかじめさらに記憶している。特にシフトレバーの位置とエンジンの回転数とは密接な関係にあり、適切なギヤ比を選択しないと、いわゆる「エンスト」（エンジンストップ）が生じ、駆動力は０となる。一方、エンストが生じない場合には、ギヤ比（シフトレバーの位置）によって駆動力が変化する。そこで、このような駆動力の情報を、上記の反発力の情報と同様にあらかじめ用意しておくことによって、自動車の運転をシミュレートするのである。
【００８０】
そして、計算部４０７は、得られた駆動力から、仮想世界を運動するオブジェクトの加速度を計算する（ステップＳ５０６）。具体的には、得られた駆動力から路面の摩擦力やブレーキによる制動力を減じて、車体の質量で割り算を行えば、レーシングゲームにおける自動車の加速度を得ることができる。したがって、ＣＰＵ  １０１は計算部４０７として機能する。
【００８１】
そして、表示部４０８は、計算された加速度によって当該仮想世界で当該オブジェクトを移動させ（ステップＳ５０７）、当該移動した位置により、当該オブジェクトを画面に表示する（ステップＳ５０８）。したがって、ＣＰＵ  １０１は、画像処理部１０７と共働して表示部４０８として機能する。
図８は、このようなレーシングゲームの画面表示の一例を示す説明図である。以下、本図を参照して説明する。
【００８２】
画面７０１には、コース内における当該自動車の位置を示すマップ情報７０２が、自動車の運転席から外界７０４を見た様子を示す背景７０３に重ねて表示されている。マップ情報７０２は、あらかじめ仮想世界に設定されたコースの形状と、当該コースにおける自動車の位置とを２次元的に図示したものであり、これを見ることによって、プレイヤーは、自分が運転する自動車がコース内のどこにいるのか、を知ることができる。
【００８３】
背景７０３には、自動車の運転席から外界７０４を見た様子が示されている。外界７０４は、仮想世界のコースの道路や、その周囲に配置される種々の物体をポリゴンによって構成し、当該ポリゴン群を自動車の位置を視点とし、望ましくは、自動車の速度を視線方向として鳥瞰した３次元グラフィックスにて表示したものである。このような３次元グラフィックスによる画像生成については、上述のように、種々の技術を適用することができる。
【００８４】
このほか、画面７０１には、自動車の速度を表示する速度計７０５や現在のシフトレバーの位置を表示するレバー表示７０６などが表示されている。これらの種々の数値表示は、所定の値の範囲ごとに異なる色を割り当てておき、値が大きくなると表示色が変化するようにしても良い。また、画面７０１では数値表示を行っているが、棒グラフや円グラフ、現実の自動車で採用されているようなメータ型グラフにより、これらの情報をプレイヤーに提供するのでも良い。
【００８５】
さらに、音声部４０９は、記憶部４０３を参照してゲームの状況と、レバーの位置と、に対応付けられてあらかじめ記憶された音声情報を取得して（ステップＳ５０９）、当該音声情報を再生し（ステップＳ５１０）、その他のゲーム処理を実行して（ステップＳ５１１）、ステップＳ５０１に戻る。すなわち、ＣＰＵ
１０１は、音声処理部１１０と共働して、音声部４０９として機能する。
【００８６】
このように、本実施形態によれば、シフトレバー型コントローラを用いて、これから送信されるレバーの位置や外力の情報に基づき、レバーの反発力を制御することとし、あたかも本物の自動車を運転しているかのような感覚をプレイヤーに与えることができる。
【００８７】
【発明の効果】
以上説明したように、本発明によれば、レバーの位置や外力の情報を用い、その反発力を制御するゲーム装置、ゲーム方法、ならびに、これらをコンピュータによって実現するプログラムを提供することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るゲーム装置が実現される典型的な情報処理装置の概要構成を示す模式図である。
【図２】本実施形態のゲーム装置に接続可能なシフトレバー型コントローラの概要構成を示す模式図である。
【図３】シフトレバー型コントローラのレバー位置の座標系を示す説明図である。
【図４】本実施形態に係るゲーム装置の概要構成を示す模式図である。
【図５】当該実施形態に係るゲーム装置において実行されるゲーム方法の処理の流れを示すフローチャートである。
【図６】記憶部に記憶される反発力情報の概要を示す説明図である。
【図７】記憶部に記憶される反発力情報の概要を示す説明図である。
【図８】レーシングゲームの画面表示の一例を示す説明図である。
【符号の説明】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
２０１  シフトレバー型コントローラ
２０２  ベース部
２０３  ガイド部
２０４  レバー部
２０５  センサ部
２０６  加力部
２０７  インターフェース
２０８  ケーブル
２０９  コネクタ
４０１  ゲーム装置
４０２  接続部
４０３  記憶部
４０４  受信部
４０５  生成部
４０６  送信部
４０７  計算部
４０８  表示部
４０９  音声部
７０１  画面
７０２  マップ情報
７０３  背景
７０４  外界
７０５  速度計
７０６  レバー表示
【図１】
0003579041.tif 000002
【図２】
0003579041.tif 000003
【図３】
0003579041.tif 000004
【図４】
0003579041.tif 000005
【図５】
0003579041.tif 000006
【図６】
0003579041.tif 000007
【図７】
0003579041.tif 000008
【図８】
0003579041.tif 000009