JP7441207B2 - 情報処理システム、プログラム、情報処理装置、および情報処理方法 - Google Patents

情報処理システム、プログラム、情報処理装置、および情報処理方法 Download PDF

Info

Publication number
JP7441207B2
JP7441207B2 JP2021207214A JP2021207214A JP7441207B2 JP 7441207 B2 JP7441207 B2 JP 7441207B2 JP 2021207214 A JP2021207214 A JP 2021207214A JP 2021207214 A JP2021207214 A JP 2021207214A JP 7441207 B2 JP7441207 B2 JP 7441207B2
Authority
JP
Japan
Prior art keywords
moving object
information processing
virtual space
processing device
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021207214A
Other languages
English (en)
Other versions
JP2022160990A (ja
Inventor
航 浅井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2021207214A priority Critical patent/JP7441207B2/ja
Priority to US17/941,908 priority patent/US20230191253A1/en
Publication of JP2022160990A publication Critical patent/JP2022160990A/ja
Application granted granted Critical
Publication of JP7441207B2 publication Critical patent/JP7441207B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/812Ball games, e.g. soccer or baseball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/573Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/847Cooperative playing, e.g. requiring coordinated actions from several players to achieve a common goal
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/646Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car for calculating the trajectory of an object
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Description

本開示は、少なくとも3つの情報処理装置間においてゲーム状況を同期する通信対戦ゲームの処理に関する。
従来から、少なくとも2つの情報処理装置間でゲーム状況を同期する通信対戦ゲームにおいて通信遅延対策を行うゲーム装置が知られている(例えば非特許文献1)。
特開2018-196578号公報
上記のゲーム装置では、少なくとも3つの情報処理装置(ゲーム装置)間でゲームイベントの発生状況を同期しようとした場合において、何れかの情報処理装置における処理の結果を他の情報処理装置において同期するまでにタイムラグがあり、各情報処理装置におけるゲームイベントの発生状況にズレが生じて、その結果として不自然な表示となる場合があった。
それ故に、本発明の目的は、少なくとも3つの情報処理装置間でゲームイベントの発生状況を同期しようとした場合において、各情報処理装置において違和感のない自然な表示とすることができる情報処理システム、プログラム、情報処理装置、および情報処理方法を提供することである。
上記目的を達成するために、例えば以下のような構成例が挙げられる。
構成例の一例は、少なくとも3つ以上の情報処理装置間でゲーム状況を同期する通信対戦ゲームを提供するための情報処理システムである。第1情報処理装置は、第1プロセッサを備え、当該第1プロセッサにより第1仮想空間を設ける。第2情報処理装置は、第2プロセッサを備え、当該第2プロセッサにより第2仮想空間を設ける。第3情報処理装置は、第3プロセッサを備え、当該第3プロセッサにより第3仮想空間を設ける。第1仮想空間と第2仮想空間と第3仮想空間とは互いに対応する。第1プロセッサは、第1仮想空間内の移動オブジェクトに関する第1ゲームイベントを実行し、第1ゲームイベントの実行に関する第1データを、第2情報処理装置および第3情報処理装置に送信し、第1ゲームイベントに基づいて、第1仮想空間内で移動オブジェクトが移動するように当該移動オブジェクトの移動を制御する。第2プロセッサは、第1情報処理装置から受信した第1データに基づいて、第2仮想空間内で移動オブジェクトが移動するように当該移動オブジェクトの移動を制御する。第3プロセッサは、第1情報処理装置から受信した第1データに基づいて、第3仮想空間内で移動オブジェクトが移動するように当該移動オブジェクトの移動を制御する。第2プロセッサは、第1データに基づいて第2仮想空間内で移動する移動オブジェクトに関する第1条件を満たす場合、当該移動オブジェクトの移動方向を変更する第2ゲームイベントを実行し、第2ゲームイベントが実行される場合、当該第2ゲームイベントに関する第2データを、第1情報処理装置および第3情報処理装置に送信する。第1プロセッサは、第1条件が満たされた場合、第2情報処理装置から受信した第2データに基づいて、第1仮想空間内で移動オブジェクトの移動を制御する。第3プロセッサは、第1条件が満たされた場合、第2情報処理装置から取得した前記第2データに基づいて、第3仮想空間内で移動オブジェクトの移動を制御し、第2ゲームイベントが実行されなかった場合であって、第1データに基づいて第3仮想空間内で移動する前記移動オブジェクトに関する第2条件が満たされた場合、当該移動オブジェクトの移動方向を変更する第3ゲームイベントを実行する。第1プロセッサは、第1ゲームイベントの後の期間において、移動オブジェクトが第1の速度で移動するように、当該移動オブジェクトの移動を制御する。第2プロセッサは、第1データを受信した後の第1期間において、移動オブジェクトが第1の速度で移動するように、当該移動オブジェクトの移動を制御する。第3プロセッサは、第1データを受信した後の期間において、移動オブジェクトを第1の速度で移動するように、当該移動オブジェクトの移動を制御する。第2プロセッサは、第1期間よりも後の第2期間において、移動オブジェクトが第1の速度より遅い第2の速度で移動するように、当該移動オブジェクトの移動を制御する。
上記構成例によれば、第2情報処理装置において、違和感のない自然な表示とすることができる。
他の構成例として、第2期間は、第2仮想空間内の所定位置を移動オブジェクトが通過した後の期間であってもよい。
他の構成例として、第1プロセッサは、第1ゲームイベントの後、第1待機時間が経過した後に、移動オブジェクトの移動を制御してもよい。
上記構成例によれば、第1情報処理装置において、違和感のない自然な表示とすることができる。
他の構成例として、第3プロセッサは、第1データを受信した後、第2待機時間が経過した後に、移動オブジェクトの移動を制御してもよい。
上記構成例によれば、第3情報処理装置において、違和感のない自然な表示とすることができる。
他の構成例として、第2待機時間は、第1待機時間よりも短くてもよい。
上記構成例によれば、第1情報処理装置において、違和感のない自然な表示とすることができる。
他の構成例として、第1待機時間は、第1装置と第3装置によるデータ送受信に係る時間を2倍した時間であってもよい。
他の構成例として、第2待機時間は、第1装置から第3装置へのデータ送信に係る時間、または、当該第3装置から当該第1装置へのデータ送信に係る時間を2倍した時間であってもよい。
上記構成例によれば、第1情報処理装置において、違和感のない自然な表示とすることができる。
他の構成例として、第1ゲームイベントよりも前の通常期間において、第1プロセッサ、第2プロセッサおよび第3プロセッサは、移動オブジェクトを通常速度で移動させてもよい。
上記構成例によれば、第1ゲームイベントよりも前の通常期間において、各仮想空間において移動オブジェクトを通常速度で移動させて自然な表示とすることができる。
他の構成例として、通常速度と第1の速度とは、互いに等しくてもよい。
他の構成例として、通信対戦ゲームにおいて、第1情報処理装置に紐づけられる対戦相手キャラクタが、第1仮想空間内、第2仮想空間内および第3仮想空間内の第1領域にそれぞれ配置され、第2情報処理装置に紐づけられる第1味方キャラクタおよび第3情報処理装置に紐づけられる第2味方キャラクタが、第1仮想空間内、第2仮想空間内および第3仮想空間内の第2領域にそれぞれ配置されてもよい。また、第1ゲームイベントは、対戦相手キャラクタが、移動オブジェクトを第1領域から第2領域に向けて移動させる制御を少なくとも含むものであって、第2ゲームイベントは、第2データに基づいて第1味方キャラクタが、第1ゲームイベントに応じて移動する移動オブジェクトを第1領域に向けて移動させる制御を少なくとも含むものであって、第3ゲームイベントは、第1ゲームイベントに応じて移動する移動オブジェクトを、第1味方キャラクタに向けて移動させる制御を少なくとも含むものであってもよい。
上記構成例によれば、通信対戦バレーボールゲームにおいて、各情報処理装置で違和感のない自然な表示とすることができる。
他の構成例として、通信対戦ゲームの進行状況に応じて、第1ゲームイベント、第2ゲームイベントおよび第3ゲームイベントのそれぞれについて、少なくとも第1情報処理装置、第2情報処理装置および第3情報処理装置のうちで、実行する装置を切り替えて実行してもよい。
上記構成例によれば、各ユーザのゲームにおける役割を多様化させて、興趣性を向上できる。
本実施形態によれば、少なくとも3つの情報処理装置間でゲームイベントの発生状況を同期しようとした場合において、各情報処理装置において違和感のない自然な表示とすることができる情報処理システム、プログラム、情報処理装置、および情報処理方法を提供することができる。
ゲーム装置2の内部構成等の一例を示すブロック図 本ゲームにおける役割について説明するための図 第1の遅延処理対策について説明するためのタイムチャート 第1の遅延処理対策について説明するためのタイムチャート ゲーム画面表示を説明するための図 ゲーム画面表示を説明するための図 ゲーム画面表示を説明するための図 ゲーム画面表示を説明するための図 ゲーム画面表示を説明するための図 ゲーム画面表示を説明するための図 ゲーム画面表示を説明するための図 第2の遅延処理対策について説明するためのタイムチャート 第2の遅延処理対策について説明するためのタイムチャート ゲーム画面表示を説明するための図 ゲーム画面表示を説明するための図 ゲーム画面表示を説明するための図 ゲーム画面表示を説明するための図 ゲーム画面表示を説明するための図 ゲーム画面表示を説明するための図 ゲーム画面表示を説明するための図 ゲーム処理に用いられるデータを説明するための図 アタッカーの役割の場合に実行されるフローチャートの例 ブロッカーの役割の場合に実行されるフローチャートの例 レシーバーの役割の場合に実行されるフローチャートの例
以下、一実施形態について説明する。
[情報処理装置のハードウェア構成]
まず、本実施形態にかかる情報処理を実行するための情報処理装置について説明する。当該情報処理装置は、例えばスマートフォン、据置型または携帯型のゲーム装置、タブレット端末、携帯電話、パーソナルコンピュータ、ウェアラブル端末等である。また、本実施形態にかかる情報処理は、上記のようなゲーム装置等と、所定のサーバとから構成されるゲームシステムにも適用可能である。本実施形態では、据置型ゲーム装置(「ゲーム装置」という場合がある)を情報処理装置の一例として説明する。
図1は、本実施形態に係るゲーム装置2の内部構成等の一例を示すブロック図である。ゲーム装置2は、プロセッサ21を備える。プロセッサ21は、ゲーム装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ21は、記憶部22に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。なお、記憶部22は、例えば、フラッシュメモリやDRAM(Dynamic Random Access Memory)等の内部記憶媒体であってもよいし、図示しないスロットに装着される外部記憶媒体等を利用する構成でもよい。
また、ゲーム装置2は、ゲーム装置2が他のゲーム装置2や所定のサーバ装置と無線通信を行うための無線通信部23を備える。当該無線通信としては、例えば、インターネット通信や近距離無線通信が用いられる。
また、ゲーム装置2は、ゲーム装置2がコントローラ4と有線または無線通信を行うためのコントローラ通信部24を備える。
また、ゲーム装置2には、画像音声出力部25を介して表示部5(例えば、テレビ等)が接続される。プロセッサ21は、(例えば、上記の情報処理の実行によって)生成した画像や音声を、画像音声出力部25を介して表示部5に出力する。
次に、コントローラ4について説明する。図示は省略するが、本実施形態のコントローラ4は、縦長の形状のハウジングを有しており、縦長となる向きで把持されることが可能である。当該ハウジングは、縦長となる向きで把持される場合に片手で把持可能な形状および大きさをしている。
コントローラ4は、方向入力デバイスの一例であるアナログスティック42を少なくとも1つ備える。当該アナログスティック42は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック42を傾倒することによって傾倒方向に応じた方向の入力(および、傾倒した角度に応じた大きさの入力)が可能である。また、コントローラ4は、各種操作ボタンを含むボタン部43を備える。例えば、コントローラ4は、上記ハウジングの主面上に複数個の操作ボタンを備えていてもよい。
また、コントローラ4は、慣性センサー44を備える。具体的には、コントローラ4は、慣性センサー44として、加速度センサー、角速度センサーを備えている。本実施形態においては、加速度センサーは、所定の3軸方向に沿った加速度の大きさを検出する。また、角速度センサーは、所定の3軸回りの角速度を検出する。
また、コントローラ4は、上記コントローラ通信部24と有線または無線通信を行うための通信部41も備える。上記アナログスティック42に対する方向入力内容、ボタン部43の押下状態を示す情報、および、慣性センサー44による各種の検出結果は、適宜のタイミングで繰り返し通信部41へ出力され、ゲーム装置2に送信される。
[本実施形態で想定するゲームについて]
次に、本実施形態にかかるゲーム装置2で実行されるゲーム処理(情報処理の一例)の概要を説明する。まず、本実施形態で想定するゲームは、バレーボールをモチーフにしたゲームである。具体的には、本ゲームでは、仮想的な人型のオブジェクトである、複数の選手キャラクタオブジェクト(「キャラクタ」という場合がある)を、相手チームと味方チームとに分けている。各チームのキャラクタは、仮想空間内に用意されたバレーボール用コートにおける、各チームに対応づけられている領域(味方側コート、相手側コート)内に配置される。更に、ユーザの操作に基づいて各キャラクタに所定のアクションを行わせることで、キャラクタと、移動オブジェクトの一例であるボールオブジェクト(「ボール」という場合がある)とを接触させ、その結果、ボールを移動させることができる。本ゲームは、味方側コートにボールを落とさないようにしながら、3回のボールタッチ(ブロックによるボールタッチは除く)で相手側のコートにボールを返球し合う(ラリーを続ける)ゲームである。また、ボールを相手側コート内に着地させることで、得点として1点が入る。なお、本実施形態では、1ゲームマッチで、先に5点獲得したほうが勝利する。
ここで、本ゲームでは、各チームのキャラクタは2人であるとする。すなわち、本ゲームは、4人のキャラクタによる、2VS2のチーム対戦形式でプレイするゲームである(つまり、2人制のバレーボールである)。また、本ゲームは、インターネット等のネットワークを介して複数のユーザでプレイすることが可能である。本実施形態では、1人のユーザが1人の選手キャラクタを担当して操作する場合を想定する。上記のように、本ゲームは2VS2の形式であるため、最大4人のユーザでオンラインマルチプレイが可能である。また、本実施形態では、1ユーザに1台のゲーム装置が割り当てられ、合計4台のゲーム装置2がネットワーク経由で接続される態様となる。
[ゲーム進行について]
ここで、本ゲームは、各チームの2人のキャラクタが、ゲームにおける役割を変えながらプレイするものとなっている。当該役割について説明すると、本ゲームは、バレーボールをモチーフにしたゲームであり、当該役割は、バレーボールにおける役割(ポジション)に該当するものである。具体的は、「サーバー」「レシーバー」「セッター」「アタッカー(スパイカー)」「ブロッカー」という5つの役割である。また、上記所定のアクションとは、各役割に応じたアクションである。例えば、役割がセッターであるキャラクタの場合、ボールをアタッカーにトスするアクション(両手を上に上げてボールをトスするモーション)を上記所定のアクションとして行う。また例えば、役割がアタッカーであれば、(セッターから)トスされたボールを相手コートにアタック(スパイク)するアクション(ジャンプ、および、腕を振ってボールを打つモーション)を上記所定のアクションとして行う。また例えば、ブロッカーであれば、相手チームのアタックをブロックするアクション(両手を上に上げてジャンプするようなモーション)を所定のアクションとして行う。本ゲームは、上記のような5つの役割について、チーム内の2人の選手キャラクタの間で、役割を所定の順番で変えながらプレイするゲームとなっている。
上記役割の順番の一例を、図2に示す。また、当該図2を用いて、ゲームの進行の一例を説明する。ここでは、味方チームのキャラクタのうち、1人目(1P側)のキャラクタをユーザが操作し、2人目(2P側)のキャラクタを他のユーザが操作する場合を例とする。そして、サーブ権は味方チームにあり、最初にサーバー役を行うのが1人目のキャラクタである場合を例とする。試合が開始すると、まず、ユーザの所定の操作に応じて、1人目のキャラクタがサーブを行う。当該1人目の選手キャラクタの次の役割は、レシーバーとなる。当該サーブにより、ボールが相手コートにわたり、3回のボールタッチを経てボールが戻ってくることになる。一方、この時点における2人目のキャラクタの役割は、ブロッカーとなる。すなわち、相手チームのアタックをブロックする役割を担当することになる(上記のように、ブロックは、ボールタッチのカウントには含まない)。また、当該2人目のキャラクタの次の役割は、セッターとなる。
次に、(上記ブロックで相手のアタックを止めることが出来ずに)味方側コートにボールが戻ってくれば、レシーバー役の1人目(1P側)のキャラクタがボールへの1タッチ目となるアクションを行う。すなわち、ユーザの所定の操作に応じて、1人目のキャラクタがボールをレシーブする。当該1人目のキャラクタの次の役割は、アタッカーとなる。
続いて、セッター役である2人目(2P側)のキャラクタが、当該ボールへの2タッチ目となるアクションを行う。すなわち、他のユーザの所定の操作に応じて、2人目のキャラクタが当該ボールを(アタッカーに)トスするアクションを行う。当該2人目のキャラクタの次の役割は、レシーバーとなる。
トスが上がれば、続いて、アタッカー役である1人目のキャラクタが当該ボールへの3タッチ目となるアクションを行う。すなわち、ユーザの所定の操作に応じて、1人目のキャラクタが当該ボールをアタックするアクションを行う。アタックした後、当該1人目のキャラクタの次の役割は、ブロッカーとなる。つまり、先ほどは2人目のキャラクタが担当していたブロッカーを、今度は1人目のキャラクタが担当することになる。
この後は、1人目のキャラクタと2人目のキャラクタの役割が、上述の説明と入れ替わった順番で割り当てられ、ゲームが進行する。すなわち、1人目のキャラクタの役割は、ブロッカー→セッターの順で変化し、2人目のキャラクタの役割は、レシーバー→アタッカーの順で変化することになる。
[本実施形態のゲーム処理の概要]
次に、本実施形態にかかるゲーム装置2で実行されるゲーム処理の動作概要を説明する。上記したように、本ゲームは、2VS2のチーム対戦形式でプレイする2人制のバレーボールゲームである。そして、本ゲームを行う4つのゲーム装置2(「第1装置」、「第2装置」、「第3装置」および「第4装置」という場合がある)がインターネットを介して互いに接続されてゲームが進行するものとする。
ここで、上記のようにインターネットを介して互いに接続されて、各ゲーム装置2間においてゲームの状況を同期しながらゲームが進行する場合には、ゲーム装置2間の通信に時間がかかるので(つまり、通信遅延が生じるので)、ゲーム画面の表示内容が不自然で違和感のあるものとなる場合がある。本実施形態では、以下に説明するように、上記バレーボールゲームにおいて通信遅延対策を行って、ゲーム画面の表示内容を自然で違和感のないものとしている。
[第1の通信遅延対策]
図3および図4は、本実施形態の第1の遅延処理対策について説明するためのタイムチャートである。図5~図11は、図3および図4のタイムチャートにおける各タイミングのゲーム画面表示(第1~第4装置の画面表示)を説明するための図である。以下では、図3~図11を用いて、相手アタッカーがアタックをした場合について説明する。なお、図3および図4において、(1)は相手アタッカーの役割の第1装置のタイムチャートであり、(2)は味方ブロッカーの役割の第2装置のタイムチャートであり、(3)は味方レシーバーの役割の第3装置のタイムチャートであり、(4)は相手セッターの役割の第4装置のタイムチャートである。そして、図3および図4に示すように、(1)~(4)のタイムチャートの時系列を揃えている。
まず、図3、図5~図9を用いて、味方ブロッカー(第2装置)がブロックに失敗して、味方レシーバー(第3装置)がレシーブに成功した場合について説明する。なお、以下に説明するように、この場合には、第2装置において、ボールがワープ移動(瞬間移動)するような挙動が生じ得る。
図3のT1において、第1装置(相手アタッカー)に対して所定の操作(適切なタイミングで適切なアタック操作)が行われると、アタックに成功すると共に、第1装置からアタックデータが第2~第4装置にそれぞれ送信される。ここで、アタックデータは、当該所定の操作の内容に基づいて決定されるアタックされたボールの移動速度や移動方向等を示すデータであり、当該データに基づいて第1~第4装置のゲーム画面においてボールが移動する。なお、アタックデータには、アタックされたボール67の到達先の座標(例えば、ブロック等により方向変化しない場合の着地予定の座標)等が含まれてもよい。また、第1~第4装置には、それぞれ、互いに対応する仮想空間(バレーボールコートの仮想空間)が設けられる。そして、第1~第4装置は、それぞれ、仮想空間内でボール67の移動制御を実行する。また、当該移動制御には、重力等が考慮される。
図5は、図3のT1における第1~第4装置の各ゲーム画面の例である。図5(1)に示すように、第1装置(相手アタッカー)のゲーム画面では、第1装置により操作されるキャラクタ65がボール67をアタックした表示が行われると共に、ヒットストップ表示が行われ、ヒットストップ中であることを示す発光表示68が行われる。ここで、ヒットストップは、ゲーム画面(仮想空間)の時間進行を所定時間ストップする(所定の待機時間を設ける)ものであり、通信相手の装置との通信遅延対策として行われる。第1の通信遅延対策では、第1装置から他の装置(第2~第4装置)にデータが送信されて当該他の装置から第1装置にデータが送信される時間(つまり、往復分の通信遅延時間)だけ、ヒットストップの表示が行われる。なお、往復分の通信遅延時間ではなく、片道分の通信遅延時間の2倍の時間ヒットストップの表示が行われるものとしてもよい。
なお、図5以降の第1~第4装置の各ゲーム画面を示す図において、味方側コートを符号61で示し、相手側コートを符号62で示し、第2装置により操作される味方ブロッカーを符号63で示し、第3装置により操作される味方レシーバーを符号64で示し、第1装置により操作される相手アタッカーを符号65で示し、第4装置により操作される相手セッターを符号66で示し、ボールを符号67で示し、ヒットストップ中であることを示す発光表示を符号68で示し、キャラクタの足元に配置されることによって操作できるキャラクタを示す円形表示を符号69で示し、又、ボール67の移動方向を矢印で表現している。
また、図5(2)~(4)に示すように、第2~第4装置(相手セッター、味方ブロッカー、味方レシーバー)のゲーム画面では、アタックデータを未受信であることから、キャラクタ65は未だアタックをしていない。
次に、図3のT2において、第2~第4装置は、それぞれ、アタックデータを受信してキャラクタ65がアタックをしてボール67が移動を開始する表示を行う。一方で、第1装置では、ヒットストップの表示が継続されている。なお、説明の便宜上、T2において第2~第4装置のそれぞれが同じタイミングでアタックデータを受信して即座にボール移動が開始されるものとしたが、実際は、第2~第4装置のそれぞれが利用する通信回線の品質等によって多少ズレが生じ得る。
図6は、図3のT2における第1~第4装置の各ゲーム画面の例である。図6(1)に示すように、第1装置(相手アタッカー)のゲーム画面(第1装置が設ける仮想空間(「第1仮想空間」という場合がある))では、ヒットストップが継続されている。一方、図6の(2)~(4)に示すように、第2~第4装置(相手セッター、味方ブロッカー、味方レシーバー)のゲーム画面では、それぞれ、受信したアタックデータに基づいて、第2装置が設ける仮想空間(「第2仮想空間」という場合がある)、第3装置が設ける仮想空間(「第3仮想空間」という場合がある)、第4装置が設ける仮想空間(「第4仮想空間」という場合がある))において、キャラクタ65がボール67をアタックしてボール67が移動を開始する。ここで、図3(1)~(4)に示すように、第1装置~第4装置が設ける各仮想空間において、同じ速度(第1速度)でボール67が移動する。
次に、図3のT3において、第1装置(アタッカー)のゲーム画面(第1仮想空間)において、ヒットストップが解除されてボール67の移動が開始する(図示なし)。
次に、図3のT4において、第2装置(味方ブロッカー)によるブロックが失敗して、ボール67がキャラクタ63の位置を通過する表示を行う。なお、ブロックは、所定の操作(適切なタイミングで適切なブロック操作)が行われないと成功しない。図7は、図3のT4における第1~第4装置の各ゲーム画面の例である。図7(2)~(4)に示すように、第2装置~第4装置の仮想空間では、ブロックが失敗してボール67がキャラクタ63の位置を通過している。一方、図7(1)に示すように、第1装置の仮想空間では、ヒットストップによってボール67の移動開始が第2装置~第4装置の仮想空間よりも(片道分の通信遅延時間だけ)遅れたことにより(図3参照)、ボール67がキャラクタ63の手前を移動している。
次に、図3のT5において、第3装置(味方レシーバー)に対して所定の操作(適切なタイミングで適切なレシーブ操作)が行われると、レシーブに成功すると共に、第3装置からレシーブデータが第1装置、第2装置および第4装置にそれぞれ送信される。ここで、レシーブデータは、当該所定の操作の内容に基づいて決定されるレシーブされたボール67の移動速度や移動方向等を示すデータであり、当該データに基づいて第1~第4装置のゲーム画面においてボール67が移動する。
図8は、図3のT5における第1~第4装置の各ゲーム画面の例である。図8(4)に示すように、第3装置(味方レシーバー)のゲーム画面では、第3装置により操作されるキャラクタ64がボール67をレシーブした表示が行われる。一方、図8(3)および図3(2)に示すように、第2装置(味方ブロッカー)のゲーム画面では、レシーブデータを未受信であることから、ボール67が味方側コート62に着地(着弾)して、そのことを示す「IN」表示80が行われている。同様に、図8(2)に示すように、第2装置(相手セッター)のゲーム画面でも、レシーブデータを未受信であることから、ボール67が味方側コート62に着地(着弾)している。ここで、図8(1)および図3(1)に示すように、第1装置(相手アタッカー)のゲーム画面では、ヒットストップによってボール67の移動開始が第2装置~第4装置の仮想空間よりも(片道分の通信遅延時間だけ)遅れたことにより、ボール67がキャラクタ64の手前側を移動している。
次に、図3のT6において、第1装置、第2装置および第4装置は、それぞれ、レシーブデータを受信してキャラクタ64がレシーブをしてボール67が方向を変えて移動する表示を行い、第3装置も、レシーブによりボール67が方向を変えて移動する表示を行う。図9は、図3のT6における第1~第4装置の各ゲーム画面の例である。図9(1)~(4)に示すように、第1~第4装置(相手アタッカー、相手セッター、味方ブロッカー、味方レシーバー)のゲーム画面(仮想空間)において、それぞれ、キャラクタ64がレシーブしてボール67が方向を変えて移動する。ここで、図9(3)および図3(2)に示すように、第2装置(味方ブロッカー)のゲーム画面(仮想空間)では、味方側コート62に着地したボール67(図8(3)参照)を、受信したレシーブデータに基づいて移動するように制御する。このとき、第2装置の仮想空間において、第2装置がレシーブデータを受信するまでのボール67の位置と、受信したレシーブデータに基づく移動が行われた場合のボール67の位置とに大きなズレが生じているため、ボール67がワープ移動(瞬間移動)してレシーブが成功した表示となる。
次に、図4、図10および図11を用いて、図3のT4において味方ブロッカー(第2装置)がブロックに成功した場合について説明する。以下に説明するように、この場合には、第3装置において、ボール67がワープ移動(瞬間移動)するような挙動が生じ得る。なお、図4のタイムチャートのT4の直前までについては、図3、図5および図6を用いて説明したので、説明を省略する。
図4のT4において、第2装置(味方ブロッカー)に対して所定の操作(適切なタイミングで適切なブロック操作)が行われると、ブロックに成功すると共に、第2装置からブロックデータが第1装置、第3装置および第4装置にそれぞれ送信される。ここで、ブロックデータは、当該所定の操作の内容に基づいて決定されるブロックされたボールの移動速度や移動方向等を示すデータであり、当該データに基づいて第1~第4装置のゲーム画面においてボールが相手側コート62に向けて方向を変えて移動する。
図10は、図4のT4における第1~第4装置の各ゲーム画面の例である。図10(3)に示すように、第2装置(味方ブロッカー)のゲーム画面では、第2装置により操作されるキャラクタ63がボール67をブロックした表示が行われる。一方、図10(4)および図4(3)に示すように、第3装置(味方レシーバー)のゲーム画面では、ブロックデータを未受信であることから、ボール67がキャラクタ63(味方ブロッカー)の位置を通過した表示が行われている。同様に、図10(2)に示すように、第2装置(相手セッター)のゲーム画面でも、ブロックデータを未受信であることから、ボール67がキャラクタ63(味方ブロッカー)の位置を通過した表示が行われている。ここで、図10(1)および図4(1)に示すように、第1装置(相手アタッカー)のゲーム画面では、ヒットストップによってボール67の移動開始が第2装置~第4装置の仮想空間よりも(往復分の通信遅延時間だけ)遅れたことにより、ボール67がキャラクタ63の手前を移動している。
次に、図4のT5において、第1装置、第3装置および第4装置は、それぞれ、ブロックデータを受信してキャラクタ63がブロックをしてボール67が相手側コート62に向けて方向を変えて移動する表示を行い、第2装置も、ブロックによりボール67が相手側コート62に向けて方向を変えて移動する表示を行う。
図11は、図4のT5における第1~第4装置の各ゲーム画面の例である。図11(1)~(4)に示すように、第1~第4装置(相手アタッカー、相手セッター、味方ブロッカー、味方レシーバー)のゲーム画面(仮想空間)において、それぞれ、キャラクタ63がブロックしてボール67が相手側コート62に向けて方向を変えて移動する。ここで、図11(4)および図4(3)に示すように、第3装置(味方レシーバー)のゲーム画面(仮想空間)では、キャラクタ63(味方ブロッカー)の位置を通過したボール67(図10(4)参照)を、受信したブロックデータに基づいて移動するように制御する。このとき、第3装置の仮想空間において、第3装置がブロックデータを受信するまでのボール67の位置と、受信したブロックデータに基づく移動が行われた場合のボール67の位置とに大きなズレが生じているため、ボールがワープ移動(瞬間移動)してブロックが成功した表示となる。なお、第2装置でも、同様に、ボールがワープ移動してブロックが成功した表示となる。
以上に説明した第1の通信遅延対策によれば、第1装置(相手アタッカー)のゲーム画面(第1仮想空間)において、往復分の通信遅延時間だけヒットストップを行っている。このことによって、第1装置(相手アタッカー)のゲーム画面において、レシーブデータの通信遅延によってボール67が床に着地してからワープ移動してレシーブが成功する不自然な表示となることを防止でき(図3(1)(3)参照)、又、ブロックデータの通信遅延によってボール67がキャラクタ63(味方ブロッカー)を通過してからワープ移動してブロックが成功する不自然な表示となることを防止できる(図4(1)(2)参照)。
一方で、以上に説明した第1の通信遅延対策では、上記したように、第2装置(味方ブロッカー)のゲーム画面(第2仮想空間)において味方側コート62に着地したボール67がワープ移動(瞬間的に不連続に移動)してレシーブが成功した表示となる場合があり(図8(3)、図9(3)、図3(2)参照)、又、第3装置(味方レシーバー)のゲーム画面(第3仮想空間)においてキャラクタ63(味方ブロッカー)の位置を通過したボール67がワープ移動してブロックが成功した表示となる場合がある(図10(4)、図11(4)、図4(3)参照)。
[第2の通信遅延対策]
第2の通信遅延対策は、上記した第1の通信遅延対策の不自然な表示(ボール67のワープ移動の表示)を防止するものである。図12および図13は、本実施形態の第2の遅延処理対策について説明するためのタイムチャートである。図14~図20は、図12および図13のタイムチャートにおける各タイミングのゲーム画面表示(第1~第4装置の画面表示)を説明するための図である。なお、図12は図3に対応し、図13は図4に対応し、図14は図6に対応し、図15は図7に対応し、図16は図8に対応し、図17は図9に対応し、図18~図20は図10~図11に対応する。
まず、図12、図14~図17を用いて、味方ブロッカー(第2装置)がブロックに失敗して、味方レシーバー(第3装置)がレシーブに成功した場合について説明する。なお、図12のT2の直前までについては、図3および図5を用いて説明した内容と同じであるので、説明を省略する。この場合、上述の第1の通信遅延対策を用いるのみである場合、第2装置(第2仮想空間)において、ボール67が味方レシーバー(キャラクタ64)の身体を通過してコートに着地した後に、味方レシーバーによるレシーブが成功したことを示すレシーブデータを受信し、その結果を反映させることとなる。その結果、第2装置において、ボールがワープ移動(瞬間移動)する不自然な挙動が発生し得た(図3(2)参照)。
図12のT2において、第2装置および第4装置は、それぞれ、アタックデータを受信してキャラクタ65がアタックをしてボール67が移動を開始する表示を行う。一方、第3装置では、アタックデータを受信してキャラクタ65がアタックをした表示が行われると共に、ヒットストップ表示が開始される。ここで、当該ヒットストップの表示は、第1装置から他の装置(第2~第4装置)にデータが送信されて当該他の装置から第1装置にデータが送信される時間(つまり、往復分の通信遅延時間)実行される。なお、往復分の通信遅延時間ではなく、片道分の通信遅延時間の2倍の時間ヒットストップの表示が行われるものとしてもよい。また、第1装置では、T1で開始されたヒットストップの表示が継続されている。ここで、当該ヒットストップの表示は、第1装置から他の装置(第2~第4装置)にデータが送信されて当該他の装置から第1装置にデータが送信される時間(つまり、往復分の通信遅延時間)を2倍した時間実行される。なお、往復分の通信遅延時間の2倍の時間ではなく、片道分の通信遅延時間の4倍の時間ヒットストップの表示が行われるものとしてもよい。また、説明の便宜上、T2において第2~第4装置のそれぞれが同じタイミングでアタックデータを受信するものとしたが、実際は、第2~第4装置のそれぞれが利用する通信回線の品質等によって多少ズレが生じ得る。
図14は、図12のT2における第1~第4装置の各ゲーム画面の例である。図14(1)に示すように、第1装置(相手アタッカー)のゲーム画面(第1仮想空間)ではヒットストップが継続されており、ヒットストップ中であることを示す発光表示68が行われている。また、図14(4)に示すように、第3装置(味方レシーバー)のゲーム画面(第3仮想空間)ではヒットストップが開始されて、ヒットストップ中であることを示す発光表示68が行われている。一方、図14(2)(3)に示すように、第2装置および第4装置(相手セッターおよび味方ブロッカー)のゲーム画面(第2仮想空間および第4仮想空間)では、それぞれ、受信したアタックデータに基づいて、キャラクタ65がボール67をアタックしてボール67が移動を開始する。なお、図12(1)~(4)に示すように、少なくとも第1装置~第3装置が設ける各仮想空間において、同じ速度(第1速度)でボール67が移動する。
次に、図12のT2-1において、第3装置のゲーム画面(第3仮想空間)では、往復分の通信遅延時間実行されたヒットストップの表示が終了されて、(T2で受信したアタックデータに基づいて)ボール67が移動を開始する表示を行う(図示なし)。
次に、図12のT3において、第1装置のゲーム画面(第1仮想空間)では、往復分の通信遅延時間の2倍の時間実行されたヒットストップの表示が終了されて、(アタックデータに基づいて)ボール67が移動を開始する表示を行う(図示なし)。
図12のT4において、第2装置(味方ブロッカー)によるブロックが失敗して、ボール67がキャラクタ63の位置を通過する表示を行う。図15は、図12のT4における第1~第4装置の各ゲーム画面の例である。図15(3)に示すように、第2装置(味方ブロッカー)のゲーム画面ではボール67がキャラクタ63の位置を通過している一方で、図15(1)(4)に示すように、ヒットストップを実行した第1装置および第3装置(相手アタッカーおよび味方レシーバー)のゲーム画面ではボール67がキャラクタ63の手前側を移動している。
そして、図12(2)に示すように、T4において、味方ブロッカー(第2装置)の第2仮想空間内でボール67が第1速度から、当該第1速度よりも遅い第2速度に速度変更する。
次に、図12のT5において、第3装置(味方レシーバー)に対して所定の操作(適切なタイミングで適切なレシーブ操作)が行われると、レシーブに成功すると共に、第3装置からレシーブデータが第1装置、第2装置および第4装置にそれぞれ送信される。
図16は、図12のT5における第1~第4装置の各ゲーム画面の例である。図16(4)に示すように、第3装置(味方レシーバー)のゲーム画面では、第3装置により操作されるキャラクタ64がボール67をレシーブした表示が行われる。また、図16(3)および図12(2)に示すように、第2装置(味方ブロッカー)のゲーム画面では、第1速度よりも遅い第2速度でボール67が移動し又レシーブデータを未受信であることから、ボール67はキャラクタ64の手前側を移動している。また、図16(1)および図12(1)に示すように、第1装置(相手アタッカー)ゲーム画面では、ヒットストップによりボール67の移動開始を遅らせ、又、レシーブデータを未受信であることから、ボール67はキャラクタ64の手前側を移動している。
次に、図12のT6において、第1装置、第2装置および第4装置は、それぞれ、レシーブデータを受信してキャラクタ64がレシーブをしてボール67が方向を変えて移動する表示を行い、第3装置も、レシーブによりボール67が方向を変えて移動する表示を行う。図17は、図12のT6における第1~第4装置の各ゲーム画面の例である。図17(1)~(4)に示すように、第1~第4装置(相手アタッカー、相手セッター、味方ブロッカー、味方レシーバー)のゲーム画面(仮想空間)において、それぞれ、キャラクタ64がレシーブしてボール67が方向を変えて移動する。
このように、第2の通信遅延対策では、図12のT4において、第2装置(味方ブロッカー)の仮想空間内のボール67の移動速度を第1速度よりも遅い第2速度に変更することによって、第2装置(ブロッカー)のゲーム画面において味方側コート62に着地したボール67がワープ移動してレシーブが成功する不自然な表示(図8(3)、図9(3)、図3(2)参照)が起きるのを防止できる。
次に、図13、図18~図20を用いて、図12のT4において味方ブロッカー(第2装置)がブロックに成功した場合について説明する。なお、図13のT4より前については、図12等を用いて説明した内容と同じであるので、説明を省略する。なお、この場合、上記した第1の通信遅延対策(図4参照)を用いると、第3装置(味方レシーバー)のゲーム画面において、ボール67が味方ブロッカー(キャラクタ63)の位置を通過して移動した後に、味方ブロッカーによるブロックが成功したことを示すブロックデータを受信し、その結果を反映させることとなる。その結果、第3装置のゲーム画面において、ボール67がワープ移動する不自然な挙動が発生し得た。
図13のT4において、第2装置(味方ブロッカー)に対して所定の操作(適切なタイミングで適切なブロック操作)が行われると、ブロックに成功すると共に、第2装置からブロックデータが第1装置、第3装置および第4装置にそれぞれ送信される。
図18は、図13のT4における第1~第4装置の各ゲーム画面の例である。図18(3)に示すように、第2装置(味方ブロッカー)のゲーム画面では、第2装置により操作されるキャラクタ63がボール67をブロックした表示が行われる。また、図18(4)および図13(3)に示すように、第3装置(味方レシーバー)のゲーム画面では、ヒットストップによりボール67の移動開始を遅らせ、又、ブロックデータを未受信であることから、ボール67がキャラクタ63(味方ブロッカー)の手前側を移動している。同様に、図18(1)および図13(1)に示すように、第1装置(相手アタッカー)のゲーム画面でも、ヒットストップによりボール67の移動開始を遅らせ、又、ブロックデータを未受信であることから、ボール67はキャラクタ63(味方ブロッカー)の手前側を移動している。
次に、図13のT5において、第1装置、第3装置および第4装置は、第2装置から送信されたブロックデータを受信し、第4装置のゲーム画面ではキャラクタ63がボール67をブロックする表示が行われる(図示なし)。
次に、図13のT6において、第3装置は、T5で受信したブロックデータに基づいてキャラクタ63がブロックをしてボール67が相手側コート62に向けて方向を変えて移動する表示を行う。図19は、図13のT6における第1~第4装置の各ゲーム画面の例である。図19(4)に示すように、第3装置(味方レシーバー)のゲーム画面(仮想空間)において、キャラクタ63がブロックしてボール67が相手側コート62に向けて方向を変えて移動を開始する。一方、第1装置(相手アタッカー)のゲーム画面では、ヒットストップによりボール67の移動開始を遅らせたことにより(図13(1)参照)ボール67はキャラクタ63の手前側を移動しており、第2装置(味方ブロッカー)および第4装置(相手セッター)のゲーム画面では、ブロックによりボール67は相手側コート62に向けて既に移動している。
次に、図13のT7において、第1装置は、T5で受信したブロックデータに基づいてキャラクタ63がブロックをしてボール67が相手側コート62に向けて方向を変えて移動する表示を行う。図20は、図13のT7における第1~第4装置の各ゲーム画面の例である。図20(1)に示すように、第1装置(相手アタッカー)のゲーム画面において、キャラクタ63がブロックしてボール67が相手側コート62に向けて方向を変えて移動を開始する。一方、第2装置(味方ブロッカー)、第3装置(味方レシーバー)および第4装置(相手セッター)のゲーム画面(仮想空間)では、ブロックによりボール67は相手側コート62に向けて既に移動している。
このように、第2の通信遅延対策では、図13のT2の後の期間において、第3装置(味方レシーバー)の仮想空間でヒットストップの実行により所定の待機時間だけ時間を置いた後にボールの移動を開始することによって(図13(3)参照))、第3装置のゲーム画面においてキャラクタ63(味方ブロッカー)の位置を通過したボール67がワープ移動(瞬間的に不連続に)してブロックが成功する不自然な表示(図10(4)、図11(4)、図4(3)参照)が起きるのを防止できる。
以上に説明したように、第2の通信遅延対策によれば、通信対戦ゲーム(バレーボールゲーム)を行う第1~第4装置において、違和感のない自然な表示とすることができる。
なお、第1~第4装置の各仮想空間において、アタックが行われる前の期間(通常期間)にはボール67の移動速度は、互いに等しい第1速度(図12等参照;通常速度と考えてもよい)で制御され、又、レシーブ(およびブロック)が行われた後の期間(通常期間)にもボール67の移動速度は、互いに等しい第1速度で制御される。また、アタック、ブロックおよびレシーブは、ゲームイベントであり、ボール67の移動速度や移動方向等が決定されるものである。
[本実施形態の情報処理の詳細]
次に、図21~図24を参照して、本実施形態(第2の通信遅延対策)の情報処理について詳細に説明する。
[使用データについて]
本ゲーム処理において用いられる各種データに関して説明する。図21は、ゲーム装置2の記憶部22に格納されるプログラムおよびデータの一例を示している。記憶部22には、ゲームプログラム101、自プレイヤキャラデータ102、他プレイヤキャラデータ103、ボールデータ104、画像データ105および操作データ106等が格納される。
ゲームプログラム101は、本実施形態に係るゲーム処理を実行するためのゲームプログラムである。
自プレイヤキャラデータ102は、本ゲームの仮想空間(自ゲーム装置2の仮想空間)の自プレイヤキャラ(自ゲーム装置2で操作するキャラクタ)について定義したデータであり、自プレイヤキャラの位置、向き、姿勢および役割等を定義したデータである。ここで、役割は、図2等を用いて説明した役割(サーバー、レシーバー、セッター、アタッカー、ブロッカー)であり、所定の順番で切り替わる。
他プレイヤキャラデータ103は、本ゲームの仮想空間(自ゲーム装置2の仮想空間)の他プレイヤキャラ(他のゲーム装置2により操作されるキャラクタ)について定義したデータであり、他プレイヤキャラの位置、向き、姿勢等を定義したデータである。他プレイヤキャラデータ103は、他のゲーム装置から所定時間間隔(例えば、50ミリ秒間隔)で受信するデータに基づいて、更新される。
ボールデータ104は、本ゲームの仮想空間(自ゲーム装置2の仮想空間)のボール67について定義したデータであり、ボール67の位置、移動方向、移動速度等を定義したデータであり、このボールデータ104を用いて自ゲーム装置2の仮想空間内でボール67が移動制御される。
画像データ105は、自プレイヤキャラ、他プレイヤキャラ、ボール等の画像データである。
操作データ106は、自ゲーム装置2に対して行われた操作を示すデータである。
[ゲーム処理の詳細について]
次に、フローチャートを参照して、本実施形態(第2の通信遅延対策)に係るゲーム処理の詳細を説明する。図22~図24は、本実施形態(第2の通信遅延対策)に係るゲーム処理の詳細を示すフローチャートの一例である。
[アタッカーの処理]
図22に示すゲーム処理は、自プレイヤキャラがアタッカーの役割の場合に実行される処理である。なお、自プレイヤキャラの役割は、自プレイヤキャラデータ102に含まれる現在の役割に基づいて切り替わる。
図22のステップS101において、プロセッサ21は、適切なアタック操作があったか否かを判定する。具体的には、プロセッサ21は、自プレイヤキャラデータ102、ボールデータ104および操作データ106に基づいて、ユーザにより適切なタイミングで適切なアタック操作が行われたか否かを判定する。ステップS101での判定がYESの場合、処理はステップS102に移り、この判定がNOの場合、処理はステップS105に移る。
ステップS102において、プロセッサ21は、アタック表示を実行し、ヒットストップを実行する。具体的には、プロセッサ21は、仮想空間において、自プレイヤキャラにボール67をアタックさせると共に、ヒットストップを行って仮想空間の時間進行を所定の待機時間(往復分の通信遅延時間の2倍の時間)ストップさせる処理を開始(実行)する(図12(1)のT1の時点参照)。なお、仮想空間を仮想カメラで撮影したゲーム画像は、表示部5によって表示される。その後、処理はステップS103に移る。
ステップS103において、プロセッサ21は、無線通信部23により、アタックデータをインターネットを介して3つの他のゲーム装置2に送信する(図12(1)のT1の時点参照)。アタックデータは、アタック操作の内容に基づいて決定されるデータであり、アタックされたボールの移動速度(つまり、第1速度)や移動方向等を示すデータである。その後、処理はステップS104に移る。
ステップS104において、プロセッサ21は、ヒットストップを解除すると共に、アタックデータに基づいて、アタックされたボール67を第1速度で移動開始させる(図12(1)のT3の時点参照)。その後、処理はステップS105に移る。
ステップS105において、プロセッサ21は、他のゲーム装置2(ブロッカーの装置)から、ブロックデータを受信したか否かを判定する(図13(1)のT5の時点参照)。なお、ブロックデータは、後述する図23のステップS207によって送信される。ステップS105での判定がYESの場合、処理はステップS106に移り、この判定がNOの場合、処理はステップS107に移る。
ステップS106において、プロセッサ21は、ボール67の移動方向を変化させる。具体的には、プロセッサ21は、受信したブロックデータに基づいて、他プレイヤキャラ(ブロッカー)によってブロックされたボール67を味方側コートに向かって移動方向を変化させる(図13(1)のT7の時点参照)。その後、処理はステップS107に移る。
ステップS107において、プロセッサ21は、他のゲーム装置2(レシーバーの装置)から、レシーブデータを受信したか否かを判定する(図12(1)のT6の時点参照)。なお、レシーブデータは、後述する図24のステップS308によって送信される。ステップS107での判定がYESの場合、処理はステップS108に移り、この判定がNOの場合、アタッカーの処理は終了する。
ステップS108において、プロセッサ21は、ボール67の移動方向を変化させる。具体的には、プロセッサ21は、受信したレシーブデータに基づいて、他プレイヤキャラ(レシーバー)によってレシーブされたボール67を相手側コートで移動方向を変化させる(図12(1)のT6の時点参照)。その後、アタッカーの処理は終了する。
[ブロッカーの処理]
図23に示すゲーム処理は、自プレイヤキャラがブロッカーの役割の場合に実行される処理である。
ステップS201において、プロセッサ21は、他のゲーム装置2(アタッカーの装置)から、アタックデータを受信したか否かを判定する(図12(2)のT2の時点参照)。なお、アタックデータは、図22のステップS103によって送信される。ステップS201での判定がYESの場合、処理はステップS202に移り、この判定がNOの場合、処理はステップS203に移る。
ステップS202において、プロセッサ21は、第1速度でボール67の移動を開始する。具体的には、プロセッサ21は、受信したアタックデータに基づいて、他プレイヤキャラ(アタッカー)によってアタックされたボール67を、味方側コートに向かって第1速度で移動開始させる(図12(2)のT2の時点参照)。その後、処理はステップS203に移る。
ステップS203において、プロセッサ21は、コートの奥行方向において、アタックされたボール67が自プレイヤキャラ(ブロッカー)を通過したか否かを判定する。具体的には、プロセッサ21は、自プレイヤキャラデータ102およびボールデータ104に基づいて、コートの奥行方向(図15(3)のコート右側に示したX軸方向)において、ボール67の中心点が自プレイヤキャラ(ブロッカー)の中心点を通過したか否か(ブロックに失敗したか否か)を判定する(図12(2)のT4の時点参照)。ステップS203での判定がYESの場合、処理はステップS204に移り、この判定がNOの場合、処理はステップS205に移る。
ステップS204において、プロセッサ21は、ボール67の移動速度を、第1速度から第2速度に変更する(図12(2)のT4の時点参照)。なお、既に説明したように、ボール67の移動速度の大小関係は、第1速度>第2速度である。その後、処理はステップS205に移る。
ステップS205において、プロセッサ21は、適切なブロック操作があったか否かを判定する。具体的には、プロセッサ21は、自プレイヤキャラデータ102、ボールデータ104および操作データ106に基づいて、ユーザにより適切なタイミングで適切なブロック操作が行われたか否かを判定する(図13(2)のT4の時点参照)。ステップS205での判定がYESの場合、処理はステップS206に移り、この判定がNOの場合、処理はステップS209に移る。
ステップS206において、プロセッサ21は、ブロック表示を実行する。具体的には、プロセッサ21は、仮想空間において、自プレイヤキャラにボール67をブロックさせる処理を行う(図13(2)のT4の時点参照)。その後、処理はステップS207に移る。
ステップS207において、プロセッサ21は、無線通信部23により、ブロックデータをインターネットを介して3つの他のゲーム装置2に送信する(図13(2)のT4の時点参照)。なお、ブロックデータは、ブロック操作の内容に基づいて決定されるデータであり、ブロックされたボールの移動速度や移動方向等を示すデータである。その後、処理はステップS208に移る。
ステップS208において、プロセッサ21は、ブロックデータに基づいて、ブロックされたボール67の移動方向を変化させる(図13(2)のT4の時点参照)。その後、処理はステップS209に移る。
ステップS209において、プロセッサ21は、他のゲーム装置2(レシーバーの装置)から、レシーブデータを受信したか否かを判定する(図12(2)のT6の時点参照)。なお、レシーブデータは、後述する図24のステップS308によって送信される。ステップS209での判定がYESの場合、処理はステップS210に移り、この判定がNOの場合、ブロッカーの処理は終了する。
ステップS210において、プロセッサ21は、ボール67の移動方向を変化させる。具体的には、プロセッサ21は、受信したレシーブデータに基づいて、他プレイヤキャラ(レシーバー)によってレシーブされたボール67を味方側コートにおいて移動方向を変化させる(図12(2)の6の時点参照)。その後、ブロッカーの処理は終了する。
[レシーバーの処理]
図24に示すゲーム処理は、自プレイヤキャラがレシーバーの役割の場合に実行される処理である。
ステップS301において、プロセッサ21は、他のゲーム装置2(アタッカーの装置)から、アタックデータを受信したか否かを判定する(図12(3)のT2の時点参照)。なお、アタックデータは、図22のステップS103によって送信される。ステップS301での判定がYESの場合、処理はステップS302に移り、この判定がNOの場合、処理はステップS304に移る。
ステップS302において、プロセッサ21は、アタック表示を実行し、ヒットストップを実行する。具体的には、プロセッサ21は、仮想空間において、相手アタッカーのキャラクタにボール67をアタックさせると共に、ヒットストップを行って仮想空間の時間進行を所定の待機時間(往復分の通信遅延時間)ストップさせる処理を開始(実行)する(図12(3)のT2の時点参照)。その後、処理はステップS303に移る。
ステップS303において、プロセッサ21は、ヒットストップを解除すると共に、アタックデータに基づいて、アタックされたボール67を第1速度で移動開始させる(図12(3)のT2-1の時点参照)。その後、処理はステップS304に移る。
ステップS304において、プロセッサ21は、他のゲーム装置2(ブロッカーの装置)から、ブロックデータを受信したか否かを判定する(図13(3)のT5の時点参照)。なお、ブロックデータは、図23のステップS207によって送信される。ステップS304での判定がYESの場合、処理はステップS305に移り、この判定がNOの場合、処理はステップS306に移る。
ステップS305において、プロセッサ21は、ボール67の移動方向を変化させる。具体的には、プロセッサ21は、受信したブロックデータに基づいて、他プレイヤキャラ(ブロッカー)によってブロックされたボール67を相手側コートに向けて移動方向を変化させる(図13(3)のT6の時点参照)。その後、処理はステップS306に移る。
ステップS306において、プロセッサ21は、適切なレシーブ操作があったか否かを判定する。具体的には、プロセッサ21は、自プレイヤキャラデータ102、ボールデータ104および操作データ106に基づいて、ユーザにより適切なタイミングで適切なレシーブ操作が行われたか否かを判定する(図12(3)のT5の時点参照)。ステップS306での判定がYESの場合、処理はステップS307に移り、この判定がNOの場合、レシーバーの処理は終了する。
ステップS307において、プロセッサ21は、レシーブ表示を実行する。具体的には、プロセッサ21は、仮想空間において、自プレイヤキャラにボール67をレシーブさせる処理を行う(図12(3)のT5の時点参照)。その後、処理はステップS308に移る。
ステップS308において、プロセッサ21は、無線通信部23により、レシーブデータをインターネットを介して3つの他のゲーム装置2に送信する(図12(3)のT5の時点参照)。なお、レシーブデータは、レシーブ操作の内容に基づいて決定されるデータであり、レシーブされたボールの移動速度や移動方向等を示すデータである。その後、処理はステップS309に移る。
ステップS309において、プロセッサ21は、レシーブデータに基づいて、レシーブされたボール67の移動方向を変化させる(図12(3)のT5の時点参照)。その後、レシーバーの処理は終了する。
以上に説明したように、第2の通信遅延対策によれば、図12のT4において、第2装置(味方ブロッカー)の仮想空間内のボール67の移動速度を第1速度から、当該第1速度よりも遅い第2速度に変更することによって、第2装置(ブロッカー)のゲーム画面において味方側コート62に着地したボール67がワープ移動してレシーブが成功する不自然な表示(図8(3)、図9(3)、図3(2)参照)が起きるのを防止できる。
また、以上に説明したように、第2の通信遅延対策によれば、図13のT2~T2-1の期間において第3装置(味方レシーバー)の仮想空間でヒットストップを実行することによりボールの移動を開始するタイミングを遅らせることによって(図13(3)参照))、第3装置(味方レシーバー)のゲーム画面においてキャラクタ63(味方ブロッカー)の位置を通過したボール67がワープ移動(瞬間的に不連続に)してブロックが成功する不自然な表示(図10(4)、図11(4)、図4(3)参照)が起きるのを防止できる。
以上のように、第2の通信遅延対策によれば、通信対戦ゲーム(バレーボールゲーム)を行う装置(少なくとも第1~第3装置)において、違和感のない自然な表示とすることができる。
[変形例]
なお、上記した本実施形態では、バレーボールゲームのタイプを例に挙げた。しかし、他の球技のゲームであってもよいし、球技ではないゲームであってもよい。球技ではないゲームの場合には、ボールではないオブジェクトを仮想空間内で移動させ合うようなゲームであってもよい。
また、上記した本実施形態では、アタック操作が行われたゲーム装置2(送信側の装置)からボール67の移動速度や移動方向等を示すアタックデータを受信したゲーム装置2(受信側の装置)が、当該アタックデータに基づいて、受信側の装置の仮想空間でアタックされたボール67の移動制御を行う例を挙げた。しかし、送信側の装置はアタックデータではなくアタック操作の操作データを受信側の装置に送信し、受信側の装置は、受信したアタック操作の操作データに基づいて、受信側の装置の仮想空間でアタックされたボール67の移動制御を行ってもよい。また、同様に、送信側の装置はブロックデータ(又はレシーブデータ)ではなくブロック操作(又はレシーブ操作)の操作データを受信側の装置に送信し、受信側の装置は、受信した操作データに基づいて、受信側の装置の仮想空間でブロック(又はレシーブ)されたボール67の移動制御を行ってもよい。
また、上記した本実施形態では、ボール67がブロッカー(図15のキャラクタ63参照)の位置を通過する時点で、ボール67の移動速度を瞬間的に変化させて切り替える例を挙げた(図12(2)参照)。しかし、ボール67の移動速度を、徐々に変化させて切り替えてもよい。例えば、滑らかに変化させて切り替えてもよいし、段階的に(階段状に)変化させて切り替えてもよい。
また、上記した本実施形態では、インターネットを介した通信を例に挙げた。しかし、通信遅延が生じる通信であれば、インターネットを介した通信ではなく他の通信であってもよい。
また、上記した本実施形態において、各ゲーム装置2の仮想空間の間の各種タイミングは完全には同期せず、或る程度振れ幅があってもよい(適度な範囲でズレていてもよい)。
また、上記した本実施形態において、各ゲーム装置2におけるボール67の移動速度は、或る程度振れ幅があってもよい(適度な範囲で異なってもよい)。例えば、第1装置のボールの第1速度と、第2装置のボールの第1速度と、第3装置のボールの第1速度とを少し異ならせてもよい(図12参照)。また、例えば、第1~第4装置において、アタック前のボールの移動速度(通常速度)が互いに少し異なってもよいし、又、レシーブ後のボールの移動速度(通常速度)が互いに少し異なってもよい。
また、上記した本実施形態において、第1の通信遅延対策(図3、図4参照)における第1速度と、第2の通信遅延対策(図12、図13参照)における第1速度とは、異なる速度であってもよい。
また、上記した第2の通信遅延対策において、第4端末(相手セッター)の第4仮想空間において(図12および図13参照)、ボール67の移動速度を第1速度としてもよい。この場合、第4端末(相手セッター)の第4仮想空間において、上記した第1の通信遅延対策と同様に、ボール67がワープ移動し得ることとなる(図3(2)、図4(3)、図12(4)、図13(4)参照)。しかし、第4端末(相手セッター)にとっては、次の役割がレシーバーであり相手アタッカーがアタックする場面が間にあるので、上記した第2の通信遅延対策では特段の対策を行っていない。
ここで、4端末(相手セッター)の第4仮想空間において(図12および図13参照)、ボール67の移動速度を第1速度より遅い速度としてもよい。また、4端末(相手セッター)の第4仮想空間において(図12および図13参照)、第1装置や第3装置と同様に、ヒットストップを設けてボール67の移動開始を遅らせてもよい。このようにすることで、上記した第4仮想空間においてボール67がワープ移動することを防止できる。
また、上記した本実施形態においては、ゲーム処理にかかる一連の処理が単一のゲーム装置2で実行される場合を説明した。他の実施形態においては、上記一連の処理が複数の情報処理装置からなる情報処理システムにおいて実行されてもよい。例えば、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの一部の処理がサーバ側装置によって実行されてもよい。更には、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの主要な処理がサーバ側装置によって実行され、当該端末側装置では一部の処理が実行されてもよい。また、上記情報処理システムにおいて、サーバ側のシステムは、複数の情報処理装置によって構成され、サーバ側で実行するべき処理を複数の情報処理装置が分担して実行してもよい。また、いわゆるクラウドゲーミングの構成としてもよい。例えば、ゲーム装置10は、ユーザの操作を示す操作データを所定のサーバに送り、当該サーバにおいて各種ゲーム処理が実行され、その実行結果が動画・音声としてゲーム装置10にストリーミング配信されるような構成としてもよい。
2 ゲーム装置
4 操作部(コントローラ)
5 表示部
21 プロセッサ
22 記憶部(メモリ)
23 通信部
25 画像音声出力部
24 コントローラ通信部

