(57)【要約】 【課題】移動体オブジェクトの群れの形成、解散に関し、よりリアリティのある群れの表現を行なう。【解決手段】本発明は、複数の移動体オブジェクトを有する群れのうち、別行動を指示された移動体オブジェクトが存在するか否かを判断し（Ｓ１２）、別行動を指示された移動体オブジェクトが存在すると判断された場合に、前記別行動をとる移動体オブジェクトが前記群れの中のリーダであるか否かを判断し（Ｓ１３）、前記別行動を指示された移動体オブジェクトが前記群れの中のリーダであると判断された場合には、前記群れを解散して、前記リーダの別行動を表示させ（Ｓ１７）、前記群れの中の他の移動体オブジェクトを個別行動表示させる（Ｓ１８）、移動体オブジェクトの群れ表示方法、である。【選択図】図１０
2014124496.tif 000002
【特許請求の範囲】
【請求項１】
ゲームシステムが、
複数の移動体オブジェクトを有する群れのうち、別行動を指示された移動体オブジェクトが存在するか否かを判断し、
別行動を指示された移動体オブジェクトが存在すると判断された場合に、前記別行動をとる移動体オブジェクトが前記群れの中のリーダであるか否かを判断し、
前記別行動を指示された移動体オブジェクトが前記群れの中のリーダであると判断された場合には、前記群れを解散して、前記リーダの別行動を表示させ、前記群れの中の他の移動体オブジェクトを個別行動表示させる、ゲームシステムにおける移動体オブジェクトの群れ表示方法。
【請求項２】
前記別行動を指示された移動体オブジェクトが前記群れの中のリーダ以外であると判断された場合には、前記別行動を指示された移動体オブジェクトを別行動表示させ、
前記別行動が終了した場合には、前記群れが解散しているか否かを判断し、
前記群れが解散していると判断された場合には、前記別行動を指示された移動体オブジェクトを個別行動表示させる、請求項１記載の移動体オブジェクトの群れ表示方法。
【請求項３】
前記群れが解散していないと判断された場合には、前記別行動を指示された移動体オブジェクトを群れ行動表示させる、請求項２記載の移動体オブジェクトの群れ表示方法。
【請求項４】
前記群れの移動体オブジェクトの数が所定の閾値以下である状態が所定時間継続したか否かを判断し、
前記群れの移動体オブジェクトの数が所定の閾値以下である状態が所定時間継続したと判断された場合に、前記群れを解散し、前記群れの移動体オブジェクトを個別行動表示させる、請求項１記載の移動体オブジェクトの群れ表示方法。
【請求項５】
前記リーダの行動種別を検出し、
前記群れのリーダ以外の移動体オブジェクトのうち、前記検出されたリーダの所定条件及び前記群れの移動体オブジェクトの所定条件に応じて、設定された所定の確率の移動体オブジェクトは、群れ行動表示され、残りの移動体オブジェクトは、前記群れから離れて、個別行動表示される、請求項１記載の移動体オブジェクトの群れ表示方法。
【請求項６】
複数の移動体オブジェクトを有する群れのうち、別行動を指示された移動体オブジェクトが存在するか否かを判断する手段と、
別行動を指示された移動体オブジェクトが存在すると判断された場合に、前記別行動をとる移動体オブジェクトが前記群れの中のリーダであるか否かを判断する手段と、
前記別行動を指示された移動体オブジェクトが前記群れの中のリーダであると判断された場合には、前記群れを解散して、前記リーダの別行動を表示させ、前記群れの中の他の移動体オブジェクトを個別行動表示させる手段と
を具備するゲームシステム。
【請求項７】
ゲームシステムに、
複数の移動体オブジェクトを有する群れのうち、別行動を指示された移動体オブジェクトが存在するか否かを判断させ、
別行動を指示された移動体オブジェクトが存在すると判断された場合に、前記別行動をとる移動体オブジェクトが前記群れの中のリーダであるか否かを判断させ、
前記別行動を指示された移動体オブジェクトが前記群れの中のリーダであると判断された場合には、前記群れを解散して、前記リーダの別行動を表示させ、前記群れの中の他の移動体オブジェクトを個別行動表示させる、プログラム。
【請求項８】
請求項７記載のプログラムを格納したコンピュータ読み取り可能な情報記録媒体。
【請求項９】
複数の移動体オブジェクトの識別情報のうち、移動体オブジェクトの群れをなす対象となる移動体オブジェクトの識別情報を抽出し、
前記複数の移動体オブジェクトがその内部で移動する容器の大きさに基づいて、前記抽出された移動体オブジェクトの群れの大きさを決定し、
前記抽出された移動体オブジェクトの数が、前記移動体オブジェクトの大きさ及び前記容器の大きさに基づいて決定される所定の閾値以上か否かを判断し、
前記抽出された移動体オブジェクトの数が、所定の閾値以上であると判断された場合に、前記決定された大きさの範囲内で、前記抽出された移動体オブジェクトの群れの表示をさせる、
ゲームシステムにおける移動体オブジェクトの群れ表示方法。
【請求項１０】
前記移動体オブジェクトの群れの表示は、前記移動体オブジェクトの種別ごとに行なわれることを特徴とする請求項９記載の移動体オブジェクトの群れ表示方法。
【請求項１１】
複数の移動体オブジェクトの識別情報のうち、移動体オブジェクトの群れをなす対象となる移動体オブジェクトの識別情報を抽出する手段と、
前記複数の移動体オブジェクトがその内部で移動する容器の大きさに基づいて、前記抽出された移動体オブジェクトの群れの大きさを決定する手段と、
前記抽出された移動体オブジェクトの数が、前記移動体オブジェクトの大きさ及び前記容器の大きさに基づいて決定される所定の閾値以上か否かを判断する手段と、
前記抽出された移動体オブジェクトの数が、所定の閾値以上であると判断された場合に、前記決定された大きさの範囲内で、前記抽出された移動体オブジェクトの群れの表示をさせる手段と
を具備するゲームシステム。
【請求項１２】
ゲームシステムに、
複数の移動体オブジェクトの識別情報のうち、移動体オブジェクトの群れをなす対象となる移動体オブジェクトの識別情報を抽出させ、
前記複数の移動体オブジェクトがその内部で移動する容器の大きさに基づいて、前記抽出された移動体オブジェクトの群れの大きさを決定させ、
前記抽出された移動体オブジェクトの数が、前記移動体オブジェクトの大きさ及び前記容器の大きさに基づいて決定される所定の閾値以上か否かを判断させ、
前記抽出された移動体オブジェクトの数が、所定の閾値以上であると判断された場合に、前記決定された大きさの範囲内で、前記抽出された移動体オブジェクトの群れの表示をさせるプログラム。
【請求項１３】
請求項７又は１２記載のプログラムを格納したコンピュータ読み取り可能な情報記録媒体。
【請求項１４】
複数の移動体オブジェクトの識別情報のうち、別行動をとる移動体オブジェクト以外の移動体オブジェクトの識別情報であって、かつ群れをなす対象となる移動体オブジェクトの識別情報を抽出し、
前記抽出された移動体オブジェクトの群れの表示をさせる、ゲームシステムにおける移動体オブジェクトの群れ表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームシステムにおける移動体オブジェクトの群れ表示方法、その移動体オブジェクトの群れ表示方法を実現するゲームシステム、プログラム及び情報記録媒体に関する。
【背景技術】
【０００２】
従来より、魚などに代表される移動体オブジェクトの群れを表示制御するゲームシステムが知られている。このようなゲームシステムにおいては、移動体オブジェクトの群れを、本物の群れのように、それらしく見せ、また、計算機の負荷を低減するための種々の工夫が行なわれている。
【０００３】
例えば、特許文献１には、群れの代表であるリーダを決め、他はリーダに追従することで群れの表現を少ない演算負荷で効果的に再現する技術が開示されている。また、特許文献２には、反応強度という概念を用いて群れの移動体オブジェクトの動きをよりリアルに表現する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第4223112号公報（段落０００９）
【特許文献２】特開平8-30804号公報（段落００４４）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このように、従来から移動体オブジェクトの群れをよりリアルに表現する手法は、種々存在するが、群れを構成する個々の移動体オブジェクトの動作に着目して、よりリアリティのある群れの表現を行なうことができなかった。
【０００６】
本発明は、上記実情に鑑みてなされたものであり、群れを構成する個々の移動体オブジェクトの動作に着目して、よりリアリティのある群れの表現を行なうことを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の発明によれば、複数の移動体オブジェクトを有する群れのうち、別行動を指示された移動体オブジェクトが存在するか否かを判断し、別行動を指示された移動体オブジェクトが存在すると判断された場合に、前記別行動をとる移動体オブジェクトが前記群れの中のリーダであるか否かを判断し、前記別行動を指示された移動体オブジェクトが前記群れの中のリーダであると判断された場合には、前記群れを解散して、前記リーダの別行動を表示させ、前記群れの中の他の移動体オブジェクトを個別行動表示させる、移動体オブジェクトの群れ表示方法、である。
【０００８】
本発明の第２の発明によれば、  複数の移動体オブジェクトの識別情報のうち、移動体オブジェクトの群れをなす対象となる移動体オブジェクトの識別情報を抽出し、前記複数の移動体オブジェクトがその内部で移動する容器の大きさに基づいて、前記抽出された移動体オブジェクトの群れの大きさを決定し、前記抽出された移動体オブジェクトの数が、前記移動体オブジェクトの大きさ及び前記容器の大きさに基づいて決定される所定の閾値以上か否かを判断し、前記抽出された移動体オブジェクトの数が、所定の閾値以上であると判断された場合に、前記決定された大きさの範囲内で、前記抽出された移動体オブジェクトの群れを表示させる、移動体オブジェクトの群れ表示方法、である。
【発明の効果】
【０００９】
本発明によれば、群れを構成する個々の移動体オブジェクトに着目して、よりリアリティのある群れの表現を行なうことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態に係るアクアリウムゲームにおける移動体オブジェクトの群れ表示システムを説明するための図である。
【図２】本発明の実施形態のサーバ群２の構成の一例を示す図である。
【図３】本発明の実施の形態に係るアクアリウムゲームにおける移動体オブジェクトの群れ表示処理を実現するための動作を行なうサーバ１０の構成を示す図である。
【図４】本発明の実施の形態に係る携帯電話（スマートフォン）４の構成を示す図である。
【図５】サーバ１０のデータベース２３に格納される魚のデータ構造を説明するための図である。
【図６】ＤＢ２３に格納される群れを形成する範囲を決定するためのテーブルを示す図である。
【図７】ＤＢ２３に格納される群れを形成する基準の魚の数を決定するためのテーブルを示す図である。
【図８】ＤＢ２３に格納される群れの中の魚が群れを追従する確率を示すテーブルを示す図である。
【図９】本実施の形態に係るアクアリウムゲームにおける魚の群れの形成方法を説明するためのフローチャートである。
【図１０】群れの魚（移動体オブジェクト）の表示方法について説明するためのフローチャートである。
【図１１】群れが解散される他の場合の動作について説明するためのフローチャートである。
【図１２】リーダの行動パターンの検出に伴なう群れの変化を表現する方法について説明するためのフローチャートである。
【図１３】水槽と群れ形成範囲との関係を示す図である。
【図１４】群れ画像の一例を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の実施の形態に係るアクアリウムゲームにおける移動体オブジェクトの群れ表示システムについて説明する。
【００１２】
図１は、本発明の実施の形態に係るアクアリウムゲームにおける移動体オブジェクトの群れ表示システムを説明するための図である。なお、本実施の形態においては、アクアリウムゲームについて説明するが、本実施の形態の群れ表示方法は、魚以外の移動オブジェクトの群れ表示方法についても適用することができる。
【００１３】
同図に示すように、インターネットなどのネットワーク１には、本発明の実施の形態に係る移動体オブジェクトの群れ表示システムの主要な処理を行なうサーバ群２、移動体オブジェクトの群れ表示システムでプレイを行なうユーザが使用する複数のコンピュータ３−１、３−２及び携帯電話４−１、４−２がアクセスポイント５或いは基地局６を介してネットワーク１に接続されている。
【００１４】
サーバ群２は、１つのコンピュータで実現されても良いし、その機能毎に、例えば、Ｗｅｂサーバ、処理サーバ、データベースサーバなどの複数のコンピュータで構成されてもよく、本発明の実施の形態においては、その構成は問わない。
【００１５】
コンピュータ３は、一般的なデスクトップコンピュータの他、モバイルコンピュータ、ラップトップコンピュータ、タブレット型端末などを含む。
【００１６】
携帯電話４は、スマートフォン、フィーチャー・フォン（feature phone)などを含み、例えば、アンドロイド（Ｒ）、ｉＯＳ（Ｒ）などのＯＳ上で動作する携帯電話である。
【００１７】
図２は、本発明の実施形態のサーバ群２の構成の一例を示す図である。
【００１８】
同図に示すように、例えば、サーバ群２は、フロントサーバ群２−１、データベースサーバ群２−２及びバッチサーバ群２−３で構成される。
【００１９】
フロントサーバ群２−１は、クライアントとの通信リクエストを受けて即実行が可能な各種処理の実行出力の整形を担当する。例えば、Ｗｅｂサーバなどである。
【００２０】
データベースサーバ群２−２は、本実施の形態に係るアクアリウムゲームにおける移動体オブジェクトの群れ表示処理の他、例えば、ソーシャルネットワークサービス処理の中核をなす処理を行なう処理サーバである。
【００２１】
バッチサーバ群２−３は、定期的にデータをデータベースサーバ群２−２から取得して、定期処理を施し、その結果をデータベースサーバ群２−２に記録する。
【００２２】
本実施の形態では、説明を簡単にするために、図３に示す１つのサーバ１０上で動作を行なう場合について説明するが、上述のように、サーバの構成はこれに限られるものではないことは言うまでもない。
【００２３】
図３は、本発明の実施の形態に係るアクアリウムゲームにおける移動体オブジェクトの群れ表示処理を実現するための動作を行なうサーバ１０の構成を示す図である。
【００２４】
同図に示すように、サーバ１０は、バス１１にＣＰＵ１２、通信部１３、メモリ１４、及び記憶装置１５が接続されている。
【００２５】
ＣＰＵ１２は、記憶装置１５に記憶された本発明の実施の形態に係るアクアリウムゲームにおける移動体オブジェクトの群れ表示処理プログラム２２と協働して、本発明の実施の形態に係るアクアリウムゲームにおける移動体オブジェクトの群れ表示処理を行なう他、サーバ１０全体の制御を司るものである。
【００２６】
通信部１３は、ネットワーク１を介したクライアントなどの外部装置との通信の制御を司る。
【００２７】
メモリ１４は、アクアリウムゲームにおける移動体オブジェクトの群れ表示処理プログラム２２を実行する際に必要とされるワークエリアなどとして使用される。
【００２８】
記憶装置１５は、オブジェクト表示処理に必要とされるプログラム、データを格納するためのものであり、例えば、ハードディスクドライブ（ＨＤＤ）、光ディスクドライブ、ＤＶＤ、ＭＯなどの大容量記憶装置である。この記憶装置１５には、ＯＳ（オペレーティングシステム）２１、アクアリウムゲームにおける移動体オブジェクトの群れ表示処理プログラム２２、アクアリウムゲームにおける移動体オブジェクトの群れ表示処理プログラム２２のデータベース２３が格納されている。
【００２９】
ＯＳ２１は、サーバ１０の基本的な機能を実現するためのプログラムである。
【００３０】
アクアリウムゲームにおける移動体オブジェクトの群れ表示処理プログラム２２は、本発明の実施の形態に係るアクアリウムゲームにおける移動体オブジェクトの群れ表示処理を実現するためのプログラムである。
【００３１】
アクアリウムゲームにおける移動体オブジェクトの群れ表示処理プログラム２２のデータベース２３は、アクアリウムゲームにおける移動体オブジェクトの群れ表示処理プログラム２２によって実現される本実施の形態のアクアリウムゲームにおける移動体オブジェクトの群れ表示処理において使用される各種パラメータを格納するものである。
【００３２】
図４は、本発明の実施の形態に係る携帯電話（スマートフォン）４の構成を示す図である。
【００３３】
同図に示すように、バス３１にはＣＰＵ３２、無線通信部３３、メモリ３４、電子コンパス３５、カメラ３６、記憶装置３７、タッチパネルセンサ３８、表示制御コントローラ３９が接続されている。
【００３４】
ＣＰＵ３２は、記憶装置３７に記憶された本発明の実施の形態に係る移動体オブジェクトの群れ表示処理のアプリケーションプログラム３７−３と協働して、本発明の実施の形態に係る移動体オブジェクトの群れ表示処理を行なう他、携帯電話４全体の制御を司るものである。
【００３５】
無線通信部３３は、ネットワーク１を介したサーバなどの外部装置との通信の制御を司る。また、無線通信部３３は、無線ＬＡＮ、ブルートゥース（登録商標）、ＷｉＦｉなどの無線通信機能をも有する。
【００３６】
メモリ３４は、移動体オブジェクトの群れ表示処理のアプリケーションプログラム３７−３を実行する際に必要とされるワークエリアなどとして使用される。
【００３７】
電子コンパス３５は、地磁気センサを有し、方位を測定する。
【００３８】
カメラ３６は、撮像機能を有し、撮像した画像を記憶装置３７に格納する。
【００３９】
記憶装置３７は、本実施の形態に係る移動体オブジェクトの群れ表示処理に必要とされるプログラム、データを格納するためのものであり、例えば、ハードディスクドライブ（ＨＤＤ）などの大容量記憶装置である。この記憶装置３７には、ＯＳ（オペレーティングシステム）３７−１、移動体オブジェクトの群れ表示処理のアプリケーションプログラム３７−３のデータベース３７−２、及び移動体オブジェクトの群れ表示処理のアプリケーションプログラム３７−３が格納されている。
【００４０】
ＯＳ３７−１は、携帯電話４の基本的な機能を実現するためのプログラムである。
【００４１】
データベース３７−２は、移動体オブジェクトの群れ表示処理のプログラム３７−３によって動作する群れ表示処理で使用されるデータを管理する。
【００４２】
なお、本実施の形態においては、データベース３７−２には、サーバ側のデータベース２３に格納された情報のうち、携帯電話４のユーザの魚（移動体オブジェクト）の個別ＩＤに関連付けられた情報のみが記憶されることを前提とするが、これら情報のうち、一部のみが記憶されていても良い。
【００４３】
移動体オブジェクトの群れ表示処理のアプリケーションプログラム３７−３は、本実施の形態に係るアクアリウムゲームのクライアント側の処理を司るプログラムである。
【００４４】
タッチパネルセンサ３８は、携帯電話４の表示部４０のタッチパネルへのユーザアクションを検出するセンサである。
【００４５】
表示制御コントローラ３９は、表示部４０の表示制御を行なう。
【００４６】
図５は、サーバ１０のデータベース２３に格納される魚のデータ構造を説明するための図である。
【００４７】
同図に示すように、水槽内におけるそれぞれの魚（移動体オブジェクト）には、個別ＩＤ５１（識別情報）が付されている。個別ＩＤ５１には、魚の種類（例えば、１：メダカ、２：ハナダイ、３：サントス、４：ウツボ）を示す種別ＩＤ５２、魚の大きさを示すサイズＩＤ５３、魚の行動種別（例えば、１．通常（移動）、２．待機、３．加速、４．旋回、５．浮遊）を示す行動種別ＩＤ５４、別行動の種類（例えば、１．カップリング、２．えさやり、３．病気、４．遊び、５．障害物回避、６．無し（別行動でない状態））を示す別行動ＩＤ５５、群れ対象である魚か否かを示す群れ対象ＩＤ５６（１：群れ対象、２：群れ非対象）、リーダである魚か否かを示すリーダＩＤ５７、個別ＩＤ５１が属する群れのＩＤを示す群れＩＤ５８及び個別ＩＤ５１の水槽内の座標を示す座標情報５９が関連付けて記憶されている。
【００４８】
なお、別行動ＩＤ５５の「別行動」とは、例えば、カップリングが成立しており、リーダや他の魚と群れを形成しないで、別行動をしている状態をいう。また、それぞれの魚に設定するＩＤとして、種別ＩＤ５２、サイズＩＤ５３、行動種別ＩＤ５４、別行動ＩＤ５５、群れ対象ＩＤ５６、リーダＩＤ５７、群れＩＤ５８を例として説明したが、これらのＩＤに限らず、例えば、病気の程度に応じて設定されるパラメータに対応させたＩＤ、空腹の程度に応じて設定されるパラメータに対応させたＩＤ、魚の成長度に合わせて、成魚、稚魚であるかどうかに応じたＩＤ等を設定しても良い。
【００４９】
図６は、ＤＢ２３に格納される群れを形成する範囲を決定するためのテーブルを示す図である。
【００５０】
同図に示すように、群れの形成範囲は、水槽の大きさに基づいて決定される。同図においては、小型水槽の場合には群れの形成範囲は水槽の半分、中型水槽の場合には群れの形成範囲は水槽の１／３、大型水槽の場合には水槽の１／４と決定される。
【００５１】
図７は、ＤＢ２３に格納される群れを形成する基準の魚の数を決定するためのテーブルを示す図である。
【００５２】
同図に示すように、群れを形成する魚の数は、魚の大きさ（魚のサイズＩＤ５３）及び水槽の大きさに基づいて決定される。同図においては、例えば、魚の大きさが、ＳＳサイズで小型水槽が使用されている場合には、閾値は４匹であり、魚の大きさが、Ｓサイズで大型水槽が使用されている場合には、閾値は７匹となる。なお、魚の大きさがＭサイズの場合、小型水槽は使用できないことが示されている。
【００５３】
図８は、ＤＢ２３に格納される群れの中の魚が群れを追従する確率を示すテーブルを示す図である。
【００５４】
同図に示すように、群れの中の魚が群れを追従する確率は、群れのリーダの条件と群れを構成するリーダ以外の魚の条件に応じて設定されている。同図は、例えば、リーダの魚の条件として、行動種別ＩＤ５４（通常（移動）、待機、加速、旋回、浮遊）と、群れを構成するリーダ以外の魚の条件として、サイズＩＤ５３または行動種別ＩＤ５４、これらの組み合わせに基づいて設定された例である。
【００５５】
例えば、群れの中のリーダが「通常」の行動をしている場合であって、群れを構成するリーダ以外の魚のサイズが小魚、すなわちＳＳサイズまたはＳサイズである場合には、群れを構成している魚は５０％の確率でリーダについてきて、残りの５０％の確率で群れを離脱する。群れの中のリーダが「旋回」行動をしている場合であって、対象となる魚の行動種別が「通常」である場合には、２５％の確率でリーダに追従し、残りの７５％の確率で群れを離脱するという例である。
【００５６】
なお、群れから離脱する確率の具体的な数値はこの限りでは無い。そして、群れの中のリーダ以外の魚に対して個別に確率を計算しても良いし、リーダ以外の魚の全体に対して確率を計算しても良い。
【００５７】
また、群れのリーダの条件と群れを構成するリーダー以外の魚の条件は、魚のサイズや魚の行動種別ＩＤ５４は、上記および図８で例示したものに限らないし、魚のサイズや行動種別以外の要素から条件を設定しても良い。
【００５８】
以下、本実施の形態に係る移動体オブジェクトの群れ表示方法について、図９乃至図１２のフローチャートを参照して説明する。
【００５９】
図９は、本実施の形態に係るアクアリウムゲームにおける魚の群れの形成方法を説明するためのフローチャートである。
【００６０】
まず、水槽内における魚の別行動ＩＤ５５に基づいて、別行動ＩＤ５５が「６．無し（別行動をしていない状態）」の魚の個別ＩＤ５１（Ｓ１）のみを抽出する。すなわち、既に別行動をとっており、群れの対象とならない魚（例えば、カップルになった魚など）は除外される。
【００６１】
また、別行動ＩＤ５５のみならず、行動種別ＩＤ５４に基づいて、例えば、行動種別が「浮遊」の状態の魚を除外しても良いし、別行動ＩＤ５５と行動種別ＩＤ５４の両方に基づいて除外する魚を特定しても良い。
【００６２】
次に、Ｓ１において抽出された魚の個別ＩＤ５１に関連付けられた群れ対象ＩＤ５６によって群れ対象であることが示される魚の個別ＩＤ５１を、魚の種別ＩＤ５２毎に抽出する（Ｓ２）。具体的には、群れ対象ＩＤ５６＝１（群れ対象）である魚の個別ＩＤ５１を抽出する。以下、魚の種別ＩＤ５２毎に群れの形成が判断される。
【００６３】
まず、抽出された群れ対象の魚のうち、ランダムにリーダを選出する（Ｓ３）。具体的には、リーダに選出された魚の個別ＩＤ５１に関連付けられたリーダＩＤ５７の値を１とし(リーダＩＤ５７＝１）、リーダ以外の同一の魚の種別ＩＤ５２を有する魚の個別ＩＤ５１に関連付けられたリーダＩＤ５７の値を０とする（リーダＩＤ５７＝０）。
【００６４】
次に、図６に示したテーブルを参照して、水槽の大きさに基づいて、リーダを中心とした群れの形成範囲を決定する（Ｓ４）。群れの形成範囲は、リーダを中心とした範囲が設定される。図１３は、水槽と群れ形成範囲との関係を示す図である。同図においては、水槽６１の横幅に対して、水槽の１／４の形成範囲６２ａ、１／３の形成範囲６２ｂ、１／２の形成範囲６２ｃを示している。
【００６５】
次に、Ｓ２において抽出された魚の個別ＩＤ５１の数が所定の閾値以上か否かの判断が行なわれる（Ｓ５）。この所定の閾値は、図７に示すように、水槽の大きさ及び魚のサイズＩＤ５３に基づいて決定される。
【００６６】
Ｓ５において所定の閾値以上ではないと判断された場合には、Ｓ３の処理に移り、他の種別ＩＤ５２、すなわち、異なる種類の魚の群れの形成の判断を行なう。一方、Ｓ５において、所定の閾値以上であると判断された場合には、群れＩＤ５８に群れのＩＤ情報を付加し(デフォルト＝０）（Ｓ６）、Ｓ４において決定された群れの形成の範囲で、決定された同一の種別ＩＤ５２を有する個別ＩＤ５１の魚の群れ画像を生成して表示させる（Ｓ７）。
【００６７】
図１４は、群れ画像の一例を説明するための図である。同図に示すように、群れは、リーダの魚と、リーダに追従する魚とにより構成される。
【００６８】
次に、抽出された群れ対象である魚の全ての種別ＩＤ５２について、群れの形成の判断が行なわれたか否かの判断が行なわれる（Ｓ８）。Ｓ８において、全ての種別ＩＤ５２について判断が行なわれていないと判断された場合には、Ｓ３の処理に移り、他の種別ＩＤ５２、すなわち、異なる種類の魚の群れの形成の判断を行なう。一方、全ての種別ＩＤ５２について判断が行なわれた場合には、群れの形成処理を終了する。
【００６９】
したがって、本実施の形態の魚の群れの形成処理によれば、魚のサイズ及び水槽の大きさに基づいて、群れの形成処理の閾値を変えることができるので、よりリアルな魚の群れを形成することができる。
【００７０】
次に、群れの魚（移動体オブジェクト）の表示方法について、図１０のフローチャートを参照して説明する。
【００７１】
リーダを含む群れの群れ行動表示画像を生成し、表示させる（Ｓ１１）。ここで、群れ行動画像は、リーダを中心とした群れを示す画像を意味し、その表示手法は種々考えれられるが、ここでは詳述はしない。
【００７２】
次に、別行動ＩＤ５５により、別行動を指示された魚が存在するか否かの判断が行なわれる（Ｓ１２）。魚の「基本行動」は、通常移動、待機、加速、旋回、浮遊の組み合わせで実現され、「別行動」とは、前述したように、例えば、カップリング、えさやり、病気、遊び、障害物回避であり、これ以外にも魚が別行動をする要因は種々想定され得る。
【００７３】
そして、別行動ＩＤ５５により、別行動ＩＤ＝６（別行動で無い）である場合以外、すなわち、別行動ＩＤ５５＝１〜５（別行動である）の場合には、別行動が指示された状態となる。次に、別行動の魚がリーダであるか否かの判断が行なわれる（Ｓ１３）。なお、リーダであるか否かの判断は、別行動を指示された魚の個別ＩＤ５１に関連付けられたリーダＩＤ５７を参照することにより判断する。
【００７４】
Ｓ１３において、別行動を指示された魚がリーダであると判断された場合には、当該別行動を指示されたリーダが属する群れを解散する（Ｓ１４）。具体的には、リーダである魚の個別ＩＤ５１に関連付けられた群れＩＤ５８及びその群れに属する他の魚の個別ＩＤ５１に関連付けられた群れＩＤ５８をデフォルトの値に設定する。
【００７５】
次に、群れに属していたリーダの別行動表示画像を生成し、表示させ（Ｓ１５）、次に、群れに属していた魚の全ての個別行動表示画像を生成し、表示させ（Ｓ１６）、Ｓ２７の処理に移る。ここで、個別行動表示画像とは、魚の基本行動（通常（移動）、待機、加速、旋回、浮遊）の組み合わせで実現される画像を意味し、その表示手法は種々考えれられるが、ここでは詳述はしない。
【００７６】
一方、Ｓ１３において、別行動を指示された魚がリーダではないと判断された場合には、別行動を指示された魚の別行動表示画像を生成し、表示させ（Ｓ１７）、別行動を指示された魚以外の魚の群れ行動表示画像を生成し、表示させる（Ｓ１８）。
【００７７】
次に、別行動を指示された魚が、リーダから一定距離以上離れたか否かの判断が行なわれる（Ｓ１９）。ここで、リーダから一定距離以上離れたか否かの判断は、リーダの魚の個別ＩＤ５１に関連付けられた水槽内の座標情報５９によって示される座標と、別行動を指示された魚の個別ＩＤ５１に関連付けられた水槽内の座標情報５９とに基づいて、その距離が算出され、当該算出された距離が、一定距離以上であるか否かにより判断される。
【００７８】
Ｓ１９において、別行動を指示された魚が、リーダから一定距離以上離れたと判断された場合には、別行動を指示された魚が群れから離脱する（Ｓ２０）。具体的には、別行動を指示された魚の個別ＩＤ５１に関連付けられた群れＩＤ５８をデフォルトの値に設定する。なお、リーダから一定距離離れていなくても群れＩＤ５８をデフォルトの値に設定しても良い。
【００７９】
次に、別行動を指示された魚の個別行動表示画像を生成し、表示させ（Ｓ２１）、次に、別行動を指示された魚以外の魚の群れ行動表示画像を生成し、表示させ（Ｓ２２）、Ｓ１２の処理に移る。
【００８０】
一方、Ｓ１９において、別行動を指示された魚が、リーダから一定距離以上離れていないと判断された場合には、別行動を指示された魚の別行動が終了したか否かの判断が行なわれる（Ｓ２３）。
【００８１】
Ｓ２３において、別行動を指示された魚の別行動が終了したと判断された場合には、別行動を指示された魚の群れが存在しているか否かの判断が行なわれる（Ｓ２４）。この判断は、別行動を指示された魚の個別ＩＤ５１に関連付けられた群れＩＤ５８がデフォルト値に設定されているか否かにより判断される。デフォルト値に設定されている場合には、群れが解散されており、存在しないことを意味する。
【００８２】
Ｓ２４において、別行動を指示された魚の群れが存在していないと判断された場合には、別行動を指示された魚の個別行動表示画像を生成し、表示させ（Ｓ２５）、Ｓ２７の処理に移る。一方、Ｓ２４において、別行動を指示された魚の群れが存在すると判断された場合には、群れに復帰し、別行動を指示された魚の群れ行動表示画像を生成し、表示させ（Ｓ２６）、Ｓ２７の処理に移る。
【００８３】
Ｓ２７においては、全ての群れＩＤ５８についての判断をしたか否かが判断され（Ｓ２７）、判断をしていないと判断された場合には、Ｓ１２の処理に移り、他の群れＩＤ５８について判断を行なう。一方、全ての群れＩＤ５８について判断をした場合には、処理を終了する。
【００８４】
したがって、本実施の形態によれば、別行動をとる魚がリーダであるか否かにより、その魚の群れを解散したり、存続させたりすることができるので、より自然な形で魚の群れを表現することができる。
【００８５】
また、別行動をとる魚がリーダ以外の魚であっても、別行動をとる魚が、リーダから一定距離以上離れたか否かにより、群れの構成を変更することができ、よりリアルな魚の群れの表現が可能になる。
【００８６】
次に、群れが解散される他の場合の動作について、図１１のフローチャートを参照して説明する。なお、この図１１に示すフローチャートの動作は、所定期間（例えば、１秒）毎に行なわれる。
【００８７】
群れの中の魚の数が閾値以下か否かが判断される（Ｓ３１）。この判断は、具体的には、同一の群れＩＤ５８を有する魚の個別ＩＤ５１の数が、所定の閾値以下であるか否かにより判断される。
【００８８】
Ｓ３１において、群れの中の魚の数が閾値以下ではないと判断された場合には、群れは継続され、群れに属する魚の全ての群れ行動表示画像を生成し、表示させ（Ｓ３３）、Ｓ３６の処理に移る。
【００８９】
一方、Ｓ３１において、群れの中の魚の数が閾値以下であると判断された場合には、次に、閾値以下の時間が所定時間（例えば、２．５秒）経過したか否かの判断が行なわれる（Ｓ３４）。
【００９０】
Ｓ３４において、閾値以下の時間が所定時間（例えば、２．５秒）経過していないと判断された場合には、Ｓ３２の処理に移る。一方、閾値以下の時間が所定時間経過したと判断された場合には、群れを解散し、群れに属していた魚の全ての個別行動表示画像を生成し、表示させ（Ｓ３５）、Ｓ３６の処理に移る。具体的には、群れＩＤ５８をデフォルトの設定にする。
【００９１】
Ｓ３６においては、全ての群れＩＤ５８についての判断を行なったか否かが判断される。そして、全ての群れＩＤ５８についての判断を行なったと判断された場合には、処理を終了し、行なっていないと判断された場合には、Ｓ３１の処理に戻る。
【００９２】
本実施の形態によれば、群れを構成する魚の数が所定の閾値以下である場合に、群れを解散させることにより、自然な魚の群れの表現を行なうことができる。
【００９３】
次に、リーダの行動種別の検出に伴なう群れの変化を表現する方法について、図１２のフローチャートを参照して説明する。
【００９４】
まず、リーダの行動種別ＩＤ５４が検出される（Ｓ４１）。リーダの行動種別ＩＤ５４には、通常（移動）、待機、加速、旋回、浮遊が含まれる。なお、この行動種別ＩＤ５４は、他の魚の行動種別と同様である。
【００９５】
次に、群れを構成する魚のサイズＩＤ５３及び行動種別ＩＤ５４を検出する（Ｓ４２）。行動種別には、通常（移動）、待機、加速、旋回、浮遊が含まれる。
【００９６】
次に、Ｓ４１において検出されたリーダの行動種別ＩＤ５４及びＳ４２において検出された群れを構成する魚のサイズＩＤ５３または行動種別ＩＤ５４に基づいて、図８のテーブルを参照して、群れを構成するリーダ以外の魚の追従確率を決定する（Ｓ４３）。
【００９７】
なお、群れを構成する魚のサイズＩＤ５３及び行動種別ＩＤ５４が両方とも、図８に示すリーダ以外の魚の条件に合致する場合には、いずれか一方を優先して、リーダ以外の魚の追従確率を決定するものとする。
【００９８】
次に、決定された追従確率の数の魚の群れ行動表示画像を生成して表示させ、残りの魚の個別行動表示画像を生成して表示させる（Ｓ４４）。
【００９９】
次に、全ての群れＩＤ５８についての判断をしたか否かの判断が行なわれる（Ｓ４５）。Ｓ４５において、全ての群れＩＤ５８についての判断をしたと判断された場合には、処理を終了し、していないと判断された場合には、Ｓ４１の処理に戻り、他の群れについての判断が行なわれる。
【０１００】
本実施の形態によれば、リーダの行動に起因して、群れを構成する魚の数を変化させることができ、その結果、自然な魚の群れの表現が可能になる。
【０１０１】
したがって、上述のように、本実施の形態によれば、移動体オブジェクト（魚）の群の形成、解散に関し、よりリアリティのある群の表現を行なうことことでき、その結果、アクアリウムゲームなどの嗜好性をより高めることができる。
【０１０２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１０３】
また、実施形態に記載した手法は、計算機（コンピュータ）に実行させることができるプログラムとして、例えば磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ等）、半導体メモリ（ＲＯＭ、ＲＡＭ、フラッシュメモリ等）等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウエア手段（実行プログラムのみならずテーブルやデータ構造も含む）を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。
【符号の説明】
【０１０４】
１…ネットワーク、サーバ群２、３−１、３−２…コンピュータ、４−１、４−２…携帯電話、５…アクセスポイント、６…基地局、１０…サーバ、１１…バス、１２…ＣＰＵ、１３…通信部、１４…メモリ、１５…記憶装置、２１…ＯＳ（オペレーティングシステム）、２２…移動体オブジェクトの群れ表示処理プログラム、２３…データベース、３１…バス、３２…ＣＰＵ、３３…無線通信部、３４…メモリ、３５…電子コンパス、３６…カメラ、３７…記憶装置、３８…タッチパネルセンサ、３９…表示制御コントローラ、４０…表示部。
【図１】
2014124496.tif 000003
【図２】
2014124496.tif 000004
【図３】
2014124496.tif 000005
【図４】
2014124496.tif 000006
【図５】
2014124496.tif 000007
【図６】
2014124496.tif 000008
【図７】
2014124496.tif 000009
【図８】
2014124496.tif 000010
【図９】
2014124496.tif 000011
【図１０】
2014124496.tif 000012
【図１１】
2014124496.tif 000013
【図１２】
2014124496.tif 000014
【図１３】
2014124496.tif 000015
【図１４】
2014124496.tif 000016