JP4319233B2 - 端末装置、ゲーム制御方法、ならびに、プログラム - Google Patents

端末装置、ゲーム制御方法、ならびに、プログラム Download PDF

Info

Publication number
JP4319233B2
JP4319233B2 JP2007319243A JP2007319243A JP4319233B2 JP 4319233 B2 JP4319233 B2 JP 4319233B2 JP 2007319243 A JP2007319243 A JP 2007319243A JP 2007319243 A JP2007319243 A JP 2007319243A JP 4319233 B2 JP4319233 B2 JP 4319233B2
Authority
JP
Japan
Prior art keywords
terminal device
speed
unit
parent
moving
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
JP2007319243A
Other languages
English (en)
Other versions
JP2009136634A (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.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment 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 Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2007319243A priority Critical patent/JP4319233B2/ja
Priority to KR1020097024712A priority patent/KR101099422B1/ko
Priority to PCT/JP2008/072200 priority patent/WO2009075239A1/ja
Priority to CN2008800141144A priority patent/CN101674867B/zh
Priority to US12/747,871 priority patent/US8475278B2/en
Priority to TW097148175A priority patent/TWI375585B/zh
Publication of JP2009136634A publication Critical patent/JP2009136634A/ja
Application granted granted Critical
Publication of JP4319233B2 publication Critical patent/JP4319233B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • A63F13/12
    • 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/31Communication aspects specific to video games, e.g. between several handheld game devices at close range
    • 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
    • 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
    • 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/402Communication between platforms, i.e. physical link to protocol
    • 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/531Server assignment
    • 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5573Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history player location
    • 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
    • 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8011Ball

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、球技などのネットワーク対戦ゲームにおいて、プレイヤー等のユーザの意思がキャラクター等の操作対象の動作により自然に反映されるようにするのに好適な端末装置、ゲーム制御方法、ならびに、これらをコンピュータにて実現するためのプログラムに関する。
従来から、ネットワーク通信ゲームでは、複数の端末装置同士が通信しながら、その端末装置のいずれか1つをいわゆる「サーバ」として機能させ、その他を「クライアント」として機能させて、ゲームを進行させる技術が提案されている。このようなゲームに関する技術については、以下の文献に開示されている。
特開2003−190635号公報 特許3542795号公報
ここで、[特許文献1]の明細書段落0037〜0038に開示される技術では、対戦を行う一方の端末装置を主端末とし、主端末であるか否かによって、ゲームの進行に関わる処理を異なるものとしている。
また、[特許文献2]においては、バットやラケットでボールを打ち返す等の状況に適用することが可能な仮想空間内におけるオブジェクトの衝突のシミュレーション技術が開示されている。
さて一般に、ネットワーク通信ゲームに限らず、各種のゲームにおいては、プレイヤーのいずれか一人を「親」とし、他のプレイヤーを「子」として、「親」と「子」の行う作業が異なるものとする手法が用いられている。
したがって、ネットワーク通信ゲームにおける対戦においても、「子」の端末装置からプレイヤーの操作入力を「親」の端末装置に送信して、「親」に相当する端末装置に、球とプレイヤーの接触(野球等においては、投手の手からボールが離れ、打者のバットがボールを打ち、守備のグラブがボールを確保して投げ、守備がボールをキャッチして走者にタッチする等の動作の成否等。テニスや卓球、エアホッケー等においては、ラケットとボールが接触して打ち返す動作の成否およびボールの移動の計算等。)の判断等を行わせる手法が広く用いられている。
一方で、対戦を平等にするために、「親」を全プレイヤーに順に持ち回りにする手法が用いられている。たとえば、野球等においては、各イニングの裏と表で攻守が入れ換えられ、テニスや卓球、エアホッケー等においては、サービスを行うプレイヤーがルールにしたがって入れ換えられる。そこで、ネットワーク通信ゲームにおいても、「親」を持ち回りにすることによって、平等を維持する手法が利用されている。
しかしながら、従来の手法では、「親」であるプレイヤーの操作入力は、直ちにゲームに反映されやすいのに対して、「子」であるプレイヤーの操作入力は、ゲームに反映されるのに遅延が生じやすい、という問題が生ずる。したがって、プレイヤーの操作入力が適切にゲームに反映されるようにしたい、との要望は大きい。
一方で、ゲームを公正に行うためには、プレイヤーの間で可能な限り「平等な対戦」を維持させる必要もある。
本発明は、上記のような課題を解決するもので、球技などのネットワーク対戦ゲームにおいて、プレイヤー等のユーザの意思がキャラクター等の操作対象の動作により自然に反映されるようにするのに好適な端末装置、ゲーム制御方法、ならびに、これらをコンピュータにて実現するためのプログラムを提供することを目的とする。
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
本発明の第1の観点に係る端末装置は、仮想空間内で複数の操作対象と一つの移動体とを移動させるゲームシステムが有する複数の互いに通信可能な端末装置のいずれかであって、記憶部、指示入力受付部、自位置更新部、自位置送信部、他位置受信部、他位置更新部、親委譲部、親受任部、親移動体更新部、移動体位置送信部、移動体位置受信部、子移動体更部を備え、以下のように構成する。
すなわち、記憶部は、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、を記憶し、当該端末装置のモードが親機と子機とのいずれであるか、を記憶する。
たとえば、野球ゲームにおいては、操作対象は、攻側の打者と走者、ならびに、守側の投手、捕手、野手などのキャラクターとするのが典型的である。テニスゲームやエアホッケーゲームにおいては、二人のキャラクターを操作対象とする場合もあるし、ラケット等の道具を操作対象とする場合もある。
また、野球のボールやテニスのボールが移動体に相当する。親機であるか子機であるかは、イニングの裏表やサービス側であるか否かといったゲームのルールによって決まるのではなく、後述するように、記憶部に記憶される情報に基づいて決定される。
一方、指示入力受付部は、当該端末装置に割り当てられるユーザからの指示入力を受け付ける。
野球ゲームにおいては、投手が腕を振り上げる高さやボールを離すタイミング、打者がバットを振るタイミング、野手がキャッチしたボールをいずれの塁に投球するかの選択等が指示入力によって決定され、テニスゲームやエアホッケーゲームにおいては、ラケット等の操作対象をどの場所に移動させるか、どのようなタイミングで操作対象を移動させるか、等が指示入力によって端末装置に伝達されることになる。
さらに、自位置更新部は、受け付けられた指示入力により、当該複数の操作対象のうち、当該ユーザに割り当てられる操作対象が配置される位置および速度を、記憶部において更新する。
たとえば、野球ゲームでは、2人のプレイヤーが、それぞれのチームに属する操作対象を操作する。したがって、一方のプレイヤー(ユーザ)には打者および走者の操作対象が割り当てられ、他方のプレイヤー(ユーザ)には投手、捕手、野手の操作対象が割り当てられる。また、テニスゲームやエアホッケーゲームは、2人のプレイヤーのそれぞれに操作対象が割り当てられ、対戦が行われる。
このように、端末装置を使用しているプレイヤーの指示入力がされると、当該プレイヤーが操作する操作対象の位置や速度は、当該端末装置においては直ちに反映されることとなる。したがって、プレイヤーが自分の操作に対する遅延を感じる可能性は、極めて低くなる。
一方、自位置送信部は、更新された当該ユーザに割り当てられる操作対象の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信し、他位置受信部は、当該複数の端末装置のうち、他の端末装置から送信された他のユーザに割り当てられる操作対象の位置および速度を受信し、他位置更新部は、受信された他のユーザに割り当てられる操作対象の位置および速度を、記憶部において更新する。これは、自分の端末装置におけるプレイヤーの操作の結果を他の端末装置に通知し、他の端末装置におけるプレイヤーの操作の結果を自分の端末装置に反映させて、ゲームを進行させるためである。
このように、本発明においては、他の端末装置でされた他のプレイヤーの指示入力をゲームに反映させる際においては、通信遅延が生じうる。しかしながら、このような遅延が生じたとしても、そもそも自分が操作できない操作対象の位置や速度を更新するものであるから、プレイヤーが不自然さを感じる程度は低いと想定することができる。
さらに、親委譲部は、当該端末装置のモードが親機である場合、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体と直近に接触する操作対象を推定して、当該推定された操作対象が割り当てられるユーザが割り当てられる端末装置が他の端末装置である場合、記憶部において当該端末装置のモードを子機に更新して、当該他の端末装置に親機となるよう通知する。
上記のような野球ゲーム、テニスゲーム、エアホッケーゲーム等では、ボールに対して操作対象が接触して、ボールの運動の方向を変化させることでゲームが進行する。したがって、各プレイヤーが細心の注意を払って操作対象を操作したい状況とは、移動体と操作対象とが近接しつつある状況である、と考えることができる。たとえば、打者にボールが近付いているときにバットを振るタイミングを決めたり、自陣にボールが近付いているときにラケットの位置を決めたり、等である。
したがって、本発明では、移動体(ボール)が時間的に直近に接触するであろう操作対象を推定して、当該操作対象を操作するプレイヤーの端末装置を「親」とし、それ以外の端末装置を「子」として、後述するように、移動体の位置や速度の更新は、「親」が担うこととするのである。
そして、親受任部は、当該端末装置のモードが子機である場合、当該他の端末装置のいずれかから親機となるよう通知されると、記憶部において当該端末装置のモードを親機に更新する。
したがって、親委譲部と親受任部との間の通知によって、「親」である端末装置は、移動体が直近に接触すると予想される操作対象を操作するプレイヤーが利用する端末装置の1台に限られることになり、それ以外の端末装置は「子」になる。
一方、親移動体更新部は、当該端末装置のモードが親機である場合、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体が当該複数の操作対象と接触するか否かを判定し、当該判定結果により、当該移動体の位置および速度を、記憶部において更新する。
上記のように、球技等のゲームにおいては、プレイヤーは、ボールの近傍にいる操作対象に対する操作が迅速に反映されると、ゲームの進行がストレスなく、より自然に感じられるようになる。本発明では、移動体(ボール)に直近に接触すると予想された操作対象に対する操作が行われる端末装置を「親」として、「親」が移動体(ボール)の衝突判定、位置や速度の更新を行うことで、これを実現している。ここで、「衝突判定」には、ラケットとボールが衝突するような状況のほか、バットがボールを打ち返したり、グラブがボールをキャッチしたり等、ボールの運動に何らかの変化が生じる種々の状況が考えられる。
さらに、移動体位置送信部は、当該端末装置のモードが親機である場合、更新された当該移動体の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信し、移動体位置受信部は、当該端末装置のモードが子機である場合、当該複数の端末装置のうち、モードが親機である端末装置から送信された当該移動体の位置および速度を受信し、子移動体更新部は、受信された当該移動体の位置および速度を記憶部において更新する。
上記のように、「親」の端末装置によって移動の様子が更新された移動体(ボール)の情報を「子」の端末装置にも反映させることで、ゲームを進行させるものである。
本発明によれば、プレイヤーは自身の操作が自身の操作対象に迅速に反映させるとともに、ボール等の移動体と自分の操作対象とが接触して移動体の位置や速度が変化しそうな場合には、当該移動体の衝突判定等の計算を自分の端末装置で行うことで、操作対象を介した移動体に対する操作の反映も迅速に行うことができるようになり、プレイヤーの意思が操作対象やゲームに、より自然に反映されるようになる。
また、本発明の端末装置において、自位置送信部は、当該複数の端末装置のうち、モードが親機である端末装置に中継させて、当該操作対象の位置および速度を、他の端末装置に送信し、他位置受信部は、当該複数の端末装置のうちモードが親機である端末装置に中継させて、他の端末装置から送信された他のユーザに割り当てられる操作対象の位置および速度を受信するように構成することができる。
本発明は、端末装置が3台以上の場合を想定したものであり、各操作対象の位置および速度の情報は、一旦親機に集められ、その後に子機に配布される、という手法である。
なお、「各操作対象の位置および速度の情報の配布」と「次に親機となる端末装置の通知」とは、同時に(1つの通信単位で)行うと、端末装置で記憶される位置・速度・モードの間に矛盾が生じる可能性が低くなると考えられる。
子機では、当該端末装置を利用するプレイヤーに割り当てられた操作対象以外の操作対象について、受信された位置および速度の情報を記憶部に反映させるのが好適である。上記のように、当該端末装置を利用するプレイヤーに割り当てられた操作対象については、操作入力に対して通信遅延なく記憶部が更新されているからである。
本発明によれば、端末装置が3台以上の場合に、相互の通信をスムースに行うとともに、互いが記憶する情報に矛盾が生じてしまう可能性をできるだけ低減することができるようになる。
本発明のその他の観点に係る端末装置は、仮想空間内で複数の操作対象と一つ以上の移動体とを移動させるゲームシステムが有する複数の互いに通信可能な端末装置のいずれかであって、記憶部、指示入力受付部、自位置更新部、自位置送信部、他位置受信部、他位置更新部、親委譲部、親受任部、親移動体更新部、移動体位置送信部、移動体位置受信部、子移動体更新部を備え、以下のように構成する。
すなわち、記憶部は、当該複数の操作対象のそれぞれの位置および速度と、当該一つ以上の移動体のそれぞれの位置および速度と、を記憶し、当該一つ以上の移動体のそれぞれを当該端末装置が管理するか否か、を記憶する。
一方、指示入力受付部は、当該端末装置に割り当てられるユーザからの指示入力を受け付ける。
さらに、自位置更新部は、当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置および速度を、受け付けられた指示入力に基づいて、記憶部において更新する。
そして、自位置送信部は、更新された当該ユーザに割り当てられる操作対象の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信する。
一方、他位置受信部は、当該複数の端末装置のうち、他の端末装置から送信された他のユーザに割り当てられる操作対象の位置および速度を受信する。
さらに、他位置更新部は、受信された他のユーザに割り当てられる操作対象の位置および速度を、記憶部において更新する。
そして、親委譲部は、当該一つ以上の移動体のうち、当該端末装置が管理する移動体のそれぞれについて、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体と直近に接触する操作対象を推定して、当該推定された操作対象が割り当てられるユーザが割り当てられる端末装置が他の端末装置である場合、記憶部において当該端末装置は当該移動体を管理しないと更新して、当該他の端末装置に当該移動体を管理するよう通知する。
一方、親受任部は、当該複数の端末装置のうち、他の端末装置のいずれかからある移動体を管理するよう通知されると、記憶部において当該端末装置は当該移動体を管理すると更新する。
さらに、親移動体更新部は、当該一つ以上の移動体のうち、当該端末装置が管理する移動体のそれぞれについて、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体が当該複数の操作対象もしくは当該一つ以上の移動体のうち他の移動体と接触するか否かを判定し、当該判定結果により、当該移動体の位置および速度を、記憶部において更新する。
そして、移動体位置送信部は、当該一つ以上の移動体のうち、当該端末装置が管理する移動体のそれぞれについて、更新された当該移動体の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信する。
一方、移動体位置受信部は、当該複数の端末装置のうち、他の端末装置のいずれかから送信されたある移動体の位置および速度を受信する。
さらに、子移動体更新部は、受信された当該移動体の位置および速度を記憶部において更新する。
上記発明をより一般的に考えると、「親機」とは、ある移動体を管理する端末装置であり、「子機」とは、当該移動体を管理しない端末装置である、と考えることができる。したがって、後述するように、移動体が複数存在する場合に本発明の原理を適用するには、各移動体ごとに「親機」と「子機」を考えれば良いことになる。
そこで、本発明では、「親機」「子機」を、それぞれ、「ある移動体を管理する端末装置」「ある移動体の管理を他の端末装置に任せている端末装置」の意味であると考え、当該端末装置が「親」「子」のいずれであるかを移動体ごとに考えることとしているのである。
本発明によれば、たとえば雪合戦のゲームや複数のゴムボールを投げ合うゲーム、玉入れ競争のようなゲームなど、移動体が複数あるようなゲームにおいても、上記発明と同様の効果を得ることができる。
また、本発明の端末装置において、親委譲部は、当該移動体と直近に接触する操作対象と推定する手法について、以下のような好適実施形態を採用することができる。
(a)当該複数の操作対象のそれぞれについて、当該操作対象と当該移動体との現在の距離を求め、当該現在の距離が最短の操作対象を、当該移動体と直近に接触する操作対象と推定する。
(b)当該複数の操作対象のそれぞれについて、当該操作対象と当該移動体とが記憶された位置および速度のまま所定時間移動したと仮定したときの当該操作対象と当該移動体との将来の距離を求め、当該将来の距離が最短の操作対象を、当該移動体と直近に接触する操作対象と推定する。
(c)当該複数の操作対象のそれぞれについて、当該操作対象と当該移動体との現在の距離と、当該操作対象と当該移動体とが記憶された位置および速度のまま所定時間移動したと仮定したときの当該操作対象と当該移動体との将来の距離と、を求め、当該現在の距離ならびに当該将来の距離のうち最短の距離が求められた操作対象を、当該移動体と直近に接触する操作対象と推定する。
(d)当該複数の操作対象のそれぞれについて、当該操作対象と当該移動体との現在の距離と、当該操作対象と当該移動体とが記憶された位置および速度のまま所定時間移動したと仮定したときの当該操作対象と当該移動体との将来の距離と、を求め、当該現在の距離より当該将来の距離が小さい操作対象のうち、当該将来が最短の操作対象を、当該移動体と直近に接触する操作対象と推定する。
(e)当該複数の操作対象のそれぞれには、当該仮想空間内を重複しないように分割した複数の領域のいずれかがあらかじめ割り当てられ、自位置更新部は、当該ユーザに割り当てられる操作対象に当該操作対象の位置を、当該操作対象にあらかじめ割り当てられた領域内に含まれるように更新し、当該複数の領域のうち当該移動体の位置を含む領域に割り当てられた操作対象を、当該移動体と直近に接触する操作対象と推定する。
これらはいずれも、本発明において移動体と時間的に直近に接触すると予想される操作対象を推定する手法の種々の態様を表すものであり、ゲームの種類や難易度等、用途に応じて、適切な手法を適宜選択することができる。
また、本発明の端末装置において、受け付けられる指示入力には、当該複数の操作対象のうち、当該ユーザに割り当てられた操作対象が当該移動体に近接したときに当該移動体に対して行うべき動作を選択する指示入力が含まれ、親移動体更新部は、受け付けられた指示入力に、当該動作を選択する指示入力が含まれている場合、当該動作に応じて、当該移動体の位置および速度を更新するように構成することができる。
たとえば、野球ゲームにおいて、投手のキャラクター(操作対象)がボール(移動体)に近接しているときに、ボールを投げるべき方向やカーブやシュート等、ボールの移動する軌跡に与える変化を指定するコマンドを入力したり、バッターのキャラクター(操作対象)がボール(移動体)に対してどの高さでどのタイミングでどの強さでバットを振るか指定するコマンドを入力できるようにしているものがある。このようなコマンドは、ボールがキャラクターに近接する以前に先行して入力できるものも多い。
本発明は、このようなコマンドに対応するものであり、物理シミュレーションによるだけではなく、プレイヤーが入力したコマンドによっても、移動体の移動の様子を計算するものである。
本発明によれば、移動体に操作対象が近接したとき、あるいは、近接が見込まれるときに、当該移動体の運動に変化を与えるような操作をプレイヤーが行うことができるようになる。
また、本発明の端末装置において、親移動体更新部により、当該動作に応じて、当該移動体の位置および速度が更新されると、親委譲部は、当該動作が当該ユーザに割り当てられた操作対象から当該移動体が離れると想定される動作である場合、当該複数の操作対象のすべてから当該移動体と直近に接触する操作対象を推定するのにかえて、当該複数の操作対象のうちユーザに割り当てられていない操作対象から当該移動体と直近に接触する操作対象を推定するように構成することができる。
たとえば野球ゲームにおいては、「ボールを打つ」コマンドが実行され、バッターのキャラクターがバットを振った後は、直ちに、攻撃側ではなく守備側のチームがボールを取り扱うフェーズに移行する、と考えることができる。
そこで本発明では、動作の種類によっては、直近に接触する(と想定される)操作対象を推定する際に、その探索範囲を、当該動作を行ったプレイヤー側でないキャラクターに限定する。
本発明によれば、適用されるゲームのルールによっては、親の委譲をよりスムースに行うことができるようになる。
本発明のその他の観点に係るゲーム制御方法は、仮想空間内で複数の操作対象と一つの移動体とを移動させるゲームシステムが有する複数の互いに通信可能な端末装置のそれぞれが実行するゲーム制御方法であって、当該複数の端末装置のそれぞれは、記憶部、指示入力受付部、自位置更新部、自位置送信部、他位置受信部、他位置更新部、親委譲部、親受任部、親移動体更新部、移動体位置送信部、移動体位置受信部、子移動体更新部を有し、記憶部には、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、を記憶し、当該端末装置のモードが親機と子機とのいずれであるか、が記憶され、指示入力受付工程、自位置更新工程、自位置送信工程、他位置受信工程、他位置更新工程、親委譲工程、親受任工程、親移動体更新工程、移動体位置送信工程、移動体位置受信工程、子移動体更新工程を備え、以下のように構成する。
すなわち、指示入力受付工程では、指示入力受付部が、当該端末装置に割り当てられるユーザからの指示入力を受け付ける。
一方、自位置更新工程では、自位置更新部が、当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置および速度を、受け付けられた指示入力に基づいて、記憶部において更新する。
さらに、自位置送信工程では、自位置送信部が、更新された当該ユーザに割り当てられる操作対象の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信する。
そして、他位置受信工程では、他位置受信部が、当該複数の端末装置のうち、他の端末装置から送信された他のユーザに割り当てられる操作対象の位置および速度を受信する。
一方、他位置更新工程では、他位置更新部が、受信された他のユーザに割り当てられる操作対象の位置および速度を、記憶部において更新する。
さらに、親委譲工程では、親委譲部が、当該端末装置のモードが親機である場合、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体と直近に接触する操作対象を推定して、当該推定された操作対象が割り当てられるユーザが割り当てられる端末装置が他の端末装置である場合、記憶部において当該端末装置のモードを子機に更新して、当該他の端末装置に親機となるよう通知する。
そして、親受任工程では、親受任部が、当該端末装置のモードが子機である場合、当該他の端末装置のいずれかから親機となるよう通知されると、記憶部において当該端末装置のモードを親機に更新する。
一方、親移動体更新工程では、親移動体更新部が、当該端末装置のモードが親機である場合、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体が当該複数の操作対象と接触するか否かを判定し、当該判定結果により、当該移動体の位置および速度を、記憶部において更新する
さらに、移動体位置送信工程では、移動体位置送信部が、当該端末装置のモードが親機である場合、更新された当該移動体の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信する。
そして、移動体位置受信工程では、移動体位置受信部が、当該端末装置のモードが子機である場合、当該複数の端末装置のうち、モードが親機である端末装置から送信された当該移動体の位置および速度を受信する。
一方、子移動体更新工程では、子移動体更新部が、受信された当該移動体の位置および速度を記憶部において更新する。
本発明のその他の観点に係るゲーム制御方法は、仮想空間内で複数の操作対象と一つ以上の移動体とを移動させるゲームシステムが有する複数の互いに通信可能な端末装置のそれぞれが実行するゲーム制御方法であって、当該複数の端末装置のそれぞれは、記憶部、指示入力受付部、自位置更新部、自位置送信部、他位置受信部、他位置更新部、親委譲部、親受任部、親移動体更新部、移動体位置送信部、移動体位置受信部、子移動体更新部を有し、記憶部には、当該複数の操作対象のそれぞれの位置および速度と、当該一つ以上の移動体のそれぞれの位置および速度と、を記憶し、当該一つ以上の移動体のそれぞれを当該端末装置が管理するか否か、が記憶され、指示入力受付工程、自位置更新工程、自位置送信工程、他位置受信工程、他位置更新工程、親委譲工程、親受任工程、親移動体更新工程、移動体位置送信工程、移動体位置受信工程、子移動体更新工程を備え、以下のように構成する。
すなわち、指示入力受付工程では、指示入力受付部が、当該端末装置に割り当てられるユーザからの指示入力を受け付ける。
一方、自位置更新工程では、自位置更新部が、当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置および速度を、受け付けられた指示入力に基づいて、記憶部において更新する。
さらに、自位置送信工程では、自位置送信部が、更新された当該ユーザに割り当てられる操作対象の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信する。
そして、他位置受信工程では、他位置受信部が、当該複数の端末装置のうち、他の端末装置から送信された他のユーザに割り当てられる操作対象の位置および速度を受信する。
一方、他位置更新工程では、他位置更新部が、受信された他のユーザに割り当てられる操作対象の位置および速度を、記憶部において更新する。
さらに、親委譲工程では、親委譲部が、当該一つ以上の移動体のうち、当該端末装置が管理する移動体のそれぞれについて、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体と直近に接触する操作対象を推定して、当該推定された操作対象が割り当てられるユーザが割り当てられる端末装置が他の端末装置である場合、記憶部において当該端末装置は当該移動体を管理しないと更新して、当該他の端末装置に当該移動体を管理するよう通知する。
そして、親受任工程では、親受任部が、当該複数の端末装置のうち、他の端末装置のいずれかからある移動体を管理するよう通知されると、記憶部において当該端末装置は当該移動体を管理すると更新する。
一方、親移動体更新工程では、親移動体更新部が、当該一つ以上の移動体のうち、当該端末装置が管理する移動体のそれぞれについて、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体が当該複数の操作対象もしくは当該一つ以上の移動体のうち他の移動体と接触するか否かを判定し、当該判定結果により、当該移動体の位置および速度を、記憶部において更新する。
さらに、移動体位置送信工程では、移動体位置送信部が、当該端末装置のモードが親機である場合、更新された当該移動体の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信する。
そして、移動体位置受信工程では、移動体位置受信部が、当該複数の端末装置のうち、他の端末装置のいずれかから送信されたある移動体の位置および速度を受信する。
一方、子移動体更新工程では、子移動体更新部が、受信された当該移動体の位置および速度を記憶部において更新する。
本発明のその他の観点に係るプログラムは、コンピュータを、上記の端末装置の各部として機能させ、コンピュータに、上記のゲーム制御方法の各工程を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
本発明によれば、球技などのネットワーク対戦ゲームにおいて、プレイヤー等のユーザの意思がキャラクター等の操作対象の動作により自然に反映されるようにするのに好適な端末装置、ゲーム制御方法、ならびに、これらをコンピュータにて実現するためのプログラムを提供することができる。
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
図1は、プログラムを実行することにより、本発明の端末装置等の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
情報処理装置100は、CPU(Central Processing Unit)101と、ROM 102と、RAM(Random Access Memory)103と、インターフェイス104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disc ROM)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、マイク111と、を備える。
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態の端末装置等が実現される。
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
インターフェイス104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
図2は、コントローラ105の外観を示す説明図である。以下、本図を参照して説明する。
コントローラ105の左方には、上下左右を示す操作入力を行うのに利用される↑ボタン201、↓ボタン202、←ボタン203、→ボタン204が配置されている。
右方には、決定操作入力を行うのに利用される○ボタン205、取消操作入力を行うのに利用される×ボタン206、メニュー表示等の指示入力を行うのに利用される△ボタン207、その他の指示入力を行うのに利用される□ボタン208が配置されている。
中央には、SELECTボタン209、STARTボタン210のほか、アナログ入力の開始・停止を指示するためのANALOGボタン211、および、アナログ入力が有効か無効かを表示するためのインジケータ212が配置されている。
また中央下部には、上下左右に限らない方向に大きさを伴う指示入力を行うためのジョイスティック213、214が配置されている。
さらに、上方には、各種の指示入力に用いることができるL1ボタン215、L2ボタン216、R1ボタン217、R2ボタン218が配置されている。
コントローラ105の各ボタン201〜208、215〜218には、圧力センサが配備され、アナログ入力が有効となっている場合には、いずれのボタンが押圧操作されているかを検知することができるほか、ユーザの押圧操作の圧力の大きさを0〜255の256段階で得ることができる。
コントローラ105のジョイスティック213、214は、ひずみゲージが配備され、これらがどの方向にどれだけ曲げられているか、を検知することができる。
図1に戻り、インターフェイス104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ROM 102に記録されているが、DVD−ROMに記録された専用のフォント情報を利用することも可能である。
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
インターネット内のSNTPサーバにNIC 109を介して接続し、ここから情報を得ることによって現在の日時情報を得るようにすることができる。また、各種のネットワーク通信ゲームやSNSの管理サーバ装置が、SNTPサーバと同様の機能を果たすように構成設定してもよい。
一旦日時情報が得られれば、情報処理装置100が動作中はタイマ割込によりリアルタイムクロックと同様の機能を果たすカウンタを更新することとしてもよいし、情報処理装置100がリアルタイムクロックを有する場合は、その日時情報を修正する態様を採用することもできる。この際に、修正するか否かをユーザに問い合わせてもよい。内蔵するリアルタイムクロックを修正しない場合には、リアルタイムクロックの情報と実際にサーバから得られた情報との差分を保持し、日時情報が必要な場合には、リアルタイムクロックから得られた情報にその差分を加算すればよい。
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
さらに、情報処理装置100には、インターフェイス104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。
情報処理装置100をカラオケ装置として利用する場合には、DVD−ROMから読み出した音声データ、もしくは、NIC 109を介してコンピュータ通信網から取得した音声データを伴奏データとし、マイクから入力された音声データを歌唱データとして、伴奏データと歌唱データを音声処理部110がミキシングし、スピーカから出力する。また、スピーカにかえて、ヘッドホン(図示せず)やイヤフォン(図示せず)を用いて、音声を出力させることもできる。
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置100にかえて、汎用のパーソナルコンピュータを利用することもできる。
なお、リアルタイムクロックにより、本体の電源がオフにされても現在の日時情報を適切に更新できるようにしても良いが、ネットワーク通信ゲームの形態によっては、各ユーザ管理システムが管理する時刻情報にずれがあると、正しくゲームが進行しないこと、などの要因があるため、本発明を適用するにあたっては、NIC 109を介して接続された各種のサーバから、ゲームを開始する際に、現在の日時情報を得ることとして、時間合わせをすることとしても良い。
以上で説明した情報処理装置100は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、同様の処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
たとえば、一般的なコンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NICを備え、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用する。
図3は、本実施形態に係るネットワーク対戦ゲームの画面表示の例を示す説明図である。以下、本図を参照して説明する。
本図に示すネットワーク対戦ゲームは、テニスやエアホッケーに類似するゲームであり、画面301内に配置される長方形型のコート302の右側と左側に、操作対象であるラケット303a、303bが配置されている。2人のプレイヤーのそれぞれが、このラケット303a、303bを操作する。コート302の上下には壁305a、305bが配置されているが、コート302の左右には壁は配置されていない。
ラケット303a、303bは、プレイヤーがコントローラ105の↑ボタン201、↓ボタン202、←ボタン203、→ボタン204を押圧操作すると、押圧操作されている間だけその向きに移動するように、位置および速度が設定される。ただし、コート302から外に出ることはできないように、制限が課せられている。
移動体であるボール304は、ラケット303a、303bやコート302の上下の壁305a、305bにぶつかると、ボール304が衝突した相手との相対速度や摩擦力を考慮した物理シミュレーションに基づいて、ボール304の速度を変化させることで、跳ね返る。
ボール304が、コート302の左から外に出てしまうと、左側のラケット303aを操作していたプレイヤーの負けになり、コート302の右から外に出てしまうと、右側のラケット303bを操作していたプレイヤーの負けになる。
このほか、コントローラ105の所定のボタンを「魔球コマンド」として、このボタンをあらかじめ押圧操作することにより魔球コマンドの先行入力を行い、ラケット303a、303bにボール304が衝突したときに、単なる物理シミュレーションによるだけではなく、特殊な変化を起こさせるようにしても良い。「魔球」としては、たとえば、ボール304が相手のラケット303a、303bをすり抜けて反発しなくなるもの、ボール304が複雑な軌跡を描いて移動するようになるもの、ボール304が一定の時間透明になるもの等、種々のものが考えられる。
図4は、本実施形態に係るゲームシステム全体の概要構成を示す模式図である。以下、本図を参照して説明する。
本図に示すように、2つの端末装置401が、インターネット等のコンピュータ通信網402を介して通信可能に接続されている。この端末装置401は、上記の情報処理装置100によって実現されており、ゲームを開始する場合には、ロビーサーバ403に問い合わせを行って、互いの端末装置401の紹介を受けて、対戦が開始されるのが典型的であるが、無線LAN(Local Area Network)通信対応の端末装置401同士がアドホックに通信を行うことで、ゲームが開始されるように構成しても良い。
本実施形態では、2人の対戦を想定しているが、本発明は、任意の複数のプレイヤーが対戦するゲームに適用が可能である。本実施形態では、互いに対戦を行っている複数の端末装置401のうち、一つの端末装置401を「親機」として、移動体(ボール304)の移動の計算処理は「親機」が担当する。それ以外の端末装置401は「子機」となる。
端末装置401のそれぞれは、自身を操作するプレイヤーの指示入力(コントローラ105の↑ボタン201、↓ボタン202、←ボタン203、→ボタン204の押圧操作)に基づいて、当該プレイヤーが操作する操作対象(ラケット303a、303b)の位置や速度を更新する。
また、端末装置401のうち、子機は、更新された位置や速度の情報を親機に通知する。親機は、子機から通知された位置や速度を集積して、移動体(ボール304)および全操作対象(ラケット303a、303b)の最新の位置や速度を、適当なタイミングで子機に通知し、子機と親機で、移動体と操作対象の位置や速度の情報に、通信遅延に基づく齟齬ができるだけ生じないように、情報の共有を図る。
上記のように、従来の技術では、親機になるか否かは、ゲームのルールに基づいて「ターン」によって定めることとしていたが、本発明では、移動体と操作対象との衝突の蓋然性によって、親機になるか否かを定める。すなわち、今後移動体にもっとも先に衝突する操作対象を推測して、推測された操作対象を操作しているプレイヤーが利用している端末装置401を、親機とする。
また、端末装置401のそれぞれには、互いに重複しない識別子が割り当てられており、これによって端末装置401を区別することができる。
図5は、本実施形態に係る端末装置の概要構成を示す模式図である。以下、本図を参照して説明する。
本実施形態に係る端末装置401は、記憶部501、指示入力受付部502、自位置更新部503、自位置送信部504、他位置受信部505、他位置更新部506、親委譲部507、親受任部508、親移動体更新部509、移動体位置送信部510、移動体位置受信部512、子移動体更新部511を備える。
記憶部501は、RAM 103等によって構成され、以下の情報を記憶する。
(a)各操作対象と、当該操作対象に割り当てられる端末装置401の識別子。上記の例では、ラケット303aには、ラケット303aを操作するプレイヤーが利用する端末装置401の識別子が割り当てられ、ラケット303bには、ラケット303bを操作するプレイヤーが利用する端末装置401の識別子が割り当てられる。
(b)各操作対象の位置および速度の最新の値、および、当該最新の値に更新された更新時刻。本例では、コントローラ105の操作に基づいてラケット303a、303bの位置および速度を更新する端末装置401は互いに異なるため、通信遅延を考慮して、最新の更新時刻も情報として記憶することとしている。この時刻は、ゲームが開始されてからの経過時間を、各端末装置401にて測定したものである。
(c)移動体の位置および速度の最新の値、および、当該最新の値に更新された更新時刻。ラケット303a、303bの場合と同様に、親機から子機へボール304の情報が伝達されるのには通信遅延があるため、時刻も考慮する。
(d)現在親機となっている端末装置401の通信識別子。各端末装置401は、記憶されている通信識別子と自身の通信識別子とを比較して、これらが等しければ、現在のモードは親機であり、異なっていれば、現在のモードは子機である、と判断することができる。
(e)その他の情報。たとえば、野球ゲームやサッカーゲーム等のように、一人のプレイヤーが複数の操作対象を操作する場合には、操作対象のいずれかを「現在注目している操作対象」に設定して、プレイヤーの指示入力は、当該操作対象に反映させることとし、それ以外の操作対象は、CPU 101が所定の自動制御アルゴリズムに基づいて、自動的に制御を行うのが一般的である。そこで、当該端末装置401において「現在注目している操作対象」がいずれであるか、を記憶部501に記憶させておく。なお、以下では、理解を容易にするため、特に明記しない限り、一人のプレイヤーは一つの操作対象を操作するものとして説明を行う。
図6は、各端末装置401において実行されるゲーム制御処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
本処理は、ロビーサーバからの紹介やアドホック通信の確立によって端末装置401同士における対戦が開始可能となることを契機に始められる。
対戦が開始されると、CPU 101は、RAM 103に記憶される情報の初期化を行う(ステップS601)。この際に、記憶部501に記憶される情報は、ゲームのルールに基づいて適切に初期化される。
ラケット303a、303bの位置は、ルールに基づいた所定の位置(本例では、コート302の左側半分のいずれかの場所と右側半分のいずれかの場所。)に設定され、速度は0とするのが典型的である。また、ボール304は、エアホッケーの場合にはコート302の中央に配置され、テニスの場合には、ラケット303a、303bのうちサービス側の方の近傍に配置され、速度は0とするのが典型的である。
ゲームの開始時点では、互いに対戦する端末装置401のうち、いずれかの端末装置401を親機に設定する必要があるが、これは、従来技術のようにゲームのルールに基づいて親機を決定しても良いし、乱数によって決定することとしても良い。
次に、CPU 101は、コントローラ105の↑ボタン201、↓ボタン202、←ボタン203、→ボタン204が押圧操作されているかを調べる(ステップS602)。したがって、コントローラ105は、指示入力受付部502として機能する。
さて、いずれかのボタンが押圧操作されていれば(ステップS602;Yes)、記憶部501において、当該端末装置401のプレイヤーに割り当てられた操作対象の速度を当該ボタンの種類に応じて更新する(ステップS603)。
↑ボタン201、↓ボタン202、←ボタン203、→ボタン204のうち、押圧操作された方向の所定の長さのベクトルを、記憶部501における当該操作対象の速度に設定するのがもっとも単純な更新の手法である。この手法では、押圧操作したボタンが示す方向に、ラケット303a、303bが一定速度で移動することになる。
このほか、押圧操作された方向の所定の長さのベクトルを、記憶部501における当該操作対象の速度に加算する、という手法もありうる。この場合は、押圧操作したボタンが示す方向の力をラケット303a、303bに印加したことに相当する。
このようなボタンの操作は、ゲームの種類によって適宜変更が可能である。たとえば、野球ゲームにおいては、投手が腕を振り上げる高さやボールを離すタイミング、打者がバットを振るタイミング、野手がキャッチしたボールをいずれの塁に投球するかの選択等が決定され、テニスゲームやエアホッケーゲームにおいては、ラケット等の操作対象をどの場所に移動させるか、どのようなタイミングで操作対象を移動させるか、等が決定されることになる。
一方、いずれのボタンも押圧操作されていなければ(ステップS602;No)、記憶部501において、当該端末装置401のプレイヤーに割り当てられている操作対象(自操作対象)の速度、および、当該操作対象の更新時刻を更新する(ステップS604)。更新の手法として典型的なのは、ラケット303a、303bの速度を0にする、というものである。これは、ラケット303a、303bを押圧操作したボタンが示す方向に、一定速度で移動させる場合に好適である。
このほか、操作対象の速度をそのまま維持する、という手法もありうる。これは、この場合は、ラケット303a、303bに押圧操作したボタンが示す方向の力を印加したことを想定した場合に好適である。
また、現在の操作対象の速度に、0以上1未満の定数を乗じたり、現在の操作対象の速度を、0になるまでは所定の大きさだけ減じたりする手法もありうる。これらは、摩擦力をシミュレートするものである。
このようにして、当該自操作対象の速度が更新されたら(ステップS603、S604)、当該速度に所定の微小時間(典型的には垂直同期割込の周期)を乗じたものを、当該自操作対象の位置に加算して、記憶部501に記憶される操作対象の位置を更新する(ステップS605)。
したがって、CPU 101は、コントローラ105やRAM 103等と共働して、自位置更新部503として機能する。
このような構成をとることで、端末装置401を使用しているプレイヤーの指示入力がされると、当該プレイヤーが操作する操作対象の位置や速度は、当該端末装置401においては直ちに反映されることとなる。したがって、プレイヤーが自分の操作に対する遅延を感じる可能性は、極めて低くなる。
ついで、CPU 101は、現在のモードが親機であるか子機であるか、を判定する(ステップS606)。子機である場合(ステップS606;子機)、CPU 101は、記憶部501に記憶されている操作対象のうち、当該自操作対象の速度、位置、更新時刻を取得して(ステップS607)、当該自操作対象に取得された情報を対応付けて指定する親宛パケットを生成し(ステップS608)、親機に送信する(ステップS609)。
したがって、親宛パケットには、当該端末装置401を利用するプレイヤーに割り当てられた自操作対象の位置および速度の最新の値が、当該最新の値に更新された更新時刻(ゲーム開始時点からの経過時間)とともに、指定されることになる。
また、現在の親機がいずれの端末装置401であるかは、前述のように、記憶部501に記憶される情報を参照することで調べることが可能である。
ついで、CPU 101は、NIC 109を監視して、親機の端末装置401から、後述する子宛パケットが到達しているか否かを調べる(ステップS610)。到達していなければ(ステップS610;No)、CPU 101は、記憶部501に記憶されている操作対象および移動体の位置および速度の情報に基づいて、図3に示すような画像をRAM 103に生成する(ステップS611)。この際に、後述するように、通信遅延や位置、速度の更新時刻と現在時刻との差を考慮した補正処理を、適宜行うこととしても良い。
垂直同期割込が生じるまで待機してから(ステップS612)、画像処理部107を制御して生成された画像をモニタに転送して表示させ(ステップS613)、ステップS602に戻る。なお、垂直同期割込待ちの間には、他の計算処理(たとえば、移動体や操作対象の物理シミュレーション等)をコルーチン的に進めることも可能である。
さて、現在のモードが親機である場合(ステップS606;親機)、CPU 101は、NIC 109を監視して、いずれかの子機の端末装置401から親宛パケットが到達しているか否かを調べる(ステップS614)。到達していなければ、ステップS617に進む。
一方、到達していれば(ステップS614;Yes)、当該親宛パケットをすべて受信して(ステップS615)、当該親宛パケットに指定されている操作対象がいずれであるか、および、当該操作対象の位置、速度、更新時刻により、記憶部501の情報を更新する(ステップS616)。
なお、通信遅延等の影響で、同じ端末装置401から送信された親宛パケットの順序が前後して到着することがありうるが、その場合には、パケット内に指定されている更新時刻と、記憶部501に記憶されている更新時刻とを比較して、前者が後者よりも未来の時刻である場合にのみ、更新を行うこととすれば、最新の値が維持される。
ついで、親機は、記憶部501に記憶されている全操作対象の位置および速度、移動体の位置および速度から、各操作対象と移動体の衝突判定を行い(ステップS617)、衝突していれば(ステップS617;Yes)、跳ね返りのシミュレーション計算を行って(ステップS618)、衝突している操作対象と移動体の微小時間後の位置および速度ならびに更新時刻を記憶部501で更新する(ステップS619)。
この衝突判定およびシミュレーション計算の際には、[特許文献2]に開示されているような種々のシミュレーション技術を適用することが可能である。また、衝突判定の際には、記憶部501に記憶される位置および速度のみならず、更新時刻も考慮して、現在時刻と更新時刻との差がある場合には、適宜補正を行うこととしても良い。この補正は、上記の画像生成におけるものと同様である。以下では、理解を容易にするため、このような補正処理については適宜説明を省略する。
また、衝突判定は、全操作対象について行うが、本実施形態では、親機に割り当てられる操作対象が移動体の直近に配置されているため、ほとんどの場合には、衝突するのは、親機に割り当てられた操作対象と移動体である。
したがって、コントローラ105の○ボタン205、×ボタン206、△ボタン207、□ボタン208等の操作状況をここで監視して、押圧操作の内容に応じて移動体の速度や位置を更新することとしても良い。たとえば、野球の守備側で○ボタン205を「ボールをキャッチする動作」に割り当てた場合には、キャラクターとボールの距離が一定の閾値以下であり、かつ、○ボタン205が押圧操作されていれば、「ボールのキャッチ」が成功して、その後は、ボールがリリースされるまで、当該キャラクターの位置および速度に当該ボールの位置および速度が一致するように更新する、等である。これらの手法については、ゲームのルールに基づいた公知の種々の技術が適用できる。
一方、衝突していなければ(ステップS617;No)、記憶部501に記憶された移動体の位置、速度、更新時刻から、微小時間後における移動体の位置、速度を計算して(ステップS620)、記憶部501における移動体の位置、速度、更新時刻を更新する(ステップS621)。ステップS620の計算では、移動体は、等速直線運動や等加速度運動をとると仮定したり、さらに摩擦力や粘性力が印加されるものとして、物理シミュレーションを行うのが一般的である。また、壁305a、305bとの衝突についても、本ステップにてシミュレートする。
したがって、CPU 101は、RAM 103と共働して、親移動体更新部509として機能する。
記憶部501における移動体の位置や速度が更新されたら(ステップS619、S621)、親機の端末装置401のCPU 101は、記憶部501に記憶された各操作対象の位置、速度(および更新時刻)、移動体の位置、速度(および更新時刻)から、当該移動体と直近に接触する操作対象がいずれであるかを推定する(ステップS622)。この具体的な手法については、後述する。
また、移動体の位置や速度が更新された(ステップS619、S621)後は、ステップS622における推定の前に、当該移動体(ボール304)がコート302の外に出たか否かを判定して親機が勝敗を判定し、その旨を子機に通知して本処理を終了することとする公知の技術を適用するのが一般的であるが、理解を容易にするため、当該処理の詳細については、説明を省略する。
さて、移動体と直近に接触するであろう操作対象が推定されたら(ステップS622)、CPU 101は、以下の情報を指定した子宛パケットをRAM 103内に生成する(ステップS623)。
(a)推定された操作対象に割り当てられている端末装置401の識別子。この情報は、次に親機となるべき端末装置401を意味する。
(b)記憶部501に記憶されている全操作対象の位置、速度、更新時刻および移動体の位置、速度、更新時刻。
そして、生成された子宛パケットを、子機である端末装置401に送信する(ステップS624)。
ついで、記憶部501の「現在親機となっている端末装置401の識別子」を、ステップS622で推定された操作対象の識別子で上書き更新して(ステップS625)、ステップS611に進む。なお、両者が等しいか否かを事前に判定して、等しい場合には上書きしないこととしても良い。
さて、親機の端末装置401のステップS624において送信された子宛パケットは、子機の端末装置401では、ステップS610で到達判定がされる。そこで、子宛パケットが到着している場合(ステップS610;Yes)、当該子宛パケットをすべて受信して(ステップS626)、当該子宛パケットに指定されている操作対象がいずれであるか、および、当該操作対象の位置、速度、更新時刻、ならびに、次に親機となるべき端末装置401の識別子により、記憶部501の情報を更新して(ステップS627)、ステップS611に進む。
このように、従来技術では、ターン単位、時間単位で行われていた「親」の委譲は、本技術においては、親機では、ステップS625における識別子により、子機では、子宛パケットに指定される識別子により、記憶部501の「現在親機となっている端末装置401の識別子」が更新されることで行われる。これによって、従来技術とは異なり、プレイヤーの操作技能に応じた平等さで、親機と子機が決定されるのである。
なお、通信遅延等の影響や、親機における衝突判定等の影響で、子機の端末装置401に割り当てられている操作対象の速度や位置が更新されていることがありうるが、その場合には、子宛パケット内に指定されている更新時刻と、記憶部501に記憶されている更新時刻とを比較して、前者が後者よりも未来の時刻である場合にのみ、更新を行うこととしても良いし、子宛パケット内に記憶されている値を優先して使用することとしても良いし、位置、速度および更新時刻の2つのセット(一方は記憶部501、他方は子宛パケット)から、現在時刻における位置、速度を内分・外挿により推定して、これらの値で更新することとしても良い。
このように、CPU 101は、NIC 109、RAM 103等と共働して、自位置送信部504、他位置受信部505、他位置更新部506、親委譲部507、親受任部508、移動体位置送信部510、移動体位置受信部512、子移動体更新部511として機能する。
なお、上記の態様においては、親宛パケットは子機の自位置送信部504が送信し、親機の他位置受信部505が受信し、子宛パケットは、親機の自位置送信部504、移動体位置送信部510、親委譲部507が送信し、子機の他位置受信部505、移動体位置受信部512、親受任部508が受信することとなっているが、各情報は個別に別々のパケットにして送受することとしても良い。
さて、球技等のゲームにおいては、プレイヤーは、ボールの近傍にいるキャラクターやラケットに特に注目すると考えられる。したがって、コントローラ105における指示入力が迅速に反映されるべきであるのは、ボールの近傍にいるキャラクターやラケットを操作するプレイヤーが利用する端末装置401である。本実施形態では、このような端末装置401を推定して、親機としている。
以下では、親機とすべき端末装置401を決めるため、移動体と直近に接触すると予想される操作対象を決める種々の手法について説明する。
図7は、移動体と操作対象との位置関係を示す説明図である。以下、本図を参照して説明する。
本図には、1つの移動体701と、2つの操作対象702、703の異なる時刻における位置が表示されている。
以下、記憶部501に記憶された位置をp、速度をv、更新時刻をA、現在時刻をT、現在時刻の所定時間後の時刻(以下「未来時刻」という。)をS (S>T)とする。本図では、数字符号の後に、英字a、b、cを付して、同じオブジェクトに対する3つの位置を表示している。ここで、
(a)位置aは、pであり、
(b)位置bは、p + v(T-A)であり、
(c)位置cは、p + v(S-A)である。
たとえば、移動体701の位置701aは、記憶部501に記憶された位置そのものである。
位置701bは、記憶部501に記憶された速度に、現在時刻と記憶部501に記憶された更新時刻との差を乗じた分だけ、位置701aから移動した位置である。
位置701cは、記憶部501に記憶された速度に、未来時刻から記憶部501に記憶された更新時刻との差を乗じた分だけ、位置701aから移動した位置である。
操作対象702の位置702a、702b、702c、操作対象703の位置703a、703b、703cについても同様である。
操作対象702、703のうち、移動体701と直近に接触するのがいずれであるか、を推定する手法は、以下のような種々の手法がある。
(a)位置701aと位置702aの間の距離Xaと、位置701aと位置703aの距離の距離Yaと、を比較し、前者が近ければ操作対象702を、後者が近ければ操作対象703を、推定結果とする。記憶部501に記憶されている位置そのものを利用する手法である。
(b)位置701bと位置702bの間の距離Xbと、位置701bと位置703bの距離の距離Ybと、を比較し、前者が近ければ操作対象702を、後者が近ければ操作対象703を、推定結果とする。現在の位置を推定してから距離を考える手法である。
(c)位置701cと位置702cの間の距離Xcと、位置701cと位置703cの距離の距離Ycと、を比較し、前者が近ければ操作対象702を、後者が近ければ操作対象703を、推定結果とする。近未来の位置を推定してから距離を考える手法である。
(d)Xa,Ya,Xb,Ybのうち最小のものがXa,Xbのいずれかであれば、操作対象702を、Ya,Ybのいずれかであれば、操作対象703を、推定結果とする。
(e)Xb,Yb,Xc,Ycのうち最小のものがXb,Xcのいずれかであれば、操作対象702を、Yb,Ycのいずれかであれば、操作対象703を、推定結果とする。
(f)Xc,Yc,Xa,Yaのうち最小のものがXc,Xaのいずれかであれば、操作対象702を、Yc,Yaのいずれかであれば、操作対象703を、推定結果とする。
(g)Xa,Ya,Xb,Yb,Xc,Ycのうち最小のものがXa,Xb,Xcのいずれかであれば、操作対象702を、Ya,Yb,Ycのいずれかであれば、操作対象703を、推定結果とする。
これらは、位置の測定時点、現在の推測位置、未来の推測位置から移動体701と操作対象702、703のとの距離を求めて、推定結果とするものである。
このほか、移動体701が操作対象702、703に近付いているかどうかを事前にチェックして、近付いている場合にのみ、推定結果の候補とすることも可能である。すなわち、移動体701が操作対象702に近付いている場合には、
Xa ≧ Xb ≧ Xc
が成立し、移動体701が操作対象703に近付いている場合には、
Ya ≧ Yb ≧ Yc
が成立するはずである。
たとえば、上記(d)の場合には、
(d1)Xa ≧ XbかつYa ≧ Ybならば、上記(d)と同様に最小の値を求めて推定結果とし、
(d2)Xa ≧ XbかつYa < Ybならば、操作対象702を推定結果とし、
(d3)Xa < XbかつYa ≧ Ybならば、操作対象703を推定結果とし、
(d4)Xa < XbかつYa < Ybならば、上記(d)と同様に最小の値を求めて推定結果とする
のである。上記(e)〜(g)も同様である。
これらはいずれも、本発明において移動体と時間的に直近に接触すると予想される操作対象を推定する手法の種々の態様を表すものであり、ゲームの種類や難易度等、用途に応じて、適切な手法を適宜選択することができる。
本実施形態によれば、プレイヤーは自身の操作が自身の操作対象に迅速に反映させるとともに、ボール等の移動体と自分の操作対象とが接触して移動体の位置や速度が変化しそうな場合には、当該移動体の衝突判定等の計算を自分の端末装置401で行うことで、操作対象を介した移動体に対する操作の反映も迅速に行うことができるようになり、プレイヤーの意思が操作対象やゲームに、より自然に反映されるようになる。
上記実施形態では、移動体に時間的に直近に接触すると予想される操作対象を、両者の距離によって求めていたが、本実施形態では、移動体が存在する場所に基づいて推定する。
たとえばテニスの場合には、プレイヤーはコート全体を移動可能なのではなく、移動可能な範囲は半分だけである。この状況は、図3に示す例では、ラケット303aはコート302の右側半分のみを移動でき、ラケット303bはコート302の左側半分のみを移動できる、というようなルールが課せられたゲームである場合に相当する。
本実施形態では、ボール304が右側半分に存在する場合には、ラケット303aを操作するプレイヤーが使用している端末装置401を親機とし、ボール304が左側半分に存在する場合には、ラケット303bを操作するプレイヤーが使用している端末装置401を親機とするのである。
より一般的には、仮想空間内を重複しないように複数の領域に分割しておき、各領域には、操作対象のいずれかを重複なく割り当てておく。このとき、操作対象の移動範囲を当該領域内に制限することが望ましいが、ゲームのルールによっては、必ずしもそのような制限を課さなくても良い。
そして、移動体の位置(記憶部501に記憶された位置そのもの、あるいは、それに基づいて計算された現在位置や未来位置。)が、いずれの領域に含まれるか、によって、直近に移動体が接触すると推定される操作対象を定めるのである。
これは、野球ゲームの場合にも適用が可能である。すなわち、球場内の各領域を、投手、捕手、野手の定位置に応じて領域分割するが、投手から打者へ至る経路の近傍は、打者が割り当てられる領域とするのである。
本実施形態では、移動体の位置によって直ちに親機が決定されるため、計算の負荷を低くすることができるほか、自身が親機か否かが移動体の位置から直ちに判定することができるため、子宛パケットに「次の親機の識別子」を指定する必要がなくなる。
上記の説明では、2台の端末装置401が対戦する場合を想定して説明したが、上記実施形態は、3台以上の場合にも適用が可能である。
特に、上記実施形態では、子機によって移動した操作対象の位置の情報を、親宛パケットによって一旦親機に集積した後に、親機から子機に子宛パケットによって伝達していた。
しかしながら、端末装置401の台数によっては、親機に位置情報を集積するのではなく、位置や速度の更新がされるごとに、他の端末装置401に直接その旨を通知することとしても良い。
上記実施形態では、端末装置401が3台以上の場合に、相互の通信でやりとりされるパケットの量を低減する効果があるが、本実施形態では、通信パケット量が多くなる可能性があるものの、位置情報の更新がそれだけ頻繁に行われるので、より正確な処理が可能となる。
上記の説明では、移動体が1つであることを想定して親機と子機を決定していたが、移動体の数は、複数であっても良い。たとえば、雪合戦のゲームや玉入れ競争のゲームでは雪玉や色つきお手玉が移動体に相当し、複数の移動体がそれぞれ仮想空間を移動することとなる。
この場合、複数の移動体のそれぞれについて、各端末装置401は、「当該移動体を管理する親機」と「当該移動体を他の端末装置に管理してもらっている子機」のいずれかのモードをとることとする。
したがって、記憶部501には、各移動体について、
(a)当該移動体の位置、速度、
(b)当該移動体を当該端末装置401が管理しているか否か(当該移動体についての親機であるか否か)
の情報が記憶されることとなる。
また、親委譲部507は、当該端末装置401が管理している移動体のそれぞれについて、直近に接触するであろう操作対象を推定することとなり、親受任部508は、どの移動体についての「親機」が委譲されるのかの情報が指定された通知を受信することとなる。
親移動体更新部509において、各移動体と各操作対象の接触、衝突、反発等を計算する処理は、上記実施形態と同様である。
移動体同士の衝突については、そもそも移動体同士はすりぬけて衝突しない、と設定することが可能である。
このほか、移動体同士が衝突する場合であっても、移動体が多数の場合には、衝突計算の組み合わせが莫大になってしまうことがある。そこで、移動体同士の衝突については、各端末装置401が管理している移動体は衝突するが、それ以外の組み合わせでは衝突しない、とシミュレーションを簡易にして、計算量を抑制することとしても良い。
プレイヤーから見て移動体同士の衝突が印象に残るのは、当該移動体同士が当該プレイヤーの操作するキャラクターの近傍(すなわち、当該プレイヤーが画面内で注目している領域内)で衝突する場合と考えられ、その場合には、当該移動体同士は、いずれも当該プレイヤーの操作する端末装置401が親機になっていると考えられるからである。
上記実施形態では、「魔球コマンド」の例により、プレイヤーが選択したキャラクターの動作によって、ボールの移動する軌跡を変化する例に言及したが、野球ゲームでは、「ボールを投げる」「ボールを打つ」(これらのコマンドは、ボールがキャラクターに近付いている間に先行して入力できるようにすることも可能である。)などの動作の後は、当該動作をとったプレイヤーからボールが離れていくと想定されるコマンドが存在する。
このような、動作が採用された後に移動体が離れていくと想定される状況は、たとえばサッカーゲームでは「ボールをキックする」であり、テニスゲームでは「ラケットを振る」である。
したがって、このように、ボールが離れていくことが想定される動作がコマンドによって指定された場合、当該動作をキャラクターがとって、その動作の結果が移動体の位置や速度に反映された後は、当該動作をとったキャラクターは「直近に移動体に近接する(と想定される)操作対象」ではなくなると考えられる。
また、ダブルスのテニスゲームのように、ボールが交互に自陣と他陣とでやりとりされるものの場合には、当該動作をとったキャラクター側の陣営でない側を、「直近に移動体に近接する(と想定される)操作対象」としても良いと考えられる。
そこで、このような動作コマンドが設定されているゲームの場合には、当該動作コマンドの効果が移動体の位置や速度に反映された後は、一定時間、「直近に移動体に近接する(と想定される)操作対象」の探索対象から、当該動作コマンドを入力したプレイヤーが操作するキャラクターを外すことにより、親の委譲をより一層スムースに行うことができる。
具体的には、親移動体更新部509におけるシミュレーション計算の際に、動作コマンドの種類を考慮するものとして、その種類が上記のような所定の種類のものである場合には、ステップS622において、当該動作コマンドを実行したキャラクター1人、もしくは、当該動作コマンドを入力したプレイヤーが操作するキャラクター全員を「直近に移動体に近接する(と想定される)操作対象」の探索対象から外し、それ以外のキャラクターについて、ボールとの距離等の変化を調べて、ボールが直近に近接すると想定されるキャラクターを推定する。
このように、実行された動作コマンドの種類に応じて推定の探索対象を変化させることで、親の委譲が一層スムースに行えるようになるものと考えられる。
以上説明したように、本発明によれば、球技などのネットワーク対戦ゲームにおいて、プレイヤー等のユーザの意思がキャラクター等の操作対象の動作により自然に反映されるようにするのに好適な端末装置、ゲーム制御方法、ならびに、これらをコンピュータにて実現するためのプログラム
を提供することができる。
プログラムを実行することにより、本発明の端末装置等の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。 情報処理装置に接続されるコントローラの外観を示す説明図である。 本実施形態に係るネットワーク対戦ゲームの画面表示の例を示す説明図である。 本実施形態に係るゲームシステム全体の概要構成を示す模式図である。 本実施形態に係る端末装置にて実行される端末処理の制御の流れを示すフローチャートである。 各端末装置において実行されるゲーム制御処理の制御の流れを示すフローチャートである。 移動体と操作対象との位置関係を示す説明図である。
符号の説明
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 マイク
201 ↑ボタン
202 ↓ボタン
203 ←ボタン
204 →ボタン
205 ○ボタン
206 ×ボタン
207 △ボタン
208 □ボタン
209 SELECTボタン
210 STARTボタン
211 ANALOGボタン
212 インジケータ
213 ジョイスティック
214 ジョイスティック
215 L1ボタン
216 L2ボタン
217 R1ボタン
218 R2ボタン
301 画面
302 コート
303 ラケット
304 ボール
305 壁
401 端末装置
402 コンピュータ通信網
403 ロビーサーバ
501 記憶部
502 指示入力受付部
503 自位置更新部
504 自位置送信部
505 他位置受信部
506 他位置更新部
507 親委譲部
508 親受任部
509 親移動体更新部
510 移動体位置送信部
511 子移動体更新部
512 移動体位置受信部
701 移動体
702 操作対象
703 操作対象

