以下、本発明の一実施態様に係る情報処理システム及びオブジェクト動作方法について、図面を参照しながら詳細に説明する。
<実施形態>
図1は、本発明に係る謎解きエンターテインメント用の情報処理システムの構成例を示すシステム図である。謎解きエンターテインメント(単に謎解きという場合もある。)とは、謎解きの提供者が提供する謎や暗号を、ユーザが自身のひらめきにより解いて、提供者が用意した真実や解答に到達することを目的としたエンターテインメント(ゲーム)のことである。
図1に示すように、謎解きエンターテインメント用の情報処理システムは、情報処理サーバ100と、オブジェクト300とを含む。謎解きエンターテインメントにおいては、謎解きをするユーザは、自身のユーザ端末200から情報処理サーバ100にアクセスして、謎解きを楽しむこととしてよい。図1に示すように、情報処理サーバ100と、ユーザ端末200と、オブジェクト300とは、ネットワーク500を介して、通信可能に接続されている。
謎解きエンターテインメントにおいては、一例として、情報処理サーバ100は、謎解きを楽しむユーザのユーザ端末200に、謎解き問題11を送信する。ユーザ端末200は、受信した謎解き問題11を、例えば、図1に示すように、表示画面201に表示する。その内容を確認したユーザは、回答をユーザ端末200に入力し、ユーザ端末200は、回答12を情報処理サーバ100に送信する。情報処理サーバ100は、ユーザ端末200から受信した回答12が、謎解き問題11の解答として登録されているか否かを判定する。
そして、ユーザ端末200から受信した回答12が、謎解き問題11の解答として登録されていた場合には、情報処理サーバ100は、その謎解き問題11に対応付けられたオブジェクト300に対して駆動を指示する駆動指示13を送信する。
オブジェクト300は、実物体であればどのような物体であってもよく、駆動指示13に従って、オブジェクト300の状態が変化するものであれば、どのような物体であればよい。オブジェクト300は、情報処理サーバ100から、駆動指示13を受信すると、オブジェクト300に対して与えられた駆動内容にしたがって駆動する。例えば、オブジェクト300が、図1に示すような宝箱であった場合には、オブジェクト300は、アクチュエータを駆動することにより、宝箱の蓋を開けるように駆動する。
オブジェクト300の駆動は、謎解きを達成したことによる報酬の提供であってもよいし、次の謎解きに関する情報やアイテムの提供などを促すものであってもよい。
昨今の謎解きエンターテインメントは、基本的に、紙面と筆記用具、そして稀にユーザに視認させる映像等により行われるが、このように謎解きに応じた実物体のオブジェクトを作用させることで、より興趣性の高い謎解きエンターテインメントを提供することができる。
以下、詳細に説明する。なお、ネットワーク500は、各種の機器との間を相互に接続させるためのネットワークであり、例えば、無線ネットワークや有線ネットワークである。具体的には、ネットワークは、ワイヤレスLAN(wireless LAN:WLAN)や広域ネットワーク(wide area network:WAN)、ISDNs(integrated service digital networks)、無線LANs、LTE(long term evolution)、LTE-Advanced、第4世代(4G)、第5世代(5G)、第6世代(6G)、CDMA(code division multiple access)、WCDMA(登録商標)、イーサネット(登録商標)などである。また、ネットワークは、これらの例に限られず、例えば、公衆交換電話網(Public Switched Telephone Network:PSTN)やブルートゥース(Bluetooth(登録商標))、ブルートゥースローエナジー(Bluetooth Low Energy(登録商標))、光回線、ADSL(Asymmetric Digital Subscriber Line)回線、衛星通信網などであってもよく、どのようなネットワークであってもよい。ネットワークは、ユーザの住居に備えられる場合には、ホームネットワークと呼称されることもある。また、ネットワークは、例えば、NB-IoT(Narrow Band IoT)や、eMTC(enhanced Machine Type Communication)であってもよい。なお、NB-IoTやeMTCは、IoT向けの無線通信方式であり、低コスト、低消費電力で長距離通信が可能なネットワークである。また、ネットワークは、これらの組み合わせであってもよい。また、ネットワークは、これらの例を組み合わせた複数の異なるネットワークを含むものであってもよい。例えば、ネットワークは、LTEによる無線ネットワークと、閉域網であるイントラネットなどの有線ネットワークとを含むものであってもよい。
<情報処理サーバ100の構成例>
図2は、情報処理サーバ100の構成例を示すブロック図である。情報処理サーバ100は、謎解きエンターテインメントを提供する提供者によって運用されるコンピュータシステムであり、所謂、サーバマシン、ウェブサーバと呼称される機械である。なお、情報処理サーバ100は、謎解きエンターテインメントを提供したい他者に貸与されてもよいし、他者からの依頼に基づいて、謎解きエンターテインメントを提供することとしてもよい。
図2に示すように、情報処理サーバ100は、通信部110と、制御部130と、記憶部140と、を備える。また、情報処理サーバ100は、入力部120と、情報出力部150と、を備えてもよい。通信部110と、入力部120と、制御部130と、記憶部140と、情報出力部150とは、バス160を介して互いに通信可能に構成されてよい。
通信部110は、他の装置と通信を実行するための機能を有する通信インターフェースである。通信部110は、他の装置と通信可能であれば、いずれの通信プロトコルにより通信を行ってもよく、有線、無線のいずれでの通信であってもよい。通信部110は、ユーザ端末200からのアクセスにより謎解き問題を要求する謎解き要求を受信して、制御部130に伝達する。また、通信部110は、ユーザ端末200から、謎解き問題に対するユーザの回答を受信して、制御部130に伝達する。また、通信部110は、制御部130からの指示にしたがって、オブジェクト300に対する駆動指示を送信する。
入力部120は、情報処理サーバ100のオペレータ(謎解きエンターテインメントの提供者)等からの入力を受け付けて、制御部130に伝達する機能を有する入力インターフェースである。入力部120は、タッチパネル等のソフトキーにより実現されてもよいし、ハードキーにより実現されてもよい。また、あるいは、入力部120は、音声入力を受け付けるためのマイクであってもよい。入力部120は、例えば、情報処理サーバ100のオペレータ等からの入力を受けて、入力された内容を、制御部130に伝達する。入力される内容は、一例として、謎解き用の問題と解答、および、ユーザの回答が解答に一致する際に何らかのオブジェクトを動作させる場合の、オブジェクトの情報などであってよい。
記憶部140は、情報処理サーバ100が動作上必要とする各種のプログラム及びデータを記憶する機能を有する。記憶部140は、例えば、HDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現することができる。記憶部140は、謎解き情報141を記憶している。謎解き情報141は、謎解きエンターテイメントに関する情報であり、謎解きの問題やその解答、オブジェクトの動作などを規定した情報である。謎解き情報141の詳細については後述する。
情報出力部150は、制御部130からの指示にしたがって、指定された情報を出力する機能を有する。情報出力部150による出力は、画像信号、音声信号のいずれでの出力であってもよい。画像信号による出力の場合、情報処理サーバ100に接続された(又は情報処理サーバ100が備える)モニタへの出力であってよい。また、音声信号による出力の場合、情報処理サーバ100に接続された(又は情報処理サーバ100が備える)スピーカへの出力であってもよい。情報出力部150による出力は、例えば、入力部120に対して提供者により入力される入力内容の確認や、ユーザからの回答の確認、謎解き情報141の内容確認等に利用されてよい。
制御部130は、情報処理サーバ100の各部を制御する機能を有するプロセッサである。制御部130は、シングルコアにより実現されても、マルチコアにより実現されてもよい。
制御部130は、制御部130が実現する機能として、第1送信部131と、第1受信部132と、判定部133と、出力部134と、を備える。
第1送信部131は、ユーザ端末200等の謎解きをするための情報処理機器に対して、謎解き問題を、通信部110を介して送信する機能を有する。
第1受信部132は、ユーザ端末200等から、通信部110を介して、謎解き問題に対する回答を受信する。受信した回答には、回答がどの謎解き問題に対応する回答であるかを示すための謎解きIDと、ユーザの回答とが含まれる。また、回答には、ユーザ端末200に対応するユーザを識別するためのユーザIDが含まれてよい。第1受信部132は、受信した回答を判定部133に伝達する。
判定部133は、ユーザ端末200から送信された回答に含まれる回答が、謎解き問題の解答として適切か否かを判定する。判定部133は、受信した回答に含まれる謎解きIDに対応する解答を、謎解き情報141から取得する。そして、受信したユーザの回答と、謎解き情報141において対応付けられている解答とが一致するか否かを判定する。謎解きIDに対応する解答が複数ある場合には、そのそれぞれと一致するか否かを判定する。判定部133は、ユーザの回答に一致する解答がない場合には、通信部110を介して、回答を送信してきたユーザ端末200に、回答が異なることを通知するためのメッセージを送信する。一方で、判定部133は、ユーザの回答に一致する解答がある場合には、その解答に対応付けられているオブジェクト300と、その動作を、謎解き情報141を参照して特定する。そして、特定したオブジェクト300と、動作の情報を、出力部134に伝達する。
出力部134は、判定部133から、オブジェクト300と、動作の情報とを伝達されると、通信部110を介して、指定されているオブジェクト300に対して、指定されている動作を実行させる動作指示を送信する。
これにより、ユーザが謎解きに対する適切な回答をした場合に、謎解きに関連する何等かの実物のオブジェクト300が動作する。これによって、謎解きエンターテインメントにおけるユーザの臨場感や興趣性を向上させることができる。
以上が、情報処理サーバ100の構成例の説明である。
<ユーザ端末200の構成例>
図3は、ユーザ端末200の構成例を示すブロック図である。ユーザ端末200は、ユーザが所持する携帯端末であり、例えば、スマートフォン、携帯電話機、タブレット端末、ノートPCなどによって実現されるコンピュータであるが、これらに限定するものではない。図3に示すように、ユーザ端末200は、通信部210と、入力部220と、制御部230と、記憶部240と、出力部250と、を備える。通信部210と、入力部220と、制御部230と、記憶部240と、出力部250とは、バス260を介して互いに通信可能に構成されてよい。
通信部210は、他の装置と通信を実行するための機能を有する通信インターフェースである。通信部210は、他の装置と通信可能であれば、いずれの通信プロトコルにより通信を行ってもよく、有線、無線のいずれでの通信であってよい。通信部210は制御部230からの指示にしたがって、情報処理サーバ100と通信を行う。通信部210は、情報処理サーバ100から情報を受信した場合には制御部230に伝達する。通信部210は、情報処理サーバ100から謎解き問題を受信し、制御部230に伝達する。また、通信部210は、制御部230からの指示に従って、ユーザが謎解き問題に対して出した回答を、情報処理サーバ100に送信する。通信部210は、情報処理サーバ100から、謎解き問題の解答が適切でないことを示す情報を受信して、制御部230に伝達する。
入力部220は、ユーザ端末200のユーザからの入力を受け付けて、制御部230に伝達する機能を有する入力インターフェースである。入力部220は、タッチパネル等のソフトキーにより実現されてもよいし、ハードキーにより実現されてもよい。また、あるいは、入力部220は、音声入力を受け付けるためのマイクであってもよい。入力部220は、ユーザから入力された入力内容を、制御部230に伝達する。入力部220は、一例として、謎解き問題に対する回答の入力を受け付けて制御部230に伝達する。
制御部230は、ユーザ端末200の各部を制御する機能を有するプロセッサである。制御部230は、シングルコアにより実現されても、マルチコアにより実現されてもよい。制御部230は、記憶部240に記憶されている各種プログラムを実行して、ユーザ端末200が果たすべき機能を実現する。
制御部230は、情報処理サーバ100から謎解き問題を受信した場合には、出力部250に謎解き問題の内容を出力させる。また、制御部230は、入力部220からユーザの謎解き問題に対する回答を受け付けた場合に、その回答を、通信部210を介して、情報処理サーバ100に送信させる。
なお、制御部230は、制御部230が実現する機能として、謎解きエンターテインメントに係るアプリケーションであって情報処理サーバ100から提供される謎解きアプリケーションを実行するアプリ実行部231を備えることとしてもよい。
アプリ実行部231は、情報処理サーバ100から提供される謎解きアプリケーションであって、記憶部240に記憶されている謎解きアプリケーションを実行する。当該謎解きアプリケーションの実行によって、謎解き問題の表示、ユーザからの回答の入力の受け付け、情報処理サーバ100への回答の送信が実行される。なお、ここでは、アプリケーションによる実行例を示しているが、謎解き問題の提供、並びに、回答の受付は、ネットワーク上の情報処理サーバ100が提供する謎解きサイトのブラウザ上で実現されてもよい。
記憶部240は、ユーザ端末200が動作上必要とする各種のプログラム及びデータを記憶する機能を有する。記憶部140は、例えば、HDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現することができる。図3には、謎解きアプリケーション241を記憶している例を示している。
出力部250は、制御部230からの指示にしたがって、指定された情報を出力する機能を有する。出力部250による出力は、画像信号、音声信号のいずれでの出力であってもよい。画像信号による出力の場合、ユーザ端末200が備える(又はユーザ端末200に接続された)モニタへの出力であってよい。また、音声信号による出力の場合、ユーザ端末200が備える(又はユーザ端末200に接続された)スピーカへの出力であってよい。出力部250は、例えば、アプリ実行部231による謎解きアプリケーション241の実行に伴って、謎解きアプリケーション241が提供する情報を、ユーザ端末200のモニタに表示する。出力部250は、一例として、謎解き問題を出力するとともに、謎解き問題に対する回答の入力を受け付けるための入力フォームを表示する。また、出力部250は、ユーザが出した謎解き問題に対する回答が、解答として正しくない場合に、その旨を示す情報を出力し、再度、別の回答の入力を促す情報を出力することとしてもよい。
以上が、ユーザ端末200の構成例の説明である。
<オブジェクト300の構成例>
図4は、オブジェクト300の構成例を示すブロック図である。オブジェクト300は、情報処理サーバ100からの指示にしたがって、駆動する何らかの実物体であれば、どのようなものであってもよい。一例として、オブジェクト300は、例えば、謎解きエンターテインメントに関連する扉の電子錠であってもよいし、謎解きエンターテインメントに関連する宝箱であってもよいし、謎解きエンターテインメントに関連する電光掲示板やLCD等のモニタであってもよいし、謎解きエンターテインメントに関連する音声を出力するスピーカであってもよいし、謎解きエンターテインメントに関連する事物を運搬するためのベルトコンベアやロボットなどであってもよい。
図4に示すように、オブジェクト300は、通信部310と、制御部330と、記憶部340と、出力部350と、駆動部370と、を備える。通信部310と、制御部330と、記憶部340と、出力部350と、駆動部370とは、バス360を介して互いに通信可能に構成されてよい。また、図示していないが、オブジェクト300は、謎解きエンターテインメントの提供者や、謎解きエンターテインメントに参加するユーザからの入力を受け付けるための入力部を備えてもよい。
通信部310は、他の装置と通信を実行するための機能を有する通信インターフェースである。通信部310は、他の装置と通信可能であれば、いずれの通信プロトコルにより通信を行ってもよく、有線、無線のいずれでの通信であってよい。通信部310は制御部130からの指示にしたがって、情報処理サーバ100やユーザ端末200と通信を行う。
制御部330は、ユーザ端末200の各部を制御する機能を有するプロセッサである。制御部330は、シングルコアにより実現されても、マルチコアにより実現されてもよい。制御部330は、記憶部340に記憶されている各種プログラムを実行することにより、オブジェクト300として実現すべき機能を実現する。
記憶部340は、オブジェクト300が動作上必要とする各種のプログラム及びデータを記憶する機能を有する。記憶部140は、例えば、HDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現することができる。
出力部350は、制御部330からの指示にしたがって、指定された情報を出力する機能を有する。出力部350による出力は、画像信号、音声信号のいずれでの出力であってもよい。画像信号による出力の場合、オブジェクト300に接続された(又はオブジェクト300が備える)モニタへの出力であってよい。また、音声信号による出力の場合、オブジェクト300が備える(又はオブジェクト300に接続された)スピーカへの出力であってよい。
駆動部370は、オブジェクト300そのもの、あるいは、オブジェクト300の一部を駆動させる機能を有する。駆動部370は、一例として、アクチュエータにより実現されてよいが、これに限定するものではない。駆動部370は、一例として、電子錠であってよく、情報処理サーバ100からの指示に基づき、制御部330からの制御によって、電子錠を開くものであってよく、これによって、通路に設けられた扉の開閉が可能になるように構成されてよい。また、あるいは、駆動部370は、宝箱等に設けられた電子錠であってよく、情報処理サーバ100からの指示に基づき、制御部330からの制御によって、電子錠を開くものであってよく、これによって宝箱を開けるように構成されてもよい。また、あるいは、駆動部370は、宝箱の蓋を開けるためのアクチュエータであってもよく、情報処理サーバ100からの指示に基づき、制御部330からの制御によって、蓋を開けるように構成されてよい。また、駆動部370はベルトコンベアであってもよく、謎解き問題を解くことで、謎解き問題を解く前は、ユーザには見えなかったアイテムが、見えるように、当該アイテムを運搬するように構成されてもよい。また、逆に、それまで見えていたオブジェクト300を所定の場所から別の場所に移動させて、オブジェクト300によって隠れていたアイテムがユーザに見えるようにしてもよい。また、あるいは、オブジェクト300はLEDライト等であってよく、駆動部370は、そのLEDライトを点灯させることとしてもよい。また、オブジェクト300は、スピーカであってもよく、駆動部370は、謎解き問題を解くことで、予め録音した所定の音声(例えば、謎解き問題を示す音声、謎解き問題のヒントを示す音声)を報知することとしてもよい。また、オブジェクト300がモニタで、駆動部370が謎解き問題を解くことによって所定の動画を流すようにしてもよく、この所定の動画が次の謎解き問題の提供をするものであれば、謎解きエンターテインメントの自動進行を実現することもできる。
以上がオブジェクト300の構成例の説明である。
<データ>
ここから、謎解き情報141について説明する。上述の通り、情報処理サーバ100が、謎解きエンターテインメントを管理するための情報である。謎解きエンターテインメントの管理とは、謎解きの問題に対する解答の管理、並びに、謎を解いたときに駆動させるオブジェクト300とその動作の管理のことをいう。
図5は、謎解き情報141のデータ構成例を示すデータ概念図である。図5に示すように、謎解き情報141は、謎解きID501と、謎解き問題502と、解答503と、オブジェクトID504と、オブジェクト505と、動作506と、が対応付けられた情報である。
謎解きID501は、謎解きエンターテインメントにおいてユーザに提供される謎解き問題を情報処理サーバ100が一意に区別するために、情報処理サーバ100が便宜上付与する管理用の識別情報である。謎解きID501があることによって、複数の謎解き問題がある場合に、ユーザがどの謎解き問題を解いたのかを識別することができ、管理することができる。
謎解き問題502は、謎解きIDに対応する謎解き問題の内容を示す情報であり、実際にユーザ端末200に送信する謎解き問題の実内容を示す情報である。
解答503は、対応する謎解き問題502で示される謎解き問題に対する解答を示す情報である。なお、解答503は、謎解き問題502に対する正答であってもよいし、ユーザが間違えた場合に正答とは異なる動作をオブジェクト300にさせたり、正答とは異なるオブジェクト300に動作させたりするための誤答であってもよい。
オブジェクトID504は、対応する解答503で示す回答をユーザがした場合に、動作させるオブジェクトを一意に識別するための識別情報である。オブジェクトID504があることにより、情報処理サーバ100は、謎解きエンターテインメントにおいて複数のオブジェクト300が用意されている場合に、いずれのオブジェクト300を駆動させるべきか一意に特定することができ、適切なオブジェクト300を駆動させ、誤ったオブジェクト300の駆動を防止することができる。
オブジェクト505は、対応するオブジェクトID504が示すオブジェクトが実際に何であるかを示す情報である。
動作506は、対応するオブジェクト505で示すオブジェクト300の動作を規定する情報であり、対応する解答503に示す解答をユーザが回答した場合のオブジェクト300の動かせ方を規定した情報である。なお、オブジェクト300が一種類の動作しかできない場合には、動作506は規定せずともよく、情報処理サーバ100は、オブジェクト300に対して動作するよう指示するだけでもよい。動作506を規定することにより、オブジェクト300が複数の動作が可能な場合に、適切な動作をオブジェクト300に実行させ、誤った動作をさせることを防止することができる。
図5の例で言えば、謎解きID501が「Q002021」の謎解き問題502は、「AAA」となっており、この「AAA」は実際には問題の内容である。ここでは便宜的に符号として示している。そして、謎解き問題「AAA」に対する解答503は、「aaa」となっており、ユーザ端末200からの回答が、aaaである場合に、正解と見做される。謎解き問題「AAA」を解いた場合に動作させるオブジェクトID504は、「Obj002021」であり、その実物としてのオブジェクト505は、「扉の鍵」であり、動作506としては、「扉の鍵を解錠」することとなっている。
なお、謎解きエンターテインメントに関連する情報であれば、謎解き情報141には、その他の情報が対応付けられてもよい。例えば、謎解き問題が他の謎解き問題に関連する場合には、関連する問題のIDが対応付けられてもよい。関連するとは、例えば、謎解き問題を所定の順序で解く必要がある場合に、次の謎解き問題を示すことであってよい。即ち、謎解き情報141には、次に実行すべき謎解き問題がいずれであるかを示す情報が対応付けられてもよい。また、謎解き問題502は、別に管理されてもよく、その場合には、謎解き情報141から削除してもよい。同様に、オブジェクト300は、オブジェクトID504があれば管理できることから、オブジェクト505の情報は、謎解き情報141から削除してもよい。
以上が、謎解き情報141の構成例である。
<動作>
図6は、情報処理システムに係る各装置間のやり取りの例を示すシーケンス図である。
図6に示すように、ユーザ端末200は、情報処理サーバ100に対して、謎解き問題を要求する謎解き問題要求を送信する(ステップS601)。
情報処理サーバ100は、謎解き問題要求を受信すると、謎解き問題を送信する(ステップS602)。
ユーザ端末200は、謎解き問題を受信すると、その内容を表示する。ユーザ端末200は、謎解き問題に対するユーザからの回答の入力を受け付けると、謎解き問題の回答を、情報処理サーバ100に送信する(ステップS603)。
情報処理サーバ100は、ユーザ端末200から、回答を受信すると、その回答を判定する(ステップS604)。そして、ユーザ端末200から受信した回答が、謎解き問題の解答であると判定した場合には、情報処理サーバ100は、対応付けられているオブジェクト300に対して駆動指示を送信する(ステップS605)。
オブジェクト300は、情報処理サーバ100から駆動指示を受信すると、当該駆動指示に従って駆動する(ステップS606)。
このように、謎解きエンターテインメントにおいては、ユーザが謎解きをすることで、何らかの実物であるオブジェクト300が駆動するので、謎解きエンターテインメントの臨場感やエンターテインメント性を向上させ、ユーザの興趣性を向上させることができる。
図7は、図6に示すやり取りを実現するための、情報処理サーバ100の動作例を示すフローチャートである。
図7に示すように、情報処理サーバ100の制御部130は、通信部110を介して、ユーザ端末200からの謎解き問題要求を受け付けているか否かを判定する(ステップS701)。制御部130は、ユーザ端末200からの謎解き問題要求を受け付けている場合には(ステップS701のYES)、通信部110を介して、適宜必要な謎解き問題を送信する(ステップ702)。必要な謎解き問題とは、複数の謎解き問題が一連のストーリーとなっている場合には、その前に解いた謎解きの次の謎解き問題のことであり、その前に解いた謎解き問題がない場合には、一連のストーリーの最初の謎解き問題のことであってよい。また、ユーザ端末200に送信する謎解き問題は、ランダムに決定するものであってもよい。
一方、謎解き問題要求を受け付けておらず(ステップS701のNO)、謎解き問題に対する回答を受信している場合には(ステップS703のYES)、制御部130は、受信したユーザ端末200からの回答に一致する解答が、謎解き情報141において対応付けられているか否かを判定する(ステップS704)。
即ち、制御部130は、ユーザ端末200から受信した回答に含まれる謎解きIDに対応する解答を、謎解き情報141を参照して特定する。そして、特定した解答と、ユーザ端末200から受信した回答が一致するか否かを判定する。
ユーザ端末200から受信した回答に一致する解答が、謎解き問題に対応付けられている場合には(ステップS704のYES)、制御部130は、その謎解き問題に対応付けられているオブジェクトと、その動作を謎解き情報141を参照して特定する。そして、制御部130は、特定したオブジェクト300に対して、特定した動作を実行するよう、駆動指示を出力し(ステップS705)、ステップS701の処理に移行する。
一方で、ユーザ端末200から受信した回答に一致する解答が、謎解き問題に対応付けられていない場合には(ステップS704のNO)、制御部130は、通信部110を介して回答を送信してきたユーザ端末200に、回答が正しくない(謎解き情報141に解答として登録されていない)旨を示す誤答情報を送信し(ステップS706)、ステップS701の処理に戻る。
以上が、情報処理サーバ100の動作例である。
次に、図8は、図6に示すやり取りを実現するための、ユーザ端末200の動作例を示すフローチャートである。
図8に示すように、ユーザ端末200の制御部230は、入力部220を介して、ユーザから謎解き問題を要求する入力を受け付ける(ステップS801)。すると、制御部230は、通信部210を介して、情報処理サーバ100に対して、謎解き問題を要求する謎解き問題要求を送信する(ステップS802)。
制御部230は、通信部210を介して情報処理サーバ100から謎解き問題を受信したか否かを判定する(ステップS803)。謎解き問題を受信するまでは待機する(ステップS803のNO)。
謎解き問題を受信すると(ステップS803のYES)、制御部230は、出力部250に謎解き問題を出力させる(ステップS804)。一例として、出力部250は、謎解き問題を示す画像や文字を表示する。
ユーザ端末200の入力部220は、ユーザから謎解き問題に対する回答の入力を受け付ける(ステップS805)。なお、謎解き問題は、時間制限が設定されてもよいし、されなくてもよい。回答までの時間制限が設定されている場合には、謎解き問題を表示してから、その時間制限で示される時間が経過して、回答が入力されていない場合には、制御部230は、回答の入力の受付を締め切るように制御してよい。即ち、制御部230は、出力部250に、謎解き問題の表示と回答の入力フォームの表示とを終了して別の画面の表示(例えば、新たな謎解き問題の表示)に切り替えるように構成されてよい。
制御部230は、入力部220から、ユーザの謎解き問題に対する回答を受け付けると、通信部210を介して、受け付けた回答を回答情報として、情報処理サーバ100に送信する(ステップS806)。回答情報には、少なくとも、回答がどの謎解き問題に対する回答であるかを示す謎解きIDと、ユーザが入力した回答とが含まれる。なお、情報処理サーバ100側で、ユーザ端末200が実行している謎解き問題を管理している場合には、謎解きIDの送信は不要となる。
制御部230は、通信部210を介して、情報処理サーバ100から誤答情報を受信しているか否かを判定する(ステップS807)。誤答情報は、前述の通り、ユーザがした回答が、情報処理サーバ100で記憶されている謎解き情報141において謎解き問題に対する解答として登録されていない場合に、その旨を示す情報のことである。
誤答情報を受信していた場合には(ステップS807のYES)、制御部230は、出力部250に誤答情報を表示させ(ステップS808)、ステップS805の処理に戻る。一方で、誤答情報を受信しない場合には(ステップS807のNO)、処理を終了する。この後、次の謎解き問題に進んでもよい。
以上がユーザ端末200の動作例である。
図9は、図6に示すやり取りを実現するための、オブジェクト300の動作例を示すフローチャートである。
図9に示すように、オブジェクト300の制御部330は、通信部310を介して、情報処理サーバ100から、駆動指示を受信しているか否かを判定する(ステップS901)。オブジェクト300は、情報処理サーバ100からの駆動指示を受信しない間は待機する(ステップS901のNO)。
情報処理サーバ100からの駆動指示を受信した場合には(ステップS901のYES)、制御部330は、駆動部370に対して駆動するように指示する。オブジェクト300が駆動可能な駆動内容が複数ある場合には、制御部330は、どの駆動をするのかの指定を含めて指示する。駆動内容が一つだけの場合には、単に駆動の指示だけであってもよい。駆動部370は、制御部330からの指示に従って駆動し(ステップS902)、処理を終了する。
以上がオブジェクト300の動作例である。
<まとめ>
以上に示したように、ユーザは、謎解きエンターテインメントに関する謎解き問題を解くと、実物体のオブジェクト300が何らかの動きをユーザに見せることになる。近年、紙面と鉛筆で行われている謎解きは、何等かのストーリー性を持たせたものも多いが、そのストーリーに関連するオブジェクト300を配置して動かすことで、謎解きエンターテイメントをより臨場感のあるエンターテインメントとして提供することができる。
<変形例1>
上記実施形態においては、ユーザ端末200を用いて謎解き問題を解く例を示したが、謎解き問題は、ユーザ端末200上ではなく別の機器を用いてもよい。本変形例1においては、ユーザ端末200を用いずに謎解きを行う例を説明する。ユーザ端末200を用いない謎解きは、例えば、謎解きエンターテインメントを提供する提供者提供する機器を用いた謎解きである。ここでいう機器とは一例として、複数のブロックを組み合わせて形成するパズルであってもよいし、謎解きを行うことで、解除が可能な時限爆弾(の玩具)であったりしてもよい。
図10は、ユーザ端末200を用いずに、謎解き用の機器として謎解きオブジェクト400の構成例を示すブロック図である。
図10に示すように、謎解きオブジェクト400は、通信部410と、制御部430と、記憶部440とを備える。また、謎解きオブジェクト400は、入力部420や出力部450、駆動部470を備えてもよい。通信部410と、入力部420と、制御部430と、記憶部440と、出力部450と、駆動部470とは、バス460を介して互いに通信可能に接続されてよい。
通信部410は、他の装置と通信を実行するための機能を有する通信インターフェースである。通信部410は、他の装置と通信可能であれば、いずれの通信プロトコルにより通信を行ってもよく、有線、無線のいずれでの通信であってよい。通信部410は制御部430からの指示にしたがって、情報処理サーバ100と通信を行う。通信部410は、情報処理サーバ100から情報を受信した場合には制御部430に伝達する。例えば、通信部410は、制御部430からの指示にしたがって、謎解きオブジェクト400を使った謎解き問題を解いたことを示す情報を、情報処理サーバ100に送信する。
制御部430は、謎解きオブジェクト400の各部を制御する機能を有するプロセッサである。制御部430は、シングルコアにより実現されても、マルチコアにより実現されてもよい。制御部430は、記憶部440に記憶されている各種プログラムを実行することにより、謎解きオブジェクト400が果たすべき機能を実現する。
制御部430は、条件判定部431を備える。条件判定部431は、謎解きオブジェクト400が、所定の状態になったか否かを判定する。所定の状態とは、謎解き問題の謎を解いた結果、謎解きオブジェクト400がなるべき状態のことである。所定の状態は、様々な状態であってよく、例えば、謎解きオブジェクト400に備えられた複数のボタンが所定の順序で押下されたり、謎解きオブジェクト400に設けられた複数のディップスイッチのスイッチを傾ける方向が所定の状態になったり、謎解きオブジェクト400が複数のブロックからなる場合に所定の配列で並べられたり、謎解きオブジェクト400に複数の端子が設けられて、それぞれの端子が所定の組み合わせで接続されたり、謎解きオブジェクト400がユーザからの操作によって変形する機構を有するロボットなどである場合に当該ロボットが所定のポーズをとることなどであったり、謎解きオブジェクト400に設けられた複数の配線のうち所定の配線が切断されることであったり、謎解きオブジェクト400が所定の場所に配置されることであったりしてよいが、これらに限定するものではない。図示していないが、謎解きオブジェクト400は、所定の状態になったか否かを判定するための各種センサを備えることとしてよく、センサからの信号によって、謎解きオブジェクト400が所定の状態になったか否かを判定する。
記憶部440は、謎解きオブジェクト400が動作上必要とする各種のプログラム及びデータを記憶する機能を有する。記憶部440は、例えば、HDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現することができる。記憶部440は、謎解きオブジェクト400が、謎解き問題に関する所定の条件を満たしたか否かを判定するためのプログラムを記憶する。
入力部420は、謎解きオブジェクト400を用いた謎解き問題を実行するユーザからの入力を受け付けて、制御部430に伝達する機能を有する入力インターフェースである。入力部420は、タッチパネル等のソフトキーにより実現されてもよいし、ハードキーにより実現されてもよい。また、あるいは、入力部420は、音声入力を受け付けるためのマイクであってもよい。入力部420は、ユーザから入力された入力内容を、制御部430に伝達する。入力部420は、一例として、謎解き問題に対する回答の入力を受け付けて制御部430に伝達する。例えば、謎解き問題が、謎解きオブジェクト400に設けられているキーを所定の手順に従って押下するものである場合に、入力部420は、ハードキーであってよい。また、例えば、謎解き問題として、何らかの文言を音声入力する必要がある場合には、入力部420は、マイクであってよい。なお、これらは一例であり、入力部420はこれらに限定するものではない。
出力部450は、謎解きオブジェクト400が複数のブロックで、謎解き問題が、これらの複数のブロックを、謎を解くことでわかる定められた方法で、組み合わせるものである場合に、その組み合わせが正しかった場合に、正解であることがわかる出力(一例として、正解という音声出力であったり、LEDライトが緑色に発光することであったりしてよいが、これらに限定するものではない)をしたり、組み合わせが間違っていた場合に、不正解であることがわかる出力(一例として、間違いという音声出力であったり、LEDライトが赤色に発行することであったりしてよいが、これらに限定するものではない)をするものであってよい。出力部450は、一例として、スピーカや、LEDライト、液晶ディスプレイ等により実現されてよいが、これらに限定するものではない。
駆動部470は、謎解きオブジェクト400を駆動させる。駆動部470は、謎解きオブジェクト400全体を駆動させるものであってもよいし、一部を駆動させるものであってもよい。駆動部470は、一例として、ユーザからの入力に従って謎解きオブジェクト400の一部、または、全部を駆動させる。
なお、変形例1の場合、情報処理サーバ100の謎解き情報141において、謎解きIDとして、謎解きオブジェクト400の識別情報が、謎解き問題として、謎解きオブジェクト400の所定の条件が、記憶されることとしてよい。
図11は、変形例1に係る情報処理システムに係る各装置間のやり取りの例を示すシーケンス図である。
図11に示すように、謎解きオブジェクト400は、所定の条件を満たしたことを検知する(ステップS1101)。所定の条件とは、上述の通り、謎解きオブジェクト400が、謎解き問題に関する所定の状態になることである。謎解きオブジェクト400は、所定の条件を満たすと、その旨を示す達成信号を情報処理サーバ100に送信する(ステップS1102)。
情報処理サーバ100は、達成信号を受信すると、謎解きオブジェクト400に対応するオブジェクト300を特定する(ステップS1103)。そして、特定したオブジェクト300に対して、駆動指示を送信する(ステップS1104)。
オブジェクト300は、情報処理サーバ100からの駆動指示に従って駆動する(ステップS1105)。
一方で、情報処理サーバ100は、次の謎解き問題を、ユーザ端末200に送信することとしてよい(ステップS1106)。
ユーザ端末200は、情報処理サーバ100から謎解き問題を受信した場合には、謎解き問題を表示する(ステップS1107)。
このように、変形例1においては、謎解きオブジェクト400を使った謎を解くことで、オブジェクト300が動作する。
図12は、図11に示すやり取りを実現するための謎解きオブジェクト400の動作例を示すフローチャートである。
図12に示すように、謎解きオブジェクト400は、謎解き問題を実行するための開始入力を受け付ける(ステップS1201)。
謎解きオブジェクト400の制御部430は、謎解きオブジェクト400が所定の条件を満たしたか否かを、判定する(ステップS1202)。所定の条件を満たすまでは、待機する(ステップS1202のNO)。
謎解きオブジェクト400が所定の条件を満たしたと判定した場合には(ステップS1202のYES)、謎解きオブジェクト400を使用した謎解きの回答が得られたと判定し、通信部410を介して、達成信号を情報処理サーバ100に送信し(ステップS1203)、処理を終了する。
図13は、図11に示すやり取りを実現するための情報処理サーバ100の動作例を示すフローチャートである。
図13に示すように、情報処理サーバ100の通信部110は、謎解きオブジェクト400から達成信号を受信し、制御部130に伝達する(ステップS1301)。
情報処理サーバ100の制御部130は、受信した達成信号に対応付けて、謎解き情報141において、オブジェクト300(オブジェクト)が対応付けられているか否かを参照する。そして、謎解き情報141において、オブジェクト300が対応付けられている場合に、そのオブジェクト300に対して駆動指示を送信する(ステップS1302)。これにより、謎解きオブジェクト400を用いた謎解きをユーザが実行し、正解にたどり着いた場合に、オブジェクト300が駆動する。
制御部130は、謎解き情報141を参照して、次の謎解き問題があるか否かを判定する(ステップS1303)。次の謎解き問題がない場合には(ステップS1303のNO)、制御部130は、処理を終了する。そして、次の謎解きがある場合には(ステップS1303のYES)、通信部110を介して、ユーザ端末200に次の謎解き問題を送信し(ステップS1304)、処理を終了する。
このように変形例1に係る情報処理システムによれば、謎解きオブジェクト400を用いた謎解きによって、謎解きを実行することができ、その謎解きを解いた場合に、オブジェクト300を駆動させることができる。実物体である謎解きオブジェクト400を用いることで、謎解き問題のバリエーションを拡張することができるので、謎解きエンターテインメントの興趣性を向上させることができ、ユーザは各種の謎解きを楽しむことができる。
<変形例2>
上記実施形態においては、ユーザ端末200のユーザ一人で謎解きを行う例を示したが、謎解きは一人ではなく複数人からなるグループで実行してもよい。本変形例2においては、複数のユーザで謎解きを行う場合の例を説明する。
図14は、変形例2に係る情報処理システムに係る各装置間のやり取りの例を示すシーケンス図である。図14では、第1ユーザ端末200aの第1ユーザと、第2ユーザ端末200bの第2ユーザとで、謎解き問題を解く場合の例を示す。第1ユーザ端末200aと第2ユーザ端末200bとは、互いに異なる端末であり、それぞれ、第1ユーザと第2ユーザによって所持されている。
図14に示すように、第1ユーザ端末200aは、情報処理サーバ100に対して、グループ登録要求を送信する(ステップS1401)。グループ登録要求は、謎解き問題を他のユーザと共同で解く場合のグループを情報処理サーバ100に登録するための情報であり、第1ユーザ端末200aのユーザの識別情報と、グループに含まれる他のユーザの情報(ここでは、第2ユーザ端末200bのユーザの識別情報)とを含む情報である。
また、第2ユーザ端末200bは、同様に、情報処理サーバ100に対して、グループ登録要求を送信する(ステップS1402)。
グループに含まれる予定のユーザ全てのユーザ端末200からグループ登録要求を受信することで、情報処理サーバ100は、各ユーザの確認が取れ、第1ユーザ端末200aの第1ユーザと、第2ユーザ端末200bの第2ユーザと、を対応付けて記憶し、グループ登録する(ステップS1403)。これにより、謎解き問題を複数のユーザで解いていくことができるようになる。なお、グループ登録は、グループに含まれるいずれかのユーザのユーザ端末200のみから情報処理サーバ100に送信することとしてもよい。
情報処理サーバ100は、グループに含まれる各ユーザのユーザ端末200に、謎解き問題を送信する(ステップS1404)。ここで、情報処理サーバ100が送信する謎解き問題は、各ユーザ毎で、同じ内容であってもよいし、異なる内容であってもよい。また、あるいは、一つの謎解きが他の謎解きを解くためのヒントとなっていてもよい。
第1ユーザ端末200aの第1ユーザは、受信した謎解き問題を確認して、解く。第1ユーザは、謎を解くとその回答を第1ユーザ端末200aに入力し、第1ユーザ端末200aは、入力された回答を、情報処理サーバ100に送信する(ステップS1406)。
同様に、第2ユーザ端末200bの第2ユーザは、受信した謎解き問題を確認して、解く。第2ユーザは、謎を解くとその回答を第2ユーザ端末200bに入力し、第2ユーザ端末200bは、入力された回答を、情報処理サーバ100に送信する(ステップS1405)。
情報処理サーバ100は、第1ユーザ端末200aから受信した回答が謎解き情報141において、対応する謎解き問題に対する解答として登録されているか否かを判定する。また、情報処理サーバ100は、第2ユーザ端末200bから受信した回答が謎解き情報141において、対応する謎解き問題に対する解答として登録されているか否かを判定する(ステップS1407)。そして、双方の回答が、謎解き問題に対する解答として謎解き情報141に登録されている場合に、情報処理サーバ100は、対応するオブジェクト300に対して駆動指示を送信する(ステップS1408)。
オブジェクト300は、情報処理サーバ100から駆動指示を受信すると駆動する(ステップS1409)。
このように複数のユーザによる謎解きによって、謎解き問題に対応するオブジェクト300を駆動させることができる。したがって、謎解きエンターテインメントにおいて、グループ登録したユーザ同士の連帯感を高めることができ、より興趣性の高い謎解きエンターテインメントを提供することができる。
図15は、図14に示すやり取りを実現するためのユーザ端末200の動作例を示すフローチャートである。
図15に示すように、ユーザ端末200の入力部220は、ユーザから、グループ登録要求の入力を受け付ける(ステップS1501)。グループ登録要求として入力される内容には、グループとして登録したいユーザに関する情報が含まれる。入力部220は、入力された内容を制御部230に伝達する。
制御部230は、入力部220から伝達された内容に従って、通信部210を介して、情報処理サーバ100に、グループ登録要求を送信する(ステップS1502)。これにより、情報処理サーバ100において、グループ登録がされる。
この後、図15に示すステップS803以降の処理を実行することになるが、ステップS803以降の処理は、図8を用いて説明した内容と同様なので、ここでは説明を省略する。
図16は、図14に示すやり取りを実現するための情報処理サーバ100の動作例を示すフローチャートである。
図16に示すように、情報処理サーバ100の制御部130は、通信部110を介して、ユーザ端末200からのグループ登録要求を受信しているか否かを判定する(ステップS1601)。受信していない場合には(ステップS1601のNO)、ステップS1604の処理に移行する。
グループ登録要求を受信した場合には(ステップS1601のYES)、制御部130は、受信したグループ登録要求に含まれるユーザ同士をグループとして対応付けて、記憶部140に記憶させる(ステップS1602)。なお、ここでは、一人のユーザからのグループ登録要求によるグループ登録の例を示したが、各ユーザからのグループ登録要求を受信する場合には、グループ登録要求に含まれる全てのユーザからのグループ登録要求を受信したときに、グループ登録を実行する。
グループ登録が完了すると、制御部130は、通信部110を介して、グループに含まれる全てのユーザのユーザ端末200に、謎解き問題を送信する(ステップS1603)。
制御部130は、通信部110を介して、ユーザ端末200から、謎解き問題に対する回答を受信しているか否かを判定する(ステップS1604)。受信していない場合には(ステップS1604のNO)、ステップS1601の処理に戻る。
ユーザ端末200から、謎解き問題に対する回答を受信している場合には(ステップS1604のYES)、制御部130は、受信した回答に一致する解答が、謎解き情報141において対応付けられているか否かを判定する(ステップS1605)。
即ち、制御部130は、ユーザ端末200から受信した回答に含まれる謎解きIDに対応する解答を、謎解き情報141を参照して特定する。そして、特定した解答と、ユーザ端末200から受信した回答が一致するか否かを判定する。
ユーザ端末200から受信した回答に一致する解答が、謎解き問題に対応付けられていない場合には(ステップS1605のNO)、制御部130は、通信部110を介して回答を送信してきたユーザ端末200に、回答が正しくない(謎解き情報141に解答として登録されていない)旨を示す誤答情報を送信し(ステップS1609)、ステップS1601の処理に戻る。
ユーザ端末200から受信した回答に一致する解答が、謎解き問題に対応付けられている場合には(ステップS1605のYES)、制御部130は、受信した回答のユーザに他のユーザが対応付けられていた場合、即ち、記憶部140において他のユーザがグループ登録されているか否かを判定する(ステップS1606)。回答を送信してきたユーザ端末200のユーザが、他のユーザとグループ登録されていない場合には(ステップS1606のNO)、ステップS1608の処理に移行する。回答を送信してきたユーザ端末200のユーザが、他のユーザとグループ登録されている場合には(ステップS1606のYES)、当該他のユーザからの正答を得ているか否かを判定する(ステップS1607)。即ち、制御部130は、他のユーザの回答が、謎解き情報141において解答として登録されていることを示す情報が記憶部140に登録されているか否かを判定する。他のユーザからの正答を得ている場合には(ステップS1607のYES)、ステップS1608の処理に移行する。他のユーザからの正答を得ていない場合には(ステップS1607のNO)、回答を送信してきたユーザ端末200のユーザが正答していることを示す情報を記憶部140に記憶し、ステップS1601の処理に戻る。
グループ登録している他のユーザが正答していることを示す情報が記憶部140に記憶されている場合には(ステップS1607のYES)、制御部130は、その謎解き問題に対応付けられているオブジェクトと、その動作を謎解き情報141を参照して特定する。そして、制御部130は、特定したオブジェクト300に対して、特定した動作を実行するよう、駆動指示を出力し(ステップS1608)、ステップS1601の処理に移行する。
これにより、情報処理サーバ100は、グループ登録された複数のユーザ全員からの正答を得て、オブジェクト300を駆動させることができる。したがって、情報処理システムは、謎解きエンターテインメントにおいて複数のユーザ間で、グループで謎解きを楽しむ連帯感や共感を与えることができる。
なお、ここでは、2人で謎解きを実行する例を示したが、これは、2人に限定するものではなく、3人以上であってもよい。また、ここでは、ユーザ端末200a、200bを用いた謎解きの例を示したが、これは、変形例1に示したように謎解きオブジェクト400を用いるものであってもよいし、ユーザ端末200と謎解きオブジェクト400との組み合わせであってもよい。
<補足>
なお、情報処理システムに係る各種の構成は、上記実施の形態に限定されるものではなく、他の手法により実現してもよい。以下、その他の例について説明する。
(1)上記実施形態において、ユーザ端末200のユーザは、情報処理サーバ100を利用して謎解きエンターテインメントを実行するにあたって、ユーザ登録をすることとしてよい。そして、各ユーザについて、解いた謎解き問題に関する情報を登録しておくこととしてよい。これにより、各ユーザが、どのような謎解きを実行したかを特定することができ、同じ謎解き問題や解いたことがある謎解き問題と似たような問題を提供しないようにして、ユーザを飽きさせないようにすることができる。
(2)上記実施形態において、ユーザが一つの謎解き問題を解いたときにオブジェクト300を駆動させる例を示したが、オブジェクト300を駆動させるにあたって、一人のユーザによって、複数の謎解き問題を解いたときにオブジェクト300を駆動させるように構成してもよい。
(3)上記実施形態の変形例2において、グループ登録されているユーザ全員が正答を得たときに、オブジェクト300を駆動させる例を示したが、ユーザ全員ではなく、グループ登録されているユーザ全員のうち、所定割合、あるいは、所定人数のユーザから正答を得た場合に、オブジェクト300を駆動させるように構成してもよい。これによって、グループで謎解きエンターテインメントを実行する場合に、謎解きの難易度を調整することができる。
(4)上記実施形態において、一つの謎解き問題に対して、一つのオブジェクト300を対応付けて駆動させる例を示したが、一つの謎解き問題に対して複数のオブジェクト300が対応付けられてもよい。即ち、謎解き問題を解くことで、複数のオブジェクト300が駆動するように構成されてもよい。また、一つのオブジェクト300に対して、複数の動作を設定してよく、一つの謎解き問題を解くことで、一つのオブジェクト300が複数の動作を実行するように構成されてもよい。
(5)上記実施形態の変形例2において、グループ登録した複数のユーザが協調して謎解きエンターテインメントを実行する例を示した。しかし、これは、複数のユーザ同士が互いに謎解きを競うように構成してもよく、謎解き問題の正答割合や、謎解きの早さを競うように、対戦可能なエンターテインメントとして謎解きエンターテインメントを構成することとしてもよい。また、この対戦はグループ対グループ、即ち、複数のユーザ対複数のユーザの対戦であってもよい。
(6)上記実施形態においては、情報処理サーバ100、ユーザ端末200、オブジェクト300、謎解きオブジェクト400の制御部(プロセッサ)がそれぞれのプログラムを実行することで、謎解きエンターテインメントに係る機能を実現することとしているが、これは装置に集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって実現してもよい。また、これらの回路は、1または複数の集積回路により実現されてよく、上記実施形態に示した複数の機能部の機能は1つの集積回路により実現されることとしてもよい。LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSIなどと呼称されることもある。
また、上記プログラムは、プロセッサが読み取り可能な記録媒体に記録されていてよく、記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記管理プログラムは、当該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記プロセッサに供給されてもよい。つまり、例えば、スマートフォン等の情報処理機器を利用して、ネットワーク上から管理プログラムをダウンロードして実行する構成としてもよい。本発明は、上記管理プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
なお、上記プログラムは、例えば、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)、C++、Python、Rなどのオブジェクト指向プログラミング言語などを用いて実装できるが、これに限定するものではない。
(7)上記実施形態、変形例、補足に示す各構成は、適宜、組み合わせることとしてよい。