(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024045944
(43)【公開日】2024-04-03
(54)【発明の名称】プログラムおよび情報処理システム
(51)【国際特許分類】
A63F 13/85 20140101AFI20240327BHJP
A63F 13/79 20140101ALI20240327BHJP
A63F 13/812 20140101ALI20240327BHJP
G06F 3/0484 20220101ALI20240327BHJP
【FI】
A63F13/85
A63F13/79
A63F13/812 C
G06F3/0484
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022151052
(22)【出願日】2022-09-22
(71)【出願人】
【識別番号】509070463
【氏名又は名称】株式会社コロプラ
(74)【代理人】
【識別番号】100104547
【弁理士】
【氏名又は名称】栗林 三男
(74)【代理人】
【識別番号】100206612
【弁理士】
【氏名又は名称】新田 修博
(74)【代理人】
【識別番号】100209749
【弁理士】
【氏名又は名称】栗林 和輝
(74)【代理人】
【識別番号】100217755
【弁理士】
【氏名又は名称】三浦 淳史
(72)【発明者】
【氏名】澤田 純希
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA02
5E555AA05
5E555AA23
5E555AA25
5E555AA56
5E555BA02
5E555BA04
5E555BA20
5E555BB02
5E555BB04
5E555BB20
5E555BC04
5E555CA12
5E555CB12
5E555CB33
5E555CB41
5E555CB44
5E555CB45
5E555CB58
5E555DA02
5E555DB11
5E555DB53
5E555DC09
5E555DC10
5E555DC11
5E555DC13
5E555DC19
5E555DC31
5E555DC59
5E555DD07
5E555EA03
5E555EA07
5E555EA27
5E555FA00
(57)【要約】
【課題】サービスの興趣性を向上させる。
【解決手段】プログラムは、コンピュータを、ユーザからノンプレイヤキャラクタに送られたメッセージに対するノンプレイヤキャラクタからの返答をユーザに送るメッセージ処理手段として機能させ、メッセージ処理手段は、所定の条件に基づいて、返答を送る確率を制御する。
【選択図】
図15
【特許請求の範囲】
【請求項1】
コンピュータを、
ユーザからノンプレイヤキャラクタに送られたメッセージに対する前記ノンプレイヤキャラクタからの返答を前記ユーザに送るメッセージ処理手段として機能させ、
前記メッセージ処理手段は、所定の条件に基づいて、前記返答を送る確率を制御する
プログラム。
【請求項2】
前記所定の条件は、前記ユーザから前記ノンプレイヤキャラクタに送られたメッセージの履歴に関する条件である
請求項1に記載のプログラム。
【請求項3】
前記メッセージ処理手段は、前記ユーザから前記ノンプレイヤキャラクタに送られたメッセージの数に応じて前記返答を送る確率が変化するように制御する
請求項1に記載のプログラム。
【請求項4】
前記メッセージ処理手段は、所定期間内に前記ユーザから前記ノンプレイヤキャラクタに送られたメッセージの数が所定値を超えると、前記所定値を超えないときに比べて前記返答を送る確率が低下するように制御する
請求項3に記載のプログラム。
【請求項5】
前記所定値として、第1所定値と、前記第1所定値よりも大きい第2所定値との少なくとも2つが含まれ、
前記メッセージ処理手段は、
所定期間内に前記ユーザから前記ノンプレイヤキャラクタに送られたメッセージの数が前記第1所定値を超えると、前記第1所定値を超えないときに比べて前記返答を送る確率が低下し、
所定期間内に前記ユーザから前記ノンプレイヤキャラクタに送られたメッセージの数が前記第2所定値を超えると、前記第2所定値を超えないときに比べて前記返答を送る確率が低下するように制御する
請求項4に記載のプログラム。
【請求項6】
前記メッセージ処理手段は、前記ユーザから前記ノンプレイヤキャラクタに送られたメッセージの長さに応じて前記返答を送る確率が変化するように制御する
請求項1に記載のプログラム。
【請求項7】
ユーザからノンプレイヤキャラクタに送られたメッセージに対する前記ノンプレイヤキャラクタからの返答を前記ユーザに送るメッセージ処理手段を備え、
前記メッセージ処理手段は、所定の条件に基づいて、前記返答を送る確率を制御する
情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラムおよび情報処理システムに関する。
【背景技術】
【0002】
従来より、他のユーザやノンプレイヤキャラクタとの間でメッセージの送受信が可能なゲームが知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、ゲーム等のサービスにおいては、興趣性を向上させることが求められていた。
【0005】
本発明は、前記事情に鑑みてなされたものであり、サービスの興趣性を向上させることを目的とする。
【課題を解決するための手段】
【0006】
本開示に示す一実施形態によれば、
コンピュータを、
ユーザからノンプレイヤキャラクタに送られたメッセージに対する前記ノンプレイヤキャラクタからの返答を前記ユーザに送るメッセージ処理手段として機能させ、
前記メッセージ処理手段は、所定の条件に基づいて、前記返答を送る確率を制御する
プログラムが提供される。
【発明の効果】
【0007】
本発明によれば、サービスの興趣性を向上させることができる。
【図面の簡単な説明】
【0008】
【
図2】ゲームシステムの機能的構成を示すブロック図である。
【
図3】ゲーム空間を表示する画面の一例を示す図である。
【
図4】移動オブジェクトが移動する様子を示す図である。
【
図5】移動オブジェクトが指標オブジェクトに到達した様子を示す図である。
【
図6】ショットに係る処理の一例を示すフローチャートである。
【
図7】定型メッセージを選択可能な画面の一例を示す図である。
【
図8】送受信されたメッセージを表示する画面の一例を示す図である。
【
図10】ノンプレイヤキャラクタからの返答の一例を示す図である。
【
図11】ノンプレイヤキャラクタからの返答の一例を示す図である。
【
図12】特定の事象達成時にノンプレイヤキャラクタから送られる定型メッセージの一例を示す図である。
【
図13】小型ウィンドウの表示の一例を示す図である。
【
図14】メッセージの送受信に係る処理の一例を示すフローチャートである。
【
図15】ノンプレイヤキャラクタからの返答確率の制御に係る処理の一例を示すフローチャートである。
【
図16】ノンプレイヤキャラクタからのメッセージの送信の制限に係る処理の一例を示すフローチャートである。
【
図17】特定の事象達成時のノンプレイヤキャラクタからのメッセージの送信に係る処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を参照しながら本発明の実施形態について説明する。
【0010】
<ゲームシステムのハードウェア構成>
図1に示すように、本実施形態のゲームシステム1は、複数の端末装置10と、サーバ20とを備えている。
【0011】
端末装置10とサーバ20とは、ネットワーク2を介して接続される。ネットワーク2は、例えば、インターネット、移動通信システム(例えば、3G、4G、5G、LTE(Long Term Evolution)等)、WiFi(Wireless Fidelity)、ブルートゥース(登録商標)、その他の通信回線、またはこれらの組み合わせ等のいずれによって構成されていてもよい。また、端末装置10とサーバ20との接続は、有線接続であるか無線接続であるかを問わない。
【0012】
サーバ20(換言すると、コンピュータ、情報処理装置)は、例えば、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであってもよい。サーバ20は、プロセッサ21と、メモリ22と、ストレージ23と、通信IF(インターフェース)24と、入出力IF25と、を備える。サーバ20が備えるこれらの構成は、通信バスによって互いに接続される。
【0013】
プロセッサ21は、サーバ20全体の動作を制御する。プロセッサ21は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)およびGPU(Graphics Processing Unit)等を含み得る。プロセッサ21は、ストレージ23からプログラムを読み出し、メモリ22に展開する。プロセッサ21は、展開したプログラムを実行する。
【0014】
メモリ22は、主記憶装置である。メモリ22は、例えば、ROM(Read Only Memory)およびRAM(Random Access Memory)等の記憶装置により構成される。メモリ22は、プロセッサ21がストレージ23から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ21に作業領域を提供する。メモリ22は、プロセッサ21がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
【0015】
なお、本実施形態においてプログラムとは、ゲームを端末装置10により実現するプログラムであってもよい。また、当該プログラムは、当該ゲームを端末装置10とサーバ20との協働により実現するプログラムであってもよい。なお、端末装置10とサーバ20との協働により実現されるゲームは、一例として、端末装置10において起動されたブラウザ上で実行されるゲームであってもよい。また、当該プログラムは、当該ゲームを複数の端末装置10の協働により実現するプログラムであってもよい。また、各種データには、例えば、ユーザ情報およびゲーム情報などのゲームに関するデータ、および端末装置10とサーバ20との間で送受信される指示や通知が含まれる。
【0016】
ストレージ23は、補助記憶装置である。ストレージ23は、例えば、フラッシュメモリまたはHDD(Hard Disk Drive)等の記憶装置により構成される。ストレージ23には、ゲームに関する各種データが格納される。
【0017】
通信IF24は、サーバ20と端末装置10等との間におけるネットワークを介した各種データの送受信を制御する。
【0018】
入出力IF25は、サーバ20がデータの入力を受け付けるためのインターフェースであるとともに、サーバ20がデータを出力するためのインターフェースである。入出力IF25は、例えば、マウス、キーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。
【0019】
端末装置10(換言すると、コンピュータ、情報処理装置)は、例えば、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、タブレット型コンピュータ、パーソナルコンピュータ、ウェアラブル端末、またはゲーム装置等であってもよい。端末装置10は、携帯端末であってもよい。端末装置10は、ユーザがゲームを実行する際に可搬型の端末であってもよい。
【0020】
端末装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信IF14と、入出力IF15と、入力部17と、表示部18と、を備える。端末装置10が備えるこれらの構成は、通信バスによって互いに接続される。
【0021】
プロセッサ11は、端末装置10全体の動作を制御する。プロセッサ11は、CPU、MPUおよびGPU等を含み得る。プロセッサ11は、ストレージ13からプログラムを読み出し、メモリ12に展開する。プロセッサ11は、展開したプログラムを実行する。
【0022】
メモリ12は、主記憶装置である。メモリ12は、例えば、ROMおよびRAM等の記憶装置により構成される。メモリ12は、プロセッサ11がストレージ13から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ11に作業領域を提供する。メモリ12は、プロセッサ11がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
【0023】
ストレージ13は、補助記憶装置である。ストレージ13は、例えば、フラッシュメモリまたはHDD等の記憶装置により構成される。ストレージ13には、ゲームに関する各種データが格納される。
【0024】
通信IF14は、端末装置10とサーバ20等との間におけるネットワークを介した各種データの送受信を制御する。
【0025】
入出力IF15は、端末装置10がデータの入力を受け付けるためのインターフェースであるとともに、端末装置10がデータを出力するためのインターフェースである。入出力IF15は、例えばUSB(Universal Serial Bus)等を介してデータの入出力を行うこととしてもよい。入出力IF15は、入力部17または表示部18等を含み得る。
【0026】
入力部17は、ユーザによる入力を受け付ける。入力部17は、例えば、タッチパッド等のポインティングデバイスであってもよい。表示部18は、画像を表示する。表示部18は、例えば、液晶ディスプレイまたは有機EL(Electro-Luminescence)ディスプレイ等であってもよい。端末装置10は、例えば、入力部17と表示部18とを組み合わせた電子部品であるタッチスクリーン16を備える。
【0027】
入力部17は、ユーザの操作(例えば、タッチ操作、タップ操作、スライド操作、スワイプ操作、およびフリック操作等)により入力面に対して入力された位置を検知し、検知した位置を示す情報を入力信号として送信する機能を有する。入力部17としてのタッチパネルは、静電容量方式または抵抗膜方式等を採用することができるが、他の方式であってもよい。
【0028】
なお、入力部17は、例えば、キーボード、各種物理ボタン、各種センサ(例えば、加速度センサまたは角速度センサ等)、操作スティック、カメラ、またはマイク等であってもよい。また、表示部18は、例えば、プロジェクタ等であってもよい。
【0029】
<ゲームシステムの機能的構成>
図2は、サーバ20および端末装置10の機能的構成を示すブロック図である。本実施形態におけるサーバ20は、例えば、ゲームを実現するために必要な各種データおよびプログラムを各端末装置10に提供する機能、各端末装置10からゲームに関するデータを収集して管理する機能、ならびに複数の端末装置10間の同期処理を行う機能等を有する。
【0030】
なお、本実施形態において、サーバ20は、ゲームごとに事前に登録されるユーザのアカウントを用い、各ユーザおよび端末装置10を識別する。アカウントの登録方法は特に限定されない。例えば、端末装置10またはパーソナルコンピュータ等の他の装置が、ユーザの操作に基づいて、ユーザのアカウント登録に必要な情報をサーバ20に送信し、サーバ20が、受信した情報に基づいて各ユーザのアカウントを作成および保存することとしてもよい。
【0031】
図2に示すように、サーバ20は、プロセッサ21、メモリ22、ストレージ23、通信IF(インターフェース)24、および入出力IF25等の協働によって、制御部210および記憶部220として機能する。記憶部220は、制御部210が使用する各種データを格納する。各種データとして、例えば、ゲームプログラム221、ゲーム情報222およびユーザ情報223がある。
【0032】
ゲームプログラム221は、ゲームを実現するためのプログラムである。ゲーム情報222およびユーザ情報223は、制御部210がゲームプログラム221を実行するときに参照するデータである。
【0033】
なお、ゲームプログラム221は、サーバ20側で実行するゲームプログラムに加え、端末装置10に送信して端末装置10側で実行するプログラム(後述するゲームプログラム121)を含むこととしてもよい。あるいは、記憶部220が、サーバ20側で実行するゲームプログラム221と、端末装置10側で実行するプログラムとを格納することとしてもよい。
【0034】
ゲーム情報222は、アカウント間で共通の情報である。ゲーム情報222は、例えば、各種ゲーム空間を規定するための情報を含む。ゲーム空間とは、ユーザが操作可能なキャラクタ(以下、「操作キャラクタ」あるいは「プレイヤキャラクタ」ともいう。)のオブジェクトが配置される空間である。また、ゲーム情報222は、例えば、ゲーム空間内に配置される建物や木、石等の背景オブジェクトやノンプレイヤキャラクタ(non player character:NPC)のオブジェクトの配置位置や大きさ、色、形状等、アカウント間で共通のオブジェクトに関する各種設定情報を含む。また、ゲーム情報222は、例えば、ノンプレイヤキャラクタの各種パラメータの設定値等を含む。以下においては、ゲーム空間に配置されたキャラクタのオブジェクトを指して、単に「キャラクタ」ということもある。
【0035】
ユーザ情報223は、ゲームのアカウントごとに管理される情報である。ユーザ情報223は、例えば、操作キャラクタに関する情報、保有資産に関する情報、およびゲームの進行度合いを示す情報等を含む。保有資産として、例えば、ゲーム内通貨、アイテム、キャラクタの装備品等が挙げられる。
【0036】
制御部210は、記憶部220に格納されたゲームプログラム221を実行することにより、ゲームに関する各種処理を制御する。制御部210は、例えば、送受信部211、サーバ処理部212、データ管理部213および同期処理部214を有する。
【0037】
送受信部211は、各種データを送信または受信する。送受信部211は、例えば、各種データおよびプログラムの送信要求や、マルチプレイ機能に対応するための同期処理の要求、同期処理の対象となるデータ等を、各端末装置10から受信し、サーバ処理部212に渡す。また、送受信部211は、サーバ処理部212による制御に従って、同期を取るための指示等を含む各種データやプログラムを、各端末装置10に送信する。
【0038】
本実施形態において、マルチプレイ機能とは、複数のアカウントによるゲーム処理を同期させた状態で進行させる機能である。ゲームシステム1のサーバ20および端末装置10は、ゲームシステム1にログインしているアカウントが同じゲームに複数参加する場合に、マルチプレイ機能に対応するための各種処理を実行する。
【0039】
サーバ処理部212は、端末装置10からの要求等に応じ、ゲームプログラム221に記述された演算処理を実行することで、端末装置10にゲームを提供する。サーバ処理部212は、例えば、マルチプレイ機能に対応するための同期処理の要求や同期処理の対象となるデータを、送受信部211を介して端末装置10から受け取ると、マルチプレイ機能に対応するための同期処理を実行する。また、サーバ処理部212は、ゲーム情報222またはユーザ情報223の送信指示を送受信部211に指令する。さらに、サーバ処理部212は、ゲーム情報222またはユーザ情報223のレコードの追加、更新または削除に関する指示をデータ管理部213に指令する。
【0040】
データ管理部213は、記憶部220に格納されている各種データをサーバ処理部212の指示に従って管理する。データ管理部213は、例えば、サーバ処理部212からの指令に従って、ゲーム情報222またはユーザ情報223を読み出し、送受信部211を介して端末装置10に送信する。また、データ管理部213は、サーバ処理部212からの指令に従って、ゲーム情報222またはユーザ情報223のレコードを、追加、更新または削除する。
【0041】
同期処理部214は、サーバ処理部212からの指令に従って、ゲームのマルチプレイ機能に対応するための同期処理を実行する。同期処理部214は、例えば、サーバ20が複数の端末装置10に対して情報を送信するときに、各端末装置10に同時に情報を送信することで、各端末装置10間で進行するゲームの同期を取る。具体的に、同期処理部214は、各アカウントに対応する端末装置10から所定期間(例えば、一フレーム)内に受信した操作情報を、所定期間ごとに各端末装置10に同時に送信する。操作情報は、端末装置10に入力される操作に関する情報である。同期のタイミングや同期すべき情報は、サーバ処理部212から随時受信することとしてもよい。同期処理を実行することで、一つの端末装置10で入力された操作に起因するゲーム内の事象を、他の端末装置10に同時に反映させることが可能となる。
【0042】
本実施形態における端末装置10は、例えば、ユーザの入力操作を受け付ける入力装置としての機能、およびゲームの画像や音声を出力する出力装置としての機能等を有する。
【0043】
端末装置10は、プロセッサ11、メモリ12、ストレージ13、通信IF14、および入出力IF15等の協働によって、制御部110および記憶部120として機能する。記憶部120は、制御部110が使用する各種データを格納する。各種データとして、例えば、ゲームプログラム121、ゲーム情報122およびユーザ情報123がある。
【0044】
ゲームプログラム121は、端末装置10側でゲームを実現するためのプログラムである。ゲーム情報122およびユーザ情報123は、制御部110がゲームプログラム121を実行するときに参照するデータである。
【0045】
ゲーム情報122は、上述したサーバ20のゲーム情報222と同様の情報を含む。したがって、ここではゲーム情報122の説明を省略する。
【0046】
ユーザ情報123は、端末装置10を使用するユーザのアカウントに関するデータであり、上述したサーバ20のユーザ情報223と同様の情報を含む。したがって、ここではユーザ情報123の説明を省略する。
【0047】
制御部110は、記憶部120に格納されたゲームプログラム121を実行することにより、端末装置10において実行されるゲームに関する各種処理を制御する。制御部110は、例えば、操作受付部111、送受信部112、ゲーム進行部113、表示制御部114、メッセージ処理部115、第2メッセージ処理部116、およびNPC制御部119を有する。
【0048】
操作受付部111は、入力部17を介してユーザにより入力される操作(以下、「入力操作」ともいう。)を受け付ける。具体的には、操作受付部111は、入力部17に対する入力操作がされた場合に、入力位置の座標および入力操作の種類を検知する。入力操作の種類として、例えば、タッチ操作、タップ操作、スライド操作、スワイプ操作、フリック操作、ピンチイン操作およびピンチアウト操作等の、手指等による各種操作が挙げられる。入力操作は、入力部17(例えば、タッチスクリーン16)に物理的に接触する操作に限らず、非接触による操作も含み得る。なお、タッチスクリーン16への接触を終了するタッチオフ操作等のそれまで行っていた入力操作を終了する操作も、入力操作の一態様ということができる。
【0049】
ここで、操作受付部111は、入出力IF15を介して接続された操作機器を用いてされる入力操作についても、入力部17に対する入力操作と同様に受け付けることができる。
【0050】
送受信部112は、各種データを送受信する。以下に、具体例を挙げて説明する。
【0051】
送受信部112は、ゲーム情報122またはユーザ情報123や、マルチプレイ機能に対応するための同期要求を、サーバ20に送信する。送受信部112は、各種データ、プログラム、およびマルチプレイ機能に対応するための同期のためのデータ等を、サーバ20から受信する。同期のためのデータには、例えば、マルチプレイに参加している各端末装置10間で同期を取るように指示するための同期指示データが含まれる。同期指示データには、例えば、同期対象となるデータおよびそのデータの種類や、同期する時期を特定するためのデータ等が含まれる。
【0052】
送受信部112は、操作受付部111により受け付けられた入力操作に関する操作情報を、サーバ20に送信する。送受信部112は、他の端末装置10において他のユーザにより入力された操作に関する操作情報を、サーバ20から受信する。
【0053】
ゲーム進行部113は、ゲームの進行に関する各種処理を実行する。以下に、具体例を挙げて説明する。
【0054】
ゲーム進行部113は、ゲーム情報122に含まれるゲーム空間を規定するための情報に基づいて、ゲーム空間を規定する。ゲーム進行部113は、ゲーム情報122に含まれるオブジェクトの設定情報に基づいて、ゲーム空間にオブジェクトを配置する。ゲーム進行部113は、ゲーム空間に配置したオブジェクトを制御する。具体的には、ゲーム進行部113は、ゲーム空間内でのオブジェクトの位置、向き、形状、色等を変更することや、オブジェクトに所定の動作を行わせるように、オブジェクトを制御する。
【0055】
ゲーム進行部113は、ゲーム空間のうちユーザに提示する領域を指定するための仮想カメラを規定する。ゲーム進行部113は、ゲーム空間内での仮想カメラの位置および向きを規定することにより、ゲーム空間内に仮想カメラを配置する。ゲーム進行部113は、仮想カメラにより規定される視野領域およびこの視野領域に配置されているオブジェクトを描画した画像を生成するように、表示制御部114に指示する。
【0056】
仮想カメラの位置および向きは、ゲーム空間ごとに適宜決定することができる。例えば、ゲーム進行部113は、特定のオブジェクトの位置や向きを基準とし、特定のオブジェクトが特定の向きで視野領域の中央に位置するように、仮想カメラを配置する。その際、ゲーム進行部113は、特定のオブジェクトに対する方向、距離および角度を用い、仮想カメラの位置や向きを調整する。特定のオブジェクトは、例えば、操作キャラクタやノンプレイヤキャラクタ等の動的なオブジェクトであってもよいし、建物や木、石等の静的なオブジェクトであってもよい。動的なオブジェクトには、各ユーザの操作に基づいてそれぞれ動作する操作キャラクタと、ゲームプログラム121,221に基づいて動作するキャラクタ(例えば、ノンプレイヤキャラクタ、敵キャラクタ等)とが含まれる。なお、ノンプレイヤキャラクタとは、ゲームをプレイするユーザのいずれもが操作対象としないキャラクタともいえる。
【0057】
ゲーム進行部113は、操作受付部111により検知された入力位置の座標および入力操作の種類等に基づいて、ユーザの指示内容を解釈する。ゲーム進行部113は、解釈した指示内容等に基づいて、ゲームの進行に関わる各種判定処理を実行する。ゲーム進行部113は、判定処理の結果等に基づいて、オブジェクトや仮想カメラ等を制御しながらゲームを進行する。ゲーム進行部113は、ゲームの進行状況に応じて、ゲーム情報122やユーザ情報123を更新、追加または削除する。
【0058】
表示制御部114は、表示部18に画像を表示させる。以下に、具体例を挙げて説明する。
【0059】
表示制御部114は、ゲーム空間のうち、ゲーム進行部113が規定する仮想カメラの視野の領域と、その領域に存在するオブジェクトとを描画した画像を生成し、表示部18に表示させる。表示制御部114は、表示部18に表示させる画像に対し、例えば、アイコン、ボタン、各種パラメータを示すメニュー等、ゲームの種々の操作に必要なUI(User Interface)に関わるオブジェクトを重畳して描画することができる。
【0060】
なお、
図2に示す端末装置10およびサーバ20の機能は一例にすぎない。端末装置10およびサーバ20の各装置は、他の装置が備える機能の少なくとも一部を備えていてもよい。また、端末装置10およびサーバ20等の各装置は、一体の機器により実現されるものでなくてもよく、例えば、ネットワーク等を介して接続される複数の機器によって実現されてもよい。また、ゲームシステム1は、例えば、端末装置10またはサーバ20のみによって構成されていてもよい。換言すると、ゲームシステム1は、ネットワークを介して接続される複数の機器によって実現されていなくてもよい。
【0061】
<本実施形態に係る処理>
次に、本実施形態に係る処理について説明する。なお、本実施形態では、端末装置10のプロセッサ11またはサーバ20のプロセッサ21が、ゲームシステム1に記憶されているプログラムを実行することによって、後述する各処理を行うものとして説明する。ただし、後述する処理であってプロセッサ11が行う処理のうちの少なくとも一部を、プロセッサ11とは別のプロセッサが実行するようにしてもよい。また、後述する処理であってプロセッサ21が行う処理のうちの少なくとも一部を、プロセッサ21とは別のプロセッサが実行するようにしてもよい。換言すると、本実施形態においてプログラムを実行するコンピュータは、端末装置10およびサーバ20のいずれであってもよく、また、複数の装置の組み合わせにより実現されてもよい。
【0062】
<ゲームの基本動作>
以下では、本実施形態に係る構成をゴルフゲームに適用した場合を例に説明する。
【0063】
図3~
図5は、ゲーム空間30としてのゴルフコースを含む空間を示す表示画面例である。
図3~
図5を参照しながら、ゲーム空間30およびゲーム空間30に重ねて表示される各種オブジェクトについて説明する。
【0064】
表示制御部114は、ゲーム進行部113の指示に応じて、表示部18にゲーム空間30の画像を表示させる。具体的には、表示制御部114は、ゲーム空間30のうち、制御部110が規定する仮想カメラの視野の領域と、当該領域に存在するオブジェクトとを描画した画像を生成し、表示部18に表示させる。具体的には、表示制御部114は、ゲーム空間30に存在するオブジェクトである、ユーザの操作に基づいて移動するオブジェクトとしてのボール31、ボール31を導く目標地点となるオブジェクトとしてのカップ32、およびプレイヤキャラクタ33等を表示部18に表示させる。また、表示制御部114は、例えば、当該画像に、アイコン、ボタン、各種パラメータを示すメニュー等、ゲームの種々の操作に必要なUI(User Interface)に係るオブジェクトを重畳して描画し、表示部18に表示させる。具体的には、表示制御部114は、カップの位置を示すカップ指標36、ならびに、後述する移動オブジェクト40、パワー指標41、および指標オブジェクト50等のオブジェクトを表示部18に表示させる。
【0065】
カップ指標36は、例えば、カップ32から所定の色彩の光が延び出るように表示される指標である。ゲーム進行部113は、例えば、カップ指標36を、コースの芝の色彩と区別がつくような色彩に設定する。カップ指標36を表示させることで、ユーザは、プレイヤキャラクタ33の背後から映されたゲーム空間30において、カップ32の位置を容易に視認できる。
【0066】
本実施形態では、ゲーム進行部113は、カップ32にボール31を入れるという目標の達成を目指す1ホール(換言すると、1ステージ)のゲームの実行中において、ユーザによる所定の操作に基づいてボール31を移動させる。以下、
図3~
図5を参照しながら、ゲームの進行について説明する。
【0067】
ゲーム進行部113は、
図3に示すように、ボール31およびアドレスの姿勢を取るプレイヤキャラクタ33を表示部18に表示させるよう、表示制御部114に指示する。また、ゲーム進行部113は、移動オブジェクト40を表示部18に表示させるよう表示制御部114に指示する。
【0068】
移動オブジェクト40は、例えば、円形状を呈し、移動オブジェクト40から所定の方向に延び出る直線状の指標(
図3においては、点状の図形とV字状の図形が直線状に並んだ指標。以下、「パワー指標41」という。)に沿って移動するオブジェクトである。パワー指標41は、ショットのパワーを示す数値が付されたものであってもよい。ショットのパワーを示す数値は、例えば、パワーの割合を示す百分率であってもよく、飛距離を示すヤードまたはメートル等であってもよい。
【0069】
操作受付部111は、ユーザによるタッチスクリーン16の所定位置を選択する操作を受け付ける。ゲーム進行部113は、ユーザによる、選択された所定位置からのスワイプ操作に応じて、移動オブジェクト40を移動させる(
図4参照)。具体的には、ゲーム進行部113は、ユーザのタッチスクリーン16へのタッチ位置が移動オブジェクト40に重なると判断した場合、ユーザのスワイプ操作に応じて、移動オブジェクト40を移動させる。また、ゲーム進行部113は、ユーザのタッチスクリーン16へのタッチ位置が移動オブジェクト40を中心とした所定の範囲内にあると判断した場合、ユーザのスワイプ操作に応じて、移動オブジェクト40を移動させてもよい。これにより、ユーザはプレイヤキャラクタ33のテイクバック動作のイメージを掴むことができるため、ゲームの興趣性が向上される。
【0070】
なお、移動オブジェクト40は、パワー指標41に沿って移動させることが可能であるが、「パワー指標に沿って」とは、パワー指標41の直上を移動オブジェクト40が移動するものに限らず、パワー指標41の延びる方向に移動オブジェクト40が移動するものであればよい。また、移動オブジェクト40を移動させるスワイプ操作は、パワー指標41の直上を通るものでなくてもよい。換言すると、例えば、パワー指標41を目印とした予め定められた範囲や方向への操作を、移動オブジェクト40を移動させる操作とすることができる。
【0071】
また、ゲーム進行部113は、移動オブジェクト40を移動させる際に移動オブジェクト40の形状を変化させてもよい(
図3~
図5参照)。
【0072】
ゲーム進行部113は、ユーザが移動オブジェクト40をパワー指標41に沿ってスワイプ操作すると(換言すると、指標オブジェクト50から遠ざかる方向へスワイプ操作すると)、指標オブジェクト50を表示部18に移動表示させるよう、表示制御部114に指示する。以下、指標オブジェクト50の詳細について説明する。
【0073】
まず、指標オブジェクト50の構造の詳細について説明する。
図3に示すように、指標オブジェクト50は、例えば、扇形状の周縁部を外縁に沿って切り取った形状を呈し、複数の区切られた領域(以下、「指標領域51」という。)を有するオブジェクトである。指標領域51は、例えば、ショットの質を示す領域である。ここで、ショットの質とは、例えば、ショットされたボール31の曲がり具合や、ショットの成功度合い(例えば、狙った方向からの逸れ具合、ボール31への当たり具合)等であってもよい。具体的には、複数の指標領域51のうちの中心の領域を、ショットされたボール31が直進する(換言すると、狙った方向へ向かう)指標領域51とし、中心から一方側に離れた領域ほど、ショットされたボール31が一方側に曲がる(換言すると、狙った方向から一方側に逸れる)指標領域51とし、中心から他方側に離れた領域ほど、ショットされたボール31が他方側に曲がる(換言すると、狙った方向から他方側に逸れる)指標領域51とし、中心から所定範囲外に位置する領域を、ミスショットとなる指標領域51としてもよい。また、指標領域51は、ショットされたボール31の軌道を示す記号が付されたものであってもよい。ここで、当該記号は、例えばショットされたボール31の軌道の曲がり具合を示す矢印等であってもよい。
【0074】
ゲーム進行部113は、ゲーム空間30におけるボール31周辺の環境に基づき指標領域51を設定する。具体的には、ゲーム進行部113は、ボール31がラフ、傾斜面、またはバンカー等のフェアウェイ上から外れた位置に存在する場合、ボール31がフェアウェイ上に存在する場合に比べて、ボール31を狙ったところに導くことが難しくなるように指標領域51を定める。より具体的には、例えば、フェアウェイ上から外れた位置に存在する場合、ボール31がフェアウェイ上に存在する場合に比べて、ボール31が直進する(換言すると、狙った方向へ向かう)指標領域51に対するボール31が曲がる(換言すると、狙った方向から逸れる)指標領域51の大きさや、ミスショットとなる指標領域51の大きさが大きくなるように(換言すると、指標オブジェクト50におけるボールが曲がる指標領域51や、ミスショットとなる指標領域51の占める割合が大きくなるように)指標領域51を設定してもよい。また、例えば、ボール31がフェアウェイ上から外れた位置に存在する場合、ボール31がフェアウェイ上に存在する場合に比べて、指標オブジェクト50全体の幅が狭まる(あるいは広がる)などしてもよい。
【0075】
次に、指標オブジェクト50の動作の詳細について説明する。
ゲーム進行部113は、指標オブジェクト50を、プレイヤキャラクタ33がショットするボール31の進行方向(換言すると、飛球方向)と交差する方向に往復移動させる(
図3~
図5参照)。ここで、進行方向とは、ユーザがボール31をショットしたときにボール31が進行する側の方向である。換言すると、ゲーム進行部113は、指標オブジェクト50を、パワー指標41の延びる方向と交差する方向に往復移動させる。具体的には、ゲーム進行部113は、指標オブジェクト50を、例えばパワー指標41の一方側の端部に接触させながら、所定の曲線に沿って所定の角速度で往復移動させる。これにより、正確なショットを実行する際の難易度を高めることができるため、ゲームの興趣性が向上される。
【0076】
ゲーム進行部113は、移動オブジェクト40が指標オブジェクト50から遠ざかるに従って、指標オブジェクト50の往復移動の速度が速くなるように、指標オブジェクト50を制御してもよい。これにより、ユーザがショットのパワーを大きく設定するほど、ユーザの意図する軌道でのショットを実現しにくくなるため、ゲームの興趣性が向上される。
【0077】
また、ゲーム進行部113は、ボール31周辺の環境に基づいて、指標オブジェクト50の往復移動の移動速度を変化させてもよい。例えば、ゲーム進行部113は、ボール31が、ラフ、傾斜面またはバンカー等のフェアウェイ上から外れた位置に存在する場合、ボール31がフェアウェイ上に存在する場合に比べて、指標オブジェクト50の移動速度を速くしてもよい。これにより、ショットする環境が悪いほど適切なショットを実行するための難易度を高めることができるため、ゲームの興趣性が向上される。
【0078】
ゲーム進行部113は、ユーザの入力操作に基づいて移動オブジェクト40の位置を決定し、当該入力操作が解除されたときに、移動オブジェクト40を指標オブジェクト50に向かって移動させ、当該入力操作の解除位置と、指標オブジェクト50と移動後の移動オブジェクト40との位置関係で定まる指標領域51の指標と、に応じたショットを実行するショット実行処理を行う。換言すると、ショット実行処理は、特定の入力操作の解除位置と、指標オブジェクト50と移動後の移動オブジェクト40との位置関係で定まる指標領域51の指標とに基づいて、ボールの到達位置を判断する処理である。
【0079】
ショット実行処理は、パワー決定処理と軌道決定処理とを含んでいてもよい。
【0080】
パワー決定処理は、例えば、ユーザの入力操作が解除されたときの解除位置に基づいて、ショットのパワーを決定する処理である。具体的には、
図4に示すように、ゲーム進行部113は、ユーザによって選択された所定位置から、ユーザのスワイプ操作に応じて移動オブジェクト40をパワー指標41に沿って移動させる。ここでのスワイプ操作は、例えば、指標オブジェクト50から遠ざかる方向への操作である。
【0081】
パワー決定処理において、ゲーム進行部113は、スワイプ操作の終点で定まる移動オブジェクト40の、指標オブジェクト50からの距離が長いほど、ショットのパワーを大きくさせる。具体的には、ゲーム進行部113は、例えば、解除位置に対応するパワー指標41に応じたパワーを判断する。パワー指標41に応じて判断されるパワーが大きいほど、ショットされたボール31が遠くに飛ぶこととなる。パワー指標41は、例えば、指標オブジェクト50から遠ざかるにつれて、パワーを示す数値が大きくなるように設定されている。
図4では、パワー指標41の「90%」を示す位置で解除されているため、ショットのパワーは、最大パワーの「90%」となる。
【0082】
軌道決定処理は、例えば、移動後の移動オブジェクト40と指標オブジェクト50との位置関係でショットの軌道(換言すると、ボール31の向かう方向)を決定する処理である。具体的には、例えば、ゲーム進行部113は、パワーの決定に係る特定の入力操作(例えば、指標オブジェクト50から遠ざかる方向へのスワイプ操作)が解除されると、移動オブジェクト40を、指標オブジェクト50に向かって、パワー指標41に沿って移動させる(
図4および
図5参照)。すなわち、ショットのパワーを決定したと同時に、自動的にボールの軌道を決定する手順に移行される。これにより、ユーザにシームレスなショット操作を提供できるため、ゲームの興趣性が向上される。
【0083】
軌道決定処理において、ゲーム進行部113は、移動オブジェクト40を、ユーザの操作によって指示された方向に移動させることとしてもよい。すなわち、ゲーム進行部113は、パワーの決定に係る特定の入力操作が解除されたときに、移動オブジェクト40を指標オブジェクト50に向かって移動させるが、このときに、例えば、当該解除の際にユーザがフリック操作で指示した方向に移動オブジェクト40を移動させることとしてもよい。
図5は、この場合の表示画面例である。これにより、ユーザに自由度の高いショット操作を提供できるため、ゲームの興趣性が向上される。また、例えば、当該解除の際に、ユーザが、パワーの決定に係るスワイプ操作とは異なる方向へのスワイプ操作(例えば、移動オブジェクト40が指標オブジェクト50へ近づく方向へのスワイプ操作)を行い、当該異なる方向へのスワイプ操作によってユーザが指示した方向に移動オブジェクト40を移動させることとしてもよい。ここで、例えば、移動オブジェクト40が指標オブジェクト50に接触するまで当該異なる方向へのスワイプ操作をするようになっていてもよく、移動オブジェクト40が指標オブジェクト50に接触するよりも前の地点まで当該異なる方向へのスワイプ操作を行った後にフリック操作を行うようになっていてもよい。また、ショットのパワーの決定に係る特定の入力操作がされた後、タッチスクリーン16への接触を終了する操作(例えば、指を離すタッチオフの操作)がされると、移動オブジェクト40が、パワー指標41の指標オブジェクト50側の端部等の所定位置に向かって(換言すると、指標オブジェクト50に向かって)移動するようになっていてもよい。なお、当該所定位置は、パワーの決定に係る入力操作等に応じて変動してもよい。すなわち、本実施形態において「パワーの決定に係る特定の入力操作の解除」とは、例えば、タッチスクリーン16への指の接触が解除されることに限らず、所定方向(例えば、指標オブジェクト50から離れる方向)へ動かしていた指の移動方向が変わること(例えば、所定角度以上、あるいは指標オブジェクト50に近づく方向へ変わること)等であってもよい。換言すると、「特定の入力操作の解除」とは、それまで行っていた操作(例えば、所定方向へのスワイプ操作)が、他の操作(例えば、タッチオフ操作、フリック操作、他の方向へのスワイプ操作)に変わることであってもよい。また、当該入力操作の「解除位置」とは、当該入力操作が解除されたときの指の位置あるいは移動オブジェクト40の位置等ともいえる。なお、パワーの決定に係る特定の入力操作を行い、当該入力操作に係るタッチスクリーン16への接触を一旦解除した後に、移動オブジェクトの移動方向を指示するフリック操作やスワイプ操作等を行うことが可能となっていても。
【0084】
軌道決定処理において、ゲーム進行部113は、移動オブジェクト40を、一定の速度で移動させてもよく、解除位置の指標オブジェクト50からの距離が長いほど、移動オブジェクト40の移動速度を大きくしてもよい。また、解除位置から、移動オブジェクト40が指標オブジェクト50に近づくに従って、移動オブジェクト40の移動速度を大きくしてもよい。これにより、ユーザの意図する軌道でショットが実現されにくくなるため、ゲームの興趣性が向上される。
【0085】
軌道決定処理において、ゲーム進行部113は、
図5に示すように、移動後の移動オブジェクト40が到達した指標オブジェクト50の指標領域51(以下、「到達指標51」という。)を判断する。ゲーム進行部113は、到達指標51に基づいてボール31の軌道を決定する。例えば、ボールが右に曲がるように設定された指標領域51が到達指標51となった場合、ゲーム進行部113は、ショットされたボール31がスライスあるいはフェードするよう設定する。これにより、ユーザの操作によりボールの軌道を意図的に曲げることができ、また、意図せずボールの軌道が曲がるような状況をユーザに提供することもできるため、ゲームの興趣性が向上される。
【0086】
すなわち、ゲーム進行部113は、ショット実行処理において、例えば、パワー決定処理で決定されたショットのパワーと、軌道決定処理で決定されたショットの軌道(換言すると、ボールの31の向かう方向)とに基づいて、ボールの到達位置を判断する。
【0087】
次に、
図6を参照して、第1状態において端末装置10で実行される処理のフローについて説明する。
図6は、端末装置10で実行される処理の流れを示すフローチャートである。
【0088】
ステップS100において、ゲーム進行部113は、移動オブジェクト40等のオブジェクトを表示部18に表示させるよう表示制御部114に指示する。具体的には、ゲーム進行部113は、
図3に示すように、アドレスの姿勢を取るプレイヤキャラクタ33、移動オブジェクト40、パワー指標41、および指標オブジェクト50等を表示部18に表示させるよう表示制御部114に指示する。
【0089】
次いで、ステップS101において、ゲームシステム1は、タッチスクリーン16に対するユーザの入力操作を受け付ける。ゲーム進行部113は、例えば、移動オブジェクト40を中心とした所定の範囲内がタッチされたと判断した場合、処理をステップS102に移行させる。
【0090】
次いで、ステップS102において、ゲーム進行部113は、ユーザのスワイプ操作に応じて移動オブジェクト40を、パワー指標41に沿って移動させる。
【0091】
次いで、ステップS103において、ゲーム進行部113は、指標オブジェクト50を、移動(例えば、往復移動)させる。
【0092】
次いで、ステップS104において、ゲーム進行部113は、移動オブジェクト40を移動させるスワイプ操作を解除するユーザの操作(例えば、タッチオフ操作、フリック操作、他の方向へのスワイプ操作)を受け付ける。
【0093】
次いで、ステップS105において、ゲーム進行部113は、解除位置を判断するとともに、当該解除位置に対応するショットのパワーを判断する。
【0094】
次いで、ステップS106において、ゲーム進行部113は、移動オブジェクト40を指標オブジェクト50に向けて移動させる。
【0095】
次いで、ステップS107において、ゲーム進行部113は、移動後の移動オブジェクト40が到達した指標オブジェクト50の到達指標51を判断する。ゲーム進行部113は、到達指標51に対応するボール31の軌道を判断する。
【0096】
次いで、ステップS108において、ショットのパワーと到達指標51とに基づいてボール31の到達位置を特定する。
【0097】
次いで、ステップS109において、ゲーム進行部113は、プレイヤキャラクタがショット動作する画像を表示部18に表示させる。また、ゲーム進行部113は、判断されたショットのパワーおよびボール31の軌道に応じてゲーム空間30内におけるボール31の位置を移動させる。
【0098】
ゲームシステム1は、ステップS100~S109のステップを、ショット毎に繰り返し実行する。
【0099】
<対戦機能>
本実施形態のゲームは、例えば、ユーザが当該ユーザの端末装置10を用いて操作するプレイヤキャラクタ33と、他のユーザが当該他のユーザの端末装置10を用いて操作する相手キャラクタあるいはコンピュータが操作する相手キャラクタとの対戦を行うことが可能となっている。すなわち、プレイヤの対戦相手(換言すると、プレイヤのキャラクタと対戦する相手キャラクタ)は、他のユーザが操作するキャラクタの場合と、ノンプレイヤキャラクタの場合とが存在する。換言すると、ユーザの対戦相手は、他のユーザ(すなわち人間)の場合と、コンピュータが自動で制御する仮想ユーザの場合とが存在する。ここで、仮想ユーザとは、ノンプレイヤキャラクタと対戦するユーザの視点から見た、当該ノンプレイヤキャラクタを操作している他のユーザ(換言すると、仮想的なユーザ)である。なお、本明細書においては、仮想ユーザのこともノンプレイヤキャラクタと呼ぶ。
【0100】
本実施形態では、ユーザと対戦相手とは、ボール31をショットする操作を交互に行いゲームを進行させる。換言すると、本実施形態のゲームでは、ユーザがオブジェクト(例えば、プレイヤキャラクタ33、ボール31、あるいは所定のUIなど)に対する操作を行うターン(換言すると、場面)と、対戦相手がオブジェクト(例えば、プレイヤキャラクタ33、ボール31あるいは所定のUIなど)に対する操作を行うターンとが存在する。
【0101】
例えば、対戦相手が人間の場合、具体的には互いに人間である第1ユーザと第2ユーザとが対戦を行う場合には、次のようにゲームが進行される。まず、第1ユーザが操作を行うターンにおいては、第1ユーザは、自身の端末装置10において、ボール31をショットするための操作(例えば、ショットする方向を決めるためのタッチ操作や、移動オブジェクト40に対するスワイプ操作等)を行う。このとき、対戦相手である第2ユーザの端末装置10の表示部18では、第1ユーザが当該操作をしている様子が表示される。具体的には、第2ユーザの端末装置10の表示制御部114は、第1ユーザの操作に基づいて移動オブジェクト40や指標オブジェクト50が動く表示、および当該第1ユーザのキャラクタ(換言すると、プレイヤキャラクタ33)がショット動作をする表示等を表示部18に表示させる。第1ユーザの操作に基づいてボール31がショットされると、第2ユーザのターンとなる。
【0102】
第2ユーザが操作を行うターンにおいては、第2ユーザは、自身の端末装置10において、ボール31をショットするための操作(例えば、ショットする方向を決めるためのタッチ操作や、移動オブジェクト40に対するスワイプ操作等)を行う。このとき、第1ユーザの端末装置10の表示部18では、第2ユーザが当該操作をしている様子が表示される。具体的には、第1ユーザの端末装置10の表示制御部114は、第2ユーザの操作に基づいて移動オブジェクト40や指標オブジェクト50が動く表示、および第2ユーザのキャラクタ(換言すると、プレイヤキャラクタ33)がショット動作をする表示等を表示部18に表示させる。第2ユーザの操作に基づいてボール31がショットされると、第1ユーザのターンとなる。
【0103】
また、例えば、対戦相手がノンプレイヤキャラクタの場合、具体的には人間である第1ユーザが仮想ユーザと対戦を行う場合には、次のようにゲームが進行される。まず、第1ユーザが操作を行うターンにおいては、第1ユーザは、自身の端末装置10において、ボール31をショットするための操作を行う。第1ユーザの操作に基づいてボール31がショットされると、仮想ユーザのターンとなる。
【0104】
仮想ユーザが操作を行うターンにおいては、第1ユーザの端末装置10の表示部18では、仮想ユーザがボール31をショットするための操作(例えば、ショットする方向を決めるためのタッチ操作や、移動オブジェクト40に対するスワイプ操作等)をしている様子が表示される。具体的には、第1ユーザの端末装置10の表示制御部114は、仮想ユーザの操作に基づいて移動オブジェクト40や指標オブジェクト50が動く表示、および仮想ユーザのキャラクタ(換言すると、ノンプレイヤキャラクタ)がショット動作をする表示等を表示部18に表示させる。仮想ユーザの操作に基づいてボール31がショットされると、第1ユーザのターンとなる。
【0105】
すなわち、本実施形態では、第1ユーザの端末装置10にも、第1ユーザの対戦相手である第2ユーザや仮想ユーザが操作するオブジェクト(例えば、移動オブジェクト40や、ボール31や、第2ユーザのキャラクタや、ノンプレイヤキャラクタ等)が表示され、第2ユーザや仮想ユーザの操作に基づいて当該オブジェクトが動く様子が表示される。
【0106】
仮想ユーザによる操作は、NPC制御部119により実現される。NPC制御部119は、仮想ユーザとしてどのような操作を行うかを決定し、決定した操作に応じた態様で移動オブジェクト40や指標オブジェクト50などが動く様子を表示部18に表示させるよう表示制御部114に指示してもよい。NPC制御部119は、例えば、サーバ20の記憶部220に記憶されている所定のユーザの過去のプレイデータに基づいて仮想ユーザとしてどのような操作を行うかを決定してもよい。具体的には、NPC制御部119は、当該ゲームを利用する複数のユーザのうちの、任意のユーザが過去に行った操作を模した操作(換言すると、任意のユーザが過去に行った操作に基づいて決定される操作)等を、仮想ユーザとして行う操作として決定してもよい。換言すると、ノンプレイヤキャラクタは、いわゆるゴースト等であってもよい。また、NPC制御部119は、例えば、AI等によって、仮想ユーザとしてどのような操作を行うかを決定してもよい。なお、NPC制御部119は、サーバ20が有していてもよい。
【0107】
すなわち、本実施形態では、仮想ユーザによるオブジェクトに対する操作がされるが、当該操作は、仮想ユーザと対戦するユーザから見て、人間が行っているものと認識し得る疑似的な操作となっている。なお、当該操作は、内部的には、単に、あたかも人間が操作を行っているかのように見せる画像を生成すること等により実現されるもの等であってもよい。
【0108】
なお、本実施形態のゲームでは、他のユーザとの対戦を開始するための操作と、ノンプレイヤキャラクタとの対戦を開始するための操作とは、同一の操作となっている。換言すると、ゲームシステム1は、ユーザによって特定の操作がされた場合に、他のユーザとの対戦を開始させるか、ノンプレイヤキャラクタとの対戦を開始させるかを決定して対戦を開始させるようになっており、ユーザからは、対戦相手が他のユーザ(換言すると、人間)なのか、ノンプレイヤキャラクタなのか不明な状態で対戦が開始されるようになっている。
【0109】
<メッセージ機能>
次にメッセージ機能について説明する。本実施形態のゲームでは、各ユーザは対戦相手との間でメッセージの送受信が可能となっている。また、対戦相手がノンプレイヤキャラクタの場合でもメッセージの送受信が可能となっている。換言すると、本実施形態のゲームは、チャット機能を有している。
【0110】
メッセージ処理部115は、ユーザの入力操作に基づいて、対戦相手にメッセージを送信する。メッセージ処理部115は、
図3に示すように、対戦相手との対戦中において、対戦相手にメッセージを送る際に操作するウィンドウ表示オブジェクト60を表示部18に表示させるよう表示制御部114に指示する。また、メッセージ処理部115は、ウィンドウ表示オブジェクト60に対する入力操作がされると、対戦相手に送るメッセージの候補としての、複数の予め登録されたメッセージ(以下、「定型メッセージ」という。)を表示部18に表示させるよう、表示制御部114に指示する。具体的には、メッセージ処理部115は、ウィンドウ表示オブジェクト60に対する入力操作がされると、
図7に示すように、メッセージの選択が可能なUI(以下、「選択ウィンドウ62」という)を表示部18に表示させる。また、選択ウィンドウ62には、複数の定型メッセージが表示される。そして、選択ウィンドウ62に表示された定型メッセージを選択する入力操作(換言すると、定型メッセージを入力する操作)を操作受付部111が受け付けると、メッセージ処理部115は、選択された定型メッセージを対戦相手に送信する。
【0111】
対戦相手が他のユーザの場合、ユーザの端末装置10のメッセージ処理部115は、サーバ20を介して対戦相手の端末装置10のメッセージ処理部115に定型メッセージを送信する。そして、定型メッセージを受信したメッセージ処理部115は、受信した定型メッセージを表示部18に表示させるよう、表示制御部114に指示する。すなわち、ユーザが自身の端末装置10で対戦相手に定型メッセージを送信する入力操作を行うと、対戦相手の端末装置10の表示制御部114は、送信された定型メッセージを表示部18に表示させる。
【0112】
なお、本実施形態では、
図8に示すように、ユーザが対戦相手に送ったメッセージ63(換言すると、選択ウィンドウ62等で選択した定型メッセージ)は、当該ユーザの端末装置10の表示部18の表示領域における左側部分に表示される。また、対戦相手が当該ユーザに送ったメッセージ64は、当該ユーザの端末装置10の表示部18の表示領域における右側部分に表示される。
【0113】
定型メッセージの一例を
図9に示す。定型メッセージは、メッセージ情報記憶部としての記憶部120に記憶されている。また、定型メッセージは、各定型メッセージを特定可能とする識別情報(以下、「メッセージID」という。
図10および
図11参照。)と、属性と、が付された状態で記憶されている。すなわち、記憶部120に記憶された定型メッセージは、メッセージIDに基づいて複数の定型メッセージの中から特定の定型メッセージを特定することが可能となっている。また、記憶部120に記憶された定型メッセージは、複数の属性(換言すると、カテゴリ)に分類されている。なお、属性にも、各属性を特定可能とする識別情報(以下、「属性ID」という。)が付与されている。なお、各定型メッセージは、例えば画像情報として記憶されていてもよい。なお、定型メッセージに関する情報は、記憶部220に記憶されていてもよい。換言すると、各端末装置10での定型メッセージの表示等は、記憶部120に記憶された定型メッセージに関する情報に基づいて行われてもよく、記憶部220に記憶された定型メッセージに関する情報に基づいて行われてもよい。
【0114】
本実施形態では、定型メッセージの属性として、「通常」と「楽しい」と「叫び」と「思案」と「悲しみ」とが用意されている。属性「通常」は、ニュートラルな感情を示す定型メッセージに付される属性である。属性「楽しい」は、ポジティブな感情を示す定型メッセージに付される属性である。属性「叫び」は、怒りあるいは驚きといった感情を示す定型メッセージに付される属性である。属性「思案」は、悩みあるいは焦りといった感情を示す定型メッセージに付される属性である。属性「悲しみ」は、ネガティブな感情を示す定型メッセージに付される属性である。すなわち、本実施形態では、定型メッセージは、各定型メッセージの示す感情に応じて分類されている。換言すると、定型メッセージは、各定型メッセージの意味内容に応じて分類されている。
【0115】
なお、本実施形態では、1つの定型メッセージには1つの属性が付されているが、1つの定型メッセージに複数の属性が付されていてもよい。換言すると、複数の定型メッセージの中には、複数の属性が付された定型メッセージが少なくとも1つ以上存在してもよい。
【0116】
また、定型メッセージには、言語的メッセージ(換言すると、言語的な定型メッセージ)と非言語的メッセージ(換言すると、非言語的な定型メッセージ)との2種類の定型メッセージが含まれる。言語的メッセージは、文字が含まれるメッセージである。非言語的メッセージは、文字が含まれないメッセージである。
図9に示す例においては、「文字チャット1」、「文字チャット2」、および「文字チャット3」の列に並べられた定型メッセージは、言語的メッセージとなっている。また、「顔文字1」、「顔文字2」、「キャラスタンプ1」、および「キャラスタンプ2」の列に並べられた定型メッセージは、非言語的メッセージとなっている。
【0117】
また、定型メッセージは、第1チャット情報群65と第2チャット情報群66との2つのグループに分けられる。
図7に示すように、選択ウィンドウ62においては、対戦相手に送信するメッセージの候補としての複数のメッセージが、第1チャット情報群65と第2チャット情報群66とで分けて表示される。なお、選択ウィンドウ62は、タブ67を有しており、タブ67に対する入力操作に応じて、選択ウィンドウ62に表示されるメッセージの候補の種類が変わるようになっている。なお、
図7に示す例では、選択ウィンドウ62において第1チャット情報群65と第2チャット情報群66とが同時に(換言すると、一画面に)表示されているが、例えば、第1チャット情報群65のみ(例えば、言語的メッセージのみ)が表示される状態と第2チャット情報群66のみ(例えば、非言語的メッセージのみ)が表示される状態とが存在し、タブ67に対する入力操作等に応じて両状態が切り替わるようになっているなどしてもよい。
【0118】
なお、このような第1チャット情報群65と第2チャット情報群66との2つのグループに分けた表示が可能となるよう、定型メッセージは、第1チャット情報群65に属する定型メッセージと、第2チャット情報群66に属する定型メッセージとで分類されて記憶部120に記憶されている。
【0119】
第1チャット情報群65は、言語的メッセージの数が非言語的メッセージの数よりも多いグループとなっている。具体的には、本実施形態では、第1チャット情報群65の非言語的メッセージの数は「0」となっており、第1チャット情報群65は、言語的メッセージのみによって構成されている。また、第1チャット情報群65は、言語的メッセージが複数含まれるグループとなっている。
【0120】
第2チャット情報群66は、非言語的メッセージの数が言語的メッセージの数よりも多いグループとなっている。具体的には、本実施形態では、第2チャット情報群66の言語的メッセージの数は「0」となっており、第2チャット情報群66は、非言語的メッセージのみによって構成されている。また、第2チャット情報群66は、非言語的メッセージが複数含まれるグループとなっている。
【0121】
また、第1チャット情報群65と第2チャット情報群66とは、それぞれ複数の定型メッセージによって構成されるが、第1チャット情報群65に含まれる定型メッセージは、第2チャット情報群66には含まれず、第2チャット情報群66に含まれる定型メッセージは、第1チャット情報群65には含まれない。ただし、一方のチャット情報群に含まれる定型メッセージのうちの一部が他方のチャット情報群に含まれてもよい。
【0122】
第2メッセージ処理部116は、対戦相手としてのノンプレイヤキャラクタからのユーザに対するメッセージの送信を制御する。第2メッセージ処理部116は、ユーザがノンプレイヤキャラクタに対してメッセージを送信した場合に、当該メッセージに対する返答を行う。具体的には、第2メッセージ処理部116は、ユーザの操作に基づいてメッセージ処理部115がノンプレイヤキャラクタに対して定型メッセージを送信すると、当該定型メッセージに対する返答としての定型メッセージをユーザに対して送信する。そして、第2メッセージ処理部116から定型メッセージが送信されると、ユーザの端末装置10の表示制御部114は、送信された定型メッセージを表示部18に表示させる。なお、第2メッセージ処理部116は、ユーザがノンプレイヤキャラクタに対してメッセージを送信した場合に限らず、所定の契機でノンプレイヤキャラクタからユーザへのメッセージの送信を自発的に行ってもよい。
【0123】
なお、第2メッセージ処理部116から送信されるノンプレイヤキャラクタからユーザへのメッセージは、例えば、当該ユーザの端末装置10のメッセージ処理部115が受信し、当該メッセージ処理部115が、当該メッセージを表示部18に表示させるよう表示制御部114に指示する。ただし、当該送受信は、実際の伝送を伴うものでなくてもよい。例えば、本実施形態のように、端末装置10がメッセージ処理部115と第2メッセージ処理部116とを備える場合、第2メッセージ処理部116が、ノンプレイヤキャラクタからユーザへ送るメッセージを決定し、決定されたメッセージをメッセージ処理部115が認識可能な状態とすること(換言すると、決定されたメッセージを表示制御部114が表示部18に表示させることが可能な状態とすること)等も、「第2メッセージ処理部116がノンプレイヤキャラクタからのメッセージを送信すること」や、「メッセージ処理部115がノンプレイヤキャラクタからのメッセージを受信すること」に含まれる。なお、例えば、第2メッセージ処理部116の全体または一部をサーバ20の制御部210が有していてもよい。この場合、メッセージ処理部115と第2メッセージ処理部116との間で送受信されるメッセージは、ネットワークを介して伝送され得る。
【0124】
本実施形態では、第2メッセージ処理部116における、ユーザからのメッセージに対する返答パターンが規定されている。具体的には、第2メッセージ処理部116は、返答規則記憶部としての記憶部120に記憶された、返答パターンを規定する返答テーブル70を用いて返答を行う。返答テーブル70の一例を
図10および
図11に示す。返答テーブル70では、ユーザから送られるメッセージと、それに対する返答との対応関係が規定されている。具体的には、返答テーブル70では、ユーザから送られるメッセージの属性毎に、返答として送る定型メッセージが定められている。
【0125】
例えば、ユーザがノンプレイヤキャラクタに属性「通常」の定型メッセージを送った場合、
図10(a)に示すように、ノンプレイヤキャラクタ(換言すると、第2メッセージ処理部116)は、メッセージID「0001」の属性「通常」の定型メッセージ、メッセージID「0002」の属性「楽しい」の定型メッセージ、またはメッセージID「0011」の属性「楽しい」の定型メッセージを返答として送る。なお、メッセージID「0001」、「0002」、および「0011」のうち、いずれの定型メッセージを送るかは、ランダムに決定される。
【0126】
また、例えば、ユーザがノンプレイヤキャラクタに属性「楽しい」の定型メッセージを送った場合、
図10(b)に示すように、ノンプレイヤキャラクタは、メッセージID「0001」の属性「通常」の定型メッセージ、メッセージID「0002」の属性「楽しい」の定型メッセージ、またはメッセージID「0003」の属性「楽しい」の定型メッセージを返答として送る。なお、メッセージID「0001」、「0002」、および「0003」のうち、いずれの定型メッセージを送るかは、ランダムに決定される。
【0127】
また、例えば、ユーザがノンプレイヤキャラクタに属性「叫び」の定型メッセージを送った場合、
図10(c)に示すように、ノンプレイヤキャラクタは、メッセージID「0001」の属性「通常」の定型メッセージ、メッセージID「0010」の属性「思案」の定型メッセージ、またはメッセージID「0011」の属性「楽しい」の定型メッセージを返答として送る。なお、メッセージID「0001」、「0010」、および「0011」のうち、いずれの定型メッセージを送るかは、ランダムに決定される。
【0128】
また、例えば、ユーザがノンプレイヤキャラクタに属性「思案」の定型メッセージを送った場合、
図11(d)に示すように、ノンプレイヤキャラクタは、メッセージID「0001」の属性「通常」の定型メッセージ、メッセージID「0007」の属性「思案」の定型メッセージ、またはメッセージID「0011」の属性「楽しい」の定型メッセージを返答として送る。なお、メッセージID「0001」、「0007」、および「0011」のうち、いずれの定型メッセージを送るかは、ランダムに決定される。
【0129】
また、例えば、ユーザがノンプレイヤキャラクタに、属性「悲しみ」の定型メッセージを送った場合、
図11(e)に示すように、ノンプレイヤキャラクタは、メッセージID「0003」の属性「楽しい」の定型メッセージ、メッセージID「0009」の属性「悲しみ」の定型メッセージ、またはメッセージID「0011」の属性「楽しい」の定型メッセージを返答として送る。なお、メッセージID「0003」、「0009」、および「0011」のうち、いずれの定型メッセージを送るかは、ランダムに決定される。
【0130】
本実施形態では、ユーザがノンプレイヤキャラクタに言語的メッセージを送ったか非言語的メッセージを送ったかに関わらず、第2メッセージ処理部116が返答として送る定型メッセージは、非言語的メッセージとなる確率が、言語的メッセージとなる確率よりも高く設定されている。換言すると、第2メッセージ処理部116が返答の際に非言語的メッセージを送る確率は、ユーザが送信し得る定型メッセージとして用意されている全ての定型メッセージ(換言すると、選択ウィンドウ62に表示される全ての定型メッセージ)の中から完全にランダムで送信する定型メッセージが決定されることとした場合(換言すると、全ての定型メッセージについて等確率で送信する定型メッセージが決定される場合)の非言語的メッセージが送られる確率よりも高くなっている。なお、「第1の確率が第2の確率よりも高い」などといった場合、低い方の確率は、0%であってもよい。本実施形態では、ユーザがノンプレイヤキャラクタに言語的メッセージを送ったか非言語的メッセージを送ったかに関わらず、第2メッセージ処理部116が送る返答は、必ず非言語的メッセージとなっている。換言すると、第2メッセージ処理部116が返答として送り得る定型メッセージは、全て非言語的メッセージとなっている。具体的には、本実施形態では、ユーザが言語的メッセージを送った場合であっても、当該言語的メッセージの属性に基づいて選択される非言語的メッセージが返答として送られるようになっている。なお、第2メッセージ処理部116が返答として送り得る定型メッセージには、言語的メッセージが含まれていてもよい。
【0131】
このように、本実施形態では、第2メッセージ処理部116が返答として送る定型メッセージは、非言語的メッセージである確率が、言語的メッセージである確率よりも高く設定されているので、会話の流れが不自然になることを抑制できる。したがって、ゲームの興趣性が向上される。
【0132】
なお、本実施形態では、第2メッセージ処理部116がユーザからノンプレイヤキャラクタへのメッセージの送信に基づいて送る返答としての定型メッセージ(換言すると、ユーザからノンプレイヤキャラクタへのメッセージの送信を契機として送る定型メッセージ)は、必ず非言語的メッセージとなっているが、返答ではなく、第2メッセージ処理部116がノンプレイヤキャラクタからユーザへのメッセージとして自発的に送るる定型メッセージ(換言すると、ユーザからノンプレイヤキャラクタへのメッセージの送信以外の所定の契機で送る定型メッセージ)には、非言語的メッセージだけでなく、言語的メッセージが含まれる。このような構成によれば、返答の内容によって会話の流れが不自然となってしまうことを抑制しつつも、非言語的メッセージしか送られないことにより対戦相手がノンプレイヤキャラクタであるとユーザに意識させてしまうことを防止できる。したがって、ゲームの興趣性が向上される。
【0133】
なお、第2メッセージ処理部116は、例えば、ユーザが送信した定型メッセージの属性と同じ属性の定型メッセージを返答として送ることとしてもよい。本実施形態では、ユーザがいずれの属性の定型メッセージを送った場合であっても、ユーザが送信した定型メッセージの属性と同じ属性の定型メッセージが返答として送られ得るようになっている。
【0134】
また、本実施形態では、第2メッセージ処理部116は、ユーザが送信した定型メッセージの属性と同じ属性の定型メッセージであって、異なる定型メッセージを返答として送り得る。具体的には、ユーザがメッセージID「0002」の属性「楽しい」の定型メッセージを送信した場合に、第2メッセージ処理部116は、メッセージID「0011」の属性「楽しい」の定型メッセージを返答として送り得る(
図10参照)。
【0135】
なお、複数の属性に対して返答として送られ得る属性が用意されていてもよい。換言すると、1つの属性に対して、返答として送られ得る属性は複数存在してもよい。本実施形態では、属性「通常」は、ユーザが属性「通常」、「楽しい」、「叫び」、および「思案」のいずれの属性の定型メッセージを送信した場合であっても、返答として送られ得る。なお、ユーザの送信する定型メッセージに係る全ての属性に対して返答として送られ得る属性が用意されていてもよい。
【0136】
なお、属性「通常」のメッセージは、ユーザからノンプレイヤキャラクタに送られるメッセージに対して間接的な返答として成立し得る非言語的メッセージともいえる。すなわち、本実施形態では、ユーザからのメッセージに対して直接的な返答として成立し得る非言語的メッセージと、間接的な返答として成立し得る非言語的メッセージとが存在し、第2メッセージ処理部116は、間接的な返答として成立し得る非言語的メッセージをユーザに対して送信し得るようになっている。
【0137】
なお、第2メッセージ処理部116が返答として送る定型メッセージは、ユーザが送信した定型メッセージと同一の定型メッセージである確率よりも、ユーザが送信した定型メッセージと異なる定型メッセージである確率の方が高くなっていてもよい。
【0138】
なお、本実施形態では、第2メッセージ処理部116が返答として送る定型メッセージは、ユーザが送った定型メッセージの属性に基づいて決まる複数の候補の中からランダムに決定されることとしたが、返答として送る定型メッセージは当該複数の候補の中から完全にランダムで決定されるものでなくてもよい。例えば、複数の候補のうちのそれぞれの選ばれる確率は、等確率であってもよいが偏りがあってもよい。また、例えば、属性「通常」、「楽しい」、「叫び」、「思案」、および「悲しみ」のそれぞれについて、ユーザが特定の属性の定型メッセージを送った場合に、返答として選ばれる定型メッセージの属性は、「通常」である確率よりも、それ以外の属性である確率の方が高くなっていてもよい。
【0139】
なお、第2メッセージ処理部116は、返答テーブル70を用いて返答として送るメッセージを決定するものでなくてもよく、例えば、AI(Artificial Intelligence)によって返答として送るメッセージを決定するもの等であってもよい。
【0140】
なお、第2メッセージ処理部116は、ユーザが第1チャット情報群65を構成する定型メッセージと第2チャット情報群66を構成する定型メッセージとのどちらを送ったかに関わらず、第2チャット情報群66を構成する定型メッセージを返答として送る確率が、第1チャット情報群65を構成する定型メッセージを返答として送る確率よりも高いともいえる。すなわち、本実施形態では、ユーザは、第1チャット情報群65を構成する1以上の要素と、第2チャット情報群66を構成する1以上の要素との中から、送信したい要素を選択して送信することが可能となっている。これに対し、第2メッセージ処理部116は、ユーザが第1チャット情報群65と第2チャット情報群66とのいずれの要素を送った場合であっても、第2チャット情報群66の要素を返答として送る可能性がある。なお、第2メッセージ処理部116は、ユーザが第1チャット情報群65と第2チャット情報群66とのいずれの要素を送った場合であっても、必ず第2チャット情報群66の要素を返答として送ることとしてもよい。なお、第2メッセージ処理部116は、ユーザから送信された定型メッセージに対して返答を送る場合に、必ず第2チャット情報群66を構成する定型メッセージを含んで返答を行うこととしてもよい。すなわち、第2メッセージ処理部116は、第1チャット情報群65を構成する定型メッセージを返答として送る場合があってもよいが、第1チャット情報群65を構成する定型メッセージを返答として送る場合には、第2チャット情報群66を構成する定型メッセージを一緒に送ることとしてもよい。また、第2チャット情報群66に、言語的メッセージが含まれる場合に、第2メッセージ処理部116は、第2チャット情報群66を構成する定型メッセージのうち、言語的メッセージを返答として送ることはなく、非言語的メッセージのみを返答として送ることとしてもよい。
【0141】
なお、第2メッセージ処理部116は、ゲームの状況(およびユーザが送信した定型メッセージ)に基づいて返答として送る定型メッセージを決定してもよい。なお、ここで、ゲームの状況には、お互いのスコアの状況等も含まれる。ここでは、メッセージID「0003」の定型メッセージには、属性「楽しい」および「悲しみ」の2つの属性が付されているものとして説明する。例えば、ゲームの状況が「ユーザ側が優勢で、かつユーザが良いショット操作をした状況」である場合において、ユーザがメッセージID「0003」の定型メッセージを送信した場合、ユーザにとって良い状況であるため、第2メッセージ処理部116は、当該定型メッセージについて、属性「楽しい」の定型メッセージであると判断し、
図10(b)に示す候補の中から返答を行ってもよい。あるいは、ゲームの状況が当該状況である場合において、ユーザがメッセージID「0003」の定型メッセージを送信した場合、ノンプレイヤキャラクタにとって悪い状況であるため、第2メッセージ処理部116は、当該定型メッセージについて、属性「悲しみ」の定型メッセージであると判断し、
図11(e)に示す候補の中から返答を行ってもよい。すなわち、複数の定型メッセージの中には複数の属性が付された定型メッセージが少なくとも1つ以上存在し、第2メッセージ処理部116は、複数の属性が付された定型メッセージが送信された場合に、定型メッセージに付された複数の属性のうちのいずれかの属性に基づく返信を行うものであってもよい。なお、第2メッセージ処理部116は、ゲームの状況に基づいてユーザが送信した定型メッセージの属性を判断するのではなく、例えば、ゲームの状況に応じて、ゲームの状況毎に予め定められている返答候補の中から返答として送る定型メッセージを決定するなどしてもよい。
【0142】
なお、第2メッセージ処理部116は、ノンプレイヤキャラクタからの返答を、ユーザからのメッセージの送信がされた直後ではなく、所定期間空けて送ることとしてもよい。また、当該所定期間は一定でなくてもよい。
【0143】
なお、ユーザからノンプレイヤキャラクタに送るメッセージと、ノンプレイヤキャラクタからユーザに送るメッセージとの、少なくとも一方が、定型メッセージでなくてもよい。例えば、ユーザからノンプレイヤキャラクタに対して、テキスト入力によってメッセージを送信すること等が可能となっていてもよい。
【0144】
(ノンプレイヤキャラクタの返答確率)
本実施形態では、第2メッセージ処理部116は、ユーザから送信されたメッセージに対して必ず返答を行うようにはなっていない。以下では、この点について説明する。
【0145】
第2メッセージ処理部116は、ユーザからノンプレイヤキャラクタに送信されたメッセージの数に基づいて、返答を送信する確率を制御する。
【0146】
具体的には、ノンプレイヤキャラクタとの対戦中においてユーザがノンプレイヤキャラクタに対して1回目のメッセージの送信を行った場合、第2メッセージ処理部116は、50%の確率で返答を行う。より具体的には、第2メッセージ処理部116は、1回目のメッセージを受け取ると、返答を送るか否かを決定する抽選を行い、当該抽選では、50%の確率で返答を送ることが決定され、50%の確率で返答を送らないことが決定される。以下の各確率で返答を行う場合についても、第2メッセージ処理部116は同様の抽選を行う。
【0147】
また、ユーザがノンプレイヤキャラクタに対して、2~4回目のメッセージの送信を行った場合、第2メッセージ処理部116は、2~4回目の各メッセージに対して30%の確率で返答を行う。
【0148】
また、ユーザがノンプレイヤキャラクタに対して、5回目以降のメッセージの送信を行った場合、第2メッセージ処理部116は、5回目以降の各メッセージに対して10%の確率で返答を行う。
【0149】
また、このように、第2メッセージ処理部116は、ユーザから送信されたメッセージの回数をカウントし、当該回数に応じて返答確率を変化させるが、第2メッセージ処理部116は、ユーザがメッセージを送信してから60秒間新たなメッセージが送信されなかった場合、メッセージのカウント数を0回に戻す(換言すると、リセットする)。すなわち、第2メッセージ処理部116は、ユーザからノンプレイヤキャラクタに送信されたメッセージの数に応じて、返答を送信する確率を変化させるが、具体的には、各メッセージの送信間隔が所定間隔以内となるように送信されたメッセージの数に応じて、返答を送信する確率を変化させる。すなわち、「ユーザからノンプレイヤキャラクタに送信されたメッセージの数に応じて、返答を送信する確率を変化させる」とは、ユーザからノンプレイヤキャラクタへのメッセージの送信頻度に応じて、返答を送信する確率を変化させる場合を含む。
【0150】
換言すると、第2メッセージ処理部116は、所定期間内にユーザからノンプレイヤキャラクタに送信されたメッセージの数に基づいて、返答を送信する確率を制御する。ここで、所定期間は、上述のように、各メッセージの送信間隔が所定間隔以内となる所定期間であってもよい。また、所定期間は、例えば、1回目のメッセージが送信されてからの一定の期間等であってもよい。また、所定期間は、例えば、1つの試合が開始されてから終了するまでの期間等であってもよい。また、所定期間は、例えば、各キャラクタのターンが開始されてから終了するまでの期間(換言すると、1回のショットに係る期間)等であってもよい。
【0151】
ユーザが送ったメッセージに対して毎回返答を行うと、対戦相手がノンプレイヤキャラクタであることをユーザに意識させてしまうおそれなどがある。本実施形態によれば、メッセージの返答確率を制御することで、実際のユーザが返答を行う場合に近い反応を実現することができ、ノンプレイヤキャラクタとプレイしていることをユーザに意識させることのないゲームを提供することができる。したがって、ゲームの興趣性が向上される。
【0152】
なお、本実施形態では、第2メッセージ処理部116は、ユーザからの各メッセージに対して返答を行うか否かを、抽選で決定することとしたが、各メッセージに対して返答を行うか否かは、予め定められていてもよい。例えば、第2メッセージ処理部116は、1~5回目の各メッセージに対しては返答を行い、6回目以降の各メッセージに対しては返答を行わないように返答に係る制御を行うなどしてもよい。また、例えば、各回のメッセージに対して返答を行うか否かを定めたテーブル(例えば、1~3回目の各メッセージに対しては返答を行い、4回目のメッセージに対しては返答を行わず、5回目のメッセージに対しては返答を行う、などのように予め定められたテーブル)を1または複数、記憶部120に用意しておき、第2メッセージ処理部116は、当該テーブルに基づいて返答を行うか否かを決定してもよい。換言すると、第2メッセージ処理部116は、ユーザからノンプレイヤキャラクタに送信されたメッセージの数に応じて、返答を送信する確率を変化させる制御を行うが、当該制御は、結果としてユーザに返答が送信される確率が変化するもの(例えば、結果として所定期間内のメッセージの送信回数が多くなるほど返答が送信される確率が低くなるもの等)であればよい。
【0153】
また、本実施形態では、ユーザからのメッセージの送信回数(換言すると、送信頻度)に応じた複数の段階(具体的には、1回目の段階、2~4回目の段階、および5回目以降の段階)があり、各段階に応じて、返答の確率が変化するようになっているが、当該段階の数は2つであってもよく、3つ以上であってもよい。
【0154】
また、第2メッセージ処理部116は、ユーザからノンプレイヤキャラクタに送信されたメッセージの数が多くなるほど(換言すると、頻度が高くなるほど)、返答を送信する確率が低くなるように当該確率を制御しているが、メッセージの数が所定数以上となる場合に、返答を送信する確率が0%となるようにしてもよい。このような構成によれば、対戦相手が鬱陶しいと感じている様子等を表現でき、ノンプレイヤキャラクタとプレイしていることをユーザに意識させることのないゲームを提供することができる。したがって、ゲームの興趣性が向上される。
【0155】
以上のように、第2メッセージ処理部116は、ユーザからノンプレイヤキャラクタに送られたメッセージの履歴、具体的には、メッセージの送信回数(換言すると、送信頻度)に基づいて、返答を送る確率を制御している。なお、第2メッセージ処理部116は、メッセージの送信回数以外の、ユーザからノンプレイヤキャラクタに送られたメッセージの履歴に関する条件に基づいて、返答を送る確率を変化させてもよい。例えば、第2メッセージ処理部116は、ユーザからノンプレイヤキャラクタに送られたメッセージの内容、具体的には当該メッセージの長さ(例えば、文字数またはデータ量等)に応じて返答を送る確率を変化させてもよい。具体的には、例えば、当該メッセージの長さが所定の長さよりも長い場合、第2メッセージ処理部116は、返答を送る確率を0%としてもよい。換言すると、第2メッセージ処理部116は、例えば、ユーザからノンプレイヤキャラクタに送られたメッセージの文字数に応じて返答を送る確率を変化させてもよい。また、第2メッセージ処理部116は、例えば、ユーザからノンプレイヤキャラクタに送られたメッセージのデータ量(例えば、バイト数)に応じて返答を送る確率を変化させてもよい。
【0156】
なお、第2メッセージ処理部116は、返答を送信する確率をゲームの状況に応じて変化させてもよい。
【0157】
具体的には、例えば、第2メッセージ処理部116は、ノンプレイヤキャラクタの方がユーザ(換言すると、プレイヤキャラクタ33)よりも有利な状況(例えば、ユーザよりもボール31がカップ32に近い状況)においては、不利な状況に比べ、返答を送信する確率が高くなるように当該確率を変化させてもよい。このような構成によれば、対戦相手が好調で饒舌になっている様子等を表現でき、ノンプレイヤキャラクタとプレイしていることをユーザに意識させることのないゲームを提供することができる。したがって、ゲームの興趣性が向上される。
【0158】
なお、第2メッセージ処理部116は、前述のメッセージのカウント数を0回に戻す(換言すると、リセットする)処理を行うタイミングを、ゲームの状況に応じて異ならせてもよい。
【0159】
以上のように、第2メッセージ処理部116は、所定の条件に基づいて、返答を送る確率を制御する。所定の条件は、例えば、ユーザからノンプレイヤキャラクタに送られたメッセージの履歴に関する条件であってもよい。具体的には、例えば、第2メッセージ処理部116は、ユーザから送られたメッセージの数が所定数以上となる場合に、当該数が所定数未満の場合に比べて返答を送る確率が低くなるように制御してもよい。また、例えば、第2メッセージ処理部116は、ユーザから送られたメッセージの長さが所定の長さ以上の場合に、当該長さが所定の長さ未満の場合に比べて返答を送る確率が低くなるように制御してもよい。また、例えば、第2メッセージ処理部116は、ユーザから送られたメッセージの文字数が所定数以上の場合に、当該数が所定数未満の場合に比べて返答を送る確率が低くなるように制御してもよい。また、例えば、第2メッセージ処理部116は、ユーザから送られたメッセージのデータ量(例えば、バイト数)が所定量以上の場合に、当該データ量が所定量未満の場合に比べて返答を送る確率が低くなるように制御してもよい。また、所定の条件は、例えば、ゲームの状況に関する条件であってもよい。例えば、第2メッセージ処理部116は、ノンプレイヤキャラクタの方がユーザよりも有利な状況においては、不利な状況に比べて返答を送る確率が高くなるように制御してもよい。
【0160】
なお、第2メッセージ処理部116は、ユーザからノンプレイヤキャラクタに送信されたメッセージの数等に基づいて、返答を送信する確率を制御するとともに、ゲームの状況に応じて所定の例外処理を行ってもよい。具体的には、例えば、ノンプレイヤキャラクタが良いショットを行ったタイミングで、ユーザがメッセージ(例えば、「すごい」などのポジティブな感情の定型メッセージ)を送ってくれた場合、当該メッセージが10回目のメッセージ(すなわち、本来であれば返答確率10%のメッセージ)であったとしても、返答する確率を上昇させて(換言すると、例えば、返答確率が下がった状態とせず1回目のメッセージに対する返答確率と同様の確率(具体的には、50%)で)返答を行ってもよい。
【0161】
また、第2メッセージ処理部116は、ユーザが同じメッセージを連続して送った場合には、異なるメッセージを送った場合に比べ、返答確率が低くなるように制御してもよい。具体的には、例えば、所定期間内にそれぞれ異なるM個(ここで、Mは2以上の整数)のメッセージをユーザが送信したときのM個目のメッセージに対する返答確率をX(例えば、30%)とした場合に、所定期間内に同一のメッセージをM回ユーザが送信した場合のM個目のメッセージに対する返答確率をXよりも低くしてもよい。
【0162】
また、第2メッセージ処理部116は、ユーザが送ったメッセージが希少度の高い定型メッセージである場合などについては、返答確率を上昇させてもよい。具体的には、例えば、ユーザがメッセージを送ったときの、当該メッセージに対する通常の返答確率(例えば、当該メッセージが希少度の低い定型メッセージであった場合の返答確率)をY(例えば、50%)とした場合に、当該メッセージが希少度の高い定型メッセージであった場合の返答確率をYよりも高くしてもよい。なお、ここで、希少度の高い定型メッセージとは、例えば、所定の抽選(いわゆるガチャ)やゲーム内通貨等のユーザの保有資産の使用等によって取得された、デフォルト(換言すると、ゲームの初期状態)では存在しない定型メッセージ等であってもよい。また、希少度の低い定型メッセージとは、例えば、デフォルトで存在する定型メッセージ等であってもよい。
【0163】
また、第2メッセージ処理部116は、ユーザが送ったメッセージが、相手方のノンプレイヤキャラクタと関連性の高い定型メッセージである場合等については、返答確率を上昇させてもよい。具体的には、例えば、ユーザがメッセージを送ったときの、当該メッセージに対する通常の返答確率(例えば、当該メッセージがノンプレイヤキャラクタとの関連性の低い定型メッセージであった場合の返答確率)をY(例えば、50%)とした場合に、当該メッセージがノンプレイヤキャラクタと関連性の高い定型メッセージであった場合の返答確率をYよりも高くしてもよい。なお、ここで、ノンプレイヤキャラクタと関連性の高いメッセージとは、例えば、ゲームに登場する複数種類のキャラクタのうち、ノンプレイヤキャラクタに応じた種類のキャラクタ(例えば、ノンプレイヤキャラクタと同一種類のキャラクタや、ゲーム内においてノンプレイヤキャラクタと仲の良い設定やライバル設定等のキャラクタなどの、ノンプレイヤキャラクタと関係の深いキャラクタ)が描写された定型メッセージ等であってもよい。また、ノンプレイヤキャラクタと関連性の低いメッセージとは、ノンプレイヤキャラクタと関係の浅いキャラクタが描写された定型メッセージ等であってもよい。
【0164】
また、第2メッセージ処理部116は、ユーザから見てノンプレイヤキャラクタが暇であると考えられる場面においては、返答確率を上昇させてもよい。具体的には、例えば、ユーザから見てノンプレイヤキャラクタが暇でないと考えられる場面においてユーザがメッセージを送ったときの、当該メッセージに対する返答確率をY(例えば、50%)とした場合に、ユーザから見てノンプレイヤキャラクタが暇であると考えられる場面においてユーザがメッセージを送ったときの、当該メッセージに対する返答確率をYよりも高くしてもよい。ここで、ノンプレイヤキャラクタが暇であると考えられる場面とは、例えば、ノンプレイヤキャラクタが既にボール31をカップインさせており(換言すると、ゲームの目標を達成しており)、ユーザがカップインさせるのを待っている状況であってもよく、ユーザがショットに係る操作を行っている状況(換言すると、ユーザのターン)等であってもよい。また、ノンプレイヤキャラクタが暇でないと考えられる場面とは、例えば、ノンプレイヤキャラクタがまだボール31をカップインさせていない状況であってもよく、ノンプレイヤキャラクタがショットに係る操作を行っている状況(換言すると、ノンプレイヤキャラクタのターン)等であってもよい。
【0165】
(ノンプレイヤキャラクタからの返答の制限)
本実施形態においては、ノンプレイヤキャラクタとの対戦中において、ノンプレイヤキャラクタからユーザへのメッセージの送信がされない状況が存在する。ここで、ノンプレイヤキャラクタからのメッセージの送信には、ユーザからノンプレイヤキャラクタへ送信されたメッセージに対する返答の送信、およびノンプレイヤキャラクタからの自発的なメッセージの送信とが含まれる。
【0166】
具体的には、第2メッセージ処理部116は、仮想ユーザによって操作されるオブジェクトに対して所定の操作が行われているとユーザから推定される状況(以下、「推定状況」ともいう。)では、表示部18での仮想ユーザ(換言すると、ノンプレイヤキャラクタ)からユーザへのメッセージの表示がされないようにメッセージの送信を制御する。換言すると、第2メッセージ処理部116は、ユーザから見て、対戦相手がメッセージを送信するための操作以外の何らかの操作をしていると推定される状況では、仮想ユーザからユーザへのメッセージの送信を行わないように制御する。さらに換言すると、第2メッセージ処理部116は、ユーザから見て、対戦相手が仮に人間であった場合にはメッセージを送らないであろう状況(例えば、所定の操作をしておりメッセージを送ることが困難だろうとユーザから推定される状況)においては、ユーザに対するメッセージの送信を行わない。
【0167】
ここで、仮想ユーザによって操作されるオブジェクトとは、例えば、キャラクタ(具体的には、ノンプレイヤキャラクタ等)であってもよい。また、所定の操作とは、例えば、キャラクタを動かすための操作であってもよい。具体的には、所定の操作とは、例えば、キャラクタにボール31をショットさせるための操作(例えば、ショットする方向を決めるためのタッチ操作や移動オブジェクト40に対するスワイプ操作等)であってもよい。また、所定の操作とは、例えば、本発明をFPS(First Person shooter)やロールプレイングゲーム等に適用した場合における、敵を攻撃するための操作(例えば、銃を撃つ操作)や、キャラクタを移動させるための操作や、キャラクタにアイテムを使用させるための操作や、キャラクタにアイテムを拾わせる操作等であってもよい。
【0168】
換言すると、仮想ユーザによって操作されるオブジェクトとは、例えばボールや武器やアイテム等であってもよい。
【0169】
また、仮想ユーザによって操作されるオブジェクトとは、例えば、所定のUI(換言すると、UIオブジェクト)であってもよい。また、所定の操作とは、例えば、移動オブジェクト40に対するスワイプ操作等であってもよい。また、所定の操作とは、所定のボタンに対するタッチ操作等であってもよい。
【0170】
また、所定の操作とは、例えば、メッセージの送信に係るオブジェクト(例えば、ウィンドウ表示オブジェクト60、選択ウィンドウ62、および後述する小型ウィンドウ80等)以外のオブジェクトに対する操作であってもよい。
【0171】
換言すると、推定状況は、例えば、仮想ユーザのターンにおいて、所定のUI(例えば、移動オブジェクト40や所定のボタンなど)が仮想ユーザによって操作されている様子がユーザの端末装置10の表示部18に表示されている状況であってもよい。具体的には、仮想ユーザが移動オブジェクト40に対するスワイプ操作を行い、仮想ユーザの操作する移動オブジェクト40が指標オブジェクト50から遠ざかっていく様子が表示されている状況等であってもよい。
【0172】
さらに換言すると、推定状況は、ユーザの表示部18に他のユーザによって操作されるオブジェクトが表示され、当該オブジェクトに対する他のユーザの操作がユーザの表示部18での表示にリアルタイムに反映されるコンテンツにおいて、当該オブジェクトが仮想的な他のユーザとしての仮想ユーザの操作に応じて動いている様子がユーザの表示部18に表示されている状況等であってもよい。
【0173】
このように、本実施形態では、対戦相手が人間であればメッセージを送る可能性が低いであろう状況である推定状況において仮想ユーザからユーザへのメッセージが表示されないので、対戦相手が人間であるかのように見せることができ、ゲームの興趣性が向上される。
【0174】
また、第2メッセージ処理部116は、以下のような状況では、仮想ユーザからユーザへのメッセージを送信することとしてもよい。すなわち、例えば、仮想ユーザのターンにおける、仮想ユーザによるキャラクタにボール31をショットさせるための操作が終了したタイミング(換言すると、終了したと推定される状況)、当該操作の終了後、当該操作に基づいてノンプレイヤキャラクタが動いている様子が表示部18に表示されているタイミング、および当該操作の終了後、当該操作に基づいてボール31が動いている(例えば、飛んでいる)様子が表示部18に表示されているタイミング等においては、第2メッセージ処理部116は、ユーザに対するメッセージの送信を行ってもよい。また、例えば、仮想ユーザが当該操作を中断した様子が表示部18に表示されているタイミング等においては、第2メッセージ処理部116は、ユーザに対するメッセージの送信を行ってもよい。
【0175】
また、第2メッセージ処理部116は、例えば、ユーザのターンにおいては、ユーザがキャラクタにボール31をショットさせるための操作を行っている最中等であっても、メッセージを送信することとしてもよい。
【0176】
なお、第2メッセージ処理部116は、ノンプレイヤキャラクタからのメッセージを送信してから当該メッセージがユーザの端末装置10の表示部18に表示されるまでの通信遅延等を考慮してメッセージの送信を行ってもよい。具体的には、例えば、サーバ20が第2メッセージ処理部116を有し、端末装置10がNPC制御部119を有することとした場合に、第2メッセージ処理部116は、サーバ20と端末装置10との間での通信遅延を考慮した制御を行ってもよい。例えば、第2メッセージ処理部116は、通信遅延を考慮して、仮想ユーザによる所定の一連の操作(例えば、キャラクタにボール31をショットさせるための操作)が行われている最中と推定される状況においてメッセージの送信を行い、表示部18における表示上は、仮想ユーザによる当該所定の一連の操作が終了したと推定される状況で当該メッセージの表示が行われるようにしてもよい。また、第2メッセージ処理部116は、通信遅延があるように見せかける制御を行ってもよい。具体的には、例えば、端末装置10が第2メッセージ処理部116およびNPC制御部119を有することとした場合に、第2メッセージ処理部116は、仮想ユーザが操作を開始したタイミング等でメッセージの送信を行い、当該タイミングで当該メッセージが表示部18に表示されるようにしてもよい。換言すると、例えば、仮想ユーザが所定の操作を開始している様子が表示部18に表示されている状況で(例えば、操作を開始してから所定期間内には)仮想ユーザからのメッセージが表示部18に表示され得るようにすることで、ユーザに、通信遅延等から逆算すると仮想ユーザが操作をしていないタイミングでメッセージを送信したのであろうと思わせるようにしてもよい。例えば、仮想ユーザからのメッセージがユーザの表示部18に表示されるタイミングについて、その起点となる表示や動作(例えば、ユーザから送信したメッセージの表示やいずれかのプレイヤのナイスプレイなど)から所定秒数後になるというのを定常的な挙動とすることで、仮想ユーザからのメッセ―ジを、実際の人間が表示や動作を見て、どんな反応をするべきか判断して操作を行い、通信遅延を経てユーザのもとに届いたメッセージと推定させることができる。
【0177】
(事象達成時のメッセージ)
第2メッセージ処理部116は、ユーザとノンプレイヤキャラクタとの対戦中において、特定の事象をユーザまたはノンプレイヤキャラクタが達成した場合に、ノンプレイヤキャラクタからユーザへのメッセージを送信する。また、特定の事象をユーザが達成した場合と、ノンプレイヤキャラクタが達成した場合とでは、第2メッセージ処理部116が送信し得るメッセージが異なっている。
【0178】
第2メッセージ処理部116は、特定の事象をユーザが達成した場合、ノンプレイヤキャラクタからユーザに送るメッセージを第1候補群の中から選択し、ノンプレイヤキャラクタからのメッセージとしてユーザに送信する。第1候補群には、複数の定型メッセージが含まれる。具体的には、第1候補群には、複数の非言語的メッセージが含まれる。第1候補群には、言語的メッセージが1または複数含まれてもよく、含まれなくてもよい。第1候補群を構成する定型メッセージの一例を
図12(a)に示す。
【0179】
第2メッセージ処理部116は、特定の事象をノンプレイヤキャラクタが達成した場合、ノンプレイヤキャラクタからユーザに送るメッセージを第2候補群の中から選択し、ノンプレイヤキャラクタからのメッセージとしてユーザに送信する。第2候補群には、複数の定型メッセージが含まれる。具体的には、第2候補群には、複数の非言語的メッセージが含まれる。第2候補群には、言語的メッセージが1または複数含まれてもよく、含まれなくてもよい。第2候補群を構成する定型メッセージの一例を
図12(b)に示す。
【0180】
ここで、第1候補群に含まれる全ての非言語的メッセージによって構成される群を第1メッセージ群とする。すなわち、特定の事象をユーザが達成した際に第2メッセージ処理部116が選択し得る非言語的メッセージによって構成される群を第1メッセージ群とする。すなわち、第1メッセージ群は、第1候補群に含まれる定型メッセージのうち、言語的メッセージを除いた定型メッセージによって構成される群である。
【0181】
また、第2候補群に含まれる全ての非言語的メッセージによって構成される群を第2メッセージ群とする。すなわち、特定の事象をノンプレイヤキャラクタが達成した際に第2メッセージ処理部116が選択し得る非言語的メッセージによって構成される群を第2メッセージ群とする。すなわち、第2メッセージ群は、第2候補群に含まれる定型メッセージのうち、言語的メッセージを除いた定型メッセージによって構成される群である。
【0182】
本実施形態では、第1メッセージ群と第2メッセージ群とは同一となっていない。換言すると、第1メッセージ群と第2メッセージ群とは、含まれる非言語的メッセージの少なくとも一部が異なっている。換言すると、第1メッセージ群と第2メッセージ群との少なくとも一方には、他方に含まれない非言語的メッセージが含まれる。なお、第1メッセージ群と第2メッセージ群とでは、含まれる非言語的メッセージの一部が重複していてもよい。また、第1メッセージ群には、第2メッセージ群に含まれる非言語的メッセージが一切含まれないこととしてもよい。また、第2メッセージ群には、第1メッセージ群に含まれる非言語的メッセージが一切含まれないこととしてもよい。このような構成によれば、ノンプレイヤキャラクタによる非言語的な定型メッセージでの反応を、特定の事象をユーザが達成した場合とノンプレイヤキャラクタが達成した場合とで異ならせることができる。したがって、非言語的な定型メッセージによる表現が状況に応じて異なるものとなり、ゲームの興趣性が向上される。
【0183】
また、第1メッセージ群に含まれる非言語的メッセージの数は、第2メッセージ群に含まれる非言語的メッセージの数よりも多くてもよい。このような構成によれば、ユーザが特定の事象を達成した場合のノンプレイヤキャラクタの反応を多様なものとするとともに、ノンプレイヤキャラクタが特定の事象を達成した場合のノンプレイヤキャラクタの反応が過剰となってしまうことを防止することができ、ゲームの興趣性が向上される。
【0184】
また、前述のように、ユーザは、選択ウィンドウ62に表示される複数の定型メッセージの中から定型メッセージを選択し、ノンプレイヤキャラクタにメッセージを送ることが可能となっている。ここで、選択ウィンドウ62に表示される全ての非言語的メッセージによって構成される群を第3メッセージ群とする。すなわち、ユーザがノンプレイヤキャラクタに送るメッセージとして選択し得る非言語的メッセージによって構成される群を第3メッセージ群とする。すなわち、第3メッセージ群は、選択ウィンドウ62に表示される定型メッセージのうち、言語的メッセージを除いた定型メッセージによって構成される群である。
【0185】
本実施形態では、ユーザが特定の事象を達成した際、およびノンプレイヤキャラクタが特定の事象を達成した際には、ユーザは選択ウィンドウ62から定型メッセージを選択してノンプレイヤキャラクタに送ることが可能となっている。すなわち、第3メッセージ群は、ユーザまたはノンプレイヤキャラクタが特定の事象を達成した際に、ユーザがノンプレイヤキャラクタに送るメッセージとして選択し得る非言語的メッセージによって構成される群ともいえる。
【0186】
本実施形態では、第3メッセージ群に含まれる非言語的メッセージの数は、第1メッセージ群に含まれる非言語的メッセージの数、および第2メッセージ群に含まれる非言語的メッセージの数よりも多くなっている。このような構成によれば、ユーザとノンプレイヤキャラクタとのいずれかが特定の事象を達成した場合にユーザからノンプレイヤキャラクタに送り得るメッセージの種類を豊富なものとしつつ、ノンプレイヤキャラクタからユーザに送り得る非言語的メッセージを、ユーザにとって違和感や不快感の小さいものに限定することができる。加えて、第1メッセージ群に含まれる非言語的メッセージの数を、第2メッセージ群に含まれる非言語的メッセージの数よりも多くすることで、ノンプレイヤキャラクタからユーザに送り得る非言語的メッセージを限定的なものとしつつも、ユーザが特定の事象を達成した場合のノンプレイヤキャラクタの反応を多様なものとすることができる。
【0187】
特定の事象の達成は、例えば、ゲームのスコア(換言すると、成績)に関する特定の事象の達成であってもよい。例えば、特定の事象の達成は、ゴルフゲームにおける、イーグル以上(具体的には、イーグル、アルバトロス、またはホールインワンなど)の達成であってもよい。また、例えば、特定の事象の達成は、FPSやロールプレイングゲームにおける、所定のキャラクタを倒すこと等であってもよい。
【0188】
なお、特定の事象をユーザが達成した場合とノンプレイヤキャラクタが達成した場合とで、一方の方が他方に比べ、第2メッセージ処理部116が、ノンプレイヤキャラクタからユーザへのメッセージの送信を行う確率が高くなっていてもよい。すなわち、特定の事象をユーザが達成した場合とノンプレイヤキャラクタが達成した場合とで、表示部18にノンプレイヤキャラクタからユーザへのメッセージが表示される確率が異なっていてもよい。
【0189】
なお、ユーザまたはノンプレイヤキャラクタが特定の事象を達成すると、第2メッセージ処理部116がメッセージを自発的に送る確率(換言すると、頻度)が上昇してもよい。例えば、ノンプレイヤキャラクタが特定の事象を達成した後は、ノンプレイヤキャラクタが特定の事象を達成する前に比べて、第2メッセージ処理部116が、ノンプレイヤキャラクタからユーザへのメッセージを送信する確率が上昇してもよい。
【0190】
また、ユーザから見てノンプレイヤキャラクタが暇であると考えられる場面においては、第2メッセージ処理部116がメッセージを自発的に送る確率(換言すると、頻度)が上昇してもよい。例えば、ユーザから見てノンプレイヤキャラクタが暇であると考えられる場面において第2メッセージ処理部116がメッセージを自発的に送る確率を、ユーザから見てノンプレイヤキャラクタが暇でないと考えられる場面において第2メッセージ処理部116がメッセージを自発的に送る確率よりも高くしてもよい。
【0191】
なお、対戦相手(例えば、ノンプレイヤキャラクタ)が特定の事象を達成した際に、表示制御部114は、表示部18に後述する小型ウィンドウ80を表示させることとしてもよい。また、第1メッセージ群に含まれる非言語的メッセージの数、および第2メッセージ群に含まれる非言語的メッセージの数の少なくとも一方が、小型ウィンドウ80に表示される定型メッセージの数(換言すると、当該数の最大数)よりも多くてもよい。また、第2メッセージ群に含まれる非言語的メッセージの数が、小型ウィンドウ80に表示される定型メッセージの数以下であってもよい。
【0192】
(小型ウィンドウ)
前述のように、本実施形態のゲームでは、ウィンドウ表示オブジェクト60に対する入力操作に基づいて、所定のUIとしての選択ウィンドウ62が表示される。また、選択ウィンドウ62においては、対戦相手に送信するメッセージの候補としての複数の定型メッセージが表示される。
【0193】
また、本実施形態のゲームでは、ゲーム中(換言すると、コンテンツの利用中)の特定の状況(以下、「ワイプ表示状況」という。)において、所定のUIとしての小型ウィンドウ80(換言すると、ワイプUI)が表示される。小型ウィンドウ80の表示の一例を
図13に示す。
【0194】
本実施形態では、メッセージ処理部115は、小型ウィンドウ80の表示条件(以下、「ワイプ表示条件」という。)を満たすか否かを判定する処理を行う。換言すると、メッセージ処理部115は、小型ウィンドウ80を表示させる特定の状況(換言すると、ワイプ表示状況)か否かを判定する処理を行う。具体的には、メッセージ処理部115は、例えば、対戦相手がショットに係る一連の操作を行い、当該操作の結果が良い結果だった場合に、ワイプ表示条件を満たすと判定する。ワイプ表示条件を満たす場合、メッセージ処理部115は、表示部18に小型ウィンドウ80を表示させるよう、表示制御部114に指示する。
【0195】
小型ウィンドウ80においては、選択ウィンドウ62に表示される複数の定型メッセージのうちの一部の定型メッセージが、ユーザから対戦相手に送るメッセージの候補として表示される。また、小型ウィンドウ80は、ワイプ表示状況において(換言すると、ワイプ表示条件を満たすと)自動的に表示部18に表示される。換言すると、表示制御部114は、ワイプ表示状況において、ユーザによる小型ウィンドウ80の表示を指示する操作を介さずに(換言すると、ウィンドウ表示オブジェクト60に対する入力操作のような操作を要さずに)小型ウィンドウ80を表示部18に表示させる。さらに換言すると、特定の状況において小型ウィンドウ80を表示させるために必要な操作の数(例えば、タッチ操作の回数など)は、選択ウィンドウ62を表示させるために必要な操作の数よりも少なくなっている。なお、ここで、少ないとは、本実施形態のように前者が0回の場合を含む。
【0196】
また、小型ウィンドウ80に表示された定型メッセージを選択する入力操作(換言すると、定型メッセージを入力する操作)を操作受付部111が受け付けると、メッセージ処理部115は、選択された定型メッセージを対戦相手に送信する。
【0197】
図7に示す例においては、選択ウィンドウ62は、3つのタブ67を有しており、1つのタブ毎に9個の定型メッセージ(具体的には、3個の非言語的メッセージと6個の言語的メッセージと)が表示される。すなわち、選択ウィンドウ62に表示される定型メッセージの数は27個となっている。また、選択ウィンドウ62の表示において、一度に表示される定型メッセージの数は9個となっている。なお、3つのタブ67のうち、一部のタブ67は、9個未満の定型メッセージが表示されるものであってもよい。換言すると、ここでの9個は、選択ウィンドウ62の表示において、一画面に表示され得る定型メッセージの最大数ともいえる。なお、ある数について「最大数」といった場合には、当該ある数が常に一定の場合(換言すると、最大数=最小数の場合)を含む。
【0198】
一方、小型ウィンドウ80には、選択ウィンドウ62に表示される27個の定型メッセージのうちの一部の定型メッセージが表示される。具体的には、小型ウィンドウ80に表示される定型メッセージの数は3個となっている。
【0199】
また、小型ウィンドウ80には、タブ67のような、対戦相手に送るメッセージの候補として表示される定型メッセージの種類を切り替えるためのUIが含まれておらず、小型ウィンドウ80の表示においては、一度に3個の定型メッセージが全て表示されるようになっている。すなわち、選択ウィンドウ62の表示においては、一画面に(換言すると、同時に)最大9個の定型メッセージが表示されるのに対し、小型ウィンドウ80の表示においては、一画面に(換言すると、同時に)3個の定型メッセージ(換言すると、小型ウィンドウ80の表示において表示される全ての定型メッセージ)が表示されるようになっている。すなわち、一画面に表示され得る定型メッセージの最大数を比較しても、小型ウィンドウ80の方が選択ウィンドウ62よりも少なくなっている。なお、小型ウィンドウ80も、タブ等の所定のUIを有し、当該タブ等に対する入力操作に応じて、小型ウィンドウ80に表示されるメッセージの候補の種類が変わるようになっていてもよい。
【0200】
また、本実施形態では、小型ウィンドウ80に表示される3個の定型メッセージは、予めゲームの製作者等によって定められている。換言すると、小型ウィンドウ80に表示される定型メッセージの数や種類は、各ユーザが設定可能とはなっておらず、小型ウィンドウ80には、全てのユーザ間で同一の定型メッセージが表示されるようになっている。
【0201】
なお、小型ウィンドウ80に表示される定型メッセージのうちの少なくとも一部を、各ユーザが設定(換言すると、カスタマイズ)可能となっていてもよい。具体的には、例えば、各ユーザは、選択ウィンドウ62に表示される定型メッセージのうちのどの定型メッセージを小型ウィンドウ80に表示させるか、対戦の開始前等において自身の端末装置10等から予め設定しておくことが可能となっていてもよい。また、小型ウィンドウ80に表示させる定型メッセージの数を、ユーザが設定可能となっていてもよい。この場合でも、一画面に表示され得る定型メッセージの最大数は、小型ウィンドウ80の方が選択ウィンドウ62よりも少なくなっていてもよい。
【0202】
小型ウィンドウ80は、例えば、対戦相手による所定の操作(例えば、ボール31をショットするための一連の操作)が終了した以降の所定のタイミングで表示されることとしてもよい。具体的には、例えば、表示制御部114は、対戦相手がボール31のショットに係る一連の操作(例えば、移動オブジェクト40に対するスワイプ操作、および移動オブジェクト40を指標オブジェクト50に向かって移動させるためのフリック操作等)を終え、対戦相手の打ったボール31が飛ぶ様子が表示された後、当該ボール31が止まる前後のタイミングで、小型ウィンドウ80を表示部18に表示させてもよい。換言すると、表示制御部114は、ユーザあるいはメッセージ処理部115が、対戦相手の操作の結果についての判断(例えば、ナイスショットか否かの判断。換言すると、当該結果についての評価。)を行うことが可能なタイミングで、小型ウィンドウ80を表示部18に表示させてもよい。
【0203】
また、小型ウィンドウ80は、例えば、対戦相手が所定の操作(例えば、ゲームを進行させるための操作等)に用いるUI(例えば、移動オブジェクト40および指標オブジェクト50)が表示されていた領域と一部が重なる領域に表示されてもよい。換言すると、小型ウィンドウ80は、対戦相手(または自身)が操作する所定のオブジェクトが対戦相手(または自身)によって操作され、当該所定のオブジェクトが画面から消えた場合に、当該所定のオブジェクトが表示されていた領域と一部が重なる領域に表示されるものであってもよい。また、小型ウィンドウ80は、当該所定のオブジェクトに対する対戦相手(または自身)による操作によって動かされる(換言すると、所定の作用が与えられる)オブジェクト(例えば、ボール31)が、当該所定のオブジェクトの表示中において表示されていた領域とは重ならない領域に表示されるものであってもよい。
【0204】
本実施形態では、対戦相手が、ボール31のショットに係る一連の操作を行い、当該操作の結果が良い結果の場合(例えば、ボール31がフェアウェイ上に到達する場合、グリーン上に到達する場合、またはカップインする場合など)には、ワイプ表示条件を満たすとして小型ウィンドウ80が表示される。すなわち、本実施形態では、小型ウィンドウ80は、ゲーム中において、ユーザまたは対戦相手によって特定の状況が達成された際に当該ユーザの表示部18に表示される。一方、当該操作の結果が悪い結果の場合(例えば、ボール31がラフに到達する場合、バンカーに到達する場合、またはミスショットの場合など)には、小型ウィンドウ80が表示されない。なお、操作の結果が良い結果であったか悪い結果であったかは、フェアウェイ上やグリーン上に到達したか否かだけでなく、ボール31の飛距離やボール31の到達位置とカップ32との距離等を加味して判定されるなどしてもよい。本実施形態では、表示制御部114は、対戦相手の操作によってショットされたボール31が止まる前後のタイミングで、表示部18に、操作(換言すると、操作の結果)についての評価に関する表示(具体的には、例えば「NICE SHOT」や「GREAT」や「EXCELLENT」などの文字情報)を表示部18に表示させるとともに、小型ウィンドウ80を表示部18に表示させる。
【0205】
また、小型ウィンドウ80は、選択ウィンドウ62よりも表示上の面積が小さくてもよい。本実施形態では、選択ウィンドウ62や小型ウィンドウ80は、表示部18の表示領域の全体を覆わないように表示される(
図7および
図13参照)。そして、選択ウィンドウ62や小型ウィンドウ80の表示中においても、選択ウィンドウ62や小型ウィンドウ80の表示されていない領域から、ゲーム空間30の表示(例えば、キャラクタやボール31等の表示)や、各種オブジェクトの表示(例えば、移動オブジェクト40や指標オブジェクト50等の表示)が見えるようになっている。小型ウィンドウ80を、選択ウィンドウ62よりも面積の小さいものとすることで、ワイプ表示状況において、ゲーム空間30の表示や各種オブジェクトの表示等が見やすくなる。なお、選択ウィンドウ62や小型ウィンドウ80は、背面側に存在するオブジェクトが透けて見えるものであってもよい。なお、本実施形態では、小型ウィンドウ80は、表示部18の表示領域における右下の領域に表示される。なお、小型ウィンドウ80が表示される領域は、各ユーザが自身の端末装置10等から設定することが可能となっていてもよい。
【0206】
また、表示制御部114は、小型ウィンドウ80を表示させる際に、小型ウィンドウ80とともに、相手方へのメッセージの送信を促す表示を表示部18に表示させてもよい。具体的には、例えば、表示制御部114は、小型ウィンドウ80の表示に伴い、「相手を応援しよう」、「今メッセージを送るタイミング」、あるいは「今なら返信もらえるかも」のような文字情報(例えば、吹き出しの表示など)を表示部18に表示させてもよい。
【0207】
また、小型ウィンドウ80は、対戦相手のターンにおいて、対戦相手が所定の操作(例えば、ゲームを進行させるための操作等)に用いるUIと少なくとも一部が重なった状態で表示部18に表示されてもよい。このような構成によれば、相手の操作については視認性が低下するおそれがあるものの、相手を応援したりすることが行いやすくなる。
【0208】
また、小型ウィンドウ80の表示中において、ウィンドウ表示オブジェクト60に対する操作に基づいて選択ウィンドウ62を表示させることが可能となっていてもよく、不可能となっていてもよい。また、選択ウィンドウ62の表示中においてワイプ表示状況が訪れた場合に、小型ウィンドウ80が表示されるようになっていてもよく、表示されないようになっていてもよい。また、選択ウィンドウ62と小型ウィンドウ80との一方が表示されている状況において、他方の表示が開始される場合に、当該一方の表示が終了してもよく、当該一方と当該他方とが同時に(換言すると、並んで)表示されるようになっていてもよい。また、当該一方と当該他方とが同時に表示される場合、当該一方と当該他方とは互いに重ならないように表示されることが好ましい。
【0209】
以上のように、本実施形態では、選択ウィンドウ62に表示される複数の定型メッセージのうちの一部が表示される小型ウィンドウ80が、コンテンツの利用中における特定の状況で、ウィンドウ表示オブジェクト60に対する操作等の所定の操作を要さずに表示される。したがって、当該特定の状況においてユーザはメッセージを相手方に手早く送ることが可能となる。したがって、ユーザが他のユーザ等と交流しやすくなり、サービスの興趣性が向上される。特に、特定の状況において、ユーザの操作を介することなく小型ウィンドウ80が表示される構成とした場合、当該特定の状況で、時機を逃さずにメッセージを送ることが可能となり、サービスの興趣性が一層向上される。また、小型ウィンドウ80に同時に表示され得る定型メッセージの最大数が、選択ウィンドウ62に同時に表示され得る定型メッセージの最大数よりも少なく、選択ウィンドウ62に表示される定型メッセージの数が限定的なものとされているので、画面全体に占める選択ウィンドウ62の面積を小さくし他の表示を見やすくした上で、ユーザによるメッセージの送信を可能とすることができる。また、小型ウィンドウ80に表示される定型メッセージの数を限定的なものとすることにより、目当ての定型メッセージを探すのに手間がかかってしまうことを防止することができる。
【0210】
また、本実施形態では、端末装置10はタッチスクリーン16を備え、小型ウィンドウ80がタッチスクリーン16に表示される。そして、メッセージ処理部115は、小型ウィンドウ80に表示される定型メッセージを選択する(換言すると、タッチする)ユーザの操作に基づいて選択された定型メッセージを対戦相手に送信する。従来、ハードウェアキーを用いて行うゲームにおいては、ハードウェアキーに相手方にメッセージを送るためのコマンドが割り当てられているものなどが存在する。このようなゲームにおいては、ハードウェアキーに対する操作によって相手方に即座にメッセージを送ること等が可能となっている。一方で、タッチスクリーンによる操作を前提とした装置においては、ハードウェアキーの数が制限されており、このようなハードウェアキーを利用した即座のメッセージ送信を可能とすることは困難である。しかし、本実施形態の構成によれば、適切なタイミングで自動で小型ウィンドウ80が表示され、限られた数の定型メッセージが一時的に表示されるので、表示を煩雑にせず、かつハードウェアキーの数が制限されているタッチスクリーンによる操作を前提とした装置でも、簡易に定型メッセージを送ることが可能となる。
【0211】
なお、本実施形態では、小型ウィンドウ80は、対戦相手がボール31のショットをした場合の所定のタイミングで表示される一方で、自分がボール31のショットをした場合における当該所定のタイミングに対応するタイミング(例えば、ボール31をショットするための一連の操作を終え、ボール31が飛ぶ様子が表示された後、ボール31が止まる前後のタイミング等)では、表示されないようになっている。換言すると、小型ウィンドウ80は、ゲーム中において、対戦相手によって特定の状況が達成された際(換言すると、相手が特定の操作を行った際)には表示される一方で、自分によって特定の状況が達成された際(換言すると、自分が特定の操作を行った際)には表示されないようになっている。具体的には、例えば、対戦相手がボール31のショットに係る一連の操作を行い、当該操作の結果が良い結果の場合には、小型ウィンドウ80が表示される一方、自分がボール31のショットに係る一連の操作を行い、当該操作の結果が良い結果の場合には、小型ウィンドウ80が表示されないようになっている。なお、小型ウィンドウ80は、自分のターンにおいては表示されることがないようにしてもよい。
【0212】
なお、小型ウィンドウ80は、自分がボール31のショットをした場合における当該所定のタイミングに対応するタイミングにおいても、表示されることとしてもよい。また、小型ウィンドウ80は、自分のターンにおいて、ショットを行う際に操作するオブジェクトに対する操作が可能な状況(例えば、移動オブジェクト40に対するスワイプ操作が可能な状況、および当該スワイプ操作を行っている状況など)においては、表示されないこととしてもよい。このような構成によれば、小型ウィンドウ80が操作の邪魔になることを防止しつつ、自分の行った操作についてのメッセージ等を迅速に送信することが可能となる。
【0213】
なお、本実施形態では、メッセージの送信についてクールタイムが設けられている。具体的には、各ユーザは、相手方にメッセージを送ると、その後所定期間の間(例えば、約5秒間)、次のメッセージを送ることができないようになっている。すなわち、メッセージ処理部115は、ユーザの操作に基づいて対戦相手にメッセージを送ると、その後所定期間の間、次のメッセージを当該ユーザから当該対戦相手に送らないように制御する。当該制御は、操作受付部111が、次のメッセージを送信する操作を受け付けないようにするものであってもよい。
【0214】
また、本実施形態では、当該クールタイムは、小型ウィンドウ80を用いたメッセージの送信にも適用される。すなわち、メッセージ処理部115は、小型ウィンドウ80に表示される定型メッセージを選択する操作に基づいて対戦相手にメッセージを送ると、その後所定期間の間、次のメッセージを当該ユーザから当該対戦相手に送らないように制御する。
【0215】
また、本実施形態では、当該クールタイムは、選択ウィンドウ62を用いたメッセージの送信にも適用される。ここで、小型ウィンドウ80を用いたメッセージの送信と選択ウィンドウ62を用いたメッセージの送信とで、クールタイムは共有されてもよい。具体的には、例えば、ユーザが、選択ウィンドウ62に表示される定型メッセージを選択する操作によって、相手方にメッセージを送信すると、その後所定期間の間、小型ウィンドウ80に表示される定型メッセージを選択する操作に基づく相手方へのメッセージの送信、および選択ウィンドウ62に表示される定型メッセージを選択する操作に基づく相手方へのメッセージの送信ができないようになっていてもよい。なお、ここで、クールタイム中においては、小型ウィンドウ80が表示されないことにより相手方へのメッセージの送信ができないようになっていてもよく、小型ウィンドウ80は表示されるが、定型メッセージを選択する操作が受け付けられないことにより相手方へのメッセージの送信ができないようになっていてもよい。
【0216】
なお、小型ウィンドウ80を用いたメッセージの送信には、クールタイムが適用されなくてもよい。換言すると、小型ウィンドウ80または選択ウィンドウ82を用いたメッセージの送信がされた直後であっても、小型ウィンドウ80を用いたメッセージの送信が可能となっていてもよい。あるいは、小型ウィンドウ80を用いたメッセージの送信と選択ウィンドウ62を用いたメッセージの送信とで、クールタイムが共有されていなくてもよい。換言すると、選択ウィンドウ82を用いたメッセージの送信がされた直後であっても(例えば、選択ウィンドウ82を用いたメッセージの送信に係るクールタイムの期間内であって、選択ウィンドウ82を用いたメッセージの送信ができない期間であっても)、小型ウィンドウ80を用いたメッセージの送信が可能となっていてもよい。小型ウィンドウ80が表示されるタイミングは、メッセージの送信に特に適したタイミングであり得るところ、このような構成によれば、メッセージの送信に適したタイミングを逃さずに相手方にメッセージを送信することができる。
【0217】
また、本実施形態では、小型ウィンドウ80に表示される定型メッセージを選択する操作がされると、表示制御部114は、表示部18に小型ウィンドウ80の表示を終了させる。なお、小型ウィンドウ80の表示が開始されてから、所定期間、定型メッセージを選択する操作がされなかった場合にも、表示制御部114は、表示部18に小型ウィンドウ80の表示を終了させる。
【0218】
次に
図14~
図17を参照しながら、ゲームシステム1が実行する処理の流れについて説明する。
【0219】
(メッセージの送受信に係る処理)
ユーザとノンプレイヤキャラクタとの間でのメッセージの送受信に係る処理の一例について、
図14を参照しながら説明する。
【0220】
まず、ユーザの端末装置10の操作受付部111は、表示部18に表示されている選択ウィンドウ62に表示される複数の候補の中から、ノンプレイヤキャラクタに送る定型メッセージを選択する入力操作(例えば、タッチ操作)を受け付ける(ステップS121)。換言すると、操作受付部111は、ノンプレイヤキャラクタへのメッセージの送信に係る入力操作を受け付ける。
【0221】
次いで、メッセージ処理部115は、ステップS121において選択された定型メッセージを、ユーザからノンプレイヤキャラクタに送信するメッセージとして決定し、第2メッセージ処理部116に送信する(ステップS122)。
【0222】
次いで、第2メッセージ処理部116は、ユーザからノンプレイヤキャラクタへ送信するメッセージとして決定された定型メッセージの属性を判定する(ステップS123)。
【0223】
次いで、第2メッセージ処理部116は、判定した属性に基づいて、返答テーブル70を参照して、ノンプレイヤキャラクタからの返答として送る定型メッセージを決定する(ステップS124)。返答テーブル70では、ユーザからノンプレイヤキャラクタに送られた定型メッセージが言語的メッセージであるか非言語的メッセージであるかに関わらず、返答が非言語的メッセージとなる確率が、言語的メッセージとなる確率よりも高くなるように、ユーザから送られる定型メッセージ(具体的には、当該定型メッセージの属性)と、返答として選ばれる定型メッセージとの対応関係が設定されている。
【0224】
次いで、表示制御部114は、第2メッセージ処理部116が決定した、返答として送る定型メッセージを、表示部18に表示させる(ステップS125)。
【0225】
(返答確率の制御に係る処理)
ノンプレイヤキャラクタからの返答確率の制御に係る処理について、
図15を参照しながら説明する。
【0226】
まず、第2メッセージ処理部116は、ユーザの入力操作に基づいてメッセージ処理部115から送信される、ユーザからノンプレイヤキャラクタへのメッセージを受信する(ステップS151)。
【0227】
次いで、第2メッセージ処理部116は、ユーザからノンプレイヤキャラクタへのメッセージの送信回数についてのカウント数を「1」増加させる(ステップS152)。
【0228】
また、図示は省略するが、第2メッセージ処理部116は、ユーザからノンプレイヤキャラクタへのメッセージを受信すると、60秒の計測を開始する。そして、計測の開始から60秒が経過するまでに、ユーザからノンプレイヤキャラクタへの再度のメッセージの送信がなかった場合、第2メッセージ処理部116は、ユーザからのメッセージの送信回数についてのカウント数を「0」にする(換言すると、リセットする)。一方、計測の開始から60秒が経過するまでに、ユーザからノンプレイヤキャラクタへの再度のメッセージの送信があった場合、第2メッセージ処理部116は、ユーザからのメッセージの送信回数についてのカウント数を維持したまま、再度60秒の計測を開始する。なお、60秒の計測に基づくカウント数のリセットは、60秒が経過したタイミングで行われてもよく、例えば、ユーザからノンプレイヤキャラクタへメッセージが送られた際に、前回のメッセージの送信から60秒以上が経過しているか否か判定され、当該判定の結果に基づいて行われるなどしてもよい。
【0229】
第2メッセージ処理部116は、ステップS152の処理に続いて、カウント数が「1」か否かを判定する(ステップS153)。
【0230】
カウント数が「1」の場合(ステップS153でYES)、第2メッセージ処理部116は、返答を送るか否かを決定する抽選であって、50%の確率で返答を送ることに決定される抽選を実行する(ステップS154)。すなわち、カウント数が「1」の場合、第2メッセージ処理部116は、50%の確率でノンプレイヤキャラクタからユーザへの返答を送ることを決定する。
【0231】
カウント数が「1」でない場合(ステップS153でNO)、第2メッセージ処理部116は、カウント数が「2」~「4」であるか否かを判定する(ステップS155)。
【0232】
カウント数が「2」~「4」のいずれかの場合(ステップS155でYES)、第2メッセージ処理部116は、返答を送るか否かを決定する抽選であって、30%の確率で返答を送ることに決定される抽選を実行する(ステップS156)。すなわち、カウント数が「2」~「4」の場合、第2メッセージ処理部116は、30%の確率でノンプレイヤキャラクタからユーザへの返答を送ることを決定する。
【0233】
カウント数が「2」~「4」のいずれでもない場合(ステップS155でNO)、第2メッセージ処理部116は、返答を送るか否かを決定する抽選であって、10%の確率で返答を送ることに決定される抽選を実行する(ステップS157)。すなわち、カウント数が「5」以上の場合、第2メッセージ処理部116は、10%の確率でノンプレイヤキャラクタからユーザへの返答を送ることを決定する。
【0234】
なお、ステップS151~S157の処理は、例えば、ステップS122の処理とステップS123の処理との間で行われてもよい。そして、ステップS154,S156またはS157の処理で返答を送ることが決定された場合にステップS123~S125の処理が行われ、ステップS154,S156またはS157の処理で返答を送ることが決定されなかった場合にはステップS123~S125の処理が行われないこととしてもよい。
【0235】
(メッセージの送信の制限に係る処理)
ノンプレイヤキャラクタからユーザへのメッセージの送信の制限に係る処理について、
図16を参照しながら説明する。
【0236】
まず、第2メッセージ処理部116は、ユーザの入力操作に基づいてメッセージ処理部115から送信される、ユーザからノンプレイヤキャラクタへのメッセージを受信する(ステップS201)。
【0237】
次いで、第2メッセージ処理部116は、仮想ユーザによって操作されるオブジェクトに対して所定の操作が行われているとユーザから推定される推定状況であるか否かを判定する(ステップS202)。具体的には、例えば、第2メッセージ処理部116は、仮想ユーザが、ボール31のショットに係る一連の操作(例えば、移動オブジェクト40に対するスワイプ操作、および移動オブジェクト40を指標オブジェクト50に向かって移動させるためのフリック操作など)を行っていると推定される状況か否か等を判定する。なお、本実施形態では、仮想ユーザがショットに係る一連の操作を行っている様子は、ユーザの端末装置10の表示部18に表示される。なお、当該判定は、例えば、仮想ユーザがショットに係る一連の操作を行っている様子が表示部18に表示されている期間等の所定の期間(換言すると、推定状況に対応する期間)において設定される所定のフラグ等を用いて行われてもよい。
【0238】
第2メッセージ処理部116は、推定状況であると判定した場合(例えば、仮想ユーザがショットに係る一連の操作中であると判定した場合)(ステップS202でYES)、ノンプレイヤキャラクタからユーザへの返答を送らないことを決定する(ステップS203)。一方、第2メッセージ処理部116は、推定状況でないと判定した場合(例えば、仮想ユーザがショットに係る一連の操作等を行っていないと判定した場合)(ステップS202でNO)、ノンプレイヤキャラクタからユーザへの返答を送らないことに決定しない。
【0239】
なお、ステップS201~S203の処理は、例えば、ステップS122の処理とステップS123の処理との間で行われてもよい。そして、ステップS203の処理で返答を送らないことが決定された場合(ステップS202でYESの場合)にステップS123~S125の処理が行われず、ステップS203の処理で返答を送らないことが決定されなかった場合(ステップS202でNOの場合)にステップS123~S125の処理が行われることとしてもよい。より具体的には、ステップS201~S203の処理は、例えば、ステップS122の処理とステップS123の処理との間であって、ステップS151~S157の処理の前に行われてもよい。すなわち、ステップS203の処理で返答を送らないことが決定されなかった場合(ステップS202でNOの場合)、ステップS151~S157の処理により、所定の確率で返答を送ることが決定されてもよい。
【0240】
(事象達成時のメッセージの送信に係る処理)
特定の事象をユーザまたはノンプレイヤキャラクタが達成した場合の、ノンプレイヤキャラクタからユーザへのメッセージの送信に係る処理について、
図17を参照しながら説明する。
【0241】
まず、第2メッセージ処理部116は、特定の事象が達成されたか否かを判定する(ステップS251)。具体的には、例えば、第2メッセージ処理部116は、イーグル以上の結果が達成された場合に特定の事象が達成されたと判定する。
【0242】
特定の事象が達成された場合(ステップS251でYES)、第2メッセージ処理部116は、ノンプレイヤキャラクタからユーザへメッセージを送信するか否かを決定する(ステップS252)。例えば、第2メッセージ処理部116は、メッセージを送るか否かを決定する抽選であって、50%の確率でメッセージを送ることに決定される抽選を実行する。メッセージを送らないことが決定された場合(ステップS252でNO)、第2メッセージ処理部116は、ステップS253~S255の処理を行わない。
【0243】
次いで、メッセージを送ることが決定された場合(ステップS252でYES)、第2メッセージ処理部116は、特定の事象がユーザによって達成されたか、ノンプレイヤキャラクタによって達成されたかを判定する(ステップS253)。
【0244】
第2メッセージ処理部116は、特定の事象がユーザによって達成されたと判定した場合(ステップS253でYES)、ユーザに送るメッセージを、複数の非言語的な定型メッセージを含む第1候補群の中から選択する(ステップS254)。
【0245】
一方、第2メッセージ処理部116は、特定の事象がノンプレイヤキャラクタによって達成されたと判定した場合(ステップS253でNO)、ユーザに送るメッセージを、複数の非言語的な定型メッセージを含む第2候補群の中から選択する(ステップS255)。なお、第1候補群と第2候補群とは、含まれる非言語的な定型メッセージの少なくとも一部が異なる。
【0246】
なお、本実施形態では、ゲームにおける対戦相手との間でのメッセージの送受信に係る構成について説明したが、本構成は、ゲームにおける仲間など、対戦相手以外との間でのメッセージの送受信を行うための構成に適用することもできる。また、本構成は、ゲーム以外のコンテンツ(換言すると、アプリケーションまたはサービス)について、コンテンツを一緒に利用する相手(例えば、他のユーザあるいはノンプレイヤキャラクタ)との間でのメッセージの送受信を行うための構成に適用することもできる。
【0247】
なお、本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変形して実施できる。本発明はその発明の範囲内において、各構成要素の自由な組み合わせ、任意の構成要素の変形、または任意の構成要素の省略等が可能である。また、本明細書において説明した処理の流れはあくまで一例であり、各処理の順序や構成は異なるものであってもよい。
【0248】
<付記>
以上の実施形態で説明した事項は、以下の付記のようにも記載され得る。
【0249】
(付記1)
コンピュータを、
ユーザからノンプレイヤキャラクタに送られたメッセージに対する前記ノンプレイヤキャラクタからの返答を前記ユーザに送るメッセージ処理手段(例えば、第2メッセージ処理部116)として機能させ、
前記メッセージ処理手段は、所定の条件に基づいて、前記返答を送る確率を制御する
プログラム。
ユーザが送ったメッセージに対して毎回返答を行うと、ユーザがメッセージを送っている相手がノンプレイヤキャラクタであることをユーザに意識させてしまうおそれなどがある。このような構成によれば、メッセージの返答確率を制御することで、実際のユーザが返答を行う場合に近い反応を実現することができ、ノンプレイヤキャラクタにメッセージを送っていることをユーザに意識させることのないサービスを提供することができる。したがって、サービスの興趣性が向上される。
【0250】
(付記2)
前記所定の条件は、前記ユーザから前記ノンプレイヤキャラクタに送られたメッセージの履歴に関する条件である
付記1に記載のプログラム。
このような構成によれば、ユーザからノンプレイヤキャラクタに送られたメッセージの履歴に応じて返答が送られる確率が変化するので、ユーザからのメッセージに対するノンプレイヤの反応を、ノンプレイヤキャラクタからの返答確率によって表現することができる。したがって、サービスの興趣性が向上される。
【0251】
(付記3)
前記メッセージ処理手段は、前記ユーザから前記ノンプレイヤキャラクタに送られたメッセージの数に応じて前記返答を送る確率が変化するように制御する
付記1に記載のプログラム。
このような構成によれば、メッセージの送信が多いユーザに対して返答を送るのが面倒になっている様子などを表現でき、サービスの興趣性が向上される。
【0252】
(付記4)
前記メッセージ処理手段は、所定期間内に前記ユーザから前記ノンプレイヤキャラクタに送られたメッセージの数が所定値を超えると、前記所定値を超えないときに比べて前記返答を送る確率が低下するように制御する
付記3に記載のプログラム。
このような構成によれば、メッセージの送信頻度が高いユーザに対して返答を送るのが面倒になっている様子などを表現でき、サービスの興趣性が向上される。
【0253】
(付記5)
前記所定値として、第1所定値と、前記第1所定値よりも大きい第2所定値との少なくとも2つが含まれ、
前記メッセージ処理手段は、
所定期間内に前記ユーザから前記ノンプレイヤキャラクタに送られたメッセージの数が前記第1所定値を超えると、前記第1所定値を超えないときに比べて前記返答を送る確率が低下し、
所定期間内に前記ユーザから前記ノンプレイヤキャラクタに送られたメッセージの数が前記第2所定値を超えると、前記第2所定値を超えないときに比べて前記返答を送る確率が低下するように制御する
付記4に記載のプログラム。
このような構成によれば、ノンプレイヤキャラクタからの返答確率を段階的に低下させることができ、より実際のユーザが返答を行う場合に近い反応を実現することができる。したがって、サービスの興趣性が向上される。
【0254】
(付記6)
前記メッセージ処理手段は、前記ユーザから前記ノンプレイヤキャラクタに送られたメッセージの長さに応じて前記返答を送る確率が変化するように制御する
付記1に記載のプログラム。
このような構成によれば、長いメッセージに対して返答を送るのが面倒になっている様子などを表現でき、サービスの興趣性が向上される。
【0255】
(付記7)
ユーザからノンプレイヤキャラクタに送られたメッセージに対する前記ノンプレイヤキャラクタからの返答を前記ユーザに送るメッセージ処理手段(例えば、第2メッセージ処理部116)を備え、
前記メッセージ処理手段は、所定の条件に基づいて、前記返答を送る確率を制御する
情報処理システム。
このような構成によれば、付記1に記載のプログラムと同様の作用効果を奏することができる。
【符号の説明】
【0256】
1 ゲームシステム、10 端末装置、11 プロセッサ、12 メモリ、13 ストレージ、16 タッチスクリーン、17 入力部、18 表示部、20 サーバ、21 プロセッサ、22 メモリ、23 ストレージ、30 ゲーム空間、60 ウィンドウ表示オブジェクト、62 選択ウィンドウ、65 第1チャット情報群、66 第2チャット情報群、80 小型ウィンドウ、110 制御部、111 操作受付部、112 送受信部、113 ゲーム進行部、114 表示制御部、115 メッセージ処理部、116 第2メッセージ処理部、119 NPC制御部、120 記憶部、210 制御部、211 送受信部、212 サーバ処理部、213 データ管理部、214 同期処理部、220 記憶部