Claims (14)

  1. 仮想空間内で複数の操作対象と一つの移動体とを移動させるゲームシステムが有する複数の互いに通信可能な端末装置のいずれかであって、当該端末装置は、
    当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、を記憶し、当該端末装置のモードが親機と子機とのいずれであるか、を記憶する記憶部、
    当該端末装置に割り当てられるユーザからの指示入力を受け付ける指示入力受付部、
    当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置および速度を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する自位置更新部、
    前記更新された当該ユーザに割り当てられる操作対象の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信する自位置送信部、
    当該複数の端末装置のうち、他の端末装置から送信された他のユーザに割り当てられる操作対象の位置および速度を受信する他位置受信部、
    前記受信された他のユーザに割り当てられる操作対象の位置および速度を、前記記憶部において更新する他位置更新部、
    当該端末装置のモードが親機である場合、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体と直近に接触する操作対象を推定して、当該推定された操作対象が割り当てられるユーザが割り当てられる端末装置が他の端末装置である場合、前記記憶部において当該端末装置のモードを子機に更新して、当該他の端末装置に親機となるよう通知する親委譲部、
    当該端末装置のモードが子機である場合、当該他の端末装置のいずれかから親機となるよう通知されると、前記記憶部において当該端末装置のモードを親機に更新する親受任部、
    当該端末装置のモードが親機である場合、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体が当該複数の操作対象と接触するか否かを判定し、当該判定結果により、当該移動体の位置および速度を、前記記憶部において更新する親移動体更新部、
    当該端末装置のモードが親機である場合、前記更新された当該移動体の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信する移動体位置送信部、
    当該端末装置のモードが子機である場合、当該複数の端末装置のうち、モードが親機である端末装置から送信された当該移動体の位置および速度を受信する移動体位置受信部、
    前記受信された当該移動体の位置および速度を前記記憶部において更新する子移動体更新部
    を備えることを特徴とする端末装置。
  2. 請求項1に記載の端末装置であって、当該複数の端末装置の数は3以上であり、
    当該端末装置のモードが子機である場合、前記自位置送信部は、当該操作対象の位置および速度を当該複数の端末装置のうち、モードが親機である端末装置に中継させて他の端末装置に送信するため、当該操作対象の位置および速度を当該複数の端末装置のうち、モードが親機である端末装置に送信し、
    当該端末装置のモードが親機である場合、前記他位置受信部は、当該複数の端末装置のうちモードが子機である端末装置から送信された他のユーザに割り当てられる操作対象の位置および速度を受信し、
    当該端末装置のモードが親機である場合、前記自位置送信部は、モードが子機である端末装置から送信された他のユーザに割り当てられる操作対象の位置および速度を他の端末装置に中継するため、前記親移動体更新部ならびに前記子移動体更新部により前記記憶部に記憶される複数の操作対象の位置および速度が更新されると、当該複数の操作対象の位置および速度を、当該複数の端末装置のうちモードが子機である端末装置に送信し、
    当該端末装置のモードが子機である場合、前記他位置受信部は、当該複数の端末装置のうちモードが親機である端末装置に中継されて他の端末装置から送信された他のユーザに割り当てられる操作対象の位置および速度を受信するため、当該複数の端末装置のうちモードが親機である端末装置から送信された複数の操作対象の位置および速度を受信する
    ことを特徴とする端末装置。
  3. 仮想空間内で複数の操作対象と複数の移動体とを移動させるゲームシステムが有する複数の互いに通信可能な端末装置のいずれかであって、当該端末装置は、
    当該複数の操作対象のそれぞれの位置および速度と、当該複数の移動体のそれぞれの位置および速度と、を記憶し、当該複数の移動体のそれぞれを当該端末装置が管理するか否か、を記憶する記憶部、
    当該端末装置に割り当てられるユーザからの指示入力を受け付ける指示入力受付部、
    当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置および速度を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する自位置更新部、
    前記更新された当該ユーザに割り当てられる操作対象の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信する自位置送信部、
    当該複数の端末装置のうち、他の端末装置から送信された他のユーザに割り当てられる操作対象の位置および速度を受信する他位置受信部、
    前記受信された他のユーザに割り当てられる操作対象の位置および速度を、前記記憶部において更新する他位置更新部、
    当該複数の移動体のうち、当該端末装置が管理する移動体のそれぞれについて、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体と直近に接触する操作対象を推定して、当該推定された操作対象が割り当てられるユーザが割り当てられる端末装置が他の端末装置である場合、前記記憶部において当該端末装置は当該移動体を管理しないと更新して、当該他の端末装置に当該移動体を管理するよう通知する親委譲部、
    当該複数の端末装置のうち、他の端末装置のいずれかからある移動体を管理するよう通知されると、前記記憶部において当該端末装置は当該移動体を管理すると更新する親受任部、
    当該複数の移動体のうち、当該端末装置が管理する移動体のそれぞれについて、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体が当該複数の操作対象もしくは当該複数の移動体のうち他の移動体と接触するか否かを判定し、当該判定結果により、当該移動体の位置および速度を、前記記憶部において更新する親移動体更新部、
    当該複数の移動体のうち、当該端末装置が管理する移動体のそれぞれについて、前記更新された当該移動体の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信する移動体位置送信部、
    当該複数の端末装置のうち、他の端末装置のいずれかから送信されたある移動体の位置および速度を受信する移動体位置受信部、
    前記受信された当該移動体の位置および速度を前記記憶部において更新する子移動体更新部
    を備えることを特徴とする端末装置。
  4. 請求項1から3のいずれか1項に記載の端末装置であって、
    前記親委譲部は、当該複数の操作対象のそれぞれについて、前記記憶部に記憶されている当該操作対象の位置と当該移動体の位置とから、当該操作対象と当該移動体との現在の距離を求め、当該現在の距離が最短の操作対象を、当該移動体と直近に接触する操作対象と推定する
    ことを特徴とする端末装置。
  5. 請求項1から3のいずれか1項に記載の端末装置であって、
    前記親委譲部は、当該複数の操作対象のそれぞれについて、前記記憶部に記憶されている当該操作対象の位置および速度と当該移動体の位置および速度とから、当該操作対象と当該移動体とが前記記憶されている位置から前記記憶されている速度のまま所定時間移動したと仮定したときの当該操作対象と当該移動体との将来の距離を求め、当該将来の距離が最短の操作対象を、当該移動体と直近に接触する操作対象と推定する
    ことを特徴とする端末装置。
  6. 請求項1から3のいずれか1項に記載の端末装置であって、
    前記親委譲部は、当該複数の操作対象のそれぞれについて、前記記憶部に記憶されている当該操作対象の位置と当該移動体の位置とから、当該操作対象と当該移動体との現在の距離を求め、当該操作対象と当該移動体とが前記記憶部に記憶されている位置から前記記憶部に記憶されている速度のまま所定時間移動したと仮定したときの当該操作対象と当該移動体との将来の距離を求め、当該現在の距離ならびに当該将来の距離のうち最短の距離が求められた操作対象を、当該移動体と直近に接触する操作対象と推定する
    ことを特徴とする端末装置。
  7. 請求項1から3のいずれか1項に記載の端末装置であって、
    前記親委譲部は、当該複数の操作対象のそれぞれについて、前記記憶部に記憶されている当該操作対象の位置と当該移動体の位置とから、当該操作対象と当該移動体との現在の距離を求め、当該操作対象と当該移動体とが前記記憶部に記憶されている位置から前記記憶部に記憶されている速度のまま所定時間移動したと仮定したときの当該操作対象と当該移動体との将来の距離を求め、当該現在の距離より当該将来の距離が小さい操作対象のうち、当該将来が最短の操作対象を、当該移動体と直近に接触する操作対象と推定する
    ことを特徴とする端末装置。
  8. 請求項1から3のいずれか1項に記載の端末装置であって、
    当該複数の操作対象のそれぞれには、当該仮想空間内を重複しないように分割した複数の領域のいずれかがあらかじめ割り当てられ、当該操作対象にあらかじめ割り当てられる領域は、当該操作対象が移動できる範囲を表し、
    前記自位置更新部は、当該ユーザに割り当てられる操作対象に当該操作対象の位置を、当該操作対象にあらかじめ割り当てられた領域内に含まれるように更新し、
    前記親委譲部は、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、のうち、当該移動体の位置に基づいて、当該複数の領域のうち当該移動体の位置を含む領域に割り当てられた操作対象を、当該移動体と直近に接触する操作対象と推定する
    ことを特徴とする端末装置。
  9. 請求項1から8のいずれか1項に記載の端末装置であって、
    前記受け付けられる指示入力には、当該複数の操作対象のうち、当該ユーザに割り当てられた操作対象が当該移動体に近接したときに当該移動体に対して行うべき動作を選択する指示入力が含まれ、
    前記親移動体更新部は、前記受け付けられた指示入力に、当該動作を選択する指示入力が含まれている場合、当該動作に応じて、当該移動体の位置および速度を更新する
    ことを特徴とする端末装置。
  10. 請求項9に記載の端末装置であって、
    前記親移動体更新部により、当該動作に応じて、当該移動体の位置および速度が更新されると、前記親委譲部は、当該動作が当該ユーザに割り当てられた操作対象から当該移動体が離れると想定される動作である場合、当該複数の操作対象のすべてから当該移動体と直近に接触する操作対象を推定するのにかえて、当該複数の操作対象のうちユーザに割り当てられていない操作対象から当該移動体と直近に接触する操作対象を推定する
    ことを特徴とする端末装置。
  11. 仮想空間内で複数の操作対象と複数の移動体とを移動させるゲームシステムが有する複数の互いに通信可能な端末装置のそれぞれが実行するゲーム制御方法であって、当該複数の端末装置のそれぞれは、記憶部、指示入力受付部、自位置更新部、自位置送信部、他位置受信部、他位置更新部、親委譲部、親受任部、親移動体更新部、移動体位置送信部、移動体位置受信部、子移動体更新部を有し、前記記憶部には、当該複数の操作対象のそれぞれの位置および速度と、当該複数の移動体のそれぞれの位置および速度と、を記憶し、当該複数の移動体のそれぞれを当該端末装置が管理するか否か、が記憶され、
    前記指示入力受付部が、当該端末装置に割り当てられるユーザからの指示入力を受け付ける指示入力受付工程、
    前記自位置更新部が、当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置および速度を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する自位置更新工程、
    前記自位置送信部が、前記更新された当該ユーザに割り当てられる操作対象の位置および速度を、当該複数の端末装置のうち、他の端末装置に定期的に送信する自位置送信工程、
    前記他位置受信部が、当該複数の端末装置のうち、他の端末装置から送信された他のユーザに割り当てられる操作対象の位置および速度を受信する他位置受信工程、
    前記他位置更新部が、前記受信された他のユーザに割り当てられる操作対象の位置および速度を、前記記憶部において更新する他位置更新工程、
    当該端末装置のモードが親機である場合、前記親委譲部が、定期的に、当該複数の移動体のうち、当該端末装置が管理する移動体のそれぞれについて、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体と直近に接触する操作対象を推定して、当該推定された操作対象が割り当てられるユーザが割り当てられる端末装置が他の端末装置である場合、前記記憶部において当該端末装置は当該移動体を管理しないと更新して、当該他の端末装置に当該移動体を管理するよう通知する親委譲工程、
    前記親受任部が、当該複数の端末装置のうち、他の端末装置のいずれかからある移動体を管理するよう通知されると、前記記憶部において当該端末装置は当該移動体を管理すると更新する親受任工程、
    前記親移動体更新部が、定期的に、当該複数の移動体のうち、当該端末装置が管理する移動体のそれぞれについて、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体が当該複数の操作対象もしくは当該複数の移動体のうち他の移動体と接触するか否かを判定し、当該判定結果により、当該移動体の位置および速度を、前記記憶部において更新する親移動体更新工程、
    前記移動体位置送信部が、前記親移動体位置更新工程にて更新された当該移動体の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信する移動体位置送信工程、
    前記移動体位置受信部が、当該複数の端末装置のうち、他の端末装置のいずれかから送信されたある移動体の位置および速度を受信する移動体位置受信工程、
    前記子移動体更新部が、前記受信された当該移動体の位置および速度を前記記憶部において更新する子移動体更新工程
    を備えることを特徴とするゲーム制御方法。
  12. 仮想空間内で複数の操作対象と一つの移動体とを移動させるゲームシステムが有する複数の互いに通信可能な端末装置のそれぞれが実行するゲーム制御方法であって、当該複数の端末装置のそれぞれは、記憶部、指示入力受付部、自位置更新部、自位置送信部、他位置受信部、他位置更新部、親委譲部、親受任部、親移動体更新部、移動体位置送信部、移動体位置受信部、子移動体更新部を有し、前記記憶部には、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、を記憶し、当該端末装置のモードが親機と子機とのいずれであるか、が記憶され、
    前記指示入力受付部が、当該端末装置に割り当てられるユーザからの指示入力を受け付ける指示入力受付工程、
    前記自位置更新部が、当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置および速度を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する自位置更新工程、
    前記自位置送信部が、前記更新された当該ユーザに割り当てられる操作対象の位置および速度を、当該複数の端末装置のうち、他の端末装置に定期的に送信する自位置送信工程、
    前記他位置受信部が、当該複数の端末装置のうち、他の端末装置から送信された他のユーザに割り当てられる操作対象の位置および速度を受信する他位置受信工程、
    前記他位置更新部が、前記受信された他のユーザに割り当てられる操作対象の位置および速度を、前記記憶部において更新する他位置更新工程、
    当該端末装置のモードが親機である場合、前記親委譲部が、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体と直近に接触する操作対象を推定して、当該推定された操作対象が割り当てられるユーザが割り当てられる端末装置が他の端末装置である場合、前記記憶部において当該端末装置のモードを子機に更新して、当該他の端末装置に親機となるよう通知する親委譲工程、
    当該端末装置のモードが子機である場合、前記親受任部が、当該他の端末装置のいずれかから親機となるよう通知されると、前記記憶部において当該端末装置のモードを親機に更新する親受任工程、
    当該端末装置のモードが親機である場合、前記親移動体更新部が、定期的に、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体が当該複数の操作対象と接触するか否かを判定し、当該判定結果により、当該移動体の位置および速度を、前記記憶部において更新する親移動体更新工程、
    当該端末装置のモードが親機である場合、前記移動体位置送信部が、前記親移動体更新工程にて更新された当該移動体の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信する移動体位置送信工程、
    当該端末装置のモードが子機である場合、前記移動体位置受信部が、当該複数の端末装置のうち、モードが親機である端末装置から送信された当該移動体の位置および速度を受信する移動体位置受信工程、
    前記子移動体更新部が、前記受信された当該移動体の位置および速度を前記記憶部において更新する子移動体更新工程
    を備えることを特徴とするゲーム制御方法。
  13. 仮想空間内で複数の操作対象と一つの移動体とを移動させるゲームシステムが有する複数の互いに通信可能な端末装置のいずれかとしてコンピュータを機能させるプログラムであって、当該プログラムは、当該コンピュータを、
    当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、を記憶し、当該端末装置のモードが親機と子機とのいずれであるか、を記憶する記憶部、
    当該端末装置に割り当てられるユーザからの指示入力を受け付ける指示入力受付部、
    当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置および速度を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する自位置更新部、
    前記更新された当該ユーザに割り当てられる操作対象の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信する自位置送信部、
    当該複数の端末装置のうち、他の端末装置から送信された他のユーザに割り当てられる操作対象の位置および速度を受信する他位置受信部、
    前記受信された他のユーザに割り当てられる操作対象の位置および速度を、前記記憶部において更新する他位置更新部、
    当該端末装置のモードが親機である場合、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体と直近に接触する操作対象を推定して、当該推定された操作対象が割り当てられるユーザが割り当てられる端末装置が他の端末装置である場合、前記記憶部において当該端末装置のモードを子機に更新して、当該他の端末装置に親機となるよう通知する親委譲部、
    当該端末装置のモードが子機である場合、当該他の端末装置のいずれかから親機となるよう通知されると、前記記憶部において当該端末装置のモードを親機に更新する親受任部、
    当該端末装置のモードが親機である場合、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体が当該複数の操作対象と接触するか否かを判定し、当該判定結果により、当該移動体の位置および速度を、前記記憶部において更新する親移動体更新部、
    当該端末装置のモードが親機である場合、前記更新された当該移動体の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信する移動体位置送信部、
    当該端末装置のモードが子機である場合、当該複数の端末装置のうち、モードが親機である端末装置から送信された当該移動体の位置および速度を受信する移動体位置受信部、
    前記受信された当該移動体の位置および速度を前記記憶部において更新する子移動体更新部
    として機能させることを特徴とするプログラム。
  14. 仮想空間内で複数の操作対象と複数の移動体とを移動させるゲームシステムが有する複数の互いに通信可能な端末装置のいずれかとしてコンピュータを機能させるプログラムであって、当該プログラムは、当該コンピュータを、
    当該複数の操作対象のそれぞれの位置および速度と、当該複数の移動体のそれぞれの位置および速度と、を記憶し、当該複数の移動体のそれぞれを当該端末装置が管理するか否か、を記憶する記憶部、
    当該端末装置に割り当てられるユーザからの指示入力を受け付ける指示入力受付部、
    当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置および速度を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する自位置更新部、
    前記更新された当該ユーザに割り当てられる操作対象の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信する自位置送信部、
    当該複数の端末装置のうち、他の端末装置から送信された他のユーザに割り当てられる操作対象の位置および速度を受信する他位置受信部、
    前記受信された他のユーザに割り当てられる操作対象の位置および速度を、前記記憶部において更新する他位置更新部、
    当該複数の移動体のうち、当該端末装置が管理する移動体のそれぞれについて、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体と直近に接触する操作対象を推定して、当該推定された操作対象が割り当てられるユーザが割り当てられる端末装置が他の端末装置である場合、前記記憶部において当該端末装置は当該移動体を管理しないと更新して、当該他の端末装置に当該移動体を管理するよう通知する親委譲部、
    当該複数の端末装置のうち、他の端末装置のいずれかからある移動体を管理するよう通知されると、前記記憶部において当該端末装置は当該移動体を管理すると更新する親受任部、
    当該複数の移動体のうち、当該端末装置が管理する移動体のそれぞれについて、当該複数の操作対象のそれぞれの位置および速度と、当該移動体の位置および速度と、から、当該移動体が当該複数の操作対象もしくは当該複数の移動体のうち他の移動体と接触するか否かを判定し、当該判定結果により、当該移動体の位置および速度を、前記記憶部において更新する親移動体更新部、
    当該複数の移動体のうち、当該端末装置が管理する移動体のそれぞれについて、前記更新された当該移動体の位置および速度を、当該複数の端末装置のうち、他の端末装置に送信する移動体位置送信部、
    当該複数の端末装置のうち、他の端末装置のいずれかから送信されたある移動体の位置および速度を受信する移動体位置受信部、
    前記受信された当該移動体の位置および速度を前記記憶部において更新する子移動体更新部
    として機能させることを特徴とするプログラム。
