JP4892765B2 - ネットワークゲームシステム及びプログラム - Google Patents

ネットワークゲームシステム及びプログラム Download PDF

Info

Publication number
JP4892765B2
JP4892765B2 JP2008216107A JP2008216107A JP4892765B2 JP 4892765 B2 JP4892765 B2 JP 4892765B2 JP 2008216107 A JP2008216107 A JP 2008216107A JP 2008216107 A JP2008216107 A JP 2008216107A JP 4892765 B2 JP4892765 B2 JP 4892765B2
Authority
JP
Japan
Prior art keywords
information
situation
situation information
interference
redistribution
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.)
Expired - Fee Related
Application number
JP2008216107A
Other languages
English (en)
Other versions
JP2010104389A (ja
Inventor
啓蔵 渡邉
Original Assignee
啓蔵 渡邉
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 啓蔵 渡邉 filed Critical 啓蔵 渡邉
Priority to JP2008216107A priority Critical patent/JP4892765B2/ja
Publication of JP2010104389A publication Critical patent/JP2010104389A/ja
Application granted granted Critical
Publication of JP4892765B2 publication Critical patent/JP4892765B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、見かけ上遅延が発生せず、送受信する情報量が少なく、不正行為を防止できるネットワークゲームに関するものである。
[特許請求の範囲及び明細書において使用する主要な用語]
[ゲーム機]
ネットワークゲームにおける接続された全体の装置を指すのではなく、それぞれのプレイヤが操作する個々の装置を指す。文献によってはクライアント、端末等とも記述される。
[オブジェクト]
多くのコンピュータゲームにおいては、画面上に複数の物体が表示され、それらが衝突等の相互作用をすることによってゲームが進行する。これらの物体のひとつひとつをオブジェクトと記述する。これらの物体のうちプレイヤが操作するものや、コンピュータが複雑なアルゴリズムに基づいて操作するものはキャラクタ等と呼ばれることもあるが、これらもオブジェクトに含める。プレイヤオブジェクトと記述したものはプレイヤが操作する物体であり、プレイヤキャラクタと呼ばれるものもこれに含める。ノンプレイヤオブジェクトと記述したものはコンピュータが操作する物体であり、ノンプレイヤキャラクタと呼ばれるものもこれに含める。
[オブジェクト情報]
上記のオブジェクトの状態を表す情報であり、必要に応じて空間座標、衝突判定領域、速度、加速度、重さ、硬さ、体力又は経験値等の情報を含む。プレイヤが操作するゲーム機上ではオブジェクトをディスプレイに表示するため、オブジェクト情報に画像情報が含まれていたり、関連付けられたりしている。サーバ上では画像情報が必要でないことが多いが、画像情報を含まない、もしくは関連付けられていないものもオブジェクト情報と記述する。
遠隔地にある複数のコンピュータ間で情報をやりとりし、複数のプレイヤが対戦プレイや協力プレイを楽しむネットワークゲームが近年急速に普及しつつある。このようなネットワークゲームは囲碁や将棋のような、複数のプレイヤが順番に操作するターン制のゲームと、シューティングゲームのような、全てのプレイヤが常時操作を続けるアクションゲームに分けられる。
後者のようなアクションゲームでは、ゲームに登場するオブジェクトが、プレイヤの操作に即時応答する即応性が、プレイヤにとっての快適な操作を可能にする。ところが、ネットワークゲームにおいては長距離の伝送やルーティング等を原因として通信遅延が発生するため、上記の即応性が損なわれる。
通信遅延はネットワーク環境を整備することによって小さくすることが可能であるが、国外との通信や移動体通信を伴う通信を含む環境ではプレイヤが完全に感じなくなるまで通信遅延を減らすことは難しい。
見かけ上遅延が発生しないように工夫されたネットワークゲームシステムがいくつか提案されているが、その多くがオブジェクトの情報、もしくはゲーム内で発生したイベントの情報をやりとりするものであり、通信回線に負担を強いるものとなっている。また、このようなシステムでは悪意を持ったプレイヤが送信情報を改竄することにより、不正行為を行うことが可能になってしまう。
特許文献1で開示されたシステムでは、各クライアント端末で独立に事象をシミュレートして、発生したイベントのイベント情報を送受信し、各クライアント端末間で発生した齟齬を、モデルの状態を連続的に変化させることにより解消し見かけ上の遅延を解消している。
特許文献2で開示されたシステムでは、第1端末装置においてイベントを開始するための操作が行われた時に、第1端末装置で一連のイベントを開始するとともに第2端末装置にイベント情報を送信し、第2端末装置ではそのイベント情報が到着してから一連のイベントを開始することで見かけ上の遅延を発生させないようにしている。
特許文献3で開示されたシステムでは、各クライアント機器に、管理するキャラクタを、衝突の可能性が高いグループ毎にまとめて割り振ることにより処理を分散させており、結果として見かけ上の遅延を少なくすることに成功している。
非特許文献1では、その仕組みは開示されていないものの、見かけ上の遅延がない、ラケットスポーツを模したネットワークゲームが紹介されている。
特開2003−6127号公報 特開2006−263069号公報 特開2007−98063号公報 "Battle Ball Brings Online Play to a Simple Classic,"retrieved from the Internet: URL: http://openpr.com/pdf/33832/Battle-Ball-Brings-Online-Play-to-a-Simple-Classic.pdf
特許文献1で開示されたシステムでは、あるクライアント端末上で発生したイベントのイベント情報を他のクライアントに送信するため、悪意を持ったプレイヤが上記のイベント情報の内容や送信するタイミングを改竄する不正行為を行うことによりゲームを有利に進めることが可能となってしまう。
特許文献2で開示されたシステムでは、第1端末装置と第2端末装置にまたがるイベントそのものが両方の端末装置における操作を前提としたものであり、複数のイベントを多重に発生させ進行させることはできない。
特許文献3で開示されたシステムでは、あるクライアント機器の管理を外れたキャラクタを他のクライアント機器の管理下に置くためにキャラクタ情報をやりとりしなければならず、送受信する情報量が多くなる欠点がある。
非特許文献1に記載されたゲームの仕組みは開示されていないため予想するしかないが、文献中に「ボールの飛行中に遅延を隠す」という記述があるため、恐らく算出されたボールの座標に依存して情報の伝達を遅らせ、見かけ上の遅延が生じないようにしているものと考えられる。このような方法ではプレイヤが操作するオブジェクトの移動範囲に制限が生じ、行うゲームのジャンルも限られてくる。
従来の、遅延が生じる環境下のネットワークゲームでは、接続されたそれぞれのゲーム機上でオブジェクトを他のゲーム機の応答を待たずに動かし、プレイヤの操作に対する即応性を保障している。
しかし、各ゲーム機上で独自にオブジェクトを動かしてしまうと、異なるゲーム機間でオブジェクトの座標や状態に齟齬が生じるため、定期的に補正を行わなくてはならない。この補正の際に、一旦プレイヤに提示されたオブジェクトの動きやイベントが取り消されることもあるため、プレイヤが論理的に解法を詰めていくようなパズル性を伴うゲームを行うのには難がある。
また、ゲーム機間の通信遅延にはゆらぎがあり、これがオブジェクトの動作を不自然にする。例えばあるプレイヤが操作するゲーム機上に表示された、他のプレイヤが操作するオブジェクトは、移動中に遅延の大きな状態から急に遅延が小さくなると、瞬間移動したように見えてしまう。
上記の補正を行うためには接続されたゲーム機間でオブジェクトの情報やイベントの情報をやり取りしなければならない。このため送受信する情報量が多くなり、容量の大きい回線が必要となってしまう。また、必然的にゲームのシステムやプログラムも複雑になる。
また、悪意あるプレイヤがゲームプログラムを改変し、補正の内容を自分に有利に働くよう書き換えることも考えられる。送信情報の書き換えは処理を各ゲーム機に分散するシステムでも可能であり、発生したイベントのうち、自身に不利なものは抹消することができる。
サーバによりネットワークゲームの成績を蓄積するシステムでは、上述の様にゲームの進行を改竄したりすることで、本来と異なる成績が蓄積されてしまう。各ゲーム機上で勝敗を決定し、サーバに報告する仕組みの場合は、勝敗そのものを改竄することが可能になる。
ネットワークゲームにおいてはある程度の遅延の発生が許容されていることを逆手に取り、悪意あるプレイヤが情報の流れを制限することも起こりうる。つまり、自身が操作するゲーム機から送信される情報はできるだけ遅らせ、他から送信される情報は早く取り込むことにより有利にゲームを進めることが可能になる。
上述の課題を解決するために、本発明は以下の構成を採用する。
[第1の発明]
通信網に接続された第1プレイヤが操作する第1ゲーム機と前記通信網に接続された第2プレイヤが操作する第2ゲーム機とを含むゲームシステムであって、
前記第1ゲーム機は、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第1状況情報を記憶し1以上の前記第1状況情報を同時に保持する第1状況情報記憶手段と、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第2状況情報を記憶し1以上の前記第2状況情報を同時に保持する第2状況情報記憶手段と、
ゲーム開始前に0番目の前記第1状況情報を設定し前記第1状況情報記憶手段に記憶させる第1設定手段と、
ゲーム開始前に0番目の前記第2状況情報を設定し前記第2状況情報記憶手段に記憶させる第2設定手段と、
第1干渉情報を記憶し複数の前記第1干渉情報を同時に保持可能な第1干渉情報記憶手段と、
第2干渉情報を記憶し複数の前記第2干渉情報を同時に保持可能な第2干渉情報記憶手段とを備え、
前記第1状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
前記第2状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
前記第2ゲーム機は、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第3状況情報を記憶し1以上の前記第3状況情報を同時に保持する第3状況情報記憶手段と、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第4状況情報を記憶し1以上の前記第4状況情報を同時に保持する第4状況情報記憶手段と、
ゲーム開始前に0番目の前記第3状況情報を設定し前記第3状況情報記憶手段に記憶させる第3設定手段と、
ゲーム開始前に0番目の前記第4状況情報を設定し前記第4状況情報記憶手段に記憶させる第4設定手段と、
第3干渉情報を記憶し複数の前記第3干渉情報を同時に保持可能な第3干渉情報記憶手段と、
第4干渉情報を記憶し複数の前記第4干渉情報を同時に保持可能な第4干渉情報記憶手段とを備え、
前記第3状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
前記第4状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
0番目の前記第1状況情報と0番目の前記第3状況情報とは同一の情報であり、
0番目の前記第2状況情報と0番目の前記第4状況情報とは同一の情報であり、
前記第1ゲーム機はさらに、
前記第1プレイヤから第1操作情報を受け付ける第1受付手段と、
前記第1受付手段によって受け付けられた前記第1操作情報を前記第2ゲーム機に送信する第1送信手段とを備え、
前記第2ゲーム機はさらに、
前記第2プレイヤから第2操作情報を受け付ける第2受付手段と、
前記第2受付手段によって受け付けられた前記第2操作情報を前記第1ゲーム機に送信する第2送信手段とを備え、
前記第1ゲーム機はさらに、
前記第2送信手段によって送信された前記第2操作情報を受信する第1受信手段と、
前記第1受信手段によって受信された前記第2操作情報を記憶する第1操作情報記憶手段とを備え、
前記第2ゲーム機はさらに、
前記第1送信手段によって送信された前記第1操作情報を受信する第2受信手段と、
前記第2受信手段によって受信された前記第1操作情報を記憶する第2操作情報記憶手段とを備え、
前記第1ゲーム機はさらに、
複数の第1更新を行う第1更新手段と、
複数の第2更新を行う第2更新手段と、
複数の第1配分を行う第1配分手段と、
複数の第2配分を行う第2配分手段と、
複数の第1再配分を行う第1再配分手段と、
複数の第2再配分を行う第2再配分手段とを備え、
前記第2ゲーム機はさらに、
複数の第3更新を行う第3更新手段と、
複数の第4更新を行う第4更新手段と、
複数の第3配分を行う第3配分手段と、
複数の第4配分を行う第4配分手段と、
複数の第3再配分を行う第3再配分手段と、
複数の第4再配分を行う第4再配分手段とを備え、
nを1以上の整数変数とし、
Dを1以上の整数定数とし、
EをD以上の整数定数とし、
前記第1更新手段は、
前記第1状況情報記憶手段によって記憶された(n−1)番目の前記第1状況情報と前記第1受付手段によって受け付けられた(n)番目の前記第1操作情報とを取り込み、
該(n−1)番目の前記第1状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第1状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第1状況情報を生成し、
該(n−1)番目の前記第1状況情報又は該(n)番目の前記第1操作情報又は該(n)番目の前記第1状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
発生した該イベントのそれぞれについて1以上のオブジェクト情報を生成し、
該生成した全てのオブジェクト情報の集合を(n+E)番目の前記第1干渉情報とし、
該(n)番目の前記第1状況情報と該(n+E)番目の前記第1干渉情報とを出力する(n)番目の前記第1更新を行い、
前記第2更新手段は、
前記第2状況情報記憶手段によって記憶された(n−1)番目の前記第2状況情報と前記第1操作情報記憶手段によって記憶された(n)番目の前記第2操作情報とを取り込み、
該(n−1)番目の前記第2状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第2状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第2状況情報を生成し、
該(n−1)番目の前記第2状況情報又は該(n)番目の前記第2操作情報又は該(n)番目の前記第2状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
発生した該イベントのそれぞれについて1以上のオブジェクト情報を生成し、
該生成した全てのオブジェクト情報の集合を(n+E)番目の前記第2干渉情報とし、
該(n)番目の前記第2状況情報と該(n+E)番目の前記第2干渉情報とを出力する(n)番目の前記第2更新を行い、
前記第3更新手段は、
前記第3状況情報記憶手段によって記憶された(n−1)番目の前記第3状況情報と前記第2操作情報記憶手段によって記憶された(n)番目の前記第1操作情報とを取り込み、
該(n−1)番目の前記第3状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第3状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第3状況情報を生成し、
該(n−1)番目の前記第3状況情報又は該(n)番目の前記第1操作情報又は該(n)番目の前記第3状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
発生した該イベントのそれぞれについて1以上のオブジェクト情報を生成し、
該生成した全てのオブジェクト情報の集合を(n+E)番目の前記第3干渉情報とし、
該(n)番目の前記第3状況情報と該(n+E)番目の前記第3干渉情報とを出力する(n)番目の前記第3更新を行い、
前記第4更新手段は、
前記第4状況情報記憶手段によって記憶された(n−1)番目の前記第4状況情報と前記第2受付手段によって受け付けられた(n)番目の前記第2操作情報とを取り込み、
該(n−1)番目の前記第4状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第4状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第4状況情報を生成し、
該(n−1)番目の前記第4状況情報又は該(n)番目の前記第2操作情報又は該(n)番目の前記第4状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
発生した該イベントのそれぞれについて1以上のオブジェクト情報を生成し、
該生成した全てのオブジェクト情報の集合を(n+E)番目の前記第4干渉情報とし、
該(n)番目の前記第4状況情報と該(n+E)番目の前記第4干渉情報とを出力する(n)番目の前記第4更新を行い、
前記第1配分手段は、
前記第1更新手段によって出力された(n)番目の前記第1状況情報を前記第1状況情報記憶手段に記憶させ、
前記第1更新手段によって出力された(n+E)番目の前記第1干渉情報を前記第1干渉情報記憶手段に記憶させる(n)番目の前記第1配分を行い、
前記第2配分手段は、
前記第2更新手段によって出力された(n)番目の前記第2状況情報を前記第2状況情報記憶手段に記憶させ、
前記第2更新手段によって出力された(n+E)番目の前記第2干渉情報を前記第2干渉情報記憶手段に記憶させる(n)番目の前記第2配分を行い、
前記第3配分手段は、
前記第3更新手段によって出力された(n)番目の前記第3状況情報を前記第3状況情報記憶手段に記憶させ、
前記第3更新手段によって出力された(n+E)番目の前記第3干渉情報を前記第3干渉情報記憶手段に記憶させる(n)番目の前記第3配分を行い、
前記第4配分手段は、
前記第4更新手段によって出力された(n)番目の前記第4状況情報を前記第4状況情報記憶手段に記憶させ、
前記第4更新手段によって出力された(n+E)番目の前記第4干渉情報を前記第4干渉情報記憶手段に記憶させる(n)番目の前記第4配分を行い、
前記第1再配分手段は、
前記第2干渉情報記憶手段によって記憶された(n)番目の前記第2干渉情報に含まれる全てのオブジェクト情報を前記第1状況情報記憶手段によって記憶された(n)番目の前記第1状況情報に追加して記憶させる(n)番目の前記第1再配分を行い、
前記第2再配分手段は、
前記第1干渉情報記憶手段によって記憶された(n)番目の前記第1干渉情報に含まれる全てのオブジェクト情報を前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に追加して記憶させる(n)番目の前記第2再配分を行い、
前記第3再配分手段は、
前記第4干渉情報記憶手段によって記憶された(n)番目の前記第4干渉情報に含まれる全てのオブジェクト情報を前記第3状況情報記憶手段によって記憶された(n)番目の前記第3状況情報に追加して記憶させる(n)番目の前記第3再配分を行い、
前記第4再配分手段は、
前記第3干渉情報記憶手段によって記憶された(n)番目の前記第3干渉情報に含まれる全てのオブジェクト情報を前記第4状況情報記憶手段によって記憶された(n)番目の前記第4状況情報に追加して記憶させる(n)番目の前記第4再配分を行い、
前記第1受付手段は、
前記第1受付手段が(n)番目の前記第1操作情報を受け付けた時よりも後に(n+1)番目の前記第1操作情報を受け付け、
前記第2受付手段は、
前記第2受付手段が(n)番目の前記第2操作情報を受け付けた時よりも後に(n+1)番目の前記第2操作情報を受け付け、
前記第1更新手段は、
前記第1受付手段が(n)番目の前記第1操作情報を受け付けた時よりも後に(n)番目の前記第1更新を行い、
前記第1再配分手段が(n)番目の前記第1再配分を行った時よりも後に(n+1)番目の前記第1更新を行い、
前記第1配分手段は、
前記第1更新手段が(n)番目の前記第1更新を行った時よりも後に(n)番目の前記第1配分を行い、
前記第1再配分手段は、
前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n)番目の前記第1再配分を行い、
前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n+D)番目の前記第1再配分を行い、
前記第2更新手段は、
前記第1操作情報記憶手段が(n)番目の前記第2操作情報を記憶した時よりも後に(n)番目の前記第2更新を行い、
前記第2再配分手段が(n)番目の前記第2再配分を行った時よりも後に(n+1)番目の前記第2更新を行い、
前記第2配分手段は、
前記第2更新手段が(n)番目の前記第2更新を行った時よりも後に(n)番目の前記第2配分を行い、
前記第2再配分手段は、
前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n)番目の前記第2再配分を行い、
前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n+D)番目の前記第2再配分を行い、
前記第3更新手段は、
前記第2操作情報記憶手段が(n)番目の前記第1操作情報を記憶した時よりも後に(n)番目の前記第3更新を行い、
前記第3再配分手段が(n)番目の前記第3再配分を行った時よりも後に(n+1)番目の前記第3更新を行い、
前記第3配分手段は、
前記第3更新手段が(n)番目の前記第3更新を行った時よりも後に(n)番目の前記第3配分を行い、
前記第3再配分手段は、
前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n)番目の前記第3再配分を行い、
前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n+D)番目の前記第3再配分を行い、
前記第4更新手段は、
前記第2受付手段が(n)番目の前記第2操作情報を受け付けた時よりも後に(n)番目の前記第4更新を行い、
前記第4再配分手段が(n)番目の前記第4再配分を行った時よりも後に(n+1)番目の前記第4更新を行い、
前記第4配分手段は、
前記第4更新手段が(n)番目の前記第4更新を行った時よりも後に(n)番目の前記第4配分を行い、
前記第4再配分手段は、
前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n)番目の前記第4再配分を行い、
前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n+D)番目の前記第4再配分を行い、
前記第1更新手段と前記第3更新手段とは、
同一の情報を取り込んだ場合に同一の情報を出力し、
前記第2更新手段と前記第4更新手段とは、
同一の情報を取り込んだ場合に同一の情報を出力し、
前記第1ゲーム機はさらに、
前記第1状況情報記憶手段によって記憶された(n+D)番目の前記第1状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に表示する第1表示手段を備え、
前記第2ゲーム機はさらに、
前記第3状況情報記憶手段によって記憶された(n)番目の前記第3状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第4状況情報記憶手段によって記憶された(n+D)番目の前記第4状況情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に表示する第2表示手段を備えることを特徴とするゲームシステム。
[第2の発明]
通信網に接続された第1プレイヤが操作する第1ゲーム機と前記通信網に接続された第2プレイヤが操作する第2ゲーム機とを含むゲームシステムであって、
前記第1ゲーム機は、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第1状況情報を記憶し1以上の前記第1状況情報を同時に保持する第1状況情報記憶手段と、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第2状況情報を記憶し1以上の前記第2状況情報を同時に保持する第2状況情報記憶手段と、
ゲーム開始前に0番目の前記第1状況情報を設定し前記第1状況情報記憶手段に記憶させる第1設定手段と、
ゲーム開始前に0番目の前記第2状況情報を設定し前記第2状況情報記憶手段に記憶させる第2設定手段と、
第1干渉情報を記憶し複数の前記第1干渉情報を同時に保持可能な第1干渉情報記憶手段と、
第2干渉情報を記憶し複数の前記第2干渉情報を同時に保持可能な第2干渉情報記憶手段とを備え、
前記第1状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
前記第2状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
前記第2ゲーム機は、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第3状況情報を記憶し1以上の前記第3状況情報を同時に保持する第3状況情報記憶手段と、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第4状況情報を記憶し1以上の前記第4状況情報を同時に保持する第4状況情報記憶手段と、
ゲーム開始前に0番目の前記第3状況情報を設定し前記第3状況情報記憶手段に記憶させる第3設定手段と、
ゲーム開始前に0番目の前記第4状況情報を設定し前記第4状況情報記憶手段に記憶させる第4設定手段と、
第3干渉情報を記憶し複数の前記第3干渉情報を同時に保持可能な第3干渉情報記憶手段と、
第4干渉情報を記憶し複数の前記第4干渉情報を同時に保持可能な第4干渉情報記憶手段とを備え、
前記第3状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
前記第4状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
0番目の前記第1状況情報と0番目の前記第3状況情報とは同一の情報であり、
0番目の前記第2状況情報と0番目の前記第4状況情報とは同一の情報であり、
前記第1ゲーム機はさらに、
前記第1プレイヤから第1操作情報を受け付ける第1受付手段と、
前記第1受付手段によって受け付けられた前記第1操作情報を前記第2ゲーム機に送信する第1送信手段とを備え、
前記第2ゲーム機はさらに、
前記第2プレイヤから第2操作情報を受け付ける第2受付手段と、
前記第2受付手段によって受け付けられた前記第2操作情報を前記第1ゲーム機に送信する第2送信手段とを備え、
前記第1ゲーム機はさらに、
前記第2送信手段によって送信された前記第2操作情報を受信する第1受信手段と、
前記第1受信手段によって受信された前記第2操作情報を記憶する第1操作情報記憶手段とを備え、
前記第2ゲーム機はさらに、
前記第1送信手段によって送信された前記第1操作情報を受信する第2受信手段と、
前記第2受信手段によって受信された前記第1操作情報を記憶する第2操作情報記憶手段とを備え、
前記第1ゲーム機はさらに、
複数の第1更新を行う第1更新手段と、
複数の第2更新を行う第2更新手段と、
複数の第1配分を行う第1配分手段と、
複数の第2配分を行う第2配分手段と、
複数の第1再配分を行う第1再配分手段と、
複数の第2再配分を行う第2再配分手段とを備え、
前記第2ゲーム機はさらに、
複数の第3更新を行う第3更新手段と、
複数の第4更新を行う第4更新手段と、
複数の第3配分を行う第3配分手段と、
複数の第4配分を行う第4配分手段と、
複数の第3再配分を行う第3再配分手段と、
複数の第4再配分を行う第4再配分手段とを備え、
nを1以上の整数変数とし、
Dを1以上の整数定数とし、
前記第1更新手段は、
前記第1状況情報記憶手段によって記憶された(n−1)番目の前記第1状況情報と前記第1受付手段によって受け付けられた(n)番目の前記第1操作情報とを取り込み、
該(n−1)番目の前記第1状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第1状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第1状況情報を生成し、
該(n−1)番目の前記第1状況情報又は該(n)番目の前記第1操作情報又は該(n)番目の前記第1状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
発生した該イベントのそれぞれについて1組以上のオブジェクト情報とそれに関連付けられたD以上の値の整数(後にHで表す)との組を生成し、
該生成した全ての組の集合を(n)番目の第1干渉オブジェクト情報とし、
該(n)番目の前記第1状況情報と該(n)番目の前記第1干渉オブジェクト情報とを出力する(n)番目の前記第1更新を行い、
前記第2更新手段は、
前記第2状況情報記憶手段によって記憶された(n−1)番目の前記第2状況情報と前記第1操作情報記憶手段によって記憶された(n)番目の前記第2操作情報とを取り込み、
該(n−1)番目の前記第2状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第2状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第2状況情報を生成し、
該(n−1)番目の前記第2状況情報又は該(n)番目の前記第2操作情報又は該(n)番目の前記第2状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
発生した該イベントのそれぞれについて1組以上のオブジェクト情報とそれに関連付けられたD以上の値の整数(後にIで表す)との組を生成し、
該生成した全ての組の集合を(n)番目の第2干渉オブジェクト情報とし、
該(n)番目の前記第2状況情報と該(n)番目の前記第2干渉オブジェクト情報とを出力する(n)番目の前記第2更新を行い、
前記第3更新手段は、
前記第3状況情報記憶手段によって記憶された(n−1)番目の前記第3状況情報と前記第2操作情報記憶手段によって記憶された(n)番目の前記第1操作情報とを取り込み、
該(n−1)番目の前記第3状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第3状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第3状況情報を生成し、
該(n−1)番目の前記第3状況情報又は該(n)番目の前記第1操作情報又は該(n)番目の前記第3状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
発生した該イベントのそれぞれについて1組以上のオブジェクト情報とそれに関連付けられたD以上の値の整数(後にJで表す)との組を生成し、
該生成した全ての組の集合を(n)番目の第3干渉オブジェクト情報とし、
該(n)番目の前記第3状況情報と該(n)番目の前記第3干渉オブジェクト情報とを出力する(n)番目の前記第3更新を行い、
前記第4更新手段は、
前記第4状況情報記憶手段によって記憶された(n−1)番目の前記第4状況情報と前記第2受付手段によって受け付けられた(n)番目の前記第2操作情報とを取り込み、
該(n−1)番目の前記第4状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第4状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第4状況情報を生成し、
該(n−1)番目の前記第4状況情報又は該(n)番目の前記第2操作情報又は該(n)番目の前記第4状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
発生した該イベントのそれぞれについて1組以上のオブジェクト情報とそれに関連付けられたD以上の値の整数(後にKで表す)との組を生成し、
該生成した全ての組の集合を(n)番目の第4干渉オブジェクト情報とし、
該(n)番目の前記第4状況情報と該(n)番目の前記第4干渉オブジェクト情報とを出力する(n)番目の前記第4更新を行い、
前記第1配分手段は、
前記第1更新手段によって出力された(n)番目の前記第1状況情報を前記第1状況情報記憶手段に記憶させ、
前記第1更新手段によって出力された(n)番目の前記第1干渉オブジェクト情報に含まれる全てのオブジェクト情報をそれぞれ、該オブジェクト情報に関連付けられた整数をHとした場合、前記第1干渉情報記憶手段によって記憶された(n+H)番目の前記第1干渉情報に追加して記憶させる(n)番目の前記第1配分を行い、
前記第2配分手段は、
前記第2更新手段によって出力された(n)番目の前記第2状況情報を前記第2状況情報記憶手段に記憶させ、
前記第2更新手段によって出力された(n)番目の前記第2干渉オブジェクト情報に含まれる全てのオブジェクト情報をそれぞれ、該オブジェクト情報に関連付けられた整数をIとした場合、前記第2干渉情報記憶手段によって記憶された(n+I)番目の前記第2干渉情報に追加して記憶させる(n)番目の前記第2配分を行い、
前記第3配分手段は、
前記第3更新手段によって出力された(n)番目の前記第3状況情報を前記第3状況情報記憶手段に記憶させ、
前記第3更新手段によって出力された(n)番目の前記第3干渉オブジェクト情報に含まれる全てのオブジェクト情報をそれぞれ、該オブジェクト情報に関連付けられた整数をJとした場合、前記第3干渉情報記憶手段によって記憶された(n+J)番目の前記第3干渉情報に追加して記憶させる(n)番目の前記第3配分を行い、
前記第4配分手段は、
前記第4更新手段によって出力された(n)番目の前記第4状況情報を前記第4状況情報記憶手段に記憶させ、
前記第4更新手段によって出力された(n)番目の前記第4干渉オブジェクト情報に含まれる全てのオブジェクト情報をそれぞれ、該オブジェクト情報に関連付けられた整数をKとした場合、前記第4干渉情報記憶手段によって記憶された(n+K)番目の前記第4干渉情報に追加して記憶させる(n)番目の前記第4配分を行い、
前記第1再配分手段は、
前記第2干渉情報記憶手段によって記憶された(n)番目の前記第2干渉情報に含まれる全てのオブジェクト情報を前記第1状況情報記憶手段によって記憶された(n)番目の前記第1状況情報に追加して記憶させる(n)番目の前記第1再配分を行い、
前記第2再配分手段は、
前記第1干渉情報記憶手段によって記憶された(n)番目の前記第1干渉情報に含まれる全てのオブジェクト情報を前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に追加して記憶させる(n)番目の前記第2再配分を行い、
前記第3再配分手段は、
前記第4干渉情報記憶手段によって記憶された(n)番目の前記第4干渉情報に含まれる全てのオブジェクト情報を前記第3状況情報記憶手段によって記憶された(n)番目の前記第3状況情報に追加して記憶させる(n)番目の前記第3再配分を行い、
前記第4再配分手段は、
前記第3干渉情報記憶手段によって記憶された(n)番目の前記第3干渉情報に含まれる全てのオブジェクト情報を前記第4状況情報記憶手段によって記憶された(n)番目の前記第4状況情報に追加して記憶させる(n)番目の前記第4再配分を行い、
前記第1受付手段は、
前記第1受付手段が(n)番目の前記第1操作情報を受け付けた時よりも後に(n+1)番目の前記第1操作情報を受け付け、
前記第2受付手段は、
前記第2受付手段が(n)番目の前記第2操作情報を受け付けた時よりも後に(n+1)番目の前記第2操作情報を受け付け、
前記第1更新手段は、
前記第1受付手段が(n)番目の前記第1操作情報を受け付けた時よりも後に(n)番目の前記第1更新を行い、
前記第1再配分手段が(n)番目の前記第1再配分を行った時よりも後に(n+1)番目の前記第1更新を行い、
前記第1配分手段は、
前記第1更新手段が(n)番目の前記第1更新を行った時よりも後に(n)番目の前記第1配分を行い、
前記第1再配分手段は、
前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n)番目の前記第1再配分を行い、
前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n+D)番目の前記第1再配分を行い、
前記第2更新手段は、
前記第1操作情報記憶手段が(n)番目の前記第2操作情報を記憶した時よりも後に(n)番目の前記第2更新を行い、
前記第2再配分手段が(n)番目の前記第2再配分を行った時よりも後に(n+1)番目の前記第2更新を行い、
前記第2配分手段は、
前記第2更新手段が(n)番目の前記第2更新を行った時よりも後に(n)番目の前記第2配分を行い、
前記第2再配分手段は、
前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n)番目の前記第2再配分を行い、
前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n+D)番目の前記第2再配分を行い、
前記第3更新手段は、
前記第2操作情報記憶手段が(n)番目の前記第1操作情報を記憶した時よりも後に(n)番目の前記第3更新を行い、
前記第3再配分手段が(n)番目の前記第3再配分を行った時よりも後に(n+1)番目の前記第3更新を行い、
前記第3配分手段は、
前記第3更新手段が(n)番目の前記第3更新を行った時よりも後に(n)番目の前記第3配分を行い、
前記第3再配分手段は、
前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n)番目の前記第3再配分を行い、
前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n+D)番目の前記第3再配分を行い、
前記第4更新手段は、
前記第2受付手段が(n)番目の前記第2操作情報を受け付けた時よりも後に(n)番目の前記第4更新を行い、
前記第4再配分手段が(n)番目の前記第4再配分を行った時よりも後に(n+1)番目の前記第4更新を行い、
前記第4配分手段は、
前記第4更新手段が(n)番目の前記第4更新を行った時よりも後に(n)番目の前記第4配分を行い、
前記第4再配分手段は、
前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n)番目の前記第4再配分を行い、
前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n+D)番目の前記第4再配分を行い、
前記第1更新手段と前記第3更新手段とは、
同一の情報を取り込んだ場合に同一の情報を出力し、
前記第2更新手段と前記第4更新手段とは、
同一の情報を取り込んだ場合に同一の情報を出力し、
前記第1ゲーム機はさらに、
前記第1状況情報記憶手段によって記憶された(n+D)番目の前記第1状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に表示する第1表示手段を備え、
前記第2ゲーム機はさらに、
前記第3状況情報記憶手段によって記憶された(n)番目の前記第3状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第4状況情報記憶手段によって記憶された(n+D)番目の前記第4状況情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に表示する第2表示手段を備えることを特徴とするゲームシステム。
[第3の発明]
通信網に接続された第1プレイヤが操作する第1ゲーム機と前記通信網に接続された第2プレイヤが操作する第2ゲーム機とを含むゲームシステムであって、
前記第1ゲーム機は、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第1状況情報を記憶し1以上の前記第1状況情報を同時に保持する第1状況情報記憶手段と、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第2状況情報を記憶し1以上の前記第2状況情報を同時に保持する第2状況情報記憶手段と、
ゲーム開始前に0番目の前記第1状況情報を設定し前記第1状況情報記憶手段に記憶させる第1設定手段と、
ゲーム開始前に0番目の前記第2状況情報を設定し前記第2状況情報記憶手段に記憶させる第2設定手段と、
第1干渉情報を記憶し複数の前記第1干渉情報を同時に保持可能な第1干渉情報記憶手段と、
第2干渉情報を記憶し複数の前記第2干渉情報を同時に保持可能な第2干渉情報記憶手段とを備え、
前記第1状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
前記第2状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
前記第2ゲーム機は、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第3状況情報を記憶し1以上の前記第3状況情報を同時に保持する第3状況情報記憶手段と、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第4状況情報を記憶し1以上の前記第4状況情報を同時に保持する第4状況情報記憶手段と、
ゲーム開始前に0番目の前記第3状況情報を設定し前記第3状況情報記憶手段に記憶させる第3設定手段と、
ゲーム開始前に0番目の前記第4状況情報を設定し前記第4状況情報記憶手段に記憶させる第4設定手段と、
第3干渉情報を記憶し複数の前記第3干渉情報を同時に保持可能な第3干渉情報記憶手段と、
第4干渉情報を記憶し複数の前記第4干渉情報を同時に保持可能な第4干渉情報記憶手段とを備え、
前記第3状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
前記第4状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
0番目の前記第1状況情報と0番目の前記第3状況情報とは同一の情報であり、
0番目の前記第2状況情報と0番目の前記第4状況情報とは同一の情報であり、
前記第1ゲーム機はさらに、
前記第1プレイヤから第1操作情報を受け付ける第1受付手段と、
前記第1受付手段によって受け付けられた前記第1操作情報を前記第2ゲーム機に送信する第1送信手段とを備え、
前記第2ゲーム機はさらに、
前記第2プレイヤから第2操作情報を受け付ける第2受付手段と、
前記第2受付手段によって受け付けられた前記第2操作情報を前記第1ゲーム機に送信する第2送信手段とを備え、
前記第1ゲーム機はさらに、
前記第2送信手段によって送信された前記第2操作情報を受信する第1受信手段と、
前記第1受信手段によって受信された前記第2操作情報を記憶する第1操作情報記憶手段とを備え、
前記第2ゲーム機はさらに、
前記第1送信手段によって送信された前記第1操作情報を受信する第2受信手段と、
前記第2受信手段によって受信された前記第1操作情報を記憶する第2操作情報記憶手段とを備え、
前記第1ゲーム機はさらに、
複数の第1更新を行う第1更新手段と、
複数の第2更新を行う第2更新手段と、
複数の第1配分を行う第1配分手段と、
複数の第2配分を行う第2配分手段と、
複数の第1展開を行う第1展開手段と、
複数の第2展開を行う第2展開手段と、
複数の第1再配分を行う第1再配分手段と、
複数の第2再配分を行う第2再配分手段とを備え、
前記第2ゲーム機はさらに、
複数の第3更新を行う第3更新手段と、
複数の第4更新を行う第4更新手段と、
複数の第3配分を行う第3配分手段と、
複数の第4配分を行う第4配分手段と、
複数の第3展開を行う第3展開手段と、
複数の第4展開を行う第4展開手段と、
複数の第3再配分を行う第3再配分手段と、
複数の第4再配分を行う第4再配分手段とを備え、
nを1以上の整数変数とし、
Dを1以上の整数定数とし、
前記第1更新手段は、
前記第1状況情報記憶手段によって記憶された(n−1)番目の前記第1状況情報と前記第1受付手段によって受け付けられた(n)番目の前記第1操作情報とを取り込み、
該(n−1)番目の前記第1状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第1状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第1状況情報を生成し、
該(n−1)番目の前記第1状況情報又は該(n)番目の前記第1操作情報又は該(n)番目の前記第1状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
発生した該イベントのそれぞれについて1組以上の、後にそれに基づいて1以上のオブジェクト情報が生成されるイベント情報とそれに関連付けられたD以上の値の整数(後にHで表す)との組を生成し、
該生成した全ての組の集合を(n)番目の第1干渉イベント情報とし、
該(n)番目の前記第1状況情報と該(n)番目の前記第1干渉イベント情報とを出力する(n)番目の前記第1更新を行い、
前記第2更新手段は、
前記第2状況情報記憶手段によって記憶された(n−1)番目の前記第2状況情報と前記第1操作情報記憶手段によって記憶された(n)番目の前記第2操作情報とを取り込み、
該(n−1)番目の前記第2状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第2状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第2状況情報を生成し、
該(n−1)番目の前記第2状況情報又は該(n)番目の前記第2操作情報又は該(n)番目の前記第2状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
発生した該イベントのそれぞれについて1組以上の、後にそれに基づいて1以上のオブジェクト情報が生成されるイベント情報とそれに関連付けられたD以上の値の整数(後にIで表す)との組を生成し、
該生成した全ての組の集合を(n)番目の第2干渉イベント情報とし、
該(n)番目の前記第2状況情報と該(n)番目の前記第2干渉イベント情報とを出力する(n)番目の前記第2更新を行い、
前記第3更新手段は、
前記第3状況情報記憶手段によって記憶された(n−1)番目の前記第3状況情報と前記第2操作情報記憶手段によって記憶された(n)番目の前記第1操作情報とを取り込み、
該(n−1)番目の前記第3状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第3状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第3状況情報を生成し、
該(n−1)番目の前記第3状況情報又は該(n)番目の前記第1操作情報又は該(n)番目の前記第3状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
発生した該イベントのそれぞれについて1組以上の、後にそれに基づいて1以上のオブジェクト情報が生成されるイベント情報とそれに関連付けられたD以上の値の整数(後にJで表す)との組を生成し、
該生成した全ての組の集合を(n)番目の第3干渉イベント情報とし、
該(n)番目の前記第3状況情報と該(n)番目の前記第3干渉イベント情報とを出力する(n)番目の前記第3更新を行い、
前記第4更新手段は、
前記第4状況情報記憶手段によって記憶された(n−1)番目の前記第4状況情報と前記第2受付手段によって受け付けられた(n)番目の前記第2操作情報とを取り込み、
該(n−1)番目の前記第4状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第4状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第4状況情報を生成し、
該(n−1)番目の前記第4状況情報又は該(n)番目の前記第2操作情報又は該(n)番目の前記第4状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
発生した該イベントのそれぞれについて1組以上の、後にそれに基づいて1以上のオブジェクト情報が生成されるイベント情報とそれに関連付けられたD以上の値の整数(後にKで表す)との組を生成し、
該生成した全ての組の集合を(n)番目の第4干渉イベント情報とし、
該(n)番目の前記第4状況情報と該(n)番目の前記第4干渉イベント情報とを出力する(n)番目の前記第4更新を行い、
前記第1配分手段は、
前記第1更新手段によって出力された(n)番目の前記第1状況情報を前記第1状況情報記憶手段に記憶させ、
前記第1更新手段によって出力された(n)番目の前記第1干渉イベント情報に含まれる全てのイベント情報をそれぞれ、該イベント情報に関連付けられた整数をHとした場合、前記第1干渉情報記憶手段によって記憶された(n+H)番目の前記第1干渉情報に追加して記憶させる(n)番目の前記第1配分を行い、
前記第2配分手段は、
前記第2更新手段によって出力された(n)番目の前記第2状況情報を前記第2状況情報記憶手段に記憶させ、
前記第2更新手段によって出力された(n)番目の前記第2干渉イベント情報に含まれる全てのイベント情報をそれぞれ、該イベント情報に関連付けられた整数をIとした場合、前記第2干渉情報記憶手段によって記憶された(n+I)番目の前記第2干渉情報に追加して記憶させる(n)番目の前記第2配分を行い、
前記第3配分手段は、
前記第3更新手段によって出力された(n)番目の前記第3状況情報を前記第3状況情報記憶手段に記憶させ、
前記第3更新手段によって出力された(n)番目の前記第3干渉イベント情報に含まれる全てのイベント情報をそれぞれ、該イベント情報に関連付けられた整数をJとした場合、前記第3干渉情報記憶手段によって記憶された(n+J)番目の前記第3干渉情報に追加して記憶させる(n)番目の前記第3配分を行い、
前記第4配分手段は、
前記第4更新手段によって出力された(n)番目の前記第4状況情報を前記第4状況情報記憶手段に記憶させ、
前記第4更新手段によって出力された(n)番目の前記第4干渉イベント情報に含まれる全てのイベント情報をそれぞれ、該イベント情報に関連付けられた整数をKとした場合、前記第4干渉情報記憶手段によって記憶された(n+K)番目の前記第4干渉情報に追加して記憶させる(n)番目の前記第4配分を行い、
前記第1展開手段は、
前記第2干渉情報記憶手段によって記憶された(n)番目の前記第2干渉情報を取り込み、
該(n)番目の前記第2干渉情報に含まれる全てのイベント情報のそれぞれについて該イベント情報に基づいて1以上のオブジェクト情報を生成し、
該生成した全てのオブジェクト情報の集合を(n)番目の第1干渉オブジェクト情報とし、
該(n)番目の前記第1干渉オブジェクト情報を出力する(n)番目の前記第1展開を行い、
前記第2展開手段は、
前記第1干渉情報記憶手段によって記憶された(n)番目の前記第1干渉情報を取り込み、
該(n)番目の前記第1干渉情報に含まれる全てのイベント情報のそれぞれについて該イベント情報に基づいて1以上のオブジェクト情報を生成し、
該生成した全てのオブジェクト情報の集合を(n)番目の第2干渉オブジェクト情報とし、
該(n)番目の前記第2干渉オブジェクト情報を出力する(n)番目の前記第2展開を行い、
前記第3展開手段は、
前記第4干渉情報記憶手段によって記憶された(n)番目の前記第4干渉情報を取り込み、
該(n)番目の前記第4干渉情報に含まれる全てのイベント情報のそれぞれについて該イベント情報に基づいて1以上のオブジェクト情報を生成し、
該生成した全てのオブジェクト情報の集合を(n)番目の第3干渉オブジェクト情報とし、
該(n)番目の前記第3干渉オブジェクト情報を出力する(n)番目の前記第3展開を行い、
前記第4展開手段は、
前記第3干渉情報記憶手段によって記憶された(n)番目の前記第3干渉情報を取り込み、
該(n)番目の前記第3干渉情報に含まれる全てのイベント情報のそれぞれについて該イベント情報に基づいて1以上のオブジェクト情報を生成し、
該生成した全てのオブジェクト情報の集合を(n)番目の第4干渉オブジェクト情報とし、
該(n)番目の前記第4干渉オブジェクト情報を出力する(n)番目の前記第4展開を行い、
前記第1再配分手段は、
前記第1展開手段によって出力された(n)番目の前記第1干渉オブジェクト情報に含まれる全てのオブジェクト情報を前記第1状況情報記憶手段によって記憶された(n)番目の前記第1状況情報に追加して記憶させる(n)番目の前記第1再配分を行い、
前記第2再配分手段は、
前記第2展開手段によって出力された(n)番目の前記第2干渉オブジェクト情報に含まれる全てのオブジェクト情報を前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に追加して記憶させる(n)番目の前記第2再配分を行い、
前記第3再配分手段は、
前記第3展開手段によって出力された(n)番目の前記第3干渉オブジェクト情報に含まれる全てのオブジェクト情報を前記第3状況情報記憶手段によって記憶された(n)番目の前記第3状況情報に追加して記憶させる(n)番目の前記第3再配分を行い、
前記第4再配分手段は、
前記第4展開手段によって出力された(n)番目の前記第4干渉オブジェクト情報に含まれる全てのオブジェクト情報を前記第4状況情報記憶手段によって記憶された(n)番目の前記第4状況情報に追加して記憶させる(n)番目の前記第4再配分を行い、
前記第1受付手段は、
前記第1受付手段が(n)番目の前記第1操作情報を受け付けた時よりも後に(n+1)番目の前記第1操作情報を受け付け、
前記第2受付手段は、
前記第2受付手段が(n)番目の前記第2操作情報を受け付けた時よりも後に(n+1)番目の前記第2操作情報を受け付け、
前記第1更新手段は、
前記第1受付手段が(n)番目の前記第1操作情報を受け付けた時よりも後に(n)番目の前記第1更新を行い、
前記第1再配分手段が(n)番目の前記第1再配分を行った時よりも後に(n+1)番目の前記第1更新を行い、
前記第1配分手段は、
前記第1更新手段が(n)番目の前記第1更新を行った時よりも後に(n)番目の前記第1配分を行い、
前記第1展開手段は、
前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n)番目の前記第1展開を行い、
前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n+D)番目の前記第1展開を行い、
前記第1再配分手段は、
前記第1展開手段が(n)番目の前記第1展開を行った時よりも後に(n)番目の前記第1再配分を行い、
前記第2更新手段は、
前記第1操作情報記憶手段が(n)番目の前記第2操作情報を記憶した時よりも後に(n)番目の前記第2更新を行い、
前記第2再配分手段が(n)番目の前記第2再配分を行った時よりも後に(n+1)番目の前記第2更新を行い、
前記第2配分手段は、
前記第2更新手段が(n)番目の前記第2更新を行った時よりも後に(n)番目の前記第2配分を行い、
前記第2展開手段は、
前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n)番目の前記第2展開を行い、
前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n+D)番目の前記第2展開を行い、
前記第2再配分手段は、
前記第2展開手段が(n)番目の前記第2展開を行った時よりも後に(n)番目の前記第2再配分を行い、
前記第3更新手段は、
前記第2操作情報記憶手段が(n)番目の前記第1操作情報を記憶した時よりも後に(n)番目の前記第3更新を行い、
前記第3再配分手段が(n)番目の前記第3再配分を行った時よりも後に(n+1)番目の前記第3更新を行い、
前記第3配分手段は、
前記第3更新手段が(n)番目の前記第3更新を行った時よりも後に(n)番目の前記第3配分を行い、
前記第3展開手段は、
前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n)番目の前記第3展開を行い、
前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n+D)番目の前記第3展開を行い、
前記第3再配分手段は、
前記第3展開手段が(n)番目の前記第3展開を行った時よりも後に(n)番目の前記第3再配分を行い、
前記第4更新手段は、
前記第2受付手段が(n)番目の前記第2操作情報を受け付けた時よりも後に(n)番目の前記第4更新を行い、
前記第4再配分手段が(n)番目の前記第4再配分を行った時よりも後に(n+1)番目の前記第4更新を行い、
前記第4配分手段は、
前記第4更新手段が(n)番目の前記第4更新を行った時よりも後に(n)番目の前記第4配分を行い、
前記第4展開手段は、
前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n)番目の前記第4展開を行い、
前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n+D)番目の前記第4展開を行い、
前記第4再配分手段は、
前記第4展開手段が(n)番目の前記第4展開を行った時よりも後に(n)番目の前記第4再配分を行い、
前記第1更新手段と前記第3更新手段とは、
同一の情報を取り込んだ場合に同一の情報を出力し、
前記第2更新手段と前記第4更新手段とは、
同一の情報を取り込んだ場合に同一の情報を出力し、
前記第1展開手段と前記第3展開手段とは、
同一の情報を取り込んだ場合に同一の情報を出力し、
前記第2展開手段と前記第4展開手段とは、
同一の情報を取り込んだ場合に同一の情報を出力し、
前記第1ゲーム機はさらに、
前記第1状況情報記憶手段によって記憶された(n+D)番目の前記第1状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に表示する第1表示手段を備え、
前記第2ゲーム機はさらに、
前記第3状況情報記憶手段によって記憶された(n)番目の前記第3状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第4状況情報記憶手段によって記憶された(n+D)番目の前記第4状況情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に表示する第2表示手段を備えることを特徴とするゲームシステム。
[第4の発明]
前記通信網に接続されたサーバをさらに含む請求項2のゲームシステムであって、
前記サーバは、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第5状況情報を記憶し1以上の前記第5状況情報を同時に保持する第5状況情報記憶手段と、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第6状況情報を記憶し1以上の前記第6状況情報を同時に保持する第6状況情報記憶手段と、
ゲーム開始前に0番目の前記第5状況情報を設定し前記第5状況情報記憶手段に記憶させる第5設定手段と、
ゲーム開始前に0番目の前記第6状況情報を設定し前記第6状況情報記憶手段に記憶させる第6設定手段と、
第5干渉情報を記憶し複数の前記第5干渉情報を同時に保持可能な第5干渉情報記憶手段と、
第6干渉情報を記憶し複数の前記第6干渉情報を同時に保持可能な第6干渉情報記憶手段とを備え、
前記第5状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
前記第6状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
0番目の前記第1状況情報と0番目の前記第3状況情報と0番目の前記第5状況情報とは同一の情報であり、
0番目の前記第2状況情報と0番目の前記第4状況情報と0番目の前記第6状況情報とは同一の情報であり、
前記第1送信手段は、
前記第1受付手段によって受け付けられた前記第1操作情報を前記第2ゲーム機ではなく前記サーバに送信し、
前記第2送信手段は、
前記第2受付手段によって受け付けられた前記第2操作情報を前記第1ゲーム機ではなく前記サーバに送信し、
前記サーバはさらに、
前記第1送信手段によって送信された前記第1操作情報を受信する第3受信手段と、
前記第3受信手段によって受信された前記第1操作情報を前記第2ゲーム機に送信する第3送信手段と、
前記第3受信手段によって受信された前記第1操作情報を記憶する第3操作情報記憶手段と、
前記第2送信手段によって送信された前記第2操作情報を受信する第4受信手段と、
前記第4受信手段によって受信された前記第2操作情報を前記第1ゲーム機に送信する第4送信手段と、
前記第4受信手段によって受信された前記第2操作情報を記憶する第4操作情報記憶手段とを備え、
前記第1受信手段は、
前記第2送信手段ではなく前記第4送信手段によって送信された前記第2操作情報を受信し、
前記第2受信手段は、
前記第1送信手段ではなく前記第3送信手段によって送信された前記第1操作情報を受信し、
前記サーバはさらに、
複数の第5更新を行う第5更新手段と、
複数の第6更新を行う第6更新手段と、
複数の第5配分を行う第5配分手段と、
複数の第6配分を行う第6配分手段と、
複数の第5再配分を行う第5再配分手段と、
複数の第6再配分を行う第6再配分手段とを備え、
前記第5更新手段は、
前記第5状況情報記憶手段によって記憶された(n−1)番目の前記第5状況情報と前記第3操作情報記憶手段によって記憶された(n)番目の前記第1操作情報とを取り込み、
該(n−1)番目の前記第5状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第5状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第5状況情報を生成し、
該(n−1)番目の前記第5状況情報又は該(n)番目の前記第1操作情報又は該(n)番目の前記第5状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
発生した該イベントのそれぞれについて1組以上のオブジェクト情報とそれに関連付けられたD以上の値の整数(後にLで表す)との組を生成し、
該生成した全ての組の集合を(n)番目の第5干渉オブジェクト情報とし、
該(n)番目の前記第5状況情報と該(n)番目の前記第5干渉オブジェクト情報とを出力する(n)番目の前記第5更新を行い、
前記第6更新手段は、
前記第6状況情報記憶手段によって記憶された(n−1)番目の前記第6状況情報と前記第4操作情報記憶手段によって記憶された(n)番目の前記第2操作情報とを取り込み、
該(n−1)番目の前記第6状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第6状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第6状況情報を生成し、
該(n−1)番目の前記第6状況情報又は該(n)番目の前記第2操作情報又は該(n)番目の前記第6状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
発生した該イベントのそれぞれについて1組以上のオブジェクト情報とそれに関連付けられたD以上の値の整数(後にMで表す)との組を生成し、
該生成した全ての組の集合を(n)番目の第6干渉オブジェクト情報とし、
該(n)番目の前記第6状況情報と該(n)番目の前記第6干渉オブジェクト情報とを出力する(n)番目の前記第6更新を行い、
前記第5配分手段は、
前記第5更新手段によって出力された(n)番目の前記第5状況情報を前記第5状況情報記憶手段に記憶させ、
前記第5更新手段によって出力された(n)番目の前記第5干渉オブジェクト情報に含まれる全てのオブジェクト情報をそれぞれ、該オブジェクト情報に関連付けられた整数をLとした場合、前記第5干渉情報記憶手段によって記憶された(n+L)番目の前記第5干渉情報に追加して記憶させる(n)番目の前記第5配分を行い、
前記第6配分手段は、
前記第6更新手段によって出力された(n)番目の前記第6状況情報を前記第6状況情報記憶手段に記憶させ、
前記第6更新手段によって出力された(n)番目の前記第6干渉オブジェクト情報に含まれる全てのオブジェクト情報をそれぞれ、該オブジェクト情報に関連付けられた整数をMとした場合、前記第6干渉情報記憶手段によって記憶された(n+M)番目の前記第6干渉情報に追加して記憶させる(n)番目の前記第6配分を行い、
前記第5再配分手段は、
前記第6干渉情報記憶手段によって記憶された(n)番目の前記第6干渉情報に含まれる全てのオブジェクト情報を前記第5状況情報記憶手段によって記憶された(n)番目の前記第5状況情報に追加して記憶させる(n)番目の前記第5再配分を行い、
前記第6再配分手段は、
前記第5干渉情報記憶手段によって記憶された(n)番目の前記第5干渉情報に含まれる全てのオブジェクト情報を前記第6状況情報記憶手段によって記憶された(n)番目の前記第6状況情報に追加して記憶させる(n)番目の前記第6再配分を行い、
前記第5更新手段は、
前記第3操作情報記憶手段が(n)番目の前記第1操作情報を記憶した時よりも後に(n)番目の前記第5更新を行い、
前記第5再配分手段が(n)番目の前記第5再配分を行った時よりも後に(n+1)番目の前記第5更新を行い、
前記第5配分手段は、
前記第5更新手段が(n)番目の前記第5更新を行った時よりも後に(n)番目の前記第5配分を行い、
前記第5再配分手段は、
前記第5配分手段が(n)番目の前記第5配分を行った時よりも後に(n)番目の前記第5再配分を行い、
前記第6配分手段が(n)番目の前記第6配分を行った時よりも後に(n+D)番目の前記第5再配分を行い、
前記第6更新手段は、
前記第4操作情報記憶手段が(n)番目の前記第2操作情報を記憶した時よりも後に(n)番目の前記第6更新を行い、
前記第6再配分手段が(n)番目の前記第6再配分を行った時よりも後に(n+1)番目の前記第6更新を行い、
前記第6配分手段は、
前記第6更新手段が(n)番目の前記第6更新を行った時よりも後に(n)番目の前記第6配分を行い、
前記第6再配分手段は、
前記第6配分手段が(n)番目の前記第6配分を行った時よりも後に(n)番目の前記第6再配分を行い、
前記第5配分手段が(n)番目の前記第5配分を行った時よりも後に(n+D)番目の前記第6再配分を行い、
前記第1更新手段と前記第3更新手段と前記第5更新手段とは、
同一の情報を取り込んだ場合に同一の情報を出力し、
前記第2更新手段と前記第4更新手段と前記第6更新手段とは、
同一の情報を取り込んだ場合に同一の情報を出力することを特徴とするゲームシステム。
[第5の発明]
通信網に接続された第1プレイヤが操作する第1ゲーム機と前記通信網に接続された第2プレイヤが操作する第2ゲーム機と前記通信網に接続されたサーバとを含むゲームシステムであって、
前記第1ゲーム機は、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第1状況情報を記憶し1以上の前記第1状況情報を同時に保持する第1状況情報記憶手段と、
ゲーム開始前に0番目の前記第1状況情報を設定し前記第1状況情報記憶手段に記憶させる第1設定手段とを備え、
前記第1状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
前記第2ゲーム機は、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第2状況情報を記憶し1以上の前記第2状況情報を同時に保持する第2状況情報記憶手段と、
ゲーム開始前に0番目の前記第2状況情報を設定し前記第2状況情報記憶手段に記憶させる第2設定手段とを備え、
前記第2状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
前記サーバは、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第3状況情報を記憶し1以上の前記第3状況情報を同時に保持する第3状況情報記憶手段と、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第4状況情報を記憶し1以上の前記第4状況情報を同時に保持する第4状況情報記憶手段と、
ゲーム開始前に0番目の前記第3状況情報を設定し前記第3状況情報記憶手段に記憶させる第3設定手段と、
ゲーム開始前に0番目の前記第4状況情報を設定し前記第4状況情報記憶手段に記憶させる第4設定手段と、
第1干渉情報を記憶し複数の前記第1干渉情報を同時に保持可能な第1干渉情報記憶手段と、
第2干渉情報を記憶し複数の前記第2干渉情報を同時に保持可能な第2干渉情報記憶手段とを備え、
前記第3状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
前記第4状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
0番目の前記第1状況情報と0番目の前記第3状況情報とは同一の情報であり、
0番目の前記第2状況情報と0番目の前記第4状況情報とは同一の情報であり、
前記第1ゲーム機はさらに、
前記第1プレイヤから第1操作情報を受け付ける第1受付手段と、
前記第1受付手段によって受け付けられた前記第1操作情報を前記サーバに送信する第1操作情報送信手段とを備え、
前記第2ゲーム機はさらに、
前記第2プレイヤから第2操作情報を受け付ける第2受付手段と、
前記第2受付手段によって受け付けられた前記第2操作情報を前記サーバに送信する第2操作情報送信手段とを備え、
前記サーバはさらに、
前記第1操作情報送信手段によって送信された前記第1操作情報を受信する第1操作情報受信手段と、
前記第1操作情報受信手段によって受信された前記第1操作情報を記憶する第1操作情報記憶手段と、
前記第2操作情報送信手段によって送信された前記第2操作情報を受信する第2操作情報受信手段と、
前記第2操作情報受信手段によって受信された前記第2操作情報を記憶する第2操作情報記憶手段とを備え、
前記第1ゲーム機はさらに、
複数の第1更新を行う第1更新手段と、
複数の第1配分を行う第1配分手段と、
複数の第1再配分を行う第1再配分手段とを備え、
前記第2ゲーム機はさらに、
複数の第2更新を行う第2更新手段と、
複数の第2配分を行う第2配分手段と、
複数の第2再配分を行う第2再配分手段とを備え、
前記サーバはさらに、
複数の第3更新を行う第3更新手段と、
複数の第4更新を行う第4更新手段と、
複数の第3配分を行う第3配分手段と、
複数の第4配分を行う第4配分手段と、
複数の第1干渉情報送信を行う第1干渉情報送信手段と、
複数の第2干渉情報送信を行う第2干渉情報送信手段と、
複数の第3再配分を行う第3再配分手段と、
複数の第4再配分を行う第4再配分手段と、
複数の第1表示情報送信を行う第1表示情報送信手段と、
複数の第2表示情報送信を行う第2表示情報送信手段とを備え、
nを1以上の整数変数とし、
Dを1以上の整数定数とし、
前記第1更新手段は、
前記第1状況情報記憶手段によって記憶された(n−1)番目の前記第1状況情報と前記第1受付手段によって受け付けられた(n)番目の前記第1操作情報とを取り込み、
該(n−1)番目の前記第1状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第1状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第1状況情報を生成し、
該(n)番目の前記第1状況情報を出力する(n)番目の前記第1更新を行い、
前記第2更新手段は、
前記第2状況情報記憶手段によって記憶された(n−1)番目の前記第2状況情報と前記第2受付手段によって受け付けられた(n)番目の前記第2操作情報とを取り込み、
該(n−1)番目の前記第2状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第2状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第2状況情報を生成し、
該(n)番目の前記第2状況情報を出力する(n)番目の前記第2更新を行い、
前記第3更新手段は、
前記第3状況情報記憶手段によって記憶された(n−1)番目の前記第3状況情報と前記第1操作情報記憶手段によって記憶された(n)番目の前記第1操作情報とを取り込み、
該(n−1)番目の前記第3状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第3状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第3状況情報を生成し、
該(n)番目の前記第3状況情報を出力する(n)番目の前記第3更新を行い、
前記第4更新手段は、
前記第4状況情報記憶手段によって記憶された(n−1)番目の前記第4状況情報と前記第2操作情報記憶手段によって記憶された(n)番目の前記第2操作情報とを取り込み、
該(n−1)番目の前記第4状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第4状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第4状況情報を生成し、
該(n)番目の前記第4状況情報を出力する(n)番目の前記第4更新を行い、
前記第1配分手段は、
前記第1更新手段によって出力された(n)番目の前記第1状況情報を前記第1状況情報記憶手段に記憶させる(n)番目の前記第1配分を行い、
前記第2配分手段は、
前記第2更新手段によって出力された(n)番目の前記第2状況情報を前記第2状況情報記憶手段に記憶させる(n)番目の前記第2配分を行い、
前記第3配分手段は、
前記第3更新手段によって出力された(n)番目の前記第3状況情報を前記第3状況情報記憶手段に記憶させ、
前記第3状況情報記憶手段によって記憶された(n−1)番目の前記第3状況情報又は前記第1操作情報記憶手段によって記憶された(n)番目の前記第1操作情報又は該(n)番目の前記第3状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
発生した該イベントのそれぞれについて1組以上のオブジェクト情報とそれに関連付けられたD以上の値の整数(後にHで表す)との組を生成し、
該生成した全てのオブジェクト情報をそれぞれ、該オブジェクト情報に関連付けられた整数をHとした場合、前記第1干渉情報記憶手段によって記憶された(n+H)番目の前記第1干渉情報に追加して記憶させる(n)番目の前記第3配分を行い、
前記第4配分手段は、
前記第4更新手段によって出力された(n)番目の前記第4状況情報を前記第4状況情報記憶手段に記憶させ、
前記第4状況情報記憶手段によって記憶された(n−1)番目の前記第4状況情報又は前記第2操作情報記憶手段によって記憶された(n)番目の前記第2操作情報又は該(n)番目の前記第4状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
発生した該イベントのそれぞれについて1組以上のオブジェクト情報とそれに関連付けられたD以上の値の整数(後にIで表す)との組を生成し、
該生成した全てのオブジェクト情報をそれぞれ、該オブジェクト情報に関連付けられた整数をIとした場合、前記第2干渉情報記憶手段によって記憶された(n+I)番目の前記第2干渉情報に追加して記憶させる(n)番目の前記第4配分を行い、
前記第1干渉情報送信手段は、
前記第1干渉情報記憶手段によって記憶された(n)番目の前記第1干渉情報を前記第2ゲーム機に送信する(n)番目の前記第1干渉情報送信を行い、
前記第2干渉情報送信手段は、
前記第2干渉情報記憶手段によって記憶された(n)番目の前記第2干渉情報を前記第1ゲーム機に送信する(n)番目の前記第2干渉情報送信を行い、
前記第1ゲーム機はさらに、
前記第2干渉情報送信手段によって送信された前記第2干渉情報を受信する第1干渉情報受信手段と、
前記第1干渉情報受信手段によって受信された前記第2干渉情報を記憶する第3干渉情報記憶手段とを備え、
前記第2ゲーム機はさらに、
前記第1干渉情報送信手段によって送信された前記第1干渉情報を受信する第2干渉情報受信手段と、
前記第2干渉情報受信手段によって受信された前記第1干渉情報を記憶する第4干渉情報記憶手段とを備え、
前記第1再配分手段は、
前記第3干渉情報記憶手段によって記憶された(n)番目の前記第2干渉情報に含まれる全てのオブジェクト情報を前記第1状況情報記憶手段によって記憶された(n)番目の前記第1状況情報に追加して記憶させる(n)番目の前記第1再配分を行い、
前記第2再配分手段は、
前記第4干渉情報記憶手段によって記憶された(n)番目の前記第1干渉情報に含まれる全てのオブジェクト情報を前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に追加して記憶させる(n)番目の前記第2再配分を行い、
前記第3再配分手段は、
前記第2干渉情報記憶手段によって記憶された(n)番目の前記第2干渉情報に含まれる全てのオブジェクト情報を前記第3状況情報記憶手段によって記憶された(n)番目の前記第3状況情報に追加して記憶させる(n)番目の前記第3再配分を行い、
前記第4再配分手段は、
前記第1干渉情報記憶手段によって記憶された(n)番目の前記第1干渉情報に含まれる全てのオブジェクト情報を前記第4状況情報記憶手段によって記憶された(n)番目の前記第4状況情報に追加して記憶させる(n)番目の前記第4再配分を行い、
前記第1表示情報送信手段は、
前記第3状況情報記憶手段によって記憶された(n)番目の前記第3状況情報に含まれるオブジェクト情報の集合を(n)番目の第1表示情報とし、
該(n)番目の前記第1表示情報を前記第2ゲーム機に送信する(n)番目の前記第1表示情報送信を行い、
前記第2表示情報送信手段は、
前記第4状況情報記憶手段によって記憶された(n)番目の前記第4状況情報に含まれるオブジェクト情報の集合を(n)番目の第2表示情報とし、
該(n)番目の前記第2表示情報を前記第1ゲーム機に送信する(n)番目の前記第2表示情報送信を行い、
前記第1ゲーム機はさらに、
前記第2表示情報送信手段によって送信された前記第2表示情報を受信する第1表示情報受信手段と、
前記第1表示情報受信手段によって受信された前記第2表示情報を記憶する第1表示情報記憶手段とを備え、
前記第2ゲーム機はさらに、
前記第1表示情報送信手段によって送信された前記第1表示情報を受信する第2表示情報受信手段と、
前記第2表示情報受信手段によって受信された前記第1表示情報を記憶する第2表示情報記憶手段とを備え、
前記第1受付手段は、
前記第1受付手段が(n)番目の前記第1操作情報を受け付けた時よりも後に(n+1)番目の前記第1操作情報を受け付け、
前記第2受付手段は、
前記第2受付手段が(n)番目の前記第2操作情報を受け付けた時よりも後に(n+1)番目の前記第2操作情報を受け付け、
前記第1更新手段は、
前記第1受付手段が(n)番目の前記第1操作情報を受け付けた時よりも後に(n)番目の前記第1更新を行い、
前記第1再配分手段が(n)番目の前記第1再配分を行った時よりも後に(n+1)番目の前記第1更新を行い、
前記第1配分手段は、
前記第1更新手段が(n)番目の前記第1更新を行った時よりも後に(n)番目の前記第1配分を行い、
前記第1再配分手段は、
前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n)番目の前記第1再配分を行い、
前記第3干渉情報記憶手段が(n)番目の前記第2干渉情報を記憶した時よりも後に(n)番目の前記第1再配分を行い、
前記第2更新手段は、
前記第2受付手段が(n)番目の前記第2操作情報を受け付けた時よりも後に(n)番目の前記第2更新を行い、
前記第2再配分手段が(n)番目の前記第2再配分を行った時よりも後に(n+1)番目の前記第2更新を行い、
前記第2配分手段は、
前記第2更新手段が(n)番目の前記第2更新を行った時よりも後に(n)番目の前記第2配分を行い、
前記第2再配分手段は、
前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n)番目の前記第2再配分を行い、
前記第4干渉情報記憶手段が(n)番目の前記第1干渉情報を記憶した時よりも後に(n)番目の前記第2再配分を行い、
前記第3更新手段は、
前記第1操作情報記憶手段が(n)番目の前記第1操作情報を記憶した時よりも後に(n)番目の前記第3更新を行い、
前記第3再配分手段が(n)番目の前記第3再配分を行った時よりも後に(n+1)番目の前記第3更新を行い、
前記第3配分手段は、
前記第3更新手段が(n)番目の前記第3更新を行った時よりも後に(n)番目の前記第3配分を行い、
前記第3再配分手段は、
前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n)番目の前記第3再配分を行い、
前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n+D)番目の前記第3再配分を行い、
前記第4更新手段は、
前記第2操作情報記憶手段が(n)番目の前記第2操作情報を記憶した時よりも後に(n)番目の前記第4更新を行い、
前記第4再配分手段が(n)番目の前記第4再配分を行った時よりも後に(n+1)番目の前記第4更新を行い、
前記第4配分手段は、
前記第4更新手段が(n)番目の前記第4更新を行った時よりも後に(n)番目の前記第4配分を行い、
前記第4再配分手段は、
前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n)番目の前記第4再配分を行い、
前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n+D)番目の前記第4再配分を行い、
前記第1干渉情報送信手段は、
前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n+D)番目の前記第1干渉情報送信を行い、
前記第1表示情報送信手段は、
前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n)番目の前記第1表示情報送信を行い、
前記第2干渉情報送信手段は、
前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n+D)番目の前記第2干渉情報送信を行い、
前記第2表示情報送信手段は、
前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n)番目の前記第2表示情報送信を行い、
前記第1更新手段と前記第3更新手段とは、
同一の情報を取り込んだ場合に同一の情報を出力し、
前記第2更新手段と前記第4更新手段とは、
同一の情報を取り込んだ場合に同一の情報を出力し、
前記第1ゲーム機はさらに、
前記第1状況情報記憶手段によって記憶された(n+D)番目の前記第1状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第1表示情報記憶手段によって記憶された(n)番目の前記第2表示情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に表示する第1表示手段を備え、
前記第2ゲーム機はさらに、
前記第2状況情報記憶手段によって記憶された(n+D)番目の前記第2状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第2表示情報記憶手段によって記憶された(n)番目の前記第1表示情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に表示する第2表示手段を備えることを特徴とするゲームシステム。
[第6の発明]
通信網に接続された2つのゲーム機を含むゲームシステムを制御するプログラムであって、
前記2つのゲーム機はそれぞれ、
当該ゲーム機を操作するプレイヤから複数の操作情報を受け付け(n)番目(nは1以上の整数変数)の前記操作情報を受け付けた時よりも後に(n+1)番目の前記操作情報を受け付ける受付手段と、
前記受付手段によって受け付けられた前記操作情報を前記2つのゲーム機のうち当該ゲーム機でないゲーム機に送信する送信手段と、
前記2つのゲーム機のうち当該ゲーム機でないゲーム機における前記送信手段によって送信された(n)番目の前記操作情報を、(n)番目の他方の操作情報として受信する受信手段と、
表示手段とを備え、
前記プログラムは、
前記2つのゲーム機のそれぞれにおいて、コンピュータを、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第1状況情報を記憶し1以上の前記第1状況情報を同時に保持する第1状況情報記憶手段と、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第2状況情報を記憶し1以上の前記第2状況情報を同時に保持する第2状況情報記憶手段と、
ゲーム開始前に0番目の前記第1状況情報を設定し前記第1状況情報記憶手段に記憶させる第1設定手段と、
ゲーム開始前に0番目の前記第2状況情報を設定し前記第2状況情報記憶手段に記憶させる第2設定手段と、
第1干渉情報記憶手段と、
第2干渉情報記憶手段ととして機能させ、
前記第1状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
前記第2状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
前記2つのゲーム機の、一方における0番目の前記第1状況情報と他方における0番目の前記第2状況情報とは同一の情報であり、
前記2つのゲーム機のそれぞれにおいてさらに、コンピュータを、
前記受信手段によって受信された前記他方の操作情報を記憶する操作情報記憶手段として機能させ、
前記2つのゲーム機のそれぞれにおいてさらに、コンピュータを、
複数の第1更新を行う第1更新手段と、
複数の第2更新を行う第2更新手段と、
複数の第1配分を行う第1配分手段と、
複数の第2配分を行う第2配分手段と、
複数の第1再配分を行う第1再配分手段と、
複数の第2再配分を行う第2再配分手段ととして機能させ、
前記第1更新手段は、
前記第1状況情報記憶手段によって記憶された(n−1)番目の前記第1状況情報と前記受付手段によって受け付けられた(n)番目の前記操作情報とを取り込み、
該(n−1)番目の前記第1状況情報と該(n)番目の前記操作情報とに基づいて該(n−1)番目の前記第1状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第1状況情報を生成し、
該(n−1)番目の前記第1状況情報又は該(n)番目の前記操作情報又は該(n)番目の前記第1状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
生成した該イベントのそれぞれについて1以上のオブジェクト情報を生成し、
該(n)番目の前記第1状況情報と該生成したオブジェクト情報の集合とを出力する(n)番目の前記第1更新を行い、
前記第2更新手段は、
前記第2状況情報記憶手段によって記憶された(n−1)番目の前記第2状況情報と前記操作情報記憶手段によって記憶された(n)番目の前記他方の操作情報とを取り込み、
該(n−1)番目の前記第2状況情報と該(n)番目の前記他方の操作情報とに基づいて該(n−1)番目の前記第2状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第2状況情報を生成し、
該(n−1)番目の前記第2状況情報又は該(n)番目の前記他方の操作情報又は該(n)番目の前記第2状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
生成した該イベントのそれぞれについて1以上のオブジェクト情報を生成し、
該(n)番目の前記第2状況情報と該生成したオブジェクト情報の集合とを出力する(n)番目の前記第2更新を行い、
前記第1配分手段は、
前記第1更新手段によって出力された(n)番目の前記第1状況情報を前記第1状況情報記憶手段に記憶させ、
(n)番目の前記第1更新時に出力された前記オブジェクト情報の集合を前記第1干渉情報記憶手段に記憶させる(n)番目の前記第1配分を行い、
前記第2配分手段は、
前記第2更新手段によって出力された(n)番目の前記第2状況情報を前記第2状況情報記憶手段に記憶させ、
(n)番目の前記第2更新時に出力された前記オブジェクト情報の集合を前記第2干渉情報記憶手段に記憶させる(n)番目の前記第2配分を行い、
前記第1再配分手段は、
(n−E)番目(Eは1以上の整数定数)の前記第2更新時に出力され前記第2干渉情報記憶手段によって記憶されたオブジェクト情報の集合に含まれる全てのオブジェクト情報を前記第1状況情報記憶手段によって記憶された(n)番目の前記第1状況情報に追加して記憶させることをn>Eの場合にのみ行う(n)番目の前記第1再配分を行い、
前記第2再配分手段は、
(n−E)番目の前記第1更新時に出力され前記第1干渉情報記憶手段によって記憶されたオブジェクト情報の集合に含まれる全てのオブジェクト情報を前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に追加して記憶させることをn>Eの場合にのみ行う(n)番目の前記第2再配分を行い、
前記第1更新手段は、
前記受付手段が(n)番目の前記操作情報を受け付けた時よりも後に(n)番目の前記第1更新を行い、
前記第1再配分手段が(n)番目の前記第1再配分を行った時よりも後に(n+1)番目の前記第1更新を行い、
前記第1配分手段は、
前記第1更新手段が(n)番目の前記第1更新を行った時よりも後に(n)番目の前記第1配分を行い、
前記第1再配分手段は、
前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n)番目の前記第1再配分を行い、
前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n+D)番目(Dは1以上E以下の整数定数)の前記第1再配分を行い、
前記第2更新手段は、
前記操作情報記憶手段が(n)番目の前記他方の操作情報を記憶した時よりも後に(n)番目の前記第2更新を行い、
前記第2再配分手段が(n)番目の前記第2再配分を行った時よりも後に(n+1)番目の前記第2更新を行い、
前記第2配分手段は、
前記第2更新手段が(n)番目の前記第2更新を行った時よりも後に(n)番目の前記第2配分を行い、
前記第2再配分手段は、
前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n)番目の前記第2再配分を行い、
前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n+D)番目の前記第2再配分を行い、
前記2つのゲーム機の、一方における前記第1更新手段と他方における前記第2更新手段とは、
同一の情報を取り込んだ場合に同一の情報を出力し、
前記2つのゲーム機のそれぞれにおいてさらに、コンピュータを、
前記第1状況情報記憶手段によって記憶された(n+D)番目の前記第1状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に前記表示手段に表示させる表示制御手段として機能させることを特徴とするプログラム。
[第7の発明]
通信網に接続された2つのゲーム機を含むゲームシステムにおける前記2つのゲーム機のうち、一方を制御するプログラムであって、
前記2つのゲーム機はそれぞれ、
当該ゲーム機を操作するプレイヤから複数の操作情報を受け付け(n)番目(nは1以上の整数変数)の前記操作情報を受け付けた時よりも後に(n+1)番目の前記操作情報を受け付ける受付手段と、
前記受付手段によって受け付けられた前記操作情報を前記2つのゲーム機のうち当該ゲーム機でないゲーム機に送信する送信手段と、
前記2つのゲーム機のうち当該ゲーム機でないゲーム機における前記送信手段によって送信された(n)番目の前記操作情報を、(n)番目の他方の操作情報として受信する受信手段と、
表示手段とを備え、
前記プログラムは、
コンピュータを、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第1状況情報を記憶し1以上の前記第1状況情報を同時に保持する第1状況情報記憶手段と、
ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第2状況情報を記憶し1以上の前記第2状況情報を同時に保持する第2状況情報記憶手段と、
ゲーム開始前に0番目の前記第1状況情報を設定し前記第1状況情報記憶手段に記憶させる第1設定手段と、
ゲーム開始前に0番目の前記第2状況情報を設定し前記第2状況情報記憶手段に記憶させる第2設定手段と、
第1干渉情報記憶手段と、
第2干渉情報記憶手段ととして機能させ、
前記第1状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
前記第2状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
さらに、コンピュータを、
前記受信手段によって受信された前記他方の操作情報を記憶する操作情報記憶手段として機能させ、
さらに、コンピュータを、
複数の第1更新を行う第1更新手段と、
複数の第2更新を行う第2更新手段と、
複数の第1配分を行う第1配分手段と、
複数の第2配分を行う第2配分手段と、
複数の第1再配分を行う第1再配分手段と、
複数の第2再配分を行う第2再配分手段ととして機能させ、
前記第1更新手段は、
前記第1状況情報記憶手段によって記憶された(n−1)番目の前記第1状況情報と前記受付手段によって受け付けられた(n)番目の前記操作情報とを取り込み、
該(n−1)番目の前記第1状況情報と該(n)番目の前記操作情報とに基づいて該(n−1)番目の前記第1状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第1状況情報を生成し、
該(n−1)番目の前記第1状況情報又は該(n)番目の前記操作情報又は該(n)番目の前記第1状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
生成した該イベントのそれぞれについて1以上のオブジェクト情報を生成し、
該(n)番目の前記第1状況情報と該生成したオブジェクト情報の集合とを出力する(n)番目の前記第1更新を行い、
前記第2更新手段は、
前記第2状況情報記憶手段によって記憶された(n−1)番目の前記第2状況情報と前記操作情報記憶手段によって記憶された(n)番目の前記他方の操作情報とを取り込み、
該(n−1)番目の前記第2状況情報と該(n)番目の前記他方の操作情報とに基づいて該(n−1)番目の前記第2状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第2状況情報を生成し、
該(n−1)番目の前記第2状況情報又は該(n)番目の前記他方の操作情報又は該(n)番目の前記第2状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
生成した該イベントのそれぞれについて1以上のオブジェクト情報を生成し、
該(n)番目の前記第2状況情報と該生成したオブジェクト情報の集合とを出力する(n)番目の前記第2更新を行い、
前記第1配分手段は、
前記第1更新手段によって出力された(n)番目の前記第1状況情報を前記第1状況情報記憶手段に記憶させ、
(n)番目の前記第1更新時に出力された前記オブジェクト情報の集合を前記第1干渉情報記憶手段に記憶させる(n)番目の前記第1配分を行い、
前記第2配分手段は、
前記第2更新手段によって出力された(n)番目の前記第2状況情報を前記第2状況情報記憶手段に記憶させ、
(n)番目の前記第2更新時に出力された前記オブジェクト情報の集合を前記第2干渉情報記憶手段に記憶させる(n)番目の前記第2配分を行い、
前記第1再配分手段は、
(n−E)番目(Eは1以上の整数定数)の前記第2更新時に出力され前記第2干渉情報記憶手段によって記憶されたオブジェクト情報の集合に含まれる全てのオブジェクト情報を前記第1状況情報記憶手段によって記憶された(n)番目の前記第1状況情報に追加して記憶させることをn>Eの場合にのみ行う(n)番目の前記第1再配分を行い、
前記第2再配分手段は、
(n−E)番目の前記第1更新時に出力され前記第1干渉情報記憶手段によって記憶されたオブジェクト情報の集合に含まれる全てのオブジェクト情報を前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に追加して記憶させることをn>Eの場合にのみ行う(n)番目の前記第2再配分を行い、
前記第1更新手段は、
前記受付手段が(n)番目の前記操作情報を受け付けた時よりも後に(n)番目の前記第1更新を行い、
前記第1再配分手段が(n)番目の前記第1再配分を行った時よりも後に(n+1)番目の前記第1更新を行い、
前記第1配分手段は、
前記第1更新手段が(n)番目の前記第1更新を行った時よりも後に(n)番目の前記第1配分を行い、
前記第1再配分手段は、
前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n)番目の前記第1再配分を行い、
前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n+D)番目(Dは1以上E以下の整数定数)の前記第1再配分を行い、
前記第2更新手段は、
前記操作情報記憶手段が(n)番目の前記他方の操作情報を記憶した時よりも後に(n)番目の前記第2更新を行い、
前記第2再配分手段が(n)番目の前記第2再配分を行った時よりも後に(n+1)番目の前記第2更新を行い、
前記第2配分手段は、
前記第2更新手段が(n)番目の前記第2更新を行った時よりも後に(n)番目の前記第2配分を行い、
前記第2再配分手段は、
前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n)番目の前記第2再配分を行い、
前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n+D)番目の前記第2再配分を行い、
さらに、コンピュータを、
前記第1状況情報記憶手段によって記憶された(n+D)番目の前記第1状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に前記表示手段に表示させる表示制御手段として機能させることを特徴とするプログラム。
[第1の発明]、[第2の発明]、[第3の発明]、[第4の発明]、[第5の発明]、[第6の発明]、[第7の発明]によれば、あるプレイヤが操作するゲーム機では、一部のオブジェクトがそのプレイヤの操作に即応して動作し、他のオブジェクトが他のプレイヤの操作に一定時間遅れて反応し動作する。このためゲーム機間の通信により遅延が生じる環境であっても、見かけ上は遅延を生じないようにすることができる。また、一定時間遅らせる間に通信遅延のゆらぎを吸収できるため、オブジェクトが瞬間移動したりするような不自然な動作をしない。
[第1の発明]、[第2の発明]、[第3の発明]、[第4の発明]、[第6の発明]、[第7の発明]によれば、イベントが発生した場合は、そのイベントの結果として新規オブジェクトが発生するまでの処理をひとつのゲーム機内で完結させることができるため、送受信する情報はプレイヤの操作情報のみで済み、情報量を少なく抑えることができる。
[第4の発明]、[第5の発明]によれば、ゲームの内容や勝敗を集計するサーバが、ゲームに参加するプレイヤからの操作情報に基づいて、プレイヤが操作するゲーム機の処理とは独立してゲームの進行や勝敗を再現できる。このため仮に悪意あるプレイヤが自身の操作するゲーム機のプログラムを不正に改造して自身に有利にゲームを進めても、そのゲーム機における内容や勝敗等の結果はサーバが集計する結果とは無関係であるため、ゲームの結果の公正な集計が可能になる。
[第5の発明]によれば、プレイヤオブジェクトを動作させる等、即応性が求められる処理はプレイヤが操作するゲーム機上で行われ、イベントが発生した結果として新規オブジェクトが登場する処理はサーバ上で行われる。このため悪意あるプレイヤが自身の操作するゲーム機のプログラムを解析しても、新規オブジェクトが登場する空間座標やフレームを予測することは不可能となる。
以下、図面を参照しながら、本発明の実施形態について詳細に説明する。なお、以降の説明及び図面において、同一の符号を付した部分については同様の動作を行うものとして重複説明を省略する。
[発明の概要]
まず、本発明の根底にある考え方と本発明の概要を記述する。
前述した様に、遅延が生じる環境でネットワークゲームを行う場合、プレイヤに遅延を感じさせないためには、プレイヤが操作するゲーム機上で、そのプレイヤが操作するプレイヤオブジェクトを、他のプレイヤが操作するゲーム機の応答を待たずに動かす必要がある。
仮にゲーム開始時に全てのゲーム機上でオブジェクトの配置を含む状態を同一になるように設定しておいても、このような、ゲーム機毎の独自の処理を繰り返すと、ゲーム機間でオブジェクトの状態に齟齬が発生し、ゲーム機によってゲームの結末が異なってきたりする。
そこで本発明ではゲームの世界を、接続されたゲーム機と同数の、同一の空間座標系を有する仮想世界に分離し、それぞれの仮想世界を独立して更新することにより、ゲーム機間の齟齬が発生しないようにする。
例えばプレイヤAが操作するゲーム機AとプレイヤBが操作するゲーム機Bがインターネット等の通信網を介して接続されている場合、ゲームの世界を仮想世界Aと仮想世界Bに分ける。仮想世界AにはプレイヤAが操作するプレイヤオブジェクトが属し、仮想世界BにはプレイヤBが操作するプレイヤオブジェクトが属する。
それぞれの仮想世界は一定時間毎に更新され、その更新の際に仮想世界に属するオブジェクトを移動させる等オブジェクトの状態を更新し、オブジェクト同士の衝突を行い、その結果としてオブジェクトを生成したり消滅させたりする。
ゲーム機Aにおいては仮想世界AをプレイヤAの操作に即応して更新し、ゲーム機Bにおいては仮想世界BをプレイヤBの操作に即応して更新する。さらにゲーム機Aにおいては仮想世界Bの状況を遅れて再現し、ゲーム機Bにおいては仮想世界Aの状況を遅れて再現することで通信遅延を吸収する。
ここで、ゲーム機Aにおいて仮想世界Bの状況を再現するための再現情報を突発的に早く受信した場合も、一定時間の後に再現するものとし、同様にゲーム機Bにおいても仮想世界Aの状況を再現するための再現情報を突発的に早く受信した場合も、一定時間の後に再現するものとする。これにより遅延ゆらぎの影響を排除し、例えば仮想世界Bに属するオブジェクトがゲーム機A上で瞬間移動するように見える現象を回避することができる。
更に、それぞれのゲーム機のディスプレイ上には、両仮想世界を重畳して表示し、プレイヤが同一のゲームをプレイしている感覚を得られるようにする。
図1は、それぞれのゲーム機における両仮想世界の更新及び再現のタイミングを表した概念図である。ゲーム機Aもゲーム機Bも一定時間毎に順次フレームを処理してゲームを進め、それぞれのフレーム毎に仮想世界の様子をディスプレイに描画しプレイヤに提示する。また、両仮想世界についてもゲームの進行に合わせてフレーム処理が繰り返されるものとし、それぞれのフレームで1度ずつ仮想世界の更新が行われるものとする。
図1の横軸は時間経過をフレーム番号で表したものであり、両ゲーム機にまたがる矢印は送受信される再現情報を表したものである。
ゲーム機Aは自身の(n)番目のフレーム(nは1以上の整数変数)で仮想世界Aの(n)番目のフレームの更新を行い、通信網を通じてこの更新後の状況を再現するための再現情報をゲーム機Bに送信する。ゲーム機Bはこの再現情報を受信し、自身の(n+D)番目のフレーム(Dは1以上の整数定数)で仮想世界Aの(n)番目のフレームの更新後の状況を再現する。更に逆も同様に行い、ゲーム機Bは自身の(n)番目のフレームで仮想世界Bの(n)番目のフレームの更新を行い、通信網を通じてこの更新後の状況を再現するための再現情報をゲーム機Aに送信する。ゲーム機Aはこの再現情報を受信し、自身の(n+D)番目のフレームで仮想世界Bの(n)番目のフレームの更新後の状況を再現する。
ここで整数定数Dは通信遅延を吸収するための時間を稼ぐための定数であり、この値が大きいほど大きな通信遅延が許容される。
ここで両ゲーム機のフレーム処理のタイミングは、図1(a)のようにゲーム機Aの(n)番目のフレームとゲーム機Bの(n)番目のフレームが同時であるのが理想的だが、図1(b)のようにずれていても構わない。このときゲームを停止せずに進行させるためには一方の(n)番目のフレームで送信した再現情報が他方のゲーム機の(n+D)番目のフレームまでに受信できればよい。
また、上記の条件が満たされなくてもゲームを進行することは可能である。ゲーム機Aの(n)番目のフレームで送信した再現情報がゲーム機Bの(n+D)番目のフレームまでに届かない場合は、ゲーム機Bの(n+D)番目のフレームの処理そのものを一旦停止してしまえばよい。ゲーム機Bが停止すればゲーム機Aへの再現情報の送信も停止するため、やがて両方のゲーム機が停止することになる。これにより突発的な通信網の障害にも対応でき、通信網が復旧した場合は直ちにゲームを再開することが可能である。
それぞれのゲーム機のディスプレイには、仮想世界Aと仮想世界Bとが重畳して表示されるが、仮想世界Aに属するオブジェクトと仮想世界Bに属するオブジェクトとの位置関係は、ゲーム機によって異なるため、異なる仮想世界に属するオブジェクトは互いに衝突不可能としなければならない。このときプレイヤが衝突可能なオブジェクトと衝突不可能なオブジェクトを混同しないように、これらの間の外観に差を持たせてもよい。
以上のようにゲームの世界を分離してしまうと、一方の世界から他方の世界に干渉することができず、対戦が成立しない。そこで一方の仮想世界で発生したイベントの結果として他方の仮想世界に新規オブジェクトを登場させ、間接的な干渉を可能にする。
図2に、仮想世界Aでイベントが発生し、その結果として仮想世界Bに新規オブジェクトが登場する過程を時間を追って示す。まず、仮想世界Aの(n)番目のフレームでプレイヤの操作・オブジェクトの衝突等によってイベントを発生させる。その後、仮想世界Bの(n+K)番目のフレーム(KはD以上の整数)に新規オブジェクトを登場させる。ここでKは新規オブジェクトに固有の整数定数である。
ゲーム機によって両仮想世界のフレーム処理のタイミングが異なるため、ゲーム機Aにおいてはゲーム機Aの(n)番目のフレームでイベントが発生し、ゲーム機Aの(n+K+D)番目のフレームで新規オブジェクトが登場するのに対し、ゲーム機Bにおいてはゲーム機Bの(n+D)番目のフレームでイベントが発生し、ゲーム機Bの(n+K)番目のフレームで新規オブジェクトが登場する。もしKがD未満の整数であると仮定すると、ゲーム機Bにおいてイベント発生と新規オブジェクト登場の前後関係が逆になってしまうため、KはD以上でなくてはならない。
イベントが発生する仮想世界Aの空間座標と新規オブジェクトが登場する仮想世界Bの空間座標が異なると、イベント発生と新規オブジェクト登場との因果関係が分かり辛いため、これらを結ぶ演出を加える。仮想世界Aにも仮想世界Bにも属さない演出用のオブジェクト(以降、演出オブジェクトと記述する)をゲーム機毎に表示し、イベント発生と新規オブジェクト登場の間を連続的に動かすことで繋ぎ、プレイヤに新規オブジェクトが登場するフレームと空間座標の予測をさせる。
図3に上記の演出を行う場合の、ゲーム機毎の演出オブジェクトの位置の変化を図中の太線で時間を追って表す。ここでは空間座標x0でイベントが発生し、空間座標x1で新規オブジェクトが登場するものとする。
図3から読み取れる様に、演出オブジェクトが表示される時間の長さがゲーム機A上とゲーム機B上とでは異なるため、両ゲーム機上で同じ速さかつ同じ経路でこれを動かすことはできない。
そこでゲーム機毎に、演出オブジェクトにそれぞれ自然に見えるような別々の挙動をさせる。
これらの演出オブジェクトは、仮想世界Aに属するオブジェクトとも仮想世界Bに属するオブジェクトとも衝突不可能としなくてはならない。このときプレイヤが衝突可能な他のオブジェクトと区別できるように、異なる外観を持たせてもよい。
オブジェクトの動きを制限することにより前述の方法とは別の演出を行うことも可能である。仮想世界Aに属するあるオブジェクトに関して仮想世界Aの(n)番目のフレームでイベントが発生し、その結果として仮想世界Bの(n+K)番目のフレームで仮想世界Bに新規オブジェクトが登場するとする。更にイベントの結果として、この仮想世界Aのオブジェクトは仮想世界Aの(n+J)番目のフレームで消滅するとする。このとき、ゲーム機Aにおいてもゲーム機Bにおいても、上記の仮想世界Aのオブジェクトと上記の仮想世界Bのオブジェクトの双方に同時に重なるように演出オブジェクトを表示することにより、仮想世界Aのオブジェクトが仮想世界Bのオブジェクトに変化するような演出を行うことができる。
図4に上記の演出を行う場合の、それぞれのオブジェクトの時間経過を示す。図中の太線が各オブジェクトが表示される期間を表している。ゲーム機Aにおいてはゲーム機Aの(n+K+D)番目のフレームから(n+J)番目のフレームまで演出オブジェクトが表示され、ゲーム機Bにおいてはゲーム機Bの(n+K)番目のフレームから(n+J+D)番目のフレームまで演出オブジェクトが表示される。この期間はどちらのゲーム機においても仮想世界Bの(n+K)番目のフレームから仮想世界Aの(n+J)番目のフレームまでである。
上記の演出オブジェクトが表示されている間は、上記の仮想世界Aのオブジェクトと上記の仮想世界Bのオブジェクトは外観を透明にする。また、この間上記の仮想世界Aのオブジェクトと上記の仮想世界Bのオブジェクトは、演出オブジェクトが表示されるのと同一の空間座標に配置しなければならない。図4から読み取れる様に、演出オブジェクトが表示される時間はゲーム機B上の方が長いため、これに合わせ、ゲーム機A上でもゲーム機B上でも、仮想世界Aの(n+K−D)番目のフレーム以降は上記の仮想世界Aのオブジェクトを、仮想世界Bの(n+J+D)番目のフレーム以前は上記の仮想世界Bのオブジェクトを、演出オブジェクトが表示されるのと同一の空間座標に配置する。
以上のような演出により、仮想世界Aのオブジェクトがイベントにより仮想世界Bのオブジェクトに変化する過程で、両仮想世界のオブジェクトと衝突可能な中間の状態を作り出すことができる。
本発明においてはゲーム機Aにおいて仮想世界Aの更新を行い、ゲーム機Aからゲーム機Bへ再現情報を送信し、仮想世界Aの更新後の状況をゲーム機Bにおいて再現し、逆も同様に行うが、この再現をするには2通りの方法が考えられる。
1つめの方法はゲーム機Aには仮想世界Aのみを、ゲーム機Bには仮想世界Bのみを構築する方法である。この場合は再現情報として、一方のゲーム機において一方の仮想世界の更新を行った後に得られる、その仮想世界に属するオブジェクトの状態を表すオブジェクト情報を他方のゲーム機に送信する。例えばゲーム機Aにおいてゲーム機Aの(n)番目のフレームで仮想世界Aの(n)番目のフレームの更新を行った場合、更新後に得られたオブジェクト情報をゲーム機Bに送信し、ゲーム機Bがこれを受信する。ゲーム機Bにおいてはゲーム機Bの(n+D)番目のフレームで受信したオブジェクト情報を基に仮想世界Aの(n)番目のフレームの更新後の状況を再現する。
一方の仮想世界でイベントが発生し、その結果として他方の仮想世界に新規オブジェクトを登場させなければならない場合は、そのオブジェクトのオブジェクト情報を、どのフレームで登場させるかを表す情報と共に送信する。
この方法を用いる場合は、仮想世界を更新する際の処理を各ゲーム機に分散させることができるという利点がある。しかし、情報の送受信の手続きが複雑になり、また、プレイヤが所持するゲーム機に処理を完全に委ねることになるため、不正行為の可能性を完全には排除できない。
2つめの方法はゲーム機Aにおいてもゲーム機Bにおいても仮想世界Aと仮想世界Bの両方を構築する方法である。この場合は再現情報としてプレイヤの操作情報を送受信し、両ゲーム機において全く同じ処理を行う。つまり、ある仮想世界に関して一方のゲーム機で行われる再現は、既に他方の世界で行われた更新と同一の処理である。例えばゲーム機Aにおいてゲーム機Aの(n)番目のフレームで仮想世界Aの(n)番目のフレームの更新を行った場合、更新の際に利用したプレイヤAの操作情報をゲーム機Bに送信し、ゲーム機Bがこれを受信する。ゲーム機Bにおいてはゲーム機Bの(n+D)番目のフレームで、受信した操作情報を基にゲーム機Bに構築された仮想世界Aの(n)番目のフレームの更新を行う。
この場合は、一方の仮想世界でイベントを発生させ、その結果として他方の仮想世界に新規オブジェクトを登場させるまでの処理をそれぞれのゲーム機上で完結させることができ、これに関してゲーム機間で情報を送受信する必要がない。仮想世界Aの(n)番目のフレームでイベントが発生し、仮想世界Bの(n+K)番目のフレームに新規オブジェクトが登場する場合、ゲーム機Aにおいてはこの間のフレーム数は(K+D)フレームである一方、ゲーム機Bにおいてはこの間のフレーム数は(K−D)フレームと異なっている。それぞれのゲーム機には、この間新規オブジェクトの情報を一時的に蓄えておくためのメモリが確保されている。
この方法を用いる場合は、操作情報のみを送受信するため情報量が小さくて済み、ゲームシステムの構築も簡単になる。また、一方のゲーム機で不正行為を行っても他方のゲーム機にはそれは反映されない。
ネットワークゲーム上で通信遅延をできるだけ減らそうとした場合、ゲーム機間の情報の送受信を、ネットワーク上の最短距離で行う必要がある。しかし、ゲームの進行がゲーム機上でのみ行われるため、ゲームの結果をゲーム機以外の、サーバ等に集計する際に、悪意あるプレイヤがゲームの結果を偽ってサーバに報告することが可能になってしまう。
仮にゲームの進行と同時にプレイヤの操作情報をサーバに送信し、サーバ上でゲームを再現し、正しい結果を得ようとしても、送信された操作情報が実際にゲームに使われたものと同一であるという保証はない。
本発明にあっては、一定の通信遅延が許容されるため、ゲーム機間の情報の送受信を最短距離で行う必要はなく、ゲームの結果を集計するサーバを経由して行うことが可能となる。ここで、各プレイヤの操作情報のみを送受信し、各ゲーム機上とサーバ上で同一のゲームを進行させれば、不正行為の介在する余地はなくなる。
また、情報がサーバを経由する際に、通信網上の機器を特定する宛先が書き換えられるため、対戦相手にアドレスを知られずに済むという利点も生じる。
ところで本発明を利用したゲームでは、一方の仮想世界の(n)番目のフレームの状態が他方の仮想世界の(n+D)番目のフレームになって初めて伝わる。このため操作するプレイヤオブジェクトが先に死んだ方が負けとなるゲームでは、例えば仮想世界AにおいてプレイヤAの操作するプレイヤオブジェクトが(n)番目のフレームで死んでも、仮想世界Bでは(n+D)番目のフレームまではゲームが継続してしまう。この場合、勝敗を決定するためにゲーム終了後にどちらのプレイヤオブジェクトが先に死んだかを検証してもよいし、両方のプレイヤオブジェクトが死ぬタイミングがDフレーム以内ならば引き分けとするルールを設定してもよい。
図5に本発明が想定するゲームシステムの構成を示す。図5(a)に示す例のように、本システムは、通信網100に接続されたゲーム機A200a、通信網100に接続されたゲーム機B200b、通信網100に接続されたサーバ301、ゲーム機A200aに接続された中継機A400a及びゲーム機B200bに接続された中継機B400bで構成される。
図5(b)の例のように、中継機A400aはゲーム機A200aに直接接続されるのではなく、通信網100を介して接続されてもよく、中継機B400bはゲーム機B200bに直接接続されるのではなく、通信網100を介して接続されてもよい。
ゲーム機A200a及びゲーム機B200bは通信部201を、サーバ300は通信部301を、中継機A400a及び中継機B400bは通信部401を備え、これらにより各機器は通信網又は他の機器との接続を行う。
通信網100はインターネットや携帯電話パケット網等の、デジタルデータを送受信できる通信網である。ゲーム機A200a及びゲーム機B200bは、ゲーム専用機の他、パーソナルコンピュータ、携帯電話、PDA(Portable Digital Assistant)等の機器であってもよい。サーバ300は、ゲーム機A200a及びゲーム機B200bで行われるゲームを再現し、勝敗を判定したり、ゲームの結果を集計したりする機器である。これらの処理を行える機器であれれば、業務用サーバの他、パーソナルコンピュータ等であってもよい。中継機A400a及び中継機B400bは、それぞれ、ゲーム機A200a及びゲーム機B200bに、早すぎるタイミングで情報が送られるのを阻止する機器である。
本発明にあっては、各機器間で送受信される情報は、ゲーム機A200aから発信され、中継機A400aを経由し、更にサーバ300を経由し、更に中継機B400bを経由し、ゲーム機B200bによって受信されるか、ゲーム機B200bから発信され、中継機B400bを経由し、更にサーバ300を経由し、更に中継機A400aを経由し、ゲーム機A200aによって受信される。ここでゲームを成立させるために必須なのはゲーム機A200a及びゲーム機B200bであり、その他の機器は省き、情報を経由させなくてもよい。
図6(a)に示すように、ゲーム機A200a及びゲーム機B200bは、通信部201の他に、CPU202、RAM203、ROM204、ディスクドライブ205、入力部206、ゲームコントローラ207、GPU208、ディスプレイ209、サウンドボード210及びスピーカ211を含んで構成されている。これらのハードウェアはバスを介して互いに接続されている。ROM204は、ゲームのソフトウェアを収めた、外部から挿入されたカートリッジ等であってもよい。ディスクドライブ205は、ハードディスクドライブの他、ゲームのソフトウェアを収めた媒体を外部から挿入できる磁気ディスクドライブやCD(Compact Disc)やDVD(Digital Versatile Disc)等の光学ディスクドライブ等であってもよい。ゲームコントローラ207はプレイヤからの操作情報を受け付け、入力部206はこの操作情報を取り込む。GPU208はプレイヤに提示する画像を描画し、ディスプレイ209はその画像を表示する。サウンドボード210は効果音や音楽を合成し、スピーカ211はそれらの音を鳴らす。ゲームコントローラ207、ディスプレイ209及びスピーカ211は後付けで外部から接続されるものであってもよい。
図6(b)に示すように、サーバ300は、通信部301の他に、CPU302、RAM303、ROM304及びディスクドライブ305を含んで構成されている。これらのハードウェアはバスを介して互いに接続されている。
図6(c)に示すように、中継機A400a及び中継機機B400bは、通信部401の他に、CPU402、RAM403、ROM404及びディスクドライブ405を含んで構成されている。これらのハードウェアはバスを介して互いに接続されている。
図7にRAM203及びRAM303に記憶される情報を示す。これらの情報は、仮想世界Aに関する情報1100、仮想世界Bに関する情報1200及びその他の情報に大きく分けられる。
仮想世界Aに関する情報1100は、1以上の操作情報1101、1以上の状況情報1102、複数の干渉情報1103及び1以上の演出情報1104を含む。仮想世界Bに関する情報1200は、1以上の操作情報1201、1以上の状況情報1202、複数の干渉情報1203及び1以上の演出情報1204を含む。その他の情報は、オブジェクトのモデル情報1001及びオブジェクトの画像情報1002を含む。
操作情報1101及び操作情報1201はそれぞれ、1つのフレームでゲーム機A200aのゲームコントローラ207から入力された操作情報及び1つのフレームでゲーム機B200bのゲームコントローラ207から入力された操作情報であり、これらが複数記憶されることで、順不同で受信されたこれらの情報を並べ替え、バッファリングすることが可能になる。ゲーム機A200aにおいては1つの操作情報1101が記憶できればよく、バッファの機能は必要ではない。ゲーム機B200bにおいては1つの操作情報1201が記憶できればよく、バッファの機能は必要ではない。
状況情報1102及び状況情報1202はそれぞれ、1つのフレームにおける仮想世界Aの状況及び1つのフレームにおける仮想世界Bの状況を表す情報であり、それぞれ、1以上のオブジェクト情報を含む。その他、必要に応じて仮想世界の状況を表すその他の情報、例えば地形、タイマーイベントを発生させるためのタイマーのそれぞれの時点での値、風向き又は擬似乱数の初期値等の情報を含む。なお、地形はオブジェクト情報で表してもよい。
干渉情報1103及び干渉情報1203はそれぞれ、後に仮想世界Bに新規オブジェクトを登場させるための情報及び後に仮想世界Aに新規オブジェクトを登場させるための情報であり、それぞれ、0以上のオブジェクト情報を含むが、ゲーム開始時点ではいずれも空である。
演出情報1104及び演出情報1204はそれぞれ、仮想世界Aで生じたイベントの結果として仮想世界Bに新規オブジェクトが登場する際に必要な演出を行うための情報及び仮想世界Bで生じたイベントの結果として仮想世界Aに新規オブジェクトが登場する際に必要な演出を行うための情報であり、それぞれ、0以上のオブジェクト情報を含む。0番目の演出情報1104及び0番目の演出情報1204はいずれも空である。サーバ300においては演出情報1104及び演出情報1204は必要ではない。
オブジェクトのモデル情報1001は、オブジェクトを表示する際に必要になるオブジェクトの形状を表す情報である。オブジェクトの画像情報1002は、オブジェクトを表示する際に必要になるオブジェクトに貼り付ける画像の情報である。サーバ300においてはオブジェクトのモデル情報1001及びオブジェクトの画像情報1002は必要ではない。また、2次元ゲームの場合等、オブジェクトの画像情報1002を表示するだけで済む場合は、オブジェクトのモデル情報1001は必要ではない。
これらの各情報は必ずしもRAM203やRAM303に記憶される必要はなく、CPU202やCPU302内のキャッシュメモリ等、他のハードウェアに記憶されてもよい。また、書き換える必要のない情報ならばROM204やROM304に記憶されてもよい。
図8に、プログラムがCPU202及びCPU302を用いて実現する手段を示す。これらの手段は、仮想世界Aに関する手段1600及び仮想世界Bに関する手段1700に大きく分けられる。
仮想世界Aに関する手段1600は、設定手段1601、更新手段1602、配分手段1603、再配分手段1604及び副更新手段1605を含む。仮想世界Bに関する手段1700は、設定手段1701、更新手段1702、配分手段1703、再配分手段1704及び副更新手段1705を含む。サーバ300においては副更新手段1605及び副更新手段1705は必要ではない。これらの各手段の、それぞれの機能の詳細については後述する。
これらの各手段は、CPU202やCPU302の別々の領域に実現される必要はなく、同一のレジスタや同一のキャッシュメモリを使い回すことにより実現されてよい。また、ゲーム機A200a又はゲーム機B200bにおいては、これらの手段の一部はGPU208上に実現されてもよい。
図9は、ゲーム機A200aにおいて行う処理を示すデータの流れ図である。これらの処理は、仮想世界Aに関する処理11200a及び仮想世界Bに関する処理12200aに大きく分けられる。
図10は、ゲーム機B200bにおいて行う処理を示すデータの流れ図である。これらの処理は、仮想世界Aに関する処理11200b及び仮想世界Bに関する処理12200bに大きく分けられる。
図11は、サーバ300において行う処理を示すデータの流れ図である。これらの処理は、仮想世界Aに関する処理11300及び仮想世界Bに関する処理12300に大きく分けられる。
以下、フローチャートを参照しながら本実施例における各機器の、時間を追っての動作を示す。同時に図7、図8、図9、図10及び図11も参照されたい。なお、フローチャート中の記号l及びmはそれぞれ、仮想世界A及び仮想世界Bのフレーム番号を表すカウンタ変数である。
図12はゲーム機A200a、ゲーム機B200b及びサーバ300において共通して行う処理のサブルーチンを示すフローチャートである。図12(a)、図12(c)及び図12(e)は仮想世界Aに関する処理であり、図12(b)、図12(d)及び図12(f)は仮想世界Bに関する処理である。
ゲーム開始前に、各機器において両仮想世界の初期設定をする。
図12(a)に、第1−1処理のサブルーチンを示す。S111において、仮想世界Aに関する設定手段1601が仮想世界Aに関する0番目の状況情報1102を設定し、サブルーチンを終了する。
図12(b)に、第1−2処理のサブルーチンを示す。S121において、仮想世界Bに関する設定手段1701が仮想世界Bに関する0番目の状況情報1202を設定し、サブルーチンを終了する。
S111及びS121において、各機器では、仮想世界Aに関する0番目の状況情報1102及び仮想世界Bに関する0番目の状況情報1202を、ROM204やディスクドライブ205から読み込み、RAM203に記憶させる。これらの情報はサーバ300や通信網に接続された他の機器からダウンロードしてもよい。また、あらかじめ機器内に用意された情報とダウンロードした情報を組み合わせてもよい。例えばオブジェクトの衝突判定領域等の情報は機器内に用意されたものを用い、オブジェクトの初期配置はダウンロードした情報を使う、等である。
ゲーム開始後に、ゲームを進行させるため、両仮想世界の状況情報を更新する。
図12(c)に、第1−3処理のサブルーチンを示す。S112において、仮想世界Aに関する更新手段1602が仮想世界Aに関する(l−1)番目の状況情報1102を更新し、仮想世界Aに関する(l)番目の状況情報1102を生成する。この際、プレイヤAが入力した仮想世界Aに関する(l)番目の操作情報1101に基づきプレイヤオブジェクトを操作し、ノンプレイヤオブジェクトをオブジェクト情報に含まれる速度等の情報に基づいて操作する。各オブジェクトを操作した後、仮想世界Aに関する更新手段1602は更に、S113において、オブジェクト間の衝突判定等を行い、イベントが発生したか否かを判定し、イベントが発生しなかった場合はサブルーチンを終了する。イベントが発生した場合、S114において、後に仮想世界Bに登場する新規オブジェクトと、それに関連付けられた、新規オブジェクトが登場するタイミングを表すD以上の整数を生成する。この整数をKとした場合、仮想世界Aに関する配分手段1603が、生成した新規オブジェクトを仮想世界Aに関する(l+K)番目の干渉情報1103に追加し、S113に戻る。
図12(d)に、第1−4処理のサブルーチンを示す。S122において、仮想世界Bに関する更新手段1702が仮想世界Bに関する(m−1)番目の状況情報1202を更新し、仮想世界Bに関する(m)番目の状況情報1202を生成する。この際、プレイヤBが入力した仮想世界Bに関する(m)番目の操作情報1201に基づきプレイヤオブジェクトを操作し、ノンプレイヤオブジェクトをオブジェクト情報に含まれる速度等の情報に基づいて操作する。各オブジェクトを操作した後、仮想世界Bに関する更新手段1702は更に、S123において、オブジェクト間の衝突判定等を行い、イベントが発生したか否かを判定し、イベントが発生しなかった場合はサブルーチンを終了する。イベントが発生した場合、S124において、後に仮想世界Aに登場する新規オブジェクトと、それに関連付けられた、新規オブジェクトが登場するタイミングを表すD以上の整数を生成する。この整数をKとした場合、仮想世界Bに関する配分手段1703が、生成した新規オブジェクトを仮想世界Bに関する(m+K)番目の干渉情報1204に追加し、S123に戻る。
S113及びS123において行う衝突判定は、操作した後ではなく操作する前のオブジェクト情報に基づいて行ってもよい。また、イベントは衝突判定の結果だけではなく、プレイヤの操作や、擬似乱数による見かけ上の偶然、タイマーの動作、あるいはこれらの組み合わせ等によって発生させてもよい。発生した1つのイベントに対して、新規オブジェクトを複数生成してもよい。
一方の仮想世界で発生したイベントを受けて、他方の仮想世界に新規オブジェクトを登場させる。
図12(e)に、第1−5処理のサブルーチンを示す。S115において、仮想世界Aに関する再配分手段1604が、仮想世界Bに関する(l)番目の干渉情報1203に含まれるオブジェクト情報全てを仮想世界Aに関する(l)番目の状況情報1102に追加し、サブルーチンを終了する。
図12(f)に、第1−6処理のサブルーチンを示す。S125において、仮想世界Bに関する再配分手段1704が、仮想世界Aに関する(m)番目の干渉情報1103に含まれるオブジェクト情報全てを仮想世界Bに関する(m)番目の状況情報1202に追加し、サブルーチンを終了する。
図13のフローチャートを参照しながらゲーム機A200aの動作を説明する。ゲーム開始前に、S1201aにおいて図12(a)に示した第1−1処理を、更にS1202aにおいて図12(b)に示した第1−2処理を実行することで初期設定を行い、S1203aにおいてカウンタ変数l及びmに1を代入する。
ゲーム開始後にまず、仮想世界Aのみの更新とオブジェクトの表示を(D)回繰り返し、その後は仮想世界A及び仮想世界Bの両方の更新とオブジェクトの表示を繰り返す。具体的には、S1204aからS1208aまでのステップを実行し、S1209aにおいてフレーム間インターバルの後、lをインクリメントする。S1210aにおいてl≦DならばS1204aに戻り、l>DならばS1211aに進む。S1211aではゲーム機B200bから送信されたプレイヤBの操作情報を、他の機器を経由した場合も含めて受信し、仮想世界Bに関する操作情報1201としてバッファリングする。S1212aでは仮想世界Bに関する(m)番目の操作情報1201がなければ受信するまで待機するためにS1211aに戻り、あればS1213aからS1220aまでのステップを実行し、S1221aにおいてフレーム間インターバルの後、l及びmをインクリメントし、S1211aに戻る。
S1204a及びS1213aにおいては、プレイヤAの操作情報を受け付け、仮想世界Aに関する(l)番目の操作情報1101とし、この情報を、場合によっては他の機器を経由してゲーム機B200bに送信する。S1205a及びS1214aにおいては図12(c)に示した第1−3処理を行う。S1215aにおいては図12(d)に示した第1−4処理を行う。S1206a及びS1216aにおいては図12(e)に示した第1−5処理を行う。S1217aにおいては図12(f)に示した題1−6処理を行う。
S1207a及びS1218aにおいては、仮想世界Aに関する副更新手段1605が、仮想世界Aに関する(l−1)番目の演出情報1104を更新し、仮想世界Aに関する(l)番目の演出情報1104を生成する。この演出の詳細については後述する。
S1219aにおいては、仮想世界Bに関する副更新手段1705が、仮想世界Bに関する(m−1)番目の演出情報1204を更新し、仮想世界Bに関する(m)番目の演出情報1204を生成する。この演出の詳細については後述する。
S1208a及びS1220aにおいては、仮想世界Aに関する(l)番目の状況情報1102、仮想世界Aに関する(l)番目の演出情報1104、仮想世界Bに関する(m)番目の状況情報1202及び仮想世界Bに関する(m)番目の演出情報1204に含まれるオブジェクト情報が状態を表すオブジェクトの全て又は一部を、オブジェクトのモデル情報1001やオブジェクトの画像情報1002を用いてゲーム機A200aのディスプレイ209に表示する。
図14のフローチャートを参照しながらゲーム機B200b動作を説明する。ゲーム開始前に、S1201bにおいて図12(a)に示した第1−1処理を、更にS1202bにおいて図12(b)に示した第1−2処理を実行することで初期設定を行い、S1203bにおいてカウンタ変数l及びmに1を代入する。
ゲーム開始後にまず、仮想世界Bのみの更新とオブジェクトの表示を(D)回繰り返し、その後は仮想世界A及び仮想世界Bの両方の更新とオブジェクトの表示を繰り返す。具体的には、S1204bからS1208bまでのステップを実行し、S1209bにおいてフレーム間インターバルの後、mをインクリメントする。S1210bにおいてm≦DならばS1204bに戻り、m>DならばS1211bに進む。S1211bではゲーム機A200aから送信されたプレイヤAの操作情報を、他の機器を経由した場合も含めて受信し、仮想世界Aに関する操作情報1101としてバッファリングする。S1212bでは仮想世界Aに関する(l)番目の操作情報1101がなければ受信するまで待機するためにS1211bに戻り、あればS1213bからS1220bまでのステップを実行し、S1221bにおいてフレーム間インターバルの後、l及びmをインクリメントし、S1211bに戻る。
S1204b及びS1213bにおいては、プレイヤBの操作情報を受け付け、仮想世界Bに関する(m)番目の操作情報1201とし、この情報を、場合によっては他の機器を経由してゲーム機A200aに送信する。S1214bにおいては図12(c)に示した第1−3処理を行う。S1205b及びS1215bにおいては図12(d)に示した第1−4処理を行う。S1216bにおいては図12(e)に示した第1−5処理を行う。S1206b及びS1217bにおいては図12(f)に示した題1−6処理を行う。
S1218bにおいては、仮想世界Aに関する副更新手段1605が、仮想世界Aに関する(l−1)番目の演出情報1104を更新し、仮想世界Aに関する(l)番目の演出情報1104を生成する。この演出の詳細については後述する。
S1207b及びS1219bにおいては、仮想世界Bに関する副更新手段1705が、仮想世界Bに関する(m−1)番目の演出情報1204を更新し、仮想世界Bに関する(m)番目の演出情報1204を生成する。この演出の詳細については後述する。
S1208b及びS1220bにおいては、仮想世界Aに関する(l)番目の状況情報1102、仮想世界Aに関する(l)番目の演出情報1104、仮想世界Bに関する(m)番目の状況情報1202及び仮想世界Bに関する(m)番目の演出情報1204に含まれるオブジェクト情報が状態を表すオブジェクトの全て又は一部を、オブジェクトのモデル情報1001やオブジェクトの画像情報1002を用いてゲーム機B200bのディスプレイ209に表示する。
図15のフローチャートを参照しながらサーバ300の動作を説明する。ゲーム開始前に、S1301において図12(a)に示した第1−1処理を、更にS1302において図12(b)に示した第1−2処理を実行することで初期設定を行い、S1303においてカウンタ変数l及びmに1を代入する。
ゲーム開始後に、S1304においてゲーム機A200aから送信されたプレイヤAの操作情報を、他の機器を経由した場合も含めて受信し、仮想世界Aに関する操作情報1101としてバッファリングし、この情報を、場合によっては他の機器を経由してゲーム機Bに送信する。S1305では仮想世界Aに関する(l)番目の操作情報1101がなければ受信するまで待機するためにS1304に戻り、あればS1306に進む。S1306においてゲーム機B200bから送信されたプレイヤBの操作情報を、他の機器を経由した場合も含めて受信し、仮想世界Bに関する操作情報1201としてバッファリングし、この情報を、場合によっては他の機器を経由してゲーム機Aに送信する。S1307では仮想世界Bに関する(m)番目の操作情報1201がなければ受信するまで待機するためにS1306に戻り、あればS1308に進む。
S1308においては図12(c)に示した第1−3処理を行う。S1309においては図12(d)に示した第1−4処理を行う。S1310においては図12(e)に示した第1−5処理を行う。S1311においては図12(f)に示した第1−6処理を行う。S1312においてl及びmをインクリメントし、S1304に戻る。
各機器間で仮想世界の状況に齟齬があってはならないため、次に述べる各処理は、ゲーム機A200a、ゲーム機B200b及びサーバ300において同一のものでなくてはならない。
まず、仮想世界Aに関する設定手段1601は、いずれの機器においても、同一の仮想世界Aに関する0番目の状況情報1102を設定し、仮想世界Bに関する設定手段1701は、いずれの機器においても、同一の仮想世界Bに関する0番目の状況情報1202を設定する。同一情報でなくではならないのはオブジェクト情報に限らず、例えば擬似乱数の初期値が状況情報に含まれる場合、この値を統一しておくことで、見かけ上偶然に発生するイベントを、各機器で同じように扱うことができる。
また、仮想世界Aに関する更新手段1602は、いずれの機器においても、同一の仮想世界Aに関する(n−1)番目の状況情報1102及び(n)番目の仮想世界Aに関する操作情報1101を取り込んだ場合、同一の仮想世界Aに関する(n)番目の状況情報1102及び後に仮想世界Bに登場するオブジェクトとそれに関連付けられた整数を出力し、仮想世界Bに関する更新手段1702は、いずれの機器においても、同一の仮想世界Bに関する(n−1)番目の状況情報1202及び(n)番目の仮想世界Bに関する操作情報1201を取り込んだ場合、同一の仮想世界Bに関する(n)番目の状況情報1202及び後に仮想世界Aに登場するオブジェクトとそれに関連付けられた整数を出力する。
上述の処理においては、一方の仮想世界でイベントが発生した時点で、後に他方の仮想世界に登場する新規オブジェクトを生成しているが、初めから完全な形のオブジェクト情報ではなく、後にそれに基づいて1以上のオブジェクト情報を生成できる情報(以下、イベント情報と記述する)を生成し、仮想世界Aに関する干渉情報1103及び仮想世界Bに関する干渉情報1203にに記憶させてもよい。例えば他方の仮想世界に、同種かつ複数の新規オブジェクトが同心円状に登場する場合は、1つのオブジェクト情報、中心座標、半径、個数等をイベント情報としてまとめれば、複数のオブジェクト情報を直接記憶するよりもメモリの消費が少ない。この場合は、仮想世界Aに関する再配分手段1605及び仮想世界Bに関する再配分手段1704が、他方の仮想世界のイベント発生時に生成されたイベント情報に基づいて新規に登場するオブジェクトのオブジェクト情報を生成する。
図13、図14及び図15に示したフローチャートでは、仮想世界Aの更新と仮想世界Bの更新を1組にして行っているが、必ずしもこの順序で処理を行う必要はなく、仮想世界Aに関する処理の順序と仮想世界Bに関する処理の順序をそれぞれ変えなければ、操作情報を受信した時点で仮想世界の更新を行ってもよい。ただし、仮想世界Bの(n)番目のフレームの処理が終わった後に仮想世界Aの(n+D+1)番目のフレームの処理を行わなくてはならず、仮想世界Aの(n)番目のフレームの処理が終わった後に仮想世界Bの(n+D+1)番目のフレームの処理を行わなくてはならない。この場合、ゲーム機A200a及びゲーム機B200bにおいては両仮想世界の状況を表示するタイミングが決められているため、ゲーム機Aにおいて仮想世界Bの更新を先に進めてしまった場合は、それ以前に生成した仮想世界Bに関する状況情報1202及び仮想世界Bに関する演出情報1204を保存しておく必要があり、ゲーム機Bにおいて仮想世界Aの更新を先に進めてしまった場合は、それ以前に生成した仮想世界Aに関する状況情報1102及び仮想世界Aに関する演出情報1104を保存しておく必要がある。
また、サーバ300においては、プレイヤの操作情報の入力に即応してゲームを進行させる必要がないため、ゲーム中の全ての仮想世界Aに関する操作情報1101及び仮想世界Bに関する操作情報1201を保存しておき、ゲーム機A200a上及びゲーム機B200b上でゲームの処理が全て終了した後に各処理を進め、結果を導き出してもよい。
ゲーム機A200aは、図13のフローチャートのS1211a及びS1212aでプレイヤBの操作情報を受信するまで待機しており、ゲーム機B200bは、図14のフローチャートのS1211b及びS1212bでプレイヤAの操作情報を受信するまで待機している。これらの待機を行う機能は、通信遅延のゆらぎが小さく、突発的に大きな遅延が発生することのない通信網を使い、ゲーム機A200aとゲーム機B200bのゲーム開始時刻を正確に合わせることができれば必要ない。また、各機器の間で、フレーム間のインターバルの長さを決定するクロックが微妙に異なる場合、開始時刻が同じでも徐々にフレーム処理のタイミングがずれてくることもある。この場合、各機器のバッファに蓄えられた操作情報の絶対的な量や、他の機器との蓄えられた量の比較結果に基づいて、インターバルの長さを調節し、待機時間が発生しないようにしてもよい。
図13のS1208a及びS1220a、並びに図14のS1208b及び1220bのように、各ゲーム機における表示はフレーム毎に行っているが、これは必ずしも毎回行う必要はなく、数フレームに1度等、間引いてもよい。
一方のプレイヤが操作するゲーム機が、他方のプレイヤの操作情報を受信するまで待機することを利用すれば、悪意あるプレイヤが、自身にとってゲームの展開が不利になった場合に、操作情報の送信を意図的に滞らせ、ゲームを停止、もしくはその進行を遅くし、考える時間を稼ぐこともできる。この行為は、サーバ等操作情報を経由するコンピュータに、どちらのプレイヤが操作情報の送信を滞らせたか判定させ、そのプレイヤを失格にする等のペナルティを与えることにより阻止できる。
図16に本実施例を用いて行うことのできるゲームの例を示す。同時に図3も参照されたい。
図16(a)はこのゲームの画面を示す。
飛行機11a、弾丸12a、UFO13a及び火炎15aは仮想世界Aに属するオブジェクトであり、各機器内では仮想世界Aに関する状況情報1102に含まれるオブジェクト情報が状態を表す。ここで飛行機11aはプレイヤAが操作するプレイヤオブジェクトである。飛行機11b、弾丸12b、UFO13b及び火炎15bは仮想世界Bに属するオブジェクトであり、各機器内では仮想世界Bに関する状況情報1202に含まれるオブジェクト情報が状態を表す。ここで飛行機11bはプレイヤBが操作するプレイヤオブジェクトである。
残骸14aは仮想世界Aでイベントが発生し、仮想世界Bに新規オブジェクトが登場する際に表示される演出オブジェクトであり、各機器内では仮想世界Aに関する演出情報1104に含まれるオブジェクト情報が状態を表す。残骸14bは仮想世界Bでイベントが発生し、仮想世界Aに新規オブジェクトが登場する際に表示される演出オブジェクトであり、各機器内では仮想世界Bに関する演出情報1204に含まれるオブジェクト情報が状態を表す。
図16(b)、図16(c)、図16(d)及び図16(e)は仮想世界Aでイベントが発生し、その結果として仮想世界Bに新規オブジェクトが登場する過程を示す。
まず、飛行機11aが弾丸12aを発射する(図16(b))。次に、弾丸12aとUFO13aが衝突するというイベントが、仮想世界Aの(n)番目のフレームで発生し、イベントが発生したのと同一の空間座標に残骸14aが表示される(図16(c))。更に残骸14aがある程度移動した後に消滅し、残骸14aが消滅したのと同一の空間座標に火炎15bという新規オブジェクトが、仮想世界Bの(n+K)番目のフレーム(Kは整数定数)に登場する(図16(d))。更に火炎15bが飛行機11bに衝突し、飛行機11bがダメージを受ける(図16(e))。
前述のように、演出オブジェクトはゲーム機A200a上とゲーム機B200b上とで同じ速さかつ同じ経路で動かすことはできないため、表示されている時間が長いゲーム機上では遅く動かす、あるいは遠回りさせるなどして両方のゲーム機上で自然に見えるようにする。
図16(f)に、各オブジェクトの衝突可能であるか、不可能であるかの関係を示す。
図17に本実施例を用いて行うことのできるゲームの別の例を示す。同時に図3も参照されたい。
図17(a)にこのゲームの画面を示す。
人21a及び爆炎23aは仮想世界Aに属するオブジェクトであり、各機器内では仮想世界Aに関する状況情報1102に含まれるオブジェクト情報が状態を表す。ここで人21aはプレイヤAが操作するプレイヤオブジェクトである。人21b及び爆炎23bは仮想世界Bに属するオブジェクトであり、各機器内では仮想世界Bに関する状況情報1202に含まれるオブジェクト情報が状態を表す。ここで人21bはプレイヤBが操作するプレイヤオブジェクトである。
爆弾22aは仮想世界Aでイベントが発生し、仮想世界Bに新規オブジェクトが登場する際に表示される演出オブジェクトであり、各機器内では仮想世界Aに関する演出情報1104に含まれるオブジェクト情報が状態を表す。爆弾22bは仮想世界Bでイベントが発生し、仮想世界Aに新規オブジェクトが登場する際に表示される演出オブジェクトであり、各機器内では仮想世界Bに関する演出情報1204に含まれるオブジェクト情報が状態を表す。
図17(b)、図17(d)及び図17(c)は、仮想世界Aでイベントが発生し、その結果として仮想世界Bに新規オブジェクトが登場する過程を示す。
まず、プレイヤAの操作によって、人21aが爆弾22aを投げるというイベントが、仮想世界Aの(n)番目のフレームで発生する(図17(b))。次に、爆弾22aがある程度移動した後に消滅し、爆弾22aが消滅したのと同一の空間座標に爆炎23bという新規オブジェクトが、仮想世界Bの(n+K)番目のフレーム(Kは整数定数)に登場する(図17(c))。更に爆炎23bが人21bに衝突し、人21bがダメージを受ける(図17(d))。
図17(e)に、各オブジェクトが衝突可能であるか、不可能であるかの関係を示す。
図18に本実施例を用いて行うことのできるゲームの別の例を示す。同時に図4も参照されたい。
図18(a)にこのゲームの画面を示す。
人31a及び虫32aは仮想世界Aに属するオブジェクトであり、各機器内では仮想世界Aに関する状況情報1102に含まれるオブジェクト情報が状態を表す。ここで人31aはプレイヤAが操作するプレイヤオブジェクトである。人31b及び虫32bは仮想世界Bに属するオブジェクトであり、各機器内では仮想世界Bに関する状況情報1202に含まれるオブジェクト情報が状態を表す。ここで人31bはプレイヤBが操作するプレイヤオブジェクトである。
卵33aは仮想世界Aでイベントが発生し、仮想世界Bに新規オブジェクトが登場する際に表示される演出オブジェクトであり、各機器内では仮想世界Aに関する演出情報1104に含まれるオブジェクト情報が状態を表す。卵33aが表示されている間は、同一の空間座標に外観を透明にした虫32a及び虫32bが存在している。卵33bは仮想世界Bでイベントが発生し、仮想世界Aに新規オブジェクトが登場する際に表示される演出オブジェクトであり、各機器内では仮想世界Bに関する演出情報1204に含まれるオブジェクト情報が状態を表す。卵33bが表示されている間は、同一の空間座標に外観を透明にした虫32a及び虫32bが存在している。
図18(a)、図18(b)及び図18(c)は、仮想世界Aでイベントが発生し、その結果として仮想世界Bに新規オブジェクトが登場する過程を示す。
まず、人31aが虫32aを踏みつけるというイベントが、仮想世界Aの(n)番目のフレームで発生する(図18(b))。次に虫32bという新規オブジェクトが、仮想世界Bの(n+K)番目のフレーム(Kは定数整数)に登場する(図18(c))。更に虫32aが、仮想世界Aの(n+J)番目のフレーム(Jは整数定数)で消滅する(図18(d))。
ここで仮想世界Bの(n+K)番目のフレームから仮想世界Aの(n+J)番目のフレームまでは虫32aと虫32bを同一の空間座標に配置し、外観を透明にする。更にこの間、卵33aを同一の空間座標に配置する。
図18(e)に、各オブジェクトが衝突可能であるか、不可能であるかの関係を示す。卵33a自身は他のどのオブジェクトとも衝突不可能であるが、同一の空間座標に虫32aと虫32bが配置されているため、見かけ上は衝突可能である。
ここに示した複数のゲームの例では、演出オブジェクトの登場する空間座標及びフレームを、イベントが発生する空間座標及びフレーム等と同一のものとしたが、もちろん近傍の空間座標やフレームでもよい。また、イベントの発生や新規オブジェクトと演出オブジェクトの挙動の因果関係が明らかならば、遠く離れた空間座標に演出オブジェクトを配置してもよく、演出オブジェクトがなくても因果関係が明らかならばこれらを一切登場させなくてもよい。
異なる仮想世界に属するオブジェクト同士、あるいは演出オブジェクトと両仮想世界に属するオブジェクト同士は衝突不可能だが、これらを重畳してディスプレイ209に表示する際、空間上の同一領域を占める場合がある。
このような場合、2次元ゲームではプレイヤにとって重要なオブジェクトが上に来るように表示すればよい。また、ゲーム機200a上とゲーム機200b上とで重ねる順序が違ってもよい。3次元ゲームでは、オブジェクト同士を互いに食い込ませた上でライティングを施し、表示すればよい。
2次元ゲームでも3次元ゲームでも、互いに衝突不可能なオブジェクトのうち片方を、空間上の同一領域を占める場合にのみ半透明にし、両方のオブジェクトが認識しやすいようにしてもよい。また、初めからオブジェクトを火炎、水しぶき及び幽霊等、半透明の外観を持っていても違和感のないものに設定しておいてもよい。
また、仮想世界Aに属するオブジェクトと仮想世界Bに属するオブジェクトを、空間上の離れた場所に固め、オブジェクト同士が重ならないようにしてもよい。この場合は、いわゆる落ちものと呼ばれるゲームの対戦が可能になる。
ゲームによっては、仮想世界Aに属するプレイヤオブジェクト及び仮想世界Bに属するノンプレイヤオブジェクト、仮想世界Bに属するプレイヤオブジェクト及び仮想世界Aに属するノンプレイヤオブジェクトをそれぞれ味方同士のグループとし、両グループを敵として対戦させることが有効な演出となることがある。これはプレイヤオブジェクトは敵のオブジェクトとの衝突がなければゲームにならないが、味方のオブジェクトとの衝突はなくても違和感がないためである。この場合、味方のオブジェクトを同系色で統一するなどで敵味方を区別してもよく、一方のグループを日本風のデザインに、他方のグループを西洋風のデザインにする等の方法で区別してもよい。
また、ゲームの種類は、プレイヤ同士が技量を競う対戦ゲームではなく、同一の目的を達成するための協力ゲームであってもよい。この場合は、一方のプレイヤがイベントを起こすことで他方のプレイヤにとって有用なアイテムが新規オブジェクトとして生じる等の演出を行う。
また、1人のプレイヤが1つのプレイヤオブジェクトを操作し続ける形態でなくてもよい。例えば、1つの仮想世界における複数のオブジェクトを、1人のプレイヤが次々と操作してもよく、複数のオブジェクトを同時に操作してもよい。また、1つのゲーム機を複数のプレイヤが操作してもよく、1つの仮想世界に、複数のプレイヤがそれぞれ操作するオブジェクトを登場させるために、通信遅延時間が無視できるゲーム機を追加して接続してもよい。
サーバ300からゲーム機A200aでもゲーム機B200bでもない他の機器に操作情報を送信し、ゲームの様子を再現することで第三者がこれを観戦する事が可能になる。この際、両仮想世界のタイミングのずれ方はゲーム機A200a又はゲーム機B200bと同じであってもよいし、仮想世界Aの(n)番目のフレームと仮想世界Bの(n)番目のフレームが一致するようにしてもよい。後者の場合は演出オブジェクトを、ゲーム機A200a及びゲーム機B200bとも異なるタイミングで表示しなければならない。
本発明のゲーム機A200a及びゲーム機B200bはそれぞれ、RAM203に他方のゲーム機から送信された操作情報をバッファリングしている。このため、悪意あるプレイヤがRAM203内にバッファリングされた対戦相手の操作情報を本来よりも早いタイミングで読み出すことができれば、対戦相手の挙動を本来よりも早いタイミングで知ることが可能になってしまう。
これを防ぐためには、各ゲーム機と通信網100との間に、プレイヤと利害関係のない第三者によって管理される中継機を挿入し、対戦相手からの操作情報の供給を制限すればよい。図19を参照してこれら中継機の動作を説明する。
図19(a)に中継機A300aにおける、ある瞬間のデータの流れを示した。通信網を介してゲーム機B200bから送信されたプレイヤBの操作情報をRAM403にバッファリングする。ゲーム機A200aから送信されたプレイヤAの操作情報は、受信すると同時に通信網を介してゲーム機B200bに送信する。ここで、中継機A300aのCPU402はプレイヤAの(n+D)番目の操作情報が受信されたか否かを判別し、受信された後にプレイヤBの(n)番目の操作情報をゲーム機A200aに送信する。
ゲーム機A200aと中継機A300aの通信遅延や、各機器の処理時間を考慮し、プレイヤAの(n+P)番目の(PはD以下の整数定数)操作情報が受信された後にプレイヤBの(n)番目の操作情報を送信するようにしてもよい。
図19(b)に中継機B300bにおける、ある瞬間のデータの流れを示した。通信網を介してゲーム機A200aから送信されたプレイヤAの操作情報をRAM403にバッファリングする。ゲーム機B200bから送信されたプレイヤAの操作情報は、受信すると同時に通信網を介してゲーム機A200aに送信する。ここで、中継機B300bのCPU402はプレイヤBの(n+D)番目の操作情報が受信されたか否かを判別し、受信された後にプレイヤAの(n)番目の操作情報をゲーム機B200bに送信する。
ゲーム機B200bと中継機B300bの通信遅延や、各機器の処理時間を考慮し、プレイヤBの(n+Q)番目の(QはD以下の整数定数)操作情報が受信された後にプレイヤAの(n)番目の操作情報を送信するようにしてもよい。
各中継機は構造、動作共に簡単であるため、ゲームやその配布元毎に設置する必要はなく、設置場所も選ばない。都市間の対戦を実現するために、通信網上の、都市毎に1つの中継機を設置してもよく、携帯電話の基地局やアクセスポイントに設置してもよい。
実施例1を用いたゲームの例では、一方の仮想世界でイベントが発生し、他方の仮想世界に新規オブジェクトが登場する際に、新規オブジェクトの登場時の状態を表すオブジェクト情報を初めから生成し、イベント発生と新規オブジェクト登場を別の、演出オブジェクトで繋ぐことで演出を行っていたが、別の手法も用いることができる。図20にその手法を用い、仮想世界Aの(n)番目のフレームでイベントが発生し、その結果として仮想世界Bの(n+K)番目のフレームに新規オブジェクトが登場する場合の、各ゲーム機における各処理のタイミングを示す。
図20(a)はゲーム機A200aにおける処理のタイミングである。仮想世界Aの(n)番目のフレームの更新時にイベントが発生し、後に仮想世界Bに登場する新規オブジェクトのオブジェクト情報が生成される。実施例1ではこの新規オブジェクトは仮想世界Bの(n+K)番目のフレームまで表示されないが、本実施例ではこの直後からゲーム機A200aのディスプレイ209に表示する。仮想世界Bの(n+K)番目のフレームでこのオブジェクトのオブジェクト情報は仮想世界Bの状況を表す情報に追加されるが、それまでの間に両仮想世界とは無関係にこれを書き換える。これによりこのオブジェクトを仮想世界Aでイベントが発生した空間座標から、仮想世界Bで登場する空間座標まで移動させたりすることが可能となる。
図20(b)はゲーム機B200bにおける処理のタイミングである。ゲーム機A200aにおける場合と同様に、仮想世界Aの(n)番目のフレームの更新時にイベントが発生し、後に仮想世界Bに登場する新規オブジェクトのオブジェクト情報が生成される。これをゲームの進行と並行し、両仮想世界とは無関係に書き換える。この間、このオブジェクトはゲーム機B200bのディスプレイ209に表示される。仮想世界Bの(n+K)番目のフレームで仮想世界Bの状況を表す情報に追加する。
新規オブジェクトを生成してから仮想世界Bの状況を表す情報に追加するまでに、それを表すオブジェクト情報を書き換える回数は、オブジェクト情報を生成した段階で決定されており、両ゲーム機上で同じでなくてはならない。また、いずれの機器においても、そのそれぞれの書き換えが行われる際には、同一のオブジェクト情報を読み込んだ場合には、同一のオブジェクト情報に書き換えなければならない。これによりいずれのゲーム機上でも、仮想世界Bの状況を表す情報に、同一のオブジェクト情報を追加することが可能になり、齟齬が生じない。図20の例ではその書き換え回数を(H)回としている。
以上の様な条件があるため、書き換えるタイミングを、ゲーム機上の表示を行うタイミングと同期させることはできず、ゲーム機の1つのフレームで複数の書き換えが行われたり、全く行われなかったりする。
特別な場合に限り、書き換えるタイミングを、ゲーム機上の表示タイミングと同期させることは可能である。例えば、対象となるオブジェクトの速度が最初は0であり、複数の書き換えの後に速度が60になり、この間のフレーム数がゲーム機A200a上では30フレームであり、ゲーム機B200b上では20フレームであるとする。この場合は、ゲーム機A200a上で書き換えを行う毎に加速度として2を速度に加え、ゲーム機B200b上で書き換えを行う毎に加速度として3を速度に加えれば、最終的に同じ状態の速度が得られる。
しかしこのような場合は例外であり、数字が割り切れない場合には齟齬が生じる。整数ではなく不動小数点数を使ってこれらの演算を行っても、わずかな齟齬が生じ、後々ゲーム機毎に異なる結果を生む原因となる。また、プログラムも複雑なものとなる。
上述した様な、一方の仮想世界のイベント発生と共に生成され、後に他方の仮想世界の状況を表す情報に追加されるオブジェクト情報は、その間の複数回の書き換えを、図20の様にゲーム機のフレームに対して均等に割り振ってもよいし、また別の方法として最初は単位時間当たり異なる頻度で書き換えを行い、徐々に頻度を同じにしていく、あるいはその逆、等の方法で回数を合わせてもよい。
以降、本実施例の詳細について述べる。本実施例の機器構成は実施例1のものと同一であり、各機器の接続形態については図5を、各機器内の各ハードウェアの構成については図6を参照されたい。
図21にRAM203及びRAM303に記憶される情報を示す。これらの情報は、仮想世界Aに関する情報2100、仮想世界Bに関する情報2200及びその他の情報に大きく分けられる。
仮想世界Aに関する情報2100は、1以上の操作情報2101、1以上の状況情報2102及び干渉情報2103を含む。仮想世界Bに関する情報2200は、1以上の操作情報2201、1以上の状況情報2202及び干渉情報2203を含む。その他の情報は、オブジェクトのモデル情報2001及びオブジェクトの画像情報2002を含む。
操作情報2101及び操作情報2201はそれぞれ、1つのフレームでゲーム機A200aのゲームコントローラ207から入力された操作情報及び1つのフレームでゲーム機B200bのゲームコントローラ207から入力された操作情報であり、これらが複数記憶されることで、順不同で受信されたこれらの情報を並べ替え、バッファリングすることが可能になる。ゲーム機A200aにおいては1つの操作情報2101が記憶できればよく、バッファの機能は必要ではない。ゲーム機B200bにおいては1つの操作情報2201が記憶できればよく、バッファの機能は必要ではない。
状況情報2102及び状況情報2202はそれぞれ、1つのフレームにおける仮想世界Aの状況及び1つのフレームにおける仮想世界Bの状況を表す情報であり、それぞれ、1以上のオブジェクト情報を含む。その他、必要に応じて仮想世界の状況を表すその他の情報、例えば地形、タイマーイベントを発生させるためのタイマーのそれぞれの時点での値、風向き又は擬似乱数の初期値等を含む。
干渉情報2103及び干渉情報2203はそれぞれ、後に仮想世界Bに新規オブジェクトを登場させるための情報及び後に仮想世界Aに新規オブジェクトを登場させるための情報であり、それぞれ、0以上のオブジェクト情報を含むが、ゲーム開始時点ではいずれも空である。
オブジェクトのモデル情報2001は、オブジェクトを表示する際に必要になるオブジェクトの形状を表す情報である。オブジェクトの画像情報2002は、オブジェクトを表示する際に必要になるオブジェクトに貼り付ける画像の情報である。サーバ300においてはオブジェクトのモデル情報2001及びオブジェクトの画像情報2002は必要ではない。また、2次元ゲームの場合等、オブジェクトの画像情報2002を表示するだけで済む場合は、オブジェクトのモデル情報2001は必要ではない。
これらの各情報は必ずしもRAM203やRAM303に記憶される必要はなく、CPU202やCPU302内のキャッシュメモリ等、他のハードウェアに記憶されてもよい。また、書き換える必要のない情報ならばROM204やROM304に記憶されてもよい。
図22に、プログラムがCPU202及びCPU302を用いて実現する手段を示す。これらの手段は、仮想世界Aに関する手段2600及び仮想世界Bに関する手段2700に大きく分けられる。
仮想世界Aに関する手段2600は、設定手段2601、更新手段2602、配分手段2603、再配分手段2604、書換手段2605及び繰返手段2606を含む。仮想世界Bに関する手段2700は、設定手段2701、更新手段2702、配分手段2703、再配分手段2704、書換手段2705及び繰返手段2706を含む。これらの各手段の、それぞれの機能の詳細については後述する。
これらの各手段は、CPU202やCPU302の別々の領域に実現される必要はなく、同一のレジスタや同一のキャッシュメモリを使い回すことにより実現されてよい。また、ゲーム機A200a又はゲーム機B200bにおいては、これらの手段の一部はGPU208上に実現されてもよい。
図23は、ゲーム機A200aにおいて行う処理を示すデータの流れ図である。これらの処理は、仮想世界Aに関する処理21200a及び仮想世界Bに関する処理22200aに大きく分けられる。
図24は、ゲーム機B200bにおいて行う処理を示すデータの流れ図である。これらの処理は、仮想世界Aに関する処理21200b及び仮想世界Bに関する処理22200bに大きく分けられる。
図25は、サーバ300において行う処理を示すデータの流れ図である。これらの処理は、仮想世界Aに関する処理21300及び仮想世界Bに関する処理22300に大きく分けられる。
以下、フローチャートを参照しながら本実施例における各機器の、時間を追っての動作を示す。同時に図21、図22、図23、図24及び図25も参照されたい。なお、フローチャート中の記号l及びmはそれぞれ、仮想世界A及び仮想世界Bのフレーム番号を表すカウンタ変数である。
図26はゲーム機A200a、ゲーム機B200b及びサーバ300において共通して行う処理のサブルーチンを示すフローチャートである。図26(a)、図26(c)及び図26(e)は仮想世界Aに関する処理であり、図26(b)、図26(d)及び図26(f)は仮想世界Bに関する処理である。
ゲーム開始前に、各機器において両仮想世界の初期設定をする。
図26(a)に、第2−1処理のサブルーチンを示す。S211において、仮想世界Aに関する設定手段2601が仮想世界Aに関する0番目の状況情報2102を設定し、サブルーチンを終了する。
図26(b)に、第2−2処理のサブルーチンを示す。S221において、仮想世界Bに関する設定手段2701が仮想世界Bに関する0番目の状況情報2202を設定し、サブルーチンを終了する。
S211及びS221において、各機器では、仮想世界Aに関する0番目の状況情報2102及び仮想世界Bに関する0番目の状況情報2202を、ROM204やディスクドライブ205から読み込み、RAM203に記憶させる。これらの情報はサーバ300や通信網に接続された他の機器からダウンロードしてもよい。また、あらかじめ機器内に用意された情報とダウンロードした情報を組み合わせてもよい。例えばオブジェクトの衝突判定領域等の情報は機器内に用意されたものを用い、オブジェクトの初期配置はダウンロードした情報を使う、等である。
ゲーム開始後に、ゲームを進行させるため、両仮想世界の状況情報を更新する。
図26(c)に、第2−3処理のサブルーチンを示す。S212において、仮想世界Aに関する更新手段2602が仮想世界Aに関する(l−1)番目の状況情報2102を更新し、仮想世界Aに関する(l)番目の状況情報2102を生成する。この際、プレイヤAが入力した仮想世界Aに関する(l)番目の操作情報2101に基づきプレイヤオブジェクトを操作し、ノンプレイヤオブジェクトをオブジェクト情報に含まれる速度等の情報に基づいて操作する。各オブジェクトを操作した後、仮想世界Aに関する更新手段2602は更に、S213において、オブジェクト間の衝突判定等を行い、イベントが発生したか否かを判定し、イベントが発生しなかった場合はサブルーチンを終了する。イベントが発生した場合、S214において、後に仮想世界Bに登場する新規オブジェクトと、それに関連付けられた、この新規オブジェクトを生成した仮想世界Aのフレーム番号を表す、lと同じ値の整数である、生成フレーム数と、後にこの新規オブジェクトが登場する仮想世界Bのフレーム番号を表す、l+D以上の整数である、登場フレーム数と、この新規オブジェクトが生成してから仮想世界Bに登場するまでの間に書換手段2605によって書き換えられる回数を表す、予定書換回数を生成する。これらの新規オブジェクトとそれに関連付けられた整数の組を、仮想世界Aに関する配分手段2603が、仮想世界Aに関する干渉情報2103に追加し、S213に戻る。
図26(d)に、第2−4処理のサブルーチンを示す。S222において、仮想世界Bに関する更新手段2702が仮想世界Bに関する(m−1)番目の状況情報2202を更新し、仮想世界Bに関する(m)番目の状況情報2202を生成する。この際、プレイヤBが入力した仮想世界Bに関する(m)番目の操作情報2201に基づきプレイヤオブジェクトを操作し、ノンプレイヤオブジェクトをオブジェクト情報に含まれる速度等の情報に基づいて操作する。各オブジェクトを操作した後、仮想世界Bに関する更新手段2702は更に、S223において、オブジェクト間の衝突判定等を行い、イベントが発生したか否かを判定し、イベントが発生しなかった場合はサブルーチンを終了する。イベントが発生した場合、S224において、後に仮想世界Aに登場する新規オブジェクトと、それに関連付けられた、この新規オブジェクトを生成した仮想世界Bのフレーム番号を表す、mと同じ値の整数である、生成フレーム数と、後にこの新規オブジェクトが登場する仮想世界Aのフレーム番号を表す、m+D以上の整数である、登場フレーム数と、この新規オブジェクトが生成してから仮想世界Aに登場するまでの間に書換手段2705によって書き換えられる回数を表す、予定書換回数を生成する。これらの新規オブジェクトとそれに関連付けられた整数の組を、仮想世界Bに関する配分手段2703が、仮想世界Bに関する干渉情報2203に追加し、S223に戻る。
S213及びS223において行う衝突判定は、操作した後ではなく操作する前のオブジェクト情報に基づいて行ってもよい。また、イベントは衝突判定の結果だけではなく、プレイヤの操作や、擬似乱数による見かけ上の偶然、タイマーの動作、あるいはこれらの組み合わせ等によって発生させてもよい。発生した1つのイベントに対して、新規オブジェクトを複数生成してもよい。
一方の仮想世界で発生したイベントを受けて、他方の仮想世界に新規オブジェクトを登場させる。
図26(e)に、第2−5処理のサブルーチンを示す。S215において、仮想世界Aに関する再配分手段2604が、仮想世界Bに関する干渉情報2203に含まれるオブジェクト情報のうち、関連付けられた登場フレーム数がlであるもの全てを、仮想世界Aに関する(l)番目の状況情報2102に追加して記憶させ、元のオブジェクト情報とそれに関連付けられた整数の組は消去し、サブルーチンを終了する。
図26(f)に、第2−6処理のサブルーチンを示す。S225において、仮想世界Bに関する再配分手段2704が、仮想世界Aに関する干渉情報2103に含まれるオブジェクト情報のうち、関連付けられた登場フレーム数がmであるもの全てを、仮想世界Bに関する(m)番目の状況情報2202に追加して記憶させ、元のオブジェクト情報とそれに関連付けられた整数の組は消去し、サブルーチンを終了する。
図27のフローチャートを参照しながらゲーム機A200aの動作を説明する。ゲーム開始前に、S2201aにおいて図26(a)に示した第2−1処理を、更にS2202aにおいて図26(b)に示した第2−2処理を実行することで初期設定を行い、S2203aにおいてカウンタ変数l及びmに1を代入する。
ゲーム開始後にまず、仮想世界Aのみの更新とオブジェクトの表示を(D)回繰り返し、その後は仮想世界A及び仮想世界Bの両方の更新とオブジェクトの表示を繰り返す。具体的には、S2204aからS2208aまでのステップを実行し、S2209aにおいてフレーム間インターバルの後、lをインクリメントする。S2210aにおいてl≦DならばS2204aに戻り、l>DならばS2211aに進む。S2211aではゲーム機B200bから送信されたプレイヤBの操作情報を、他の機器を経由した場合も含めて受信し、仮想世界Bに関する操作情報2201としてバッファリングする。S2212aでは仮想世界Bに関する(m)番目の操作情報2201がなければ受信するまで待機するためにS2211aに戻り、あればS2213aからS2220aまでのステップを実行し、S2221aにおいてフレーム間インターバルの後、l及びmをインクリメントし、S2211aに戻る。
S2204a及びS2213aにおいては、プレイヤAの操作情報を受け付け、仮想世界Aに関する(l)番目の操作情報2101とし、この情報を、場合によっては他の機器を経由してゲーム機B200bに送信する。S2205a及びS2214aにおいては図26(c)に示した第2−3処理を行う。S2216aにおいては図26(d)に示した第2−4処理を行う。S2207a及びS2218aにおいては図26(e)に示した第2−5処理を行う。S2219aにおいては図26(f)に示した第2−6処理を行う。
S2206a及びS2215aにおいては、仮想世界Aに関する干渉情報2103に含まれるオブジェクト情報のそれぞれを、仮想世界Aに関する繰返手段2606が、仮想世界Aに関する書換手段2605に0回以上書き換えさせる。干渉情報2103に含まれる、あるオブジェクト情報に関連付けられた生成フレーム数をK1、登場フレーム数をK2、予定書換回数をK3とした場合、仮想世界Aに関する繰返手段2606は、このオブジェクト情報が仮想世界Aの(K1)番目のフレームで生成され、仮想世界Bの(K2)番目のフレームに追加されるまでの間に、仮想世界Aに関する書換手段2605によって書き換えられる回数が合計(K3)回になるようにする。書き換えの頻度は、ゲーム機の表示のフレームに均等に割り振ってもよいし、それ以外の頻度でもよい。
S2217aにおいては、仮想世界Bに関する干渉情報2203に含まれるオブジェクト情報のそれぞれを、仮想世界Bに関する繰返手段2706が、仮想世界Aに関する書換手段2705に0回以上書き換えさせる。干渉情報2203に含まれる、あるオブジェクト情報に関連付けられた生成フレーム数をK1、登場フレーム数をK2、予定書換回数をK3とした場合、仮想世界Bに関する繰返手段2706は、このオブジェクト情報が仮想世界Bの(K1)番目のフレームで生成され、仮想世界Aの(K2)番目のフレームに追加されるまでの間に、仮想世界Bに関する書換手段2705によって書き換えられる回数が合計(K3)回になるようにする。書き換えの頻度は、ゲーム機の表示のフレームに均等に割り振ってもよいし、それ以外の頻度でもよい。
S2208a及びS2220aにおいては、仮想世界Aに関する(l)番目の状況情報2102、仮想世界Aに関する干渉情報2103、仮想世界Bに関する(m)番目の状況情報2202及び仮想世界Bに関する干渉情報2203に含まれるオブジェクト情報が状態を表すオブジェクトの全て又は一部を、オブジェクトのモデル情報2001やオブジェクトの画像情報2002を用いてゲーム機A200aのディスプレイ209に表示する。
図28のフローチャートを参照しながらゲーム機B200bの動作を説明する。ゲーム開始前に、S2201bにおいて図26(a)に示した第2−1処理を、更にS2202bにおいて図26(b)に示した第2−2処理を実行することで初期設定を行い、S2203bにおいてカウンタ変数l及びmに1を代入する。
ゲーム開始後にまず、仮想世界Bのみの更新とオブジェクトの表示を(D)回繰り返し、その後は仮想世界A及び仮想世界Bの両方の更新とオブジェクトの表示を繰り返す。具体的には、S2204bからS2208bまでのステップを実行し、S2209bにおいてフレーム間インターバルの後、mをインクリメントする。S2210bにおいてm≦DならばS2204bに戻り、m>DならばS2211bに進む。S2211bではゲーム機A200aから送信されたプレイヤAの操作情報を、他の機器を経由した場合も含めて受信し、仮想世界Aに関する操作情報2101としてバッファリングする。S2212bでは仮想世界Aに関する(l)番目の操作情報2201がなければ受信するまで待機するためにS2211bに戻り、あればS2213bからS2220bまでのステップを実行し、S2221bにおいてフレーム間インターバルの後、l及びmをインクリメントし、S2211bに戻る。
S2204b及びS2213bにおいては、プレイヤBの操作情報を受け付け、仮想世界Bに関する(m)番目の操作情報2201とし、この情報を、場合によっては他の機器を経由してゲーム機A200aに送信する。S2214bにおいては図26(c)に示した第2−3処理を行う。S2205b及びS2216bにおいては図26(d)に示した第2−4処理を行う。S2218bにおいては図26(e)に示した第2−5処理を行う。S2207b及びS2219bにおいては図26(f)に示した第2−6処理を行う。
S2215bにおいては、仮想世界Aに関する干渉情報2103に含まれるオブジェクト情報のそれぞれを、仮想世界Aに関する繰返手段2606が、仮想世界Aに関する書換手段2605に0回以上書き換えさせる。干渉情報2103に含まれる、あるオブジェクト情報に関連付けられた生成フレーム数をK1、登場フレーム数をK2、予定書換回数をK3とした場合、仮想世界Aに関する繰返手段2606は、このオブジェクト情報が仮想世界Aの(K1)番目のフレームで生成され、仮想世界Bの(K2)番目のフレームに追加されるまでの間に、仮想世界Aに関する書換手段2605によって書き換えられる回数が合計(K3)回になるようにする。書き換えの頻度は、ゲーム機の表示のフレームに均等に割り振ってもよいし、それ以外の頻度でもよい。
S2206b及びS2217bにおいては、仮想世界Bに関する干渉情報2203に含まれるオブジェクト情報のそれぞれを、仮想世界Bに関する繰返手段2706が、仮想世界Aに関する書換手段2705に0回以上書き換えさせる。干渉情報2203に含まれる、あるオブジェクト情報に関連付けられた生成フレーム数をK1、登場フレーム数をK2、予定書換回数をK3とした場合、仮想世界Bに関する繰返手段2706は、このオブジェクト情報が仮想世界Bの(K1)番目のフレームで生成され、仮想世界Aの(K2)番目のフレームに追加されるまでの間に、仮想世界Bに関する書換手段2705によって書き換えられる回数が合計(K3)回になるようにする。書き換えの頻度は、ゲーム機の表示のフレームに均等に割り振ってもよいし、それ以外の頻度でもよい。
S2208b及びS2220bにおいては、仮想世界Aに関する(l)番目の状況情報2102、仮想世界Aに関する干渉情報2103、仮想世界Bに関する(m)番目の状況情報2202及び仮想世界Bに関する干渉情報2203に含まれるオブジェクト情報が状態を表すオブジェクトの全て又は一部を、オブジェクトのモデル情報2001やオブジェクトの画像情報2002を用いてゲーム機B200bのディスプレイ209に表示する。
図29のフローチャートを参照しながらサーバ300の動作を説明する。ゲーム開始前に、S2301において図26(a)に示した第2−1処理を、更にS2302において図26(b)に示した第2−2処理を実行することで初期設定を行い、S2303においてカウンタ変数l及びmに1を代入する。
ゲーム開始後に、S2304においてゲーム機A200aから送信されたプレイヤAの操作情報を、他の機器を経由した場合も含めて受信し、仮想世界Aに関する操作情報2101としてバッファリングし、この情報を、場合によっては他の機器を経由してゲーム機Bに送信する。S2305では仮想世界Aに関する(l)番目の操作情報2101がなければ受信するまで待機するためにS2304に戻り、あればS2306に進む。S2306においてはゲーム機B200bから送信されたプレイヤBの操作情報を、他の機器を経由した場合も含めて受信し、仮想世界Bに関する操作情報2201としてバッファリングし、この情報を、場合によっては他の機器を経由してゲーム機Aに送信する。S2307では仮想世界Bに関する(m)番目の操作情報2201がなければ受信するまで待機するためにS2306に戻り、あればS2308に進む。
S2308においては図26(c)に示した第2−3処理を行う。S2310においては図26(d)に示した第2−4処理を行う。S2312においては図26(e)に示した第2−5処理を行う。S2313においては図25(f)に示した第2−6処理を行う。
S2309においては、仮想世界Aに関する干渉情報2103に含まれるオブジェクト情報のそれぞれを、仮想世界Aに関する繰返手段2606が、仮想世界Aに関する書換手段2605に0回以上書き換えさせる。干渉情報2103に含まれる、あるオブジェクト情報に関連付けられた生成フレーム数をK1、登場フレーム数をK2、予定書換回数をK3とした場合、仮想世界Aに関する繰返手段2606は、このオブジェクト情報が仮想世界Aの(K1)番目のフレームで生成され、仮想世界Bの(K2)番目のフレームに追加されるまでの間に、仮想世界Aに関する書換手段2605によって書き換えられる回数が合計(K3)回になるようにする。ゲーム機における場合と異なり、オブジェクトを表示する必要がないので徐々に書き換えていく必要はなく、オブジェクトを生成した直後、あるいは追加する直前に一度に(K3)回書き換えてもよい。
S2311においては、仮想世界Bに関する干渉情報2203に含まれるオブジェクト情報のそれぞれを、仮想世界Bに関する繰返手段2706が、仮想世界Aに関する書換手段2705に0回以上書き換えさせる。干渉情報2203に含まれる、あるオブジェクト情報に関連付けられた生成フレーム数をK1、登場フレーム数をK2、予定書換回数をK3とした場合、仮想世界Bに関する繰返手段2706は、このオブジェクト情報が仮想世界Bの(K1)番目のフレームで生成され、仮想世界Aの(K2)番目のフレームに追加されるまでの間に、仮想世界Bに関する書換手段2705によって書き換えられる回数が合計(K3)回になるようにする。ゲーム機における場合と異なり、オブジェクトを表示する必要がないので徐々に書き換えていく必要はなく、オブジェクトを生成した直後、あるいは追加する直前に一度に(K3)回書き換えてもよい。
各機器間で仮想世界の状況に齟齬があってはならないため、次に述べる各処理は、ゲーム機A200a、ゲーム機B200b及びサーバ300において同一のものでなくてはならない。
まず、仮想世界Aに関する設定手段2601は、いずれの機器においても、同一の仮想世界Aに関する0番目の状況情報2102を設定し、仮想世界Bに関する設定手段2701は、いずれの機器においても、同一の仮想世界Bに関する0番目の状況情報2202を設定する。
また、仮想世界Aに関する更新手段2602は、いずれの機器においても、同一の仮想世界Aに関する(n−1)番目の状況情報2102及び(n)番目の仮想世界Aに関する操作情報2101を取り込んだ場合、同一の仮想世界Aに関する(n)番目の状況情報2102及び後に仮想世界Bに登場するオブジェクトとそれに関連付けられた整数を出力し、仮想世界Bに関する更新手段2702は、いずれの機器においても、同一の仮想世界Bに関する(n−1)番目の状況情報2202及び(n)番目の仮想世界Bに関する操作情報2201を取り込んだ場合、同一の仮想世界Bに関する(n)番目の状況情報2202及び後に仮想世界Aに登場するオブジェクトとそれに関連付けられた整数を出力する。
また、仮想世界Aに関する書換手段2605は、いずれの機器においても、同一のオブジェクト情報を読み込んだ場合、同一のオブジェクト情報に書き換え、仮想世界Bに関する書換手段2705は、いずれの機器においても、同一のオブジェクト情報を読み込んだ場合、同一のオブジェクト情報に書き換える。
本実施例にあっては、各機器における仮想世界Aに関する干渉情報2103及び仮想世界Bに関する干渉情報2203に、順不同で新たにオブジェクト情報が追加されたり、あるいはそこからオブジェクト情報が消去されたりする。このため各機器内のRAM203の空いた領域に順番を付けずにオブジェクト情報を挿入すると、各機器間でこれら情報の順序に齟齬が生じ、後の衝突判定時に異なる結果を生む。このような不具合は、例えば連結リスト構造を利用してオブジェクト情報を管理することにより解決できる。
[実施例1と実施例2に共通する補足]
ここでは実施例1及び実施例2に共通する補足を行う。
実施例1にあっても実施例2にあっても、一方のゲーム機で受け付けられた操作情報を通信遅延が一定ではない通信網を用いて送信し、他方のゲーム機でこれらを受け付けられた順に並べ替えてバッファリングする。このため、それぞれの操作情報に、フレーム番号又はタイムスタンプを添えて送信しなければならない。ただし、情報を両ゲーム機が交互に送信する場合等、これら情報の順序が前後しないとあらかじめ分かっている場合はこれらを添える必要はない。また、一方のゲーム機で溜めた複数の操作情報を一度に送信してもよく、1つ前のフレームの操作情報との差分を送信する等、圧縮してから送信してもよい。
また、各機器内に構築する仮想世界は、機器間で齟齬があってはならないため、操作情報が途中で損失することは許されない。このため、信頼性の低いインターネット網を利用して送受信を行う際には、TCP(Transmission Control Protocol)等の、自動で再送を行う通信プロトコルを用いなければならない。ただし、ソフトウェアで再送を行う機能を実現すれば、UDP(User Datagram Protocol)等の通信プロトコルを用いてもよい。
同様に、仮想世界に齟齬が生じないように、更新等の処理では同一のデータ処理が行わなければならないのは前述した通りである。この際、各機器のCPUは数値の最下位ビットに至るまで同一の処理を行わなくてはならない。CPUの規格の違いにより、端数処理が異なっていたり、0による割り算に対して返す値が違ったり、不動小数点数の有効桁数が異なっていてはならない。ただし、これらの違いがあっても、ソフトウェアで吸収できれば問題ない。
各機器で用いるCPUは、複数であっても、1つのCPU内に複数のコアを持つものであってもよい。この際、機器内に構築された複数の仮想世界のそれぞれに、1つのコアを割り当てて処理を行ってもよい。
実施例1及び実施例2にあっては、ノンプレイヤオブジェクトの動作は、それが属する一方の仮想世界に関する状況情報にのみ基づいて操作され、他方の仮想世界は無関係である。そこで、一方の仮想世界が他方に影響を与えることを可能にする方法を考える。
本発明は、ゲーム機間で、各仮想世界を表示するタイミングのずれ方が異なるという特徴を持っている。従って、それぞれのゲーム機上で、同時に表示されている2つの仮想世界を相互に干渉させると、ゲーム機間で仮想世界の状況に齟齬が発生する。
そこで、仮想世界の更新の際、(n−1)番目の状況情報に基づいて(n)番目の状況情報を生成した後に、(n−1)番目の状況情報をすぐに破棄するのではなく保存し、必要になった場合に保存しておいた情報を参照できるようにしておく。
例えば仮想世界Aに属する第1オブジェクトが、仮想世界Bに属する第2オブジェクトを追跡する場合を考える。ゲーム機A200a、ゲーム機B200b及びサーバ300の各機器のいずれにおいても、仮想世界Aの(n)番目のフレームにおいて、第1オブジェクトを、仮想世界Bの(n−I)番目のフレーム(Iは整数定数)における第2オブジェクトの空間座標に向けて移動させる。同一の情報を参照して処理を行うため、第1オブジェクトの動作は各機器間で一致し、仮想世界の状況に齟齬が生じない。ただし、ゲーム機A200aにおいては、仮想世界Aの(n)番目のフレームが処理されるのと同時に仮想世界Bの(n−D)番目のフレームが処理されるため、I≧Dでなくてはならない。このような処理をした上で、追跡される側のオブジェクトと追跡する側のオブジェクトをゴムひものような画像で結び、追跡される側が追跡する側を引っ張るような演出をしてもよい。
本発明を利用したゲームでは、異なる仮想世界に属するオブジェクト同士は互いに衝突できないが、過去の仮想世界の状況を参照することにより擬似的な衝突を起こすことが可能になる。仮想世界Aに属する第1オブジェクトと仮想世界Bに属する第2オブジェクトが擬似的な衝突する場合を考える。ゲーム機A200a、ゲーム機B200b及びサーバ300の各機器のいずれにおいても、仮想世界Aの(n)番目のフレームにおける第1オブジェクトの空間座標及び衝突判定領域と、仮想世界Bの(n)番目のフレームにおける第2オブジェクトの空間座標及び衝突判定領域に基づいて衝突判定を行い、その結果が真ならば仮想世界Aの(n+D)番目のフレームにおいて第1オブジェクトが弾かれる等、その結果を反映させ、仮想世界Bの(n+D)番目のフレームにおいて第2オブジェクトが弾かれる等、その結果を反映させる。衝突判定の結果が2フレーム以上連続で真となると、後にそれに対する結果を2フレーム以上連続で反映させなくてはならなくなるが、これは一度真の結果を得た後は衝突判定を行わないようにすれば回避できる。
以上のように、過去の仮想世界の状況を参照することにより、異なる仮想世界に影響を与えることができるが。仮想世界の状況は全て保存しておく必要はなく、必要な情報のみ、例えば対象となるオブジェクトの空間座標のみを保存しておいてもよい。
実施例1及び実施例2では2つのゲーム機が接続されるものとしたが、本発明は互いに通信遅延が生じる関係の、3以上のゲーム機を接続して実現することもできる。その場合は、接続するゲーム機と同じ数の仮想世界を各ゲーム機上に構築し、そのうちの1つにおいてイベントが発生した場合、他の全ての仮想世界に新規オブジェクトを登場させるか、指定した一部の仮想世界に新規オブジェクトを登場させる。
本発明によるゲームでは、一方の仮想世界でイベントが発生した結果として他方の仮想世界に新規オブジェクトが登場するが、ゲームの種類によっては、新規オブジェクトが登場するフレームと空間座標を、仮想世界の状況情報に含まれる擬似乱数の初期値に基づき見かけ上ランダムに設定し、あるいは一方のプレイヤが他方のプレイヤに分からないように操作によって設定し、他方のプレイヤが予測できないようにすることでゲーム性を高める事が可能になる場合もある。しかし、実施例1及び実施例2にあっては、両仮想世界を1つのゲーム機上に構築し、イベント発生から新規オブジェクト登場までの処理をそのゲーム機上で完結させているため、悪意あるプレイヤがプログラムを解析し、新規オブジェクトの登場するフレームと空間座標が事前に割り出されてしまう可能性がある。それを防ぐために、一方のゲーム機上で、即応性がある方の仮想世界のみを構築し、もうひとつの仮想世界についてはオブジェクト情報のみを他方のゲーム機から送信させると、前述したように、送信情報の改竄による不正が可能となってしまう。
そこでこの2つの方法の中間を取り、ゲーム機A200a上及びサーバ300上のみに仮想世界Aを構築し、ゲーム機B200b上及びサーバ300上のみに仮想世界Bを構築した上で、ゲーム機A200a及びゲーム機B200bからサーバ300までは操作情報を送信し、サーバ300からゲーム機A200a及びゲーム機B200bまではオブジェクト情報を送信するようにすれば上記の2つの不正は共に不可能となる。また、ノンプレイヤオブジェクトの挙動が擬似乱数に基づく場合、それが属する仮想世界が構築されていない方のゲーム機を操作するプレイヤは、その挙動を推測することができなくなる。この方法は、以下の様に、前述の実施例を改変することにより実現できる。
実施例1の構成を次の様に改変する。ゲーム機A200aのRAM203に含まれる、図7に示した仮想世界Bに関する情報1200を、サーバ300のRAM303に移す。ゲーム機B200bのRAM203に含まれる、図7に示した仮想世界Aに関する情報1100を、サーバ300のRAM303に移す。ゲーム機A200aのCPU202上で実現される、図8に示した仮想世界Bに関する手段1700を、サーバ300のCPU302に移す。ゲーム機B200bのCPU202上で実現される、図8に示した仮想世界Aに関する手段1600を、サーバ300のCPU302に移す。ゲーム機A200aにおいて行う、図9に示した仮想世界Bに関する処理12200aを、サーバ300に移す。ゲーム機B200bにおいて行う、図10に示した仮想世界Aに関する処理11200bを、サーバ300に移す。以上のように移すことで、サーバ300上に重複した情報、手段及び処理が並立することになるが、これらのうち片方は削除してもよい。
以上のようにした上で、ゲーム機A200a及びゲーム機B200bからサーバ300へは、従来通り操作情報のみを送信する。ゲーム機A200a上には仮想世界Bは構築されていないので、サーバ300に移した、仮想世界Bに関する状況情報1202と仮想世界Bに関する演出情報1204に含まれるオブジェクト情報を送信させ、それらに基づいて仮想世界Bに属すオブジェクト等を表示する。ゲーム機B200b上には仮想世界Aは構築されていないので、サーバ300に移した、仮想世界Aに関する状況情報1102と仮想世界Aに関する演出情報1104に含まれるオブジェクト情報を送信させ、それらに基づいて仮想世界Aに属すオブジェクト等を表示する。また、一方の仮想世界で発生したイベントの結果として他方の仮想世界に新規オブジェクトを登場させるため、サーバ300は、サーバ300上で仮想世界Bの(n)番目のフレームの処理が終了した後に、仮想世界Bに関する(n+D)番目の干渉情報1203を、ゲーム機A200aに送信し、サーバ300上で仮想世界Aの(n)番目のフレームの処理が終了した後に、仮想世界Aに関する(n+D)番目の干渉情報1103をゲーム機B200bに送信する。ゲーム機A200a及びゲーム機B200bとサーバ300との間には通信遅延が生じるため、各ゲーム機は、これらの、サーバから各ゲーム機へ送信される情報については、複数のフレームに渡るものをバッファリングする機能を備えていなくてはならない。なお、ゲーム機A200aにおいては仮想世界Aに関する干渉情報1103を生成する必要はなく、ゲーム機B200bにおいては仮想世界B200bにおいては仮想世界Bに関する干渉情報1203を生成する必要はない。
実施例1と、上述の改変した形態を組み合わせることもできる。仮想世界A及び仮想世界Bを、ゲーム機A200a上、ゲーム機B200b上及びサーバ300上のそれぞれに構築し、各機器上で同じように更新しながらも、一方の仮想世界で発生したイベントの結果として他方の仮想世界に登場する新規オブジェクトは選択した機器のみにおいて、その選択した機器にのみ存在する擬似乱数の初期値に基づいて生成し、他の機器に送信するようにすれば、選択外の機器においてはこれらオブジェクトが登場するフレームや空間座標の割り出しが不可能となる。
実施例2の構成を次の様に改変する。ゲーム機A200aのRAM203に含まれる、図21に示した仮想世界Bに関する情報2200を、サーバ300のRAM303に移す。ゲーム機B200bのRAM203に含まれる、図21に示した仮想世界Aに関する情報2100を、サーバ300のRAM303に移す。ゲーム機A200aのCPU202上で実現される、図22に示した仮想世界Bに関する手段2700を、サーバ300のCPU302に移す。ゲーム機B200bのCPU202上で実現される、図22に示した仮想世界Aに関する手段2600を、サーバ300のCPU302に移す。ゲーム機A200aにおいて行う、図23に示した仮想世界Bに関する処理22200aを、サーバ300に移す。ゲーム機B200bにおいて行う、図24に示した仮想世界Aに関する処理21200bを、サーバ300に移す。以上のように移すことで、サーバ300上に重複した情報、手段及び処理が並立することになるが、これらのうち片方は削除してもよい。
以上のようにした上で、ゲーム機A200a及びゲーム機B200bからサーバ300へは、従来通り操作情報のみを送信する。ゲーム機A200a上には仮想世界Bは構築されていないので、サーバ300に移した、仮想世界Bに関する状況情報2202と仮想世界Bに関する干渉情報2203に含まれるオブジェクト情報を送信させ、それらに基づいて仮想世界Bに属すオブジェクト等を表示する。ゲーム機B200b上には仮想世界Aは構築されていないので、サーバ300に移した、仮想世界Aに関する状況情報2102と仮想世界Aに関する干渉情報2103に含まれるオブジェクト情報を送信させ、それらに基づいて仮想世界Aに属すオブジェクト等を表示する。各ゲーム機においては、一方の仮想世界で発生したイベントの結果として他方の仮想世界にオブジェクトを登場させる際に、状況情報にオブジェクト情報を追加しなくてはならないが、これは各ゲーム機に送信された干渉情報から抜き出してもよいし、別途サーバから1つのフレームに追加するオブジェクト情報をまとめたものを送信させてもよい。なお、ゲーム機A200aからサーバ300へ、仮想世界Aに関する干渉情報2103を送信する必要はなく、ゲーム機B200bからサーバ300へ、仮想世界Bに関する干渉情報2203を送信する必要はない。
本発明によれば、通信遅延が大きく、単位時間当たりのデータ転送量が少ない通信環境でも、見かけ上の遅延が生じないアクションゲームが実現できるため、国外との通信や移動体通信を含む環境でもゲームを行うことが可能になる。また、ゲームをプレイするプレイヤが不正行為を行うことができないので、パーソナルコンピュータのような、ソフトウェアの改造が容易なコンピュータをゲーム機として利用することができる。これらのことから、プレイヤの居住地やゲーム機のプラットフォームを問わないゲームを作り、公正な基準の下、プレイヤ間の実力差を判定することが可能になる。なお、本発明の保護範囲は、以上に述べた実施形態に限定されず、その均等物全てに及ぶものである。すなわち、異なる実施形態に開示された複数の構成要素を組み合わせたものも、実施形態から一部の構成要素を削除したものも本発明に含まれる。
本発明のゲーム機におけるフレームの処理の過程を示すタイミング図である。 本発明によるイベント発生とオブジェクト登場の過程を示すタイミング図である。 本発明によるゲームの演出の一例の過程を示すタイミング図である。 本発明によるゲームの演出の一例の過程を示すタイミング図である。 本発明のゲームシステムの全体を示す構成図である。 本発明を構成するゲーム機、サーバ及び中継機のハードウェア構成図である。 実施例1のゲーム機及びサーバに含まれるRAMに記憶される情報を示す構成図である。 実施例1のゲーム機及びサーバに含まれるCPUが実行する手段を示す構成図である。 実施例1のゲーム機Aにおけるデータの流れ図である。 実施例1のゲーム機Bにおけるデータの流れ図である。 実施例1のサーバにおけるデータの流れ図である。 実施例1のゲーム機及びサーバにおける処理に共通のサブルーチンのフローチャートである。 実施例1のゲーム機Aにおける処理のフローチャートである。 実施例1のゲーム機Bにおける処理のフローチャートである。 実施例1のサーバにおける処理のフローチャートである。 実施例1を利用して行うことが可能なゲームの一例である。 実施例1を利用して行うことが可能なゲームの一例である。 実施例1を利用して行うことが可能なゲームの一例である。 本発明の中継機A及び中継機Bにおけるデータの流れ図である。 実施例2によるゲームの演出の一例の過程を示すタイミング図である。 実施例2のゲーム機及びサーバに含まれるRAMに記憶される情報を示す構成図である。 実施例2のゲーム機及びサーバに含まれるCPUが実行する手段を示す構成図である。 実施例2のゲーム機Aにおけるデータの流れ図である。 実施例2のゲーム機Bにおけるデータの流れ図である。 実施例2のサーバにおけるデータの流れ図である。 実施例2のゲーム機及びサーバにおける処理に共通のサブルーチンのフローチャートである。 実施例2のゲーム機Aにおける処理のフローチャートである。 実施例2のゲーム機Bにおける処理のフローチャートである。 実施例2のサーバにおける処理のフローチャートである。
符号の説明
100 通信網
200a ゲーム機A
200b ゲーム機B
201 通信部
202 CPU
203 RAM
204 ROM
205 ディスクドライブ
206 入力部
207 ゲームコントローラ
208 GPU
209 ディスプレイ
210 サウンドボード
211 スピーカ
300 サーバ
301 通信部
302 CPU
303 RAM
304 ROM
305 ディスクドライブ
400a 中継機A
400b 中継機B
401 通信部
402 CPU
403 RAM
404 ROM
405 ディスクドライブ

