JP6670030B1 - 周辺装置、ゲームコントローラ、情報処理システム、および、情報処理方法 - Google Patents

周辺装置、ゲームコントローラ、情報処理システム、および、情報処理方法 Download PDF

Info

Publication number
JP6670030B1
JP6670030B1 JP2019157827A JP2019157827A JP6670030B1 JP 6670030 B1 JP6670030 B1 JP 6670030B1 JP 2019157827 A JP2019157827 A JP 2019157827A JP 2019157827 A JP2019157827 A JP 2019157827A JP 6670030 B1 JP6670030 B1 JP 6670030B1
Authority
JP
Japan
Prior art keywords
peripheral device
mode
game controller
controller
game
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.)
Active
Application number
JP2019157827A
Other languages
English (en)
Other versions
JP2021035445A (ja
Inventor
文覚 成瀬
文覚 成瀬
俊平 安田
俊平 安田
敏貴 大泉
敏貴 大泉
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 JP2019157827A priority Critical patent/JP6670030B1/ja
Priority to US16/708,858 priority patent/US11148043B2/en
Priority to EP19214937.5A priority patent/EP3785773A1/en
Priority to CN201911412911.4A priority patent/CN112439192A/zh
Application granted granted Critical
Publication of JP6670030B1 publication Critical patent/JP6670030B1/ja
Publication of JP2021035445A publication Critical patent/JP2021035445A/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/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
    • 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/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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • 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/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • A63F13/493Resuming a game, e.g. after pausing, malfunction or power failure
    • 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/98Accessories, i.e. detachable arrangements optional for the use of the video game device, e.g. grip supports of game controllers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/204Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform the platform being a handheld device

Abstract

【課題】ゲームコントローラを、周辺装置に対応させやすい、汎用性のあるものにする。【解決手段】周辺装置は、ゲーム装置を操作可能なゲームコントローラと通信可能である。周辺装置は、ユーザ入力を検知するセンサと、処理部と、送信部とを備える。周辺装置は、ゲームコントローラとの通信が確立されているときに、第1モードと、第2モードとを含む複数のモードのうちいずれかで動作可能である。第1モードにおいて、処理部は、センサが検知したユーザ入力に応じた周辺装置データに基づいて、ゲームコントローラに所定の動作を実行させるコマンドを生成し、送信部は当該コマンドをゲームコントローラへ送信する。第2モードにおいて、送信部は、周辺装置データをゲームコントローラへ送信する。【選択図】図15

Description

本発明は、ゲームコントローラ、または、それに接続可能な周辺装置に関する。
従来、ゲームコントローラに接続可能な周辺装置がある(例えば、特許文献1参照)。
特開2011−227804号公報
ゲームコントローラに接続可能な周辺装置の種類を増やし、ゲームコントローラに種々の周辺装置を接続することで種々の機能を発揮させることが考えられる。ここで、ゲームコントローラに接続可能な周辺装置の種類を新たに増やす場合、新たな周辺装置に対応させるためにゲームコントローラに対して変更が必要となることがある。このような変更をなるべく少なくし、ゲームコントローラを周辺装置に対応させやすくするという観点において、従来のゲームコントローラおよび周辺機器においては改善の余地がある。
それ故、本発明の目的は、ゲームコントローラを、周辺装置に対応させやすい、汎用性のあるものにすることができる周辺装置、ゲームコントローラ、情報処理システム、および、情報処理方法を提供することである。
上記の課題を解決すべく、本発明は、以下の(1)〜(21)の構成を採用した。
(1)
本発明の一例は、ゲーム装置を操作可能なゲームコントローラと通信可能であり、ユーザ入力を検知するセンサと、処理部と、送信部とを備える周辺装置である。周辺装置は、ゲームコントローラとの通信が確立されているときに、第1モードと、第2モードとを含む複数のモードのうちいずれかで動作可能である。第1モードにおいて、処理部は、センサが検知したユーザ入力に応じた周辺装置データに基づいて、ゲームコントローラに所定の動作を実行させるコマンドを生成し、送信部は当該コマンドをゲームコントローラへ送信する。第2モードにおいて、送信部は、周辺装置データをゲームコントローラへ送信する。
上記(1)の構成によれば、第1モードにおいて、ゲームコントローラは周辺装置からのコマンドに応じて動作することができるので、第1モードにおけるゲームコントローラの処理は、周辺装置に対して汎用性のあるものとなる。これによって、ゲームコントローラを、周辺装置に対応させやすい、汎用性のあるものとすることができる。
(2)
本発明の他の一例は、ゲーム装置を操作可能なゲームコントローラと通信可能であり、処理部と、送信部とを備える周辺装置である。周辺装置は、ゲームコントローラとの通信が確立されているときに、第1モードと、第2モードとを含む複数のモードのうちいずれかで動作可能である。第1モードにおいて、送信部は、所定の送信要求信号をゲームコントローラへ送信する。また、第1モードにおいて、処理部は、送信要求信号がゲームコントローラにおいて受信されたことに応じて当該ゲームコントローラから送信された、当該ゲームコントローラに対するユーザ入力に応じたコントローラデータに基づく処理を実行する。第2モードにおいて、送信部は、ゲームコントローラからの送信要求信号に応じて、周辺装置において取得または生成された周辺装置データを当該ゲームコントローラへ送信する。
上記(2)の構成によれば、第1モードにおいて、ゲームコントローラに対する入力に基づく処理を、コントローラデータを受信した周辺装置側で実行することができる。これによって、ゲームコントローラを、周辺装置に対応させやすい、汎用性のあるものとすることができる。
(3)
第1モードにおいては、ゲームコントローラおよび/または周辺装置に対するユーザ入力に基づく処理が、ゲーム装置によることなく周辺装置およびゲームコントローラによって実行されてもよい。第2モードにおいては、周辺装置データに基づくデータがゲームコントローラからゲーム装置へ送信され、送信されてきたデータに基づく処理が当該ゲーム装置によって実行されてもよい。
上記(3)の構成によれば、ゲームコントローラおよび周辺装置は、第1モードで動作することによって、ゲーム装置においてアプリケーションが実行されていない期間であっても、処理を実行することができる。したがって、ユーザは、ゲーム装置においてアプリケーションが実行されていない期間であっても、ゲームコントローラおよび周辺装置を利用することができる。
(4)
第1モードにおいて、周辺装置は、ゲームコントローラに対するユーザ入力に応じたコントローラデータを当該ゲームコントローラから受信してもよい。
上記(4)の構成によれば、ゲームコントローラに対するユーザ入力に基づく処理を周辺装置側において実行することができる。
(5)
第1モードにおいて、処理部は、コントローラデータに基づいて、ゲームコントローラに所定の動作を実行させるコマンドを生成してもよく、送信部はコマンドをゲームコントローラへ送信してもよい。
上記(5)の構成によれば、ゲームコントローラに動作を実行させるための処理を周辺装置側において実行することができる。
(6)
周辺装置は、ゲームコントローラが備えるボタンのうち、操作可能な全てのボタンに関するコントローラデータを当該ゲームコントローラから受信してもよい。
(7)
送信部は、コントローラデータのうちの一部のデータに基づき、かつ、当該コントローラデータのうちの他のデータには基づかないコマンドをゲームコントローラへ送信してもよい。
上記(6)または(7)の構成によれば、周辺装置は、ゲームコントローラの操作可能な各ボタンに対する入力に基づく処理を実行することができる。また、仮に、ゲームコントローラに対応する周辺装置が複数種類存在する場合であっても、ゲームコントローラが周辺装置に送信するコントローラデータの内容を各周辺装置について共通にすることができるので、ゲームコントローラにおける処理を汎用性のあるものにすることができる。
(8)
ゲームコントローラはスリープ解除ボタンを備えてもよい。ゲームコントローラは、少なくとも第1モードで動作する状態とは異なる状態において、当該ゲームコントローラと周辺装置との通信が確立されていない場合にスリープ解除ボタンに対する操作が検出された場合、周辺装置からのコマンドに基づかずに、ゲーム装置のスリープ状態を解除させる信号を当該ゲーム装置へ送信するように構成されてもよい。第1モードにおいて、スリープ解除ボタンに対する操作が行われたことに対応するコントローラデータを周辺装置が受信した場合、処理部は、ゲーム装置のスリープ状態を解除させる信号をゲーム装置へ送信することを指示するコマンドを生成してもよく、送信部は当該コマンドをゲームコントローラへ送信してもよい。
上記(8)の構成によれば、ゲームコントローラおよび周辺装置における処理の流れが異なる2つのモードにおいて、スリープ解除ボタンが操作されたことに応じた挙動を同じにすることができる。
(9)
周辺装置は、ゲームコントローラと電気的に接続可能であり、当該周辺装置と電気的に接続した状態のゲームコントローラから供給される電力によって動作するように構成されてもよい。周辺装置は、ゲームコントローラから供給される電力に基づいて当該周辺装置が起動した場合、複数のモードのうちで動作すべきモードを示すモード情報をゲームコントローラから受信することを待機する待機状態となってもよい。周辺装置は、待機状態においてゲームコントローラから受信されたモード情報が示すモードで動作してもよい。
上記(9)の構成によれば、ゲームコントローラからの電力供給が開始された後で、周辺装置を適切なモードで動作させることができる。
(10)
周辺装置は、所定の抵抗値を有する電子部品を備えてもよい。電子部品は、ゲームコントローラと当該周辺装置とが電気的に接続されることによって形成される回路の一部を構成する。
上記(10)の構成によれば、ゲームコントローラは、上記回路の抵抗値を検出することによって、周辺装置の情報(例えば、種類)を判別することができる。
(11)
第1モードにおいて、ゲームコントローラに対する所定の操作が行われたことに対応するコントローラデータを周辺装置が受信した場合、送信部は、第1モードの終了を示す終了信号をゲームコントローラへ送信してもよい。
上記(11)の構成によれば、周辺装置は、自身における処理が完了した後の適切なタイミングで独立動作モードを終了することができるので、独立動作モードの終了時に周辺装置における処理が途中で中断されてしまう可能性を低減することができる。
(12)
周辺装置は、第1モードにおいて、センサが検知したユーザ入力の回数を記憶する記憶部をさらに備えてもよい。
上記(12)の構成によれば、第1モード中に行われたユーザ入力の回数を保存することができる。
(13)
本発明の他の一例は、ゲーム装置を操作可能であり、周辺装置と通信可能であり、操作部および送信部を備えるゲームコントローラである。ゲームコントローラは、周辺装置との通信が確立されているときに、第1モードと、第2モードとを含む複数のモードのうちいずれかで動作可能である。第1モードにおいて、送信部は、操作部に対するユーザ入力に応じたコントローラデータを周辺装置へ送信する。第2モードにおいて、送信部は、操作部に対するユーザ入力に応じたコントローラデータをゲーム装置へ送信する。
上記(13)の構成によれば、第1モードにおいて、ゲームコントローラに対するユーザ入力に基づく処理を周辺装置側で実行することができる。これによれば、第1モードにおけるゲームコントローラの処理は、周辺装置に対して汎用性のあるものとなる。これによって、ゲームコントローラを、周辺装置に対応させやすい、汎用性のあるものとすることができる。
(14)
第1モードにおいては、ゲームコントローラおよび/または周辺装置に対するユーザ入力に基づく処理が、ゲーム装置によることなく周辺装置およびゲームコントローラによって実行されてもよい。第2モードにおいては、ゲーム装置へ送信されたコントローラデータに基づく処理が当該ゲーム装置によって実行されてもよい。
上記(14)の構成によれば、上記(3)の構成と同様、ゲームコントローラおよび周辺装置は、ゲーム装置においてアプリケーションが実行されていない期間であっても、処理を実行することができる。
(15)
ゲームコントローラは、第1モードにおいて、周辺装置へ送信されたコントローラデータに応じたコマンドを周辺装置から受信し、当該コマンドに応じて動作してもよい。第2モードにおいて、ゲームコントローラは、ゲーム装置へ送信されたコントローラデータに応じたコマンドをゲーム装置から受信してもよく、当該コマンドに応じて動作してもよい。
上記(15)の構成によれば、ゲームコントローラは、第1および第2のいずれのモードにおいても他の装置からのコマンドに応じて動作するので、ゲームコントローラにおける処理をシンプルにすることができる。
(16)
操作部はボタンを含んでもよい。送信部は、ゲームコントローラが備えるボタンのうち、操作可能な全てのボタンに関するコントローラデータを周辺装置へ送信してもよい。
上記(16)の構成によれば、上記(6)の構成と同様、周辺装置は、ゲームコントローラの操作可能な各ボタンに対する入力に基づく処理を実行することができ、また、ゲームコントローラにおける処理を汎用性のあるものにすることができる。
(17)
ゲームコントローラはスリープ解除ボタンを備えてもよい。ゲームコントローラは、第1モードで動作する状態とは異なる状態において、当該ゲームコントローラと周辺装置との通信が確立されていない場合にスリープ解除ボタンに対する操作が検出された場合、周辺装置からのコマンドに基づかずに、ゲーム装置をスリープ状態から復帰させる信号を当該ゲーム装置へ送信してもよい。ゲームコントローラは、第1モードにおいてスリープ解除ボタンが押下されることによって、スリープ解除ボタンが押下されたことに対応するコントローラデータを周辺装置へ送信してもよく、当該コントローラデータに応じたコマンドを当該周辺装置から受信したことに応じて、ゲーム装置をスリープ状態から復帰させる信号を当該ゲーム装置へ送信してもよい。
上記(17)の構成によれば、上記(8)の構成と同様、ゲームコントローラおよび周辺装置における処理の流れが異なる2つのモードにおいて、スリープ解除ボタンが操作されたことに応じた挙動を同じにすることができる。
(18)
ゲームコントローラは、当該ゲームコントローラと周辺装置とが電気的に接続されることによって形成される回路の抵抗値が第1の範囲内である場合、第1モードで動作可能であるとともに第2モードで動作可能であってもよい。ゲームコントローラは、当該ゲームコントローラと周辺装置とが電気的に接続されることによって形成される回路の抵抗値が第1の範囲とは異なる第2の範囲内である場合、第2モードで動作可能であり、第1モードでは動作しなくてもよい。
上記(18)の構成によれば、第1モードに対応しない周辺装置とゲームコントローラとが電気的に接続された場合に、ゲームコントローラが第1モードで動作してしまうエラーを防止することができる。
(19)
ゲームコントローラは、周辺装置と電気的に接続されており、かつ、ゲーム装置との無線接続が確立していない状態で、当該ゲームコントローラに対する所定の操作を検出したことに応じて、当該ゲームコントローラと当該周辺装置とが電気的に接続されることによって形成される回路の抵抗値が第1の範囲内であることを少なくとも条件として、第1モードで動作してもよい。
上記(19)の構成によれば、ユーザの操作に応じたタイミングでゲームコントローラに第1モードを開始させることができる。
(20)
ゲームコントローラは、当該ゲームコントローラと周辺装置とが電気的に接続されることによって形成される回路の抵抗値が第1の範囲内であることを少なくとも条件として、当該周辺装置のうち、当該回路を形成する部分とは異なる他の部分に電力を供給してもよい。
上記(20)の構成によれば、給電の必要が無い周辺装置に対してゲームコントローラが給電を行ってしまうエラーを防止することができる。
(21)
ゲームコントローラが第1モードで動作する場合、処理部は、当該第1モードで動作することを示すモード情報を生成し、送信部は当該モード情報を周辺装置へ送信してもよい。
上記(21)の構成によれば、ゲームコントローラは、自身が動作するモードに合わせた適切なモードで周辺装置を動作させることができる。
なお、本発明の別の一例は、上記(1)〜(21)における周辺装置とゲームコントローラとを備える情報処理システムであってもよい。また、本発明の別の一例は、上記情報処理システムにおいて実行される情報処理方法であってもよい。また、本発明の別の一例は、上記周辺装置または上記ゲームコントローラにおいて実行される情報処理プログラムであってもよい。
上記周辺装置、ゲームコントローラ、情報処理システム、および、情報処理方法によれば、ゲームコントローラを、周辺装置に対応させやすい、汎用性のあるものにすることができる。
ゲームシステムに含まれる各装置の一例を示す図 本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図 本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図 本体装置2の一例を示す六面図 右コントローラ4の一例を示す六面図 本体装置2の内部構成の一例を示すブロック図 本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図 リング型拡張装置5の一例を示す図 リング型拡張装置5の内部構成の一例を示すブロック図 リング型拡張装置5をユーザが使用する様子の一例を示す図 本体動作モードにおける装置間のデータの基本的な流れの一例を示す図 独立動作モードにおける処理およびデータの基本的な流れの一例を示す図 右コントローラ4がリング型拡張装置5に装着された場合に実行される処理の流れの一例を示す図 右コントローラ4によって実行されるコントローラ処理の一例を示すフローチャート リング型拡張装置5によって実行される周辺装置処理の一例を示すフローチャート 図15に示すステップS53の独立動作モード処理の詳細な流れの一例を示すサブフローチャート
[1.ゲームシステムの構成]
以下、本実施形態の一例に係るゲームシステムについて説明する。図1は、ゲームシステムに含まれる各装置の一例を示す図である。図1に示すように、ゲームシステム1は、本体装置2と、左コントローラ3および右コントローラ4と、リング型拡張装置5とを含む。
本体装置2は、情報処理装置の一例であり、本実施形態ではゲーム機本体として機能する。本体装置2には、左コントローラ3および右コントローラ4がそれぞれ着脱可能である(図1および図3参照)。つまり、ユーザは、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として使用することができる(図2参照)。また、ユーザは、本体装置2と左コントローラ3および右コントローラ4とを別体として使用することもできる(図3参照)。なお、以下においては、本体装置2と各コントローラ3および4とをまとめて、「ゲーム装置」と呼ぶことがある。
リング型拡張装置5は、右コントローラ4に用いられる拡張装置の一例である。リング型拡張装置5は、右コントローラ4をリング型拡張装置5に装着した状態で使用される。このように、本実施形態においては、ユーザは、右コントローラ4をリング型拡張装置5に装着した状態で使用することもできる(図10参照)。なお、リング型拡張装置5は、右コントローラ4に限らず、左コントローラ3を自身に装着することが可能であってもよい。
[1−1.ゲーム装置の構成]
図2は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。図2に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。
図3は、本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図である。図2および図3に示すように、左コントローラ3および右コントローラ4は、本体装置2に着脱可能である。なお、以下において、左コントローラ3および右コントローラ4の総称として「コントローラ」と記載することがある。
図4は、本体装置2の一例を示す六面図である。図4に示すように、本体装置2は、略板状のハウジング11を備える。本実施形態において、ハウジング11の主面(換言すれば、表側の面、すなわち、ディスプレイ12が設けられる面)は、大略的には矩形形状である。
図4に示すように、本体装置2は、ハウジング11の主面に設けられるディスプレイ12を備える。ディスプレイ12は、本体装置2が生成した画像を表示する。本実施形態においては、ディスプレイ12は、液晶表示装置(LCD)とする。ただし、ディスプレイ12は任意の種類の表示装置であってよい。なお、本体装置2は画像を外部モニタに出力することもできる。
本体装置2は、ハウジング11の内部においてスピーカを備えている。図4に示すように、ハウジング11の主面には、スピーカ孔11aおよび11bが形成される。そして、スピーカの出力音は、これらのスピーカ孔11aおよび11bからそれぞれ出力される。
また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子17と、本体装置2が右コントローラ4と有線通信を行うための右側端子21を備える。
図4に示すように、本体装置2は、スロット23を備える。スロット23は、ハウジング11の上側面に設けられる。スロット23は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム1およびそれと同種の情報処理装置に専用の記憶媒体(例えば、専用メモリカード)である。所定の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、アプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、アプリケーションのプログラム等)を記憶するために用いられる。また、本体装置2は、電源ボタン28を備える。
図5は、右コントローラ4の一例を示す六面図である。図5に示すように、右コントローラ4は、ハウジング51を備える。本実施形態においては、ハウジング51は、縦長の形状、すなわち、上下方向(すなわち、図5に示すy軸方向)に長い形状である。右コントローラ4は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング51は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ4は、横長となる向きで把持されることも可能である。右コントローラ4が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
右コントローラ4は、方向入力部としてアナログスティック52を備える。図5に示すように、アナログスティック52は、ハウジング51の主面に設けられる。ユーザは、アナログスティック52を傾倒することによって傾倒方向に応じた方向の入力(および、傾倒した角度に応じた大きさの入力)が可能である。また、右コントローラ4は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック52を押下する入力が可能である。
また、右コントローラ4は、各種操作ボタンを備える。右コントローラ4は、ハウジング51の主面上に4つの操作ボタン53〜56(具体的には、Aボタン53、Bボタン54、Xボタン55、およびYボタン56)を備える。さらに、右コントローラ4は、+(プラス)ボタン57およびホームボタン58を備える。また、右コントローラ4は、ハウジング51の側面の右上に第1Rボタン60およびZRボタン61を備える。また、右コントローラ4は、ハウジング51の側面の、本体装置2に装着される際に装着される側の面に第2Lボタン65および第2Rボタン66を備える。これらの操作ボタンは、本体装置2で実行される各種プログラム(例えば、OSプログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。
また、右コントローラ4は、右コントローラ4が本体装置2と有線通信を行うための端子64を備える。
図5に示すように、右コントローラ4は、通知用LED67を備える。通知用LED67は、ユーザに対して所定の情報を通知するための通知部である。通知用LED67は、上記スライダ62に設けられ、具体的には、スライダ62の装着面(すなわち、図5に示すx軸正方向側を向く面)に設けられる。本実施形態においては、右コントローラ4は、通知用LED67として、4つのLEDを備える。上記所定の情報は、例えば、本体装置2によって右コントローラ4に対して付された番号や、右コントローラ4の電池残量に関する情報である。
なお、左コントローラ3は、右コントローラ4と同様、アナログスティックおよび複数の操作ボタンを備える。また、左コントローラ3は、右コントローラ4と同様、本体装置2と有線通信を行うための端子を備える。
図6は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、図4に示す構成の他、図6に示す各構成要素81〜91、97、および98を備える。これらの構成要素81〜91、97、および98のいくつかは、電子部品として電子回路基板上に実装されてハウジング11内に収納されてもよい。
本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System−on−a−chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、プロセッサ81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
本体装置2は、スロットインターフェース(以下、「I/F」と略記する。)91を備える。スロットI/F91は、プロセッサ81に接続される。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ81の指示に応じて行う。
プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
図7は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。なお、本体装置2に関する内部構成の詳細については、図6で示しているため図7では省略している。
右コントローラ4は、本体装置2との間で通信を行う通信制御部111を備える。図7に示すように、通信制御部111は、端子64を含む各構成要素に接続される。本実施形態においては、通信制御部111は、端子64を介した有線通信と、端子64を介さない無線通信との両方で本体装置2と通信を行うことが可能である。通信制御部111は、右コントローラ4が本体装置2に対して行う通信方法を制御する。すなわち、右コントローラ4が本体装置2に装着されている場合、通信制御部111は、端子64を介して本体装置2と通信を行う。また、右コントローラ4が本体装置2から外されている場合、通信制御部111は、本体装置2(具体的には、コントローラ通信部83)との間で無線通信を行う。コントローラ通信部83と通信制御部111との間の無線通信は、例えばBluetooth(登録商標)の規格に従って行われる。
また、右コントローラ4は、例えばフラッシュメモリ等のメモリ112を備える。通信制御部111は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ112に記憶されるファームウェアを実行することによって各種の処理を実行する。
右コントローラ4は、各ボタン113(具体的には、ボタン53〜58、60、61、65、および66)を備える。また、右コントローラ4は、アナログスティック(図7では「スティック」と記載する)52を備える。各ボタン113およびアナログスティック52は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部111へ出力する。
右コントローラ4は、慣性センサを備える。具体的には、右コントローラ4は、加速度センサ114を備える。また、右コントローラ4は、角速度センサ115を備える。本実施形態においては、加速度センサ114は、所定の3軸(例えば、図5に示すxyz軸)方向に沿った加速度の大きさを検出する。なお、加速度センサ114は、1軸方向あるいは2軸方向の加速度を検出するものであってもよい。本実施形態においては、角速度センサ115は、所定の3軸(例えば、図5に示すxyz軸)回りの角速度を検出する。なお、角速度センサ115は、1軸回りあるいは2軸回りの角速度を検出するものであってもよい。加速度センサ114および角速度センサ115は、それぞれ通信制御部111に接続される。そして、加速度センサ114および角速度センサ115の検出結果は、適宜のタイミングで繰り返し通信制御部111へ出力される。
通信制御部111は、各入力部(具体的には、各ボタン113、アナログスティック52、各センサ114および115)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部111は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
上記操作データが本体装置2へ送信されることによって、本体装置2は、右コントローラ4に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン113およびアナログスティック52に対する操作を、操作データに基づいて判別することができる。また、本体装置2は、右コントローラ4の動きおよび/または姿勢に関する情報を、操作データ(具体的には、加速度センサ114および角速度センサ115の検出結果)に基づいて算出することができる。
右コントローラ4は、振動によってユーザに通知を行うための振動子117を備える。本実施形態においては、振動子117は、本体装置2からの指令によって制御される。すなわち、通信制御部111は、本体装置2からの上記指令を受け取ると、当該指令に従って振動子117を駆動させる。ここで、右コントローラ4は、コーデック部116を備える。通信制御部111は、上記指令を受け取ると、指令に応じた制御信号をコーデック部116へ出力する。コーデック部116は、通信制御部111からの制御信号から振動子117を駆動させるための駆動信号を生成して振動子117へ与える。これによって振動子117が動作する。なお、本実施形態においては、振動子117はボイスコイルモータである。すなわち、振動子117は、自身に入力される信号に応じて振動を発生することが可能であるとともに、当該信号に応じて音を発生することが可能である。例えば、可聴域の周波数の信号が振動子117に入力される場合、振動部271は、振動を発生するとともに音(すなわち、可聴音)を発生する。
右コントローラ4は、電力供給部118を備える。本実施形態において、電力供給部118は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、右コントローラ4の各部(具体的には、バッテリの電力の給電を受ける各部)に接続される。
なお、図示しないが、左コントローラ3は、図7に示す右コントローラ4の各構成と同様の構成を備える。
[1−2.リング型拡張装置の構成]
図8は、リング型拡張装置の一例を示す図である。なお、図8は、右コントローラ4が装着された状態のリング型拡張装置5を示している。本実施形態においては、リング型拡張装置5は、右コントローラ4を装着可能な拡張装置である。詳細は後述するが、本実施形態においては、ユーザは、リング型拡張装置5に力を加えて変形させるという新規な操作を行う。ユーザは、例えばエクササイズを行う感覚でリング型拡張装置5を用いたフィットネス動作を行うことによって、リング型拡張装置5に対する操作を行うことができる。
図8に示すように、リング型拡張装置5は、環状部201と、本体部202とを備える。環状部201は、環状の形状を有する。なお、本実施形態においては、環状部201は、後述する弾性部材および台座部によって環状に形成される。本実施形態においては、環状部201は円環状である。なお、他の実施形態においては、環状部201の形状は任意であり、例えば楕円環状であってもよい。
本体部202は、環状部201に設けられる。本体部202は、図示しないレール部を有する。レール部は、右コントローラ4を装着可能な装着部の一例である。本実施形態においては、レール部は、右コントローラ4のスライダ62(図5参照)に対してスライド可能に係合する。スライダ62がレール部材に対して所定の直線方向(すなわち、スライド方向)に挿入されることで、レール部材に対してスライダ62が当該直線方向にスライド移動が可能な状態でレール部材がスライダ62と係合する。なお、レール部は、コントローラのスライダに対してスライド可能に係合することが可能である点で、本体装置2が有するレール部と同様である。そのため、レール部は、本体装置2が有するレール部と同様の構成であってもよい。
本実施形態においては、環状部201によって形成される環を正面視する方向(「正面視方向」と呼ぶ)に平行な方向を、リング型拡張装置5の前後方向(すなわち、図8に示すZ軸方向)とする。「(環の)正面視方向」とは、例えば、環の外縁により表される形状の面積が最も大きく見える方向である。環が円環である場合、「正面視方向」とは、環が円形に見える方向であると言うこともできる。
また、レール部は、環状部201を基準として、環状部201よりも前後方向における一方側に設けられる。なお、本実施形態では、上記一方側を、リング型拡張装置5の前側(換言すれば、正面手前側)とし、その反対側を、リング型拡張装置5の後側(換言すれば、奥側)とする。
本実施形態においては、右コントローラ4は、係止部63を有する(図5参照)。係止部63は、スライダ62から側方(すなわち、図5に示すz軸正方向)に突出して設けられる。係止部63は、スライダ62の内部の方向へ移動可能であるとともに、上記側方へ突出した状態となる向きに(例えばバネによって)付勢されている。また、レール部には、切欠きが設けられる。スライダ62がレール部の奥まで挿入された状態において、係止部63は切欠きに係止する。レール部にスライダ62が係合した状態で係止部63が切欠きに係止することによって、本体部202に右コントローラ4が装着される。
なお、右コントローラ4は、押下可能な解除ボタン69を備える(図5参照)。上記係止部63は、解除ボタン69が押下されることに応じて、スライダ62の内部の方向へ移動し、スライダ62に対して突出しない(あるいは、ほとんど突出しない)状態となる。したがって、リング型拡張装置5の本体部202に右コントローラ4が装着された状態において、解除ボタン69が押下されると、係止部63は切欠きに係止しなくなる(あるいは、ほとんど係止しなくなる)。以上より、リング型拡張装置5の本体部202に右コントローラ4が装着される状態において、ユーザは、解除ボタン69を押下することによって右コントローラ4をリング型拡張装置5から容易に取り外すことができる。
図8に示すように、リング型拡張装置5は、グリップカバー203および204を有する。グリップカバー203および204は、ユーザが把持するための部品である。本実施形態においては、グリップカバー203および204を設けることによって、ユーザはリング型拡張装置5を把持しやすくなっている。以下、グリップカバー203および204の詳細について説明する。
図8に示すように、本実施形態においては、環状部201に2つのグリップカバー203および204が設けられる。ここで、本実施形態においては、グリップカバー203および204は、環状部201に対して取り外し可能である。グリップカバー203および204は、環状部201における把持部分に取り付けられる。ここで、把持部分とは、環状部201のうちで、ユーザが把持するための部分である。本実施形態においては、環状部201の右端付近の部分と、環状部201の左端付近の部分とが、把持部分である。すなわち、環状部201の中心に対して本体部202が中心角0度の位置にあるとした場合、+90度付近の位置と−90度付近の位置とに把持部分が設けられているとも言える。以下では、環状部201の右端付近の把持部分を右把持部分と呼び、環状部201の左端付近の把持部分を左把持部分と呼ぶ。図示しないが、把持部分には、グリップカバー203または204を取り付けるための構成が設けられる。本実施形態のように環状部201に対してグリップカバー203または204が取り外し可能である場合、グリップカバー203または204を取り付けるための構成が設けられる部分が把持部分であると言うことができる。
なお、把持部分は、環状部201における把持部分以外の他の部分と区別して認識可能な任意の構成であってもよい。例えば、環状部201の一部(具体的には、環状部201の左端付近および右端付近の部分)が、他の部分と異なる色および/または模様である場合、当該一部は、(当該一部を把持して操作することをユーザに認識させる機能を有するので)把持部分と言うことができる。また、環状部201の一部(具体的には、環状部201の左端付近および右端付近の部分)が、他の部分よりも太く形成される場合、当該一部は、(当該一部を把持して操作することをユーザに認識させる機能を有するので)把持部分と言うことができる。例えば、上記グリップカバーと同様の部材が取り外し不可能に環状部201に固定されている場合、当該部材は把持部分と言うことができる。以上のように、リング型拡張装置5は、把持部分によって、適切な場所を把持した状態でユーザに操作を行わせることができる。
図9は、リング型拡張装置5が備える構成要素の電気的な接続関係を示すブロック図である。図9に示すように、リング型拡張装置5は、歪み検出部211を備える。歪み検出部211は、環状部201が変形したことを検出する検出部の一例である。本実施形態においては、歪み検出部211は、歪みゲージを含む。歪み検出部211は、後述する弾性部材の変形に応じた台座部の歪みを示す信号(換言すれば、弾性部材の変形の大きさおよび変形の向きを示す信号)を出力する。
ここで、本実施形態においては、環状部201は、弾性変形可能な弾性部と、台座部とを有する。台座部は、当該台座部と弾性部材とによって環が形成されるように当該弾性部材の両端部を保持する。なお、台座部は、本体部202の内部に設けられるので、図8において図示されていない。台座部は、弾性部材よりも剛性が高い材質で構成される。例えば、弾性部材は、樹脂(具体的には、FRP(Fiber Reinforced Plastics))で構成され、台座部は、金属で構成される。上記歪みゲージは、台座部に設けられ、当該台座部の歪みを検出する。環状部201が定常状態から変形した場合、変形によって台座部に歪みが生じるので、歪みゲージによって台座部の歪みが検出される。検出された歪みに基づいて、環状部201が変形する向き(すなわち、2つのグリップカバー203および204が近づく向き、または、離れる向き)と、変形量とを算出することができる。
なお、他の実施形態においては、歪み検出部211は、歪みゲージに代えて、環状部201が定常状態から変形したことを検出可能な任意のセンサを含んでもよい。例えば、検出部211は、環状部201が変形した場合に加わる圧力を検出する感圧センサを含んでもよいし、環状部201が曲げられた量を検出する曲げセンサを含んでもよい。
リング型拡張装置5は、信号変換部212を備える。本実施形態においては、信号変換部212は、アンプと、ADコンバータとを含む。信号変換部212は、歪み検出部211に電気的に接続され、歪み検出部211の出力信号をアンプによって増幅し、ADコンバータによってAD変換を行う。信号変換部212は、歪み検出部211によって検出された歪み値を示すデジタル信号を出力する。なお、他の実施形態においては、信号変換部212はADコンバータを含まず、後述する制御部213がADコンバータを含んでいてもよい。
リング型拡張装置5は、制御部213を備える。制御部213は、プロセッサとメモリとを備える処理回路であり、例えばMCU(Micro Controller Unit)である。制御部213は、信号変換部212に電気的に接続され、信号変換部212の出力信号が制御部213に入力される。また、リング型拡張装置5は、端子214を備える。端子214は、制御部213に電気的に接続される。リング型拡張装置5に右コントローラ4が装着されている場合、制御部213は、信号変換部212の出力信号が示す歪み値を示す情報(換言すれば、後述するリング操作データ)を、端子214を介して右コントローラ4へ送信する。
リング型拡張装置5は、電力変換部215を備える。電力変換部215は、上記各部211〜214に電気的に接続される。電力変換部215は、端子214を介して外部(すなわち、右コントローラ4)から供給される電力を、上記各部211〜214に供給する。電力変換部215は、供給される電力について電圧等の調整を行って上記各部211〜214に供給してもよい。
なお、リング型拡張装置5が他の装置へ送信する「歪み検出部の検出結果に関するデータ」は、当該検出結果(本実施形態においては、台座部の歪みを示す、歪み検出部211の出力信号)そのものを示すデータであってもよいし、当該検出結果に対して何らかの処理(例えば、データ形式の変換、および/または、歪み値に対する計算処理等)が行われることによって得られるデータであってもよい。例えば、制御部213は、上記検出結果である歪み値に基づいて弾性部材の変形量を算出する処理を行ってもよく、このとき、「歪み検出部の検出結果に関するデータ」は、当該変形量を示すデータであってもよい。
なお、他の実施形態においては、リング型拡張装置5は、電池を備え、当該電池の電力によって動作してもよい。また、リング型拡張装置5が備える電池は、右コントローラ4から供給される電力によって充電可能な充電池であってもよい。
図10は、リング型拡張装置5をユーザが使用する様子の一例を示す図である。図10に示すように、ユーザは、ゲーム装置(すなわち、本体装置2ならびに各コントローラ3および4)に加えて、リング型拡張装置5を用いてゲームを行うことができる。
例えば図10に示すように、ユーザは、右コントローラ4が装着されたリング型拡張装置5を両手で把持する。このとき、ユーザは、リング型拡張装置5に対する操作(例えば、リング型拡張装置5を変形させる操作、および、リング型拡張装置5を動かす操作)によって、ゲームを行うことができる。
なお、図10においては、ユーザがグリップカバー203および204を把持してリング型拡張装置5を押し込むことで変形させる動作を行う様子を例示している。この動作によって、ユーザは、両腕を鍛えるフィットネス動作をゲーム操作として行うことができる。なお、ユーザはリング型拡張装置5に対する種々の動作でゲーム操作を行うことができる。例えば、ユーザは、一方のグリップカバーを両手で把持し、他方のグリップカバーを腹部に当てた状態で、リング型拡張装置5を変形させる動作を行うこともできる。この動作によって、ユーザは、腕と腹筋を鍛えるフィットネス動作をゲーム操作として行うことができる。また、ユーザは、両足の内股にグリップカバー203および204を当ててリング型拡張装置5を足で挟んだ状態で、リング型拡張装置5を変形させる動作を行うこともできる。この動作によって、ユーザは、足の筋肉を鍛えるフィットネス動作をゲーム操作として行うことができる。このように、本実施形態によれば、円環状であるリング型拡張装置5を用いることによって、ユーザは多くの種類のフィットネス動作を行うことができる。
[2.右コントローラ4およびリング型拡張装置5における動作の概要]
図11〜図13を参照して、右コントローラ4と、当該右コントローラ4が装着されたリング型拡張装置5とにおける動作について説明する。本実施形態においては、右コントローラ4およびリング型拡張装置5は、本体動作モードおよび独立動作モードという、2種類のモードで動作を行うことが可能である。本体動作モードは、右コントローラ4およびリング型拡張装置5が本体装置2とともに動作するモードであり、右コントローラ4および/またはリング型拡張装置5に対するユーザの入力に基づく処理(例えば、本体装置2が実行中のアプリケーションにおける処理)を本体装置2が実行するモードである。また、独立動作モードは、右コントローラ4およびリング型拡張装置5が本体装置2とは独立して処理を実行するモードである。独立動作モードにおいては、右コントローラ4および/またはリング型拡張装置5に対するユーザの入力に基づく処理が、本体装置2によることなく、右コントローラ4およびリング型拡張装置5によって実行される。
[2−1.本体動作モードにおける処理の流れ]
図11は、本体動作モードにおける装置間のデータの基本的な流れの一例を示す図である。本体動作モードにおいては、右コントローラ4とリング型拡張装置5との関係においては、右コントローラ4が親となり、リング型拡張装置5が子となって通信が行われる。すなわち、本体動作モードにおいては、右コントローラ4がリング型拡張装置5に対してデータの送信を要求し、この要求に応じてリング型拡張装置5がデータを右コントローラ4へ送信する流れで通信が行われる。
まず、本体装置2は、送信要求信号をリング型拡張装置5へ送信する(ステップS1)。送信要求信号は、当該信号の送信先に対してデータの送信を要求する信号である。なお、送信要求信号は、送信先の装置の動作、あるいは、送信すべきデータの内容を含むものであってもよいし、含まないものであってもよい。例えば、送信要求信号は、送信先の装置に対する指示を示すコマンドを表す信号であってもよい。また例えば、送信要求信号を受信したことに応じて所定のデータを送信することが通信プロトコルにおいて定められている場合、送信要求信号は、送信先の装置に対する指示内容を含む必要は無く、当該送信要求信号とは異なる他の信号と識別可能な任意の内容であってよい。なお、本実施形態においては、右コントローラ4への送信要求信号の送信は、所定時間に1回の割合で到来する送信タイミングで行われる。
また、本体装置2は、送信要求信号を送信する際、必要に応じて、右コントローラ4に所定の動作を実行させるコマンドを右コントローラ4へ送信する。上記コマンドとは、例えば、右コントローラ4に対して音および振動を出力させる指示を示す出力コマンド、および/あるいは、通知用LED67を発光させる指示を示す発光コマンド等である。
送信要求信号を受信した右コントローラ4は、まず、リング型拡張装置5からデータを取得する。具体的には、右コントローラ4は、送信要求信号をリング型拡張装置5へ送信する(ステップS2)。リング型拡張装置5は、右コントローラ4からの送信要求信号を受信したことに応じて、リング操作データを右コントローラ4へ送信する(ステップS3)。これによって、右コントローラ4はリング型拡張装置5からのリング操作データを取得する。なお、リング操作データとは、リング型拡張装置5に対する操作を示すデータである。本実施形態においては、リング操作データは、上記歪み値を示す情報を含む。具体的には、リング型拡張装置5の制御部213は、端子214を介してリング操作データを右コントローラ4へ送信する。
なお、右コントローラ4がリング型拡張装置5から取得するデータの内容を本体装置2が指定するようにしてもよい。例えば、本体装置2から右コントローラ4へ送信される送信要求信号は、リング型拡張装置5から取得するデータを指定する情報(例えば、リング操作データを示す情報)を含んでいてもよい。
次に、右コントローラ4は、リング型拡張装置5から受信したリング操作データと、コントローラデータとを本体装置2へ無線で送信する(ステップS4)。コントローラデータとは、右コントローラ4に対する操作を示すデータである。本実施形態においては、コントローラデータは、右コントローラ4に含まれる各入力部(具体的には、各ボタン113、アナログスティック52、各センサ114および115)から取得された情報を含む。なお、右コントローラ4の通信制御部111は、コントローラデータとリング操作データとをまとめて本体装置2へ送信してもよいし、別個に本体装置2へ送信してもよい。また、通信制御部111は、リング操作データに基づくデータを本体装置2へ送信すればよい。なお、「リング操作データに基づくデータ」とは、例えば、リング操作データ自体であってもよいし、リング操作データに何らかの加工(例えば、データ形式の変換、および/または、歪み値に対する計算処理等)を行ったデータであってもよい。なお、本体動作モードにおいては、後述する独立動作モードとは異なり、右コントローラ4はコントローラデータを周辺装置へ送信せず、周辺装置はコントローラデータを右コントローラ4から受信しない。
また、本体装置2から送信要求信号とともにコマンドを受信した場合、右コントローラ4は、当該コマンドに応じた動作を行う(ステップS5)。例えば、右コントローラ4は、上記出力コマンドを受信したことに応じて、振動子117を振動させる。また、右コントローラ4は、上記発光コマンドを受信したことに応じて、通知用LED67を発光させる。
なお、本実施形態においては、右コントローラ4は、本体装置2からの送信要求信号(およびコマンド)の受信に応じてステップS2,S4,S5の処理を実行する。なお、他の実施形態においては、右コントローラ4は、ステップS2の処理については、本体装置2からの送信要求信号(およびコマンド)の受信とは異なるタイミングで実行し、ステップS4およびS5の処理を当該受信に応じて実行してもよい。また、他の実施形態においては、右コントローラ4は、本体装置2からの送信要求信号に応じたタイミングに代えて、自身において定められるタイミング(例えば、所定時間に1回の割合で到来するタイミング)で本体装置2への送信処理を実行してもよい。
本体装置2は、右コントローラ4からのデータを受信し、受信したデータに基づく処理を実行する(ステップS6)。具体的には、本体装置2は、受信したデータに基づいて、実行中のアプリケーションにおける処理を実行する。この処理の内容は任意である。例えばゲームアプリケーションが実行中である場合、本体装置2は、受信したデータに基づいてゲーム処理(例えば、プレイヤキャラクタの動作を制御したり、ゲーム空間のオブジェクトに影響を与えたりする処理)を実行する。本体動作モードにおいては、上記ステップS1〜S6の一連の処理が繰り返し実行される。
なお、本実施形態においては、右コントローラ4は、リング型拡張装置5に装着されない単独の状態においても動作することが可能である。このとき、本体装置2および右コントローラ4は、図11に示すステップS1〜S6の一連の処理のうちで、S2およびS3の処理を除く処理を実行する。本実施形態においては、リング型拡張装置5に装着されない右コントローラ4と本体装置2とによってステップS1,S4−S6の処理が実行される動作態様も、本体動作モードと呼ぶ。
[2−2.独立動作モードにおける処理の流れ]
図12は、独立動作モードにおける処理およびデータの基本的な流れの一例を示す図である。独立動作モードにおいては、本体動作モードとは異なり、リング型拡張装置5が親となり、右コントローラ4が子となって通信が行われる。すなわち、独立動作モードにおいては、リング型拡張装置5が右コントローラ4に対してデータの送信を要求し、この要求に応じて右コントローラ4がデータをリング型拡張装置5へ送信する流れで通信が行われる。
具体的には、リング型拡張装置5は、送信要求信号を右コントローラ4へ送信する(ステップS11)。本実施形態においては、右コントローラ4への送信要求信号の送信は、所定時間(例えば、10[ms])に1回の割合で到来する送信タイミングで行われる。本実施形態においては、上記送信タイミングが到来する毎に、リング型拡張装置5は、送信要求信号を右コントローラ4へ送信する。
また、リング型拡張装置5は、上記送信タイミングにおいて、送信要求信号に加えて、必要に応じて、右コントローラ4に所定の動作を実行させるコマンドを右コントローラ4へ送信する。上記コマンドとは、例えば、右コントローラ4に対して音および振動を出力させる指示を示す出力コマンド、および/あるいは、通知用LED67を発光させる指示を示す発光コマンド等である。なお、上記送信タイミングにおいて、右コントローラ4に対して何らかの動作を実行させる必要が無い場合は、コマンドは送信されず、送信要求信号のみが送信される。
右コントローラ4は、リング型拡張装置5から送信要求信号を受信したことに応じて、右コントローラ4はコントローラデータを送信する(ステップS12)。ここで、本実施形態においては、右コントローラ4から本体装置2へ送信されるコントローラデータと、右コントローラ4からリング型拡張装置5へ送信されるコントローラデータとは、同じ内容である。ただし、他の実施形態においては、両者は異なる内容であってもよい。ここで、独立動作モードにおいて右コントローラ4が装着される周辺装置(ここでは、リング型拡張装置5)によって実行される処理は、本体動作モードにおいて本体装置2によって実行される処理に比べて簡単な処理であると考えられる。したがって、右コントローラ4は、本体装置2へ送信するコントローラデータのうちの一部のデータを、リング型拡張装置5へ送信するコントローラデータとして用いてもよい。これによって、リング型拡張装置5へ送信するコントローラデータのデータ量を削減することができる。例えば、右コントローラ4がカメラを備えており、カメラによって撮像された画像のデータを右コントローラ4が本体装置2へ送信してもよく、このとき、右コントローラ4は、当該画像のデータについてはリング型拡張装置5へ送信しないようにしてもよい。
なお、独立動作モードにおいては本体動作モードとは異なり、右コントローラ4は、本体装置2へはコントローラデータを送信しない(図12参照)。なお、独立動作モードにおいて、本体装置2は、右コントローラ4との通信を行わないが、スリープ状態である必要は無く、スリープ状態から復帰して何らかの処理を実行していてもよい。
また、リング型拡張装置5からコマンドを受信した場合、右コントローラ4は、当該コマンドに応じた動作を行う(ステップS13)。例えば、右コントローラ4は、上記出力コマンドを受信したことに応じて、振動子117を振動させる。また、右コントローラ4は、上記発光コマンドを受信したことに応じて、通知用LED67を発光させる。
リング型拡張装置5は、右コントローラ4からのコントローラデータを受信し、受信したコントローラデータに基づいて処理を実行する(ステップS14)。また、リング型拡張装置5は、自身の歪み検出部211によって検出された歪み値に基づく処理を実行する。詳細は後述するが、本実施形態においては、リング型拡張装置5は、当該リング型拡張装置5を変形させる操作に応じて、右コントローラ4に音および振動を出力させる処理や、右コントローラ4に対する入力に応じて、音および振動の出力のオン/オフを切り替える処理等を実行する。
上記ステップS14の処理において、リング型拡張装置5は、右コントローラ4に対するコマンドを必要に応じて生成する。独立動作モードにおいては、上記ステップS11〜S14の一連の処理が繰り返し実行される。したがって、ステップS14において生成されたコマンドは、次に実行されるステップS11の処理において右コントローラ4へ送信される。
以上のように、本実施形態においては、右コントローラ4およびリング型拡張装置5は、本体装置2が処理を実行する本体動作モードだけでなく、本体装置2とは独立して処理を実行する独立動作モードで動作することが可能である。したがって、ユーザは、本体装置2においてアプリケーションが実行されていない期間において、独立動作モードで動作する右コントローラ4およびリング型拡張装置5を用いることができる。例えば、ユーザは、本体装置2においてアプリケーションが実行されていない期間においても、リング型拡張装置5を用いたフィットネス動作を行うことができる。
また、本実施形態においては、独立動作モード中に行われたフィットネス動作の記録を示すデータが保存され、その後に本体装置2において、リング型拡張装置5を用いるアプリケーションが実行された場合に、本体装置2は当該データに基づいてゲーム処理を実行する。そのため、本実施形態においては、アプリケーションが実行されていない期間にユーザが行ったフィットネス動作の結果をアプリケーションに反映させることができる。
なお、右コントローラ4およびリング型拡張装置5は、上記の本体動作モードおよび独立動作モードとは異なる他のモードで動作することが可能であってもよい。例えば、右コントローラ4は、本体装置2に装着された状態において、後述する本体装着モードで動作することも可能である。また、右コントローラ4は、これらのモードのいずれかで動作する状態とは別に、スリープ状態となることも可能である。スリープ状態において、右コントローラ4は、他の装置とのデータ通信(ただし、無線通信を開始するための信号のやり取りを除く)を行わず、自身の操作部(すなわち、各ボタン113、および、アナログスティック52)に対する入力を受け付ける。スリープ状態において操作部に対する入力が検出された場合、右コントローラ4はスリープ状態から復帰する。
また、上記のように、本実施形態においては、周辺装置(ここでは、リング型拡張装置5)は、独立動作モードにおいて、センサ(ここでは、歪み検出部211)が検知したユーザ入力に応じた周辺装置データ(ここでは、リング操作データ)に基づいて、右コントローラ4に所定の動作を実行させるコマンドを生成し、コマンドを右コントローラ4へ送信する構成である。上記の構成によれば、独立動作モードにおいては、右コントローラ4は、周辺装置からのコマンドに応じて動作するので、独立動作モードにおける右コントローラ4の処理を汎用性のあるものとすることができ、ゲームコントローラを種類の異なる周辺装置に対応させやすくすることができる。また、右コントローラ4における処理をシンプルにすることができるので、当該処理を実行するためのプログラムおよびデータのデータ量を低減することができ、右コントローラ4におけるデータ量を低減することができる。
ここで、右コントローラ4が複数種類の周辺装置に装着可能であり、独立動作モードにおいては、右コントローラ4および周辺装置は、当該周辺装置に応じて異なる動作を行う場合を考える。この場合、周辺装置毎に異なる処理(例えば、周辺装置に対するユーザ入力に応じて、周辺装置毎に異なる出力を右コントローラ4から行う処理)を右コントローラ4が実行するとすれば、それぞれの処理のためのプログラムおよびデータを右コントローラ4が記憶することになるので、右コントローラ4におけるデータ量が大きくなってしまい、右コントローラ4の記憶領域を圧迫するおそれがある。これに対して、本実施形態においては、独立動作モードにおける処理が周辺装置毎に異なる場合であっても、右コントローラ4における処理を共通化することができる。例えば、周辺装置に対するユーザ入力に応じて右コントローラ4に出力を行わせる処理については、出力を行わせるコマンドを周辺装置側で生成し、コマンドに従った動作を右コントローラ4に実行させることで、周辺装置の種類によらず、右コントローラ4における処理は共通になる。これによれば、右コントローラ4を汎用的に利用することができ、周辺装置に対応させやすくなる。また、独立動作モードにおける右コントローラ4の処理の汎用性を向上することによって、右コントローラ4における処理のために記憶されるデータの量を低減することができる。
また、本実施形態においては、周辺装置は、独立動作モードにおいて、右コントローラ4へ送信要求信号を送信し、送信要求信号が右コントローラ4において受信されたことに応じて右コントローラ4から送信されたコントローラデータに基づく処理を実行する構成である。これによれば、例えば、右コントローラ4に対する入力に基づく処理(例えば、右コントローラ4のボタンに対する入力に応じて、右コントローラ4の音および振動の出力のオン/オフを切り替える処理)を、コントローラデータを受信した周辺装置側で実行することができる。これによって、周辺装置毎に異なる処理については周辺装置側で実行し、複数の周辺装置で共通する処理について右コントローラ4側で実行しやすくなるので、この構成によっても、独立動作モードにおける右コントローラ4の処理を汎用性のあるものとすることができると言うことができる。つまり、上記の構成によっても、右コントローラ4を汎用的に利用することができる。また、上記の構成によって、右コントローラ4において実行する処理の増加を抑制することができ、処理のためのプログラムおよびデータを減少させることによって、右コントローラ4におけるデータ量を削減することができる。
なお、右コントローラ4は、独立動作モードにおいては、周辺装置へ送信されたコントローラデータに応じたコマンドを周辺装置から受信し、当該コマンドに応じて動作する。また、右コントローラ4は、本体動作モードにおいては、本体装置2へ送信されたコントローラデータに応じたコマンドを本体装置2から受信し、当該コマンドに応じて動作する。このように、いずれのモードにおいても他の装置からのコマンドに応じて右コントローラ4が動作するようにすることで、右コントローラ4における処理をシンプルにすることができ、当該処理のためのプログラムおよびデータのデータ量を削減することができる。
また、本実施形態においては、独立動作モードにおいて、周辺装置は、右コントローラ4に対するユーザ入力に応じたコントローラデータを当該右コントローラ4から受信する。これによって、右コントローラ4に対するユーザ入力に基づく処理を周辺装置側において実行することができる。また、周辺装置は、コントローラデータに基づいて、右コントローラ4に所定の動作を実行させるコマンドを生成し、当該コマンドを右コントローラへ送信する。これによって、右コントローラ4に動作を行わせるための処理を周辺装置側において実行することができる。例えば、右コントローラ4の特定のボタン入力に応じて実行する右コントローラ4の動作(例えば、振動の出力等)を周辺装置毎に異ならせる場合に、複数の周辺装置それぞれについてのボタン入力と動作との対応を右コントローラ4が記憶するとすれば、右コントローラ4において必要とされる記憶容量が大きくなるおそれがある。これに対して、本実施形態のようにすることで、右コントローラ4において必要とされる記憶容量が大きくなることを抑制できる。
なお、本実施形態においては、周辺装置は、右コントローラ4が備えるボタンのうちで、操作可能な全てのボタン(具体的には、ボタン53〜58、60、および、61)に関するコントローラデータを右コントローラ4から受信する。なお、第2Lボタン65および第2Rボタン66は、右コントローラ4が周辺装置に装着された状態において操作不可能であるので、右コントローラ4は、これらのボタン65および66に関するデータを送信しなくてもよい。上記によれば、周辺装置は、右コントローラ4の操作可能な各ボタンに対する入力に基づく処理を実行することができる。また、右コントローラ4が周辺装置に送信するコントローラデータの内容を各周辺装置について共通にすることができるので、右コントローラ4の処理を汎用性のあるものにすることができる。なお、このとき、周辺装置は、コントローラデータのうちの一部のデータに基づき、当該コントローラデータのうちの他のデータには基づかないコマンドを右コントローラ4へ送信してもよい。具体的には、周辺装置は、コントローラデータのうちの一部のデータに基づき、当該コントローラデータのうちの他のデータには基づかずにコマンドを生成してもよいし、コントローラデータの全部のデータに基づいて複数のコマンドを生成し、複数のコマンドのうちの一部のコマンド(かつ、当該コントローラデータのうちの一部のデータには基づかずに生成されるコマンド)を右コントローラ4へ送信してもよい。このように、周辺装置は、コントローラデータに含まれる、各ボタンに関するデータの全てを用いて処理を実行する必要はない。また、他の実施形態においては、周辺装置は、右コントローラ4が備える全ての操作部(すなわち、各ボタンおよびアナログスティック)に関するコントローラデータを右コントローラ4から受信してもよい。
[2−3.各モードでの動作が開始されるまでの処理]
次に、上記の各モードが開始されるまでの処理について説明する。本実施形態においては、右コントローラ4は、スリープ状態から復帰した後、モード毎の条件のいずれかが満たされることに応じて、条件が満たされたモードでの動作を開始する。また、詳細は後述するが、右コントローラ4が周辺装置に装着される場合には、動作すべきモードを示す情報(後述するモード情報)が右コントローラ4から当該周辺装置へ送信されることによって、当該周辺装置も右コントローラ4と同じモードで動作する。
独立動作モードは、右コントローラ4と本体装置2との無線接続が確立していない状態で、かつ、独立動作モードに対応する周辺装置(すなわち、独立動作モードでの動作が可能な周辺装置)に右コントローラ4が装着されている状態において、右コントローラ4に対する所定の開始操作が検出されたことを条件として、開始される。ここで、右コントローラ4と本体装置2との無線接続が確立している状態とは、右コントローラ4と本体装置2との間で無線通信によるデータの送受信が可能な状態である。なお、無線接続が確立していない状態とは、一方の装置から他方の装置への電波が受信不可能な状態のみを意味するわけではない。無線接続が確立していない状態であっても、右コントローラ4および本体装置2は、無線接続を確立するための通信処理を実行することは可能である。なお、スリープ状態にある右コントローラ4は、本体装置2との無線接続が確立していない状態である。
本実施形態においては、上記開始操作は、アナログスティック52を押下する操作である。ただし、開始操作は右コントローラ4に対する任意の操作であってよい。また、開始操作は、右コントローラ4がスリープ状態であるときに行われた操作であってもよい。つまり、スリープ状態である右コントローラ4が、独立動作モードに対応する周辺装置に装着された状態で、当該右コントローラ4に対して開始操作が行われた場合、右コントローラ4は、スリープ状態から復帰し、独立動作モードでの動作を開始する。
一方、本体動作モードは、右コントローラ4がスリープ状態から復帰後、右コントローラ4と本体装置2との無線接続が確立したことを条件として開始される。ここで、右コントローラ4は、本体装置2との無線接続が確立していない状態で自身の操作部に対する入力が検出された場合(ただし、上記の開始操作に応じて独立動作モードが開始される場合、および、独立動作モードで動作中である場合を除く)、自機と本体装置2との間における無線接続を確立するための通信処理を実行する。この通信処理によって両者の間で無線接続が確立した場合、右コントローラ4は本体動作モードで動作する。なお、上記通信処理において、本体装置2がスリープ状態である場合、あるいは、右コントローラ4からの電波が本体装置2において受信されない場合には無線接続は確立しない。この場合、本体動作モードは開始されず、右コントローラ4の動作モードが未決定である状態が維持される。なお、上記通信処理を実行させるために当該右コントローラ4に対して行う操作は、任意であり、右コントローラ4に対する所定の操作(例えば、第1Rボタン60に対する操作、または、第1Rボタン60およびZRボタン61に対する操作)であってもよい。
また、本体装置2との無線接続が確立していない状態でホームボタン58に対する入力が検出された場合、右コントローラ4は、本体装置2をスリープ状態から復帰させる復帰信号を本体装置2へ送信してから、上記通信処理を実行する。つまり、ユーザは、スリープ状態である本体装置2と右コントローラ4との無線接続を確立させたい場合には、右コントローラ4のホームボタン58を押下すればよい。なお、本体装置2がスリープ状態から復帰後の状態において、右コントローラ4のホームボタン58に対する入力が検出された場合における本体装置2の挙動は任意である。例えば、アプリケーションの実行中においてホームボタン58に対する入力が検出された場合、本体装置2は、実行中のアプリケーションを一時停止して、本体装置2におけるメニュー画像を表示するようにしてもよい。また、上記メニュー画像の表示中においてホームボタン58に対する入力が検出された場合、本体装置2はスリープ状態に移行してもよい。
以上より、ユーザは、例えば次の方法で、右コントローラ4を本体動作モードで動作させることができる。
・右コントローラ4が周辺装置に装着されていない状態で、スリープ状態である右コントローラ4の操作部に対する操作を行う。さらにこのとき、ユーザは、本体動作モードである右コントローラ4を周辺装置(例えば、リング型拡張装置5)に装着させることで、右コントローラ4および周辺装置を本体動作モードで動作させることができる。
・スリープ状態でかつ周辺装置に装着された状態である右コントローラ4を、上記開始操作とは異なる操作によってスリープ状態から復帰させる。
なお、本体装置2において実行されるアプリケーションにおいて右コントローラ4をリング型拡張装置5に装着して用いる場合、ユーザは、当該アプリケーションの実行前または実行後に、右コントローラ4と本体装置2との無線接続を確立させ、右コントローラ4を本体動作モードで動作させる。このとき、ユーザは、右コントローラ4を本体動作モードで動作させてから当該右コントローラ4をリング型拡張装置5に装着させることによって両者を本体動作モードで動作させてもよいし、右コントローラ4をリング型拡張装置5に装着させてから当該右コントローラ4を本体動作モードで動作させることによって両者を本体動作モードで動作させてもよい。
なお、右コントローラ4が本体装置2に装着された場合、右コントローラ4は、本体装着モードで動作する。ここで、本体装着モードは、右コントローラ4に対するユーザの入力に基づく処理を本体装置2が実行するモードである。本体装着モードにおいては、本体装置2が右コントローラ4に対してデータの送信を要求し、この要求に応じて右コントローラ4がデータを本体装置2へ送信する流れで通信が行われる。本体装着モードにおいて右コントローラ4が行う処理は、右コントローラ4が装着されている装置(ここでは、本体装置2またはリング型拡張装置5)からのコマンドに応じて右コントローラ4が動作するという点で、独立動作モードにおいて右コントローラ4が行う処理と同様である。したがって、本実施形態においては、右コントローラ4は、独立動作モードにおける処理のためのプログラムとして、本体装着モードにおける処理のためのプログラムを用いることができる。これによって、右コントローラ4に記憶するデータの量を低減することができる。
図13は、右コントローラ4がリング型拡張装置5に装着された場合に実行される処理の流れの一例を示す図である。図13に示される処理は、スリープ状態から復帰した後の右コントローラ4がリング型拡張装置5に装着されたことに応じて、あるいは、リング型拡張装置5に装着された右コントローラ4がスリープ状態から復帰したことに応じて、開始される。
まず、右コントローラ4は、自身が装着されている装置に対する確認処理を実行する(ステップS21)。確認処理は、右コントローラ4が装着されている装置の種類を確認する処理である。ここで、右コントローラ4に装着可能な周辺装置(および、本体装置2)は確認用電子部品を備えており、リング型拡張装置5も確認用電子部品216を備えている(図9参照)。確認用電子部品は、周辺装置(および本体装置2)の種類を右コントローラ4が確認するための電子部品であって、右コントローラ4から供給される電力によって動作する電気的構成(例えば、歪み検出部211、信号変換部212、および、制御部213)とは異なる電子部品である。確認用電子部品は、抵抗値を有する任意の電子部品であってよい。図9に示すように、確認用電子部品216は、電力変換部215に接続されておらず、電力変換部215を介した給電が行われなくてもよい。本実施形態においては、確認用電子部品は、周辺装置の種類に応じた抵抗値を有している。図9に示すように、確認用電子部品は、周辺装置の端子に電気的に接続されており、右コントローラ4が周辺装置に装着された場合、右コントローラ4の端子64が確認用電子部品に電気的に接続される。これによって、右コントローラ4側の電気的構成と周辺装置側の確認用電子部品とによって回路(「確認用回路」と呼ぶ。)が形成される。本実施形態においては、独立動作モードに対応する周辺装置(例えば、リング型拡張装置5)は、所定の抵抗値を有する確認用電子部品を備えているものとする。したがって、右コントローラ4は、自身が周辺装置に装着されることによって形成される上記確認用回路の抵抗値に基づいて当該周辺装置の種類(ここでは、少なくとも、独立動作モードに対応する種類の周辺装置であるか)を判別することができる。
確認処理において、右コントローラ4は、上記確認用回路の抵抗値を検出する。そして、右コントローラ4は、検出された抵抗値が、上記所定値を含む判定範囲内の値であるか否かを判定する。この判定は、右コントローラ4が装着されている周辺装置が、独立動作モードに対応する周辺装置であるか否かを判定する処理である。なお、本実施形態においては、検出される抵抗値に誤差が生じる可能性を考慮して、上記判定のために上記判定範囲を用いる。この所定範囲の幅は適宜設定されてよい。
なお、本実施形態においては、本体装置2は、上記判定範囲外の抵抗値であって、周辺装置の確認用電子部品とは異なる抵抗値を有する確認用電子部品を備えているものとする。したがって、本実施形態においては、右コントローラ4は、検出された抵抗値によって、自身が装着されている装置が本体装置2であるか否かを判定することも可能である。上記ステップS21において右コントローラ4が本体装置2に装着されたと判断された場合には、右コントローラ4は、図13に示す処理を終了し、本体装着モードで動作を開始する。
一方、自身が装着されている周辺装置が独立動作モードに対応する周辺装置であると判断した場合、右コントローラ4は、当該周辺装置(ここでは、リング型拡張装置5)に対する給電を開始する(ステップS22)。なお、図示しないが、自身が装着されている周辺装置が独立動作モードに対応する周辺装置であると判断されない場合、右コントローラ4は、当該周辺装置に対する給電を開始せず、図13に示す処理を終了し、スリープ状態となる。
なお、他の実施形態においては、独立動作モードに対応しないものの、右コントローラ4からの給電を受けることが可能な周辺装置が存在してもよい。このような周辺装置は、独立動作モードに対応する周辺装置の確認用電子部品とは異なり、かつ、右コントローラ4からの給電を受けることが不可能な周辺装置の確認用電子部品とは異なる抵抗値を有する確認用電子部品を備える。このとき、右コントローラ4は、自身が装着されている周辺装置が独立動作モードに対応する周辺装置であるとは判断してはいないが、給電を行ってもよい。なお、この場合、右コントローラ4は、独立動作モードで動作を行わず、例えば、右コントローラ4と本体装置2との無線接続が確立したことを条件に本体動作モードで動作する。
右コントローラ4からの給電が開始されたことに応じてリング型拡張装置5は起動する。起動後、リング型拡張装置5は、後述するモード情報が右コントローラ4から送信されてくるのを待機する待機状態となる(ステップS23)。なお、この時点では、リング型拡張装置5が動作するモードは未決定である。
一方、給電を開始した後、本体動作モードまたは独立動作モードを開始する条件が満たされた場合、右コントローラ4は、モード情報をリング型拡張装置5へ送信する(ステップS24)。モード情報は、右コントローラ4およびそれに装着される周辺装置が動作すべきモードを示す。
なお、本実施形態においては、上述のように、本体動作モードを開始する条件とは、右コントローラ4と本体装置2との無線接続が確立したことである。例えば、スリープ状態である右コントローラ4に対して上記開始操作とは異なる操作が行われたことに応じて右コントローラ4がスリープ状態から復帰したことによって、図13に示す処理が開始された場合、右コントローラ4は、上記ステップS22の後、本体装置2との無線接続が確立したことに応じて、ステップS24の処理を実行する。本体動作モードを開始する条件が満たされた場合、ステップS24の処理において、右コントローラ4は、本体動作モードを示すモード情報を周辺装置(ここでは、リング型拡張装置5)へ送信する。また、図13に示す処理が開始された時点で右コントローラ4が本体動作モードで動作している場合(つまり、本体動作モードで動作している右コントローラ4がリング型拡張装置5に装着された場合)には、右コントローラ4は、上記ステップS22に続いて上記ステップS24の処理を実行する。
また、独立動作モードを開始する条件とは、上述のように、右コントローラ4と本体装置2との無線接続が確立しておらず、かつ、独立動作モードに対応する周辺装置に右コントローラ4が装着されている状態で、上記開始操作が行われたことである。例えば、スリープ状態であって、リング型拡張装置5に装着された状態の右コントローラ4に対して上記開始操作が行われたことに応じて右コントローラ4がスリープ状態から復帰したことによって、図13に示す処理が開始された場合、右コントローラ4は、上記ステップS22の後、ステップS24の処理を実行する。独立動作モードを開始する条件が満たされた場合、ステップS24の処理において、右コントローラ4は、独立動作モードを示すモード情報を周辺装置(ここでは、リング型拡張装置5)へ送信する。
右コントローラ4からのモード情報を受信すると、リング型拡張装置5は、モード情報を受信したことの確認のための返信を行う(ステップS25)。そして、リング型拡張装置5は、モード情報により示されるモードでの動作を開始する(ステップS26)。
一方、右コントローラ4は、リング型拡張装置5からの返信を受信したことに応じて、モード情報により示されるモードでの動作を開始する(ステップS27)。これによって、右コントローラ4およびリング型拡張装置5の両方において同じモードで動作が開始される。
上記のように、本実施形態においては、周辺装置(ここでは、リング型拡張装置5)は、当該周辺装置と電気的に接続した状態の右コントローラ4から供給される電力によって動作する。右コントローラ4から供給される電力に基づいて周辺装置が起動した場合、周辺装置は、複数のモードのうちで動作すべきモードを示すモード情報を右コントローラ4から受信することを待機する待機状態となる。このとき、右コントローラ4は、上記モード情報を生成し、当該モード情報を周辺装置へ送信する。そして、周辺装置は、待機状態において右コントローラ4から受信されたモード情報により示されるモードで動作する。周辺装置は、起動時点ではどのモードで動作すべきか自身では判断することができないが、上記によれば、周辺装置の起動後において、右コントローラ4に応じた適切なモードで周辺装置を動作させることができる。
また、本実施形態においては、周辺装置は、右コントローラと当該周辺装置とが電気的に接続されることによって形成される回路の一部を構成し、所定の抵抗値を有する確認用電子部品を備える。これによれば、右コントローラ4は、上記回路の抵抗値を検出することによって、周辺装置の情報(例えば、種類)を判別することができる。
さらに、本実施形態においては、独立動作モードに対応する周辺装置と右コントローラ4が電気的に接続されることによって形成される確認用回路の抵抗値は、第1の値であり、独立動作モードに対応しない周辺装置と右コントローラ4が電気的に接続されることによって形成される確認用回路の抵抗値は、第1の値とは異なる第2の値である。そして、右コントローラ4は、確認用回路の抵抗値が、上記第1の値を含み、第2の値を含まない所定の範囲(すなわち、上記判定範囲)内であることを条件として、独立動作モードを示すモード情報を当該装置へ送信する。これによれば、独立動作モードに対応しない周辺装置に対して、独立動作モードを示すモード情報が送信されることを防止することができるので、右コントローラ4が装着された場合に右コントローラ4が独立動作モードで動作してしまうエラーを防止することができる。
また、本実施形態においては、右コントローラ4は、確認用回路の抵抗値が第1の範囲(すなわち、上記判定範囲)内である場合、独立動作モードで動作可能であるとともに本体動作モードで動作可能である。一方、確認用回路の抵抗値が第1の範囲とは異なる第2の範囲内である場合、右コントローラ4は、本体動作モードで動作可能であり、独立動作モードでの動作を禁止する(すなわち、独立動作モードで動作しない)。このような構成によっても、独立動作モードに対応しない周辺装置に右コントローラ4が装着された場合に右コントローラ4が独立動作モードで動作してしまうエラーを防止することができる。
本実施形態においては、右コントローラ4は、上記抵抗値を検出し、検出した抵抗値が第1範囲内であるか否かを判定した。ここで、上記「抵抗値が第1の範囲内である場合」および、「抵抗値が第1の範囲とは異なる第2の範囲内である場合」を判断する方法は任意である。例えば、右コントローラ4は、抵抗値に代えて、抵抗値と相関のあるパラメータ(換言すれば、抵抗値を算出可能なパラメータ。例えば、電圧や電力)に基づいて、上記の場合であるか否かの判定を行ってもよい。
また、右コントローラ4は、周辺装置に装着されており、かつ、本体装置2との通信が確立していない状態で、右コントローラ4に対する所定の操作(すなわち、開始操作)を検出したことに応じて、右コントローラ4と当該周辺装置とが電気的に接続されることによって形成される確認用回路の抵抗値が上記判定範囲内であることを少なくとも条件として、独立動作モードで動作する。これによれば、ユーザは、所望のタイミングで右コントローラ4に独立動作モードを開始させることができるとともに、独立動作モードに対応しない周辺装置に右コントローラ4が装着された場合に、右コントローラ4が独立動作モードで動作してしまうエラーを防止することができる。
また、右コントローラ4は、確認用回路の抵抗値が上記判定範囲内であることを少なくとも条件として(より具体的には、上記判定範囲内である抵抗値が検出されたことに応じて)、当該周辺装置のうち、当該確認用回路を形成する部分とは異なる他の部分(具体的には、歪み検出部211、信号変換部212、および、制御部213)に電力を供給する。なお、右コントローラ4は、上記確認用回路の抵抗値が上記判定範囲内でない場合には、当該周辺装置に電力を供給しない。これによれば、給電の必要が無い周辺装置に対して右コントローラ4が給電を行ってしまうエラーを防止することができる。また、正規でない周辺装置(例えば、リング型拡張装置5と同じ機能を有するものの、上記確認用回路の抵抗値が判定範囲外の値となる装置)に右コントローラ4が装着された場合に、当該周辺装置が動作することを防止することができる。
[2−4.独立動作モードにおける処理の具体例]
次に、独立動作モードにおけるリング型拡張装置5における処理の具体例について説明する。独立動作モードにおいて、リング型拡張装置5は、ユーザが当該リング型拡張装置5を変形させる操作を検出し、操作が行われた回数をカウントして記憶する。以下、独立動作モードにおいて実行される各処理について説明する。
リング型拡張装置5は、自機に対する押し込み操作および引っ張り操作を検出する。なお、押し込み操作は、リング型拡張装置5の2つの把持部分が互いに近づく方向(「押し込み方向」と呼ぶ。)に環状部201を変形させる操作である。また、引っ張り操作は、2つの把持部分が互いに離れる方向(「引っ張り方向」と呼ぶ。)に環状部201を変形させる操作である。なお、リング型拡張装置5の変形量は、歪み検出部211から出力される歪み値に基づいて算出することができ、当該変形量に基づいて押し込み操作または引っ張り操作を検出することができる。具体的には、リング型拡張装置5は、押し込み方向の変形量が所定の押し込み閾値よりも大きくなった場合、押し込み操作を検出し、引っ張り方向の変形量が所定の引っ張り閾値よりも大きくなった場合、引っ張り操作を検出する。リング型拡張装置5は、押し込み操作または引っ張り操作が1回検出される毎に、操作回数を1増加させるようにカウントを行う。また、リング型拡張装置5は、カウントした操作回数を制御部213が備えるメモリに記憶する。本実施形態においては、上記メモリは、不揮発性のメモリであり、周辺装置に対する電源供給が停止されてもデータを記憶しておく。なお、上記本体動作モードにおいては、リング型拡張装置5は、操作回数のカウントは行わず、操作回数を記憶することも行わない。
なお、本実施形態においては、リング型拡張装置5は、押し込み操作と引っ張り操作とを区別せずに、両者が行われた合計の操作回数をカウントするが、他の実施形態においては、押し込み操作の操作回数と引っ張り操作の操作回数とを区別してカウントしてもよい。
上記のように、本実施形態においては、独立動作モードにおいて、周辺装置は、センサ(すなわち、歪み検出部211)が検知したユーザ入力の回数を記憶するメモリを備える。具体的には、周辺装置は、センサによって検知された値が所定の閾値よりも大きいか否かを判定し、検知された値が閾値より大きいと判定される場合、上記ユーザ入力の回数をカウントする。これによれば、ゲームシステム1は、独立動作モード中にユーザが行った入力を用いて、独立動作モードの終了後に処理(例えば、本体装置2において実行されるアプリケーションにおける処理)を実行することができる。
また、リング型拡張装置5は、押し込み操作および引っ張り操作に応じて音および振動を右コントローラ4から出力させる。本実施形態においては、リング型拡張装置5は、押し込み操作が検出されたことに応じたタイミング、および、引っ張り操作が検出されたことに応じたタイミングで、音および振動を右コントローラ4から出力させる。
なお、リング型拡張装置5は、操作に応じた任意のタイミングで、右コントローラ4から音および振動を出力させるようにしてもよい。例えば、リング型拡張装置5は、変形量が上記押し込み閾値を跨いだタイミング、および、変形量が上記引っ張り閾値を跨いだタイミングで、音および振動を右コントローラ4から出力させてもよい。なお、変形量が閾値を跨いだタイミングとは、変形量が増加して閾値を上回った(すなわち、閾値よりも大きくなった)タイミングと、変形量が減少して閾値を下回った(すなわち、閾値よりも小さくなった)タイミングとの両方を含む意味である。これによれば、ユーザによる押し込み操作または引っ張り操作が検出されたタイミングと、押し込み操作または引っ張り操作の後でリング型拡張装置5が定常状態に戻る途中のタイミングとで、右コントローラ4において音および振動が出力されることとなる。
また、リング型拡張装置5は、カウントされた操作回数が、所定の区切り回数(例えば、100の倍数の回数)となったことに応じて、音および振動を右コントローラ4から出力させる。さらに、リング型拡張装置5は、カウントされた操作回数が、リング型拡張装置5の制御部213において設定されている上限回数(例えば、500回)に達したことに応じて、音および振動を右コントローラ4から出力させる。なお、出力される音および振動の態様(例えば、周波数、大きさ、出力される長さ、回数等)は、1回の操作に応じて出力される場合と、操作回数が上記区切り回数に達したことに応じて出力される場合と、操作回数が上限回数に達したことに応じて出力される場合とで、それぞれ異なっていてもよい。
音および振動を右コントローラ4から出力させる場合、リング型拡張装置5は、音および振動を出力させる指示を示す出力コマンドを生成して右コントローラ4へ送信する。本実施形態においては、右コントローラ4は、音および振動の両方を振動子117から出力する。したがって、リング型拡張装置5は、振動子117に入力する音および振動の波形を指定するデータを含む出力コマンドを生成する。なお、波形を指定するデータは、波形自体を示すデータであってもよいし、波形を特定する情報(例えば、周波数および振幅の情報)を示すデータであってもよいし、振動子117に入力される波形パターンを指定する情報(例えば、波形パターンに付された番号)を示すデータであってもよい。
独立動作モードにおいて、リング型拡張装置5は、音および振動を右コントローラ4から出力させることに関する設定を、ユーザによる操作に応じて変更する。具体的には、リング型拡張装置5は、ユーザによる音切替操作に応じて音出力のオン/オフを切り替え、ユーザによる振動切替操作に応じて振動出力のオン/オフを切り替える。本実施形態においては、これらの操作は、右コントローラ4に対する操作である。具体的には、リング型拡張装置5は、右コントローラ4のAボタン53に対する押下操作に応じて、音出力のオン/オフを切り替え、右コントローラ4のBボタン54に対する押下操作に応じて、振動出力のオン/オフを切り替える。
上記の操作によって音および振動に関する出力の設定が切り替えられた場合、リング型拡張装置5は、切り替え後の設定に従って上記出力コマンドを生成する。例えば、音の出力がオフに設定され、振動の出力がオンに設定されている場合、リング型拡張装置5は、振動としてのみ出力される波形(例えば、人間の可聴帯域外の周波数のみを含み、人間の可聴帯域内の周波数を含まない波形)を指定するデータを含むように、出力コマンドを生成する。また例えば、音の出力がオンに設定され、振動の出力がオフに設定されている場合、リング型拡張装置5は、音としてのみ出力される波形(例えば、人間の可聴帯域内の周波数のみを含み、人間の可聴帯域外の周波数を含まない波形)を指定するデータを含むように、出力コマンドを生成する。また例えば、音の出力および振動の出力が共にオフに設定されている場合、リング型拡張装置5は、出力が0である波形を指定するデータを含むように出力コマンドを生成する。なお、この場合にはリング型拡張装置5は出力コマンドを生成しないようにしてもよい。
以上のように、本実施形態においては、音切替操作または振動切替操作が行われたことを示すコントローラデータに応じて変更される設定に基づいて出力コマンドを作成する処理が、右コントローラ4からのコントローラデータに基づいてコマンドを作成する処理の具体例である。ここで、他の実施形態においては、リング型拡張装置5は、右コントローラ4からのコントローラデータに基づいてコマンドを作成する処理として、他の処理を実行してもよい。例えば、リング型拡張装置5は、右コントローラ4に対する音切替操作または振動切替操作に応じて音および/または振動が出力されるように上記出力コマンドを生成してもよい。
独立動作モードにおいて、リング型拡張装置5は、右コントローラ4の通知用LED67を発光させる。本実施形態においては、リング型拡張装置5は、独立動作モード以外のモードと区別可能な態様で(例えば、4つの通知用LED67を全て点灯させて)通知用LED67を発光させる。これによって、右コントローラ4が独立動作モードで動作していることをユーザに通知することができる。具体的には、リング型拡張装置5は、通知用LED67を発光させる指示を示す発光コマンドを生成して右コントローラ4へ送信する。発光コマンドは、4つの通知用LED67を発光させる態様を示すデータを含む。なお、本実施形態においては、独立動作モードで動作する期間中、リング型拡張装置5は右コントローラ4の通知用LED67を上記の態様で発光させる。したがって、リング型拡張装置5は、独立動作モードが開始されたときに、4つの通知用LED67を上記の態様で発光させる指示を示す発光コマンドを生成して右コントローラ4へ送信する。そして、独立動作モードが終了されるときに、リング型拡張装置5は、4つの通知用LED67の発光を停止する指示を示す発光コマンドを生成して右コントローラ4へ送信する。
独立動作モードにおいて、リング型拡張装置5は、後述する終了条件が満たされた場合、独立動作モードを終了する処理(以下、「終了時処理」と呼ぶ。)を実行する。具体的には、独立動作モードを終了する場合、リング型拡張装置5は、まず、独立動作モードの終了を通知する通知音を右コントローラ4に出力させる。すなわち、リング型拡張装置5は、上記通知音を出力させる指示を示す出力コマンドを生成して右コントローラ4へ送信する。次に、リング型拡張装置5は、自身が独立動作モードを終了可能な状態となった後(例えば、メモリに対するデータの書き換え処理等が完了した後で)で、独立動作モードの終了を示す終了信号を右コントローラ4へ送信する。終了信号は、上記送信要求信号と同様、コマンドの形式であってもよいし、他の信号と識別可能な任意の内容であってよい。右コントローラ4は、上記出力コマンドをリング型拡張装置5から受信したことに応じて上記通知音を出力し、さらに、上記終了信号を受信したことに応じて独立動作モードを終了する。一方、上記終了信号を送信したリング型拡張装置5は、独立動作モードを終了する。独立動作モードを終了すると、右コントローラ4はスリープ状態となる。したがって、独立動作モードの終了に応じて、右コントローラ4からリング型拡張装置5への給電は停止される。
本実施形態においては、上記終了条件は、下記の3つの条件である。
(条件A)所定の終了操作が行われたこと
(条件B)右コントローラ4のホームボタン58に対する操作が検出されたこと
(条件C)リング型拡張装置5に対する操作が所定時間(例えば、1分)の間継続して検出されないこと
上記条件A〜条件Cのうちいずれかが満たされた場合、リング型拡張装置5は終了時処理を実行する。
上記条件Aに関して、リング型拡張装置5は、所定の終了操作に応じて上記終了時処理を実行する。本実施形態においては、終了操作は、上述の開始操作と同じ、アナログスティック52を押下する操作である。ただし、他の実施形態においては、終了操作は任意の操作であってよい。なお、上記終了操作が検出された場合、右コントローラ4は、この時点では独立動作モードを終了せずに、リング型拡張装置5からの送信要求信号に応じて、終了操作が行われたことを示すコントローラデータを送信する。そして、終了操作が行われたことを示すコントローラデータを受信したリング型拡張装置5が、独立動作モードを終了する処理を実行することによって、上記終了信号が右コントローラ4から右コントローラ4へ送信される。右コントローラ4は、この終了信号を受信したことに応じて独立動作モードを終了する。
また、上記条件Bに関して、リング型拡張装置5は、右コントローラ4のホームボタン58に対する操作に応じて上記終了時処理を実行する。ここで、独立動作モードでない状態でホームボタン58に対する操作が検出された場合には、上述のように、右コントローラ4は、本体装置2をスリープ状態から復帰させる復帰信号を本体装置2へ送信してから、上記通信処理を実行する。これに対して、独立動作モードにおいてホームボタン58に対する操作が検出された場合には、右コントローラ4は、リング型拡張装置5からの送信要求信号に応じて、ホームボタン58に対する操作が行われたことを示すコントローラデータを送信する。そして、ホームボタン58に対する操作が行われたことを示すコントローラデータを受信したリング型拡張装置5は、終了時処理を実行する。このとき、終了時処理において、リング型拡張装置5は、上記終了信号とともに、復帰信号を本体装置2へ送信することを指示する復帰指示コマンドを右コントローラ4へ送信する。上記復帰指示コマンドを受信した右コントローラ4は、終了信号に応じて独立動作モードを終了した後、上記復帰信号を本体装置2へ送信する。これによれば、右コントローラ4は、独立動作モードにおいてスリープ解除ボタンに対する操作が行われた場合も、独立動作モードでない状態においてスリープ解除ボタンに対する操作が行われた場合と同様の動作を行うことができる。
なお、他の実施形態においては、右コントローラ4は、復帰信号を本体装置2へ送信した後で、独立動作モードを終了してもよい。このとき、独立動作モードにおいて右コントローラ4と本体装置2との無線通信が行われる場面が生じることとなる。なお、右コントローラ4が上記復帰信号を本体装置2へ送信する時点でリング型拡張装置5においては独立動作モードにおける処理がすでに終了しており、独立動作モードにおける動作は実質的に終了していると言えるので、独立動作モードにおいて本体装置2と右コントローラ4との通信が行われても問題はないと考えられる。
以上のように、本実施形態においては、独立動作モードにおいて、スリープ解除ボタン(すなわち、ホームボタン58)に対する操作が行われたことに対応するコントローラデータを周辺装置(ここでは、リング型拡張装置5)が受信した場合、周辺装置は、本体装置2をスリープ状態から復帰させる信号を本体装置2へ送信することを指示するコマンドを生成し、当該コマンドを右コントローラ4へ送信する。右コントローラ4は、上記コマンドを周辺装置から受信したことに応じて、本体装置2をスリープ状態から復帰させる信号を本体装置2へ送信する。上記によれば、右コントローラ4は、独立動作モードにおける通常の処理(すなわち、周辺装置からのコマンドに応じた処理を右コントローラ4が行う)とは異なる特別な処理を行うことなく、独立動作モードである状態とそれ以外の状態とで実質的に同じ動作を行うことができる。上記によれば、独立動作モードにおいて右コントローラ4が特別な処理を実行しなくてもよいので、独立動作モードにおける右コントローラ4の処理をシンプルにすることができる。
また、上記条件Cに関して、リング型拡張装置5に対する操作が所定時間(例えば、1分)の間継続して検出されない場合、リング型拡張装置5は終了時処理を実行する。ここで、リング型拡張装置5に対する操作が所定時間の間継続して検出されない場合とは、リング型拡張装置5の変形量が0近傍(なお、厳密に0でなくてよい)で所定時間維持される場合である。このような場合、リング型拡張装置5を用いたフィットネス動作をユーザが行う意思がないと考えられるので、リング型拡張装置5は、独立動作モードを終了する。
上記のように、本実施形態においては、独立動作モードにおいて、右コントローラ4に対する所定の操作(上記終了操作、または、ホームボタン58に対する操作)が行われたことに対応するコントローラデータを周辺装置(ここでは、リング型拡張装置5)が受信した場合、周辺装置は、独立動作モードの終了を示す終了信号を右コントローラ4へ送信する。
ここで、仮に、上記終了信号を右コントローラ4がリング型拡張装置5へ送信するとすれば、周辺装置において何らかの処理が実行中であるタイミングで右コントローラ4から終了信号が送信されることもあり得る。このとき、右コントローラ4は独立動作モードを終了した後で周辺装置への給電を停止するので、周辺装置において何らかの処理が実行中であるタイミングで右コントローラ4からの給電が停止される場合も考えられる。このような場合、周辺装置における処理が正常に終了されないことから、独立動作モードにおける処理に不備が生じるおそれがある。例えば、周辺装置においてメモリに対する書込処理が実行されている途中で、右コントローラ4からの給電が停止されると、メモリに記憶されているデータが消去されてしまうおそれがある。
これに対して、本実施形態においては、上記終了信号をリング型拡張装置5が右コントローラ4へ送信するので、周辺装置は、自身における処理が完了した後の適切なタイミングで終了信号を送信し、独立動作モードを終了することができる。このとき、上記処理の完了後に右コントローラ4からの給電が停止されることとなる。したがって、本実施形態によれば、独立動作モードの終了時に周辺装置における処理が途中で中断されてしまう可能性を低減することができ、独立動作モードを安全に終了することができる。
[3.ゲームシステムにおける情報処理の具体例]
次に、右コントローラ4およびリング型拡張装置5において実行される処理の具体例について説明する。図14は、右コントローラ4によって実行されるコントローラ処理の一例を示すフローチャートである。図14に示す一連のコントローラ処理は、動作すべきモードを決定するための処理であり、右コントローラ4がスリープ状態から復帰したことに応じて開始される。
なお、本実施形態では、右コントローラ4の通信制御部111のプロセッサが、メモリ112に記憶されるファームウェアを実行することによって、図14に示す各ステップの処理を実行するものとして説明する。ただし、他の実施形態においては、上記各ステップの処理のうちの一部の処理を、通信制御部111のプロセッサとは別のプロセッサ(例えば、専用回路等)が実行するようにしてもよい。また、図14に示す各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。
また、通信制御部111は、図14に示す各ステップの処理を、メモリ112を用いて実行する。すなわち、通信制御部111は、各処理ステップによって得られる情報(換言すれば、データ)をメモリ112に記憶し、それ以降の処理ステップにおいて当該情報を用いる場合には、メモリ112から当該情報を読み出して利用する。
コントローラ処理が開始されると、まずステップS30において、プロセッサは、右コントローラ4が他の装置(周辺装置または本体装置2)に装着されているか否かを判定する。ステップS30の判定結果が肯定である場合、ステップS31の処理が実行される。一方、ステップS30の判定結果が否定である場合、後述するステップS38の処理が実行される。
なお、他の実施形態においては、上記ステップS30の判定処理は、上述の確認処理によって行われてもよい。すなわち、プロセッサは、確認処理を実行した結果、確認用電子部品が検出されない場合、右コントローラ4が他の装置に装着されていないと判定してもよい。なお、上記の変形例においては、後述するステップS32の確認処理は省略されてもよい。
ステップS31において、プロセッサは、右コントローラ4が他の装置に装着されたことが新たに検出されたか否かを判定する。つまり、ステップS31においては、右コントローラ4が他の装置にすでに装着済みである場合には判定結果が否定となる。ステップS31の判定結果が肯定である場合、ステップS32の処理が実行される。一方、ステップS31の判定結果が否定である場合、後述するステップS35の処理が実行される。
ステップS32において、プロセッサは、上述の確認処理(図13に示すステップS21)を実行する。確認処理によって、プロセッサは、右コントローラ4が装着されている装置の種類(具体的には、独立動作モードに対応する周辺装置であるか、それとも、本体装置2であるか)を判別することができる。ステップS32の次に、ステップS33の処理が実行される。なお、他の実施例においては、プロセッサは、右コントローラ4が装着されている装置の種類として、独立動作モードに対応しない周辺装置であることや、あるいは別のモードに対応する周辺装置であることを判別してもよい。
ステップS33において、プロセッサは、上記確認処理の結果に基づいて、右コントローラ4が本体装置2に装着されているか否かを判定する。ステップS33の判定結果が肯定である場合、ステップS34の処理が実行される。一方、ステップS33の判定結果が否定である場合(つまり、周辺装置に装着されている場合)、後述するステップS35の処理が実行される。
ステップS34において、プロセッサは、本体装着モードでの動作を開始する。本体装着モード中においては、プロセッサは、本体装置2から端子64を介して受信される各種信号(具体的には、送信要求信号および終了信号等)またはコマンドに応じた処理を実行する。また、本体装着モードでの動作が終了した場合、プロセッサは、図14に示すコントローラ処理を終了し、右コントローラ4をスリープ状態とする。例えば、ユーザの指示に応じて本体装置2がスリープ状態となる場合、本体動作モードと同様に、本体装置2は上記終了信号を右コントローラ4へ送信する。上記終了信号を受信した場合、プロセッサは本体装着モードでの動作を終了し、右コントローラ4はスリープ状態となる。
一方、ステップS35において、プロセッサは、開始操作が行われたか否かを判定する。すなわち、プロセッサは、アナログスティック52を押下する操作が検出されたか否かを判定する。なお、右コントローラ4がスリープ状態から復帰した直後におけるステップS30の判定結果が肯定となった結果実行されるステップS35の処理においては、プロセッサは、アナログスティック52を押下する操作が検出されたことに応じて右コントローラ4がスリープ状態から復帰したか否かを判定する。ステップS35の判定結果が肯定である場合、ステップS36の処理が実行される。一方、ステップS35の判定結果が否定である場合、後述するステップS38の処理が実行される。
ステップS36において、プロセッサは、右コントローラ4が装着されている周辺装置が独立動作モードで動作可能であるか否かを判定する。すなわち、プロセッサは、上記確認処理の結果に基づいて、右コントローラ4が装着されている周辺装置が独立動作モードに対応する周辺装置であるか否かを判定する。そして、独立動作モードに対応する周辺装置である場合、当該周辺装置に対して給電を開始し(図13に示すステップS22)、独立動作モードを示すモード情報を当該周辺装置へ送信する(図13に示すステップS24)。さらに、モード情報に応じた返信が周辺装置からあった場合、プロセッサは、右コントローラ4が装着されている周辺装置が独立動作モードで動作可能であると判定する。一方、右コントローラ4が装着されている周辺装置が独立動作モードに対応しない場合、または、上記返信が周辺装置からない場合、プロセッサは、右コントローラ4が装着されている周辺装置が独立動作モードで動作可能でないと判定する。ステップS36の判定結果が肯定である場合、ステップS37の処理が実行される。一方、ステップS36の判定結果が否定である場合、後述するステップS38の処理が実行される。
ステップS37において、プロセッサは、独立動作モードでの動作を開始する。独立動作モード中においては、プロセッサは、周辺装置(ここでは、リング型拡張装置5)から端子64を介して受信される各種信号またはコマンドに応じた処理を実行する(図12参照)。また、独立動作モードでの動作が終了した場合、プロセッサは、図14に示すコントローラ処理を終了し、スリープ状態となる。なお、独立動作モードが終了する場合、上述のように、リング型拡張装置5から右コントローラへ終了信号が送信される。上記終了信号を受信した場合、プロセッサは独立動作モードでの動作を終了し、右コントローラ4はスリープ状態となる。
一方、ステップS38において、プロセッサは、本体装置2との無線接続を開始するか否かを判定する。すなわち、プロセッサは、右コントローラ4の操作部(すなわち、各ボタン113、および、アナログスティック52)に対する操作が検出されたか否かを判定する。なお、本実施形態においては、操作部に対する操作に応じて右コントローラ4はスリープ状態から復帰する。したがって、右コントローラ4がスリープ状態から復帰した直後において、上記ステップS30の判定処理が否定となった結果、ステップS38の処理が実行される場合、プロセッサは、上記操作が検出されたと判定する。ステップS38の判定結果が肯定である場合、ステップS39の処理が実行される。一方、ステップS38の判定結果が否定である場合、ステップS30の処理が再度実行される。
ステップS39において、プロセッサは、右コントローラ4と本体装置2との無線接続を確立するための上記通信処理を実行する。ステップS39の次に、ステップS40の処理が実行される。
ステップS40において、プロセッサは、右コントローラ4と本体装置2との無線接続が確立したか否かを判定する。ステップS40の判定結果が肯定である場合、ステップS41の処理が実行される。一方、ステップS40の判定結果が否定である場合、ステップS30の処理が再度実行される。なお、この場合、右コントローラ4が他の装置に装着されていない間は、ステップS30,S35,S38〜S40の処理が繰り返し実行され、右コントローラ4と本体装置2との無線接続が確立したことに応じて、ステップS40の判定結果が肯定となり、ステップS41の処理が実行される。
ステップS41において、プロセッサは、本体動作モードでの動作を開始する。本体動作モード中において、プロセッサは、図11に示す処理を実行して各種の信号および/またはコマンドを生成し、端子64を介して周辺装置へ信号および/またはコマンドを送信したり、コントローラデータおよびリング操作データを無線で本体装置2へ送信したりする。なお、図示しないが、ステップS41の処理中に右コントローラ4がリング型拡張装置5に装着された場合(すなわち、本体動作モードで動作している右コントローラ4がリング型拡張装置5に装着された場合)には、ステップS41の処理中において、上記ステップS21,S22,S24の一連の処理が実行される。また、本体動作モードでの動作が終了した場合、プロセッサは、図14に示すコントローラ処理を終了し、スリープ状態となる。例えば、ユーザの指示に応じて本体装置2がスリープ状態となる場合、本体装置2は、本体動作モードの動作を右コントローラ4に終了させる終了信号を右コントローラ4へ送信する。上記終了信号を受信した場合、プロセッサは本体動作モードでの動作を終了し、右コントローラ4はスリープ状態となる。
なお、図14に示すコントローラ処理の実行中において、右コントローラ4に対して所定時間(例えば、1分)操作が行われない場合、右コントローラ4は、コントローラ処理を終了してスリープ状態となるようにしてもよい。
図15および図16は、リング型拡張装置5によって実行される周辺装置処理の一例を示すフローチャートである。図15および図16に示す一連の周辺装置処理は、例えば、右コントローラ4からの給電が開始されたことによってリング型拡張装置5が起動したことに応じて開始される。
なお、本実施形態では、リング型拡張装置5の制御部213のプロセッサが、制御部213が備えるメモリに記憶されるプログラムを実行することによって、図15および図16に示す各ステップの処理を実行するものとして説明する。ただし、他の実施形態においては、上記各ステップの処理のうちの一部の処理を、制御部213のプロセッサとは別のプロセッサ(例えば、専用回路等)が実行するようにしてもよい。また、図15および図16に示す各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。
また、制御部213は、図15および図16に示す各ステップの処理を、メモリを用いて実行する。すなわち、制御部213は、各処理ステップによって得られる情報(換言すれば、データ)をメモリに記憶し、それ以降の処理ステップにおいて当該情報を用いる場合には、メモリから当該情報を読み出して利用する。
周辺装置処理が開始されると、まずステップS51において、プロセッサは、上述の待機状態となる。この後、右コントローラ4からのモード情報がリング型拡張装置5において受信されたことに応じて、ステップS52の処理が実行される。
ステップS52において、プロセッサは、独立動作モードで動作するか否かを判定する。すなわち、右コントローラ4から受信されたモード情報が独立動作モードを示すか否かを判定する。ステップS52の判定結果が肯定である場合、ステップS53の処理が実行される。一方、ステップS52の判定結果が否定である場合、後述するステップS54の処理が実行される。
ステップS53において、プロセッサは、独立動作モード中における処理である独立動作モード処理を実行する。独立動作モード処理については後述する(図16参照)。独立動作モード処理の終了後、プロセッサは、周辺装置処理を終了する。この後、右コントローラ4からリング型拡張装置5への給電が停止される。
一方、ステップS54において、プロセッサは、本体動作モードでの動作を開始する。すなわち、プロセッサは、右コントローラ4から端子214を介して受信される信号またはコマンドに応じた処理を実行する(図11参照)。本体動作モード処理の終了後、プロセッサは、周辺装置処理を終了する。この後、右コントローラ4からリング型拡張装置5への給電が停止される。
図16は、図15に示すステップS53の独立動作モード処理の詳細な流れの一例を示すサブフローチャートである。独立動作モード処理においては、まずステップS61において、プロセッサは、歪み検出部211によって検出された歪み値を取得する。ステップS61の次に、ステップS62の処理が実行される。
ステップS62において、プロセッサは、独立動作モードを終了するか否かを判定する。すなわち、プロセッサは、上記“[2−4.独立動作モードにおける処理の具体例]”で述べた終了条件のいずれかが満たされたか否かを判定する。具体的には、後述のステップS68において、終了操作が行われたことを示すコントローラデータが受信された場合、その後に実行されるステップS62において、上記条件Aが満たされたと判定される。また、後述のステップS68において、ホームボタン58に対する操作が行われたことを示すコントローラデータが受信された場合、その後に実行されるステップS62において、上記条件Bが満たされたと判定される。また、繰り返し実行される上記ステップS61において取得された各歪み値が、リング型拡張装置5に対する操作が所定時間の間継続して検出されないことを表す場合、その後に実行されるステップS62において、上記条件Cが満たされたと判定される。ステップS62の判定結果が肯定である場合、ステップS63の処理が実行される。一方、ステップS62の判定結果が否定である場合、後述するステップS64の処理が実行される。
ステップS63において、プロセッサは、上述の終了時処理を実行する。その後、プロセッサは、独立動作モード処理を終了する。
一方、ステップS64において、プロセッサは、リング型拡張装置5に関する押し込み操作または引っ張り操作が検出されたか否かを判定する。なお、押し込み操作または引っ張り操作の検出は、ステップS61で取得された歪み値に基づいて、上記“[2−4.独立動作モードにおける処理の具体例]”で述べた方法に従って行われる。ステップS64の判定結果が肯定である場合、ステップS65の処理が実行される。一方、ステップS64の判定結果が否定である場合、ステップS65およびS66の処理がスキップされ、後述するステップS67の処理が実行される。
ステップS65において、プロセッサは、リング型拡張装置5に対して行われた操作の回数をカウントする。具体的には、プロセッサは、操作回数としてメモリに記憶されている値を、1だけ増加するように更新する。ステップS65の次に、ステップS66の処理が実行される。
ステップS66において、プロセッサは、音および振動の波形を生成する。すなわち、プロセッサは、右コントローラ4の振動子117に入力する音および振動の波形を指定するデータを生成する。なお、上述のように、音出力をオフにするように設定が切り替えられている場合、または、振動出力をオフにするように設定が切り替えられている場合には、プロセッサは、これらの設定に応じて音および/または振動の波形を生成しないようにする。ステップS66の次に、ステップS67の処理が実行される。
ステップS67において、プロセッサは、信号およびコマンドを右コントローラ4へ送信する。具体的には、プロセッサは、上述の送信要求信号の他、終了信号、出力コマンド、発光コマンド、および、復帰指示コマンドを必要に応じて生成する。そして、プロセッサは、生成された信号およびコマンドを、端子214を介して右コントローラ4へ送信する。ステップS67の次に、ステップS68の処理が実行される。
ステップS68において、プロセッサは、右コントローラ4からのコントローラデータを受信する。上記ステップS67の処理によって送信要求信号が右コントローラ4へ送信されると、送信要求信号の受信に応じて右コントローラ4からコントローラデータが送信されるので、プロセッサは、端子214を介して当該コントローラデータを受信する。ステップS68の次に、ステップS69の処理が実行される。
ステップS69において、プロセッサは、ステップS68で受信したコントローラデータに基づく処理を実行する。具体的には、上記“[2−4.独立動作モードにおける処理の具体例]”で述べたように、音切替操作または振動切替操作が行われたことを示すコントローラデータが受信された場合、音および振動に関する設定を変更する。なお、上記設定を示す情報は、制御部213のメモリに記憶される。ステップS69の次に、ステップS61の処理が再度実行される。これ以降、ステップS62において独立動作モードを終了すると判定されるまで、上記ステップS61,S62,S64〜S69の処理ループが繰り返し実行される。
なお、本実施形態においては、プロセッサは、上記処理ループを、所定時間に1回の割合で繰り返し実行する。つまり、リング型拡張装置5は、送信要求信号を右コントローラ4へ上記割合で定期的に送信する。なお、他の実施形態においては、リング型拡張装置5は、送信要求信号を定期的に送信する必要はない。例えば、リング型拡張装置5は、上記処理ループにおいて、送信要求信号を送信する必要が無い場合には、ステップS67の処理をスキップしてもよい。また例えば、リング型拡張装置5は、右コントローラ4へコマンドを定期的に送信するとともに、右コントローラ4へ指示する内容が無い場合には、何も動作しないことを示すコマンドを右コントローラ4へ送信するようにしてもよい。
[4.本実施形態の作用効果および変形例]
上記実施形態においては、周辺装置(具体的には、リング型拡張装置5)は、ゲーム装置(具体的には、本体装置2)を操作可能なゲームコントローラ(具体的には、右コントローラ4)と通信可能である。周辺装置は、ユーザ入力を検知するセンサ(具体的には、歪み検出部211)と、処理部(例えば、コマンドを生成する処理を実行する制御部213)と、送信部(例えば、コマンドを送信する制御部213)とを備える。周辺装置は、ゲームコントローラとの通信が確立されているときに、第1モード(具体的には、独立動作モード)と、第2モード(具体的には、本体動作モード)とを含む複数のモードのうちいずれかで動作可能である。第1モードにおいて、処理部は、センサが検知したユーザ入力に応じた周辺装置データ(例えば、歪み値を示すデータ)に基づいて、ゲームコントローラに所定の動作を実行させるコマンド(例えば、出力コマンド)を生成し、送信部は当該コマンドをゲームコントローラへ送信する。第2モードにおいて、送信部は、周辺装置データをゲームコントローラへ送信する。
上記の構成によれば、第1モードにおいて、ゲームコントローラは、周辺装置からのコマンドに応じて動作することができる。そのため、第1モードにおけるゲームコントローラの処理を汎用性のあるものとすることができ、ゲームコントローラを種類の異なる周辺装置に対応させやすくすることができる。したがって、本実施形態によれば、ゲームコントローラをより多くの種類の周辺装置に対応させやすくなる。また、第1モードにおけるゲームコントローラの処理をシンプルにすることができるので、当該処理を実行するために右コントローラ4に記憶されるプログラムおよびデータのデータ量を低減することができる。
また、上記実施形態においては、ゲームコントローラは、ゲーム装置を操作可能であり、周辺装置と通信可能である。また、ゲームコントローラは、操作部(具体的には、各ボタン113、および、アナログスティック52)および送信部(具体的には、通信制御部)を備える。ゲームコントローラは、周辺装置との通信が接続されているときに、第1モードと、第2モードとを含む複数のモードのうちいずれかで動作可能である。第1モードにおいて、送信部は、操作部に対するユーザ入力に応じたコントローラデータを周辺装置へ送信する。第2モードにおいて、送信部は、操作部に対するユーザ入力に応じたコントローラデータをゲーム装置へ送信する。
上記の構成によれば、第1モードにおいて、ゲームコントローラはコントローラデータを周辺装置へ送信する。これによれば、ゲームコントローラに対するユーザ入力に基づく処理を周辺装置側で実行することができるので、上記処理に関してゲームコントローラはコントローラデータを送信すればよいだけになるので、第1モードにおけるゲームコントローラの処理を汎用性のあるものとすることができる。また、第1モードにおけるゲームコントローラの処理をシンプルにすることができる。
(ゲームコントローラと周辺装置との接続に関する変形例)
上記実施形態においては、ゲームコントローラ(具体的には、右コントローラ4)と周辺装置(具体的には、リング型拡張装置5)は、一方を他方に装着することによって電気的に接続され、両者が通信可能となる構成であった。ここで、他の実施形態においては、ゲームコントローラと周辺装置とは、一方を他方に装着することが可能な構成でなくてもよい。例えば、他の実施形態においては、ゲームコントローラと周辺装置は、ケーブルによって電気的に接続されることによって通信を行う構成であってもよい。また、他の実施形態においては、ゲームコントローラと周辺装置は、無線通信によって通信を行う構成であってもよい。なお、ゲームコントローラと周辺装置との通信が確立されている状態とは、有線通信の場合、両者が電気的に接続されている状態を指し、無線通信の場合、両者の無線接続が確立している状態を指す。
(周辺装置の構成に関する変形例)
上記実施形態においては、周辺装置の一例であるリング型拡張装置5は、ユーザ入力に応じたデータを出力するセンサ(具体的には、歪み検出部211)を備える構成であった。ここで、他の実施形態においては、周辺装置は、ゲームコントローラと通信可能な任意の装置であってよく、上記センサを備えていない構成であってもよい。例えば、周辺装置は、センサを備えず、操作ボタンおよび/またはアナログスティックを備える装置であってもよい。また例えば、周辺装置は、操作部を備えず、独立動作モードにおける処理を実行するための処理部と記憶部とを備える装置であってもよい。
なお、本体動作モードにおいて、周辺装置は、ゲームコントローラからの要求に応じて、当該周辺装置において取得または生成された周辺装置データを当該ゲームコントローラへ送信してもよい。周辺装置データは、上記実施形態におけるリング操作データのように、周辺装置において取得されるデータ(例えば、周辺装置が備えるセンサまたは操作部から取得されるデータ)であってもよいし、周辺装置において生成されるデータ(例えば、周辺装置において実行される処理によって生成されたデータ)であってもよい。
なお、上記実施形態においては、右コントローラ4が周辺装置に装着される場合を例として説明したが、左コントローラ3も右コントローラ4と同様のモード(すなわち、本体動作モード、独立動作モード、および、本体装着モード)で動作することが可能である。他の実施形態においては、周辺装置は、左コントローラ3が装着される装置であってもよい。
上記実施形態は、周辺装置に対応させるためのゲームコントローラに対する変更を少なくすること等を目的として、例えば、ゲームコントローラと通信可能な周辺装置として利用することが可能である。
1 ゲームシステム
2 本体装置
4 右コントローラ
5 リング型拡張装置
111 通信制御部
112 メモリ
211 歪み検出部
213 制御部

Claims (26)

  1. ゲーム装置を操作可能なゲームコントローラと通信可能であり、ユーザ入力を検知するセンサと、処理部と、送信部とを備える周辺装置であって、
    前記周辺装置は、前記ゲームコントローラとの通信が確立されているときに、第1モードと、第2モードとを含む複数のモードのうちいずれかで動作可能であり、
    前記第1モードにおいて、
    前記処理部は、前記センサが検知したユーザ入力に応じた周辺装置データに基づいて、前記ゲームコントローラに所定の動作を実行させるコマンドを生成し、
    前記送信部は当該コマンドを前記ゲームコントローラへ送信し、
    前記第2モードにおいて、
    前記送信部は、前記周辺装置データを前記ゲームコントローラへ送信する、周辺装置。
  2. ゲーム装置を操作可能なゲームコントローラと通信可能であり、処理部と、送信部とを備える周辺装置であって、
    前記周辺装置は、前記ゲームコントローラとの通信が確立されているときに、第1モードと、第2モードとを含む複数のモードのうちいずれかで動作可能であり、
    前記周辺装置は、前記第1モードと前記第2モードとのうち、前記ゲームコントローラから受信されたモード情報により示されるモードで動作し、
    前記第1モードにおいて、
    前記送信部は、所定の送信要求信号を前記ゲームコントローラへ送信し、
    前記処理部は、前記送信要求信号が前記ゲームコントローラにおいて受信されたことに応じて当該ゲームコントローラから送信された、当該ゲームコントローラに対するユーザ入力に応じたコントローラデータに基づく処理を実行し、
    前記第2モードにおいて、
    前記送信部は、前記ゲームコントローラからの送信要求信号に応じて、前記周辺装置において取得または生成された周辺装置データを当該ゲームコントローラへ送信する、周辺装置。
  3. 前記第1モードにおいては、前記ゲームコントローラおよび/または前記周辺装置に対するユーザ入力に基づく処理が、前記ゲーム装置によることなく前記周辺装置および前記ゲームコントローラによって実行され、
    前記第2モードにおいては、前記周辺装置データに基づくデータが前記ゲームコントローラから前記ゲーム装置へ送信され、送信されてきたデータに基づく処理が当該ゲーム装置によって実行される、請求項1または請求項2に記載の周辺装置。
  4. 前記第1モードにおいて、前記周辺装置は、前記ゲームコントローラに対するユーザ入力に応じたコントローラデータを当該ゲームコントローラから受信する、請求項1から請求項3のいずれか1項に記載の周辺装置。
  5. 前記第1モードにおいて、
    前記処理部は、前記コントローラデータに基づいて、前記ゲームコントローラに所定の動作を実行させるコマンドを生成し、
    前記送信部は前記コマンドを前記ゲームコントローラへ送信する、請求項4に記載の周辺装置。
  6. 前記周辺装置は、前記ゲームコントローラが備えるボタンのうち、操作可能な全てのボタンに関するコントローラデータを当該ゲームコントローラから受信する、請求項4または請求項5に記載の周辺装置。
  7. 前記送信部は、前記コントローラデータのうちの一部のデータに基づき、かつ、当該コントローラデータのうちの他のデータには基づかない前記コマンドを前記ゲームコントローラへ送信する、請求項4から請求項6のいずれか1項に記載の周辺装置。
  8. 前記ゲームコントローラはスリープ解除ボタンを備え、
    前記ゲームコントローラは、少なくとも前記第1モードで動作する状態とは異なる状態において、当該ゲームコントローラと前記周辺装置との通信が確立されていない場合に前記スリープ解除ボタンに対する操作が検出された場合、前記周辺装置からのコマンドに基づかずに、前記ゲーム装置のスリープ状態を解除させる信号を当該ゲーム装置へ送信するように構成され、
    前記第1モードにおいて、前記スリープ解除ボタンに対する操作が行われたことに対応するコントローラデータを前記周辺装置が受信した場合、前記処理部は、前記ゲーム装置のスリープ状態を解除させる信号を前記ゲーム装置へ送信することを指示するコマンドを生成し、前記送信部は当該コマンドを前記ゲームコントローラへ送信する、請求項1から請求項7のいずれか1項に記載の周辺装置。
  9. 前記周辺装置は、
    前記ゲームコントローラと電気的に接続可能であり、当該周辺装置と電気的に接続した状態の前記ゲームコントローラから供給される電力によって動作するように構成され、
    前記ゲームコントローラから供給される電力に基づいて当該周辺装置が起動した場合、前記複数のモードのうちで動作すべきモードを示すモード情報を前記ゲームコントローラから受信することを待機する待機状態となり、
    前記待機状態において前記ゲームコントローラから受信された前記モード情報が示すモードで動作する、請求項1から請求項8のいずれか1項に記載の周辺装置。
  10. 前記周辺装置は、前記ゲームコントローラと当該周辺装置とが電気的に接続されることによって形成される回路の一部を構成し、所定の抵抗値を有する電子部品を備える、請求項9に記載の周辺装置。
  11. 前記第1モードにおいて、前記ゲームコントローラに対する所定の操作が行われたことに対応するコントローラデータを前記周辺装置が受信した場合、前記送信部は、前記第1モードの終了を示す終了信号を前記ゲームコントローラへ送信する、請求項9または請求項10に記載の周辺装置。
  12. 前記第1モードにおいて、前記センサが検知したユーザ入力の回数を記憶する記憶部をさらに備える、請求項1に記載の周辺装置。
  13. ゲーム装置を操作可能であり、周辺装置と通信可能であり、操作部および送信部を備えるゲームコントローラであって、
    前記ゲームコントローラは、前記周辺装置との通信が確立されているときに、第1モードと、第2モードとを含む複数のモードのうちいずれかで動作可能であり、
    前記第1モードにおいて、前記送信部は、前記操作部に対するユーザ入力に応じたコントローラデータを前記周辺装置へ送信し、
    前記第2モードにおいて、前記送信部は、前記操作部に対するユーザ入力に応じたコントローラデータを前記ゲーム装置へ送信し、
    前記ゲームコントローラはスリープ解除ボタンを備え、
    前記ゲームコントローラは、
    前記第1モードで動作する状態とは異なる状態において、当該ゲームコントローラと前記周辺装置との通信が確立されていない場合に前記スリープ解除ボタンに対する操作が検出された場合、前記周辺装置からのコマンドに基づかずに、前記ゲーム装置をスリープ状態から復帰させる信号を当該ゲーム装置へ送信し、
    前記第1モードにおいて前記スリープ解除ボタンが押下されることによって、前記スリープ解除ボタンが押下されたことに対応するコントローラデータを前記周辺装置へ送信し、当該コントローラデータに応じたコマンドを当該周辺装置から受信したことに応じて、前記ゲーム装置をスリープ状態から復帰させる信号を当該ゲーム装置へ送信する、ゲームコントローラ。
  14. ゲーム装置を操作可能であり、周辺装置と通信可能であり、操作部および送信部を備えるゲームコントローラであって、
    前記ゲームコントローラは、前記周辺装置との通信が確立されているときに、第1モードと、第2モードとを含む複数のモードのうちいずれかで動作可能であり、
    前記第1モードにおいて、前記送信部は、前記操作部に対するユーザ入力に応じたコントローラデータを前記周辺装置へ送信し、
    前記第2モードにおいて、前記送信部は、前記操作部に対するユーザ入力に応じたコントローラデータを前記ゲーム装置へ送信し、
    前記ゲームコントローラは、
    当該ゲームコントローラと前記周辺装置とが電気的に接続されることによって形成される回路の抵抗値が第1の範囲内である場合、前記第1モードで動作可能であるとともに前記第2モードで動作可能であり、
    当該ゲームコントローラと前記周辺装置とが電気的に接続されることによって形成される回路の抵抗値が前記第1の範囲とは異なる第2の範囲内である場合、前記第2モードで動作可能であり、前記第1モードでは動作しない、ゲームコントローラ。
  15. ゲーム装置を操作可能であり、周辺装置と通信可能であり、操作部および送信部を備えるゲームコントローラであって、
    前記ゲームコントローラは、
    前記周辺装置との通信が確立されているときに、第1モードと、第2モードとを含む複数のモードのうちいずれかで動作可能であり、
    前記第1モードと前記第2モードとのうちで前記ゲームコントローラが動作するモードに応じたモード情報を前記周辺装置へ送信し、
    前記第1モードにおいて、前記送信部は、前記操作部に対するユーザ入力に応じたコントローラデータを前記周辺装置へ送信し、
    前記第2モードにおいて、前記送信部は、前記操作部に対するユーザ入力に応じたコントローラデータを前記ゲーム装置へ送信する、ゲームコントローラ。
  16. 前記第1モードにおいては、前記ゲームコントローラおよび/または前記周辺装置に対するユーザ入力に基づく処理が、前記ゲーム装置によることなく前記周辺装置および前記ゲームコントローラによって実行され、
    前記第2モードにおいては、前記ゲーム装置へ送信された前記コントローラデータに基づく処理が当該ゲーム装置によって実行される、請求項13から請求項15のいずれか1項に記載のゲームコントローラ。
  17. 前記ゲームコントローラは、
    前記第1モードにおいて、前記周辺装置へ送信されたコントローラデータに応じたコマンドを前記周辺装置から受信し、当該コマンドに応じて動作し、
    前記第2モードにおいて、前記ゲーム装置へ送信されたコントローラデータに応じたコマンドを前記ゲーム装置から受信し、当該コマンドに応じて動作する、請求項13から請求項16のいずれか1項に記載のゲームコントローラ。
  18. 前記操作部はボタンを含み、
    前記送信部は、前記ゲームコントローラが備えるボタンのうち、操作可能な全てのボタンに関するコントローラデータを前記周辺装置へ送信する、請求項13から請求項17のいずれか1項に記載のゲームコントローラ。
  19. 前記ゲームコントローラは、
    当該ゲームコントローラと前記周辺装置とが電気的に接続されることによって形成される回路の抵抗値が第1の範囲内である場合、前記第1モードで動作可能であるとともに前記第2モードで動作可能であり、
    当該ゲームコントローラと前記周辺装置とが電気的に接続されることによって形成される回路の抵抗値が前記第1の範囲とは異なる第2の範囲内である場合、前記第2モードで動作可能であり、前記第1モードでは動作しない、請求項13または請求項15に記載のゲームコントローラ。
  20. 前記ゲームコントローラは、前記周辺装置と電気的に接続されており、かつ、前記ゲーム装置との無線接続が確立していない状態で、当該ゲームコントローラに対する所定の操作を検出したことに応じて、当該ゲームコントローラと当該周辺装置とが電気的に接続されることによって形成される前記回路の抵抗値が前記第1の範囲内であることを少なくとも条件として、前記第1モードで動作する、請求項14または請求項19に記載のゲームコントローラ。
  21. 前記ゲームコントローラは、当該ゲームコントローラと前記周辺装置とが電気的に接続されることによって形成される回路の抵抗値が前記第1の範囲内であることを少なくとも条件として、当該周辺装置のうち、当該回路を形成する部分とは異なる他の部分に電力を供給する、請求項19または請求項20に記載のゲームコントローラ。
  22. 前記ゲームコントローラが前記第1モードで動作する場合、前記ゲームコントローラは、当該第1モードで動作することを示すモード情報を生成し、前記送信部は当該モード情報を前記周辺装置へ送信する、請求項13から請求項21のいずれか1項に記載のゲームコントローラ。
  23. ゲーム装置を操作可能なゲームコントローラと、ユーザ入力を検知するセンサ、処理部、および、送信部を備える周辺装置とを備える情報処理システムであって、
    前記周辺装置は、前記ゲームコントローラとの通信が確立されているときに、第1モードと、第2モードとを含む複数のモードのうちいずれかで動作可能であり、
    前記第1モードにおいて、
    前記処理部は、前記センサが検知したユーザ入力に応じた周辺装置データに基づいて、前記ゲームコントローラに所定の動作を実行させるコマンドを生成し、
    前記送信部は当該コマンドを前記ゲームコントローラへ送信し、
    前記ゲームコントローラは、前記周辺装置から受信した前記コマンドに応じて動作し、
    前記第2モードにおいて、
    前記送信部は前記周辺装置データを前記ゲームコントローラへ送信し、
    前記ゲームコントローラは前記周辺装置からの前記周辺装置データを受信する、情報処理システム。
  24. ゲーム装置を操作可能なゲームコントローラと、ユーザ入力を検知するセンサ、処理部、および、送信部を備える周辺装置とを備える情報処理システムにおいて実行される情報処理方法であって、
    前記周辺装置は、前記ゲームコントローラとの通信が確立されているときに、第1モードと、第2モードとを含む複数のモードのうちいずれかで動作可能であり、
    前記第1モードにおいて、
    前記処理部は、前記センサが検知したユーザ入力に応じた周辺装置データに基づいて、前記ゲームコントローラに所定の動作を実行させるコマンドを生成し、
    前記送信部は当該コマンドを前記ゲームコントローラへ送信し、
    前記ゲームコントローラは、前記周辺装置から受信した前記コマンドに応じて動作し、
    前記第2モードにおいて、
    前記送信部は前記周辺装置データを前記ゲームコントローラへ送信し、
    前記ゲームコントローラは前記周辺装置から前記周辺装置データを受信する、情報処理方法。
  25. ゲーム装置を操作可能なゲームコントローラと、処理部および送信部を備える周辺装置とを備える情報処理システムであって、
    前記周辺装置は、前記ゲームコントローラとの通信が確立されているときに、第1モードと、第2モードとを含む複数のモードのうちいずれかで動作可能であり、
    前記ゲームコントローラは、前記第1モードと前記第2モードとのうちで前記ゲームコントローラが動作するモードに応じたモード情報を前記周辺装置へ送信し、
    前記周辺装置は、前記ゲームコントローラから受信された前記モード情報により示されるモードで動作し、
    前記第1モードにおいて、
    前記送信部は、所定の送信要求信号を前記ゲームコントローラへ送信し、
    前記ゲームコントローラは、前記周辺装置から前記送信要求信号を受信したことに応じて、当該ゲームコントローラに対するユーザ入力に応じたコントローラデータを当該周辺装置へ送信し、
    前記処理部は、前記ゲームコントローラから受信した前記コントローラデータに基づく処理を実行し、
    前記第2モードにおいて、
    前記送信部は、前記ゲームコントローラからの送信要求信号に応じて、前記周辺装置において取得または生成された周辺装置データを当該ゲームコントローラへ送信し、
    前記ゲームコントローラは前記周辺装置から前記周辺装置データを受信する、情報処理システム。
  26. ゲーム装置を操作可能なゲームコントローラと、処理部および送信部を備える周辺装置とを備える情報処理システムにおいて実行される情報処理方法であって、
    前記周辺装置は、前記ゲームコントローラとの通信が確立されているときに、第1モードと、第2モードとを含む複数のモードのうちいずれかで動作可能であり、
    前記ゲームコントローラは、前記第1モードと前記第2モードとのうちで前記ゲームコントローラが動作するモードに応じたモード情報を前記周辺装置へ送信し、
    前記周辺装置は、前記ゲームコントローラから受信された前記モード情報により示されるモードで動作し、
    前記第1モードにおいて、
    前記送信部は、所定の送信要求信号を前記ゲームコントローラへ送信し、
    前記ゲームコントローラは、前記周辺装置から前記送信要求信号を受信したことに応じて、当該ゲームコントローラに対するユーザ入力に応じたコントローラデータを当該周辺装置へ送信し、
    前記処理部は、前記ゲームコントローラから受信した前記コントローラデータに基づく処理を実行し、
    前記第2モードにおいて、
    前記送信部は、前記ゲームコントローラからの送信要求信号に応じて、前記周辺装置において取得または生成された周辺装置データを当該ゲームコントローラへ送信し、
    前記ゲームコントローラは前記周辺装置から前記周辺装置データを受信する、情報処理方法。
JP2019157827A 2019-08-30 2019-08-30 周辺装置、ゲームコントローラ、情報処理システム、および、情報処理方法 Active JP6670030B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019157827A JP6670030B1 (ja) 2019-08-30 2019-08-30 周辺装置、ゲームコントローラ、情報処理システム、および、情報処理方法
US16/708,858 US11148043B2 (en) 2019-08-30 2019-12-10 Peripheral apparatus, game controller, information processing system, and information processing method
EP19214937.5A EP3785773A1 (en) 2019-08-30 2019-12-10 Peripheral apparatus, game controller, information processing system, and information processing method
CN201911412911.4A CN112439192A (zh) 2019-08-30 2019-12-31 周边装置、游戏控制器、信息处理系统以及信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019157827A JP6670030B1 (ja) 2019-08-30 2019-08-30 周辺装置、ゲームコントローラ、情報処理システム、および、情報処理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020032114A Division JP2021037260A (ja) 2020-02-27 2020-02-27 周辺装置、ゲームコントローラ、情報処理システム、および、情報処理方法

Publications (2)

Publication Number Publication Date
JP6670030B1 true JP6670030B1 (ja) 2020-03-18
JP2021035445A JP2021035445A (ja) 2021-03-04

Family

ID=68848111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019157827A Active JP6670030B1 (ja) 2019-08-30 2019-08-30 周辺装置、ゲームコントローラ、情報処理システム、および、情報処理方法

Country Status (4)

Country Link
US (1) US11148043B2 (ja)
EP (1) EP3785773A1 (ja)
JP (1) JP6670030B1 (ja)
CN (1) CN112439192A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114546047A (zh) * 2022-02-22 2022-05-27 广州市唯图新电子科技有限公司 一种无纸化会议终端

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU754075B2 (en) * 1997-08-08 2002-11-07 Sega Enterprises, Ltd. Memory device, controller and electronic device
TW389918B (en) 1997-08-24 2000-05-11 Sony Computer Entertainment Inc Game apparatus, game machine manipulation device, game system and interactive communication method for game apparatus
JPH1157213A (ja) * 1997-08-24 1999-03-02 Sony Computer Entertainment:Kk ゲーム装置、ゲーム機用操作装置、ゲームシステム及びゲーム装置の双方向通信方法
JP3520984B2 (ja) * 2000-10-16 2004-04-19 松下電器産業株式会社 情報端末用入力補助装置
US7809145B2 (en) * 2006-05-04 2010-10-05 Sony Computer Entertainment Inc. Ultra small microphone array
US20080146336A1 (en) * 2002-12-04 2008-06-19 Philip Feldman Exercise Gaming Device and Method of Facilitating User Exercise During Video Game Play
JP3919190B2 (ja) * 2003-03-07 2007-05-23 任天堂株式会社 ゲーム装置及びゲームプログラム
JP2005152508A (ja) 2003-11-28 2005-06-16 Nintendo Co Ltd 複数人でプレイするゲームシステム、ゲーム装置およびゲームプログラム
US7942745B2 (en) * 2005-08-22 2011-05-17 Nintendo Co., Ltd. Game operating device
JP4262726B2 (ja) 2005-08-24 2009-05-13 任天堂株式会社 ゲームコントローラおよびゲームシステム
JP4463237B2 (ja) * 2006-04-28 2010-05-19 株式会社ソニー・コンピュータエンタテインメント 通信装置、ゲーム装置、無線ゲームコントローラおよびゲームシステム
JP4989105B2 (ja) 2006-05-09 2012-08-01 任天堂株式会社 ゲームコントローラ
JP5140259B2 (ja) * 2006-09-12 2013-02-06 株式会社ユニバーサルエンターテインメント サンド装置、管理サーバ、入金残高精算機及び遊技システム
JP2008295659A (ja) * 2007-05-30 2008-12-11 Sega Corp ゲームプログラム、そのプログラムを記憶した情報記憶媒体、及びゲーム装置、並びにゲーム制御方法
EP2130570A1 (fr) * 2008-06-05 2009-12-09 Bigben Interactive SA Accessoire immersif pour console de jeux vidéo portable
JP5520457B2 (ja) * 2008-07-11 2014-06-11 任天堂株式会社 ゲーム装置およびゲームプログラム
JP5522349B2 (ja) * 2009-04-14 2014-06-18 任天堂株式会社 入力システム、情報処理システム、周辺機器の制御方法、および操作機器の制御プログラム
WO2011068919A1 (en) * 2009-12-02 2011-06-09 Astro Gaming, Inc. Wireless game/audio system and method
KR101154636B1 (ko) * 2010-02-03 2012-06-08 닌텐도가부시키가이샤 표시 장치, 게임 시스템 및 게임 처리 방법
JP5550433B2 (ja) * 2010-04-22 2014-07-16 任天堂株式会社 操作装置および情報処理システム
JP5635305B2 (ja) * 2010-05-26 2014-12-03 任天堂株式会社 携帯型の情報処理装置、情報処理プログラムおよび情報処理方法
KR20120057052A (ko) * 2010-11-26 2012-06-05 삼성전자주식회사 다기능 주변장치를 가지는 디바이스 및 그의 운용 방법
JP5689705B2 (ja) * 2011-02-10 2015-03-25 任天堂株式会社 情報処理システム、情報処理プログラム、情報処理装置、入力装置、および情報処理方法
JP6327669B2 (ja) * 2015-02-10 2018-05-23 任天堂株式会社 付属機器、情報処理システム、情報処理装置、情報処理プログラム、操作判別方法、および、処理実行方法
US10543427B2 (en) * 2015-04-29 2020-01-28 Microsoft Technology Licensing, Llc Game controller function remapping via external accessory
JP6612183B2 (ja) * 2015-06-12 2019-11-27 任天堂株式会社 ゲームコントローラ
JPWO2017115545A1 (ja) * 2015-12-28 2018-10-18 ソニー株式会社 コントローラ、入出力装置、及び通信システム
US10198074B2 (en) * 2016-02-18 2019-02-05 Immersion Corporation Haptically-enabled modular peripheral device assembly
JP6564335B2 (ja) * 2016-02-22 2019-08-21 任天堂株式会社 情報処理装置、情報処理システム、情報処理方法、および情報処理プログラム
JP6329210B2 (ja) * 2016-07-29 2018-05-23 任天堂株式会社 情報処理システム、ケース、および厚紙部材
US11090557B2 (en) * 2016-10-24 2021-08-17 Staragilis Limited All in one mobile game controller
JP6931285B2 (ja) * 2017-01-11 2021-09-01 任天堂株式会社 ゲームコントローラ用アタッチメント
US10143921B1 (en) 2017-06-02 2018-12-04 Performance Designed Products Llc Gaming peripheral with intelligent audio control
JP6555831B2 (ja) * 2017-12-27 2019-08-07 任天堂株式会社 情報処理プログラム、情報処理システム、情報処理装置、および、情報処理方法
JP6710720B2 (ja) * 2018-06-08 2020-06-17 任天堂株式会社 ゲームシステム、ゲーム装置、ゲームプログラムおよびゲーム制御方法
US10335674B1 (en) * 2018-06-11 2019-07-02 Performance Designed Products Llc Video game controller

Also Published As

Publication number Publication date
CN112439192A (zh) 2021-03-05
US11148043B2 (en) 2021-10-19
US20210060415A1 (en) 2021-03-04
JP2021035445A (ja) 2021-03-04
EP3785773A1 (en) 2021-03-03

Similar Documents

Publication Publication Date Title
EP3343327B1 (en) Vibration control system, vibration control apparatus, vibration control program and vibration control method
CN112274912B (zh) 信息处理系统、信息处理装置、存储介质及信息处理方法
JP7131886B2 (ja) 情報処理装置、情報処理装置の制御方法、情報処理プログラムおよび情報処理システム
JP6912889B2 (ja) ゲームシステムおよびゲームコントローラ
JP6768130B1 (ja) 情報処理システム、情報処理プログラム、および、情報処理方法
US20180345132A1 (en) Information processing system, non-transitory storage medium having stored therein information processing program, information processing apparatus, and information processing method
US10596462B2 (en) Information processing system, information processing apparatus, storage medium having stored therein information processing program, and information processing method
JP6670030B1 (ja) 周辺装置、ゲームコントローラ、情報処理システム、および、情報処理方法
US9720509B2 (en) Gesture detection system, gesture detection apparatus, and mobile communication terminal
JP2014161063A (ja) 電気機器、制御方法及びプログラム
JP6137040B2 (ja) リモートコントロールシステム及びリモートコントローラ
JP2018110650A (ja) 情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法
US20090096411A1 (en) Charging Stand
JP2021037260A (ja) 周辺装置、ゲームコントローラ、情報処理システム、および、情報処理方法
JP6731531B1 (ja) 情報処理システム、情報処理プログラム、情報処理方法、および、情報処理装置
US20230011572A1 (en) Wireless controller
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
JP6137039B2 (ja) リモートコントロールシステム及びリモートコントローラ
US11331570B2 (en) Game system, storage medium having stored therein game program, information processing apparatus, and game processing method
CN112891924A (zh) 操作设备
JP2020047162A (ja) 入力装置、プログラムおよび方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200218

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: 20200227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200227

R150 Certificate of patent or registration of utility model

Ref document number: 6670030

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250