説明

端末装置、端末装置の制御方法、ならびに、プログラム

【課題】指示操作列の入力に時間がかかっても、同じグループ内の他の端末装置とゲームの進行を共有しながら提示する端末装置等を提供する。
【解決手段】端末装置201の度合記憶部202は、ゲームの進行の度合を記憶し、入力受付部203は、指示操作列の入力を受け付け、ゲーム進行部204は、指示操作列に基づいて、ゲームを進行させ、度合更新部205は、ある指示操作列の入力の受付が終了してから次の指示操作列の入力の受付が開始されるまでの間、度合が時間の経過にともなって進行し、かつ、グループ内の全端末装置201に記憶される度合の差が小さくなるように、度合を更新し、指示操作列の入力の受付が開始されてから終了するまでの間、度合の更新を停止し、画像表示部206は、記憶される度合に対応付けられるゲームの画像を表示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の端末装置からなるグループがゲームの進行を共有するゲームシステムにおいて、指示操作列の入力に時間がかかっても、全プレイヤーにゲームの進行を適切に提示するのに好適な端末装置、端末装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【0002】
従来から、ネットワーク通信機能を持ったコンピュータやゲーム装置などの端末装置を用いて複数のプレイヤーがゲームを行うシステムが提案されている。
【0003】
MMORPG(Massively Multiplayer Roll Playing Game)などのように、多数のプレイヤーが協力してゲームを進行させる場合には、各プレイヤーが非同期的にコマンドを入力できるように設定されたものがあるが、メニュー画面を表示し、所望の項目にカーソルを合わせて決定ボタンを押すなどの操作が必要で、コマンドの入力に時間がかかることがある。
【0004】
一方で、以下に掲げる特許文献1においては、プレイヤーのプレイ順序をできるだけ所定の規則に合わせつつも、プレイが遅延したプレイヤーがいても適切に対処してゲームに参加できるようにする技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第4150410号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、コマンド入力に時間がかかる場合に、コマンド入力中もゲームが進行してしまうと、入力を行っているプレイヤーには、ゲームの進行がわかりにくくなってしまう、という問題が生じる。
【0007】
一方で、あるプレイヤーがコマンドを入力している間、全プレイヤーについてゲームの進行を停止させるのでは、ゲームの進行に支障が生じてしまう。
【0008】
本発明は、上記のような課題を解決するもので、複数の端末装置からなるグループがゲームの進行を共有するゲームシステムにおいて、指示操作列の入力に時間がかかっても、全プレイヤーにゲームの進行を適切に提示するのに好適な端末装置、端末装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【0010】
本発明の第1の観点に係る端末装置は、複数の端末装置からなるグループがゲームの進行を共有するゲームシステムにおける当該複数の端末装置の一つであって、当該端末装置は、度合記憶部、入力受付部、ゲーム進行部、度合更新部、画像表示部を備え、以下のように構成する。
【0011】
すなわち、度合記憶部は、ゲームの進行の度合を記憶する。
【0012】
ここで、ゲームの進行の度合とは、典型的には、ゲームシステムにおけるゲーム世界内の日時に相当する情報である。本発明においては、ある時点で各プレイヤーに提示されるゲーム世界の日時が、プレイヤーの操作によってずれる可能性がある。そこで、プレイヤーに提示しようとするゲーム世界の日時に相当するゲームの進行の度合の情報を、度合記憶部に記憶するのである。
【0013】
一方、入力受付部は、プレイヤーによる指示操作列の入力を受け付ける。
【0014】
指示操作列の入力とは、たとえば、画面にメニュー画面を表示し、カーソルを所望の項目に移動させて、決定する、などの一連の指示操作によるものである。一つのコマンドを入力するためには、ユーザの熟練度にもよるが、ある程度の時間を要するのが一般的である。
【0015】
さらに、ゲーム進行部は、受け付けられた指示操作列に基づいて、進行が共有されるゲームを進行させる。
【0016】
すなわち、指示操作列に対応付けられるコマンドが、当該端末装置のプレイヤーから受け付けられたことを、グループ内の他の端末装置とも共有して、ともにゲームを進行させることにより、通信ゲームを実現する。
【0017】
さらに、度合更新部は、度合記憶部に記憶される度合を更新する。ここで、
(a)指示操作列のうち、ある指示操作列の入力の受付が終了してから次の指示操作列の入力の受付が開始されるまでの間、当該度合が時間の経過にともなって進行し、かつ、グループに属する複数の端末装置のそれぞれに記憶される度合の差が小さくなるように、当該度合を更新し、
(b)指示操作列のそれぞれについて、当該指示操作列の入力の受付が開始されてから終了するまでの間、当該度合の更新を停止する。
【0018】
度合更新部は、ゲームの進行の度合、すなわち、ゲーム世界の日時を更新するのであるが、一般には、ゲーム世界の日時と現実世界の日時とは連動していて、一方が1時間進めば他方も1時間進む、のような対応関係がある。
【0019】
ただし、プレイヤーが指示操作列を入力している間に、ゲーム世界の日時が進行してしまうと、プレイヤーが、ゲームの展開を把握できない可能性がある。そこで、本発明では、指示操作列を入力している間は、ゲーム世界の日時が進行しないようにするのである。
【0020】
このような構成を採用すると、端末装置ごとに、ゲーム世界の日時がずれてしまう。そこで、本発明では、ゲームの進行の度合にずれが生じた場合には、このずれが小さくなるように、現実世界の日時とゲーム世界の日時の連動関係を調整するのである。典型的には、遅れている端末端末のゲームの進行の度合は、他の端末装置よりも速く更新したり、このほか、他の端末装置よりも遅く、スローモーションにして更新する。
【0021】
さらに、画像表示部は、記憶される度合に対応付けられるゲームの画像を表示する。
【0022】
上記のように、端末装置ごとにゲームの進行の度合にずれがある場合には、その端末装置の進行の度合に応じたゲームの画像が画面に表示されることになる。ゲーム世界の様子を常に画面に表示する態様では、指示操作列を入力している間は、進行の度合は更新されないので、時間が止まった状態で、表示されることになる。
【0023】
本発明によれば、複数の端末装置からなるグループがゲームの進行を共有するゲームシステムにおいて、指示操作列の入力に時間がかかっても、全プレイヤーにゲームの進行を適切に提示することができるようになる。
【0024】
また、本発明の端末装置において、度合更新部は、グループに属する複数の端末装置のそれぞれに記憶される度合のうち、最も先行する度合と、記憶部に記憶される度合と、の差に、あらかじめ対応付けられる速度で、当該度合が更新される間、当該度合を、時間の経過にともなって進行させるように構成することができる。
【0025】
典型的には、差がある閾値以下である場合には誤差範囲内であると解釈して、現実世界の時間経過と同じ速度で、ゲーム世界の日時を進行させ、当該閾値を超える場合には、現実世界の時間経過よりも速い速度で、ゲーム世界の日時を進行させる。特に、後者の場合には、差が大きければ大きいほど、速度をより速くすることができる。
【0026】
本発明によれば、ゲームの進行の速度を適切に調整することで、各端末装置がプレイヤーに提示するゲームの進行の度合を、できるだけ一致させることができるようになる。
【0027】
また、本発明の端末装置は、操作通知部、操作受入部、度合通知部、度合受入部をさらに備え、以下のように構成することができる。
【0028】
すなわち、操作通知部は、指示操作列が受け付けられると、当該指示操作列を、グループに属する複数の端末装置のうち、他の端末装置に通知し、操作受入部は、グループに属する複数の端末装置のうち、他の端末装置から通知される指示操作列を受け入れる。
【0029】
これらの処理によって、グループに属する各端末装置においてなされた指示操作列が、全端末装置に共有されることになる。
【0030】
さらに、度合通知部は、当該度合記憶部に記憶される度合を、グループに属する複数の端末装置のうち、他の端末装置に定期的に通知し、度合受入部は、グループに属する複数の端末装置のうち、他の端末装置から通知される度合を受け入れる。
【0031】
これらの処理によって、グループに属する各端末装置における進行の度合が、全端末装置に共有されることになる。
【0032】
そして、ゲーム進行部は、指示操作列が受け入れられると、受け付けられた度合および記憶される度合のうち、当該最も先行している度合に基づいて、ゲームの進行において当該指示操作列がなされた時点を決定する。
【0033】
各端末装置は、全端末装置においてなされた指示操作列や進行の度合を知っているので、指示操作列がなされたゲーム世界での日時を、最も先行しているゲーム世界での日時に設定する。
【0034】
本発明によれば、各端末装置におけるゲームの進行の度合にずれが生じている場合であっても、指示操作列がなされたゲーム世界の日時を揃えて、ゲームの進行に矛盾が生じないようにすることができる。
【0035】
また、本発明の端末装置の度合更新部において、当該度合記憶部に記憶される度合が、受け付けられた度合および記憶される度合の平均値もしくは中央値よりも先行している場合のゲームの進行の速度は、後行している場合のゲームの進行の速度よりも、遅いように構成することができる。特に、当該度合記憶部に記憶される度合が、受け付けられた度合および記憶される度合の平均値もしくは中央値よりも先行している場合のゲームの進行の速度は、現実の時間の経過よりも遅く、先行している場合のゲームの進行の速度は、現実の時間の経過よりも速いように構成することができる。
【0036】
これらの発明においては、ゲームの進行の度合が遅れている端末装置について、度合の更新の速さを、先行している端末装置よりも速くしたり、現実の時間経過よりも速くしたりする一方で、ゲームの進行の度合が進んでいる端末装置については、度合の更新の速さを、遅れている端末装置よりも遅くしたり、現実の時間経過よりも遅くするものである。
【0037】
本発明によれば、ゲームの進行の速度を適切に調整することで、各端末装置がプレイヤーに提示するゲームの進行の度合を、できるだけ一致させることができるようになる。
【0038】
本発明のその他の観点に係る端末装置の制御方法は、複数の端末装置からなるグループがゲームの進行を共有するゲームシステムにおける当該複数の端末装置の一つにおいて実行され、当該端末装置は、ゲームの進行の度合を記憶する度合記憶部、入力受付部、ゲーム進行部、度合更新部、画像表示部を備え、端末装置の制御方法は、入力受付工程、ゲーム進行工程、度合更新工程、画像表示工程を備え、以下のように構成する。
【0039】
すなわち、入力受付工程では、入力受付部が、プレイヤーによる指示操作列の入力を受け付ける。
【0040】
一方、ゲーム進行工程では、ゲーム進行部が、受け付けられた指示操作列に基づいて、進行が共有されるゲームを進行させる。
【0041】
さらに、度合更新工程では、度合更新部が、度合記憶部に記憶される度合を更新する。ここで、
(a)指示操作列のうち、ある指示操作列の入力の受付が終了してから次の指示操作列の入力の受付が開始されるまでの間、当該度合が時間の経過にともなって進行し、かつ、グループに属する複数の端末装置のそれぞれに記憶される度合の差が小さくなるように、当該度合を更新し、
(b)指示操作列のそれぞれについて、当該指示操作列の入力の受付が開始されてから終了するまでの間、当該度合の更新を停止する。
【0042】
一方、画像表示工程では、画像表示部が、記憶される度合に対応付けられるゲームの画像を表示する。
【0043】
本発明のその他の観点に係るプログラムは、コンピュータを、上記の端末装置として機能させるように構成する。
【0044】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【0045】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0046】
本発明によれば、複数の端末装置からなるグループがゲームの進行を共有するゲームシステムにおいて、指示操作列の入力に時間がかかっても、全プレイヤーにゲームの進行を適切に提示するのに好適な端末装置、端末装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【0047】
【図1】典型的な情報処理装置の概要構成を示す模式図である。
【図2】本実施形態に係る端末装置の概要構成を示す説明図である。
【図3】本実施形態に係る端末処理の制御の流れを示すフローチャートである。
【図4A】本実施形態において各端末装置にゲームの進行の場面が提示される時系列を示す説明図である。
【図4B】本実施形態において各端末装置にゲームの進行の場面が提示される時系列を示す説明図である。
【発明を実施するための形態】
【0048】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。
【0049】
したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例1】
【0050】
図1は、プログラムを実行することにより、本実施形態の端末装置として機能しうる典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0051】
本図に示す情報処理装置100は、いわゆるコンシューマゲーム機に相当するもので、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、インターフェース104、コントローラ105、外部メモリ106、画像処理部107、DVD−ROM(Digital Versatile Disc ROM)ドライブ108、NIC(Network Interface Card)109、音声処理部110、マイク111、ハードディスク(Hard Disk;HD)121を有する。各種の入出力装置は、適宜省略することができる。
【0052】
情報処理装置100を典型的なコンシューマゲーム機として機能させる場合には、ゲーム用プログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着し、電源を投入する。すると、当該ゲームプログラムが実行され、ゲームをプレイすることができるようになる。
【0053】
また、DVD−ROMドライブ108に装着されたDVD−ROMから、アプリケーションをHD 121にインストールして、当該HD 121に記憶されたプログラムを実行することによって、ゲームを含む各種のアプリケーションを実行することとしても良い。
【0054】
なお、本実施形態に係る端末装置と各種のサーバ装置とでは、実行する情報処理の規模や種類が異なるだけで、本質的には、いずれも、本図に示す情報処理装置100と同様の構成により、実現される。
【0055】
なお、携帯型のゲーム装置においては、携帯可能とするために、DVD−ROMドライブ108を利用するのではなく、ROMカセット用スロットにROM(Read Only Memory)カセットやEEPROM(Electrically Erasable Programmable ROM)カセットを装着することで、HD 121を省略することも可能である。この場合、アプリケーション用プログラムをROMカセットやEEPROMカセットに書き込んでおけば、当該プログラムを実行することができる。このほか、外部メモリ106にアプリケーション用プログラムをインストールすることも可能である。
【0056】
さて、CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
【0057】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0058】
RAM 103は、データやプログラムを一時的に記憶するためのもので、HD 121やDVD−ROM等から読み出したプログラムやデータ、その他通信対戦ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【0059】
インターフェース104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【0060】
なお、コントローラ105は、必ずしも情報処理装置100に対して外付けにされている必要はなく、一体に形成されていても良い。携帯可能な端末装置のコントローラ105は、各種のボタンやスイッチから構成され、これらの押圧操作を操作入力として扱う。このほか、タッチスクリーンを利用した情報処理装置100では、ユーザがペンや指を利用してタッチスクリーンをなぞった軌跡を操作入力として扱う。
【0061】
インターフェース104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0062】
上述の通り、アプリケーションプログラムを外部メモリ106にインストールして実行するような形態を採用することもできる。これは、外部メモリ106が大容量である場合に好適である。
【0063】
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0064】
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0065】
携帯可能な端末装置のモニタとしては、小型の液晶ディスプレイを利用するのが典型的であり、コントローラ105としてタッチスクリーンを利用する場合には、当該タッチスクリーンの表示パネルがモニタとして機能する。自宅で遊ぶための端末装置やサーバ装置のモニタとしては、CRT(Cathode Ray Tube)やプラズマディスプレイなどの表示装置を利用することも可能である。
【0066】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0067】
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0068】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【0069】
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LANを構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0070】
このほか、NIC 109として、無線LAN対応のものを採用することもできる。この場合、インターネットに接続する場合にはインフラストラクチャ通信を行い、近傍に配置される情報処理装置100同士で通信する場合にはアドホック通信を行うのが典型的である。
【0071】
また、NIC 109経由でコンピュータ通信網から入手した情報を元に、HD 121等にアプリケーションプログラムをインストールすることも可能である。
【0072】
音声処理部110は、HD 121やDVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカや、ヘッドホン(図示せず)、イヤフォン(図示せず)から出力させる。
【0073】
音声処理部110では、HD 121やDVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
【0074】
さらに、情報処理装置100には、インターフェース104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。
【0075】
本実施形態で利用する情報処理装置100は、上述のように、HD 121等の大容量外部記憶装置を用いるのが典型的である。HD 121は、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすこともできる。
【0076】
このほか、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置100にかえて、汎用のパーソナルコンピュータやサーバ用コンピュータ等を利用することもできる。
【0077】
以上で説明した情報処理装置100は、コンシューマ向けゲーム装置に相当するものであるが、各種の入出力処理が可能な電子機器であれば、本発明の端末装置のほか、各種のサーバ装置を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明の端末装置のほか、各種のサーバ装置を実現することが可能である。
【0078】
たとえば、ビジネス用コンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NIC、HDを構成要素として有するほか、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてフレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっており、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用するのが典型的である。
【0079】
本実施形態に係る端末装置は、複数集まってグループを形成し、ゲームの進行を共有するが、そのための手法としては、大きくわけて以下の3通りがある。
(a)各端末装置が共通するサーバ装置にて管理される形態。無線LANのインフラストラクチャモードで端末装置が通信ゲームを行う場合等に好適である。
(b)各端末装置のうちいずれかがマスターとなり、他の端末装置がスレーブとなって、マスターがスレーブを管理する形態。上記形態のサーバの役割をマスターが果たす形態であり、無線LANのアドホックモードで端末装置が通信ゲームを行う場合等に好適である。
(c)各端末装置が、対等の関係でゲームの進行を管理する形態。
【0080】
これら3通りの形態は、各部の機能を、どの端末装置あるいはサーバ装置が担当するか、の相違があるだけであり、処理の本質は共通している。
【0081】
以下では、理解を容易にするため、上記(c)の態様を例にあげて説明するが、各端末装置やサーバ装置との間で適宜情報を送受することによって、本態様を上記(a)や上記(b)の態様に変形することも可能である。
【0082】
図2は、本実施形態に係る端末装置の概要構成を示す説明図である。以下、本図を参照して説明する。
【0083】
本実施形態に係る端末装置201は、上記の情報処理装置101にDVD−ROM等の記録媒体を装着し、記録媒体に記録されたプログラムを実行することによって実現される。
【0084】
ここで、当該端末装置201は、度合記憶部202、入力受付部203、ゲーム進行部204、度合更新部205、画像表示部206、操作通知部207、操作受入部208、度合通知部209、度合受入部210を備える。
【0085】
ここで、度合記憶部202は、ゲームの進行の度合を記憶する。本実施形態では、RAM 103によって実現される。
【0086】
本実施形態では、ゲームの進行の度合として、ゲームシステムにおけるゲーム世界内の日時を採用する。本実施形態では、プレイヤーの入力操作がされている間は、各プレイヤーに提示されるゲーム世界の日時が停止する。このため、ゲーム世界の日時は、プレイヤーの操作によってずれてしまう。プレイヤーに提示しようとするゲーム世界の日時を、ゲームの進行の度合の情報として、度合記憶部202に記憶する。
【0087】
なお、本実施形態ではゲーム世界の日時の流れの速度と、現実世界の日時の流れの速度と、の比も、ゲームの進行の度合の情報として、度合記憶部202に記憶される。
【0088】
一方、入力受付部203は、プレイヤーによる指示操作列の入力を受け付ける。本実施形態では、コントローラ105によって実現される。
【0089】
本実施形態における指示操作列の入力は、画面にメニューを表示し、カーソルを所望の項目に移動させて、決定する、などの一連の指示操作によるものである。一つのコマンドを入力するためには、ユーザの熟練度にもよるが、ある程度の時間を要し、この一連の指示操作をしている間、当該端末装置201のゲーム世界の日時は停止する。
【0090】
さらに、ゲーム進行部204は、受け付けられた指示操作列に基づいて、端末装置201同士で進行が共有されるゲームを、当該端末装置201において進行させる。本実施形態では、CPU 101が情報処理装置100の各部と共働することによって実現される。
【0091】
すなわち、指示操作列に対応付けられるコマンドが、当該端末装置201のプレイヤーから受け入れられたことを、操作通知部207、操作受入部208を機能させて指示操作列の送受を行うことによってグループ内の他の端末装置201と共有し、ともにゲームを進行させることにより、通信ゲームを実現する。
【0092】
さらに、度合更新部205は、度合記憶部202に記憶される度合を更新する。ここで、
(a)指示操作列のうち、ある指示操作列の入力の受付が終了してから次の指示操作列の入力の受付が開始されるまでの間、当該度合が時間の経過にともなって進行し、かつ、グループに属する複数の端末装置201のそれぞれに記憶される度合の差が小さくなるように、当該度合を更新し、
(b)指示操作列のそれぞれについて、当該指示操作列の入力の受付が開始されてから終了するまでの間、当該度合の更新を停止する。
【0093】
度合更新部205は、ゲームの進行の度合、すなわち、ゲーム世界の日時を更新する。
【0094】
上記のように、本実施形態においては、原則として、ゲーム世界の日時と現実世界の日時とは連動していて、一方が1時間進めば他方も1時間進む、のような対応関係がある。
【0095】
ただし、本実施形態では、プレイヤーが指示操作列を入力している間は、ゲーム世界の日時が進行しないようにして、その間のゲームの展開をプレイヤーが把握できないようになってしまうことを防止している。
【0096】
このような構成を採用すると、端末装置201ごとに、ゲーム世界の日時がずれてしまう。そこで、本実施形態では、ゲームの進行の度合にずれが生じた場合には、このずれが小さくなるように、現実世界の日時とゲーム世界の日時の連動関係を調整するのである。調整の手法としては、後述するように、遅れている端末装置201のゲームの進行の度合を速くしたり、進んでいる端末装置201のゲームの進行の度合を遅くしたりする。
【0097】
このため、度合通知部209と、度合受入部210とを機能させて、同じグループに属する他の端末装置201同士で、そのゲームの進行の度合の情報を定期的に送受し合って共有する。この処理によって、各端末装置201は、当該端末装置201のプレイヤーに提示されているゲームの進行の度合が、他の端末装置201のプレイヤーに提示されているゲームの進行の度合に比べて、遅れているのか進んでいるのかを知得することができる。
【0098】
なお、本実施形態では、ゲーム進行部204は、指示操作列が受け入れられると、受け付けられた度合および記憶される度合のうち、当該最も先行している度合に基づいて、ゲームの進行において当該指示操作列がなされた時点を決定する。
【0099】
各端末装置201は、全端末装置201においてなされた指示操作列や進行の度合を知っているので、指示操作列がなされたゲーム世界での日時を、最も先行しているゲーム世界での日時に設定して、ゲーム世界での歴史に矛盾が生じないようにするのである。
【0100】
さらに、画像表示部206は、記憶される度合に対応付けられるゲームの画像を表示する。
【0101】
上記のように、端末装置201ごとにゲームの進行の度合にずれがある場合には、その端末装置201の進行の度合に応じたゲームの画像が画面に表示されることになる。ゲーム世界の様子を常に画面に表示する態様では、指示操作列を入力している間は、進行の度合は更新されないので、時間が止まった状態で、表示されることになる。
【0102】
以下、端末装置201のそれぞれにて実行される端末処理の詳細について説明する。図3は、本実施形態に係る端末処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。なお、本図では、複数の端末装置201のうち、第i番目の端末装置201を想定して、説明をしている。
【0103】
本処理が開始されると、端末装置201を実現する情報処理装置100のCPU 101は、各種の初期化を行う(ステップS301)。この初期化では、たとえば、以下のような処理が行われる。
【0104】
まず、NIC 109を介して、ゲームの進行を共有する他の端末装置201の検索と通信設定が行われる。無線LANのインフラストラクチャ通信や有線LANを利用して通信ゲームを行う場合には、ロビーサーバなどに接続して、他の端末装置201の紹介を受ける。無線LANのアドホック通信を利用して通信ゲームを行う場合には、ビーコンを発して近傍の端末装置201との通信を確立する。
【0105】
他の端末装置201が決まり、ゲームを進行させるためのグループが形成されたら、当該グループ内における当該端末装置201の番号を決める。N台の端末装置201からなるグループの場合、本実施形態では、各端末装置201の番号として、0,1,2,…,N-1のいずれかの整数を、重複なく割り当てるものとする。
【0106】
そして、各種のゲームのための初期設定を行う。この初期設定では、未通知キューと、コマンドキューの、2つのキューのクリア作業も行われる。
【0107】
ここで、コマンドキューは、
(a)各端末装置201のプレイヤーにより入力された指示操作列に対応付けられるコマンドと、
(b)当該端末装置201の番号と、
(c)当該コマンドが入力されたものとみなす「ゲーム世界の日時」と、
を対応付けて記憶するキューである。
【0108】
一方、未通知キューは、当該端末装置201のプレイヤーにより入力された指示操作列に対応付けられるコマンドを記憶するキューである。
【0109】
また、現在がコマンド入力中か否かの状態情報も初期化する。
【0110】
そして、RAM 103に記憶される度合記憶部202を初期化して、ステップS302に進む。本実施形態では、ゲームを開始した時点からの「ゲーム世界での日時の経過」を、ゲームの進行の度合として利用する。
【0111】
以下、理解を容易にするためi番目の端末装置201の度合をd[i]と表記し、当該端末装置201の度合の速度をk[i]と表記する。各端末装置201の度合記憶部202には、
d[0],d[1],d[2],…,d[N-1]、および
k[0],k[1],k[2],…,k[N-1]
のための記憶領域が用意される。
【0112】
初期化の時点では、d[0],d[1],d[2],…,d[N-1]は、いずれも0.0に、k[0],k[1],k[2],…,k[N-1]は、いずれも1.0に、それぞれ初期化される。すなわち、整数j = 0,1,2,…,N-1のそれぞれについて、
d[j] := 0.0; k[j] := 1.0
を実行する。ここで、「:=」は、代入を意味する。また、本願では、値として実数を用いているが、固定小数点表現を利用することにより、整数計算によって、進行の度合や速度を表現することとしても良い。
【0113】
ついで、CPU 101は、当該端末装置201の番号がi番目である場合、
(a)度合記憶部202に記憶される度合d[i]に基づいたゲーム世界の様子と、
(b)ユーザに提示すべき各種の情報と、
を表す画像を、RAM 103内に生成する(ステップS302)。
【0114】
すなわち、当該i番目の端末装置における「ゲーム世界内の日時」は、d[i]である、ということになる。
【0115】
また、各種のコマンドを入力している間等は、メニュー項目やカーソル、各種のパラメータ情報などが、ユーザに提示される情報として、生成される画像に含まれることになる。
【0116】
画像が生成されたら、垂直同期割込が生じるまで待機して(ステップS303)、垂直同期割込が生じたら、画像処理部107を制御して、当該生成された画像をモニタ画面に表示する(ステップS304)。なお、ステップS303の待機中には、種々の処理をコルーチン的に実行することが可能である。
【0117】
そして、CPU 101は、整数j = 0,1,2,…,N-1のそれぞれについて、
d[j] := d[j] + k[j]×ΔT
を実行する(ステップS305)。ここで、ΔTは、垂直同期割込の周期であり、典型的には、1/30秒、もしくは、1/60秒程度である。
【0118】
ついで、CPU 101は、当該端末装置201が、度合通知をすべきタイミングであるか否かを調べる(ステップS306)。時分割通信を行っている場合には、現在時刻が、当該端末装置201に割り当てられた通信用スロットに含まれているときが、度合通知をすべきタイミングであることになる。この通信用スロットは、度合通知のためのほか、コマンド通知のためのものを別途用意することとしても良い。
【0119】
このほか、簡易には、以下のような手法がある。すなわち、ゲームの開始から現在までの垂直同期割込の回数cをカウントする。そして、当該回数をN以上の定数Mで割り算したときの余りが、当該端末装置201の番号iに等しいか否か、すなわち、
c mod M = i
が成立するか否かを調べる。これが成立する場合は、度合通知をすべきタイミングである、と判断する。Mは、Nの2倍以上の値とするのが典型的である。
【0120】
度合通知をすべきタイミングである場合(ステップS306;Yes)、端末装置201は、自身の番号iと、現在の度合d[i]と、現在の速度k[i]と、を、他の端末装置201に通知して(ステップS307)、ステップS308に進む。
【0121】
度合通知をすべきタイミングでない場合(ステップS306;No)、そのままステップS308に進む。
【0122】
さらに、CPU 101は、現在がコマンド入力中であるか否かを調べ(ステップS308)、コマンド入力の途中でなければ(ステップS308;No)、コントローラ105の操作入力の状況を検査することにより、コマンド入力が開始されたか否かを取得する(ステップS309)。たとえば、コントローラ105に用意されたメニュー表示ボタンの押圧操作がなされると、コマンド入力が開始された、と判断する。コマンド入力が開始されていない場合(ステップS309;No)、ステップS312に進む。
【0123】
一方、コマンド入力が開始されたことが判明した場合(ステップS309;Yes)、現在コマンド入力中である旨をRAM 103に記録して(ステップS310)、自身の現在の速度k[i]を、
k[i] := 0
のように更新する(ステップS311)。
【0124】
このように更新することによって、当該i番目の端末装置201にて提示されるゲーム世界内の日時d[i]は、ステップS305の更新によっても、変化しなくなる。
【0125】
そして、CPU 101は、NIC 109を監視して、他の端末装置201から各種の通知が到達しているか否かを調べる(ステップS312)。通知が何も到達していなければ(ステップS312;なし)、そのままステップS316に進む。
【0126】
ここで、他の端末装置201によって、ステップS307における度合通知が送信されたとする。
【0127】
すると、度合通知がステップS312において検出されることとなる。すなわち、度合通知が到達している場合(ステップS312;度合)、当該端末装置201は、当該度合通知を受信し(ステップS313)、度合通知に指定されている番号Iと、度合Dと、速度Kと、を取得して(ステップS314)、
d[I] := D; k[I] := K
のように、RAM 103を更新して(ステップS315)、ステップS316に進む。
【0128】
K = 0.0である場合には、I番目の端末装置201において、現在コマンド入力中であることになるし、d[I]からは、I番目の端末装置201が、現在プレイヤーに提示しているゲームの場面は、進行の度合がd[I]のときのものであることがわかる。
【0129】
さらに、CPU 101は、当該端末装置201が、操作通知をすべきタイミングであるか否かを調べる(ステップS316)。操作通知をすべきタイミングであるか否かは、上述の度合通知と同様に、現在時刻がそのための通信スロットに含まれているか否かによって判断したり、
c mod M = N + i
が成立するか否かにより判定する手法が採用できる。
【0130】
操作通知をすべきタイミングである場合(ステップS316;Yes)。未送信キューが空であるか否かを調べる(ステップS317)。
【0131】
未送信キューが空でなければ(ステップS317;No)、自身の番号iと、未送信キューに記憶されているコマンドと、を指定する操作通知を、他の端末装置201に送信して(ステップS318)、未送信キューをクリアし(ステップS330)、ステップS331に進む。
【0132】
未送信キューに記憶されるコマンドは、典型的には1個までであるが、操作通知をするタイミングによっては、複数記憶されるように構成しても良い。
【0133】
一方、操作通知をすべきタイミングでない場合(ステップS316;No)や未送信キューが空である場合(ステップS317;Yes)は、そのままステップS331に進む。
【0134】
このようにして操作通知が他の端末装置201から送信された場合を考える。当該操作通知が、当該端末装置201に到達すると、ステップS312において、NIC 109は、操作通知が到達したことを検知する(ステップS312;操作)。すると、当該端末装置201は、その操作通知を受信して(ステップS319)、操作通知に指定されている番号と、コマンドと、を取得する(ステップS320)。
【0135】
そして、各端末装置201の進行の度合d[0],d[1],d[2],…,d[N-1]の中の最大の値max(d) = max(d[0],d[1],d[2],…,d[N-1])を求め(ステップS321)、
(a)取得されたコマンドが、
(b)取得された番号の端末装置201において、
(c)ゲーム世界の日時におけるmax(d)の時点に、
入力された旨を表す情報を、コマンドキューに追加して(ステップS322)、ステップS316に進む。
【0136】
ここで、max(d)とは、各端末装置201のうち、最も進行の度合が先に進んでいるものを意味する。上記のような処理を行うことで、当該コマンドが入力された時刻を確定させることとして、各端末装置201におけるコマンドの順序等に、矛盾が生じないようにするのである。
【0137】
さて、現在がコマンド入力中である場合(ステップS308;Yes)、コントローラ105の操作入力の状況を検査して、コマンド入力のための指示入力を受け付ける(ステップS323)。たとえば、カーソルキーの押圧操作や決定ボタンの押圧操作、マウスの移動操作・クリック操作、タッチペンによるタッチパネルへの接触操作などが、コマンド入力のための指示入力として考えられる。
【0138】
これらの操作入力によって、画面に表示されたメニューの中のメニュー項目から、所望のコマンドを選択したり、ゲームの各種のパラメータを画面に表示したりするのである。
【0139】
そして、受け付けられた指示入力によって、一つのコマンド入力が完了したか否かを調べる(ステップS324)。たとえば、メニュー項目から所望のコマンドを選択する場合には、カーソルキーで樹状のメニューの中を移動して、決定ボタンを押圧操作することにより、コマンド入力が完了したことになる。
【0140】
コマンド入力が完了しておらず、まだ操作指示を続ける必要がある場合には(ステップS324;No)、ステップS316に進む。
【0141】
コマンド入力が完了していれば(ステップS324;Yes)、未送信キューに、当該コマンドを追加するとともに(ステップS325)、max(d)を取得する(ステップS326)。そして、
(a)当該入力されたコマンドが、
(b)当該i番目の端末装置201において、
(c)ゲーム世界の日時におけるmax(d)の時点に、
入力された旨を表す情報を、コマンドキューに追加する(ステップS327)。
【0142】
したがって、ステップS325で未送信キューに追加されたコマンドは、ステップS318で送信され、他の端末装置201から送信されたコマンドは、ステップS319で受信され、ステップS322でコマンドキューに追加登録されることになる。
【0143】
一方、端末装置201自身のコマンドキューには、ステップS327でコマンドが追加される。このような管理を行うことで、各端末装置201でコマンドが入力された「ゲーム内世界の日時」に矛盾が生じないように、コマンド入力を共有することができる。
【0144】
さて、コマンド入力が完成したら、当該i番目の端末装置201におけるゲームの進行を再開することとなる。すなわち、速度k[i]として、0.0でない数値を与えることとなる。
【0145】
ここで、当該i番目の端末装置201は、コマンド入力中に「ゲーム内世界の日時」が停止していたため、他の端末装置201に対して、ゲームの進行の度合d[i]が遅れているものと考えられる。すなわち、
max(d) > d[i]
が成立する。
【0146】
このような状況下で、当該i番目の端末装置201が他の端末装置201に追い付くためには、速度k[i]として、1よりも大きな値を与えるのが最も簡単である。
【0147】
そこで、N個の要素からなる配列dと、その配列内での要素のインデックスiと、を引き数とする関数f(d,i)を考え、この関数f(d,i)が返す値を、当該i番目の端末装置201の速度k[i]とする。
【0148】
関数f(d,i)の最も単純な定義は、1.0より大きい定数Cと、微小な誤差を表す定数εにより、
(a)max(d)-d[i]≦εであれば、f(d,i) = 1.0
(b)そうでなければ、f(d,i) = C
とするものである。定数εの大きさは、通信における遅延時間を考慮して、ΔTの数倍から十数倍程度とするのが典型的である。関数f(d,i)のその他の定義については、後述する。
【0149】
さて、上記のように、ステップS324においてコマンドの入力が完了したと判定され、ステップS327において当該コマンドがコマンドキューへ追加がされたら、当該i番目の端末装置201の速度k[i]を、
k[i] := f(d,i)
のように更新して(ステップS328)、ステップS331に進む。
【0150】
このように速度k[i]の更新がされたことは、次に当該i番目の端末装置201から度合通知を送信する際に、他の端末装置201に通知される。
【0151】
ついで、コマンドキューに登録されている情報を順に調べて、現在の当該i番目の端末装置201の進行の度合d[i]以前に入力されたコマンドの情報、すなわち、コマンドの種類と当該コマンドが入力された端末装置201の番号をコマンドキューからすべて取り出す(ステップS331)。
【0152】
そして、取り出されたコマンドの情報の進行の度合の順に、どの端末装置201においてどのコマンドが入力されたかに基づいて、ゲームの状態を更新する(ステップS332)。
【0153】
このようにしてゲームの状態を更新することで、各端末装置201で現実世界の同時刻に提示されるゲーム世界の様子にずれがあったとしても、ゲーム世界内の日時では、同じ日時に同じコマンドが同じプレイヤーから入力されたこととなり、ゲームの進行を共有することができるのである。
【0154】
ステップS332において、ゲームの状態を更新したら、ステップS302に戻る。
【0155】
上記実施形態では、一つのループの中で、各種通知の受信や操作入力の受付の処理を行っているが、受信割込やコントローラ入力割込などを利用することによって、これらの処理を、並列処理的に行うことも可能である。
【0156】
また、度合通知は、必ずしも定期的に送信する必要はないが、通信ゲームにおいては、相互の接続が確実であることを定期的に確認するのが一般的であるため、そのような定期的な確認の際に、度合の情報をマスターを経由して他の端末装置201に通知してしまうのが、最も典型的な手法である。
【0157】
図4A、図4Bは、本実施形態において、2台の端末装置201が通信ゲームを行う場合のゲームの進行と提示の例を示す説明図である。以下、本図を参照して説明する。
【0158】
本図横軸の時間軸401は、時間の流れる方向を意味し、端末装置201aと端末装置201bにおいて表示されるゲームの場面が、それぞれ、帯411a、411bの中に、A、B、C、D、…のように、示されている。
【0159】
当初は、2つの端末装置201a、201bで、同時に同じ場面Aが提示されている。
【0160】
その後、端末装置201a、201bにおいて場面Bが画面に表示されている途中で、端末装置201bにおいて、コマンドの入力412b(図中の斜線部)が開始されている。
【0161】
コマンドの入力412bがされている間、端末装置201aにおいては、場面B、C、Dのようにゲームが進むが、端末装置201bにおいては、画面に表示される場面は変化しない。このため、端末装置201aと端末装置201bの間で、ずれが生じる。
【0162】
端末装置201bにおいて、コマンドの入力412bが完了すると、端末装置201bは、場面の表示をC倍速(本図ではC = 2である。)で行い、端末装置201aに追い付こうとする。このために、場面Bの残り部分や、場面C、D、Eを高速に再生する。
【0163】
そして、場面Fの開始時点で、端末装置201bは端末装置201aに追い付く。このため、端末装置201bにゲームの進行の速度は、通常の速度に戻る。
【0164】
また、コマンド入力412bのコマンドがゲーム内において生じた「ゲーム内の日時」は、ゲーム内の日時が最も先行してプレイヤーに提供されている端末装置201aの時系列から考えて、場面Dの途中の時点413aに相当することになる。
【0165】
すなわち、端末装置201bにおいては、コマンドの入力412bが完了しても入力されたコマンドが直ちに有効となるのではない。端末装置201bにおいてゲームの進行の高速再生がなされ、時点413aと同じゲーム内の日時である時点413bになって初めて、当該コマンドが有効となる。
【0166】
このように、コマンドが有効となる現実世界での時刻は、端末装置201aと端末装置201bとで異なるが、コマンドが有効となるゲーム世界での日時は、一致することとなる。したがって、ゲームの進行について、端末装置201a、201bの間で矛盾が生じることはない。
【0167】
図4Aでは、コマンド入力が完了してからそのコマンド入力が実際に有効となるまでに、少々の時間を要するが、図4Bでは、コマンド入力が完了してから、そのコマンド入力が実際に有効となるまでの間421bに、当該コマンドに対応する特殊効果を画面に表示している。特殊効果は、早送りされているゲーム内世界の表示にオーバレイさせるのが典型的である。
【0168】
このような表示を行うことで、コマンド入力を行ったユーザに、当該コマンド入力が受け付けられたことを知らせることができる。本発明によれば、複数の端末装置201からなるグループがゲームの進行を共有するゲームシステムにおいて、指示操作列の入力に時間がかかっても、全プレイヤーにゲームの進行を適切に提示することができるようになる。
【0169】
以下では、関数f(d,i)のさまざまな変形例について説明する。
【0170】
上記の態様では、1.0より大きい定数Cと、微小な誤差を表す定数εにより、
(a)max(d)-d[i]≦εであれば、f(d,i) = 1.0
(b)そうでなければ、f(d,i) = C
としていた。この態様は、遅れている端末装置201において、C倍速でゲーム世界の様子が画面表示され、一番先行している端末装置201に追い付くと、通常速度の1倍速に表示が戻る。
【0171】
このほか、遅れをとり戻すにつれて速度が次第に1倍速に近付く、というようにするためには、適当な正定数Dを用いて
(a)max(d)-d[i]≦εであれば、f(d,i) = 1.0
(b)そうでなければ、f(d,i) = 1 + D×(max(d)-d[i])
とする態様もありうる。
【0172】
一般には、単調増加しつつ正の値を返す適当な関数g(・)を用いて、
(a)max(d)-d[i]≦εであれば、f(d,i) = 1.0
(b)そうでなければ、f(d,i) = 1 + g(max(d)-d[i])
とすることができる。
【0173】
さらに、先行している端末装置201の再生はスローモーションとし、遅れている端末装置201の再生は早送りとして、ゲームの進行のずれを小さくする、という手法もありうる。
【0174】
たとえば、d[0],d[1],d[2],…,d[N-1]の平均値、もしくは、中央値をEとしたときに、
(a)d[i]≦E-εであれば、f(d,i) > 1
(b)E-ε<d[i]<E+εであれば、f(d,i) = 1
(c)E+ε≦d[i]であれば、f(d,i) < 1
とする態様が考えられる。場合分け(a)(c)における値は、1を超える定数や1未満の定数を採用しても良い。また、上記の関数g(・)に類する単調に変化する関数に、Eとd[i]の差を与えた結果を利用することとしても良い。
【0175】
これらの態様によれば、各端末装置201が提示するゲームの進行の度合を速くしたり遅くしたりして、できるだけ一致させることができるようになる。
【産業上の利用可能性】
【0176】
以上説明したように、本発明によれば、複数の端末装置からなるグループがゲームの進行を共有するゲームシステムにおいて、指示操作列の入力に時間がかかっても、全プレイヤーにゲームの進行を適切に提示するのに好適な端末装置、端末装置の制御方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【符号の説明】
【0177】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 マイク
121 HD
201 端末装置
202 度合記憶部
203 入力受付部
204 ゲーム進行部
205 度合更新部
206 画像表示部
207 操作通知部
208 操作受入部
209 度合通知部
210 度合受入部
401 時間軸
411 提示される場面を表す帯
412 コマンドが入力された時間帯
413 コマンドが入力されたと解釈される時点
421 特殊効果が表示される時間帯