Claims (7)

  1. 通信網に接続された第1プレイヤが操作する第1ゲーム機と前記通信網に接続された第2プレイヤが操作する第2ゲーム機とを含むゲームシステムであって、
    前記第1ゲーム機は、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第1状況情報を記憶し1以上の前記第1状況情報を同時に保持する第1状況情報記憶手段と、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第2状況情報を記憶し1以上の前記第2状況情報を同時に保持する第2状況情報記憶手段と、
    ゲーム開始前に0番目の前記第1状況情報を設定し前記第1状況情報記憶手段に記憶させる第1設定手段と、
    ゲーム開始前に0番目の前記第2状況情報を設定し前記第2状況情報記憶手段に記憶させる第2設定手段と、
    第1干渉情報を記憶し複数の前記第1干渉情報を同時に保持可能な第1干渉情報記憶手段と、
    第2干渉情報を記憶し複数の前記第2干渉情報を同時に保持可能な第2干渉情報記憶手段とを備え、
    前記第1状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    前記第2状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    前記第2ゲーム機は、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第3状況情報を記憶し1以上の前記第3状況情報を同時に保持する第3状況情報記憶手段と、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第4状況情報を記憶し1以上の前記第4状況情報を同時に保持する第4状況情報記憶手段と、
    ゲーム開始前に0番目の前記第3状況情報を設定し前記第3状況情報記憶手段に記憶させる第3設定手段と、
    ゲーム開始前に0番目の前記第4状況情報を設定し前記第4状況情報記憶手段に記憶させる第4設定手段と、
    第3干渉情報を記憶し複数の前記第3干渉情報を同時に保持可能な第3干渉情報記憶手段と、
    第4干渉情報を記憶し複数の前記第4干渉情報を同時に保持可能な第4干渉情報記憶手段とを備え、
    前記第3状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    前記第4状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    0番目の前記第1状況情報と0番目の前記第3状況情報とは同一の情報であり、
    0番目の前記第2状況情報と0番目の前記第4状況情報とは同一の情報であり、
    前記第1ゲーム機はさらに、
    前記第1プレイヤから第1操作情報を受け付ける第1受付手段と、
    前記第1受付手段によって受け付けられた前記第1操作情報を前記第2ゲーム機に送信する第1送信手段とを備え、
    前記第2ゲーム機はさらに、
    前記第2プレイヤから第2操作情報を受け付ける第2受付手段と、
    前記第2受付手段によって受け付けられた前記第2操作情報を前記第1ゲーム機に送信する第2送信手段とを備え、
    前記第1ゲーム機はさらに、
    前記第2送信手段によって送信された前記第2操作情報を受信する第1受信手段と、
    前記第1受信手段によって受信された前記第2操作情報を記憶する第1操作情報記憶手段とを備え、
    前記第2ゲーム機はさらに、
    前記第1送信手段によって送信された前記第1操作情報を受信する第2受信手段と、
    前記第2受信手段によって受信された前記第1操作情報を記憶する第2操作情報記憶手段とを備え、
    前記第1ゲーム機はさらに、
    複数の第1更新を行う第1更新手段と、
    複数の第2更新を行う第2更新手段と、
    複数の第1配分を行う第1配分手段と、
    複数の第2配分を行う第2配分手段と、
    複数の第1再配分を行う第1再配分手段と、
    複数の第2再配分を行う第2再配分手段とを備え、
    前記第2ゲーム機はさらに、
    複数の第3更新を行う第3更新手段と、
    複数の第4更新を行う第4更新手段と、
    複数の第3配分を行う第3配分手段と、
    複数の第4配分を行う第4配分手段と、
    複数の第3再配分を行う第3再配分手段と、
    複数の第4再配分を行う第4再配分手段とを備え、
    nを1以上の整数変数とし、
    Dを1以上の整数定数とし、
    EをD以上の整数定数とし、
    前記第1更新手段は、
    前記第1状況情報記憶手段によって記憶された(n−1)番目の前記第1状況情報と前記第1受付手段によって受け付けられた(n)番目の前記第1操作情報とを取り込み、
    該(n−1)番目の前記第1状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第1状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第1状況情報を生成し、
    該(n−1)番目の前記第1状況情報又は該(n)番目の前記第1操作情報又は該(n)番目の前記第1状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    発生した該イベントのそれぞれについて1以上のオブジェクト情報を生成し、
    該生成した全てのオブジェクト情報の集合を(n+E)番目の前記第1干渉情報とし、
    該(n)番目の前記第1状況情報と該(n+E)番目の前記第1干渉情報とを出力する(n)番目の前記第1更新を行い、
    前記第2更新手段は、
    前記第2状況情報記憶手段によって記憶された(n−1)番目の前記第2状況情報と前記第1操作情報記憶手段によって記憶された(n)番目の前記第2操作情報とを取り込み、
    該(n−1)番目の前記第2状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第2状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第2状況情報を生成し、
    該(n−1)番目の前記第2状況情報又は該(n)番目の前記第2操作情報又は該(n)番目の前記第2状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    発生した該イベントのそれぞれについて1以上のオブジェクト情報を生成し、
    該生成した全てのオブジェクト情報の集合を(n+E)番目の前記第2干渉情報とし、
    該(n)番目の前記第2状況情報と該(n+E)番目の前記第2干渉情報とを出力する(n)番目の前記第2更新を行い、
    前記第3更新手段は、
    前記第3状況情報記憶手段によって記憶された(n−1)番目の前記第3状況情報と前記第2操作情報記憶手段によって記憶された(n)番目の前記第1操作情報とを取り込み、
    該(n−1)番目の前記第3状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第3状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第3状況情報を生成し、
    該(n−1)番目の前記第3状況情報又は該(n)番目の前記第1操作情報又は該(n)番目の前記第3状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    発生した該イベントのそれぞれについて1以上のオブジェクト情報を生成し、
    該生成した全てのオブジェクト情報の集合を(n+E)番目の前記第3干渉情報とし、
    該(n)番目の前記第3状況情報と該(n+E)番目の前記第3干渉情報とを出力する(n)番目の前記第3更新を行い、
    前記第4更新手段は、
    前記第4状況情報記憶手段によって記憶された(n−1)番目の前記第4状況情報と前記第2受付手段によって受け付けられた(n)番目の前記第2操作情報とを取り込み、
    該(n−1)番目の前記第4状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第4状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第4状況情報を生成し、
    該(n−1)番目の前記第4状況情報又は該(n)番目の前記第2操作情報又は該(n)番目の前記第4状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    発生した該イベントのそれぞれについて1以上のオブジェクト情報を生成し、
    該生成した全てのオブジェクト情報の集合を(n+E)番目の前記第4干渉情報とし、
    該(n)番目の前記第4状況情報と該(n+E)番目の前記第4干渉情報とを出力する(n)番目の前記第4更新を行い、
    前記第1配分手段は、
    前記第1更新手段によって出力された(n)番目の前記第1状況情報を前記第1状況情報記憶手段に記憶させ、
    前記第1更新手段によって出力された(n+E)番目の前記第1干渉情報を前記第1干渉情報記憶手段に記憶させる(n)番目の前記第1配分を行い、
    前記第2配分手段は、
    前記第2更新手段によって出力された(n)番目の前記第2状況情報を前記第2状況情報記憶手段に記憶させ、
    前記第2更新手段によって出力された(n+E)番目の前記第2干渉情報を前記第2干渉情報記憶手段に記憶させる(n)番目の前記第2配分を行い、
    前記第3配分手段は、
    前記第3更新手段によって出力された(n)番目の前記第3状況情報を前記第3状況情報記憶手段に記憶させ、
    前記第3更新手段によって出力された(n+E)番目の前記第3干渉情報を前記第3干渉情報記憶手段に記憶させる(n)番目の前記第3配分を行い、
    前記第4配分手段は、
    前記第4更新手段によって出力された(n)番目の前記第4状況情報を前記第4状況情報記憶手段に記憶させ、
    前記第4更新手段によって出力された(n+E)番目の前記第4干渉情報を前記第4干渉情報記憶手段に記憶させる(n)番目の前記第4配分を行い、
    前記第1再配分手段は、
    前記第2干渉情報記憶手段によって記憶された(n)番目の前記第2干渉情報に含まれる全てのオブジェクト情報を前記第1状況情報記憶手段によって記憶された(n)番目の前記第1状況情報に追加して記憶させる(n)番目の前記第1再配分を行い、
    前記第2再配分手段は、
    前記第1干渉情報記憶手段によって記憶された(n)番目の前記第1干渉情報に含まれる全てのオブジェクト情報を前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に追加して記憶させる(n)番目の前記第2再配分を行い、
    前記第3再配分手段は、
    前記第4干渉情報記憶手段によって記憶された(n)番目の前記第4干渉情報に含まれる全てのオブジェクト情報を前記第3状況情報記憶手段によって記憶された(n)番目の前記第3状況情報に追加して記憶させる(n)番目の前記第3再配分を行い、
    前記第4再配分手段は、
    前記第3干渉情報記憶手段によって記憶された(n)番目の前記第3干渉情報に含まれる全てのオブジェクト情報を前記第4状況情報記憶手段によって記憶された(n)番目の前記第4状況情報に追加して記憶させる(n)番目の前記第4再配分を行い、
    前記第1受付手段は、
    前記第1受付手段が(n)番目の前記第1操作情報を受け付けた時よりも後に(n+1)番目の前記第1操作情報を受け付け、
    前記第2受付手段は、
    前記第2受付手段が(n)番目の前記第2操作情報を受け付けた時よりも後に(n+1)番目の前記第2操作情報を受け付け、
    前記第1更新手段は、
    前記第1受付手段が(n)番目の前記第1操作情報を受け付けた時よりも後に(n)番目の前記第1更新を行い、
    前記第1再配分手段が(n)番目の前記第1再配分を行った時よりも後に(n+1)番目の前記第1更新を行い、
    前記第1配分手段は、
    前記第1更新手段が(n)番目の前記第1更新を行った時よりも後に(n)番目の前記第1配分を行い、
    前記第1再配分手段は、
    前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n)番目の前記第1再配分を行い、
    前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n+D)番目の前記第1再配分を行い、
    前記第2更新手段は、
    前記第1操作情報記憶手段が(n)番目の前記第2操作情報を記憶した時よりも後に(n)番目の前記第2更新を行い、
    前記第2再配分手段が(n)番目の前記第2再配分を行った時よりも後に(n+1)番目の前記第2更新を行い、
    前記第2配分手段は、
    前記第2更新手段が(n)番目の前記第2更新を行った時よりも後に(n)番目の前記第2配分を行い、
    前記第2再配分手段は、
    前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n)番目の前記第2再配分を行い、
    前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n+D)番目の前記第2再配分を行い、
    前記第3更新手段は、
    前記第2操作情報記憶手段が(n)番目の前記第1操作情報を記憶した時よりも後に(n)番目の前記第3更新を行い、
    前記第3再配分手段が(n)番目の前記第3再配分を行った時よりも後に(n+1)番目の前記第3更新を行い、
    前記第3配分手段は、
    前記第3更新手段が(n)番目の前記第3更新を行った時よりも後に(n)番目の前記第3配分を行い、
    前記第3再配分手段は、
    前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n)番目の前記第3再配分を行い、
    前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n+D)番目の前記第3再配分を行い、
    前記第4更新手段は、
    前記第2受付手段が(n)番目の前記第2操作情報を受け付けた時よりも後に(n)番目の前記第4更新を行い、
    前記第4再配分手段が(n)番目の前記第4再配分を行った時よりも後に(n+1)番目の前記第4更新を行い、
    前記第4配分手段は、
    前記第4更新手段が(n)番目の前記第4更新を行った時よりも後に(n)番目の前記第4配分を行い、
    前記第4再配分手段は、
    前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n)番目の前記第4再配分を行い、
    前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n+D)番目の前記第4再配分を行い、
    前記第1更新手段と前記第3更新手段とは、
    同一の情報を取り込んだ場合に同一の情報を出力し、
    前記第2更新手段と前記第4更新手段とは、
    同一の情報を取り込んだ場合に同一の情報を出力し、
    前記第1ゲーム機はさらに、
    前記第1状況情報記憶手段によって記憶された(n+D)番目の前記第1状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に表示する第1表示手段を備え、
    前記第2ゲーム機はさらに、
    前記第3状況情報記憶手段によって記憶された(n)番目の前記第3状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第4状況情報記憶手段によって記憶された(n+D)番目の前記第4状況情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に表示する第2表示手段を備えることを特徴とするゲームシステム。
  2. 通信網に接続された第1プレイヤが操作する第1ゲーム機と前記通信網に接続された第2プレイヤが操作する第2ゲーム機とを含むゲームシステムであって、
    前記第1ゲーム機は、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第1状況情報を記憶し1以上の前記第1状況情報を同時に保持する第1状況情報記憶手段と、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第2状況情報を記憶し1以上の前記第2状況情報を同時に保持する第2状況情報記憶手段と、
    ゲーム開始前に0番目の前記第1状況情報を設定し前記第1状況情報記憶手段に記憶させる第1設定手段と、
    ゲーム開始前に0番目の前記第2状況情報を設定し前記第2状況情報記憶手段に記憶させる第2設定手段と、
    第1干渉情報を記憶し複数の前記第1干渉情報を同時に保持可能な第1干渉情報記憶手段と、
    第2干渉情報を記憶し複数の前記第2干渉情報を同時に保持可能な第2干渉情報記憶手段とを備え、
    前記第1状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    前記第2状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    前記第2ゲーム機は、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第3状況情報を記憶し1以上の前記第3状況情報を同時に保持する第3状況情報記憶手段と、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第4状況情報を記憶し1以上の前記第4状況情報を同時に保持する第4状況情報記憶手段と、
    ゲーム開始前に0番目の前記第3状況情報を設定し前記第3状況情報記憶手段に記憶させる第3設定手段と、
    ゲーム開始前に0番目の前記第4状況情報を設定し前記第4状況情報記憶手段に記憶させる第4設定手段と、
    第3干渉情報を記憶し複数の前記第3干渉情報を同時に保持可能な第3干渉情報記憶手段と、
    第4干渉情報を記憶し複数の前記第4干渉情報を同時に保持可能な第4干渉情報記憶手段とを備え、
    前記第3状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    前記第4状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    0番目の前記第1状況情報と0番目の前記第3状況情報とは同一の情報であり、
    0番目の前記第2状況情報と0番目の前記第4状況情報とは同一の情報であり、
    前記第1ゲーム機はさらに、
    前記第1プレイヤから第1操作情報を受け付ける第1受付手段と、
    前記第1受付手段によって受け付けられた前記第1操作情報を前記第2ゲーム機に送信する第1送信手段とを備え、
    前記第2ゲーム機はさらに、
    前記第2プレイヤから第2操作情報を受け付ける第2受付手段と、
    前記第2受付手段によって受け付けられた前記第2操作情報を前記第1ゲーム機に送信する第2送信手段とを備え、
    前記第1ゲーム機はさらに、
    前記第2送信手段によって送信された前記第2操作情報を受信する第1受信手段と、
    前記第1受信手段によって受信された前記第2操作情報を記憶する第1操作情報記憶手段とを備え、
    前記第2ゲーム機はさらに、
    前記第1送信手段によって送信された前記第1操作情報を受信する第2受信手段と、
    前記第2受信手段によって受信された前記第1操作情報を記憶する第2操作情報記憶手段とを備え、
    前記第1ゲーム機はさらに、
    複数の第1更新を行う第1更新手段と、
    複数の第2更新を行う第2更新手段と、
    複数の第1配分を行う第1配分手段と、
    複数の第2配分を行う第2配分手段と、
    複数の第1再配分を行う第1再配分手段と、
    複数の第2再配分を行う第2再配分手段とを備え、
    前記第2ゲーム機はさらに、
    複数の第3更新を行う第3更新手段と、
    複数の第4更新を行う第4更新手段と、
    複数の第3配分を行う第3配分手段と、
    複数の第4配分を行う第4配分手段と、
    複数の第3再配分を行う第3再配分手段と、
    複数の第4再配分を行う第4再配分手段とを備え、
    nを1以上の整数変数とし、
    Dを1以上の整数定数とし、
    前記第1更新手段は、
    前記第1状況情報記憶手段によって記憶された(n−1)番目の前記第1状況情報と前記第1受付手段によって受け付けられた(n)番目の前記第1操作情報とを取り込み、
    該(n−1)番目の前記第1状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第1状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第1状況情報を生成し、
    該(n−1)番目の前記第1状況情報又は該(n)番目の前記第1操作情報又は該(n)番目の前記第1状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    発生した該イベントのそれぞれについて1組以上のオブジェクト情報とそれに関連付けられたD以上の値の整数(後にHで表す)との組を生成し、
    該生成した全ての組の集合を(n)番目の第1干渉オブジェクト情報とし、
    該(n)番目の前記第1状況情報と該(n)番目の前記第1干渉オブジェクト情報とを出力する(n)番目の前記第1更新を行い、
    前記第2更新手段は、
    前記第2状況情報記憶手段によって記憶された(n−1)番目の前記第2状況情報と前記第1操作情報記憶手段によって記憶された(n)番目の前記第2操作情報とを取り込み、
    該(n−1)番目の前記第2状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第2状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第2状況情報を生成し、
    該(n−1)番目の前記第2状況情報又は該(n)番目の前記第2操作情報又は該(n)番目の前記第2状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    発生した該イベントのそれぞれについて1組以上のオブジェクト情報とそれに関連付けられたD以上の値の整数(後にIで表す)との組を生成し、
    該生成した全ての組の集合を(n)番目の第2干渉オブジェクト情報とし、
    該(n)番目の前記第2状況情報と該(n)番目の前記第2干渉オブジェクト情報とを出力する(n)番目の前記第2更新を行い、
    前記第3更新手段は、
    前記第3状況情報記憶手段によって記憶された(n−1)番目の前記第3状況情報と前記第2操作情報記憶手段によって記憶された(n)番目の前記第1操作情報とを取り込み、
    該(n−1)番目の前記第3状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第3状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第3状況情報を生成し、
    該(n−1)番目の前記第3状況情報又は該(n)番目の前記第1操作情報又は該(n)番目の前記第3状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    発生した該イベントのそれぞれについて1組以上のオブジェクト情報とそれに関連付けられたD以上の値の整数(後にJで表す)との組を生成し、
    該生成した全ての組の集合を(n)番目の第3干渉オブジェクト情報とし、
    該(n)番目の前記第3状況情報と該(n)番目の前記第3干渉オブジェクト情報とを出力する(n)番目の前記第3更新を行い、
    前記第4更新手段は、
    前記第4状況情報記憶手段によって記憶された(n−1)番目の前記第4状況情報と前記第2受付手段によって受け付けられた(n)番目の前記第2操作情報とを取り込み、
    該(n−1)番目の前記第4状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第4状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第4状況情報を生成し、
    該(n−1)番目の前記第4状況情報又は該(n)番目の前記第2操作情報又は該(n)番目の前記第4状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    発生した該イベントのそれぞれについて1組以上のオブジェクト情報とそれに関連付けられたD以上の値の整数(後にKで表す)との組を生成し、
    該生成した全ての組の集合を(n)番目の第4干渉オブジェクト情報とし、
    該(n)番目の前記第4状況情報と該(n)番目の前記第4干渉オブジェクト情報とを出力する(n)番目の前記第4更新を行い、
    前記第1配分手段は、
    前記第1更新手段によって出力された(n)番目の前記第1状況情報を前記第1状況情報記憶手段に記憶させ、
    前記第1更新手段によって出力された(n)番目の前記第1干渉オブジェクト情報に含まれる全てのオブジェクト情報をそれぞれ、該オブジェクト情報に関連付けられた整数をHとした場合、前記第1干渉情報記憶手段によって記憶された(n+H)番目の前記第1干渉情報に追加して記憶させる(n)番目の前記第1配分を行い、
    前記第2配分手段は、
    前記第2更新手段によって出力された(n)番目の前記第2状況情報を前記第2状況情報記憶手段に記憶させ、
    前記第2更新手段によって出力された(n)番目の前記第2干渉オブジェクト情報に含まれる全てのオブジェクト情報をそれぞれ、該オブジェクト情報に関連付けられた整数をIとした場合、前記第2干渉情報記憶手段によって記憶された(n+I)番目の前記第2干渉情報に追加して記憶させる(n)番目の前記第2配分を行い、
    前記第3配分手段は、
    前記第3更新手段によって出力された(n)番目の前記第3状況情報を前記第3状況情報記憶手段に記憶させ、
    前記第3更新手段によって出力された(n)番目の前記第3干渉オブジェクト情報に含まれる全てのオブジェクト情報をそれぞれ、該オブジェクト情報に関連付けられた整数をJとした場合、前記第3干渉情報記憶手段によって記憶された(n+J)番目の前記第3干渉情報に追加して記憶させる(n)番目の前記第3配分を行い、
    前記第4配分手段は、
    前記第4更新手段によって出力された(n)番目の前記第4状況情報を前記第4状況情報記憶手段に記憶させ、
    前記第4更新手段によって出力された(n)番目の前記第4干渉オブジェクト情報に含まれる全てのオブジェクト情報をそれぞれ、該オブジェクト情報に関連付けられた整数をKとした場合、前記第4干渉情報記憶手段によって記憶された(n+K)番目の前記第4干渉情報に追加して記憶させる(n)番目の前記第4配分を行い、
    前記第1再配分手段は、
    前記第2干渉情報記憶手段によって記憶された(n)番目の前記第2干渉情報に含まれる全てのオブジェクト情報を前記第1状況情報記憶手段によって記憶された(n)番目の前記第1状況情報に追加して記憶させる(n)番目の前記第1再配分を行い、
    前記第2再配分手段は、
    前記第1干渉情報記憶手段によって記憶された(n)番目の前記第1干渉情報に含まれる全てのオブジェクト情報を前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に追加して記憶させる(n)番目の前記第2再配分を行い、
    前記第3再配分手段は、
    前記第4干渉情報記憶手段によって記憶された(n)番目の前記第4干渉情報に含まれる全てのオブジェクト情報を前記第3状況情報記憶手段によって記憶された(n)番目の前記第3状況情報に追加して記憶させる(n)番目の前記第3再配分を行い、
    前記第4再配分手段は、
    前記第3干渉情報記憶手段によって記憶された(n)番目の前記第3干渉情報に含まれる全てのオブジェクト情報を前記第4状況情報記憶手段によって記憶された(n)番目の前記第4状況情報に追加して記憶させる(n)番目の前記第4再配分を行い、
    前記第1受付手段は、
    前記第1受付手段が(n)番目の前記第1操作情報を受け付けた時よりも後に(n+1)番目の前記第1操作情報を受け付け、
    前記第2受付手段は、
    前記第2受付手段が(n)番目の前記第2操作情報を受け付けた時よりも後に(n+1)番目の前記第2操作情報を受け付け、
    前記第1更新手段は、
    前記第1受付手段が(n)番目の前記第1操作情報を受け付けた時よりも後に(n)番目の前記第1更新を行い、
    前記第1再配分手段が(n)番目の前記第1再配分を行った時よりも後に(n+1)番目の前記第1更新を行い、
    前記第1配分手段は、
    前記第1更新手段が(n)番目の前記第1更新を行った時よりも後に(n)番目の前記第1配分を行い、
    前記第1再配分手段は、
    前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n)番目の前記第1再配分を行い、
    前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n+D)番目の前記第1再配分を行い、
    前記第2更新手段は、
    前記第1操作情報記憶手段が(n)番目の前記第2操作情報を記憶した時よりも後に(n)番目の前記第2更新を行い、
    前記第2再配分手段が(n)番目の前記第2再配分を行った時よりも後に(n+1)番目の前記第2更新を行い、
    前記第2配分手段は、
    前記第2更新手段が(n)番目の前記第2更新を行った時よりも後に(n)番目の前記第2配分を行い、
    前記第2再配分手段は、
    前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n)番目の前記第2再配分を行い、
    前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n+D)番目の前記第2再配分を行い、
    前記第3更新手段は、
    前記第2操作情報記憶手段が(n)番目の前記第1操作情報を記憶した時よりも後に(n)番目の前記第3更新を行い、
    前記第3再配分手段が(n)番目の前記第3再配分を行った時よりも後に(n+1)番目の前記第3更新を行い、
    前記第3配分手段は、
    前記第3更新手段が(n)番目の前記第3更新を行った時よりも後に(n)番目の前記第3配分を行い、
    前記第3再配分手段は、
    前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n)番目の前記第3再配分を行い、
    前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n+D)番目の前記第3再配分を行い、
    前記第4更新手段は、
    前記第2受付手段が(n)番目の前記第2操作情報を受け付けた時よりも後に(n)番目の前記第4更新を行い、
    前記第4再配分手段が(n)番目の前記第4再配分を行った時よりも後に(n+1)番目の前記第4更新を行い、
    前記第4配分手段は、
    前記第4更新手段が(n)番目の前記第4更新を行った時よりも後に(n)番目の前記第4配分を行い、
    前記第4再配分手段は、
    前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n)番目の前記第4再配分を行い、
    前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n+D)番目の前記第4再配分を行い、
    前記第1更新手段と前記第3更新手段とは、
    同一の情報を取り込んだ場合に同一の情報を出力し、
    前記第2更新手段と前記第4更新手段とは、
    同一の情報を取り込んだ場合に同一の情報を出力し、
    前記第1ゲーム機はさらに、
    前記第1状況情報記憶手段によって記憶された(n+D)番目の前記第1状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に表示する第1表示手段を備え、
    前記第2ゲーム機はさらに、
    前記第3状況情報記憶手段によって記憶された(n)番目の前記第3状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第4状況情報記憶手段によって記憶された(n+D)番目の前記第4状況情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に表示する第2表示手段を備えることを特徴とするゲームシステム。
  3. 通信網に接続された第1プレイヤが操作する第1ゲーム機と前記通信網に接続された第2プレイヤが操作する第2ゲーム機とを含むゲームシステムであって、
    前記第1ゲーム機は、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第1状況情報を記憶し1以上の前記第1状況情報を同時に保持する第1状況情報記憶手段と、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第2状況情報を記憶し1以上の前記第2状況情報を同時に保持する第2状況情報記憶手段と、
    ゲーム開始前に0番目の前記第1状況情報を設定し前記第1状況情報記憶手段に記憶させる第1設定手段と、
    ゲーム開始前に0番目の前記第2状況情報を設定し前記第2状況情報記憶手段に記憶させる第2設定手段と、
    第1干渉情報を記憶し複数の前記第1干渉情報を同時に保持可能な第1干渉情報記憶手段と、
    第2干渉情報を記憶し複数の前記第2干渉情報を同時に保持可能な第2干渉情報記憶手段とを備え、
    前記第1状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    前記第2状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    前記第2ゲーム機は、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第3状況情報を記憶し1以上の前記第3状況情報を同時に保持する第3状況情報記憶手段と、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第4状況情報を記憶し1以上の前記第4状況情報を同時に保持する第4状況情報記憶手段と、
    ゲーム開始前に0番目の前記第3状況情報を設定し前記第3状況情報記憶手段に記憶させる第3設定手段と、
    ゲーム開始前に0番目の前記第4状況情報を設定し前記第4状況情報記憶手段に記憶させる第4設定手段と、
    第3干渉情報を記憶し複数の前記第3干渉情報を同時に保持可能な第3干渉情報記憶手段と、
    第4干渉情報を記憶し複数の前記第4干渉情報を同時に保持可能な第4干渉情報記憶手段とを備え、
    前記第3状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    前記第4状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    0番目の前記第1状況情報と0番目の前記第3状況情報とは同一の情報であり、
    0番目の前記第2状況情報と0番目の前記第4状況情報とは同一の情報であり、
    前記第1ゲーム機はさらに、
    前記第1プレイヤから第1操作情報を受け付ける第1受付手段と、
    前記第1受付手段によって受け付けられた前記第1操作情報を前記第2ゲーム機に送信する第1送信手段とを備え、
    前記第2ゲーム機はさらに、
    前記第2プレイヤから第2操作情報を受け付ける第2受付手段と、
    前記第2受付手段によって受け付けられた前記第2操作情報を前記第1ゲーム機に送信する第2送信手段とを備え、
    前記第1ゲーム機はさらに、
    前記第2送信手段によって送信された前記第2操作情報を受信する第1受信手段と、
    前記第1受信手段によって受信された前記第2操作情報を記憶する第1操作情報記憶手段とを備え、
    前記第2ゲーム機はさらに、
    前記第1送信手段によって送信された前記第1操作情報を受信する第2受信手段と、
    前記第2受信手段によって受信された前記第1操作情報を記憶する第2操作情報記憶手段とを備え、
    前記第1ゲーム機はさらに、
    複数の第1更新を行う第1更新手段と、
    複数の第2更新を行う第2更新手段と、
    複数の第1配分を行う第1配分手段と、
    複数の第2配分を行う第2配分手段と、
    複数の第1展開を行う第1展開手段と、
    複数の第2展開を行う第2展開手段と、
    複数の第1再配分を行う第1再配分手段と、
    複数の第2再配分を行う第2再配分手段とを備え、
    前記第2ゲーム機はさらに、
    複数の第3更新を行う第3更新手段と、
    複数の第4更新を行う第4更新手段と、
    複数の第3配分を行う第3配分手段と、
    複数の第4配分を行う第4配分手段と、
    複数の第3展開を行う第3展開手段と、
    複数の第4展開を行う第4展開手段と、
    複数の第3再配分を行う第3再配分手段と、
    複数の第4再配分を行う第4再配分手段とを備え、
    nを1以上の整数変数とし、
    Dを1以上の整数定数とし、
    前記第1更新手段は、
    前記第1状況情報記憶手段によって記憶された(n−1)番目の前記第1状況情報と前記第1受付手段によって受け付けられた(n)番目の前記第1操作情報とを取り込み、
    該(n−1)番目の前記第1状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第1状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第1状況情報を生成し、
    該(n−1)番目の前記第1状況情報又は該(n)番目の前記第1操作情報又は該(n)番目の前記第1状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    発生した該イベントのそれぞれについて1組以上の、後にそれに基づいて1以上のオブジェクト情報が生成されるイベント情報とそれに関連付けられたD以上の値の整数(後にHで表す)との組を生成し、
    該生成した全ての組の集合を(n)番目の第1干渉イベント情報とし、
    該(n)番目の前記第1状況情報と該(n)番目の前記第1干渉イベント情報とを出力する(n)番目の前記第1更新を行い、
    前記第2更新手段は、
    前記第2状況情報記憶手段によって記憶された(n−1)番目の前記第2状況情報と前記第1操作情報記憶手段によって記憶された(n)番目の前記第2操作情報とを取り込み、
    該(n−1)番目の前記第2状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第2状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第2状況情報を生成し、
    該(n−1)番目の前記第2状況情報又は該(n)番目の前記第2操作情報又は該(n)番目の前記第2状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    発生した該イベントのそれぞれについて1組以上の、後にそれに基づいて1以上のオブジェクト情報が生成されるイベント情報とそれに関連付けられたD以上の値の整数(後にIで表す)との組を生成し、
    該生成した全ての組の集合を(n)番目の第2干渉イベント情報とし、
    該(n)番目の前記第2状況情報と該(n)番目の前記第2干渉イベント情報とを出力する(n)番目の前記第2更新を行い、
    前記第3更新手段は、
    前記第3状況情報記憶手段によって記憶された(n−1)番目の前記第3状況情報と前記第2操作情報記憶手段によって記憶された(n)番目の前記第1操作情報とを取り込み、
    該(n−1)番目の前記第3状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第3状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第3状況情報を生成し、
    該(n−1)番目の前記第3状況情報又は該(n)番目の前記第1操作情報又は該(n)番目の前記第3状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    発生した該イベントのそれぞれについて1組以上の、後にそれに基づいて1以上のオブジェクト情報が生成されるイベント情報とそれに関連付けられたD以上の値の整数(後にJで表す)との組を生成し、
    該生成した全ての組の集合を(n)番目の第3干渉イベント情報とし、
    該(n)番目の前記第3状況情報と該(n)番目の前記第3干渉イベント情報とを出力する(n)番目の前記第3更新を行い、
    前記第4更新手段は、
    前記第4状況情報記憶手段によって記憶された(n−1)番目の前記第4状況情報と前記第2受付手段によって受け付けられた(n)番目の前記第2操作情報とを取り込み、
    該(n−1)番目の前記第4状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第4状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第4状況情報を生成し、
    該(n−1)番目の前記第4状況情報又は該(n)番目の前記第2操作情報又は該(n)番目の前記第4状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    発生した該イベントのそれぞれについて1組以上の、後にそれに基づいて1以上のオブジェクト情報が生成されるイベント情報とそれに関連付けられたD以上の値の整数(後にKで表す)との組を生成し、
    該生成した全ての組の集合を(n)番目の第4干渉イベント情報とし、
    該(n)番目の前記第4状況情報と該(n)番目の前記第4干渉イベント情報とを出力する(n)番目の前記第4更新を行い、
    前記第1配分手段は、
    前記第1更新手段によって出力された(n)番目の前記第1状況情報を前記第1状況情報記憶手段に記憶させ、
    前記第1更新手段によって出力された(n)番目の前記第1干渉イベント情報に含まれる全てのイベント情報をそれぞれ、該イベント情報に関連付けられた整数をHとした場合、前記第1干渉情報記憶手段によって記憶された(n+H)番目の前記第1干渉情報に追加して記憶させる(n)番目の前記第1配分を行い、
    前記第2配分手段は、
    前記第2更新手段によって出力された(n)番目の前記第2状況情報を前記第2状況情報記憶手段に記憶させ、
    前記第2更新手段によって出力された(n)番目の前記第2干渉イベント情報に含まれる全てのイベント情報をそれぞれ、該イベント情報に関連付けられた整数をIとした場合、前記第2干渉情報記憶手段によって記憶された(n+I)番目の前記第2干渉情報に追加して記憶させる(n)番目の前記第2配分を行い、
    前記第3配分手段は、
    前記第3更新手段によって出力された(n)番目の前記第3状況情報を前記第3状況情報記憶手段に記憶させ、
    前記第3更新手段によって出力された(n)番目の前記第3干渉イベント情報に含まれる全てのイベント情報をそれぞれ、該イベント情報に関連付けられた整数をJとした場合、前記第3干渉情報記憶手段によって記憶された(n+J)番目の前記第3干渉情報に追加して記憶させる(n)番目の前記第3配分を行い、
    前記第4配分手段は、
    前記第4更新手段によって出力された(n)番目の前記第4状況情報を前記第4状況情報記憶手段に記憶させ、
    前記第4更新手段によって出力された(n)番目の前記第4干渉イベント情報に含まれる全てのイベント情報をそれぞれ、該イベント情報に関連付けられた整数をKとした場合、前記第4干渉情報記憶手段によって記憶された(n+K)番目の前記第4干渉情報に追加して記憶させる(n)番目の前記第4配分を行い、
    前記第1展開手段は、
    前記第2干渉情報記憶手段によって記憶された(n)番目の前記第2干渉情報を取り込み、
    該(n)番目の前記第2干渉情報に含まれる全てのイベント情報のそれぞれについて該イベント情報に基づいて1以上のオブジェクト情報を生成し、
    該生成した全てのオブジェクト情報の集合を(n)番目の第1干渉オブジェクト情報とし、
    該(n)番目の前記第1干渉オブジェクト情報を出力する(n)番目の前記第1展開を行い、
    前記第2展開手段は、
    前記第1干渉情報記憶手段によって記憶された(n)番目の前記第1干渉情報を取り込み、
    該(n)番目の前記第1干渉情報に含まれる全てのイベント情報のそれぞれについて該イベント情報に基づいて1以上のオブジェクト情報を生成し、
    該生成した全てのオブジェクト情報の集合を(n)番目の第2干渉オブジェクト情報とし、
    該(n)番目の前記第2干渉オブジェクト情報を出力する(n)番目の前記第2展開を行い、
    前記第3展開手段は、
    前記第4干渉情報記憶手段によって記憶された(n)番目の前記第4干渉情報を取り込み、
    該(n)番目の前記第4干渉情報に含まれる全てのイベント情報のそれぞれについて該イベント情報に基づいて1以上のオブジェクト情報を生成し、
    該生成した全てのオブジェクト情報の集合を(n)番目の第3干渉オブジェクト情報とし、
    該(n)番目の前記第3干渉オブジェクト情報を出力する(n)番目の前記第3展開を行い、
    前記第4展開手段は、
    前記第3干渉情報記憶手段によって記憶された(n)番目の前記第3干渉情報を取り込み、
    該(n)番目の前記第3干渉情報に含まれる全てのイベント情報のそれぞれについて該イベント情報に基づいて1以上のオブジェクト情報を生成し、
    該生成した全てのオブジェクト情報の集合を(n)番目の第4干渉オブジェクト情報とし、
    該(n)番目の前記第4干渉オブジェクト情報を出力する(n)番目の前記第4展開を行い、
    前記第1再配分手段は、
    前記第1展開手段によって出力された(n)番目の前記第1干渉オブジェクト情報に含まれる全てのオブジェクト情報を前記第1状況情報記憶手段によって記憶された(n)番目の前記第1状況情報に追加して記憶させる(n)番目の前記第1再配分を行い、
    前記第2再配分手段は、
    前記第2展開手段によって出力された(n)番目の前記第2干渉オブジェクト情報に含まれる全てのオブジェクト情報を前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に追加して記憶させる(n)番目の前記第2再配分を行い、
    前記第3再配分手段は、
    前記第3展開手段によって出力された(n)番目の前記第3干渉オブジェクト情報に含まれる全てのオブジェクト情報を前記第3状況情報記憶手段によって記憶された(n)番目の前記第3状況情報に追加して記憶させる(n)番目の前記第3再配分を行い、
    前記第4再配分手段は、
    前記第4展開手段によって出力された(n)番目の前記第4干渉オブジェクト情報に含まれる全てのオブジェクト情報を前記第4状況情報記憶手段によって記憶された(n)番目の前記第4状況情報に追加して記憶させる(n)番目の前記第4再配分を行い、
    前記第1受付手段は、
    前記第1受付手段が(n)番目の前記第1操作情報を受け付けた時よりも後に(n+1)番目の前記第1操作情報を受け付け、
    前記第2受付手段は、
    前記第2受付手段が(n)番目の前記第2操作情報を受け付けた時よりも後に(n+1)番目の前記第2操作情報を受け付け、
    前記第1更新手段は、
    前記第1受付手段が(n)番目の前記第1操作情報を受け付けた時よりも後に(n)番目の前記第1更新を行い、
    前記第1再配分手段が(n)番目の前記第1再配分を行った時よりも後に(n+1)番目の前記第1更新を行い、
    前記第1配分手段は、
    前記第1更新手段が(n)番目の前記第1更新を行った時よりも後に(n)番目の前記第1配分を行い、
    前記第1展開手段は、
    前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n)番目の前記第1展開を行い、
    前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n+D)番目の前記第1展開を行い、
    前記第1再配分手段は、
    前記第1展開手段が(n)番目の前記第1展開を行った時よりも後に(n)番目の前記第1再配分を行い、
    前記第2更新手段は、
    前記第1操作情報記憶手段が(n)番目の前記第2操作情報を記憶した時よりも後に(n)番目の前記第2更新を行い、
    前記第2再配分手段が(n)番目の前記第2再配分を行った時よりも後に(n+1)番目の前記第2更新を行い、
    前記第2配分手段は、
    前記第2更新手段が(n)番目の前記第2更新を行った時よりも後に(n)番目の前記第2配分を行い、
    前記第2展開手段は、
    前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n)番目の前記第2展開を行い、
    前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n+D)番目の前記第2展開を行い、
    前記第2再配分手段は、
    前記第2展開手段が(n)番目の前記第2展開を行った時よりも後に(n)番目の前記第2再配分を行い、
    前記第3更新手段は、
    前記第2操作情報記憶手段が(n)番目の前記第1操作情報を記憶した時よりも後に(n)番目の前記第3更新を行い、
    前記第3再配分手段が(n)番目の前記第3再配分を行った時よりも後に(n+1)番目の前記第3更新を行い、
    前記第3配分手段は、
    前記第3更新手段が(n)番目の前記第3更新を行った時よりも後に(n)番目の前記第3配分を行い、
    前記第3展開手段は、
    前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n)番目の前記第3展開を行い、
    前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n+D)番目の前記第3展開を行い、
    前記第3再配分手段は、
    前記第3展開手段が(n)番目の前記第3展開を行った時よりも後に(n)番目の前記第3再配分を行い、
    前記第4更新手段は、
    前記第2受付手段が(n)番目の前記第2操作情報を受け付けた時よりも後に(n)番目の前記第4更新を行い、
    前記第4再配分手段が(n)番目の前記第4再配分を行った時よりも後に(n+1)番目の前記第4更新を行い、
    前記第4配分手段は、
    前記第4更新手段が(n)番目の前記第4更新を行った時よりも後に(n)番目の前記第4配分を行い、
    前記第4展開手段は、
    前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n)番目の前記第4展開を行い、
    前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n+D)番目の前記第4展開を行い、
    前記第4再配分手段は、
    前記第4展開手段が(n)番目の前記第4展開を行った時よりも後に(n)番目の前記第4再配分を行い、
    前記第1更新手段と前記第3更新手段とは、
    同一の情報を取り込んだ場合に同一の情報を出力し、
    前記第2更新手段と前記第4更新手段とは、
    同一の情報を取り込んだ場合に同一の情報を出力し、
    前記第1展開手段と前記第3展開手段とは、
    同一の情報を取り込んだ場合に同一の情報を出力し、
    前記第2展開手段と前記第4展開手段とは、
    同一の情報を取り込んだ場合に同一の情報を出力し、
    前記第1ゲーム機はさらに、
    前記第1状況情報記憶手段によって記憶された(n+D)番目の前記第1状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に表示する第1表示手段を備え、
    前記第2ゲーム機はさらに、
    前記第3状況情報記憶手段によって記憶された(n)番目の前記第3状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第4状況情報記憶手段によって記憶された(n+D)番目の前記第4状況情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に表示する第2表示手段を備えることを特徴とするゲームシステム。
  4. 前記通信網に接続されたサーバをさらに含む請求項2のゲームシステムであって、
    前記サーバは、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第5状況情報を記憶し1以上の前記第5状況情報を同時に保持する第5状況情報記憶手段と、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第6状況情報を記憶し1以上の前記第6状況情報を同時に保持する第6状況情報記憶手段と、
    ゲーム開始前に0番目の前記第5状況情報を設定し前記第5状況情報記憶手段に記憶させる第5設定手段と、
    ゲーム開始前に0番目の前記第6状況情報を設定し前記第6状況情報記憶手段に記憶させる第6設定手段と、
    第5干渉情報を記憶し複数の前記第5干渉情報を同時に保持可能な第5干渉情報記憶手段と、
    第6干渉情報を記憶し複数の前記第6干渉情報を同時に保持可能な第6干渉情報記憶手段とを備え、
    前記第5状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    前記第6状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    0番目の前記第1状況情報と0番目の前記第3状況情報と0番目の前記第5状況情報とは同一の情報であり、
    0番目の前記第2状況情報と0番目の前記第4状況情報と0番目の前記第6状況情報とは同一の情報であり、
    前記第1送信手段は、
    前記第1受付手段によって受け付けられた前記第1操作情報を前記第2ゲーム機ではなく前記サーバに送信し、
    前記第2送信手段は、
    前記第2受付手段によって受け付けられた前記第2操作情報を前記第1ゲーム機ではなく前記サーバに送信し、
    前記サーバはさらに、
    前記第1送信手段によって送信された前記第1操作情報を受信する第3受信手段と、
    前記第3受信手段によって受信された前記第1操作情報を前記第2ゲーム機に送信する第3送信手段と、
    前記第3受信手段によって受信された前記第1操作情報を記憶する第3操作情報記憶手段と、
    前記第2送信手段によって送信された前記第2操作情報を受信する第4受信手段と、
    前記第4受信手段によって受信された前記第2操作情報を前記第1ゲーム機に送信する第4送信手段と、
    前記第4受信手段によって受信された前記第2操作情報を記憶する第4操作情報記憶手段とを備え、
    前記第1受信手段は、
    前記第2送信手段ではなく前記第4送信手段によって送信された前記第2操作情報を受信し、
    前記第2受信手段は、
    前記第1送信手段ではなく前記第3送信手段によって送信された前記第1操作情報を受信し、
    前記サーバはさらに、
    複数の第5更新を行う第5更新手段と、
    複数の第6更新を行う第6更新手段と、
    複数の第5配分を行う第5配分手段と、
    複数の第6配分を行う第6配分手段と、
    複数の第5再配分を行う第5再配分手段と、
    複数の第6再配分を行う第6再配分手段とを備え、
    前記第5更新手段は、
    前記第5状況情報記憶手段によって記憶された(n−1)番目の前記第5状況情報と前記第3操作情報記憶手段によって記憶された(n)番目の前記第1操作情報とを取り込み、
    該(n−1)番目の前記第5状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第5状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第5状況情報を生成し、
    該(n−1)番目の前記第5状況情報又は該(n)番目の前記第1操作情報又は該(n)番目の前記第5状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    発生した該イベントのそれぞれについて1組以上のオブジェクト情報とそれに関連付けられたD以上の値の整数(後にLで表す)との組を生成し、
    該生成した全ての組の集合を(n)番目の第5干渉オブジェクト情報とし、
    該(n)番目の前記第5状況情報と該(n)番目の前記第5干渉オブジェクト情報とを出力する(n)番目の前記第5更新を行い、
    前記第6更新手段は、
    前記第6状況情報記憶手段によって記憶された(n−1)番目の前記第6状況情報と前記第4操作情報記憶手段によって記憶された(n)番目の前記第2操作情報とを取り込み、
    該(n−1)番目の前記第6状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第6状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第6状況情報を生成し、
    該(n−1)番目の前記第6状況情報又は該(n)番目の前記第2操作情報又は該(n)番目の前記第6状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    発生した該イベントのそれぞれについて1組以上のオブジェクト情報とそれに関連付けられたD以上の値の整数(後にMで表す)との組を生成し、
    該生成した全ての組の集合を(n)番目の第6干渉オブジェクト情報とし、
    該(n)番目の前記第6状況情報と該(n)番目の前記第6干渉オブジェクト情報とを出力する(n)番目の前記第6更新を行い、
    前記第5配分手段は、
    前記第5更新手段によって出力された(n)番目の前記第5状況情報を前記第5状況情報記憶手段に記憶させ、
    前記第5更新手段によって出力された(n)番目の前記第5干渉オブジェクト情報に含まれる全てのオブジェクト情報をそれぞれ、該オブジェクト情報に関連付けられた整数をLとした場合、前記第5干渉情報記憶手段によって記憶された(n+L)番目の前記第5干渉情報に追加して記憶させる(n)番目の前記第5配分を行い、
    前記第6配分手段は、
    前記第6更新手段によって出力された(n)番目の前記第6状況情報を前記第6状況情報記憶手段に記憶させ、
    前記第6更新手段によって出力された(n)番目の前記第6干渉オブジェクト情報に含まれる全てのオブジェクト情報をそれぞれ、該オブジェクト情報に関連付けられた整数をMとした場合、前記第6干渉情報記憶手段によって記憶された(n+M)番目の前記第6干渉情報に追加して記憶させる(n)番目の前記第6配分を行い、
    前記第5再配分手段は、
    前記第6干渉情報記憶手段によって記憶された(n)番目の前記第6干渉情報に含まれる全てのオブジェクト情報を前記第5状況情報記憶手段によって記憶された(n)番目の前記第5状況情報に追加して記憶させる(n)番目の前記第5再配分を行い、
    前記第6再配分手段は、
    前記第5干渉情報記憶手段によって記憶された(n)番目の前記第5干渉情報に含まれる全てのオブジェクト情報を前記第6状況情報記憶手段によって記憶された(n)番目の前記第6状況情報に追加して記憶させる(n)番目の前記第6再配分を行い、
    前記第5更新手段は、
    前記第3操作情報記憶手段が(n)番目の前記第1操作情報を記憶した時よりも後に(n)番目の前記第5更新を行い、
    前記第5再配分手段が(n)番目の前記第5再配分を行った時よりも後に(n+1)番目の前記第5更新を行い、
    前記第5配分手段は、
    前記第5更新手段が(n)番目の前記第5更新を行った時よりも後に(n)番目の前記第5配分を行い、
    前記第5再配分手段は、
    前記第5配分手段が(n)番目の前記第5配分を行った時よりも後に(n)番目の前記第5再配分を行い、
    前記第6配分手段が(n)番目の前記第6配分を行った時よりも後に(n+D)番目の前記第5再配分を行い、
    前記第6更新手段は、
    前記第4操作情報記憶手段が(n)番目の前記第2操作情報を記憶した時よりも後に(n)番目の前記第6更新を行い、
    前記第6再配分手段が(n)番目の前記第6再配分を行った時よりも後に(n+1)番目の前記第6更新を行い、
    前記第6配分手段は、
    前記第6更新手段が(n)番目の前記第6更新を行った時よりも後に(n)番目の前記第6配分を行い、
    前記第6再配分手段は、
    前記第6配分手段が(n)番目の前記第6配分を行った時よりも後に(n)番目の前記第6再配分を行い、
    前記第5配分手段が(n)番目の前記第5配分を行った時よりも後に(n+D)番目の前記第6再配分を行い、
    前記第1更新手段と前記第3更新手段と前記第5更新手段とは、
    同一の情報を取り込んだ場合に同一の情報を出力し、
    前記第2更新手段と前記第4更新手段と前記第6更新手段とは、
    同一の情報を取り込んだ場合に同一の情報を出力することを特徴とするゲームシステム。
  5. 通信網に接続された第1プレイヤが操作する第1ゲーム機と前記通信網に接続された第2プレイヤが操作する第2ゲーム機と前記通信網に接続されたサーバとを含むゲームシステムであって、
    前記第1ゲーム機は、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第1状況情報を記憶し1以上の前記第1状況情報を同時に保持する第1状況情報記憶手段と、
    ゲーム開始前に0番目の前記第1状況情報を設定し前記第1状況情報記憶手段に記憶させる第1設定手段とを備え、
    前記第1状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    前記第2ゲーム機は、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第2状況情報を記憶し1以上の前記第2状況情報を同時に保持する第2状況情報記憶手段と、
    ゲーム開始前に0番目の前記第2状況情報を設定し前記第2状況情報記憶手段に記憶させる第2設定手段とを備え、
    前記第2状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    前記サーバは、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第3状況情報を記憶し1以上の前記第3状況情報を同時に保持する第3状況情報記憶手段と、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第4状況情報を記憶し1以上の前記第4状況情報を同時に保持する第4状況情報記憶手段と、
    ゲーム開始前に0番目の前記第3状況情報を設定し前記第3状況情報記憶手段に記憶させる第3設定手段と、
    ゲーム開始前に0番目の前記第4状況情報を設定し前記第4状況情報記憶手段に記憶させる第4設定手段と、
    第1干渉情報を記憶し複数の前記第1干渉情報を同時に保持可能な第1干渉情報記憶手段と、
    第2干渉情報を記憶し複数の前記第2干渉情報を同時に保持可能な第2干渉情報記憶手段とを備え、
    前記第3状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    前記第4状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    0番目の前記第1状況情報と0番目の前記第3状況情報とは同一の情報であり、
    0番目の前記第2状況情報と0番目の前記第4状況情報とは同一の情報であり、
    前記第1ゲーム機はさらに、
    前記第1プレイヤから第1操作情報を受け付ける第1受付手段と、
    前記第1受付手段によって受け付けられた前記第1操作情報を前記サーバに送信する第1操作情報送信手段とを備え、
    前記第2ゲーム機はさらに、
    前記第2プレイヤから第2操作情報を受け付ける第2受付手段と、
    前記第2受付手段によって受け付けられた前記第2操作情報を前記サーバに送信する第2操作情報送信手段とを備え、
    前記サーバはさらに、
    前記第1操作情報送信手段によって送信された前記第1操作情報を受信する第1操作情報受信手段と、
    前記第1操作情報受信手段によって受信された前記第1操作情報を記憶する第1操作情報記憶手段と、
    前記第2操作情報送信手段によって送信された前記第2操作情報を受信する第2操作情報受信手段と、
    前記第2操作情報受信手段によって受信された前記第2操作情報を記憶する第2操作情報記憶手段とを備え、
    前記第1ゲーム機はさらに、
    複数の第1更新を行う第1更新手段と、
    複数の第1配分を行う第1配分手段と、
    複数の第1再配分を行う第1再配分手段とを備え、
    前記第2ゲーム機はさらに、
    複数の第2更新を行う第2更新手段と、
    複数の第2配分を行う第2配分手段と、
    複数の第2再配分を行う第2再配分手段とを備え、
    前記サーバはさらに、
    複数の第3更新を行う第3更新手段と、
    複数の第4更新を行う第4更新手段と、
    複数の第3配分を行う第3配分手段と、
    複数の第4配分を行う第4配分手段と、
    複数の第1干渉情報送信を行う第1干渉情報送信手段と、
    複数の第2干渉情報送信を行う第2干渉情報送信手段と、
    複数の第3再配分を行う第3再配分手段と、
    複数の第4再配分を行う第4再配分手段と、
    複数の第1表示情報送信を行う第1表示情報送信手段と、
    複数の第2表示情報送信を行う第2表示情報送信手段とを備え、
    nを1以上の整数変数とし、
    Dを1以上の整数定数とし、
    前記第1更新手段は、
    前記第1状況情報記憶手段によって記憶された(n−1)番目の前記第1状況情報と前記第1受付手段によって受け付けられた(n)番目の前記第1操作情報とを取り込み、
    該(n−1)番目の前記第1状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第1状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第1状況情報を生成し、
    該(n)番目の前記第1状況情報を出力する(n)番目の前記第1更新を行い、
    前記第2更新手段は、
    前記第2状況情報記憶手段によって記憶された(n−1)番目の前記第2状況情報と前記第2受付手段によって受け付けられた(n)番目の前記第2操作情報とを取り込み、
    該(n−1)番目の前記第2状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第2状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第2状況情報を生成し、
    該(n)番目の前記第2状況情報を出力する(n)番目の前記第2更新を行い、
    前記第3更新手段は、
    前記第3状況情報記憶手段によって記憶された(n−1)番目の前記第3状況情報と前記第1操作情報記憶手段によって記憶された(n)番目の前記第1操作情報とを取り込み、
    該(n−1)番目の前記第3状況情報と該(n)番目の前記第1操作情報とに基づいて該(n−1)番目の前記第3状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第3状況情報を生成し、
    該(n)番目の前記第3状況情報を出力する(n)番目の前記第3更新を行い、
    前記第4更新手段は、
    前記第4状況情報記憶手段によって記憶された(n−1)番目の前記第4状況情報と前記第2操作情報記憶手段によって記憶された(n)番目の前記第2操作情報とを取り込み、
    該(n−1)番目の前記第4状況情報と該(n)番目の前記第2操作情報とに基づいて該(n−1)番目の前記第4状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第4状況情報を生成し、
    該(n)番目の前記第4状況情報を出力する(n)番目の前記第4更新を行い、
    前記第1配分手段は、
    前記第1更新手段によって出力された(n)番目の前記第1状況情報を前記第1状況情報記憶手段に記憶させる(n)番目の前記第1配分を行い、
    前記第2配分手段は、
    前記第2更新手段によって出力された(n)番目の前記第2状況情報を前記第2状況情報記憶手段に記憶させる(n)番目の前記第2配分を行い、
    前記第3配分手段は、
    前記第3更新手段によって出力された(n)番目の前記第3状況情報を前記第3状況情報記憶手段に記憶させ、
    前記第3状況情報記憶手段によって記憶された(n−1)番目の前記第3状況情報又は前記第1操作情報記憶手段によって記憶された(n)番目の前記第1操作情報又は該(n)番目の前記第3状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    発生した該イベントのそれぞれについて1組以上のオブジェクト情報とそれに関連付けられたD以上の値の整数(後にHで表す)との組を生成し、
    該生成した全てのオブジェクト情報をそれぞれ、該オブジェクト情報に関連付けられた整数をHとした場合、前記第1干渉情報記憶手段によって記憶された(n+H)番目の前記第1干渉情報に追加して記憶させる(n)番目の前記第3配分を行い、
    前記第4配分手段は、
    前記第4更新手段によって出力された(n)番目の前記第4状況情報を前記第4状況情報記憶手段に記憶させ、
    前記第4状況情報記憶手段によって記憶された(n−1)番目の前記第4状況情報又は前記第2操作情報記憶手段によって記憶された(n)番目の前記第2操作情報又は該(n)番目の前記第4状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    発生した該イベントのそれぞれについて1組以上のオブジェクト情報とそれに関連付けられたD以上の値の整数(後にIで表す)との組を生成し、
    該生成した全てのオブジェクト情報をそれぞれ、該オブジェクト情報に関連付けられた整数をIとした場合、前記第2干渉情報記憶手段によって記憶された(n+I)番目の前記第2干渉情報に追加して記憶させる(n)番目の前記第4配分を行い、
    前記第1干渉情報送信手段は、
    前記第1干渉情報記憶手段によって記憶された(n)番目の前記第1干渉情報を前記第2ゲーム機に送信する(n)番目の前記第1干渉情報送信を行い、
    前記第2干渉情報送信手段は、
    前記第2干渉情報記憶手段によって記憶された(n)番目の前記第2干渉情報を前記第1ゲーム機に送信する(n)番目の前記第2干渉情報送信を行い、
    前記第1ゲーム機はさらに、
    前記第2干渉情報送信手段によって送信された前記第2干渉情報を受信する第1干渉情報受信手段と、
    前記第1干渉情報受信手段によって受信された前記第2干渉情報を記憶する第3干渉情報記憶手段とを備え、
    前記第2ゲーム機はさらに、
    前記第1干渉情報送信手段によって送信された前記第1干渉情報を受信する第2干渉情報受信手段と、
    前記第2干渉情報受信手段によって受信された前記第1干渉情報を記憶する第4干渉情報記憶手段とを備え、
    前記第1再配分手段は、
    前記第3干渉情報記憶手段によって記憶された(n)番目の前記第2干渉情報に含まれる全てのオブジェクト情報を前記第1状況情報記憶手段によって記憶された(n)番目の前記第1状況情報に追加して記憶させる(n)番目の前記第1再配分を行い、
    前記第2再配分手段は、
    前記第4干渉情報記憶手段によって記憶された(n)番目の前記第1干渉情報に含まれる全てのオブジェクト情報を前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に追加して記憶させる(n)番目の前記第2再配分を行い、
    前記第3再配分手段は、
    前記第2干渉情報記憶手段によって記憶された(n)番目の前記第2干渉情報に含まれる全てのオブジェクト情報を前記第3状況情報記憶手段によって記憶された(n)番目の前記第3状況情報に追加して記憶させる(n)番目の前記第3再配分を行い、
    前記第4再配分手段は、
    前記第1干渉情報記憶手段によって記憶された(n)番目の前記第1干渉情報に含まれる全てのオブジェクト情報を前記第4状況情報記憶手段によって記憶された(n)番目の前記第4状況情報に追加して記憶させる(n)番目の前記第4再配分を行い、
    前記第1表示情報送信手段は、
    前記第3状況情報記憶手段によって記憶された(n)番目の前記第3状況情報に含まれるオブジェクト情報の集合を(n)番目の第1表示情報とし、
    該(n)番目の前記第1表示情報を前記第2ゲーム機に送信する(n)番目の前記第1表示情報送信を行い、
    前記第2表示情報送信手段は、
    前記第4状況情報記憶手段によって記憶された(n)番目の前記第4状況情報に含まれるオブジェクト情報の集合を(n)番目の第2表示情報とし、
    該(n)番目の前記第2表示情報を前記第1ゲーム機に送信する(n)番目の前記第2表示情報送信を行い、
    前記第1ゲーム機はさらに、
    前記第2表示情報送信手段によって送信された前記第2表示情報を受信する第1表示情報受信手段と、
    前記第1表示情報受信手段によって受信された前記第2表示情報を記憶する第1表示情報記憶手段とを備え、
    前記第2ゲーム機はさらに、
    前記第1表示情報送信手段によって送信された前記第1表示情報を受信する第2表示情報受信手段と、
    前記第2表示情報受信手段によって受信された前記第1表示情報を記憶する第2表示情報記憶手段とを備え、
    前記第1受付手段は、
    前記第1受付手段が(n)番目の前記第1操作情報を受け付けた時よりも後に(n+1)番目の前記第1操作情報を受け付け、
    前記第2受付手段は、
    前記第2受付手段が(n)番目の前記第2操作情報を受け付けた時よりも後に(n+1)番目の前記第2操作情報を受け付け、
    前記第1更新手段は、
    前記第1受付手段が(n)番目の前記第1操作情報を受け付けた時よりも後に(n)番目の前記第1更新を行い、
    前記第1再配分手段が(n)番目の前記第1再配分を行った時よりも後に(n+1)番目の前記第1更新を行い、
    前記第1配分手段は、
    前記第1更新手段が(n)番目の前記第1更新を行った時よりも後に(n)番目の前記第1配分を行い、
    前記第1再配分手段は、
    前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n)番目の前記第1再配分を行い、
    前記第3干渉情報記憶手段が(n)番目の前記第2干渉情報を記憶した時よりも後に(n)番目の前記第1再配分を行い、
    前記第2更新手段は、
    前記第2受付手段が(n)番目の前記第2操作情報を受け付けた時よりも後に(n)番目の前記第2更新を行い、
    前記第2再配分手段が(n)番目の前記第2再配分を行った時よりも後に(n+1)番目の前記第2更新を行い、
    前記第2配分手段は、
    前記第2更新手段が(n)番目の前記第2更新を行った時よりも後に(n)番目の前記第2配分を行い、
    前記第2再配分手段は、
    前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n)番目の前記第2再配分を行い、
    前記第4干渉情報記憶手段が(n)番目の前記第1干渉情報を記憶した時よりも後に(n)番目の前記第2再配分を行い、
    前記第3更新手段は、
    前記第1操作情報記憶手段が(n)番目の前記第1操作情報を記憶した時よりも後に(n)番目の前記第3更新を行い、
    前記第3再配分手段が(n)番目の前記第3再配分を行った時よりも後に(n+1)番目の前記第3更新を行い、
    前記第3配分手段は、
    前記第3更新手段が(n)番目の前記第3更新を行った時よりも後に(n)番目の前記第3配分を行い、
    前記第3再配分手段は、
    前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n)番目の前記第3再配分を行い、
    前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n+D)番目の前記第3再配分を行い、
    前記第4更新手段は、
    前記第2操作情報記憶手段が(n)番目の前記第2操作情報を記憶した時よりも後に(n)番目の前記第4更新を行い、
    前記第4再配分手段が(n)番目の前記第4再配分を行った時よりも後に(n+1)番目の前記第4更新を行い、
    前記第4配分手段は、
    前記第4更新手段が(n)番目の前記第4更新を行った時よりも後に(n)番目の前記第4配分を行い、
    前記第4再配分手段は、
    前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n)番目の前記第4再配分を行い、
    前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n+D)番目の前記第4再配分を行い、
    前記第1干渉情報送信手段は、
    前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n+D)番目の前記第1干渉情報送信を行い、
    前記第1表示情報送信手段は、
    前記第3配分手段が(n)番目の前記第3配分を行った時よりも後に(n)番目の前記第1表示情報送信を行い、
    前記第2干渉情報送信手段は、
    前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n+D)番目の前記第2干渉情報送信を行い、
    前記第2表示情報送信手段は、
    前記第4配分手段が(n)番目の前記第4配分を行った時よりも後に(n)番目の前記第2表示情報送信を行い、
    前記第1更新手段と前記第3更新手段とは、
    同一の情報を取り込んだ場合に同一の情報を出力し、
    前記第2更新手段と前記第4更新手段とは、
    同一の情報を取り込んだ場合に同一の情報を出力し、
    前記第1ゲーム機はさらに、
    前記第1状況情報記憶手段によって記憶された(n+D)番目の前記第1状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第1表示情報記憶手段によって記憶された(n)番目の前記第2表示情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に表示する第1表示手段を備え、
    前記第2ゲーム機はさらに、
    前記第2状況情報記憶手段によって記憶された(n+D)番目の前記第2状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第2表示情報記憶手段によって記憶された(n)番目の前記第1表示情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に表示する第2表示手段を備えることを特徴とするゲームシステム。
  6. 通信網に接続された2つのゲーム機を含むゲームシステムを制御するプログラムであって、
    前記2つのゲーム機はそれぞれ、
    当該ゲーム機を操作するプレイヤから複数の操作情報を受け付け(n)番目(nは1以上の整数変数)の前記操作情報を受け付けた時よりも後に(n+1)番目の前記操作情報を受け付ける受付手段と、
    前記受付手段によって受け付けられた前記操作情報を前記2つのゲーム機のうち当該ゲーム機でないゲーム機に送信する送信手段と、
    前記2つのゲーム機のうち当該ゲーム機でないゲーム機における前記送信手段によって送信された(n)番目の前記操作情報を、(n)番目の他方の操作情報として受信する受信手段と、
    表示手段とを備え、
    前記プログラムは、
    前記2つのゲーム機のそれぞれにおいて、コンピュータを、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第1状況情報を記憶し1以上の前記第1状況情報を同時に保持する第1状況情報記憶手段と、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第2状況情報を記憶し1以上の前記第2状況情報を同時に保持する第2状況情報記憶手段と、
    ゲーム開始前に0番目の前記第1状況情報を設定し前記第1状況情報記憶手段に記憶させる第1設定手段と、
    ゲーム開始前に0番目の前記第2状況情報を設定し前記第2状況情報記憶手段に記憶させる第2設定手段と、
    第1干渉情報記憶手段と、
    第2干渉情報記憶手段ととして機能させ、
    前記第1状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    前記第2状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    前記2つのゲーム機の、一方における0番目の前記第1状況情報と他方における0番目の前記第2状況情報とは同一の情報であり、
    前記2つのゲーム機のそれぞれにおいてさらに、コンピュータを、
    前記受信手段によって受信された前記他方の操作情報を記憶する操作情報記憶手段として機能させ、
    前記2つのゲーム機のそれぞれにおいてさらに、コンピュータを、
    複数の第1更新を行う第1更新手段と、
    複数の第2更新を行う第2更新手段と、
    複数の第1配分を行う第1配分手段と、
    複数の第2配分を行う第2配分手段と、
    複数の第1再配分を行う第1再配分手段と、
    複数の第2再配分を行う第2再配分手段ととして機能させ、
    前記第1更新手段は、
    前記第1状況情報記憶手段によって記憶された(n−1)番目の前記第1状況情報と前記受付手段によって受け付けられた(n)番目の前記操作情報とを取り込み、
    該(n−1)番目の前記第1状況情報と該(n)番目の前記操作情報とに基づいて該(n−1)番目の前記第1状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第1状況情報を生成し、
    該(n−1)番目の前記第1状況情報又は該(n)番目の前記操作情報又は該(n)番目の前記第1状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    生成した該イベントのそれぞれについて1以上のオブジェクト情報を生成し、
    該(n)番目の前記第1状況情報と該生成したオブジェクト情報の集合とを出力する(n)番目の前記第1更新を行い、
    前記第2更新手段は、
    前記第2状況情報記憶手段によって記憶された(n−1)番目の前記第2状況情報と前記操作情報記憶手段によって記憶された(n)番目の前記他方の操作情報とを取り込み、
    該(n−1)番目の前記第2状況情報と該(n)番目の前記他方の操作情報とに基づいて該(n−1)番目の前記第2状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第2状況情報を生成し、
    該(n−1)番目の前記第2状況情報又は該(n)番目の前記他方の操作情報又は該(n)番目の前記第2状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    生成した該イベントのそれぞれについて1以上のオブジェクト情報を生成し、
    該(n)番目の前記第2状況情報と該生成したオブジェクト情報の集合とを出力する(n)番目の前記第2更新を行い、
    前記第1配分手段は、
    前記第1更新手段によって出力された(n)番目の前記第1状況情報を前記第1状況情報記憶手段に記憶させ、
    (n)番目の前記第1更新時に出力された前記オブジェクト情報の集合を前記第1干渉情報記憶手段に記憶させる(n)番目の前記第1配分を行い、
    前記第2配分手段は、
    前記第2更新手段によって出力された(n)番目の前記第2状況情報を前記第2状況情報記憶手段に記憶させ、
    (n)番目の前記第2更新時に出力された前記オブジェクト情報の集合を前記第2干渉情報記憶手段に記憶させる(n)番目の前記第2配分を行い、
    前記第1再配分手段は、
    (n−E)番目(Eは1以上の整数定数)の前記第2更新時に出力され前記第2干渉情報記憶手段によって記憶されたオブジェクト情報の集合に含まれる全てのオブジェクト情報を前記第1状況情報記憶手段によって記憶された(n)番目の前記第1状況情報に追加して記憶させることをn>Eの場合にのみ行う(n)番目の前記第1再配分を行い、
    前記第2再配分手段は、
    (n−E)番目の前記第1更新時に出力され前記第1干渉情報記憶手段によって記憶されたオブジェクト情報の集合に含まれる全てのオブジェクト情報を前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に追加して記憶させることをn>Eの場合にのみ行う(n)番目の前記第2再配分を行い、
    前記第1更新手段は、
    前記受付手段が(n)番目の前記操作情報を受け付けた時よりも後に(n)番目の前記第1更新を行い、
    前記第1再配分手段が(n)番目の前記第1再配分を行った時よりも後に(n+1)番目の前記第1更新を行い、
    前記第1配分手段は、
    前記第1更新手段が(n)番目の前記第1更新を行った時よりも後に(n)番目の前記第1配分を行い、
    前記第1再配分手段は、
    前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n)番目の前記第1再配分を行い、
    前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n+D)番目(Dは1以上E以下の整数定数)の前記第1再配分を行い、
    前記第2更新手段は、
    前記操作情報記憶手段が(n)番目の前記他方の操作情報を記憶した時よりも後に(n)番目の前記第2更新を行い、
    前記第2再配分手段が(n)番目の前記第2再配分を行った時よりも後に(n+1)番目の前記第2更新を行い、
    前記第2配分手段は、
    前記第2更新手段が(n)番目の前記第2更新を行った時よりも後に(n)番目の前記第2配分を行い、
    前記第2再配分手段は、
    前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n)番目の前記第2再配分を行い、
    前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n+D)番目の前記第2再配分を行い、
    前記2つのゲーム機の、一方における前記第1更新手段と他方における前記第2更新手段とは、
    同一の情報を取り込んだ場合に同一の情報を出力し、
    前記2つのゲーム機のそれぞれにおいてさらに、コンピュータを、
    前記第1状況情報記憶手段によって記憶された(n+D)番目の前記第1状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に前記表示手段に表示させる表示制御手段として機能させることを特徴とするプログラム。
  7. 通信網に接続された2つのゲーム機を含むゲームシステムにおける前記2つのゲーム機のうち、一方を制御するプログラムであって、
    前記2つのゲーム機はそれぞれ、
    当該ゲーム機を操作するプレイヤから複数の操作情報を受け付け(n)番目(nは1以上の整数変数)の前記操作情報を受け付けた時よりも後に(n+1)番目の前記操作情報を受け付ける受付手段と、
    前記受付手段によって受け付けられた前記操作情報を前記2つのゲーム機のうち当該ゲーム機でないゲーム機に送信する送信手段と、
    前記2つのゲーム機のうち当該ゲーム機でないゲーム機における前記送信手段によって送信された(n)番目の前記操作情報を、(n)番目の他方の操作情報として受信する受信手段と、
    表示手段とを備え、
    前記プログラムは、
    コンピュータを、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第1状況情報を記憶し1以上の前記第1状況情報を同時に保持する第1状況情報記憶手段と、
    ゲーム内の複数の仮想世界のうち1つの仮想世界の状況を表す第2状況情報を記憶し1以上の前記第2状況情報を同時に保持する第2状況情報記憶手段と、
    ゲーム開始前に0番目の前記第1状況情報を設定し前記第1状況情報記憶手段に記憶させる第1設定手段と、
    ゲーム開始前に0番目の前記第2状況情報を設定し前記第2状況情報記憶手段に記憶させる第2設定手段と、
    第1干渉情報記憶手段と、
    第2干渉情報記憶手段ととして機能させ、
    前記第1状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    前記第2状況情報はそれぞれ、1以上の、オブジェクトの状態を表すオブジェクト情報を含み、
    さらに、コンピュータを、
    前記受信手段によって受信された前記他方の操作情報を記憶する操作情報記憶手段として機能させ、
    さらに、コンピュータを、
    複数の第1更新を行う第1更新手段と、
    複数の第2更新を行う第2更新手段と、
    複数の第1配分を行う第1配分手段と、
    複数の第2配分を行う第2配分手段と、
    複数の第1再配分を行う第1再配分手段と、
    複数の第2再配分を行う第2再配分手段ととして機能させ、
    前記第1更新手段は、
    前記第1状況情報記憶手段によって記憶された(n−1)番目の前記第1状況情報と前記受付手段によって受け付けられた(n)番目の前記操作情報とを取り込み、
    該(n−1)番目の前記第1状況情報と該(n)番目の前記操作情報とに基づいて該(n−1)番目の前記第1状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第1状況情報を生成し、
    該(n−1)番目の前記第1状況情報又は該(n)番目の前記操作情報又は該(n)番目の前記第1状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    生成した該イベントのそれぞれについて1以上のオブジェクト情報を生成し、
    該(n)番目の前記第1状況情報と該生成したオブジェクト情報の集合とを出力する(n)番目の前記第1更新を行い、
    前記第2更新手段は、
    前記第2状況情報記憶手段によって記憶された(n−1)番目の前記第2状況情報と前記操作情報記憶手段によって記憶された(n)番目の前記他方の操作情報とを取り込み、
    該(n−1)番目の前記第2状況情報と該(n)番目の前記他方の操作情報とに基づいて該(n−1)番目の前記第2状況情報が状況を表す仮想世界の、ゲーム内の時間経過後の状況を表す(n)番目の前記第2状況情報を生成し、
    該(n−1)番目の前記第2状況情報又は該(n)番目の前記他方の操作情報又は該(n)番目の前記第2状況情報又はそれらの組み合わせに基づいて0以上のイベントを発生させ、
    生成した該イベントのそれぞれについて1以上のオブジェクト情報を生成し、
    該(n)番目の前記第2状況情報と該生成したオブジェクト情報の集合とを出力する(n)番目の前記第2更新を行い、
    前記第1配分手段は、
    前記第1更新手段によって出力された(n)番目の前記第1状況情報を前記第1状況情報記憶手段に記憶させ、
    (n)番目の前記第1更新時に出力された前記オブジェクト情報の集合を前記第1干渉情報記憶手段に記憶させる(n)番目の前記第1配分を行い、
    前記第2配分手段は、
    前記第2更新手段によって出力された(n)番目の前記第2状況情報を前記第2状況情報記憶手段に記憶させ、
    (n)番目の前記第2更新時に出力された前記オブジェクト情報の集合を前記第2干渉情報記憶手段に記憶させる(n)番目の前記第2配分を行い、
    前記第1再配分手段は、
    (n−E)番目(Eは1以上の整数定数)の前記第2更新時に出力され前記第2干渉情報記憶手段によって記憶されたオブジェクト情報の集合に含まれる全てのオブジェクト情報を前記第1状況情報記憶手段によって記憶された(n)番目の前記第1状況情報に追加して記憶させることをn>Eの場合にのみ行う(n)番目の前記第1再配分を行い、
    前記第2再配分手段は、
    (n−E)番目の前記第1更新時に出力され前記第1干渉情報記憶手段によって記憶されたオブジェクト情報の集合に含まれる全てのオブジェクト情報を前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に追加して記憶させることをn>Eの場合にのみ行う(n)番目の前記第2再配分を行い、
    前記第1更新手段は、
    前記受付手段が(n)番目の前記操作情報を受け付けた時よりも後に(n)番目の前記第1更新を行い、
    前記第1再配分手段が(n)番目の前記第1再配分を行った時よりも後に(n+1)番目の前記第1更新を行い、
    前記第1配分手段は、
    前記第1更新手段が(n)番目の前記第1更新を行った時よりも後に(n)番目の前記第1配分を行い、
    前記第1再配分手段は、
    前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n)番目の前記第1再配分を行い、
    前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n+D)番目(Dは1以上E以下の整数定数)の前記第1再配分を行い、
    前記第2更新手段は、
    前記操作情報記憶手段が(n)番目の前記他方の操作情報を記憶した時よりも後に(n)番目の前記第2更新を行い、
    前記第2再配分手段が(n)番目の前記第2再配分を行った時よりも後に(n+1)番目の前記第2更新を行い、
    前記第2配分手段は、
    前記第2更新手段が(n)番目の前記第2更新を行った時よりも後に(n)番目の前記第2配分を行い、
    前記第2再配分手段は、
    前記第2配分手段が(n)番目の前記第2配分を行った時よりも後に(n)番目の前記第2再配分を行い、
    前記第1配分手段が(n)番目の前記第1配分を行った時よりも後に(n+D)番目の前記第2再配分を行い、
    さらに、コンピュータを、
    前記第1状況情報記憶手段によって記憶された(n+D)番目の前記第1状況情報に含まれるオブジェクト情報が状態を表すオブジェクトと、前記第2状況情報記憶手段によって記憶された(n)番目の前記第2状況情報に含まれるオブジェクト情報が状態を表すオブジェクトとを同時に前記表示手段に表示させる表示制御手段として機能させることを特徴とするプログラム。