Claims (16)

  1. 少なくとも3つ以上の情報処理装置間でゲーム状況を同期する通信対戦ゲームを提供するための情報処理システムであって、
    第1情報処理装置は、第1プロセッサを備え、当該第1プロセッサにより第1仮想空間を設け、
    第2情報処理装置は、第2プロセッサを備え、当該第2プロセッサにより第2仮想空間を設け、
    第3情報処理装置は、第3プロセッサを備え、当該第3プロセッサにより第3仮想空間を設け、
    前記第1仮想空間と前記第2仮想空間と前記第3仮想空間とは互いに対応し、
    前記第1プロセッサは、
    前記第1仮想空間内の移動オブジェクトに関する第1ゲームイベントを実行し、
    前記第1ゲームイベントの実行に関する第1データを、前記第2情報処理装置および前記第3情報処理装置に送信し、
    前記第1ゲームイベントに基づいて、前記第1仮想空間内で前記移動オブジェクトが移動するように当該移動オブジェクトの移動を制御し、
    前記第2プロセッサは、前記第1情報処理装置から受信した前記第1データに基づいて、前記第2仮想空間内で前記移動オブジェクトが移動するように当該移動オブジェクトの移動を制御し、
    前記第3プロセッサは、前記第1情報処理装置から受信した前記第1データに基づいて、前記第3仮想空間内で前記移動オブジェクトが移動するように当該移動オブジェクトの移動を制御し、
    前記第2プロセッサは、
    前記第1データに基づいて前記第2仮想空間内で移動する前記移動オブジェクトに関する第1条件を満たす場合、当該移動オブジェクトの移動方向を変更する第2ゲームイベントを実行し、
    前記第2ゲームイベントが実行される場合、当該第2ゲームイベントに関する第2データを、前記第1情報処理装置および前記第3情報処理装置に送信し、
    前記第1プロセッサは、前記第1条件が満たされた場合、前記第2情報処理装置から受信した前記第2データに基づいて、前記第1仮想空間内で前記移動オブジェクトの移動を制御し、
    前記第3プロセッサは、
    前記第1条件が満たされた場合、前記第2情報処理装置から取得した前記第2データに基づいて、前記第3仮想空間内で前記移動オブジェクトの移動を制御し、
    前記第2ゲームイベントが実行されなかった場合であって、前記第1データに基づいて前記第3仮想空間内で移動する前記移動オブジェクトに関する第2条件が満たされた場合、当該移動オブジェクトの移動方向を変更する第3ゲームイベントを実行し、
    前記第1プロセッサは、前記第1ゲームイベントの後の期間において、前記移動オブジェクトが第1の速度で移動するように、当該移動オブジェクトの移動を制御し、
    前記第2プロセッサは、前記第1データを受信した後の第1期間において、前記移動オブジェクトが前記第1の速度で移動するように、当該移動オブジェクトの移動を制御し、
    前記第3プロセッサは、前記第1データを受信した後の期間において、前記移動オブジェクトを前記第1の速度で移動するように、当該移動オブジェクトの移動を制御し、
    前記第2プロセッサは、前記第1期間よりも後の第2期間において、前記移動オブジェクトが前記第1の速度より遅い第2の速度で移動するように、当該移動オブジェクトの移動を制御する、情報処理システム。
  2. 前記第2期間は、前記第2仮想空間内の所定位置を前記移動オブジェクトが通過した後の期間である、請求項1に記載の情報処理システム。
  3. 前記第1プロセッサは、前記第1ゲームイベントの後、第1待機時間が経過した後に、前記移動オブジェクトの移動を制御する、請求項1又は2に記載の情報処理システム。
  4. 前記第3プロセッサは、前記第1データを受信した後、第2待機時間が経過した後に、前記移動オブジェクトの移動を制御する、請求項3に記載の情報処理システム。
  5. 前記第2待機時間は、前記第1待機時間よりも短い、請求項4に記載の情報処理システム。
  6. 前記第1待機時間は、前記第1情報処理装置と前記第3情報処理装置によるデータ送受信に係る時間を2倍した時間である、請求項3~5の何れかに記載の情報処理システム。
  7. 前記第2待機時間は、前記第1情報処理装置から前記第3情報処理装置へのデータ送信に係る時間、または、当該第3情報処理装置から当該第1情報処理装置へのデータ送信に係る時間を2倍した時間である、請求項4又は5に記載の情報処理システム。
  8. 前記第1ゲームイベントよりも前の通常期間において、前記第1プロセッサ、前記第2プロセッサおよび前記第3プロセッサは、前記移動オブジェクトを通常速度で移動させる、請求項1~7の何れかに記載の情報処理システム。
  9. 前記通常速度と前記第1の速度は等しい、請求項8に記載の情報処理システム。
  10. 前記通信対戦ゲームにおいて、
    第1情報処理装置に紐づけられる対戦相手キャラクタが、前記第1仮想空間内、前記第2仮想空間内および前記第3仮想空間内の第1領域にそれぞれ配置され、
    第2情報処理装置に紐づけられる第1味方キャラクタおよび第3情報処理装置に紐づけられる第2味方キャラクタが、前記第1仮想空間内、前記第2仮想空間内および前記第3仮想空間内の第2領域にそれぞれ配置され、
    前記第1ゲームイベントは、前記対戦相手キャラクタが、前記移動オブジェクトを第1領域から第2領域に向けて移動させる制御を少なくとも含むものであって、
    前記第2ゲームイベントは、前記第2データに基づいて前記第1味方キャラクタが、前記第1ゲームイベントに応じて移動する前記移動オブジェクトを前記第1領域に向けて移動させる制御を少なくとも含むものであって、
    前記第3ゲームイベントは、前記第1ゲームイベントに応じて移動する前記移動オブジェクトを、前記第1味方キャラクタに向けて移動させる制御を少なくとも含むものである、請求項1~9の何れかに記載の情報処理システム。
  11. 前記通信対戦ゲームの進行状況に応じて、前記第1ゲームイベント、前記第2ゲームイベントおよび前記第3ゲームイベントのそれぞれについて、少なくとも前記第1情報処理装置、前記第2情報処理装置および前記第3情報処理装置のうちで、実行する装置を切り替えて実行する、請求項1~10の何れかに記載の情報処理システム。
  12. 少なくとも、移動オブジェクトを含む第1仮想空間を設ける第1情報処理装置、前記第1仮想空間と対応し前記移動オブジェクトを含む第2仮想空間を設ける第2情報処理装置、および、前記第1仮想空間および前記第2仮想空間と対応し前記移動オブジェクトを含む第3仮想空間を設ける第3情報処理装置の間でゲーム状況を同期する通信対戦ゲームを提供するための情報処理システムを構成する当該第2情報処理装置のコンピュータに処理を行わせるプログラムであって、
    前記プログラムは、前記コンピュータに、
    前記第1情報処理装置から受信した第1ゲームイベントの実行に関する所定のデータに基づいて、前記第2仮想空間内で前記移動オブジェクトが移動するように、当該移動オブジェクトの移動を制御させ、
    前記第2仮想空間内で移動する前記移動オブジェクトに関する所定の条件が満たされた場合、当該移動オブジェクトの移動方向を変更する第2ゲームイベントを実行させ、
    前記所定のデータを受信した後の第1期間において、前記第2仮想空間内で、前記第3仮想空間における前記移動オブジェクトの移動速度である第1の速度で前記移動オブジェクトが移動するように、当該移動オブジェクトの移動を制御させ、
    前記第2ゲームイベントが実行されなかった場合、前記第1期間よりも後の第2期間において、前記第2仮想空間内で、前記第1の速度より遅い第2の速度で前記移動オブジェクトが移動するように、当該移動オブジェクトの移動を制御させる、プログラム。
  13. 少なくとも、移動オブジェクトを含む第1仮想空間を設ける第1情報処理装置、前記第1仮想空間と対応し前記移動オブジェクトを含む第2仮想空間を設ける第2情報処理装置、および、前記第1仮想空間および前記第2仮想空間と対応し前記移動オブジェクトを含む第3仮想空間を設ける第3情報処理装置の間でゲーム状況を同期する通信対戦ゲームを提供するための情報処理システムを構成する当該第3情報処理装置のコンピュータに処理を行わせるプログラムであって、
    前記プログラムは、前記コンピュータに、
    前記第1情報処理装置から受信した第1ゲームイベントの実行に関する第1データに基づいて、前記第3仮想空間内で前記移動オブジェクトが移動するように、当該移動オブジェクトの移動を制御させ、
    前記第2情報処理装置から受信した、第2ゲームイベントが実行された場合における当該第2ゲームイベントに関する第2データに基づいて、前記第3仮想空間内で前記移動オブジェクトの移動を制御させ、
    前記第1データを受信した後の期間において、前記第3仮想空間内で、前記第2仮想空間における前記移動オブジェクトの移動速度である所定の速度で前記移動オブジェクトが移動するように、当該移動オブジェクトの移動を制御させ、
    前記第1データを受信した後、所定の待機時間が経過した後に、前記移動オブジェクトが移動するように、当該移動オブジェクトの移動を制御させる、プログラム。
  14. 少なくとも、移動オブジェクトを含む第1仮想空間を設ける第1情報処理装置、前記第1仮想空間と対応し前記移動オブジェクトを含む第2仮想空間を設ける第2情報処理装置、および、前記第1仮想空間および前記第2仮想空間と対応し前記移動オブジェクトを含む第3仮想空間を設ける第3情報処理装置の間でゲーム状況を同期する通信対戦ゲームを提供するための情報処理システムを構成する、プロセッサを備える当該第2情報処理装置であって、
    前記プロセッサは、
    前記第1情報処理装置から受信した第1ゲームイベントの実行に関する所定のデータに基づいて、前記第2仮想空間内で前記移動オブジェクトが移動するように、当該移動オブジェクトの移動を制御し、
    前記第2仮想空間内で移動する前記移動オブジェクトに関する所定の条件が満たされた場合、当該移動オブジェクトの移動方向を変更する第2ゲームイベントを実行し、
    前記所定のデータを受信した後の第1期間において、前記第2仮想空間内で、前記第3仮想空間における前記移動オブジェクトの移動速度である第1の速度で前記移動オブジェクトが移動するように、当該移動オブジェクトの移動を制御し、
    前記第2ゲームイベントが実行されなかった場合、前記第1期間よりも後の第2期間において、前記第2仮想空間内で、前記第1の速度より遅い第2の速度で前記移動オブジェクトが移動するように、当該移動オブジェクトの移動を制御する、第2情報処理装置。
  15. 少なくとも、移動オブジェクトを含む第1仮想空間を設ける第1情報処理装置、前記第1仮想空間と対応し前記移動オブジェクトを含む第2仮想空間を設ける第2情報処理装置、および、前記第1仮想空間および前記第2仮想空間と対応し前記移動オブジェクトを含む第3仮想空間を設ける第3情報処理装置の間でゲーム状況を同期する通信対戦ゲームを提供するための情報処理システムを構成する、プロセッサを備える当該第3情報処理装置であって、
    前記プロセッサは、
    前記第1情報処理装置から受信した第1ゲームイベントの実行に関する第1データに基づいて、前記第3仮想空間内で前記移動オブジェクトが移動するように、当該移動オブジェクトの移動を制御し、
    前記第2情報処理装置から受信した、第2ゲームイベントが実行された場合における当該第2ゲームイベントに関する第2データに基づいて、前記第3仮想空間内で前記移動オブジェクトの移動を制御し、
    前記第1データを受信した後の期間において、前記第3仮想空間内で、前記第2仮想空間における前記移動オブジェクトの移動速度である所定の速度で前記移動オブジェクトが移動するように、当該移動オブジェクトの移動を制御し、
    前記第1データを受信した後、所定の待機時間が経過した後に、前記移動オブジェクトが移動するように、当該移動オブジェクトの移動を制御する、第3情報処理装置。
  16. 少なくとも3つ以上の情報処理装置間でゲーム状況を同期する通信対戦ゲームを提供するための情報処理方法であって、
    第1情報処理装置は、第1コンピュータを備え、当該第1コンピュータにより第1仮想空間を設け、
    第2情報処理装置は、第2コンピュータを備え、当該第2コンピュータにより第2仮想空間を設け、
    第3情報処理装置は、第3コンピュータを備え、当該第3コンピュータにより第3仮想空間を設け、
    前記第1仮想空間と前記第2仮想空間と前記第3仮想空間とは互いに対応し、
    前記第1コンピュータに、
    前記第1仮想空間内の移動オブジェクトに関する第1ゲームイベントを実行させ、
    前記第1ゲームイベントの実行に関する第1データを、前記第2情報処理装置および前記第3情報処理装置に送信させ、
    前記第1ゲームイベントに基づいて、前記第1仮想空間内で前記移動オブジェクトが移動するように、当該移動オブジェクトの移動を制御させ、
    前記第2コンピュータに、前記第1情報処理装置から受信した前記第1データに基づいて、前記第2仮想空間内で前記移動オブジェクトが移動するように当該移動オブジェクトの移動を制御させ、
    前記第3コンピュータに、前記第1情報処理装置から受信した前記第1データに基づいて、前記第3仮想空間内で前記移動オブジェクトが移動するように、当該移動オブジェクトの移動を制御させ、
    前記第2コンピュータに、
    前記第1データに基づいて前記第2仮想空間内で移動する前記移動オブジェクトに関する第1条件が満たされた場合、当該移動オブジェクトの移動方向を変更する第2ゲームイベントを実行させ、
    前記第2ゲームイベントが実行される場合、当該第2ゲームイベントに関する第2データを、前記第1情報処理装置および前記第3情報処理装置に送信させ、
    前記第1コンピュータに、前記第1条件が満たされた場合、前記第2情報処理装置から取得した前記第2データに基づいて、前記第1仮想空間内で前記移動オブジェクトの移動を制御させ、
    前記第3コンピュータに、
    前記第1条件が満たされた場合、前記第2情報処理装置から取得した前記第2データに基づいて、前記第3仮想空間内で前記移動オブジェクトの移動を制御させ、
    前記第2ゲームイベントが実行されなかった場合であって、前記第1データに基づいて前記第3仮想空間内で移動する前記移動オブジェクトに関する第2条件が満たされた場合、当該移動オブジェクトの移動方向を変更する第3ゲームイベントを実行させ、
    前記第1コンピュータに、前記第1ゲームイベントよりも後の期間において、前記移動オブジェクトが第1の速度で移動するように、当該移動オブジェクトの移動を制御させ、
    前記第2コンピュータに、前記第1データを受信した後の第1期間において、前記移動オブジェクトが前記第1の速度で移動するように、当該移動オブジェクトの移動を制御させ、
    前記第3コンピュータに、前記第1データを受信した後の期間において、前記移動オブジェクトが前記第1の速度で移動するように、当該移動オブジェクトの移動を制御させ、
    前記第2コンピュータに、前記第1期間よりも後の第2期間において、前記移動オブジェクトが前記第1の速度より遅い第2の速度で移動するように、当該移動オブジェクトの移動を制御させる、情報処理方法。