JP2007319243A 2007-12-11 2007-12-11 端末装置、ゲーム制御方法、ならびに、プログラム Active JP4319233B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2007319243A JP4319233B2 (ja) 2007-12-11 2007-12-11 端末装置、ゲーム制御方法、ならびに、プログラム
KR1020097024712A KR101099422B1 (ko) 2007-12-11 2008-12-05 단말장치, 게임제어방법 및 정보기록매체
PCT/JP2008/072200 WO2009075239A1 (ja) 2007-12-11 2008-12-05 端末装置、ゲーム制御方法、情報記録媒体、ならびに、プログラム
CN2008800141144A CN101674867B (zh) 2007-12-11 2008-12-05 终端装置、游戏控制方法
US12/747,871 US8475278B2 (en) 2007-12-11 2008-12-05 Terminal device, game control method, information recording medium, and program
TW097148175A TWI375585B (en) 2007-12-11 2008-12-11 Terminal device, game controlling method, and information recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007319243A JP4319233B2 (ja) 2007-12-11 2007-12-11 端末装置、ゲーム制御方法、ならびに、プログラム

Publications (2)

Publication Number Publication Date
JP2009136634A JP2009136634A (ja) 2009-06-25
JP4319233B2 true JP4319233B2 (ja) 2009-08-26

