(57)【要約】【課題】移動玩具がコースアウトした際に原動機の動力をオフにできる。【解決手段】コース６０上を移動する移動玩具１０であって、その接地面側に少なくとも１つの接地部１８、２０を有するボディ１２と、ボディに搭載され、所与の動力が供給されて移動玩具を移動させる原動機３０と、ボディの接地面側に設けられ、接地面側に対向する検知対象の輝度を検知するセンサ５０と、センサからの検知結果に基づいて、ボディの接地面側がコースに所定時間以上対向していないと判断した場合に、原動機の駆動をオンからオフに切り替える制御部３１０と、を含む。このとき、制御部は、センサの検知対象の輝度が所定時間以上変化していないと判断した場合に、ボディの接地面側がコースに所定時間以上対向していないと判断する。【選択図】図４
2009247575.tif 000002
【特許請求の範囲】
【請求項１】
コース上を移動する移動玩具であって、
その接地面側に少なくとも１つの接地部を有するボディと、
前記ボディに搭載され、所与の動力が供給されて前記移動玩具を移動させる原動機と、
前記ボディの前記接地面側に設けられ、前記接地面側に対向する検知対象を検知するセンサと、
前記センサからの検知結果に基づいて、前記接地面側が前記コースに所定時間以上対向していないと判断された場合に、前記原動機の駆動をオンからオフに切り替える制御部と、
を含むことを特徴とする移動玩具。
【請求項２】
請求項１において、
前記センサは、
前記検知対象の輝度を検知し、
前記制御部は、
前記センサからの前記検知結果に基づいて、前記センサの検知対象の輝度が前記所定時間以上変化していないと判断した場合に、前記ボディの前記接地面側が前記コースに前記所定時間以上対向していないと判定して、前記原動機の駆動をオンからオフに切り替えることを特徴とする移動玩具。
【請求項３】
請求項１または請求項２において、
前記制御部は、
前記センサからの前記検知結果に基づいて、前記ボディの前記接地面側が前記コースに前記所定時間以上対向していないと判定した場合に、前記原動機への前記動力の供給をオンからオフに切り替えることによって、前記原動機の駆動をオンからオフに切り替えることを特徴とする移動玩具。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記コース上には、複数のマーカが設けられ、
前記制御部は、
前記マーカが前記センサによって前記所定時間以上検知されない場合に、前記原動機の駆動をオンからオフに切り替えることを特徴とする移動玩具。
【請求項５】
請求項４において
前記コースの輝度が所与の基準輝度未満である場合に、前記マーカの輝度は、前記基準輝度以上になるように設定され、
前記センサは、
前記センサの検知対象の輝度を検知し、
前記制御部は、
前記センサからの検知結果に基づいて、前記センサの検知対象の輝度が前記基準輝度未満から前記基準輝度以上になったと判断した場合に、前記マーカが検出されたと判定すると共に、
前記マーカが前記センサによって前記所定時間以上検知されない場合に、前記原動機の駆動をオンからオフに切り替えることを特徴とする移動玩具。
【請求項６】
請求項４において、
前記コースの輝度が所与の基準輝度以上である場合に、前記マーカの輝度は、前記基準輝度未満になるように設定され、
前記センサは、
前記センサの検知対象の輝度を検知し、
前記制御部は、
前記センサからの検知結果に基づいて、前記センサの検知対象の輝度が前記基準輝度以上から前記基準輝度未満になったと判断した場合に、前記マーカが検出されたと判定すると共に、
前記マーカが前記センサによって前記所定時間以上検知されない場合に、前記原動機の駆動をオンからオフに切り替えることを特徴とする移動玩具。
【請求項７】
請求項４乃至６の何れかにおいて、
前記複数のマーカで区切られた前記コースの第１〜第Ｎのコース区間に対応づけられた第１〜第Ｎの走行制御データを記憶する記憶部をさらに含み、
前記制御部は、
前記第１〜第Ｎの走行制御データに基づいて、移動玩具の走行を制御することを特徴とする移動玩具。
【請求項８】
請求項７において、
前記制御部は、
前記第１〜第Ｎの走行制御データに基づいて、前記所定時間を可変に設定することを特徴とする移動玩具。
【請求項９】
請求項７または請求項８において、
前記制御部は、
前記第１〜第Ｎのコース区間の各コース区間の長さに基づいて、前記各コース区間毎に設定される前記所定時間を可変に設定することを特徴とする移動玩具。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記ボディの前記接地面側には、前記接地部として少なくとも第１、第２の接地部が設けられ、
前記センサは、前記第１、第２の接地部の間に設けられることを特徴とする移動玩具。
【請求項１１】
請求項７乃至１０のいずれかにおいて、
前記記憶部には、
前記センサによる検知結果を、前記第１〜第Ｎのコース区間に対応づけられた第１〜第Ｎの走行検知データとして記憶する走行検知データ記憶部をさらに含むことを特徴とする移動玩具。
【請求項１２】
請求項７乃至１１のいずれかにおいて、
前記第１〜第Ｎの走行制御データおよび前記第１〜第Ｎの走行検知データを外部のゲーム装置と送受信するための外部インターフェース部をさらに含み、
前記制御部は、
前記外部インターフェース部を介して前記ゲーム装置から受信した前記第１〜第Ｎの走行制御データに基づいて、移動玩具の制御を行うことを特徴とする移動玩具。
【請求項１３】
請求項１乃至３のいずれかにおいて、
前記コースの輝度が所与の基準輝度以上であり、
前記制御部は、
前記センサからの検知結果に基づいて、前記センサの検知対象の輝度が前記基準輝度以上から前記基準輝度未満になったと判断した場合に、前記原動機の駆動をオンからオフに切り替えることを特徴とする移動玩具。
【請求項１４】
請求項１乃至１３のいずれかにおいて、
前記センサは、
前記検知対象に向けて光を投射する投光素子と
前記投光素子から投光した前記光の前記検知対象での反射光を受光する受光素子と、
を含む反射型フォトセンサであることを特徴とする移動玩具。
【請求項１５】
請求項１乃至１４のいずれかに記載の移動玩具の走行を制御するためのデータである走行制御データを記憶する走行制御データ記憶部と、
前記走行制御データを、前記移動玩具に対して送信する処理を行う送信処理部と、
前記コースに対応する仮想コースを表示部に表示する制御を行う表示制御部として、
コンピュータを機能させ、
前記表示制御部は、
前記コースの各コース区間に対応する前記仮想コースの各仮想コース区間に対して、前記走行制御データをプレーヤが入力設定するための走行データ設定画面を表示する制御を行うことを特徴とするプログラム。
【請求項１６】
請求項１５において、
前記送信処理部は、
前記走行制御データに対応した前記所定時間の設定情報を送信することを特徴とするプログラム。
【請求項１７】
請求項１５または請求項１６において、
前記移動玩具が走行した際の前記センサによる検知結果である走行検知データを記憶する走行検知データ記憶部と、
前記走行検知データを、前記移動玩具から受信する処理を行う受信処理部として、
前記コンピュータをさらに機能させ、
前記表示制御部は、
前記コースの各コース区間に対応する前記仮想コースの各仮想コース区間に対して、前記走行検知データを元に、前記走行制御データをプレーヤが再度入力設定するための走行データ設定画面を表示する制御を行うことを特徴とするプログラム。
【請求項１８】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１５乃至１７のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１９】
請求項１乃至１４のいずれかに記載の移動玩具の走行を制御するためのデータである走行制御データを記憶する走行制御データ記憶部と、
前記走行制御データを前記移動玩具に対して送信する処理を行う送信処理部と、
前記コースに対応する仮想コースを表示する制御を行う表示制御部と、を含み、
前記表示制御部は、
前記コースの各コース区間に対応する前記仮想コースの各仮想コース区間に対して、前記走行制御データをプレーヤが入力設定するための走行データ設定画面を表示する制御を行うことを特徴とするゲーム装置。
【請求項２０】
請求項１９において、
前記送信処理部は、
前記走行制御データに対応した前記所定時間の設定情報を送信することを特徴とするゲーム装置。
【請求項２１】
請求項１９または請求項２０において、
前記移動玩具が走行した際の前記センサによる検知結果である走行検知データを記憶する走行検知データ記憶部と、
前記走行検知データを前記移動玩具から受信する処理を行う受信処理部と、をさらに含み、
前記表示制御部は、
前記コースの各コース区間に対応する前記仮想コースの各仮想コース区間に対して、前記走行検知データを元に、前記走行制御データをプレーヤが再度入力設定するための走行データ設定画面を表示する制御を行うことを特徴とするゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動玩具、プログラム、情報記憶媒体、およびゲーム装置等に関する。
【背景技術】
【０００２】
従来から、複数のコースパーツを連結することで構成されるコースを走行させるレーシングカー等を模して、ユーザがより楽しめるように各種趣向を凝らしている車両玩具（移動玩具）が知られている。このような移動玩具として、例えば、特許文献１、特許文献２の従来例がある。
【０００３】
特許文献1には、コース状態に応じて、所定のプログラムに基づく自動操縦と、ユーザの遠隔のコントローラの使用によって走行速度と走行方向を操作する手動操縦とを切り替えられる車両玩具走行装置が開示されている。当該車両玩具走行装置では、自動操縦用プログラムは、外部端末となる入力装置で事前に設定し、車両玩具に搭載する人形に内蔵した記憶装置に書き込まれる。そして、自動操縦用プログラムは、当該人形を模した記憶装置を介して、車両玩具に搭載したメモリに転送される。
【０００４】
また、特許文献２には、ゲーム装置でゲームプレイすることで得られた制御情報を車両玩具に転送し、この制御情報に基づいて車両玩具の走行を制御する技術が開示されている。
【特許文献１】特開平６−２６９５７４号公報
【特許文献２】特開２０００−２１０４７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ユーザがコース状態に応じて自動操縦から手動操縦に切り替えて、車両玩具の速度を過度に高めると、コースのカーブや傾斜面を有する立体交差部分等において、車両玩具がコースアウトしたり、転倒する等のトラブルの発生が起き易い。車両玩具がコースアウト等した際に車輪が回転駆動したままであると、余分にバッテリーの電力を消費したり、ユーザが当該車両玩具をコース内に戻すために車両玩具をつかむ際に、車両玩具のボディと車輪の間に手指等を挟んで負傷する等の不具合が発生することがあった。
【０００６】
本発明に係る幾つかの態様によれば、移動玩具がコースアウトした際に原動機の動力をオフにできる。
【課題を解決するための手段】
【０００７】
本発明は、コース上を移動する移動玩具であって、その接地面側に少なくとも１つの接地部を有するボディと、前記ボディに搭載され、所与の動力が供給されて前記移動玩具を移動させる原動機と、前記ボディの前記接地面側に設けられ、前記接地面側に対向する検知対象を検知するセンサと、前記センサからの検知結果に基づいて、前記接地面側が前記コースに所定時間以上対向していないと判断された場合に、前記原動機の駆動をオンからオフに切り替える制御部と、を含むことを特徴とする移動玩具に関係する。
【０００８】
本発明の移動玩具によれば、ボディの接地面側に検知対象を検知するセンサを設け、当該センサの検知結果に基づいて、原動機の動力のオン・オフの切り替え制御をする。このため、当該センサは、移動玩具がコース上に走行中では、ボディの接地面がコースに対向し、移動玩具がコースアウト等してコース上を走行しなくなったら、ボディの接地面がコースに対向しなくなることを検知できる。従って、このようなセンサの検知結果に基づいて、移動玩具がコースアウト等したら、原動機の駆動をオンからオフに切り替えられる。
【０００９】
このとき、本発明では、前記センサは、前記検知対象の輝度を検知し、前記制御部は、前記センサからの前記検知結果に基づいて、前記センサの検知対象の輝度が前記所定時間以上変化していないと判断した場合に、前記ボディの前記接地面側が前記コースに前記所定時間以上対向していないと判定して、前記原動機の駆動をオンからオフに切り替えることとしてもよい。
【００１０】
このようにすれば、センサの検知対象の輝度の変化に基づいて、移動玩具がコース上を走行しているか否かの判断が容易にできるようになる。
【００１１】
また、本発明では、前記制御部は、前記センサからの前記検知結果に基づいて、前記ボディの前記接地面側が前記コースに前記所定時間以上対向していないと判定した場合に、前記原動機への前記動力の供給をオンからオフに切り替えることによって、前記原動機の駆動をオンからオフに切り替えることとしてもよい。
【００１２】
このようにすれば、移動玩具がコースアウト等してコース上を走行していないと判断されたら、原動機への動力供給をオンからオフに切り替えることによって、原動機の駆動を停止できるようになる。
【００１３】
また、本発明では、前記コース上には、複数のマーカが設けられ、前記制御部は、前記マーカが前記センサによって前記所定時間以上検知されない場合に、前記原動機の駆動をオンからオフに切り替えることとしてもよい。
【００１４】
このようにすれば、コース上に設けた複数のマーカを移動玩具の接地面側に設けたセンサが検知することによって、移動玩具がコース上を走行しているか否かの判断が容易にできるようになる。
【００１５】
また、本発明では、前記コースの輝度が所与の基準輝度未満である場合に、前記マーカの輝度は、前記基準輝度以上になるように設定され、前記センサは、前記センサの検知対象の輝度を検知し、前記制御部は、前記センサからの検知結果に基づいて、前記センサの検知対象の輝度が前記基準輝度未満から前記基準輝度以上になったと判断した場合に、前記マーカが検出されたと判定すると共に、前記マーカが前記センサによって前記所定時間以上検知されない場合に、前記原動機の駆動をオンからオフに切り替えることとしてもよい。
【００１６】
このようにすれば、センサの検知対象の輝度が所定時間内に基準輝度未満から基準輝度以上に変化しているか否かについて、センサがマーカをセンシングすることによって検知することによって、移動玩具がコース上を走行しているか否かの判断が容易にできるようになる。
【００１７】
また、本発明では、前記コースの輝度が所与の基準輝度以上である場合に、前記マーカの輝度は、前記基準輝度未満になるように設定され、前記センサは、前記センサの検知対象の輝度を検知し、前記制御部は、前記センサからの検知結果に基づいて、前記センサの検知対象の輝度が前記基準輝度以上から前記基準輝度未満になったと判断した場合に、前記マーカが検出されたと判定すると共に、前記マーカが前記センサによって前記所定時間以上検知されない場合に、前記原動機の駆動をオンからオフに切り替えることとしてもよい。
【００１８】
このようにすれば、センサの検知対象の輝度が所定時間内に基準輝度以上から基準輝度未満に変化しているか否かについて、センサがマーカをセンシングすることによって検知することによって、移動玩具がコース上を走行しているか否かの判断が容易にできるようになる。
【００１９】
また、本発明では、前記複数のマーカで区切られた前記コースの第１〜第Ｎのコース区間に対応づけられた第１〜第Ｎの走行制御データを記憶する記憶部をさらに含み、前記制御部は、前記第１〜第Ｎの走行制御データに基づいて、移動玩具の走行を制御することとしてもよい。
【００２０】
このようにすれば、移動玩具をコース上に走行させる際に、各コース区間に対応づけられた走行制御データに基づいて、移動玩具の走行を制御できるようになる。
【００２１】
また、本発明では、前記制御部は、前記第１〜第Ｎの走行制御データに基づいて、前記所定時間を可変に設定することとしてもよい。
【００２２】
このようにすれば、各コース区間に対応づけられた走行制御データに基づいて、所定時間を可変に設定できる。このため、各コース区間の状態に応じた適切な所定時間を設定できるようになる。
【００２３】
また、本発明では、前記制御部は、前記第１〜第Ｎのコース区間の各コース区間の長さに基づいて、前記各コース区間毎に設定される前記所定時間を可変に設定することとしてもよい。
【００２４】
このようにすれば、各コース区間の長さに応じて、所定時間が変更されるので、各コース区間の長さに応じた適切な所定時間を設定できるようになる。
【００２５】
また、本発明では、前記ボディの前記接地面側には、前記接地部として少なくとも第１、第２の接地部が設けられ、前記センサは、前記第１、第２の接地部の間に設けられることとしてもよい。
【００２６】
このようにすれば、移動玩具がコース上を走行中に、センサがコース上のマーカのセンシングを確実に行えるようになる。
【００２７】
また、本発明では、前記記憶部には、前記センサによる検知結果を、前記第１〜第Ｎのコース区間に対応づけられた第１〜第Ｎの走行検知データとして記憶する走行検知データ記憶部をさらに含むこととしてもよい。
【００２８】
このようにすれば、移動玩具の走行中に検知した検知結果を各コース区間に対応づけて記憶することができる。
【００２９】
また、本発明では、前記第１〜第Ｎの走行制御データおよび前記第１〜第Ｎの走行検知データを外部のゲーム装置と送受信するための外部インターフェース部をさらに含み、前記制御部は、前記外部インターフェース部を介して前記ゲーム装置から受信した前記第１〜第Ｎの走行制御データに基づいて、移動玩具の制御を行うこととしてもよい。
【００３０】
このようにすれば、移動玩具をコース上に走行させる際に、ゲーム装置から受信した各コース区間に対応づけられた走行制御データに基づいて、移動玩具の走行を制御できるようになる。
【００３１】
また、本発明では、前記コースの輝度が所与の基準輝度以上であり、前記制御部は、前記センサからの検知結果に基づいて、前記センサの検知対象の輝度が前記基準輝度以上から前記基準輝度未満になったと判断した場合に、前記原動機の駆動をオンからオフに切り替えることとしてもよい。
【００３２】
このようにすれば、センサがマーカを読み取れなくても、移動玩具がコースアウト等の検知ができるようになる。
【００３３】
また、本発明では、前記センサは、前記検知対象に向けて光を投射する投光素子と、前記投光素子から投光した前記光の前記検知対象での反射光を受光する受光素子と、を含む反射型フォトセンサであることとしてもよい。
【００３４】
このように、センサを反射型フォトセンサとすることによって、センサが外乱光と対向しても、検知対象の反射光を当該フォトセンサの受光部が受光できない。このため、車両玩具がコースアウト等により接地面がコースと対向しなくなった旨をより確実にできるようになる。また、コースの輝度が所与の基準輝度以上である場合では、移動玩具がコースアウトしたら、検知対象の輝度が基準輝度以上から基準値未満に変化するので、移動玩具のコースアウト等の検出が容易になる。
【００３５】
また、本発明は、上記のいずれかに記載の移動玩具の走行を制御するためのデータである走行制御データを記憶する走行制御データ記憶部と、前記走行制御データを、前記移動玩具に対して送信する処理を行う送信処理部と、前記コースに対応する仮想コースを表示部に表示する制御を行う表示制御部として、コンピュータを機能させ、前記表示制御部は、前記コースの各コース区間に対応する前記仮想コースの各仮想コース区間に対して、前記走行制御データをプレーヤが入力設定するための走行データ設定画面を表示する制御を行うことを特徴とするプログラムに関係する。
【００３６】
本発明のプログラムによれば、プレーヤは、走行制御データ設定画面を用いた簡素な作業で、走行制御データを設定して、設定後の走行制御データを移動玩具に送信することができるので、移動玩具の走行制御のための簡素なインターフェース環境をプレーヤに提供できる。
【００３７】
このとき、本発明では、前記送信処理部は、前記走行制御データに対応した前記所定時間の設定情報を送信することとしてもよい。
【００３８】
このようにすれば、各コース区間に対応した適切な所定時間を移動玩具に送信することができる。
【００３９】
また、本発明では、前記移動玩具が走行した際の前記センサによる検知結果である走行検知データを記憶する走行検知データ記憶部と、前記走行検知データを、前記移動玩具から受信する処理を行う受信処理部として、前記コンピュータをさらに機能させ、前記表示制御部は、前記コースの各コース区間に対応する前記仮想コースの各仮想コース区間に対して、前記走行検知データを元に、前記走行制御データをプレーヤが再度入力設定するための走行データ設定画面を表示する制御を行うこととしてもよい。
【００４０】
このようにすれば、移動玩具の検知結果をゲーム装置に送信して、当該検知結果を元にゲーム装置がより好適な走行制御データを移動玩具に送信することができる。
【００４１】
また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体に関係する。
【００４２】
また、本発明は、上記のいずれかに記載の移動玩具の走行を制御するためのデータである走行制御データを記憶する走行制御データ記憶部と、前記走行制御データを前記移動玩具に対して送信する処理を行う送信処理部と、前記コースに対応する仮想コースを表示する制御を行う表示制御部と、を含み、前記表示制御部は、前記コースの各コース区間に対応する前記仮想コースの各仮想コース区間に対して、前記走行制御データをプレーヤが入力設定するための走行データ設定画面を表示する制御を行うことを特徴とするゲーム装置に関係する。
【００４３】
このとき、本発明では、前記送信処理部は、前記走行制御データとして、前記所定時間の設定情報を送信することとしてもよい。
【００４４】
また、本発明では、前記移動玩具が走行した際の前記センサによる検知結果である走行検知データを記憶する走行検知データ記憶部と、前記走行検知データを前記移動玩具から受信する処理を行う受信処理部と、をさらに含み、前記表示制御部は、前記コースの各コース区間に対応する前記仮想コースの各仮想コース区間に対して、前記走行検知データを元に、前記走行制御データをプレーヤが再度入力設定するための走行データ設定画面を表示する制御を行うこととしてもよい。
【発明を実施するための最良の形態】
【００４５】
以下、本発明の好適な実施の形態について詳細に説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００４６】
１．コース
図１（Ａ）に、本実施形態の移動玩具となる車両玩具を走行させるコースの一例を斜視図で示す。本実施形態では、車両玩具１０を走行させるコース６０は、図１（Ａ）に示すように、直線形状、カーブ形状、およびスロープ形状の各種構成を有する複数のコースパーツＣＰ１〜ＣＰ１６が適宜の連結構造を介して、隣接する他のコース部と連結されて無端状に形成し、直線、カーブ、およびスロープが配置される構成となっている。当該コース６０は、コースパーツＣＰ１〜ＣＰ８によって構成される第１の巡回コース６１に、コースパーツＣＰ９〜ＣＰ１６によって当該第１の巡回コース６１と略同一に構成される第２の巡回コース６２を後続させるように設置し、サーキット２周で１コースとなる構成となっている。
【００４７】
第１の巡回コース６１は、第１の直線コースパーツＣＰ１、第１のカーブコースパーツＣＰ２、第１のスロープコースパーツＣＰ３、第２のカーブコースパーツＣＰ４、第２のスロープコースパーツＣＰ５、第３のカーブコースパーツＣＰ６、第２の直線コースパーツＣＰ７、および第４のカーブコースパーツＣＰ８を順に連結して構成される。第１の直線コースパーツＣＰ１は、第２の直線コースパーツＣＰ７より長い直線コースパーツであり、第１のカーブコースパーツＣＰ２に連結される。第１のカーブコースパーツＣＰ２は、ループ形状のコースパーツであり、第１のスロープコースパーツＣＰ３に連結される。第１のスロープコースパーツＣＰ３は、第１の直線コースパーツＣＰ１および第３の直線コースパーツＣＰ９と立体交差するように、スロープ形状の架橋となって、後続の第２のカーブコースパーツＣＰ４に連結される。第２のカーブコースパーツＣＰ４は、緩やかなカーブコースであり、かつ第６のカーブコースパーツＣＰ１２と立体交差するように、スロープ形状の架橋となって、後続の第２のスロープコースパーツＣＰ５に連結される。第２のスロープコースパーツＣＰ５は、第１の直線コースパーツＣＰ１、第３の直線コースパーツＣＰ９と立体交差するように、スロープ形状の架橋となって、後続の第３のカーブコースパーツＣＰ６に連結される。第３のカーブコースパーツＣＰ６は、カーブ形状のコースパーツであり、後続の第２の直線コースパーツＣＰ７に連結される。第２の直線コースパーツＣＰ７は、直線形状のコースパーツであり、後続の第４のカーブコースパーツＣＰ８に連結される。第４のカーブコースパーツＣＰ８は、ループ形状のコースパーツであり、後続の第２の巡回コース６２の導入コースとなる第３の直線コースパーツＣＰ９に連結される。
【００４８】
一方、第２の巡回コース６２は、第３の直線コースパーツＣＰ９、第５のカーブコースパーツＣＰ１０、第３のスロープコースパーツＣＰ１１、第６のカーブコースパーツＣＰ１２、第４のスロープコースパーツＣＰ１３、第７のカーブコースパーツＣＰ１４、第４の直線コースパーツＣＰ１５、および第８のカーブコースパーツＣＰ１６を順に連結して構成される。第３の直線コースパーツＣＰ９は、第１の直線コースパーツＣＰ１と同一の直線コースパーツであり、第５のカーブコースパーツＣＰ１０に連結される。第５のカーブコースパーツＣＰ１０は、第１のループコースパーツＣＰ２と同一のループ形状のコースパーツであり、第３のスロープコースパーツＣＰ１１に連結される。第３のスロープコースパーツＣＰ１１は、第１のスロープコースパーツＣＰ３と同様の構成でスロープ形状の架橋となって、後続の第６のカーブコースパーツＣＰ１２に連結される。第６のカーブコースパーツＣＰ１２は、緩やかなカーブコースであり、後続の第４のスロープコースパーツＣＰ１３に連結される。第４のスロープコースパーツＣＰ１３は、第２のスロープコースパーツＣＰ５と同様の構成でスロープ形状の架橋となって、後続の第７のカーブコースパーツＣＰ１４に連結される。第７のカーブコースパーツＣＰ１４は、カーブ形状のコースパーツであり、後続の第４の直線コースパーツＣＰ１５に連結される。第４の直線コースパーツＣＰ１５は、直線形状のコースパーツであり、後続の第８のカーブコースパーツＣＰ１６に連結される。
【００４９】
また、各コース部は、図１（Ｂ）のＡ−Ａ矢視断面図で示すように、第１の巡回コース６１と第２の巡回コース６２が並列され、各巡回コース６１、６２に対し両サイド側に、それぞれ側壁６３Ｌ、６３Ｒ、６４Ｌ、６４Ｒが設けられている。そして、各巡回コース６１、６２の略中央には、黒色のセンターラインＣＬ１、ＣＬ２が設けられている。
【００５０】
さらに、コース６０には、図１（Ａ）に示すように、各コースパーツＣＰ１〜ＣＰ１６の連結部付近に、白色のマーカＭＣ１〜ＭＣ１６が設けられており、そのうち、第１の直線コース部ＣＰ１の一端に設けられる第１のマーカＭＣ１がスタートライン（スタートエリア）となる。そして、第１のマーカＭＣ１をスタートラインとして走行開始した車両玩具１０は、各種端末装置等からなるゲーム装置からインストールされるプログラムによって走行動作が制御されながら、コース６０上を反時計回り（図１におけるＸ方向）で走行する。コース６０は、第１〜第１６のマーカＭＣ１〜ＭＣ１６で区切ることによって、第１〜第１６のコース区間ＣＳ１〜ＣＳ１６が設定されている。すなわち、各コースパーツＣＰ９〜ＣＰ１６に対応して、各コース区間ＣＳ１〜ＣＳ１６が設定される。なお、本実施形態のコース６０は、図１の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００５１】
２．移動玩具
図２に、本実施形態の移動玩具の一例である車両玩具１０の外観斜視図を示す。本実施形態では、図２に示すように、車両玩具１０のボディ１２は、スポーツカー等の外形を模した外装部１４と、前輪１８と後輪２０（接地部）が一対ずつ設けられるシャシ１６とを含む。これらの前輪１８および後輪２０は、シャシ１６に搭載されたモータ等の原動機によって駆動されて、車両玩具１０を移動させる。
【００５２】
図２に示すように、ボディ１２の四隅には、ガイドローラ（プレート）２１、２２、２３、２４（２４について図３参照）がそれぞれ設けられている。これらのガイドローラ２１〜２４は、コース６０を走行中に、図１（Ｂ）に示す側壁６３Ｌ、６３Ｒ、６４Ｌ、６４Ｒにヒットすることで、車両玩具１０のコース６０上での進行を円滑にすると共に、車両玩具１０の走行の安定性を担保するための部材である。
【００５３】
なお、本実施形態では、車両玩具１０は、ボディ１２（外装部１４）がスポーツカーを模した形状になっているが、車両玩具１０は、これに限らず様々な形態の自動車（例えば、トラック等）、或いは二輪車（例えば、バイク等）の外形を有していてもよい。また、本実施形態の移動玩具は、車両玩具に限定されず、例えば、競馬の競走馬等の動物や漫画等の各キャラクタを模した人形等をコースに沿って移動させるものにも適用可能である。
【００５４】
図３は、本実施形態の車両玩具１０の内部構成の平面図であり、ボディ１２の外装部１４を取り外した状態を示す。本実施形態では、車両玩具１０は、前輪１８（１８Ｌ、１８Ｒ）および後輪２０（２０Ｌ、２０Ｒ）をそれぞれ左右に一対ずつ有し、これら前輪１８、後輪２０を軸支する前輪用車軸（シャフト）２６、後輪用車軸２８に、シャシ１６の後方側に搭載されるモータ３０の駆動が伝達され、前輪１８および後輪２０が回転駆動される四輪駆動車両玩具である。なお、所与の動力を供給して車両玩具１０を走行移動させるための機械的エネルギーに変換する原動機は、モータ３０に限定されず、例えば小型エンジン等の他の原動機を適用しても良い。
【００５５】
後輪用車軸２８には、後輪２０を駆動させるための後輪駆動用ギア３２が設けられ、当該後輪駆動用ギア３２を介して、当該後輪用車軸２８にモータ３０の駆動が伝達される。また、後輪用車軸２８には、前輪用車軸２６にモータ３０の駆動を伝達するための後輪側クラウンギア３４が設けられており、前輪用車軸２６に駆動を伝達するための駆動伝達軸３６の端部に設けられる後輪側駆動伝達ギア３８と噛合している。
【００５６】
一方、前輪用車軸２６には、駆動伝達軸３６を介してモータ３０の駆動を伝達するための前輪側クラウンギア４０が設けられており、駆動伝達軸３６の他端に設けられる前輪側駆動伝達ギア４２と噛合している。このため、モータ３０が駆動すると、モータ３０の駆動が後輪駆動用ギア３２、後輪側駆動伝達ギア３８、駆動伝達軸３６、前輪側駆動伝達ギア４２、および前輪側クラウンギア４０を介して伝達され、本実施形態の車両玩具１０が四輪駆動となる。なお、本実施形態の車両玩具１０のモータ３０に所与の動力を供給して車両玩具１０を走行させるための機械的エネルギーに変換する動力伝達機構は、図２の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００５７】
また、前輪用車軸２６は、シャシ１６に対し軸部４４を介して軸支される前輪軸支持部４６に回転自在に支持されている。このため、前輪１８は、前輪用車軸２６を介して水平軸周りに回転可能とすることによって車両玩具１０を走行させ、かつ軸部４４で軸支される前輪軸支持部４６を介して垂直軸周りに揺動可能とすることによって、車両玩具１０の向きを変化させる。
【００５８】
シャシ１６の略中央には、モータ３０に動力となる電力を供給する電源として乾電池４８（動力源）が設置されている。乾電池４８の設置場所は、シャシ１６の略中央に限定されないが、重量を有する乾電池４８をシャシ１６の略中央に設置することによって、車両玩具１０の重心が略中央に移動し、車両玩具１０の走行動作が安定するようになるので、乾電池４８の設置場所は、シャシ１６の略中央に設置することが好ましい。なお、本実施形態では、電力供給源として乾電池４８を設置する車両玩具１０としているが、電力供給を充電式によるものとすることも可能である。
【００５９】
さらに、車両玩具１０がコース６０上に走行中にコース６０と対向するボディ１２の接地面側、すなわちシャシ１６の裏面側の前方には、当該接地面のコース６０への対向を検知するセンサ５０が設けられている。本実施形態では、センサ５０は、コース６０に設けられた複数のマーカＭＣ１〜ＭＣ１６の各マーカを検知する。具体的には、本実施形態では、センサ５０は、検知対象の輝度（輝度情報）を検知する。そしてセンサ５０からの検知結果（検知信号）に基づいて、シャシ１６の裏面側となる接地面側が、コース６０に対向しているか否かを検知する。
【００６０】
具体的には、センサ５０は、図１（Ｂ）に示すコース６０の黒色のセンターラインＣＬ１、ＣＬ２と対向するように配置され、検知対象（センターライン、マーカ等）の輝度を検知する。この場合に、コースの輝度であるセンターラインＣＬ１、ＣＬ２の輝度は、所与の基準輝度未満であり、白色マーカＭＣ１〜ＭＣ１６の輝度は、基準輝度以上になるように設定される。そして、車両玩具１０が走行してコース６０上に設けられているＭＣ１〜ＭＣ１６の各マーカを通過すると、センサ５０の検知対象の輝度が基準輝度未満から基準輝度以上になったと判断されて、各マーカが検出される。一方、センサ５０の検出対象の輝度が所定時間以上、基準輝度未満であると判断されると、車両玩具１０のジャンプ等により、シャシ１６の裏面側、すなわち接地面側がコース６０に対向しなくなったと判定される。このようにセンサ５０がコース６０のセンターラインＣＬ１、ＣＬ２およびマーカＭＣ１〜ＭＣ１６を適宜読み取るためには、センサ５０は、シャシ１４の裏面側（接地面側）のうち、前輪１８Ｌ、１８Ｒ（広義には第１、第２の接地部）の間に配置されることが好ましい。なお、ここで言及する基準輝度とは、第1の輝度と第２の輝度の差異を明確に設定するための当該第１の輝度と第２の輝度の間の所与の輝度である。
【００６１】
本実施形態では、車両玩具１０が通常通りコース６０を走行している場合は、当該センサ５０がコース６０と対向するので、所与の時間間隔でコース６０上に設けられている白色のマーカＭＣ１〜ＭＣ１６を読み取れる。一方、車両玩具１０がジャンプしたり、コースアウト、転倒等した場合には、車両玩具１０の接地面がコース６０に対向しなくなるので、所定時間以上経過しても、マーカＭＣ１〜ＭＣ１６を読み取れなくなる。
【００６２】
なお、センサ５０としては、例えば、反射型のフォトセンサ（赤外線センサ）を用いることができる。この反射型のフォトセンサは、ＬＥＤ等の発光素子（投光素子）を有し、当該発光素子で発光した（投光素子から投光された）光を検知対象で反射させて、その反射光を受光素子で受光することによって検知するセンサである。
【００６３】
このように、センサ５０を反射型フォトセンサに設定した場合では、センサ５０が外乱光と対向しても、検知対象の反射光を当該フォトセンサの受光部が受光できない。このため、車両玩具１０がコースアウト等により接地面側がコースと対向しなくなった旨をより確実にかつ容易にできるようになる。また、コース６０の輝度が所与の基準輝度以上である場合では、車両玩具１０がコースアウトしたら、検知対象の輝度が基準輝度以上から基準値未満に変化する。このため、車両玩具１０のコースアウト等の検出が容易になるので好ましい。
【００６４】
但し、センサ５０は、反射型のフォトセンサには限定されず、距離センサ、バーコード読み取りセンサ、或いはＣＣＤ等の各種センサを用いることができる。例えば、センサ５０を赤外線受光部が設置される赤外線センサにして、センサ５０の検知対象となるスタートエリアＳＡやマーカＭＣ１〜ＭＣ１６に赤外線発光部を設置して、当該赤外線センサによる近距離データ通信に好適なＩＲＤＡ通信を利用するものとしてもよい。すなわち、コース２０上のスタートエリアＳＡやマーカＭＣ１〜ＭＣ１６から出力される赤外線信号によって、スタートの開始情報が伝達された場合、原動機の駆動をＯＮからＯＦＦに切り替えるようにすることも可能である。なお、このとき、センサ５０の第１のセンサとして、マーカを読み取るフォトセンサを設け、センサ５０の第２のセンサとして、スタート開始を検知する赤外線センサを設ける構成としてもよい。
【００６５】
また、車両玩具１０のスタート後（レース開始後、原動機がオンになった後）に、常時、センサ５０による検知対象の検知を実行するようにしてもよい。すなわち、スタート後、常にセンサ５０による検知を行い、得られた検知結果のデータを記憶部３３０に蓄積して行く。このとき、例えば検知結果のデータを記憶部３３０の図示しないリングバッファに格納するようにしてもよい。この場合には、リングバッファの全ての格納領域に検知結果データが書き込まれると、その後は検知結果が上書きされることになるため、リングバッファに格納される検知結果データが所定時間毎に更新されるようになる。
【００６６】
また、車両玩具１０のボディ１２（シャシ１６）の後端側には、ブレーキランプ等として機能する発光素子５２Ｌ、５２Ｒが設けられており、車両玩具１０の速度変化時（例えば、減速時または加速時等）に点灯する。これにより、減速時のブレーキランプの点灯を擬似的に表現できる。なお、本実施形態の車両玩具１０の内部構成は、図３の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００６７】
図４に、本実施形態の車両玩具（移動玩具）１０の機能ブロック図の例を示す。車両玩具１０のボディ１２内には、車両玩具１０の各構成要素を制御するための回路部品が実装された回路基板（システム基板）３００が設けられている。この回路基板３００は、図４に示すように、制御部３１０、記憶部３３０、発光素子駆動部３４０、駆動部３５０、センサコントローラ３６０、および外部インターフェース（Ｉ／Ｆ）部３７０を含む。なお、本実施形態の車両玩具１０の回路基板３００に含まれる各構成要素は、図４の機能ブロック図の例に限定されず、その構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００６８】
制御部３１０は、車両玩具１０（移動玩具）の制御を行う。具体的には、記憶部３３０から読み出されたデータやプログラムなどに基づいて、車両玩具１０全体の制御や、回路基板３００の各構成要素（駆動部等）の制御を行う。本実施形態では、制御部３１０は、例えば、図４に示すように、輝度変化判断部３１２、モータ駆動制御部３１４、発光素子駆動制御部３１６、およびデータ送受信処理部３１８を含む。
【００６９】
輝度変化判断部３１２は、センサ５０で検知された検知対象（コース６０のセンターラインＣＬ１、ＣＬ２およびマーカＭＣ１〜ＭＣ１６）の輝度が例えば所与の基準輝度未満の黒色（第１の輝度）から当該基準輝度以上の白色（第２の輝度）に変化したか否かの判断をする。
【００７０】
モータ駆動制御部３１４は、センサ５０からの検知結果に基づいてモータ３０の駆動をオンまたはオフに切り替える制御をする。本実施形態では、モータ駆動制御部３１４は、例えば、輝度変化判断部３１２でセンサ５０の検知結果から、センサ５０の検知対象の輝度が所定時間以上変化していないと判断した場合に、ボディ１２の接地面側がコース６０に所定時間以上対向していないと判断する。そして、モータ駆動制御部３１４は、オンになっていたモータ３０の駆動をオフに切り替えるコマンドを駆動部３５０に送信する。なお、車両玩具１０の走行停止をさせるために、モータ３０の減速機構でも可能であるが、モータ３０の駆動力の慣性が作用することによるリスクがあることから、動力の供給をオフにすることによって、モータ３０の駆動をオンからオフに切り替えることが好ましい。
【００７１】
発光素子駆動制御部３１６は、発光素子５２を発光させる動作コマンドを受信したら、発光素子５２を発光させるために駆動させるコマンドを発光素子駆動部３４０に送信する制御をする。
【００７２】
データ送受信処理部３１８は、外部インターフェース部３７０が外部機器とインターフェース処理をした際に、当該外部機器とデータの送受信を行う制御をする。具体的には、データ送受信処理部３１８は、外部インターフェース部３７０がゲーム装置４００とインターフェース処理をした際に、ゲーム装置４００から送信される各種データを受信して記憶部３３０のＲＯＭに記憶させたり、反対に実際に走行した車両玩具１０に新たに記憶された各種データをゲーム装置４００に送信する制御を行う。
【００７３】
このようにして、本実施形態では、制御部３１０は、例えば、センサ５０からの検知情報や、記憶部３３０に記憶されるデータ（走行制御データ、動力設定データ、電力設定データ）に基づいて、モータ（広義には原動機）３０を駆動するための制御を行う。なお、この制御部３１０の機能は、各種プロセッサ（ＣＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００７４】
記憶部３３０は、各種プログラムやデータを記憶するものであり、その機能は、ＲＡＭやＲＯＭなどにより実現できる。例えば、制御部３１０は、記憶部３３０（ＲＯＭ）から読み出されたプログラムにより動作し、記憶部３３０（ＲＡＭ）をワーク領域として各種処理を行う。本実施形態では、記憶部３３０は、外部のゲーム装置（外部端末）から受信した走行制御データを記憶する走行制御データ記憶部３３２と、車両玩具１０のセンサ５０の検知情報、車両玩具１０のジャンプ区間、滞空時間等の走行検知データをデータログとして記憶する走行検知データ記憶部３３４とを含む。このように、記憶部３１０では、車両玩具１０の走行制御等に関する各種データが保存される。なお、メモリーカードなどの携帯型情報記憶装置の装着が可能な移動玩具の場合には、当該携帯型情報記憶装置によって、記憶部３３０の一部の機能を実現してもよい。
【００７５】
発光素子駆動部３４０は、ブレーキランプ等に使用されるＬＥＤ等の発光素子５２を駆動する。例えば、本実施形態では、制御部３１０は、車両玩具１０の減速制御時（ブレーキング時）に、発光素子５２を発光させる制御を行う。具体的には、車両玩具１０の減速時に、制御部３１０からの指示信号に基づいて、発光素子駆動部３４０が発光素子５２を駆動して発光させ、ブレーキランプの点灯を疑似的に表現する。
【００７６】
駆動部３５０（モータ駆動部）は、制御部３１０の制御の下でモータ３０を駆動する。モータ３０（原動機）は、車両玩具１０（移動玩具）のボディ１２に搭載されており、所与の動力（電力）が供給されて、車両玩具１０を走行（移動）させる。
【００７７】
例えば、車両玩具１０を走行させる場合には、駆動部３５０は、モータ３０をＰＷＭ駆動する。この場合のＰＷＭ駆動のデューティは、記憶部３３０から読み出された走行制御データである動力設定データ（電力設定データ）により設定される。そして、車両玩具１０の走行速度は、ＰＷＭ駆動のデューティにより制御できる。また、車両玩具１０の加速制御を行う場合には、例えば、１００パーセントなどの高いデューティに対応する電圧をモータ３０に印加する。一方、減速制御を行う場合には、例えば、通常走行時とは逆極性の電圧をモータ３０に印加する。
【００７８】
また、本実施形態では、センサ５０からの検知結果に基づいて、ボディ１２（シャシ１６）の接地面側がコース６０に所定時間以上対向していないと判断された場合に、モータ３０への電力（動力）の供給を停止して、モータ３０を停止させる。すなわちＰＷＭ駆動を停止して、モータ３０の回転動作を停止させる。その際に、モータ３０の慣性による回転動作を逆極性の電圧印加により減速した後に、電力供給を停止してもよい。
【００７９】
センサコントローラ３６０は、センサ５０の制御等を行うコントローラである。具体的には、センサ５０からの検知信号を受けて、検知信号に対応するデータを制御部３１０に出力する。例えば、センサ５０が反射型のフォトセンサである場合には、センサ５０は、ＬＥＤ等の発光素子により実現される投光部と、検知対象からの反射光を受光する受光部を有する。この場合に、センサコントローラ３６０は、発光素子を発光させたり、受光部からの検知信号を検出する処理などを行う。また、センサ５０が赤外線受光部の設置される赤外線センサを含む構成とした場合は、センサコントローラ３６０は、センサ５０の赤外線受光部からの検知信号を検出する処理を行う。
【００８０】
外部インターフェース（Ｉ／Ｆ）部３７０は、外部機器とのインターフェース処理を行うものである。具体的には、外部機器であるゲーム装置４００から走行制御データなどのデータを受信したり、ゲーム装置４００に対して実走行結果データなどのデータを送信する。なお、センサ５０が赤外線受光部の設置される赤外線センサを含む構成とした場合は、センサコントローラ３６０が外部インターフェース部３７０を兼用することとなる。
【００８１】
すなわち、外部Ｉ／Ｆ部３７０によるインターフェースは、ＲＳ２３２ＣやＵＳＢなどの有線のインターフェースにより実現してもよいし、赤外線などの無線のインターフェースにより実現してもよい。例えば赤外線通信（ＩＲＤＡ）により、外部Ｉ／Ｆ部３７０のインターフェースを実現する場合には、車両玩具１０の例えば裏面側に赤外線の受光センサを設ける。そしてゲーム装置側（ゲーム装置本体やゲーム装置に装着されるＩＣカード）の発光素子からの赤外線を、この受光センサで検知することで、ゲーム装置からの走行制御データ（動作制御データ）等のデータを車両玩具１０にダウンロードする。また、車両玩具１０の例えば裏面側に赤外線の発光素子を設ける。そして、この発光素子からの赤外線をゲーム装置側の受光センサにより検知することで、車両玩具１０の走行結果データ（動作結果データ）等のデータを、ゲーム装置にアップロードする。
【００８２】
こうして、センサコントローラ３６０によって、外部機器であるゲーム装置１００から走行制御データなどのデータを赤外線センサによるＩＲＤＡ通信で受信することによって、車両玩具１０の走行動作を制御したり、ゲーム装置１００に対して実走行結果データなどのデータを送信する。このように、センサ５０として、赤外線センサを設けることによって、近距離通信に好適なＩＲＤＡ通信による車両玩具１０の動作制御が可能になる。また、また複数の車両玩具をレースさせるために、同時にコース上に走行させる場合に、これらの車両玩具間における混線によるトラブル等を抑制できる。
【００８３】
そして、本実施形態では、記憶部３３０は、コース６０での移動玩具（狭義には、車両玩具１０）の走行を制御するためのデータである走行制御データを記憶する。この走行制御データは、移動玩具の各コース区間での速度等を設定するためのデータである。
【００８４】
また、センサ５０は、コース６０に設けられた複数のマーカＭＣ１〜ＭＣ１６の各マーカを検知する。例えば、移動玩具が各マーカの設置位置を通過した時に、その通過を検知し、移動玩具がどのコース区間に位置するのかを検出する。
【００８５】
そして、記憶部３３０は、走行制御データとして、コース６０の各コース区間において原動機（狭義にはモータ３０）に供給される動力の大きさを設定する動力設定データを、コース６０の各コース区間に対応づけて記憶する。当該動力設定データは、例えば、モータ３０に供給される電力（実効電圧）の設定データであり、具体的には、モータ３０をＰＷＭ駆動する際のデューティを設定するためのデータである。
【００８６】
３．ゲーム装置
図５に本実施形態のゲーム装置（画像生成装置）の外観図を示す。ここではゲーム装置の一例として携帯型ゲーム装置を示している。なお、本実施形態のゲーム装置は、このような携帯型ゲーム装置には限定されず、例えば、携帯型ゲーム装置以外のゲーム装置や、ゲームプログラムの実行が可能な携帯型情報端末や携帯電話機などの種々のゲーム装置に適用できる。
【００８７】
図５のゲーム装置４００は、タッチパネル型の表示部１９０と、通常の表示部１９１を有する。また操作部として機能する方向指示キー（十字キー）４０１、操作ボタン４０２や、音出力部として機能するスピーカ４０４、４０６を有する。また、情報記憶媒体として機能するＩＣカード４１０（ゲームカード、ゲームカートリッジ）が着脱自在に装着されるカードスロット４１２を有する。このＩＣカード４１０には、ゲームプログラム（ゲームデータ）が記憶される。なお、スタイラスペン４２０は、タッチパネル型の表示部１９０へのタッチ操作を、プレーヤ（ユーザ）の指の代わりに行うために使用される。
【００８８】
表示部１９０、１９１には、種々の画像（メニュー画面、シミュレーション画像、ゲーム画像）が表示される。例えば、タッチパネル型の表示部１９０には、後述する走行制御データの設定画面が表示される。また、表示部１９１には、シミュレーション画像（ゲーム画像）が表示される。具体的には、コース６０に対応する仮想コース４３０（コース６０を模した仮想空間内のコース）が表示される。また、車両玩具１０に対応する仮想移動体４４０（車両玩具を模した移動オブジェクト）が表示され、仮想移動体４４０が仮想コース４３０で走行する様子が表示される。これらの表示部１９０、表示部１９１は、ＴＦＴなどのカラー液晶ディスプレイにより構成できる。そして、タッチパネル型の表示部１９０では、カラー液晶ディスプレイの上面（或いは下面）にタッチパネルが一体的に形成されており、これによりタッチ操作による操作入力が可能になる。
【００８９】
図６に本実施形態のゲーム装置４００の機能ブロック図の例を示す。なお、本実施形態のゲーム装置４００は、図６の構成要素（各部）の一部を省略した構成としてもよい。
【００９０】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、方向指示キー、操作ボタン、或いはジョイスティックなどにより実現できる。
【００９１】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＤＲＡＭ、ＶＲＡＭ）などにより実現できる。この記憶部１７０は、走行特性データ記憶部１７２、コースデータ記憶部１７３、走行制御データ記憶部１７４、走行検知データ記憶部１７５、および描画バッファ１７８を含む。
【００９２】
走行特性データ記憶部１７２は、走行特性データを記憶する。この走行特性データは、コース上を移動する移動玩具の走行特性（加速特性、ブレーキング特性、コーナリング特性等）に基づき設定されたデータである。コースデータ記憶部１７３は、コースデータ（コース特性データ）を記憶する。このコースデータは、移動玩具が移動するコースのコース特性（コース長、コース幅、コーナー曲率等）に基づき設定されたデータである。走行制御データ記憶部１７４は、走行制御データを記憶する。この走行制御データ（動作制御データ）は、コースでの移動玩具の走行（速度、加速度、旋回等）を制御するためのデータである。走行検知データ記憶部１７５は、車両玩具１０が走行した際のセンサ５０による検知結果である走行検知データ（コースアウト発生区間、ジャンプ空間、滞空時間等）を記憶する。
【００９３】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、ＩＣカード（メモリーカード）、光ディスク（ＣＤ、ＤＶＤ）、ＨＤＤ（ハードディスクドライブ）、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。すなわち、情報記憶媒体１８０には、本実施形態の各部としてコンピュータ（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００９４】
タッチパネル型の表示部１９０は、プレーヤ（ユーザ）が種々の操作を行ったり、本実施形態により生成された画像を表示するためのものであり、例えば、ＬＣＤ、有機ＥＬなどのディスプレイと、それに一体的に形成されたタッチパネルなどにより実現できる。タッチパネル方式としては、抵抗膜方式（４線式、５線式）、静電容量結合方式、超音波表面弾性波方式、赤外線走査方式などがある。
【００９５】
表示部１９１は、本実施形態により生成された画像を表示するためのものであり、例えばＬＣＤ、有機ＥＬなどのディスプレイにより実現できる。なお、表示部１９１としてタッチパネル型のディスプレイを用いてもよい。
【００９６】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォン端子などにより実現できる。
【００９７】
補助記憶装置１９４（補助メモリ、２次メモリ）は、記憶部１７０の容量を補うために使用される記憶装置であり、ＳＤメモリーカード、マルチメディアカードなどのＩＣカードにより実現できる。この補助記憶装置１９４は、脱着自在になっているが、内蔵されるものであってもよい。この補助記憶装置１９４は、ゲームの途中結果などのセーブデータや、プレーヤ（ユーザ）の個人的な画像データや音楽データなどを保存するために使用される。
【００９８】
通信部１９６は、有線や無線の通信網（ネットワーク）を介して外部（例えば、移動玩具、サーバ、他のゲーム装置等）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣまたは通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【００９９】
例えば、ゲーム装置４００と移動玩具１０との間でデータの送受信を行う場合には、通信部１９６の機能は、ＲＳ２３２ＣやＵＳＢなどの規格にしたがってデータ転送を行う転送コントローラにより実現できる。この場合に、この転送コントローラを図５に示すＩＣカード４１０に内蔵させてもよい。また、ＩＣカード４１０に、カードなどの外部情報記憶媒体の情報を読み取るバーコードリーダ等のコントローラをさらに内蔵させてもよい。また、ゲーム装置４００と移動玩具１０との間で、通信部１９６により無線によりデータを送受信するようにしてもよい。或いは、ＵＳＢメモリなどの携帯型記憶装置を用いて、ゲーム装置と移動玩具との間でデータを送受信してもよい。
【０１００】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバ（ホスト装置）が有する情報記憶媒体からネットワークおよび通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０、補助記憶装置１９４）に配信してもよい。このようなサーバ（ホスト装置）による情報記憶媒体の使用も、本発明の範囲内に含めることができる。
【０１０１】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理（シミュレーション処理）、画像生成処理、或いは音生成処理などを行う。この場合のゲーム処理としては、ゲームの内容やゲームモードを決定する処理、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＧＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【０１０２】
処理部１００は、シミュレーション処理部１０２、送信処理部１０４、受信処理部１０６、認証処理部１０８、比較処理部１１０、表示制御部１１２、成績評価部１１４、アップロード処理部１１６、設定変更部１３０を含む。なお、これらの一部の構成要素（例えば、認証処理部、比較処理部等）を省略する構成としてもよい。
【０１０３】
シミュレーション処理部１０２は、移動玩具１０に対応する仮想移動体を移動（動作）させるシミュレーションを行う。例えば、コースに対応する仮想コース上で仮想移動体を走行させるシミュレーション処理を行う。このシミュレーション処理は、例えばゲーム処理の一部として行われる。
【０１０４】
具体的には、シミュレーション処理部１０２は、移動玩具１０に対応して設けられ走行特性データに基づきその走行特性が設定される仮想移動体を、コースに対応して設けられて、コースデータに基づきそのコース特性が設定される仮想空間内の仮想コースにおいて、走行制御データにしたがって走行させるシミュレーション処理を行う。そして、走行シミュレーションの結果データを生成する。
【０１０５】
この場合のシミュレーション処理は、通常のレーシングゲームと同様に、仮想移動体の移動情報（位置、回転角度、速度、或いは加速度）を、１フレーム（１／６０秒）毎に順次求める処理を行うことで実現してもよい。すなわち、仮想移動体の加速性能、最高速性能、ブレーキング性能、或いはコーナリング性能等を、走行特性データにより設定する。また、コースデータを、通常のレーシングゲームと同様の手法により設定する。例えば、コースに沿って設定された複数のサンプリングポイントの各サンプリングポイントに対して、コース幅やコース方向などを対応づけたコースデータを用意する。そして、このコースデータを用いて、移動玩具が走行する実際のコース（例えば、基本コースや店舗の特設コース等）に対応した仮想コースを、仮想空間（ゲーム空間）内に構築する。そして、レーシングゲームで一般的に使用される自動走行アルゴリズムにより、仮想移動体を仮想コース内で走行させるシミュレーション処理を行う。そして必要であれば、図５に示すように、仮想移動体４４０が仮想コース４３０上で走行する様子を、表示部１９１に表示する。
【０１０６】
或いは、このような仮想移動体のリアルタイムなシミュレーション移動処理は行わずに、走行特性データやコースデータを入力データとし、ラップタイムなどの走行シミュレーション結果データを出力データとするテーブルデータを用いて、シミュレーション処理を実現してもよい。このテーブルデータは、記憶部１７０の図示しないテーブルデータ記憶部に記憶される。そして、シミュレーション処理部１０２は、このテーブルデータを用いて、シミュレーション処理を実行する。この場合のテーブルデータは、例えば、移動玩具のメーカが実際の移動玩具を実際のコースで走行させることで、様々な条件のテーブルデータを用意する。例えば、同じコースで同じ種類（車種）の移動玩具であっても、移動玩具に装着されるパーツが異なる場合には、異なった走行シミュレーション結果データになるように、複数のテーブルデータの各テーブルデータを作成する。そして、作成したテーブルデータをゲームソフトのデータとして情報記憶媒体１８０に格納したり、ネットワーク、通信部１９６を介して外部からダウンロードできるようにする。
【０１０７】
送信処理部１０４は、移動玩具に対してデータを送信するための処理を行う。例えば、送信するデータを記憶部１７０に用意したり、データの送信を通信部１９６に指示する。具体的には、送信処理部１０４は、走行制御データを移動玩具に送信するための処理を行う。例えば、コースの各コース区間に対応づけられた走行制御データ（動力設定データ、電力設定データ）を送信する。或いは走行制御データとして、コースデータ取得用の走行制御データを移動玩具に送信してもよい。
【０１０８】
受信処理部１０６は、移動玩具からのデータを受信するための処理を行う。例えば、データの受信を通信部１９６に指示したり、受信したデータを記憶部１７０に保存する。具体的には、受信処理部１０６は、送信処理部１０４により送信された走行制御データに基づき移動玩具がコースを走行することで得られた実走行結果データを、移動玩具から受信するための処理を行う。この場合に、コースの各コース区間での移動玩具の実走行ラップタイムデータを、実走行結果データとして受信してもよいし、コースの各コース区間での移動玩具の実加減速データを、実走行結果データとして受信してもよい。或いは、送信されたコースデータ取得用走行制御データに基づき移動玩具がコースを走行することで得られたコースデータ取得用の実走行結果データを、受信してもよい。また、受信処理部１０６は、移動玩具が走行した際のセンサ５０による検知結果である走行検知データ（コースアウト発生区間、ジャンプ空間、滞空時間等）を受信して、走行検知データ記憶部１７５に保存する。このように、受信処理部１０６を制御することによって、移動玩具の検知結果を受信して、当該検知結果を元にゲーム装置がより好適な走行制御データを移動玩具に送信することができる。
【０１０９】
認証処理部１０８は、移動玩具から受信したデータの認証処理を行う。例えば、受信した実走行結果データが正当なデータ（アップロード等が許可されるデータ）であるか否かを認証する。具体的には、移動玩具がコースのスタート地点からスタートしてコースのゴール地点を通過したと判定された場合に、実走行結果データが正当なデータであると判断する。例えば、スタート地点に対応するコース区間とゴール地点に対応するコース区間を移動玩具が通過したとセンサからの検知情報に基づき判断された場合に、その走行により得られた実走行結果データが正当なデータであると判断する。この場合に、コースの全てのコース区間（マーカ）を通過（検知）したことを条件に、その実走行結果データが正当なデータであると判断してもよい。或いは、移動玩具がコースでジャンプして、センサの検出が読み飛ばされることを考慮し、一定の割合（例えば９０パーセント）以上のコース区間（マーカ）を通過（検知）したことを条件に、正当なデータであると判断してもよい。
【０１１０】
比較処理部１１０は、データの比較処理を行う。例えば、受信処理部１０６により受信された実走行結果データと、シミュレーション処理部１０２でのシミュレーション処理により得られた走行シミュレーション結果データとの比較処理を行う。この場合の比較処理としては、例えば、各コース区間での実走行ラップタイムと、そのコース区間に対応する各仮想コース区間でのシミュレーションラップタイムを比較し、その差分を求める処理などがある。或いは、各コース区間での実加減速データと、各仮想コース区間でのシミュレーション加減速データの比較処理を行ってもよい。そして、このような比較処理を行うことによって、実走行結果を向上させるのに必要なパーツを特定する。そして、表示制御部１１２は、この比較処理での比較結果に基づいて、移動玩具のパーツ変更のアドバイス画面（変更パーツ表示画面）を表示する制御を行う。
【０１１１】
表示制御部１１２は、表示部１９０、１９１の表示制御を行う。例えば、処理部１００で行われる種々の処理（シミュレーション処理、ゲーム処理）の結果に基づいて、描画バッファ１７８への画像の描画処理を行い、これにより画像（例えば、図５の走行制御データ設定画面の画像、シミュレーション画像）を生成し、生成された画像を表示部１９０、１９１に表示する。この場合に、生成する画像は、いわゆる２次元画像であってもよいし、３次元画像であってもよい。そして、３次元画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１または複数プリミティブ面）を描画バッファ１７８（フレームバッファ、中間バッファなどのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、仮想空間（オブジェクト空間）内において仮想カメラ（所与の視点）から見える画像が生成される。
【０１１２】
そして、本実施形態では、表示制御部１１２は、実走行結果データをコースの各コース区間に対応づけて表示する制御を行う。具体的には、実走行結果データであるラップタイムデータや加減速データを、コースの各コース区間に対応づけて表示する。或いは、シミュレーション処理により得られた走行シミュレーション結果データに対して、実走行結果データを関連づけて表示してもよい。
【０１１３】
成績評価部１１４（成績演算部）は、プレーヤのプレイ成績（走行成績、得点、ポイント、勝敗）の評価処理（演算処理）を行う。例えば、受信した実走行結果データ（実動作結果データ）に基づいて、移動玩具についてのプレーヤのプレイ成績を評価する。或いはプレーヤのゲームプレイのプレイ成績を評価してもよい。
【０１１４】
アップロード処理部１１６は、データのアップロード処理を行う。具体的には、通信部１９６およびネットワークを介して、プレーヤの実走行結果データなどのプレイ成績を、外部のサーバ等にアップロードする処理を行う。これにより、サーバの管理の下でプレーヤの実走行結果データのランキング表示などが可能になる。この場合に、受信した実走行結果データが正当なデータであると認証処理部１０８により判断された場合に、正当なデータであると判断された実走行結果データを、ネットワークを介してアップロードしてもよい。すなわち、正当な実走行結果データについてはアップロードを許可し、不正な実走行結果データについてはアップロードを許可しないようにする。
【０１１５】
設定変更部１３０は、種々の設定の変更処理を行う。例えば、設定変更部１３０は、移動玩具のパーツ変さらに対応して走行特性データの設定内容を変更する処理を行う。例えばプレーヤが、自身が所有する移動玩具のモータ、タイヤ等のパーツを変更し、後述するパーツの選択画面等において、その変更を入力（登録）すると、設定変更部１３０は、それに応じて走行特性データの設定内容（走行シミュレーションのアルゴリズムのパラメータや、使用するテーブルデータ等）を変更する。そしてシミュレーション処理部１０２は、変更後の走行特性データに基づいて、仮想移動体を仮想コースで走行させるシミュレーション処理を行う。
【０１１６】
具体的には、設定変更部１３０は、移動玩具が有する原動機（モータ、エンジン）の変さらに対応して、走行特性データのうちの加速特性データ（馬力、トルクデータ）を変更する。例えば、プレーヤが移動玩具のモータを別の種類のモータに取り替えた場合には、それに応じて仮想移動体の加速特性も変更する。そしてシミュレーション処理部１０２は、変更後の加速特性データに基づき、その加速特性が設定される仮想移動体を、仮想コースで走行（疑似走行）させるシミュレーション処理を行う。また、設定変更部１３０は、移動玩具が有するタイヤの変さらに対応して、走行特性データのうちのコーナリング特性データ（グリップ能力、旋回能力）を変更する。例えば、プレーヤが移動玩具のタイヤを別の種類のタイヤに取り替えた場合には、それに応じて仮想移動体のコーナリング特性も変更する。そしてシミュレーション処理部１０２は、変更後のコーナリング特性データに基づきそのコーナリング特性が設定される仮想移動体を、仮想コースで走行させるシミュレーション処理を行う。
【０１１７】
４．本実施形態の手法
４．１．走行制御データの設定
次に、本実施形態の手法について説明する。まず、走行制御データ（広義には、動作制御データ）の設定手法について説明する。
【０１１８】
図７に走行制御データの設定画面の例を示す。この設定画面は、図５に示すようにタッチパネル型の表示部１９０に表示され、プレーヤは、この設定画面において、図１（Ａ）のコース６０の各コース区間ＣＳ１〜ＣＳ１６での走行制御データを設定する。
【０１１９】
例えば、走行制御データの雛形データ（メーカ側が用意するデフォルトのデータ）が存在する場合や、過去に設定して保存した走行制御データが存在する場合には、図７のＪ１に示すアイコンをタッチパネル型表示部１９０へのタッチ操作により選択して、そのセッティング内容を読み出す。また、走行制御データの設定が完了した場合には、Ｊ２に示すアイコンを選択して、そのセッティング内容を保存する。また、走行制御データを車両玩具１０に送信する場合には、Ｊ３に示すアイコンを選択する。一方、実走行結果データ（走行検知データ）等を車両玩具１２から受信（アップロード）する場合には、Ｈ１に示すアイコンを選択する。
【０１２０】
また、コース選択画面を表示してコースを選択する場合には、Ｈ２に示すアイコンを選択し、コース周回数選択画面を表示してコースの周回数を設定する場合には、Ｈ３に示すアイコンを選択し、キャラクタ選択画面を表示して車両玩具１０を仮想的に操作するキャラクタを選択する場合には、Ｈ４に示すアイコンを選択する。
【０１２１】
また、図７のＪ４では、スタート地点に対応する第１のコース区間ＣＳ１での走行制御データとして、「６１」が設定されている。この場合の走行制御データは、モータ３０の動力設定データ（電力設定データ）であり、具体的には、後述するＰＷＭ駆動におけるデューティである。走行制御データを「６１」を設定することで、第１のコース区間ＣＳ１では、６１パーセントのデューティでモータ３０がＰＷＭ駆動される。すなわち、第１のコース区間ＣＳ１は、距離の長い直線の区間であるため、プレーヤは、高いデューティを設定して、車両玩具を加速させる。
【０１２２】
また、図７のＪ５では、次の第２のコース区間ＣＳ２での走行制御データとして、「１０」が設定されている。すなわち、第２のコース区間ＣＳ２は、急カーブの区間であるため、コースアウトしないように、プレーヤは、低いデューティを設定して、車両玩具１０を減速させる。
【０１２３】
また、図７のＪ６では、次の第３のコース区間ＣＳ３での走行制御データとして、「２９」が設定されている。すなわち、第３のコース区間ＣＳ３は、図７に示すように、第２のコース区間ＣＳ２と立体交差するためのスロープ状の区間であるため、プレーヤは、直線状の第１のコース区間ＣＳ１より低く、かつカーブ状の第２のコース区間ＣＳ２よりも高いデューティを設定して、車両玩具１０を加速させる。同様にして、コース区間ＣＳ３〜ＣＳ７の走行制御データを設定し、Ｊ７に示すように第１の周回コース６１の最終の第８のコース区間ＣＳ８の走行制御データを設定する。またＪ８、Ｊ９、Ｊ１０、Ｊ１１等に示すように、第２の周回コース６２の各コース区間ＣＳ９〜ＣＳ１６の走行制御データを設定する。
【０１２４】
図８のＪ２０では、プレーヤは、スタイラスペン４２０を用いたドラッグ操作により、走行制御データを設定している。図８のＪ２０では、ドラッグ操作により走行制御データが「６２」に設定され、その後にＪ２１に示すアイコンを選択することで、「６２」の走行制御データの設定が確定する。なお、設定をキャンセルする場合には、Ｊ２２に示すアイコンを選択する。
【０１２５】
全てのコース区間についての走行制御データの設定が完了すると、プレーヤは、図８のＪ３に示すアイコンを選択する。そして、ゲーム装置４００から車両玩具１０への全ての走行制御データの送信（ダウンロード）が完了すると、図９に示すような画面が表示される。
【０１２６】
以上の本実施形態の走行制御データの設定手法によれば、プレーヤは、複数のコース区間の走行制御データを、簡素な作業で効率良く入力することが可能になる。
【０１２７】
４．２．走行制御データによる速度制御
次に、本実施形態の走行制御データによる速度制御の手法について説明する。
【０１２８】
図１０（Ａ）に走行制御データのデータ構造の例を示す。図１０（Ａ）では、ＣＳ１〜ＣＳＮの各コース区間に対して、ＤＳ１〜ＤＳＮの各走行制御データが対応づけられて、図６の走行制御データ記憶部１７４に記憶される。具体的には、走行制御データとして、各コース区間においてモータに供給される動力（電力）の大きさを設定する走行制御データ（動力設定データ）が、各コース区間ＣＳ１〜ＣＳＮに対応づけて記憶される。
【０１２９】
この走行制御データは、図７〜図９で説明した手法により設定できる。図７を例にとれば、第１のコース区間ＣＳ１には、ＤＳ１＝６１、第２のコース区間ＣＳ２には、ＤＳ２＝１０というように走行制御データが設定される。そして、ＤＳ１＝６１と設定された第１のコース区間ＣＳ１では、車両玩具の速度が速くなり、ＤＳ２＝１０と設定された第２のコース区間ＣＳ２では、車両玩具の速度が遅くなる。
【０１３０】
また、図１０（Ｂ）に示すように、車両玩具ＭＴに設けられたセンサにより、コース上のマーカＭＣｉ＋１（ｉは自然数）が検知される。これにより、車両玩具ＭＴがコース区間ＣＳｉからコース区間ＣＳｉ＋１に進入したことが検出される。なお、マーカＭＣｉ＋１は、例えば、コースブロックに一体形成されて埋め込まれる樹脂部材等により実現してもよいし、コースブロックに貼り付けられた白色のテープにより実現してもよい。或いはＩＣタグなどのデバイスにより実現してもよい。
【０１３１】
さらに、本実施形態では、図１０（Ａ）に示すように、各コース区間ＣＳ１〜ＣＳＮに対応づけられた走行制御データＤＳ１〜ＤＳＮに基づいて、車両玩具１０のコースアウト、ジャンプ検出の判定時間（所定時間）ＴＳ１〜ＴＳＮを可変に設定できる。
【０１３２】
前述で説明したように、車両玩具１０を走行させるコース６０は、図１（Ａ）に示すように、直線形状、カーブ形状、およびスロープ形状の各種構成を有する複数のコースパーツＣＰ１〜ＣＰ１６が連結されて構成され、各コースパーツＣＰ１〜ＣＰ１６に対応して、直線、カーブ、およびスロープが配置される各コース区間ＣＳ１〜ＣＳＮが設定される。すなわち、各コース区間ＣＳ１〜ＣＳＮの状態および長さは、各コース区間ＣＳ１〜ＣＳＮごとに異なる。このため、センサ５０が各マーカＭＣ１〜ＭＣ１６を検知する時間間隔も異なることとなる。
【０１３３】
例えば、同じ直線コース区間でも、図１１（Ａ）に示すように、第１のコース区間ＣＳ１は、第７のコース区間ＣＳ７よりも長いので、その長さに応じて、マーカ検知の時間間隔が大きくなる。すなわち、ジャンプ検出の判定時間（所定時間）は、図１１（Ｃ）に示すように、第１のコース区間用判定時間ＴＳ１の方が第７のコース区間用判定時間ＴＳ７よりも大きい値となる。
【０１３４】
また、カーブ形状のコース区間では、図１２（Ａ）に示すように車両玩具１０を加速すると、図１２（Ｂ）に示すように、車両玩具１０がコースアウトし易い。このため、車両玩具ＭＴが通常にコース６０上を走行している場合では、図１１（Ｂ）に示すように、各コース区間ＣＳ１〜ＣＳ１６に対応する各マーカＭＣ１〜ＭＣ１６をセンサ５０がセンシングするが、カーブコース区間でコースアウトした場合では、図１１（Ｃ）のＡ、Ｄに示すように、センサ５０が当該コース区間の終端側に有するマーカＭＣ３、ＭＣ９を検知しない。このため、このようなカーブコース区間ＣＳ２、ＣＳ４、ＣＳ８では、直線コース区間ＣＳ１、ＣＳ７よりも判定時間を短く設定する。
【０１３５】
さらに、スロープ形状のコース区間では、図１３（Ａ）に示すように車両玩具１０を加速すると、図１３（Ｂ）に示すように、車両玩具１０がジャンプし易い。このため、車両玩具ＭＴが通常にコース６０上を走行している場合では、図１１（Ｂ）に示すように、各コース区間ＣＳ１〜ＣＳ１６に対応する各マーカＭＣ１〜ＭＣ１６をセンサ５０がセンシングするが、スロープコース区間でジャンプした場合では、図１１（Ｃ）のＢ、Ｃに示すように、センサ５０がマーカＭＣ４、ＭＣ６を検知しない。このため、スロープコース区間ＣＳ３、ＣＳ５では、直線コース区間ＣＳ１、ＣＳ７よりも判定時間を短く設定する。
【０１３６】
このように、本実施形態では、車両玩具１０のコースアウトやジャンプを検出するための判定時間（所定時間）ＴＳ１〜ＴＳＮを各コース区間ＣＳ１〜ＣＳＮの状態および長さに応じて可変に設定する。各コース区間ＣＳ１〜ＣＳＮの状態および長さ等のコース情報は、走行制御データＤＳ１〜ＤＳＮに反映されるので、当該判定時間（所定時間）ＴＳ１〜ＴＳＮは、第１〜第Ｎの走行制御データに基づいて可変に設定されることとなる。このため、各コース区間ＤＳ１〜ＤＳＮの形状や長さ等の状態に応じた適切な判定時間（所定時間）ＴＳ１〜ＴＳＮを設定できるようになる。
【０１３７】
なお、本実施形態では、図１１（Ａ）に示すように、コース６０が所与の基準輝度ＢＤより小さい黒色等の基準輝度未満に設定され、マーカＭＣ１〜ＭＣ１６を白色等の基準輝度以上に設定している。このため、センサ５０が検知対象となるコース６０およびマーカＭＣ１〜ＭＣ１６の輝度をセンシングし、図１１（Ｂ）に示すように、センサ５０の検知結果が当該基準輝度未満から基準輝度以上になったと判断した場合に、マーカマーカＭＣ１〜ＭＣ１６が検出されたと判定される。コース６０とマーカＭＣ１〜ＭＣ１６との輝度の関係は、所与の基準輝度ＢＤを介して、双方が互いに逆の輝度となっていればよい。
【０１３８】
すなわち、図１４（Ａ）に示すように、コース６０が所与の基準輝度ＢＤより大きい白色等の基準輝度以上に設定され、マーカＭＣ１〜ＭＣ１６を黒色等の基準輝度未満に設定してもよい。このように設定することによって、車両玩具１０の走行中に、センサ５０が検知対象となるコース６０およびマーカＭＣ１〜ＭＣ１６の輝度をセンシングし、図１４（Ｂ）に示すように、センサ５０の検知結果が基準輝度以上から基準輝度未満になったと判断した場合に、マーカＭＣ１〜ＭＣ１６が検出されたと判定される。
【０１３９】
また、このように、コース６０を赤外線反射率の高い基準輝度以上に、マーカＭＣ１〜ＭＣ１６を当該反射率の低い基準輝度未満に設定した場合では、センサ５０として反射型フォトセンサを使用すると、センサ５０によって車両玩具１０がコース上を走行しているか否かを常に監視できる。すなわち、反射型フォトセンサでは、外乱光と対向しても、検知対象の反射光を当該フォトセンサの受光部が受光できないので、車両玩具１０がコースアウトしたら、検知対象の輝度が基準輝度以上から基準値未満に変化する。このため、マーカＭＣ１〜ＭＣ１６の読み飛ばしがあっても、車両玩具１０がコースアウトやジャンプした際には、車両玩具１０の接地面がコースと対向しなくなったと判定されるので、車両玩具１０のコースアウトの判定が容易になる。
【０１４０】
４．３．ＰＷＭ駆動
本実施形態の車両玩具１０のように原動機がモータである場合には、モータは、ＰＷＭ方式により駆動することが望ましい。すなわち、走行制御データにより設定されるデューティで原動機であるモータをＰＷＭ駆動する。例えば、図１５（Ａ）に示すように。走行制御データが「６０」に設定されていた場合には、デューティが６０パーセントのＰＷＭの駆動波形でモータを駆動する。また、走行制御データが「４０」に設定されていた場合には、デューティが４０パーセントのＰＷＭの駆動波形でモータを駆動する。このようにモータをＰＷＭ駆動すれば、モータは、デューティに対応した実効電圧で駆動されるようになるため、デューティを変化させることで、車両玩具ＭＴを所望の速度で移動させることが可能になる。
【０１４１】
例えば、図１５（Ａ）において、車両玩具ＭＴがコース区間ＣＳｉに位置している時には、コース区間ＣＳｉの走行制御データにより設定される第ｉのデューティＤＴｉでモータをＰＷＭ駆動する。一方、図１５（Ｂ）において、車両玩具ＭＴがコース区間ＣＳｉからＣＳｉ＋１に進入した場合には、コース区間ＣＳｉ＋１の走行制御データにより設定される第ｉ＋１のデューティＤＴｉでモータをＰＷＭ駆動する。例えばコース区間ＣＳｉに設定されるデューティＤＴｉ＝６０の場合には、図１５（Ａ）の６０パーセントのデューティのＰＷＭ駆動波形でモータを駆動し、コース区間ＣＳｉ＋１に設定されるデューティＤＴｉ＝４０の場合には、図１５（Ａ）の４０パーセントのデューティのＰＷＭ駆動波形でモータを駆動する。
【０１４２】
４．４．駆動部
次に、図４の駆動部３５０の詳細な構成および動作について説明する。図１６に駆動部３５０の回路構成例を示す。図１６に示すように、駆動部３５０は、第１〜第４のトランジスタＴＲ１〜ＴＲ４を含む。また、第５、第６のトランジスタＴＲ５、ＴＲ６や、ダイオードＤＩ１〜ＤＩ４や、抵抗Ｒ１〜Ｒ６を含むことができる。ここで、トランジスタＴＲ１〜ＴＲ６は、例えば電界効果型のトランジスタ（ＦＥＴ）である。なお、トランジスタＴＲ１〜ＴＲ６は、ＭＯＳ型ＦＥＴであってもよいし、接合型ＦＥＴであってもよく、或いはバイポーラ型のトランジスタであってもよい。また、本実施形態の駆動部３５０は、図１６の構成に限定されず、その構成要素の一部（例えば、トランジスタＴＲ５、ＴＲ６、ダイオードＤＩ１〜ＤＩ４等）を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【０１４３】
Ｐ型のトランジスタＴＲ１は、第１の電源ＶＤＤのノードＮＤと、モータ３０の第１の端子ＴＭ１のノードＮＴ１との間に設けられる。具体的には、トランジスタＴＲ１は、そのソース、ゲート、ドレインに、各々、ノードＮＤ、Ｎ１、ＮＴ１が接続される。またノードＮＤとＮ１の間には抵抗Ｒ１が設けられる。
【０１４４】
Ｐ型のトランジスタＴＲ２は、ノードＮＤと、モータ３０の第２の端子ＴＭ２のノードＮＴ２との間に設けられる。具体的には、トランジスタＴＲ２は、そのソース、ゲート、ドレインに、各々、ノードＮＤ、Ｎ２、ＮＴ２が接続される。またノードＮＤとＮ２の間には抵抗Ｒ２が設けられる。
【０１４５】
Ｎ型のトランジスタＴＲ３は、ノードＮＴ１と第２の電源ＶＳＳ（ＧＮＤ）のノードＮＳとの間に設けられる。具体的には、トランジスタＴＲ３は、そのソース、ゲート、ドレインに、各々、ノードＮＳ、Ｎ３、ＮＴ１が接続される。また、ノードＮ３とＮＳの間には、抵抗Ｒ３が設けられ、ノードＮ３には、制御信号ＳＧ３が入力される。
【０１４６】
Ｎ型のトランジスタＴＲ４は、ノードＮＴ２とＮＳとの間に設けられる。具体的には、トランジスタＴＲ４は、そのソース、ゲート、ドレインに、各々、ノードＮＳ、Ｎ４、ＮＴ２が接続される。また、ノードＮ４とＮＳの間には、抵抗Ｒ４が設けられ、ノードＮ４には、制御信号ＳＧ４が入力される。
【０１４７】
Ｎ型のトランジスタＴＲ５は、ノードＮ１とＮＳの間に設けられる。具体的には、トランジスタＴＲ５は、そのソース、ゲート、ドレインに、各々、ノードＮＳ、Ｎ５、Ｎ１が接続される。また、ノードＮ５とＮＳの間には、抵抗Ｒ５が設けられ、ノードＮ５には、制御信号ＳＧ５が入力される。
【０１４８】
Ｎ型のトランジスタＴＲ６は、ノードＮ２とＮＳの間に設けられる。具体的には、トランジスタＴＲ６は、そのソース、ゲート、ドレインに、各々、ノードＮＳ、Ｎ６、Ｎ２が接続される。また、ノードＮ６とＮＳの間には、抵抗Ｒ６が設けられ、ノードＮ６には、制御信号ＳＧ６が入力される。
【０１４９】
また、ダイオードＤＩ１は、ノードＮＤとＮＴ１の間に設けられ、ダイオードＤＩ２は、ノードＮＤとＮＴ２の間に設けられ、ダイオードＤＩ３は、ノードＮＴ１とＮＳの間に設けられ、ダイオードＤＩ４は、ノードＮＴ２とＮＳの間に設けられる。
【０１５０】
図４の駆動部３４０では、車両玩具の通常走行時には、トランジスタＴＲ１がオンになり、トランジスタがオフＴＲ２、ＴＲ３がオフになる。そして、トランジスタＴＲ４がＰＷＭ駆動のデューティにしたがってオン・オフされる。一方、車両玩具の減速制御時には、トランジスタＴＲ１、ＴＲ４がオフになり、トランジスタＴＲ２、ＴＲ３がオンになる。これにより、モータの第１の端子ＴＭ１と第２の端子ＴＭ２との間に、通常走行時とは逆極性の電圧が印加される。
【０１５１】
４．５．車両玩具側の詳細な処理
次に、車両玩具側の詳細な処理フローについて、図１７のフローチャートを用いて説明する。図１７は、主に図４の制御部３１０が行う処理を示したものである。
【０１５２】
まず、走行制御データをゲーム装置から受信したか否かを判断する（ステップＳ１）。そして走行制御データを受信した場合には、受信した走行制御データ（区間データ）を図４の記憶部３３０に格納する（ステップＳ２）。
【０１５３】
まず、走行制御データをゲーム装置４００から外部インターフェース部３７０を介して受信したか否かをデータ送受信処理部３１８で判断する（ステップＳ１）。そして、走行制御データを受信した場合には、受信した走行制御データ（区間データ）を図４の記憶部３３０に格納する（ステップＳ２）。なお、本実施形態では、当該走行制御データには、車両玩具１０がコース６０を１周したら、走行終了とする走行終了条件を設定する走行終了条件情報が含まれる。
【０１５４】
次に、車両玩具の動作開始を指示するセレクトボタンが押されたか否かを判断する（ステップＳ３）。そして、押された場合には、走行制御データの区間番号ｉを１に設定し（ステップＳ４）、モータ駆動制御部３１６から駆動部３５０にモータの駆動を開始させるコマンドを送信し、モータの駆動を開始して車両玩具の走行をスタートする（ステップＳ５）。なお、車両玩具１０の走行開始は、セレクトボタンのオン・オフ動作に限定されず、オートスタート等の他の走行開始手法によるものにしてもよい。
【０１５５】
次に、ｉ番号の走行制御データＤＳｉの値をモータ駆動用のＰＷＭ値に設定する（ステップＳ６）。そして、センサ５０によりマーカが検出されたか否かを判断する（ステップＳ７）。
【０１５６】
ステップＳ７でマーカが検出されない場合、すなわち、輝度変化判断部３１２において、センサ５０の検知対象の輝度変化が検知されない場合には、制御部３１０は、次にセンサ５０でマーカを検知してから所定時間を経過したか否かの判断をする（ステップＳ１３）。ステップＳ１３で所定時間以上経過したと判断された場合には、センサ５０の検知対象の輝度が所定時間以上変化していないと判断されることとなる。すなわち、ボディ１２の接地面側がコース６０に所定時間以上対向していない状態であると判断されるので、車両玩具１０がコースアウトやジャンプ等したと判断される。
【０１５７】
ステップＳ１３で制御部３１０の輝度変化判断部３１２において、センサ５０の検知対象の輝度が所定時間以上変化していないと判断されると、次に、制御部３１０では、モータ３０の駆動をオンからオフに切り替えて、モータ３０の駆動を停止する（ステップＳ１４）。具体的には、制御部３１０のモータ駆動制御部３１４がセンサ５０からの検知結果に基づいて、オンになっていたモータ３０の駆動をオフに切り替えるコマンドを駆動部３５０に送信して、モータ３０への動力の供給を停止させて、モータ３０の駆動をオンからオフに切り替わって、モータ３０の駆動を停止する。
【０１５８】
一方、ステップＳ７でマーカが検出された場合には、コース区間ＣＳｉ＋１の走行制御データＤＳｉ＋１とコース区間ＣＳｉの走行制御データＤＳｉとの間に、ＤＳｉ＋１＜ＤＳｉの関係が成り立つか否かを判断する（ステップＳ８）。そして、ＤＳｉ＋１＜ＤＳｉである場合には、減速制御を行うと判断し、ＤＦ＝ＤＳｉ＋１−ＤＳｉに対応する期間Ｔ１だけ、デューティ＝１００の逆極性電圧をモータに印加する（ステップＳ９）。
【０１５９】
次に、ｉ＝１６か否かを判断する（ステップＳ１０）。そしてｉ＝１６ではない場合には、ｉを１だけインクリメントして（ステップＳ１１）、ステップＳ６に戻る。一方、ｉ＝１６になった場合には、車両玩具がゴール地点に対応するコース区間ＣＳ１６にゴールしたと判断して、区間番号ｉを初期値である１に設定する（ステップＳ１２）。
【０１６０】
４．６．シミュレーション処理
さて、図２に示すホビーレーシングカーでは、プレーヤは、モータやタイヤなどのパーツを交換するチューニングを行って、他のプレーヤとラップタイプを競い合う。
【０１６１】
しかしながら、これまでのホビーレーシングカーでは、交換したパーツが、ラップタイムの向上にどの程度貢献したかを、プレーヤは客観的に評価することができなかった。従って、プレーヤは、試行錯誤をして、直感的にパーツを交換せざるを得なかった。このため、ラップタイムをなかなか短縮することができず、ラップタイムの向上に限界があり、これが原因でプレーヤにすぐに飽きられてしまうという課題があった。
【０１６２】
また、プレーヤは、図１に示すような占有面積が大きなコースを自宅に設置することは難しいため、特設コースが設置された店舗に出向き、そこでパーツを色々と変えながら、ラップタイム短縮のための試行錯誤をせざるを得なかった。従って、車両玩具のチューニングを、手軽に行うことができず、このようなチューニング作業の面倒さが、ホビーレーシングカーからプレーヤの興味を遠ざける原因となっていた。
【０１６３】
この点、前述の特許文献２の従来技術では、プレーヤがゲーム装置でゲームプレイすることで得られた制御情報により、車両玩具側を走行させることで、ゲームの面白味の幅を広げている。
【０１６４】
しかしながら、この特許文献２の従来技術では、車両玩具が実際に走るコースと、ゲーム装置においてゲーム空間に構築される仮想的なコースは、お互いにリンクしていなかった。また、車両玩具の走行特性と、ゲーム空間で走行する車の走行性能もリンクしていなかった。このため、ゲーム装置でのセッティングを側に反映させたり、逆に車両玩具の実際の走行結果を、ゲーム装置側に反映させることができないという課題があった。
【０１６５】
本実施形態では、このような課題を解決するために以下に説明するような手法を採用している。
【０１６６】
すなわち、まず本実施形態では、コース上を移動する車両玩具の走行特性に基づき設定されたデータである走行特性データや、車両玩具が移動するコースのコース特性に基づき設定されたデータであるコースデータを用意する。また、図７〜図９に示すような手法で設定される走行制御データを用意する。そして、これらの走行特性データとコースデータと走行制御データとに基づいて、ゲーム装置において、車両玩具のセッティングのためのシミュレーション処理を行う。
【０１６７】
このようにすることで、車両玩具が走る実際のコースと、ゲーム装置において車両玩具に対応する仮想移動体が走行する仮想コースとが、お互いにリンクするようになる。また車両玩具の加速性能などの走行特性と、ゲーム装置側の仮想移動体の走行特性もリンクするようになる。従って、プレーヤは、例えば、特設コースが設置されている店舗等に出向かなくても、自身が所有するゲーム装置でのシミュレーション処理により、車両玩具の走行を仮想的に試すことができず。また実機の車両玩具の実走行結果をゲーム装置側に取り込むことで、交換したパーツのラップタイムへの貢献度合い等を、客観的に判断することが可能になる。従って、試行錯誤により、直感に頼っていたこれまでのホビーレーシングカーでは実現できなかったチューニングの面白さを、ユーザであるプレーヤに提供できるようになる。
【０１６８】
例えば、図１８（Ａ）〜図１８（Ｃ）に、車両玩具の走行特性の設定のためにゲーム装置の表示部に表示される画面の例を示す。
【０１６９】
まず、図１８（Ａ）に示すように、車種選択画面を表示する。プレーヤは、この選択画面において、自身が使用する車両玩具の車種を選択する。具体的には、選択画面に車両玩具の商品名を表示し、プレーヤは、この商品名の中から自身が所有する車両玩具の商品名を選択する。
【０１７０】
次に、図１８（Ｂ）、図１８（Ｂ）に示すように、パーツセット選択画面を表示する。プレーヤは、この選択画面において、車両玩具のチューニングに使用しているパーツセットを選択する。例えば図１８（Ｂ）では、プレーヤは、基本パーツセットＢ１に代えて、グレートアップパーツセットＢ２を購入して使用しているため、このグレードアップパーツセットＢ２を選択する。また、このグレードアップパーツセットＢ２のうち、変更しているパーツがあれば、図１８（Ｃ）の選択画面で変更しているパーツを選択する。なお、図１８（Ｂ）のようなパーツセットの選択画面を表示せずに、図１８（Ｃ）に示すように、変更しているパーツを直接に選択してもよい。
【０１７１】
以上のような選択画面を表示し、プレーヤが自身の使用する車種やパーツを選択することで、プレーヤの使用する車両玩具の走行特性が特定されて、走行特性データが設定される。すなわち車両玩具やパーツを製造・販売するメーカは、車両玩具の重さや形状、モータの馬力やトルク、タイヤの大きさやグリップ力、シャシの強化度や走行安定性などを把握している。従って、プレーヤが、自身が使用する車両玩具の車種やパーツ名をゲーム装置に入力することで、その車両玩具の加速力、最高速、コーナリング性能、走行安定性等を特定できる。従って、特定された走行特性を、シミュレーション処理のアルゴリズムが取り扱うできるフォーマットの走行特性データとして用意することで、実際の車両玩具の走行特性に適合したシミュレーション処理が可能になる。なお、この走行特性データを作成するための車種、パーツ等のデータベース情報は、ゲーム装置が有するネットワークへの接続機能を利用して、適宜、ゲーム装置にダウンロードするようにしてもよい。
【０１７２】
以上のように走行特性データを設定することで、プレーヤが実際にコース上で走行させる車両玩具と、仮想コース上で走行させる仮想移動体とをマッチングさせて、リンクさせることが可能になる。
【０１７３】
次に、図１９に示すように、プレーヤが使用するコースの選択画面を表示する。例えば図１９では、選択候補となるコースとして、スタータキットとして販売される基本オーバルコースや基本８の字コースが表示されている。また、例えば東京の店舗Ａに設置されている特設コースが、選択候補コースとして表示されている。
【０１７４】
すなわち、スタータキット等として市販される基本オーバルコースや基本８の字コースのコース形状についてはすぐに特定できる。一方、特定の店舗に設置される公式レース用の特設コースについても、市販用のコースパーツと同じコースパーツで作成されているため、使用されているコースパーツやその接続構成を特定することで、特設コースのコース形状についても特定できる。
【０１７５】
この場合に、特設コースの使用コースパーツや接続構成の情報については、ネットワークを介してゲーム装置にダウンロードするようにしてもよいし、プレーヤが、コース編集画面において配置設定するようにしてもよい。すなわち、プレーヤは、このコース編集画面において、コースパーツの画像を適宜組み合わせて接続することで、特設コースと同じ形状のコースを作成して編集する。そして、編集されたコースを登録することで、その特設コースに対応するコースデータを設定する。
【０１７６】
以上のようにコースデータを設定することで、車両玩具が実際に走行するコースと、仮想移動体が走行する仮想コースとをマッチングさせて、リンクさせることが可能になる。
【０１７７】
次に、図７、図８に示す走行制御データ設定画面を表示する。プレーヤは、この設定画面において、試行錯誤しながら、良いラップタイムを獲得するのに必要な走行制御データを設定する。そして、プレーヤが、シミュレーション処理の開始を指示すると、図１８（Ａ）〜図１８（Ｃ）で設定された走行特性データと、図１９で設定されたコースデータと、図７、図８で設定された走行制御データに基づいて、シミュレーション処理が行われる。すなわち走行特性データに基づきその走行特性が設定される仮想移動体を、コースデータに基づきそのコース特性が設定される仮想空間内の仮想コースにおいて、走行制御データにしたがって走行させるシミュレーション処理が行われる。
【０１７８】
そして、プレーヤは、走行シミュレーションの結果データを確認し、走行制御データを再度設定して、自身が所望するラップライムを獲得できるまで、シミュレーション処理を繰り返し実行させる。こうして、ゲーム装置側で車両玩具の走行に関する仮想的なチューニングを繰り返す。そして、プレーヤは、満足する結果が得られると、ゲーム装置と車両玩具を有線または無線で接続して、図９に示すように最終的な走行制御データを車両玩具に送信して、その記憶部に記憶させる。そして、図１（Ａ）等に示すコース上で車両玩具を実際に走行させる。
【０１７９】
例えば、週末に、店舗の特設コースで公式レースが開催される場合に、プレーヤは、平日に、ゲーム装置を用いてシミュレーションを行って、車両玩具の仮想的なチューニングを繰り返す。
【０１８０】
この場合に、プレーヤの自宅には特設コースは存在しないが、ゲーム装置の仮想空間内には、特設コースのコースデータに基づいて特設コースに対応する仮想コースが構築されている。プレーヤは、この仮想コースにおいて、自身が出場させる車両玩具に対応する仮想移動体を走行させるシミュレーション処理を、ゲーム装置を用いて実行させる。そして、プレーヤの納得が行くまで、チューニング設定を繰り返して、週末の公式レースに参加する。
【０１８１】
この時、例えば、特定のパーツが原因で、良いラップタイムを獲得できない場合には、図１８（Ｂ）、図１８（Ｃ）で説明した手法により、パーツを交換する設定を行う。この場合に、プレーヤは、実際にパーツを購入しなくても、仮想的にパーツ交換を行って、そのパーツがラップタイム向上に有効か否かを、シミュレーション処理により確認することができる。そして、特定のパーツ（例えば、モータ、タイヤ）を交換することで、シミュレーションにおいて、良いラップタイムを獲得できた場合には、そのパーツを実際に購入して、車両玩具に装着し、週末の公式レースに参加する。
【０１８２】
以上のように、本実施形態によれば、特設コースのように自宅に置けないようなコースについても、ゲーム装置でのシミュレーション処理により、車両玩具を仮想的に試走させることができる。また、交換するパーツを購入する前に、プレーヤは、そのパーツのラップタイムへの貢献度合い等を、客観的に評価できる。従って、プレーヤの利便性を向上できると共に、シミュレーションにより高いレベルのチューニングを行って、ラップタイムの向上を目指すことができるため、速さの追求に関するプレーヤのモチベーションを向上させることができ、飽きの来にくいホビーレーシングカーのシステムを提供できる。
【０１８３】
なお、シミュレーション処理は、車両玩具に対応する仮想移動体のリアルなシミュレーション処理を行って、走行シミュレーション処理の結果データを求めるものであってもよいし、このようなリアルなシミュレーション処理を行わずに、走行特性データ、コースデータ、移動制御データとテーブルデータに基づいて、走行シミュレーション処理の結果データを瞬時に求めるような処理であってもよい。また、走行シミュレーション処理を、ゲーム処理の一部として行ってもよく、この場合には、図５に示すように、車両玩具に対応する仮想移動体が移動する様子を示す演出画面を表示すればよい。
【０１８４】
４．７．実走行結果データ
本実施形態では、図２０（Ａ）に示すように、走行制御データをゲーム装置から車両玩具に送信するのみならず、その走行制御データに基づき車両玩具がコースを走行することで得られた実走行結果データを、車両玩具から受信するようにしてもよい。
【０１８５】
図２０（Ｂ）に実走行結果データの一例を示す。図２０（Ｂ）では、コースの各コース区間での車両玩具の実走行ラップタイムデータを、実走行結果データとして受信している。この受信された実走行結果データは、ゲーム装置の表示部に表示される。
【０１８６】
この場合に図２０（Ｂ）では、実走行結果データがコースの各コース区間に対応づけて表示されている。例えば、コース区間ＣＳ１に対して、ＣＳ１での実走行結果データである実走行ラップタイム＝０．８９が対応づけられて表示され、コース区間ＣＳ２に対して、ＣＳ２での実走行ラップタイム＝０．６２が対応づけられて表示される。
【０１８７】
また、図２１（Ａ）では、ゲーム装置側でのシミュレーション処理により走行シミュレーション結果データが得られている。そして車両玩具から受信した実走行結果データと、この走行シミュレーション結果データの両方が表示される。また実走行結果データと走行シミュレーション結果データの比較処理が行われている。
【０１８８】
具体的には図２１（Ｂ）に示すように、シミュレーション処理により得られた走行シミュレーション結果データに対して、受信した実走行結果データが関連づけて表示される。例えばコース区間ＣＳ１に対して、ＣＳ１での走行シミュレーション結果データであるシミュレーションラップタイム＝０．９４と、ＣＳ１での実走行ラップタイム０．８９が対応づけられて表示され、コース区間ＣＳ２に対して、ＣＳ２でのシミュレーションラップタイム＝０．６４と、ＣＳ２での実走行ラップタイム０．６２が対応づけられて表示される。
【０１８９】
さらに、本実施形態では、実走行結果データには、車両玩具がコース上に走行した際におけるセンサ５０の検知結果である走行検知データが含まれる。図２２（Ａ）、図２２（Ｂ）に走行検知データの一例を示す。
【０１９０】
走行検知データは、例えば、各コース区間ＣＳ１〜ＣＳＮに対応づけて各マーカＭＣ１〜ＭＣＮおよびマーカ検知フラグが表示される。各コース区間ＣＳ１〜ＣＳＮの始発点側に有するマーカＭＣ１〜ＭＣＮがセンサ５０で検知されると、図２２（Ａ）に示すように、マーカ検知フラグが立って１となる。図１（Ａ）に示す本実施形態のコース６０では、第３のコース区間ＣＳ３や第５のコース区間ＣＳ５のようなスロープコース区間において、車両玩具の速度が大きい場合では、図１３（Ｂ）に示すように、ジャンプしてしまうことがある。このように車両玩具がジャンプした場合では、当該コース区間ＣＳ３、ＣＳ５の終了地点に設けられるマーカＭＣ４、ＭＣ６を飛び越すことによって、センサ５０が読み飛ばしてしまうことがある。このようにマーカを読み飛ばすと、図２２（Ａ）に示すように、その読み飛ばしマーカＭＣ４、ＭＣ６に対応するマーカ検知フラグが０となる。
【０１９１】
また、第２のコース区間ＣＳ２のようにカーブが急なコース区間では、車両玩具の速度が大きい場合では、図１２（Ｂ）に示すように、コースアウトしてしまうことがある。このように、コースアウトした場合では、当該コース区間ＣＳ２の終了地点に設けられるマーカＭＣ３が検知されないので、図２２（Ｂ）に示すように、マーカ検知フラグが０となり、第３のコース区間ＣＳ３以降のマーカＭＣ４〜ＭＣＮは、コースアウトによって、読み取り不能となるので、フラグが０となる。
【０１９２】
以上のような実走行結果データは、車両玩具がそのセンサによりコース上のマーカ等を検知することで計測することができる。例えば、コース区間ＣＳｉのマーカＭＣｉをセンサが検知すると、カウンタのカウント値のカウント動作を開始し、次のコース区間ＣＳｉ＋１のマーカＭＣｉ＋１を検知すると、カウント動作を停止する。こうして得られたカウント値によって、そのコース区間ＣＳｉでの実走行ラップタイムデータを得ることができる。そして、各コース区間において計測された実走行ラップタイムデータを、各コース区間に対応づけた実走行結果データとしてゲーム装置に送信することで、ゲーム装置は、図２０（Ｂ）に示すような表示を行うことができる。また、走行シミュレーション結果データについても、仮想コース上に設定された仮想マーカを用いて、走行シミュレーション時に上記と同様のカウント処理を行うことで求めることができ、これにより、図２１（Ｂ）に示すような表示が可能になる。
【０１９３】
また、ゲーム装置は、実走行結果データに含まれる走行検知データ（検知結果）を元にして、マーカの読み飛ばしのあったマーカの手前側のコース区間の速度を好適な速度に設定して、車両玩具がジャンプやコースアウトをしないように、当該コース区間におけるより好適な速度設定をした走行制御データを車両玩具（移動玩具）に送信することができるようになる。
【０１９４】
なお、ゲーム装置での実走行結果データや走行シミュレーション結果データの表示形態は、図２０（Ｂ）、図２１（Ｂ）、図２２（Ｂ）に限定されない。例えば、図７に示すような画面を表示して、各コース区間ＣＳ１〜ＣＳ１６に対応づけて、実走行結果データや走行シミュレーション結果データを表示してもよい。
【０１９５】
また、実走行結果データや走行シミュレーション結果データとしては、ラップタイムデータに限定されず、種々のデータを想定することができ、例えば、移動玩具の加速または減速の度合いを表す実加減速データであってもよい。
【０１９６】
図２３（Ａ）、図２３（Ｂ）に加減速データの例を示す。図２３（Ａ）は、コース区間ＣＳ１に対応づけられる加減速データであり、図２３（Ｂ）は、コース区間ＣＳ２に対応づけられる加減速データである。図２３（Ａ）において、横軸はコース区間内距離であり、縦軸は車両玩具（仮想移動体）の速度になっている。横軸のコース区間内距離は、コース区間ＣＳ１に対応するマーカＭＣ１から車両玩具（仮想移動体）までの距離を表す。図２３（Ｂ）も同様である。
【０１９７】
図２３（Ａ）は、例えば直線のコース区間ＣＳ１において、停止状態の車両玩具が加速して、加速後に一定の速度で走行している状態を示している。図２３（Ｂ）は、例えば、直線のコース区間ＣＳ１で加速した車両玩具がカーブのコース区間ＣＳ２において減速している状態を示している。
【０１９８】
図２３（Ａ）、図２３（Ｂ）に示す加減速データは、例えば、車両玩具に加速センサを設けることで測定できる。或いは、タイヤの部分にロータリエンコーダを設けて、このロータリエンコーダによりタイヤの回転速度を検出することで、加速度データを測定してもよい。このようなロータリエンコーダは、例えば、反射型のフォトセンサをそのセンサ面がタイヤのホイールに対向するように設置し、スリットが設けられたタイヤのホイールのうち、スリット以外の部分で反射した光を検知することで実現できる。
【０１９９】
図２３（Ａ）、図２３（Ｂ）に示すような加減速データを車両玩具側で測定し、ゲーム装置がこの加減速データを受信して、表示部に表示することで、プレーヤは、ラップタイムだけでは知ることができない情報を得ることができる。すなわち、図２３（Ａ）に示すような加速特性のデータを表示することで、プレーヤは、モータの馬力やトルクが最適な設定か否かを判断できる。また、図２３（Ｂ）に示すような減速特性のデータを表示することで、プレーヤは、タイヤのグリップ力や、逆極性電圧印加によるモータの制動動作が最適な設定か否かを判断できる。
【０２００】
以上の本実施形態の手法によれば、走行制御データを車両玩具に送信し、その走行制御データに対応する実走行結果データを車両玩具から受信することで、プレーヤは、自身が設定した走行制御データが最適な設定か否かを客観的に判断することができる。また、実走行結果データを各コース区間に対応づけて表示することで、各コース区間に設定した走行制御データの妥当性についても客観的に判断できる。
【０２０１】
従って、設定した走行制御データを送信し、それに対応する実走行結果データを受信して、設定の妥当性を判断するという作業を繰り返すことで、プレーヤは、最適なチューニング設定を容易に得ることができる。この結果、これまでのように直感に頼って行っていたチューニング設定を実走行結果データに基づいて客観的に評価して行うことが可能になり、これまでにないチューニングの楽しみをプレーヤに与えることが可能になる。
【０２０２】
また、車両玩具のパーツを変更した場合に、そのパーツ変更の効果についても、プレーヤは、実走行結果データに基づいて客観的に評価できるようになり、プレーヤの改造の楽しみをさらに増すことができる。
【０２０３】
また、例えばシミュレーション処理は、理想的な走行特性データおよびコースデータに基づいて行われるものであるため、それによる走行シミュレーション結果データは、現実とは食い違っている場合が多い。
【０２０４】
この点、図２１（Ｂ）のように、走行シミュレーション結果データと実走行結果データとを対応づけて表示すれば、プレーヤは、シミュレーションの走行と現実の走行の違いを、客観的に認識できる。従って、プレーヤは、この違いを考慮しながら、ゲーム装置においてシミュレーションによる仮想的なチューニングを行うことが可能になり、シミュレーションによるチューニングの精度を向上できる。
【０２０５】
なお、走行シミュレーション結果データと実走行結果データの比較処理を行い、その比較結果に基づいて補正データを求め、その補正データに基づいて、走行シミュレーション結果データを実走行結果データに近づけるための補正処理を行ってもよい。このようにすることで、シミュレーションによるチューニングの精度をさらに向上できる。
【０２０６】
４．８．コースデータの自動取得
以上のように、本実施形態では、ゲーム装置と車両玩具との間でデータの送受信を行っているが、この送受信のシステムを有効活用して、車両玩具が走行するコースのコースデータを自動取得するようにしてもよい。
【０２０７】
具体的には、図２０（Ａ）において、走行制御データとして、コースデータ取得用の走行制御データを車両玩具に送信する。次に、送信されたコースデータ取得用の走行制御データに基づき、車両玩具がコースを走行することで得られたコースデータ取得用の実走行結果データを車両玩具から受信する。そして、受信したコースデータ取得用の実走行結果データにより取得されたコースデータに基づいて、シミュレーション処理を行うようにする。すなわち、図１９でプレーヤが選択するコースデータを、実際のコースにおいて車両玩具を走行させることで自動的に取得する。
【０２０８】
さらに具体的には、例えば図２４（Ａ）に示すような確認画面を表示して、プレーヤがコースデータを自動取得するか否かを選択させる。そして、図２４（Ｂ）に示すように、車両玩具をゲーム装置に接続することを指示する画面を表示した後、コースデータ取得用の走行制御データを車両玩具に送信する。そして、このコースデータ取得用の走行制御データに基づいて、車両玩具がコースデータを走行することで、車両玩具側においてコースデータを取得する。そして、取得されたコースデータを車両玩具から受信すると、ゲーム装置において、例えば図２４（Ｃ）に示すような画面を表示する。
【０２０９】
この場合において、ゲーム装置から車両玩具に送信するコースデータ取得用の走行制御データは、コースデータの取得に最適な設定のデータになっている。すなわち、コースデータ取得用の走行制御データは、図７のようにラップタイムを向上させるためのデータである必要はない。このため、例えば、全てのコース区間において、車両玩具の速度が定速の低い速度になるように設定された走行制御データをコースデータ取得用の走行制御データとして、ゲーム装置から車両玩具に送信する。例えば、図７において、全てのコース区間ＣＳ１〜ＣＳ１６において走行制御データＤＳ＝１０となるようなデータを送信する。このようにすることで、コースデータの安定した測定が可能になる。
【０２１０】
なお、コースデータは、例えば、定速で走行する車両玩具の各コース区間でのラップタイムを測定したり、車両玩具に設けられた例えば３軸の加速センサで車両玩具の各軸での加速度を測定したり、タイヤに設けられたロータリエンコーダにより車両玩具の速度や移動距離を測定することなどにより取得できる。
【０２１１】
或いは、車両玩具にバーコードセンサを設けると共に、コースブロックのマーカ等にバーコード情報を設定する。そして、このバーコード情報の中に各コースブロックの識別情報やコース形状情報を含ませて、この識別情報やコース形状情報を車両玩具のバーコードセンサで読み取ることで、コースデータを取得してもよい。例えば、バーコード情報の中にコースブロックの識別情報を含ませれば、ゲーム装置において、データベースに登録されているコースブロックデータの中から識別情報に対応するコースブロックデータを読み出すことで、コースデータを作成できる。
【０２１２】
以上の本実施形態の手法によれば、プレーヤは、自身が所望するコース上で車両玩具を実際に走行させるだけで、そのコースデータが自動取得されて、シミュレーション処理に活用できるようになる。また、任意の組み合わせのコースブロックの連結により構成されたコースのコースデータを、１回の車両玩具の走行だけで取得できる。これにより、プレーヤの利便性を大幅に向上できる。
【０２１３】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは、当業者には容易に理解できるであろう。従って、このような変形例やその組み合わせは、全て本発明の範囲に含まれるものとする。
【０２１４】
例えば、明細書または図面中の記載において広義や同義な用語（移動玩具、原動機、動作制御データ等）として引用された用語（車両玩具、モータ、走行制御データ等）は、明細書または図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０２１５】
また、移動玩具の制御手法、マーカの検知手法、走行制御データの設定手法、移動玩具の減速、加速制御手法、原動機の駆動手法、シミュレーション処理手法等は、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含むことができる。また本発明が適用される移動玩具、ゲーム装置は、本発明で説明したような構成の移動玩具やゲーム装置に限定されるものではない。
【図面の簡単な説明】
【０２１６】
【図１】図１（Ａ）、図１（Ｂ）は車両玩具が走行するコースの説明図。
【図２】本実施形態が適用される車両玩具の外観斜視図。
【図３】本実施形態が適用される車両玩具の内部構成を示す平面図。
【図４】本実施形態が適用される車両玩具の機能ブロック図。
【図５】本実施形態が適用されるゲーム装置の外観図。
【図６】本実施形態が適用されるゲーム装置の機能ブロック図。
【図７】走行制御データの設定手法を説明するための図。
【図８】走行制御データの設定手法を説明するための図。
【図９】走行制御データの設定手法を説明するための図。
【図１０】図１０（Ａ）、図１０（Ｂ）は、本実施形態の走行速度制御の手法の説明図。
【図１１】図１１（Ａ）〜図１１（Ｃ）は、車両玩具のジャンプ検出の手法を説明する図。
【図１２】車両玩具のカーブ区間を走行時のコースアウト状態を説明する図。
【図１３】車両玩具のスロープ区間を走行時のジャンプ状態を説明する図。
【図１４】図１４（Ａ）〜図１４（Ｃ）は、車両玩具のジャンプ検出の手法を説明する図。
【図１５】図１５（Ａ）、図１５（Ｂ）は、ＰＷＭ駆動を用いた減速制御、加速制御の手法の説明図。
【図１６】駆動部の具体的な構成例を示す図。
【図１７】車両玩具側の詳細な処理のフローチャート。
【図１８】図１８（Ａ）〜図１８（Ｃ）は、走行制御データの設定手法を説明する図。
【図１９】コースデータの設定手法を説明する図。
【図２０】図２０（Ａ）、図２０（Ｂ）は、実走行結果データを受信して表示する手法の説明図。
【図２１】図２１（Ａ）、図２１（Ｂ）は、実走行結果データと走行シミュレーション結果データを比較して表示する手法の説明図。
【図２２】図２２（Ａ）、図２２（Ｂ）は、走行検知データを説明する図。
【図２３】図２３（Ａ）〜図２３（Ｃ）は、加減速データを説明する図。
【図２４】図２４（Ａ）、図２４（Ｂ）は、コースデータの自動取得手法の説明図。
【符号の説明】
【０２１７】
ＣＳｉ、ＣＳｉ＋１  コース区間、ＤＳｉ、ＤＳｉ＋１  走行制御データ、
ＭＣｉ、ＭＣｉ＋１  マーカ、ＤＴｉ、ＤＴｉ＋１  デューティ、
ＭＴ  車両玩具、ＤＦ  差分情報、ＣＰ１〜ＣＰ１６  コースブロック、
１０  車両玩具、１２  ボディ、３０  モータ、５０  センサ、５２  発光素子、
６０  コース、６１、６２  第１、第２の周回コース、
１００  処理部、１０２  シミュレーション処理部、１０４  送信処理部、
１０６  受信処理部、１０８  認証処理部、１１０  比較処理部、１１２  表示制御部、
１１４  成績評価部、１１６  アップロード処理部、１３０  設定変更部、
１６０  操作部、１７０  記憶部、１７２  走行特性データ記憶部、
１７３  コースデータ記憶部、１７４  走行制御データ記憶部、１７８  描画バッファ、
１９０  タッチパネル型表示部、１９１  表示部、１９２  音出力部、
１９４  携帯型情報記憶装置、１９６  通信部、
３００  回路基板、３１０  制御部、３３０  記憶部、３３２  走行制御データ記憶部、３３４  走行検知データ記憶部、３４０  発光素子駆動部、３５０  駆動部、
３６０  センサコントローラ、３７０  外部インターフェース部、４００  ゲーム装置
【図１】
2009247575.tif 000003
【図２】
2009247575.tif 000004
【図３】
2009247575.tif 000005
【図４】
2009247575.tif 000006
【図５】
2009247575.tif 000007
【図６】
2009247575.tif 000008
【図７】
2009247575.tif 000009
【図８】
2009247575.tif 000010
【図９】
2009247575.tif 000011
【図１０】
2009247575.tif 000012
【図１１】
2009247575.tif 000013
【図１２】
2009247575.tif 000014
【図１３】
2009247575.tif 000015
【図１４】
2009247575.tif 000016
【図１５】
2009247575.tif 000017
【図１６】
2009247575.tif 000018
【図１７】
2009247575.tif 000019
【図１８】
2009247575.tif 000020
【図１９】
2009247575.tif 000021
【図２０】
2009247575.tif 000022
【図２１】
2009247575.tif 000023
【図２２】
2009247575.tif 000024
【図２３】
2009247575.tif 000025
【図２４】
2009247575.tif 000026