【特許請求の範囲】
【請求項1】
複数の端末装置からなるグループがゲームの進行を共有するゲームシステムにおける当該複数の端末装置の一つであって、当該端末装置は、
ゲームの進行の度合を記憶する度合記憶部、
プレイヤーによる指示操作列の入力を受け付ける入力受付部、
前記受け付けられた指示操作列に基づいて、前記進行が共有されるゲームを進行させるゲーム進行部、
前記度合記憶部に記憶される度合を更新する度合更新部であって、
(a)前記指示操作列のうち、ある指示操作列の入力の受付が終了してから次の指示操作列の入力の受付が開始されるまでの間、当該度合が時間の経過にともなって進行し、かつ、前記グループに属する複数の端末装置のそれぞれに記憶される度合の差が小さくなるように、当該度合を更新し、
(b)前記指示操作列のそれぞれについて、当該指示操作列の入力の受付が開始されてから終了するまでの間、当該度合の更新を停止する
度合更新部、
前記記憶される度合に対応付けられるゲームの画像を表示する画像表示部
を備えることを特徴とする端末装置。
【請求項2】
請求項1に記載の端末装置であって、
前記度合更新部は、前記グループに属する複数の端末装置のそれぞれに記憶される度合のうち、最も先行する度合と、前記記憶部に記憶される度合と、の差に、あらかじめ対応付けられる速度で、当該度合が更新される間、当該度合を、時間の経過にともなって進行させる
ことを特徴とする端末装置。
【請求項3】
請求項2に記載の端末装置であって、
前記指示操作列が受け付けられると、当該指示操作列を、前記グループに属する複数の端末装置のうち、他の端末装置に通知する操作通知部、
前記グループに属する複数の端末装置のうち、他の端末装置から通知される指示操作列を受け入れる操作受入部、
当該度合記憶部に記憶される度合を、前記グループに属する複数の端末装置のうち、他の端末装置に定期的に通知する度合通知部、
前記グループに属する複数の端末装置のうち、他の端末装置から通知される度合を受け入れる度合受入部
をさらに備え、
前記ゲーム進行部は、前記指示操作列が受け入れられると、前記受け付けられた度合および前記記憶される度合のうち、当該最も先行している度合に基づいて、前記ゲームの進行において当該指示操作列がなされた時点を決定する
ことを特徴とする端末装置。
【請求項4】
請求項3に記載の端末装置であって、
前記度合更新部において、当該度合記憶部に記憶される度合が、前記受け付けられた度合および前記記憶される度合の平均値もしくは中央値よりも先行している場合のゲームの進行の速度は、後行している場合のゲームの進行の速度よりも、遅い
ことを特徴とする端末装置。
【請求項5】
請求項4に記載の端末装置であって、
当該度合記憶部に記憶される度合が、前記受け付けられた度合および前記記憶される度合の平均値もしくは中央値よりも先行している場合のゲームの進行の速度は、現実の時間の経過よりも遅く、先行している場合のゲームの進行の速度は、現実の時間の経過よりも速い
ことを特徴とする端末装置。
【請求項6】
複数の端末装置からなるグループがゲームの進行を共有するゲームシステムにおける当該複数の端末装置の一つを制御する端末装置の制御方法であって、当該端末装置は、ゲームの進行の度合を記憶する度合記憶部、入力受付部、ゲーム進行部、度合更新部、画像表示部を備え、前記端末装置の制御方法は、
前記入力受付部が、プレイヤーによる指示操作列の入力を受け付ける入力受付工程、
前記ゲーム進行部が、前記受け付けられた指示操作列に基づいて、前記進行が共有されるゲームを進行させるゲーム進行工程、
前記度合更新部が、前記度合記憶部に記憶される度合を更新する度合更新工程であって、
(a)前記指示操作列のうち、ある指示操作列の入力の受付が終了してから次の指示操作列の入力の受付が開始されるまでの間、当該度合が時間の経過にともなって進行し、かつ、前記グループに属する複数の端末装置のそれぞれに記憶される度合の差が小さくなるように、当該度合を更新し、
(b)前記指示操作列のそれぞれについて、当該指示操作列の入力の受付が開始されてから終了するまでの間、当該度合の更新を停止する
度合更新工程、
前記画像表示部が、前記記憶される度合に対応付けられるゲームの画像を表示する画像表示工程
を備えることを特徴とする端末装置の制御方法。
【請求項7】
コンピュータを、複数の端末装置からなるグループがゲームの進行を共有するゲームシステムにおける当該複数の端末装置の一つとして機能させるプログラムであって、前記プログラムは、前記コンピュータを、
ゲームの進行の度合を記憶する度合記憶部、
プレイヤーによる指示操作列の入力を受け付ける入力受付部、
前記受け付けられた指示操作列に基づいて、前記進行が共有されるゲームを進行させるゲーム進行部、
前記度合記憶部に記憶される度合を更新する度合更新部であって、
(a)前記指示操作列のうち、ある指示操作列の入力の受付が終了してから次の指示操作列の入力の受付が開始されるまでの間、当該度合が時間の経過にともなって進行し、かつ、前記グループに属する複数の端末装置のそれぞれに記憶される度合の差が小さくなるように、当該度合を更新し、
(b)前記指示操作列のそれぞれについて、当該指示操作列の入力の受付が開始されてから終了するまでの間、当該度合の更新を停止する
度合更新部、
前記記憶される度合に対応付けられるゲームの画像を表示する画像表示部
として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate


【公開番号】特開2010−227201(P2010−227201A)
【公開日】平成22年10月14日(2010.10.14)
【国際特許分類】
【出願番号】特願2009−76337(P2009−76337)
【出願日】平成21年3月26日(2009.3.26)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.EEPROM
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】