IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

<>
  • -プログラム 図1
  • -プログラム 図2
  • -プログラム 図3
  • -プログラム 図4
  • -プログラム 図5
  • -プログラム 図6
  • -プログラム 図7
  • -プログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-11
(45)【発行日】2024-11-19
(54)【発明の名称】プログラム
(51)【国際特許分類】
   A63F 13/2145 20140101AFI20241112BHJP
   A63F 13/426 20140101ALI20241112BHJP
   A63F 13/55 20140101ALI20241112BHJP
   A63F 13/812 20140101ALI20241112BHJP
   G06F 3/0488 20220101ALI20241112BHJP
【FI】
A63F13/2145
A63F13/426
A63F13/55
A63F13/812 D
G06F3/0488
【請求項の数】 14
(21)【出願番号】P 2019149380
(22)【出願日】2019-08-16
(65)【公開番号】P2021029291
(43)【公開日】2021-03-01
【審査請求日】2022-08-15
【審判番号】
【審判請求日】2023-12-15
【新規性喪失の例外の表示】特許法第30条第2項適用 株式会社コロプラが、2019年4月1日以降に、ウェブサイトにてゲームプログラムに関する情報を公開した。 株式会社コロプラが、2019年4月1日以降に、アプリケーション配信プラットフォームにてゲーム・アプリケーションを公開した。
(73)【特許権者】
【識別番号】509070463
【氏名又は名称】株式会社コロプラ
(74)【代理人】
【識別番号】100142365
【弁理士】
【氏名又は名称】白井 宏紀
(72)【発明者】
【氏名】池田 雄亮
【合議体】
【審判長】藤田 年彦
【審判官】澤田 真治
【審判官】眞壁 隆一
(56)【参考文献】
【文献】特許第6450875(JP,B1)
【文献】特開2017-12423(JP,A)
【文献】米国特許出願公開第2021/0038987(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A63F13/00-13/98
A63F 9/24
G06F3/048-3/04895
(57)【特許請求の範囲】
【請求項1】
コンピュータにおいて実行されるプログラムであって、
ユーザからの第1の入力操作が継続している間に第1パラメータの値を更新するステップと、
前記第1の入力操作を受け付けることにより前記第1パラメータの値が第1の閾値以上に更新されている第1の状態にした後において、ユーザから第2の入力操作を受け付けた後にさらに第3の入力操作を受け付けたことに基づいて、第1の制御を実行するステップとを実行させ、
前記第1の制御を実行するステップは、前記第1の状態ではないときにおいて、前記第2の入力操作および第3の入力操作を受け付けても前記第1の制御を実行し得ず、
前記第2の入力操作は、表示部に表示される第1のアイコンに対する入力操作である、プログラム。
【請求項2】
前記第1の制御を実行するステップは、前記第1の制御として前記プログラムに基づいて規定された空間に配置された第1オブジェクトに第1スキルを発動させる、請求項1に記載のプログラム。
【請求項3】
前記第1の制御を実行するステップは、前記第1の状態において、前記第2の入力操作を受け付けることにより前記第1スキルを発動させることが可能な第1のスタンバイ状態に制御し、当該第1のスタンバイ状態において前記第3の入力操作を受け付けることにより前記第1スキルを発動させる、請求項2に記載のプログラム。
【請求項4】
前記コンピュータに、
前記第1の状態においては、前記第1のアイコンに対する入力操作を前記第2の入力操作として受け付けることにより前記第1のアイコンの表示態様を前記第1のスタンバイ状態である旨を示唆する第1表示態様に遷移させる一方、前記第1パラメータの値が前記第1の閾値未満の状態においては、前記第1のアイコンに対する入力操作が行われても前記第2の入力操作として受け付けることなく前記第1のアイコンの表示態様を前記第1表示態様に遷移させないステップを実行させる、請求項3に記載のプログラム。
【請求項5】
前記第1のアイコンは、当該第1のアイコンに対する入力操作に応じて、前記第1オブジェクトに行わせるアクションの種別を選択するためのアイコンであって、前記第1の状態においては前記第1スキルに対応するアクションの種別を選択可能となるアイコンであり、
前記第1のスタンバイ状態は、アクションの種別として前記第1スキルに対応するアクションの種別を選択している状態であり、
前記表示部には、前記第1のアイコンとは異なる第2のアイコンが表示されており、
前記コンピュータに、
前記第1のスタンバイ状態とは異なり前記第1スキルに対応するアクションとは異なる他のアクションの種別を前記第1のアイコンに対する入力操作に応じて選択している状態において、第4の入力操作を受け付けることにより、当該選択している種別に応じたアクションを前記第1オブジェクトに発動させるステップと、
第1の条件を満たしている第2の状態において、前記第2のアイコンに対する第5の入力操作を受け付けることにより、前記第1スキルとは異なる第2スキルを前記第1オブジェクトに発動させることが可能な第2のスタンバイ状態に制御し、当該第2のスタンバイ状態において第6の入力操作を受け付けることにより前記第2スキルを前記第1オブジェクトに発動させるステップとを実行させる、請求項4に記載のプログラム。
【請求項6】
前記表示部には、前記第1のアイコンとも前記第2のアイコンとも異なる第3のアイコンが表示されており、
前記コンピュータに、
前記第1の条件とは異なる第2の条件を満たしている第3の状態において、前記第3のアイコンに対する第7の入力操作を受け付けることにより、前記第1スキルとも前記第2スキルとも異なる第3スキルを前記第1オブジェクトに発動させることが可能な第3のスタンバイ状態に制御し、当該第3のスタンバイ状態において第8の入力操作を受け付けることにより前記第3スキルを前記第1オブジェクトに発動させるステップを実行させる、請求項5に記載のプログラム。
【請求項7】
前記コンピュータに、
前記第1のスタンバイ状態において、ユーザに不利となる作用を及ぼすステップを実行させる、請求項3~請求項6のいずれかに記載のプログラム。
【請求項8】
前記コンピュータに、
前記ユーザからの入力操作に応じて前記プログラムに基づいて規定された空間に配置された、ユーザにより操作されるキャラクタを移動させるステップを実行させ、
前記及ぼすステップは、前記不利となる作用を及ぼす制御として、前記キャラクタの移動速度を前記第1のスタンバイ状態ではないときよりも遅くする制御を行う、請求項7に記載のプログラム。
【請求項9】
前記第1の入力操作は、前記プログラムに基づいて規定された空間に配置された、ユーザにより操作されるキャラクタを移動させるための入力操作を含み、
前記更新するステップは、前記第1の入力操作が行われているときであって、当該第1の入力操作により前記キャラクタを移動させているときには、当該第1の入力操作により前記キャラクタを移動させていないときよりも前記第1パラメータの値の更新量が少なくなるように、当該第1パラメータの値を更新する、請求項2~請求項8のいずれかに記載のプログラム。
【請求項10】
前記更新するステップは、前記第1の入力操作を受け付けた後においても、当該第1の入力操作に応じて更新した前記第1パラメータの値を保持可能である、請求項2~請求項9のいずれかに記載のプログラム。
【請求項11】
ユーザの入力操作に応じて動作する、前記第1オブジェクトを操作して進行し、1回の進行中において終了条件が複数回成立し得る場合に、前記更新するステップは、一の終了条件が成立するまでの間における前記第1の入力操作に応じて前記第1パラメータの値を更新し、当該一の終了条件が成立したときに前記第1パラメータの値が前記第1の閾値に更新されていないときには当該第1パラメータの値を初期化する一方、前記第1パラメータの値が前記第1の閾値に更新されているときには当該第1パラメータの値として当該第1の閾値に相当する値を以降においても保持する、請求項2~請求項10のいずれかに記載のプログラム。
【請求項12】
前記更新するステップは、
前記一の終了条件が成立するまでの間における前記ユーザからの入力操作に応じて、前記第1パラメータの値が前記第1の閾値に更新された以降においても当該第1パラメータの値を更新し、
当該一の終了条件が成立したときに前記第1パラメータの値が前記第1の閾値を超えているが第2の閾値に更新されていないときには前記第1の閾値を超えた値を初期化して当該第1パラメータの値として前記第1の閾値に相当する値を以降においても保持し、前記第1パラメータの値が前記第2の閾値に更新されているときには当該第1パラメータの値として前記第2の閾値に相当する値を以降においても保持し、
前記第1の制御を実行するステップは、前記第1の状態において前記第2の入力操作および前記第3の入力操作を受け付けることにより、前記第1パラメータの値が前記第1の閾値を超えているが前記第2の閾値に更新されていない状態であるときよりも前記第1パラメータの値が前記第2の閾値に更新されている状態であるときの方が、前記第1スキルとしてユーザにとっての有利度合いが高いスキルを発動させる、請求項11に記載のプログラム。
【請求項13】
前記コンピュータに、
ユーザの入力操作に応じて動作する、前記第1オブジェクトと他ユーザにより操作される他のオブジェクトとの間で対戦する場合に、前記他ユーザの入力操作に基づいて当該他ユーザに関連付けられている第1パラメータの値に応じた情報を報知するステップを実行させる、請求項2~請求項12のいずれかに記載のプログラム。
【請求項14】
ユーザの入力操作に応じて動作する、前記プログラムに基づいて規定された空間に配置された第1オブジェクトと、当該第1オブジェクトとは異なる第2オブジェクトとの位置関係に応じて進行する場合に、前記第1の制御を実行するステップにより前記第1の制御を実行させるための条件には、さらに、前記第3の入力操作が前記第1オブジェクトと前記第2オブジェクトとが所定の位置関係にある状態において受け付けられることを含む、請求項1~請求項13のいずれかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラムに関する。
【背景技術】
【0002】
従来のゲーム装置として、予め定められているチャージ完了時間以上に亘ってタッチ操作が行われた後において、当該タッチ操作の解除後に再度のタッチ操作が行われることにより、通常ショットよりも強力なチャージショットなどの所定の制御を行うものがあった(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【文献】特許6450875号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、従来のゲーム装置においては、チャージ完了後における誤操作により、ユーザが意図していないタイミングで所定の制御が行われてしまう虞があり、改善の余地があった。
【0005】
本発明は、かかる実情に鑑み考え出されたものであり、その目的は、意図せぬタイミングで所定の制御が行われてしまうことを極力防止できる、プログラムを提供することである。
【課題を解決するための手段】
【0006】
本開示に示す一実施形態のある局面によれば、コンピュータにおいて実行されるプログラムであって、ユーザからの第1の入力操作が継続している間に第1パラメータの値を更新するステップと、第1の入力操作を受け付けた後において、ユーザから第2の入力操作を受け付けた後にさらに第3の入力操作を受け付けたことに基づいて、第1の制御を実行するステップとを実行させる。
【発明の効果】
【0007】
本発明によれば、意図せぬタイミングで第1の制御が行われてしまうことを極力防止できる。
【図面の簡単な説明】
【0008】
図1】ゲームシステムのハードウェア構成を示す図である。
図2】サーバの機能的構成を示すブロック図である。
図3】ユーザ端末の機能的構成を示すブロック図である。
図4】ゲームシステムが実現するテニスゲームにおけるゲーム空間の一種である、試合空間の一例を示す図である。
図5】(A)はユーザ端末の表示制御部がタッチスクリーンに表示させる表示画面の一例を示す図であり、(B)はユーザ端末の表示制御部がタッチスクリーンに表示させる表示画面の他の一例を示す図である。
図6】(A)はユーザ端末の表示制御部がタッチスクリーンに表示させる表示画面の一例を示す図であり、(B)はユーザ端末の表示制御部がタッチスクリーンに表示させる表示画面の他の一例を示す図であり、(C)はユーザ端末の表示制御部がタッチスクリーンに表示させる表示画面のその他の一例を示す図であり、(D)はユーザ端末の表示制御部がタッチスクリーンに表示させる表示画面のさらにその他の一例を示す図である。
図7】(A)はユーザ端末の表示制御部がタッチスクリーンに表示させる表示画面の一例を示す図であり、(B)はユーザ端末の表示制御部がタッチスクリーンに表示させる表示画面の他の一例を示す図であり、(C)はユーザ端末の表示制御部がタッチスクリーンに表示させる表示画面のその他の一例を示す図であり、(D)はユーザ端末の表示制御部がタッチスクリーンに表示させる表示画面のさらにその他の一例を示す図である。
図8】ユーザ端末における処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
本開示に係るゲームシステムは、複数のユーザにゲームを提供するためのシステムである。以下、ゲームシステムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
【0010】
<ゲームシステム1のハードウェア構成>
図1は、ゲームシステム1のハードウェア構成を示す図である。ゲームシステム1は図示の通り、複数のユーザ端末100と、サーバ200とを含む。各ユーザ端末100は、サーバ200とネットワーク2を介して接続する。ネットワーク2は、インターネットおよび図示しない無線基地局によって構築される各種移動通信システム等で構成される。この移動通信システムとしては、例えば、所謂3G、4G移動通信システム、LTE(Long Term Evolution)、および所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が挙げられる。
【0011】
サーバ200(コンピュータ、情報処理装置)は、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであってよい。サーバ200は、プロセッサ20と、メモリ21と、ストレージ22と、通信IF23と、入出力IF24とを備える。サーバ200が備えるこれらの構成は、通信バスによって互いに電気的に接続される。
【0012】
ユーザ端末100(コンピュータ、情報処理装置)は、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、またはタブレット型コンピュータ等の携帯端末であってよい。ユーザ端末100は、ゲームプレイに適したゲーム装置であってもよい。ユーザ端末100は図示の通り、プロセッサ10と、メモリ11と、ストレージ12と、通信インターフェース(IF)13と、入出力IF14と、タッチスクリーン15(表示部)と、カメラ17と、測距センサ18とを備える。ユーザ端末100が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、ユーザ端末100は、タッチスクリーン15に代えて、または、加えて、ユーザ端末100本体とは別に構成されたディスプレイ(表示部)を接続可能な入出力IF14を備えていてもよい。
【0013】
また、図1に示すように、ユーザ端末100は、1つ以上のコントローラ1020と通信可能に構成されることとしてもよい。コントローラ1020は、例えば、Bluetooth(登録商標)等の通信規格に従って、ユーザ端末100と通信を確立する。コントローラ1020は、1つ以上のボタン等を有していてもよく、該ボタン等に対するユーザの入力操作に基づく出力値をユーザ端末100へ送信する。また、コントローラ1020は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値をユーザ端末100へ送信する。
【0014】
なお、ユーザ端末100がカメラ17および測距センサ18を備えることに代えて、または、加えて、コントローラ1020がカメラ17および測距センサ18を有していてもよい。
【0015】
ユーザ端末100は、例えばゲーム開始時に、コントローラ1020を使用するユーザに、該ユーザの名前またはログインID等のユーザ識別情報を、該コントローラ1020を介して入力させることが望ましい。これにより、ユーザ端末100は、コントローラ1020とユーザとを紐付けることが可能となり、受信した出力値の送信元(コントローラ1020)に基づいて、該出力値がどのユーザのものであるかを特定することができる。
【0016】
ユーザ端末100が複数のコントローラ1020と通信する場合、各コントローラ1020を各ユーザが把持することで、ネットワーク2を介してサーバ200などの他の装置と通信せずに、該1台のユーザ端末100でマルチプレイを実現することができる。また、各ユーザ端末100が無線LAN(Local Area Network)規格等の無線規格により互いに通信接続する(サーバ200を介さずに通信接続する)ことで、複数台のユーザ端末100によりローカルでマルチプレイを実現することもできる。1台のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、ユーザ端末100は、さらに、サーバ200が備える後述する種々の機能の少なくとも一部を備えていてもよい。また、複数のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、複数のユーザ端末100は、サーバ200が備える後述する種々の機能を分散して備えていてもよい。
【0017】
なお、ローカルで上述のマルチプレイを実現する場合であっても、ユーザ端末100はサーバ200と通信を行ってもよい。例えば、あるゲームにおける成績または勝敗等のプレイ結果を示す情報と、ユーザ識別情報とを対応付けてサーバ200に送信してもよい。
【0018】
また、コントローラ1020は、ユーザ端末100に着脱可能な構成であるとしてもよい。この場合、ユーザ端末100の筐体における少なくともいずれかの面に、コントローラ1020との結合部が設けられていてもよい。該結合部を介して有線によりユーザ端末100とコントローラ1020とが結合している場合は、ユーザ端末100とコントローラ1020とは、有線を介して信号を送受信する。
【0019】
図1に示すように、ユーザ端末100は、外部のメモリカード等の記憶媒体1030の装着を、入出力IF14を介して受け付けてもよい。これにより、ユーザ端末100は、記憶媒体1030に記録されるプログラム及びデータを読み込むことができる。記憶媒体1030に記録されるプログラムは、例えばゲームプログラムである。
【0020】
ユーザ端末100は、サーバ200等の外部の装置と通信することにより取得したゲームプログラムをユーザ端末100のメモリ11に記憶してもよいし、記憶媒体1030から読み込むことにより取得したゲームプログラムをメモリ11に記憶してもよい。
【0021】
以上で説明したとおり、ユーザ端末100は、該ユーザ端末100に対して情報を入力する機構の一例として、通信IF13、入出力IF14、タッチスクリーン15、カメラ17、および、測距センサ18を備える。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
【0022】
例えば、操作部が、カメラ17および測距センサ18の少なくともいずれか一方で構成される場合、該操作部が、ユーザ端末100の近傍の物体1010を検出し、当該物体の検出結果から入力操作を特定する。一例として、物体1010としてのユーザの手、予め定められた形状のマーカーなどが検出され、検出結果として得られた物体1010の色、形状、動き、または、種類などに基づいて入力操作が特定される。より具体的には、ユーザ端末100は、カメラ17の撮影画像からユーザの手が検出された場合、該撮影画像に基づき検出されるジェスチャ(ユーザの手の一連の動き)を、ユーザの入力操作として特定し、受け付ける。なお、撮影画像は静止画であっても動画であってもよい。
【0023】
あるいは、操作部がタッチスクリーン15で構成される場合、ユーザ端末100は、タッチスクリーン15の入力部151に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF13で構成される場合、ユーザ端末100は、コントローラ1020から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF14で構成される場合、該入出力IF14と接続されるコントローラ1020とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
【0024】
<各装置のハードウェア構成要素>
プロセッサ10は、ユーザ端末100全体の動作を制御する。プロセッサ20は、サーバ200全体の動作を制御する。プロセッサ10および20は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、およびGPU(Graphics Processing Unit)を含む。
【0025】
プロセッサ10は後述するストレージ12からプログラムを読み出し、後述するメモリ11に展開する。プロセッサ20は後述するストレージ22からプログラムを読み出し、後述するメモリ21に展開する。プロセッサ10およびプロセッサ20は展開したプログラムを実行する。
【0026】
メモリ11および21は主記憶装置である。メモリ11および21は、ROM(Read Only Memory)およびRAM(Random Access Memory)等の記憶装置で構成される。メモリ11は、プロセッサ10が後述するストレージ12から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ10に作業領域を提供する。メモリ11は、プロセッサ10がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ21は、プロセッサ20が後述するストレージ22から読み出した各種プログラムおよびデータを一時的に記憶することにより、プロセッサ20に作業領域を提供する。メモリ21は、プロセッサ20がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
【0027】
本実施形態においてプログラムとは、ゲームをユーザ端末100により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末100とサーバ200との協働により実現するためのゲームプログラムであってもよい。なお、ユーザ端末100とサーバ200との協働により実現されるゲームは、一例として、ユーザ端末100において起動されたブラウザ上で実行されるゲームであってもよい。あるいは、該プログラムは、該ゲームを複数のユーザ端末100の協働により実現するためのゲームプログラムであってもよい。また、各種データとは、ユーザ情報およびゲーム情報などのゲームに関するデータ、ならびに、ユーザ端末100とサーバ200との間または複数のユーザ端末100間で送受信する指示または通知を含んでいる。
【0028】
ストレージ12および22は補助記憶装置である。ストレージ12および22は、フラッシュメモリまたはHDD(Hard Disk Drive)等の記憶装置で構成される。ストレージ12およびストレージ22には、ゲームに関する各種データが格納される。
【0029】
通信IF13は、ユーザ端末100における各種データの送受信を制御する。通信IF23は、サーバ200における各種データの送受信を制御する。通信IF13および23は例えば、無線LAN(Local Area Network)を介する通信、有線LAN、無線LAN、または携帯電話回線網を介したインターネット通信、ならびに近距離無線通信等を用いた通信を制御する。
【0030】
入出力IF14は、ユーザ端末100がデータの入力を受け付けるためのインターフェースであり、またユーザ端末100がデータを出力するためのインターフェースである。
入出力IF14は、USB(Universal Serial Bus)等を介してデータの入出力を行ってもよい。入出力IF14は、例えば、ユーザ端末100の物理ボタン、カメラ、マイク、または、スピーカ等を含み得る。サーバ200の入出力IF24は、サーバ200がデータの入力を受け付けるためのインターフェースであり、またサーバ200がデータを出力するためのインターフェースである。入出力IF24は、例えば、マウスまたはキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。
【0031】
ユーザ端末100のタッチスクリーン15は、入力部151と表示部152とを組み合わせた電子部品である。入力部151は、例えばタッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部152は、例えば液晶ディスプレイ、または有機EL(Electro-Luminescence)ディスプレイ等によって構成される。
【0032】
入力部151は、入力面に対しユーザの操作(主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作)が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部151は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
【0033】
図示していないが、ユーザ端末100は、該ユーザ端末100の保持姿勢を特定するための1以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、または、角速度センサ等であってもよい。ユーザ端末100がセンサを備えている場合、プロセッサ10は、センサの出力からユーザ端末100の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ10は、ユーザ端末100が縦向きに保持されているときには、縦長の画像を表示部152に表示させる縦画面表示としてもよい。一方、ユーザ端末100が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ10は、ユーザ端末100の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
【0034】
カメラ17は、イメージセンサ等を含み、レンズから入射する入射光を電気信号に変換することで撮影画像を生成する。
【0035】
測距センサ18は、測定対象物までの距離を測定するセンサである。測距センサ18は、例えば、パルス変換した光を発する光源と、光を受ける受光素子とを含む。測距センサ18は、光源からの発光タイミングと、該光源から発せられた光が測定対象物にあたって反射されて生じる反射光の受光タイミングとにより、測定対象物までの距離を測定する。測距センサ18は、指向性を有する光を発する光源を有することとしてもよい。
【0036】
ここで、ユーザ端末100が、カメラ17と測距センサ18とを用いて、ユーザ端末100の近傍の物体1010を検出した検出結果を、ユーザの入力操作として受け付ける例をさらに説明する。カメラ17および測距センサ18は、例えば、ユーザ端末100の筐体の側面に設けられてもよい。カメラ17の近傍に測距センサ18が設けられてもよい。カメラ17としては、例えば赤外線カメラを用いることができる。この場合、赤外線を照射する照明装置および可視光を遮断するフィルタ等が、カメラ17に設けられてもよい。これにより、屋外か屋内かにかかわらず、カメラ17の撮影画像に基づく物体の検出精度をいっそう向上させることができる。
【0037】
プロセッサ10は、カメラ17の撮影画像に対して、例えば以下の(1)~(5)に示す処理のうち1つ以上の処理を行ってもよい。(1)プロセッサ10は、カメラ17の撮影画像に対し画像認識処理を行うことで、該撮影画像にユーザの手が含まれているか否かを特定する。プロセッサ10は、上述の画像認識処理において採用する解析技術として、例えばパターンマッチング等の技術を用いてよい。(2)また、プロセッサ10は、ユーザの手の形状から、ユーザのジェスチャを検出する。プロセッサ10は、例えば、撮影画像から検出されるユーザの手の形状から、ユーザの指の本数(伸びている指の本数)を特定する。プロセッサ10はさらに、特定した指の本数から、ユーザが行ったジェスチャを特定する。例えば、プロセッサ10は、指の本数が5本である場合、ユーザが「パー」のジェスチャを行ったと判定する。また、プロセッサ10は、指の本数が0本である(指が検出されなかった)場合、ユーザが「グー」のジェスチャを行ったと判定する。また、プロセッサ10は、指の本数が2本である場合、ユーザが「チョキ」のジェスチャを行ったと判定する。(3)プロセッサ10は、カメラ17の撮影画像に対し、画像認識処理を行うことにより、ユーザの指が人差し指のみ立てた状態であるか、ユーザの指がはじくような動きをしたかを検出する。(4)プロセッサ10は、カメラ17の撮影画像の画像認識結果、および、測距センサ18の出力値等の少なくともいずれか1つに基づいて、ユーザ端末100の近傍の物体1010(ユーザの手など)とユーザ端末100との距離を検出する。例えば、プロセッサ10は、カメラ17の撮影画像から特定されるユーザの手の形状の大小により、ユーザの手がユーザ端末100の近傍(例えば所定値未満の距離)にあるのか、遠く(例えば所定値以上の距離)にあるのかを検出する。なお、撮影画像が動画の場合、プロセッサ10は、ユーザの手がユーザ端末100に接近しているのか遠ざかっているのかを検出してもよい。(5)カメラ17の撮影画像の画像認識結果等に基づいて、ユーザの手が検出されている状態で、ユーザ端末100とユーザの手との距離が変化していることが判明した場合、プロセッサ10は、ユーザが手をカメラ17の撮影方向において振っていると認識する。カメラ17の撮影範囲よりも指向性が強い測距センサ18において、物体が検出されたりされなかったりする場合に、プロセッサ10は、ユーザが手をカメラの撮影方向に直交する方向に振っていると認識する。
【0038】
このように、プロセッサ10は、カメラ17の撮影画像に対する画像認識により、ユーザが手を握りこんでいるか否か(「グー」のジェスチャであるか、それ以外のジェスチャ(例えば「パー」)であるか)を検出する。また、プロセッサ10は、ユーザの手の形状とともに、ユーザがこの手をどのように移動させているかを検出する。また、プロセッサ10は、ユーザがこの手をユーザ端末100に対して接近させているのか遠ざけているのかを検出する。このような操作は、例えば、マウスまたはタッチパネルなどのポインティングデバイスを用いた操作に対応させることができる。ユーザ端末100は、例えば、ユーザの手の移動に応じて、タッチスクリーン15においてポインタを移動させ、ユーザのジェスチャ「グー」を検出する。この場合、ユーザ端末100は、ユーザが選択操作を継続中であると認識する。選択操作の継続とは、例えば、マウスがクリックされて押し込まれた状態が維持されること、または、タッチパネルに対してタッチダウン操作がなされた後タッチされた状態が維持されることに対応する。また、ユーザ端末100は、ユーザのジェスチャ「グー」が検出されている状態で、さらにユーザが手を移動させると、このような一連のジェスチャを、スワイプ操作(またはドラッグ操作)に対応する操作として認識することもできる。また、ユーザ端末100は、カメラ17の撮影画像によるユーザの手の検出結果に基づいて、ユーザが指をはじくようなジェスチャを検出した場合に、当該ジェスチャを、マウスのクリックまたはタッチパネルへのタップ操作に対応する操作として認識してもよい。
【0039】
<ゲームシステム1の機能的構成>
(サーバ200の機能的構成)
図2は、サーバ200の機能的構成を示すブロック図である。サーバ200は、ゲームを実現するために必要な各種データおよびプログラムを、各ユーザ端末100に提供する機能を有する。サーバ200は、各ユーザ端末100からゲームに関するデータを収集し管理する機能を有する。サーバ200は、複数のユーザ端末100間の同期処理を行う機能を有する。
【0040】
なお、本実施形態では、サーバ200は事前に登録されたゲームのアカウントで各ユーザおよびユーザ端末100を識別する。アカウントの登録方法は特に限定されない。例えば、ユーザ端末100またはパーソナルコンピュータ等の他の装置が、ユーザの操作に従って、ユーザのアカウントの登録に必要な情報をサーバ200に送信すればよい。そして、サーバ200は、受信した情報に基づいて各ユーザのアカウントを作成および保存すればよい。
【0041】
ユーザ端末100がいずれかのアカウントを用いてゲームシステム1のネットワーク2にログインすると、サーバ200はログインしたユーザ端末100を認識する。なお、ログインの方法およびログインに係る処理については特に限定しない。サーバ200およびユーザ端末100は、従来知られたログインの方法およびログインに係る各種処理を行えばよい。
【0042】
サーバ200は、プロセッサ20、メモリ21、ストレージ22、通信IF23、入出力IF24等の協働によって、制御部210および記憶部220として機能する。
【0043】
記憶部220は、制御部210が使用する各種データを格納する。記憶部220はゲームプログラム221と、ゲーム情報222と、ユーザ情報223とを格納している。
【0044】
ゲームプログラム221は、ゲームを実現するためのプログラムである。ゲーム情報222およびユーザ情報223は、ゲームプログラム221が実行されるときに参照されるデータである。
【0045】
なお、ゲームプログラム221は、サーバ200側で実行するゲームプログラムに加えて、ユーザ端末100に送信しユーザ端末100側で実行するプログラム(後述するゲームプログラム121)を含んでいてもよい。もしくは、記憶部220は、サーバ200側で実行するゲームプログラム221と、ユーザ端末側で実行するプログラムとの両方を格納していてもよい。
【0046】
ゲーム情報222は、アカウント間で共通の情報である。ゲーム情報222は、例えば各種ゲーム空間を規定するための情報を含み得る。「ゲーム空間」とは、ユーザが操作可能な操作キャラクタのオブジェクトが配置される空間である。ゲーム情報222は、ゲーム空間内に配置される木・岩・建物等の背景オブジェクトやノンプレイヤキャラクタ(non player character:NPC)のオブジェクトの配置位置、大きさ、色、形状等、アカウント間で共通のオブジェクトに関する各種設定情報を含み得る。ゲーム情報222は、ノンプレイヤキャラクタの各種パラメータの設定値を含み得る。ゲーム情報222はクエストに係る情報を含み得る。ゲーム情報222は、ゲーム空間内において行われる抽選の当選確率に関する情報を含み得る。クエストとは、達成条件が設定されたゲーム内のイベントである。クエスト毎に、達成条件が設定されていてもよい。なお、クエストには達成条件に加え失敗条件が設定されていてもよい。また、以下では、ゲーム空間に配置されたキャラクタのオブジェクトを指して、単に「キャラクタ」と呼称する場合がある。
【0047】
ユーザ情報223は、ゲームのアカウント毎に管理される情報である。ユーザ情報223は例えば、操作可能なキャラクタ(以下、操作キャラクタと称する)に関する情報、保有資産に関する情報、およびゲームの進行度合いを示す情報等を含み得る。ここで、保有資産の例としては、例えばゲーム内通貨、アイテム、キャラクタの装備品などが挙げられる。
【0048】
制御部210は、記憶部220に格納されたゲームプログラム221を実行することにより、ゲームに関する各種処理を制御する。制御部210は、ゲームプログラム221を実行することにより、送受信部211、データ管理部213、およびサーバ処理部212として機能する。
【0049】
送受信部211は各種データを送受信する。例えば、送受信部211は、ユーザ端末100からの各種データおよびプログラムの送信要求や、マルチプレイ機能に対応するための同期の要求および同期のためのデータ等を受信し、サーバ処理部212に送る。例えば、送受信部211は、サーバ処理部212からの指示に従って、ユーザ端末100に各種データおよびプログラムを送信する。
【0050】
本実施形態において「マルチプレイ機能」とは、複数のアカウントにおけるゲームの進行を同期させた状態でゲームを進行させる機能である。ゲームシステム1のサーバ200およびユーザ端末100は、ゲームシステム1にログインしているアカウントが複数存在する場合には、マルチプレイ機能に対応するための各種処理を行う。
【0051】
サーバ処理部212は、ゲーム進行に係る各種判定処理を行う。サーバ処理部212は、ゲームを提供するために必要な演算処理を行う。サーバ処理部212は、ユーザ端末100からの要求等に応じて、ゲームプログラム221に記述された演算処理を実行する。
【0052】
例えば、サーバ処理部212は、データ管理部213にゲーム情報222またはユーザ情報223のレコードの追加、更新、または削除を指示する。例えば、サーバ処理部212は送受信部211に各種データまたはプログラムの送信を指示する。例えば、サーバ処理部212は、送受信部211を介しユーザ端末100からマルチプレイ機能に対応するための同期の要求および同期のためのデータを受け取ると、同期処理部214にマルチプレイ機能に対応するための同期処理を行うよう指示する。
【0053】
データ管理部213は、記憶部220に格納されている各種データをサーバ処理部212の指示に従って管理する。例えば、データ管理部213は、サーバ処理部212からの指示に応じてゲーム情報222またはユーザ情報223のレコードを、追加、更新、または削除する。
【0054】
例えば、データ管理部213は、サーバ処理部212からの指示に従って、ゲーム情報222およびユーザ情報223の少なくとも一方を記憶部220から読み出し、送受信部211を介しユーザ端末100に送信する。
【0055】
例えば、データ管理部213は、サーバ処理部212からの指示に従って、ゲームプログラム221のうち、ユーザ端末100側で実行する分のプログラムを記憶部220から読み出し、送受信部211を介しユーザ端末100に送信する。
【0056】
同期処理部214は、サーバ処理部212の指示に従って、ゲームのマルチプレイ機能に対応するための同期処理を行う。同期処理部214は、各アカウントに対応するユーザ端末100から受信する何らかの情報を、他のユーザ端末100に送信することでユーザ端末間の同期を行う。同期処理部214はサーバ200から複数のユーザ端末100に何らかの情報を送信する場合も、各ユーザ端末100に同期して情報を送信する。なお、同期処理部214は、同期のタイミングや同期すべき情報等をサーバ処理部212から受信すればよい。これにより、例えばあるユーザ端末100において行われた入力操作によって引き起こされるゲーム内の作用が、他のユーザ端末100において同期されて示される。
【0057】
(ユーザ端末100の機能的構成)
図3は、ユーザ端末100の機能的構成を示すブロック図である。ユーザ端末100は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能する。
【0058】
記憶部120は、ゲームプログラム121と、ゲーム情報122と、ユーザ情報123とを格納する。ゲームプログラム121は、ユーザ端末100側で実行するゲームプログラムである。ゲーム情報122は、制御部110がゲームプログラム121を実行する際に参照するデータであって、サーバ200のゲーム情報222と同様の情報を含んでいる。ユーザ情報123は、ユーザ端末100のユーザのアカウントに関するデータであって、サーバ200のユーザ情報223と同様の情報を含んでいる。
【0059】
制御部110は、記憶部120に格納されたゲームプログラム121を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲーム情報122に記憶された、ゲーム空間を規定するための情報を参照してゲーム空間を規定する。制御部110は、各種データを送受信する。例えば、制御部110はサーバ200から各種データ、プログラム、およびマルチプレイ機能に対応するための同期のためのデータ等を受信する。例えば、制御部110は、ゲーム情報122またはユーザ情報123の一部または全部や、マルチプレイ機能に対応するための同期の要求をサーバ200に送信する。
【0060】
制御部110は、ゲームプログラム121の記述に応じて、ゲーム進行処理部111、入力操作受付部112、カメラ配置制御部113、表示制御部114、およびオブジェクト制御部115として機能する。
【0061】
入力操作受付部112は、入力部151に対するユーザの入力操作を検知し受け付ける。入力操作受付部112は、タッチスクリーン15およびその他の入出力IF14を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部110の各要素に出力する。
【0062】
例えば、入力操作受付部112は、入力部151に対する入力操作がなされた場合、入力位置の座標および操作の種類を検知する。例えば、入力操作受付部112は、タッチ操作、スライド操作、スワイプ操作、およびタップ操作等を検知する。入力操作受付部112は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。
【0063】
ゲーム進行処理部111は、ゲームの進行に係る各種処理を行う。例えば、ゲーム進行処理部111は、入力操作受付部112が受け付けた入力操作の入力位置の座標と操作の種類とから示されるユーザの指示内容を解釈する。例えば、ゲーム進行処理部111は、ゲーム情報122またはユーザ情報123の追加、更新、または削除を行う。例えば、ゲーム進行処理部111は、ゲームの進行に係る各種判定処理を行う。
【0064】
カメラ配置制御部113は、ゲーム空間のうちユーザに提示する領域を指定するための仮想カメラを規定する。カメラ配置制御部113は、仮想カメラのゲーム空間内での位置および向きを規定することにより、仮想カメラをゲーム空間に仮想的に配置する。さらに、カメラ配置制御部113は、仮想カメラで規定される視野領域および当該視野領域に配置されているオブジェクトを描画した画像を作成するよう、表示制御部114に指示する。
【0065】
なお、カメラ配置制御部113は、仮想カメラの位置および向きを、ゲーム空間毎に適宜決定してよい。例えば、カメラ配置制御部113は特定のオブジェクトの位置や向きを基準として、当該オブジェクトが特定の向きで視野領域の中央に写るように、当該オブジェクトから一定の方向、距離、および角度で仮想カメラを配置してもよい。特定のオブジェクトとは、例えばユーザ端末100で操作キャラクタのオブジェクトであってもよいし、ノンプレイヤキャラクタ等他のキャラクタを示す動的なオブジェクトであってもよいし、建物や木、石などを示す静的なオブジェクトであってもよい。ここで、ゲーム空間における動的なオブジェクトには、ゲームプログラム121および221に基づいて動作するキャラクタ(例えば、ノンプレイヤキャラクタ、敵キャラクタなど)とユーザによる操作に基づいて動作する操作キャラクタとが含まれる。
【0066】
表示制御部114は、表示部152に画像を表示させる。例えば、表示制御部114は、ゲーム空間のうち、カメラ配置制御部113が規定する仮想カメラの視野の領域と、当該領域に存在するオブジェクトとを描画した画像を生成し、表示部152に表示させる。さらに、表示制御部114は、このような画像に、アイコン、ボタン、各種パラメータを示すメニュー等、ゲームの種々の操作に必要なUI(user interface)に係るオブジェクトを重畳して描画してもよい。
【0067】
オブジェクト制御部115は、ゲーム情報122に含まれる、オブジェクトの設定情報に基づきゲーム空間にオブジェクトを配置する。オブジェクト制御部115は、ゲーム空間に配置したオブジェクトを制御する。例えば、オブジェクト制御部115は、オブジェクトのゲーム空間内での位置、向き、形状、色等を変更したり、オブジェクトに所定の一連の動作を行わせたりする。
【0068】
なお、ゲームシステム1は、ユーザ端末100が備える機能の少なくとも一部をサーバ200が備えるように構成されていてもよい。ゲームシステム1は、サーバ200が備える機能の少なくとも一部をユーザ端末100が備えるように構成されていてもよい。さらに、ユーザ端末100およびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該ハードウェアにゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラム121および221を実行するコンピュータは、ユーザ端末100、サーバ200、および他の装置の何れであってもよい。
【0069】
<ゲーム概要>
(ゲーム空間とオブジェクトおよび仮想カメラの配置)
図4は、テニスゲームにおけるゲーム空間の一種である、試合空間の一例を示す図である。テニスゲームの試合は、X軸、Y軸、Z軸の3軸を座標軸とする3次元の試合空間で進行する。図4の状態(A)は、試合空間をXY平面と平行な視点から見た場合の、各種オブジェクトおよび仮想カメラ330の配置例を示している。図4の状態(B)は、試合空間をZY平面と平行な視点から見た場合の、各種オブジェクトおよび仮想カメラ330の配置例を示している。なお、以降の説明では、一度部材番号を付して説明したオブジェクトについて再び言及する際は「オブジェクト」という文言を極力省略して記載する。例えば「操作キャラクタのオブジェクト310」について再び言及する際は、単に「操作キャラクタ310」と称する。
【0070】
オブジェクト制御部115は、テニスコートを示す略平面状のオブジェクト300を、試合空間のXY平面と略平行に配置する。また、オブジェクト制御部115は、テニスコート300を長手方向に二分するように、ネットを示すオブジェクト303を配置する。オブジェクト制御部115は、自ユーザにより操作される操作キャラクタのオブジェクト(第1オブジェクト)310と、対戦相手である他ユーザにより操作される相手キャラクタのオブジェクト(他のオブジェクト)320とを、テニスコート300に配置する。例えば、オブジェクト制御部115は、操作キャラクタ310を、コート301およびその周辺領域(第1の領域)に配置する。また、オブジェクト制御部115は、相手キャラクタ320をコート302およびその周辺領域(第2の領域)に配置する。換言すると、第1の領域は、操作キャラクタ310が移動可能な領域であり、第2の領域は、相手キャラクタ320が移動可能な領域である。コート301およびコート302の周辺領域は、例えばそれぞれのコートのベースラインの外側およびサイドラインの外側の、所定の範囲である。
【0071】
カメラ配置制御部113は、ゲーム空間内に仮想カメラ330を配置する。仮想カメラ330の位置および角度は特に限定されない。例えば、カメラ配置制御部113は、テニスコート300全体と、全てのキャラクタが写るような位置および角度で仮想カメラ330を配置する。
【0072】
なお、対戦相手のユーザ端末100においては、当該対戦相手により操作されるキャラクタが操作キャラクタ310となる一方、自ユーザにより操作されるキャラクタが相手キャラクタ320となって、本実施形態のテニスゲームが当該対戦相手のユーザ端末100により実行される。
【0073】
(試合時の基本動作)
テニスゲームは、実際のテニスの試合と同様に、1ゲームが複数のポイントから成る。1ポイントは、操作キャラクタ310または相手キャラクタ320のサーブから始まる。操作キャラクタ310と相手キャラクタ320とはボールのオブジェクト(第2オブジェクト)340を相手コートに向けて交互に打球し、いずれかのキャラクタが返球に失敗すると、対戦相手に得点が付与される。
【0074】
図5は、テニスゲームでの試合中にタッチスクリーン15に表示される表示画面のうちの一部のオブジェクトを示している。また、図5では、ユーザがタッチスクリーン15に対して行う入力操作を模式的に示している。タッチスクリーン15にはゲーム画面として、例えばテニスコート300全体、操作キャラクタ310、ならびに相手キャラクタ320を含む画像が表示される。タッチスクリーン15に対し所定の入力操作が行われると、オブジェクト制御部115は、ゲームの進行状況に応じてサーブ開始位置の移動操作、トス動作、サーブ動作、操作キャラクタ310と相手キャラクタ320とがボール340を交互に打ち合うラリー中における移動動作、打球動作等の各種動作を操作キャラクタ310に行わせる。以下、操作キャラクタ310を例にとり、ラリー中における操作キャラクタ310の各種動作について説明する。
【0075】
なお、タッチスクリーン15に対するタッチ操作の履歴は、図示しない履歴情報テーブルにより管理される。タッチ操作の位置、操作態様(タップ操作、ロングタップ操作、フリック操作、ドラッグ操作等)等は、当該履歴情報テーブルに基づいて特定される。ここで、タップ操作とは、ユーザがタッチスクリーン15に対して手指等を接近させる接近操作をした後に、接近操作をした位置でリリース操作を行うことである。ロングタップ操作とは、ユーザがタッチスクリーン15を押し続ける操作である。フリック操作とは、ユーザがタッチスクリーン15において接近操作を維持しつつ、接近操作をした位置を短時間で移動させてリリース操作を行う一連の操作である。ドラッグ操作とは、ユーザがタッチスクリーン15に手指等を接近させた状態を維持したまま、当該手指等をスライドさせる操作である。
【0076】
なお、タッチスクリーン15に対し入力操作を行うための指示体は特に限定されない。例えば、指示体はユーザの手指であっても、スタイラスペン等であってもよい。本実施形態では、指示体としてユーザの手指(指A1)を用いることとする。また、本実施形態では、入力操作受付部112は、特別に記載しない限り、タッチスクリーン15上のあらゆる位置で行われた入力操作を受け付けることとする。
【0077】
図5は、ラリー中におけるユーザの入力操作と操作キャラクタ310の動作とを示す。ラリーは、操作キャラクタ310または相手キャラクタ320がボール340をサーブすることにより開始され、操作キャラクタ310または相手キャラクタ320が返球に失敗(例えば、ボール340を返球できなかった場合、返球したボール340がネットあるいはアウトとなった場合など)することにより終了する。
【0078】
図5の状態(A)は、ユーザの入力操作に応じて、オブジェクト制御部115が操作キャラクタ310を移動させる場面を示す。操作キャラクタ310または相手キャラクタ320のサーブの後に入力操作受付部112がドラッグ操作(図中の指A1を矢印方向にスライドさせる操作)を受け付けた場合、ゲーム進行処理部111は、当該ドラッグ操作を操作キャラクタ310を移動させる指示を示すと特定する。ゲーム進行処理部111は、ドラッグ操作から移動方向および移動速度を指定する。オブジェクト制御部115は、ゲーム進行処理部111の指定内容に従って操作キャラクタ310を移動させる(図中の操作キャラクタ310の近傍に示す矢印参照)。
【0079】
ラリー時において、カメラ配置制御部113は、タッチスクリーン15のユーザから見て手前側となる辺から画面の中央に向かう所定の領域A2を空けて操作キャラクタ310が表示されるように、仮想カメラ330の位置および角度を決定する。これにより、入力操作を行うユーザの指A1でテニスコート300、相手キャラクタ320、操作キャラクタ310、またはボール340等が隠れてしまうことを防ぐことができる。したがって、ユーザはゲームの状況を見つつ、容易に入力操作を行うことができる。
【0080】
また、カメラ配置制御部113は仮想カメラ330を、コート301とコート302とが縦方向(図4におけるy軸と平行な方向)に見渡せるような位置および角度で配置する。これにより、ユーザにサーブを打つ操作キャラクタ310と、ボール340の打ち込み先である相手キャラクタ320側のコートと、サーブされたボール340の軌跡とを視認性良く見せることができる。
【0081】
図5の状態(B)は、ユーザの入力操作に応じて、オブジェクト制御部115が操作キャラクタ310に打球動作(操作キャラクタ310がラケットをスイングする動作)を行わせる場面を示す。ゲーム進行処理部111は、ラリー時に入力操作受付部112がタッチ操作を受け付けた場合、当該タッチ操作を、操作キャラクタ310に打球動作を行わせる指示であると特定する。オブジェクト制御部115は、当該指示に従って操作キャラクタ310に打球動作を行わせる。すなわち、オブジェクト制御部115は、操作キャラクタ310にラケットを振る動作を行わせるとともに、ボール340を第2の領域に移動させる。
【0082】
(打球エリア)
ゲーム進行処理部111は、操作キャラクタ310に打球動作を行わせる場合、当該打球動作でボール340を打球することができたか否かを判定する(打球成否判定)。また、オブジェクト制御部115は、打球成否判定の基準となる打球エリア350を、操作キャラクタ310とともにゲーム空間に配置する。なお、打球エリア350は、操作キャラクタの種類によってその大きさおよび形状の少なくとも一方が異なっていてもよい。ゲーム進行処理部111は、打球動作時にボール340が打球エリア350内に位置している場合は打球成功と判定し、当該打球動作時にボール340が当該打球エリア350外に位置している場合は打球失敗と判定する。
【0083】
ゲーム進行処理部111は打球成功と判定した場合、さらに、ボール340が打球エリア350のどの領域に位置しているかに応じて、操作キャラクタ310とボール340との位置関係の良好度合いを決定し、オブジェクト制御部115に返球をさせるよう指示する。例えば、位置関係以外の条件が同条件であれば、操作キャラクタ310は位置関係が最良である場合に最も強い返球を打つことができる。なお、ここで言う「返球」は、後述するチャージショットおよび特殊ショットを除いた返球、即ちノーマルショットを示す。
【0084】
このように、ゲーム進行処理部111は、打球動作時における打球エリア350とボール340との位置関係の良好度合い、すなわち操作キャラクタ310とボール340との位置関係の良好度合いに応じて、打球の成否、および打球時の球の強さを決定する。例えば、ゲーム進行処理部111は、操作キャラクタ310からボール340までの方向、および操作キャラクタ310からボール340までの距離の少なくとも一方に応じて、位置関係の良好度合いを決定する。
【0085】
これにより、ユーザに対し、相手キャラクタ320側のコートから飛来するボール340のコースを想定させること、および、打球により良い位置に操作キャラクタ310を移動させる(位置取りさせる)ことを促すことができる。コースの想定および打球前の位置取りは、現実のテニスゲームでも重要な要素である。したがって、ゲームシステム1は、テニスゲームにおいて実際のテニスの戦略での対戦を実現させることができ、ゲームの興趣性を向上させることができる。
【0086】
(UI配置)
表示制御部114は、図5で示した表示画面に、さらにユーザの入力操作に係るUI画像を重畳させて表示させることができる。図6および図7は、表示制御部114がタッチスクリーン15に表示させるラリー時の表示画面の一例を示す図である。表示制御部114は、ゲーム空間内のオブジェクトを描画した画像に、スーパーショットボタン(第2のアイコン)360、球種選択ボタン(第1のアイコン)370、ならびに交代ボタン401および402の画像を重畳させた画像を作成し、タッチスクリーン15に表示させてよい。なお、当該UI画像は、ラリー中に限らず、対戦中においてコートに重畳させて常に表示されるようにしてもよい。
【0087】
本実施形態においては、操作キャラクタ310が行うショットの種類を、ボタンアイコンに対するタッチ操作により選択できる。当該ショットの種類としては、ノーマルショットとスキルショットとが設けられている。
【0088】
ノーマルショットには、スピン系のショット、ロブ系のショット、およびスライス系のショットが設けられている。スピン系のショットとは、ボール340を縦方向に正回転させながら相手キャラクタ320に向かって返球するショットをいう。ロブ系のショットとは、相手キャラクタ320の後方へ落ちるように高く緩いボールを山なりで返球するショットをいう。スライス系のショットとは、ボール340を縦方向に逆回転させながら相手キャラクタ320に返球するショットをいう。
【0089】
ノーマルショットの種類は、球種選択ボタン370に対するタッチ操作を行うことにより、スピン/ロブまたはスライスのうちから選択される。その後、打球動作のためのタッチ操作を行うと、当該選択されている種類のノーマルショットが行われる。球種選択ボタン370に対するタッチ操作により選択された球種は、その後も維持され、タッチ操作を行うことにより選択された球種のノーマルショットが行われる。
【0090】
一方、スキルショットは、複数種類のキャラクタのうちから操作キャラクタ310として選択しているキャラクタの種類に応じて予め関連付けられているスキル発動に伴って行われるショットである。スキルには、当該スキルの発動を許可するための発動許可条件が予め定められている。選択したキャラクタに関連付けられているスキルの発動許可条件が成立しているときにおいて、当該スキルに対応するボタンアイコンに対してタッチ操作を行うことにより、当該スキル発動に伴うスキルショットを行うことができるスタンバイ状態となる。スキルショットは、当該スタンバイ状態においてノーマルショットと同様に打球動作のためのタッチ操作により行うことができる。スキルショットは、ノーマルショットよりもユーザにとって有利度合いが高いショットとなる。有利度合いが高いショットとは、例えば、返球の際のボールのスピードが速いショットや、ボールが重いために対戦相手が返球し難いショットなどをいう。
【0091】
スキルショットとしては、キャラクタの種類に応じて、例えば、チャージショット(第1スキル)、スーパーショット(第2スキル)、および、ギアショット(第3スキル)が設けられている。本実施形態では、スーパーショットおよびギアショットを「特殊ショット」ともいう。
【0092】
特殊ショットのうちのスーパーショットとは、例えば、当該スーパーショットに関連付けられている発動許可条件(第1の条件)が成立している状態(第2の状態)において、スーパーショットボタン360へのタッチ操作(第5のタッチ操作)を受け付けることにより特殊ショットスタンバイ状態(第2のスタンバイ状態であり、厳密にはスーパーショットに対応する特殊ショットスタンバイ状態)となるスキルショットである。スーパーショットに関連付けられている発動許可条件は、例えば、ラリーの進行(返球回数等)に応じて更新されるスーパーショットゲージG1の値が予め定められた値に到達することにより成立する。スーパーショットは、当該特殊ショットスタンバイ状態においてユーザから打球動作のためのタップ操作(第6のタッチ操作)を受け付けることにより発動される。
【0093】
スーパーショットが発動されると、操作キャラクタ310にとって有利な態様でボール340が打ち返される。例えば、ボール340は、ノーマルショット時には発生しない特殊な軌道で、相手キャラクタ320側のコートに移動する。
【0094】
特殊ショットのうちのギアショットとは、例えば、当該ギアショットに関連付けられている発動許可条件(第2の条件)が成立している状態(第3の状態)において、ギアショットボタン380へのタッチ操作(第7のタッチ操作)を受け付けることにより特殊ショットスタンバイ状態(第3のスタンバイ状態であり、厳密にはギアショットに対応する特殊ショットスタンバイ状態)となるスキルショットである。ギアショットに関連付けられている発動許可条件は、例えば、1回の対戦中における発動回数が予め定められている上限回数(例えば、3回)に到達していないことにより成立する。ギアショットは、当該特殊ショットスタンバイ状態においてユーザから打球動作のためのタップ操作(第8のタッチ操作)を受け付けることにより発動される。
【0095】
ギアショットが発動されると、打ち返した後のボール340の動きが操作キャラクタ310にとって有利な態様で変化する。例えば、ボール340は、相手キャラクタ320側のコートへの着弾時にイレギュラーバウンドする。
【0096】
チャージショットとは、例えば、当該チャージショットに関連付けられている発動許可条件が成立している状態(第1の状態)において、ノーマルショットの種類を選択するための球種選択ボタン370へのタッチ操作(第2のタッチ操作)を受け付けることによりチャージショットスタンバイ状態(第1のスタンバイ状態)となるスキルショットである。チャージショットに関連付けられている発動許可条件は、例えば、対戦プレイ中においてタッチ操作(第1のタッチ操作)が継続している間に更新されるチャージショットゲージ(第1パラメータ)の値に応じてチャージ段階がレベル1以上となっていることにより成立する。また、チャージショットに関連付けられている発動許可条件が成立している状態において、球種選択ボタン370へのタッチ操作を受け付けることにより、球種の一つとしてチャージショットが選択可能となり、チャージショットを選択することによりチャージショットスタンバイ状態となる。チャージショットは、当該チャージショットスタンバイ状態においてユーザから打球動作のためのタップ操作(第3のタッチ操作)を受け付けることにより発動される。
【0097】
チャージショットが発動されると、操作キャラクタ310にとって有利な態様でボール340が打ち返される。例えば、ボール340は、ノーマルショット時には生じ得ない球速で、相手キャラクタ320側のコートに移動する。
【0098】
チャージ段階がレベル1以上となった後の1回のタップ操作に応じてチャージショットを発動させるようにすると、誤ったタップ操作や、操作キャラクタ310を移動させるための操作などによっても発動してしまう虞があるため、ユーザが望むタイミングで当該チャージショットを発動させることができない。そこで、本実施形態では、球種選択ボタン370といった既存のボタンに対するタップ操作によりチャージショットスタンバイ状態を設定可能とし、当該チャージショットスタンバイ状態において打球動作のためのタップ操作を受け付けることによりチャージショットを発動させるようにしている。これによって、既にスーパーショットボタン360やギアショットボタン380、球種選択ボタン370が配置されている状況下において、新たにボタンを増やすことなく(即ち、画面を複雑化させることなく)、ユーザの望むタイミングでチャージショットを発動させることが可能となる。
【0099】
チャージショットが発動されることなくラリーが終了した場合、ゲーム進行処理部111は、チャージショットゲージを初期化するとともに、ラリー終了時におけるチャージ段階については維持する。このため、ラリー終了時におけるチャージ段階がレベル0であれば、チャージショットゲージのゲージ値は0に戻され、レベル0のチャージ段階が維持される。また、ラリー終了時におけるチャージ段階がレベル1であれば、チャージショットゲージのゲージ値は0に戻され、レベル1のチャージ段階が維持される。
【0100】
次回のラリーが開始されると、ゲーム進行処理部111は、当該初期化されたチャージショットゲージと当該維持されたチャージ段階とを起点として、ゲージ値およびチャージ段階を更新する。このため、レベル1のチャージ段階が維持されていれば、次回のラリーにおいてチャージショットゲージのゲージ値が閾値に達したとき、チャージ段階はレベル1からレベル2に更新される。
【0101】
(スーパーショットボタン)
図6(A)を参照して、スーパーショットボタン360は、操作キャラクタ310にスーパーショットを打たせるための入力操作を受け付けるボタンである。当該スーパーショットボタン360の外縁には、スーパーショットゲージG1が設けられる。ゲーム進行処理部111は、ラリーの進行に応じて、スーパーショットゲージG1のゲージ値を増大させる。具体的には、ゲーム進行処理部111は、打球動作のためのタップ操作またはフリック操作に応じてノーマルショットが発動される毎に、スーパーショットゲージG1のゲージ値を増大させる。ここで、当該ゲージ値の増大量は、ノーマルショット時における操作キャラクタ310とボール340との位置関係の良好度合いが高いほど多くする。表示制御部114は、スーパーショットゲージG1の表示態様を、増大後のゲージ値が特定可能な表示態様に変更する(図6(B)参照)。
【0102】
入力操作受付部112は、当該ゲージ値が最大値に到達しているとき(図6(B)に示す状態)に、スーパーショットボタン360に対するタップ操作を受付け可能にする。ゲーム進行処理部111は、当該タップ操作が入力操作受付部112により受け付けられたとき、スーパーショットに対応する特殊ショットスタンバイ状態を設定する。表示制御部114は、スーパーショットボタン360の表示態様をスーパーショットが発動可能であることを特定可能な表示態様に変更する。例えば、スーパーショットボタン360の明るさを低減させる(図6(C)参照)。
【0103】
ゲーム進行処理部111は、スーパーショットに対応する特殊ショットスタンバイ状態において操作キャラクタ310の打球動作が成功したと判定した場合、オブジェクト制御部115にスーパーショットを発動させるよう指示する。この結果、ボール340は、ノーマルショット時には発生しない特殊な軌道で打ち返される(図6(D)参照)。
【0104】
ゲーム進行処理部111は、スーパーショットが発動された後、スーパーショットに対応する特殊ショットスタンバイ状態を解除し、スーパーショットゲージG1を初期化する。また、表示制御部114は、スーパーショットボタン360の明るさを元に戻し、スーパーショットゲージG1の表示態様を初期化されたことを特定可能な表示態様に変更する。
【0105】
なお、スーパーショットが発動されることなくラリーが終了した場合、ゲーム進行処理部111は、ラリー終了時におけるスーパーショットゲージG1のゲージ値を維持する。次回のラリーが開始されると、ゲーム進行処理部111は、当該維持されたゲージ値を起点として、ノーマルショットが行われる毎に当該ゲージ値を増大させる。
【0106】
(ギアショットボタン)
ギアショットボタン380は、操作キャラクタ310にギアショットを打たせるための入力操作を受け付けるボタンである。ギアショットについては、1回の試合において発動可能な上限回数が予め定められている。ギアショットの発動可能回数は試合開始時に当該上限回数に設定され、ギアショットが発動される毎に1ずつ減じられる。当該発動可能回数が1以上であれば、入力操作受付部112は、ギアショットボタン380に対するタップ操作を受付け可能にする。ゲーム進行処理部111は、当該タップ操作が入力操作受付部112により受け付けられたとき、ギアショットに対応する特殊ショットスタンバイ状態を設定する。
【0107】
表示制御部114は、ギアショットボタン380の表示態様をギアショットが発動可能であることを特定可能な表示態様に変更する。例えば、ギアショットボタン380の明るさを低減させる。ゲーム進行処理部111は、ギアショットに対応する特殊ショットスタンバイ状態において操作キャラクタ310の打球動作が成功したと判定した場合、オブジェクト制御部115にギアショットを発動させるよう指示する。この結果、ボール340は、相手キャラクタ320側のコートへの着弾時にイレギュラーバウンドする。
【0108】
ゲーム進行処理部111は、ギアショットが発動された後、ギアショットに対応する特殊ショットスタンバイ状態を解除し、ギアショットの発動可能回数を1だけ減少させる。また、表示制御部114は、ギアショットボタン380の表示態様を元に戻す。
【0109】
(球種選択ボタン)
球種選択ボタン370は、操作キャラクタ310の打球動作により実行されるノーマルショットの種類を示すとともに、当該種類を変更するための入力操作を受け付けるボタンである。球種選択ボタン370に対するタップ操作が入力操作受付部112により受け付けられると、ゲーム進行処理部111は、操作キャラクタ310が行うノーマルショットの種類をスピン/ロブとスライスとの間で変更する。表示制御部114は、球種選択ボタン370の表示態様を、変更後の種類を特定可能な表示態様に変更する。例えば、変更後の種類がスピン/ロブであれば「スピン/ロブ」の文字を球種選択ボタン370に表示し、変更後の種類がスライスであれば「スライス」の文字を球種選択ボタン370に表示する。また、オブジェクト制御部115は、変更後の種類と、打球動作のためのタッチ操作の態様とに応じて、相手キャラクタ320側のコートにボール340を移動させる。
【0110】
具体的には、変更後のノーマルショットの種類としてスピン/ロブが選択されている状態で、打球動作のためにタップ操作(第4のタッチ操作)が行われると、オブジェクト制御部115は、当該タップ操作時のボール340の位置に基づいて返球方向を特定し、縦方向に正回転するボール340を当該返球方法に返球するアクションを操作キャラクタ310に行わせる。また、スピン/ロブが選択されている状態で、打球動作のために右フリック操作(右方向へのフリック操作であり、第4のタッチ操作に相当)が行われると、オブジェクト制御部115は、縦方向に正回転するボール340をタップ操作時の返球方向よりも右側の方向に返球するアクションを操作キャラクタ310に行わせる。
【0111】
さらに、スピン/ロブが選択されている状態で、打球動作のために左フリック操作(左方向へのフリックする操作であり、第4のタッチ操作に相当)が行われると、オブジェクト制御部115は、縦方向に正回転するボール340をタップ操作時の返球方向よりも左側の方向に返球するアクションを操作キャラクタ310に行わせる。また、スピン/ロブが選択されている状態で、打球動作のために下フリック操作(下方向へのフリックする操作であり、第4のタッチ操作に相当)が行われると、オブジェクト制御部115は、タップ操作が行われた場合の返球方向に、ロブでボール340を返球するアクションを操作キャラクタ310に行わせる。
【0112】
また、変更後のノーマルショットの種類としてスライスが選択されている状態では、オブジェクト制御部115は、打球動作のためのタッチ操作(第4のタッチ操作)時のボール340の位置に基づいて返球方向を特定する。オブジェクト制御部115は、縦方向に逆回転するボール340を当該返球方向に返球するアクションを操作キャラクタ310に行わせる。なお、スライスを伴う返球は、打球動作のためのタッチ操作がタップ操作であるかフリック操作であるかに関係なく実行される。これにより、スライス系のショットを行う際の操作が複雑化することを極力防止できる。
【0113】
(チャージショット:第1のゲーム制御)
図7(A)を参照して、操作キャラクタ310または相手キャラクタ320のサーブの後(ラリー開始後)に入力操作受付部112がドラッグ操作またはロングタップ操作(第1のタッチ操作)を受け付けた場合、ゲーム進行処理部111は、内部的に設けられているチャージショットゲージのゲージ値を増大させる。ただし、ドラッグ操作を受け付けたときの単位時間当たりの増大量は、ロングタップ操作を受け付けたときよりも小さくする。即ち、ドラッグ操作により操作キャラクタ310を移動させているときには、ロングタップ操作により操作キャラクタ310を移動させていないときよりも、当該ゲージ値の増大量が少なくなるように、当該ゲージ値を増大させる。例えば、ドラッグ操作に対応する増大量は、ロングタップ操作に対応する増大量の0.8倍とする。
【0114】
なお、ラリー開始後に入力操作受付部112がロングタップ操作を受け付けた場合、ゲーム進行処理部111は、当該ロングタップ操作を操作キャラクタ310を移動させる指示として特定しない。このとき、オブジェクト制御部115は、操作キャラクタ310を現在位置に留まらせる。
【0115】
チャージショットスタンバイ状態において入力操作受付部112がドラッグ操作を受け付けると、ゲーム進行処理部111は、ゲーム進行に関してユーザに不利となる作用を及ぼす。具体的には、チャージショットスタンバイ状態が設定されていれば、チャージショットスタンバイ状態が設定されていない場合よりも遅い速度を、操作キャラクタ310の移動速度として決定する。例えば、チャージショットスタンバイ状態が設定されているときの移動速度を、チャージショットスタンバイ状態が設定されていないときの移動速度の0.8倍とする。オブジェクト制御部115は、当該決定された移動速度で操作キャラクタ310を移動させる。
【0116】
増大後のゲージ値が閾値に達すると、ゲーム進行処理部111は、チャージショットゲージを初期化し、チャージ段階と閾値とを更新する。閾値については、チャージ段階に応じて異なる値が定められており、チャージ段階が高くなるほど閾値が増大する。試合開始時には、チャージ段階はレベル0に設定され、閾値は第1の値に設定される。ゲーム進行処理部111は、ゲージ値が当該第1の値に達すると、当該ゲージ値を初期化し、チャージ段階をレベル1に更新し、閾値を第2の値に更新する。また、当該ゲージ値が当該第2の値に達すると、当該ゲージ値を初期化し、チャージ段階をレベル2に更新し、閾値を第3の値に更新する。さらに、当該ゲージ値が当該第3の値に達すると、当該ゲージ値を初期化し、チャージ段階をレベル3に更新する。なお、チャージ段階の上限はレベル3であり、当該レベル3に達すると、チャージ段階および閾値の更新は行われない。また、例えば、第2の値は第1の値の1.2倍であり、第3の値は第1の値の1.5倍である。
【0117】
表示制御部114は、チャージ段階を特定可能にするための段階数オブジェクト391を、当該操作キャラクタ310の近傍に表示する(図7(B)参照)。即ち、当該チャージ段階がレベル1であれば、操作キャラクタ310の背後に対応する位置に段階数オブジェクト391を表示する。また、当該チャージ段階がレベル2であれば、図7(B)に示すように、操作キャラクタ310の背後および左側の各々に対応する位置に段階数オブジェクト391を表示する。さらに、当該チャージ段階がレベル3であれば、操作キャラクタ310の背後、左側および右側の各々に対応する位置に段階数オブジェクト391を表示する。こうして表示された段階数オブジェクト391は、操作キャラクタ310の移動に伴って移動する。この結果、ユーザは、操作キャタクタ310のチャージ段階を容易に認識することができる。
【0118】
チャージ段階がレベル1以上の状態(第1の状態)であれば、ゲーム進行処理部111は、球種選択ボタン370に対するタップ操作が入力操作受付部112により受け付けられることにより、球種としてチャージショットが選択可能となる。つまり、チャージ段階がレベル1以上においては、球種選択ボタン370に対するタップ操作毎に、チャージショットスタンバイ状態を設定するか、スピン/ロブの球種を設定するか、またはスライスの球種を設定する。より具体的には、チャージ段階がレベル0からレベル1以上の値に増大した後において、球種選択ボタン370に対する1回目のタップ操作であるときは、必ずチャージショットスタンバイ状態を設定する。その後は、当該タップ操作が行われる毎に、スピン/ロブ→スライス→チャージショットスタンバイ状態→スピン/ロブ→…の順で、設定を変更する。なお、スピン/ロブまたはスライスの球種が設定されたときは、チャージショットスタンバイ状態を解除する。
【0119】
また、表示制御部114は、球種選択ボタン370の表示態様を、当該設定を特定可能な表示態様に遷移させる。例えば、チャージショットスタンバイ状態が設定されると、球種選択ボタン370の表示態様を、当該チャージショットスタンバイ状態である旨を示唆する第1表示態様に遷移させる。具体的には、球種選択ボタン370に「SP」の文字が表示する(図7(C)参照)。また、スピン/ロブの球種が設定されると、球種選択ボタン370に「スピン/ロブ」の文字を表示する(図7(B)参照)。さらに、スライスの球種が設定されると、球種選択ボタン370に「スライス」の文字を表示する。
【0120】
なお、チャージ段階がレベル0の状態においては、表示制御部114は、球種選択ボタン370に対するタッチ操作が行われても、当該タッチ操作を第2のタッチ操作として受け付けず、球種選択ボタン370の表示態様を第1表示態様に遷移させない。
【0121】
チャージショットスタンバイ状態において、入力操作受付部112がタップ操作(第3のタッチ操作)を受け付けた場合において、ボール340が打球エリア350内に位置している場合、ゲーム進行処理部111は、操作キャラクタ310の打球動作が成功したと判定し、オブジェクト制御部115にチャージショットを発動させるよう指示する。チャージショットとは、ラリー中において操作キャラクタ310にとって有利な態様でボール340を打ち返すスキルの1つであり、具体的には、操作キャラクタ310または相手キャラクタ320に特定の作用を及ぼす打球を放つショットである。また、ゲーム進行処理部111は、チャージ段階を表すレベルが高くなるほどユーザにとっての有利度合いが高くなる態様で、当該チャージショットを発動させる。即ち、チャージショットの有利度合いはチャージ段階に応じて異なり、当該チャージ段階が高くなるほど当該有利度合いが高くなる。
【0122】
当該有利度合いが高くなる態様とは、例えば、ボール340を特殊な移動速度または回転速度で相手キャラクタ320側のコートに移動させる態様である(図7(D)参照)。特殊な移動速度とは、例えば、ノーマルショット時には発生しない移動速度であり、特殊な回転速度とは、例えば、ノーマルショット時には発生しない回転速度である。当該特殊な移動速度または回転速度は、チャージ段階を表すレベルの増大に伴って増大する。
【0123】
ゲーム進行処理部111は、チャージショットが発動された後、チャージショットスタンバイ状態を解除するとともに、チャージショットゲージおよびチャージ段階を初期化する。また、表示制御部114は、段階数オブジェクト391を非表示とするとともに、球種選択ボタン370の表示態様をチャージショットスタンバイ状態が設定される前の表示態様に戻す。なお、チャージショットが発動されることなくラリーが終了した場合、ゲーム進行処理部111は、チャージショットゲージおよびチャージ段階のうち、チャージショットゲージのみを初期化する。
【0124】
即ち、チャージショットゲージのゲージ値は、1つのラリー中におけるロングタップ等により累積更新され、ラリーが終了すると初期化される。一方、チャージ段階は、1つのラリーが終了したとしても維持され、以降のラリーに持ち越される。
【0125】
また、ゲーム進行処理部111は、操作キャラクタ310のチャージ段階を特定可能にするためのチャージ段階情報をサーバ200を介して対戦相手のユーザ端末100に送信し、相手キャラクタ320のチャージ段階を特定可能にするためのチャージ段階情報をサーバ200を介して対戦相手のユーザ端末100から受信する。表示制御部114は、当該受信したチャージ段階情報に基づいて、相手キャラクタ320の近傍に段階数オブジェクト391を表示する(図7(B)~図7(D)参照)。相手キャラクタ320のチャージ段階は、段階数オブジェクト391の表示により報知される。
【0126】
具体的には、当該チャージ段階がレベル1であれば、相手キャラクタ320の正面に対応する位置に段階数オブジェクト391を表示する。また、当該チャージ段階がレベル2であれば、相手キャラクタ320の正面および右側の各々に対応する位置に段階数オブジェクト391を表示する。さらに、当該チャージ段階がレベル3であれば、相手キャラクタ320の正面、右側および左側の各々に対応する位置に段階数オブジェクト391を表示する。
【0127】
チャージショットスタンバイ状態においては、ゲーム進行に関してユーザに不利益となる作用が及ぼされる。具体的には、ドラッグ操作に応じた操作キャラクタ310の移動速度が、チャージショットスタンバイ状態ではないときよりも遅くなる。当該不利益となる作用は、チャージ段階がレベル1以上になったことに応じて及ぼされるのではなく、チャージショットスタンバイ状態が設定されたことに応じて及ぼされる。チャージショットは、ラリー中においてチャンスが生じたときにユーザにより発動させるものであるため、当該チャンスが生じた場面でユーザに不利益を及ぼすことにより、ゲームの好趣を向上させることができる。
【0128】
(交代ボタン)
交代ボタン401および402は、操作キャラクタ310を、交代ボタン401または402にそれぞれ対応付けられた控えキャラクタと交代させるための入力操作を受け付けるためのボタンである。表示制御部114は、控えキャラクタの数に合わせた数の交代ボタンを表示させてもよい。ただし、表示制御部114が表示させる交代ボタンの数が多くなると、テニスゲームの対戦を表示させる領域が狭くなってしまう。それゆえ、操作キャラクタと同じグループに所属可能な他のキャラクタの数に上限を設けたり(例えば、2人)、あるいは表示する交代ボタンの数に上限(例えば、2つ)を設けたりしてもよい。なお、控えキャラクタの数よりも表示させる交代ボタンの数が少ない場合には、表示制御部114は、予めユーザに設定させた優先順位に従って、交代ボタンに対応付ける控えキャラクタを決定してもよい。
【0129】
ゲーム進行処理部111は、ユーザによる交代指示を受け付ける。交代指示は、交代ボタン401または402に対するタッチ操作により入力される。例えば、交代ボタン401に対するタッチ操作が検出された場合、ゲーム進行処理部111は、交代ボタン401に対応付けられているキャラクタが選択されたこと、および操作キャラクタ310を、選択されたキャラクタと交代させること、をオブジェクト制御部115に指示する。オブジェクト制御部115は、操作キャラクタ310に代えて、選択されたキャラクタを配置(表示)する。交代指示によって操作キャラクタ310から控えキャラクタとなったキャラクタは、交代ボタン401と対応づけられてもよい。この場合、交代ボタン401に対するタッチ操作が再度検出されれば、操作キャラクタ310に復帰することが可能である。
【0130】
<ユーザ端末の処理フロー>
図8は、ラリー時に実行される処理を説明するフローチャートである。なお、この処理は、ゲーム進行処理部111、入力操作受付部112、表示制御部114等によって実行される。また、以下の説明において、フローチャートを用いて説明する一連の処理ステップの流れは、ユーザ端末100によって実行されるものとして記載しているが、これらの処理ステップの少なくとも一部が、サーバ200によって実行されてもよい。
【0131】
ステップS01では、タッチスクリーン15へのタッチ操作が行われているか否かを、入力部151に対する入力操作に基づいて判定する。当該タッチ操作が行われていると判定されなかったときはリターンし、当該タッチ操作が行われていると判定されたときはステップS02に進む。ステップS02では、当該タッチ操作がタップ操作またはフリック操作であるか否かを履歴情報テーブルに基づいて判定する。当該タップ操作またはフリック操作であると判定されなかったときは、ステップS03に進み、タッチ位置に応じた処理を実行する。
【0132】
具体的には、当該タッチ操作がドラッグ操作であれば、当該ドラッグ操作から移動方向および移動速度を指定し、当該指定内容に従い操作キャラクタ310を移動させる。移動速度については、チャージショットスタンバイ状態が設定されているか否かに応じて異なる速度を指定する。例えば、チャージショットスタンバイ状態が設定されていなければ、速度Hを指定し、チャージショットスタンバイ状態が設定されていれば、速度Hよりも遅い速度Lを指定する。また、当該タッチ操作がロングタップ操作であれば、操作キャラクタ310を現在の位置に留まらせる。
【0133】
ステップS04では、チャージショットゲージのゲージ値を増大させる。ドラッグ操作を受け付けたときの単位時間当たりの増大量は、ロングタップ操作を受け付けたときよりも小さくする。ステップS05では、増大後のゲージ値が所定値以上であるか否かをステップS04の処理結果に基づいて判定する。当該所定値以上であると判定されなかったときは、リターンする。一方、当該所定値以上であると判定されたときは、ステップS06でチャージショットゲージを初期化し、当該所定値を更新する。
【0134】
即ち、所定値は、ラリー開始時に第1の閾値に設定される。ゲージ値が当該第1の閾値に達すると、当該ゲージ値を初期化して所定値を第2の閾値に更新する。また、当該ゲージ値が当該第2の閾値に達すると、当該ゲージ値を初期化して所定値を第3の閾値に更新する。ステップS06の処理が完了すると、ステップS07に進む。
【0135】
ステップS07では、レベル3を上限としてチャージ段階を更新する。具体的には、現在のチャージ段階がレベル0であればレベル1に更新し、現在のチャージ段階がレベル1であればレベル2に更新する。また、現在のチャージ段階がレベル2であればレベル3に更新し、現在のチャージ段階がレベル3であれば当該レベル3を維持する。また、ステップS07では、当該チャージ段階に応じた数の段階数オブジェクト391を操作キャラクタ310の近傍に表示する。ステップS07の処理が完了すると、リターンする。
【0136】
ステップS02においてタップ操作またはフリック操作であると判定されたときは、ステップS08に進む。ステップS08では、球種選択ボタン370がタップされたか否かを履歴情報テーブルに基づいて判定する。当該球種選択ボタン370がタップされたと判定されたときはステップS09に進み、現在のチャージ段階がレベル1以上であるか否かをステップS07の処理結果に基づいて判定する。
【0137】
当該レベル1以上であると判定されなかったときはステップS11に進み、操作キャラクタ310の打球する球種をスピン/ロブとスライスとの間で変更する。また、ステップS11では、球種選択ボタン370の表示態様を変更後の球種を特定可能な表示態様に変更する。例えば、変更後の球種がスピン/ロブであれば「スピン/ロブ」の文字を球種選択ボタン370に表示し、変更後の球種がスライスであれば「スライス」の文字を球種選択ボタン370に表示する。
【0138】
一方、ステップS09において当該レベル1以上であると判定されたときはステップS10に進み、チャージショットスタンバイ状態を設定するか、スピン/ロブの球種を設定するか、またはスライスの球種を設定する。即ち、球種選択ボタン370に対するタップ操作がチャージ段階がレベル0からレベル1以上の値に増大した後の1回目のタップ操作であるときは、必ずチャージショットスタンバイ状態を設定する。つまり、チャージショットゲージのゲージ値が第1の閾値に達した後の1タップ目においては、必ずチャージショットスタンバイ状態に移行させる。その後は、当該タップ操作が行われる毎に、スピン/ロブ→スライス→チャージショットスタンバイ状態→スピン/ロブ→…の順で、設定を変更する。なお、スピン/ロブまたはスライスの球種が設定されたときは、チャージショットスタンバイ状態を解除する。
【0139】
ステップS10では、球種選択ボタン370の表示態様を、当該設定を特定可能な表示態様に変更する。例えば、当該設定がチャージショットスタンバイ状態であれば、球種選択ボタン370に「SP」の文字を表示する。また、当該設定がスピン/ロブの球種であれば、球種選択ボタン370に「スピン/ロブ」の文字を表示する。さらに、当該設定がスライスの球種であれば、球種選択ボタン370に「スライス」の文字を表示する。
【0140】
ステップS08において球種選択ボタン370がタップされたと判定されなかったときは、ステップS12に進む。ステップS12では、特殊ショットボタン、即ちスーパーショットボタン360またはギアショットボタン380がタップされたか否かを履歴情報テーブルに基づいて判定する。当該スーパーショットボタン360またはギアショットボタン380がタップされたと判定されたときはステップS13に進む。
【0141】
スーパーショットボタン360のタップ操作に応じてステップS13に進んだ場合、ステップS13では、スーパーショットボタン360に関連付けられている発動許可条件が成立しているか否かを判定する。一方、ギアショットボタン380のタップ操作に応じてステップS13に進んだ場合、ステップS13では、ギアショットボタン380に関連付けられている発動許可条件が成立しているか否かを判定する。
【0142】
スーパーショットボタン360に関連付けられている発動許可条件は、スーパーショットゲージG1のゲージ値が最大値に到達することにより成立する条件であり、当該条件が成立しているか否かは、後述するステップS22の処理結果に基づいて判定する。また、ギアショットボタン380に関連付けられている発動許可条件は、ギアショットの発動可能回数が1以上であることにより成立する条件であり、当該条件が成立しているか否かは、後述するステップS20の処理結果に基づいて判定する。
【0143】
ステップS13においてスタンバイ状態が成立していると判定されたときは、ステップS14に進む。ステップS14では、スーパーショットボタン360およびギアショットボタン380のうちタップされたボタンについて特殊ショットスタンバイ状態を設定するとともに、当該タップされたボタンの表示態様を特殊ショットが可能であることを示唆する表示態様に変更する。例えば、スーパーショットボタン360について特殊ショットスタンバイ状態が設定された場合には、当該スーパーショットボタン360の明るさを低減させる。また、ギアショットボタン380について特殊ショットスタンバイ状態が設定された場合には、当該ギアショットボタン380の明るさを低減させる。ステップS14の処理が完了すると、リターンする。なお、ステップS13において発動許可条件が成立していると判定されなかったときは、ステップS14の処理を実行することなくリターンする。
【0144】
ステップS12において、スーパーショットボタン360またはギアショットボタン380がタップされたと判定されなかったときは、ステップS15に進む。ステップS15では、スーパーショットボタン360、球種選択ボタン370、ギアショットボタン380、交代ボタン401および402以外の位置に対するタッチ操作が行われたか否かを、履歴情報テーブルに基づいて判定する。当該タップ操作が行われたと判定されなかったときは、ステップS23で他の処理(例えば、操作キャラクタ310を交代させる処理)を実行し、その後にリターンする。一方、当該タップ操作が行われたと判定されたときは、ステップS16に進む。
【0145】
ステップS16では、操作キャラクタ310の現在位置に基づいて打球エリア350の現在の配置を特定し、当該特定結果に基づいてボール340が当該打球エリア350内に位置しているか否かを判定する。当該打球エリア350内に位置していると判定されなかったときは、ステップS23で他の処理(例えば、ラケットを空振りさせる処理)を実行し、その後にリターンする。一方、当該打球エリア350内に位置していると判定されたときは、ステップS17に進む。ステップS17では、今回のタッチ操作がチャージショットスタンバイ状態におけるタップ操作であるか否かを、ステップS10の処理結果と履歴情報テーブルとに基づいて判定する。
【0146】
当該チャージショットスタンバイ状態におけるタップ操作であると判定されたときは、ステップS18に進み、チャージショットを発動させる。また、ステップS18では、チャージショットスタンバイ状態を解除し、チャージショットゲージとチャージ段階とを初期化する。また、段階数オブジェクト391を非表示とし、球種選択ボタン370の表示態様をチャージショットスタンバイ状態が設定される前の表示態様に戻す。ステップS18の処理が完了すると、リターンする。
【0147】
ステップS17において、チャージショットスタンバイ状態が設定されていると判定されなかったときは、ステップS19に進む。ステップS19では、今回のタッチ操作が特殊ショットスタンバイ状態におけるタップ操作であるか否かを、ステップS10の処理結果と履歴情報テーブルとに基づいて判定する。当該特殊ショットスタンバイ状態におけるタップ操作であると判定されたときは、ステップS20に進み、特殊ショットを発動させる。具体的には、スーパーショットボタン360について特殊ショットスタンバイ状態が設定されているときはスーパーショットを発動させ、ギアショットボタン380について特殊ショットスタンバイ状態が設定されているときはギアショットを発動させる。
【0148】
また、ステップS20では、設定されている特殊ショットスタンバイ状態を解除する。さらに、スーパーショットが発動されたときは、スーパーショットゲージG1を初期化し、スーパーショットボタン360の表示態様を元に戻す。一方、ギアショットが発動されたときは、当該ギアショットの発動可能回数を1だけ減少させ、ギアショットボタン380の表示態様を元に戻す。ステップS20の処理が完了すると、リターンする。
【0149】
ステップS19において、特殊ショットスタンバイ状態が設定されていると判定されなかったときは、ステップS21でノーマルショットを実行する。ステップS21の処理が完了すると、ステップS22でスーパーショットゲージG1のゲージ値を増大させる。当該ゲージ値の増大量は、操作キャラクタ310とボール340との位置関係の良好度合いが高いほど多くする。ステップS22の処理が完了すると、リターンする。
【0150】
<本実施形態の効果>
本実施形態によれば、チャージショットゲージのゲージ値は、タッチスクリーン15に対する第1のタッチ操作が継続している間に更新される。第1のゲーム制御は、当該第1のタッチ操作の解除後において、ユーザから第2のタッチ操作を受け付けた後にさらに第3のタッチ操作を受け付けたことに基づいて、実行される。
【0151】
即ち、第1のゲーム制御は、第2のタッチ操作および第3のタッチ操作といった複数回のタッチ操作を受け付けることにより、実行される。この結果、第1のタッチ操作が解除された後の誤操作により、ユーザが意図していないタイミングで第1のゲーム制御が実行されてしまう不都合を極力防止することができる。
【0152】
また、本実施形態によれば、第1パラメータの値が第1の閾値以上に更新されている第1の状態において、第2のタッチ操作および第3のタッチ操作を受け付けることにより、第1のゲーム制御として第1オブジェクト310に第1スキルを発動させる。
【0153】
即ち、第1のゲーム制御が実行されるか否かは、第1のタッチ操作が継続した時間に応じて異なる。ユーザはゲームの進行状況を見極めながら当該第1のタッチ操作を行う必要があり、これにより、ゲームの好趣を向上させることが可能となる。また、第1のゲーム制御により、第1オブジェクト310が第1スキルを発動させる。これにより、ユーザはゲームを有利に進めることが可能となる。
【0154】
さらに、本実施形態によれば、上記の第1の状態において第2のタッチ操作を受け付けることにより、第1スキルを発動させることが可能な第1のスタンバイ状態となる。第1スキルは、当該第1のスタンバイ状態において第3のタッチ操作を受け付けることにより発動される。
【0155】
これにより、第2のタッチ操作が第1のスタンバイ状態を設定するための操作であり、第3のタッチ操作が第1スキルを発動させるための操作であるといったように、それぞれのタッチ操作の意義が明確になる。この結果、ユーザがタッチ操作に戸惑ってしまう不都合を極力回避することができる。
【0156】
また、本実施形態によれば、第2のタッチ操作は、タッチスクリーン15に表示される第1のアイコン370に対するタッチ操作である。上記の第1の状態においては、第1のアイコン370に対するタッチ操作を第2のタッチ操作として受け付けることにより、当該第1のアイコン370の表示態様が、第1のスタンバイ状態である旨を示唆する第1表示態様に遷移する。一方、第1パラメータの値が第1の閾値未満の状態においては、第1のアイコン370に対するタッチ操作が行われても、当該タッチ操作が第2のタッチ操作として受け付けられることはなく、第1のアイコン370の表示態様が第1表示態様に遷移することもない。
【0157】
即ち、第1のアイコン370に対するタッチ操作に応じて当該第1のアイコン370の表示態様が遷移するか否かは、第1パラメータの値が第1の閾値以上に更新されているか否かに応じて異なる。ユーザは、当該タッチ操作により第1のスタンバイ状態に移行したか否かを、第1のアイコン370の表示態様から直感的に認識することが可能となる。
【0158】
さらに、本実施形態によれば、第1のアイコン370は、当該第1のアイコン370に対するタッチ操作に応じて、第1オブジェクト310に行わせるアクションの種別を選択するためのアイコンである。第1のアイコン370は、上記の第1の状態においては、第1スキルに対応するアクションの種別を選択可能となるアイコンでもある。第1のスタンバイ状態は、アクションの種別として当該第1スキルに対応するアクションの種別を選択している状態である。また、タッチスクリーン15には、第1のアイコン370とは異なる第2のアイコン360が表示される。
【0159】
第1のスタンバイ状態とは異なり第1スキルに対応するアクションとは異なる他のアクションの種別を第1のアイコン370に対するタッチ操作に応じて選択している状態においては、第4のタッチ操作を受け付けることにより、当該選択している種別に応じたアクションを第1オブジェクト310に発動させる。
【0160】
また、第1の条件を満たしている第2の状態において、第2のアイコン360に対する第5のタッチ操作を受け付けることにより、第1スキルとは異なる第2スキルを第1オブジェクト310に発動させることが可能な第2のスタンバイ状態に制御し、当該第2のスタンバイ状態において第6のタッチ操作を受け付けることにより第2スキルを第1オブジェクト310に発動させる。
【0161】
即ち、第1のアイコンは、第1オブジェクト310に行わせるアクションの種別を選択するためのアイコンであり、第1の状態においては第1スキルに対応するアクションの種別を選択することも可能である。これにより、アイコンを増やすことなく(即ち、画面を複雑化させることなく)、第1スキルを発動させることが可能となる。
【0162】
また、第1スキルに対応するアクションとは異なる他のアクションの種別を第1のアイコン370に対するタッチ操作に応じて選択している状態において、第4のタッチ操作を受け付けると、当該他のアクションが第1オブジェクト310により発動される。一方、第2の状態において第2のアイコン360に対する第5のタッチ操作が受け付けると、第2のスタンバイ状態に制御され、当該第2のスタンバイ状態において第6のタッチ操作を受け付けると、第1スキルとは異なる第2スキルが第1オブジェクト310により発動される。
【0163】
このように、第1スキルは、第2スキルを発動させるための操作方法と同様の操作方法により発動される。これにより、第1スキルを発動させるための操作方法を、初心者ユーザに簡単に理解させることができる。
【0164】
また、本実施形態においては、タッチスクリーン15には、第1のアイコン370とも第2のアイコン360とも異なる第3のアイコン380が表示される。第1の条件とは異なる第2の条件を満たしている第3の状態において、当該第3のアイコン380に対する第7のタッチ操作を受け付けることにより、第1スキルとも第2スキルとも異なる第3スキルを第1オブジェクト310に発動させることが可能な第3のスタンバイ状態に制御し、当該第3のスタンバイ状態において第8のタッチ操作を受け付けることにより第3スキルを第1オブジェクトに発動させる。
【0165】
即ち、第1スキルは、第3スキルを発動させるための操作方法と同様の操作方法により発動される。これにより、第1スキルを発動させるための操作方法を、初心者ユーザにより簡単に理解させることができる。
【0166】
さらに、本実施形態においては、第1のスタンバイ状態では、ゲーム進行に関してユーザに不利となる作用が及ぼされる。具体的には、タッチ操作に応じた第1オブジェクト310の移動速度が、第1のスタンバイ状態ではないときよりも遅くなる。
【0167】
当該不利となる作用は、第1パラメータの値が第1の閾値に達したことに応じて及ぼされるのではなく、第2のタッチ操作により第1のスタンバイ状態が設定されたことに応じて及ぼされる。即ち、第1スキルを発動させたい場面となったときに、ユーザにより第2のタッチ操作が行われると、当該不利となる作用が及ぼされる。このため、ユーザには、第2のタッチ操作を行うタイミングについて戦略性が求められる。この結果、ゲームの好趣を向上させることができる。
【0168】
また、本実施形態においては、第1のタッチ操作は、第1オブジェクト310を移動させるためのタッチ操作を含む。第1のタッチ操作が行われているときであって、当該第1のタッチ操作により第1オブジェクト310を移動させているときには、当該第1のタッチ操作により第1オブジェクト310を移動させていないときよりも第1パラメータの値の更新量が少なくなるように、当該第1パラメータの値を更新する。
【0169】
このため、第1パラメータの値の更新量を増大させるためには、第1オブジェクト310を移動させるためのタッチ操作の替わりに、第1オブジェクト310を移動させないためのタッチ操作を行う必要がある。ユーザには戦況に応じてタッチ操作を使い分けることが要求され、これによりゲームの好趣を向上させることができる。
【0170】
さらに、本実施形態においては、第1のタッチ操作が解除された後においても、当該第1のタッチ操作に応じて更新した第1パラメータの値が保持される。このため、第1パラメータの値は、第1のタッチ操作と異なるタッチ操作を挟みながら当該第1のタッチ操作を行うことによっても増大する。これによって、戦況を見ながら少しずつ第1パラメータの値を増大させ、絶好の機会に第1スキルを発動させることが可能となる。
【0171】
また、本実施形態においては、ユーザのタッチ操作に応じて動作する第1オブジェクト310を操作することによりゲームが進行し、1回のゲーム中において終了条件が複数回成立し得る。一の終了条件が成立するまでの間における第1のタッチ操作に応じて第1パラメータの値を更新し、当該一の終了条件が成立したときに第1パラメータの値が第1の閾値に更新されていないときには、当該第1パラメータの値を初期化する。一方、第1パラメータの値が第1の閾値に更新されているときには、当該第1パラメータの値として当該第1の閾値に相当する値を以降においても保持する。この結果、一の終了条件が成立するまでに第1パラメータの値を第1の閾値以上に増大させようという動機付けをユーザに働かせることができる。
【0172】
また、本実施形態においては、一の終了条件が成立するまでの間におけるタッチスクリーン15に対するタッチ操作に応じて、第1パラメータの値が第1の閾値に更新された以降においても当該第1パラメータの値を更新する。また、当該一の終了条件が成立したときに第1パラメータの値が第1の閾値を超えているが第2の閾値に更新されていないときには第1の閾値を超えた値を初期化して当該第1パラメータの値として第1の閾値に相当する値を以降においても保持し、第1パラメータの値が第2の閾値に更新されているときには当該第1パラメータの値として第2の閾値に相当する値を以降においても保持する。
【0173】
さらに、上記の第1の状態において第2のタッチ操作および第3のタッチ操作を受け付けることにより、第1パラメータの値が第1の閾値を超えているが第2の閾値に更新されていない状態であるときよりも第1パラメータの値が第2の閾値に更新されている状態であるときの方が、前記第1スキルとしてユーザにとっての有利度合いが高いスキルを発動させる。
【0174】
これにより、第1パラメータの値が第1の閾値に達した後も引き続き第1のタッチ操作を行い、より有利度合いの高いスキルを発動させようという動機付けをユーザに働かせることができる。
【0175】
さらに、本実施形態においては、第1オブジェクト310との間で対戦する他のオブジェクト320は、他ユーザにより操作される。当該他ユーザに関連付けられている第1パラメータの値に応じた情報は、当該他ユーザのタッチ操作に基づいて報知される。これにより、他のオブジェクト320の第1パラメータの値が第1の閾値に増大しそうな状況では、第1スキルを発動させる等により終了条件を成立させて当該第1パラメータの値が保持されることを妨害するといった戦略的なゲーム展開を、ユーザに促すことが可能なる。
【0176】
また、本実施形態においては、ゲームは、ユーザのタッチ操作に応じて動作する第1オブジェクト310と、当該第1オブジェクト310とは異なる第2オブジェクト340との位置関係に応じて進行する。第1のゲーム制御を実行させるための条件には、さらに、第3のタッチ操作が第1オブジェクト310と第2オブジェクト340とが所定の位置関係にある状態において受け付けられることが含まれる。これにより、ゲームの好趣を向上させることができる。
【0177】
<変形例>
以上説明した実施形態の変形例などを以下に列挙する。
【0178】
(1) 上記実施形態においては、ラリー中にドラッグ操作またはロングタップ操作が一旦解除され、その後に再度ドラッグ操作またはロングタップ操作が行われた場合、当該解除時におけるチャージショットゲージのゲージ値を起点として当該ゲージ値を増大させるようにしている。しかし、当該起点とするゲージ値は、ゲームの進行状況に応じて当該解除時におけるゲージ値から増減させるようにしてもよい。例えば、当該解除の後の打球動作時における打球エリア350とボール340との位置関係の良好度合いに応じて、当該起点とするゲージ値を増減させるようにしてもよい。
【0179】
(2) 上記実施形態においては、チャージショットスタンバイ状態が設定されている期間にユーザに不利となる作用を及ぼす制御として、操作キャラクタ310の移動速度を遅くする制御を行うようにしている。しかし、当該移動速度を遅くするとともに、または当該移動速度を遅くする替わりに、操作キャラクタ310のスタミナ(当該キャラクタの運動能力を特定可能にするためのパラメータ)の減少量を多くしたり、相手キャラクタ320のスタミナを回復させたりするようにしてもよい。
【0180】
(3) 上記実施形態においては、球種選択ボタン370に対するタップ操作と、打球動作のためのタップ操作とに基づいて、チャージショットが発動される。しかし、球種選択ボタン370に対するタップ操作が行われたか否かにかかわらず、打球動作のためのダブルタップ操作に応じてチャージショットを発動させるようにしてもよい。この場合、当該ダブルタップ操作を受け付けるタイミングは、相手キャラクタ320により返球されたボール340が打球エリア350に入るまでの任意のタイミングであってもよい。
【0181】
(4) 上記実施形態においては、チャージ段階は、チャージショットゲージのゲージ値に基づいて更新され、チャージショットは、当該更新後のチャージ段階に応じた態様で発動可能となる。しかし、チャージショットスタンバイ状態を設定するための球種選択ボタン370へのタップ操作と、スーパーショットボタン360へのタップ操作とが続けて行われた場合に、当該タップ操作時におけるスーパーショットゲージG1のゲージ値に基づいてチャージ段階を更新し、当該更新後のチャージ段階に応じた有利度合いをユーザに付与するチャージショットを発動可能にするようにしてもよい。
【0182】
(5) 上記実施形態においては、チャージショットスタンバイ状態および特殊ショットスタンバイ状態の両方が設定されている状況が起こり得るところ、当該状況においてはチャージショットが特殊ショットに優先して発動される。しかし、当該状況においては特殊ショットをチャージショットに優先して発動するようにしてもよい。また、チャージショットおよび特殊ショットのいずれよりも強力な特別のショットを、チャージショットおよび特殊ショットの替わりに発動させるようにしてもよい。
【0183】
(6) 上記実施形態においては、打球動作のためのタップ操作であってチャージショットを発動させるタップ操作が行われると、チャージ段階に応じた態様のチャージショットが発動される。しかし、チャージショットは、打球動作のためのフリック操作が行われたときにも発動させるようにしてもよい。この場合、フリック操作に応じたチャージショットによるユーザにとっての有利度合いは、タップ操作に応じたチャージショットによる有利度合いよりも高くするようにしてもよい。
【0184】
(7) 上記実施形態においては、チャージショットによりユーザに付与される有利度合いは、当該チャージショットを発動させる際のチャージ段階のみによって規定される。しかし、当該有利度合いは、当該チャージショットを発動させる際のチャージ段階とチャージショットゲージのゲージ値とによって規定するようにしてもよい。
【0185】
(8) 上記実施形態においては、相手キャラクタ320は、対戦相手である他ユーザにより操作されるキャラクタである。しかし、当該相手キャラクタ320は、ゲームプログラムにより操作されるNPCであってもよい。
【0186】
(9) 上記実施形態においては、チャージ段階がレベル1以上の値を示していれば、試合が終わるまで、当該チャージ段階に応じたチャージショットを発動させることができる。しかし、当該チャージショットを発動可能な時間については、所定時間(例えば20秒)に制限するようにしてもよい。即ち、チャージ段階がレベル1以上の値に更新された後に当該レベルが維持されている状況で、チャージショットが発動されることなく所定時間が経過した場合には、チャージ段階を1つ下のレベルに落としたり、初期化したりしてもよい。これにより、チャージショットの積極的な発動をユーザに促すことが可能となる。
【0187】
(10) 上記実施形態においては、操作キャラクタ310は、タッチスクリーン15に対するドラッグ操作に応じて移動する。しかし、タッチスクリーン15に十字キーを表示し、当該十字キーに対するタッチ操作に応じて当該操作キャラクタ310を移動させるようにしてもよい。
【0188】
(11) 上記実施形態においては、ラリー(ゲーム)が終了しても、当該ラリーが1セットの途中のラリーであれば、チャージ段階は初期化されない。しかし、1セットの途中のラリーの終了によってはチャージ段階は初期化しないものの、1セットの終了によっては当該チャージ段階を初期化するようにしてもよい。また、
(12) 上記実施形態においては、スーパーショットゲージG1のゲージ値は、ラリーの終了にかかわらず維持され、次回のラリーにおいては、当該維持されたゲージ値を起点として、ノーマルショットが行われる毎に当該ゲージ値が増大される。しかし、所定の終了条件(例えば、ラリーが終了することにより成立する終了条件)が成立することにより、当該ゲージ値を初期化するようにしてもよい。
【0189】
(13) 上記実施形態においては、テニスゲームを例として説明した。しかし、複数ラウンドの各々で同じ対戦相手と格闘する格闘技ゲームや、操作キャラクタに付与されている複数のライフの全てが失われるまで実行できるアクションゲームにおいても、上記実施形態と同様の複数回のタッチ操作(1回の長押し操作と、2回のタップ操作)により所定のゲーム制御を実行するようにしてもよい。
【0190】
(14) 上記実施形態においては、チャージショットスタンバイ状態または特殊ショットスタンバイ状態が設定された後は、ユーザ操作により当該スタンバイ状態をキャンセルすることはできない。しかし、当該スタンバイ状態が設定された後の特定のタッチ操作(例えばボール340が打球エリア350に入っていない状態でのダブルタップ操作、または打球動作のための下フリック操作)に応じて当該スタンバイ状態をキャンセルできるようにしてもよい。
【0191】
(15) 上記実施形態においては、シングルスにより試合を行うテニスゲームについて説明した。しかし、操作キャラクタ310とNPCとのペアがダブルスにより試合を行うようにしてもよい。この場合、ユーザのタップ操作に応じて当該NPCにスキルを発動させるようにしてもよい。
【0192】
(16) 上記実施形態においては、チャージショットスタンバイ状態は、チャージ段階がレベル1以上のときに球種選択ボタン370をタップすることにより設定され、当該球種選択ボタン370を再タップすることにより解除される。しかし、スーパーショットボタン360のタップにより設定された特殊ショットスタンバイ状態も、当該スーパーショットボタン360の再タップにより解除するようにしてもよく、チャージショットボタン380のタップにより設定された特殊ショットスタンバイ状態も、当該チャージショットボタン380の再タップにより解除するようにしてもよい。
【0193】
(17) 上記実施形態においては、操作キャラクタ310の移動速度は、チャージショットスタンバイ状態が設定されているか否かに応じて異なる速度に制御される。しかし、当該移動速度は、特殊ショットスタンバイ状態が設定されているか否かに応じて異なる速度に制御するようにしてもよい。即ち、特殊ショットスタンバイ状態が設定されていなければ、移動速度を速度Hに制御し、特殊ショットスタンバイ状態が設定されていれば、速度Hよりも遅い速度Lに制御するようにしてもよい。また、当該移動速度は、チャージショットスタンバイ状態が設定されているか否かではなく、特殊ショットスタンバイ状態が設定されているか否かに応じて制御するようにしてもよい。
【0194】
<付記>
以上の各実施形態で説明した事項を、以下に付記する。
【0195】
(付記1):
本開示に示す一実施形態のある局面によれば、プロセッサ、メモリ、およびタッチスクリーンを備えるコンピュータ(図1のユーザ端末100)において実行されるゲームプログラムであって、前記プロセッサに、前記タッチスクリーンに対する第1のタッチ操作が継続している間に第1パラメータ(チャージショットゲージ)の値を更新するステップ(S04)と、前記第1のタッチ操作の解除後において、ユーザから第2のタッチ操作を受け付けた後にさらに第3のタッチ操作を受け付けたことに基づいて、第1のゲーム制御(チャージショット)を実行するステップ(S18)とを実行させる。
【0196】
(付記2):
(付記1)において、前記第1のゲーム制御を実行するステップは、前記第1パラメータの値が第1の閾値以上に更新されている第1の状態において、前記第2のタッチ操作および前記第3のタッチ操作を受け付けることにより、前記第1のゲーム制御として第1オブジェクトに第1スキル(チャージショット)を発動させる。
【0197】
(付記3):
(付記2)において、前記第1のゲーム制御を実行するステップは、前記第1の状態において、前記第2のタッチ操作を受け付けることにより前記第1スキルを発動させることが可能な第1のスタンバイ状態(チャージショットスタンバイ状態)に制御し、当該第1のスタンバイ状態において前記第3のタッチ操作を受け付けることにより前記第1スキルを発動させる。
【0198】
(付記4):
(付記3)において、前記第2のタッチ操作は、前記タッチスクリーンに表示される第1のアイコン(球種選択ボタン)に対するタッチ操作であり、前記プロセッサに、前記第1の状態においては、前記第1のアイコンに対するタッチ操作を前記第2のタッチ操作として受け付けることにより前記第1のアイコンの表示態様を前記第1のスタンバイ状態である旨を示唆する第1表示態様に遷移させる一方、前記第1パラメータの値が前記第1の閾値未満の状態においては、前記第1のアイコンに対するタッチ操作が行われても前記第2のタッチ操作として受け付けることなく前記第1のアイコンの表示態様を前記第1表示態様に遷移させないステップ(S10、S11)を実行させる。
【0199】
(付記5):
(付記4)において、前記第1のアイコンは、当該第1のアイコンに対するタッチ操作に応じて、前記第1オブジェクトに行わせるアクションの種別(スピン/ロブ、スライス)を選択するためのアイコンであって、前記第1の状態においては前記第1スキルに対応するアクションの種別を選択可能となるアイコンであり、前記第1のスタンバイ状態は、アクションの種別として前記第1スキルに対応するアクションの種別を選択している状態であり、前記タッチスクリーンには、前記第1のアイコンとは異なる第2のアイコン(スーパーショットボタン)が表示されており、前記プロセッサに、前記第1のスタンバイ状態とは異なり前記第1スキルに対応するアクションとは異なる他のアクションの種別を前記第1のアイコンに対するタッチ操作に応じて選択している状態において、第4のタッチ操作を受け付けることにより、当該選択している種別に応じたアクションを前記第1オブジェクトに発動させるステップと、第1の条件(スーパーショットに関連付けられている発動許可条件)を満たしている第2の状態において、前記第2のアイコンに対する第5のタッチ操作を受け付けることにより、前記第1スキルとは異なる第2スキル(スーパーショット)を前記第1オブジェクトに発動させることが可能な第2のスタンバイ状態(スーパーショットに対応する特殊ショットスタンバイ状態)に制御し、当該第2のスタンバイ状態において第6のタッチ操作を受け付けることにより前記第2スキルを前記第1オブジェクトに発動させるステップとを実行させる。
【0200】
(付記6):
(付記5)において、前記タッチスクリーンには、前記第1のアイコンとも前記第2のアイコンとも異なる第3のアイコン(ギアショットアイコン)が表示されており、前記プロセッサに、前記第1の条件とは異なる第2の条件(ギアショットに関連付けられている発動許可条件)を満たしている第3の状態において、前記第3のアイコンに対する第7のタッチ操作を受け付けることにより、前記第1スキルとも前記第2スキルとも異なる第3スキル(ギアショット)を前記第1オブジェクトに発動させることが可能な第3のスタンバイ状態(ギアショットに対応する特殊ショットスタンバイ状態)に制御し、当該第3のスタンバイ状態において第8のタッチ操作を受け付けることにより前記第3スキルを前記第1オブジェクトに発動させるステップを実行させる。
【0201】
(付記7):
(付記3)から(付記6)のいずれかにおいて、前記プロセッサに、前記第1のスタンバイ状態において、ゲーム進行に関してユーザに不利となる作用を及ぼすステップ(S03)を実行させる。
【0202】
(付記8):
(付記7)において、前記ゲームプログラムに基づくゲームは、ユーザにより操作されるキャラクタにより進行するゲームであり、前記プロセッサに、前記タッチスクリーンに対するタッチ操作に応じて前記キャラクタを移動させるステップ(S03)を実行させ、前記及ぼすステップは、前記不利となる作用を及ぼす制御として、前記キャラクタの移動速度を前記第1のスタンバイ状態ではないときよりも遅くする制御を行う。
【0203】
(付記9):
(付記2)から(付記8)のいずれかにおいて、前記ゲームプログラムに基づくゲームは、ユーザの操作に応じてキャラクタを移動させて進行するゲームであり、前記第1のタッチ操作は、前記キャラクタを移動させるためのタッチ操作を含み、前記更新するステップは、前記第1のタッチ操作が行われているときであって、当該第1のタッチ操作により前記キャラクタを移動させているときには、当該第1のタッチ操作により前記キャラクタを移動させていないときよりも前記第1パラメータの値の更新量が少なくなるように、当該第1パラメータの値を更新する。
【0204】
(付記10):
(付記2)から(付記9)のいずれかにおいて、前記更新するステップは、前記第1のタッチ操作が解除された後においても、当該第1のタッチ操作に応じて更新した前記第1パラメータの値を保持可能である。
【0205】
(付記11):
(付記2)から(付記10)のいずれかにおいて、前記ゲームプログラムに基づくゲームは、ユーザのタッチ操作に応じて動作する第1オブジェクトを操作して進行し、1回のゲーム中において終了条件が複数回成立し得るゲームであり、前記更新するステップは、一の終了条件が成立するまでの間における前記第1のタッチ操作に応じて前記第1パラメータの値を更新し、当該一の終了条件が成立したときに前記第1パラメータの値が前記第1の閾値に更新されていないときには当該第1パラメータの値を初期化する一方、前記第1パラメータの値が前記第1の閾値に更新されているときには当該第1パラメータの値として当該第1の閾値に相当する値を以降においても保持する。
【0206】
(付記12):
(付記11)において、前記更新するステップは、前記一の終了条件が成立するまでの間における前記タッチスクリーンに対するタッチ操作に応じて、前記第1パラメータの値が前記第1の閾値に更新された以降においても当該第1パラメータの値を更新し、当該一の終了条件が成立したときに前記第1パラメータの値が前記第1の閾値を超えているが第2の閾値に更新されていないときには前記第1の閾値を超えた値を初期化して当該第1パラメータの値として前記第1の閾値に相当する値を以降においても保持し、前記第1パラメータの値が前記第2の閾値に更新されているときには当該第1パラメータの値として前記第2の閾値に相当する値を以降においても保持し、前記第1のゲーム制御を実行するステップは、前記第1の状態において前記第2のタッチ操作および前記第3のタッチ操作を受け付けることにより、前記第1パラメータの値が前記第1の閾値を超えているが前記第2の閾値に更新されていない状態であるときよりも前記第1パラメータの値が前記第2の閾値に更新されている状態であるときの方が、前記第1スキルとしてユーザにとっての有利度合いが高いスキルを発動させる。
【0207】
(付記13):
(付記2)から(付記12)のいずれかにおいて、前記ゲームプログラムに基づくゲームは、ユーザのタッチ操作に応じて動作する第1オブジェクトと他ユーザにより操作される他のオブジェクトとの間で対戦するゲームであり、前記プロセッサに、前記他ユーザのタッチ操作に基づいて当該他ユーザに関連付けられている第1パラメータの値に応じた情報を報知するステップを実行させる。
【0208】
(付記14):
(付記1)から(付記13)のいずれかにおいて、前記ゲームプログラムに基づくゲームは、ユーザのタッチ操作に応じて動作する第1オブジェクトと、当該第1オブジェクトとは異なる第2オブジェクトとの位置関係に応じて進行するゲームであり、前記第1のゲーム制御を実行するステップにより前記第1のゲーム制御を実行させるための条件には、さらに、前記第3のタッチ操作が前記第1オブジェクトと前記第2オブジェクトとが所定の位置関係にある状態において受け付けられることを含む。
【0209】
(付記15):
本開示に示す一実施形態のある局面によれば、プロセッサ、メモリ、およびタッチスクリーンを備えるコンピュータ(図1のユーザ端末100)により実行されるゲーム方法であって、前記コンピュータが、前記タッチスクリーンに対する第1のタッチ操作が継続している間に第1パラメータ(チャージショットゲージ)の値を更新するステップ(S04)と、前記第1のタッチ操作の解除後において、ユーザから第2のタッチ操作を受け付けた後にさらに第3のタッチ操作を受け付けたことに基づいて、第1のゲーム制御(チャージショット)を実行するステップ(S18)とを備える。
【0210】
(付記16):
本開示に示す一実施形態のある局面によれば、情報処理装置(図1のユーザ端末100)であって、ゲームプログラムを記憶する記憶部(図3の120)と、前記ゲームプログラムを実行することにより、前記情報処理装置の動作を制御する制御部(図3の110)とを備え、前記制御部は、タッチスクリーンに対する第1のタッチ操作が継続している間に第1パラメータ(チャージショットゲージ)の値を更新するステップ(S04)と、前記第1のタッチ操作の解除後において、ユーザから第2のタッチ操作を受け付けた後にさらに第3のタッチ操作を受け付けたことに基づいて、第1のゲーム制御(チャージショット)を実行するステップ(S18)とを実行する。
【0211】
〔ソフトウェアによる実現例〕
ユーザ端末100およびサーバ200の各々における制御は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
【0212】
後者の場合、ユーザ端末100およびサーバ200は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0213】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0214】
1 ゲームシステム、 2 ネットワーク、 10,20 プロセッサ、 11,21 メモリ、 12,22 ストレージ、 15 タッチスクリーン、 151 入力部、 152 表示部、 17 カメラ、 18 測距センサ、 1010 物体、 1020 コントローラ、 1030 記憶媒体、 100 ユーザ端末、 200 サーバ、 120,220 記憶部、 121,221 ゲームプログラム、 122,222 ゲーム情報、 123,223 ユーザ情報、 110,210 制御部、 111 ゲーム進行処理部、 112 入力操作受付部、 113 カメラ配置制御部、 114 表示制御部、 115 オブジェクト制御部、 211 送受信部、 212 サーバ処理部、 213 データ管理部、 214 同期処理部


図1
図2
図3
図4
図5
図6
図7
図8