Family

ID=40755482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007319243A Active JP4319233B2 (ja) 2007-12-11 2007-12-11 端末装置、ゲーム制御方法、ならびに、プログラム

Country Status (6)

Country Link
US (1) US8475278B2 (ja)
JP (1) JP4319233B2 (ja)
KR (1) KR101099422B1 (ja)
CN (1) CN101674867B (ja)
TW (1) TWI375585B (ja)
WO (1) WO2009075239A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011234987A (ja) * 2010-05-12 2011-11-24 Konami Digital Entertainment Co Ltd ゲーム装置、ゲームシステム、ゲーム制御方法、ならびに、プログラム

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9586139B2 (en) 2009-03-03 2017-03-07 Mobilitie, Llc System and method for game play in a dynamic communication network
JP5396212B2 (ja) * 2009-09-14 2014-01-22 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法、及びプログラム
JP5017381B2 (ja) * 2010-01-15 2012-09-05 株式会社コナミデジタルエンタテインメント ゲームシステム及びゲーム端末
CN102722650B (zh) * 2012-05-31 2015-06-24 北京像素软件科技股份有限公司 应用于游戏场景中游戏速度的处理方法和装置
CN104683310B (zh) * 2013-11-28 2017-12-19 沈阳昊英特信息技术有限公司 联网游戏的新手向导实现方法
WO2017136830A1 (en) * 2016-02-05 2017-08-10 Prizm Labs, Inc. Physical/virtual game system and methods for manipulating virtual objects within a virtual game environment
CN106302679B (zh) * 2016-08-08 2018-10-02 腾讯科技(深圳)有限公司 一种虚拟对象移动同步方法、客户端及服务器
CN106385408B (zh) * 2016-09-01 2019-08-16 网易(杭州)网络有限公司 运动状态变化的指示、处理方法及装置
JP6679054B1 (ja) * 2019-03-12 2020-04-15 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲームシステム、プログラム、及び、ゲームの制御方法
JP6917075B2 (ja) * 2019-03-12 2021-08-11 株式会社コナミデジタルエンタテインメント ゲームシステム
CN111013166A (zh) * 2019-12-23 2020-04-17 重庆工商大学 一种打雪仗用控制系统、方法及控制装置
TWI750827B (zh) * 2020-09-28 2021-12-21 立新 陳 第三方控制多媒體呈現的方法
US11517812B2 (en) 2021-02-19 2022-12-06 Blok Party, Inc. Application of RFID gamepieces for a gaming console
CN113457132B (zh) * 2021-06-23 2024-03-01 北京达佳互联信息技术有限公司 对象投放方法、装置、电子设备及存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2145921A1 (en) * 1994-05-10 1995-11-11 Vijay Pochampalli Kumar Method and apparatus for executing a distributed algorithm or service on a simple network management protocol based computer network
US5838909A (en) * 1996-05-23 1998-11-17 Sandcastle, Inc. Reducing latency when synchronizing access to a multi-user database over a network
US6363416B1 (en) * 1998-08-28 2002-03-26 3Com Corporation System and method for automatic election of a representative node within a communications network with built-in redundancy
JP2000197773A (ja) 1999-01-07 2000-07-18 Sente Creations:Kk バ―チャルテニス装置
KR100323389B1 (ko) * 1999-04-28 2002-02-19 오정훈 휴대용 무선 네트웍 게임기 및 게임 방법
JP2001149658A (ja) * 1999-12-01 2001-06-05 Namco Ltd ゲーム装置
CN1254295C (zh) * 2001-05-09 2006-05-03 世嘉股份有限公司 游戏装置
JP2003117241A (ja) * 2001-10-11 2003-04-22 Sega Corp キャラクタ配置方法、データ管理方法及びモデル形成方法
JP3814199B2 (ja) 2001-12-26 2006-08-23 美好 根岸 電気集塵装置
JP3542795B1 (ja) 2003-01-14 2004-07-14 コナミ株式会社 模擬実験装置、模擬実験方法、ならびに、プログラム
JP3499863B1 (ja) * 2003-04-25 2004-02-23 株式会社ナムコ プログラム、情報記憶媒体及びゲーム装置
US7621814B2 (en) * 2004-07-22 2009-11-24 Scientific Games International, Inc. Media enhanced gaming system
JP4754261B2 (ja) * 2005-04-28 2011-08-24 任天堂株式会社 ゲームシステム、ゲーム装置、ゲームプログラムおよびゲーム制御方法
JP4781743B2 (ja) * 2005-05-06 2011-09-28 任天堂株式会社 通信ゲームシステム
JP3995257B2 (ja) * 2005-10-04 2007-10-24 任天堂株式会社 通信ゲームプログラムおよび通信ゲームシステム
JP3982637B2 (ja) 2005-10-27 2007-09-26 株式会社コナミデジタルエンタテインメント ネットワークゲームシステム、ゲーム装置、ゲーム装置の制御方法及びプログラム
JP3982636B2 (ja) 2005-10-27 2007-09-26 株式会社コナミデジタルエンタテインメント ネットワークゲームシステム、ゲーム装置、ゲーム装置の制御方法及びプログラム
EP1949943A4 (en) 2005-11-15 2008-11-26 Konami Digital Entertainment NETWORK GAME SYSTEM, GAMING MACHINE, GAME AUTOMATIC CONTROL PROCEDURE AND INFORMATION STORAGE MEDIUM
JP5196729B2 (ja) * 2006-04-11 2013-05-15 任天堂株式会社 通信ゲームシステム
WO2007119236A2 (en) * 2006-04-13 2007-10-25 Yosef Mizrachi Method and apparatus for providing gaming services and for handling video content
JP2007301270A (ja) * 2006-05-15 2007-11-22 Sony Computer Entertainment Inc ゲーム制御プログラム、ゲーム制御方法、ゲーム装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011234987A (ja) * 2010-05-12 2011-11-24 Konami Digital Entertainment Co Ltd ゲーム装置、ゲームシステム、ゲーム制御方法、ならびに、プログラム

