図1は本実施の形態におけるブロックの外観例を示している。ブロックは四角柱型ブロック102a、立方体型ブロック102b、円柱型ブロック102d、球型ブロック102cなど、様々な形状を有することができる。なおブロックの形状は例示されるものに限らず、そのサイズも様々でよい。例えば支柱、ネジ、バネなどの機械部品や、人の頭、手、足などを模した、より複雑な形状を有していてもよい。以後の説明ではそれらも含めて「ブロック」と呼ぶ。
ただし必ずしも複数の形状が含まれなくてもよい。また、同図では1つの形状につき1個のブロックを示しているが、当然その数は限定されない。各ブロックには所定のサイズおよび形状を有する凸部104、凹部106が設けられ、凹部106に凸部104を差し込むことによりブロック同士を所望の位置で連結可能に構成される。またジョイント用ブロックが回転するなどして接続するブロック間の位置・姿勢関係を変化可能にしてもよい。
図2は本実施の形態のシステムとブロックの内部構造を模式的に示している。ブロックシステム1はブロック102とホスト端末10を含む。上述のとおりブロックの形状や数は限定されないが、ここではそれらをブロック102として代表的に示している。ブロック102は、電力供給機構110、記憶機構112、通信機構114、制御機構116、および表示機構118を備える。
電力供給機構110は、一般的な電池、あるいは別に設けた電源から有線または無線で電力を取得するなど、一般的な技術によりブロック102に電力を供給する。通信機構114は、有線または無線でホスト端末10との接続を確立し各種信号を送受する。記憶機構112は、各ブロック102に係る識別情報を記憶するメモリである。
表示機構118は、発光ダイオード、発光素子、液晶ディスプレイ、有機ELディスプレイ、電子ペーパーなど、複数色の発光機能を有する素子またはその集合体により実現され、ホスト端末10による制御のもと、発光したり画像を表示したりする。制御機構116はマイクロコンピュータ等で実現し、ホスト端末10からの信号に応じてプログラムされた処理を実行する。そして必要に応じて通信機構114、記憶機構112、表示機構118、電力供給機構110を制御する。
本実施の形態では、ブロック102が記憶機構112に記憶した識別情報をホスト端末10が取得する。ホスト端末10は取得した識別情報に基づき、当該ブロック102がなすべき表示内容を決定し、ブロック102に通知する。ブロック102の制御機構116は、通信機構114を介して当該通知を受け取り、それに基づき表示機構118における表示を変化させる。例えば、ブロックの所有者ごとにブロックを異なる色で発光させる。この場合、ホスト端末10は、ブロック102の個体識別情報とその所有者の識別情報を対応付けた情報に基づき、各ブロックの所有者を判別する。
そして各ブロックを、所有者ごとに決定した別の色で発光させる。これにより、例えば複数のユーザが、各自が所有するブロックを持ち寄って1つの物を組み立てたり混合したりして遊んだ後、片付ける際に、自分のブロックを他と判別することができる。このように表示機構118は、ホスト端末10から要求された色で発光ダイオードを発光させる場合のほか、要求された画像を自らが備えるディスプレイに表示させる場合があってよい。以後の説明では、これらの処理をまとめて「表示」と呼ぶ場合もある。また単に「発光」、とした説明でも、「画像表示」に置き換えることができる。
発光色を利用する場合、内部のダイオードの発光が外から見えるように、ブロック102の筐体の少なくとも一部を、透明または半透明の樹脂やガラスなどとする。また表示機構118として、単色または多色ダイオードを複数備え、ブロック102を局所的に光らせたり、箇所によって別の色で発光させたりしてもよい。ディスプレイに画像を表示させる場合、当該画像は、全体が単色塗り潰しの画像、局所的に輝度を有する画像、領域によって異なる色の画像などのいずれでもよい。あるいは何らかの対象物、模様、文字などを表現した一般的な静止画や動画でもよい。
ホスト端末10は、たとえばゲーム装置やパーソナルコンピュータであってよく、必要なアプリケーションプログラムをロードすることで情報処理機能を実現する。ホスト端末10は表示装置12および入力装置14と、有線または無線で接続されている。表示装置12は、液晶ディスプレイ、プラズマディスプレイ、有機ELディスプレイなど一般的なディスプレイでよい。またそれらのディスプレイとスピーカを備えたテレビであってもよい。入力装置14は、ゲームコントローラ、キーボード、マウス、ジョイスティック、表示装置12の画面上に設けたタッチパッドなど、一般的な入力装置のいずれかまたはいずれかの組み合わせてよい。
図3はホスト端末10の内部回路構成を示している。ホスト端末10は、CPU(Central Processing Unit)22、GPU(Graphics Porcessing Unit)24、メインメモリ26を含む。CPU22は、オペレーティングシステムやアプリケーションなどのプログラムに基づいて、ホスト端末10内部の構成要素における処理や信号伝送を制御する。GPU24は画像処理を行う。メインメモリ26はRAM(Random Access Memory)により構成され、処理に必要なプログラムやデータを記憶する。
これらの各部は、バス30を介して相互に接続されている。バス30にはさらに入出力インターフェース28が接続されている。入出力インターフェース28には、USBやIEEE1394などの周辺機器インタフェースや、有線又は無線LANのネットワークインタフェースからなる通信部32、ハードディスクドライブや不揮発性メモリなどの記憶部34、表示装置12やスピーカなどの出力装置へデータを出力する出力部36、入力装置14からデータを入力する入力部38、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部40が接続される。
CPU22は、記憶部34に記憶されているオペレーティングシステムを実行することによりホスト端末10の全体を制御する。CPU22はまた、リムーバブル記録媒体から読み出されてメインメモリ26にロードされた、あるいは通信部32を介してダウンロードされた各種プログラムを実行する。GPU24は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、CPU22からの描画命令に従って描画処理を行い、表示画像を図示しないフレームバッファに格納する。そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部36などに出力する。
図4はブロック102とホスト端末10の機能ブロックの構成を示している。図4に示す各機能ブロックは、ハードウェア的には、図2および3に示した各種機構、CPU、GPU、RAM、各種プロセッサなどの構成で実現でき、ソフトウェア的には記憶部34や、記録媒体駆動部40を介して記録媒体からメインメモリ26にロードされたプログラム、マイクロコンピュータに格納されたプログラムなどで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
ブロック102は、ブロックに係る識別情報を記憶する識別情報記憶部120、必要に応じて当該識別情報をホスト端末10に送信する識別情報送信部122、ホスト端末10から送信された、ブロックに係る識別情報を受信する識別情報受信部124、受信した識別情報に基づき識別情報記憶部120に格納された情報を更新する識別情報更新部126、ホスト端末10から送信された、表示内容に係る情報を受信する表示情報受信部128、および受信した内容で表示を行う表示部130を含む。
ホスト端末10は、ブロック102からブロックに係る識別情報を受信する識別情報受信部50、ユーザが入力装置14を介して入力した情報を取得する入力情報取得部54、入力に必要な情報やブロックに係る情報を表示装置12に表示させるための処理を行う表示処理部56、ホスト端末10の各機能ブロックを制御する情報処理部58、ブロックに係る識別情報をブロック102に送信する識別情報送信部62、ブロック102が表示すべき内容を表すデータを記憶する表示内容記憶部60、実際に表示すべき内容に係る情報をブロック102に送信する表示情報送信部64を含む。
ブロック102の識別情報記憶部120は、図2の記憶機構112で実現し、ブロック102の個体を識別する情報を記憶する。この識別情報は、全てのブロックに固有の識別情報と、同じ形状を有するブロックで共通とする識別情報を含んでいてよい。これらの、ブロック本来の識別情報は、製造過程などで付与され、記憶機構112を構成するROM(Read Only Memory)などの不揮発性メモリに格納する。
識別情報記憶部120はさらに、当該ブロック102の所有者の識別情報を記憶してもよい。所有者の識別情報は基本的に、ホスト端末10がユーザごとに割り当て、ブロック102に送信する。それを識別情報受信部124が受信することにより、識別情報更新部126が識別情報記憶部120に格納する。識別情報記憶部120はその他、所有者が属するグループや互いに接続されたブロックのグループなどの識別情報を記憶してもよい。これらの識別情報もホスト端末10が必要に応じて付与し、ブロック102へ送信する。このようにホスト端末10が付与した識別情報は、記憶機構112を構成するRAM(Random Access Memory)などの揮発性メモリに格納する。
なお所有者の識別情報、所有者が属するグループや互いに接続されたブロックのグループなどの識別情報は不揮発性メモリに格納してもよい。このようにすると、異なるホスト端末に登録されたユーザのブロックを混ぜても、ネットワーク等を用いて情報を共有化したり、使用の都度、ホスト端末にユーザ登録し直したりすることなく、その所有者を発光色などで判別することができる。
ホスト端末10との送受に用いる「ブロックに係る識別情報」は、ブロック本来の識別情報とホスト端末10が付与した識別情報の少なくともいずれかでよい。識別情報送信部122は図2の通信機構114で実現し、片付け時など必要なタイミングで識別情報記憶部120からブロックに係る識別情報を読み出して、ホスト端末10に送信する。例えばRFタグに用いる近距離無線通信技術によって通信を実現した場合、ブロック102を、ホスト端末10に接続したリーダ/ライタ上にかざすことにより、ユーザ自身が「必要なタイミング」を発生させる。
この場合、ホスト端末10の識別情報受信部50の機能は当該リーダ/ライタによって実現され、ブロックに係る識別情報がホスト端末10に認識される。なおホスト端末10が識別番号を付与する場合も、当該リーダ/ライタを利用できる。すなわちホスト端末10の識別情報送信部62の機能をリーダ/ライタによって実現し、ブロック102をかざすことにより、ホスト端末10が付与した識別情報がブロック102に認識される。
ブロック102の表示情報受信部128は図2の通信機構114で実現し、発光色や表示すべき画像などの情報をホスト端末10から取得する。表示部130は図2の制御機構116および表示機構118により実現し、表示情報受信部128が取得した情報に基づき、発光ダイオードを発光させたりディスプレイに画像を表示したりする。ディスプレイに画像を表示する場合、当該画像データはホスト端末10からその都度、取得してもよいし、表示部130内部でデータを保持してもよい。この場合、ホスト端末10からは、表示すべき画像の識別情報も取得する。また発光ダイオードを局所的に発光させる場合は、発光色に加え、発光させる部位を示す情報や、部位と発光色とを対応づけた情報なども取得する。
ホスト端末10の識別情報受信部50および識別情報送信部62は図3の通信部32により実現する。そして上述のとおり、識別情報受信部50はブロック102が保持するブロックに係る識別情報を受信し、識別情報送信部62はホスト端末10が付与した識別情報をブロック102に送信する。情報処理部58は図3のCPU22、GPU24、メインメモリ26などにより実現し、ブロックの発光色やブロックで表示すべき画像を決定する。割り当てる色や画像のデータは表示内容記憶部60に格納しておき必要に応じて参照する。
また情報処理部58は、ブロック本来の識別情報から所有者の識別情報などホスト端末10が付与した情報を特定する必要がある場合は、登録情報記憶部52に記憶された、それらを対応づけたテーブルを参照する。表示内容記憶部60および登録情報記憶部52は、メインメモリ26や記憶部34などで実現する。なお表示内容記憶部60および登録情報記憶部52に格納するとした情報の少なくとも一部は、ネットワークを介して接続したサーバに格納しておき、必要に応じて当該サーバから取得するようにしてもよい。
さらに情報処理部58は後述するように、組み立て途中の立体物の状態を取得し、その段階に応じた組み立て手順に係る情報を、表示装置12における表示やブロックの発光によって明示するための処理を行ってもよい。また入力装置14を介してユーザがブロックの発光色など表示内容の設定を行ったとき、当該情報を表示内容記憶部60に格納してもよい。さらに入力装置14を介してユーザが要求したゲームなど各種情報処理を実行し、その結果を表示装置12やブロック102の表示に反映させるための処理を行ってもよい。
表示情報送信部64は図3の通信部32により実現し、情報処理部58が決定した内容での発光や画像表示を要求する信号をブロック102に送信する。このとき表示情報送信部64は、ブロック102に係る識別情報と、決定した表示内容の情報とを対応づけて全てのブロック102に送信してよい。当該情報を受信したブロック102は、識別情報記憶部120に記憶した自分の識別情報を参照し、要求対象のブロックに該当している場合に表示部130における表示を要求どおりに変化させる。ただし個々のブロックとケーブルで接続するなどして個別に信号の送受信ができる場合は、表示情報送信部64は要求対象のブロックのみに要求信号を送信してもよい。
なお、所有者などどのような識別情報に基づき表示内容を決定するか、またどのような規則で表示内容を決定するか、については、ブロックの表示を変化させる目的よって様々に考えられる。入力情報取得部54は図3の入力部38および入出力インターフェース28などにより実現し、入力装置14を介してユーザが行った操作の内容を情報処理部58へ供給する。この操作には、処理の開始および終了要求、ブロックの所有者などの登録、ブロックの発光色などの表示設定、ゲームなど情報処理部58が行う情報処理に対するコマンド入力などが含まれる。
表示処理部56は、情報処理部58からの要求に従い、所有者などの登録、ブロックの表示設定などに必要な画像を表示装置12に表示させる。例えばブロック102の所有者を登録する際は、あらかじめホスト端末に登録されている複数のユーザのアイコンを表示装置12に表示させる。所有者たるユーザは、ブロック102をリーダ/ライタにかざした状態で、画面上の自分のアイコンを選択する入力を入力装置14を介して行う。これに応じて情報処理部58が、ブロック102から読み取ったブロックの識別情報と、当該ユーザの識別情報とを対応づけ登録情報記憶部52に格納することにより所有者の登録がなされる。
表示処理部56はさらに、ブロックの組み立て順などに係る情報を表示装置12に表示させてもよい。詳細は後述するが、ブロック102の表示部130における表示と表示装置12の表示を対応させることで、ブロックの実物と表示されているブロックの画像とを対応づけ、様々な情報を提供することができる。表示処理部56はまた、情報処理部58が実行しているゲームなどの画面を表示してもよい。いずれにしろ表示に必要な画像データは、表示内容記憶部60に格納しておく。
図5はブロック102の識別情報記憶部120における記憶領域の構造例を示す。識別情報記憶部120は、不揮発性メモリからなる読み出し専用の記憶領域140a、揮発性メモリまたは不揮発性メモリからなる書き込みおよび読み出しが可能な記憶領域140bを含む。読み出し専用の記憶領域140aには、ブロック固有の識別情報である「個体ID」格納領域142aと、形状ごとの識別情報である「パーツID」格納領域142bを設ける。ブロックの所有者が異なっても形状が同じブロックには同じ「パーツID」を与えることにより、ブロックを組み立てて作成した立体物の構成情報を、他のユーザやブロックのメーカーなどと共有することができる。
書き込みおよび読み出しが可能な記憶領域140bには、前述の所有者の識別情報である「所有者ID」格納領域142c、所有者が属するグループの識別情報である「グループID」格納領域142dを設ける。「グループID」は例えば、所有者が属するクラブや、学校のクラスなどを識別する情報であり、所有者と同様に片付け時などに利用できる。
記憶領域140bにはさらに、「キープフラグ」格納領域142e、「セットID」格納領域142f、「セット内個別ID」格納領域142g、「セット内グループID」格納領域142hも設ける。「キープフラグ」は、複数のユーザが一つの場でそれぞれブロックを組み立てる際、これから自分が組み立てに用いたいブロックを確保しておくためのフラグを表す。例えばユーザは、対象ブロックをリーダ/ライタにかざした状態で、ホスト端末10においてフラグを立てる入力を行う。
するとホスト端末10は、「キープフラグ」格納領域142eに格納されたフラグの値を「0」から「1」に更新する要求を、識別情報送信部62からブロック102に送信する。ブロック102の識別情報受信部124が当該要求を受信すると、識別情報更新部126によって「キープフラグ」格納領域142eの値が更新される。表示部130は「キープフラグ」格納領域142eにおける値が「1」となったことを検出し、当該フラグに対し事前に割り当てた色でダイオードを発光させるなどする。ホスト端末10から別途、フラグが立っているブロックを発光させる要求を送信してもよい。
このようにすることで確保しておきたいブロックは所定の色で発光するため、使用するブロックを複数のユーザで共有しても、目当てのブロックがいつの間にか他人に使用されてしまうのを防止できる。所有者IDとの組み合わせで色を決定することにより、所有者ごとに確保しているブロックを色分けしてもよい。ブロックが他のブロックと接続されるなどして他人に使われる可能性がなくなったら、ユーザがホスト端末10を再度操作してキープフラグを「1」から「0」に更新することにより、ブロック102の発光を停止する。あるいはブロック自体が接続を検知するようにして、自ら発光を停止させてもよい。
「セットID」は、ブロックを組み立てて完成した立体物に固有の識別情報であり、当該立体物を構成する複数のブロックに同じ識別情報を与える。「セット内個別ID」は、当該立体物内で各ブロックを識別するための情報である。「セット内グループID」は、当該立体物を構成するブロックを立体物の部位ごとなど所定の単位でまとめてなるグループ単位の識別情報である。「セットID」、「セット内個別ID」、「セット内グループID」は例えば、ブロックを自由に組み立てて立体物を作成したときに、当該立体物とその構成を管理するのに利用できる。
なお図5で示した識別情報記憶部120の格納領域の構造は一例に過ぎず、必要に応じて一部の領域にのみデータを格納してもよいし、別の情報の格納領域を設けてもよい。あるいは識別情報記憶部120は、読み出し専用の記憶領域140aのみを有していてもよい。例えばブロックには「個体ID」格納領域142aのみを設け、その他の全ての情報はホスト端末10の登録情報記憶部52に「個体ID」と対応づけて格納してもよい。そしてホスト端末10側で各ブロックの属性に基づきブロックの「個体ID」に対して表示内容の情報を決定し、その要求信号を各ブロックに送信してもよい。このようにすることでブロック自体の製造コストを下げることができる。一方、ブロック自体に必要な情報を書き込んでおく態様によれば、ホスト端末によらず適切な表示制御が可能となる。
図6は片付け時のブロックの表示変化を例示している。同図上段はブロックが組み立てられてなる立体物150aであり、8個のブロックで構成されている。これらのブロックは複数の所有者が持ち寄ったものであるが、立体物150aのように各ブロックの外見が同じ場合などは、各所有者は、ばらした後にどのブロックを持ち帰ればよいのかわからない。本実施の形態では組み立て開始時などに、各ブロックに所有者IDを記憶させておくことにより、片付け時には当該所有者IDごとに別の色でブロックを発光させる。これにより各所有者が自分のブロックを特定できるようにする。
図6下段は、片付けに際し発光している立体物150bを示しており、塗りつぶしパターンの異なるブロックは、発光色が異なることを示している。このような発光によって、ある所有者のブロックはブロック152a、152b、および152c、別の所有者のブロックはブロック154a、154b、154c、さらに別の所有者のブロックはブロック156a、156bであることが容易にわかる。各所有者と発光色の対応は、所有者自らが所有者IDをブロックに登録する際に一緒に登録してもよいし、ホスト端末10が割り振ってもよい。後者の場合、発光色と各所有者のアイコンを対応づけて表示装置12に表示させるなどして対応がわかるようにする。
図5で示したように、ブロック自体が所有者IDを記憶している場合、ホスト端末10は、各所有者IDと、それぞれに割り当てる発光色とを対応づけた情報を含む発光要求を、表示情報送信部64から全ブロックに送信する。各ブロック102の表示部130は、自らのブロックの所有者IDを識別情報記憶部120から取得し、それに対応づけられた色で発光ダイオードを発光させる。一方、ブロック102が所有者IDを記憶していない場合は、ホスト端末10はブロック102から取得した個体IDからそれぞれの所有者IDを取得する。
そのためホスト端末10の登録情報記憶部52には、ブロックの個体IDと所有者IDとを対応づけたテーブルを格納しておく。図7はこの場合にホスト端末10の登録情報記憶部52に格納されるテーブルのデータ構造例を示している。所有者IDテーブル160は、個体ID欄162aおよび所有者ID欄162bを含む。個体ID欄162aには、ブロック固有の識別情報である個体ID、またはその範囲を記述する。この個体IDはブロック102の識別情報記憶部120内に格納される個体IDと対応する。
所有者ID欄162bには、個体ID欄162aに記載された個体IDを有するブロックの所有者の識別情報である所有者IDを記述する。同図の例では、個体ID「0001」〜「0050」の50個のブロックが、所有者ID「AAA」である所有者に所有されている。個体ID「0051」〜「0100」の50個のブロックが、所有者ID「BBB」である所有者に所有されている。個体ID「0101」〜「0150」の50個のブロックが、所有者ID「CCC」である所有者に所有されている。
このように所有者IDをホスト端末10側で管理する場合、ホスト端末10は、片付け対象となっているブロックの個体IDを取得し、それに基づき所有者IDテーブル160を参照することにより、各ブロックの所有者IDを取得する。そして所有者ごとに発光色を割り当て、ブロックの個体IDと対応づけて全ブロックに発光要求を送信する。各ブロック102の表示部130は、自らのブロックの個体IDを識別情報記憶部120から取得し、それに対応づけられた色で発光ダイオードを発光させる。なおブロックがディスプレイを備えている場合は、単色の発光に代え、各所有者のイニシャルやシンボルマークなどを表示させてもよい。
次に上記構成によってブロック102およびホスト端末10が実現する動作の例を説明する。図8は、本実施の形態において片付け時などに所有者によって異なる色でブロックを発光させる処理手順を示している。なお事前に、ブロック102に対する所有者IDの書き込み、あるいはホスト端末10におけるブロックの個体IDと所有者IDとの対応づけがなされているものとする。またブロック102は1つに限定する趣旨ではなく、片付け対象の複数のブロックの少なくともいずれかである。
まずブロック102では、片付けを開始する状況が発生したか否かを監視する(S10)。このような状況は、例えばユーザが片付け対象のブロックをリーダ/ライタにかざしたり、ブロックに備えられた、片付け開始要求を入力するボタン等を押下したりすることにより発生する。そのような状況が発生しないうちは監視を続行する(S10のN)。当該状況が発生したら(S10のY)、ブロック102からホスト端末10へ、片付けが開始される旨を通知する(S12)。この通知は実際には、ブロック102の識別情報送信部122が、片付け対象のブロックに係る識別情報を送信する処理でよく、S10でブロックをリーダー/ライタにかざした場合はS12の処理も同時に行われる。
当然、S12で別途、ブロック102とホスト端末10間で通信を確立し、無線または有線で信号を送信してもよい。するとホスト端末10の情報処理部58は、送信された情報に基づき各ブロックの所有者IDを取得する(S14)。上述のとおりブロック102から直接、所有者IDが送信されてもよいし、ブロック102から送信された個体IDに基づきホスト端末10が所有者IDを割り出してもよい。そして所有者ごとに別の発光色を割り当て(S16)、表示情報送信部64を介して割り当て結果をブロック102へ送信する(S18)。
なお事前に所有者が自分のブロックの発光色を設定する場合は、設定された色を所有者IDと対応づけて表示内容記憶部60に記憶させておき、S16においてそれを読み出す。またS18で送信する情報は上述のように、ブロック102が記憶する情報によって異なる。すなわちブロック102が所有者IDを記憶している場合は、当該所有者IDと発光色とを対応づけた情報を送信し、ブロック102が所有者IDを記憶していない場合は、個体IDと発光色とを対応づけた情報を送信する。
いずれにしろブロック102の表示部130は、識別情報記憶部120から所有者IDまたは個体IDを取得し、ホスト端末10から送信された情報のうち、自ブロックに割り当てられた色を特定し、当該色で発光を開始する(S20)。このような処理手順により、図6で示したような表示変化が得られる。
なお発光色自体を、所有者IDなどと同様に各ブロックに記憶させてもよい。つまり所有者IDと同様、ユーザが事前にホスト端末10に対して設定した発光色の情報を、ブロック102に送信して識別情報記憶部120に格納しておく。片付け開始要求を入力するボタン等をブロックに設けておけば、片付け時には当該ボタンを押下するだけで、ホスト端末10と通信せずに図6のような表示変化を実現できる。あるいは、片付けを開始する際、ホスト端末10においてユーザがその旨を入力するようにしてもよい。この場合、ホスト端末10からブロック102へ、片付けに伴う発光要求を行えば、あとはブロック102内部の処理で発光を実現できる。
図6のように所有者ごとに異なる色でブロックを発光させる態様では、立体物がどのように組み立てられているか、すなわち各ブロックの接続関係は発光処理には関係しない。つまりブロックが組み立てられた状態でも何ら接続されていない状態でも同様の処理となる。一方、ブロック同士の接続関係をホスト端末10が把握しているようにすると、上述のようにブロックの組み立て順をユーザに示したり、装飾目的などで、組み上がった立体物における部位ごとに色を変化させたりすることができる。
ホスト端末10がブロック同士の接続関係を把握するため、本実施の形態では、図1で示したブロックにおいて、凸部104および凹部106に、ブロック間の信号伝送を可能とする端子の役割を与える。そのため先端にはそれぞれ、ブロック内部に設けるバスなどの規格に応じた構造のコネクタを設ける。一般的に普及している各種コネクタを採用したり、専用の特殊コネクタを設けたりすることにより、信号伝送とブロック同士の物理的な連結を同時に達成することができる。各端子には各ブロック内で固有の識別番号が与えられ、他のブロックが接続された位置、すなわち接続箇所を当該識別番号で識別する。
この場合、ブロック102が備える通信機構114は、接続端子を介して他のブロックと信号を送受する有線通信機構と、ホスト端末10との無線通信を行う機構とを含んでよい。ただし一部のブロックの通信機構114は、他のブロックと信号を送受する有線通信機構のみで構成してもよい。このようなブロックは、ホスト端末10との通信が可能なブロックと組み合わせて使用する。情報の錯綜を防ぐため、1つの立体物を構成するブロックのうちホスト端末10との通信を確立するブロックは、基本的には1つのみとする。つまり当該ブロックにハブの役割を与える。そして、当該ブロックから接続関係の遠いブロックから情報を伝達し、ハブの役割を有するブロックに立体物全体の情報を集約させる。
以下、ブロックの連結においてハブの役割を有するブロックに相対的に近いブロックを「上位」、遠いブロックを「下位」とする。ハブの役割を与えるブロックはあらかじめ1つに定めておいてもよいし、ホスト端末10との通信機構を有するブロックにスイッチなどを設け、ユーザがオンにしたブロックにハブの役割を与えてもよい。または組み立て段階においてホスト端末10と最初に通信を確立したブロックにハブの役割を与えてもよい。
各ブロックは、直接接続された下位のブロックから送信された情報を受信する。ここで受信する情報は、当該ブロックより下位に接続されているブロックの個体ID、および接続箇所の識別番号を含む。複数のブロックが連結されている場合は、最下位のブロックからブロックを通過するごとに情報が重畳される。ハブの機能を有するブロックは、下位のブロックから順次追加された各ブロックの情報に自分の情報を加え、ホスト端末10に送信する。ホスト端末10は、ハブの役割を有するブロックから送信された、集約された情報を、立体物ごとに取得する。
図9は、複数のブロックにより構成される立体物における情報伝達経路と伝達される情報の例を模式的に示している。情報伝達経路170において内部に数字の書かれた円はそれぞれがブロックを表しており、円間の直線はブロックが連結されている状態を表している。また円内の数字は各ブロックの個体IDとする。同図において個体ID「1」のブロックはハブの役割を有し、ホスト端末10と通信を確立する。
同図の例では個体ID「1」のブロックに、個体ID「2」のブロックと「5」のブロックが接続されている。個体ID「2」のブロックには、個体ID「3」のブロック、「4」のブロックがこの順で直列に接続されている。個体ID「5」のブロックには、個体ID「6」のブロックと「7」のブロックが並列に接続されている。
上述のとおり情報伝達は基本的に、下位のブロックから上位のブロックへ伝達される。図9では、伝達される情報の内容を、伝達方向を示す矢印とともに表している。例えば個体ID「3」のブロックから「2」のブロックへ伝達される情報は、[3:J2(4)]と示されている。これは「自らの個体ID:ブロックに設けられた接続箇所の識別番号(そこに接続しているブロックの個体ID)」なるフォーマットで構成される信号であり、個体ID「3」の接続箇所のうち識別番号「J2」の箇所に個体ID「4」のブロックが接続されていることを表している。ただし同図をもって情報のフォーマットや内容を限定するものではない。
ブロックの上位にあたる方向がどちらにあるかは、ハブの役割を有するブロックが、ブロックの連結によって構成されるネットワークを探索することにより、順位づけを行うなどして決定できる。このような手順は、一般的な情報処理システムを構成するデバイスツリーにおけるネットワーキング技術を適用できる。
図9において個体ID「4」のブロックは、それが属する接続系列において最下位にあるため、1つ上位の個体ID「3」のブロックへ情報を送信する。個体ID「4」のブロックには、それより下位に他のブロックが接続されていないため、送信される情報は自らの個体ID「4」のみとなり、同図では伝達内容を「[4:−]」と表している。「−」はそれより下位に接続されているブロックがないことを示している。
個体ID「3」のブロックは、個体ID「4」からの信号を受信すると、それを受信した端子の番号などを接続箇所の識別番号として対応づけ、さらに自らの個体ID「3」も対応づけて、1つ上位の個体ID「2」のブロックに送信する。この信号の伝達内容は上述のとおり[3:J2(4)]となる。個体ID「2」のブロックも同様に、自らの個体ID、接続箇所の識別番号(図の例では「J5」)、接続しているブロックの個体ID「3」を対応づけた信号、すなわち[2:J5(3)]を生成する。
個体ID「2」のブロックは、このようにして生成したデータと、下位のブロックから伝達されたデータ、すなわち[3:J2(4)]を、1つ上位の個体ID「1」のブロックに送信する。ただしこれらの信号は常に同時に送信する必要はなく、一旦送信した信号の内容に変更があったときにその情報のみを送信するなどでもよい。一方、個体ID「5」のブロックに接続された、個体ID「6」と「7」のブロックからは、個体ID「4」のブロックと同様、[6:−]、[7:−]の信号がそれぞれ個体ID「5」のブロックに送信される。
個体ID「5」のブロックは、自らの個体IDに、接続箇所の識別番号および接続されているブロックの個体IDを対応付けた信号を生成し、1つ上位の個体ID号「1」のブロックに送信する。図示するように複数のブロックが接続されている場合、それらをまとめて[5:J3(6),J8(7)]などとする。ここで「J3」、「J8」はかっこ内の個体IDのブロックが接続されている接続箇所の識別番号である。
このようにして個体ID「1」のブロックに、立体物全体の情報が集約される。個体ID「1」のブロックも他のブロックと同様、自らの個体IDに接続箇所の識別番号、それに接続されているブロックの個体IDを対応づけた信号を生成する。そして下位のブロックから送信された信号とともにホスト端末10へ送信する。ホスト端末10は、各ブロックのサイズ、形状、接続箇所の識別番号を、ブロックの個体IDと対応づけた情報を、登録情報記憶部52に保持する。
これにより、立体物のうちハブの役割を有するブロックから送信された情報に基づき、ブロックの接続関係や立体物の形状をリアルタイムで特定できる。なおこのような態様を実現する場合、ブロック102にはさらに、他のブロックと接続に係る情報を送受するブロック間通信部と、集約した情報をホスト端末10に送信する集約情報送信部の機能ブロックを設ける。それらの機能ブロックは、図4の識別情報送信部122、あるいは識別情報受信部124と兼ねてもよい。
図10は、ブロックの接続関係を特定するためにホスト端末10の登録情報記憶部52に格納するデータの構造例を示している。ブロック情報テーブル180は、個体ID欄182、形状欄184、サイズ欄186、接続箇所欄188を含む。個体ID欄182には、ブロックの個体IDを記載する。同じ形状のブロックが複数ある場合、個体ID欄182には複数の固体IDを記載してよい。形状欄184には、各ブロックの形状の種類、すなわち「四角柱」、「立方体」など、図1で例示したようなブロックの型を記載する。サイズ欄186には各ブロックの横幅、奥行き、縦の長さを記載する。
接続箇所欄188には、各ブロックに設けられた接続箇所を、その識別番号と対応づけて記載する。図10の例では、「接続箇所の識別番号(面の番号,当該面内でのx座標,y座標)」なるフォーマットで記載されている。面の番号は、ブロックの各面に対しあらかじめ一意に決定しておく。例えば個別ID「0001」のブロックは、横幅4cm、奥行き4cm、縦の長さ8cmの四角柱型ブロックである。そして識別番号が「J1」の接続箇所は、第1面の座標(2,2)の位置にある。識別番号が「J2」の接続箇所は、第2面の座標(1,2)の位置にある。ただし本実施の形態を、ここで示したフォーマットに限定する主旨ではない。
ホスト端末10は、図9で示した情報を立体物を構成するブロックのいずれかから取得し、ブロック情報テーブル180を参照することにより、組み立て中や組み立て後の立体物の状態、および各部位を構成するブロックの個体IDを特定できる。例えば各ブロックの3次元モデルを準備しておき、送信された接続関係に基づき、表示装置12に表示させた仮想空間において各3次元モデルを接続していけば、実際の立体物と同じ形状の3次元グラフィックスを画面内で表現できる。
このような機構を利用し、あらかじめ最終形状が設定されている立体物の組み立て工程における実際の進捗に合わせ、ユーザに組み立て手順を示すことができる。図11は組み立て手順に係る情報をユーザに提供する態様を説明するための図である。同図において立体物192は、最終的な形状が設定されている立体物の組み立て中の状態を示している。実世界では、これ以後に立体物192に接続すべきブロックを含め複数のブロック194a、194b、194cが存在している。
ホスト端末10では、立体物192が組み立て工程のどの段階にあるのかを上記接続関係を取得する機構によって特定できる。ホスト端末10には、各段階においてその次に接続すべきブロックと接続箇所について説明した画像を準備しておき、実際の到達段階に対応する画像を表示装置12に表示する。図11の画面196はそのような説明画像を表示した状態であり、実際の立体物192に対応する立体198、その次に接続すべきブロック200、および接続位置を示す矢印で構成されている。このような画像は、一般的な組み立てマニュアルのページと同様の構成でよく、さらに文で説明したり、動画にしたりしてもよい。
このようにすることで、実際の状況に応じた情報のみを提示できるため、多数の組み立て工程を要する立体物などでは特に、マニュアルにおける多くのページから該当箇所を探し出すユーザの手間が省ける。一方で、次に接続すべきブロックと類似するブロックがブロック194a、194b、194cのように複数、残っている場合、表示されているブロック200がどれに該当するのか判別できない可能性がある。そこで次に接続すべきブロックを所定の色で発光させて他と区別できるようにする。
図11は、ブロック194bが次に接続すべきブロックとして発光している状態を示している。このようにすることで、ユーザは、画面196内に表示された内容と、実際の立体物やブロックとを対応づけることができ、正確な組み立て手順を容易に踏襲することができる。図12は組み立て手順を表示するとともに次に接続するブロックを明示する態様においてホスト端末10が保持する情報のデータ構造例を示している。
組み立て順序情報210は、例えば車、船、家、ロボットなど、最終的な立体物の形状ごとに個別のテーブル212a、212b、212c、・・・を有する構成とし、ホスト端末10の表示内容記憶部60に格納される。各テーブル212a、212b、212c、・・・はそれぞれ、組み立て工程欄214a、画像欄214b、個体ID欄214cを含む。組み立て工程欄214aに記載する情報は、組み立て工程の順番を1から昇順に数字で示したものである。この例では組み立て工程は、1つの説明画像で表現される内容を1単位としている。
すなわち1工程につき一つのブロックを接続する場合も、複数のブロックを接続する場合もあり得る。例えば同じ形状の複数のブロックを同時に複数箇所に接続する場合などは、説明画像は1つにまとめられるため1工程としてよい。異なる形状のブロックを接続する場合であっても、説明画像が1つですむ場合はそれで1工程としてよい。1工程で接続する複数のブロックの形状が異なる場合は、説明画像において、当該複数のブロックを色分けするとともに、実際のブロックもそれぞれ対応する色で発光させるなどして区別できるようにする。
画像欄214bには、表示装置12に表示すべき説明画像のデータの識別情報、すなわち画像データ名、あるいは画像データの格納アドレスなどを記載する。個体ID欄214cには、次に接続すべきブロックの個体IDを記載する。複数のブロックを接続する工程では当該複数のブロックの個体IDを記載する。この場合、表示する説明画像における色と同じ色でブロックを発光させるために、さらに色情報をブロックごとに記載してもよい。
次に上記構成によってブロック102およびホスト端末10が実現する動作の例を説明する。図13は、本実施の形態においてブロックの組み立て手順に係る情報を提示する処理手順を示している。ここでブロック102は、その場にある全ブロック、すなわち組み立て中の立体物を構成するブロックや、未接続のブロックの少なくともいずれかである。まずユーザは、ホスト端末10に対し、最終形状を設定する入力を行う(S30)。例えば組み立て順序情報210が準備されている、車、船、家、ロボットなどのリストを表示装置12に表示し、ユーザが入力装置14を介して行った選択操作を入力情報取得部54が取得し、情報処理部58へ通知する。なおあらかじめ最終形状が1つに設定されている場合はS30の処理は省略できる。
ホスト端末10の表示処理部56は情報処理部58の制御のもと、説明画像の初期画像を表示装置12に表示させる(S32)。このとき情報処理部58は、表示内容記憶部60から、設定された最終形状に対応する組み立て順序情報210のテーブルを参照し、そのうち最初の工程(組み立て工程「1」)に対応づけられた画像データを読み出して、表示処理部56に表示処理を実行させる。次に情報処理部58は、接続すべきブロックの個体IDを、順序情報210のテーブルの個体ID欄214cから読み出し、発光色と適宜対応づけて、その場にある通信可能な状態のブロック102に送信する(S34)。
ブロック102の表示部130は、識別情報記憶部120から自らの個体IDを取得し、ホスト端末10から送信された個体IDに該当する場合に、要求された色で発光する(S36)。これによりユーザは、表示装置12に表示されている説明画像中の接続すべきブロックが、実際のどのブロックであるかを容易に判断できる。そしてユーザがそれらを接続すると(S38)、接続されたブロックの状態が、図9に示したような形式で集約され、ホスト端末10へ送信される(S40)。
S36で発光したブロックは、S38において接続された時点で発光を停止する(S42)。一方、ホスト端末10では、当該ブロックの状態が最終形状に達していなければ、未完成と判断して(S44のN)、提示する工程を1つ進める。すなわち、組み立て順序情報210のテーブルの2番目の工程(組み立て工程「2」)に対応づけられた画像データを読み出し、表示装置12における表示を更新する(S46)。そして当該工程で接続すべきブロックの個体IDを、発光色と対応づけて全ブロック102に送信する(S34)。
ホスト端末10から送信された個体IDに該当するブロック102は、要求された色で発光し(S36)、ユーザは説明画像に従い発光しているブロックを接続する(S38)。組み立てられている立体物におけるブロックの接続関係に係る情報は、当該立体物からホスト端末10に送信される(S40)。そして当該工程で接続されたブロックは発光を停止する(S42)。以後、S34からS46の処理を、立体物が最終形状に達するまで繰り返す(S48のN、S44のN)。そして最終形状に達したら処理を終了する(S48のY、S44のY)。
図11は未完成の立体物192と、それに接続すべきブロック194bのうち、後者を発光させることにより、説明画像における接続対象のブロックが実際のどのブロックであるかが容易にわかるようにした。一方、接続すべきブロック194bとともに、立体物192の接続箇所も発光させるようにしてもよい。この場合も基本的な処理は上述したのと同様でよく、ホスト端末10は、立体物192の接続箇所を含むブロックの固体ID、接続箇所の識別情報をさらにブロック102に送信すればよい。当該固体IDに該当するブロックは、指定された識別情報を有する接続箇所、すなわち凸部または凹部周辺を発光させる。このようにするとユーザは、接続対象のブロック、未完成の立体物における接続箇所の双方を容易に認識できるため、場合によっては説明画像の表示をしなくてもよくなる。
さらに、ユーザが誤った組み立てを行った場合に、それをユーザに通知するようにしてもよい。この場合、S40において立体物から接続関係に係る情報が送信された際、ホスト端末10は、S38で接続されたブロックや接続箇所を、本来接続すべきブロックや接続箇所と比較することにより正誤を判定する。そして少なくともいずれかに誤りがあった場合、接続されたブロックや本欄の接続箇所を赤色などで点滅させる。あるいは表示装置12にその旨の警告を表示させたり警告音を発生させてもよい。
上記はブロックを組み立てる工程における発光であったが、完成した後に装飾目的などで発光させることも考えられる。例えば立体物が完成した時点で、ユーザがホスト端末10を用いて各ブロックの発光色や表示画像を設定し、その情報を立体物を構成する各ブロックに送信する。これにより立体物を、ユーザの好みや、立体物が模している実物の色に合わせて色づけしたり、一部のブロックに好きな画像を表示させたりすることが可能になる。図14は完成した立体物の表示内容をユーザが設定する態様を説明するための図である。同図において立体物220は、複数のブロックをユーザが組み立てたものである。
立体物220における各ブロックの接続関係、ひいては立体物220の形状は、図9で示したような情報伝達経路でホスト端末10に送信される。なお立体物220が完成した時点でユーザがホスト端末10に対しその旨を入力することにより、ホスト端末10は当該立体物220に対しセットIDを、立体物220を構成する各ブロックに対しセット内個別IDを付与してもよい。これらのIDの情報は、立体物を構成する各ブロックへ送信され、図5に示した識別情報記憶部120の対応する領域に格納される。この場合、以後の処理におけるブロックの識別は個体IDに代え、セットIDとセット内個別IDを用いてもよい。
ホスト端末10は、立体物220から送信された接続関係の情報に基づき、上述のような3次元グラフィックス技術を用いて画像を描画することにより、表示装置12に表示内容設定画面222を表示する。表示内容設定画面222は、立体物220の画像224と、各ブロックの表示内容を選択するための表示内容選択領域226を含む。同図における表示内容選択領域226は、ブロックの発光色を設定するために、選択できる色のリストを示している。表示内容設定画面222にはさらに、ユーザが入力装置14を介して画面上を移動させ選択対象を指示するためのカーソル228も表示する。
例えばユーザは、色を設定したいブロックにカーソル228を移動させ、入力装置14で決定操作を行うことにより当該ブロックを選択する。続いて表示内容選択領域226の色リストのうち設定する色にカーソル228を移動させ決定操作を行うことで、ブロックと色とを対応づける。このような操作を、色を設定したい全ブロックについて行う。するとホスト端末10は、ブロックの個体IDと、各ブロックに設定された色の識別情報とを対応づけて、立体物220を構成するブロックに送信する。これにより、色が設定されたブロックの表示部130は、各自に設定された色を自らのIDに基づき特定し、当該色で発光する。
なおブロックがディスプレイを備える場合は、表示内容設定画面222において画像を選択できるようにし、ブロックと画像データとを対応づけてもよい。また表示内容設定画面222では、複数のブロックを1つのグループとしてまとめるための操作も受け付け、当該グループ単位で色などを設定できるようにしてもよい。この態様は、立体物220を構成するブロックの数が多大なときには特に有効である。このときホスト端末10は、形成されたグループごとにセット内グループIDを付与して立体物220に送信し、当該グループに属するブロックの識別情報記憶部120に格納されるようにする。
表示内容設定画面222に対しユーザが設定した情報は、ホスト端末10において記憶しておくようにしてもよい。このとき、立体物220の接続関係に係る情報とともに記憶しておくことにより、一旦ブロックをばらしても、同じ立体物220を組み立て直し、同じように発光させたり表示させたりできる。ここで接続関係に係る情報は、図9で示した、ホスト端末10に送信する情報と同様でよい。図15はユーザが表示内容設定画面222に対し設定した情報のデータ構造例を示している。
表示内容設定情報230は、立体物、ひいてはセットIDごとに個別のテーブル232a、232b、232c、・・・を有する構成とし、ホスト端末10の表示内容記憶部60に格納される。各テーブル232a、232b、232c、・・・はそれぞれ、セット内グループID欄234a、セット内個別ID欄234b、個体ID欄234c、発光色欄234dを含む。セット内グループID欄234aには、上記のようにユーザが複数のブロックをまとめてグループとしたときに付与する識別情報を記載する。セット内個別ID欄234bには、立体物に属するブロックを識別する情報を記載する。
個体ID欄234cには、当該ブロックの個体IDを記載する。発光色欄234dには、ユーザが設定した発光色の名前などの識別情報を記載する。同図の場合、グループ単位で発光色を設定している。例えばグループIDが「001」のグループは、セット内個別IDが「001」、「002」、「003」の3つのブロックで構成される。当該3つのブロックは元々、固体IDがそれぞれ「0008」、「0004」、「0002」であり、それらのブロックは「赤」で発光するように設定されている。
なお立体物を構成している各ブロックでセット内個別IDと固体IDとの対応関係が記憶されていれば、ホスト端末10からの発光要求に含めるIDはどちらか一方でよい。一方、当該対応関係をホスト端末10で記憶しておくことにより、一旦ばらしたブロックを再度組み立てる場合に、セット内個別IDを付与し直す必要がなくなる。このように、ブロックの接続関係に係る情報と表示内容設定情報を対応づけて記憶しておけば、自分が過去に作成した立体物、ブロックのメーカーが推奨する立体物のみならず、他人が作成した立体物も再現して作成することが容易になる。
図16は、ネットワークを利用して、立体物に係る情報を共有する態様を説明するための図である。同図においてホスト端末10は、ネットワーク300を介してサーバ302と接続している。サーバ302は、ブロックのメーカーのサーバでもよいし、立体物の情報を共有するために、個人がデータをアップロードできるサーバでもよい。ホスト端末10においてユーザが、公開されている立体物の画像リストなどから所望のものを選択すると、サーバ302から、当該立体物を作成するための、ブロックの接続関係に係る情報と表示内容設定情報が送信される。このとき、図11で示したように組み立て順を示す説明画像がある場合は、図12で示したような組み立て順序情報210や説明画像のデータも一緒に送信されるようにする。
ただしそのような情報がなくとも、接続関係の情報に基づき、ホスト端末10側で同様の説明画像を作成できる。ユーザは、表示装置12に表示された説明画像に基づきブロックを組み立てる。図11で説明したように、接続対象のブロックを発光させてもよい。この場合、ブロックに一意に与えられる個体IDではなく、ブロックの形状ごとに与えられるパーツIDを用いてホスト端末10からブロックへの発光要求を行うことにより、他人のブロックと同じ形状の自分のブロックを特定できる。パーツIDは上述のとおりブロック自体が記憶してもよいし、ホスト端末10に、パーツIDと個体IDとを対応づけたテーブルを準備しておき、サーバ302から送信される各ブロックのパーツIDを、ホスト端末10において個体IDに変換して発光要求を行ってもよい。
立体物240が完成したら、ホスト端末10は、サーバ302から取得した表示内容設定情報を参照し、各ブロックの発光色を指定した発光要求を立体物240に送信する。なお他人が作成した立体物は、それを構成するブロックの固体IDが異なるため、立体物の位置に対して同様の規則で付与したセット内個別ID、またはパーツIDを利用して、同じ部位が同じ色で発光するようにする。立体物240を構成する各ブロックは、送信された発光要求に基づき各自に設定された色を特定し、当該色で発光する。これにより、公開されているリストから選択した立体物(画像242)と同じ形状および色の立体物240を自分で作成することが容易にできる。
なおブロックの発光色や表示画像は時間変化させてもよい。この場合、時間軸に対する表示内容の変化や切り替えを設定したデータをブロックごと、またはブロックのグループごとに作成すれば、その他の処理は上述したのと同様である。本実施の形態では立体物を構成した状態でのブロックに対して表示内容を設定するため、例えば立体物の色を全体的に変化させたり模様を変化させたりといったように、ブロック単位でなく立体物の表面として変化させるような演出も可能である。
なおこのような表示内容の設定を事前に行わず、ホスト端末10におけるユーザ操作に応じてリアルタイムで変更するようにすると、ブロックからなる立体物をコンピュータゲームに組み合わせることができる。図17は、ブロックをコンピュータゲームに組み合わせる態様を説明するための図である。同図は一例として、コンピュータゲームにより行った対戦によって、ブロックを組み立ててなるゲーム盤上の陣地を増やしていく陣取りゲームを示している。
まずユーザは、複数のブロックを事前の設定どおりに組み立て、図示するようなゲーム盤250を作成する。なお図では同一形状の6×6個のブロックを縦横に接続し、平たい正方形の盤を作成しているが、これに限らずより複雑な立体形状としてもよい。ホスト端末10は、ゲーム盤250のどの位置にどのブロックが組まれているかを、ゲーム盤250から送信される接続関係の情報に基づき特定しておく。またゲームプレイヤごとにブロックの発光色を割り当てておく。
そしてホスト端末10において対応するコンピュータゲームを開始する。ゲームプレイヤは、それぞれの入力装置14a、14bを用いて、ゲームに対する操作を行う。この際、ゲームの進捗を表すゲーム画面252を表示装置12に表示する。同図ではさいころを振っている様子が表示されているが、それに限る趣旨ではなく、より複雑なゲームおよびゲーム画面でよい。ホスト端末10は、コンピュータゲームにおける各プレイヤの点数に応じて、ゲーム盤250におけるブロックの発光を変化させる。
具体的には、点数の増加に応じて、各プレイヤに割り当てられた色の領域が大きくなるように、発光しているブロックの数を増やしていく。新たに発光させるブロックは、ホスト端末10が所定の規則で決定してもよいし、プレイヤ自身が、ゲームを画面252上で指定してもよい。図17の例では、ゲーム盤の相対する2辺を構成するブロック列から順に発光するブロックを増やしている。ただしホスト端末10で行うコンピュータゲームの内容などによって、ゲーム盤250における表示の変化も様々であってよい。例えばブロックに設けたディスプレイに駒の画像を表示させるようにすれば、コンピュータゲームとして行っているチェスなどのボードゲームを、実物であるゲーム盤250に反映させることもできる。
以上述べた本実施の形態によれば、互いに接続可能なブロックに、発光ダイオードやディスプレイなどの表示機構と、ホスト端末との通信機構を設け、ホスト端末からの信号に応じて発光色などの表示内容が変化するようにする。これにより内部構成の複雑化を抑えつつ、また外観を損なうことなく、様々な情報を自由に表現できるブロックを実現できる。
例えば、複数のユーザが持ち寄ったブロックを片付けるとき、ブロックの色によって所有者がわかるようにしたり、ブロックを設定どおりに組み立てる際、次に接続すべきブロックがわかるようにしたりすることができる。また、組み上がった立体物を、ユーザの設定に応じた色で発光させたり、設定に応じた画像を表示させたりできる。
またブロックに近距離無線通信の機構を設け、ホスト端末と接続したリーダ/ライタを準備することにより、ブロック自体に所有者などの識別情報を書き込んだり、ホスト端末がブロックの識別情報を読み取ったりすることが容易に行える。これにより、通信を確立するための接続や設定などの手間をかけず、ブロックの外観への影響もなく、ホスト端末との通信を容易に実現でき、幼児などでも容易に扱うことができる。また、コンピュータゲームで表示される仮想的な世界と、ブロックを用いた実物とを組み合わせることも容易であり、デザイン性や娯楽性に優れたツールを実現できる。
また一旦、組み上がった立体物の接続関係に係る情報と、発光色など表示内容に係る情報を記録しておくことにより、自分が過去に作成した立体物を再現することも容易である。さらにブロックメーカーや他人が公開した立体物のうち、気に入ったものを作成してみる、といった、立体物の情報の共有化も実現できる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
例えば本実施の形態では、ブロックの個体IDのみをブロックが保持し、その他の属性についてはホスト端末側で管理する態様と、その他の属性についてもブロック側で保持する態様とを例示した。ここで「その他の属性」のいずれかを、ホスト端末とネットワークを介して接続したクラウドサーバなどのサーバで管理するようにし、ホスト端末が必要に応じて問い合わせを行う構成としてもよい。いずれにしろブロックが保持する情報を少なくするほど、ホスト端末やサーバへの依存度は高くなる一方、必要なメモリ容量が小さくなるためブロックの製造コストを低く抑えることができる。
逆に、ブロックが保持する情報を多くするほど、ホスト端末やサーバからの要求信号を抽象化できるため、詳細な情報を登録しているホスト端末やサーバの管理下でなくても各種態様を実現できる。したがって必要な情報を保持する主体は、ブロックの使用目的、使用態様、コストの制限など多角的な観点から適宜、決定してよい。そのような意味においては、本実施の形態で説明した情報よりさらに多くの情報をブロックが保持するようにしてもよい。例えば図12で示した組み立て順序情報210や図15で示した表示内容設定情報230など、ホスト端末で保持するとした情報の少なくとも一部をブロックが保持するようにしてもよい。
このようにすることで、ブロックとともに組み立てマニュアルや組み立て後の表示設定を携帯できることになる。このように各ブロックに関連する種々の情報をブロック自体が保持することにより、あたかもUSBメモリが接続しているような状態でブロックを用いることができる。
また図4に示した片付け時の処理手順中、S14においてホスト端末10が各ブロックの所有者IDを取得したら、それを遊んだ状況に係る履歴として保存しておいてもよい。すなわち片付け対象となった全ブロックの個体IDと所有者IDを対応づけ、さらにS14の処理を行った日時を対応づけた情報を遊びの履歴としてホスト端末10の登録情報記憶部52に格納しておく。さらにそのとき組み立てた立体物の接続関係を、図9で説明したように取得して対応づけてもよい。これにより、誰といつ、どのブロックを用いて遊んだか、どのような立体物を組み立てたか、といった情報を、後の任意のタイミングで表示装置12などに表示させることができる。
さらにそのようにして記録した履歴を、ウェブログやSNS(Social Networking Service)などの各種情報公開サービスを提供するサーバに自動またはユーザ操作によりアップロードできるようにすると、「ブロック日記」として公開することも容易にできる。このような個人のブロック日記のウェブページを介して、図16で説明したような立体物に係る情報共有を実現してもよい。
またブロックを組み立ててなる立体物の接続関係をホスト端末が認識できることから、当該接続関係に係る情報をログイン時などの認証キーとして利用してもよい。この場合、ホスト端末10の登録情報記憶部52には、図7で示した所有者IDテーブル160のうち個体ID欄162aに代えて、図9で示したような、複数のブロックの接続関係に係る情報を格納する欄を設けたテーブルを格納しておく。このテーブルを作成するため、ユーザはあらかじめ、自分の好みの立体物を作成して認証キーとして登録しておく。そしてログイン時などに、ホスト端末に対し自分のログイン名を入力するとともに、ブロックを登録したときと同様に組み立てる。
ホスト端末は組み立てられたブロックから接続関係に係る情報を取得し、登録内容と比較することにより認証の成否を判定する。さらにホスト端末は、認証に成功したらブロックを青色など成功時の所定色に、失敗したら赤色など失敗時の所定色に発光させるなどしてもよい。このようにすることで、ブロックを組み立てる、という行為を利用した独特の認証形態を実現できる。
さらに、組み立てられたブロックを、コンピュータゲームなどホスト端末が実行する情報処理のコントローラとして用いてもよい。この場合、ブロックにはスイッチ、タッチセンサ、衝撃センサなど外部からの接触や力を検出する機能を設ける。そして組み立てられた立体物のうち、そのような機能を有するブロックを、ゲームなどに対する各種操作に割り付ける。割り付けは、ブロックが備える機能と情報処理の内容に応じてホスト端末が自動で行ってもよいし、ユーザが設定できるようにしてもよい。また割り付け結果は、例えばセット内個別IDと操作内容とを対応づけ、ホスト端末10の登録情報記憶部52で保持しておく。
使用時には、操作内容に対応するブロックが検出方式に応じて押されたり触れられたり叩かれたりしたことを、図9に示したような情報伝達経路によりホスト端末が認識し、それに応じて処理を進捗させる。これによりユーザは、好みの形状を有し好みの位置に操作手段が設けられたコントローラを用いてゲーム操作などを行える。
また、組み立てられた立体物を、ホスト端末が処理するコンピュータゲームのキャラクタと対応づけてもよい。この場合、立体物に付与したグループIDをキャラクタの識別情報と対応づけ、ホスト端末10の登録情報記憶部52で保持しておく。そして表示装置12に表示させたゲーム画面において、対応づけられたキャラクタが現れたら、立体物が発光するようにホスト端末から要求信号を送信してもよい。このようにすることで、図17で示したゲーム盤の態様と同様、コンピュータゲームと実物との融合を実現できる。