(57)【要約】【課題】片手で操作可能であるというスマートフォンの利点を維持しつつ、特に、複数のオブジェクト選択方法に関してユーザビリティを向上させる技術を提供すること。【解決手段】本発明のオブジェクト制御プログラムは、入力部及び表示部を有する端末上で実行される。オブジェクト制御プログラムは、表示部７に、仮想空間と当該仮想空間内に配置された複数のオブジェクト１００とを表示する。ユーザユーザが入力部に対して長押し操作等した場合には、当該長押し操作の時間に応じて面積の変化する領域を表示する。長押し操作が終了した際に、当該領域内に位置するオブジェクトを選択済オブジェクトとはんていする。【選択図】図４
2015205010.tif 000002
【特許請求の範囲】
【請求項１】
表示部を有する端末上で実行されるオブジェクト制御プログラムであって、
前記端末に
前記表示部に、仮想空間と、当該仮想空間内に配置された複数のオブジェクトとを表示する手段、
ユーザに選択された前記オブジェクトを選択済オブジェクトと識別する手段、
所定の位置関係を有する仮想ポジションの夫々に前記選択済オブジェクトの夫々を割り当てる手段、
前記ユーザから移動目標点の指示を受け付ける手段、
当該移動目標点に向かって、前記選択済オブジェクトを移動させる手段、
前記選択済オブジェクトが前記移動目標点に到達した際に当該選択済オブジェクトを前記仮想ポジションへの前記割り当てに従って配置する手段、
として機能させる
オブジェクト制御プログラム。
【請求項２】
請求項１に記載のオブジェクト制御プログラムであって、
前記仮想ポジションは、メインポジション及び少なくとも一のサブポジションとで構成されており、
前記選択済オブジェクトの夫々を前記仮想ポジションの夫々に割り当てる際に、
（ａ）前記選択済オブジェクトの重心を求める手段、
（ｂ）前記選択済みオブジェクトのうち、当該重心に最も近い選択済オブジェクトを前記メインポジションに割り当て、且つ、その余の選択済みオブジェクトの夫々を最も近い前記サブポジションの夫々に割り当てる手段、
として更に機能させる
オブジェクト制御プログラム。
【請求項３】
請求項２に記載のオブジェクト制御プログラムであって、
前記サブポジションは、２以上であり、前記メインポジションから一定距離をおいて等間隔に配置されるものである
オブジェクト制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクト制御プログラム及びオブジェクト制御方法に関し、特に、仮想空間内に配置された複数のオブジェクトをその位置関係を疑似的に維持したまま移動させる制御に関する。
【背景技術】
【０００２】
ロールプレイングゲーム等においても、複数のキャラクタがパーティーを組み、ユーザが主人公キャラクタを移動させると、パーティーの残りのキャラクタが隊列（並び順）を維持したままこの主人公キャラクタに続いて一列に並んで移動するようなものがある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０８−０６３６１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
今日、複数の味方ゲームオブジェクト（キャラクタ等）と複数の敵オブジェクトとを仮想空間内でリアルタイムに対戦させる戦略ゲームが提供されている。このようなゲームにおいては、オブジェクト同士の位置関係（陣形等）がゲーム進行に影響を与えることもあることから、上記特許文献１の技術を応用して複数の味方オブジェクトをその位置関係を維持したまま一斉に移動させる技術が実装されていることがある。
【０００５】
しかしながら、戦略ゲームにおいては、当初は陣形に従って移動していてもゲームが複雑に進行するにつれて例えば一部のオブジェクトだけが主戦場から離れてしまう（置き去りにされてしまう）ことがしばしば起こり得る。このような場合、特許文献１の技術のように全てのオブジェクトの位置関係を厳格に維持したまま新たな戦場等に移動させてしまうと、移動後においても当初離れていたオブジェクトは当該新たな戦場から離れたままとなってしまう。その結果、ユーザは移動前（または移動後）に主戦場から離れたオブジェクトを主戦場まで一旦戻してから全てのオブジェクトを移動しなければならず、リアルタイムに進行する戦略ゲームのゲーム性を損ねる恐れがある。
【０００６】
そこで、本発明は、オブジェクト間の位置関係を維持する機能を有しつつ、ゲームの進行状況に応じて位置関係を柔軟に修正することが可能なオブジェクト制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
即ち、本発明によれば、第１のオブジェクト制御プログラムとして、
表示部を有する端末上で実行されるオブジェクト制御プログラムであって、
前記端末に
前記表示部に、仮想空間と、当該仮想空間内に配置された複数のオブジェクトとを表示する手段、
ユーザに選択された前記オブジェクトを選択済オブジェクトと識別する手段、
所定の位置関係を有する仮想ポジションの夫々に前記選択済オブジェクトの夫々を割り当てる手段、
前記ユーザから移動目標点の指示を受け付ける手段、
当該移動目標点に向かって、前記選択済オブジェクトを移動させる手段、
前記選択済オブジェクトが前記移動目標点に到達した際に当該選択済オブジェクトを前記仮想ポジションへの前記割り当てに従って配置する手段、
として機能させる
オブジェクト制御プログラムが得られる。
【０００８】
また、本発明によれば、第２のオブジェクト制御プログラムとして、第１のオブジェクト制御プログラムであって、
前記仮想ポジションは、メインポジション及び少なくとも一のサブポジションとで構成されており、
前記選択済オブジェクトの夫々を前記仮想ポジションの夫々に割り当てる際に、
（ａ）前記選択済オブジェクトの重心を求める手段、
（ｂ）前記選択済みオブジェクトのうち、当該重心に最も近い選択済オブジェクトを前記メインポジションに割り当て、且つ、その余の選択済みオブジェクトの夫々を最も近い前記サブポジションの夫々に割り当てる手段、
として更に機能させる
オブジェクト制御プログラムが得られる。
【０００９】
また、本発明によれば、第３のオブジェクト制御プログラムとして、第２のオブジェクト制御プログラムであって、
前記サブポジションは、２以上であり、前記メインポジションから一定距離をおいて等間隔に配置されるものである
オブジェクト制御プログラムが得られる。
【発明の効果】
【００１０】
本発明によれば、選択済みオブジェクトを所定の位置関係を有する仮想ポジションの夫々に割り当てることとし、当該選択済オブジェクトが移動目標点に到達した際に上記所定の位置関係に従って配置することとしている。これにより、ゲーム進行中にオブジェクトの陣形が崩れるなどしてオブジェクト間の距離が離れてしまった場合であっても、当該離れたオブジェクトの位置を元に戻してから移動させるという煩雑な操作が不要となる。その結果、操作性が向上しリアルタイムに進行する戦略ゲームのゲーム性を損なうことなく戦略ゲームを楽しむことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施の形態によるオブジェクト制御プログラムが実行される端末の外観図である。
【図２】図１の端末の構成を示すブロック図である。
【図３】選択済オブジェクトの移動前後の配置を示す図である。
【図４】本実施の形態によるオブジェクト制御の流れを示すフローチャートである。
【図５】選択済みオブジェクト管理テーブルを示す図である。
【図６】仮想ポジション管理テーブルの概念図である。
【図７】割当管理テーブルの概念図である。
【図８】移動後仮想ポジション管理テーブルの概念図である。
【図９】選択済オブジェクトの移動前後の位置関係を示す図である。
【図１０】選択済オブジェクトの移動前後の位置関係を示す他の図である。
【図１１】選択済オブジェクトの移動前後の位置関係を示す更に他の図である。
【図１２】３つの選択済オブジェクトの移動前後の位置関係を示す図である。
【発明を実施するための形態】
【００１２】
本発明の実施の形態によるオブジェクト制御プログラムは、特に、仮想空間内に配置された複数のオブジェクトをその位置関係を疑似的に維持したまま移動させる制御に関する。以下、スマートフォン上で実行されるゲームプログラムを例にして説明する。本実施の形態によるオブジェクト制御プログラムは、当該ゲームプログラムの一部を構成するものである。
【００１３】
図１に示されるように、スマートフォン１は、タッチパネル２を備えており、ユーザは当該タッチパネル２を介してゲームの操作（指示）をすることができる。なお、本実施の形態によるオブジェクト制御プログラムが実行される端末は、スマートフォン１に限られず、例えば、携帯電話機、ＰＤＡ、スマートフォン、タブレット型コンピュータ等のデバイス、パーソナルコンピューター、テレビビデオゲーム端末、携帯型ゲーム専用端末等で実行可能である。即ち、ゲームの仮想空間を表示する表示部（液晶画面、ディスプレイ等）と、当該ゲームを操作するための入力部（タッチパネル、専用コントローラー、キーボード、マウス等）を具備している電子端末であればいずれにおいても実行可能である。
【００１４】
図２に示されるように、スマートフォン１は、互いにバス接続されたＣＰＵ３、主記憶４、補助記憶５、送受信部６、表示部７及び入力部８を備えている。このうち主記憶３は例えばＤＲＡＭなどで構成されており、補助記憶４は例えばＨＤＤなどで構成されている。補助記憶４には、本実施の形態によるオブジェクト制御プログラムが格納されている。オブジェクト制御プログラムは、主記憶３上に展開されＣＰＵ２によって実行される。なお、主記記憶３上には、ＣＰＵ２がオブジェクト制御プログラムに従って動作している間に生成したデータやＣＰＵ２によって利用されるデータも一時的に格納される。送受信部５はＣＰＵ２の制御によりスマートフォン１とネットワークとの接続を確立する。入力部８は、ユーザのタッチパル２に対する操作を検知して、端末に対して何らかの操作があったことを検知する。
【００１５】
図３は、オブジェクトＰ１〜Ｐ５の移動前の位置関係と移動後の位置関係とを示すものである。本実施の形態によるオブジェクト制御プログラムによる制御は、移動前のオブジェクトＰ１〜Ｐ５の位置関係（図３の「移動前」参照）に関わらず、移動後においては所定の位置関係（図３の「移動後」参照）を有するように配置（図３の「移動前」参照）するものである。
【００１６】
図３及び図４に示されるように、オブジェクト制御プログラムは、移動前のオブジェクトＰ１〜Ｐ５がユーザの操作によって選択されたことを検出すると（ステップＳ４０２）、当該選択されたオブジェクトＰ１〜Ｐ５とその位置座標とを図５に示される選択済みオブジェクト管理テーブルに登録する（ステップＳ４０３）。なお、オブジェクトＰ１〜Ｐ５の選択方法は、例えば、ひとつずつタッチ操作させることとしてもよいし、タッチペン等で囲ませることとしてもよい。上述した入力部に相当するものによって選択することができれば選択の操作方法はどのようなものでもよい。
【００１７】
続いて、オブジェクト制御プログラムは、上記選択済オブジェクト管理テーブル（図５参照）を参照して、仮想ポジションＱ１〜Ｑ５の位置座標を計算して（ステップＳ４０４）その結果を図６に示される仮想ポジション管理テーブルに登録する（ステップＳ４０５）。具体的には、オブジェクトＰ１〜Ｐ５の位置座標を取得し、オブジェクトＰ１〜Ｐ５の平均の位置（重心）の座標を求め、当該座標を図６に示される仮想ポジション管理テーブルの仮想ポジションＱ１の位置座標として登録する。ここで、ｎ個のオブジェクトが選択された場合の仮想ポジションＱ１の位置座標は下記数式１により求めることができる。本実施の形態においては、ｎは５であるため、ｎ＝５の場合を求めればよい。
【００１８】
【数１】
2015205010.tif 000003
【００１９】
仮想ポジションＱ２〜Ｑ５の位置座標は、仮想ポジションＱ１の位置座標から一義的に求まるものである（図６参照）。オブジェクト制御プログラムは、仮想ポジションＱ１の位置座標を計算した後に、仮想ポジションＱ２〜Ｑ５の位置座標の登録も行う。なお、図３に示される位置関係からも理解できるように、本実施の形態による仮想ポジションＱ１はメインポジションとし、仮想ポジションＱ２〜Ｑ５はメインポジションから一定距離をおいて等間隔に配置されるサブポジションとして管理される。また、仮想ポジションＱ１〜Ｑ５は、ユーザへは非表示としておくことが好ましい。
【００２０】
続いて、オブジェクト制御プログラムは、オブジェクトＰ１〜Ｐ５を仮想ポジションＱ１〜Ｑ５へ割当てる処理を行った後（ステップＳ４０６）、当該割当ての結果を割当管理テーブルに登録する（ステップＳ４０７）。まず、選択済みオブジェクトＰ１〜Ｐ５の座標から仮想ポジション管理テーブルが作成されると、オブジェクトＰ１〜Ｐ５のうちＱ１に最も近いオブジェクトを特定する。任意のオブジェクト（ｘｐｎ，ｙｐｎ）とＱ１（ｘｍ，ｙｍ）との距離Ｌは、例えば下記数式２を用いてもよい。図３から明らかなように、本実施の形態において、仮想ポジションＱ１に最も近いオブジェクトはオブジェクトＰ１である。従って、図７の割当管理テーブルにおいて仮想ポジションＱ１とオブジェクトＰ１とが関連付けられる。
【００２１】
【数２】
2015205010.tif 000004
【００２２】
同様の数式によって、オブジェクトＰ２〜Ｐ５のうち、残りの仮想ポジションＱ２〜Ｑ５の夫々に最も近いオブジェクトを決定する。図３から明らかなように、仮想ポジションＱ２〜Ｑ５に最も近いオブジェクトは、夫々オブジェクトＰ２〜Ｐ５であるため、オブジェクト制御プログラムは、図７の割当管理テーブルに示されるように仮想ポジションＱ２〜Ｑ５とオブジェクトＰ２〜Ｐ５とを関連付ける。
【００２３】
オブジェクト制御プログラムは、上述したオブジェクトＰ１〜Ｐ５（選択済みオブジェクト）に対してユーザから移動の指示（移動目標点の指定等）を検出すると（ステップＳ４０８）、当該移動目標点の位置座標に基づいて、図８に示される移動後仮想ポジション管理テーブルに仮想ポジションＱ１´〜Ｑ５´の位置座標を登録する（ステップＳ４０９）。具体的には、移動目標点の位置座標を仮想ポジションＱ１´として登録する。仮想ポジションＱ２´〜Ｑ５´の位置座標は、仮想ポジションＱ１´の位置座標から一義的に求まるものである（図８参照）。オブジェクト制御プログラムは、仮想ポジションＱ１´の位置座標を登録した後に、仮想ポジションＱ２´〜Ｑ５´の位置座標の登録も行う。
【００２４】
以上の処理が完了した後に、オブジェクト制御プログラムは、（移動前）オブジェクトＰ１〜Ｐ５を、移動目標点に向けて移動させる（ステップＳ４１０）。このとき、図３の「移動後」の位置関係から明らかなように、移動後においてはオブジェクトＰ１〜Ｐ５の夫々を割当てられた仮想ポジションＱ１´〜Ｑ５´上に配置する。具体的には、オブジェクトＰ１〜Ｐ５の夫々は、仮想ポジションＱ１´〜Ｑ５´の位置座標に向けて移動を開始する。これにより、移動前のオブジェクトＰ１〜Ｐ５の位置関係が、移動後においては仮想ポジションＱ１´〜Ｑ５´（＝仮想ポジションＱ１〜Ｑ５）の位置関係に変更されて配置されて制御が終了する（ステップＳ４１１）。
【００２５】
以上のような制御によれば、オブジェクトＰ１〜Ｐ５は、図９の１点鎖線で示されるような経路に沿って移動を行うこととなる。即ち、仮想ポジションＱ１（即ち、オブジェクトＰ１〜Ｐ５の重心）にはオブジェクトＰ１が割当てられ移動後においては仮想ポジションＱ１´に配置され、仮想ポジションＱ２にはオブジェクトＰ２が割当てられ移動後においては仮想ポジションＱ２´に配置され、以下同様に、仮想ポジションＱ５にはオブジェクトＰ５が割当てられ移動後においては仮想ポジションＱ５´に配置される。なお、本実施の形態においては、移動前においてオブジェクトＰ１〜Ｐ５の割当て処理が行われた際（図４のステップＳ４０６参照）に位置関係が直ちに変更されるのではなく、移動しながら位置関係が変更され最終的に仮想ポジションＱ１´〜Ｑ５´（＝仮想ポジションＱ１〜Ｑ５）の位置関係に変更されることとしている。これにより、より自然な移動制御を再現することができる。
【００２６】
本発明によれば、移動前において、図１０に示されるようにオブジェクト同士の間隔が空きすぎていた場合や、図１１に示されるようにオブジェクト同士の間隔が詰まりすぎていた場合でも移動後の地点においては適切な位置関係とすることができる。従って、位置関係を厳格に維持したまま移動させ移動後に適切な間隔に配置変更操作を行うよりもユーザの操作を容易にすることができる。
【００２７】
なお、上述した実施の形態においては、５つのオブジェクトを移動させる例を説明したが、移動さるオブジェクトの件数はこれに限られない。また、仮想ポジションの配置（位置関係）についても適宜変更することができる。例えば、図１２に示されるように、３つのオブジェクトＰ１〜Ｐ３を移動させることとしてもよい。図においては、仮想ポジションＱ１（即ち、オブジェクトＰ１〜Ｐ３の重心）にはオブジェクトＰ３が割当てられ移動後においては仮想ポジションＱ１´に配置され、仮想ポジションＱ２にはオブジェクトＰ１が割当てられ移動後においては仮想ポジションＱ２´に配置され、仮想ポジションＱ３にはオブジェクトＰ２が割当てられ移動後においては仮想ポジションＱ３´に配置される。
【符号の説明】
【００２８】
１        端末
２        タッチパネル
３        ＣＰＵ
４        主記憶
５        補助記憶
６        送受信部
７        表示部
８        入力部
Ｐ１〜Ｐ５        オブジェクト
Ｑ１〜Ｑ５        仮想ポジション（移動前）
Ｑ１´〜Ｑ５´        仮想ポジション（移動後）
【図１】
2015205010.tif 000005
【図２】
2015205010.tif 000006
【図３】
2015205010.tif 000007
【図４】
2015205010.tif 000008
【図５】
2015205010.tif 000009
【図６】
2015205010.tif 000010
【図７】
2015205010.tif 000011
【図８】
2015205010.tif 000012
【図９】
2015205010.tif 000013
【図１０】
2015205010.tif 000014
【図１１】
2015205010.tif 000015
【図１２】
2015205010.tif 000016