JP2021207214A 2021-12-21 2021-12-21 情報処理システム、プログラム、情報処理装置、および情報処理方法 Active JP7441207B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021207214A JP7441207B2 (ja) 2021-12-21 2021-12-21 情報処理システム、プログラム、情報処理装置、および情報処理方法
US17/941,908 US20230191253A1 (en) 2021-12-21 2022-09-09 Information processing system, non-transitory computer-readable storage medium having stored therein program, information processing apparatus, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021207214A JP7441207B2 (ja) 2021-12-21 2021-12-21 情報処理システム、プログラム、情報処理装置、および情報処理方法

Publications (2)

Publication Number Publication Date
JP2022160990A JP2022160990A (ja) 2022-10-20
JP7441207B2 true JP7441207B2 (ja) 2024-02-29

Family

ID=83657949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021207214A Active JP7441207B2 (ja) 2021-12-21 2021-12-21 情報処理システム、プログラム、情報処理装置、および情報処理方法

Country Status (2)

Country Link
US (1) US20230191253A1 (ja)
JP (1) JP7441207B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7454003B2 (ja) * 2022-02-16 2024-03-21 任天堂株式会社 情報処理プログラム、情報処理システム、情報処理装置、および情報処理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015082180A (ja) 2013-10-22 2015-04-27 任天堂株式会社 情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法
JP2017113233A (ja) 2015-12-24 2017-06-29 株式会社コロプラ 対戦型ゲームの制御方法、及びプログラム
JP2018114185A (ja) 2017-01-19 2018-07-26 株式会社コロプラ ゲームプログラム、ゲームプログラムを実行する方法、および情報処理装置
JP2020146153A (ja) 2019-03-12 2020-09-17 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲームシステム、ゲームプログラム、及び、制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015082180A (ja) 2013-10-22 2015-04-27 任天堂株式会社 情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法
JP2017113233A (ja) 2015-12-24 2017-06-29 株式会社コロプラ 対戦型ゲームの制御方法、及びプログラム
JP2018114185A (ja) 2017-01-19 2018-07-26 株式会社コロプラ ゲームプログラム、ゲームプログラムを実行する方法、および情報処理装置
JP2020146153A (ja) 2019-03-12 2020-09-17 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲームシステム、ゲームプログラム、及び、制御方法

