特許法第30条第2項適用 [ウェブサイトによる公開](1)令和1年7月9日、https://www.monst-dreamcompany.com/(2)令和1年7月13日、https://www.youtube.com/watch?v=yrwqdDIovaQ(3)令和1年8月24日、https://www.youtu.be/A2Vt1gKL6hM(4)令和1年8月26日、https://www.youtu.be/1yY46YY8xxk(5)令和1年7月20日、https://www.youtu.be/z4Xz709l7q4(6)令和1年7月9日、https://twitter.com/monpany(7)令和1年7月9日、https://www.monster-strike.com/news/20190709_1.html(8)令和1年7月9日、https://prtimes.jp/main/html/rd/p/000000382.000016514.html(9)令和1年7月9日、http://line.me/ti/p/%40monpany(10)令和1年8月26日、https://www.youtube.com/watch?v=bQ7OQR16kSE(11)令和1年8月15日、https://gamebiz.jp/?p=246109[集会による公開](12)令和1年7月13日、XFLAG PARK 2019、幕張メッセ国際展示場1-8ホール(千葉県千葉市美浜区中瀬2-1)[パンフレット配布による公開](13)令和1年7月13日、XFLAG PARK 2019、幕張メッセ国際展示場1-8ホール(千葉県千葉市美浜区中瀬2-1)
図1は、本実施形態における端末装置の一例を示す図である。端末装置1の一例として、後述する端末装置12が挙げられ。端末装置1は、表示画面に対してユーザによる入力操作が可能な装置である。端末装置1は、移動経路特定部2、対象オブジェクト特定部3を含む。
移動経路特定部2は、第1オブジェクトの出発点から、ユーザの入力操作に応じて決定される到達点までの複数の移動経路候補のうち、ユーザの入力操作に応じて決定された移動経路を特定する。第1オブジェクトは、表示画面に表示された移動可能経路上に配置されたオブジェクトであって、ユーザにより操作可能なものである。移動経路特定部2の一例としては、後述するルーティング部33が挙げられる。第1オブジェクトの一例としては、後述するプレイヤーキャラクターのコマ21が挙げられる。
対象オブジェクト特定部3は、表示画面に表示された1または複数の第2オブジェクトのうち、特定された移動経路に応じて、第1オブジェクトが所定のアクションを行う対象となる少なくとも1つの第2オブジェクトを特定する。対象オブジェクト特定部3の一例としては、後述するターゲット特定部42が挙げられる。第2オブジェクトの一例としては、後述する敵キャラクターのコマ28が挙げられる。
対象オブジェクト特定部3は、特定された移動経路上に所定のアクションに用いる第3オブジェクトが配置されている場合に、対象となる少なくとも1つの第2オブジェクトを特定する。第3オブジェクトの一例としては、後述する攻撃用アイテムオブジェクトが挙げられる。所定のアクションの一例としては、後述する攻撃用アイテムオブジェクトを用いた攻撃が挙げられる。
このように構成することにより、ユーザの入力操作に応じて、出発点から到達点までの経路を決定するとともに、その経路に応じて所定のアクションの対象となる表示オブジェクトを特定することができる。これにより、ユーザがターゲットを視認しやすくなる。
対象オブジェクト特定部3は、1または複数の第2オブジェクトのうち、特定された移動経路の到達点に最も近い第2オブジェクトを特定する。
このように構成することにより、特定された移動経路の到達点に最も近い第2オブジェクトを、例えば、アクションの対象として特定することができる。
端末装置1は、さらに、移動量決定部4を含む。移動量決定部4は、ユーザによる入力操作に応じて、特定された移動経路上において第1オブジェクトを移動させる移動量を決定することができる。このとき、移動量決定部4は、所定の下限値から所定の上限値の間で、設定された移動量を決定することができる。移動量決定部4の一例としては、後述する移動量決定部41が挙げられる。
このように構成することにより、移動量の範囲を設定することができるので、例えばスゴロクゲームのゲームの進行を調整することができる。
端末装置1は、さらに、表示制御部5を含む。表示制御部5は、第1オブジェクトが第2オブジェクトに所定のアクションを行う場合、第3オブジェクトの属性に応じて、所定のアクションに関する演出画像を変化させる。表示制御部5の一例として、後述する表示制御部44が挙げられる。
このように構成することにより、第3オブジェクトの属性に応じて、所定のアクションに関する演出画像を変化させることができるので、ゲームにおいて視覚的な演出を向上させ、ユーザの満足度を向上させることができる。
表示制御部5は、さらに、決定された移動量に基づいて移動経路に沿って第1オブジェクトを移動させる制御を行う。それと共に、表示制御部5は、第1オブジェクトを移動させる場合において、移動経路上に第3オブジェクトが配置されている場合、第1オブジェクトに第3オブジェクトを取得させて、特定した第2オブジェクトに対する所定のアクションを行わせる制御を行う。ここで、表示制御部5は、後述するアイテム取得部43により第1オブジェクトに第3オブジェクトを取得させる。
このように構成することにより、移動経路上に配置された第3オブジェクトを取得した場合に第2オブジェクトに対して所定のアクションを行うことができるので、ゲーム性を高めることができる。
図2は、本実施形態におけるゲームシステムのネットワーク構成の一例を示す図である。ゲームシステム11は、端末装置12、サーバ装置(以下、「サーバ」と称する)15、通信ネットワーク16を含む。端末装置12及びサーバ15は、通信ネットワーク16を介して、相互に通信可能に接続されている。
端末装置12は、例えばユーザが携帯するスマートフォン、タブレット端末、携帯電話等の通信ネットワークに接続可能な通信機能を有する携帯電子端末装置である。端末装置12は、操作表示部13、音が入力されるマイクロフォン、音を出力するスピーカ等を有する。操作表示部13は、画面14への入力操作が可能であるとともに、画面14に画像を表示するデバイスであり、例えばタッチパネルディスプレイである。なお、端末装置12は、いわゆるパーソナルコンピュータであってもよい。
端末装置12は、インターネット上のアプリケーションプログラムの販売サイトで購入したゲーム用アプリケーションプログラムをダウンロードしてインストールすることができる。これにより、ユーザは、端末装置12の操作表示部13に入力操作を行うことにより、そのアプリケーションプログラムのゲームをプレイすることができる。本実施形態では、スゴロクをベースとしたゲーム(以下、スゴロクゲーム)についてのアプリケーションプログラムが端末装置12にインストールされるものとする。
サーバ15は、端末装置12にインストールされたゲーム用アプリケーションに関する管理する情報処理装置である。例えば、サーバ15は、ゲーム用アプリケーションを使用するユーザに関する情報(例えば、プレイ内容やプレイしているキャラクターのステータス情報、ポイント情報等)を管理したり、課金に関する情報を管理したりする。サーバ15は、1台以上の物理的な情報処理装置により構成されるサーバシステムであってもよいし、1台以上の仮想サーバ装置により構成される仮想サーバシステムであってもよい。
図3は、本実施形態におけるスゴロクゲームの画面の一例を示す図である。図3は、スゴロクゲームをユーザがプレイする場合に、操作表示部13の画面14に表示されるスゴロクゲーム盤画像20の概略を示す。スゴロクゲーム盤画像20には、コマ21が移動する複数のマス22が配置されている。一例として、マス22は二次元状(平面状)に配列されるが、三次元状(立体状)に配列されてもよい。
三次元状のスゴロクゲーム盤画像20は、例えば、隣接するマス22に上下方向の段差を有する画像である。マス22が配列される領域には、マス22が配列されない領域が設けられてもよい。マス22が配列される領域は平面領域である。本実施形態において、平面領域とは、コマ21の移動経路23を含む領域であり、スゴロクゲーム盤画像20を上面視した平面である。すなわち、スゴロクゲーム盤画像20を形成するマス22に上下方向の段差が存在する場合であっても、三次元状のスゴロクゲーム画像20は、スゴロクゲーム盤画像20を上面視することで平面領域として扱われる。なお、本実施形態では、平面領域は画面14と平行な領域である。
移動経路(ルート)23は、コマ21が現在位置から移動可能な経路である。具体的には、ルート23は、コマ21の現在位置である始点(出発点)と、コマ21が一回に到達可能な位置である終点(到達点)とを結ぶ経路である。
また、コマ21は、一例としてスゴロクゲームのキャラクターであり、キャラクターはスゴロクゲームの進行に応じて能力等が成長する。なお、図3において、コマ21の位置が、後述するルート23の導出における出発点に相当する。
本実施形態では、コマ21の現在位置からのルート23が導出される。コマ21が移動可能なルート23が複数導出される場合もあり得る。この場合、図3に示すように、画面14へのユーザの指の接触状態(以下「タッチ操作」ともいう。)に応じたルート23が画面14に表示される。ユーザがコマ21のルート23を決定した後に、コマ21の移動数を決定してコマ21を移動させる。
ユーザが自身のコマ21のルート23を決定する場合、ユーザは画面14を指でタッチして画面14上で指を移動させる。ユーザのタッチ操作に応じて、矢印ユーザインターフェース(以下、「矢印UI」という。)24が画面14に表示される。矢印UI24は、基準位置26aから移動位置26bまでの指をスライドさせる操作に基づく方向指示画像である。矢印UI24は、一例として、直線の一端が矢印形状をした画像であり、基準位置26aからスライド操作させている指の動きをユーザに認識させるものである。より具体的には、本実施形態に係る矢印UI24は、図3に示すように、基準位置26aから移動位置26bまでの指をスライドさせる操作に応じて、基準位置26aを中心に、矢印の先端方向及び矢印の後端方向に延伸する。
基準位置26aは、一回のルート選択において、ユーザが指を画面14から離すまで変化しない。一方、移動位置26bは、ユーザが画面14上で指を移動させるスライド操作に応じて変化する。すなわち、ユーザのスライド操作に応じて矢印の先端及び後端位置が変化する。矢印UI24の形状は、その先端及び後端位置の変化に応じて、引っ張られるような形状、すなわち、より矢印が伸びて矢印がより鋭利になるような形状に変化する。
なお、本実施形態では、操作表示部13の画面14に対して、ユーザが指をタッチし、そのタッチした指を所定量スライドさせて画面14から指を離す操作をすることを、以下「引っ張り操作」と称する。また、画面14にタッチした指を離すことを、以下「タッチオフ」という。
なお、図3において、基準位置26a、移動位置26b及びその二点間を結ぶ破線は、説明の便宜上図示されているが、実際のスゴロクゲームにおいてこれらは画面14には表示されない。
ルート23は、矢印UI24の向きに応じて、画面14に表示される。なお、ここでいうルート23の表示とは、ルート23を形成しないマス22と区別可能なように、ルート23を形成するマス22を強調表示することである。図3の例では、ルート23は、斜線でハッチングされた連続したマス22の配列により表されている。
ユーザは、指を画面14上で移動させて矢印UI24の向きを変化させることにより、画面14に表示されるルート23を切り替え、ルート23を選択する。そして、ユーザが画面14からタッチオフしたときに画面14に表示されているルート23が、ユーザが選択したルート23として決定される。これについて、図4を用いて説明する。
図4は、本実施形態における矢印UIによるルート選択の説明に要する模式図である。現在のコマ21の位置から導出されるルート候補のうち、矢印UI24の向きに応じたルート23が、ユーザが現在選択しているルート23として画面14に表示させるようにする。このため、複数のルート候補が導出されても、画面14に表示されるルート23は、ユーザが現在選択している一つのルート23である。ユーザは、他のルート23を選択する場合には、図4に示すように、画面14をタッチしている指を移動させて矢印UI24の向きを変える。これにより、他のルート23が画面14に表示される。
では、具体的に図4を説明する。まず。ユーザは、画面14に対して引っ張り操作を行う。この引っ張り操作に応じて形状が変化する矢印UI24が表示される。例えば、基準位置26aから左上方向へ引っ張り操作をしたとする。その引っ張り操作に応じて表示される矢印UIが矢印UI24aの場合、ルート23aが選択されて表示される。
次に、ユーザが、画面14にタッチしている指を移動させて矢印UIの向きを変えるとする。例えば、基準位置26aから左下方向へ引っ張り操作をして、矢印UIを矢印UI24bの向きにしたとする。この場合、ルート23bが選択されて表示される。
すなわち、矢印UI24が所定の方向を向いている(角度の範囲にある)場合にはルート23aが選択され、矢印UI24が別の方向を向いている(角度の範囲にある)場合には、ルート23bが選択されるようになっている。このように、矢印UI24の方向(角度の範囲)と、導出されたルートとは1:1で対応している。これにより、ユーザは、画面14を指で最初にタッチした位置を基準として指を移動させることで、コマ21のルート23aまたは23bを選択できる。
図3の説明に戻る。ユーザによる引っ張り操作により表示される矢印UI24の方向を選択することにより、コマ21のルート23を選択する。ルート23を選択した後、ユーザが画面14より指を離すと、その選択したルート23が決定される。それと共に、引っ張られた矢印UI24の弾性力に基づいてサイコロのオブジェクト(サイコロオブジェクト)25が振られる演出画像が表示される。コマ21は、ユーザが決定したルート23上のマス22を、サイコロオブジェクト25の出目に応じた数だけ移動する。
さらに、マス22上には、様々なアイテム27や敵キャラクターのコマ28等が配置されている。コマ21は、アイテム27が配置されているマス22に停止又はマス22を通過した場合、そのアイテム27を取得することができる。また、コマ21は、アイテム27として攻撃用アイテムを取得した場合には、敵キャラクターのコマ28を攻撃することもできる。これについて、図5を用いて説明する。
図5は、本実施形態における矢印UIによるルート選択により所定のアイテムが配置されているルートが選択された場合の表示例を示す図である。図5は、図3において、ハッチングされたルート23が決定され、サイコロオブジェクト25の出目6に応じて、コマ21が6マス移動した状態の図である。
マス22上には、アイテム27として、剣、銃、爆弾、弓、魔法の杖(例えば、自然現象を用いた魔法攻撃が可能になる)等の攻撃用アイテムオブジェクトが配置されている。コマ21がその攻撃用アイテムが配置されているマス22に停止又はマス22を通過した場合、そのコマ21は、その攻撃用アイテム27を取得することができる。
また、マス22上には、1以上の敵キャラクターを表すオブジェクトのコマ28が配置されている。ユーザがコマ21のルートを選択する場合、ルート候補のうち、ルート23上に攻撃用アイテムが配置されているルート23を選択すると、所定の条件を満たす他のコマ28を攻撃ターゲットとして特定することができる。ここで、所定の条件とは、例えば、選択されたルート23の到達点に最も近い位置にいる1または複数の敵キャラクターのコマである。また、攻撃ターゲットとして特定した場合には、例えば、攻撃ターゲットとして特定したことを示す攻撃ターゲット特定マーク29が、ターゲットのコマに付与して表示される。
ユーザが、ルート23上に攻撃用アイテムが配置されているルートを選択して決定した場合、サイコロオブジェクト25の出目の数に応じて、コマ21が移動する。移動の結果、コマ21がその攻撃用アイテムが配置されているマス22に停止又はそのマス22を通過した場合、コマ21は、その攻撃用アイテムを取得し、その攻撃用アイテムを用いてそのコマ28に攻撃することができる。
また、本実施形態に係るスゴロクゲームは、オンラインゲームであり、複数の端末装置12が通信ネットワーク16に接続されることで、複数のユーザが同時にプレイ(以下「複数人プレイ」という。)できる。複数人プレイでは、一例として、共有するスゴロクゲーム盤画像20が各ユーザの端末装置12の画面14に表示される。図3の例では、一つのコマ21が表示されているが、複数人プレイの場合にはプレイするユーザ毎のコマ21が表示される。
複数人プレイでは、ユーザが自身のコマ21を移動させる順番(以下「ターン」という。)が予め定められている。ユーザは、自身のターンにおいてコマ21のルート選択、コマ21の移動を行う。
なお、マス22にイベントが設定されてもよい。この場合、イベントが設定されているマス22にコマ21が停止又は通過した場合に、当該イベントが実行される。
さらに、本実施形態に係るスゴロクゲームでは、ゲームクリアの条件として、例えば特定のミッションを完了することが要求される。なお、ゲームクリアの条件は限定されるものではなく、コマ21の最終的な到達点であるゴールや所定得点の獲得がゲームクリアの条件として定められてもよい。さらに、スゴロクゲームは、特定のイベントやミッションをユーザが行うものの、明確なゲームクリアという概念がなくてもよい。
図6は、本実施形態におけるゲームシステムのゲームシステム11の機能ブロックの一例を示す図である。端末装置12は、操作表示部13、制御部31、記憶部51、通信部58を含む。
操作表示部13は、ユーザの入力操作により入力が可能であると共に、表示も可能なタッチパネルディスプレイである。なお、本実施形態では、一例として、タッチパネルディスプレイを用いるが、これに限定されず、入力部と表示部とがそれぞれ独立していてもよい。
制御部13は、端末装置12全体の動作を制御する。制御部31は、本実施形態に係るプログラムを実行することにより、操作受付部32、ルーティング部33、移動量決定部41、ターゲット特定部42、アイテム取得部43、表示制御部44として機能する。
操作受付部32は、操作表示部13に入力された操作を受け付ける。例えば、操作受付部32は、ユーザが画面14をタッチした位置を基準位置26aとして特定し、基準位置26aから指をスライドさせた位置を移動位置26bとして特定する。すなわち、操作受付部32は、引っ張り操作を特定する。特定された基準位置26a及び移動位置26bは、表示制御部44により画面14に矢印UI24を表示させる処理に用いられる。
ルーティング部33は、スゴロクゲームにおける、コマ21のルート23の導出、ユーザによるルート選択及びルート決定を行う。ルーティング部33は、ルート導出部34、ルート・矢印UI対応付け部35、ルート選択部36、ルート決定部37として機能する。
ルート導出部34は、画面14に表示されているコマ21の出発点からの移動可能マス数を満たすルート23を導出する。
ルート・矢印UI対応付け部35は、導出されたルートと、矢印UIの方向(角度範囲)とを1:1で対応付ける。より具体的には、ルート・矢印UI対応付け部35は、マス22が配列される平面領域において、コマ21の出発点を通る所定の基準線と、コマ21の出発点とルートの到達点とを結ぶ直線との角度を算出する(到達点位置算出処理35a)。到達点は、コマ21が一回のターンで到達可能な位置であり、コマ21の出発点から移動可能マス数で移動可能な位置である。
また、ルート・矢印UI対応付け部35は、最初の分岐ルートとこの最初の分岐ルートを経由する到達点とが異なる分割領域に含まれる場合、この到達点を補正対象として補正する(到達点位置補正処理35b)。分割領域とは、マス22が配列される平面領域を分割線により分割した領域である。分割領域については後述する。ルート・矢印UI対応付け部35は、補正対象とする到達点を、この到達点に至る最初の分岐ルートを含む分割領域に含まれるように補正する。
また、ルート・矢印UI対応付け部35は、到達点毎の角度範囲を設定する(到達点角度範囲設定処理35c)。また、ルート・矢印UI対応付け部35は、矢印UI24の引っ張り角度に応じた到達点を特定する(引っ張り角度・到達点対応付け処理35d)。
ルート選択部36は、ルート・矢印UI対応付け部35により特定された到達点に至るルート23を、ユーザが選択しているルート23として特定する。ルート選択部38によって特定されたルート23は、画面14に表示される。
ルート決定部37は、ユーザの指が画面14からタッチオフしたときに画面14に表示されているルート23を、ユーザが選択したルート23として決定する。
移動量決定部41は、ルート23の決定後にサイコロオブジェクト25の回転を開始させ、サイコロオブジェクト25の回転が停止した場合に示される出目(数字)をコマ21の移動量として決定する。
ターゲット特定部42は、ルート選択部38により特定されたルート23上に攻撃用アイテム27がある場合、その特定されたルート23の到達点に対して所定の条件を満たす所定のコマ28を特定する。所定の条件とは、例えば、特定されたルート23の到達点に最も近いマスにある1または複数のコマであってもよい。また、ルートの到達点は、これから回転させるサイコロオブジェクト25の出目の最大値に限定されず、将来到達するルートの到達点であってもよい。将来到達するルートの到達点とは、例えば、サイコロオブジェクト25の出目がランダムでなく、予め出るのが順次決まっている場合、数回試行後にコマ21が移動して到達する到達点は分かっている。このように将来到達するルートの到達点に対して所定の条件(例えば、特定されたルート23の到達点に最も近いマスにいる1または複数のコマであってもよい。)を満たす所定のコマ28を特定してもよい。所定のコマ28とは、例えば、敵キャラクターのコマ28である。なお、後述するように表示制御部44により、上記で決定した移動量でコマ21がルート23上を移動するように画面表示の制御がされる。
また、ターゲット特定部42は、特定されたルート23上に攻撃用アイテム27がある場合、攻撃用アイテム27の種類に応じて、上記所定の条件を変更してもよい。例えば、攻撃用アイテム27が近接用攻撃アイテム(例えば、ナイフ、剣等)の場合、特定されたルート23の到達点に最も近いマスにいる1または複数のコマを特定してもよい。例えば、攻撃用アイテム27が中距離用攻撃アイテム(例えば、ムチ、手榴弾、手裏剣等)の場合、特定されたルート23の到達点から所定の距離離れているマス(例えば、最も近くにいる敵キャラクターと最も遠くに離れている敵キャラクターとの中間にあるマス)にいる1または複数のコマを特定してもよい。例えば、攻撃用アイテム27が遠距離用攻撃アイテム(例えば、ライフル、ブーメラン、ミサイル等)の場合、特定されたルート23の到達点から最も離れているマスにいる1または複数のコマを特定してもよい。このように、攻撃用アイテム27の特性に応じて、到達点からの距離の遠近を考慮した条件を設定してもよい。
アイテム取得部43は、アイテムが配置されているマス22にコマ21が停止又はマス22を通過した場合、そのコマ21にそのアイテムを取得させる。そして、アイテム取得部43は、その取得したアイテムを識別する。
表示制御部44は、画面14の表示状態を制御する。より具体的には、表示制御部54は、スゴロクゲーム盤画像20、コマ21,28、矢印UI24、ユーザが選択しているルート23、及びサイコロオブジェクト25、アイテムオブジェクト27等、ユーザがスゴロクゲームをプレイするために必要な画像を画面14に表示させる。
また、表示制御部44は、攻撃ターゲット特定マーク29を、コマ28を囲むように協調表示する。ここで、攻撃ターゲット特定マーク29とは、ターゲット特定部42により特定されたコマ28を攻撃ターゲットとして特定したことを示す標識情報である。さらに、表示制御部54は、コマ21が攻撃用アイテムを取得して到達点まで移動した後、ターゲット表示情報が付与されたコマ28に対して、取得した攻撃用アイテムに応じた攻撃に関する演出画像を表示させる。
記憶部51は、インストールされたプログラム(本実施形態に係るプログラムを含む。)や各種データ等を格納する。記憶部51は、本実施形態では、一例として、矢印UIデータ52、スゴロクゲーム盤データ53、コマデータ54、アイテムデータ55、エフェクトデータ56、音響データ57等を格納する。ここで、データにはステータス情報や文字データだけでなく、グラフィカルデータも含む。
矢印UIデータ52は、ユーザによる引っ張り操作に対応して形状が変化する矢印に関するデータである。スゴロクゲーム盤データ53は、例えば、ステージ毎のスゴロクゲーム盤画像20やそれに関連するデータ、背景データ等である。コマデータ54は、プレイヤーキャラクターのコマ、敵キャラクターのコマ等、各種のコマのオブジェクトに関するデータである。アイテムデータ55は、マス22上に配置される攻撃用アイテム(例えば、剣、銃、弓、魔法の杖)等のオブジェクトやその他のアイテムのオブジェクトに関するデータである。エフェクトデータ56は、例えば攻撃用アイテムに応じた攻撃に関する演出画像等に関するデータである。音響データ57は、スゴロクゲームをプレイ中に流れる音楽や種々のシーンで用いる効果音等に関するデータである。
通信部58は、通信ネットワーク16に接続された機器との通信を可能にするインターフェースである。ここでは、通信部58は、通信ネットワーク16を介して、サーバ15と通信を行う。
サーバ15は、制御部61、記憶部62、通信部66を含む。制御部61は、サーバ15全体の動作を制御すると共に、端末装置12からの要求に応じて処理を実行し、実行結果を端末装置12に返す等の制御を行う。例えば、制御部61は、スゴロクゲームをプレイするユーザの認証を行ったり、複数人プレイする場合にユーザ間で使用する画面情報を共有させたり、ターンを管理したり、端末装置12でのプレイ内容を管理したり、課金管理を行ったりする。
記憶部62は、ユーザ管理データベース(DB)63、課金管理DB64、API75等を格納する。ユーザ管理DB63は、スゴロクゲームをインストールしたユーザに関するデータベースである。課金管理DB64は、スゴロクゲーム内における課金に関する処理を管理するデータベースである。なお、図4では、課金管理DB64は、記憶部72に格納されているが、これは一例であって、別の記憶装置に格納してもよい。API65は、端末装置12にインストールされたスゴロクゲームのプログラムが使用するアプリケーションプログラムインターフェースである。
通信部66は、通信ネットワーク16に接続された機器との通信を可能にするインターフェースである。ここでは、通信部66は、通信ネットワーク16を介して、端末装置12と通信を行う。
次に、操作受付部32、及びルーティング部33(ルート導出部34、ルート・矢印UI対応付け部35、ルート選択部36、ルート決定部37)の各機能について詳述する。まずは、ルート導出部34について説明する。
ルート導出部34は、画面14に表示されているコマ21の出発点からの所定条件を満たすルート23を導出する。出発点は、ルート23の導出の対象となるコマ21の現在位置である。所定条件は、一回のターンでコマ21が移動可能なマス数の最大値(以下「移動可能マス数」という。)である。
移動可能マス数は、一例として6マスである。また、所定条件として、例えば、後述するようにコマ21が通過する所定の経由点が設定されてもよい。また、所定条件として、例えば、コマ21が通過する所定のルート(ルート23の一部)が設定されてもよい。
ルート導出部34は、コマ21の現在位置から移動可能マス数で移動可能なルート23を全て導出する。なお、ルート23の導出方法は、ルート23を総当たりで導出する等してもよく、限定されるものではない。
また、ルート導出部34は、導出の対象となるコマ21(ユーザ)のターンとなったときに行われてもよいし、導出の対象となるコマ21(ユーザ)のターンが終了した後であって次のターンとなるまでの間、例えば他のユーザのターンの実行中に行われてもよい。
次に、操作受付部32について説明する。導出の対象となるコマ21(ユーザ)のターンにおいて、操作受付部32は、図3で示したようにルート23の導出後に画面14にユーザの指が接触した位置を基準位置26aとし、基準位置26aからの指の移動位置26bを引っ張り操作として検出する。表示制御部44は、その検出された引っ張り操作に応じて、表示させる矢印UI24の形状及び方向を制御し、表示させる。
なお、基準位置26aは、一例として後述するスライド操作の起点となる位置である。また、これに限らず、例えば、基準位置26aは、連続した複数回(例えば2回)のタッチ操作がされた最初の位置でもよい。
次に、ルート・矢印UI対応付け部35について説明する。ルート・矢印UI対応付け部35は、到達点位置算出処理35a、到達点位置補正処理35b、到達点角度範囲設定処理35c、引っ張り角度・到達点対応付け処理35dを行う。これらの処理については、図7~図12を参照しながら説明する。
図7は、本実施形態に係る出発点から到達点に至るまでのルートを示した模式図である。図7(A)は、マス22が配列される平面領域に、コマ21の出発点(St)、ルートの分岐点(Nb)、ルートの到達点(Nt)を配置した一例である。この例では、ルートの分岐点Nbのうち、2つの分岐点Nb1,Nb2にのみ符号を付与している。また、この例では、ルートの到達点Ntとして、12個の到達点(Nt1~Nt12)が配置されている。図7(B)は、図7(A)の出発点(St)から到達点Ntまでのルートをツリー形式で表したものである。
本実施形態では、到達点の位置を、コマ21の出発点Stと到達点Ntとを結ぶ直線と、基準線Refとのなす角度で表す。基準線Refは、出発点Stを通る所定の直線である。例えば、到達点Nt2の場合、基準線Refに対して、出発点Stと到達点Nt2とを結ぶ直線は63°傾いているから、到達点Nt2の位置は63°で示される。例えば、到達点Nt11の場合、基準線Refに対して、出発点Stと到達点Nt11とを結ぶ直線は206°傾いているから、到達点Nt11の位置は206°で示される。なお、到達点の位置は、上記の角度に限定されず、画面14の横方向をX座標とし、画面14の縦方向をY座標としたXY座標等で示されてもよい。
ルート・矢印UI対応付け部35は、到達点Nt毎に、コマ21の出発点Stと到達点Ntとを結ぶ直線と、基準線Refとのなす角度を算出し、各到達点Ntの位置を特定する(到達点位置算出処理35a)。
次に、到達点位置補正処理35bについて説明する。ユーザは、コマ21のルート選択を行う場合、コマ21の到達点Ntを確認するもののコマ21の出発点Stから近い移動先、すなわち出発点Stに近くで分岐しているルート(分岐ルート)も確認しながらコマ21の移動先を選択する傾向がある。
このため、出発点Stに近い分岐ルートと到達点Ntとが離れている場合、より具体的には出発点Stを基準にして回り込むような経路を有するルート23を選択する場合等において、出発点Stに対して分岐ルートと到達点Ntとの方向が異なることが起こり得る。そのため、ユーザはルート選択の操作を直感的に行えずに違和感を覚える可能性がある。
そこで、ルート・矢印UI対応付け部35は、ユーザにとってより直感的なルート選択
を可能とするために、一定の領域範囲に含まれない到達点を補正対象として、その位置を
補正する(到達点位置補正処理35b)。
図8は、本実施形態に係る分割領域の説明図である。図7の例では、最初の分岐点Nb(出発点St)から、分岐点Nb1に向かうルート(分岐ルート)と、分岐点Nb2に向かうルート(分岐ルート)が生じる。そこで、図8に示すように、最初の分岐点Nb(出発点St)から生じる分岐ルートRb1(分岐点Nb1)及び分岐ルートRb2(分岐点Nb2)が各々異なる分割領域A,Bとなるように平面領域を分割する。なお、以下の説明において、最初の分岐点(出発点St)から生じる分岐ルートRb1,Rb2を最初の分岐ルートともいう。
平面領域を分割する分割線Divは、一例として、最初の分岐点(出発点St)を通過し、かつ最初の分岐ルートRb1,Rb2(又は分岐点Nb1,Nb2)から等距離に位置する直線である。
図8の例では、最初の分岐点(出発点St)に対して、分岐ルートRb1(分岐点Nb1)が90°に位置し、分岐ルートRb2(分岐点Nb2)が180°に位置する。この場合、上述の通り、分割線Divは、135°と315°を通過する直線で表される。
この場合、分割領域Aは315°≦0°≦135°の範囲であり、分割領域64Bは135°≦180°≦315°である。なお、全ての分岐ルートRb、分岐点Nb及び到達点Ntは、分割領域A,Bの何れかに含まれる。
また、分割線Div上の到達点Ntは、一例として、当該到達点Ntに至る最初の分岐ルートRbが含まれる分割領域に含まれるものとする。図7の例では、最初の分岐ルートRb1を経由するルートの到達点Nt1(315°)は、分割領域Aに含まれる。一方、最初の分岐ルートRb2を経由するルートの到達点Nt12(315°)は、分割領域Bに含まれる。
このとき、図8(B)に示すように、図7(A)の出発点(St)から到達点Ntまでのルートのツリーに対して、分割線Divに対応する直線を引き、その直線の上側には、最初の分岐ルートRb1を経由するルートの到達点が配置されるようにし、その直線の下側には、最初の分岐ルートRb2を経由するルートの到達点が配置されるようにする。これについて、図9を用いて詳述する。
図9は、最初の分岐ルートRb1,Rb2(分岐点Nb1,Nb2)を経由する到達点Ntと分割領域A,Bとの関係を示した模式図である。図9(A)に示されるように分岐ルートRb1を経由する到達点Nt1~Nt4は分割領域Aに含まれる。一方、到達点Nt5,Nt6は分岐ルートRb1を経由するものの分割領域Aには含まれず、分割領域Bに含まれる。同様に分岐ルートRb2を経由する到達点Nt9~Nt12は、分割領域Bに含まれる。一方、到達点Nt7,Nt8は分岐ルートRb2を経由するものの分割領域Bには含まれず、分割領域Aに含まれる。このことは、ユーザが分岐ルートRb1を経由して到達点Nt5,Nt6に至るルート23を選択する場合や分岐ルートRb2を経由して到達点Nt7,Nt8に至るルート23を選択する場合に、ユーザはルート選択のタッチ操作に違和感を生じ、直感的な選択を行い難い可能性が生じる。
そこで、到達点位置補正処理35bでは、最初の分岐ルートRbとこれを経由する到達点Ntとが異なる分割領域に含まれる場合、最初の分岐ルートRbが含まれる分割領域に到達点Ntが含まれるように到達点の位置を補正する。
図9(B)は、到達点Nt5~Nt8の到達点の位置を補正した例を示す。分割領域Aに含まれるように、到達点Nt5の到達点の位置は161°から125°に補正され、到達点Nt6の到達点の位置は180°から130°へ補正される。また、分割領域Bに含まれるように、到達点Nt7の到達点の位置は90°から140°へ補正され、到達点Nt8の到達点の位置は108°から145°へ補正される。
また、到達点位置補正処理35bでは、補正対象である到達点62の位置を、補正対象でない到達点62と分割線66との間となるように補正する。
具体的には、図9(B)の例では補正対象である到達点Nt5,Nt6が、補正対象でない到達点Nt4と分割線Divとの間、すなわち116°から135°の範囲内(以下「補正可能範囲」という。)となるように補正される。図9(B)の例では、到達点Nt5,Nt6の到達点は、分割線Divを基準に5°間隔(以下「補正間隔」という。)で125°と130°に補正されている。
なお、補正間隔は、補正対象でない到達点Ntと分割線Divとの間に含まれる補正対象である到達点Ntの数によって決定される。図9(B)の例では、補正対象でない到達点Nt4と分割線Divとの間(補正可能範囲)である116°から135°の間に、補正対象である2つの到達点Nt5,Nt6が含まれている。このため、一例として到達点Mt5,Nt6の補正後の到達点の位置は、補正可能範囲を越えない5°間隔とされる場合、それぞれ125°、130°と補正される。
また、到達点Nt7,Nt8の到達点の位置の補正も同様であり、補正対象でない到達点Nt9と分割線Divとの間である135°~153°が補正可能範囲である。そして、補正対象である到達点Nt7,Nt8の到達点の位置は、その補正可能範囲に含まれるように、分割線Divから5°間隔で140°と145°に補正される。
図10は、到達点位置補正処理35bにより補正対象の到達点の位置が補正される場合の概念図である。図10(A)は、分割領域Aに関する到達点位置補正処理35bを示す。図10(B)は、分割領域Bに関する到達点位置補正処理35bを示す。
図10(A)において、分割領域Aの範囲外にある到達点Nt5,Nt6の位置が補正可能範囲に含まれるように、それぞれ125°、130°と補正されている。図10(B)において、分割領域Bの範囲外にある到達点Nt7,Nt8の位置が補正可能範囲に含まれるように、それぞれ140°、135°と補正されている。
なお、補正可能間隔が設定されることなく、補正可能範囲内において等間隔で補正対象の到達点の位置が補正されてもよい。例えば、補正可能範囲が116°から135°であり、補正対象である到達点Ntが二つ存在する場合、この二つの到達点Ntの到達の位置はそれぞれ、122.3°と128.6°に補正される。
ここで、到達点の位置が補正された到達点Ntの画面14における表示位置は、到達点位置補正処理35bにより到達点の位置が補正されても変化しない。すなわち、補正後の到達点の位置は、ユーザが選択しているルート23の特定に用いられるものであって、画面14の表示状態の変化には用いられない。これにより、到達点の位置の補正を行ってもスゴロクゲームの進行に影響を与えることはない。
次に、ルート・矢印UI対応付け部35は、到達点角度範囲設定処理35cを行う。到達点角度範囲設定処理35cは、隣接する到達点Nt同士の境となる角度を設定する処理である。本実施形態では、隣接する到達点Nt同士の境となる角度として、隣接する2つの到達点Ntの中間の角度を境界角度として設定する。これについて、図11を用いて説明する。
図11は、本実施形態に係る到達点の角度範囲を説明するための図である。例えば、図11に示すように、到達点Nt2の到達点の位置は63°であり、隣接する到達点Nt1,Nt2の到達点の位置は各々315°と90°である。このため、到達点Nt2の角度範囲は、63°を中心値として、315°と63°との中間値である354°から63°と90°の中間値である76.5°の範囲となる。従って、矢印UI24の向きが354°から76.5°の場合、到達点Nt2に至るルートが画面14に表示される。
同様に、他の到達点Ntの角度範囲も定められる。なお、各到達点Ntの角度範囲は、他の到達点Ntの角度範囲と重なり合うことは無い。
また、到達点Ntの角度範囲は、分割領域を定める分割線Divの角度を超えて定められない。このため、分割線Divに隣接又は分割線Divに重なる到達点Ntの角度範囲は、隣接する他の到達点と分割線Divの角度とによって定められる。例えば、図11に示されるように到達点Ntの到達点の位置は315°であり、分割線Divの角度と同じである。このため、到達点Ntの角度範囲は、315°から354°となる。
さらに、到達点Ntの角度範囲は所定の下限値以上とされる。到達点Ntの角度範囲に下限値が定められることで、狭い角度範囲でルート23が特定されることを抑制し、ユーザによるルート23の選択を容易にする。下限値となった角度範囲に複数のルート23が含まれる場合、例えば、予め定められた優先度の高いルート23を画面14に表示し、ユーザが選択可能としてもよい。また、全ての到達点Ntの角度範囲が下限値以上となるように全て又は一部の到達点Ntの角度範囲が調整、換言すると到達点の位置が補正されてもよい。
そして、ルート・矢印UI対応付け部35は、引っ張り角度・到達点対応付け処理35dを行う。引っ張り角度・到達点対応付け処理35dは、ユーザが画面14をタッチした基準位置26aと移動位置26bとを結ぶ直線と基準線Refとのなす角度(以下「引っ張り角度」という。)、すなわち矢印UI24の向く角度である矢印UI24の引っ張り角度を算出する。ルート・矢印UI対応付け部35は、算出した引っ張り角度と、到達点角度範囲設定処理35cで設定した各到達点Ntの角度範囲とを比較し、比較結果に基づいてその引っ張り角度の角度を含む角度範囲に対応する到達点Ntを特定する。そして、ルート・矢印UI対応付け部35は、その特定した到達点Ntに至るルート23を特定する。
ルート選択部36は、ルート・矢印UI対応付け部35により特定された到達点に至るルート23を、ユーザが選択しているルート23として特定する。表示制御部44は、ルート選択部38によって特定されたルート23を、画面14に表示する。
ルート決定部37は、ユーザの指が画面14からタッチオフしたときに画面14に表示されているルート23を、ユーザが選択したルート23として決定する。
次に、サイコロオブジェクトの出目によるコマの移動について説明する。移動量決定部41は、ユーザによるコマ21のルート23の決定後にコマ21の移動量を決定する。サイコロオブジェクト25は、一例として正六面体であり、各面に1から6の数字が表示される。なお、サイコロオブジェクト25は正六面体以外の多面体であってもよい。また、本実施形態に係るスゴロクゲームは、図3に示されるように一例として1つのサイコロオブジェクト25が表示されるが、サイコロオブジェクト25の数はこれに限定されず、複数であってもよい。
表示制御部44は、コマ41のルート23の決定後に、移動量決定部41からの指示に基づいて、サイコロオブジェクト25の数字の表示状態の変化を開始させる。すなわち、コマ21のルート23の決定後にユーザが他の操作を行うことなく、サイコロオブジェクト25が回転する。そして、移動量決定部41は、サイコロオブジェクト25の表示状態の変化が停止した場合、すなわちサイコロオブジェクト25の回転が停止した場合に示される数字に基づいてコマ21の移動量を決定する。
本実施形態に係るサイコロオブジェクト25の出目、すなわちコマ41の移動量を示す数値はランダムに決定される。なお、本実施形態に係るスゴロクゲームでは、ユーザが選択可能なサイコロオブジェクト25の数は一つであるが、これに限らず複数のサイコロオブジェクト25が選択可能とされてもよい。複数のサイコロオブジェクト25をユーザが選択した場合は、選択したサイコロオブジェクト25が示す数の合計値が移動量として決定されてもよいし、全てのサイコロオブジェクト25が示す数の合計値が移動量として決定されてもよい。
また、ユーザがコマ21の移動量として選択しなかったサイコロオブジェクト25の出目の数値は他に利用されてもよい。この利用とは、移動量としてユーザが選択しなかった出目が、例えばスゴロクゲームの得点(スコア)に加算されたり、スゴロクゲーム内でアイテムを購入するためのポイント、又は他のサービスで利用可能なポイント等に加算されたりすることである。
さらに、サイコロオブジェクト25の回転状態(表示状態の変化)は、指示体である指を画面14からタッチオフさせたときの状態によって変化してもよい。
例えば、基準位置26aからの指の移動位置26bまでの距離である移動距離に応じて、出目の傾向が変化してもよい。具体的には、移動距離が大きいほど大きな出目が出易くなったり、移動距離が小さいほど小さな出目が出易くなったりしてもよい。また、移動距離が大きいほど、サイコロオブジェクト25の数が増加したり、移動距離が大きいほど、サイコロオブジェクト25の出目の最大値が大きくなったり、移動距離が大きいほど、サイコロオブジェクト25の面の数が増加してもよい。
また、指を画面14からタッチオフする際の画面14に対する指の動作(ジェスチャー)に応じて、サイコロオブジェクト25の回転状態、例えば回転数を変化させてもよい。
例えば、画面14を指で弾くようなジェスチャーをしながらタッチオフした場合、当該ジャスチャーの動作が大きいほどサイコロオブジェクト25の回転数が増加してもよい。また、指を画面14にタッチしてからタッチオフするまでの経過時間に応じて、サイコロオブジェクト25の回転数が変化してもよい。また、画面14にゲージ画像が表示され、時間経過と共にゲージの数値が変化し、指を画面14からタッチオフしたタイミングにおけるゲージの数値に応じてサイコロオブジェクト25の回転数が変化してもよい。
さらに、スゴロクゲームは、コマ21であるキャラクターの成長と共に、サイコロオブジェクト25の出目のコントロールを可能としてもよい。例えば、キャラクターにコマ41の出目を大きく又は小さくする能力が与えられてもよいし、キャラクターに所望の出目を表示させる能力が与えられてもよい。
なお、上述のように、本実施形態ではコマ21のルート23の決定後にユーザが他の操作を行うことなくサイコロオブジェクト25が回転するが、これに限らず、コマ21のルート23の決定後にユーザが他の操作、例えば画面14に表示されている所定画像へのタッチ等を行った後に、サイコロオブジェクト25が回転してもよい。
また、本実施形態ではコマ41の移動量を決定するためのオブジェクトをサイコロオブジェクト25としたが、これに限らず、例えば、ルーレットを模したルーレットオブジェクト等のように、複数の異なる数字が表示されるオブジェクトであれば他の形状でもよい。
次は、ターゲット特定部42及びアイテム取得部43について説明する。
図12は、本実施形態における所定のオブジェクトを攻撃対象として特定する場合の処理を説明する図である。図12(A)は、選択されたルート上に攻撃用アイテムが配置されていない場合のルーティングの様子である。図12(B)は、選択されたルート上に攻撃用アイテムが配置されている場合のルーティングの様子である。
図12(A)に示すように、引っ張り操作による矢印UI24に応じて、導出されたルート23のうち、攻撃用アイテム27aが配置されていないルート23cを選択した場合、敵キャラクターのコマ28については、特に表示上の変化はない。図12の場合、攻撃用アイテム27aとして、剣オブジェクトが表示されている。
一方、図12(B)に示すように、引っ張り操作による矢印UI24に応じて、導出されたルート23のうち、攻撃用アイテム27aが配置されているルート23dを選択した場合、ターゲット特定部42は、所定の条件に合致する敵キャラクターのコマ28を攻撃対象として特定する。そして、表示制御部44は、ターゲット特定部42により特定されたコマ28を攻撃ターゲットとして特定したことを示す攻撃ターゲット特定マーク29を、コマ28を囲むように強調表示する。攻撃ターゲット特定マーク29は、例えば、攻撃ターゲットを環状マークで囲むように表示してもよいし、コマ28の色を変えてもよく、何らかの強調表示がなされていれば、特に限定されない。
図13は、本実施形態における攻撃に関する演出画像を説明する図である。図12(B)において、引っ張り操作によりルート23dが決定されて、サイコロオブジェクト25が回転し、例えば、出目が4であったとする。この場合、表示制御部54は、コマ21を4マス移動させるように表示制御を行う。このとき、出発点から3マス目には、攻撃用アイテム27aが配置されている。
この場合、攻撃用アイテム27aが配置されているマス22をコマ21が通過する際に、アイテム取得部43は、そのコマ21に攻撃用アイテム27aを取得させる。アイテム取得部43は、その取得した攻撃用アイテム27aを識別する。図13の場合、コマ21は攻撃用アイテム27aとして剣オブジェクトを取得している。
表示制御部54は、コマ21がサイコロオブジェクト25の出目の分移動した後、攻撃ターゲット特定マーク29が付与されたコマ28に対して、取得した攻撃用アイテム27aに応じた攻撃に関する演出画像71を表示させる。図13の例では、攻撃用アイテム27aを取得したコマ21のプレイヤーキャラクターによる剣技(必殺技等)により、攻撃されていることを演出するために、一例として火花状の演出画像71が表示されている。なお、演出画像71は、火花に限定されず、火、水、風等の自然現象に基づく演出画像であってもよいし、火薬による爆発等の現象に基づくものであってもよく、演出方法には特に限定されない。
また、演出画像の内容は、取得した攻撃用アイテム27aの種類や、そのランク等によっても変化する。例えば、取得した攻撃用アイテム27aが魔法の杖の場合、魔法攻撃に対応する演出画像が表示される。
また、攻撃の演出の際には、プレイヤーキャラクターのコマが攻撃用アイテム27aを持って、攻撃対象のコマに飛び掛かって攻撃するような演出でもよい。また、引っ張り操作による引っ張りの程度に応じて、取得した攻撃用アイテム27aが変化するようにしてもよい。例えば、取得した攻撃用アイテム27aがナイフの場合、引っ張り操作により引っ張るほど、そのナイフが剣や槍に成長して攻撃するような演出画像を用いてもよい。
また、1回のターンにおいて、決定されたルート23上に複数アイテムがある場合において、プレイヤーキャラクターのコマが2以上の攻撃用アイテム27aを取得した場合、取得した攻撃用アイテム27aの組み合わせに応じて、演出画像を変化させてもよい。例えば、1回のターンにおいて、取得した攻撃用アイテム27aが剣と魔法の杖の場合、魔法の力を帯びた剣(例えば、炎を帯びた剣等)により攻撃対象に攻撃するような演出でもよい。
また、複数人同時プレイの場合であって、自身のターンにて、決定されたルート23上に他のプレイヤーキャラクターのコマXがあるとする。このとき、プレイヤーキャラクターのコマ21がコマYのマス22に停止またはそのマス22を通過した場合、コマXにより攻撃対象に攻撃するような演出でもよいし、コマ21とコマXとの協力による技(または合体技)により攻撃対象に攻撃するような演出でもよい。
図14A及び図14Bは、本実施形態における全体の処理を示すフローチャートである。このフローは、ユーザによるスゴロクゲームのプレイ中に実行される。制御部31は、本実施形態に係るプログラムを記憶部51から読み出し、図14A及び図14のフローを実行する。
まず、ルート導出部34は、端末装置12を操作するユーザのターンになるまで待ち状態となる(S11でNO)。端末装置12を操作するユーザのターンになった場合(S11でYES)、ルート導出部34は、コマ21の現在位置から移動可能マス数で移動可能なルート23を全て導出する(S12)。
操作受付部32は、操作表示部13からの入力操作に基づいて、ユーザが画面14をタッチしたか否かを判定する(S13)。S13では、ユーザが画面14をタッチするまで待ち状態となる(S13でNO)。
ユーザが画面14をタッチしたと判定した場合(S13でYES)、操作受付部32は、操作表示部13からの入力操作情報から基準位置26a及び移動位置26bを特定する(S14)。
ルート・矢印UI対応付け部35は、ルート・矢印UI対応付け処理を行う(S15)。ルート・矢印UI対応付け処理(S15)は、到達点位置算出処理35a、到達点位置補正処理35b、到達点角度範囲設定処理35c、引っ張り角度・到達点対応付け処理35dを含む。S15の処理については、図15で詳述する。S15の処理により、矢印UI24の向きに応じた角度範囲に対応する到達点に至るルート23が特定される。
ルート選択部36は、矢印UI24の向きに応じた角度範囲に対応する到達点に至るルート23を、ユーザが選択しているルート23として特定する(S16)。表示制御部44は、ルート選択部36により特定されたルート23を、画面14に表示させる(S17)。
ターゲット特定部42は、ルート選択部36により特定されたルート23上に攻撃用アイテムが配置されているかを判定する(S18)。ルート選択部36により特定されたルート23上に攻撃用アイテムが配置されていない場合(S18でNO)、処理がS20へ進む。ルート選択部36により特定されたルート23上に攻撃用アイテムが配置されている場合(S18でYES)、ターゲット特定部42は、特定したルートの到達点に対して所定の条件を満たす敵キャラクターのコマ28を攻撃対象とし、攻撃ターゲット特定マーク表示を行う(S19)。
ルート決定部37は、ユーザの指が画面14からタッチオフしたか否かを判定する(S20)。ユーザの指が画面14からタッチオフしていない場合(S20でNO)、処理がS15へ戻る。S15の処理へ戻った場合、ユーザが指をタッチオフするまで、矢印UI24の向きの変化に応じて画面14に表示されるルート23が切り替えられる。
ユーザの指が画面14からタッチオフした場合(S20でYES)、ルート決定部37は、ユーザの指が画面14からタッチオフしたときに画面14に表示されているルート23を、ユーザが選択したルート23として決定する(S21)。
ターゲット特定部42は、S19において攻撃対象が特定されているか否かを判定する(S22)。S19において攻撃対象が特定されていない場合(S22でNO)、処理はS24に進む。S19において攻撃対象が特定されている場合(S22でYES)、ターゲット特定部42は、その特定したコマ28を攻撃対象として確定する(S23)。
次に、移動量決定部41は、サイコロオブジェクト25を回転させ、サイコロオブジェクト25が停止した場合に示される数字をコマ21の移動量m(mは整数)として決定する(S24)。
表示制御部44は、カウンタパラメータiを0で初期化する(S25)。表示制御部44は、1マスだけコマ21がルート23上を移動するように画面14の表示を制御する(S26)。表示制御部44は、カウンタパラメータiをインクリメントする(S27)。
アイテム取得部43は、移動したマスに攻撃用アイテムが配置されているかを判定する(S28)。移動したマスに攻撃用アイテムが配置されていない場合(S28でNO)、処理はS30へ進む。移動したマスに攻撃用アイテムが配置されている場合(S28でYES)、アイテム取得部43は、攻撃用アイテム27aを取得し、コマ21に保持させる(S29)。
移動量m≦カウンタパラメータiの間(S30でNO)、S26~S30の処理が繰り返される。
移動量m>カウンタパラメータiとなった場合(S30でYES)、ターゲット特定部42は、S23において攻撃対象が確定しているか否かを判定する(S31)。S23において攻撃対象が確定していない場合(S31でNO)、処理はS11に戻る。
S23において攻撃対象が確定している場合(S31でYES)、表示制御部44は、アイテム取得部43により攻撃用アイテム27aが取得されているかを判定する(S32)。S29においてアイテム取得部43により攻撃用アイテム27aが取得されていない場合(S32でNO)、処理はS11に戻る。
S29においてアイテム取得部43により攻撃用アイテム27aが取得されている場合(S32でYES)、表示制御部44は、攻撃対象のコマ28に対して、取得した攻撃用アイテム27aに応じた攻撃に関する演出画像71を表示させる(S33)。すなわち、取得した攻撃用アイテム27aを用いて、コマ21がコマ28を攻撃する演出画像が表示される。
このとき、引っ張り操作による引っ張りの程度に応じて、攻撃の演出内容に変化を与えてもよい。例えば、より引っ張るほど、攻撃の演出内容をより動的(例えば、アニメーション)にしたり、派手にしたり等するようにしてもよい。また、より引っ張るほど、攻撃対象に対して、より大きな攻撃及びそれによるダメージを当たられるようにしてもよい。
表示制御部44は、攻撃対象のライフポイントを、S33の攻撃により与えたダメージ分減らす(S34)。攻撃対象には、予めライフポイントが設定されており、そのライフポイントがある間は、その攻撃対象は生存しているとする。
表示制御部44は、攻撃対象のライフポイントはゼロか否かを判定する(S35)。攻撃対象のライフポイントがゼロでない場合(S35でNO)、処理はS11へ戻る。攻撃対象のライフポイントはゼロの場合(S35でYES)、表示制御部44は、その攻撃対象を画面14より消滅させる(S36)。
表示制御部44は、他に敵キャラクターのコマ28が存在するか否かを判定する(S37)。他に敵キャラクターのコマ28が存在する場合(S37でYES)、処理はS11へ戻る。他に敵キャラクターのコマ28が存在しない場合(S37でNO)、本フローは終了する。
図15は、ルート・矢印UI対応付け処理(S15)を示すフローチャートである。ルート・矢印UI対応付け部35(到達点位置算出処理35a)は、到達点Nt毎に、コマ21の出発点Stと到達点Ntとを結ぶ直線と、基準線Refとのなす角度を算出し、各到達点Ntの位置を特定する(S41)。
ルート・矢印UI対応付け部35(到達点位置補正処理35b)は、コマ21の移動前の位置を出発点Stとして、最初にルートが枝分かれする最初の分岐点を特定する(S)。なお、最初の分岐点の候補には、出発点Stも含まれる。
ルート・矢印UI対応付け部35(到達点位置補正処理35b)は、最初の分岐点Nb(出発点St)から生じる分岐ルートが各々異なる分割領域となるように平面領域を分割する(S43)。
ルート・矢印UI対応付け部35(到達点位置補正処理35b)は、補正対象となる到達点が存在するか判定する(S44)。すなわち、ルート・矢印UI対応付け部35(到達点位置補正処理35b)は、最初の分岐ルートRbとこれを経由する到達点Ntとが異なる分割領域に含まれるか否かを判定する。最初の分岐ルートRbとこれを経由する到達点Ntとが異なる分割領域に含まれない場合、すなわち補正対象となる到達点が存在しない場合(S44でNO)、処理はS46へ進む。
最初の分岐ルートRbとこれを経由する到達点Ntとが異なる分割領域に含まれる場合、すなわち、補正対象となる到達点が存在する場合(S44でYES)、ルート・矢印UI対応付け部35(到達点位置補正処理35b)は、最初の分岐ルートRbが含まれる分割領域に到達点Ntが含まれるように到達点の位置を補正する(S45)。
ルート・矢印UI対応付け部35(到達点角度範囲設定処理35c)は、到達点毎の角度範囲を設定する(S46)。
ルート・矢印UI対応付け部35(引っ張り角度・到達点対応付け処理35d)は、矢印UIの引っ張り角度に応じた角度範囲の到達点を特定する(S47)。ルート・矢印UI対応付け部35(引っ張り角度・到達点対応付け処理35d)は、特定した到達点に至るルートを特定する(S48)。これにより、図15のフローは終了し、図14AのS15へ戻る。
図15のフローにより、矢印UI24によるユーザのルート選択において、最初の分岐ルートRbとこの最初の分岐ルートRbを経由する到達点Ntを示す到達点とが出発点Stを基準にして同様の方向に位置することになる。これによりルート・矢印UI対応付け部35は、ユーザにとって直感的なルート選択、すなわちユーザにとってより分かりやすいなルート選択を可能とする。
なお、本実施形態に係るルート23は、最初の分岐点Nbと出発点Stとが同じであるが、これは一例であり、出発点Stと最初の分岐点Nbとが異なる位置でもよい。
また、本実施形態では、最初の分岐点からの分岐ルートは2つであったが、これに限定されず、3以上の分岐ルートがあってもよい。例えば、最初の分岐点からの分岐ルートが3つの場合は、次のようになる。平面領域において、最初の分岐点から、右方向の最初の分岐ルート(Rb1)、下方向の最初の分岐ルート(Rb2)、左方向の最初の分岐ルート(Rb3)があり、最初の分岐点の次の分岐点はそれぞれ、分岐点Nb1(位置:90°)、分岐点Nb2(位置:180°)、分岐点Nb3(位置:270°)で表すとする。ここで、座標系は、図8と同様に、最初の分岐点を通過する基準線Refがあるとする。この場合の分割線Div1は、最初の分岐点を始点とし、最初の分岐ルートRb1,Rb2から等距離に位置する直線である。また、分割線Div2は、最初の分岐点を始点とし、最初の分岐ルートRb2,Rb3から等距離に位置する直線である。また、分割線Div3は、最初の分岐点を始点とし、最初の分岐ルートRb3,Rb1から等距離に位置する直線である。この場合,分割領域は、最初の分岐点に対して、0°~135°の範囲を分割領域A、135°~225°の範囲を分割領域B、225°~360°の範囲を分割領域Cとすることができる。この場合も、最初の分岐ルートが2つの場合と同様に、最初の分岐ルートとこれを経由する到達点とが異なる分割領域に含まれる場合、最初の分岐ルートが含まれる分割領域に到達点が含まれるように到達点の位置を補正することができる。
また、例えば、最初の分岐ルートが4つの場合は、次のようになる。平面領域において、最初の分岐点から、上下左右の4方向に最初の分岐ルートがある場合、分割領域は、最初の分岐点に対して、45°~135°の範囲を分割領域A、135°~225°の範囲を分割領域B、225°~315°の範囲を分割領域C、315°~45°の範囲を分割領域Dとすることができる。この場合も、最初の分岐ルートが2つの場合と同様に、最初の分岐ルートとこれを経由する到達点とが異なる分割領域に含まれる場合、最初の分岐ルートが含まれる分割領域に到達点が含まれるように到達点の位置を補正することができる。
また、本実施形態では、平面領域を分割する場合の基準となる所定の分岐点を最初の分岐点としたが、これに限られない。所定の分岐点は、例えば出発点Stから2つ目の分岐点等とされてもよく、スゴロクゲームの運営者やユーザにより変更が可能とされてもよい。
図16は、本実施形態におけるプログラムを実行するコンピュータのハードウェア環境の構成ブロック図の一例である。コンピュータ101は、端末装置12、またはサーバ13として機能する。コンピュータ101は、CPU102、ROM103、RAM104、記憶装置105、入力I/F106、出力I/F107、通信I/F108、読取装置109、バス110によって構成されている。
ここで、CPUは、中央演算装置を示す。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、インターフェースを示す。バス110には、CPU102、ROM103、RAM104、記憶装置105、入力I/F106、出力I/F107、通信I/F108、及び必要に応じて読取装置109が接続されている。
CPU102は、記憶装置105から本実施形態に係るプログラムを読み出し、操作受付部32、ルーティング部33、移動量決定部41、ターゲット特定部42、アイテム取得部43、表示制御部44として当該プログラムを実行する。ROM103は、読み出し専用のメモリを示す。RAM104は、一時的に記憶するメモリである。
記憶装置105は、大容量の情報を記憶する装置である。記憶装置105としては、ハードディスク、ソリッドステートドライブ(SSD)、フラッシュメモリカードなど様々な形式の記憶装置を使用することができる。記憶装置105には、本発明の実施形態に係るプログラムや、記憶部40に格納されている各種データが記憶されている。
入力I/F106は、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレット、タッチパネルディスプレイ、情報読取装置等の入力装置と接続することが可能である。また、出力I/F107は、ディスプレイ、タッチパネル、プロジェクタ、プリンタ、スピーカ等の出力装置と接続することが可能である。
通信I/F108は、通信ネットワークと接続して他の装置と通信するためのポート等のインターフェースである。通信ネットワークは、インターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、専用線、有線、無線等の通信網であってよい。読取装置109は、可搬型記録媒体を読み出す装置である。
上記実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワークおよび通信I/F108を介して、例えば記憶装置105に格納されてもよい。また、上記実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読取装置105にセットされて、CPU102によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD-ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置、半導体メモリカードなど様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読取装置109によって読み取られる。
また、当該プログラムは、スタンドアローン型のコンピュータにインストールされてもよいし、クラウドコンピュータによりインストールされて機能のみをユーザに提供してもよい。また、本実施形態では、端末装置12にサーバ13と通信可能なアプリケーションプログラムをインストールして、本実施形態におけるゲームシステムの制御を行ったが、これに限定されない。例えば、端末装置12にインストールされたWebブラウザを用いて、サーバ15にアクセスし、サーバ15側で運用されている本実施形態に係るゲームシステムを使用してもよい。
以上説明したように、本実施形態に係るルート・矢印UI対応付け部35は、画面14に表示されているコマ41の出発点からの移動可能マス数を満たすルート23を導出する。そして、ルート・矢印UI対応付け部35は、画面14にユーザの指が接触した位置を基準位置26aとする。ルート・矢印UI対応付け部35は、基準位置26aからの指の移動位置26b、すなわち矢印UI24に応じたルート23を画面14に表示させる。従って、ユーザは、コマ21のルート23を簡易に選択できる。
なお、本実施形態では矢印UI24として、図3に示すように、基準位置26aから移動位置26bまでの指をスライドさせる操作に応じて、基準位置26aを中心に、矢印の先端方向及び矢印の後端方向に延伸する形態について説明したが、本発明は、これに限定されるものではない。例えば、矢印UI24は、基準位置26aを先端とし、基準位置26aから移動位置26bの方向(引っ張り方向)へ延伸するように変化させてもよい。また、例えば、移動位置26bが矢印UI24の先端とされてもよい。この場合、図3の例とは逆向きの指の移動で矢印UI24が表示される。このため、この場合の矢印UI24は、ユーザによるスライド操作に応じて矢印の先端位置や矢印UI24の長さが変化する。
また、コマ21のルート選択において、コマ21の出発点からの経由点が定められてもよい。具体的には、ユーザのターンとなった後に、ユーザが画面14を最初にタッチしたマス22が経由点として設定され、その後に経由点を始点としたルート23の導出が実行される。その後、ユーザは矢印UI24によってルート23を選択する。すなわち、出発点から設定された経由点までコマ21が移動することは確定され、経由点以降のルート23は矢印UI24を用いてユーザにより選択される。なお、経由点は、ユーザが設定せずにイベント等の一部として自動的に設定されてもよい。
また、本実施形態では、ユーザによるルート23が選択された後にコマ21の移動量を決定する形態について説明したが、これに限らず、コマ21の移動量を決定した後にユーザによってルート23が選択されてもよい。
以上、実施形態、変形例に基づき本態様について説明してきたが、上記した態様の実施の形態は、本態様の理解を容易にするためのものであり、本態様を限定するものではない。本態様は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本態様にはその等価物が含まれる。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することができる。
上記実施形態に加え、さらに、以下を付記する。
(付記1)
表示画面に対してユーザによる入力操作が可能な端末装置であって、
前記表示画面に表示された移動可能経路上に配置された第1オブジェクトであって、ユーザにより操作可能な前記第1オブジェクトの出発点から、前記ユーザの入力操作に応じて決定される到達点までの複数の移動経路候補のうち、前記ユーザの入力操作に応じて決定された移動経路を特定する移動経路特定部と、
前記表示画面に表示された1または複数の第2オブジェクトのうち、特定された前記移動経路に応じて、前記第1オブジェクトが所定のアクションを行う対象となる少なくとも1つの前記第2オブジェクトを特定する対象オブジェクト特定部と、
を備え、
前記対象オブジェクト特定部は、前記特定された移動経路上に前記所定のアクションに用いる第3オブジェクトが配置されている場合に、前記対象となる少なくとも1つの前記第2オブジェクトを特定する
ことを特徴とする端末装置。
このように構成することにより、ユーザの入力操作に応じて、出発点から到達点までの経路を決定するとともに、その経路に応じて所定のアクションの対象となる表示オブジェクトを特定することができる。これにより、ユーザがターゲットを視認しやすくなる。
(付記2)
前記対象オブジェクト特定部は、前記1または複数の第2オブジェクトのうち、特定された移動経路の前記到達点に最も近い第2オブジェクトを特定する
ことを特徴とする付記1に記載の端末装置。
このように構成することにより、特定された移動経路の到達点に最も近い第2オブジェクトを、例えば、アクションの対象として特定することができる。
(付記3)
前記端末装置は、さらに、
前記ユーザによる入力操作に応じて、前記特定された移動経路上において前記第1オブジェクトを移動させる移動量を決定する移動量決定部と、
を備え、
前記移動量決定部は、所定の下限値から所定の上限値の間で、設定された前記移動量を決定する
ことを特徴とする付記1又は2に記載の端末装置。
このように構成することにより、移動量の範囲を設定することができるので、例えばスゴロクゲームのゲームの進行を調整することができる。
(付記4)
前記端末装置は、さらに、
前記第1オブジェクトが前記第2オブジェクトに前記所定のアクションを行う場合、前記第3オブジェクトの属性に応じて、前記所定のアクションに関する演出画像を変化させる表示制御部と、
ことを特徴とする付記1~3のうちいずれか1項に記載の端末装置。
このように構成することにより、第3オブジェクトの属性に応じて、所定のアクションに関する演出画像を変化させることができるので、ゲームにおいて視覚的な演出を向上させ、ユーザの満足度を向上させることができる。
(付記5)
前記表示制御部は、さらに、前記決定された移動量に基づいて前記移動経路に沿って前記第1オブジェクトを移動させる制御を行うと共に、前記第1オブジェクトを移動させる場合において、前記移動経路上に前記第3オブジェクトが配置されている場合、前記第1オブジェクトに前記第3オブジェクトを取得させて、特定した前記第2オブジェクトに対する前記所定のアクションを行わせる制御を行う
ことを特徴とする付記1~4のうちいずれか1項に記載の端末装置。
このように構成することにより、移動経路上に配置された第3オブジェクトを取得した場合に第2オブジェクトに対して所定のアクションを行うことができるので、ゲーム性を高めることができる。
(付記6)
表示画面に対してユーザによる入力操作が可能なコンピュータに、
前記表示画面に表示された移動可能経路上に配置された第1オブジェクトであって、ユーザにより操作可能な前記第1オブジェクトの出発点から、前記ユーザの入力操作に応じて決定される到達点までの複数の移動経路候補のうち、前記ユーザの入力操作に応じて決定された移動経路を特定する移動経路特定処理と、
前記表示画面に表示された1または複数の第2オブジェクトのうち、特定された前記移動経路に応じて、前記第1オブジェクトが所定のアクションを行う対象となる少なくとも1つの前記第2オブジェクトを特定する対象オブジェクト特定処理と、
を実行させ、
前記対象オブジェクト特定処理は、前記特定された移動経路上に前記所定のアクションに用いる第3オブジェクトが配置されている場合に、前記対象となる少なくとも1つの前記第2オブジェクトを特定する
ことを特徴とする制御プログラム。
このように構成することにより、ユーザの入力操作に応じて、出発点から到達点までの経路を決定するとともに、その経路に応じて所定のアクションの対象となる表示オブジェクトを特定することができる。これにより、ユーザがターゲットを視認しやすくなる。
(付記7)
ユーザによる入力操作が可能な端末装置と通信可能な情報処理装置であって、
表示画面に表示された移動可能経路上に配置された第1オブジェクトであって、ユーザにより操作可能な前記第1オブジェクトの出発点から、前記ユーザの入力操作に応じて決定される到達点までの複数の移動経路候補のうち、前記ユーザの入力操作に応じて決定された移動経路を特定する移動経路特定部と、
前記表示画面に表示された1または複数の第2オブジェクトのうち、特定された前記移動経路に応じて、前記第1オブジェクトが所定のアクションを行う対象となる少なくとも1つの前記第2オブジェクトを特定する対象オブジェクト特定部と、
を備え、
前記対象オブジェクト特定部は、前記特定された移動経路上に前記所定のアクションに用いる第3オブジェクトが配置されている場合に、前記対象となる少なくとも1つの前記第2オブジェクトを特定する
ことを特徴とする情報処理装置。
このように構成することにより、ユーザの入力操作に応じて、出発点から到達点までの経路を決定するとともに、その経路に応じて所定のアクションの対象となる表示オブジェクトを特定することができる。これにより、ユーザがターゲットを視認しやすくなる。
(付記8)
表示画面に対してユーザによる入力操作が可能な端末装置と通信可能なサーバ装置に、
表示画面に表示された移動可能経路上に配置された第1オブジェクトであって、ユーザにより操作可能な前記第1オブジェクトの出発点から、前記ユーザの入力操作に応じて決定される到達点までの複数の移動経路候補のうち、前記ユーザの入力操作に応じて決定された移動経路を特定する移動経路特定処理と、
前記表示画面に表示された1または複数の第2オブジェクトのうち、特定された前記移動経路に応じて、前記第1オブジェクトが所定のアクションを行う対象となる少なくとも1つの前記第2オブジェクトを特定する対象オブジェクト特定処理と、
を実行させ、
前記対象オブジェクト特定処理は、前記特定された移動経路上に前記所定のアクションに用いる第3オブジェクトが配置されている場合に、前記対象となる少なくとも1つの前記第2オブジェクトを特定する
ことを特徴とするサーバ装置用プログラム。
このように構成することにより、ユーザの入力操作に応じて、出発点から到達点までの経路を決定するとともに、その経路に応じて所定のアクションの対象となる表示オブジェクトを特定することができる。これにより、ユーザがターゲットを視認しやすくなる。