JP2008216107A 2008-08-26 2008-08-26 ネットワークゲームシステム及びプログラム Expired - Fee Related JP4892765B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008216107A JP4892765B2 (ja) 2008-08-26 2008-08-26 ネットワークゲームシステム及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008216107A JP4892765B2 (ja) 2008-08-26 2008-08-26 ネットワークゲームシステム及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010084766A Division JP2010172732A (ja) 2010-04-01 2010-04-01 ネットワークゲームシステム及びプログラム

Publications (2)

Publication Number Publication Date
JP2010104389A JP2010104389A (ja) 2010-05-13
JP4892765B2 true JP4892765B2 (ja) 2012-03-07

Family

ID=42294449

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008216107A Expired - Fee Related JP4892765B2 (ja) 2008-08-26 2008-08-26 ネットワークゲームシステム及びプログラム

Country Status (1)

Country Link
JP (1) JP4892765B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6200221B2 (ja) * 2013-06-25 2017-09-20 クルーズ株式会社 プログラム、情報処理装置および情報処理方法
JP7248857B1 (ja) * 2022-09-29 2023-03-29 Kddi株式会社 端末装置、仮想空間サービス管理装置及び仮想空間サービス制御方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4218913B2 (ja) * 1999-07-05 2009-02-04 株式会社バンダイナムコゲームス ゲーム演算集中処理装置及び情報記憶媒体
JP2007260410A (ja) * 1999-09-14 2007-10-11 Sega Corp データ処理方法
JP2003006127A (ja) * 2001-06-18 2003-01-10 Cyberstep Inc 分散処理システム、分散処理方法、およびその方法を利用可能なクライアント端末
JP3866750B2 (ja) * 2005-03-23 2007-01-10 株式会社コナミデジタルエンタテインメント ゲームプログラム、ゲーム装置及びゲーム制御方法
JP4776978B2 (ja) * 2005-05-18 2011-09-21 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
JP3968758B2 (ja) * 2005-09-08 2007-08-29 株式会社光栄 ネットワークゲームシステム,クライアント機器,サーバ機器,キャラクタ管理プログラムおよびキャラクタ管理プログラムを記憶した記憶媒体
JP3995257B2 (ja) * 2005-10-04 2007-10-24 任天堂株式会社 通信ゲームプログラムおよび通信ゲームシステム
JP3957725B2 (ja) * 2005-10-04 2007-08-15 任天堂株式会社 通信ゲームプログラムおよび通信ゲームシステム
JP2007158573A (ja) * 2005-12-02 2007-06-21 Hewlett-Packard Development Co Lp 伝送制御装置およびその方法

