JP2018102610A - 振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法 - Google Patents

振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法 Download PDF

Info

Publication number
JP2018102610A
JP2018102610A JP2016252315A JP2016252315A JP2018102610A JP 2018102610 A JP2018102610 A JP 2018102610A JP 2016252315 A JP2016252315 A JP 2016252315A JP 2016252315 A JP2016252315 A JP 2016252315A JP 2018102610 A JP2018102610 A JP 2018102610A
Authority
JP
Japan
Prior art keywords
controller
vibration
data
mode
vibration control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016252315A
Other languages
English (en)
Other versions
JP6877995B2 (ja
Inventor
圭 山下
Kei Yamashita
圭 山下
孝文 青木
Takafumi Aoki
孝文 青木
嘉隆 田邨
Yoshitaka Tamura
嘉隆 田邨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2016252315A priority Critical patent/JP6877995B2/ja
Priority to US15/616,100 priority patent/US10350491B2/en
Priority to EP17175003.7A priority patent/EP3343323B1/en
Priority to EP17194859.9A priority patent/EP3343324B1/en
Priority to US15/729,798 priority patent/US10632371B2/en
Priority to US15/854,107 priority patent/US10603582B2/en
Priority to EP17210634.6A priority patent/EP3343327B1/en
Publication of JP2018102610A publication Critical patent/JP2018102610A/ja
Application granted granted Critical
Publication of JP6877995B2 publication Critical patent/JP6877995B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/28Output arrangements for video game devices responding to control signals received from the game device for affecting ambient conditions, e.g. for vibrating players' seats, activating scent dispensers or affecting temperature or light
    • A63F13/285Generating tactile feedback signals via the game input device, e.g. force feedback
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • A63F13/235Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console using a wireless connection, e.g. infrared or piconet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/24Constructional details thereof, e.g. game controllers with detachable joystick handles
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/843Special adaptations for executing a specific game genre or game mode involving concurrently two or more players on the same game device, e.g. requiring the use of a plurality of controllers or of a specific view of game data for each player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user

Abstract

【課題】ゲーム装置の使用態様に応じて振動波形を調整し、使用態様が異なる場合であっても同様に振動を知覚させることができる振動制御システムを提供する。【解決手段】ゲーム装置10は、振動制御装置として機能する本体装置10aおよびこの本体装置に着脱可能な第1コントローラ14および第2コントローラ16を含む。ゲーム装置は、2つのコントローラを本体装置に装着した第1態様、2つのコントローラを本体装置から分離した状態で個別に使用する第2態様、2つのコントローラを本体装置から離脱した状態で一体的に連結して使用する第3態様または2つのコントローラとは異なる第3コントローラを使用する第4態様で使用される。各コントローラには同じ種類の振動モータ14c、16cが使用され、本体装置に内蔵されるCPUはゲーム装置の使用態様に応じて振動波形を調整する。【選択図】図1

Description

この発明は振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法に関し、特にたとえば、特性の異なる複数の装置の振動を制御する、振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法に関する。
背景技術の一例が特許文献1に開示される。この特許文献1には、グリップ部の内部に、情報処理装置(ゲーム装置)からの制御信号に基づいて振動を発生させる振動部が配置されているコントローラの構成が開示される。
特開2013−236909号公報
特許文献1のゲームシステムでは、種類の異なるコントローラをゲーム装置と通信可能に接続することが可能である。同じ振動波形で各コントローラの振動部が振動を発生させると、コントローラの種類によってプレイヤが知覚する振動が異なる場合がある。つまり、同じゲームをプレイした場合であっても、使用するコントローラの種類が異なることにより、プレイヤが感じる振動は別のものになる。そのため、ゲームの製作者は、プレイヤがどのような特性のコントローラを使用するかまで想定してゲーム中の振動表現を考える必要があった。
それゆえに、この発明の主たる目的は、新規な、振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法を提供することである。
また、この発明の他の目的は、特性の異なる装置であっても同様に振動を知覚させることができる、振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法を提供することである。
さらに、この発明のその他の目的は、アプリケーションの開発にかかる労力を軽減することができる、振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法を提供することである。
第1の発明は、振動データ発生部と、振動制御部とを備える、振動制御システムである。振動データ発生部は、振動データを発生する。振動制御部は、振動データ発生部が発生した振動データに基づいて、第1の装置を振動させ、振動データに対応する振動波形を第1の装置の特性とは異なる第2の装置の特性に応じて調整して当該第2の装置を振動させる。
第1の発明によれば、第2の装置を振動させる場合の振動波形を調整するので、第1の装置と第2の装置との特性が異なる場合であっても、アプリケーションの製作者に装置の特性に応じた振動表現を考えさせること無く、同様の振動を知覚させることができる。このため、アプリケーションの開発にかかる労力を軽減することができる。
第2の発明は、第1の発明に従属し、振動データ発生部が発生する振動データは、当該振動データに対応する振動波形の周波数を示す値と振幅を示す値のデータである。
第2の発明によれば、振動波形の周波数と振幅を指定することによって、第1の装置および第2の装置を振動させることができる。
第3の発明は、第2の発明に従属し、振動制御部は、振動波形の振幅を周波数帯毎に調整する。
第3の発明によれば、周波数帯毎に振幅を調整するので、振動波形の全部を調整するよりも簡単に調整することができる。
第4の発明は、第3の発明に従属し、振動データは、振動波形の周波数と振幅の値の組についてのデータであり、振動制御部は、周波数帯毎に、各組の振幅に係数を掛けることにより振動波形を調整する。
第4の発明によれば、振動波形の周波数および振幅のうち、振幅を調整するので、振動の大きさを調整して、第1の装置または第2の装置を使用しても、同様の振動を知覚させることができる。
第5の発明は、第1ないし第4の発明のいずれかに従属し、振動制御部は、第1の装置と第2の装置を同時に振動させる。
第5の発明によれば、第1の装置または第2の装置を使用しても、同様の振動を知覚させることができる。
第6の発明は、第1ないし第5の発明のいずれかに従属し、振動データ発生部は、第1の装置および第2の装置とは別の本体装置に含まれる。
第6の発明によれば、本体装置で振動データを発生させるので、第1の装置および第2の装置は本体装置に装着しても良いし、本体装置から分離してもよい。
第7の発明は、第6の発明に従属し、本体装置には、第1の装置および第2の装置の少なくとも一方が接続される。振動制御部は、接続された第1の装置および第2の装置の少なくとも一方から取得した種別情報に基づいて、対応する第1の装置および第2の装置の少なくとも一方の振動波形を調整する。
第7の発明によれば、第1の装置および第2の装置の接続態様に応じて第1の装置および第2の装置を振動させることができる。
第8の発明は、第6の発明に従属し、本体装置はアプリケーションプログラムを実行するアプリケーション実行部を備える。振動制御部は、アプケーション実行部によって実行されるアプリケーションプログラムから通知される第1の装置または第2の装置の接続態様に応じて、当該第1の装置または当該第2の装置の振動波形を調整する。
第8の発明によれば、アプリケーションプログラムから第1の装置および第2の装置の接続態様を取得して第1の装置および第2の装置を振動させることもできる。
第9の発明は、振動データを発生する振動データ発生部と、振動データ発生部が発生した振動データに基づいて、第1の装置を振動させ、振動データに対応する振動波形を第1の装置の特性とは異なる第2の装置の特性に応じて調整して当該第2の装置を振動させる振動制御部とを備える、振動制御装置である。
第10の発明は、コンピュータによって実行される振動制御プログラムであって、コンピュータに、振動データを発生する振動データ発生ステップと、振動データ発生ステップにおいて発生した振動データに基づいて、第1の装置を振動させ、振動データに対応する振動波形を第1の装置の特性とは異なる第2の装置の特性に応じて調整して当該第2の装置を振動させる振動制御ステップを実行させる、振動制御プログラムである。
第11の発明は、振動制御方法であって、(a)振動データを発生するステップと、(b)ステップ(a)において発生した振動データに基づいて、第1の装置を振動させ、振動データに対応する振動波形を第1の装置の特性とは異なる第2の装置の特性に応じて調整して当該第2の装置を振動させるステップとを含む、振動制御方法である。
第9ないし第11の発明においても、第1の発明と同様に、第1の装置と第2の装置との特性が異なる場合であっても、同様の振動を知覚させることができるとともに、アプリケーションの開発にかかる労力を軽減することができる。
この発明によれば、装置の特性に応じて振動波形を調整するので、第1の装置と第2の装置との特性が異なる場合であっても、アプリケーションの製作者に装置の特性に応じた振動表現を考えさせること無く、同様の振動を知覚させることができる。このため、アプリケーションの開発にかかる労力を軽減することができる。
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
図1はゲーム装置の外観構成の限定しない一例を示す図解図である。 図2は図1に示すゲーム装置において本体装置からコントローラを分離した状態の限定しない一例を示す図解図である。 図3は図1および図2に示すゲーム装置の電気的な構成の限定しない一例を示すブロック図である。 図4は図1ないし図3に示す第1コントローラの電気的な構成の限定しない一例を示すブロック図である。 図5は図1ないし図3に示す第2コントローラの電気的な構成の限定しない一例を示すブロック図である。 図6は図1に示すゲーム装置の使用態様の限定しない一例を示す図解図である。 図7は図1に示すゲーム装置の使用態様の他の例を示す図解図である。 図8は図1に示すゲーム装置の使用態様のその他の例を示す図解図である。 図9は図1に示すゲーム装置の使用態様のさらに他の例を示す図解図である。 図10は図9に示す第3コントローラの電気的な構成の限定しない一例を示すブロック図である。 図11は各コントローラに内蔵される振動モータに所定の印加電圧を印加した場合において周波数に対する振動加速度の変化を示すグラフの一例を示す図解図である。 図12は第1−第3使用態様においてゲーム装置に含まれるコントローラに内蔵される振動モータに印加する印加電圧の周波数に対する変化を示すグラフである。 図13は第4使用態様においてゲーム装置に含まれるコントローラとは別のコントローラに内蔵される振動モータに印加する印加電圧の周波数に対する変化を示すグラフである。 図14はこの実施例のゲームシステムの限定しない一例を示す図解図である。 図15は図3に示すゲーム装置のRAMのメモリマップの限定しない一例を示す図解図である。 図16は使用態様等に応じた係数データの内容を説明するための図解図である。 図17は図3に示すCPUの使用態様判別処理の限定しない一例の一部を示すフロー図である。 図18は図3に示すCPUの使用態様判別処理の他の一部であって、図17に後続するフロー図である。 図19は図3に示すCPUの振動制御処理の限定しない一例を示すフロー図である。
図1を参照して、限定しない一例のゲーム装置10は本体装置10aを含む。本体装置10aは、振動制御装置としても機能する。この本体装置10aには、表示装置12が設けられる。表示装置12は、LCDであるが、有機ELを用いたディスプレイであってもよい。また、ゲーム装置10は、第1コントローラ14および第2コントローラ16を含み、図2からも分かるように、第1コントローラ(左コントローラ)14は本体装置10aの左側に着脱可能に設けられ、第2コントローラ(右コントローラ)16は本体装置10aの右側に着脱可能に設けられる。
なお、この実施例では、情報処理装置の一例としてゲーム装置10について説明するが、本体装置10aは、スマートフォンおよびタブレット端末などを用いることができる。ただし、スマートフォンおよびタブレット端末を用いる場合には第1コントローラ14および第2コントローラ16を着脱可能な構成を別途設ける必要がある。
詳細は後述するが、第1コントローラ14および第2コントローラ16は、本体装置10aに装着した状態で使用することができ、また、本体装置10aから分離(離脱)した状態で使用することもできる。第1コントローラ14および第2コントローラ16を本体装置10aから分離した場合には、一人のプレイヤ(または、ユーザ)が第1コントローラ14および第2コントローラ16の両方を使用することができる。
なお、この実施例では、第1コントローラ14および第2コントローラ16は、共に本体装置10aに装着され、共に本体装置10aから分離されるものとする。
第1コントローラ14には、各種の操作ボタン14aが設けられるとともに、アナログスティック14bが設けられる。詳細な説明は省略するが、操作ボタン14aおよびアナログスティック14bは、第1コントローラ14の筐体のうち、本体装置10aに装着される面以外のいずれかの面に設けることができる。操作ボタン14aは、本体装置10aで実行される各種プログラムに応じた指示を行うために設けられる。アナログスティック14bは、傾倒することにより方向を指示することができる。ただし、アナログスティック14bに代えてスライドスティックが設けられてもよい。また、アナログスティック14bは、押圧することにより、操作ボタンとしても機能するようにしてもよい。また、第1コントローラ14の筐体内には、この第1コントローラ14(本体装置10aに装着される場合も含む)を把持するプレイヤに振動を提示するための振動モータ(振動子)14cが設けられる。これらのことは、後述する第2コントローラ16についても同じである。
第1コントローラ14と同様に、第2コントローラ16には、各種の操作ボタン16aが設けられるとともに、アナログスティック16bが設けられる。さらに、第2コントローラ16の筐体内には、振動モータ16cが設けられる。
また、図示は省略するが、本体装置10aの底面には、充電台50と接続するためのコネクタおよびスピーカ38(図3参照)の音を放出すための放音孔が設けられる。ただし、本体装置10aの底面は、表示装置12の表示面に垂直な面であり、図1において、下側に位置する面である。たとえば、図1に示すゲーム装置10をプレイヤが使用する場合には、上記のコネクタおよび放音孔は、プレイヤ側を向く。
さらに、図2に示すように、本体装置10aの左側面にはレール部材10bが設けられ、本体装置10aの右側面にはレール部材10cが設けられる。一方、第1コントローラ14の筐体の長手方向の一方側面(図2では右側面)にはスライダ14dが設けられ、第2コントローラ16の筐体の長手方向の一方側面(図2では左側面)にはスライダ16dが設けられる。
レール部材10bはスライダ14dと係合可能に構成され、レール部材10cはスライダ16dと係合可能に構成される。つまり、レール部材10bとスライダ14dによってスライド機構が形成され、レール部材10cとスライダ16dによってスライド機構が形成される。このため、第1コントローラ14および第2コントローラ16は、それぞれ、本体装置10aにスライド可能であり、着脱可能に設けられる。
なお、レール部材(10b,10c)をコントローラ(14,16)側に設けて、スライダ(14d,16d)を本体装置10a側に設けるようにしてもよい。また、本体装置10aに第1コントローラ14および第2コントローラ16を着脱する機構は他の機構が採用されてもよい。たとえば、他の機構としては、本体装置10aに設けた凹部(または、凸部)に嵌合する凸部(または、凹部)を、第1コントローラ14および第2コントローラ16の筐体のそれぞれに設けるようにしてもよい。
図3は図1および図2に示したゲーム装置10の電気的な構成を示すブロック図である。図3に示すように、ゲーム装置10は、CPU20を含み、CPU20には、RAM22、フラッシュメモリ24、コントローラ通信部26、左側端子28、右側端子30、表示ドライバ32、ディジタル・アナログ(D/A)変換器34および下側端子36が接続される。また、表示ドライバ32には表示装置12が接続され、D/A変換器34にはスピーカ38が接続される。これらのコンポーネントが本体装置10aの内部に設けられる。ただし、左側端子28、右側端子30および下側端子36の接続部(接続端子)は、本体装置10aから露出するように設けられる。
上述したように、ゲーム装置10は、第1コントローラ14および第2コントローラ16を含み、これらが本体装置10aに装着されている場合には、第1コントローラ14は左側端子28と電気的に接続され、第2コントローラ16は右側端子30と電気に接続される。
また、ゲーム装置10が充電台(クレードル)50に載置される場合には、下側端子36は、充電台50に設けられた接続プラグ(図示せず)と接続される。この場合、充電台50から下側端子36を介してゲーム装置10に電力が供給され、本体装置10aに内蔵されたバッテリが充電されるとともに、本体装置10aと接続される第1コントローラ14および第2コントローラ16に内蔵されたバッテリが充電される。
ただし、後述するように、充電台50はテレビジョン受像機60に接続可能であり(図14参照)、この場合、本体装置10aから下側端子36を介して出力されるAV(音声および画像(映像))データは、充電台50を介してテレビジョン受像機60に与えられる。したがって、テレビジョン受像機60の表示部(モニタ)にゲーム画面が表示されるとともに、テレビジョン受像機60のスピーカから音声または/および音楽が出力される。
CPU20は、ゲーム装置10の全体的な制御を司る。RAM22は、揮発性の記憶装置であり、CPU20のワーキング領域およびバッファ領域として使用される。フラッシュメモリ24は、不揮発性の記憶装置であり、ゲーム装置10で実行される各種プログラム(情報処理プログラム)およびセーブデータなどを記憶する。
なお、上記の情報処理プログラムは、一例として、ゲームのアプリケーションプログラムであるが、これに限定される必要は無い。アプリケーションプログラムは、文書作成プログラム、電子メールプログラム、お絵描きプログラム、文字練習プログラム、語学トレーニングプログラム、学習プログラムなどの他のプログラムでもよい。
以下において、本体装置10aが、第1コントローラ14および第2コントローラ16との間の通信を行う構成について説明する。
この実施例において、第1コントローラ14および第2コントローラ16が本体装置10aと分離状態にある場合には、本体装置10aは、第1コントローラ14および第2コントローラ16と無線通信を行う。一方、第1コントローラ14および第2コントローラ16が本体装置10aに装着されている場合には、本体装置10aは、第1コントローラ14および第2コントローラ16と有線通信を行う。
コントローラ通信部26は、第1コントローラ14および第2コントローラ16と無線通信を行う。本体装置10aと各コントローラ(14,16)との通信方式は任意の方式を採用することができるが、この実施例では、Bluetooth(登録商標)の規格に従う通信方式が採用される。
左側端子28は、第1コントローラ14が本体装置10aに装着されている場合に、CPU20と第1コントローラ14で有線通信を行うための端子であり、CPU20は、左側端子28を介して第1コントローラ14との間でデータを送受信する。
右側端子30は、第2コントローラ16が本体装置10aに装着されている場合に、CPU20と第2コントローラ16で有線通信を行うための端子であり、CPU20は、右側端子30を介して第2コントローラ16との間でデータを送受信する。
この実施例において、CPU20から各コントローラ(14,16)に送信されるのは、各コントローラ(14,16)を振動させるための振動データである。振動データは、CPU20が、振動データを生成するプログラムを実行したり、保存された振動データを読み出したりして生成される。振動データは、振動波形(アナログ信号の波形)を示すデータであり、振動波形そのものの信号(振動信号)でも良いし、振動波形をデジタル化したものでも良いし、周波数を示す値と振幅を示す値の組でも良い。一方、各コントローラ(14,16)から送信されるのは、当該各コントローラ(14,16)に設けられた各操作ボタン(14a,16a)およびアナログスティック(14b,16b)を操作した場合の操作データである。ただし、CPU20と各コントローラ(14,16)の間で、各種制御信号等の他のデータを送受信するようにしても良い。
このように、本体装置10aは、第1コントローラ14および第2コントローラ16との間で、有線通信および無線通信を行うことができる。
なお、図示は省略するが、左側端子28は、充電台50からの電源を供給するための電源ラインを第1コントローラ14に内蔵されるバッテリの充電回路に接続する。このことは、右側端子30についても同様である。
表示ドライバ32は、GPUおよびVRAMを含み、CPU20の指示の下、表示装置12に表示するゲーム画面(ゲーム画像)についての画像データをVRAM上に生成し、表示装置12に出力する。D/A変換器34は、CPU20から出力される音声データをアナログの音声信号に変換してスピーカ38に出力する。
なお、上述したように、テレビジョン受像機60のモニタにゲーム画面を表示するとともに、テレビジョン受像機60のスピーカから音声を出力する場合には、CPU20は、AVデータを下側端子36および充電台50を介してテレビジョン受像機60に送信する。
下側端子36は、充電台50と接続するための端子であり、充電台50に内蔵される電力供給回路からの電源ラインをゲーム装置10(本体装置10a)に内蔵されるバッテリを充電するための充電回路に接続するための端子である。また、下側端子36は、充電台50との間で有線通信するための端子でもある。
なお、図3に示すゲーム装置10の電気的な構成は一例であり、限定されるべきでない。たとえば、入力手段として、タッチパネルをさらに設けてもよい。この場合、タッチパネルは、表示装置12上に設けられる。または、タッチパネルが表示装置12と一体的に構成されたタッチディスプレイが設けられてもよい。また、ゲーム装置10の向き(姿勢)または/および動きを検出するための慣性センサ(加速度センサまたは/およびジャイロセンサ)が設けられてもよい。
図4は、図1ないし図3に示した第1コントローラ14の電気的な構成を示すブロック図である。図4に示すように、第1コントローラ14は、コントローラ制御部70を含み、コントローラ制御部70には、端子72、通信モジュール74、メモリ76、操作ボタン群78、アナログスティック80および振動部82が接続される。
コントローラ制御部70は、たとえば、マイクロコンピュータで構成され、第1コントローラ14を全体制御する。端子72は、第1コントローラ14が本体装置10aに装着されている場合に、本体装置10aの左側端子28と電気的に接続するために設けられる。通信モジュール74は、第1コントローラ14が本体装置10aから分離されている場合に、本体装置10aと通信可能に接続するために設けられる。上述したように、本体装置10aに設けられるコントローラ通信部26は、Bluetooth(登録商標)の規格に従う無線通信方式を採用するため、通信モジュール74も、Bluetooth(登録商標)の規格に従う無線通信方式を採用する。
したがって、コントローラ制御部70は、第1コントローラ14が本体装置10aに装着されている場合には、操作ボタン群78または/およびアナログスティック80の操作データを受け付けて、受け付けた操作データを端子72から出力する。一方、コントローラ制御部70は、第1コントローラ14が本体装置10aから分離されている場合には、上記のような操作データを受け付けて、受け付けた操作データを通信モジュール74から上記の無線通信方式に従って本体装置10aに送信する。
また、コントローラ制御部70は、第1コントローラ14が本体装置10aに装着されている場合には、端子72から入力される振動データを受信(取得)する。一方、コントローラ制御部70は、第1コントローラ14が本体装置10aから分離されている場合には、上記のような振動データを通信モジュール74で受信し、取得する。
メモリ76は、たとえば、フラッシュメモリ等の不揮発性の記憶装置であり、ファームウェアおよび第1コントローラ14の識別情報(コントローラID)を記憶する。コントローラ制御部70は、メモリ76に記憶されるファームウェアを実行することによって各種の処理を実行する。また、コントローラ制御部70は、第1コントローラ14を本体装置10aと無線通信可能に接続したとき、コントローラIDを本体装置10aに通知する。
操作ボタン群78は、上述した各種の操作ボタン14aに相当し、アナログスティック80は、上述したアナログスティック14bに相当する。操作ボタン群78およびアナログスティック80に対して行なわれた操作に関する情報(操作データ)は、所定周期でコントローラ制御部70に繰り返し出力される。
振動部82は、モータドライバ82aおよび振動モータ82bを含み、モータドライバ82aがコントローラ制御部70によって制御される。コントローラ制御部70は、本体装置10aから送信される振動データに従って振動モータ82bを制御する。すなわち、コントローラ制御部70は、本体装置10aから振動データを受信(取得)すると、取得した振動データをモータドライバ82aに出力する。モータドライバ82aは、コントローラ制御部70からの振動データから振動モータ82bを振動させるための駆動信号を生成し、生成した駆動信号を振動モータ82bに与える。このため、振動モータ82bは、本体装置10aからの振動データに従って動作する。
たとえば、振動モータ82bは、リニアモータであり、音声信号のようなアナログ信号(振動信号)の入力波形(振動波形)に応じたパターンで出力(振動)する。ただし、この実施例では、振動データは、アナログ信号(振動信号)の各時点の信号値(周波数および振幅)に対応する、周波数の値と振幅に対応する電圧値の組についてのデータである。振動モータ82bとしてのリニアモータは、振動信号の各時点での信号値に応じて、振動データが示す電圧値を、振動データが示す周波数で増減するように印加することで、内部の錘の位置を変えることにより、入力波形に応じたパターンで出力する。
なお、この実施例では、振動モータ82bとして、リニアモータを用いるようにしてあるが、これに限定される必要は無く、たとえば、圧電素子またはボイスコイルを用いることもできる。
また、図4に示す第1コントローラ14の電気的な構成は一例であり、限定されるべきでない。たとえば、第1コントローラ14の向き(姿勢)または/および動きを検出するための慣性センサ(加速度センサまたは/およびジャイロセンサ)が設けられてもよい。
図5は、図1ないし図3に示した第2コントローラ16の電気的な構成を示すブロック図である。図5に示すように、第2コントローラ16は、コントローラ制御部90を含み、コントローラ制御部90には、端子92、通信モジュール94、メモリ96、操作ボタン群98、アナログスティック100および振動部102が接続される。
図5に示すように、この実施例では、第2コントローラ16の電気的な構成は、図4に示した第1コントローラ14の電気的な構成と同じであるため、各コンポーネントについての説明は省略する。
なお、この実施例では、第1コントローラ14および第2コントローラ16の電気的な構成を同じにしてあるが、同じである必要はない。
図6はゲーム装置10の使用態様の一例(第1態様)を示す図解図である。図6に示すように、第1態様のゲーム装置10では、第1コントローラ14および第2コントローラ16は、本体装置10aに装着された状態で使用される。この場合、プレイヤは両手でゲーム装置10を把持し、左手で第1コントローラ14を操作するとともに、右手で第2コントローラ16を操作する。つまり、ゲーム装置10は携帯型のゲーム装置として機能する。
したがって、第1コントローラ14が操作されると、操作データがコントローラ制御部70から端子72および左側端子28を介してCPU20に入力される。同様に、第2コントローラ16が操作されると、操作データがコントローラ制御部90から端子92および右側端子30を介してCPU20に入力される。
また、CPU20からの振動データは、左側端子28および第1コントローラ14の端子72を介してコントローラ制御部70に入力される。同様に、CPU20からの振動データは、右側端子30および第2コントローラ16の端子92を介してコントローラ制御部90に入力される。
第1コントローラ14では、コントローラ制御部70はモータドライバ82aに振動データを入力し、モータドライバ82aは振動データに従って振動モータ82bを駆動する。また、第2コントローラ16では、コントローラ制御部90はモータドライバ102aに振動データを入力し、モータドライバ102aは振動データに従って振動モータ102bを駆動する。
第1コントローラ14に設けられた振動モータ82bが駆動すると、振動モータ82bによって発生される振動がゲーム装置10を把持する両手に伝達される。また、第2コントローラ16に設けられた振動モータ102bが駆動すると、振動モータ102bによって発生される振動がゲーム装置10を把持する両手に伝達される。つまり、プレイヤは、振動を両手で知覚する。
なお、振動モータ82bと振動モータ102bは、同時に駆動されてもよいし、別々に振動されてもよい。また、振動モータ82bと振動モータ102bには、同じ内容(周波数および電圧値)の振動データが入力されてもよいし、異なる内容の振動データが入力されてもよい。これらのことは後述する第2態様および第3態様についても同じである。
図7はゲーム装置10の使用態様の他の例(第2態様)を示す図解図である。図7に示すように、第2態様のゲーム装置10では、第1コントローラ14および第2コントローラ16は、本体装置10aから分離された状態で使用される。この場合、プレイヤは、左手で第1コントローラ14を把持し、右手で第2コントローラ16を把持し、本体装置10aは机または台の上に立てた状態で載置される。ただし、本体装置10aを立てた状態とは、本体装置10aに設けられた表示装置12の表示面が水平面に対して垂直な状態または垂直から少し傾斜した状態を意味する。たとえば、本体装置10aを充電台50に載置することにより、本体装置10aを立てた状態にすることができる。
第2態様において、第1コントローラ14が操作されると、コントローラ制御部70からの操作データが通信モジュール74から送信され、コントローラ通信部26で受信され、CPU20に入力される。同様に、第2コントローラ16が操作されると、コントローラ制御部90からの操作データが通信モジュール94から送信され、コントローラ通信部26で受信され、CPU20に入力される。
また、CPU20からの振動データは、コントローラ通信部26から送信され、第1コントローラ14の通信モジュール74で受信され、コントローラ制御部70に入力される。同様に、CPU20からの振動データは、コントローラ通信部26から送信され、第2コントローラ16の通信モジュール94で受信され、コントローラ制御部90に入力される。
第1態様で説明したように、第1コントローラ14の振動モータ82bはコントローラ制御部70からの振動データに従って駆動され、第2コントローラ16の振動モータ102bはコントローラ制御部90からの振動データに従って駆動される。
第1コントローラ14に設けられた振動モータ82bが駆動すると、振動モータ82bによって発生される振動が第1コントローラ14を把持する左手に伝達され、第2コントローラ16に設けられた振動モータ102bが駆動すると、振動モータ102bによって発生される振動が第2コントローラ16を把持する右手に伝達される。つまり、プレイヤは、振動を左手および右手のそれぞれで知覚する。
なお、第1コントローラ14および第2コントローラ16を本体装置10aから分離して使用する場合には、無線通信可能に接続する必要がある。この実施例では、Bluetooth(登録商標)の規格に従って無線通信を行うため、ゲーム装置10(本体装置10a)の電源をオンしたとき、または、ゲームのようなアプリケーションを開始するときに、本体装置10aはコントローラ(14,16など)と接続する(ペアリング)。
この場合、本体装置10a(親機)はコントローラ(14,16などの子機)を検索可能なモード(ペアリングモード)に設定され、一方、コントローラ(14,16など)も所定の操作ボタン(14a,16aなど)を操作することにより、本体装置10aを検索可能なペアリングモードに設定される。本体装置10aは、所定の信号を発信しているコントローラ(14,16など)を検索し、コントローラ(14,16など)を検出すると、接続を実行する。接続が完了すると、本体装置10aは、接続されたコントローラ(14,16など)の識別情報(コントローラID)を登録する。後述する第3コントローラ120などの別のコントローラが無線通信可能に本体装置10aに接続される場合についても同様である。
図8はゲーム装置10の使用態様のその他の例(第3態様)を示す図解図である。図8に示すように、第3態様のゲーム装置10では、第2態様の場合と同様に、第1コントローラ14および第2コントローラ16は、本体装置10aから分離された状態で使用される。ただし、第3態様では、第1コントローラ14および第2コントローラ16は、接続部材18を用いて連結され、第1コントローラ14および第2コントローラ16が一体的に設けられた1つのコントローラ(以下、「コントローラ110」と呼ぶことがある)として使用される。
詳細な説明は省略するが、接続部材18は、四角柱の形状または中空の六面体の形状に形成されており、レール部材10bと同じレール部材が第1コントローラ14を着脱する面(第1の側面)に設けられるとともに、レール部材10cと同じレール部材が第2コントローラ16を着脱する面(第2の側面)に設けられる。ただし、第1の側面は、第2の側面と反対側の面である。
第3態様では、プレイヤは、コントローラ110を両手で把持し、左手で第1コントローラ14を操作するとともに、右手で第2コントローラ16を操作する。また、第2態様と同様に、本体装置10aは机または台の上に立てた状態で載置される。
したがって、第1コントローラ14が操作されると、コントローラ制御部70からの操作データが通信モジュール74から送信され、コントローラ通信部26で受信され、CPU20に入力される。同様に、第2コントローラ16が操作されると、コントローラ制御部90からの操作データが通信モジュール94から送信され、コントローラ通信部26で受信され、CPU20に入力される。
また、CPU20からの振動データは、コントローラ通信部26から送信され、第1コントローラ14の通信モジュール74で受信され、コントローラ制御部70に入力される。同様に、CPU20からの振動データは、コントローラ通信部26から送信され、第2コントローラ16の通信モジュール94で受信され、コントローラ制御部90に入力される。
この場合にも、第1態様で説明したように、第1コントローラ14の振動モータ82bはコントローラ制御部70からの振動データに従って駆動され、第2コントローラ16の振動モータ102bはコントローラ制御部90からの振動データに従って駆動される。
第1コントローラ14に設けられた振動モータ82bが駆動すると、振動モータ82bによって発生される振動がコントローラ110を把持する両手に伝達される。また、第2コントローラ16に設けられた振動モータ102bが駆動すると、振動モータ102bによって発生される振動がコントローラ110を把持する両手に伝達される。つまり、プレイヤは、振動を両手で知覚する。
図9はゲーム装置10の使用態様のさらに他の例(第4態様)を示す図解図である。図9に示すように、第4態様のゲーム装置10では、第1コントローラ14および第2コントローラ16に代えて、第3コントローラ120が使用される。この場合、本体装置10aと第3コントローラ120によってゲーム装置10が構成される。
なお、図9に示す例では、第1コントローラ14および第2コントローラ16を本体装置10aから分離してあるが、第1コントローラ14および第2コントローラ16を使用しない場合には、これらは本体装置10aに装着された状態であってもよい。
第4態様では、プレイヤは、第3コントローラ120を両手で把持して操作する。また、第2態様および第3態様と同様に、本体装置10aは机または台の上に立てた状態で載置される。
第3コントローラ120は、各種の操作ボタン120aおよび左右2つのアナログスティック(左側アナログスティック158および右側アナログスティック160)120bを備える。また、第3コントローラ120は、左右2つのグリップ部のそれぞれの内部に振動モータ(振動モータ162bおよび振動モータ164b)120cが設けられる。このような構成の第3コントローラ120は、操作する機能および振動を知覚させる機能については、第3態様のコントローラ110と同様であるが、このコントローラ110よりも把持し易いコントローラと言える。
図10は、第3コントローラ120の電気的な構成を示すブロック図である。図10に示すように、第3コントローラ120は、コントローラ制御部150を含み、コントローラ制御部150には、通信モジュール152、メモリ154、操作ボタン群156、左側アナログスティック158、右側アナログスティック160、左側振動部162および右側振動部164が接続される。左側振動部162は、モータドライバ162aおよび振動モータ162bを含み、モータドライバ162aがコントローラ制御部150に接続される。また、右側振動部164は、モータドライバ164aおよび振動モータ164bを含み、モータドライバ164aがコントローラ制御部150に接続される。また、操作ボタン群156が各種の操作ボタン120aに相当する。
図10に示す各コンポーネントは、図4に示した第1コントローラ14に設けられる各コンポーネントと同様の機能を有するため、重複する説明は省略することにする。
なお、第3コントローラ120は、本体装置10aに装着しないため、端子72および端子92のような端子は設けられていない。ただし、第3コントローラ120を、信号ケーブルを用いて本体装置10aと接続可能にする場合には、信号ケーブルを接続するための端子が本体装置10aおよび第3コントローラ120のそれぞれに設けられる。
第4態様では、第3コントローラ120が操作されると、コントローラ制御部150からの操作データが通信モジュール152から送信され、コントローラ通信部26で受信され、CPU20に入力される。
また、CPU20からの振動データは、コントローラ通信部26から送信され、第3コントローラ120の通信モジュール152で受信され、コントローラ制御部150に入力される。第3コントローラ120では、コントローラ制御部150が振動データに従って、左側振動部162の振動モータ162bを駆動し、右側振動部164の振動モータ164bを駆動する。ただし、CPU20から送信される振動データは、振動モータ162bおよび振動モータ164bで同じ内容でもよいし、それぞれ異なる内容でもよい。
第3コントローラ120の左側のグリップ部に設けられた振動モータ162bが駆動すると、振動モータ162bによって発生される振動が第3コントローラ120を把持する両手に伝達される。また、第3コントローラ120に設けられた振動モータ164bが駆動すると、振動モータ164bによって発生される振動が第3コントローラ120を把持する両手に伝達される。つまり、プレイヤは、振動を両手で知覚する。
この実施例では、第1コントローラ14および第2コントローラ16とは別のコントローラとして図9に示すような形状の第3コントローラ120を使用するようにしてあるが、別のコントローラの形状は限定される必要はない。たとえば、モデルガンの形状、アニメキャラクタまたはゲームキャラクタを模した形状、楽器を模した形状または筆記用具を模した形状のような他の形状のコントローラが使用されてもよい。このように、筐体の形状が他の形状であるコントローラのみならず、第1コントローラ14または/および第2コントローラ16をアタッチメントに装着したコントローラも別のコントローラとして使用することができる。たとえば、乗用車、航空機などのハンドルを模した形状のアタッチメント、モデルガンの形状のアタッチメント、剣を模した形状のアタッチメントなどを用いることができる。
たとえば、コントローラの形状が異なる場合には、コントローラの重さも異なる場合があると考えられる。また、コントローラの形状が異なる場合には、コントローラの筐体に内蔵される振動モータの配置位置が異なると考えられる。これらのことは、アタッチメントに第1コントローラ14または/および第2コントローラ16を装着する場合も同様である。つまり、第1態様で第1コントローラ14および第2コントローラ16を本体装置10aに装着してゲーム装置10を振動させる場合と、第2態様で第1コントローラ14および第2コントローラ16を個別に振動させる場合と、第3態様で第1コントローラ14および第2コントローラ16(コントローラ110)を一体的に振動させる場合と、第4態様で第3コントローラ120などの別のコントローラを振動させる場合では、振動させる装置全体としての特性が異なる。ただし、この実施例では、装置とは、ゲーム装置10、第1コントローラ14、第2コントローラ16、コントローラ110および別のコントローラ(第3コントローラ120など)を意味する。また、装置全体の特性とは、装置全体の形状、装置全体の重さおよび装置全体における振動モータの配置位置の少なくとも1つを意味する。装置全体の特性が異なる場合には、プレイヤが知覚する振動も異なると考えられる。
図11は第1コントローラ14、第2コントローラ16および第3コントローラ120に設けられる振動モータ82b、102b、162b、164b(14c,16c,120c)に所定の印加電圧E(ここでは、定格の3Vpp)を印加した場合の周波数f(Hz)に対応する振動加速度a(m/s)の変化を示すグラフの一例である。ここで、振動加速度aとは、所定の印加電圧Eを印加した場合に、振動する物体の加速度の最大値と最小値の差を示す値である。振動加速度aは、振動モータ82b、102b、162b、164bを組み込んだ製品の重量等によって差が出る値であるが、図11では、特定の条件における印加電圧Eと振動加速度aとの関係を示している。
なお、周波数fが一定の場合、振動加速度aが大きいほど、振幅Aが大きい振動となる。一方、振動加速度aが一定の場合には、周波数fが高いほど、振幅Aが小さい振動となる。
図11に示すように、この実施例で使用される振動モータ82b、102b、162b、164bでは、周波数fが約100Hzから500Hzの間において、振動加速度aが変化する。したがって、振動モータ82b、102b、162b、164bでは、振動加速度aが変化し、さらに周波数fを変化させることによっても、振幅が変化する。また、図11のグラフからも分かるように、この実施例で使用される振動モータ82b、102b、162b、164bは、160Hz付近(図中(ア)の部分)と320Hz付近(図中(イ)の部分)の2点において共振周波数を有し、振動加速度aが大きくなるような振動モータである。
なお、この実施例で使用される振動モータ82b、102b、162b、164bでは、振動モータの筐体に対して、錘が斜め方向に振動するため、振動モータの筐体の縦方向と横方向に対応する2つの共振周波数を持つように構成される。
この実施例では、アプリケーションプログラムからオペレーティングシステムに振動データが入力される。そして、オペレーティングシステムから第1コントローラ14、第2コントローラ16および第3コントローラ120に振動データが送信される。アプリケーションプログラムおよびオペレーティングシステムは、それぞれ、CPU20によって実行されるため、CPU20は、アプリケーション実行部として機能するとともに、オペレーティングシステム実行部として機能する。また、オペレーティングシステム実行部は、本体機能を制御するため、CPU20は、振動モータ82b、102b、162b、164bの振動を制御する振動制御部としても機能する。
上述したように、この実施例では、ゲーム装置10の使用態様に応じて使用されるコントローラが異なる場合があり、また、第1コントローラ14および第2コントローラ16に振動データを送信するときの通信方法が異なる場合がある。このため、この実施例では、振動制御を有するアプリケーションの開始時または所定のイベントが発生したときなどのタイミングで、ゲーム装置10の使用態様を判別するようにしてある。
ただし、ゲーム装置10の使用態様を判別する前に、第1コントローラ14および第2コントローラ16が本体装置10aに装着されているかどうかが判断されるとともに、第1コントローラ14および第2コントローラ16が本体装置10aから分離されている場合には、本体装置10aと第1コントローラ14、第2コントローラ16および別のコントローラ(第3コントローラ120)との間でペアリング処理が実行される。
たとえば、ゲームのアプリケーションプログラムが実行される場合には、プレイヤは、ゲーム装置10の使用態様の設定画面(図示せず)を参照して、第1態様−第4態様のいずれの使用態様でゲームをプレイするのかを選択する。また、第4態様においては、第3コントローラ120などの別のコントローラの種類を選択できる場合もある。この選択結果が本体機能を制御するオペレーティングシステムに通知される。ただし、アプリケーションプログラムの種類によっては、予め決定されたゲーム装置10の使用態様または/および第3コントローラ120などの別のコントローラの使用の有無が強制的に選択されることもある。
なお、後述するように、複数人でゲームをプレイする場合には、プレイヤ毎に使用するコントローラが選択される。このため、複数人でゲームをプレイする場合には、アプリケーションプログラムは、プレイヤ毎に使用するコントローラを識別し、オペレーティングシステムに、振動を提示するプレイヤが使用するコントローラに振動を発生させることを指示するとともに、提示する振動についての振動データを送る(入力)する。
第1態様でゲーム装置10が使用される場合には、CPU20は、振動データを有線通信で第1コントローラ14および第2コントローラ16に送信する。また、第2態様または第3態様でゲーム装置10が使用される場合には、CPU20は、振動データを無線通信で第1コントローラ14および第2コントローラ16に送信する。第1コントローラ14では、コントローラ制御部70からの振動データに従って振動モータ82bが駆動され、第2コントローラ16では、コントローラ制御部90からの振動データに従って振動モータ102bが駆動される。振動データに含まれる振幅Aを示す電圧値の印加電圧Eが振動モータ82bおよび振動モータ102bに印加される。ただし、振動データで指定する電圧値に対して振幅が一意に決まるわけではなく、実際の振動の振幅は、振動の周波数fや装置の筐体の特性によって定まる。
ここで、図11に示したように、同じ電圧値(図11では3Vpp)の印加電圧Eを印加した場合であっても、電圧を増減させる周波数fによって、振動モータ82b、102bによって発生する振動加速度aは変化する。特に、共振周波数およびそれを含む近傍の周波数帯では、振動加速度aが大きくなり、第1コントローラ14および第2コントローラ16の筐体の振動特性によっては、カタカタ(ガタガタ)という不快な音(ビビリ音)が発生することがある。
この実施例では、周波数fを示す値と振幅Aを示す電圧値との組み合わせからなる振動データについて、周波数fが共振周波数を含む近傍の周波数であった場合に、振幅Aを示す電圧値の印加電圧Eに所定の係数(リミッター係数)を掛けることにより、実際に振動モータ82b、102bに入力する印加電圧Eを低減させるようにしてある。つまり、共振周波数およびその近傍の周波数においては、印加電圧Eの大きさが制限される。このようにするため、この実施例の振動モータ82b、102bによって振動を提示する周波数の全帯域(たとえば、80Hz〜600Hz)において、ほぼ均等な振動加速度aで振動を提示することができる。
図12はこの実施例において第1コントローラ14および第2コントローラ16に印加する印加電圧Eの周波数変化を示すグラフの一例である。図12では、振動を提示する全周波数帯のうち、2つの共振周波数を含む周波数帯について図示してある。このことは、後述する図13についても同じである。
図12に示すように、周波数fが160Hzから170Hzでは、定格(3Vpp)の印加電圧Eが印加され、周波数fが170Hzから178Hzまでは線形的に印加電圧Eが低減される。周波数fが178Hzでは、2.04Vppの印加電圧Eが印加される。周波数fが178Hzから190Hzまでは、2.04Vppの印加電圧Eが印加され、190Hzから200Hzまでは線形的に定格(3Vpp)まで印加電圧Eが増大される。周波数fが200Hzから310Hzまでは、定格(3Vpp)の印加電圧Eが印加され、310Hzから322Hzまでは線形的に印加電圧Eが低減される。周波数fが322Hzでは、1.71Vppの印加電圧Eが印加される。周波数fが322Hzから344Hzまでは、1.71Vppの印加電圧Eが印加され、344Hzから356Hzまでは線形的に定格(3Vpp)まで印加電圧Eが増大される。周波数fが356Hzから380Hzまでは、定格(3Vpp)の印加電圧Eが印加される。
このように、この実施例においては、比較的広い周波数帯において印加電圧Eを低減するようにしてある。上述の通り、この実施例においては、振動モータ82b、102bの共振周波数付近において印加電圧Eを低減するように制御している。しかし、振動モータ82b、102bの共振周波数は、製造誤差等の理由によって個体毎に微妙な差が出ることがある。この実施例のように比較的広い周波数帯において印加電圧Eを低減することで、個体毎の差に対応できる。
なお、図12に示すグラフでは、図面の都合上、目盛幅を周波数帯の前半(周波数fが160Hzから210Hz)と後半(周波数fが280Hzから380Hz)とで変えてある。このことは、図13に示すグラフについても同じである。
上述したように、この実施例では、第4態様でゲーム装置10を使用する場合には、第1コントローラ14および第2コントローラ16に代えて、第3コントローラ120が使用される。
また、第4態様でゲーム装置10が使用され、別のコントローラとして第3コントローラ120が使用される場合には、CPU20は、振動データを無線通信で第3コントローラ120に送信する。第3コントローラ120では、コントローラ制御部150からの振動データに従って振動モータ162bおよび振動モータ164bが駆動される。第4態様においても、振動データに含まれる振幅Aを示す電圧値の印加電圧Eが振動モータ162bおよび振動モータ164bに印加される。
図13はこの実施例において第3コントローラ120に印加する印加電圧Eの周波数変化を示すグラフの一例である。
図13に示すように、第4態様において、第3コントローラ120を使用する場合には、周波数fが160Hzから322Hzでは、定格(3Vpp)の印加電圧Eが印加され、周波数fが322Hzから344Hzまでは線形的に低減させる。周波数fが344Hzでは、1.71Vppの印加電圧Eが印加される。周波数fが344Hzから356Hzまでは、印加電圧Eは線形的に定格(3Vpp)まで増大される。周波数fが356Hzから380Hzまでは、定格(3Vpp)の印加電圧Eが印加される。
第4態様において、第3コントローラ120を使用する場合には、第1態様−第3態様と比較して、印加電圧Eを低減させる周波数の帯域が狭い。また、図13からも明らかなように、160Hzの共振周波数およびその近傍の周波数帯では、印加電圧Eは低減されない。また、320Hzの共振周波数およびその近傍の周波数帯においても、印加電圧Eが低減される帯域が狭くされる。
このように、第4態様において、第3コントローラ120を使用する場合に、第1態様−第3態様とは異なる変化の印加電圧Eを印加するのは、第3コントローラ120はコントローラ110よりも重たいため、第1コントローラ14および第2コントローラ16の振動モータ82bおよび振動モータ102bと同じ印加電圧Eを印加すると、伝達される振動が弱くなってしまうからである。つまり、振動させる装置の特性が異なるからである。また、第3コントローラ120では、320Hzの共振周波数およびその近傍の周波数帯においても、不快な音(ビビリ音)が発生するほど、振動が強くならないため、局所的に電圧値を低減するようにしてある。
このため、第4態様では、振動を提示する周波数の全帯域において、定格(3Vpp)を超えない範囲で、第1態様−第3態様の印加電圧Eよりも大きくすることにより、コントローラ110および第3コントローラ120のいずれを使用した場合にも、プレイヤが同様に振動を知覚するようにしてある。
なお、プレイヤが知覚する振動を、使用態様毎に必ずしも一致させる必要はない。上述したように、この実施例においても、第1態様−第3態様おいて、第1コントローラ14および第2コントローラ16に印加する印加電圧Eの変化率を、振動を提示する周波数fの全帯域において同じにしてある。すなわち、第1態様−第3態様の間においては、使用態様毎に振動を調整していない。これは、この実施例の第1態様−第3態様のように、使用態様が大きく異なる場合、ユーザが感じる振動に違いがあっても、振動が違う理由をユーザが認識しやすく、違和感を生じにくいためである。一方で、第3態様と第4態様は共に両手でコントローラ(110,120)を把持する態様であり、使用態様が近いため、振動に違いに基づく違和感が生じやすい。そのため、第3態様と第4態様の間においては、本発明のような調整が適している。
ただし、上述したように、実際には、第1態様ではコントローラ(14,16)と本体装置10aが一体となったゲーム装置10全体が振動し、第2態様では第1コントローラ14と第2コントローラ16のそれぞれが振動し、第3態様では接続部材18によって接続されて一体となったコントローラ110が振動しており、同じ振幅A、周波数fで振動モータ82b、102bを振動させた場合に、第1態様−第3態様の各々においてユーザが感じる振動は違う。したがって、第1態様−第3態様のそれぞれにおいても、各態様において振動するもの(ゲーム装置10全体、個別のコントローラ(14,16)、一体となったコントローラ110(14+16))の特性に合わせて、周波数帯毎の印加電圧Eの変化率を調整してもよい。
上記の例では、ゲーム装置10を構成する第1コントローラ14および第2コントローラを使用する場合と、第1コントローラ14および第2コントローラに代えて、これらのコントローラ(14,16)とは別の第3コントローラ120を使用する場合について説明した。ただし、この実施例のゲーム装置10では、第1コントローラ14および第2コントローラ16を使用するとともに、第3コントローラ120も同時に使用することもできる。
図14はこの実施例のゲームシステム(振動制御システム)200の一例を示す図解図である。図14に示すように、ゲームシステム200では、ゲーム装置10および第3コントローラ120を含み、ゲーム装置10を構成する第1コントローラ14および第2コントローラ16(コントローラ110)とともに、第3コントローラ120が使用される。したがって、本体装置10aから第1コントローラ14、第2コントローラ16および第3コントローラ120に同時に振動データが送信されると、コントローラ110および第3コントローラ120を同時に振動させることができる。
ゲームシステム200は、充電台50およびテレビジョン受像機60をさらに含み、充電台50はたとえばHDMI(登録商標)ケーブルのようなケーブルを用いてテレビジョン受像機60に接続されるとともに、この充電台50と通信可能な状態で当該充電台50に本体装置10aが載置される。したがって、本体装置10aからAVデータがテレビジョン受像機60に送信されると、テレビジョン受像機60のモニタにゲーム画面が表示され、テレビジョン受像機60のスピーカから音声または/および音楽が出力される。
また、ゲームシステム200では、コントローラ110を第1プレイヤが使用し、第3コントローラ120を第2プレイヤが使用することにより、二人のプレイヤがゲームをプレイする。この場合、ゲーム装置10第3態様で使用される。ただし、第1プレイヤは、第1コントローラ14および第2コントローラ16を個別に使用してもよい。つまり、ゲーム装置10を第2態様で使用することもできる。
このようなゲームシステム200では、本体装置10aは、第1コントローラ14および第2コントローラ16のみならず、第3コントローラ120と通信可能に接続される。この場合、本体装置10aは、第1コントローラ14、第2コントローラ16および第3コントローラ120の識別情報を取得する。
また、本体装置10aは、ゲーム装置10が第2態様で使用されるのか、第3態様で使用されるのかを知る必要がある。ただし、第1コントローラ14および第2コントローラ16に加えて、第3コントローラ120が使用される場合には、第3コントローラ120は第4態様の場合と同様に振動制御される。つまり、第4態様の場合の係数データが使用される。
このため、上述したように、ゲームのアプリケーションプログラムが実行される場合に、複数人でゲームをプレイすることが選択されると、各プレイヤは使用するコントローラを選択する。また、第1コントローラ14および第2コントローラ16を使用するプレイヤは、さらに、ゲーム装置10を第2態様または第3態様で使用することを選択する。
ゲームシステム200においても、アプリケーションプログラムは、ゲーム装置10の使用態様の情報を、本体機能の実行を制御するオペレーティングシステムに通知する。
ただし、本体装置10aでは、アプリケーションプログラムが、コントローラ110(第1コントローラ14および第2コントローラ16)を使用するプレイヤと第3コントローラ120を使用するプレイヤを識別する。アプリケーションプログラムは、振動を提示するプレイヤが使用するコントローラを決定して、オペレーティングシステムに、決定したコントローラに振動を発生させることを指示するとともに、提示する振動についての振動データを送る(入力する)。オペレーティングシステムは、アプリケーションプログラムから振動データを受信すると、振動を発生させるコントローラのコントローラIDを振動データに付加して送信する。
なお、本体装置10aには、最大で8つのコントローラを接続することができるため、図14においては、第3コントローラ120をさらに接続することができる。
また、上述したように、第3コントローラ120とは、形状または/および重さの異なる他のコントローラが接続されてもよい。
図15は図3に示したRAM22のメモリマップ300の一例を示す図解図である。図15に示すように、RAM22は、プログラム記憶領域302およびデータ記憶領域304を含む。プログラム記憶領域302には、各種プログラムが記憶される。各種プログラムは、ゲーム装置10に電源が投入された後の適宜のタイミングでフラッシュメモリ24からその一部または全部が読み出されてRAM22に記憶される。
なお、各種プログラムは、フラッシュメモリ24に代えて、ゲーム装置10に着脱可能なメモリまたは光ディスクから取得されても良いし、ゲーム装置10が他の情報処理装置(コンピュータ)との通信機能を備える場合には、当該他の情報処理装置から、直接的にまたはネットワークを介して取得(ダウンロード)されてもよい。
図15に示すように、プログラム記憶領域302には、メイン処理プログラム302a、画像生成プログラム302b、画像表示プログラム302c、通信プログラム302d、操作検出プログラム302e、使用態様判別プログラム302f、プレイヤ設定プログラム302g、振動制御プログラム302hおよびアプリケーションプログラム302iなどが記憶される。
メイン処理プログラム302aは、ゲーム装置10の動作のメインルーチンを処理するためのプログラム(オペレーティングシステム)である。画像生成プログラム302bは、ポリゴンデータやテクスチャデータなどのデータを含む画像生成用データ304bを用いて、表示装置12に表示する画像に対応する画像データを生成するためのプログラムである。画像表示プログラム302cは、画像生成プログラム302bに従って生成した画像データを表示装置12に出力するためのプログラムである。
通信プログラム302dは、第1コントローラ14、第2コントローラ16および第3コントローラ120などのコントローラとの間でデータの送受信(通信)を行うためのプログラムである。操作検出プログラム302eは、第1コントローラ14、第2コントローラ16および第3コントローラ120などのコントローラからの操作データを検出し、操作データバッファ304aに記憶するためのプログラムである。ただし、各コントローラから送信される操作データには、当該コントローラを個別に識別可能な情報が付加される。
使用態様判別プログラム302fは、第1コントローラ14および第2コントローラ16の使用態様を判別するためのプログラムである。ただし、使用態様判別プログラム302fは、第3コントローラ120を使用するかどうかについても判別する。プレイヤ設定プログラム302gは、複数のプレイヤがアプリケーションを使用(操作)する場合に、プレイヤ毎に使用するコントローラ(14,16,110,120)の種類を設定するためのプログラムである。
振動制御プログラム302hは、アプリケーションプログラム302iからの要求に応じて、本体装置10aに通信可能に接続されたコントローラ(14,16,120)に設けられる振動モータ82b、102b、162b、164b(14c,16c,120c)を駆動制御するためのプログラムである。アプリケーションプログラム302iは、上述したように、ゲームなどのアプリケーションについてのプログラムである。ただし、この実施例では、アプリケーションプログラム302iの実行中に、振動を提示することがオペレーティングシステムに要求(指示)されるとともに、振動データがオペレーティングシステムに入力されることがある。また、この明細書においては、アプリケーションプログラム302iは、本体機能には含まれないプログラムを意味することにする。
なお、図示等は省略するが、プログラム記憶領域302には、メッセージの送受信を行う他の本体機能についてのプログラムも記憶される。また、プログラム記憶領域302には、アプリケーションプログラム302iとは異なる他のアプリケーションプログラムが記憶されることもある。
データ記憶領域304には、操作データバッファ304a、画像生成用データ304b、係数データ304c、使用態様データ304d、第3コントローラ使用データ304eおよび振動データ304fなどが記憶される。
操作データバッファ304aは、操作検出プログラム302eによって検出された操作データを時系列に従って記憶する。画像生成用データ304bは、表示装置12に表示する画像(画面)に対応する画像データを生成するためのポリゴンデータおよびテクスチャデータなどのデータである。
係数データ304cは、周波数帯毎に振動モータ82b、102b、162b、164bの印加電圧Eを調整するための係数についてのデータであり、ゲーム装置10の使用態様に応じて予め設定される。
図16は、係数データ304cの一例を示す図解図である。図16に示すように、第1コントローラ14および第2コントローラ16の使用態様に応じて、周波数fa、fb、…、fnに対応する係数αi、βi(i=1、2、…、n)の組が複数記憶される。この実施例では、周波数fa、fb、…、fnは、振動を提示する周波数の全帯域(80Hzから600Hz)の間において、所定の帯域幅(たとえば、10Hz)毎の代表値である。係数データ304cでは、第1態様−第3態様に対応して、周波数fa、fb、…、fn毎に係数αiが設定され、第4態様(第3コントローラ120を使用)に対応して、周波数fa、fb、…、fn毎に係数βiが設定される。ただし、係数αiおよび係数βiは、第1態様−第4態様で、第1コントローラ14、第2コントローラ16および第3コントローラ120を使用した試験等に基づいて設定される。ただし、係数αiおよび係数βiは数式を用いて算出するようにしてもよい。
なお、上述したように、この実施例では、第1態様−第3態様では、同じ係数データを使用するようにしてあるが、各使用態様では振動させる装置全体の特性が異なるため、第1態様−第3態様においても、異なる係数データを使用するようにしてもよい。
また、この実施例では、第4態様では第3コントローラ120を使用する場合についての係数βiが設定されるが、第3コントローラ120と異なる別のコントローラを使用する場合には、当該別のコントローラに応じた係数が設定される。
図15に戻って、使用態様データ304dは、使用態様判別プログラム302fに従って判別された第1コントローラ14および第2コントローラ16の使用態様についてのデータである。たとえば、使用態様データ304dは、2ビットのレジスタで構成され、第1態様が判別されるとレジスタに“00”が設定され、第2態様が判別されるとレジスタに“01”が設定され、第3態様が判別されるとレジスタに“10”が設定され、第4態様が判別されるとレジスタに“11”が設定される。
第3コントローラ使用データ304eは、第3コントローラ120を使用するかどうかを判別するためのデータである。振動データ304fは、アプリケーションプログラムから入力される振動データであり、使用態様に応じて補正される。振動データ304fを補正するときに、係数データ304cが参照される。振動データ304fが補正されることは、対応する振動信号の波形(振動波形)が周波数帯毎に調整されることに相当する。
図示は省略するが、データ記憶領域304には、ゲーム装置10の動作を制御するために、必要な他のデータが記憶されたり、必要なカウンタ(タイマ)が設けられたりする。
図17および図18は図3に示したCPU20の使用態様判別処理の限定しない一例を示すフロー図である。たとえば、CPU20は、振動を提示する処理を有するアプリケーションが開始されたとき、当該アプリケーションで所定のイベントが発生されたときなどの所定のタイミングに応じて、使用態様判別処理を開始する。
図17に示すように、CPU20は、使用態様判別処理を開始すると、ステップS1で、第1コントローラ14および第2コントローラ16が本体装置10aに装着されているかどうかを判断する。たとえば、CPU20は、装着されているかどうかを確認するための信号を左側端子28および右側端子30から出力し、これに対して、第1コントローラ14および第2コントローラ16から応答があるかどうかを判断する。
ステップS1で“YES”であれば、つまり、第1コントローラ14および第2コントローラ16が本体装置10aに装着されている場合には、ステップS3で、ゲーム装置10の使用態様を第1態様に設定して、図18に示すように、使用態様判別処理を終了する。ステップS3では、CPU20は、レジスタの値が“00”の使用態様データ304dをRAM22のデータ記憶領域304に記憶する。
一方、ステップS1で“NO”であれば、つまり、第1コントローラ14および第2コントローラ16が本体装置10aに装着されていない場合には、ステップS5で、無線により、コントローラの接続登録処理(ペアリング)を実行する。
続いて、ステップS7では、第1コントローラ14および第2コントローラ16との通信接続を完了したかどうかを判断する。ステップS7で“NO”であれば、つまり、第1コントローラ14および第2コントローラ16との通信接続を完了していなければ、ステップS9で、第3コントローラ120との通信接続を完了したかどうかを判断する。
ステップS9で“NO”であれば、つまり、第3コントローラ120との通信接続を完了していなければ、ステップS5に戻る。一方、ステップS9で“YES”であれば、つまり、第3コントローラ120との通信接続を完了すれば、ステップS11で、ステップS5で接続処理を開始してから所定時間(たとえば、5〜10秒)を経過したかどうかを判断する。このことは、後述するステップS19において同じである。
ステップS11で“NO”であれば、つまり、所定時間を経過していなければ、ステップS5に戻る。ステップS11で“YES”であれば、つまり、所定時間を経過すれば、ステップS13で、第4使用態様で第3コントローラ120を使用することを設定して、使用態様判別処理を終了する。具体的には、ステップS13では、CPU20は、レジスタの値が“11”の使用態様データ304dおよび第3コントローラ120を使用することを示す第3コントローラ使用データ304eをRAM22のデータ記憶領域304に記憶する。
また、ステップS7で“YES”であれば、つまり第1コントローラ14および第2コントローラ16との通信接続を完了すれば、ステップS15で、第3コントローラ120との通信接続を完了したかどうかを判断する。ステップS15で“YES”であれば、ステップS17で、第1コントローラ14および第2コントローラ16に加えて第3コントローラ120を使用することを設定して、図18に示すステップS21に進む。具体的には、ステップS17では、CPU20は、第3コントローラ120を使用することを示す第3コントローラ使用データ304eをRAM22のデータ記憶領域304に記憶する。
一方、ステップS15で“NO”であれば、ステップS19で、ステップS5で接続処理を開始してから所定時間を経過したかどうかを判断する。ステップS15で“NO”であれば、ステップS15に戻る。一方、ステップS15で“YES”であれば、ステップS21に進む。
図18では、ステップS21で、アプリケーションプログラムからの通知があるかどうかを判断する。たとえば、アプリケーションプログラムから、第1コントローラ14および第2コントローラ16を、個別に使用する(ゲーム装置10を第2態様で使用する)こと、または、一体的に使用する(ゲーム装置10を第3態様で使用する)ことを識別するための情報が通知される。
ステップS21で“NO”であれば、つまり、アプリケーションプログラムからの通知が無ければ、同じステップS21に戻る。一方、ステップS21で“YES”であれば、つまり、アプリケーションプログラムからの通知があれば、ステップS23で、第1コントローラ14および第2コントローラ16を個別に使用するかどうかを判断する。
ステップS23で“YES”であれば、つまり、第1コントローラ14および第2コントローラ16を個別に使用する場合には、ステップS25で、ゲーム装置10の使用態様を第2態様に設定して、使用態様判別処理を終了する。ステップS25では、CPU20は、レジスタの値が“01”の使用態様データ304dをRAM22のデータ記憶領域304に記憶する。
一方、ステップS23で“NO”であれば、つまり、第1コントローラ14および第2コントローラ16を一体的に使用する(コントローラ110を使用する)場合には、ステップS27で、ゲーム装置10の使用態様を第3態様に設定して、使用態様判別処理を終了する。ステップS27では、CPU20は、レジスタの値が“10”の使用態様データ304dをRAM22のデータ記憶領域304に記憶する。
図19は図3に示したCPU20の振動制御処理の限定しない一例を示すフロー図である。たとえば、CPU20は、アプリケーションプログラムから振動を発生させることを要求(指示)されると、振動制御処理を開始する。ただし、複数のコントローラを使用する場合には、各コントローラについて振動制御処理が並行して実行される。また、第1コントローラ14および第2コントローラ16に同じ振動データを送信する場合には、個別に振動制御処理を実行せずに、一回の振動制御処理によって補正した振動データを両方のコントローラ(14,16)に送信すればよい。
図19に示すように、CPU20は、振動制御処理を開始すると、ステップS51で、アプリケーションプログラムから振動データが入力されたかどうかを判断する。ステップS51で“NO”であれば、つまり、アプリケーションプログラムから振動データが入力されていなければ、ステップS51に戻る。一方、ステップS51で“YES”であれば、つまり、アプリケーションプログラムから振動データが入力されれば、ステップS53で、振動データを一時記憶する。つまり、振動データ304fがRAM22のデータ記憶領域304に記憶される。
次のステップS55では、使用態様に応じて振動データを補正する。ここでは、CPU20は、使用態様データ304dを参照して使用態様を取得し、係数データ304cを参照して、取得した使用態様に対応する係数データを用いて、ステップS53で生成した振動データ304fを補正(更新)する。つまり、振動波形の振幅が調整される。
続いて、ステップS57では、補正した振動データ304fを該当するコントローラ(14,16,120)に送信する。したがって、振動データ304fを受信したコントローラ(14,16,120)では、振動データ304fに基づいて、振動モータ(82b,102b,162b,164b)が駆動される。このため、振動モータ(82b,102b,162b,164b)は、振動信号に応じたパターンで出力(振動)する。
そして、ステップS59では、終了かどうかを判断する。ここでは、CPU20は、振動を提示する処理を有するアプリケーションが終了されたかどうか、または、当該アプリケーションにおいて振動を提示するシーンが終了されたかどうかを判断する。
ステップS59で“NO”であれば、つまり、終了でなければ、ステップS51に戻る。一方、ステップS59で“YES”であれば、つまり、終了であれば、振動制御処理を終了する。
この実施例によれば、使用するコントローラの特性に応じて振動波形をオペレーティングシステム側で調整するので、コントローラが異なる場合であっても、アプリケーションの製作者に装置の特性に応じた振動表現を考えさせること無く、同様の振動を知覚させることができる。
また、この実施例によれば、アプリケーションの製作者に装置の特性に応じた振動表現を考えさせることが無いため、アプリケーションの開発にかかる労力を軽減することができる。
さらに、この実施例によれば、共振周波数およびその近傍の周波数帯においては、制御信号の振幅を低減させるので、振動を提示する全周波数帯において同程度の強さの振動を提示することができる。また、コントローラの筐体からビビリ音が発生するのを防止または抑制することができる。
なお、この実施例では、ゲーム装置10の使用態様に応じて振動データに含まれる振幅に係数を掛けるようにしたが、これに限定される必要はない。たとえば、振動データに含まれる周波数に係数を掛けるようにしてもよいし、振動データに含まれる振幅と周波数の両方に係数を掛けるようにしてもよい。
また、この実施例では、第2態様または第3態様でゲーム装置10を使用する場合には、アプリケーションプログラムからオペレーティングシステムに使用態様を通知するようにしたが、これに限定される必要はない。たとえば、第1コントローラ14および第2コントローラ16をそれぞれ接続部材18に装着したことを電気的に検知する検知手段を設けて、検知手段の検知結果を、第1コントローラ14および第2コントローラ16の各々から本体装置10aに通知するようにしてもよい。このようにすれば、アプリケーションプログラムからの通知を受けずに、オペレーティングシステムで第1態様−第4態様を判別することができる。
さらに、この実施例では、第2態様でゲーム装置10を使用する場合には、第1コントローラ14を或るプレイヤが使用し、第2コントローラ16を他のプレイヤが使用することにより、2人のプレイヤがゲームをプレイすることもできる。また、第2態様でゲーム装置10を使用する場合には、1人のプレイヤが第1コントローラ14または第2コントローラ16を使用して、ゲームをプレイすることもできる。
さらにまた、この実施例では、アプリケーションから入力される振動データは、周波数を示す値および振幅を示す電圧値の組についてのデータであるが、上述したように、振動信号(振動波形)そのものを振動データとすることもできる。かかる場合には、本体装置に内蔵されるCPU20は、振動信号から振動データを生成するようにしてもよい。たとえば、振動信号を所定時間幅(たとえば、5msec〜数10msec)の区間に区切り、各区間について周波数分解し、たとえば、周波数分解の結果に含まれる周波数fと振幅Aとの組み合わせのうち、主たる成分が抽出され、抽出された成分が各区間における代表の値として決定する。その結果、振動信号に対応して、周波数fを示す値と振幅Aを示す電圧値との組み合わせからなるデータの集合が振動データとして得られる。ただし、周波数fと振幅Aの組み合わせのデータの集合を振動データとしてもよい。
また、この実施例では、共振周波数およびその近傍の周波数については印加電圧Eに係数を掛けることにより、印加電圧Eを低減させるようにしてあるが、上記のように、振動信号が入力される場合には、共振周波数の近傍の周波数についてフィルタ(バンドストップフィルタまたは帯域除去フィルタ)を掛けることにより、振動信号において、共振周波数およびその近傍の周波数に対応する振幅のレベルを低減させることにより、印加電圧Eを低減させるようにしてもよい。
さらに、この実施例では、本体装置で係数を掛けて振動データを補正するようにしてあるが、コントローラ側で係数を掛けて振動データを補正するようにしてもよい。
さらにまた、この実施例で示した具体的な装置の外観および数値は一例であり、実際の製品に応じて適宜変更可能である。たとえば、図17−図19に示すフロー図は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。
10 …ゲーム装置
10a …本体装置
12 …表示装置
14,16,110,120 …コントローラ
14a,16a,120a …操作ボタン
20 …CPU
22 …RAM
24 …フラッシュメモリ
26 …コントローラ通信部
28,30,72,92 …端子
70,90,150 …コントローラ制御部
74,94,152 …通信モジュール
76,96,154 …メモリ
78,98,156 …操作ボタン群
80,100,158,160(14b,16b,120b) …アナログスティック
82,102,162,164 …振動部
82b,102b,162b,164b(14c,16c,120c) …振動モータ
使用態様判別プログラム302fは、ゲーム装置10の使用態様を判別するためのプログラムである。ただし、使用態様判別プログラム302fは、第3コントローラ120を使用するかどうかについても判別する。プレイヤ設定プログラム302gは、複数のプレイヤがアプリケーションを使用(操作)する場合に、プレイヤ毎に使用するコントローラ(14,16,110,120)の種類を設定するためのプログラムである。つまり、使用態様判別プログラム302fでは、第1コントローラ14、第2コントローラ16およびこれらと異なる別のコントローラ(第3コントローラ120)の使用態様(接続態様)が判別される。
図16は、係数データ304cの一例を示す図解図である。図16に示すように、ゲーム装置10の使用態様に応じて、周波数fa、fb、…、fnに対応する係数αi、βi(i=1、2、…、n)の組が複数記憶される。この実施例では、周波数fa、fb、…、fnは、振動を提示する周波数の全帯域(80Hzから600Hz)の間において、所定の帯域幅(たとえば、10Hz)毎の代表値である。係数データ304cでは、第1態様−第3態様に対応して、周波数fa、fb、…、fn毎に係数αiが設定され、第4態様(第3コントローラ120を使用)に対応して、周波数fa、fb、…、fn毎に係数βiが設定される。ただし、係数αiおよび係数βiは、第1態様−第4態様で、第1コントローラ14、第2コントローラ16および第3コントローラ120を使用した試験等に基づいて設定される。ただし、係数αiおよび係数βiは数式を用いて算出するようにしてもよい。
図15に戻って、使用態様データ304dは、使用態様判別プログラム302fに従って判別されたゲーム装置10の使用態様についてのデータである。たとえば、使用態様データ304dは、2ビットのレジスタで構成され、第1態様が判別されるとレジスタに“00”が設定され、第2態様が判別されるとレジスタに“01”が設定され、第3態様が判別されるとレジスタに“10”が設定され、第4態様が判別されるとレジスタに“11”が設定される。
第3コントローラ使用データ304eは、第3コントローラ120を使用するかどうかを判別するためのデータである。振動データ304fは、アプリケーションプログラム302iから入力される振動データであり、使用態様に応じて補正される。振動データ304fを補正するときに、係数データ304cが参照される。振動データ304fが補正されることは、対応する振動信号の波形(振動波形)が周波数帯毎に調整されることに相当する。
図18では、ステップS21で、アプリケーションプログラム302iからの通知があるかどうかを判断する。たとえば、アプリケーションプログラム302iから、第1コントローラ14および第2コントローラ16を、個別に使用する(ゲーム装置10を第2態様で使用する)こと、または、一体的に使用する(ゲーム装置10を第3態様で使用する)ことを識別するための情報が通知される。
ステップS21で“NO”であれば、つまり、アプリケーションプログラム302iからの通知が無ければ、同じステップS21に戻る。一方、ステップS21で“YES”であれば、つまり、アプリケーションプログラム302iからの通知があれば、ステップS23で、第1コントローラ14および第2コントローラ16を個別に使用するかどうかを判断する。
図19は図3に示したCPU20の振動制御処理の限定しない一例を示すフロー図である。たとえば、CPU20は、アプリケーションプログラム302iから振動を発生させることを要求(指示)されると、振動制御処理を開始する。ただし、複数のコントローラを使用する場合には、各コントローラについて振動制御処理が並行して実行される。また、第1コントローラ14および第2コントローラ16に同じ振動データを送信する場合には、個別に振動制御処理を実行せずに、一回の振動制御処理によって補正した振動データを両方のコントローラ(14,16)に送信すればよい。
図19に示すように、CPU20は、振動制御処理を開始すると、ステップS51で、アプリケーションプログラムから振動データが入力されたかどうかを判断する。ステップS51で“NO”であれば、つまり、アプリケーションプログラム302iから振動データが入力されていなければ、ステップS51に戻る。一方、ステップS51で“YES”であれば、つまり、アプリケーションプログラム302iから振動データが入力されれば、ステップS53で、振動データを一時記憶する。つまり、振動データ304fがRAM22のデータ記憶領域304に記憶される。

Claims (11)

  1. 振動データを発生する振動データ発生部と、
    前記振動データ発生部が発生した振動データに基づいて、第1の装置を振動させ、前記振動データに対応する振動波形を前記第1の装置の特性とは異なる第2の装置の特性に応じて調整して当該第2の装置を振動させる振動制御部とを備える、振動制御システム。
  2. 前記振動データ発生部が発生する振動データは、当該振動データに対応する振動波形の周波数を示す値と振幅を示す値のデータである、請求項1記載の振動制御システム。
  3. 前記振動制御部は、前記振動波形の振幅を周波数帯毎に調整する、請求項2記載の振動制御システム。
  4. 前記振動データは、前記振動波形の周波数と振幅の値の組についてのデータであり、
    前記振動制御部は、前記周波数帯毎に、各組の前記振幅に係数を掛けることにより前記振動波形を調整する、請求項3記載の振動制御システム。
  5. 前記振動制御部は、前記第1の装置と前記第2の装置を同時に振動させる、請求項1ないし4のいずれかに記載の振動制御システム。
  6. 前記振動データ発生部は、前記第1の装置および前記第2の装置とは別の本体装置に含まれる、請求項1ないし5のいずれかに記載の振動制御システム。
  7. 前記本体装置には、前記第1の装置および前記第2の装置の少なくとも一方が接続され、
    前記振動制御部は、接続された前記第1の装置および前記第2の装置の少なくとも一方から取得した種別情報に基づいて、対応する前記第1の装置および前記第2の装置の少なくとも一方の振動波形を調整する、請求項6記載の振動制御システム。
  8. 前記本体装置はアプリケーションプログラムを実行するアプリケーション実行部を備え、
    前記振動制御部は、前記アプケーション実行部によって実行されるアプリケーションプログラムから通知される前記第1の装置または前記第2の装置の接続態様に応じて、当該第1の装置または当該第2の装置の振動波形を調整する、請求項6記載の振動制御システム。
  9. 振動データを発生する振動データ発生部と、
    前記振動データ発生部が発生した振動データに基づいて、第1の装置を振動させ、前記振動データに対応する振動波形を前記第1の装置の特性とは異なる第2の装置の特性に応じて調整して当該第2の装置を振動させる振動制御部とを備える、振動制御装置。
  10. コンピュータによって実行される振動制御プログラムであって、
    前記コンピュータに、
    振動データを発生する振動データ発生ステップと、
    前記振動データ発生ステップにおいて発生した振動データに基づいて、第1の装置を振動させ、前記振動データに対応する振動波形を前記第1の装置の特性とは異なる第2の装置の特性に応じて調整して当該第2の装置を振動させる振動制御ステップを実行させる、振動制御プログラム。
  11. 振動制御方法であって、
    (a)振動データを発生するステップと、
    (b)前記ステップ(a)において発生した振動データに基づいて、第1の装置を振動させ、前記振動データに対応する振動波形を前記第1の装置の特性とは異なる第2の装置の特性に応じて調整して当該第2の装置を振動させるステップとを含む、振動制御方法。
JP2016252315A 2016-12-27 2016-12-27 振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法 Active JP6877995B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2016252315A JP6877995B2 (ja) 2016-12-27 2016-12-27 振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法
US15/616,100 US10350491B2 (en) 2016-12-27 2017-06-07 Techniques for variable vibration waveform generation based on number of controllers
EP17175003.7A EP3343323B1 (en) 2016-12-27 2017-06-08 Information processing program, information processing apparatus, information processing system, and information processing method
EP17194859.9A EP3343324B1 (en) 2016-12-27 2017-10-05 Information processing program, information processing system, and information processing method
US15/729,798 US10632371B2 (en) 2016-12-27 2017-10-11 Storage medium having stored therein information processing program, information processing system, information processing apparatus, and information processing method
US15/854,107 US10603582B2 (en) 2016-12-27 2017-12-26 Vibration control system, vibration control apparatus, storage medium and vibration control method
EP17210634.6A EP3343327B1 (en) 2016-12-27 2017-12-27 Vibration control system, vibration control apparatus, vibration control program and vibration control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016252315A JP6877995B2 (ja) 2016-12-27 2016-12-27 振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法

Publications (2)

Publication Number Publication Date
JP2018102610A true JP2018102610A (ja) 2018-07-05
JP6877995B2 JP6877995B2 (ja) 2021-05-26

Family

ID=60673943

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016252315A Active JP6877995B2 (ja) 2016-12-27 2016-12-27 振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法

Country Status (3)

Country Link
US (1) US10603582B2 (ja)
EP (1) EP3343327B1 (ja)
JP (1) JP6877995B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019084298A (ja) * 2017-11-10 2019-06-06 株式会社バンダイナムコエンターテインメント 操作入力システム、操作入力装置及びゲームシステム
WO2019159459A1 (ja) * 2018-02-16 2019-08-22 ソニー株式会社 情報処理装置、情報処理方法及び記録媒体
WO2020153116A1 (ja) * 2019-01-21 2020-07-30 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
WO2020241170A1 (ja) * 2019-05-28 2020-12-03 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
WO2021145023A1 (ja) * 2020-01-16 2021-07-22 ソニーグループ株式会社 情報処理装置及び情報処理端末
EP4050793A1 (en) 2021-02-26 2022-08-31 Nintendo Co., Ltd. Vibration control system

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11045723B1 (en) 2014-11-18 2021-06-29 Razer (Asia-Pacific) Pte. Ltd. Gaming controller for mobile device and method of operating a gaming controller
JP7264779B2 (ja) * 2019-09-10 2023-04-25 株式会社東海理化電機製作所 制御装置、制御方法、及びプログラム
GB2589846A (en) * 2019-11-21 2021-06-16 Tech 21 Licensing Ltd A case assembly for a mobile electronic device with a screen
CN111030412B (zh) * 2019-12-04 2022-04-29 瑞声科技(新加坡)有限公司 一种振动波形的设计方法及振动马达
US11260288B2 (en) 2019-12-31 2022-03-01 Dell Products L.P. Disassemblable information handling system game controller
US11338197B2 (en) * 2019-12-31 2022-05-24 Dell Products L.P. Information handling system controller distributable hardware and logic management
US11260291B2 (en) 2019-12-31 2022-03-01 Dell Products L.P. Information handling system and detachable game controller
US11331567B2 (en) * 2019-12-31 2022-05-17 Dell Products L.P. Information handling system and game controller trigger
US11013991B1 (en) 2019-12-31 2021-05-25 Dell Products L.P. Information handling system controller adaptive haptic feedback
US11097184B2 (en) 2019-12-31 2021-08-24 Dell Products L.P. Information handling system controller illumination
US11097185B2 (en) 2019-12-31 2021-08-24 Dell Products L.P. Detachable information handling system game controller management
US11013987B1 (en) 2019-12-31 2021-05-25 Dell Products L.P. Information handling system controller scalable interface
USD953437S1 (en) * 2020-12-30 2022-05-31 Shenzhen Qixiong Technology Co., Ltd Game controller

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015187862A (ja) * 2014-03-19 2015-10-29 イマージョン コーポレーションImmersion Corporation 触覚効果を与えるシステム及び方法
WO2016136934A1 (ja) * 2015-02-27 2016-09-01 ソニー株式会社 情報処理装置、情報処理方法、情報処理システム

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4501424A (en) 1983-06-17 1985-02-26 Cbs Inc. Manual controller for video system
CA1309396C (en) 1988-07-08 1992-10-27 John Frederick Ward Pipe clamp with side mounted electrical wire clasp
JPH04225413A (ja) 1990-12-27 1992-08-14 Hitachi Ltd キーボード装置
US5421590A (en) 1993-07-23 1995-06-06 Commodore Electronics Limited Multiple linked game controllers
CN2211084Y (zh) 1994-11-15 1995-10-25 郑秋豪 可分离的电视游戏机键盘
MX9704155A (es) * 1995-10-09 1997-09-30 Nintendo Co Ltd Sistema procesador de imagenes tridimensionales.
US5929844A (en) 1996-05-03 1999-07-27 First Person Gaming, Inc. First person perspective control system
WO1998002223A1 (fr) 1996-07-11 1998-01-22 Sega Enterprises, Ltd. Systeme de reconnaissance vocale, procede de reconnaissance vocale et jeu les mettant en pratique
US5739457A (en) 1996-09-26 1998-04-14 Devecka; John R. Method and apparatus for simulating a jam session and instructing a user in how to play the drums
JP2003154173A (ja) 1996-10-09 2003-05-27 Sega Corp ゲーム処理装置及びゲーム用画像処理方法
JP3655438B2 (ja) * 1997-07-17 2005-06-02 任天堂株式会社 ビデオゲームシステム
JP4147281B2 (ja) 1997-08-08 2008-09-10 株式会社セガ メモリ装置、コントローラ及び電子装置
US6234479B1 (en) 1997-10-14 2001-05-22 Namco, Ltd Controller for game machines
JPH11232028A (ja) 1998-02-16 1999-08-27 Fujitsu Takamisawa Component Ltd 電子機器用手持ち式操作装置
US5929809A (en) 1998-04-07 1999-07-27 Motorola, Inc. Method and system for calibration of sectionally assembled phased array antennas
JP3489503B2 (ja) 1998-09-01 2004-01-19 ヤマハ株式会社 音信号分析装置、音信号分析方法及び記憶媒体
JP2000176176A (ja) 1998-09-18 2000-06-27 Sega Enterp Ltd ゲ―ム装置
DE19853887C1 (de) 1998-11-23 2000-06-21 Deutsche Telekom Ag Joystick mit Mikrofon
JP2000157736A (ja) 1998-11-30 2000-06-13 Nec Shizuoka Ltd Pcカード形ゲーム用入力機器
JP2000172377A (ja) 1998-12-03 2000-06-23 Sharp Corp 電子機器
JP2000237455A (ja) 1999-02-16 2000-09-05 Konami Co Ltd 音楽演出ゲーム装置、音楽演出ゲーム方法および可読記録媒体
JP4233174B2 (ja) 1999-04-30 2009-03-04 富士通コンポーネント株式会社 ポインティングデバイス
JP2001067070A (ja) 1999-08-24 2001-03-16 Kids:Kk 電子楽器玩具
JP2001069427A (ja) 1999-08-26 2001-03-16 Canon Inc ヘッドマウントディスプレイ装置
JP4691754B2 (ja) 1999-09-07 2011-06-01 株式会社セガ ゲーム装置
JP3245139B2 (ja) 1999-12-17 2002-01-07 コナミ株式会社 フットペダルおよび音楽演奏ゲーム装置
JP3869175B2 (ja) 2000-02-07 2007-01-17 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム音楽出力方法、情報記憶媒体、ゲームプログラム配信装置及びゲームプログラム配信方法
JP2001276421A (ja) 2000-03-29 2001-10-09 Namco Ltd ゲーム機の入力装置
JP2002011243A (ja) 2000-04-27 2002-01-15 Sony Computer Entertainment Inc 記録媒体、プログラム、エンタテインメントシステムおよびエンタテインメント装置
JP4418083B2 (ja) 2000-05-17 2010-02-17 株式会社セガ ユニットおよびこれを用いた電子遊戯装置並びに操作入力装置
JP2001327754A (ja) 2000-05-24 2001-11-27 Alps Electric Co Ltd ゲーム用コントローラ
JP2002078970A (ja) 2000-09-08 2002-03-19 Alps Electric Co Ltd ゲーム用入力装置
JP3520984B2 (ja) 2000-10-16 2004-04-19 松下電器産業株式会社 情報端末用入力補助装置
JP2002202853A (ja) 2000-10-30 2002-07-19 Sony Computer Entertainment Inc 記録媒体、プログラム、方法、プログラム実行システムおよびプログラム実行装置
JP3080103U (ja) 2000-12-18 2001-09-14 弘之 小荒井 ボイスコントローラー
JP2002248261A (ja) 2000-12-22 2002-09-03 Sony Computer Entertainment Inc オブジェクト表示プログラム、オブジェクト表示プログラムを記憶したコンピュータ読み取り可能な記憶媒体、オブジェクト表示プログラムを実行するプログラム実行装置、キャラクタ戦闘表示プログラム、キャラクタ戦闘表示プログラムを記憶したコンピュータ読み取り可能な記憶媒体、キャラクタ戦闘表示プログラムを実行するプログラム実行装置
JP2002218558A (ja) 2001-01-23 2002-08-02 Sony Computer Entertainment Inc 無線操作装置及びその電源供給方法
JP2002239233A (ja) 2001-02-20 2002-08-27 Konami Co Ltd 打楽器を模したゲームコントローラ及び音楽ゲーム装置
JP2002351489A (ja) 2001-05-29 2002-12-06 Namco Ltd ゲーム情報、情報記憶媒体、及びゲーム装置
US6714189B2 (en) 2001-08-02 2004-03-30 John W. Collins Combination primary mouse controller and child's mouse controller
US7112139B2 (en) 2001-12-19 2006-09-26 Wms Gaming Inc. Gaming machine with ambient noise attenuation
JP3989331B2 (ja) 2002-08-09 2007-10-10 株式会社バンダイナムコゲームス 入力装置
JP4206015B2 (ja) 2003-09-12 2009-01-07 任天堂株式会社 ゲーム機用操作装置
EP1907086B1 (en) 2005-06-27 2011-07-20 Coactive Drive Corporation Synchronized vibration device for haptic feedback
US8308563B2 (en) 2005-08-30 2012-11-13 Nintendo Co., Ltd. Game system and storage medium having game program stored thereon
JP4547346B2 (ja) 2006-03-22 2010-09-22 任天堂株式会社 傾き算出装置および傾き算出プログラムならびにゲーム装置およびゲームプログラム
JP2008307207A (ja) 2007-06-14 2008-12-25 Advanced Telecommunication Research Institute International 動作計測装置
JP5224832B2 (ja) 2008-01-21 2013-07-03 任天堂株式会社 情報処理プログラムおよび情報処理装置
US7925467B2 (en) 2008-06-30 2011-04-12 Nintendo Co., Ltd. Orientation calculation apparatus, storage medium having orientation calculation program stored therein, game apparatus, and storage medium having game program stored therein
JP5361044B2 (ja) 2008-10-17 2013-12-04 任天堂株式会社 ゲーム装置、およびゲームプログラム
JP5147900B2 (ja) 2010-06-14 2013-02-20 株式会社ソニー・コンピュータエンタテインメント ゲームコントローラに取り付けられるアタッチメント、及び、コントローラアッセンブリ
EP2686941A4 (en) 2011-03-17 2014-12-03 Coactive Drive Corp ASYMMETRIC AND GENERAL VIBRATION WAVE SHAPES FROM MULTIPLE SYNCHRONIZED VIBRATION ACTUATORS
US8882597B2 (en) 2011-05-25 2014-11-11 Sony Computer Entertainment America Llc Hybrid separable motion controller
US20130281212A1 (en) 2012-04-20 2013-10-24 Nintendo Co.,Ltd. Game controller
WO2014083751A1 (ja) * 2012-11-30 2014-06-05 パナソニック株式会社 触感呈示装置および触感呈示方法
US9529447B2 (en) 2013-01-18 2016-12-27 Microsoft Technology Licensing, Llc Removable input module
EP3245340A1 (en) 2015-01-15 2017-11-22 Modustri LLC Configurable monitor and parts management system
JP6083884B2 (ja) 2015-06-12 2017-02-22 任天堂株式会社 支持装置、充電装置、および、操作システム
US9724601B2 (en) 2015-06-12 2017-08-08 Nintendo Co., Ltd. Game controller

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015187862A (ja) * 2014-03-19 2015-10-29 イマージョン コーポレーションImmersion Corporation 触覚効果を与えるシステム及び方法
WO2016136934A1 (ja) * 2015-02-27 2016-09-01 ソニー株式会社 情報処理装置、情報処理方法、情報処理システム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019084298A (ja) * 2017-11-10 2019-06-06 株式会社バンダイナムコエンターテインメント 操作入力システム、操作入力装置及びゲームシステム
JP7042061B2 (ja) 2017-11-10 2022-03-25 株式会社バンダイナムコエンターテインメント 操作入力システム、操作入力装置及びゲームシステム
WO2019159459A1 (ja) * 2018-02-16 2019-08-22 ソニー株式会社 情報処理装置、情報処理方法及び記録媒体
US11550396B2 (en) 2018-02-16 2023-01-10 Sony Corporation Information processing device and information processing method
WO2020153116A1 (ja) * 2019-01-21 2020-07-30 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP7456388B2 (ja) 2019-01-21 2024-03-27 ソニーグループ株式会社 情報処理装置、情報処理方法、及びプログラム
WO2020241170A1 (ja) * 2019-05-28 2020-12-03 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
WO2021145023A1 (ja) * 2020-01-16 2021-07-22 ソニーグループ株式会社 情報処理装置及び情報処理端末
EP4050793A1 (en) 2021-02-26 2022-08-31 Nintendo Co., Ltd. Vibration control system
JP2022131083A (ja) * 2021-02-26 2022-09-07 任天堂株式会社 振動制御システム
JP7340556B2 (ja) 2021-02-26 2023-09-07 任天堂株式会社 振動制御システム

Also Published As

Publication number Publication date
US10603582B2 (en) 2020-03-31
JP6877995B2 (ja) 2021-05-26
US20180178121A1 (en) 2018-06-28
EP3343327A1 (en) 2018-07-04
EP3343327B1 (en) 2022-10-19

Similar Documents

Publication Publication Date Title
JP6877995B2 (ja) 振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法
US10456665B2 (en) Information processing system, non-transitory storage medium having information processing program stored therein, information processing apparatus, and information processing method
US8343013B1 (en) Personal exercise device
JP6613267B2 (ja) 情報処理システム、情報処理プログラム、情報処理装置、および、情報処理方法
EP3348313B1 (en) Vibration control system, vibration control program and vibration control method
US10596459B2 (en) Systems, methods, and/or computer readable storage medium having program, for localized haptic feedback based on position of virtual object
JP6768130B1 (ja) 情報処理システム、情報処理プログラム、および、情報処理方法
JP6776132B2 (ja) ゲームシステム、ゲームプログラム、ゲーム装置およびゲーム方法
US20180193735A1 (en) Game system, non-transitory storage medium having stored therein game program, game apparatus, and game method
JP6854132B2 (ja) 情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法
JP7456388B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US9720509B2 (en) Gesture detection system, gesture detection apparatus, and mobile communication terminal
CN108735194B (zh) 节拍的提示方法及装置
JP2018108297A (ja) ゲームシステム、ゲームプログラム、情報処理装置、および、情報処理方法
JP2018110709A (ja) 振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法
JP6837921B2 (ja) ゲームプログラム、情報処理装置、情報処理システム、および、情報処理方法
JP6731531B1 (ja) 情報処理システム、情報処理プログラム、情報処理方法、および、情報処理装置
JP6681504B1 (ja) 情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法
JP6670030B1 (ja) 周辺装置、ゲームコントローラ、情報処理システム、および、情報処理方法
CN112075089B (zh) 利用声音的振动系统
JP7386137B2 (ja) 情報処理システム、情報処理プログラム、情報処理方法、および、情報処理装置
US11938396B2 (en) Game system, non-transitory computer-readable storage medium having stored therein information processing program, information processing apparatus, and information processing method
WO2022073906A1 (en) Device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180202

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210428

R150 Certificate of patent or registration of utility model

Ref document number: 6877995

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250