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