(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022180633
(43)【公開日】2022-12-06
(54)【発明の名称】プログラム
(51)【国際特許分類】
A63F 13/58 20140101AFI20221129BHJP
A63F 13/69 20140101ALI20221129BHJP
A63F 13/55 20140101ALI20221129BHJP
【FI】
A63F13/58
A63F13/69 510
A63F13/55
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022160930
(22)【出願日】2022-10-05
(62)【分割の表示】P 2019145253の分割
【原出願日】2017-12-28
(71)【出願人】
【識別番号】509070463
【氏名又は名称】株式会社コロプラ
(74)【代理人】
【識別番号】100142365
【弁理士】
【氏名又は名称】白井 宏紀
(72)【発明者】
【氏名】平澤 信之介
(57)【要約】 (修正有)
【課題】キャラクタのパラメータの更新方法を多様化させることで、より展開を多様化することを支援し、これによりプレイの興趣性をいっそう向上させることが可能な技術を提供する。
【解決手段】プログラムは、操作対象となる1以上のキャラクタについて、キャラクタに関連付けることが可能な属性を供出対象とする抽選処理を行う抽選手段と、抽選処理の結果に応じて供出された属性を示す情報を記憶させる記憶手段と、既に行われた抽選処理の結果に応じて供出されたことにより既にキャラクタに関連付けることが可能となっている属性が、新たに行われた抽選処理の結果に応じて再び供出されることにより、属性がいずれのキャラクタの属性であるかにかかわらず、共通の第1のオブジェクトをユーザに付与する付与手段と、第1のオブジェクトを消費することにより、属性に関連するパラメータを成長させるように更新するための処理を行う更新手段として機能させる。
【選択図】
図28
【特許請求の範囲】
【請求項1】
コンピュータを、
操作対象となる1以上のキャラクタについて、前記キャラクタに関連付けることが可能な属性を供出対象とする抽選処理を行う抽選手段と、
前記抽選処理の結果に応じて供出された属性を示す情報を記憶させる記憶手段と、
既に行われた前記抽選処理の結果に応じて供出されたことにより既に前記キャラクタに関連付けることが可能となっている属性が、新たに行われた前記抽選処理の結果に応じて再び供出されることにより、当該属性がいずれのキャラクタの属性であるかにかかわらず、共通の第1のオブジェクトをユーザに付与する付与手段と、
前記第1のオブジェクトを消費することにより、前記属性に関連するパラメータを成長させるように更新するための処理を行う更新手段と、して機能させる、プログラム。
【請求項2】
既に行われた前記抽選処理の結果に応じて供出されたことにより既に前記キャラクタに関連付けることが可能となっている属性が、新たに行われた前記抽選処理の結果に応じて再び供出された際、前記属性を付与せず、前記付与手段が前記第1のオブジェクトをユーザに付与する、請求項1に記載のプログラム。
【請求項3】
コンピュータを、
操作部に対するユーザの入力操作に応答して、前記キャラクタを動作させる動作手段と、
前記キャラクタを動作させたことに基づいて、前記キャラクタの性能を示す第1のパラメータを更新する性能更新手段と、して機能させ、
前記キャラクタを動作させたことにより蓄積される履歴に応じて前記第1のパラメータが更新される一方、前記属性に関連するパラメータについては前記キャラクタを動作させたことにより蓄積される履歴によるものではなく前記第1のオブジェクトを消費することにより更新するための処理を前記更新手段が行う、請求項1または請求項2に記載のプログラム。
【請求項4】
コンピュータを、
前記キャラクタに関連付けることが可能な属性のうちからいずれかを指定するための前記ユーザの入力操作に応答して、当該キャラクタを、前記指定された属性に変更する変更手段と、して機能させ、
前記性能更新手段において、前記属性の指定により前記キャラクタの前記属性が変更される際に、いずれの前記属性に変更されたときであっても、当該キャラクタを動作させたことに基づいて更新させた当該キャラクタの性能を示す前記第1のパラメータは更新されない、請求項3に記載のプログラム。
【請求項5】
前記属性に関連するパラメータは、前記キャラクタの性能を示す第1のパラメータについて上昇可能な範囲を特定するための情報であり、
前記成長させるように更新するための処理は、当該処理を実行するときの前記上昇可能な範囲よりも広い範囲を特定する情報となるように、前記属性に関連するパラメータを更新する処理である、請求項1から4のいずれか1項に記載のプログラム。
【請求項6】
前記第1のオブジェクトは、消費することにより、いずれのキャラクタの属性に関連するパラメータであっても、成長させるように更新可能なオブジェクトである、請求項1から5のいずれか1項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラムに関する。
【背景技術】
【0002】
ロールプレイングゲーム、アクションロールプレイングゲームなど、ゲームキャラクタを操作してゲームを進行させるものがある。これらゲームでは、例えば、ユーザの入力操作に応じてゲームキャラクタに行動させ、敵キャラクタと戦闘をさせること等により経験値をゲームキャラクタに付与する。ゲームキャラクタが成長すると、より強力な敵キャラクタと戦闘をして勝利をし、ゲームを進行させられるようになる。
【0003】
キャラクタを操作するための技術として、例えば、特開2016-051266号公報(特許文献1)がある。特許文献1には、スマートフォンによって実行されるビデオゲームにおいて、スマートフォンのタッチパネルに表示されるキャラクタオブジェクトをユーザがタッチ操作することで、タッチパネルに対するスライド操作方向とキャラクタオブジェクトの移動やジャンプなどの各アクションとを対応付けてキャラクタオブジェクトを制御するゲーム操作方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ゲームキャラクタが成長すると、より多様な行動ができるようになり、その結果、ユーザはますますプレイを楽しむことができる。
【0006】
例えば、ゲームキャラクタが成長することにより、回復呪文を覚えたり特殊な攻撃を覚えたりといったスキルを獲得することがある。典型的には、ゲームキャラクタが経験値を獲得すると、ゲームキャラクタのレベルが上がり、一定レベルに達する都度、攻撃呪文などのスキルを獲得するといったことが行われている。しかし、ゲームキャラクタの成長方法が単調であると、プレイの展開の幅が狭まることとなり、ゲームの興趣性をよりいっそう向上させることが必要となる。
【0007】
ゲームによっては、ゲーム中においてキャラクタの成長のさせ方に多様な選択肢を用意しつつ、ユーザがキャラクタの成長のさせ方に自発的に介入させることで、多様なゲーム展開を実現しているものもある。例えば、ロールプレイングゲームにおいて、プレイヤーキャラクタが予め戦士、魔法使い、僧侶、格闘家などの職業を付与されており、この職業を、転職という形式でゲーム中で変更可能とするものがある。例えば、職業に応じて獲得するスキルが異なるようにすることで、ユーザは、自ら考えたキャラクタの成長のさせ方に沿ってゲームを進行させることができる。
【0008】
しかしながら、このような転職システムを採用したゲームは、典型的には、ユーザが自らの意思で転職先の職業を指定するものの、転職後の職業では低いレベルのキャラクタとなるものが多い。そのためユーザはキャラクタをある職業にした後に、じっくりとキャラクタを成長させることとなる。そうすると、ユーザは、そもそもどの職業に就かせるかという選択をじっくりと検討することが必要となり、キャラクタの職業を変更することに慎重となる。結果的に、多様なゲーム展開が促されないことになりかねない、という課題がある。
【0009】
本開示は、キャラクタのパラメータの更新方法を多様化させることで、より展開を多様化することを支援し、これによりプレイの興趣性をいっそう向上させることが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
本開示に示す一実施形態によれば、プログラムが提供される。プログラムは、コンピュータを、操作対象となる1以上のキャラクタについて、キャラクタに関連付けることが可能な属性を供出対象とする抽選処理を行う抽選手段と、抽選処理の結果に応じて供出された属性を示す情報を記憶させる記憶手段と、既に行われた抽選処理の結果に応じて供出されたことにより既にキャラクタに関連付けることが可能となっている属性が、新たに行われた抽選処理の結果に応じて再び供出されることにより、属性がいずれのキャラクタの属性であるかにかかわらず、共通の第1のオブジェクトをユーザに付与する付与手段と、第1のオブジェクトを消費することにより、属性に関連するパラメータを成長させるように更新するための処理を行う更新手段と、して機能させる。
【0011】
本開示に示す一実施形態によれば、プロセッサと、メモリとを備える情報処理装置が提供される。前記メモリに格納されるゲームプログラムを前記プロセッサが読み込むことにより、前記プロセッサが、操作対象となる1以上のキャラクタについて、前記キャラクタに関連付けることが可能な属性を示す情報を前記メモリに記憶させる。前記プロセッサは、前記キャラクタの属性を供出対象とする抽選処理を行う。前記プロセッサは、抽選処理の結果、既に前記キャラクタに関連付けることが可能な前記属性が供出されることにより、前記属性に関連するパラメータを更新するための処理を行う。
【0012】
本開示に示す一実施形態によれば、プロセッサと、メモリとを備えるコンピュータにおいて実行される方法が提供される。この方法は、前記プロセッサが、操作対象となる1以上のキャラクタについて、前記キャラクタに関連付けることが可能な属性を示す情報を前記メモリに記憶させる第1のステップと、前記キャラクタの属性を供出対象とする抽選処理を行う第2のステップと、抽選処理の結果、既に前記キャラクタに関連付けることが可能な前記属性が供出されることにより、前記属性に関連するパラメータを更新するための処理を行う第3のステップとを実行することを含む。
【発明の効果】
【0013】
本開示によれば、キャラクタのパラメータの更新方法を多様化させることで、より展開を多様化することを支援し、これによりプレイの興趣性をいっそう向上させることができる。
【図面の簡単な説明】
【0014】
【
図1】本実施形態に係るユーザ端末を示す図である。
【
図2】本実施形態に係るユーザ端末のハードウェア構成を示す図である。
【
図3】本実施形態に係るユーザ端末の機能ブロック図である。
【
図4】本実施形態に係るユーザ端末のタッチスクリーン上に表示されるゲームのゲーム画面の一例を示す図である。
【
図5】操作検出部が、ユーザの入力操作に応じてプレイヤキャラクタを移動させる方向を検出する処理を示す図である。
【
図6】プレイヤキャラクタ(ここでは、自キャラクタ)の動作テーブルを示す図である。
【
図7】(A)は、タッチスクリーン上に表示される操作オブジェクトの一例を示す図であり、(B)は操作オブジェクトが弾性変形した状態を示す図である。
【
図8】本実施形態に係るゲームプログラムで実装される主要な機能モジュールを示す模式図である。
【
図9】本実施形態において操作オブジェクト内にプレイヤキャラクタの状態に関する情報を表示させるための処理を示すフローチャートである。
【
図10】(A)および(B)は、
図9のフローチャートにおけるゲーム画面の例を示す図である。
【
図11】ユーザがプレイヤキャラクタに所定のアクションを実行させたい場合の画面例であり、(A)はプレイヤキャラクタがジャンプしている状態の画面例を示す図であり、(B)は、所定のアクションの入力操作が成功した場合の画面例を示す図であり、(C)は当該アクションの入力操作が失敗した場合の画面例を示す図である。
【
図12】ユーザがプレイヤキャラクタに所定のアクションを実行させたい場合の画面例であり、(A)はプレイヤキャラクタがジャンプしている状態の画面例を示す図であり、(B)は、所定のアクションの入力操作が成功した場合の画面例を示す図であり、(C)は当該アクションの入力操作が失敗した場合の画面例を示す図である。
【
図14】別の変形例に係る操作オブジェクトを示す図である。
【
図15】自キャラクタ100などユーザが操作することが可能なゲームキャラクタのパラメータのデータ構造、および、ユーザの入力操作に応じてゲームキャラクタに各種行動を行わせた履歴とゲームキャラクタが獲得したスキルとの対応関係を含むデータ構造を示す図である。
【
図16】ユーザの入力操作に応じて自キャラクタ100が行動を行うことに起因して、自キャラクタ100がスキルを獲得したことを通知する局面を示す。
【
図17】自キャラクタ100が獲得可能なスキルと、自キャラクタ100が習得しているスキルとをユーザが確認することができるスキル一覧の画面例を示す。
【
図18】ユーザ端末1が、自キャラクタ100の動作内容に応じて、スキル習得のための各スキルの経験値を更新し、スキルを獲得したこと、スキルを成長させたことをユーザに通知する処理を示すフローチャートである。
【
図19】ユーザ端末1が、ユーザの入力操作に応じて、自キャラクタ100が習得しているスキル一覧の画面をタッチスクリーン2に提示する処理を示すフローチャートである。
【
図20】第2の実施形態においてプレイヤキャラクタをユーザが変更するためのユーザインターフェース画像の表示処理を示すフローチャートである。
【
図21】
図20に示すフローチャートにおけるゲーム画面の例を示す図である。
図22は、
図21に示すゲーム画面に連続するゲーム画面の例を示す図である。
【
図22】
図21に示すゲーム画面に連続するゲーム画面の例を示す図である。
【
図23】プレイヤキャラクタをユーザが変更した後でのユーザインターフェース画像の例を示す図である。
【
図24】プレイヤキャラクタ変更用のユーザインターフェース画像を表示させたままスライド操作が入力された場合のゲーム画面の例を示す図である。
【
図25】ゲームプログラムにおいてユーザが操作対象とし得るキャラクタと、ユーザが操作対象とすることができるキャラクタとを管理するためのキャラクタ管理情報のデータ構造を示す図である。
【
図26】ユーザがキャラクタを変更する入力操作によらず、敵キャラクタとの戦闘中に自動的にキャラクタを変更する第1のモードと、第1のモードを停止させる第2のモードとを切り替えるためのユーザインターフェース画像と、オートチェンジによりキャラクタが変更されるゲーム画面とを示す図である。
【
図27】オートチェンジ適用モードにおいて、パーティ編成されるキャラクタのうち、敵キャラクタと戦闘するキャラクタを特定し、特定した結果に応じてキャラクタをタッチスクリーン2に表示させる処理を示すフローチャートである。
【
図28】抽選処理により供出されるゲーム媒体を示すテーブルである。
【
図29】抽選処理において、ユーザの端末のディスプレイ2に表示される画面例を示す。
【
図30】キャラクタのジョブに関連付けられたスキルを表示するための画面例である。
【発明を実施するための形態】
【0015】
以下の説明では、ゲームキャラクタのパラメータの更新を多様化することでゲーム展開をも多様化することを支援する技術について説明する。
まず、(ア)ユーザがゲームキャラクタの入力操作を行ってゲームキャラクタを動作させることを支援するため、タッチスクリーンに所定の情報を表示する態様について説明しているが、ゲームキャラクタの動作内容を示す情報をタッチスクリーンに表示する構成に限られない。また、ユーザの入力操作を受け付ける構成として、タッチスクリーンに対する入力操作を受け付ける例を示しているが、これに限らず、ゲームコントローラ等への入力によりゲームキャラクタを動作させる場合にも、以下の実施形態に示す開示内容を適用することとしてもよい。(イ)続いて、ユーザの入力操作等に応じてキャラクタがアクションを行った結果、キャラクタの各種パラメータを強化することができるゲームプログラムについて説明する。(ウ)これら構成において、さらに、各キャラクタが、ジョブ(職業)という属性と関連付けられる態様について説明する。本実施形態では、各キャラクタの属性が、抽選処理によってユーザに付与される。さらに、キャラクタのジョブを変更した場合に、キャラクタの体力、スキルポイントなどのパラメータはジョブの変更前から引き継ぎつつ、ジョブの変更後は、そのジョブならではの装備アイテムが装備できたり、そのジョブならではのスキルを発動できたりするようになる。ゲームプログラムは、ジョブならではのスキルなど、ジョブと関連付けられたパラメータについては、以下のようにして更新する。例えば、ゲームプログラムは、既にユーザに供出済みのジョブが、抽選により再び供出される場合に、ジョブに関連するパラメータを成長させるための素材アイテムをユーザに付与する、または、再びジョブが供出されたことをもってジョブに関連するパラメータを成長させる。
本開示では、上記(ウ)の構成により、ユーザがキャラクタのジョブを変更することを促しつつ、ジョブ自体に関連するキャラクタのパラメータについては、抽選処理の結果に応じて成長させられる構成としている。これにより、ユーザに対し、次々と新たなジョブを抽選により獲得するように促すことで、さらにゲーム展開の多様化を支援することができる。このように、ゲームプログラムは、キャラクタの性能を表す第1のパラメータについては、ユーザの入力操作に応じてキャラクタに攻撃、回避、ジャンプなどの動作を行わせることで成長させる。ゲームプログラムは、キャラクタの属性であるキャラクタのジョブを、抽選によりユーザに付与する。ゲームプログラムは、キャラクタのジョブに応じた第2のパラメータ(ジョブに特有のスキルなど)を、第1のパラメータの成長方法とは異なる方法で更新する。具体的には、ゲームプログラムは、キャラクタのジョブを付与するための抽選処理を行ったとき、既にユーザが獲得しているジョブを、抽選により供出すると決定した場合(すなわち、ジョブが重複した場合)、ジョブに関連する第2のパラメータを更新するためのアイテムをユーザに付与するか、ジョブに関連する第2のパラメータを更新する。
従来、キャラクタごとに転職を更新することができるものにおいて、転職のたびにパラメータが初期化されるものがある(例えば、レベル1に戻るもの)。また、従来、ユーザの任意の職業の選択によりキャラクタを転職させるものがある。この従来例と比べると、本開示に示すゲームプログラムは、抽選処理によりキャラクタのジョブをユーザに付与するものであるため、ユーザがどの職業を選択するかを迷うことがない。また、本開示に示すゲームプログラムは、基本的なパラメータの成長に加え、ジョブによるキャラクタの成長を楽しむことができる。さらに、ジョブを獲得するための抽選処理によりジョブが重複することでジョブを成長させることができるため、次々と抽選によりジョブを獲得しようとユーザに促すことができる。これにより、キャラクタの成長方法を多様化しつつ、多様化させるようなゲームプレイをユーザに促すことができ、ゲームの興趣性をいっそう向上させることができる。
【0016】
まず、ゲームキャラクタを動作させるための入力操作に応じて、ゲームキャラクタが行っている動作の内容をタッチスクリーンに表示する構成について概要を説明すると、以下の通りである。
【0017】
(1)本開示の一実施形態に係るゲーム方法は、ユーザの入力操作に従って、タッチスクリーンに表示されるキャラクタオブジェクトを制御するゲーム方法であって、
当該ゲーム方法は、
(a)前記入力操作の開始点から前記入力操作の終了点に向けて、前記タッチスクリーン上に操作オブジェクトを表示させるステップと、
(b)前記入力操作に基づいて、前記キャラクタオブジェクトに所定の動作を実行させるステップと、
(c)前記ステップ(b)における前記キャラクタオブジェクトの状態を検出するステップと、
(d)検出された前記キャラクタオブジェクトの前記状態に関連付けられた所定の情報を、前記操作オブジェクトに付随して前記タッチスクリーン上に表示させるステップと、
を含む。
【0018】
上記方法によれば、入力操作に対するフィードバックをユーザへ直感的に与えることができる。
【0019】
(2) 前記操作オブジェクトは、前記開始点と前記終了点との間に表示されるオブジェクトであり、
前記ステップ(a)において、前記操作オブジェクトは、前記基準点側の部分および前記終了点側の部分のいずれか一方が、他方の部分よりも大きい拡大部となるように表示され、
前記ステップ(d)において、前記所定の情報は、前記拡大部の内側に表示されても良い。
【0020】
上記方法によれば、タッチスクリーン上のデッドスペースである操作オブジェクトの拡径部に状態表示情報を表示させることで、スマートフォンのような狭い画面を有効利用することができる。
【0021】
(3)前記ステップ(d)において、前記開始点と前記終了点との位置関係に関わらず、前記タッチスクリーン上における前記所定の情報の表示角度は固定されていても良い。
【0022】
上記方法によれば、操作オブジェクト内に表示された情報の視認性を確保することができる。
【0023】
(4)前記ステップ(b)において、第一の入力操作を行うことで前記キャラクタオブジェクトを第一の状態とし、前記第一の状態において第二の入力操作を行うことで前記所定の動作が実行されても良い。
【0024】
(5)前記ステップ(b)において、第一の入力操作を行うことで前記キャラクタオブジェクトを第一の状態とした後に第二の状態とし、前記第一の状態または前記第二の状態において第二の入力操作を行うことで前記所定の動作が実行されても良い。
【0025】
これらの方法によれば、複数の入力操作が必要な動作(アクション)についても、当該入力操作の成否をユーザに対して分かりやすくフィードバックすることができる。
【0026】
(6)本開示の一実施形態に係るプログラムは、上記(1)から(5)のいずれかに記載のゲーム方法をコンピュータに実行させるためのプログラムである。
【0027】
この構成によれば、入力操作に対するフィードバックをユーザへ直感的に与えることが可能なプログラムを提供することができる。
【0028】
[本開示が示す第1の実施形態の詳細]
以下、本開示が示す実施形態について図面を参照しながら説明する。なお、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
【0029】
本開示の実施の形態によるゲームプログラムは、
図1に示されるように、タッチスクリーン2を備えたユーザ端末1において実行されるものである。ユーザ端末1は、ゲームプログラムを実行することにより、ゲームプログラムに応じたゲームをプレイする環境をユーザに対して提供する。ユーザ端末1は、例えば、アプリ等を配信するプラットフォームを介してゲームプログラムをインストールする。ユーザ端末1は、ユーザ端末1にインストールされたゲームプログラム、または、予めプリインストールされているゲームプログラムを実行することで、ユーザによるゲームのプレイを可能とする。ユーザは、タッチスクリーン2を介してゲーム内のプレイヤキャラクタ(キャラクタオブジェクトの一例)を操作することができる。ユーザ端末1は、例えば、スマートフォン、PDA(Personal Digital Assistant)、タブレット型コンピュータ等の携帯可能な端末であってもよいし、パーソナルコンピュータ、ビデオゲーム機器等であってもよい。
【0030】
なお、ユーザ端末1はネットワークを介してゲーム・サーバと通信を行ってもよい。この場合は、以下の実施形態におけるユーザ端末1に関する様々な機能の全部または一部はゲーム・サーバが担い、例えば、ゲーム・サーバで生成されるゲーム画像をブラウザ等のアプリケーションによりユーザ端末1で表示できるように構成してもよい。さらに、ゲーム・サーバを介して、別のユーザ端末と通信可能な構成とすることもできる。
【0031】
図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に対して何らかの操作があったことを検知する。
【0032】
図3は、本実施形態に係るユーザ端末1の機能ブロック図の一例を示す。
本実施の形態における表示部7および入力部8は上述したタッチスクリーン2に相当する。タッチスクリーン2は、
図3に示されるように、入力部8に相当するタッチセンシング部10と、表示部7に相当するディスプレイ20とを有している。タッチスクリーン2は、ユーザのタッチ操作(タッチスクリーン2における物理的接触操作等)を受け付ける。具体的には、タッチセンシング部10はユーザによるタッチ操作に応じた操作信号を制御部30へ出力する。タッチ操作は、ユーザの指によりなされてもよいし、スタイラス等でもよい。ディスプレイ20は、制御部30から出力される表示信号に基づいてユーザ操作に対応する画像を表示する。ディスプレイ20は、例えばLCD(Liquid Crystal Display)、有機EL(electroluminescence)その他の表示装置によって実現される。
【0033】
制御部30は、タッチセンシング部10が受け付けたユーザからの指示に基づいてゲームプログラムを実行し、ゲーム世界においてプレイヤとして機能するプレイヤキャラクタの動作を制御しつつ、ゲームを進行させる。制御部30は、ゲームプログラムを実行することにより、入力操作受付部32と、キャラクタ操作検出部34と、オブジェクト制御部36と、表示制御部38と、の各機能を発揮する。
【0034】
入力操作受付部32は、タッチスクリーン2の出力に基づいて、ユーザの入力操作を受け付ける。具体的には、入力操作受付部32は、ユーザの指などがタッチセンシング部10に接近したことを、タッチスクリーン2を構成する面の横軸および縦軸からなる座標系の座標として検出する。
【0035】
入力操作受付部32は、タッチスクリーン2に対するユーザの操作を判別する。入力操作受付部32は、例えば、(1)「接近操作」、(2)「リリース操作」、(3)「タップ操作」、(4)「長押し操作(ロングタッチ操作)」、(5)「ドラッグ操作(スワイプ操作)」、その他のユーザの操作を判別する。入力操作受付部32が判別するユーザの操作は、上記に限られない。例えば、タッチセンシング部10が、ユーザがタッチセンシング部10に対して押下する圧力の大きさを検出可能な機構を有する場合、入力操作受付部32は、ユーザが押下した圧力の大きさを判別する。
【0036】
(1)「接近操作」とは、ユーザが指などをタッチスクリーン2に接近させる操作である。タッチスクリーン2は、ユーザの指などが接近したこと(ユーザの指などがタッチスクリーン2に接触したことを含む)をタッチセンシング部10により検出し、検出したタッチスクリーン2の座標に応じた信号を入力操作受付部32へ出力する。制御部30は、タッチスクリーン2へのユーザの指などの接近を検出しない状態から、接近を検出したときに、状態が「タッチオン状態」になったと判別する。
【0037】
(2)「リリース操作」とは、ユーザがタッチスクリーン2を接近操作している状態を止める操作である。制御部30は、例えば、ユーザが指をタッチスクリーン2に接触させている状態から、指を離す操作をしたときに、ユーザの操作を「リリース操作」と判別する。制御部30は、タッチスクリーン2へのユーザの指などの接近を検出している状態から、接近を検出しない状態になったときに、状態が「タッチオン状態」から「タッチオフ状態」になったと判別する。
【0038】
(3)「タップ操作」とは、ユーザがタッチスクリーン2に対して指などを接近させる接近操作をした後に、接近操作をした位置でリリース操作を行うことである。入力操作受付部32は、接近操作が検出されない状態(ユーザの指などがタッチスクリーン2から離れており、タッチセンシング部10がユーザの指などの接近を検出していない状態)から、タッチスクリーン2の出力に基づいて、ユーザの指などが接近したことを検出した場合に、その検出した座標を「初期タッチ位置」として保持する。制御部30は、初期タッチ位置の座標と、リリース操作をした座標とがほぼ同一である場合(接近操作が検出された座標から一定範囲内の座標においてリリース操作の座標が検出された場合)に、ユーザの操作を「タップ操作」と判別する。
【0039】
(4)「長押し操作」とは、ユーザがタッチスクリーン2を押し続ける操作である。制御部30は、ユーザの操作を検出して接近操作を判別してから、接近操作が検出された座標(あるいは当該座標を含む一定領域内)において接近操作が継続している時間が一定時間を超えた場合に、ユーザの操作を「長押し操作」(「長押し操作」を、「ロングタッチ操作」と称することもある)と判別する。
【0040】
(5)「ドラッグ操作」とは、ユーザがタッチスクリーン2に指などを接近させた接近状態を維持したまま、指をスライドさせる操作である。
【0041】
キャラクタ操作検出部34は、タッチスクリーン2に対するユーザの入力操作に基づいて、ゲームに登場するプレイヤキャラクタ(以下、「自キャラクタ」と称することもある)に所定の動作を実行させる入力操作の操作内容を検出する。キャラクタ操作検出部34は、ユーザの入力操作に基づいて、例えば、プレイヤキャラクタを移動させる方向を検出する。すなわち、キャラクタ操作検出部34は、ユーザがプレイヤキャラクタの移動方向を指定する入力操作を受け付ける。
【0042】
具体的には、キャラクタ操作検出部34は、タッチスクリーン2からユーザの指が離れた状態から、ユーザが指をタッチスクリーン2に接近させて、入力操作受付部32がタッチセンシング部10にユーザの指が接近したことを検出した座標を初期タッチ位置として、ユーザがドラッグ操作を行った場合に、初期タッチ位置の座標とタッチスクリーン2の検出結果とに基づいて、プレイヤキャラクタの移動方向を検出する。キャラクタ操作検出部34での具体的な処理については、後述する。
【0043】
オブジェクト制御部36は、ユーザ端末1がゲームプログラムを実行することにより進行されるゲームに登場する各種オブジェクト、および、入力操作受付部32が受け付けたユーザの操作内容に基づいて生成される各種オブジェクト(例えば、GUI(Graphical User Interface)画面)の生成、変形、移動などの処理を制御する。オブジェクト制御部36は、例えば、ユーザがプレイヤキャラクタを移動させるためのタッチスクリーン2に対する入力操作に基づいて、プレイヤキャラクタの移動方向を示す操作オブジェクト40を生成する。操作オブジェクト40の詳細については、後述する。
【0044】
表示制御部38は、キャラクタ操作検出部34およびオブジェクト制御部36での制御に応じて、ディスプレイ20の表示内容を決定し、決定した表示内容に従った画像、テキスト等の各種の情報をディスプレイ20に出力する。例えば、表示制御部38は、プレイヤキャラクタをディスプレイ20の一定領域に表示させた状態で、入力操作受付部32によって受け付けた入力操作に応じて操作オブジェクト40を表示させつつプレイヤキャラクタに所定の動作(例えば、移動やジャンプ動作)を行わせる画面表示を行う。
【0045】
図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の方向)に移動させるよう制御する。
【0046】
なお、タッチスクリーン2の左右方向の端部には、各種のユーザインターフェース画像(UI画像)300が表示される。UI画像300には、例えば、マップを表示するためのUI画像300Aやスキル(ゲーム内で自キャラクタ100により行われる攻撃アクションの一つ)を発動させるためのUI画像300Bが含まれる。
【0047】
1.自キャラクタの動作制御
図5は、キャラクタ操作検出部34が、ユーザの入力操作に応じて自キャラクタ100を移動させる方向を検出する処理を示す図である。キャラクタ操作検出部34は、ユーザがタッチスクリーン2を押していない状態から、指などをタッチセンシング部10に接近させてタッチスクリーン2を押した位置(初期タッチ位置)を起点と設定する。入力操作受付部32は、ユーザの操作をドラッグ操作と判別している場合に、起点となる座標と、タッチスクリーン2がユーザの指などの接近を検出している座標とに基づいて、自キャラクタ100を移動させる方向を検出する。
【0048】
図5の状態(A)は、タッチスクリーン2からユーザの指が離れた状態から、ユーザが指をタッチスクリーン2に接近させた状態を示す。入力操作受付部32は、ユーザの指がタッチスクリーン2に接近したことを検出し、検出した座標を初期タッチ位置としてメモリ(例えば、主記憶4または補助記憶5)に保持する。
【0049】
図5の例では、メモリが保持する初期タッチ位置の座標を、初期タッチ位置座標55として示す。入力操作受付部32は、タッチスクリーン2の検出結果(ユーザの指がタッチスクリーン2に接近している座標、および、ユーザの指がタッチスクリーン2に接近していることを検出していないこと(検出結果「null」))を、一定フレーム分、バッファメモリ53に格納する。バッファメモリ53は、タッチスクリーン2における検出結果を、各フレームについて一定フレーム分(
図5の例では、メモリ領域fp〔0〕~メモリ領域fp〔10〕までの11フレーム分)、格納することができる。バッファメモリ53は、例えばリングバッファとして実現することができる。
【0050】
状態(A)の例では、ユーザがタッチスクリーン2を押した位置を、押下位置50A(タッチスクリーン2の座標(x0,y0))として示す。
【0051】
図5の状態(B)は、ユーザがタッチスクリーン2に対してドラッグ操作を行って、タッチスクリーン2に対する押下位置を、押下位置50Aから押下位置50B(タッチスクリーン2の座標(x9,y9))まで10フレーム(メモリ領域fp〔0〕~メモリ領域fp〔9〕までの10フレーム分)で移動させたことを示す。入力操作受付部32は、タッチスクリーン2の検出結果をバッファメモリ53に格納し、バッファメモリ53に保持される値を参照して、タッチスクリーン2に対するユーザの操作をドラッグ操作と判別する。
【0052】
図5の状態(C)は、ユーザがタッチスクリーン2を押している位置を、押下位置50Bから押下位置50C(タッチスクリーン2の座標(x14,y14))まで、5フレーム(メモリ領域fp〔10〕、fp〔0〕、fp〔1〕、fp〔2〕、fp〔3〕の5フレーム分)で移動させたことを示す。
【0053】
図5の状態(D)は、キャラクタ操作検出部34が、状態(B)および状態(C)のそれぞれにおいて、ユーザが自キャラクタ100を移動させる方向を指定する入力操作の検出結果を示す。キャラクタ操作検出部34は、バッファメモリ53において、タッチスクリーン2が検出する押下位置の座標を書き込む対象となるメモリ領域がいずれであるかを示す情報(バッファメモリ53の書き込み位置)を管理している。
【0054】
状態(B)において、キャラクタ操作検出部34は、入力操作受付部32の判別結果に基づいて、初期タッチ位置を示す座標51A(座標(x0,y0))から座標51B(座標(x9,y9))までユーザがドラッグ操作を行ったことを検出する。キャラクタ操作検出部34は、初期タッチ位置の座標51Aを起点として、座標51Aと座標51Bとによって規定されるベクトル52B((y9-y0)/(x9-x0))を、自キャラクタ100を移動させる方向として検出する。
【0055】
状態(C)において、キャラクタ操作検出部34は、入力操作受付部32の判別結果に基づいて、座標51B(座標(x9,y9))から座標51C(座標(x14,y14))までユーザがドラッグ操作を行ったことを検出する。キャラクタ操作検出部34は、初期タッチ位置の座標51Aを起点として、座標51Aと座標51Cとによって規定されるベクトル52C((y14-y0)/(x14-x0))を、自キャラクタ100を移動させる方向として検出する。
【0056】
2.自キャラクタの動作例
図6に、自キャラクタ100の動作テーブル60(アクション例)を示す。動作テーブル60は、例えば、制御部30(表示制御部38)に記憶されている。
図6に示すように、動作テーブル60には、ユーザの入力操作と、入力操作時の自キャラクタ100の状態とに基づいて自キャラクタ100に実行させる所定のアクションが設定されている。動作テーブル60に例示された例1~8について、以下に詳述する。
【0057】
例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に壁を蹴って上方へジャンプする動作(いわゆる、三角飛び)を実行させる。
【0058】
制御部30は、例えば、ユーザの上スライド操作(第一の入力操作の一例)を受け付けると、動作テーブル60を参照して自キャラクタ100をジャンプさせた状態(第一の状態の一例)とし、ジャンプさせた状態においてユーザの下スライド操作(第二の入力操作の一例)を受け付けると、動作テーブル60を参照して自キャラクタ100に兜割りを実行させる。また、斜めスライド操作を受け付けた場合には、制御部30は、斜め上スライド操作に基づいて動作テーブル60を参照して自キャラクタ100をジャンプ状態(第一の状態)とした後に地面上を移動させる状態(第二の状態の一例)とする。そして、制御部30は、自キャラクタ100をジャンプさせた状態または地面を移動させた状態において所定の入力操作(例えば、下スライド動作)を受け付けると、動作テーブル60を参照して自キャラクタ100に所定の動作(ジャンプ状態の場合には兜割り、移動状態の場合にはしゃがみ込み)を実行させる。
【0059】
3.操作オブジェクトの基本構成
本実施形態に係る操作オブジェクト40(
図4参照)は、ユーザのタッチスクリーン2に対する接近操作が検知されるとタッチスクリーン2に表示される。操作オブジェクト40は、ユーザが自キャラクタ100を移動させる方向を示す弾性状のオブジェクトである。操作オブジェクト40は、
図7の(A)に示すように、指接触時の初期形状として、タッチスクリーン2に接触した位置(例えば、
図5の初期タッチ位置座標51A)である接触開始点に関連付けられた基準位置の周囲に、円形状の基部42を有するように形成される。なお、基準位置は、最初に指がタッチスクリーン2に触れた座標でなくても良く、例えば、最初に指が触れたフレームの数フレーム後のフレームにおいて指が触れていた座標であっても良い。ユーザがタッチスクリーン2上で接触開始点から接触終了点(ここで、接触終了点とは、ユーザの指などがタッチスクリーン2に接触した状態での最終地点を意味する)までドラッグ操作を行うと、
図7の(B)に示すように操作オブジェクト40は、ユーザの指に引っ張られるような弾性変形を伴う。このとき、操作オブジェクト40は、ドラッグ操作の接触開始点に対応して表示される基部(拡大部)42に加えて、ドラッグ操作の接触終了点(注:指はタッチスクリーン2に接触したままの状態である。)付近に位置する先端部44と、基部42と先端部44との間を接続する接続部46とを含むように構成される。このように操作オブジェクト40は、接触開始点から接触終了点に向けて入力されたドラッグ操作の方向に弾性的に延ばされるように形成される。また、ユーザが接触終了点を接触状態に維持しつつタッチスクリーン2上において更に指などを移動させた場合、先端部44もそれに追従して更に移動し操作オブジェクト40の延びる向きも変化する。ユーザによるドラッグ操作が終了した際に(すなわち、タッチスクリーン2上において接触終了点からユーザの指が離れた際に)、弾性変形した操作オブジェクト40が、その復元力に従って、接触開始点に向けて段階的に萎縮して、
図7の(A)に示した初期形状に復元するように表示され、一定時間経過後に非表示となる。なお、
図7の(A)では、接触開始点を中心に円形状の基部42を形成しているが、必ずしもこれに限定されない。例えば、基部42を接触開始点から一定距離だけ上部または下部にずらして形成しても良い。すなわち、操作オブジェクト40の基部42は、接触開始点に関連付けられた所定の位置(基準位置)に対応して表示されていても良い。また、接触開始点に形成した操作オブジェクト40(基部42)をドラッグ操作に応じて変形させずに、接触開始点から接触終了点に向けて、操作オブジェクトの一部を構成する別のオブジェクトを表示させるようにしても良い。
【0060】
4.主要な機能モジュールの説明
図8~
図10を参照して、本実施形態に係るゲームプログラムで実装される主要な機能モジュールとその動作処理について説明する。当該機能モジュールを通じて、操作信号としての入力を処理して、表示信号としての出力を生成することになる。
図8に示す操作オブジェクト制御プログラムモジュール(操作オブジェクト制御PM)80は、タッチスクリーン2(タッチセンシング部10)を通じたユーザの入力操作に基づいて操作オブジェクト40を制御するためのモジュールである。キャラクタ制御プログラムモジュール(キャラクタ制御PM)90は、タッチスクリーン2を通じたユーザの入力操作に応じて仮想空間内の自キャラクタ100の動作を制御して自キャラクタ100を操作するためのモジュールである。操作オブジェクト制御プログラムモジュール80は、入力操作受付プログラムモジュール(入力操作受付PM)82と、操作オブジェクト描画プログラムモジュール(操作オブジェクト描画PM)84とを含む。入力操作受付PM82は、
図3に示す入力操作受付部32としての機能を有し、操作オブジェクト描画PM84は、オブジェクト制御部36および表示制御部38としての機能を有する。キャラクタ制御PM90は、キャラクタ操作検出部34としての機能を有する。
【0061】
タッチスクリーン2上でユーザの指などによる入力操作(例えば、接近操作)が実行されると、入力操作受付PM82は、入力操作を受け付け、受け付けた入力操作に関する情報(入力操作情報)をキャッシュメモリ(例えば、
図5のバッファメモリ53)に格納する(
図9のステップS1)。次に、キャラクタ制御PM90は、入力操作受付PM82から入力操作情報を取得する(ステップS2)。そして、キャラクタ制御PM90は、ゲーム内状況に基づいて、例えば、自キャラクタ100の状態(地面に着地しているか否か、壁などの障害物に接しているか否か、など)に関する情報を取得する(ステップS3)。なお、ここでの「自キャラクタ100の状態」とは、キャラクタの動作に関連する状態(例えば、着地状態か否か)を示し、キャラクタのステータスの異常状態(例えば、毒や石化)などは含まない。
【0062】
次いで、キャラクタ制御PM90は、ステップS2で取得した入力操作情報とステップS3で取得した自キャラクタ100の状態に関する情報(以下、キャラクタ状態情報と称する)に基づいて、
図6の動作テーブル60を参照して自キャラクタ100を制御する(ステップS4)。例えば、ユーザが横スライド操作を行い、かつ、自キャラクタ100が地面に着地している場合には、キャラクタ制御PM90は、横スライド操作情報、および自キャラクタ100が地面に着地状態であるという情報を取得し、これらの情報から動作テーブル60の例2に基づいて、
図10の(A)に示すように自キャラクタ100をドラッグ操作の方向(矢印Cの方向)に移動させる。なお、キャラクタ制御PM90は、自キャラクタ100の制御結果に基づいて、相手キャラクタ200を制御することもできる。例えば、キャラクタ制御PM90は、自キャラクタ100が相手キャラクタ200を攻撃した場合、その攻撃を受けたことを表すアクションを相手キャラクタ200に行わせることができる。
【0063】
次に、操作オブジェクト制御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へ戻り、処理を繰り返す。
【0064】
タッチスクリーン2上において、基部42内に表示される文字情報(「Run」や「Jump」)の表示角度は固定されていることが好ましい。すなわち、
図10の(A),(B)に示すように、操作オブジェクト40の基部42に対する先端部44の角度に関わらず、文字情報が横書きである場合には、文字情報は表示部の下辺と略平行となる向きで表示される。例えば、接触開始点から下向き側にドラッグ操作が入力された場合や、接触開始点を中心にして接触終了点が回転するような入力操作が入力された場合にも、タッチスクリーン2上における文字情報の表示角度はユーザが見易い向きで表示されるため、良好な視認性を確保することができる。
【0065】
図11は、ユーザが自キャラクタ100に兜割りのアクションを実行させようとする場合のゲーム画面例であり、(A)は自キャラクタ100がジャンプしている状態の画面例を示し、(B)は、兜割りの入力操作が成功した場合の画面例を示し、(C)は兜割りの入力操作が失敗した場合の画面例を示している。
兜割り(下方攻撃)は、
図6の動作テーブル60の例5に示すように、自キャラクタ100が地面に着地していない状態(
図11の(A)に示す状態)において下スライド操作がなされた時に実行可能となる。すなわち、制御部30は、ユーザの上スライド操作あるいは斜め上スライド操作に基づいて自キャラクタ100を地面に着地していないジャンプ状態とし、このジャンプ状態においてユーザの下スライド操作の入力を受け付けた場合に、自キャラクタ100に兜割りを実行させる。
【0066】
兜割りの入力操作が成功した場合、すなわちジャンプ状態において下スライド操作が入力された場合には、
図11の(B)に示すように、制御部30は、自キャラクタ100に兜割りを実行させるとともに、操作オブジェクト40の基部42内に兜割りに関する情報(例えば、「Attack」)を表示する。一方、兜割りの入力操作が失敗した場合、例えばドラッグ操作の下方向への角度が足りなかった場合には、
図11の(C)に示すように、制御部30は、自キャラクタ100に兜割りを実行させず、また、操作オブジェクト40の基部42内にはその時点での自キャラクタ100の状態に関する情報(例えば、「Jump」)を表示する。この場合、ユーザは、表示「Jump」を見ることで、ドラッグ操作の下方向への角度が足りなかったことを容易に認識することができる。このように、基部42内に文字情報を表示することで、兜割りのような複数の入力操作が必要な動作についても当該入力操作の成否をユーザに対して分かりやすくフィードバックすることができる。
【0067】
図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が地面に着地してから下スライド操作を行ったために入力操作に失敗したことを容易に認識することができる。
【0068】
以上説明したように、本実施形態によれば、制御部30は、ユーザの入力操作に基づいて、接触開始点から接触終了点に向けてタッチスクリーン2上に操作オブジェクト40を表示させつつ、自キャラクタ100に所定の動作を実行させる。そして、制御部30は、自キャラクタ100の状態を検出し、検出された自キャラクタ100の状態に関連付けられた所定の情報(例えば、上記説明した文字情報)を、タッチスクリーン2上の操作オブジェクト40の基部42内に表示させる。これにより、入力操作に対するフィードバックをユーザへ直感的に与えることが可能となる。
【0069】
自キャラクタ100の状態に関連付けられた文字情報は、操作オブジェクト40の拡大部である基部42内に表示されている。このように、タッチスクリーン2上のデッドスペースである操作オブジェクト40の拡大部に文字情報を表示させることで、スマートフォンのような狭い画面を有効利用することができる。
【0070】
上記の実施形態においては、
図10~12に示すように、操作オブジェクト40の拡大部である基部42の内側に自キャラクタ100の状態に関する文字情報を表示しているが、これに限定されない。
図13に示すように、操作オブジェクト40から吹き出し48のような形で、自キャラクタ100の状態に関する情報(例えば、「Run」)を表示するようにしても良い。すなわち、自キャラクタ100に関する情報は操作オブジェクト40に付随するように表示されていれば良い。
【0071】
また、上記の実施形態においては、
図7等に示すように、基部42を先端部44よりも大きくするように操作オブジェクト40を形成しているが、これに限定されない。
図14の操作オブジェクト140に示すように、先端部144を基部142よりも大きく形成してもよい。この場合、自キャラクタ100の状態に関する情報(例えば、「Run」)は、拡大部である先端部144内に表示される。
【0072】
また、操作オブジェクト40に付随して表示されるキャラクタ状態情報は、文字情報に限られず、図形等のその他の記号であっても良い。
【0073】
5.キャラクタに行動を行わせれば行わせるほど、キャラクタのパラメータが向上していく構成の説明
【0074】
以下、
図15~
図19を参照して、ユーザの入力操作等に応じてキャラクタがアクションを行った結果、キャラクタの各種パラメータを強化することができるゲームプログラムについて説明する。
【0075】
図15は、自キャラクタ100などユーザが操作することが可能なゲームキャラクタのパラメータのデータ構造、および、ユーザの入力操作に応じてゲームキャラクタに各種行動を行わせた履歴とゲームキャラクタが獲得したスキルとの対応関係を含むデータ構造を示す図である。ユーザ端末1は、主記憶4等に、
図15に示すデータ構造のデータを保持し、適宜、データを参照しつつゲームを進行させる。
【0076】
図15の図示例(A)は、自キャラクタ100などユーザが操作することが可能なゲームキャラクタのパラメータのデータ構造を示す。図示例(A)に示すように、自キャラクタ100(例えば、キャラクタ名「H」のパラメータの例とする)の各種パラメータのデータ構造は、項目「グレード」と、項目「項目名」と、項目「基本値」と、項目「装備による補正値」と、項目「スキルによる補正値」と、項目「称号による補正値」とを含む。
【0077】
項目「グレード」は、自キャラクタが獲得可能なスキルの範囲を示す。本実施形態では、グレード「2」の例を示しており、ユーザがゲームプレイに伴って所定のゲーム媒体を入手するなどの所定の条件を満たすことにより、項目「グレード」が更新される。
【0078】
項目「項目名」は、パラメータの名称を示しており、本実施形態では、自キャラクタ100のパラメータの名称として、「体力値(HP:ヒットポイント)」、「スキルポイント(SP)」、「攻撃値」、「防御値」を含む。「体力値(HP:ヒットポイント)」は、自キャラクタ100の体力の値を示す。例えば、「体力値」が尽きた場合は、ゲームオーバーとしてゲームプレイを終了させることがある。「スキルポイント(SP)」は、自キャラクタ100が所定の入力操作(長押し操作等)等に応じて、特殊なモーション(攻撃動作を行うためのモーション、体力を回復させる回復動作を行うためのモーションなどを含む)を発動させる際に消費されるパラメータである。「攻撃値」は、自キャラクタ100が他のキャラクタにダメージを与える量に影響する。「防御値」は、自キャラクタ100が他のキャラクタ等から受けるダメージ量に影響する。
【0079】
項目「基本値」は、装備アイテム等の補正によらない自キャラクタ100自身のパラメータの値を示す。項目「装備による補正値」は、装備アイテム等の、自キャラクタ100と所定のアイテムを関連付けることによるパラメータの補正量を示す。項目「スキルによる補正値」は、自キャラクタ100が獲得しているスキル(スキルの詳細は後述する)によるパラメータの補正量を示す。項目「称号による補正値」は、ゲームプレイに伴ってユーザが獲得する称号オブジェクト(例えば、ゲームプログラムの運営者によって、所定の名称を含む称号がユーザに与えられ、称号を有すること等により、「体力値の上限を増やす」などのゲーム中の効果が発生する。)に従った補正量を示す。
【0080】
図15の図示例(B)は、ユーザの入力操作に応じてゲームキャラクタに各種行動を行わせた履歴とゲームキャラクタが獲得したスキルとの対応関係を示す。
【0081】
図示例(B)に示すように、キャラクタが各種行動を行った行動内容の履歴は、自キャラクタ100のグレードを示す項目「グレード」と、項目「スキル名」と、項目「パラメータ補正の内容」と、項目「経験値」と、項目「レベル」と、項目「経験値獲得条件」とを含む。
【0082】
項目「スキル名」は、自キャラクタ100が獲得可能なスキルの名称を示す。
【0083】
項目「パラメータ補正の内容」は、項目「スキル名」に示されるスキルが、項目「レベル」に達することにより自キャラクタ100に及ぼすパラメータ補正の内容を示す。
【0084】
項目「パラメータ補正の内容」としては、例えば、(i)自キャラクタ100の体力値を補正するもの、(ii)タップ等の入力操作等に応じて自キャラクタ100が攻撃動作を行う場合に、攻撃動作の攻撃力を増加させるもの、(iii)攻撃動作を連続して繰り出せる回数の上限を増加させる(コンボ数を増やす)もの、(iv)自キャラクタ100がゲームフィールドにおいて所定の入力操作に応じてゲームアイテムの採集動作(例えば、ゲームフィールド中の鉱山から石を取得する動作、草花を採集する動作、釣りをする動作など)のアニメーションを行う時間を短縮化するもの、(v)自キャラクタ100のスキルポイントの最大値を増加させるもの、(vi)フリック等の入力操作に応じて自キャラクタ100が回避動作を行う場合に、自キャラクタ100の回避動作の距離、速度等を増加させるもの、(vii)下スライド等の入力操作に応じて自キャラクタ100にしゃがみ動作を行わせつつガードを行わせる場合に、ガード時に敵キャラクタの攻撃から受けるダメージ量を低減させるもの、(viii)上スライド等の入力操作に応じて自キャラクタ100がジャンプ動作を行う場合にジャンプの距離、速度等を増加させるもの、(ix)上スライド等の入力操作に応じて自キャラクタ100がジャンプしている最中にタップ操作、下スライド操作等を受け付けて空中での攻撃動作を行う場合に、その攻撃力や空中での攻撃可能な回数を増加させるもの、(x)自キャラクタ100が、素材アイテムをもとに武器・防具などを合成し、強化させるクラフト動作を行う場合に、そのクラフトにより得られるアイテムの種類、アイテム生成の成功度などを高めるもの、などがある。
【0085】
項目「経験値」は、項目「スキル名」に示されるスキルについて、項目「経験値獲得条件」に示される条件が満たされることにより増加する値と、レベルアップに必要な経験値の値とを示す。
【0086】
項目「レベル」は、項目「スキル名」に示されるスキルについて、ユーザが成長させた度合いを示す。例えば、スキル「体力値アップ」について、レベルが低い場合よりも、レベルが高い場合の方が、パラメータ補正内容が良好となるようにすることができる。これにより、ユーザに対し、スキルのレベルアップをさせるため、項目「経験値獲得条件」に示される動作を自キャラクタ100に行わせるよう動機づけることができる。この結果、ユーザは、自キャラクタ100に対し、
図6等に示すアクションを行わせれば行わせるほど、自キャラクタ100のパラメータを更新することができるので、ゲームプレイを継続して行い、自キャラクタ100の操作に習熟するよう動機づけることができる。また、これらスキルの中には、あるスキルのレベルが一定程度に達することで、スキルの習得が可能になるものが含まれる。すなわち、第1のスキルについてレベルが一定程度に達する(例えば、レベルが最大に達する)ことにより、第2のスキルを獲得可能になる。
【0087】
項目「経験値獲得条件」は、項目「スキル名」に示されるスキルについて経験値を獲得し、レベルを向上させるための条件を示す。このような条件として、例えば、
図6等に示すアクションを自キャラクタ100に行わせるための入力操作を行うことがある。換言すれば、自キャラクタ100にアクションを行わせるための入力操作を行い、このことに起因して自キャラクタ100がアクションを行うことで、各スキルについて経験値を獲得することができる。したがって、ユーザは、
図6等に示す様々なアクションを次々と試そうと動機づけられる。また、スキルによっては、スキル名「体力値アップ」のように、自キャラクタ100がダメージを受けることでパラメータを成長させられるものもある。これにより、移動のためのアクションとともに、敵キャラクタと戦闘を行うためのアクション(回避動作、攻撃動作、ガード動作など)実行のための入力操作をいっそうユーザに促すよう動機づけることができる。
【0088】
図16は、ユーザの入力操作に応じて自キャラクタ100が行動を行うことに起因して、自キャラクタ100がスキルを獲得したことを通知する局面を示す。
【0089】
図16の図示例(A)は、一例として、横スクロールアクションゲーム(MMORPGであってもよい)を示している。図示例(A)において、ユーザが横スライド操作(ドラッグ操作)を継続することにより、自キャラクタ100が移動している局面を示す。ユーザ端末1は、タッチスクリーン2に、UI部品900を表示している。UI部品900は、ユーザのタッチ操作等の入力操作を受け付けて、自キャラクタ100が習得しているスキルの一覧をユーザが確認するための画面へと遷移させるためのアイコンである。
【0090】
図示例(B)は、ユーザが自キャラクタ100を斜めにジャンプさせるための入力操作として、斜め上スライド操作(または、フリック操作でもよい)を行い、自キャラクタ100がジャンプしたことに起因して、自キャラクタ100が新たにスキルを獲得したこと、スキルを成長させたことをユーザに通知する局面を示す。
【0091】
ユーザ端末1は、タッチスクリーン2に、自キャラクタ100が新たにスキルを獲得したことを通知するためのUI部品902を、自キャラクタ100の近傍に一定時間(例えば、数秒)表示させる。これにより、ユーザは、ゲームプレイ中に自キャラクタ100を注視しつつ、ユーザの入力操作により自キャラクタ100にアクションを行わせた結果、新たに自キャラクタ100がスキルを獲得したこと、スキルを成長させたことを容易に認識することができる。ユーザ端末1は、UI部品902が表示されてから一定時間が経過すると、UI部品902の表示を終了する。これにより、ユーザは、スキルを獲得したこと、スキルを成長させたことを認識したうえで、再び自キャラクタ100に注目して自キャラクタ100にアクションを行わせることに集中できる。
【0092】
ユーザ端末1は、タッチスクリーン2に表示されるUI部品900の近傍に、UI部品901を表示させる。UI部品901は、自キャラクタ100が獲得しているスキルにおいてユーザが未確認のものがあること、スキルを成長させた結果をユーザが未確認のものがあることを示すアイコンである。図示例(B)では、ユーザが未確認のスキルの数をUI部品901において示している。ユーザ端末1は、UI部品901を、ユーザが未確認のスキルがなくなるまで表示し続けることとしてもよい。これにより、ユーザは、自キャラクタ100に注目してアクション操作を行い、敵キャラクタとの戦闘を行ったあとで、落ち着いてスキル一覧を確認するといったように、ユーザが自キャラクタ100に行わせたいアクションに集中させつつ、UI部品901を表示することで、ユーザが自キャラクタ100の成長を確認する機会を逸するのを抑止することができる。
【0093】
図17は、自キャラクタ100が獲得可能なスキルと、自キャラクタ100が習得しているスキルとをユーザが確認することができるスキル一覧の画面例を示す。ユーザ端末1は、例えば、UI部品900に対するユーザのタッチ操作を受け付けることにより、
図17に示す画面をタッチスクリーン2に表示させる。
【0094】
図17の図示例(A)は、自キャラクタ100が未だ獲得していないスキルと、自キャラクタ100が既に習得しているスキルとをタッチスクリーン2に表示している局面を示す。図示例(A)に示すように、ユーザ端末1は、タッチスクリーン2において、スタンダードスキルボタン910と、スペシャルスキルボタン911と、第1のスキル群912と、第2のスキル群913とを表示している。スタンダードスキルボタン910とスペシャルスキルボタン911とは、ユーザの入力操作に応じて、タッチスクリーン2に表示するスキルの種別を切り替えるためのアイコンである。図示例(A)では、スタンダードスキルボタン910が有効になっていることをユーザが認識できるよう、スペシャルスキルボタン911と比べてスタンダードスキルボタン910を強調表示している。
【0095】
ユーザがスペシャルスキルボタン911にタッチ操作を行うと、ユーザ端末1は、タッチスクリーン2に表示するスキルの種別を切り替えて、スペシャルスキルボタン911が有効になっていることをユーザが認識できるよう、スタンダードスキルボタン910と比べてスペシャルスキルボタン911を強調表示する。
【0096】
スペシャルスキルボタン911により表示されるスキルの種別としては、例えば、(i)自キャラクタ100が入力操作に応じたアクションによらず習得し成長させることができるもの、(ii)自キャラクタ100についてのエピソードの閲覧を可能とするもの、(iii)過去のゲーム中での自キャラクタ100の会話内容のログの表示を可能とするもの、(iv)戦闘中の画面で、タップ操作等の攻撃動作とは別に、スキルポイントを消費して発動可能な攻撃動作または回復動作などをキャラクタに行わせるもの、などが含まれる。
【0097】
ここで、(i)自キャラクタ100が入力操作に応じたアクションによらず習得し成長させることができるスキルとしては、例えば、ユーザがゲームプレイに伴ってゲーム媒体を獲得することにより、自キャラクタ100が使用可能となるものを含む。例えば、ユーザのゲームプレイに伴って、様々なアイテム、スキル、キャラクタ、ゲーム中の仮想通貨などを供出するゲーム媒体をゲーム中でユーザが入手したとする。ユーザ端末1は、このゲーム媒体からユーザに付与する対象を抽選により決定する。ユーザ端末1は、ゲーム媒体からユーザに付与する対象がスキルであれば、どのスキルを付与するかを抽選で決定する。ゲームプレイ時に、ゲーム媒体からアイテム等を供出するための所定の条件を満たすことで、ユーザに対し、抽選結果に従った付与対象(アイテム、スキル、キャラクタ、ゲーム中の仮想通貨など)を付与する。ここで、ユーザ端末1は、ユーザが自キャラクタ100に攻撃動作を行わせて敵キャラクタを攻撃し、敵キャラクタを撃破した等により、ユーザにゲーム媒体を付与することとしてもよい。
【0098】
第1のスキル群912は、自キャラクタ100が習得可能なスキルのうちグレード「1」に分類されるスキルを含む。第2のスキル群913は、自キャラクタ100が習得可能なスキルのうちグレード2に分類されるスキルを含む。
【0099】
ユーザ端末1は、ユーザのゲームプレイに伴い所定の条件を満たすことにより、自キャラクタ100のグレードを更新する。例えば、所定の条件とは、ユーザが入力操作を行うことで自キャラクタ100にアクションを行わせることで満たすことができるものとしてもよい。例えば、ユーザ端末1は、ユーザの入力操作に応じて自キャラクタ100にアクションを行わせて、敵キャラクタを撃破する等により、アイテム等を供出するゲーム媒体をユーザに付与する。ユーザ端末1は、このゲーム媒体からユーザに付与される対象がキャラクタである場合に、複数のキャラクタのうちいずれのキャラクタをユーザに供出するかを抽選する。抽選の結果、ユーザが獲得していないキャラクタがゲーム媒体から供出される場合は、ユーザが当該キャラクタを操作可能とし、ユーザが既に獲得しているキャラクタがゲーム媒体から供出される場合は、当該キャラクタのグレードを更新する。例えば、ユーザが既にグレード「1」のキャラクタを操作可能な状態で、当該キャラクタがゲーム媒体から供出されると、ユーザ端末1は、当該キャラクタのグレードをグレード「1」からグレード「2」に更新し、当該キャラクタが獲得可能なスキルの範囲を拡大する。
【0100】
このように、当該キャラクタのグレードが更新されるまでは、当該キャラクタのグレードの範囲内でスキルを獲得し、成長させることができるようにすることで、ユーザに対し、キャラクタのグレードを更新するためのゲームプレイを促すことができる。また、ゲームプレイに伴ってユーザが獲得するゲーム媒体からキャラクタ等が供出されることでキャラクタのグレードが更新されることにより、ユーザにとっては、ゲームプレイをすればするほどキャラクタの成長を実感させることができる。例えば、自キャラクタ100が攻撃動作時に連続して繰り出せる技の上限数(コンボ数)が、スキルの成長とともに更新されると、いっそうキャラクタの成長をユーザが実感することができ、ゲームプレイの継続を促すことができる。
【0101】
図示例(A)において、第1のスキル群912と比べて、第2のスキル群913では、ユーザが未だ獲得していないスキルがあることを、ユーザが獲得済みのスキルと区別できるよう表示している。ユーザ端末1は、ユーザが獲得済みのスキルについては、各スキルのアイコンの近傍に、スキルのレベルを示す表示を行っている。一方、ユーザが未だ獲得していないスキルについては、アイコンをグレーアウトさせる、スキルの中身をアイコンから判別できないようにするといった表示態様にすることで、ユーザがこれらスキルを獲得しようと動機づけることができる。
【0102】
図示例(B)は、ユーザが獲得し、または成長させたスキルについて、ユーザが未確認のものがあることを示している。図示例(B)において、ユーザ端末1は、ユーザが未確認のスキルがあることをユーザに通知するためのUI部品915を、スキルのアイコンに重ねてタッチスクリーン2に表示しているが、UI部品915の表示態様はこれに限られない。これにより、ユーザに対し、UI部品915に対する操作を促して、よりいっそう自キャラクタ100の成長をユーザが実感する機会を増やすことができる。
【0103】
図18は、ユーザ端末1が、自キャラクタ100の動作内容に応じて、スキル習得のための各スキルの経験値を更新し、スキルを獲得したこと、スキルを成長させたことをユーザに通知する処理を示すフローチャートである。ユーザ端末1は、プログラムに従って動作することにより、以下の各ステップを実行する。
【0104】
ステップS1801において、ユーザ端末1のCPU3は、自キャラクタ100についてイベントが発生したことを検出する。イベントの内容としては、
図15の図示例(B)の項目「経験値獲得条件」に示されるものを含む。
【0105】
例えば、ユーザが自キャラクタ100にアクションを行わせるための入力操作がタッチスクリーン2に行われたことに応答して、自キャラクタ100に行わせるアクションの内容が決定され、その決定内容に従って自キャラクタ100を動作させる指示をCPU2が行ったことによるイベントを含む。また、イベントの内容としては、自キャラクタ100が、敵キャラクタが行う攻撃モーションの範囲に位置することまたは障害物に衝突すること等の、体力値を減少させるイベントを含む。また、イベントの内容としては、自キャラクタ100がアクションを行った結果、敵キャラクタに攻撃をヒットさせたこと、敵キャラクタにダメージを与えたこと、自キャラクタ100を回復させたこと、自キャラクタ100以外の他のキャラクタを回復させたことなどを含む。
【0106】
ステップS1803において、CPU3は、ステップS1801で発生を検出したイベントの内容を判別する。例えば、イベントの内容が、入力操作に応じて自キャラクタ100を動作させるものであれば、その入力操作に応じて自キャラクタ100が行うアクションの内容(例えば、攻撃動作、採集動作など)を判別する。
【0107】
ステップS1805において、CPU3は、ステップS1803で判別した内容に応じて、各スキルの経験値を更新する。
【0108】
ステップS1807において、CPU3は、ステップS1805の処理により、各スキルについて経験値がレベルアップに必要な水準に達したものがある場合に、当該スキルを獲得したこと、成長させたことについてユーザが未確認であることを示すフラグを設定するとともに、
図16の図示例(B)に示すような態様で、その旨を示す通知をタッチスクリーン2に表示させる。CPU3は、ユーザが未確認であることを示すフラグが設定されたスキルの数をカウントすることで、
図16の図示例(B)のUI部品901において、ユーザが未確認のスキルの数を表示することができる。
【0109】
図19は、ユーザ端末1が、ユーザの入力操作に応じて、自キャラクタ100が習得しているスキル一覧の画面をタッチスクリーン2に提示する処理を示すフローチャートである。ユーザ端末1は、プログラムに従って動作することにより、以下の各ステップを実行する。
【0110】
ステップS1901において、ユーザ端末1のCPU3は、スキル一覧を表示させるためのユーザの入力操作を検出する。例えば、
図16に示すUI部品900へのタッチ操作を検出することで、CPU3は、以下の各ステップを実行する。
【0111】
ステップS1903において、CPU3は、ユーザが新たに獲得したスキル、成長させたスキルにおいて、ユーザが未確認のスキルを、ステップS1807で各スキルに設定されるフラグにより特定する。
【0112】
ステップS1905において、CPU3は、ユーザが未確認のスキルに、ユーザの確認を促すための通知用のアイコンを配置して、タッチスクリーン2に表示する画像を生成する。
【0113】
ステップS1907において、CPU3は、ステップS1905で生成した画像をタッチスクリーン2に表示する。例えば、
図17の図示例(B)のUI部品915が表示されるスキルは、スキルを新たに獲得したこと、スキルを成長させたことについてユーザが未確認のスキルを示している。
【0114】
[本開示が示す第2の実施形態の説明]
以下、本開示が示す第2の実施形態について図面を参照しながら説明する。なお、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。第2の実施形態では、ユーザが複数のキャラクタを編成して、ゲームプレイ中に、操作対象のキャラクタをユーザが切り替えつつ進行させるゲームにおいて、キャラクタを切り替えるための操作について主に説明する。
【0115】
6.UI画像(操作キー)の表示処理の説明
図20~
図24を参照して、本実施形態に係るゲームプログラムにおける操作キーの表示処理について説明する。
【0116】
図20は、第2の実施形態においてプレイヤキャラクタをユーザが変更するためのユーザインターフェース画像の表示処理を示すフローチャートである。
【0117】
図20のステップS11において、制御部30は、ユーザの指などがタッチスクリーン2へ接近したか(接近操作が入力された)否かを、タッチセンシング部10から入力操作受付部32へ出力された信号により判定する。接近操作が入力されたと判定された場合には(ステップS11のYes)、ステップS12において、制御部30は、接触終了点の位置を検出する。そして、ステップS13において、制御部30は、接触終了点が、接近操作が検出された位置(接触開始点)を含む一定領域内に含まれるか否かを判定する。接触終了点が接近開始点を含む一定領域内に含まれていない、すなわち、接触開始点と接触終了点とが一定距離以上離れていると判定された場合には(ステップS13のNo)、ステップS14において、制御部30は、ユーザが自キャラクタ100の操作を要求していると判断し、接触開始点と接触終了点とによって規定されるベクトル(
図5の(D)参照)に基づいて、自キャラクタ100に所定の動作を実行させる。このとき、制御部30は、接触開始点の周囲に
図7に示す操作オブジェクト40の基部42を表示し、接触終了点に基づいて操作オブジェクト40を弾性変形させても良い。その後、ステップS11へと戻り、処理が繰り返される。
【0118】
一方、接触終了点が接近開始点を含む一定領域内に含まれると判定された場合には(ステップS13のYes)、ステップS16において、制御部30は、接近操作が継続している時間が一定時間を超えたか否かを判定する。すなわち、ここでは、制御部30は、ユーザの入力操作が「長押し操作」であるか否かを判定する。ユーザの入力操作が「長押し操作」であると判定された場合には(ステップS16のYes)、ステップS17において、制御部30は、タッチスクリーン2上に所定のUI画像60(
図21参照)を表示する。
【0119】
図21は、
図20に示すフローチャートにおけるゲーム画面の例を示す図である。
図22は、
図21に示すゲーム画面に連続するゲーム画面の例を示す図である。
【0120】
図21に示すように、UI画像60は、ベース部62と、第一の操作キー64(第一の操作オブジェクトの一例)と、第二の操作キー66(第二の操作オブジェクトの一例)とから構成されている。ベース部62の部分には、例えば、略円形状の画像を表示しても良く、特に画像を表示しなくても良い。すなわち、ベース部62は、第一の操作キー64および第二の操作キー66の配置関係を決定するための基準として構成されていれば良い。第一の操作キー64は、第一から第三のアイコン64A~64Cから構成されている。第一のアイコン64Aは、タッチスクリーン2上に現在表示されている(すなわち、ユーザにより選択されている)自キャラクタ100に対応している。第二のアイコン64Bは、ユーザ選択により自キャラクタ100と変更可能なキャラクタ120に対応している。第三のアイコン64Cは、ユーザ選択により自キャラクタ100と変更可能であってキャラクタ120とは異なるキャラクタ130に対応している。第二の操作キー66は、現在選択中のキャラクタのスキルを発動させるための操作キーである。第二の操作キー66への入力操作により発動するスキルは、例えば、
図15の例で説明したスキルポイントを一定量消費して発動する攻撃動作または回復動作などである。このように、スキルポイントを消費して発動する動作であるため、タップ操作等によりキャラクタが行う攻撃動作等と比較して、強力な効果を持つものとしてもよい。
【0121】
第一のアイコン64Aには、現在使用中のキャラクタ(自キャラクタ100)を示す情報(例えば「使用中」)が表示されている。第一のアイコン64Aは、タッチスクリーン2上に現在表示されている自キャラクタ100に対応するアイコンであるため、選択不能な状態で表示されていることが好ましい。すなわち、ユーザが第一のアイコン64A上でリリース操作を行ったとしても、何らのアクションも実行されない。第二のアイコン64Bおよび第三のアイコン64Cには、自キャラクタ100と変更可能なキャラクタ120,130の情報(例えば、キャラクタ120,130の顔)がそれぞれ表示されている。第二の操作キー66には、例えば「スキル」と表示されている。
【0122】
これらの操作キー64,56は、長押し操作がされた接触開始点(すなわち、ベース部62)から左側に所定距離だけ離れてベース部62に対して放射状となるように配列されている。第一の操作キー64(各アイコン64A~64C)および第二の操作キー66は、操作入力が入力された位置であるベース部62に対して、それぞれの配置関係が固定されている。例えば、ベース部62の左側領域において、上から、第二の操作キー66、第一のアイコン64A、第二のアイコン64B、第三のアイコン64Cの順に、タッチスクリーン2の左右方向に対して非対称となるように配置されている。
【0123】
なお、
図21に示す例においては、ユーザが右手の指でタッチスクリーン2を操作するものと仮定して、右手指で操作しやすいように、ベース部62の左側領域に第一の操作キー64および第二の操作キー66を配置しているが、この例に限られない。例えば、左手指で操作する場合には、ユーザの選択操作によりベース部62の右側領域にこれらの操作キーを配置しても良い。この場合も、各操作キー64,66の配置関係は固定されている。すなわち、ユーザの右手による入力操作の場合とユーザの左手による入力操作の場合とで第一の操作キー64(各アイコン64A~64C)および第二の操作キー66の配置が左右対称に切り替え可能であっても良い。このように、ユーザが右手と左手のどちらでタッチスクリーン2を操作するかに応じてベース部62に対して操作キー64,66の配置を左右対称に切り替えることで、操作性をさらに向上させることができる。
【0124】
続いて、ステップS18において、制御部30は、リリース操作が入力されたか否かを判定する。リリース操作が入力されたと判定された場合には(ステップS18のYes)、ステップS19において、制御部30は、リリース操作が入力された位置(タッチオフ位置)が各操作キー64,56の領域に含まれるか否かを判定する。タッチオフ位置が各操作キー64,56の領域に含まれないと判定された場合には(ステップS19のNo)、ステップS20において、制御部30は、ユーザが各操作キー64,56に対応する操作を要求していないと判断し、何らのアクションも実行せずにUI画像60を非表示とする。その後、ステップS11へと戻り、処理が繰り返される。
【0125】
一方、タッチオフ位置が各操作キー64,56の領域に含まれていると判定された場合には(ステップS19のYes)、ステップS21において、制御部30は、選択された操作キーに対応する操作を実行する。例えば、
図22の(A)に示すように、第三のアイコン64C上でリリース操作が入力されたと判定された場合には、
図22の(B)に示すように制御部30は、自キャラクタ100の代わりに第二のアイコン64Cに対応するキャラクタ130をタッチスクリーン2上に表示させるとともに、UI画像60を非表示とする。その後、ステップS11へと戻り、処理が繰り返される。
【0126】
図23は、プレイヤキャラクタをユーザが変更した後でのユーザインターフェース画像の例を示す図である。
【0127】
図23は、タッチスクリーン2上に表示されるキャラクタが、自キャラクタ100から別のキャラクタ130に変更された後で、長押し操作が入力された場合のUI画像60を示している。
この場合、タッチスクリーン2上に現在表示されているキャラクタ130に対応する第三のアイコン64Cには「使用中」と表示され、当該第三のアイコン64Cは選択不能な状態となっている。また、第一のアイコン64Aおよび第二のアイコン64Bには、キャラクタ130と変更可能なキャラクタ100,120の顔がそれぞれ表示されている。このように、キャラクタ変更用のアイコンとして、現在選択されているキャラクタに対応するアイコンも選択不能な状態で表示させることで、各アイコン64A~64Cの配置関係を固定して表示することができる。
【0128】
図24は、プレイヤキャラクタ変更用のユーザインターフェース画像を表示させたままスライド操作が入力された場合のゲーム画面の例を示す図である。
【0129】
図24の(A)および(B)は、長押し操作が入力された状態(UI画像60が表示された状態)から所定方向にスライド(ドラッグ)操作が入力された場合の画面例を示している。
ステップS17において、長押し操作によりUI画像60が表示された状態でドラッグ操作が入力されると、制御部30は、接触開始点から接触終了点までのドラッグ操作が一定速度以下であるか否かを判定する。ドラッグ操作の速度は、例えば、ドラッグ操作の接触開始点から接触終了点までのスライド量とフレーム数に基づいて検出することができる。ドラッグ操作の検出速度が所定の閾値以下の場合には、制御部30は、UI画像60をドラッグ操作に追随させて移動させつつ、キャラクタ100をドラッグ操作に応じて操作する(移動や、ジャンプなど)。例えば、
図24の(A)に示すように、長押し操作によりUI画像60が表示された状態からユーザが矢印Aの方向にドラッグ操作を行うと、制御部30は、UI画像60を表示させたまま、そのドラッグ操作の方向に基づいて、自キャラクタ100に所定の動作を実行させるとともにUI画像60を移動させる。例えば、ドラッグ方向が斜め上方向である場合には、
図24の(B)に示すように、当該ドラッグ方向に基づいて、操作オブジェクト40を弾性変形させながら表示させつつ、キャラクタ100をジャンプさせる。それと同時に、制御部30は、UI画像60を、第一の操作キー64(アイコン64A~64C)および第二の操作キー66の配置関係を維持しながら、ドラッグ方向に応じて移動させる。これにより、キャラクタ100を別のキャラクタに変更できる状態を維持しつつ、現在表示されているキャラクタを操作することができる。このとき、ドラッグ操作の接触終了点には常にUI画像60のベース部62が配置されるため、各操作キー64,66は選択することができない。
【0130】
一方、ドラッグ操作が一定速度よりも速い場合には、制御部30は、UI画像60をドラッグ操作に追随して移動させないようにし、各操作キー64,66を選択可能とする。すなわち、この場合、ユーザは、各操作キー64、66上でリリース操作を行って、各操作キー64,66を選択することができる。このように、ドラッグ操作の速度に応じて、自キャラクタ100の操作と各操作キー64,66の操作とを切り替えることで、操作性の自由度を向上させることができる。
【0131】
以上説明したように、本実施形態によれば、制御部30は、タッチスクリーン2上の任意位置に対するユーザの長押し操作に基づいて、タッチスクリーン2に自キャラクタ100を変更するための第一の操作キー64(UI画像60)を表示させ、ユーザが第一の操作キー64を選択操作することで、タッチスクリーン2に表示されている自キャラクタ100を異なるキャラクタ(例えば、キャラクタ130)へと変更する。これにより、通常時にはタッチスクリーン2に表示された空間内の操作領域や視認可能範囲に影響を与えることなく、ユーザによる長押し操作時のみに自キャラクタ100を変更するためのUI画像60を提供することができる。
【0132】
また、UI画像60は、各アイコン64A~64Cや第二の操作キー66の配置関係が固定されて表示されるため、各操作キー64,66の位置をユーザが記憶することができる。これにより、各キャラクタ100,120,130に対応するアイコン64A~64Cやスキル発動用の操作キー66の位置をユーザが記憶することができるため、ユーザはUI画像60の表示を視認することなくキャラクタの変更やスキル発動を実行することができる。
【0133】
7.ゲームフィールドに登場させる、ユーザの操作対象のキャラクタを、ユーザの切替操作によらず自動で切り替える処理
【0134】
以上のように、ユーザは、各操作キー64、66へ入力操作を行うことにより、操作対象とするキャラクタを変更することができる。ユーザ端末1は、ユーザがゲーム中に変更可能なキャラクタをパーティとして編成してゲーム進行させている場合に、パーティに含まれる各キャラクタを変更するための入力操作に応じて、タッチスクリーン2に表示させるキャラクタを変更する。
【0135】
ここで、第2の実施形態では、ユーザ端末1は、ユーザが操作対象とするキャラクタを変更するための入力操作(各操作キー64等への操作)によらず、ゲーム進行に応じて自動的に切り替える処理を行うことができる。具体的には、ユーザがキャラクタを変更する入力操作によらず、敵キャラクタとの戦闘中に自動的にキャラクタを変更(オートチェンジ)する第1のモード(オートチェンジ適用モード)と、第1のモードを停止させる第2のモード(オートチェンジ停止モード)とを、ユーザが選択することができる。
【0136】
第1のモードにおいて、例えば、ユーザが操作対象とする各キャラクタのパラメータと、敵キャラクタのパラメータとを比較して、パーティ編成に含まれる各キャラクタのうちいずれかのキャラクタを特定し、特定したキャラクタをタッチスクリーン2に表示させることで、ユーザが操作対象とするキャラクタを変更する。ここで、タッチスクリーン2には、多数の敵キャラクタが表示され得るが、ユーザ端末1は、各キャラクタのパラメータと比較する対象となる敵キャラクタを、ユーザが操作対象とするキャラクタが攻撃動作を行うためにロックオンしているキャラクタであるとしてもよい。ロックオンしている状態であると、キャラクタ100が敵キャラクタ200を向いているかいなかにかかわらず、ユーザがタップ操作等によりキャラクタ100に攻撃動作を行わせる場合に、敵キャラクタ200に向けて攻撃動作のためのアクションを行う。ユーザ端末1は、例えば、キャラクタ100に最も近い距離にいる敵キャラクタ200を、キャラクタ100が攻撃対象としてロックオンしたキャラクタとする。
【0137】
第1のモードにおいて、ユーザ端末1は、タッチスクリーン2に表示させるキャラクタを特定するため、例えば、(i)ユーザが操作対象とするキャラクタが攻撃対象とする敵キャラクタに対し、パーティに含まれる各キャラクタの攻撃に関するパラメータに基づいて、変更対象のキャラクタを特定する。ユーザ端末1は、例えば、敵キャラクタに対し、最もダメージ効率がよいキャラクタを、タッチスクリーン2に表示させるキャラクタとして特定する。
【0138】
第1の実施形態で説明したように、ユーザが操作対象とするキャラクタは、ユーザの入力操作に応じて様々な動作を行うことにより、そのパラメータを成長させることができる。ユーザ端末1は、攻撃に関するパラメータに基づいて、敵キャラクタと戦闘するキャラクタを特定する場合、ユーザがパーティ編成したキャラクタの各パラメータの補正内容を参照して、攻撃力の高さ、コンボ数などに基づいて、単位時間あたりに敵キャラクタに与えうるダメージ量が最も高いキャラクタを、タッチスクリーン2に表示させるキャラクタとして特定することもできる。
【0139】
また、ユーザ端末1は、(ii)ユーザが操作対象とするキャラクタが攻撃対象とする敵キャラクタから攻撃を受けたとした場合に、キャラクタが生存する可能性の高低に応じて、タッチスクリーン2に表示させるキャラクタを特定してもよい。ユーザ端末1は、例えば、パーティ編成に含まれるキャラクタのうち、敵キャラクタから攻撃を受けたとしてもキャラクタが受けるダメージが最も小さくなるキャラクタを特定する。
【0140】
また、ユーザ端末1は、(iii)攻撃対象とするキャラクタの移動速度のパラメータと、ユーザがパーティ編成した各キャラクタの移動に関するパラメータ(移動速度、回避動作の速さ、回避動作の距離、ジャンプの速さ、ジャンプの距離など)とに基づいて、攻撃対象とするキャラクタに攻撃を成功させやすそうなキャラクタを、タッチスクリーン2に表示させるキャラクタとして特定してもよい。例えば、敵キャラクタの移動速度が速い場合は、ユーザが操作するキャラクタが片手剣や拳、斧等の攻撃手段であれば、敵キャラクタの移動に追従しやすいキャラクタのほうが攻撃をヒットさせやすい場合があると想定される。ユーザ端末1は、敵キャラクタの移動に関するパラメータと、パーティ編成した各キャラクタの移動に関するパラメータとを比較して、例えば、敵キャラクタの移動速度と同等か、より速いキャラクタを、タッチスクリーン2に表示させるキャラクタとして特定する。
【0141】
図25は、ゲームプログラムにおいてユーザが操作対象とし得るキャラクタと、ユーザが操作対象とすることができるキャラクタとを管理するためのキャラクタ管理情報のデータ構造を示す図である。ユーザ端末1は、主記憶4等に、
図25に示すデータ構造のデータを保持し、適宜、データを参照しつつゲームを進行させる。
【0142】
図25に示すように、キャラクタ管理情報は、項目「キャラクタ識別情報」と、項目「キャラクタ名称」と、項目「キャラクタ属性」と、項目「ユーザの使用可否」と、項目「パーティ編成」と、項目「グレード」とを含む。
【0143】
項目「キャラクタ識別情報」は、ゲームプログラムにおいてユーザが操作対象として獲得し得るキャラクタそれぞれを識別するための情報である。
【0144】
項目「キャラクタ名称」は、各キャラクタの名称を示す。
【0145】
項目「キャラクタ属性」は、各キャラクタに設定される属性を示す。ここで、キャラクタに設定される属性とは、キャラクタが装備可能な装備アイテムの種別を含む。装備アイテムとしては、キャラクタと関連付けることができる武器の種類、防具の種類、アクセサリの種類などがある。各キャラクタに設定される属性として、武器種とは別に設定されるものとして、攻撃や防御の際に参照される別のパラメータを含む。例えば、三すくみのようにタイプごとの相性が設定されているものがある。
図25の例では、例えば、タイプ「水」はタイプ「火」に強く、タイプ「火」はタイプ「土」に強く、タイプ「土」はタイプ「水」に強い、といったような相性が設定されており、これら相性に基づいて、キャラクタとキャラクタとの戦闘におけるダメージ量が補正されることがある。また、例えば、キャラクタによっては、弱点となる属性、攻撃を無効化できる属性が設定されていることもある。例えば、空を飛ぶキャラクタについて、タイプ「土」の攻撃を無効化する(ダメージを受けない)一方、タイプ「風」の攻撃が弱点であるとして、攻撃を受けた時のダメージ量が増加する。
【0146】
ユーザ端末1は、第1のモードにおいて、ユーザが操作対象とするキャラクタが攻撃対象とする敵キャラクタに対し、パーティに含まれる各キャラクタの攻撃に関するパラメータに基づいて、変更対象のキャラクタを特定する場合に、これらキャラクタに設定される属性と、敵キャラクタについて設定される属性とに基づいて、変更対象のキャラクタを特定することとしてもよい。ユーザ端末1は、例えば、パーティに編成される各キャラクタのうち、各キャラクタの基本値、装備による補正値、スキルによる補正値により定まる攻撃値と、各キャラクタが攻撃をする際の最大コンボ数と、各キャラクタの属性と、敵キャラクタの属性とに基づいて、単位時間あたりに敵キャラクタに与えるダメージが最も高いキャラクタを特定することができる。
【0147】
項目「ユーザの使用可否」は、ユーザがゲームプレイにおいて使用可能となったキャラクタか、ユーザが未獲得のキャラクタかを示す。
【0148】
項目「パーティ編成」は、ユーザがゲームプレイ時にパーティとして編成するキャラクタとして組み込まれているか否かを示す。ユーザ端末1は、例えば、3人一組でゲームを進行させることができる場合に、ユーザが使用することができるキャラクタの中から、パーティとして少なくとも一人、最大3名の指定をユーザから受け付けて、受け付けたパーティ編成(デッキと呼ぶこともある)を保存する。
【0149】
項目「グレード」は、第1の実施形態で説明したように、キャラクタが獲得可能なスキルの範囲を示す。
【0150】
図26は、ユーザがキャラクタを変更する入力操作によらず、敵キャラクタとの戦闘中に自動的にキャラクタを変更する第1のモードと、第1のモードを停止させる第2のモードとを切り替えるためのユーザインターフェース画像と、オートチェンジによりキャラクタが変更されるゲーム画面とを示す図である。
【0151】
図26の図示例(A)に示すように、ユーザ端末1は、タッチスクリーン2において、ユーザインターフェース画像において、オートチェンジ可能な第1のモードとするか、第1のモードを切り替えて第2のモードとするかの変更操作をユーザから受け付けるためのUI画像64Eを表示する。
図23で説明したように、ユーザ端末1は、ユーザから長押し操作を受け付けた場合に、UI画像64Eを含むUI画像60をタッチスクリーン2に表示させる。図示例(A)では、ユーザが第1のモードを有効にしていることを、UI画像64Eにおいて「オートキャラチェンジ:ON」として表示しているとともに、UI画像64Eに対するドラッグ操作等により、第1のモードから第2のモードへと切替可能であることを表示している。図示例(A)に示すように、オートチェンジを有効にするか否かのUI画像64Eを、ユーザが操作対象のキャラクタを切り替えるためのUI画像64、操作対象のキャラクタにスキルを発動させるUI画像とは異なる位置に表示することで、ユーザの誤入力を抑止することが望ましい。図示例(A)に示すように、操作対象のキャラクタにスキルを発動させるUI画像、および、操作対象のキャラクタを切り替えるためのUI画像64と、UI画像64Eとが、ユーザが長押し操作を行った箇所に基づき表示されるベース部62に対向するように配置してもよい。
【0152】
図示例(B)と図示例(C)は、オートキャラチェンジが有効な状態で、ユーザが操作対象とする各キャラクタと、敵キャラクタ200とのパラメータを比較して、キャラクタ130からキャラクタ100へと、ユーザの操作対象のキャラクタが変更される局面を示す。図示例(B)において、キャラクタ130と、敵キャラクタ200とが一定距離以内にあるために、キャラクタ130が敵キャラクタ200をロックオンしている状態にあるとする。この状態で、ユーザ端末1は、タッチスクリーンに対するタップ操作を受け付けて、タップ操作が行われたことを示すUI部品260を表示している。このとき、ユーザ端末1は、タップ操作が行われたことにより、キャラクタ130に攻撃動作を行わせるためのイベントが発生したことに応答して、パーティに編成される各キャラクタのパラメータと、敵キャラクタ200のパラメータとを比較して、タッチスクリーン2に表示させてユーザの操作対象とするキャラクタを特定する。図示例(B)の例では、キャラクタ130に代えて、キャラクタ100を、敵キャラクタ200と戦闘させるためのキャラクタとして特定したとする。これにより、ユーザ端末1は、図示例(B)の状態から図示例(C)の状態に画面を遷移させる。
【0153】
図示例(C)に示すように、キャラクタ130からキャラクタ100へとユーザの操作対象のキャラクタが切り替えられる。ユーザ端末1は、例えばキャラクタ130を画面外へと移動させるように表示するとともに、キャラクタ100が画面外から攻撃判定を伴って画面内へと移動させるように表示する。これにより、キャラクタの交代によりタッチスクリーン2に登場するキャラクタ100が、キャラクタ130と交代しつつ敵キャラクタ200に攻撃する。ユーザ端末1は、ユーザが操作対象とするキャラクタが切り替わったことをユーザに知覚させるためのUI画像262を、キャラクタの交代とともに一定時間タッチスクリーン2に表示させる。これにより、ユーザは、ユーザがキャラクタを変更させるための操作を行ったことによらずオートチェンジでキャラクタが変更されたことを認識することが容易となり、変更後のキャラクタの動作に集中することが容易になる。
【0154】
なお、ユーザがUI画像64A、64Bに対して操作をすることにより、ユーザの操作に基づいてキャラクタを変更した場合は、ユーザは既にキャラクタが変わることを認識しているため、キャラクタ変更時にUI画像262を表示しないこととする一方、オートチェンジによりキャラクタが変更された場合にUI画像262を表示することとしてもよい。
【0155】
図27は、オートチェンジ適用モードにおいて、パーティ編成されるキャラクタのうち、敵キャラクタと戦闘するキャラクタを特定し、特定した結果に応じてキャラクタをタッチスクリーン2に表示させる処理を示すフローチャートである。ユーザ端末1は、プログラムに従って動作することにより、以下の各ステップを実行する。
【0156】
ステップS2701において、ユーザ端末1のCPU3は、キャラクタ100について発生したイベントが、攻撃動作を発生させるものであることを検出する。例えば、タッチスクリーン2に対してユーザがタップ操作を行った際に、ユーザ端末1が、ユーザの入力操作がタップ操作であると判別し、タップ操作に対応するアクションが攻撃動作(
図6の例)であることにより、攻撃動作を発生させるためのイベントをキャラクタ100について発生させる。
【0157】
ステップS2703において、CPU3は、キャラクタ100が攻撃対象としてロックオンしている敵キャラクタのパラメータと、パーティ編成中の各キャラクタの攻撃力、属性などダメージ量に影響を与えるパラメータとを比較して、所定時間あたりのダメージ量が最大となるキャラクタを特定する。
【0158】
ステップS2705において、CPU3は、ステップS2703で特定されるキャラクタが、ゲームフィールドにおいて戦闘中のキャラクタ(現にユーザが操作対象として入力操作に応じた動作を行わせているキャラクタ)である場合は当該キャラクタに攻撃動作を行わせる。一方、CPU3は、ステップS2703で特定されるキャラクタが、ゲームフィールドで戦闘中のキャラクタではなくパーティで待機中のキャラクタであれば、戦闘中のキャラクタに代えて、ステップS2703で特定されるキャラクタをタッチスクリーン2に登場させる演出を行って、ユーザが操作対象とするキャラクタを、ステップS2703で特定されたキャラクタに切り替える。
【0159】
以上のように第1の実施形態と第2の実施形態について説明した。第1の実施形態と第2の実施形態とを組み合わせてもよい。
【0160】
ここで、第1の実施形態の説明において、「ここで、(i)自キャラクタ100が入力操作に応じたアクションによらず習得し成長させることができるスキルとしては、例えば、ユーザがゲームプレイに伴ってゲーム媒体を獲得することにより、自キャラクタ100が使用可能となるものを含む。例えば、ユーザのゲームプレイに伴って、様々なアイテム、スキル、キャラクタ、ゲーム中の仮想通貨などを供出するゲーム媒体をゲーム中でユーザが入手したとする。ユーザ端末1は、このゲーム媒体からユーザに付与する対象を抽選により決定する。ユーザ端末1は、ゲーム媒体からユーザに付与する対象がスキルであれば、どのスキルを付与するかを抽選で決定する。ゲームプレイ時に、ゲーム媒体からアイテム等を供出するための所定の条件を満たすことで、ユーザに対し、抽選結果に従った付与対象(アイテム、スキル、キャラクタ、ゲーム中の仮想通貨など)を付与する。ここで、ユーザ端末1は、ユーザが自キャラクタ100に攻撃動作を行わせて敵キャラクタを攻撃し、敵キャラクタを撃破した等により、ユーザにゲーム媒体を付与することとしてもよい。」と記載した。
【0161】
第2の実施形態で説明したように、ユーザが操作対象とするキャラクタが複数であり、各キャラについて固有のスキルを有することがある。上記の例において、ユーザのゲームプレイに伴って、新たにキャラクタのスキル、装備アイテム、装備アイテムを生成するための素材アイテムをユーザに付与する場合に、付与する対象範囲を、パーティ編成中のキャラクタに関連するものとしてもよい。
【0162】
具体的には、ゲーム端末1は、ユーザがパーティ編成をしたうえでゲームフィールドにおいて敵キャラクタと戦闘することによりゲーム媒体を獲得する場合、ゲーム媒体から抽選で付与される対象を、パーティ編成に含まれるキャラクタに関するものに限定したり、パーティ編成に含まれるキャラクタに関連するものが供出される割合を、パーティ編成に含まれないキャラクタに関連するものが供出される割合よりも高めることとしてもよい。ユーザにとっては、パーティ編成に含まれないキャラクタを強化するアイテム、スキル等を獲得しても、現にパーティ編成に含まれるキャラクタの強化にはつながらないが、上記のように構成することにより、ユーザがキャラクタの強化によりゲーム進行が有利になる機会、キャラクタの成長を実感する機会から遠ざけてしまい興趣性を低下させる事態の発生を低減させることができる。例えば、ゲーム媒体から装備アイテム、装備アイテムの素材となる素材アイテムが供出される場合に、パーティ編成に含まれるキャラクタが装備可能なものを優先して供出することとしてもよい。
【0163】
また、ゲーム媒体からキャラクタを供出する場合は、第1の実施形態で説明したように、既にユーザが獲得しているキャラクタが供出される場合は、当該キャラクタのグレードが更新され、ユーザが獲得していないキャラクタが供出されると、ユーザが新たに操作対象のキャラクタとすることができるため、いずれにとってもユーザにとってはゲームの興趣性を高めることとも考えられる。したがって、ゲーム媒体からキャラクタを供出する場合等においては、パーティ編成にどのキャラクタが含まれているかにかかわらず、予め定められた供出割合に従って、キャラクタを供出することとしてもよい。
【0164】
(変形例)
上記の第2の実施形態の例の他に、以下のように構成してもよい。すなわち、オートキャラチェンジが有効であったとしても、一定条件のもとでは、ユーザがキャラクタを変更するための入力操作によらないキャラクタ変更を実行しないこととしてもよい。例えば、
図27のステップS2703において特定されるキャラクタが、敵キャラクタに対してダメージ量を最大化するには適したキャラクタであるとしても、当該キャラクタの体力値が少ない状態である場合などにおいては、当該キャラクタが攻撃を受けて戦闘の続行ができなくなりやすい局面がある。また、スキルポイントが尽きかけているキャラクタであると、スキル発動による強力な攻撃を実行する回数も限られる。
【0165】
したがって、ステップS2703において、パーティに編成されるキャラクタの体力値の残存量、スキルポイントの残存量に基づいて、敵キャラクタと戦闘するキャラクタを特定することとしてもよい。例えば、パーティ編成において、敵キャラクタに与えられる所定時間当たりのダメージ量に基づいて、パーティ編成に含まれる各キャラクタを順位付けし、上位のキャラクタから順に、残存体力が一定以上ない場合は次の順位のキャラクタを優先し、残存体力が一定以上ある場合について、当該キャラクタを、ユーザの操作対象のキャラクタとして特定する。
【0166】
(付記事項1) 以上の実施形態で説明した事項を以下に付記する。
(付記1) 本実施形態によると、ゲームプログラムが提供される。ゲームプログラムは、プロセッサ(3)と、メモリ(4)と、表示部(7)と、ユーザの入力操作を受け付けるための操作部(2)とを備えるコンピュータ(1)において実行されるものである。ゲームプログラムは、プロセッサに、ユーザが操作対象とするゲームキャラクタのキャラクタパラメータを補正する補正内容(
図15の図示例(B)の項目「パラメータの補正内容」)をゲームキャラクタに適用するための条件(
図15の図示例(B)の項目「経験値」の、レベルアップに必要な経験値の値)と、当該条件の達成状況を示す比較用パラメータ(
図15の図示例(B)の項目「経験値」の、項目「経験値獲得条件」に示される条件が満たされることにより増加する値)とを、複数の補正内容それぞれについてメモリに記憶させるステップと、ゲームキャラクタを動作させるために操作部に対してユーザが入力操作を行った結果、ゲームキャラクタについて発生したイベントの内容を特定するステップ(
図6、ステップS1803)と、イベントが発生したことに応答して、当該イベントの内容に関連する補正内容についての比較用パラメータを更新するステップ(ステップS1805)と、各補正内容について比較用パラメータが条件を達成した場合に、当該条件に対応する補正内容をゲームキャラクタに適用することにより、ゲームプレイが有利になるようにゲームキャラクタのキャラクタパラメータを補正するステップ(ステップS1807)とを実行させる。
【0167】
(付記2) (付記1)において、複数の補正内容のうち、ゲームキャラクタに適合させられる補正内容の範囲が設定されており(
図17の図示例(A)に示す第1のスキル群912、第2のスキル群913)、プロセッサに、さらに、ユーザのゲームプレイに伴い、予め定められた拡張条件を満たすことにより(例えば、グレード「1」のキャラクタを操作可能な状態で、当該キャラクタがゲーム媒体から供出されると、ユーザ端末1は、当該キャラクタのグレードをグレード「1」からグレード「2」に更新し、当該キャラクタが獲得可能なスキルの範囲を拡大する)、ゲームキャラクタに適合させられる補正内容の範囲を拡張するよう再設定するステップを実行させる。
【0168】
(付記3) (付記2)において、プロセッサに、さらに、ユーザのゲームプレイに伴い、ユーザに、ゲームプレイ時に使用可能なオブジェクトをユーザが獲得する権利を表すゲーム媒体を付与するステップを実行させ、拡張条件には、ゲーム媒体からオブジェクトを獲得するための入力操作をユーザから受け付けることにより、ゲーム媒体から所定のオブジェクトがユーザに付与されることを含む(例えば、グレード「1」のキャラクタを操作可能な状態で、当該キャラクタがゲーム媒体から供出されると、ユーザ端末1は、当該キャラクタのグレードをグレード「1」からグレード「2」に更新し、当該キャラクタが獲得可能なスキルの範囲を拡大する)。
【0169】
(付記4) (付記1)から(付記3)のいずれかにおいて、複数の補正内容の少なくともいずれかは、ゲームキャラクタが他のゲームキャラクタに作用を及ぼすためのキャラクタパラメータを補正するものを含む(
図15の図示例(B)において、項目「スキル名」の「クリティカル率アップ」、「武器種習熟」に対応する項目「パラメータ補正の内容」など)。
【0170】
(付記5) (付記4)において、複数の補正内容の少なくともいずれかは、ゲームキャラクタが他のゲームキャラクタに作用を及ぼすための入力操作に応じて、ゲームキャラクタに連続して攻撃動作をすることができる回数を増加させるものを含む(
図15の図示例(B)において、項目「スキル名」の「武器種習熟」に対応する項目「パラメータの補正内容」における「最大コンボ数+2」など)。
【0171】
(付記6) (付記1)から(付記5)のいずれかにおいて、複数の補正内容の少なくともいずれかは、ゲームキャラクタが他のゲームキャラクタから作用を及ぼされた場合に減少するキャラクタパラメータに関するものを含む(
図15の図示例(B)において、項目「スキル名」の「ガード時ダメージ低減」に対応する項目「パラメータ補正の内容」など)。
【0172】
(付記7) (付記1)から(付記6)のいずれかにおいて、特定するステップにおいて、発生するイベントは、ユーザの入力操作によりゲームキャラクタにアクションを行わせることを含み、イベントの内容を特定することは、ゲームキャラクタに行わせるアクションの内容を特定することを含む(ステップS1803、
図6、
図15の図示例(B)の項目「経験値獲得条件」における「攻撃により他のキャラクタにダメージを与える」など)。
【0173】
(付記8) (付記1)から(付記7)のいずれかにおいて、特定するステップにおいて、発生するイベントは、ゲームキャラクタが他のオブジェクトから作用を受けることによりゲームキャラクタに発生するものを含む(ステップS1803、
図6、
図15の図示例(B)の項目「経験値獲得条件」における「キャラクタがダメージを受ける」など)。
【0174】
(付記9) (付記1)から(付記8)のいずれかにおいて、各補正内容について比較用パラメータが条件を達成した場合に、条件を達成した補正内容があることを示す通知を表示部により行うステップをさらに実行させる(
図16のUI部品901)。
【0175】
(付記10) (付記9)において、表示部に、ゲームキャラクタに適用可能な補正内容の一覧と、ゲームキャラクタに適用されている補正内容の一覧とを含む一覧画面(
図17)に遷移させるインターフェース画像(
図16のUI部品900)を表示させるステップと、インターフェース画像に対するユーザの入力操作に応答して、一覧画面を表示部に表示させるステップとをさらに実行させ、一覧画面を表示させるステップにおいて、条件を達成したことをユーザが未確認の補正内容と(UI部品915)、確認済みの補正内容とをユーザが区別可能な態様で、一覧画面を表示部に表示させる。
【0176】
[実施の形態3]
次に、上記の実施形態の構成において、各キャラクタが、ジョブ(職業)という属性と関連付けられる態様について説明する。本実施形態では、抽選処理により、各キャラクタのジョブが供出される。キャラクタにジョブを設定すると(例えば、キャラクタ「XXX」を、属性「なし」(特にジョブの設定なし)から、属性「魔法剣士」などとすることができる。このとき、キャラクタ「XXX」がもともと装備できなかった装備品についても、ジョブに関連する装備品については装備可能となる。例えば、キャラクタ「XXX」が、もともと武器「槍」を装備可能であるがその他の種類の武器が装備できないときであっても、ジョブ「魔法剣士」になった場合に、武器「剣」を装備できるようになる。これにより、ジョブのスキルのみならず、装備可能な武器についても多様化することができる。
【0177】
図28は、抽選処理により供出されるゲーム媒体を示すテーブルである。
図28に示すように、テーブルには、供出対象物となるゲーム媒体の名称と、ゲーム媒体の種類名と、ゲーム媒体のレアリティと、ゲーム媒体の供出確率とが対応付けられている。
図28の例で示すように、ゲームプログラムは、供出対象物として、各キャラクタの属性である「ジョブ」と、各キャラクタが装備可能な「装備アイテム」(武器および防具など)とを供出する。例えば、キャラ「XXX」についてのジョブ「魔法剣士」が供出され、当該ゲーム媒体の希少度は「4」と設定される。ユーザの端末またはサーバにおいて、
図28に示すテーブルを保持する。
【0178】
図29は、抽選処理において、ユーザの端末のディスプレイ2に表示される画面例を示す。
図29の例(A)は、抽選を開始するための入力操作をユーザから受け付けるための画面例である。
図29の例(B)は、抽選処理を実行した結果を表示する画面例である。
【0179】
例(A)に示すように、ユーザの端末のタッチスクリーン2に、抽選処理を開始するためのアイコン(アイコン2903、2904、2905、2906)と、抽選処理により供出されるゲーム媒体の一例をユーザに提示するための画像表示部2901および2902とを表示させる。ゲームプログラムは、画像表示部2901において、例えば、抽選によりキャラクタのジョブを供出する場合に、ジョブに関連するキャラクタの名称、画像等を表示する。ゲームプログラムは、画像表示部2902において、抽選によりキャラクタのジョブを供出する場合に、例えば、(i)ジョブの名称、(ii)そのジョブで使用できる装備の種類、(iii)そのジョブで使用することができる特殊なキャラクタ動作(スペシャルスキル)を表示する。
【0180】
アイコン2903は、仮想通貨を使用して、抽選処理を1回実行するための操作を受け付けるためのものである。アイコン2905は、仮想通貨とは異なるアイテムを消費することで、抽選処理を1回実行するための操作を受け付けるためのものである。
【0181】
アイコン2904は、仮想通貨を使用して、抽選処理を複数回実行するための操作を受け付けるためのものである。例えば、仮想通貨を使用して1回の抽選を実行する場合と比べて、一定倍数(例えば、10回)の抽選処理を実行することができる。
【0182】
アイコン2905は、仮想通貨とは異なるアイテムを消費することで、抽選処理を複数回実行するための操作を受け付けるためのものである。
【0183】
例(B)に示すように、ゲームプログラムは、ユーザの端末のタッチスクリーン2に、抽選処理の結果(供出されたゲーム媒体2910-1~2910-11)を表示する。例(B)では、アイコン2904への操作に応答して、11階の抽選処理を実行した結果が表示されている。
【0184】
例(B)では、キャラクタ「XXX」のジョブが、抽選処理によりユーザに付与されている(ゲーム媒体2910-1)。また、過去にユーザが獲得したキャラクタのジョブが、今回の抽選処理によってユーザに付与される場合に、当該ジョブに代えて、どのキャラクタのジョブを強化するのにも使用可能なアイテムであるジョブ強化アイテムがユーザに付与されたことを、ゲーム媒体2910-6により示している。アイコン2907への操作を受け付けた場合、ゲームプログラムは、抽選処理を実行する。
【0185】
図30は、キャラクタのジョブに関連付けられたスキルを表示するための画面例である。
【0186】
図30に示すように、各キャラクタには、ユーザに付与された各キャラクタのジョブを設定することができる。タッチスクリーン2は、あるキャラクタのジョブ「魔法剣士」が発動可能なスキルの一覧を表示している。タッチスクリーン2において、ジョブ「魔法剣士」についてのグレード1のスペシャルスキルを、スキル表示領域3012に示す。タッチスクリーン2において、ジョブ「魔法剣士」についてのグレード2のスペシャルスキルを、スキル表示領域3013に示す。
【0187】
上記の実施形態では、各キャラクタのスタンダードスキル、スペシャルスキルは、各キャラクタにアクションを行わせることで習得されると説明した。ここで、各キャラクタにジョブを設定している場合に、ジョブに特有のスペシャルスキル(アクションを行わせるもの)を習得可能としているが、このジョブに特有のスペシャルスキルを獲得するには、抽選処理によりキャラクタのジョブが重複した場合にユーザに供出されるジョブ強化アイテムを使用する。どのキャラクタのジョブが重複しようとも、共通のジョブ強化アイテムをユーザに付与する。ユーザの端末は、ユーザから、ジョブ強化アイテムを消費するための操作を受け付けて、ユーザが獲得済みのキャラクタのジョブについてのグレードを成長させることができる(例えば、ジョブ強化アイテムを消費して、ジョブ「魔法剣士」のグレードを、グレード「1」からグレード「2」に成長させることができる)
【0188】
図31は、本実施形態に示すフローチャートである。
図31に示す処理は、例えば、ユーザの端末またはサーバのいずれかで実行されるか、または、ユーザの端末において抽選を実行する処理を受けてサーバで抽選処理を実行し、サーバでの抽選処理の結果をユーザの端末で表示する。
【0189】
ステップS3101において、ユーザの端末は、タッチスクリーン2により、ユーザから、抽選開始の操作を受け付ける。
【0190】
ステップS3103において、ユーザの端末は、
図28に示すテーブルを参照して、抽選により供出するゲーム媒体を特定する。ユーザの端末は、供出対象物としてキャラクタの属性を供出すると特定した場合に、既にユーザが獲得しているキャラクタのジョブと重複する場合は、ジョブを強化するためのアイテムをユーザに付与すると決定する。
【0191】
ステップS3105において、ユーザの端末は、抽選処理の結果、ユーザに付与されるゲーム媒体を表示する。
【0192】
以上のように説明したが、本実施形態のゲームプログラムによると、コンピュータに、ユーザが操作対象となる1以上のキャラクタについて、キャラクタに関連付けることが可能な属性(ジョブ)を示す情報をメモリに記憶させる。ゲームプログラムは、コンピュータに、キャラクタの属性(ジョブ)を供出対象とする抽選処理を行わせる。ゲームプログラムは、コンピュータに、抽選処理の結果、既にキャラクタに関連付けることが可能な属性(ジョブ)が供出されることにより(ジョブが重複することにより)、属性(ジョブ)に関連するパラメータを更新するための処理を行う(例えば、ジョブ強化アイテムをユーザに付与する)。
【0193】
ゲームプログラムは、コンピュータのプロセッサに、さらに、操作部(タッチスクリーン2)に対するユーザの入力操作に応答して、キャラクタを動作させるステップと、キャラクタを動作させたことに基づいて、キャラクタの性能を示す第1のパラメータ(上記実施形態のHP、SPなど)を更新するステップとを実行させる。ゲームプログラムは、キャラクタを動作させたことにより第1のパラメータが更新される(HPが増加する、スキルが発現する)一方、キャラクタを動作させた履歴によらず属性(ジョブ)に関連するパラメータを更新するための処理を行う(例えば、ジョブ強化アイテムをユーザに付与する)。
【0194】
ゲームプログラムは、コンピュータのプロセッサに、さらに、キャラクタに関連付けることが可能な属性(ジョブ)のうちからいずれかを指定するためのユーザの入力操作に応答して(キャラクタに設定するジョブをいずれにするかのユーザの操作を受け付けて)、当該キャラクタを、ユーザにより指定された属性(ジョブ)に変更するステップを実行させる。ゲームプログラムは、属性(ジョブ)の指定によりキャラクタの属性(ジョブ)が変更される場合に、いずれの属性(ジョブ)においても第1のパラメータ(HP、SPなど)を適用する。
【0195】
ゲームプログラムは、既にキャラクタに関連付けることが可能な属性(ジョブ)が抽選処理により供出されたことに応答して、第1のアイテム(ジョブ強化アイテム)をユーザに付与するステップと、第1のアイテム(ジョブ強化アイテム)を消費することにより、1以上のキャラクタについて関連付けることが可能な属性(ジョブ)に関連するパラメータを更新する(ジョブのグレードを成長させ、ジョブに応じて獲得できるスペシャルスキルの幅を広げる)ステップとを含む。
【0196】
ゲームプログラムは、既にキャラクタに関連付けることが可能な属性(ジョブ)が抽選処理により供出されたことに応答して、キャラクタの属性(ジョブ)に関連するパラメータを更新する(ジョブのグレードを成長させるなど)。
このように構成すると、よりユーザのゲームプレイの展開が多様になる。
【0197】
上記の実施形態は、本発明の理解を容易にするための例示に過ぎず、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良することができると共に、本発明にはその均等物が含まれることは言うまでもない。
【符号の説明】
【0198】
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:相手キャラクタ