Also Published As

Publication number Publication date
KR20100005228A (ko) 2010-01-14
CN101674867A (zh) 2010-03-17
KR101099422B1 (ko) 2011-12-27
JP2009136634A (ja) 2009-06-25
TWI375585B (en) 2012-11-01
WO2009075239A1 (ja) 2009-06-18
CN101674867B (zh) 2013-01-09
US8475278B2 (en) 2013-07-02
US20120142422A1 (en) 2012-06-07
TW200940135A (en) 2009-10-01

Similar Documents

Publication Publication Date Title
JP4319233B2 (ja) 端末装置、ゲーム制御方法、ならびに、プログラム
JP3559024B2 (ja) ゲームプログラムおよびゲーム装置
JP5238467B2 (ja) ゲーム装置、ゲーム装置の制御方法、ならびに、プログラム
JP5898169B2 (ja) ゲーム装置、ゲームシステム及びプログラム
WO2007074569A1 (ja) ゲーム装置、ゲーム装置の制御方法及び情報記憶媒体
JP4150410B2 (ja) ゲームシステム、ゲーム制御方法、ならびに、プログラム
WO1999038590A1 (fr) Systeme de jeu
JP2021098111A (ja) プログラム、ゲームシステム及びゲーム管理サーバ
JP2015131041A (ja) ゲーム装置、ゲームシステム及びプログラム
JP2013135835A (ja) 選択装置、選択システム、選択装置の制御方法、ならびに、プログラム
JP4856157B2 (ja) ゲーム装置、ゲーム装置の制御方法、ならびに、プログラム
US20110039619A1 (en) Virtual space display device, viewpoint setting method, and information recording medium
JP2001187266A (ja) ゲームシステム及び情報記憶媒体
JP5010622B2 (ja) ゲーム装置、ゲーム情報表示方法及びゲームプログラム
JP4320352B2 (ja) ゲーム装置、ゲーム制御プログラム、およびこれを記録した記録媒体
JP2012040055A (ja) ゲームシステム、ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP2011045649A (ja) ゲーム装置、ゲームシステム、動作方法、ならびに、プログラム
JP2011234987A (ja) ゲーム装置、ゲームシステム、ゲーム制御方法、ならびに、プログラム
JP7058450B1 (ja) コンピュータプログラム、それに用いるゲームシステム、及び制御方法
JP2013005906A (ja) ゲームシステム、ゲームシステムの制御方法、ならびに、プログラム
JP2014068726A (ja) ゲーム装置、ゲーム装置の制御方法、及びプログラム
JP6493459B2 (ja) ゲーム装置、ゲームシステム及びプログラム
JP5347007B2 (ja) ゲーム装置、ゲーム装置の制御方法、ならびに、プログラム
JP2002320777A (ja) ゲーム装置、ゲーム制御方法およびその記録媒体ならびにコンピュータプログラム
JP2001162047A (ja) スポーツゲーム装置及びスポーツゲームの制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090409

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: 20090526

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090527

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120605

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4319233

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130605

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130605

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140605

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250