特許第6180610号(P6180610)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社コロプラの特許一覧

<>
  • 特許6180610-ゲーム方法およびゲームプログラム 図000002
  • 特許6180610-ゲーム方法およびゲームプログラム 図000003
  • 特許6180610-ゲーム方法およびゲームプログラム 図000004
  • 特許6180610-ゲーム方法およびゲームプログラム 図000005
  • 特許6180610-ゲーム方法およびゲームプログラム 図000006
  • 特許6180610-ゲーム方法およびゲームプログラム 図000007
  • 特許6180610-ゲーム方法およびゲームプログラム 図000008
  • 特許6180610-ゲーム方法およびゲームプログラム 図000009
  • 特許6180610-ゲーム方法およびゲームプログラム 図000010
  • 特許6180610-ゲーム方法およびゲームプログラム 図000011
  • 特許6180610-ゲーム方法およびゲームプログラム 図000012
  • 特許6180610-ゲーム方法およびゲームプログラム 図000013
  • 特許6180610-ゲーム方法およびゲームプログラム 図000014
  • 特許6180610-ゲーム方法およびゲームプログラム 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6180610
(24)【登録日】2017年7月28日
(45)【発行日】2017年8月16日
(54)【発明の名称】ゲーム方法およびゲームプログラム
(51)【国際特許分類】
   A63F 13/426 20140101AFI20170807BHJP
   A63F 13/2145 20140101ALI20170807BHJP
   A63F 13/55 20140101ALI20170807BHJP
   A63F 13/5372 20140101ALI20170807BHJP
   A63F 13/5375 20140101ALI20170807BHJP
   G06F 3/0488 20130101ALI20170807BHJP
   G06F 3/0484 20130101ALI20170807BHJP
【FI】
   A63F13/426
   A63F13/2145
   A63F13/55
   A63F13/5372
   A63F13/5375
   G06F3/0488 130
   G06F3/0484