Also Published As

Publication number Publication date
JP2010104389A (ja) 2010-05-13

Similar Documents

Publication Publication Date Title
JP5814993B2 (ja) ゲームシステム、サーバシステム及びプログラム
CN102933267B (zh) 交互式混合异步计算机游戏基础结构
CN1913944B (zh) 消息输出装置、消息控制方法、程序以及信息记录媒体
WO2017026392A1 (ja) 電子機器及びサーバシステム
JP5518545B2 (ja) ゲームシステム、ゲーム装置及びゲームプログラム
JP2013208220A (ja) ゲーム機、それに用いる制御方法及び、コンピュータプログラム
JP6260785B2 (ja) ゲームシステム、それに用いられる制御方法及びコンピュータプログラム
JP2014068657A (ja) ゲームプログラムおよびゲームシステム
JP2015033458A (ja) 遊技装置及び遊技装置用プログラム
KR100281837B1 (ko) 화상 처리 장치 및 이를 구비한 게임 장치
JP2015029837A (ja) プログラム及びサーバ
CN113993600A (zh) 延迟消除
JP2006271473A (ja) ゲームシステム及びサーバ
JP4892765B2 (ja) ネットワークゲームシステム及びプログラム
JP2010172732A (ja) ネットワークゲームシステム及びプログラム
JP2015223319A (ja) ゲームプログラムおよびゲームシステム
JP2014158938A (ja) ゲームシステム、ゲーム装置及びゲームプログラム
JP2022020788A (ja) ゲームプログラム、およびゲームシステム
JP2003210846A (ja) ゲームシステム、ゲーム制御方法およびその記録媒体ならびにコンピュータプログラム
JP7097163B2 (ja) ゲームシステム、ゲーム提供方法及びプログラム
JP2016137256A (ja) ゲームシステム、ゲーム装置及びゲームプログラム
JP2018099230A (ja) ゲームプログラムおよびゲーム装置
JP3823112B2 (ja) ゲーム装置及びその制御方法
JP2022024558A (ja) サーバシステム及びプログラム
JP2021106657A (ja) サーバシステム、ゲームシステム及びプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100408

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111023

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees