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

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

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

<>
  • 特開-プログラムおよび情報処理システム 図1
  • 特開-プログラムおよび情報処理システム 図2
  • 特開-プログラムおよび情報処理システム 図3
  • 特開-プログラムおよび情報処理システム 図4
  • 特開-プログラムおよび情報処理システム 図5
  • 特開-プログラムおよび情報処理システム 図6
  • 特開-プログラムおよび情報処理システム 図7
  • 特開-プログラムおよび情報処理システム 図8
  • 特開-プログラムおよび情報処理システム 図9
  • 特開-プログラムおよび情報処理システム 図10
  • 特開-プログラムおよび情報処理システム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024175330
(43)【公開日】2024-12-18
(54)【発明の名称】プログラムおよび情報処理システム
(51)【国際特許分類】
   A63F 13/49 20140101AFI20241211BHJP
   A63F 13/497 20140101ALI20241211BHJP
【FI】
A63F13/49
A63F13/497
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023093029
(22)【出願日】2023-06-06
(71)【出願人】
【識別番号】509070463
【氏名又は名称】株式会社コロプラ
(74)【代理人】
【識別番号】100104547
【弁理士】
【氏名又は名称】栗林 三男
(74)【代理人】
【識別番号】100206612
【弁理士】
【氏名又は名称】新田 修博
(74)【代理人】
【識別番号】100209749
【弁理士】
【氏名又は名称】栗林 和輝
(74)【代理人】
【識別番号】100217755
【弁理士】
【氏名又は名称】三浦 淳史
(72)【発明者】
【氏名】斉藤 周平
(57)【要約】
【課題】システムの負荷を軽減する。
【解決手段】プログラムは、コンピュータを、仮想空間内におけるイベントの進行中において、ユーザの入力操作に基づいてイベントの進行に係る所定の計算を行う計算手段と、ユーザに提示される画面についての録画を開始するか否かを、所定の計算の結果に応じて制御する制御手段と、として機能させる。
【選択図】図11
【特許請求の範囲】
【請求項1】
コンピュータを、
仮想空間内におけるイベントの進行中において、ユーザの入力操作に基づいて前記イベントの進行に係る所定の計算を行う計算手段と、
前記ユーザに提示される画面についての録画を開始するか否かを、前記所定の計算の結果に応じて制御する制御手段と、として機能させる
プログラム。
【請求項2】
前記所定の計算は、前記仮想空間内における所定のオブジェクトの動きに関する計算である
請求項1に記載のプログラム。
【請求項3】
前記制御手段は、前記録画を開始させる契機となった前記入力操作に基づく前記所定のオブジェクトの動きが記録されるように前記録画を開始させる
請求項2に記載のプログラム。
【請求項4】
前記制御手段は、前記所定の計算の結果、前記イベントにおける特定の事象の発生が確定したことに基づいて前記録画を開始させ、当該特定の事象が表示される前記画面についての前記録画を行う
請求項1に記載のプログラム。
【請求項5】
前記録画は、予め決まった時点まで行われると自動で終了し、前記録画の終了後も前記イベントが続行し得る
請求項1に記載のプログラム。
【請求項6】
前記コンピュータを、さらに、
前記録画により得られた録画データを公開するか否かを確認するユーザインターフェースを、当該録画データに係るイベントの進行中または当該イベントが終了した際の少なくともいずれかにおいて前記ユーザに提示する提示手段として機能させる
請求項1に記載のプログラム。
【請求項7】
前記コンピュータを、さらに、
前記録画の実行中であることを前記ユーザに報知する報知手段として機能させる
請求項1に記載のプログラム。
【請求項8】
コンピュータを、
仮想空間内におけるイベントの進行中において、ユーザの入力操作に基づいて前記イベントの進行に係る所定の計算を行う計算手段と、
前記所定の計算に基づいて実現される前記イベント中の一場面についての表示を再現するためのデータを、所定の記憶部に記憶させるか否かを、前記所定の計算の結果に応じて決定する制御手段と、として機能させ、
前記制御手段は、前記データを前記所定の記憶部に記憶させるか否かを、前記表示が前記ユーザに最初に提供される前に決定する
プログラム。
【請求項9】
前記所定の計算は、前記仮想空間内における所定のオブジェクトの動きに関する計算であり、
前記制御手段は、前記所定のオブジェクトが前記所定の計算に基づいて動く表示を再現可能な前記データを、前記所定の記憶部に記憶させるか否かを、前記所定の計算の結果に応じて決定する
請求項8に記載のプログラム。
【請求項10】
仮想空間内におけるイベントの進行中において、ユーザの入力操作に基づいて前記イベントの進行に係る所定の計算を行う計算手段と、
前記ユーザに提示される画面についての録画を開始するか否かを、前記所定の計算の結果に応じて制御する制御手段と、を備える
情報処理システム。
【請求項11】
仮想空間内におけるイベントの進行中において、ユーザの入力操作に基づいて前記イベントの進行に係る所定の計算を行う計算手段と、
前記所定の計算に基づいて実現される前記イベント中の一場面についての表示を再現するためのデータを、所定の記憶部に記憶させるか否かを、前記所定の計算の結果に応じて決定する制御手段と、を備え、
前記制御手段は、前記データを前記所定の記憶部に記憶させるか否かを、前記表示が前記ユーザに最初に提供される前に決定する
情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラムおよび情報処理システムに関する。
【背景技術】
【0002】
従来より、ユーザのプレイ内容を記録し、プレイ後における視聴を可能とするゲームが知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-18464号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、ゲーム等のサービスにおいては、システムの負荷を軽減することが求められている。
【0005】
本発明は、システムの負荷を軽減することを目的とする。
【課題を解決するための手段】
【0006】
本開示に示す一実施形態によれば、
コンピュータを、
仮想空間内におけるイベントの進行中において、ユーザの入力操作に基づいて前記イベントの進行に係る所定の計算を行う計算手段と、
前記ユーザに提示される画面についての録画を開始するか否かを、前記所定の計算の結果に応じて制御する制御手段と、として機能させる
プログラムが提供される。
【発明の効果】
【0007】
本発明によれば、システムの負荷を軽減できる。
【図面の簡単な説明】
【0008】
図1】ゲームシステムの概略構成を示す図である。
図2】ゲームシステムの機能的構成を示すブロック図である。
図3】ゲーム空間を表示する画面の一例を示す図である。
図4】移動オブジェクトが移動する様子を示す図である。
図5】移動オブジェクトが指標オブジェクトに到達した様子を示す図である。
図6】ショットに係る処理の一例を示すフローチャートである。
図7】録画の開始タイミングと表示部における表示との関係について説明するための図である。
図8】ユーザの入力操作に基づいて開始される録画において録画される画面について説明するための図である。
図9】録画をするか否か確認するUIの一例を示す図である。
図10】録画データを公開するか否か確認するUIの一例を示す図である。
図11】録画に係る処理の一例を示すフローチャートである。
【発明を実施するための形態】
【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】
なお、仮想空間の一例として、イベントが行われる(換言すると、発生する)空間が挙げられる。また、イベントが行われる空間の一例として、ゲームの進行に係るイベントが行われる(例えば、キャラクタ等を動かしてゲームを進行させる)ゲーム空間や、音楽ライブ等の各種ライブが行われるライブ空間や、ユーザ同士が交流可能な空間が挙げられる。また、仮想空間内のオブジェクトの一例として、ゲームに使用されるゲーム媒体が挙げられる。また、ゲーム媒体の一例として、キャラクタやアイテムや競技に用いられる物体等が挙げられる。
【0036】
ユーザ情報223は、ゲームのアカウントごとに管理される情報である。ユーザ情報223は、例えば、操作キャラクタに関する情報、保有資産に関する情報、およびゲームの進行度合いを示す情報等を含む。保有資産として、例えば、仮想空間内の通貨やアイテム等が挙げられる。換言すると、保有資産は、仮想空間においてユーザが所有する価値(換言すると、ユーザに対応付けられる価値)ともいえる。当該価値(換言すると、仮想空間内価値)の一例として、電子通貨が挙げられる。また、電子通貨の一例として、ゲーム内で使用可能なゲーム内通貨や、暗号資産が挙げられる。
【0037】
制御部210は、記憶部220に格納されたゲームプログラム221を実行することにより、ゲームに関する各種処理を制御する。制御部210は、例えば、送受信部211、サーバ処理部212、データ管理部213および同期処理部214を有する。
【0038】
送受信部211は、各種データを送信または受信する。送受信部211は、例えば、各種データおよびプログラムの送信要求や、マルチプレイ機能に対応するための同期処理の要求、同期処理の対象となるデータ等を、各端末装置10から受信し、サーバ処理部212に渡す。また、送受信部211は、サーバ処理部212による制御に従って、同期を取るための指示等を含む各種データやプログラムを、各端末装置10に送信する。
【0039】
本実施形態において、マルチプレイ機能とは、複数のアカウントによるゲーム処理を同期させた状態で進行させる機能である。ゲームシステム1のサーバ20および端末装置10は、ゲームシステム1にログインしているアカウントが同じゲームに複数参加する場合に、マルチプレイ機能に対応するための各種処理を実行する。
【0040】
サーバ処理部212は、端末装置10からの要求等に応じ、ゲームプログラム221に記述された演算処理を実行することで、端末装置10にゲームを提供する。サーバ処理部212は、例えば、マルチプレイ機能に対応するための同期処理の要求や同期処理の対象となるデータを、送受信部211を介して端末装置10から受け取ると、マルチプレイ機能に対応するための同期処理を実行する。また、サーバ処理部212は、ゲーム情報222またはユーザ情報223の送信指示を送受信部211に指令する。さらに、サーバ処理部212は、ゲーム情報222またはユーザ情報223のレコードの追加、更新または削除に関する指示をデータ管理部213に指令する。
【0041】
データ管理部213は、記憶部220に格納されている各種データをサーバ処理部212の指示に従って管理する。データ管理部213は、例えば、サーバ処理部212からの指令に従って、ゲーム情報222またはユーザ情報223を読み出し、送受信部211を介して端末装置10に送信する。また、データ管理部213は、サーバ処理部212からの指令に従って、ゲーム情報222またはユーザ情報223のレコードを、追加、更新または削除する。
【0042】
同期処理部214は、サーバ処理部212からの指令に従って、ゲームのマルチプレイ機能に対応するための同期処理を実行する。同期処理部214は、例えば、サーバ20が複数の端末装置10に対して情報を送信するときに、各端末装置10に同時に情報を送信することで、各端末装置10間で進行するゲームの同期を取る。具体的に、同期処理部214は、各アカウントに対応する端末装置10から所定期間(例えば、一フレーム)内に受信した操作情報を、所定期間ごとに各端末装置10に同時に送信する。操作情報は、端末装置10に入力される操作に関する情報である。同期のタイミングや同期すべき情報は、サーバ処理部212から随時受信することとしてもよい。同期処理を実行することで、一つの端末装置10で入力された操作に起因するゲーム内の事象を、他の端末装置10に同時に反映させることが可能となる。
【0043】
本実施形態における端末装置10は、例えば、ユーザの入力操作を受け付ける入力装置としての機能、およびゲームの画像や音声を出力する出力装置としての機能等を有する。
【0044】
端末装置10は、プロセッサ11、メモリ12、ストレージ13、通信IF14、および入出力IF15等の協働によって、制御部110および記憶部120として機能する。記憶部120は、制御部110が使用する各種データを格納する。各種データとして、例えば、ゲームプログラム121、ゲーム情報122およびユーザ情報123がある。
【0045】
ゲームプログラム121は、端末装置10側でゲームを実現するためのプログラムである。ゲーム情報122およびユーザ情報123は、制御部110がゲームプログラム121を実行するときに参照するデータである。
【0046】
ゲーム情報122は、上述したサーバ20のゲーム情報222と同様の情報を含む。したがって、ここではゲーム情報122の説明を省略する。
【0047】
ユーザ情報123は、端末装置10を使用するユーザのアカウントに関するデータであり、上述したサーバ20のユーザ情報223と同様の情報を含む。したがって、ここではユーザ情報123の説明を省略する。
【0048】
制御部110は、記憶部120に格納されたゲームプログラム121を実行することにより、端末装置10において実行されるゲームに関する各種処理を制御する。制御部110は、例えば、操作受付部111、送受信部112、ゲーム進行部113、表示制御部114、録画制御部115、編集部116、公開制御部117、およびNPC制御部119を有する。
【0049】
操作受付部111は、入力部17を介してユーザにより入力される操作(以下、「入力操作」ともいう。)を受け付ける。具体的には、操作受付部111は、入力部17に対する入力操作がされた場合に、入力位置の座標および入力操作の種類を検知する。入力操作の種類として、例えば、タッチ操作、タップ操作、スライド操作、スワイプ操作、フリック操作、ピンチイン操作およびピンチアウト操作等の、手指等による各種操作が挙げられる。入力操作は、入力部17(例えば、タッチスクリーン16)に物理的に接触する操作に限らず、非接触による操作も含み得る。なお、タッチスクリーン16への接触を終了するタッチオフ操作等のそれまで行っていた入力操作を終了する操作も、入力操作の一態様ということができる。
【0050】
ここで、操作受付部111は、入出力IF15を介して接続された操作機器を用いてされる入力操作についても、入力部17に対する入力操作と同様に受け付けることができる。
【0051】
送受信部112は、各種データを送受信する。以下に、具体例を挙げて説明する。
【0052】
送受信部112は、ゲーム情報122またはユーザ情報123や、マルチプレイ機能に対応するための同期要求を、サーバ20に送信する。送受信部112は、各種データ、プログラム、およびマルチプレイ機能に対応するための同期のためのデータ等を、サーバ20から受信する。同期のためのデータには、例えば、マルチプレイに参加している各端末装置10間で同期を取るように指示するための同期指示データが含まれる。同期指示データには、例えば、同期対象となるデータおよびそのデータの種類や、同期する時期を特定するためのデータ等が含まれる。
【0053】
送受信部112は、操作受付部111により受け付けられた入力操作に関する操作情報を、サーバ20に送信する。送受信部112は、他の端末装置10において他のユーザにより入力された操作に関する操作情報を、サーバ20から受信する。
【0054】
ゲーム進行部113は、ゲームの進行に関する各種処理を実行する。以下に、具体例を挙げて説明する。
【0055】
ゲーム進行部113は、ゲーム情報122に含まれるゲーム空間を規定するための情報に基づいて、ゲーム空間を規定する。ゲーム進行部113は、ゲーム情報122に含まれるオブジェクトの設定情報に基づいて、ゲーム空間にオブジェクトを配置する。ゲーム進行部113は、ゲーム空間に配置したオブジェクトを制御する。具体的には、ゲーム進行部113は、ゲーム空間内でのオブジェクトの位置、向き、形状、色等を変更することや、オブジェクトに所定の動作を行わせるように、オブジェクトを制御する。
【0056】
ゲーム進行部113は、ゲーム空間のうちユーザに提示する領域を指定するための仮想カメラを規定する。ゲーム進行部113は、ゲーム空間内での仮想カメラの位置および向きを規定することにより、ゲーム空間内に仮想カメラを配置する。ゲーム進行部113は、仮想カメラにより規定される視野領域およびこの視野領域に配置されているオブジェクトを描画した画像を生成するように、表示制御部114に指示する。
【0057】
仮想カメラの位置および向きは、ゲーム空間ごとに適宜決定することができる。例えば、ゲーム進行部113は、特定のオブジェクトの位置や向きを基準とし、特定のオブジェクトが特定の向きで視野領域の中央に位置するように、仮想カメラを配置する。その際、ゲーム進行部113は、特定のオブジェクトに対する方向、距離および角度を用い、仮想カメラの位置や向きを調整する。特定のオブジェクトは、例えば、操作キャラクタやノンプレイヤキャラクタ等の動的なオブジェクトであってもよいし、建物や木、石等の静的なオブジェクトであってもよい。動的なオブジェクトには、各ユーザの操作に基づいてそれぞれ動作する操作キャラクタと、ゲームプログラム121,221に基づいて動作するキャラクタ(例えば、ノンプレイヤキャラクタ、敵キャラクタ等)とが含まれる。なお、ノンプレイヤキャラクタとは、ゲームをプレイするユーザのいずれもが操作対象としないキャラクタともいえる。
【0058】
ゲーム進行部113は、操作受付部111により検知された入力位置の座標および入力操作の種類等に基づいて、ユーザの指示内容を解釈する。ゲーム進行部113は、解釈した指示内容等に基づいて、ゲームの進行に関わる各種判定処理を実行する。ゲーム進行部113は、判定処理の結果等に基づいて、オブジェクトや仮想カメラ等を制御しながらゲームを進行する。ゲーム進行部113は、ゲームの進行状況に応じて、ゲーム情報122やユーザ情報123を更新、追加または削除する。
【0059】
表示制御部114は、表示部18に画像を表示させる。以下に、具体例を挙げて説明する。
【0060】
表示制御部114は、ゲーム空間のうち、ゲーム進行部113が規定する仮想カメラの視野の領域と、その領域に存在するオブジェクトとを描画した画像を生成し、表示部18に表示させる。表示制御部114は、表示部18に表示させる画像に対し、例えば、アイコン、ボタン、各種パラメータを示すメニュー等、ゲームの種々の操作に必要なUI(User Interface)に関わるオブジェクトを重畳して描画することができる。
【0061】
なお、図2に示す端末装置10およびサーバ20の機能は一例にすぎない。端末装置10およびサーバ20の各装置は、他の装置が備える機能の少なくとも一部を備えていてもよい。また、端末装置10およびサーバ20等の各装置は、一体の機器により実現されるものでなくてもよく、例えば、ネットワーク等を介して接続される複数の機器によって実現されてもよい。また、ゲームシステム1は、例えば、端末装置10またはサーバ20のみによって構成されていてもよい。換言すると、ゲームシステム1は、ネットワークを介して接続される複数の機器によって実現されていなくてもよい。
【0062】
<本実施形態に係る処理>
次に、本実施形態に係る処理について説明する。なお、本実施形態では、端末装置10のプロセッサ11またはサーバ20のプロセッサ21が、ゲームシステム1に記憶されているプログラムを実行することによって、後述する各処理を行うものとして説明する。ただし、後述する処理であってプロセッサ11が行う処理のうちの少なくとも一部を、プロセッサ11とは別のプロセッサが実行するようにしてもよい。また、後述する処理であってプロセッサ21が行う処理のうちの少なくとも一部を、プロセッサ21とは別のプロセッサが実行するようにしてもよい。換言すると、本実施形態においてプログラムを実行するコンピュータは、端末装置10およびサーバ20のいずれであってもよく、また、複数の装置の組み合わせにより実現されてもよい。
【0063】
<ゲームの基本動作>
以下では、本実施形態に係る構成をゴルフゲームに適用した場合を例に説明する。
【0064】
図3図5は、ゲーム空間30としてのゴルフコースを含む空間を示す表示画面例である。図3図5を参照しながら、ゲーム空間30およびゲーム空間30に重ねて表示される各種オブジェクトについて説明する。
【0065】
表示制御部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に表示させる。
【0066】
カップ指標36は、例えば、カップ32から所定の色彩の光が延び出るように表示される指標である。ゲーム進行部113は、例えば、カップ指標36を、コースの芝の色彩と区別がつくような色彩に設定する。カップ指標36を表示させることで、ユーザは、プレイヤキャラクタ33の背後から映されたゲーム空間30において、カップ32の位置を容易に視認できる。
【0067】
本実施形態では、ゲーム進行部113は、カップ32にボール31を入れるという目標の達成を目指す1ホール(換言すると、1ステージ)のゲームの実行中において、ユーザによる所定の操作に基づいてボール31を移動させる。以下、図3図5を参照しながら、ゲームの進行について説明する。
【0068】
ゲーム進行部113は、図3に示すように、ボール31およびアドレスの姿勢を取るプレイヤキャラクタ33を表示部18に表示させるよう、表示制御部114に指示する。また、ゲーム進行部113は、移動オブジェクト40を表示部18に表示させるよう表示制御部114に指示する。
【0069】
移動オブジェクト40は、例えば、円形状を呈し、移動オブジェクト40から所定の方向に延び出る直線状の指標(図3においては、点状の図形とV字状の図形が直線状に並んだ指標。以下、「パワー指標41」という。)に沿って移動するオブジェクトである。パワー指標41は、ショットのパワーを示す数値が付されたものであってもよい。ショットのパワーを示す数値は、例えば、パワーの割合を示す百分率であってもよく、飛距離を示すヤードまたはメートル等であってもよい。
【0070】
操作受付部111は、ユーザによるタッチスクリーン16の所定位置を選択する操作を受け付ける。ゲーム進行部113は、ユーザによる、選択された所定位置からのスワイプ操作に応じて、移動オブジェクト40を移動させる(図4参照)。具体的には、ゲーム進行部113は、ユーザのタッチスクリーン16へのタッチ位置が移動オブジェクト40に重なると判断した場合、ユーザのスワイプ操作に応じて、移動オブジェクト40を移動させる。また、ゲーム進行部113は、ユーザのタッチスクリーン16へのタッチ位置が移動オブジェクト40を中心とした所定の範囲内にあると判断した場合、ユーザのスワイプ操作に応じて、移動オブジェクト40を移動させてもよい。これにより、ユーザはプレイヤキャラクタ33のテイクバック動作のイメージを掴むことができるため、ゲームの興趣性が向上される。
【0071】
なお、移動オブジェクト40は、パワー指標41に沿って移動させることが可能であるが、「パワー指標に沿って」とは、パワー指標41の直上を移動オブジェクト40が移動するものに限らず、パワー指標41の延びる方向に移動オブジェクト40が移動するものであればよい。また、移動オブジェクト40を移動させるスワイプ操作は、パワー指標41の直上を通るものでなくてもよい。換言すると、例えば、パワー指標41を目印とした予め定められた範囲や方向への操作を、移動オブジェクト40を移動させる操作とすることができる。
【0072】
また、ゲーム進行部113は、移動オブジェクト40を移動させる際に移動オブジェクト40の形状を変化させてもよい(図3図5参照)。
【0073】
ゲーム進行部113は、ユーザが移動オブジェクト40をパワー指標41に沿ってスワイプ操作すると(換言すると、指標オブジェクト50から遠ざかる方向へスワイプ操作すると)、指標オブジェクト50を表示部18に移動表示させるよう、表示制御部114に指示する。以下、指標オブジェクト50の詳細について説明する。
【0074】
まず、指標オブジェクト50の構造の詳細について説明する。
図3に示すように、指標オブジェクト50は、例えば、扇形状の周縁部を外縁に沿って切り取った形状を呈し、複数の区切られた領域(以下、「指標領域51」という。)を有するオブジェクトである。指標領域51は、例えば、ショットの質を示す領域である。ここで、ショットの質とは、例えば、ショットされたボール31の曲がり具合や、ショットの成功度合い(例えば、狙った方向からの逸れ具合、ボール31への当たり具合)等であってもよい。具体的には、複数の指標領域51のうちの中心の領域を、ショットされたボール31が直進する(換言すると、狙った方向へ向かう)指標領域51とし、中心から一方側に離れた領域ほど、ショットされたボール31が一方側に曲がる(換言すると、狙った方向から一方側に逸れる)指標領域51とし、中心から他方側に離れた領域ほど、ショットされたボール31が他方側に曲がる(換言すると、狙った方向から他方側に逸れる)指標領域51とし、中心から所定範囲外に位置する領域を、ミスショットとなる指標領域51としてもよい。また、指標領域51は、ショットされたボール31の軌道を示す記号が付されたものであってもよい。ここで、当該記号は、例えばショットされたボール31の軌道の曲がり具合を示す矢印等であってもよい。
【0075】
ゲーム進行部113は、ゲーム空間30におけるボール31周辺の環境に基づき指標領域51を設定する。具体的には、ゲーム進行部113は、ボール31がラフ、傾斜面、またはバンカー等のフェアウェイ上から外れた位置に存在する場合、ボール31がフェアウェイ上に存在する場合に比べて、ボール31を狙ったところに導くことが難しくなるように指標領域51を定める。より具体的には、例えば、フェアウェイ上から外れた位置に存在する場合、ボール31がフェアウェイ上に存在する場合に比べて、ボール31が直進する(換言すると、狙った方向へ向かう)指標領域51に対するボール31が曲がる(換言すると、狙った方向から逸れる)指標領域51の大きさや、ミスショットとなる指標領域51の大きさが大きくなるように(換言すると、指標オブジェクト50におけるボールが曲がる指標領域51や、ミスショットとなる指標領域51の占める割合が大きくなるように)指標領域51を設定してもよい。また、例えば、ボール31がフェアウェイ上から外れた位置に存在する場合、ボール31がフェアウェイ上に存在する場合に比べて、指標オブジェクト50全体の幅が狭まる(あるいは広がる)などしてもよい。
【0076】
次に、指標オブジェクト50の動作の詳細について説明する。
ゲーム進行部113は、指標オブジェクト50を、プレイヤキャラクタ33がショットするボール31の進行方向(換言すると、飛球方向)と交差する方向に往復移動させる(図3図5参照)。ここで、進行方向とは、ユーザがボール31をショットしたときにボール31が進行する側の方向である。換言すると、ゲーム進行部113は、指標オブジェクト50を、パワー指標41の延びる方向と交差する方向に往復移動させる。具体的には、ゲーム進行部113は、指標オブジェクト50を、例えばパワー指標41の一方側の端部に接触させながら、所定の曲線に沿って所定の角速度で往復移動させる。これにより、正確なショットを実行する際の難易度を高めることができるため、ゲームの興趣性が向上される。
【0077】
ゲーム進行部113は、移動オブジェクト40が指標オブジェクト50から遠ざかるに従って、指標オブジェクト50の往復移動の速度が速くなるように、指標オブジェクト50を制御してもよい。これにより、ユーザがショットのパワーを大きく設定するほど、ユーザの意図する軌道でのショットを実現しにくくなるため、ゲームの興趣性が向上される。
【0078】
また、ゲーム進行部113は、ボール31周辺の環境に基づいて、指標オブジェクト50の往復移動の移動速度を変化させてもよい。例えば、ゲーム進行部113は、ボール31が、ラフ、傾斜面またはバンカー等のフェアウェイ上から外れた位置に存在する場合、ボール31がフェアウェイ上に存在する場合に比べて、指標オブジェクト50の移動速度を速くしてもよい。これにより、ショットする環境が悪いほど適切なショットを実行するための難易度を高めることができるため、ゲームの興趣性が向上される。
【0079】
ゲーム進行部113は、ユーザの入力操作に基づいて移動オブジェクト40の位置を決定し、当該入力操作が解除されたときに、移動オブジェクト40を指標オブジェクト50に向かって移動させ、当該入力操作の解除位置と、指標オブジェクト50と移動後の移動オブジェクト40との位置関係で定まる指標領域51の指標と、に応じたショットを実行するショット実行処理を行う。換言すると、ショット実行処理は、特定の入力操作の解除位置と、指標オブジェクト50と移動後の移動オブジェクト40との位置関係で定まる指標領域51の指標とに基づいて、ボールの到達位置を判断する処理である。
【0080】
ショット実行処理は、パワー決定処理と軌道決定処理とを含んでいてもよい。
【0081】
パワー決定処理は、例えば、ユーザの入力操作が解除されたときの解除位置に基づいて、ショットのパワーを決定する処理である。具体的には、図4に示すように、ゲーム進行部113は、ユーザによって選択された所定位置から、ユーザのスワイプ操作に応じて移動オブジェクト40をパワー指標41に沿って移動させる。ここでのスワイプ操作は、例えば、指標オブジェクト50から遠ざかる方向への操作である。
【0082】
パワー決定処理において、ゲーム進行部113は、スワイプ操作の終点で定まる移動オブジェクト40の、指標オブジェクト50からの距離が長いほど、ショットのパワーを大きくさせる。具体的には、ゲーム進行部113は、例えば、解除位置に対応するパワー指標41に応じたパワーを判断する。パワー指標41に応じて判断されるパワーが大きいほど、ショットされたボール31が遠くに飛ぶこととなる。パワー指標41は、例えば、指標オブジェクト50から遠ざかるにつれて、パワーを示す数値が大きくなるように設定されている。図4では、パワー指標41の「90%」を示す位置で解除されているため、ショットのパワーは、最大パワーの「90%」となる。
【0083】
軌道決定処理は、例えば、移動後の移動オブジェクト40と指標オブジェクト50との位置関係でショットの軌道(換言すると、ボール31の向かう方向)を決定する処理である。具体的には、例えば、ゲーム進行部113は、パワーの決定に係る特定の入力操作(例えば、指標オブジェクト50から遠ざかる方向へのスワイプ操作)が解除されると、移動オブジェクト40を、指標オブジェクト50に向かって、パワー指標41に沿って移動させる(図4および図5参照)。すなわち、ショットのパワーを決定したと同時に、自動的にボールの軌道を決定する手順に移行される。これにより、ユーザにシームレスなショット操作を提供できるため、ゲームの興趣性が向上される。
【0084】
軌道決定処理において、ゲーム進行部113は、移動オブジェクト40を、ユーザの操作によって指示された方向に移動させることとしてもよい。すなわち、ゲーム進行部113は、パワーの決定に係る特定の入力操作が解除されたときに、移動オブジェクト40を指標オブジェクト50に向かって移動させるが、このときに、例えば、当該解除の際にユーザがフリック操作で指示した方向に移動オブジェクト40を移動させることとしてもよい。図5は、この場合の表示画面例である。これにより、ユーザに自由度の高いショット操作を提供できるため、ゲームの興趣性が向上される。また、例えば、当該解除の際に、ユーザが、パワーの決定に係るスワイプ操作とは異なる方向へのスワイプ操作(例えば、移動オブジェクト40が指標オブジェクト50へ近づく方向へのスワイプ操作)を行い、当該異なる方向へのスワイプ操作によってユーザが指示した方向に移動オブジェクト40を移動させることとしてもよい。ここで、例えば、移動オブジェクト40が指標オブジェクト50に接触するまで当該異なる方向へのスワイプ操作をするようになっていてもよく、移動オブジェクト40が指標オブジェクト50に接触するよりも前の地点まで当該異なる方向へのスワイプ操作を行った後にフリック操作を行うようになっていてもよい。また、ショットのパワーの決定に係る特定の入力操作がされた後、タッチスクリーン16への接触を終了する操作(例えば、指を離すタッチオフの操作)がされると、移動オブジェクト40が、パワー指標41の指標オブジェクト50側の端部等の所定位置に向かって(換言すると、指標オブジェクト50に向かって)移動するようになっていてもよい。なお、当該所定位置は、パワーの決定に係る入力操作等に応じて変動してもよい。すなわち、本実施形態において「パワーの決定に係る特定の入力操作の解除」とは、例えば、タッチスクリーン16への指の接触が解除されることに限らず、所定方向(例えば、指標オブジェクト50から離れる方向)へ動かしていた指の移動方向が変わること(例えば、所定角度以上、あるいは指標オブジェクト50に近づく方向へ変わること)等であってもよい。換言すると、「特定の入力操作の解除」とは、それまで行っていた操作(例えば、所定方向へのスワイプ操作)が、他の操作(例えば、タッチオフ操作、フリック操作、他の方向へのスワイプ操作)に変わることであってもよい。また、当該入力操作の「解除位置」とは、当該入力操作が解除されたときの指の位置あるいは移動オブジェクト40の位置等ともいえる。なお、パワーの決定に係る特定の入力操作を行い、当該入力操作に係るタッチスクリーン16への接触を一旦解除した後に、移動オブジェクトの移動方向を指示するフリック操作やスワイプ操作等を行うことが可能となっていても。
【0085】
軌道決定処理において、ゲーム進行部113は、移動オブジェクト40を、一定の速度で移動させてもよく、解除位置の指標オブジェクト50からの距離が長いほど、移動オブジェクト40の移動速度を大きくしてもよい。また、解除位置から、移動オブジェクト40が指標オブジェクト50に近づくに従って、移動オブジェクト40の移動速度を大きくしてもよい。これにより、ユーザの意図する軌道でショットが実現されにくくなるため、ゲームの興趣性が向上される。
【0086】
軌道決定処理において、ゲーム進行部113は、図5に示すように、移動後の移動オブジェクト40が到達した指標オブジェクト50の指標領域51(以下、「到達指標51」という。)を判断する。ゲーム進行部113は、到達指標51に基づいてボール31の軌道を決定する。例えば、ボールが右に曲がるように設定された指標領域51が到達指標51となった場合、ゲーム進行部113は、ショットされたボール31がスライスあるいはフェードするよう設定する。これにより、ユーザの操作によりボールの軌道を意図的に曲げることができ、また、意図せずボールの軌道が曲がるような状況をユーザに提供することもできるため、ゲームの興趣性が向上される。
【0087】
すなわち、ゲーム進行部113は、ショット実行処理において、例えば、パワー決定処理で決定されたショットのパワーと、軌道決定処理で決定されたショットの軌道(換言すると、ボールの31の向かう方向)とに基づいて、ボールの到達位置を判断する。
【0088】
次に、図6を参照して、端末装置10で実行される処理のフローについて説明する。図6は、端末装置10で実行される処理の流れを示すフローチャートである。
【0089】
ステップS100において、ゲーム進行部113は、移動オブジェクト40等のオブジェクトを表示部18に表示させるよう表示制御部114に指示する。具体的には、ゲーム進行部113は、図3に示すように、アドレスの姿勢を取るプレイヤキャラクタ33、移動オブジェクト40、パワー指標41、および指標オブジェクト50等を表示部18に表示させるよう表示制御部114に指示する。
【0090】
次いで、ステップS101において、ゲームシステム1は、タッチスクリーン16に対するユーザの入力操作を受け付ける。ゲーム進行部113は、例えば、移動オブジェクト40を中心とした所定の範囲内がタッチされたと判断した場合、処理をステップS102に移行させる。
【0091】
次いで、ステップS102において、ゲーム進行部113は、ユーザのスワイプ操作に応じて移動オブジェクト40を、パワー指標41に沿って移動させる。
【0092】
次いで、ステップS103において、ゲーム進行部113は、指標オブジェクト50を、移動(例えば、往復移動)させる。
【0093】
次いで、ステップS104において、ゲーム進行部113は、移動オブジェクト40を移動させるスワイプ操作を解除するユーザの操作(例えば、タッチオフ操作、フリック操作、他の方向へのスワイプ操作)を受け付ける。
【0094】
次いで、ステップS105において、ゲーム進行部113は、解除位置を判断するとともに、当該解除位置に対応するショットのパワーを判断する。
【0095】
次いで、ステップS106において、ゲーム進行部113は、移動オブジェクト40を指標オブジェクト50に向けて移動させる。
【0096】
次いで、ステップS107において、ゲーム進行部113は、移動後の移動オブジェクト40が到達した指標オブジェクト50の到達指標51を判断する。ゲーム進行部113は、到達指標51に対応するボール31の軌道を判断する。
【0097】
次いで、ステップS108において、ショットのパワーと到達指標51とに基づいてボール31の到達位置を特定する。
【0098】
次いで、ステップS109において、ゲーム進行部113は、プレイヤキャラクタがショット動作する画像を表示部18に表示させる。また、ゲーム進行部113は、判断されたショットのパワーおよびボール31の軌道に応じてゲーム空間30内におけるボール31の位置を移動させる。
【0099】
ゲームシステム1は、ステップS100~S109のステップを、ショット毎に繰り返し実行する。
【0100】
<対戦機能>
本実施形態のゲームは、例えば、ユーザが当該ユーザの端末装置10を用いて操作するプレイヤキャラクタ33と、他のユーザが当該他のユーザの端末装置10を用いて操作する相手キャラクタあるいはコンピュータが操作する相手キャラクタとの対戦を行うことが可能となっている。すなわち、プレイヤの対戦相手(換言すると、プレイヤのキャラクタと対戦する相手キャラクタ)は、他のユーザが操作するキャラクタの場合と、ノンプレイヤキャラクタの場合とが存在する。換言すると、ユーザの対戦相手は、他のユーザ(すなわち人間)の場合と、コンピュータが自動で制御する仮想ユーザの場合とが存在する。ここで、仮想ユーザとは、ノンプレイヤキャラクタと対戦するユーザの視点から見た、当該ノンプレイヤキャラクタを操作している他のユーザ(換言すると、仮想的なユーザ)である。なお、本明細書においては、仮想ユーザのこともノンプレイヤキャラクタと呼ぶ。
【0101】
本実施形態では、ユーザと対戦相手とは、ボール31をショットする操作を交互に行いゲームを進行させる。換言すると、本実施形態のゲームでは、ユーザがオブジェクト(例えば、プレイヤキャラクタ33、ボール31、あるいは所定のUIなど)に対する操作を行うターン(換言すると、場面)と、対戦相手がオブジェクト(例えば、プレイヤキャラクタ33、ボール31、あるいは所定のUIなど)に対する操作を行うターンとが存在する。
【0102】
例えば、対戦相手が人間の場合、具体的には互いに人間である第1ユーザと第2ユーザとが対戦を行う場合には、次のようにゲームが進行される。まず、第1ユーザが操作を行うターンにおいては、第1ユーザは、自身の端末装置10において、ボール31をショットするための操作(例えば、ショットする方向を決めるためのタッチ操作や、移動オブジェクト40に対するスワイプ操作等)を行う。このとき、対戦相手である第2ユーザの端末装置10の表示部18では、第1ユーザが当該操作をしている様子が表示される。具体的には、第2ユーザの端末装置10の表示制御部114は、第1ユーザの操作に基づいて移動オブジェクト40や指標オブジェクト50が動く表示、および当該第1ユーザのキャラクタ(換言すると、プレイヤキャラクタ33)がショット動作をする表示等を表示部18に表示させる。第1ユーザの操作に基づいてボール31がショットされると、第2ユーザのターンとなる。
【0103】
第2ユーザが操作を行うターンにおいては、第2ユーザは、自身の端末装置10において、ボール31をショットするための操作(例えば、ショットする方向を決めるためのタッチ操作や、移動オブジェクト40に対するスワイプ操作等)を行う。このとき、第1ユーザの端末装置10の表示部18では、第2ユーザが当該操作をしている様子が表示される。具体的には、第1ユーザの端末装置10の表示制御部114は、第2ユーザの操作に基づいて移動オブジェクト40や指標オブジェクト50が動く表示、および第2ユーザのキャラクタ(換言すると、プレイヤキャラクタ33)がショット動作をする表示等を表示部18に表示させる。第2ユーザの操作に基づいてボール31がショットされると、第1ユーザのターンとなる。
【0104】
また、例えば、対戦相手がノンプレイヤキャラクタの場合、具体的には人間である第1ユーザが仮想ユーザと対戦を行う場合には、次のようにゲームが進行される。まず、第1ユーザが操作を行うターンにおいては、第1ユーザは、自身の端末装置10において、ボール31をショットするための操作を行う。第1ユーザの操作に基づいてボール31がショットされると、仮想ユーザのターンとなる。
【0105】
仮想ユーザが操作を行うターンにおいては、第1ユーザの端末装置10の表示部18では、仮想ユーザがボール31をショットするための操作(例えば、ショットする方向を決めるためのタッチ操作や、移動オブジェクト40に対するスワイプ操作等)をしている様子が表示される。具体的には、第1ユーザの端末装置10の表示制御部114は、仮想ユーザの操作に基づいて移動オブジェクト40や指標オブジェクト50が動く表示、および仮想ユーザのキャラクタ(換言すると、ノンプレイヤキャラクタ)がショット動作をする表示等を表示部18に表示させる。仮想ユーザの操作に基づいてボール31がショットされると、第1ユーザのターンとなる。
【0106】
すなわち、本実施形態では、第1ユーザの端末装置10にも、第1ユーザの対戦相手である第2ユーザや仮想ユーザが操作するオブジェクト(例えば、移動オブジェクト40や、ボール31や、第2ユーザのキャラクタや、ノンプレイヤキャラクタ等)が表示され、第2ユーザや仮想ユーザの操作に基づいて当該オブジェクトが動く様子が表示される。
【0107】
仮想ユーザによる操作は、NPC制御部119により実現される。NPC制御部119は、仮想ユーザとしてどのような操作を行うかを決定し、決定した操作に応じた態様で移動オブジェクト40や指標オブジェクト50などが動く様子を表示部18に表示させるよう表示制御部114に指示してもよい。NPC制御部119は、例えば、サーバ20の記憶部220に記憶されている所定のユーザの過去のプレイデータに基づいて仮想ユーザとしてどのような操作を行うかを決定してもよい。具体的には、NPC制御部119は、当該ゲームを利用する複数のユーザのうちの、任意のユーザが過去に行った操作を模した操作(換言すると、任意のユーザが過去に行った操作に基づいて決定される操作)等を、仮想ユーザとして行う操作として決定してもよい。換言すると、ノンプレイヤキャラクタは、いわゆるゴースト等であってもよい。また、NPC制御部119は、例えば、AI等によって、仮想ユーザとしてどのような操作を行うかを決定してもよい。なお、NPC制御部119は、サーバ20が有していてもよい。
【0108】
すなわち、本実施形態では、仮想ユーザによるオブジェクトに対する操作がされるが、当該操作は、仮想ユーザと対戦するユーザから見て、人間が行っているものと認識し得る疑似的な操作となっている。なお、当該操作は、内部的には、単に、あたかも人間が操作を行っているかのように見せる画像を生成すること等により実現されるもの等であってもよい。
【0109】
なお、本実施形態のゲームでは、他のユーザとの対戦を開始するための操作と、ノンプレイヤキャラクタとの対戦を開始するための操作とは、同一の操作となっている。換言すると、ゲームシステム1は、ユーザによって特定の操作がされた場合に、他のユーザとの対戦を開始させるか、ノンプレイヤキャラクタとの対戦を開始させるかを決定して対戦を開始させるようになっており、ユーザからは、対戦相手が他のユーザ(換言すると、人間)なのか、ノンプレイヤキャラクタなのか不明な状態で対戦が開始されるようになっている。
【0110】
<録画機能>
次に、録画機能について説明する。本実施形態のゲームシステム1では、ユーザのプレイを録画することが可能となっている。具体的には、対戦(換言すると、仮想空間内におけるイベント)中の一場面についての録画をすることが可能となっている。
【0111】
ゲーム進行部113は、対戦の進行中において、ユーザの入力操作に基づいて対戦の進行に係る所定の計算を行う。具体的には、ゲーム進行部113は、当該所定の計算として、仮想空間内における所定のオブジェクトとしてのボール31の動きに関する計算を行う。より具体的には、ゲーム進行部113は、ボール31をショットするための移動オブジェクト40に対するユーザの入力操作が実行されると、当該入力操作に基づいて移動するボール31の移動経路および到達位置についての計算(換言すると、ショットの結果についての計算(以下、「操作結果計算」という。))を行う。操作結果計算では、移動オブジェクト40に対するスワイプ操作の解除位置(換言すると、ショットのパワー)と解除されたタイミング(換言すると、到達指標51)とに応じたボール31の移動経路および到達位置が算出される。なお、操作結果計算では、当該入力操作が実行された際の仮想空間内の環境を示すパラメータ(例えば、ボール31が置かれた位置の傾斜度合いや、風の強さ、あるいは天気等に係るパラメータ)、換言すると入力操作以外の外的要因も加味して計算が行われる。
【0112】
録画制御部115は、ユーザに提示される画面についての録画を開始するか否かを、操作結果計算の結果に応じて決定する。換言すると、録画制御部115は、ユーザの入力操作の結果、特定の事象が発生する場合に、録画を開始することを決定する。具体的には、録画制御部115は、操作結果計算の結果が、ユーザの入力操作が当該ユーザにとって良い結果をもたらすことを示す場合に、録画を開始することを決定する。また、録画制御部115は、操作結果計算の結果が、ユーザの入力操作が珍しい(換言すると、発生頻度の低い)事象を引き起こすことを示す場合に、録画を開始することを決定する。
【0113】
ここで、ユーザにとって良い結果とは、例えば、ナイスショットの場合が挙げられる。なお、ナイスショットか否かの判定は、従来のゲームと同様に所定の基準に基づいて行えばよい。具体的には、例えば、操作結果計算によって算出されるボール31の到達位置がフェアウェイ上か否か、グリーン上か否か、飛距離が所定距離以上となる位置であるか否か等に応じてナイスショットか否かを判定してもよい。換言すると、録画制御部115は、操作結果計算の結果、ナイスショットと判定される場合に録画の開始を決定してもよい。換言すると、録画制御部115は、操作結果計算の結果(換言すると、ユーザの入力操作により)、ナイスショットという事象の発生が確定したことに基づいて録画の開始を決定してもよい。
【0114】
また、珍しい事象とは、例えば、ボール31の移動経路が通常辿らない経路の場合であったり、到達位置が通常到達しない位置の場合が挙げられる。具体的には、珍しい事象とは、例えば、ショットされたボール31が、コース上の池の水面でバウンドした後、池の中に落ちずに地面に到達する事象や、フェアウェイ外の障害物に衝突して跳ね返ることによりフェアウェイ内に戻ってくる事象等であってもよい。換言すると、録画制御部115は、操作結果計算の結果(換言すると、ユーザの入力操作により)、珍しい事象の発生が確定したことに基づいて録画の開始を決定してもよい。
【0115】
換言すると、録画制御部115は、ユーザの入力操作の結果、特定条件(以下、「録画開始条件」ともいう。)を満たす場合に、録画の開始を決定する。また、録画制御部115は、ユーザの入力操作の結果、特定条件を満たさない場合、録画を開始しないことに決定する。録画制御部115は、例えば、ユーザの入力操作が当該ユーザにとって良い結果となる場合や、珍しい事象が発生する場合等に特定条件を満たすと判定する。
【0116】
なお、ユーザにとって良い結果か否かや、珍しい事象か否かについては、例えば、良い結果か否かを示す所定のパラメータや、珍しい事象か否かを示す所定のパラメータが閾値以上(あるいは閾値以下)であるか否か等に基づいて判定されてもよい。あるいは、ユーザの入力操作の結果発生し得る各事象について、良い結果として、あるいは珍しい事象として、所定の記憶部に予め登録しておき、登録された情報に基づいて、発生する事象が良い結果か否か、あるいは珍しい事象か否かが判定されてもよい。換言すると、ユーザの入力操作の結果発生し得る各事象について、発生が確定した場合に録画を開始させる事象として、所定の記憶部に予め登録しておき、登録された事象の発生が確定したことに基づいて録画が開始されてもよい。
【0117】
録画制御部115は、録画の開始を決定すると、ユーザのプレイ画面(換言すると、ユーザの端末装置10の表示部18に表示される画像)についての録画を開始させる。すなわち、録画制御部115は、ユーザに提示される画面についての録画を開始させる。
【0118】
録画の方法については、特に限定されるものではなく、公知の方法を利用することができるが、例えば以下のようにしてもよい。例えば、端末装置10の機能として、表示部18の表示について動画としてキャプチャする機能が設けられている場合、録画制御部115は、録画の開始を決定すると、当該機能を用いたキャプチャを開始させてもよい。また、例えば、端末装置10の機能として、表示部18の表示について静止画としてキャプチャする機能が設けられている場合、録画制御部115は、録画の開始を決定すると、当該機能を用いたキャプチャを開始させ、取得した静止画を時系列に沿って並べた動画を作成するようにしてもよい。また、録画制御部115は、録画の開始を決定すると、ゲーム進行部113により規定される上述の仮想カメラにより撮影される画像の録画を開始させてもよい。
【0119】
録画により取得される録画データ(換言すると、動画)は、所定の記憶部(例えば、記憶部120または記憶部220)に記憶される。また、制御部110は、対戦の終了後等において、録画データの再生を指示するユーザの入力操作に基づいて録画データを再生し、表示部18に表示させることが可能となっている。換言すると、ユーザは、任意のタイミングで(例えば、対戦を行っていないときに)録画データを再生し、録画された自身のプレイを視聴することが可能となっている。
【0120】
本実施形態では、ユーザの入力操作に基づいて操作結果計算が行われ、操作結果計算の結果に応じて録画の開始が決定されるが、録画は、録画開始の決定の契機となった入力操作の結果が表示部18に表示(換言すると、ユーザに対して表示)されるよりも前に開始される。換言すると、操作結果計算の結果に応じて録画が開始される場合に、当該録画は、当該操作結果計算に基づく所定のオブジェクト(具体的には、ボール31)の動きの表示が開始される前に開始される。さらに換言すると、ユーザによる所定の入力操作に基づいて録画を開始させる場合に、録画制御部115は、当該所定の入力操作の結果が記録されるように録画を開始させる。
【0121】
ここで、録画の開始タイミングと表示部18における表示との関係について、図7を参照しながら具体的に説明する。
【0122】
ユーザの入力操作と表示部18における表示との関係は以下のようになっている。すなわち、本実施形態では、表示制御部114は、移動オブジェクト40に対するスワイプ操作に応じてプレイヤキャラクタ33がテイクバックをする表示を表示部18に表示させる(図4参照)。そして、当該スワイプ操作が解除されると(換言すると、移動オブジェクト40を指標オブジェクト50に向かって移動させるためのフリック操作が行われると)、表示制御部114は、プレイヤキャラクタ33がダウンスイングを開始し、クラブをボール31にインパクトさせてボール31を打つ表示を表示部18に表示させる。そして、表示制御部114は、打たれたボール31が操作結果計算により算出された移動経路で移動し、算出された到達位置に到達する表示を表示部18に表示させる。
【0123】
以下、ユーザが移動オブジェクト40に対するスワイプ操作を行い、当該スワイプ操作を解除した時点(換言すると、移動オブジェクト40を指標オブジェクト50に向かって移動させるためのフリック操作を行った時点)を、第1時点とする。換言すると、操作結果計算の元となる入力操作が実行(換言すると、完了)された時点を第1時点とする。また、表示部18においてプレイヤキャラクタ33がダウンスイングを開始する時点を、第2時点とする。換言すると、プレイヤキャラクタ33が入力操作の実行(換言すると、完了)に基づく動きを開始する時点を第2時点とする。また、表示部18においてクラブがボール31にインパクトする時点を、第3時点とする。換言すると、ボール31が操作結果計算の結果に基づく移動を開始する時点を第3時点とする。また、打たれたボール31が、表示部18において到達位置に到達する時点を第4時点とする。換言すると、ボール31が操作結果計算の結果に基づく移動を完了する時点を第4時点とする。さらに換言すると、入力操作の最終的な結果が表示される時点を第4時点とする。
【0124】
ゲーム進行部113は、移動オブジェクト40に対するスワイプ操作が解除されると(換言すると、ユーザによる所定の入力操作が実行されると)、操作結果計算を開始する。換言すると、ゲーム進行部113は、第1時点の直後であって第2時点よりも前に操作結果計算を開始する。また、ゲーム進行部113は、第3時点よりも前に操作結果計算を完了する。より具体的には、ゲーム進行部113は、第2時点よりも前に操作結果計算を完了する。換言すると、ゲーム進行部113は、第3時点よりも前(さらには第2時点よりも前)にボール31の移動経路および到達位置を算出する。すなわち、本実施形態では、表示部18においてユーザの入力操作に基づくボール31の移動が開始されるよりも前に、ボール31の移動経路および到達位置が算出される。
【0125】
録画制御部115は、操作結果計算が完了すると、ユーザに提示される画面についての録画を開始するか否かを、操作結果計算の結果に応じて決定する。具体的には、録画制御部115は、操作結果計算の結果に基づいて録画を開始するか否かを決定する処理を、第3時点よりも前に行う。より具体的には、録画制御部115は、操作結果計算の結果に基づいて録画を開始するか否かを決定する処理を、第2時点よりも前に行う。そして、録画を開始することが決定されると、第3時点よりも前(さらには第2時点よりも前)に録画が開始される。
【0126】
すなわち、本実施形態では、録画開始条件を満たす場合、第3時点よりも前(さらには第2時点よりも前)に録画が開始される。換言すると、録画制御部115は、第3時点以降(さらには第2時点以降)の表示部18への表示内容が含まれるように録画の実行を制御する。すなわち、録画制御部115は、ユーザの入力操作に基づく操作結果計算の結果に応じて録画を開始させるが、録画を開始させる契機となった入力操作に基づく表示内容が録画データに含まれるように録画を開始させる。具体的には、録画制御部115は、録画を開始させる契機となった入力操作に基づく所定のオブジェクトの動きが録画されるように録画を開始させる。
【0127】
上述のように、録画制御部115は、操作結果計算の結果が特定の結果となったことに基づいて録画の開始を決定する。また、録画制御部115は、当該操作結果計算の結果(具体的には、算出されたボール31の移動経路および到達位置)に基づく所定のオブジェクトとしてのボール31の動きが録画されるように録画を開始させる。本実施形態では、当該操作結果計算の結果に基づくボール31の動きが全て(換言すると、ボール31の移動が開始されてから到達位置に到達して止まるまで)記録されるように録画が実行される。ただし、当該操作結果計算の結果に基づくボール31の動きの少なくとも一部(換言すると、ボール31の移動が開始されてから到達位置に到達して止まるまでの少なくとも一部)が記録されるように録画が実行されてもよい。
【0128】
なお、ここで、「所定のオブジェクト」は、例えばプレイヤキャラクタ33等であってもよい。すなわち、例えば、ユーザの入力操作(換言すると、操作結果計算の結果)に応じてプレイヤキャラクタ33のスイングモーションが変化する構成(例えば、ミスショットの場合とそうでない場合とでモーションが異なる場合等)において、録画制御部115は、録画を開始させる契機となった入力操作(換言すると、操作結果計算の結果)に基づくプレイヤキャラクタ33の動きが録画されるように録画を開始させてもよい。
【0129】
また、録画は、予め決まった時点まで行われると自動で終了する。換言すると、録画制御部115は、ユーザによる録画の終了を指示する入力操作を要さずに録画を終了させる。ただし、録画制御部115は、ユーザによる録画の終了を指示する入力操作に基づいて録画を終了させることが可能となっていてもよい。換言すると、ユーザが任意のタイミングで録画を終了させられるようになっていてもよい。
【0130】
録画制御部115は、録画を開始させる契機となった入力操作の最終的な結果を表示する画面が表示部18に表示されると録画を終了させる。本実施形態では、当該画面は、図8に示すように、当該入力操作に基づいて動くボール31が到達位置に到達した様子を示す画面となっている。なお、例えば、ナイスショットの場合において、当該画面には、「NICE SHOT」等の文字の表示を表示させてもよい。換言すると、ユーザの入力操作に基づく特定の事象の発生が確定した場合に録画が開始される構成において、表示制御部114は、当該画面に、当該特定の事象について報知する文字(換言すると、当該入力操作の結果について報知する文字)を表示部18に表示させてもよい。さらに換言すると、ユーザの入力操作に基づいて録画が開始される場合に、表示制御部114は、ユーザの入力操作(換言すると、操作の結果)についての評価に関する表示(例えば、「NICE SHOT」の文字等)を表示部18に表示させ、録画制御部115は、当該表示が録画されるように録画を実行してもよい。
【0131】
また、録画制御部115は、相手のターンが開始されるまでに録画を終了させてもよい。換言すると、本実施形態のように、自身が入力操作を行う期間と他のユーザが入力操作を行う期間とが所定の順序で訪れるゲームにおいて、自身による所定の入力操作を契機として録画が開始される場合に、当該所定の入力操作が行われた後、他のユーザが入力操作を行う期間が開始されるまでの間に録画が自動で終了するようになっていてもよい。さらに換言すると、イベントの進行中においてユーザの端末装置10に、他のユーザが所定の入力操作(例えば、移動オブジェクト40等の所定のUIに対する入力操作)を行う様子等が表示されるゲームにおいて、録画制御部115は、他のユーザが当該所定の入力操作を行う様子等を録画しないように録画に係る制御をしてもよい。
【0132】
なお、録画制御部115は、録画を開始させる契機となった入力操作の最終的な結果が表示された後に録画を開始させてもよい。換言すると、録画制御部115は、当該入力操作に基づく所定のオブジェクトの動きが記録されないタイミングで録画を開始させてもよい。換言すると、録画制御部115は、操作結果計算の結果、特定の事象の発生が確定したことに基づいて録画を開始させる場合に、当該特定の事象については録画せず、当該特定の事象が表示される画面の表示後に録画を開始させてもよい。このような構成においても、録画は、予め決まった時点まで行われると自動で終了し、録画の終了後も対戦が続行し得るようになっていてもよい。
【0133】
なお、録画が開始される場合における録画が開始される特定の時点(換言すると、録画を開始させるタイミングとして設定されている特定の時点(以下、「録画開始時点」という。))までに操作結果計算が完了しない場合に、録画制御部115は、操作結果計算が完了するまでの時間を稼ぐ所定の演出を表示部18に表示させるよう表示制御部114に指示してもよい。具体的には、録画制御部115は、例えば、操作結果計算に所定時間以上の時間を要する場合に、ユーザの入力操作が実行されてから録画が開始されるまでの間に当該所定の演出を差し込むこととしてもよい。当該所定の演出は、例えば、テイクバックしたプレイヤキャラクタ33が一回素振りをし再度スイング動作を開始する演出や、アドレスの姿勢をとったプレイヤキャラクタ33が一旦ボール31から離れ再度スイング動作を開始する演出等の、プレイヤキャラクタ33(換言すると、ユーザが操作するオブジェクト)に所定のアクションをさせる演出であってもよい。操作結果計算に時間がかかる場合にこのような演出を挟むことで、操作結果計算に時間がかかる場合であっても、録画開始時点からの録画を可能とすることができる。
【0134】
また、録画制御部115は、1回の対戦において録画を複数回開始させることが可能であってもよい。換言すると、録画制御部115は、1回の対戦において複数の録画データを生成し得ることとしてもよい。すなわち、本実施形態においては、録画開始条件を満たして開始された録画が終了した後も対戦が続行し得るが、当該録画の終了後に再度録画開始条件が満たされた場合に、録画制御部115は、再度録画を開始させてもよい。また、複数回実行される録画のそれぞれについて、個別の録画データが作成されてもよく、1個にまとめた録画データが作成されてもよい。なお、録画開始条件を満たして開始された録画の実行中において、更に録画開始条件を満たした場合に、録画制御部115は、先に開始していた録画を続けたまま、後者の録画開始条件を満たしたことに基づく録画を開始させてもよい。換言すると、録画制御部115は、複数の録画(複数の録画データの取得)を並行して実行し得ることとしてもよい。
【0135】
また、録画制御部115は、図9に例示される、ユーザのプレイについての録画をするか否か(換言すると、録画を許可するか否か)を当該ユーザに確認するUI(以下、「録画確認UI80」という。)を所定の契機で表示部18に表示させるよう表示制御部114に指示する。換言すると、録画制御部115は、録画確認UI80を所定の契機でユーザに提示する。録画確認UI80には、例えば、録画を行うか否か確認する文字の表示81が含まれる。また、録画確認UI80には、例えば、録画の実行(換言すると、許可)、非実行(換言すると、不許可)を選択する入力操作を受け付けるボタン82が表示される。換言すると、録画確認UI80の表示中においては、操作受付部111は、録画の実行の選択に係る操作を受け付ける。そして、録画制御部115は、録画確認UI80において録画の実行を選択する入力操作がされていた場合であって、対戦中において録画開始条件が満たされた場合に自動的に録画を開始させる。
【0136】
録画制御部115は、例えば、録画確認UI80を、対戦が開始される以前に表示部18に表示させてもよい。具体的には、例えば、録画制御部115は、各対戦の開始の際に、その対戦において録画開始条件を満たす場合に録画を実行する否かを確認する録画確認UI80を表示部18に表示させてもよい。あるいは、対戦が開始されるよりも前に、所定の設定画面(換言すると、所定の設定画面に表示される録画確認UI80)において、自身の対戦についての録画を実行するか否かを予め設定することが可能となっていてもよい。そして、当該所定の設定画面において録画の実行を選択する入力操作がされ、録画を行う設定に設定されている場合、録画制御部115は、各対戦の実行時においては録画確認UI80を出さずに(換言すると、ユーザによる録画を開始させる操作を要さずに)、自動的に録画を開始させてもよい。なお、録画制御部115は、例えば、録画確認UI80を、対戦中において表示部18に表示させてもよい。例えば、録画制御部115は、録画開始条件を満たしたことに基づいて録画確認UI80を表示させ、当該録画開始条件を満たしたことに基づく録画を開始させるか否かをユーザに確認することとしてもよい。
【0137】
また、録画制御部115は、録画の実行中においては、録画の実行中であることをユーザに報知する。具体的には、録画制御部115は、図8に示すように、録画の実行中であることを報知する表示(以下、「録画中表示88」)を表示部18に表示させるよう表示制御部114に指示する。録画中表示88は、例えば、画面の端に表示される所定の記号(例えば、赤丸の記号等)であってもよく、「録画中」等の文字の表示等であってもよい。また、録画制御部115は、例えば、録画の開始時や終了時に、録画の開始を報知する音や、録画の終了を報知する音を端末装置10のスピーカ等に出力させてもよい。
【0138】
また、制御部110は、録画により取得された録画データを編集可能な編集部116を有していてもよい。編集部116は、例えば、所定の記憶部(例えば、記憶部120または記憶部220)に記憶された複数の録画データ(具体的には、自身のプレイについての録画データ)を組み合わせて1つの動画データ(換言すると、ハイライト動画)を作成可能であってもよい。具体的には、編集部116は、例えば、所定期間毎に(例えば毎週、換言すると所定契機で)複数の録画データに基づいて1つの動画を自動的に(換言すると、ユーザによる画像を編集する操作を介さずに)作成してもよい。また、編集部116は、例えば、試合が終了すると、当該試合において取得された複数の録画データに基づいて1つの動画を自動的に(換言すると、ユーザによる画像を編集する操作を介さずに)作成してもよい。なお、複数の録画データに基づいて動画を作成する場合に、各録画データの全体を使用せず、一部のみを用いて動画を作成してもよい。なお、このように複数の画像データに基づいて1つの動画データを作成する方法については、特に限定されるものではなく、公知の方法を利用することができる。
【0139】
また、制御部110は、録画データの公開に係る処理を行う公開制御部117を有していてもよい。公開制御部117は、図10に例示される、自身の録画データを公開するか否かを確認するUI(以下、「公開確認UI90」という。)を所定の契機で表示部18に表示させるよう表示制御部114に指示する。換言すると、公開制御部117は、公開確認UI90を所定の契機でユーザに提示する。公開確認UI90には、例えば、公開するか否か確認する文字の表示91が含まれる。また、公開確認UI90には、例えば、公開、非公開(換言すると、公開の許可、不許可)を選択する入力操作を受け付けるボタン92が表示される。換言すると、公開確認UI90の表示中においては、操作受付部111は、公開を選択する入力操作および非公開を選択する入力操作を受け付ける。そして、公開を選択する入力操作がされると、公開制御部117は、公開確認UI90において公開するか否かが確認された録画データを公開する。なお、録画データの公開の対象となる他のユーザ(例えば、無制限とするか、フレンドに限定するか等)は、ユーザが選択可能となっていてもよい。
【0140】
公開制御部117は、例えば、対戦が終了した際に、当該対戦で取得された録画データを公開するか否か確認する公開確認UI90を表示部18に表示させてもよい。具体的には、例えば、対戦の結果(例えば、勝敗等)を表示するリザルト画面等において、公開確認UI90が表示されてもよい。また、公開制御部117は、例えば、対戦中において、当該対戦で取得された録画データを公開するか否か確認する公開確認UI90を表示部18に表示させてもよい。例えば、公開制御部117は、録画開始条件を満たしたことに基づいて公開確認UI90を表示させ、当該録画開始条件を満たしたことに基づいて取得される録画データを公開するか否かをユーザに確認することとしてもよい。また、公開制御部117は、公開確認UI90を、対戦が開始される以前に表示部18に表示させてもよい。具体的には、公開制御部117は、例えば、対戦が開始される際に、その対戦において取得された録画データを公開するか否かを確認する公開確認UI90を表示部18に表示させ、公開を選択する入力操作がされると、その対戦において取得された録画データを(例えば、対戦中あるいは対戦の終了後に)公開してもよい。あるいは、対戦が開始されるよりも前に、所定の設定画面(換言すると、所定の設定画面に表示される公開確認UI90)において、自身の対戦についての録画データを公開するか否かを予め設定することが可能となっていてもよい。そして、当該所定の設定画面において公開を選択する入力操作がされ、録画データを公開する設定に設定されている場合、公開制御部117は、各対戦の実行時(換言すると、各録画データの取得時)においては公開確認UI90を出さずに(換言すると、ユーザによる公開を選択する操作を要さずに)、自動的に取得されたデータの公開を行ってもよい。
【0141】
録画データの公開方法については、特に限定されるものではなく、公知の方法を利用することができるが、例えば以下のようにしてもよい。例えば、録画制御部115の制御により録画データが自身の端末装置10の記憶部120に記憶される構成において、公開制御部117は、公開を選択する入力操作がされると、記憶部120に記憶された録画データをサーバ20に送信し、他のユーザが閲覧可能な状態でサーバ20の記憶部220に記憶させてもよい。また、例えば、録画制御部115の制御により録画データがサーバ20の記憶部220に記憶される構成において、公開制御部117は、公開を選択する入力操作がされると、公開を要求する信号をサーバ20に送信し、サーバ20は、当該信号に基づいて、公開の対象となる録画データにアクセスするための情報(例えば、リンクまたはコード等)を、当該信号を送信した端末装置10あるいは他のユーザ(例えば、当該録画データの公開の対象となる他のユーザ)の端末装置10等に送信してもよい。また、公開は、SNS(Social Networking Service)上において行われてもよい。具体的には、ユーザの所有するゲームのアカウントとSNSのアカウントとが対応付けられており、公開確認UI90上で公開を選択する入力操作がされると、SNS上に公開の対象となる録画データ自体、あるいは当該録画データを視聴するためのリンク等が公開されてもよい。換言すると、公開された録画データは、本ゲームのアプリケーションにおいて視聴可能となっていてもよく、SNSアプリケーション等の他のアプリケーションにおいて視聴可能となっていてもよい。また、SNS上に録画データについての公開がされる構成等において、公開確認UI90には、ユーザがメッセージを入力可能な入力欄93が表示され、録画データとともに入力欄93に入力されたメッセージが公開されるようになっていてもよい。
【0142】
すなわち、公開制御部117は、ユーザによる公開を許可する操作に基づいて録画データの公開を行い、ユーザが許可していない場合には録画データを公開しない。なお、公開確認UI90と録画確認UI80とのうちの一方が他方を兼ねてもよい。換言すると、公開を許可する入力操作と録画を許可する入力操作とのうちの一方が他方を兼ねてもよい。
【0143】
次に、ユーザのプレイの録画に係る処理の一例について、図11を参照しながら説明する。
【0144】
まず、ゲーム進行部113は、ユーザによる対戦を開始するための入力操作(例えば、ホーム画面における所定のボタンに対する入力操作等)に基づいて対戦を開始させる(ステップS200)。
【0145】
次いで、ゲーム進行部113は、対戦の進行中において、移動オブジェクト40に対するユーザの入力操作に基づいて所定の計算としての操作結果計算を実行する(ステップS201)。
【0146】
次いで、録画制御部115は、操作結果計算の結果に基づき、特定条件としての録画開始条件を満たすか否かを判定する(ステップS202)。具体的には、操作結果計算の結果が、ユーザの入力操作が当該ユーザにとって良い結果をもたらすことを示す場合や、ユーザの入力操作が珍しい事象を引き起こすことを示す場合に、録画制御部115は、録画開始条件を満たすと判定する。
【0147】
次いで、録画開始条件を満たすと判定した場合(ステップS202でYES)、録画制御部115は、録画を開始させる(ステップS203)。一方、録画開始条件を満たさないと判定した場合(ステップS202でNO)、録画制御部115は、録画を開始させない。
【0148】
次いで、ゲーム進行部113は、操作結果計算の結果に基づき対戦を進行させる(ステップS204)。具体的には、ゲーム進行部113は、移動オブジェクト40に対する入力操作に基づく操作結果計算の結果に基づき、ボール31を仮想空間中で移動させる。より具体的には、ゲーム進行部113は、操作結果計算により算出された移動経路でボール31を移動させ、操作結果計算により算出された到達位置までボール31を移動させる。また、ゲーム進行部113は、このように移動するボール31の動きを表示部18に表示させるよう表示制御部114に指示する。すなわち、ゲーム進行部113は、操作結果計算の結果に基づく表示を実行させる。
【0149】
次いで、録画制御部115は、ステップS203で開始された録画を終了させる(ステップS205)。すなわち、録画制御部115は、操作結果計算により算出された到達位置にボール31が到達した後に、録画を終了させる。換言すると、録画制御部115は、ユーザによる所定の入力操作に基づいて録画を開始させ、当該所定の入力操作の結果が表示部18に表示されると、当該録画を終了させる。なお、録画開始条件を満たさず(ステップS202でNO)、ステップS203での録画の開始が実行されなかった場合には、終了させる対象の録画が存在しないので、当然録画の終了は為されない。
【0150】
なお、対戦の進行中においては、ステップS201~S205の処理が繰り返し実行される。
【0151】
なお、録画制御部115の行う処理の一部または全部がサーバ20で行われてもよい。換言すると、録画制御部115の少なくとも一部がサーバ20に設けられていてもよい。また、ゲーム進行部113の行う処理の一部または全部がサーバ20で行われてもよい。換言すると、ゲーム進行部113の少なくとも一部がサーバ20に設けられていてもよい。例えば、操作結果計算がサーバ20で実行されてもよい。
【0152】
<他のゲームへの適用>
本実施形態に係る構成は、ゴルフゲーム以外のゲームに適用することもできる。例えば、テーブルゲーム、カードゲーム、野球ゲーム、またはストラテジーゲーム等のターン制のゲームに適用することもできる。また、格闘ゲーム、パズルゲーム、ロールプレイングゲーム、アクションゲーム、またはシューティングゲーム等に適用してもよい。また、本実施形態に係る構成は、これら以外のゲームに適用することもできる。本実施形態に係る構成は、仮想空間においてイベントが実行されるサービスに適用することができる。
【0153】
例えば、トレーディングカードゲームについて、録画制御部115は、自身のターンにおいて、使用するカードを選択する入力操作がされ、当該入力操作に基づく所定の計算の結果、当該選択が対戦の勝利に向けて効果的に働くものと判定される場合に、録画を開始することを決定してもよい。この場合において、録画制御部115は、例えば、選択したカードが場に出される場面や、選択したカードによる効果が発動する場面を録画するように制御してもよい。
【0154】
また、例えば、格闘ゲームについて、録画制御部115は、プレイヤキャラクタに所定の必殺技を発動させるためのコマンドを入力する入力操作がされ、当該入力操作に基づく所定の計算の結果、当該必殺技が相手にヒットすることが確定した場合(あるいは、所定量のダメージを与えることが確定した場合等)に、録画を開始することを決定してもよい。この場合において、録画制御部115は、例えば、当該コマンドの入力に基づいてプレイヤキャラクタが動き出す場面や、当該必殺技が相手にヒットする場面を録画するように制御してもよい。
【0155】
<変形例>
以上では、ユーザの入力操作に基づく操作結果計算の結果に応じて録画を開始させることにより、イベント中の一場面について視聴するためのデータを作成する構成について説明したが、このようなデータは以下のような構成により作成されてもよい。
【0156】
上述のように、操作結果計算においては、ボール31の移動経路や到達位置が算出されるが、具体的には、例えば、各時点(換言すると各フレーム)におけるボール31の座標(具体的には仮想空間上の座標)が算出される。そして、ゲーム進行部113が、算出された各座標に順次ボール31を配置していき、仮想カメラにより撮影される画像を表示部18に表示させることで、ユーザに対して、自身の入力操作に基づいてボール31が飛ぶ表示を提供することができる。すなわち、オブジェクト(ここでは、ボール31)の動きを示すログ情報(ここでは、操作結果計算により算出される座標の情報)を所定の記憶部(例えば、記憶部120または記憶部220)に記憶しておくことで、当該ログ情報に基づいてイベント中の一場面についての再現動画を構築し、所定のユーザに提供することが可能となる。
【0157】
したがって、例えば、制御部110(換言すると、録画制御部115)を、イベントの進行中において、当該イベントの一場面についてのログ情報を抽出し、当該一場面についての再現動画(換言すると、プレイ動画)を所定のユーザに提供するためのデータ(以下、「再現用データ」という。)として所定の記憶部に記憶させるように構成してもよい。この場合に、制御部110は、例えば、再現用データを記憶するか否かを、上述の特定条件(換言すると、録画開始条件)を満たすか否かに応じて決定する。換言すると、制御部110は、再現用データを記憶するか否かを操作結果計算の結果に応じて決定する。換言すると、制御部110は、ユーザの入力操作の結果、特定の事象が発生する場合に、再現用データの記憶を決定する。なお、上述の録画データも再現用データの一種といえる。換言すると、上述の各構成において、「録画」とは、「再現用データの記憶」あるいは「ログ情報の記憶」と読み替えてもよい。
【0158】
再現用データの記憶のタイミングと、表示部18における表示との関係は以下のようにしてもよい。
【0159】
なお、ここでも図7を参照して説明した上述の場合と同様、ユーザが移動オブジェクト40に対するスワイプ操作を行い、当該スワイプ操作を解除した時点を、第1時点とする。また、表示部18においてプレイヤキャラクタ33がダウンスイングを開始する時点を、第2時点とする。また、表示部18においてクラブがボール31にインパクトする時点を、第3時点とする。また、打たれたボール31が、表示部18において到達位置に到達する時点を第4時点とする。
【0160】
ゲーム進行部113は、ユーザによる所定の入力操作が実行されると、操作結果計算を開始する。換言すると、ゲーム進行部113は、第1時点の直後であって第2時点よりも前に操作結果計算を開始する。また、ゲーム進行部113は、第3時点よりも前に操作結果計算を完了する。より具体的には、ゲーム進行部113は、第2時点よりも前に操作結果計算を完了する。換言すると、ゲーム進行部113は、第3時点よりも前(さらには第2時点よりも前)にボール31の移動経路および到達位置を算出する。換言すると、ゲーム進行部113は、第3時点よりも前(さらには第2時点よりも前)に当該所定の入力操作に基づくボール31の動きを示すログ情報を生成する。
【0161】
制御部110は、操作結果計算が完了すると、再現用データを記憶するか否かを、操作結果計算の結果に応じて決定する。具体的には、制御部110は、第3時点よりも前に、操作結果計算の結果に基づいて再現用データを記憶するか否か決定する。より具体的には、制御部110は、第2時点よりも前に、操作結果計算の結果に基づいて再現用データを記憶するか否か決定する。そして、再現用データの記憶が決定されると、制御部110は、第3時点よりも前(さらには第2時点よりも前)に、所定の入力操作に基づくボール31の動きを示すログ情報を再現用データとして所定の記憶部に記憶させる。
【0162】
すなわち、本実施形態では、ユーザの入力操作の結果、特定条件を満たす場合に、第3時点よりも前(さらには第2時点よりも前)に再現用データの記憶が実行される。また、ゲーム進行部113は、入力操作に基づくボール31の動きを示すログ情報に基づいて仮想空間上でボール31を動かし、これにより、第3時点から第4時点までの表示部18における表示が実現される。すなわち、イベントの進行中におけるユーザの入力操作に基づいて所定の計算を行い、当該イベントの一場面についての再現用データの記憶を決定した場合に、当該一場面についての表示が当該ユーザに最初に提供されるよりも前に、当該再現用データの所定の記憶部への記憶を開始させる。換言すると、イベントの進行中においてユーザの入力操作に基づいて特定の事象が発生する場合に、制御部110は、当該特定の事象に係る表示が表示部18に表示される(具体的にはイベントの進行中における表示、換言すると最初の表示)よりも前に、当該特定の事象に係る表示を再現するための再現用データの所定の記憶部への記憶を開始させる。なお、当該再現用データの所定の記憶部への記憶は、当該特定の事象に係る表示が終了するよりも前に終了してもよく、当該特定の事象に係る表示が終了した後に終了してもよい。換言すると、制御部110は、イベント中の一場面について抜き出したデータであって、当該一場面についての動画の再生を可能とするデータを、操作結果計算の結果に応じて所定の記憶部に記憶させる。
【0163】
なお、再現用データとして記憶される、オブジェクトの動きを示すログ情報は、キャラクタの動き(具体的には、モーションまたは仮想空間上における座標等)を示すログ情報であってもよい。また、上述の録画データ等もオブジェクトの動きを示す情報といえ、再現用データとして記憶され得る。また、再現用データとして記憶されるログ情報は、ユーザの入力操作に基づいて発生するイベント中の事象に係るものであればよく、例えば、トレーディングカードゲームにおいてユーザが選択したカードやそのときの場の状況(換言すると、相手が選択したカード等)を示す情報等であってもよい。また、ユーザの入力操作の内容を示す情報が再現用データとして記憶されてもよい。
【0164】
なお、本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変形して実施できる。本発明はその発明の範囲内において、各構成要素の自由な組み合わせ、任意の構成要素の変形、または任意の構成要素の省略等が可能である。また、本明細書において説明した処理の流れはあくまで一例であり、各処理の順序や構成は異なるものであってもよい。また、フローチャートに示した各種判定処理等の各処理は存在しないものがあってもよい。換言すると、処理の流れや具体的な判定処理等は本明細書に例示したものと異なっていてもよい。
【0165】
<付記>
以上の実施形態で説明した事項は、以下の付記のようにも記載され得る。
【0166】
(付記1-1)
コンピュータを、
仮想空間内におけるイベントの進行中において、ユーザの入力操作に基づいて前記イベントの進行に係る所定の計算を行う計算手段(例えば、ゲーム進行部113)と、
前記ユーザに提示される画面についての録画を開始するか否かを、前記所定の計算の結果に応じて制御する制御手段(例えば、録画制御部115)と、として機能させる
プログラム。
このような構成によれば、イベントの全体について録画を行うことなく、イベント中の見所等についてのみ録画することができる。したがって、例えば、録画により取得されるデータの量を削減することができる。また、例えば、イベントの進行と録画とが常時並行して行われることにより、処理負荷が重くなり、イベントの進行に関して遅延が生じてしまうこと(換言すると、ゲームが重くなってしまうこと等)を抑制できる。このような構成によれば、取得されるデータ量の削減や、処理負荷の軽減によりシステムの負荷を軽減できる。
【0167】
(付記1-2)
前記所定の計算は、前記仮想空間内における所定のオブジェクトの動きに関する計算である
付記1-1に記載のプログラム。
このような構成によれば、イベントにおいて所定のオブジェクトがどのような動きをするかに応じて録画を開始するか否か制御することができる。したがって、所定のオブジェクトの動きに基づいて録画を開始させるべき場面か否か判断し、録画を実行することができる。
【0168】
(付記1-3)
前記制御手段は、前記録画を開始させる契機となった前記入力操作に基づく前記所定のオブジェクトの動きが記録されるように前記録画を開始させる
付記1-2に記載のプログラム。
このような構成によれば、所定のオブジェクトの動きに基づいて録画を開始させるべき場面か否か判断した上で、当該所定のオブジェクトの動きを収めるように録画を実行することができる。
【0169】
(付記1-4)
前記制御手段は、前記所定の計算の結果、前記イベントにおける特定の事象の発生が確定したことに基づいて前記録画を開始させ、当該特定の事象が表示される前記画面についての前記録画を行う
付記1-1に記載のプログラム。
このような構成によれば、イベントにおける特定の事象が記録されるように録画を行いつつ、不要な場面についての録画を避けることができる。したがって、システムの負荷を軽減できる。
【0170】
(付記1-5)
前記録画は、予め決まった時点まで行われると自動で終了し、前記録画の終了後も前記イベントが続行し得る
付記1-1に記載のプログラム。
このような構成によれば、開始された録画がそのまま続いてしまい、システムに不要な負荷がかかってしまうことを防止できる。また、このような構成によれば、システムの負荷を軽減しつつ、イベント中の見所を抜き出して録画することができる。
【0171】
(付記1-6)
前記コンピュータを、さらに、
前記録画により得られた録画データを公開するか否かを確認するユーザインターフェースを、当該録画データに係るイベントの進行中または当該イベントが終了した際の少なくともいずれかにおいて前記ユーザに提示する提示手段(例えば、公開制御部117)として機能させる
付記1-1に記載のプログラム。
このような構成によれば、ユーザの許可なくユーザのプレイが公開されてしまうことを防止することができる。また、イベントの進行中または終了した際に公開について確認するユーザインターフェースを表示することで、ユーザに対して録画データの公開を促し、サービスを活性化することができる。
【0172】
(付記1-7)
前記コンピュータを、さらに、
前記録画の実行中であることを前記ユーザに報知する報知手段(例えば、録画制御部115)として機能させる
付記1-1に記載のプログラム。
このような構成によれば、所定の計算の結果に応じて録画が開始される構成において、いつ録画が行われているのかをユーザが把握できるようになる。
【0173】
(付記1-8)
仮想空間内におけるイベントの進行中において、ユーザの入力操作に基づいて前記イベントの進行に係る所定の計算を行う計算手段(例えば、ゲーム進行部113)と、
前記ユーザに提示される画面についての録画を開始するか否かを、前記所定の計算の結果に応じて制御する制御手段(例えば、録画制御部115)と、を備える
情報処理システム。
このような構成によれば、付記1-1に記載のプログラムと同様の作用効果を奏することができる。
【0174】
(付記2-1)
コンピュータを、
仮想空間内におけるイベントの進行中において、ユーザの入力操作に基づいて前記イベントの進行に係る所定の計算を行う計算手段(例えば、ゲーム進行部113)と、
前記所定の計算に基づいて実現される前記イベント中の一場面についての表示を再現するためのデータを、所定の記憶部に記憶させるか否かを、前記所定の計算の結果に応じて決定する制御手段(例えば、録画制御部115)と、として機能させ、
前記制御手段は、前記データを前記所定の記憶部に記憶させるか否かを、前記表示が前記ユーザに最初に提供される前に決定する
プログラム。
このような構成によれば、所定の計算の結果、特定の条件を満たす場合にのみイベント中の一場面についての表示を再現可能とするデータを記憶しておくことができる。したがって、重要でない場面についても表示を再現するためのデータが記憶されることにより、システムの負荷が高くなってしまうことを防止できる。
【0175】
(付記3-1)
コンピュータを、
ユーザによる入力操作に基づき、所定のオブジェクトの動きに関する所定の計算を行う計算手段(例えば、ゲーム進行部113)と、
前記所定のオブジェクトが前記所定の計算に基づいて動く表示を再現するためのデータを、所定の記憶部に記憶させるか否かを、前記所定の計算の結果に応じて決定する制御手段(例えば、録画制御部115)と、として機能させ、
前記制御手段は、前記データを前記所定の記憶部に記憶させるか否かを、前記表示が前記ユーザに最初に提供される前に決定する
プログラム。
このような構成によれば、所定の計算の結果、特定の条件を満たす場合にのみイベント中の一場面についての表示を再現可能とするデータを記憶しておくことができる。したがって、重要でない場面についても表示を再現するためのデータが記憶されることにより、システムの負荷が高くなってしまうことを防止できる。
【符号の説明】
【0176】
1 ゲームシステム、10 端末装置、11 プロセッサ、12 メモリ、13 ストレージ、16 タッチスクリーン、17 入力部、18 表示部、20 サーバ、21 プロセッサ、22 メモリ、23 ストレージ、30 ゲーム空間、31 ボール、33 プレイヤキャラクタ、110 制御部、111 操作受付部、112 送受信部、113 ゲーム進行部、114 表示制御部、115 録画制御部、116 編集部、117 公開制御部、119 NPC制御部、120 記憶部、210 制御部、211 送受信部、212 サーバ処理部、213 データ管理部、214 同期処理部、220 記憶部、80 録画確認UI、90 公開確認UI
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11