【請求項の数】7
【全頁数】18
(21)【出願番号】特願2016-214177(P2016-214177)
(22)【出願日】2016年11月1日
【審査請求日】2017年3月24日
【早期審査対象出願】
(73)【特許権者】
【識別番号】509070463
【氏名又は名称】株式会社コロプラ
(74)【代理人】
【識別番号】110001416
【氏名又は名称】特許業務法人 信栄特許事務所
(72)【発明者】
【氏名】三宅 洋平
【審査官】 古川 直樹
(56)【参考文献】
【文献】 特開2015−222595(JP,A)
【文献】 特開平09−239149(JP,A)
【文献】 特開2005−319175(JP,A)
【文献】 特開平10−328414(JP,A)
【文献】 特開2016−051266(JP,A)
【文献】 特開2016−126514(JP,A)
【文献】 ゲームアルゴリズムコレクション for iOS,株式会社技術評論社,2015年 5月15日,初版,p.70−84,95−100
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00 − 13/98
A63F 9/24
G06F 3/01
G06F 3/048 − 3/0489
(57)【特許請求の範囲】
【請求項1】
ユーザの入力操作に従って、タッチスクリーンに表示されるキャラクタオブジェクトをコンピュータが制御するゲーム方法であって、
(a)前記コンピュータが、前記入力操作の開始点から前記入力操作の終了点に向けて、前記タッチスクリーン上に操作オブジェクトを表示させるステップと、
(b)前記コンピュータが、前記入力操作に基づいて、前記キャラクタオブジェクトに所定の動作を実行させるステップと、
(c)前記コンピュータが、前記ステップ(b)における前記キャラクタオブジェクトの状態を検出するステップと、
(d)前記コンピュータが、検出された前記キャラクタオブジェクトの前記状態に関連付けられた所定の情報を、前記操作オブジェクトに付随して前記タッチスクリーン上に表示させるステップと、を含
前記操作オブジェクトは、前記開始点と前記終了点との間に表示されるオブジェクトであり、
前記ステップ(a)において、前記操作オブジェクトは、前記開始点側の部分および前記終了点側の部分のいずれか一方が、他方の部分よりも大きい拡大部となるように表示され、
前記ステップ(d)において、前記所定の情報は、前記拡大部の内側に表示される、ゲーム方法。
【請求項2】
前記所定の情報は、前記開始点と前記終了点に基づいて決定される前記キャラクタオブジェクトの前記所定の動作に関連付けられた動作情報を含み、
前記ステップ(d)において、前記動作情報が前記拡大部の内側に表示される、請求項1に記載の方法。
【請求項3】
前記ステップ(d)において、前記開始点と前記終了点との位置関係に関わらず、前記タッチスクリーン上における前記所定の情報の表示角度は固定されている、請求項1または2に記載の方法。
【請求項4】
前記ステップ(b)において、第一の入力操作に基づいて前記キャラクタオブジェクトを第一の状態とし、前記第一の状態において第二の入力操作に基づいて前記所定の動作が実行される、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記ステップ(b)において、第一の入力操作に基づいて前記キャラクタオブジェクトを第一の状態とした後に第二の状態とし、前記第一の状態または前記第二の状態において第二の入力操作に基づいて前記所定の動作が実行される、請求項1から3のいずれか一項に記載の方法。
【請求項6】
請求項1〜5のいずれか一項に記載のゲーム方法をコンピュータに実行させるためのゲームプログラム。
【請求項7】
プロセッサを備えるコンピュータであって、
前記プロセッサの制御により、請求項1〜5のいずれか一項に記載のゲーム方法を実行する、コンピュータ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム方法およびゲームプログラムに関する。
【背景技術】
【0002】
特許文献1には、タッチパネル上でスライド操作がされた場合、スライド操作開始点に弾性オブジェクトを表示し、スライド操作終了点に向けて弾性オブジェクトが弾性変形を伴いながら延びるように表示されるユーザインターフェースプログラムが開示されている。
特許文献2には、スマートフォンによって実行されるビデオゲームにおいて、スマートフォンのタッチパネルに表示されるキャラクタオブジェクトをユーザがタッチ操作することで、タッチパネルに対するスライド操作方向とキャラクタオブジェクトの移動やジャンプなどの各アクションとを対応付けてキャラクタオブジェクトを制御するゲーム操作方法が開示されている。
特許文献3には、格闘技ゲームにおいて、複数の入力操作により特定される入力手順が、基準手順に一致するか否かを判断し、入力操作が基準手順に一致した場合には、入力操作の内容を視覚的に識別するための識別記号を画面上に表示させることが開示されている。
非特許文献1には、スマホゲームの横スクロールアクションにおいて、上フリックでジャンプ後、ジャンプ中に下フリックすると、兜割りという技が出せることが開示されている。このようなゲームでは、技を出すのに成功すると、画面上のキャラクタに付随してアクション名を表示させることが知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2015−222595号公報
【特許文献2】特開2016−051266号公報
【特許文献3】特開平09−239149号公報
【非特許文献】
【0004】
【非特許文献1】“SAOメモデフ(メモリーデフラグ)攻略Wiki”、[online]、平成28年9月15日、Game8、[平成28年10月3日検索]、インターネット<URL:https://game8.jp/sao-md/boss/86386>
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献2に開示のようなビデオゲーム(例えば、いわゆるスマホゲーム)において、キャラクタオブジェクトを所定の状態とするためには、ユーザが所定の入力操作を行う必要がある。しかしながら、従来は、入力操作結果のユーザに対するフィードバックが不十分であったため、ユーザの入力操作に誤りがあった場合に、なぜ入力に失敗したのかユーザが直感的に把握することが難しかった。
【0006】
本開示は、入力操作に対するフィードバックをユーザへ直感的に与えることが可能なゲーム方法およびゲームプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示に示す一実施形態によれば、ユーザの入力操作に従って、タッチスクリーンに表示されるキャラクタオブジェクトを制御するゲーム方法が提供される。当該ゲーム方法は、
(a)前記入力操作の開始点から前記入力操作の終了点に向けて、前記タッチスクリーン上に操作オブジェクトを表示させるステップと、
(b)前記入力操作に基づいて、前記キャラクタオブジェクトに所定の動作を実行させるステップと、
(c)前記ステップ(b)における前記キャラクタオブジェクトの状態を検出するステップと、
(d)検出された前記キャラクタオブジェクトの前記状態に関連付けられた所定の情報を、前記操作オブジェクトに付随して前記タッチスクリーン上に表示させるステップと、
を含む。
【0008】
また、本開示に示す一実施形態によれば、上記に記載のゲーム方法をコンピュータに実行させるためのゲームプログラムが提供される。
【発明の効果】
【0009】
本開示によれば、入力操作に対するフィードバックをユーザへ直感的に与えることが可能なゲーム方法およびゲームプログラムを提供することができる。
【図面の簡単な説明】
【0010】
図1】本実施形態に係るユーザ端末を示す図である。
図2】本実施形態に係るユーザ端末のハードウェア構成を示す図である。
図3】本実施形態に係るユーザ端末の機能ブロック図である。
図4】本実施形態に係るユーザ端末のタッチスクリーン上に表示されるゲームのゲーム画面の一例を示す図である。
図5】操作検出部が、ユーザの入力操作に応じてプレイヤキャラクタを移動させる方向を検出する処理を示す図である。
図6】プレイヤキャラクタ(ここでは、自キャラクタ)の動作テーブルを示す図である。
図7】(A)は、タッチスクリーン上に表示される操作オブジェクトの一例を示す図であり、(B)は操作オブジェクトが弾性変形した状態を示す図である。
図8】本実施形態に係るゲームプログラムで実装される主要な機能モジュールを示す模式図である。
図9】本実施形態において操作オブジェクト内にプレイヤキャラクタの状態に関する情報を表示させるための処理を示すフローチャートである。
図10】(A)および(B)は、図9のフローチャートにおけるゲーム画面の例を示す図である。
図11】ユーザがプレイヤキャラクタに所定のアクションを実行させたい場合の画面例であり、(A)はプレイヤキャラクタがジャンプしている状態の画面例を示す図であり、(B)は、所定のアクションの入力操作が成功した場合の画面例を示す図であり、(C)は当該アクションの入力操作が失敗した場合の画面例を示す図である。
図12】ユーザがプレイヤキャラクタに所定のアクションを実行させたい場合の画面例であり、(A)はプレイヤキャラクタがジャンプしている状態の画面例を示す図であり、(B)は、所定のアクションの入力操作が成功した場合の画面例を示す図であり、(C)は当該アクションの入力操作が失敗した場合の画面例を示す図である。
図13】変形例に係るゲーム画面を示す図である。
図14】別の変形例に係る操作オブジェクトを示す図である。
【発明を実施するための形態】
【0011】
[本開示が示す実施形態の説明]
本開示が示す実施形態の概要を説明する。
(1)本開示の一実施形態に係るゲーム方法は、ユーザの入力操作に従って、タッチスクリーンに表示されるキャラクタオブジェクトを制御するゲーム方法であって、
当該ゲーム方法は、
(a)前記入力操作の開始点から前記入力操作の終了点に向けて、前記タッチスクリーン上に操作オブジェクトを表示させるステップと、
(b)前記入力操作に基づいて、前記キャラクタオブジェクトに所定の動作を実行させるステップと、
(c)前記ステップ(b)における前記キャラクタオブジェクトの状態を検出するステップと、
(d)検出された前記キャラクタオブジェクトの前記状態に関連付けられた所定の情報を、前記操作オブジェクトに付随して前記タッチスクリーン上に表示させるステップと、
を含む。
【0012】
上記方法によれば、入力操作に対するフィードバックをユーザへ直感的に与えることができる。
【0013】
(2)前記操作オブジェクトは、前記開始点と前記終了点との間に表示されるオブジェクトであり、
前記ステップ(a)において、前記操作オブジェクトは、前記基準点側の部分および前記終了点側の部分のいずれか一方が、他方の部分よりも大きい拡大部となるように表示され、
前記ステップ(d)において、前記所定の情報は、前記拡大部の内側に表示されても良い。
【0014】
上記方法によれば、タッチスクリーン上のデッドスペースである操作オブジェクトの拡大部に状態表示情報を表示させることで、スマートフォンのような狭い画面を有効利用することができる。
【0015】
(3)前記ステップ(d)において、前記開始点と前記終了点との位置関係に関わらず、前記タッチスクリーン上における前記所定の情報の表示角度は固定されていても良い。
【0016】
上記方法によれば、操作オブジェクト内に表示された情報の視認性を確保することができる。
【0017】
(4)前記ステップ(b)において、第一の入力操作を行うことで前記キャラクタオブジェクトを第一の状態とし、前記第一の状態において第二の入力操作を行うことで前記所定の動作が実行されても良い。
【0018】
(5)前記ステップ(b)において、第一の入力操作を行うことで前記キャラクタオブジェクトを第一の状態とした後に第二の状態とし、前記第一の状態または前記第二の状態において第二の入力操作を行うことで前記所定の動作が実行されても良い。
【0019】
これらの方法によれば、複数の入力操作が必要な動作(アクション)についても、当該入力操作の成否をユーザに対して分かりやすくフィードバックすることができる。
【0020】
(6)本開示の一実施形態に係るプログラムは、上記(1)から(5)のいずれかに記載のゲーム方法をコンピュータに実行させるためのプログラムである。
【0021】
この構成によれば、入力操作に対するフィードバックをユーザへ直感的に与えることが可能なプログラムを提供することができる。
【0022】
[本開示が示す実施形態の詳細]
以下、本開示が示す実施形態について図面を参照しながら説明する。なお、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
【0023】
本開示の実施の形態によるゲームプログラムは、図1に示されるように、タッチスクリーン2を備えたユーザ端末1において実行されるものである。ユーザ端末1は、ゲームプログラムを実行することにより、ゲームプログラムに応じたゲームをプレイする環境をユーザに対して提供する。ユーザ端末1は、例えば、アプリ等を配信するプラットフォームを介してゲームプログラムをインストールする。ユーザ端末1は、ユーザ端末1にインストールされたゲームプログラム、または、予めプリインストールされているゲームプログラムを実行することで、ユーザによるゲームのプレイを可能とする。ユーザは、タッチスクリーン2を介してゲーム内のプレイヤキャラクタ(キャラクタオブジェクトの一例)を操作することができる。ユーザ端末1は、例えば、スマートフォン、PDA(Personal Digital Assistant)、タブレット型コンピュータ等の携帯可能な端末であってもよいし、パーソナルコンピュータ、ビデオゲーム機器等であってもよい。
【0024】
なお、ユーザ端末1はネットワークを介してゲーム・サーバと通信を行ってもよい。この場合は、以下の実施形態におけるユーザ端末1に関する様々な機能の全部または一部はゲーム・サーバが担い、例えば、ゲーム・サーバで生成されるゲーム画像をブラウザ等のアプリケーションによりユーザ端末1で表示できるように構成してもよい。さらに、ゲーム・サーバを介して、ユーザ端末1を別のユーザ端末と通信可能な構成とすることもできる。
【0025】
図2に示されるように、ユーザ端末1は、ハードウェア構成として、互いにバス接続されたCPU(Central Processing Unit)3、主記憶4、補助記憶5、送受信部6、表示部7および入力部8を備えている。このうち主記憶4は例えばDRAM(Dynamic Random Access Memory)などで構成されており、補助記憶5は例えばHDD(Hard Disk Drive)などで構成されている。補助記憶5には、本実施の形態によるゲームプログラムが格納されている。ゲームプログラムは、主記憶4上に展開されCPU3によって実行される。なお、主記憶4上には、CPU3がゲームプログラムに従って動作している間に生成したデータやCPU3によって利用されるデータも一時的に格納される。送受信部6はCPU3の制御によりユーザ端末1とネットワークとの接続を確立する。入力部8は、タッチスクリーン2である表示部7に対するユーザの操作を検知して、ユーザ端末1に対して何らかの操作があったことを検知する。
【0026】
図3は、本実施形態に係るユーザ端末1の機能ブロック図の一例を示す。
本実施の形態における表示部7および入力部8は上述したタッチスクリーン2に相当する。タッチスクリーン2は、図3に示されるように、入力部8に相当するタッチセンシング部10と、表示部7に相当するディスプレイ20とを有している。タッチスクリーン2は、ユーザのタッチ操作(タッチスクリーン2における物理的接触操作等)を受け付ける。具体的には、タッチセンシング部10はユーザによるタッチ操作に応じた操作信号を制御部30へ出力する。タッチ操作は、ユーザの指によりなされてもよいし、スタイラス等でもよい。ディスプレイ20は、制御部30から出力される表示信号に基づいてユーザ操作に対応する画像を表示する。ディスプレイ20は、例えばLCD(Liquid Crystal Display)、有機EL(electroluminescence)などの表示装置によって実現される。
【0027】
制御部30は、タッチセンシング部10が受け付けたユーザからの指示に基づいてゲームプログラムを実行し、ゲーム世界においてプレイヤとして機能するプレイヤキャラクタの動作を制御しつつ、ゲームを進行させる。制御部30は、ゲームプログラムを実行することにより、入力操作受付部32と、キャラクタ操作検出部34と、オブジェクト制御部36と、表示制御部38と、の各機能を発揮する。
【0028】
入力操作受付部32は、タッチスクリーン2の出力に基づいて、ユーザの入力操作を受け付ける。具体的には、入力操作受付部32は、ユーザの指などがタッチセンシング部10に接近したことを、タッチスクリーン2を構成する面の横軸および縦軸からなる座標系の座標として検出する。
【0029】
入力操作受付部32は、タッチスクリーン2に対するユーザの操作を判別する。入力操作受付部32は、例えば、(1)「接近操作」、(2)「リリース操作」、(3)「タップ操作」、(4)「長押し操作(ロングタッチ操作)」、(5)「ドラッグ操作(スワイプ操作)」 などのユーザの操作を判別する。入力操作受付部32が判別するユーザの操作は、上記に限られない。例えば、タッチセンシング部10が、ユーザがタッチセンシング部10に対して押下する圧力の大きさを検出可能な機構を有する場合、入力操作受付部32は、ユーザが押下した圧力の大きさを判別する。
【0030】
(1)「接近操作」とは、ユーザが指などをタッチスクリーン2に接近させる操作である。タッチスクリーン2は、ユーザの指などが接近したこと(ユーザの指などがタッチスクリーン2に接触したことを含む)をタッチセンシング部10により検出し、検出したタッチスクリーン2の座標に応じた信号を入力操作受付部32へ出力する。制御部30は、タッチスクリーン2へのユーザの指などの接近を検出しない状態から、接近を検出したときに、状態が「タッチオン状態」になったと判別する。
【0031】
(2)「リリース操作」とは、ユーザがタッチスクリーン2を接近操作している状態を止める操作である。制御部30は、例えば、ユーザが指をタッチスクリーン2に接触させている状態から、指を離す操作をしたときに、ユーザの操作を「リリース操作」と判別する。制御部30は、タッチスクリーン2へのユーザの指などの接近を検出している状態から、接近を検出しない状態になったときに、状態が「タッチオン状態」から「タッチオフ状態」になったと判別する。
【0032】
(3)「タップ操作」とは、ユーザがタッチスクリーン2に対して指などを接近させる接近操作をした後に、接近操作をした位置でリリース操作を行うことである。入力操作受付部32は、接近操作が検出されない状態(ユーザの指などがタッチスクリーン2から離れており、タッチセンシング部10がユーザの指などの接近を検出していない状態)から、タッチスクリーン2の出力に基づいて、ユーザの指などが接近したことを検出した場合に、その検出した座標を「初期タッチ位置」として保持する。制御部30は、初期タッチ位置の座標と、リリース操作をした座標とがほぼ同一である場合(接近操作が検出された座標から一定範囲内の座標においてリリース操作の座標が検出された場合)に、ユーザの操作を「タップ操作」と判別する。
【0033】
(4)「長押し操作」とは、ユーザがタッチスクリーン2を押し続ける操作である。制御部30は、ユーザの操作を検出して接近操作を判別してから、接近操作が検出された座標(あるいは当該座標を含む一定領域内)において接近操作が継続している時間が一定時間を超えた場合に、ユーザの操作を「長押し操作」(「長押し操作」を、「ロングタッチ操作」と称することもある)と判別する。
【0034】
(5)「ドラッグ操作」とは、ユーザがタッチスクリーン2に指などを接近させた接近状態を維持したまま、指をスライドさせる操作である。
【0035】
キャラクタ操作検出部34は、タッチスクリーン2に対するユーザの入力操作に基づいて、ゲームに登場するプレイヤキャラクタ(以下、「自キャラクタ」と称することもある)に所定の動作を実行させる入力操作の操作内容を検出する。キャラクタ操作検出部34は、ユーザの入力操作に基づいて、例えば、プレイヤキャラクタを移動させる方向を検出する。すなわち、キャラクタ操作検出部34は、ユーザがプレイヤキャラクタの移動方向を指定する入力操作を受け付ける。
【0036】
具体的には、キャラクタ操作検出部34は、タッチスクリーン2からユーザの指が離れた状態から、ユーザが指をタッチスクリーン2に接近させて、入力操作受付部32がタッチセンシング部10にユーザの指が接近したことを検出した座標を初期タッチ位置として、ユーザがドラッグ操作を行った場合に、初期タッチ位置の座標とタッチスクリーン2の検出結果とに基づいて、プレイヤキャラクタの移動方向を検出する。キャラクタ操作検出部34での具体的な処理については、後述する。
【0037】
オブジェクト制御部36は、ユーザ端末1がゲームプログラムを実行することにより進行されるゲームに登場する各種オブジェクト、および、入力操作受付部32が受け付けたユーザの操作内容に基づいて生成される各種オブジェクト(例えば、GUI(Graphical User Interface)画面)の生成、変形、移動などの処理を制御する。オブジェクト制御部36は、例えば、ユーザがプレイヤキャラクタを移動させるためのタッチスクリーン2に対する入力操作に基づいて、プレイヤキャラクタの移動方向を示す操作オブジェクト40を生成する。操作オブジェクト40の詳細については、後述する。
【0038】
表示制御部38は、キャラクタ操作検出部34およびオブジェクト制御部36での制御に応じて、ディスプレイ20の表示内容を決定し、決定した表示内容に従った画像、テキスト等の各種の情報をディスプレイ20に出力する。例えば、表示制御部38は、プレイヤキャラクタをディスプレイ20の一定領域に表示させた状態で、入力操作受付部32によって受け付けた入力操作に応じて操作オブジェクト40を表示させつつプレイヤキャラクタに所定の動作(例えば、移動やジャンプ動作)を行わせる画面表示を行う。
【0039】
図4は、本実施形態に係るユーザ端末1のタッチスクリーン2に表示されるゲーム画面の一例を示す。図4の画面例は、ユーザが操作する自キャラクタ100(キャラクタオブジェクト、プレイヤキャラクタの一例)に、所定の動作を行わせるための入力操作を受け付ける画面である。制御部30は、タッチスクリーン2に、ユーザが操作するプレイヤキャラクタである自キャラクタ100と、対戦相手(敵)となるキャラクタである相手キャラクタ200とを表示させて、ユーザに対し、自キャラクタ100に所定の動作を行わせるための入力操作を受け付ける。自キャラクタ100および相手キャラクタ200は、ユーザ端末1を縦型となるように置いたときに、その上下方向においてタッチスクリーン2の中央付近(例えば、タッチスクリーン2をその上下方向に三分割したときの中央の領域内)に、例えば、左右方向において進行方向に視野がやや広くなるように表示される。タッチスクリーン2の下方には、例えば地面の断面(図4のドット模様の部分)が表示されている。タッチスクリーン2の下半部、すなわち地面の断面が表示された部分は、後述の操作オブジェクト40を操作するためのスペースとして利用可能である。ユーザは、タッチスクリーン2の任意位置への操作によって、自キャラクタ100を操作することができる。ユーザが、例えば、ディスプレイ20の左右方向に沿った方向(図4の矢印Aの方向)のドラッグ操作を入力した場合、制御部30は、そのドラッグ操作を受け付けて、自キャラクタ100をドラッグ操作の方向に対応する方向(例えば、矢印Bの方向)に移動させるよう制御する。
【0040】
<1.自キャラクタの動作制御>
図5は、キャラクタ操作検出部34が、ユーザの入力操作に応じて自キャラクタ100を移動させる方向を検出する処理を示す図である。キャラクタ操作検出部34は、ユーザがタッチスクリーン2を押していない状態から、指などをタッチセンシング部10に接近させてタッチスクリーン2を押した位置(初期タッチ位置)を起点と設定する。入力操作受付部32は、ユーザの操作をドラッグ操作と判別している場合に、起点となる座標と、タッチスクリーン2がユーザの指などの接近を検出している座標とに基づいて、自キャラクタ100を移動させる方向を検出する。
【0041】
図5の状態(A)は、タッチスクリーン2からユーザの指が離れた状態から、ユーザが指をタッチスクリーン2に接近させた状態を示す。入力操作受付部32は、ユーザの指がタッチスクリーン2に接近したことを検出し、検出した座標を初期タッチ位置としてメモリ(例えば、主記憶4または補助記憶5)に保持する。
【0042】
図5の例では、メモリが保持する初期タッチ位置の座標を、初期タッチ位置座標55として示す。入力操作受付部32は、タッチスクリーン2の検出結果(ユーザの指がタッチスクリーン2に接近している座標、および、ユーザの指がタッチスクリーン2に接近していることを検出していないこと(検出結果「null」))を、一定フレーム分、バッファメモリ53に格納する。バッファメモリ53は、タッチスクリーン2における検出結果を、各フレームについて一定フレーム分(図5の例では、メモリ領域fp〔0〕〜メモリ領域fp〔10〕までの11フレーム分)、格納することができる。バッファメモリ53は、例えばリングバッファとして実現することができる。
【0043】
状態(A)の例では、ユーザがタッチスクリーン2を押した位置を、押下位置50A(タッチスクリーン2の座標(x0,y0))として示す。
【0044】
図5の状態(B)は、ユーザがタッチスクリーン2に対してドラッグ操作を行って、タッチスクリーン2に対する押下位置を、押下位置50Aから押下位置50B(タッチスクリーン2の座標(x9,y9))まで10フレーム(メモリ領域fp〔0〕〜メモリ領域fp〔9〕までの10フレーム分)で移動させたことを示す。入力操作受付部32は、タッチスクリーン2の検出結果をバッファメモリ53に格納し、バッファメモリ53に保持される値を参照して、タッチスクリーン2に対するユーザの操作をドラッグ操作と判別する。
【0045】
図5の状態(C)は、ユーザがタッチスクリーン2を押している位置を、押下位置50Bから押下位置50C(タッチスクリーン2の座標(x14,y14))まで、5フレーム(メモリ領域fp〔10〕、fp〔0〕、fp〔1〕、fp〔2〕、fp〔3〕の5フレーム分)で移動させたことを示す。
【0046】
図5の状態(D)は、キャラクタ操作検出部34が、状態(B)および状態(C)のそれぞれにおいて、ユーザが自キャラクタ100を移動させる方向を指定する入力操作の検出結果を示す。キャラクタ操作検出部34は、バッファメモリ53において、タッチスクリーン2が検出する押下位置の座標を書き込む対象となるメモリ領域がいずれであるかを示す情報(バッファメモリ53の書き込み位置)を管理している。
【0047】
状態(B)において、キャラクタ操作検出部34は、入力操作受付部32の判別結果に基づいて、初期タッチ位置を示す座標51A(座標(x0,y0))から座標51B(座標(x9,y9))までユーザがドラッグ操作を行ったことを検出する。キャラクタ操作検出部34は、初期タッチ位置の座標51Aを起点として、座標51Aと座標51Bとによって規定されるベクトル52B((y9−y0)/(x9−x0))を、自キャラクタ100を移動させる方向として検出する。
【0048】
状態(C)において、キャラクタ操作検出部34は、入力操作受付部32の判別結果に基づいて、座標51B(座標(x9,y9))から座標51C(座標(x14,y14))までユーザがドラッグ操作を行ったことを検出する。キャラクタ操作検出部34は、初期タッチ位置の座標51Aを起点として、座標51Aと座標51Cとによって規定されるベクトル52C((y14−y0)/(x14−x0))を、自キャラクタ100を移動させる方向として検出する。
【0049】
<2.自キャラクタの動作例>
図6に、自キャラクタ100の動作テーブル60(アクション例)を示す。動作テーブル60は、例えば、制御部30(表示制御部38)に記憶されている。図6に示すように、動作テーブル60には、ユーザの入力操作と、入力操作時の自キャラクタ100の状態とに基づいて自キャラクタ100に実行させる所定のアクションが設定されている。動作テーブル60に例示された例1〜8について、以下に詳述する。
【0050】
例1:ユーザがタップ操作した場合には、自キャラクタ100がどのような状態であっても(すなわち、地面に着地していても着地していなくても)、制御部30は、自キャラクタ100に攻撃動作(例えば、持っている剣を振る)を実行させる。
例2:ユーザが横スライド操作(ここで、タッチスクリーン2の左右方向(水平方向)に沿った向きを0度とし、水平方向よりも上側を正とし、下側を負とした場合に、例えば、−45度から+30度の範囲内のドラッグ操作を、横スライド操作と称する。)を行い、かつ、自キャラクタ100が地面に着地している場合には、制御部30は、自キャラクタ100をドラッグ操作の方向に移動させる。なお、ドラッグ操作の開始点と終了点の距離(スライド量)が所定の閾値以下の場合は、自キャラクタ100を歩かせるようにし、スライド量が所定の閾値よりも大きい場合には、自キャラクタ100を走らせるようにしてもよい。
例3:ユーザが上スライド操作(例えば、+60度から+120度の範囲内のドラッグ操作を、上スライド操作と称する。)を行い、かつ、自キャラクタ100が地面に着地している場合には、制御部30は、自キャラクタ100にジャンプ動作を実行させる。
例4:ユーザが例3と同様の上スライド操作を行い、かつ、自キャラクタ100が地面に着地していない場合には、制御部30は、自キャラクタ100が地面に着地した後にジャンプ動作を実行させる。すなわち、この場合は、自キャラクタ100のジャンプ動作が繰り返される。
例5:ユーザが下スライド操作(例えば、−45度から−135度の範囲内のドラッグ操作を、下スライド操作と称する。)を行い、かつ、自キャラクタ100が地面に着地している場合には、制御部30は、自キャラクタ100をしゃがみ込ませる。
例6:ユーザが例5と同様の下スライド操作を行い、かつ、自キャラクタ100が地面に着地していない場合には、制御部30は、自キャラクタ100に下方攻撃動作(いわゆる、兜割り)を実行させる。
例7:ユーザが斜め上スライド操作(例えば、+30度から+60度の範囲内のドラッグ操作を、斜め上スライド操作と称する。)を行い、かつ、自キャラクタ100が地面に着地している場合には、制御部30は、自キャラクタ100を斜めにジャンプさせ、着地後に地面上を移動させる。
例8:ユーザが例7と同様の斜め上スライド操作を行い、かつ、自キャラクタ100が壁などの障害物に接している場合には、制御部30は、自キャラクタ100に壁を蹴って上方へジャンプする動作(いわゆる、三角飛び)を実行させる。
【0051】
制御部30は、例えば、ユーザの上スライド操作(第一の入力操作の一例)を受け付けると、動作テーブル60を参照して自キャラクタ100をジャンプさせた状態(第一の状態の一例)とし、ジャンプさせた状態においてユーザの下スライド操作(第二の入力操作の一例)を受け付けると、動作テーブル60を参照して自キャラクタ100に兜割りを実行させる。また、斜めスライド操作を受け付けた場合には、制御部30は、斜め上スライド操作に基づいて動作テーブル60を参照して自キャラクタ100をジャンプ状態(第一の状態)とした後に地面上を移動させる状態(第二の状態の一例)とする。そして、制御部30は、自キャラクタ100をジャンプさせた状態または地面を移動させた状態において所定の入力操作(例えば、下スライド動作)を受け付けると、動作テーブル60を参照して自キャラクタ100に所定の動作(ジャンプ状態の場合には兜割り、移動状態の場合にはしゃがみ込み)を実行させる。
【0052】
<3.操作オブジェクトの基本構成>
本実施形態に係る操作オブジェクト40(図4参照)は、ユーザのタッチスクリーン2に対する接近操作が検知されるとタッチスクリーン2に表示される。操作オブジェクト40は、ユーザが自キャラクタ100を移動させる方向を示す弾性状のオブジェクトである。操作オブジェクト40は、図7の(A)に示すように、指接触時の初期形状として、タッチスクリーン2に接触した位置(例えば、図5の初期タッチ位置座標51A)である接触開始点に関連付けられた基準位置の周囲に、円形状の基部42を有するように形成される。なお、基準位置は、最初に指がタッチスクリーン2に触れた座標でなくても良く、例えば、最初に指が触れたフレームの数フレーム後のフレームにおいて指が触れていた座標であっても良い。
【0053】
ユーザがタッチスクリーン2上で接触開始点から接触終了点(ここで、接触終了点とは、ユーザの指などがタッチスクリーン2に接触した状態での最終地点を意味する)までドラッグ操作を行うと、図7の(B)に示すように操作オブジェクト40は、ユーザの指に引っ張られるような弾性変形を伴う。このとき、操作オブジェクト40は、ドラッグ操作の接触開始点に対応して表示される基部(拡大部)42に加えて、ドラッグ操作の接触終了点(注:指はタッチスクリーン2に接触したままの状態である。)付近に位置する先端部44と、基部42と先端部44との間を接続する接続部46とを含むように構成される。このように操作オブジェクト40は、接触開始点から接触終了点に向けて入力されたドラッグ操作の方向に弾性的に延ばされるように形成される。また、ユーザが接触終了点を接触状態に維持しつつタッチスクリーン2上において更に指などを移動させた場合、先端部44もそれに追従して更に移動し操作オブジェクト40の延びる向きも変化する。ユーザによるドラッグ操作が終了した際に(すなわち、タッチスクリーン2上において接触終了点からユーザの指が離れた際に)、弾性変形した操作オブジェクト40が、その復元力に従って、接触開始点に向けて段階的に萎縮して、図7の(A)に示した初期形状に復元するように表示され、一定時間経過後に非表示となる。
【0054】
なお、図7の(A)では、接触開始点を中心に円形状の基部42を形成しているが、必ずしもこれに限定されない。例えば、基部42を接触開始点から一定距離だけ上部または下部にずらして形成しても良い。すなわち、操作オブジェクト40の基部42は、接触開始点に関連付けられた所定の位置(基準位置)に対応して表示されていても良い。また、接触開始点に形成した操作オブジェクト40(基部42)をドラッグ操作に応じて変形させずに、接触開始点から接触終了点に向けて、操作オブジェクトの一部を構成する別のオブジェクトを表示させるようにしても良い。
【0055】
<4.主要な機能モジュールの説明>
図8図10を参照して、本実施形態に係るゲームプログラムで実装される主要な機能モジュールとその動作処理について説明する。当該機能モジュールを通じて、操作信号としての入力を処理して、表示信号としての出力を生成することになる。
図8に示す操作オブジェクト制御プログラムモジュール(操作オブジェクト制御PM)80は、タッチスクリーン2(タッチセンシング部10)を通じたユーザの入力操作に基づいて操作オブジェクト40を制御するためのモジュールである。キャラクタ制御プログラムモジュール(キャラクタ制御PM)90は、タッチスクリーン2を通じたユーザの入力操作に応じて仮想空間内の自キャラクタ100の動作を制御して自キャラクタ100を操作するためのモジュールである。操作オブジェクト制御PM80は、入力操作受付プログラムモジュール(入力操作受付PM)82と、操作オブジェクト描画プログラムモジュール(操作オブジェクト描画PM)84とを含む。入力操作受付PM82は、図3に示す入力操作受付部32としての機能を有し、操作オブジェクト描画PM84は、オブジェクト制御部36および表示制御部38としての機能を有する。キャラクタ制御PM90は、キャラクタ操作検出部34としての機能を有する。
【0056】
タッチスクリーン2上でユーザの指などによる入力操作(例えば、接近操作)が実行されると、入力操作受付PM82は、入力操作を受け付け、受け付けた入力操作に関する情報(入力操作情報)をキャッシュメモリ(例えば、図5のバッファメモリ53)に格納する(図9のステップS1)。次に、キャラクタ制御PM90は、入力操作受付PM82から入力操作情報を取得する(ステップS2)。そして、キャラクタ制御PM90は、ゲーム内状況に基づいて、例えば、自キャラクタ100の状態(地面に着地しているか否か、壁などの障害物に接しているか否か、など)に関する情報を取得する(ステップS3)。なお、ここでの「自キャラクタ100の状態」とは、キャラクタの動作に関連する状態(例えば、着地状態か否か)を示し、キャラクタのステータスの異常状態(例えば、毒や石化)などは含まない。
【0057】
次いで、キャラクタ制御PM90は、ステップS2で取得した入力操作情報とステップS3で取得した自キャラクタ100の状態に関する情報(以下、キャラクタ状態情報と称する)に基づいて、図6の動作テーブル60を参照して自キャラクタ100を制御する(ステップS4)。例えば、ユーザが横スライド操作を行い、かつ、自キャラクタ100が地面に着地している場合には、キャラクタ制御PM90は、横スライド操作情報、および自キャラクタ100が地面に着地状態であるという情報を取得し、これらの情報から動作テーブル60の例2に基づいて、図10の(A)に示すように自キャラクタ100をドラッグ操作の方向(矢印Cの方向)に移動させる。なお、キャラクタ制御PM90は、自キャラクタ100の制御結果に基づいて、相手キャラクタ200を制御することもできる。例えば、キャラクタ制御PM90は、自キャラクタ100が相手キャラクタ200を攻撃した場合、その攻撃を受けたことを表すアクションを相手キャラクタ200に行わせることができる。
【0058】
次に、操作オブジェクト制御PM80内の操作オブジェクト描画PM84は、入力操作受付PM82から入力操作情報を取得するとともに、キャラクタ制御PM90からキャラクタ状態情報を取得する(ステップS5)。そして、操作オブジェクト描画PM84は、ステップS5で取得した入力操作情報およびキャラクタ状態情報に基づいて、操作オブジェクト40を描画し、タッチスクリーン2に表示する(ステップS6)。例えば、図6の例2のように横スライド操作が行われた場合には、操作オブジェクト描画PM84は、入力操作受付PM82から横スライド操作情報を取得し、図10の(A)に示すように、初期タッチ位置座標(接触開始点)から現在のタッチ位置座標(接触終了点)に向けて、すなわち矢印C´方向に操作オブジェクト40を引き延ばすように表示する。それと同時に、操作オブジェクト描画PM84は、キャラクタ制御PM90から取得したキャラクタ状態情報に基づいて、図10の(A)に示すように、操作オブジェクト40の基部42の内側に自キャラクタ100の状態に対応した情報(例えば、文字情報)を表示する。例えば、自キャラクタ100が地面に着地した状態でユーザが矢印Cの方向に横スライド操作を実行した場合には、操作オブジェクト40の基部42内には「Run」と表示される(図10の(A)参照)。なお、横スライド操作のスライド量が所定値以下の場合は、基部42内に「Run」の代わりに「Walk」と表示しても良い。また、自キャラクタ100が地面に着地した状態でユーザが上スライド操作あるいは斜め上スライド操作を実行した場合には、図10の(B)に示すように、自キャラクタ100がドラッグ操作の方向である矢印D方向に応じてジャンプするとともに、操作オブジェクト40が矢印D´方向に引き伸ばされ、操作オブジェクト40の基部42内に「Jump」と表示される。ステップS6の処理が完了すると、ステップS1へ戻り、処理を繰り返す。
【0059】
タッチスクリーン2上において、基部42内に表示される文字情報(「Run」や「Jump」)の表示角度は固定されていることが好ましい。すなわち、図10の(A),(B)に示すように、操作オブジェクト40の基部42に対する先端部44の角度に関わらず、文字情報が横書きである場合には、文字情報はタッチスクリーン2の下辺と略平行となる向きで表示される。例えば、接触開始点から下向き側にドラッグ操作が入力された場合や、接触開始点を中心にして接触終了点が回転するような入力操作が入力された場合にも、タッチスクリーン2上における文字情報の表示角度はユーザが見易い向きで表示されるため、良好な視認性を確保することができる。
【0060】
図11は、ユーザが自キャラクタ100に兜割りのアクションを実行させようとする場合のゲーム画面例であり、(A)は自キャラクタ100がジャンプしている状態の画面例を示し、(B)は、兜割りの入力操作が成功した場合の画面例を示し、(C)は兜割りの入力操作が失敗した場合の画面例を示している。
兜割り(下方攻撃)は、図6の動作テーブル60の例5に示すように、自キャラクタ100が地面に着地していない状態(図11の(A)に示す状態)において下スライド操作がなされた時に実行可能となる。すなわち、制御部30は、ユーザの上スライド操作あるいは斜め上スライド操作に基づいて自キャラクタ100を地面に着地していないジャンプ状態とし、このジャンプ状態においてユーザの下スライド操作の入力を受け付けた場合に、自キャラクタ100に兜割りを実行させる。
【0061】
兜割りの入力操作が成功した場合、すなわちジャンプ状態において下スライド操作が入力された場合には、図11の(B)に示すように、制御部30は、自キャラクタ100に兜割りを実行させるとともに、操作オブジェクト40の基部42内に兜割りに関する情報(例えば、「Attack」)を表示する。一方、兜割りの入力操作が失敗した場合、例えばドラッグ操作の下方向への角度が足りなかった場合には、図11の(C)に示すように、制御部30は、自キャラクタ100に兜割りを実行させず、また、操作オブジェクト40の基部42内にはその時点での自キャラクタ100の状態に関する情報(例えば、「Jump」)を表示する。この場合、ユーザは、表示「Jump」を見ることで、ドラッグ操作の下方向への角度が足りなかったことを容易に認識することができる。このように、基部42内に文字情報を表示することで、兜割りのような複数の入力操作が必要な動作についても当該入力操作の成否をユーザに対して分かりやすくフィードバックすることができる。
【0062】
図12は、図11と同様に、ユーザが自キャラクタ100に兜割りのアクションを実行させようとする場合のゲーム画面例であり、(A)は自キャラクタ100がジャンプしている状態の画面例を示し、(B)は、兜割りの入力操作が成功した場合の画面例を示し、(C)は兜割りの入力操作が失敗した場合の画面例を示している。
図11の場合と同様に、兜割りの入力操作が成功した場合には、図12の(B)に示すように、制御部30は、自キャラクタ100に兜割りを実行させるとともに、操作オブジェクト40の基部42内に兜割りに関する情報(例えば、「Attack」)を表示する。一方、兜割りの入力操作が失敗した場合、例えば上スライド操作や斜め上スライド操作に基づいてジャンプした自キャラクタ100が地面に着地してから下スライド操作が入力された場合には、図12の(C)に示すように、制御部30は、自キャラクタ100に兜割りを実行させず、また、基部42内にはその時点での自キャラクタ100の状態に関する情報(例えば、「Run」)を表示する。この場合、ユーザは、表示「Run」を見ることで、自キャラクタ100が地面に着地してから下スライド操作を行ったために入力操作に失敗したことを容易に認識することができる。
【0063】
以上説明したように、本実施形態によれば、制御部30は、ユーザの入力操作に基づいて、接触開始点から接触終了点に向けてタッチスクリーン2上に操作オブジェクト40を表示させつつ、自キャラクタ100に所定の動作を実行させる。そして、制御部30は、自キャラクタ100の状態を検出し、検出された自キャラクタ100の状態に関連付けられた所定の情報(例えば、上記説明した文字情報)を、タッチスクリーン2上の操作オブジェクト40の基部42内に表示させる。これにより、入力操作に対するフィードバックをユーザへ直感的に与えることが可能となる。
【0064】
自キャラクタ100の状態に関連付けられた文字情報は、操作オブジェクト40の拡大部である基部42内に表示されている。このように、タッチスクリーン2上のデッドスペースである操作オブジェクト40の拡大部に文字情報を表示させることで、スマートフォンのような狭い画面を有効利用することができる。
【0065】
上記の実施形態においては、図10〜12に示すように、操作オブジェクト40の拡大部である基部42の内側に自キャラクタ100の状態に関する文字情報を表示しているが、これに限定されない。図13に示すように、操作オブジェクト40から吹き出し48のような形で、自キャラクタ100の状態に関する情報(例えば、「Run」)を表示するようにしても良い。すなわち、自キャラクタ100に関する情報は操作オブジェクト40に付随するように表示されていれば良い。
【0066】
また、上記の実施形態においては、図7等に示すように、基部42を先端部44よりも大きくするように操作オブジェクト40を形成しているが、これに限定されない。図14の操作オブジェクト140に示すように、先端部144を基部142よりも大きく形成してもよい。この場合、自キャラクタ100の状態に関する情報(例えば、「Run」)は、拡大部である先端部144内に表示される。
【0067】
また、操作オブジェクト40に付随して表示されるキャラクタ状態情報は、文字情報に限られず、図形等のその他の記号であっても良い。
【0068】
上記の実施形態は、本発明の理解を容易にするための例示に過ぎず、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良することができると共に、本発明にはその均等物が含まれることは言うまでもない。
【符号の説明】
【0069】
1:ユーザ端末、2:タッチスクリーン、3:CPU、4:主記憶、5:補助記憶、6:送受信部、7:表示部、8:入力部、10:タッチセンシング部、20:表示部、30:制御部、32:入力操作受付部、34:キャラクタ操作検出部、36:オブジェクト制御部、38:表示制御部、40:操作オブジェクト、42:基部、44:先端部、46:接続部、53:バッファメモリ、55:初期タッチ位置座標、60:動作テーブル、80:操作オブジェクト制御プログラムモジュール、82:入力操作受付プログラムモジュール、84:操作オブジェクト描画プログラムモジュール、90:キャラクタ制御プログラムモジュール、100:自キャラクタ(プレイヤキャラクタ、キャラクタオブジェクトの一例)、200:相手キャラクタ
【要約】
【課題】入力操作に対するフィードバックをユーザへ直感的に与えることが可能なゲーム方法を提供する。
【解決手段】ユーザの入力操作に従って、タッチスクリーン2に表示されるキャラクタオブジェクトを制御するゲーム方法を提供する。当該ゲーム方法は、(a)入力操作の開始点から入力操作の終了点に向けて、タッチスクリーン2上に操作オブジェクト40を表示させるステップと、(b)入力操作に基づいて、キャラクタオブジェクト100に所定の動作を実行させるステップと、(c)ステップ(b)におけるキャラクタオブジェクト100の状態を検出するステップと、(d)検出されたキャラクタオブジェクト100の状態に関連付けられた所定の情報を、操作オブジェクト40に付随してタッチスクリーン2上に表示させるステップと、を含む。
【選択図】図10
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14