Also Published As

Publication number Publication date
JP2022160990A (ja) 2022-10-20
US20230191253A1 (en) 2023-06-22

Similar Documents

Publication Publication Date Title
US9731196B2 (en) Apparatus and method for displaying player character showing special movement state in network game
JP5622704B2 (ja) プログラム、情報記憶媒体、画像生成システム、サーバ及びゲーム提供方法
US9717990B2 (en) Network game system for executing event in network game
JP4137139B2 (ja) ビデオゲーム処理装置、およびビデオゲーム処理プログラム
JP2011206442A (ja) ゲームシステム、プログラム及び情報記憶媒体
JP2006314763A (ja) 対戦ビデオゲーム制御プログラム
JP7441207B2 (ja) 情報処理システム、プログラム、情報処理装置、および情報処理方法
CN113993600A (zh) 延迟消除
US20220152502A1 (en) Storage medium, information processing system, information processing apparatus, and game processing method
JP2020096778A (ja) ゲームプログラム、方法、および情報処理装置
JP5932735B2 (ja) ゲーム装置、ゲームシステム及びプログラム
JP6878651B1 (ja) プログラム、情報処理装置および情報処理方法
JP6498732B2 (ja) ゲームプログラム、方法、および情報処理装置
JP2020110453A (ja) ゲームプログラム、方法、および情報処理装置
JP7389643B2 (ja) プログラム、端末装置及びシステム
JP7252915B2 (ja) ゲームプログラム、方法、および情報処理装置
JP7302956B2 (ja) コンピュータシステム、ゲームシステム及びプログラム
JP7474234B2 (ja) 情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法
JP7321692B2 (ja) ゲームプログラム
JP6668425B2 (ja) ゲームプログラム、方法、および情報処理装置
JP5282110B2 (ja) ゲーム装置及びゲーム制御プログラム
JP2007296109A (ja) ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム
KR101272378B1 (ko) 정보 기억 매체 및 게임 장치
JP2022160999A (ja) 情報処理プログラム、情報処理システム、情報処理装置、および情報処理方法
JP2020080878A (ja) ゲームプログラム、方法、および情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240216

R150 Certificate of patent or registration of utility model

Ref document number: 7441207

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150