(57)【要約】【課題】絵心がないユーザでも、思い通りのキャラクタオブジェクトを手軽な操作で作成することのできるゲームプログラムおよびゲーム装置を提供すること。【解決手段】各部位ごとに予め用意されているパーツオブジェクトを組み合わせて基準キャラクタを生成する。また、基準キャラクタで使用されたパーツオブジェクトのうち、少なくとも１つ以上のパーツオブジェクトを変更した候補キャラクタを１つ以上生成する。そして、基準キャラクタおよび候補キャラクタを表示装置に表示させ、ユーザによる選択入力を受け付ける。次に、選択されたキャラクタと基準キャラクタとの間で異なるパーツオブジェクトが用いられている部位を判別し、当該部位にかかるパーツオブジェクトを優先して変更した新たなキャラクタを生成する。そして、選択されたキャラクタを基準キャラクタとして、新たに生成されたキャラクタを候補キャラクタとして更新して表示する。【選択図】図１９
2008061896.tif 000002
【特許請求の範囲】
【請求項１】
仮想ゲーム空間内に登場するキャラクタオブジェクトを構成するための複数の部位毎のパーツオブジェクトを複数組み合わせてキャラクタオブジェクトを作成するゲーム装置のコンピュータに実行させるゲームプログラムであって、
各部位ごとに予め記憶されている複数種類のパーツオブジェクトの中から各部位ごとに選ばれた各１つのパーツオブジェクトを組み合わせて基準キャラクタオブジェクトを生成する基準キャラクタ生成ステップと、
前記基準キャラクタオブジェクトで使用されているパーツオブジェクトのうち、少なくとも１つ以上のパーツオブジェクトを変更して少なくとも１つ以上の候補キャラクタオブジェクトを生成する初期候補キャラクタ生成ステップと、
前記基準キャラクタオブジェクトおよび前記候補キャラクタオブジェクトを表示装置に表示させる表示ステップと、
前記基準キャラクタオブジェクトおよび前記候補キャラクタオブジェクトのいずれかを選択するための入力を受け付ける選択入力受付ステップと、
前記選択されたキャラクタオブジェクトと前記基準キャラクタオブジェクトとの間で異なるパーツオブジェクトが用いられている部位を判別する変更部位判別ステップと、
前記選択されたキャラクタオブジェクトで使用されているパーツオブジェクトのうち、前記変更部位判別ステップにおいて判別された部位にかかるパーツオブジェクトを優先して変更することで少なくとも１つ以上の新たなキャラクタオブジェクトを生成する変更キャラクタ生成ステップと、
前記選択されたキャラクタオブジェクトを基準キャラクタオブジェクトとして更新する基準キャラクタ更新ステップと、
前記変更キャラクタ生成ステップにおいて生成されたキャラクタオブジェクトで前記候補キャラクタオブジェクトを更新する候補キャラクタ更新ステップとを前記コンピュータに実行させる、ゲームプログラム。
【請求項２】
前記基準キャラクタ生成ステップにおいては、前記複数のパーツオブジェクトの予め定められた所定の組み合わせに基づいて前記基準キャラクタオブジェクトを生成する、請求項１に記載のゲームプログラム。
【請求項３】
前記基準キャラクタ生成ステップは、
ユーザに関する所定のパラメータの入力を受け付けるパラメータ入力受付ステップを含み、
前記パラメータに応じて予め定められた組み合わせパターンに基づいて前記基準キャラクタオブジェクトを生成する、請求項２に記載のゲームプログラム。
【請求項４】
前記パラメータとは、ユーザの性別情報である、請求項３に記載のゲームプログラム。
【請求項５】
前記基準キャラクタ生成ステップにおいては、前記複数のパーツオブジェクトをランダムに組み合わせて前記基準キャラクタオブジェクトを生成する、請求項１に記載のゲームプログラム。
【請求項６】
前記基準キャラクタオブジェクトおよび前記候補キャラクタオブジェクトは、前記キャラクタオブジェクトの顔のオブジェクトである、請求項１に記載のゲームプログラム。
【請求項７】
前記変更キャラクタ生成ステップにおいては、前記パーツオブジェクトを別の異なるパーツオブジェクトに置き換えることでパーツオブジェクトの変更を行う、請求項１に記載のゲームプログラム。
【請求項８】
前記変更キャラクタ生成ステップにおいては、前記パーツオブジェクトに所定の加工処理を施すことでパーツオブジェクトの変更を行う、請求項１に記載のゲームプログラム。
【請求項９】
前記初期候補キャラクタ生成ステップおよび変更キャラクタ生成ステップにおいて変更されるパーツオブジェクトの数には、所定の上限値が設けられる、請求項１に記載のゲームプログラム。
【請求項１０】
仮想ゲーム空間内に登場するキャラクタオブジェクトを構成する複数の部位毎にパーツオブジェクトを組み合わせてキャラクタオブジェクトを作成するゲーム装置のコンピュータに実行させるゲームプログラムであって、
各部位別に複数種類の前記パーツオブジェクトがグループ化されており、かつグループ内の隣合うパーツオブジェクトは類似している順にメモリに格納され、当該各グループから部位別にパーツオブジェクトを読み出して基準キャラクタオブジェクトを生成する基準キャラクタ生成ステップと、
前記基準キャラクタオブジェクトで用いられているパーツオブジェクトのうち、少なくとも１つ以上のパーツオブジェクトについて、当該パーツオブジェクトに近接するような順番で格納されているパーツオブジェクトを読み出して、少なくとも１つ以上の候補キャラクタオブジェクトを生成する候補キャラクタ生成ステップと、
前記基準キャラクタオブジェクトおよび前記候補キャラクタオブジェクトを表示装置に表示させる表示ステップと、
前記基準キャラクタオブジェクトおよび前記候補キャラクタオブジェクトのいずれかを選択するための入力を受け付ける選択入力受付ステップと、
前記選択されたキャラクタオブジェクトで用いられているパーツオブジェクトのうち、少なくとも１つ以上のパーツオブジェクトについて、当該パーツオブジェクトに近接するような順番で格納されているパーツオブジェクトを読み出して、少なくとも１つ以上の新たなキャラクタオブジェクトを生成する変更キャラクタ生成ステップと、
前記選択されたキャラクタオブジェクトで基準キャラクタオブジェクトを更新する基準キャラクタ更新ステップと、
前記変更キャラクタ生成ステップにおいて生成されたキャラクタオブジェクトで前記候補キャラクタオブジェクトを更新する候補キャラクタ更新ステップとを前記コンピュータに実行させる、ゲームプログラム。
【請求項１１】
前記候補キャラクタ生成ステップにおいては、前記パーツオブジェクト内の前記基準キャラクタオブジェクトで用いられているパーツオブジェクトの格納位置を中心とする所定の範囲内の格納位置から前記パーツオブジェクトを読み出すことを特徴とする、請求項１０に記載のゲームプログラム。
【請求項１２】
前記変更キャラクタ生成ステップにおいては、前記パーツオブジェクト内の前記選択されたキャラクタオブジェクトで用いられているパーツオブジェクトの格納位置を中心とする所定の範囲内の格納位置から前記パーツオブジェクトを読み出すことを特徴とする、請求項１０に記載のゲームプログラム。
【請求項１３】
前記パーツオブジェクトは、前記部位毎に１次元配列として格納されていることを特徴とする、請求項１０に記載のゲームプログラム。
【請求項１４】
前記パーツオブジェクトには、前記部位毎に前記１次元配列が複数含まれていることを特徴とする、請求項１３に記載のゲームプログラム。
【請求項１５】
前記候補キャラクタ生成ステップは、
前記基準キャラクタオブジェクトで用いられているパーツオブジェクトを含む前記１次元配列とは別の１次元配列を所定の確率で選択する系統変更ステップを含み、
前記選択後の１次元配列に含まれているパーツオブジェクトを用いて前記候補キャラクタを生成することを特徴とする、請求項１４に記載のゲームプログラム。
【請求項１６】
前記変更キャラクタ生成ステップは、
前記選択されたキャラクタオブジェクトで用いられているパーツオブジェクトを含む前記１次元配列とは別の１次元配列を所定の確率で選択する系統変更ステップを含み、
前記選択後の１次元配列に含まれているパーツオブジェクトを用いて前記新たなキャラクタオブジェクトを生成することを特徴とする、請求項１４に記載のゲームプログラム。
【請求項１７】
仮想ゲーム空間内に登場するキャラクタオブジェクトを構成するための複数の部位毎のパーツオブジェクトを複数組み合わせてキャラクタオブジェクトを作成するゲーム装置であって、
各部位ごとに予め記憶されている複数種類のパーツオブジェクトの中から各部位ごとに選ばれた各１つのパーツオブジェクトを組み合わせて基準キャラクタオブジェクトを生成する基準キャラクタ生成部と、
前記基準キャラクタオブジェクトで使用されているパーツオブジェクトのうち、少なくとも１つ以上のパーツオブジェクトを変更して少なくとも１つ以上の候補キャラクタオブジェクトを生成する初期候補キャラクタ生成部と、
前記基準キャラクタオブジェクトおよび前記候補キャラクタオブジェクトを表示装置に表示する表示出力部と、
前記基準キャラクタオブジェクトおよび前記候補キャラクタオブジェクトのいずれかを選択するための入力を受け付ける選択入力受付部と、
前記選択されたキャラクタオブジェクトと前記基準キャラクタオブジェクトとの間で異なるパーツオブジェクトが用いられている部位を判別する変更部位判別部と、
前記選択されたキャラクタオブジェクトで使用されているパーツオブジェクトのうち、前記変更部位判別部において判別された部位にかかるパーツオブジェクトを優先して変更することで少なくとも１つ以上の新たなキャラクタオブジェクトを生成する変更キャラクタ生成部と、
前記選択されたキャラクタオブジェクトを基準キャラクタオブジェクトとして更新する基準キャラクタ更新部と、
前記変更キャラクタ生成部が生成したキャラクタオブジェクトで前記候補キャラクタオブジェクトを更新する候補キャラクタ更新部とを備える、ゲーム装置。
【請求項１８】
仮想ゲーム空間内に登場するキャラクタオブジェクトを構成する複数の部位毎にパーツオブジェクトを組み合わせてキャラクタオブジェクトを作成するゲーム装置であって、
各部位別に複数種類の前記パーツオブジェクトがグループ化されており、かつグループ内の隣合うパーツオブジェクトは類似している順にメモリに格納され、当該各グループから部位別にパーツオブジェクトを読み出して基準キャラクタオブジェクトを生成する基準キャラクタ生成部と、
前記基準キャラクタオブジェクトで用いられているパーツオブジェクトのうち、少なくとも１つ以上のパーツオブジェクトについて、当該パーツオブジェクトに近接するような順番で格納されているパーツオブジェクトを読み出して、少なくとも１つ以上の候補キャラクタオブジェクトを生成する候補キャラクタ生成部と、
前記基準キャラクタオブジェクトおよび前記候補キャラクタオブジェクトを表示装置に表示する表示出力部と、
前記基準キャラクタオブジェクトおよび前記候補キャラクタオブジェクトのいずれかを選択するための入力を受け付ける選択入力受付部と、
前記選択されたキャラクタオブジェクトで用いられているパーツオブジェクトのうち、少なくとも１つ以上のパーツオブジェクトについて、当該パーツオブジェクトに近接するような順番で格納されているパーツオブジェクトを読み出して、少なくとも１つ以上の新たなキャラクタオブジェクトを生成する変更キャラクタ生成部と、
前記選択されたキャラクタオブジェクトで基準キャラクタオブジェクトを更新する基準キャラクタ更新部と、
前記変更キャラクタ生成部が生成したキャラクタオブジェクトで前記候補キャラクタオブジェクトを更新する候補キャラクタ更新部とを備える、ゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想ゲーム空間内に登場するキャラクタオブジェクトを作成するゲームプログラムおよびゲーム装置に関し、より特定的には、キャラクタオブジェクトを構成するための複数の部位毎のパーツオブジェクトを複数組み合わせてキャラクタオブジェクトを作成するゲームプログラムおよびゲーム装置に関する。
【背景技術】
【０００２】
従来より、人間の顔を構成する各パーツオブジェクトを組み合わせて顔オブジェクトを作成できる電子手帳が開示されている（例えば、特許文献１）。当該電子手帳では、メモリの記憶容量を抑えるべく、顔の構成要素毎に予め用意された複数のパターンを組み合わせて顔オブジェクトを作成し、名刺やアドレス帳のデータと関連づけて個人の顔データとして記憶している。
【特許文献１】特開平３−１２９５７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述したような上記特許文献１に開示された電子手帳において、顔オブジェクトを作成しようとする場合、従来から以下に示す問題点があった。すなわち、ユーザは、顔オブジェクトを作成するためには、自分の感覚（似ている、あるいは特徴を表していると感じる感性）で各パーツを一つ一つ選ぶ必要がある。そのため、絵心がないユーザにとっては、自分のイメージしたオブジェクトや作成したいと思っている顔オブジェクトを思い通りに作ることが難しいという問題がある。更に、顔の各構成要素毎に各パーツを一つ一つ選ぶ必要があるため、当該選択作業自体が非常に煩わしく、かつ時間のかかる作業となっており、操作性や手軽さ等の観点からして、ユーザの利便性が高いものとはいえなかった。
【０００４】
それ故に、本発明の目的は、絵心がないユーザでも、思い通りのキャラクタオブジェクトを手軽な操作で作成することのできるゲームプログラムを提供することである。
【課題を解決するための手段】
【０００５】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係の一例を示したものであって、本発明を何ら限定するものではない。
【０００６】
第１の発明は、仮想ゲーム空間内に登場するキャラクタオブジェクトを構成するための複数の部位毎のパーツオブジェクトを複数組み合わせてキャラクタオブジェクトを作成するゲーム装置のコンピュータに実行させるゲームプログラムであって、基準キャラクタ生成ステップ（Ｓ５、Ｓ１４）と、初期候補キャラクタ生成ステップ（Ｓ１７）と、表示ステップ（Ｓ６、Ｓ１６、Ｓ２６）と、選択入力受付ステップ（Ｓ３）と、変更部位判別ステップ（Ｓ４）と、変更キャラクタ生成ステップ（Ｓ２５、Ｓ２６）と、基準キャラクタ更新ステップ（Ｓ５）と、候補キャラクタ更新ステップ（Ｓ２６）とをコンピュータに実行させる。基準キャラクタ生成ステップでは、各部位ごとに予め記憶されている複数種類のパーツオブジェクトの中から各部位ごとに選ばれた各１つのパーツオブジェクトを組み合わせて基準キャラクタオブジェクトを生成する。初期候補キャラクタ生成ステップでは、基準キャラクタオブジェクトで使用されているパーツオブジェクトのうち、少なくとも１つ以上のパーツオブジェクトを変更して少なくとも１つ以上の候補キャラクタオブジェクトを生成する。表示ステップでは、基準キャラクタオブジェクトおよび候補キャラクタオブジェクトを表示装置に表示させる。選択入力受付ステップでは、基準キャラクタオブジェクトおよび候補キャラクタオブジェクトのいずれかを選択するための入力を受け付ける。変更部位判別ステップでは、選択されたキャラクタオブジェクトと基準キャラクタオブジェクトとの間で異なるパーツオブジェクトが用いられている部位を判別する。変更キャラクタ生成ステップでは、選択されたキャラクタオブジェクトで使用されているパーツオブジェクトのうち、変更部位判別ステップにおいて判別された部位にかかるパーツオブジェクトを優先して変更することで少なくとも１つ以上の新たなキャラクタオブジェクトを生成する。基準キャラクタ更新ステップでは、選択されたキャラクタオブジェクトを基準キャラクタオブジェクトとして更新する。候補キャラクタ更新ステップでは、変更キャラクタ生成ステップにおいて生成されたキャラクタオブジェクトで候補キャラクタオブジェクトを更新する。
【０００７】
第２の発明は、第１の発明において、基準キャラクタ生成ステップでは、予め定められた複数のパーツオブジェクトの所定の組み合わせに基づいて基準キャラクタオブジェクトを生成する。
【０００８】
第３の発明は、第１の発明において、基準キャラクタ生成ステップは、ユーザに関する所定のパラメータの入力を受け付けるパラメータ入力受付ステップ（Ｓ１１、Ｓ１２）を含む。また、基準キャラクタ生成ステップでは、パラメータに応じて予め定められた組み合わせパターンに基づいて基準キャラクタオブジェクトを生成する。
【０００９】
第４の発明は、第３の発明において、パラメータとは、ユーザの性別情報である。
【００１０】
第５の発明は、第１の発明において、基準キャラクタ生成ステップでは、複数のパーツオブジェクトをランダムに組み合わせて基準キャラクタオブジェクトを生成する。
【００１１】
第６の発明は、第１の発明において、基準キャラクタオブジェクトおよび候補キャラクタオブジェクトは、キャラクタオブジェクトの顔のオブジェクトである。
【００１２】
第７の発明は、第１の発明において、変更キャラクタ生成ステップでは、パーツオブジェクトを別の異なるパーツオブジェクトに置き換えることでパーツオブジェクトの変更を行う。
【００１３】
第８の発明は、第１の発明において、変更キャラクタ生成ステップでは、パーツオブジェクトに所定の加工処理を施すことでパーツオブジェクトの変更を行う。
【００１４】
第９の発明は、第１の発明において、初期候補キャラクタ生成ステップおよび変更キャラクタ生成ステップにおいて変更されるパーツオブジェクトの数には、所定の上限値が設けられる。
【００１５】
第１０の発明は、仮想ゲーム空間内に登場するキャラクタオブジェクトを構成する複数の部位毎にパーツオブジェクトを組み合わせてキャラクタオブジェクトを作成するゲーム装置のコンピュータに実行させるゲームプログラムであって、基準キャラクタ生成ステップ（Ｓ５，Ｓ１４）と、候補キャラクタ生成ステップ（Ｓ１７）と、表示ステップ（Ｓ６、Ｓ１６、Ｓ２６）と、選択入力受付ステップ（Ｓ３）と、変更キャラクタ生成ステップ（Ｓ７）と、基準キャラクタ更新ステップ（Ｓ５）と、候補キャラクタ更新ステップ（Ｓ７）とをコンピュータに実行させる。また、各部位別に複数種類のパーツオブジェクトがグループ化されており、かつグループ内の隣合うパーツオブジェクトは類似している順にメモリ（３３）に格納されている。また、基準キャラクタ生成ステップでは、上記各グループから部位別にパーツオブジェクトを読み出して基準キャラクタオブジェクトを生成する。候補キャラクタ生成ステップでは、基準キャラクタオブジェクトで用いられているパーツオブジェクトのうち、少なくとも１つ以上のパーツオブジェクトについて、当該パーツオブジェクトに近接するような順番で格納されているパーツオブジェクトを読み出して、少なくとも１つ以上の候補キャラクタオブジェクトを生成する。表示ステップでは、基準キャラクタオブジェクトおよび候補キャラクタオブジェクトを表示装置に表示させる。選択入力受付ステップでは、基準キャラクタオブジェクトおよび候補キャラクタオブジェクトのいずれかを選択するための入力を受け付ける。変更キャラクタ生成ステップでは、選択されたキャラクタオブジェクトで用いられているパーツオブジェクトのうち、少なくとも１つ以上のパーツオブジェクトについて、当該パーツオブジェクトに近接するような順番で格納されているパーツオブジェクトを読み出して、少なくとも１つ以上の新たなキャラクタオブジェクトを生成する。基準キャラクタ更新ステップでは、選択されたキャラクタオブジェクトで基準キャラクタオブジェクトを更新する。候補キャラクタ更新ステップでは、変更キャラクタ生成ステップにおいて生成されたキャラクタオブジェクトで候補キャラクタオブジェクトを更新する。
【００１６】
第１１の発明は、第１０の発明において、候補キャラクタ生成ステップでは、パーツオブジェクト内の基準キャラクタオブジェクトで用いられているパーツオブジェクトの格納位置を中心とする所定の範囲内の格納位置からパーツオブジェクトを読み出す。
【００１７】
第１２の発明は、第１０の発明において、変更キャラクタ生成ステップにおいては、パーツオブジェクト内の選択されたキャラクタオブジェクトで用いられているパーツオブジェクトの格納位置を中心とする所定の範囲内の格納位置からパーツオブジェクトを読み出す。
【００１８】
第１３の発明は、第１０の発明において、パーツオブジェクトは、部位毎に１次元配列として格納されている。
【００１９】
第１４の発明は、第１３の発明において、パーツオブジェクトには、部位毎に１次元配列が複数含まれている。
【００２０】
第１５の発明は、第１４の発明において、候補キャラクタ生成ステップには、基準キャラクタオブジェクトで用いられているパーツオブジェクトを含む前記１次元配列とは別の１次元配列を所定の確率で選択する系統変更ステップ（Ｓ３５、Ｓ３６）が含まれる。更に、候補キャラクタ生成ステップでは、選択後の１次元配列に含まれているパーツオブジェクトを用いて候補キャラクタを生成する。
【００２１】
第１６の発明は、第１４の発明において、変更キャラクタ生成ステップには、選択されたキャラクタオブジェクトで用いられているパーツオブジェクトを含む１次元配列とは別の１次元配列を所定の確率で選択する系統変更ステップ（Ｓ３５、Ｓ３６）が含まれる。更に、変更キャラクタ生成ステップでは、選択後の１次元配列に含まれているパーツオブジェクトを用いて新たなキャラクタオブジェクトを生成する。
【００２２】
第１７の発明は、仮想ゲーム空間内に登場するキャラクタオブジェクトを構成するための複数の部位毎のパーツオブジェクトを複数組み合わせてキャラクタオブジェクトを作成するゲーム装置（３）であって、基準キャラクタ生成部（３０）と、初期候補キャラクタ生成部（３０）と、表示出力部（３０、３７）と、選択入力受付部（３０）と、変更部位判別部（３０）と、変更キャラクタ生成部（３０）と、基準キャラクタ更新部（３０）と、候補キャラクタ更新部（３０）とを備える。基準キャラクタ生成部は、各部位ごとに予め記憶されている複数種類のパーツオブジェクトの中から各部位ごとに選ばれた各１つのパーツオブジェクトを組み合わせて基準キャラクタオブジェクトを生成する。初期候補キャラクタ生成部は、基準キャラクタオブジェクトで使用されているパーツオブジェクトのうち、少なくとも１つ以上のパーツオブジェクトを変更して少なくとも１つ以上の候補キャラクタオブジェクトを生成する。表示出力部は、基準キャラクタオブジェクトおよび候補キャラクタオブジェクトを表示装置に表示する。選択入力受付部は、基準キャラクタオブジェクトおよび候補キャラクタオブジェクトのいずれかを選択するための入力を受け付ける。変更部位判別部は、選択されたキャラクタオブジェクトと基準キャラクタオブジェクトとの間で異なるパーツオブジェクトが用いられている部位を判別する。変更キャラクタ生成部は、選択されたキャラクタオブジェクトで使用されているパーツオブジェクトのうち、変更部位判別部において判別された部位にかかるパーツオブジェクトを優先して変更することで少なくとも１つ以上の新たなキャラクタオブジェクトを生成する。基準キャラクタ更新部は、選択されたキャラクタオブジェクトを基準キャラクタオブジェクトとして更新する。候補キャラクタ更新部は、変更キャラクタ生成部が生成したキャラクタオブジェクトで候補キャラクタオブジェクトを更新する。
【００２３】
第１８の発明は、仮想ゲーム空間内に登場するキャラクタオブジェクトを構成する複数の部位毎にパーツオブジェクトを組み合わせてキャラクタオブジェクトを作成するゲーム装置（３）であって、基準キャラクタ生成部（３０）と、候補キャラクタ生成部（３０）と、表示出力部（３０）と、選択入力受付部（３０）と、変更キャラクタ生成部（３０）と、基準キャラクタ更新部（３０）と、候補キャラクタ更新部（３０）とを備える。上記複数種類のパーツオブジェクトは各部位別にグループ化されており、かつグループ内の隣合うパーツオブジェクトは類似している順にメモリ（３３）に格納される。基準キャラクタ生成部は、当該各グループから部位別にパーツオブジェクトを読み出して基準キャラクタオブジェクトを生成する。候補キャラクタ生成部は、基準キャラクタオブジェクトで用いられているパーツオブジェクトのうち、少なくとも１つ以上のパーツオブジェクトについて、当該パーツオブジェクトに近接するような順番で格納されているパーツオブジェクトを読み出して、少なくとも１つ以上の候補キャラクタオブジェクトを生成する。表示出力部は、基準キャラクタオブジェクトおよび候補キャラクタオブジェクトを表示装置に表示する。選択入力受付部は、基準キャラクタオブジェクトおよび候補キャラクタオブジェクトのいずれかを選択するための入力を受け付ける。変更キャラクタ生成部は、選択されたキャラクタオブジェクトで用いられているパーツオブジェクトのうち、少なくとも１つ以上のパーツオブジェクトについて、当該パーツオブジェクトに近接するような順番で格納されているパーツオブジェクトを読み出して、少なくとも１つ以上の新たなキャラクタオブジェクトを生成する。基準キャラクタ更新部は、選択されたキャラクタオブジェクトで基準キャラクタオブジェクトを更新する。候補キャラクタ更新部は、変更キャラクタ生成部が生成したキャラクタオブジェクトで候補キャラクタオブジェクトを更新する。
【発明の効果】
【００２４】
第１の発明によれば、基準キャラクタオブジェクトと候補キャラクタオブジェクトとで異なるパーツオブジェクトが用いられている部位について、優先的にパーツオブジェクトを変更して候補キャラクタオブジェクトを更新する。つまり、ユーザが変更を希望していると考えられる部位について優先的に変更した候補キャラクタを生成し、ユーザに選択させることができる。また、ユーザは、表示される各オブジェクトから単に選択する操作を繰り返すだけでよいため、自らパーツオブジェクトを一つ一つ選んでオブジェクトを作っていく場合に比べ、キャラクタオブジェクト生成操作についての負担が少なくなる。更に、ユーザに絵心がない場合でも、ユーザが希望するようなキャラクタオブジェクトを生成しやすくすることができる。
【００２５】
第２乃至第４の発明によれば、例えばユーザの性別等をパラメータとして入力させ、当該パラメータに応じて予め決められた組み合わせパターンを用いて基準キャラクタオブジェクトを生成する。そのため、最初からある程度ユーザの希望に沿った基準キャラクタオブジェクトを生成することができる。
【００２６】
第５の発明によれば、基準キャラクタオブジェクトをランダムに生成するため、ユーザが基準キャラクタを選択する際の選択の余地を広くすることが可能となる。
【００２７】
第６の発明によれば、人間の最も特徴的な部分である顔部分のオブジェクトについて、簡単な操作で希望する顔を生成することができる。そのため、ユーザの容姿を反映したキャラクタオブジェクトを作成する際等に、特にユーザの利便性を高めることができる。
【００２８】
第７の発明によれば、パーツオブジェクトを全く別のものに置き換えるため、多彩なパーツオブジェクトをユーザに選択させることができ、ユーザに与える選択の余地を広くすることができる。
【００２９】
第８の発明によれば、パーツオブジェクトそのものを加工するため、パーツオブジェクトを記憶するためのメモリ容量を削減しつつ、多彩なパーツオブジェクトを表示することができる。
【００３０】
第９の発明によれば、変更箇所の数を限ることにより、適度に類似したキャラクタオブジェクトを生成、表示することができる。これにより、ユーザの細かい希望に対応したキャラクタオブジェクトを候補として生成することができ、ユーザによる微調整的な選択を可能とすることができる。
【００３１】
第１０の発明によれば、パーツオブジェクトはオブジェクトの類似順にメモリに格納されているため、あるパーツオブジェクトに近接するようなパーツオブジェクトを読み出して候補キャラクタを作成するだけで、類似するキャラクタオブジェクトを生成することができる。つまり、比較的簡単なファイルアクセス処理を行うだけで、類似するキャラクタオブジェクトを生成することができる。
【００３２】
第１１乃至１２の発明によれば、現在のキャラクタオブジェクトに使われているパーツオブジェクトの格納位置を中心とする近接格納位置からパーツオブジェクトを読み出してキャラクタオブジェクトを生成することができる。そのため、簡単なファイルアクセス処理によって、類似するキャラクタオブジェクトを生成することができる。
【００３３】
第１３乃至１６の発明によれば、一次元配列に沿って類似度の高いキャラクタを作成できると共に、当該１次元配列そのものを別の配列に変更することができる。これにより、類似度の高いキャラクタを作成していく過程で、突発的に非類似のキャラクタを作成することが可能となり、ゲーム内容に変化をもたせて興趣を高めることが可能となる。
【００３４】
第１７の発明によれば、上記第１の発明と同様の効果を得ることができる。
【００３５】
第１８の発明によれば、上記第１０の発明と同様の効果を得ることができる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の実施の形態について、図面を参照して説明する。尚、この実施例により本発明が限定されるものではない。まず、各実施形態の詳細を説明するに先立ち、各実施形態で共通して使用されるゲーム装置の構成について説明する。以下、説明を具体的にするために、当該ゲーム装置の一例の据置型のゲーム装置を含むゲームシステムについて説明する。なお、図１は、据置型のゲーム装置本体３を含むゲームシステム１の外観図であり、図２はゲーム装置本体３のブロック図である。以下、当該ゲームシステム１について説明する。
【００３７】
図１において、ゲームシステム１は、表示手段の一例の家庭用テレビジョン受像機（以下、モニタと記載する）２と、当該モニタを接続コードを介して接続する据置型のゲーム装置本体３とから構成される。モニタは、ゲーム装置本体３から出力された音声信号を音声出力するためのスピーカ２ａを備える。また、ゲーム装置本体３は、本願発明の情報処理プログラムの一例のゲームプログラムを記録した光ディスク４と、当該光ディスク４のゲームプログラムを実行してゲーム画面をモニタに表示出力させるためのコンピュータを搭載したゲーム装置本体３と、ゲーム画面に表示されたキャラクタなどのオブジェクトなどのゲームに必要な操作情報をゲーム装置本体３に与えるためのコントローラ７とを備えている。
【００３８】
また、ゲーム装置本体３は、通信ユニット６を内蔵する。通信ユニット６は、コントローラ７から無線送信されるデータを受信し、ゲーム装置本体３からコントローラ７へデータを送信して、コントローラ７とゲーム装置本体３とは無線通信によって接続する。さらに、ゲーム装置本体３には、当該ゲーム装置本体３に対して交換可能に用いられる情報記憶媒体の一例の光ディスク４が脱着される。ゲーム装置本体３の前部主面には、当該ゲーム装置本体３の電源ＯＮ／ＯＦＦスイッチ、ゲーム処理のリセットスイッチ、光ディスク４を脱着する投入口、およびゲーム装置本体３の投入口から光ディスク４を取り出すイジェクトスイッチ等が設けられている。
【００３９】
また、ゲーム装置本体３には、セーブデータ等のデータを固定的に記憶するバックアップメモリとして機能するフラッシュメモリ３８が搭載される。ゲーム装置本体３は、光ディスク４に記憶されたゲームプログラム等を実行することによって、その結果をゲームオブジェクトとしてモニタ２に表示する。さらに、ゲーム装置本体３は、フラッシュメモリ３８に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲームオブジェクトをモニタ２に表示することもできる。そして、ゲーム装置本体３のプレイヤは、モニタ２に表示されたゲームオブジェクトを見ながら、コントローラ７を操作することによって、ゲーム進行を楽しむことができる。
【００４０】
コントローラ７は、通信ユニット６を内蔵するゲーム装置本体３へ、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）の技術を用いて操作情報などの送信データを無線送信する。コントローラ７は、主にモニタ２の表示画面に表示されるゲーム空間に登場するプレイヤオブジェクト等を操作したりするための操作手段である。コントローラ７は、片手で把持可能な程度の大きさのハウジングと、当該ハウジングの表面に露出して設けられた複数個の操作ボタン（十字キーやスティック等を含む）が設けられている。また、後述により明らかとなるが、コントローラ７は、当該コントローラ７から見たオブジェクトを撮像する撮像情報演算部７４を備えている。また、撮像情報演算部７４の撮像対象の一例として、モニタ２の表示画面近傍に２つのＬＥＤモジュール（以下、マーカと記載する）８Ｌおよび８Ｒが設置される。これらマーカ８Ｌおよび８Ｒは、それぞれモニタ２の前方に向かって例えば赤外光を出力する。また、コントローラ７は、ゲーム装置本体３の通信ユニット６から無線送信された送信データを通信部７５で受信して、当該送信データに応じた音や振動を発生させることもできる。
【００４１】
図２において、ゲーム装置本体３は、各種プログラムを実行する例えばＣＰＵ（セントラルプロセッシングユニット）３０を備える。ＣＰＵ３０は、図示しないブートＲＯＭに記憶された起動プログラムを実行し、メインメモリ３３等のメモリの初期化等を行った後、光ディスク４に記憶されているゲームプログラムの実行し、そのゲームプログラムに応じたゲーム処理等を行うものである。ＣＰＵ３０には、メモリコントローラ３１を介して、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３２、メインメモリ３３、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）３４、およびＡＲＡＭ（Ａｕｄｉｏ  ＲＡＭ）３５などが接続される。また、メモリコントローラ３１には、所定のバスを介して、通信ユニット６、ビデオＩ／Ｆ（インターフェース）３７、フラッシュメモリ３８、オーディオＩ／Ｆ３９、およびディスクＩ／Ｆ４１が接続され、それぞれのインターフェースにモニタ２、スピーカ２ａ、およびディスクドライブ４０が接続されている。
【００４２】
ＧＰＵ３２は、ＣＰＵ３０の命令に基づいてオブジェクト処理を行うものであり、例えば、３Ｄグラフィックスの表示に必要な計算処理を行う半導体チップで構成される。ＧＰＵ３２は、図示しないオブジェクト処理専用のメモリやメインメモリ３３の一部の記憶領域を用いてオブジェクト処理を行う。ＧＰＵ３２は、これらを用いてモニタ２に表示すべきゲームオブジェクトデータやムービ映像を生成し、適宜メモリコントローラ３１およびビデオＩ／Ｆ３７を介してモニタ２に出力する。
【００４３】
メインメモリ３３は、ＣＰＵ３０で使用される記憶領域であって、ＣＰＵ３０の処理に必要なゲームプログラム等を適宜記憶する。例えば、メインメモリ３３は、ＣＰＵ３０によって光ディスク４から読み出されたゲームプログラムや各種データ等を記憶する。このメインメモリ３３に記憶されたゲームプログラムや各種データ等がＣＰＵ３０によって実行される。
【００４４】
ＤＳＰ３４は、ゲームプログラム実行時にＣＰＵ３０において生成されるサウンドデータ等を処理するものであり、そのサウンドデータ等を記憶するためのＡＲＡＭ３５が接続される。ＡＲＡＭ３５は、ＤＳＰ３４が所定の処理（例えば、先読みしておいたゲームプログラムやサウンドデータの記憶）を行う際に用いられる。ＤＳＰ３４は、ＡＲＡＭ３５に記憶されたサウンドデータを読み出し、メモリコントローラ３１およびオーディオＩ／Ｆ３９を介してモニタ２に備えるスピーカ２ａに出力させる。
【００４５】
メモリコントローラ３１は、データ転送を統括的に制御するものであり、上述した各種Ｉ／Ｆが接続される。通信ユニット６は、上記バスを介して、ゲーム装置本体３と接続される。上述したように通信ユニット６は、コントローラ７からの送信データを受信し、当該送信データをＣＰＵ３０へ出力する。また、通信ユニット６は、ＣＰＵ３０から出力された送信データをコントローラ７の通信部７５へ送信する。ビデオＩ／Ｆ３７には、モニタ２が接続される。オーディオＩ／Ｆ３９にはモニタ２に内蔵されるスピーカ２ａが接続され、ＤＳＰ３４がＡＲＡＭ３５から読み出したサウンドデータやディスクドライブ４０から直接出力されるサウンドデータをスピーカ２ａから出力可能に接続される。ディスクＩ／Ｆ４１には、ディスクドライブ４０が接続される。ディスクドライブ４０は、所定の読み出し位置に配置された光ディスク４に記憶されたデータを読み出し、ゲーム装置本体３のバスやオーディオＩ／Ｆ３９に出力する。
【００４６】
図３および図４を参照して、コントローラ７について説明する。なお、図３は、コントローラ７の上面後方から見た斜視図である。図４は、コントローラ７を下面前方から見た斜視図である。
【００４７】
図３および図４において、コントローラ７は、ハウジング７１と、当該ハウジング７１の表面に設けられた複数個の操作ボタンで構成される操作部７２とを備える。本実施例のハウジング７１は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさであり、例えばプラスチック成型によって形成されている。
【００４８】
ハウジング７１上面の中央前面側に、十字キー７２ａが設けられる。この十字キー７２ａは、十字型の４方向プッシュスイッチであり、４つの方向（前後左右）に対応する操作部分が十字の突出片にそれぞれ９０°間隔で配置される。プレイヤが十字キー７２ａのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。例えばプレイヤが十字キー７２ａを操作することによって、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、複数の選択肢から選択指示したりすることができる。
【００４９】
なお、十字キー７２ａは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、十字方向に４つのプッシュスイッチを配設し、プレイヤによって押下されたプッシュスイッチに応じて操作信号を出力する操作部を設けてもかまわない。さらに、上記４つのプッシュスイッチとは別に、上記十字方向が交わる位置にセンタスイッチを配設し、４つのプッシュスイッチとセンタスイッチとを複合した操作部を設けてもかまわない。また、ハウジング７１上面から突出した傾倒可能なスティック（いわゆる、ジョイスティック）を倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー７２ａの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー７２ａの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー７２ａの代わりに設けてもかまわない。
【００５０】
ハウジング７１上面の十字キー７２ａより後面側に、複数の操作ボタン７２ｂ〜７２ｇが設けられる。操作ボタン７２ｂ〜７２ｇは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン７２ｂ〜７２ｇに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン７２ｂ〜７２ｄには、１番ボタン、２番ボタン、およびＡボタン等としての機能が割り当てられる。また、操作ボタン７２ｅ〜７２ｇには、マイナスボタン、ホームボタン、およびプラスボタン等としての機能が割り当てられる。これら操作ボタン７２ａ〜７２ｇは、ゲーム装置本体３が実行するゲームプログラムに応じてそれぞれの操作機能が割り当てられる。なお、図３に示した配置例では、操作ボタン７２ｂ〜７２ｄは、ハウジング７１上面の中央前後方向に沿って並設されている。また、操作ボタン７２ｅ〜７２ｇは、ハウジング７１上面の左右方向に沿って操作ボタン７２ｂおよび７２ｄの間に並設されている。そして、操作ボタン７２ｆは、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００５１】
また、ハウジング７１上面の十字キー７２ａより前面側に、操作ボタン７２ｈが設けられる。操作ボタン７２ｈは、遠隔からゲーム装置本体３本体の電源をオン／オフする電源スイッチである。この操作ボタン７２ｈも、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００５２】
また、ハウジング７１上面の操作ボタン７２ｃより後面側に、複数のＬＥＤ７０２が設けられる。ここで、コントローラ７は、他のコントローラ７と区別するためにコントローラ種別（番号）が設けられている。例えば、ＬＥＤ７０２は、コントローラ７に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、コントローラ７から通信ユニット６へ送信データを送信する際、上記コントローラ種別に応じて複数のＬＥＤ７０２のうち、種別に対応するＬＥＤが点灯する。
【００５３】
また、ハウジング７１上面には、操作ボタン７２ｂおよび操作ボタン７２ｅ〜７２ｇの間に後述するスピーカ（図５のスピーカ７０６）からの音を外部に放出するための音抜き孔が形成されている。
【００５４】
一方、ハウジング７１下面には、凹部が形成されている。後述で明らかとなるが、ハウジング７１下面の凹部は、プレイヤがコントローラ７の前面をマーカ８Ｌおよび８Ｒに向けて片手で把持したときに、当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の後面側傾斜面には、操作ボタン７２ｉが設けられる。操作ボタン７２ｉは、例えばＢボタンとして機能する操作部である。
【００５５】
また、ハウジング７１前面には、撮像情報演算部７４の一部を構成する撮像素子７４３が設けられる。ここで、撮像情報演算部７４は、コントローラ７が撮像したオブジェクトデータを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大２００フレーム／秒程度のサンプリング周期であるため比較的高速なコントローラ７の動きでも追跡して解析することができる。この撮像情報演算部７４の詳細な構成については、後述する。また、ハウジング７０の後面には、コネクタ７３が設けられている。コネクタ７３は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
【００５６】
ここで、以下の説明を具体的にするために、コントローラ７に対して設定する座標系について定義する。図３および図４に示すように、互いに直交するｘｙｚ軸をコントローラ７に対して定義する。具体的には、コントローラ７の前後方向となるハウジング７１の長手方向をｚ軸とし、コントローラ７の前面（撮像情報演算部７４が設けられている面）方向をｚ軸正方向とする。また、コントローラ７の上下方向をｙ軸とし、ハウジング７１の下面（操作ボタン７２ｉが設けられた面）方向をｙ軸正方向とする。さらに、コントローラ７の左右方向をｘ軸とし、ハウジング７１の左側面（図３では表されずに図４で表されている側面）方向をｘ軸正方向とする。
【００５７】
次に、図５および図６を参照して、コントローラ７の内部構造について説明する。なお、図５は、コントローラ７の上ハウジング（ハウジング７１の一部）を外した状態を後面側から見た斜視図である。図６は、コントローラ７の下ハウジング（ハウジング７１の一部）を外した状態を前面側から見た斜視図である。ここで、図６に示す基板７００は、図５に示す基板７００の裏面から見た斜視図となっている。
【００５８】
図５において、ハウジング７１の内部には基板７００が固設されており、当該基板７００の上主面上に操作ボタン７２ａ〜７２ｈ、加速度センサ７０１、ＬＥＤ７０２、およびアンテナ７５４等が設けられる。そして、これらは、基板７００等に形成された配線（図示せず）によってマイコン７５１等（図６、図７参照）に接続される。マイコン７５１は本願発明のボタンデータ発生手段の一例として、操作ボタン７２ａ等の種類に応じた操作ボタンデータを発生させるように機能する。この仕組みは公知技術であるが、例えばキートップ下側に配置されたタクトスイッチなどのスイッチ機構による配線の接触／切断をマイコン７５１が検出することによって実現されている。より具体的には、操作ボタンが例えば押されると配線が接触して通電するので、この通電がどの操作ボタンにつながっている配線で発生したかをマイコン７５１が検出し、操作ボタンの種類に応じた信号を発生させている。
【００５９】
また、コントローラ７は、図示しない無線モジュール７５３（図７参照）およびアンテナ７５４によって、ワイヤレスコントローラとして機能する。なお、ハウジング７１内部には図示しない水晶振動子７０３が設けられており、後述するマイコン７５１の基本クロックを生成する。また、基板７００の上主面上に、スピーカ７０６およびアンプ７０８が設けられる。また、加速度センサ７０１は、操作ボタン７２ｄの左側の基板７００上（つまり、基板７００の中央部ではなく周辺部）に設けられる。したがって、加速度センサ７０１は、コントローラ７の長手方向を軸とした回転に応じて、重力加速度の方向変化に加え、遠心力による成分の含まれる加速度を検出することができるので、所定の演算により、検出される加速度データからコントローラ７の回転を良好な感度でゲーム装置本体３等が判定することができる。
【００６０】
一方、図６において、基板７００の下主面上の前端縁に撮像情報演算部７４が設けられる。撮像情報演算部７４は、コントローラ７の前方から順に赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、およびオブジェクト処理回路７４４によって構成されており、それぞれ基板７００の下主面に取り付けられる。また、基板７００の下主面上の後端縁にコネクタ７３が取り付けられる。さらに、基板７００の下主面上にサウンドＩＣ７０７およびマイコン７５１が設けられている。サウンドＩＣ７０７は、基板７００等に形成された配線によってマイコン７５１およびアンプ７０８と接続され、ゲーム装置本体３から送信されたサウンドデータに応じてアンプ７０８を介してスピーカ７０６に音声信号を出力する。
【００６１】
そして、基板７００の下主面上には、バイブレータ７０４が取り付けられる。バイブレータ７０４は、例えば振動モータやソレノイドである。バイブレータ７０４は、基板７００等に形成された配線によってマイコン７５１と接続され、ゲーム装置本体３から送信された振動データに応じてその作動をオン／オフする。バイブレータ７０４が作動することによってコントローラ７に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。ここで、バイブレータ７０４は、ハウジング７１のやや前方寄りに配置されるため、プレイヤが把持している状態において、ハウジング７１が大きく振動することになり、振動を感じやすくなる。
【００６２】
次に、図７を参照して、コントローラ７の内部構成について説明する。なお、図７は、コントローラ７の構成を示すブロック図である。
【００６３】
図７において、コントローラ７は、上述した操作部７２、撮像情報演算部７４、加速度センサ７０１、バイブレータ７０４、スピーカ７０６、サウンドＩＣ７０７、およびアンプ７０８の他に、その内部に通信部７５を備えている。
【００６４】
撮像情報演算部７４は、赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、およびオブジェクト処理回路７４４を含んでいる。赤外線フィルタ７４１は、コントローラ７の前方から入射する光から赤外線のみを通過させる。レンズ７４２は、赤外線フィルタ７４１を透過した赤外線を集光して撮像素子７４３へ出射する。撮像素子７４３は、例えばＣＭＯＳセンサやあるいはＣＣＤのような固体撮像素子であり、レンズ７４２が集光した赤外線を撮像する。したがって、撮像素子７４３は、赤外線フィルタ７４１を通過した赤外線だけを撮像してオブジェクトデータを生成する。撮像素子７４３で生成されたオブジェクトデータは、オブジェクト処理回路７４４で処理される。具体的には、オブジェクト処理回路７４４は、撮像素子７４３から得られたオブジェクトデータを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部７５へ出力する。なお、これらの撮像情報演算部７４は、コントローラ７のハウジング７１に固設されており、ハウジング７１自体の方向を変えることによってその撮像方向を変更することができる。後述により明らかとなるが、この撮像情報演算部７４から出力される処理結果データに基づいて、コントローラ７の位置や動きに応じた信号を得ることができる。
【００６５】
コントローラ７は、３軸（ｘ、ｙ、ｚ軸）の加速度センサ７０１を備えていることが好ましい。この３軸の加速度センサ７０１は、３方向、すなわち、上下方向、左右方向、および前後方向で直線加速度を検知する。また、他の実施形態においては、ゲーム処理に用いる制御信号の種類によっては、上下および左右方向（または他の対になった方向）のそれぞれに沿った直線加速度のみを検知する２軸の加速度検出手段を使用してもよい。例えば、この３軸または２軸の加速度センサ７０１は、アナログ・デバイセズ株式会社（Ａｎａｌｏｇ  Ｄｅｖｉｃｅｓ，  Ｉｎｃ．）またはＳＴマイクロエレクトロニクス社（ＳＴＭｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ  Ｎ．Ｖ．）から入手可能であるタイプのものでもよい。加速度センサ７０１は、シリコン微細加工されたＭＥＭＳ（Ｍｉｃｒｏ  Ｅｌｅｃｔｒｏ  Ｍｅｃｈａｎｉｃａｌ  Ｓｙｓｔｅｍｓ：微小電子機械システム）の技術に基づいた静電容量式（静電容量結合式）であってもよい。しかしながら、既存の加速度検出手段の技術（例えば、圧電方式や圧電抵抗方式）あるいは将来開発される他の適切な技術を用いて３軸または２軸の加速度センサ７０１が提供されてもよい。
【００６６】
当業者には公知であるように、加速度センサ７０１に用いられるような加速度検出手段は、加速度センサの持つ各軸に対応する直線に沿った加速度（直線加速度）のみを検知することができる。つまり、加速度センサ７０１からの直接の出力は、その２軸または３軸のそれぞれに沿った直線加速度（静的または動的）を示す信号である。このため、加速度センサ７０１は、非直線状（例えば、円弧状）の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。
【００６７】
しかしながら、加速度センサ７０１から出力される加速度の信号に対して追加の処理を行うことによって、コントローラ７に関するさらなる情報を推測または算出することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、静的な加速度（重力加速度）が検知されると、加速度センサ７０１からの出力を用いて、傾斜角度と検知された加速度とを用いた演算によって重力ベクトルに対する対象（コントローラ７）の傾きをそれぞれ推測することができる。このように、加速度センサ７０１をマイコン７５１（または他のプロセッサ）と組み合わせて用いることによって、コントローラ７の傾き、姿勢または位置を決定することができる。同様に、加速度センサ７０１を備えるコントローラ７が、例えばユーザの手で動的に加速されてそれぞれ動かされる場合に、加速度センサ７０１によって生成される加速度信号を処理することによって、コントローラ７のさまざまな動きおよび／または位置をそれぞれ算出または推測することができる。他の実施例では、加速度センサ７０１は、信号をマイコン７５１に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサが静的な加速度（例えば、重力加速度）を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角に変換するものであってもよい。加速度センサ７０１でそれぞれ検知された加速度を示すデータは通信部７５に出力される。
【００６８】
通信部７５は、マイクロコンピュータ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ：マイコン）７５１、メモリ７５２、無線モジュール７５３、およびアンテナ７５４を含んでいる。マイコン７５１は、処理の際にメモリ７５２を記憶領域として用いながら、送信データを無線送信する無線モジュール７５３を制御する。また、マイコン７５１は、アンテナ７５４を介して無線モジュール７５３が受信したゲーム装置本体３からのデータに応じて、サウンドＩＣ７０７およびバイブレータ７０４の動作を制御する。サウンドＩＣ７０７は、通信部７５を介してゲーム装置本体３から送信されたサウンドデータ等を処理する。また、マイコン７５１は、通信部７５を介してゲーム装置本体３から送信された振動データ（例えば、バイブレータ７０４をＯＮまたはＯＦＦする信号）等に応じて、バイブレータ７０４を作動させる。
【００６９】
コントローラ７に設けられた操作部７２からの操作信号（キーデータ）、加速度センサ７０１からの加速度信号（ｘ、ｙ、およびｚ軸方向加速度データ；以下、単に加速度データと記載する）、および撮像情報演算部７４からの処理結果データは、マイコン７５１に出力される。マイコン７５１は、入力した各データ（キーデータ、加速度データ、処理結果データ）を通信ユニット６へ送信する送信データとして一時的にメモリ７５２に格納する。ここで、通信部７５から通信ユニット６への無線送信は、所定の周期毎に行われるが、ゲームの処理は１／６０秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は１６．７ｍｓ（１／６０秒）であり、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ；登録商標）で構成される通信部７５の送信間隔は例えば５ｍｓである。マイコン７５１は、通信ユニット６への送信タイミングが到来すると、メモリ７５２に格納されている送信データを一連の操作情報として出力し、無線モジュール７５３へ出力する。そして、無線モジュール７５３は、例えばブルートゥース（登録商標）の技術に基づいて、所定周波数の搬送波を用いて操作情報で変調し、その電波信号をアンテナ７５４から放射する。つまり、コントローラ７に設けられた操作部７２からのキーデータ、加速度センサ７０１からの加速度データ、および撮像情報演算部７４からの処理結果データが無線モジュール７５３で電波信号に変調されてコントローラ７から送信される。そして、ゲーム装置本体３の通信ユニット６でその電波信号を受信し、ゲーム装置本体３で当該電波信号を復調や復号することによって、一連の操作情報（キーデータ、加速度データ、および処理結果データ）を取得する。そして、ゲーム装置本体３のＣＰＵ３０は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、ブルートゥース（登録商標）の技術を用いて通信部７５を構成する場合、通信部７５は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
【００７０】
（第１の実施形態）
次に、図８〜図１２を用いて、本実施形態で想定するキャラクタオブジェクト生成処理（以下、単にオブジェクト生成処理と呼ぶ）の概要について説明する。本実施形態では、例えばＭＭＯＲＰＧ（Ｍａｓｓｉｖｅｌｙ  Ｍｕｌｔｉｐｌａｙｅｒ  Ｏｎｌｉｎｅ  Ｒｏｌｅ  Ｐｌａｙｉｎｇ  Ｇａｍｅ）等において、ユーザの分身となるユーザキャラクタオブジェクトを生成する際の、特に顔部分のオブジェクトを生成する場合を例にして説明する。なお、顔部分のオブジェクトに限らず、キャラクタオブジェクト全身を生成する場合にも本発明は適用できる。
【００７１】
図８〜図１２は、本実施形態で想定するオブジェクト生成処理における画面の一例である。本実施形態では、まず、図８に示すような性別選択画面を表示して、性別をユーザに選ばせる。すると、選ばれた性別に基づいて、ランダムで顔オブジェクトが２４個生成される。そして、図９に示すような初期オブジェクト選択画面を表示して、ユーザにいずれかの顔オブジェクトを選択させる。ここでは、ユーザが顔オブジェクト９１を選択したとして、説明を続ける（選んだ顔オブジェクトは少し大きく表示されている）。次に、図１０に示すようなオブジェクト選択画面が表示される。図１０においては、画面の中央部に、３×３のマス目が表示され（以下、マトリクスエリア１０１と呼ぶ）、中央のマスに、先ほどユーザが選択した顔オブジェクト９１が表示される。以下、この中央のマスに表示される顔オブジェクトを、基準オブジェクト１０２と呼ぶ。そして、その周囲８マスに、当該基準オブジェクト１０２に似た顔オブジェクトが計８個生成されて、表示される（オブジェクト１０３〜１１０）。以下、この周囲８マスに表示される顔オブジェクトを、候補オブジェクトと呼ぶ。また、画面右部には、中央のマスの基準オブジェクト１０２が表示され、その下には決定ボタン１１１が表示されている。ユーザが、自分の作りたい顔オブジェクトとして上記基準オブジェクト１０２で問題がないのであれば、当該決定ボタン１１１を押すことで、当該基準オブジェクト１０２が最終的な顔オブジェクトとして確定することになる。
【００７２】
一方、ユーザが、基準オブジェクト１０２ではまだ満足できない場合は、上記周囲８マスに表示されている候補オブジェクト１０３〜１１０の中から何れか一つを選ぶ。ここでは、図１１に示すように、候補オブジェクト１０８を選んだとする。すると、図１２に示すように、ユーザが選んだ候補オブジェクト１０８が基準オブジェクト１０２として中央のマスに表示される。そして、その周囲８マスには、当該基準オブジェクト１０２を基準として新たに生成された候補オブジェクトが表示される。ユーザは、当該基準オブジェクト１０２で満足すれば、決定ボタン１１１を押して、最終的な顔オブジェクトを確定する。また、この基準オブジェクト１０２でも満足できない場合は、８つの候補オブジェクトのいずれか一つを選択すれば、上記のように、当該選んだ候補オブジェクトが基準オブジェクトとして、マトリクスエリア１０１の中央のマスに表示され、その周囲には候補オブジェクトが新たに作成されて表示される。以上のような操作を繰り返すことで、ユーザは、自分のイメージしたオブジェクトを生成していく。
【００７３】
つまり、ユーザは、画面に表示される基準オブジェクトと、この基準オブジェクトに類似する候補オブジェクトから、自分が生成したいオブジェクトに近いと感じるオブジェクトを選ぶ。すると、選ばれた候補オブジェクトを基準にして、当該オブジェクトに類似する候補オブジェクトが新たに作成されて表示される。ユーザは、そこから更に候補オブジェクトを選択する。このような選択操作という半受動的な操作を繰り返すことで、画面に表示される顔オブジェクトが、徐々にユーザの希望している顔オブジェクトに近づいていく。その結果、ユーザは、最終的に、自分の希望する顔オブジェクトを選択することが可能となる。
【００７４】
また、上記候補オブジェクトの生成に関して、本実施形態では、基準オブジェクトと候補オブジェクトとの差異点に着目した処理を行っている。具体的には、例えば、図１１の基準オブジェクト１０２と選択した候補オブジェクト１０８との間では、眉毛と目のパーツオブジェクトが異なっており、他の部位のパーツオブジェクトは同一であると仮定する。この場合は、ユーザが、眉毛・目という部位について積極的に変更したいと考えているものとして、これらの部位のパーツオブジェクトを優先的に変更した候補オブジェクトを生成するようにしている。これによって、ユーザが希望している顔オブジェクトが表示される確率を高くすることができる。
【００７５】
次に、ゲーム装置本体３によって実行されるオブジェクト生成処理の詳細を説明する。まず、図１３〜図１８を参照して、オブジェクト生成処理において用いられる主なデータについて説明する。図１３は、図２に示したメインメモリ３３のメモリマップを示す図解図である。図１３において、メインメモリ３３は、プログラム記憶領域３３０およびデータ記憶領域３３４を含む。
【００７６】
プログラム記憶領域３３０は、ＣＰＵ３０によって実行されるプログラムを記憶し、このプログラムは、メイン処理プログラム３３１、候補オブジェクト生成プログラム３３２、変更パーツ決定プログラム３３３などによって構成される。メイン処理プログラム３３１は、後述の図１９のフローチャートに対応するプログラムである。候補オブジェクト生成プログラム３３２は、上記候補オブジェクトを生成するためのプログラムで、図２１のフローチャートに対応するプログラムである。また、変更パーツ決定プログラム３３３は、候補オブジェクト生成の際の変更対象パーツを決めるためのプログラムであり、図２２のフローチャートに対応するプログラムである。
【００７７】
データ記憶領域３３４には、部位データ３３５、パーツオブジェクトデータ３３６、相違部位データ３３７、基準パーツデータ３３８などのデータが記憶される。その他、画面に表示する各種画面の背景オブジェクト等、本処理に必要なデータも記憶される。
【００７８】
部位データ３３５は、顔オブジェクトを構成する各部位についてのデータであり、部位３３５１の集合で構成される。例えば、「目」「鼻」「口」等が部位３３５１に該当する。
【００７９】
パーツオブジェクトデータ３３６は、図１５を用いて後述するが、パーツオブジェクトのデータが、一意となるパーツ番号を割り振られて格納されている。
【００８０】
相違部位データ３３７は、基準オブジェクトと、ユーザに選ばれた候補オブジェクトとの間で異なるパーツオブジェクトが使われている部位についての情報が格納される。本実施形態では、基準オブジェクトと各候補オブジェクトとの間で異なる部位の数は、３箇所だけであるとする。
【００８１】
基準パーツデータ３３８は、上記基準オブジェクト１０２を構成する各パーツについての情報である。
【００８２】
ここで、上記部位データ３３５の詳細について説明する。各部位３３５１は、系統と段階とパーツ番号で構成される。図１４は、部位３３５１のデータ構造の詳細を示す図である。部位３３５１は、複数の系統３３５２の集合からなる。また、各系統３３５２は、段階３３５３およびパーツ番号３３５４の集合からなる。また、各系統３３５２自体も、連番が振られる形で管理される（例えば、系統１、系統２、系統３・・・系統ｎ）。
【００８３】
次に、系統３３５２、および段階３３５３について、図１６〜図１７を用いて説明する。本実施形態において、系統３３５２とは、顔を構成する部位毎について、その部位のパーツオブジェクトをグループ分けするためのものである。例えば、「目」という部位の場合、「つり目」や「たれ目」等の目の形状に着目して、ある程度似たような形状をまとめて１つの「系統」とする。そして、各系統毎に、オブジェクトが類似する順番で整列されてメインメモリ３３に格納される。例えば、「鼻」という部位であれば、小さい鼻から順番に大きい鼻へとなるように格納される。つまり、大きさが類似する順番でメインメモリ３３に格納されることになる。
【００８４】
各系統３３５２には、段階３３５３およびパーツ番号３３５４が含まれる。段階３３５３は、各系統毎に格納されたパーツ番号３３５４の順番を示すものである。換言すれば、各系統において格納されている各パーツ番号３３５４の格納位置を示すものである。パーツ番号３３５４は、パーツオブジェクトを特定するためのＩＤである。図１６は、各部位毎の系統および段階の数の一例を示す図である。図１６では、例えば、「目」であれば、系統は９つあり、各系統毎に、４〜６の段階数を有している。また、図１７は、系統、段階およびパーツ番号の関係の一例を示す図である。つまり、各部位毎に、系統３３５２と段階３３５３の組み合わせによって、パーツ番号３３５４が特定される。
【００８５】
図１８は、「目」という部位についての系統と段階の関係の一例を示す図である。なお、図１８では、説明をわかりやすくするため、各系統３３５２・段階３３５３の組み合わせに対応するパーツ番号３３５４の代わりに、具体的なパーツオブジェクトの例を記している。ここで、各系統毎に格納される段階に対応する上記各パーツについては、例えば、「つり目」の場合は、上述のように、その目の形状や目の色等が似ている順番で、段階数の昇順に沿って格納されている。つまり、図１８の場合であれば、左から右に向かって、似ている順番で格納されている。例えば、段階１の目と段階２の目は、その形状や色が非常に似ている関係にある。しかし、段階１と段階５の目では、同じ「つり目」系統ではあるが、段階１と段階２との関係ほど類似はしていない関係にある。また、類似の順番については、目の形状など、実際のパーツオブジェクトの外観を基準にして判断している。そのため、図１７に示すように、パーツ番号の順番とパーツオブジェクトの類似度は一致するものではなく、必ずしもパーツ番号順に並んで格納されるものではない。
【００８６】
ここで、図１７、図１８に記されている「特殊系統」について説明する。これは、上記いずれの系統にも属さない、極めて個性的・特徴的なパーツオブジェクトが属する系統である。そして、この系統の各オブジェクトは、その形状等が特徴的であるがゆえに、各オブジェクト間の類似度が低いものとなっている。そのため、上記の各系統とは異なり、必ずしも類似順に整列されて格納されていない。
【００８７】
次に、図１５を用いて、上記パーツオブジェクトデータ３３６の詳細について説明する。パーツオブジェクトデータ３３６は、パーツ番号３３５４と、モデルデータ３３６２とテクスチャデータ３３６３と、属性情報３３６４の集合からなる。パーツ番号３３５４は、上記系統３３５２に含まれるパーツ番号３３５４と同じものである。すなわち、上記各部位と、そこに表示されるパーツオブジェクトとを関連づけるためのＩＤとなる。モデルデータ３３６２は、当該パーツオブジェクトのポリゴンモデルのデータであり、テクスチャデータ３３６３は、当該ポリゴンモデルに貼り付けられるテクスチャのデータである。換言すれば、画面に表示される１つのパーツオブジェクトはポリゴンモデルとそれに貼り付けられたテクスチャとから構成されている。属性情報３３６４は、各パーツオブジェクトの属性を示すための情報である。例えば、男性用のパーツであるか女性用のパーツであるかの情報等が属性情報３３６４として格納される。
【００８８】
次に、図１９〜図２２を参照して、ゲーム装置本体３によって実行されるオブジェクト生成処理について説明する。ゲーム装置本体３の電源が投入されると、ゲーム装置本体３のＣＰＵ３０は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、これによってメインメモリ３３等の各ユニットが初期化される。そして、光ディスク４に記憶された各プログラムがメインメモリ３３に読み込まれ、ＣＰＵ３０によって当該プログラムの実行が開始される。図１９〜図２２に示すフローチャートは、以上の処理が完了した後に行われるオブジェクト生成処理を示すフローチャートである。
【００８９】
図１９において、まず、ＣＰＵ３０は、初期設定処理を行う（ステップＳ１）。図２０は、当該ステップＳ１で示した初期設定処理の詳細を示すフローチャートである。図２０において、まず、ＣＰＵ３０は、図８で示したような性別選択画面を表示する（ステップＳ１１）。そして、ＣＰＵ３０は、ユーザからの性別選択入力を待つ（ステップＳ１２）。すなわち、ユーザからの入力があるまで性別選択画面の表示を、例えば１フレーム毎に繰り返す（ステップＳ１２でＮＯ）。そして、ユーザからの入力があれば（ステップＳ１２でＹＥＳ）、処理を次に進める。
【００９０】
次に、ＣＰＵ３０は、ユーザによって選択された性別が男であるか女であるかについての情報を性別情報としてメインメモリ３３に記憶する（ステップＳ１３）。続いて、ＣＰＵ３０は、パーツオブジェクトデータ３３６から、上記性別情報に基づいて、各部位毎にランダムにパーツオブジェクトを読み出す。例えば、選択された性別が男性の場合は、上記属性情報３３６４を参照しながら、男性用のパーツの中からランダムにパーツオブジェクト（モデルデータ３３６２とテクスチャデータ３３６３とのセット）を選択して読み出す。そして、ＣＰＵ３０は、当該読み出したパーツオブジェクトを組み合わせて顔オブジェクトを計２４枚生成する。そして、図９に示したように、当該顔オブジェクトをマトリクス状にして表示する（ステップＳ１４）。そして、ＣＰＵ３０は、ユーザからの選択入力を待つ（ステップＳ１５）。ユーザからの選択入力があれば（ステップＳ１５でＹＥＳ）、処理を次に進める。
【００９１】
次に、ＣＰＵ３０は、図１０に示したオブジェクト選択画面を表示するための処理を行う。まず、ステップＳ１５でユーザに選択された顔オブジェクトを基準オブジェクトとして設定し、上記マトリクスエリア１０１の中央のマスに描画する（ステップＳ１６）。このとき、当該基準オブジェクトを構成する各パーツ番号をその部位と対応づけて、基準パーツデータ３３８に格納しておく。
【００９２】
次に、候補オブジェクトを生成して、上記マトリクスエリア１０１の外周８マスに描画するために、後述する候補オブジェクト生成処理を行う（ステップＳ１７）。以上で、初期設定処理が終了する。初期設定処理が終了すると、図１０に示したような画面が表示されることになる。
【００９３】
図１９に戻り、ステップＳ１にかかる初期設定処理が終われば、次に、ＣＰＵ３０は、最終決定の入力があったか否かを判定する（ステップＳ２）。つまり、図１０の画面において、決定ボタン１１１が押されたか否かを判定する。当該判定の結果、最終決定の入力がまだであれば（ステップＳ２でＮＯ）、次に、ＣＰＵ３０は、いずれかの候補オブジェクトの選択入力が行われたか否かを判定する（ステップＳ３）。その結果、候補オブジェクトの選択入力が行われていないときは、ステップＳ２に戻って、処理を繰り返す。
【００９４】
一方、候補オブジェクトの選択入力が行われたときは、図１１に示すような、選択された候補オブジェクトと基準オブジェクトとの間で、両オブジェクトを構成するパーツオブジェクトが異なる部位（以下、相違部位と呼ぶ）を検出する。これは、例えば、部位毎にパーツ番号３３６１を比較することによって行われる。また、上述したように、本実施形態ではオブジェクトが異なる部位は３カ所までであるため、計３カ所の相違部位が検出されることになる。そして、当該相違部位の情報を、相違部位データ３３７に格納する（ステップＳ４）。
【００９５】
次に、選択された候補オブジェクトを構成する各パーツオブジェクトに対応するパーツ番号３３６１を基準パーツデータ３３８に格納する（ステップＳ５）。すなわち、候補オブジェクトを新たな基準オブジェクトとして設定することになる。
【００９６】
次に、選択された候補オブジェクト（つまり、新たな基準オブジェクト）を、上記マトリクスエリア１０１の中心マスに描画する（ステップＳ６）。
【００９７】
次に、ＣＰＵ３０は、上記マトリクスエリア１０１の外周８マスに表示する候補オブジェクトを生成するために、候補オブジェクト生成処理を行う（ステップＳ７）。当該処理の詳細は後述するが、当該処理は、図２０のステップＳ１７にかかる候補オブジェクト生成処理と同じである。この処理の結果、図１２に示したような画面が表示されることになる。そして、ＣＰＵ３０は、ステップＳ２に戻って処理を繰り返す。
【００９８】
一方、ステップＳ２の判定の結果、最終決定の入力があれば（ステップＳ２でＹＥＳ）、上記基準パーツデータ３３８を参照し、基準オブジェクトを構成しているパーツ（基準パーツ）を用いて、最終的な顔オブジェクトを設定する（ステップＳ８）。以上で、図１９にかかるメイン処理は終了する。
【００９９】
次に、上記ステップＳ７やＳ１７で示した候補オブジェクト生成処理について説明する。図２１は、上記候補オブジェクト生成処理の詳細を示すフローチャートである。本処理では、上記ユーザに選択された顔オブジェクト（基準オブジェクト）を基にして、当該基準オブジェクトに似た顔オブジェクト（候補オブジェクト）を計８つ作成する処理が行われる。上述のように、本実施形態では、基準オブジェクトと各候補オブジェクトとの間の相違部位の数は３カ所である。そのため、候補オブジェクトの作成については、基準オブジェクトを構成する各パーツオブジェクトのうち、３カ所だけ変更したものを１つの候補オブジェクトとして、計８つ生成することになる。
【０１００】
図２１において、まず、ＣＰＵ３０は、候補オブジェクトの作成個数をカウントするための変数である候補オブジェクト作成カウンタに０を設定する（ステップＳ２１）。
【０１０１】
次に、ＣＰＵ３０は、当該候補オブジェクト作成カウンタが８未満であるか否かを判定する（ステップＳ２２）。つまり、候補オブジェクトを８つ生成したか否かを判定する。
【０１０２】
次に、ＣＰＵ３０は、パーツ変更カウンタに０を設定する（ステップＳ２３）。当該パーツ変更カウンタは、後述の変更パーツ決定処理（ステップＳ２５）によって、候補オブジェクト生成における変更対象パーツとして決定されたパーツの数（つまり、変更する部位の数）をカウントするための変数である。
【０１０３】
次に、ＣＰＵ３０は、当該パーツ変更カウンタが３未満であるか否かを判定する（ステップＳ２４）。つまり、３カ所の変更対象とする部位（以下、変更対象部位）が決まったか否かを判定する。当該判定の結果、パーツ変更カウンタが３未満であれば（ステップＳ２４でＹＥＳ）、変更対象部位にかかるパーツオブジェクトを決めるための、後述の変更パーツ決定処理を行う（ステップＳ２５）。
【０１０４】
一方、パーツ変更カウンタが３以上であれば（ステップＳ２４でＮＯ）、変更対象部位が３カ所決まったことになるため、当該変更を反映した候補オブジェクトを１つ作成する（ステップＳ２６）。より具体的には、変更パーツ決定処理において決定された変更対象部位については、当該変更パーツ決定処理で決定された変更後のパーツ番号３３５４に基づいてパーツオブジェクトを読み出す。上記３カ所の変更対象部位以外の部位については、基準オブジェクトと同じパーツオブジェクトを用いて、候補オブジェクトを生成する。つまり、基準オブジェクトと比べて３カ所だけパーツオブジェクトが異なっている候補オブジェクトが生成されることになる。そして、当該候補オブジェクトを、上記マトリクスエリア１０１の中心マス以外のマスのいずれかに描画する。
【０１０５】
次に、ＣＰＵ３０は、候補オブジェクト作成カウンタに１を加算し（ステップＳ２７）、ステップＳ２２の処理に戻る。そして、ステップＳ２２の判定において、候補オブジェクト作成カウンタが８以上になれば（ステップＳ２２でＮＯ）、候補オブジェクト生成処理が終了する。このような処理を行うことにより、図１０や図１２に示した選択画面における８つの候補オブジェクトが生成・描画されることになる。
【０１０６】
次に、上記ステップＳ２５で示した変更パーツ決定処理について説明する。図２２は、上記ステップＳ２５で示した変更パーツ決定処理の詳細を示すフローチャートである。この処理では、上記基準オブジェクトを構成する各パーツのうち、３カ所の変更対象部位にかかる変更後のパーツ番号３３５４（つまり、パーツオブジェクト）を決めるための処理が行われる。その処理概要としては、まず、上記変更対象部位を決定する。そして、当該部位の系統３３５２を変更するか否かを決定し、最後に、変更する段階数を決定する。
【０１０７】
図２２において、まず、ＣＰＵ３０は、パーツ変更カウンタが０か否かを判定する（ステップＳ３１）。つまり、少なくとも１カ所、変更対象部位が既に決まっているか否かを判定する。換言すれば、候補オブジェクトを１つ生成するに際して、当該変更パーツ決定処理が３回実行されるところ（変更する部位は３カ所であるため）、その最初にかかる変更パーツ決定処理であるかどうかを判定する。当該判定の結果、０であるとき、つまり、１度目の変更パーツ決定処理となる場合は（ステップＳ３１でＹＥＳ）、続いてＣＰＵ３０は、相違部位データ３３７を参照して、基準オブジェクトと候補オブジェクトとの間でパーツオブジェクトが異なっている部位（上記３カ所の相違部位）があるか否かを判定する（ステップＳ３２）。その結果、相違部位があれば（ステップＳ３２でＹＥＳ）、当該相違部位の３カ所の中から、変更対象部位を１カ所だけ、ランダムで選択する（ステップＳ３３）。例えば、候補オブジェクトの部位のうち、「目」「鼻」「口」の３カ所の部位が基準オブジェクトに対して異なっていた場合は、当該「目」「鼻」「口」のいずれか１カ所をランダムで変更対象部位として選択することになる。換言すれば、候補オブジェクトを１枚作成するときの、１度目のループにかかる変更パーツ決定処理においては、選択された候補オブジェクトと基準オブジェクトとの相違部位の中から変更対象部位を選択する。これはつまり、ユーザが変更したいと考えている部位について、優先的に変更対象とするための処理である。
【０１０８】
一方、ステップＳ３１の判定の結果、パーツ変更カウンタが０ではないとき（ステップＳ３１でＮＯ）、つまり２度目以降のループにかかる変更パーツ決定処理のときは、まだ変更対象部位として選択されていない部位の中から、変更対象部位をランダムで選択する（ステップＳ３９）。例えば、上記１度目のループにかかる変更パーツ決定処理において「目」が変更対象部位として選択されていれば、「目」以外の部位（上記「鼻」や「口」も含む）の中から、変更対象部位をランダムで選択する。更に、２度目のループにおいて、例えば「眉毛」が選択されたとすれば、３度目のループにおいては、「目」「眉毛」以外の部位から変更対象部位をランダムで選択することになる。
【０１０９】
また、上記ステップＳ３２の判定の結果、上記相違部位がない場合も、上記ステップＳ３９の処理が行われる。これは、初期設定処理（図１９のステップＳ１）における候補オブジェクト作成処理（つまり、一番最初に表示される候補オブジェクトを作成するとき）や、初期設定処理以降の処理において、基準オブジェクトが選択された場合が該当する。
【０１１０】
ここで、上記ステップＳ３９の処理について、補足説明する。上述のように、このステップでは未変更の部位から変更対象部位をランダムで選択するが、このとき、上記性別情報も考慮される。例えば、「ひげ」は男性限定の部位として、上記性別情報が「女性」の場合は、選択されることはない。
【０１１１】
上記ステップＳ３３またはＳ３９で、変更対象部位が決まれば、次に、ＣＰＵ３０は、当該変更対象部位のパーツオブジェクト（に対応するパーツ番号３３５４）が属している系統３３５２を変更するか否かをランダムで決定する（ステップＳ３４）。例えば、図１７を例にすると、現在、系統３の段階４にかかるパーツオブジェクトが用いられているときは、この系統３を別の系統に変更するか否かをランダムで決定する。なお、このステップにおいて、系統が変更されると決定される確率は低めに設定することが好ましい。また、例外的に、図１７で示されている特殊系統に関して、変更対象部位のパーツオブジェクトが特殊系統であった場合は、必ず系統を変更するようにすることが好ましい。
【０１１２】
次に、ステップＳ３４の処理の結果として、系統３３５２を変更することになったか否かを判定する（ステップＳ３５）。当該判定の結果、系統３３５２を変更するときは（ステップＳ３５でＹＥＳ）、基準オブジェクト１０２の各部位のうち、ステップＳ３３または３９で選択された変更対象部位の系統３３５２を変更する。このステップＳ３６の処理を、上述の説明で用いた図１７を用いてより具体的に説明する。ここでは、現在の基準オブジェクトの部位「目」について、図１７の系統５の段階３にかかるパーツオブジェクトが設定されているものと仮定する。この場合、まず、乱数を用いた演算の結果、結果値が０か１になるような式を用いて、結果を算出する。そして、０が出た場合は、系統の番号を１減算する。つまり、系統５の場合は、系統４に変更することになる。逆に、１が出た場合は、系統の番号を１加算する。系統５の場合は系統６に変更する。このようにして、本ステップにおいて、系統が変更されることになる。
【０１１３】
図２２に戻り、一方、上記ステップＳ３５の判定の結果、系統３３５２の変更を行わないときは（ステップＳ３５でＮＯ）、ＣＰＵ３０は、ステップＳ３６の処理は行わずに、そのまま処理をステップＳ３７へと進める。
【０１１４】
次に、ＣＰＵ３０は、変更対象部位に係るパーツオブジェクトを変更するために、段階３３５３の変更を行う（ステップＳ３７）。このステップＳ３７の処理を、図１７を用いてより具体的に説明すると、まず、上記ステップＳ３５で系統の変更が行われていないときは、現在の段階の番号に対してプラスマイナス２の範囲で段階が変更される。但し、現在の段階は再度選ばれない。図１７を例に取ると、まず、現在の段階が段階３であると仮定すれば、段階１、段階２、段階４、段階５の４つの中からランダムで選ばれることになる。例えば、０〜３の数値を乱数を用いて決定するような式を使い、０が出れば段階１、１が出れば段階２、２が出れば段階４、３が出れば段階５が選ばれるようにする。上述したように、パーツ番号３３６１はパーツオブジェクトの類似順となるように格納されている。そのため、上述のように現在の段階に近接するような段階を選ぶことで、現在のパーツオブジェクトに似ているパーツオブジェクトを選択することが可能となる。
【０１１５】
一方、上記ステップＳ３６で系統３３５２の変更が行われた場合は、変更後の系統３３５２が有する全ての段階３３５３の中からランダムで選ぶ。例えば、図１７の系統６の場合であれば、段階が７まであるため、段階１〜段階７の中からランダムで一つ選ぶことになる。
【０１１６】
段階３３５３の変更が終われば、次にＣＰＵ３０は、パーツ変更カウンタに１を加算する（ステップＳ３８）。また、上記変更後の系統３３５２や段階３３５３から導出されるパーツ番号３３５４もメインメモリ３３に格納しておく。以上で、変更パーツ決定処理が終了する。この処理によって、候補オブジェクトを生成する際に変更すべき部位と、変更後のパーツオブジェクトを示すパーツ番号３３５４を決定することができる。
【０１１７】
以上で、第１の実施形態にかかるオブジェクト生成処理は終了する。
【０１１８】
このように、第１の実施形態では、基準オブジェクトと候補オブジェクトとで異なるパーツオブジェクトが用いられている部位については、少なくとも１つの部位は必ずパーツオブジェクトを変更することにより、ユーザが変更を希望していると考えられる部位について優先的に変更することができ、ユーザが希望するような候補オブジェクトをより生成しやすくすることができる。また、ユーザは、オブジェクト生成操作としては、表示される各オブジェクトから単に選択する操作を繰り返すだけでよいため、自らパーツオブジェクトを一つ一つ選んでオブジェクトを作っていく場合に比べ、オブジェクト生成操作についての負担が少なくなる。更に、ユーザに絵心がない場合でも、ユーザが希望するようなオブジェクトを生成しやすくすることができる。
【０１１９】
また、パーツオブジェクトデータについても、図１８に示したように、当該オブジェクトの類似順に並べてメインメモリ格納されているので、現在表示されているパーツオブジェクトの格納位置に近接するような格納位置のオブジェクトを読み出すだけで、類似度の高いパーツオブジェクトを表示することができる。
【０１２０】
なお、上記ステップＳ３９の変更対象部位の選択において、顔オブジェクトを構成する部位のうち一部の特徴的な部位については、変更対象として選択される確率を高くしてもよい。例えば、「メガネ」や「ひげ」等、顔オブジェクトの構成の中でも、より特徴的・個性的と考えられる部位については、上記ステップＳ３９において、選択される確率を高くしてもよい。これは、このような部位は、キャラクタの特徴をより表現しやすい部位であると考えられるため、ユーザは、他の部位に比べてこれらの部位の変更を望むものと考えられるからである。これにより、ユーザの利便性を高めつつ、ユーザの望むオブジェクトを生成しやすくすることができる。
【０１２１】
また、上記変更パーツ決定処理におけるステップＳ３１〜Ｓ３３の処理では、３カ所の上記相違部位の中から、変更対象部位を１カ所だけ、ランダムで選択していた。これに限らず、相違部位３カ所の中から２カ所、あるいは３カ所全てを選択するようにしてもよい。これにより、ユーザが変更を希望していると考えられる部位について更に優先的に変更することができる。
【０１２２】
また、部位毎にパーツオブジェクトが変更された回数を累積しておき、所定の回数以上変更された部位については、当該部位に係るパーツオブジェクトのみを、例えば別ウィンドウ等で別途表示するようにしても良い。この際、当該表示されるパーツオブジェクトは、そのときの基準オブジェクトに表示されている変更対象部位のパーツオブジェクトに対応する段階を中心とした所定範囲内の段階のオブジェクトのみ（つまり、現在のパーツオブジェクトとの類似度が高いものだけ）を表示するようにしてもよい。これにより、変更回数が多い部位については、より優先的に、ユーザの望むパーツオブジェクトを選択させやすくすることができる。
【０１２３】
また、上記本実施形態の概要説明においても述べたが、本発明は、顔オブジェクトだけに限らず、胸部オブジェクトや腹部オブジェクトや腕オブジェクトや脚オブジェクト等の、キャラクタオブジェクト全身を構成するオブジェクトを対象として適用できることはいうまでもない。例えば、腕オブジェクトの場合は、腕の太さや、肘パッド、腕輪、手袋等のアクセサリを上記顔オブジェクトにおける輪郭、目、鼻、口等と同様に扱えばよい。
【０１２４】
（第２の実施形態）
次に、図２３から図２４を参照して、本発明の第２の実施形態について説明する。上述の第１の実施形態では、「系統」や「段階」を変更して別のパーツオブジェクトに差し替えることでパーツオブジェクトの変更を行っていた。これに対して、第２の実施形態では、上記系統や段階の変更に加え、そのときのパーツオブジェクトそのものに対して所定の加工を行うことでパーツオブジェクトの変更を行う。この加工の内容としては、例えば、拡大縮小や、パーツオブジェクトの表示位置の上下・左右移動、パーツオブジェクトの回転や色の変更などがある。そして、これらの変更内容の可否を各部位毎に定義したテーブルを作成しておき、メインメモリ３３に格納しておく。以下、このテーブルを、変更内容テーブル３３９と呼ぶ。
【０１２５】
図２３は、上記変更内容テーブル３３９の一例を示す図である。図２３では、縦方向に部位を列挙し、横方向に変更内容を列挙している。ここで、「形状」の変更とは、上記第１の実施形態で説明したように上記系統や段階を変更して、別のパーツオブジェクトに差し替えることを示す。図２３においては、例えば、「輪郭」という部位は、形状の変更と色の変更は可能であるが、その他の要素については変更はできないことが示されている。また、「目」については、いずれの変更内容も可能であるが、「鼻」については、形状の変更、拡大縮小、上下移動のみが可能であることが示されている。そして、第２の実施形態では、この変更内容テーブル３３９を用いて変更パーツ決定処理が行われる。
【０１２６】
以下、第１の実施形態の説明で用いた図１９と、図２４とを用いて、本発明の第２の実施形態にかかるオブジェクト生成処理を説明する。第２の実施形態においては、図１９のメイン処理のフローチャートにおけるステップＳ４およびＳ５の処理と、図２２の変更パーツ決定処理以外の処理については、第１の実施形態と同様であるため、詳細な説明を省略する。
【０１２７】
第２の実施形態では、図１９のメイン処理のステップＳ４において、基準オブジェクトと選択された候補オブジェクトとの差異を検出する際に、形状以外についても相違があるか否かも判断される。つまり、基準オブジェクトと候補オブジェクトとでパーツ番号３３５４が同じである部位であっても、一方のオブジェクトに拡大縮小などの加工が施されていれば、当該部位には相違があるものとして、相違部位データ３３７に当該部位の情報と、その変更内容（「形状」の変更か、「拡大縮小」か、等の情報）が格納される。また、続くステップＳ５において、基準パーツデータ３３８に格納される情報としては、選択した候補オブジェクトのパーツ番号３３５４等に加え、上記「拡大縮小」や「回転」等の変更内容についての情報（拡大縮小率や回転角度等）も格納される。
【０１２８】
図２４は、第２の実施形態にかかる変更パーツ決定処理を示すフローチャートである。図２４に示すフローチャートでは、ステップＳ４１〜Ｓ４３の処理以外の処理については、第１の実施形態の説明において図２２で示したフローチャートと同様の処理が行われる。そのため、当該ステップＳ４１〜４３以外については詳細な説明は省略する。
【０１２９】
図２４において、ステップＳ３３またはＳ３９における変更対象部位の決定後、ＣＰＵ３０は、変更内容テーブルを参照して、変更する内容をランダムで決定する（ステップＳ４１）。より具体的には、各部位において変更可能な内容を上記変更対象テーブルを参照して判別する。そして、変更可能である変更内容の中から、ランダムで変更内容を決定する。例えば、変更対象部位が「口」であるときは、「形状」「拡大縮小」「上下移動」「色」の４つの中からランダムで変更内容を決定する。
【０１３０】
次に、ステップＳ４１で決定された変更内容が「形状」についての変更であるか否かを判定する（ステップＳ４２）。当該判定の結果、「形状」について変更するときは（ステップＳ４２でＹＥＳ）、ＣＰＵ３０は、処理をステップＳ３７へ進め、第１の実施形態で上述したような、「系統」や「段階」の変更を行う。ステップＳ３７以降の処理は、上述の第１の実施形態と同様であるので、詳細な説明は省略する。
【０１３１】
一方、ステップＳ４２の判定の結果、変更内容が「形状」以外についてのものであれば（ステップＳ４２でＮＯ）、ＣＰＵ３０は、ステップＳ４１で決定された変更内容に基づいて、基準オブジェクトの上記変更対象部位にかかるパーツオブジェクトを加工する（ステップＳ４３）。例えば、変更内容が「拡大縮小」であれば、所定の倍率でパーツオブジェクトの拡大あるいは縮小処理を行う。変更内容が「上下移動」であれば、パーツオブジェクトの表示位置を所定の距離だけ移動させる。変更内容が「色」であれば、パーツオブジェクトの色を所定の色に変更する。そして、ＣＰＵ３０は、処理をステップＳ３８に進める。
【０１３２】
以上で、第２の実施形態にかかる変更パーツ決定処理は終了する。この後、図２１で示した候補オブジェクト作成処理におけるステップＳ２６で、上記変更内容として設定された内容に基づいて候補オブジェクトが作成されることになる。
【０１３３】
このように、第２の実施形態では、現在のパーツオブジェクトを別のオブジェクトに変更するだけでなく、現在のパーツオブジェクト自体を加工して、候補オブジェクトを作成する。そのため、より基準オブジェクトに類似する候補オブジェクトを作成することができ、ユーザが希望するオブジェクトを選びやすくすることが可能となる。また、オブジェクトデータそのものを加工するため、別のオブジェクトデータを別途準備する必要もなく、メモリに格納すべきオブジェクトデータの記憶容量を削減することもできる。
【０１３４】
なお、上記第２の実施形態では、変更内容の決定について、変更対象部位の決定後（ステップＳ３３または、Ｓ３９）、その変更内容を決定する（ステップＳ４１）というように２段階の決定処理を行っていた。これに限らず、ステップＳ４１の処理をステップＳ３３、Ｓ３９に含めるようにして、決定処理は１度だけですませるようにしても良い。例えば、上記ステップＳ３３またはＳ３９の処理において、「口の形状」「口の拡大縮小」「鼻の形状」「鼻の上下移動」等のように、変更対象部位と変更する内容とをまとめて１度の処理で決定するようにしてもよい。
【産業上の利用可能性】
【０１３５】
本発明にかかるゲームプログラムおよびゲーム装置は、手軽な操作でユーザが希望するキャラクタオブジェクトを生成することができ、アバターのようなユーザの容姿を反映したキャラクタオブジェクト等を生成して楽しむネットワークコミュニケーションゲームやＭＭＯＲＰＧ等の他、各種オブジェクトの生成処理等の用途に有用である。
【図面の簡単な説明】
【０１３６】
【図１】本発明の一実施形態に係るゲームシステム１を説明するための外観図
【図２】図１のゲーム装置本体３の機能ブロック図
【図３】図１のコントローラ７の上面後方から見た斜視図
【図４】図３のコントローラ７を下面前方から見た斜視図
【図５】図３のコントローラ７の上ハウジングを外した状態を示す斜視図
【図６】図３のコントローラ７の下ハウジングを外した状態を示す斜視図
【図７】図３のコントローラ７の構成を示すブロック図
【図８】本実施形態で想定するゲーム画面の一例
【図９】本実施形態で想定するゲーム画面の一例
【図１０】本実施形態で想定するゲーム画面の一例
【図１１】本実施形態で想定するゲーム画面の一例
【図１２】本実施形態で想定するゲーム画面の一例
【図１３】メインメモリ３３のメモリマップを示す図解図
【図１４】部位３３５１のデータ構造を示す図
【図１５】パーツオブジェクトデータ３３６のデータ構造を示す図
【図１６】各部位毎の系統および段階の数の一例を示す図
【図１７】系統、段階およびパーツ番号の関係の一例を示す図
【図１８】「目」についての系統と段階の関係の一例を示す図
【図１９】本発明の実施形態に係るゲーム処理を示すフローチャート
【図２０】図１９のステップＳ１で示した初期設定処理の詳細を示したフローチャート
【図２１】図２０のステップＳ１７等で示した候補オブジェクト生成処理の詳細を示したフローチャート
【図２２】図２１のステップＳ２５で示した変更パーツ決定処理の詳細を示したフローチャート
【図２３】変更内容テーブル３３９の一例を示す図
【図２４】第２の実施形態にかかる変更パーツ決定処理の詳細を示すフローチャート
【符号の説明】
【０１３７】
１…ゲームシステム
２…モニタ
２ａ、７０６…スピーカ
３…ゲーム装置本体
３０…ＣＰＵ
３１…メモリコントローラ
３２…ＧＰＵ
３３…メインメモリ
３４…ＤＳＰ
３５…ＡＲＡＭ
３７…ビデオＩ／Ｆ
３８…フラッシュメモリ
３９…オーディオＩ／Ｆ
４０…ディスクドライブ
４１…ディスクＩ／Ｆ
４…光ディスク
６…通信ユニット
７…コントローラ
７１…ハウジング
７２…操作部
７３…コネクタ
７４…撮像情報演算部
７４１…赤外線フィルタ
７４２…レンズ
７４３…撮像素子
７４４…オブジェクト処理回路
７５…通信部
７５１…マイコン
７５２…メモリ
７５３…無線モジュール
７５４…アンテナ
７００…基板
７０１…加速度センサ
７０２…ＬＥＤ
７０３…水晶振動子
７０４…バイブレータ
７０７…サウンドＩＣ
７０８…アンプ
【図１】
2008061896.tif 000003
【図２】
2008061896.tif 000004
【図３】
2008061896.tif 000005
【図４】
2008061896.tif 000006
【図５】
2008061896.tif 000007
【図６】
2008061896.tif 000008
【図７】
2008061896.tif 000009
【図８】
2008061896.tif 000010
【図９】
2008061896.tif 000011
【図１０】
2008061896.tif 000012
【図１１】
2008061896.tif 000013
【図１２】
2008061896.tif 000014
【図１３】
2008061896.tif 000015
【図１４】
2008061896.tif 000016
【図１５】
2008061896.tif 000017
【図１６】
2008061896.tif 000018
【図１７】
2008061896.tif 000019
【図１８】
2008061896.tif 000020
【図１９】
2008061896.tif 000021
【図２０】
2008061896.tif 000022
【図２１】
2008061896.tif 000023
【図２２】
2008061896.tif 000024
【図２３】
2008061896.tif 000025
【図２４】
2008061896.tif 000026