(57)【特許請求の範囲】
【請求項１】
ゲームをプレイする第１プレイヤの前記ゲームの相手としての第２プレイヤの属性情報を記憶する属性記憶部と、
前記属性記憶部から読み出された前記属性情報と前記ゲームの状況を示す状況情報とに基づいて、前記第２プレイヤによる前記ゲームに対する指示を示す第２指示情報を算出する算出部と、
前記ゲームをプレイする前記第１プレイヤによる前記ゲームに対する指示を第１指示情報として記憶するプレイ履歴記憶部と、
前記算出部が算出した前記第２プレイヤの前記第２指示情報に基づいて前記状況情報を更新するとともに、前記プレイ履歴記憶部から読み出された前記第１指示情報に基づいて前記状況情報を更新して、前記ゲームの進行を制御する制御部と
を備えることを特徴とするゲームシステム。
【請求項２】
前記ゲームのプレイ開始前に設定された乱数シードに基づいて、疑似乱数系列を生成する乱数生成部と、
生成された前記疑似乱数系列に基づいて、前記ゲームの前記状況情報を設定する設定部と
を備えることを特徴とする請求項１に記載のゲームシステム。
【請求項３】
前記制御部は、
前記ゲームのプレイ開始からプレイ終了までの間のうちの所定の区間を示す区間情報に基づいて、前記ゲームのプレイ開始から少なくとも前記区間情報が示す区間の終点までの前記状況情報を更新して、前記ゲームの進行を制御する
を備えることを特徴とする請求項１または請求項２に記載のゲームシステム。
【請求項４】
前記属性情報は、
前記算出部によって算出される前記第２プレイヤによる前記第２指示情報の特徴を示す情報である
ことを特徴とする請求項１から請求項３のいずれか一項に記載のゲームシステム。
【請求項５】
前記ゲームは、
前記第１プレイヤによる前記ゲームに対する指示の機会と、前記算出部が前記第２指示情報を算出する機会とが、交替的に与えられる
ことを特徴とする請求項１から請求項４のいずれか一項に記載のゲームシステム。
【請求項６】
装置と通信するサーバ装置であって、
ゲームをプレイする第１プレイヤの前記ゲームの相手としての第２プレイヤの属性情報を記憶する属性記憶部と、
前記ゲームをプレイする前記第１プレイヤによる前記ゲームに対する指示を第１指示情報として記憶するプレイ履歴記憶部と、
前記装置が備える算出部であって、前記属性記憶部から読み出された前記属性情報と前記ゲームの状況を示す状況情報とに基づいて、前記第２プレイヤによる前記ゲームに対する指示を示す第２指示情報を算出する算出部に、前記属性記憶部から読み出された前記第２プレイヤの前記属性情報を供給し、前記装置が備える制御部であって、前記算出部が算出した前記第２プレイヤの前記第２指示情報に基づいて前記状況情報を更新するとともに、前記プレイ履歴記憶部から読み出された前記第１指示情報に基づいて前記状況情報を更新して、前記ゲームの進行を制御する制御部に、前記プレイ履歴記憶部から読み出された前記第１指示情報を供給する供給部と
を備えることを特徴とするサーバ装置。
【請求項７】
装置と通信するサーバ装置であって、
ゲームをプレイする第１プレイヤの前記ゲームの相手としての第２プレイヤの属性情報を記憶する属性記憶部と、
前記属性記憶部から読み出された前記属性情報と前記ゲームの状況を示す状況情報とに基づいて、前記第２プレイヤによる前記ゲームに対する指示を示す第２指示情報を算出する算出部と、
前記ゲームをプレイする前記第１プレイヤによる前記ゲームに対する指示を第１指示情報として記憶するプレイ履歴記憶部と、
前記算出部が算出した前記第２プレイヤの前記第２指示情報に基づいて前記状況情報を更新するとともに、前記プレイ履歴記憶部から読み出された前記第１指示情報に基づいて前記状況情報を更新して、前記ゲームの進行を制御する制御部と、
前記制御部が制御した前記ゲームの進行の結果を示す情報を前記装置に供給する供給部と
を備えることを特徴とするサーバ装置。
【請求項８】
装置と通信するサーバ装置が備えるコンピュータに、
自サーバ装置が備える記憶部であって、ゲームをプレイする第１プレイヤの前記ゲームの相手としての第２プレイヤの属性情報を記憶する属性記憶部から、前記第２プレイヤの前記属性情報を読み出す第１の読出ステップと、
自サーバ装置が備える記憶部であって、前記ゲームをプレイする前記第１プレイヤによる前記ゲームに対する指示を第１指示情報として記憶するプレイ履歴記憶部から、前記第１指示情報を読み出す第２の読出ステップと、
前記装置が備える算出部であって、前記属性記憶部から読み出された前記属性情報と前記ゲームの状況を示す状況情報とに基づいて、前記第２プレイヤによる前記ゲームに対する指示を示す第２指示情報を算出する算出部に、前記属性記憶部から読み出された前記第２プレイヤの前記属性情報を供給し、前記装置が備える制御部であって、前記算出部が算出した前記第２プレイヤの前記第２指示情報に基づいて前記状況情報を更新するとともに、前記プレイ履歴記憶部から読み出された前記第１指示情報に基づいて前記状況情報を更新して、前記ゲームの進行を制御する制御部に、前記プレイ履歴記憶部から読み出された前記第１指示情報を供給する供給ステップと
を実行させるためのプログラム。
【請求項９】
コンピュータに、
ゲームをプレイする第１プレイヤの前記ゲームの相手としての第２プレイヤの属性情報と前記ゲームの状況を示す状況情報とに基づいて、前記第２プレイヤによる前記ゲームに対する指示を示す第２指示情報を算出する算出ステップと、
前記ゲームをプレイする前記第１プレイヤによる前記ゲームに対する指示を第１指示情報として記憶するプレイ履歴記憶ステップと、
前記算出ステップにおいて算出された前記第２プレイヤの前記第２指示情報に基づいて前記状況情報を更新するとともに、前記プレイ履歴記憶ステップにおいて記憶された前記第１指示情報に基づいて前記状況情報を更新して、前記ゲームの進行を制御する制御ステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームシステム、サーバ装置、プログラムに関する。
【背景技術】
【０００２】
従来、ゲームをプレイする各プレイヤが操作する端末装置とサーバ装置とを通信によって接続することによって、複数のプレイヤどうしが同時にゲームをプレイすることができるオンラインゲームシステムがある（例えば、特許文献１を参照）。このようなゲームシステムは、ゲームのプレイ中における各プレイヤの操作を記憶する記憶部を備えて、ゲームの終了後に各プレイヤのプレイを再現できるように構成されたものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−５７２２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このようなゲームシステムは、各プレイヤのプレイを再現するために記憶部が記憶する情報量が多くなるという問題があった。
【０００５】
本発明は、上記問題を解決するためになされたものであり、各プレイヤのプレイを再現するために記憶部が記憶する情報量を低減することができるゲームシステム、サーバ装置、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様は、ゲームをプレイする第１プレイヤの前記ゲームの相手としての第２プレイヤの属性情報を記憶する属性記憶部と、前記属性記憶部から読み出された前記属性情報と前記ゲームの状況を示す状況情報とに基づいて、前記第２プレイヤによる前記ゲームに対する指示を示す第２指示情報を算出する算出部と、前記ゲームをプレイする前記第１プレイヤによる前記ゲームに対する指示を第１指示情報として記憶するプレイ履歴記憶部と、前記算出部が算出した前記第２プレイヤの前記第２指示情報に基づいて前記状況情報を更新するとともに、前記プレイ履歴記憶部から読み出された前記第１指示情報に基づいて前記状況情報を更新して、前記ゲームの進行を制御する制御部とを備えることを特徴とするゲームシステムである。
【０００８】
また本発明の一態様は、上記のゲームシステムにおいて、前記ゲームのプレイ開始前に設定された乱数シードに基づいて、疑似乱数系列を生成する乱数生成部と、生成された前記疑似乱数系列に基づいて、前記ゲームの前記状況情報を設定する設定部とを備えることを特徴とする。
【０００９】
また本発明の一態様は、上記のゲームシステムにおいて、前記制御部は、前記ゲームのプレイ開始からプレイ終了までの間のうちの所定の区間を示す区間情報に基づいて、前記ゲームのプレイ開始から少なくとも前記区間情報が示す区間の終点までの前記状況情報を更新して、前記ゲームの進行を制御することを特徴とする。
【００１０】
また本発明の一態様は、上記のゲームシステムにおいて、前記属性情報は、前記算出部によって算出される前記第２プレイヤによる前記第２指示情報の特徴を示す情報であることを特徴とする。
【００１１】
また本発明の一態様は、上記のゲームシステムにおいて、前記ゲームは、前記プレイ履歴記憶部が前記第１指示情報として記憶する前記第１プレイヤによる前記ゲームに対する指示の機会と、前記算出部が前記第２指示情報を算出する機会とが、交替的に与えられることを特徴とする。
【００１２】
また、本発明の一態様は、装置と通信するサーバ装置であって、ゲームをプレイする第１プレイヤの前記ゲームの相手としての第２プレイヤの属性情報を記憶する属性記憶部と、前記ゲームをプレイする前記第１プレイヤによる前記ゲームに対する指示を第１指示情報として記憶するプレイ履歴記憶部と、前記装置が備える算出部であって、前記属性記憶部から読み出された前記属性情報と前記ゲームの状況を示す状況情報とに基づいて、前記第２プレイヤによる前記ゲームに対する指示を示す第２指示情報を算出する算出部に、前記属性記憶部から読み出された前記第２プレイヤの前記属性情報を供給し、前記装置が備える制御部であって、前記算出部が算出した前記第２プレイヤの前記第２指示情報に基づいて前記状況情報を更新するとともに、前記プレイ履歴記憶部から読み出された前記第１指示情報に基づいて前記状況情報を更新して、前記ゲームの進行を制御する制御部に、前記プレイ履歴記憶部から読み出された前記第１指示情報を供給する供給部とを備えることを特徴とするサーバ装置である。
また、本発明の一態様は、装置と通信するサーバ装置であって、ゲームをプレイする第１プレイヤの前記ゲームの相手としての第２プレイヤの属性情報を記憶する属性記憶部と、前記属性記憶部から読み出された前記属性情報と前記ゲームの状況を示す状況情報とに基づいて、前記第２プレイヤによる前記ゲームに対する指示を示す第２指示情報を算出する算出部と、前記ゲームをプレイする前記第１プレイヤによる前記ゲームに対する指示を第１指示情報として記憶するプレイ履歴記憶部と、前記算出部が算出した前記第２プレイヤの前記第２指示情報に基づいて前記状況情報を更新するとともに、前記プレイ履歴記憶部から読み出された前記第１指示情報に基づいて前記状況情報を更新して、前記ゲームの進行を制御する制御部と、前記制御部が制御した前記ゲームの進行の結果を示す情報を前記装置に供給する供給部とを備えることを特徴とするサーバ装置である。
【００１３】
また、本発明の一態様は、装置と通信するサーバ装置が備えるコンピュータに、自サーバ装置が備える記憶部であって、ゲームをプレイする第１プレイヤの前記ゲームの相手としての第２プレイヤの属性情報を記憶する属性記憶部から、前記第２プレイヤの前記属性情報を読み出す第１の読出ステップと、自サーバ装置が備える記憶部であって、前記ゲームをプレイする前記第１プレイヤによる前記ゲームに対する指示を第１指示情報として記憶するプレイ履歴記憶部から、前記第１指示情報を読み出す第２の読出ステップと、前記装置が備える算出部であって、前記属性記憶部から読み出された前記属性情報と前記ゲームの状況を示す状況情報とに基づいて、前記第２プレイヤによる前記ゲームに対する指示を示す第２指示情報を算出する算出部に、前記属性記憶部から読み出された前記第２プレイヤの前記属性情報を供給し、前記装置が備える制御部であって、前記算出部が算出した前記第２プレイヤの前記第２指示情報に基づいて前記状況情報を更新するとともに、前記プレイ履歴記憶部から読み出された前記第１指示情報に基づいて前記状況情報を更新して、前記ゲームの進行を制御する制御部に、前記プレイ履歴記憶部から読み出された前記第１指示情報を供給する供給ステップとを実行させるためのプログラムである。
【００１４】
また、本発明の一態様は、コンピュータに、ゲームをプレイする第１プレイヤの前記ゲームの相手としての第２プレイヤの属性情報と前記ゲームの状況を示す状況情報とに基づいて、前記第２プレイヤによる前記ゲームに対する指示を示す第２指示情報を算出する算出ステップと、前記ゲームをプレイする前記第１プレイヤによる前記ゲームに対する指示を第１指示情報として記憶するプレイ履歴記憶ステップと、前記算出ステップにおいて算出された前記第２プレイヤの前記第２指示情報に基づいて前記状況情報を更新するとともに、前記プレイ履歴記憶ステップにおいて記憶された前記第１指示情報に基づいて前記状況情報を更新して、前記ゲームの進行を制御する制御ステップとを実行させるためのプログラムである。
【発明の効果】
【００１５】
この発明によれば、ゲームシステムは、各プレイヤのプレイを再現するために記憶部が記憶する情報量を低減することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明第１の実施形態に係るゲームシステムの構成の一例を示す構成図である。
【図２】本実施形態のプレイモードにおけるゲームシステムの一部の構成の一例を示す構成図である。
【図３】本実施形態におけるプレイヤ属性情報記憶部の構成の一例を示す構成図である。
【図４】本実施形態におけるグループ情報記憶部の構成の一例を示す構成図である。
【図５】本実施形態の読出部が設定する対局設定データの一例を示す図である。
【図６】本実施形態におけるゲームの進め方の選択肢の一例を示す表である。
【図７】本実施形態におけるゲームシステムのプレイモードにおける動作の一例を示すフローチャートである。
【図８】本実施形態のリプレイモードにおけるゲームシステムの一部の構成の一例を示す構成図である。
【図９】本実施形態におけるゲームシステムのリプレイモードにおける動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
［第１の実施形態]
以下、本発明を実施するための第１の実施形態ついて、図面を参照して説明する。
図１は、本発明の第１の実施形態に係るゲームシステム１の構成の一例を示す構成図である。本実施形態のゲームシステム１は、ネットワーク２を介してサーバ装置１０と複数の端末装置５０とが通信を行う構成である。
サーバ装置１０は、複数の端末装置５０（例えば、端末装置５０ａ、５０ｂ、５０ｃ及び５０ｄ）と通信して、ゲームアプリケーションが予めインストールされている端末装置５０に対して端末装置５０を用いるプレイヤがゲームをプレイするための情報を提供する。この端末装置５０は、プレイヤが利用するコンピュータ装置であり、例えばＰＣ（Personal Computer）やタブレットＰＣ、スマートフォン、フィーチャーフォン等が適用できる。本実施形態においては、端末装置５０はスマートフォンであるとして説明する。なお、端末装置５０ａ〜５０ｄは同様の構成であるため、特に区別しない場合には、端末装置５０として説明する。このゲームシステム１において、それぞれのプレイヤは、端末装置５０を操作して、サーバ装置１０が提供するゲームをプレイする。例えば、プレイヤＡ（第１プレイヤ）は端末装置５０ａを、プレイヤＢ（第２プレイヤ）は端末装置５０ｂを、プレイヤＣは端末装置５０ｃを、プレイヤＤは端末装置５０ｄをそれぞれ操作してゲームをプレイする。また、ゲームシステム１は、複数のプレイヤ（例えば、プレイヤＡ〜プレイヤＤ）毎に独立させてそれぞれのゲームを進行させるゲームシステム１である。また、端末装置５０には、ゲームアプリケーションの一例としての麻雀ゲームがインストールされているものとする。また、以下の説明においては簡単のため、ゲームシステム１の端末装置５０ａにおいて、プレイヤＡはプレイヤＢを相手プレイヤとする２人打ち対局によって麻雀ゲームをプレイするとして説明する。また、サーバ装置１０及び端末装置５０は、ゲームをプレイするプレイモードと、過去にプレイしたゲームを再現するリプレイモードとを有している。まず、プレイモードにおけるサーバ装置１０及び端末装置５０の構成及び動作について説明し、次に、リプレイモードにおけるサーバ装置１０及び端末装置５０の構成及び動作について説明する。
【００１８】
まず、図２を参照して本実施形態のプレイモードにおけるサーバ装置１０の構成について説明する。図２は、本実施形態のプレイモードにおけるゲームシステム１の一部の構成の一例を示す構成図である。なお、端末装置５０ａ〜５０ｄは同様の構成であるため、以下、サーバ装置１０の構成及び端末装置５０ａのみの構成について説明する。サーバ装置１０は、サーバ通信部１１（供給部）と、読出部１２と、選択部１３と、記憶部１４と、乱数シード生成部１６と、書込部１７とを備えている。記憶部１４は、プレイヤ属性情報記憶部１４１（属性記憶部）と、グループ情報記憶部１４２と、プレイ履歴記憶部１４３とを備えている。このサーバ通信部１１は、ネットワーク２を介して、端末装置５０が備える端末通信部５１と通信を行う。サーバ通信部１１と端末通信部５１との通信の内容は後述する。
【００１９】
次に、図３を参照して、プレイヤ属性情報記憶部１４１の構成について説明する。図３は、本実施形態におけるプレイヤ属性情報記憶部１４１の構成の一例を示す構成図である。
プレイヤ属性情報記憶部１４１は、ゲームをプレイするプレイヤの属性を示すプレイヤ属性情報をプレイヤ毎に記憶する。具体的には、プレイヤ属性情報記憶部１４１は、図３に示すように、ゲームをプレイするプレイヤの属性を示すプレイヤ属性情報と、プレイヤの名前を示すプレイヤ名情報と、プレイヤを識別する識別情報とを関連付けて、プレイヤ毎に記憶する。
【００２０】
ここで、識別情報は、ゲームシステム１が提供するゲームアプリケーション（麻雀ゲーム）に参加するプレイヤを一意に識別する情報である。一例として、識別情報には、プレイヤＡには０１０００が、プレイヤＢには０１００１が、プレイヤＣには０１００２がそれぞれ割り当てられている。また、プレイヤ名情報は、予めプレイヤ毎に設定されるプレイヤの名称（例えば、氏名やニックネーム）である。一例として、プレイヤ名情報には、プレイヤＡには「Ａ男」が、プレイヤＢには「Ｂ男」が、プレイヤＣには「Ｃ子」がそれぞれ設定されている。
【００２１】
また、プレイヤ属性情報は、ゲームをプレイするプレイヤの属性を示す情報であって、ゲームにおけるプレイヤの強さ（巧拙）を示す強さ情報と、プレイヤによるゲームの進め方の特徴を示す特徴情報とを含む情報である。ゲームにおけるプレイヤの強さとは、プレイヤのプレイ結果に応じて絶対的に、またはゲームに参加する他のプレイヤのプレイ結果と比較して相対的に定められるものであり、強さ情報とは、具体的にはプレイヤの強さの程度を示すパラメータである。このプレイヤの強さは、ゲーム中またはゲーム終了時の点数や順位によって定められる。またここで、プレイヤによるゲームの進め方の特徴とは、プレイヤがゲームを進める際のゲームに対する指示の傾向であり、特徴情報とは、具体的にはゲームに対する指示の傾向を示すパラメータである。このゲームの進め方の特徴には、麻雀ゲームにおいては、守備タイプや攻撃タイプなどがある。ここで守備タイプは、ゲームの各場面における選択肢のうちから、相手プレイヤへの放銃（振り込み）を極力避けるため、対局相手プレイヤに放銃する危険性が低い牌を捨てることを優先的に選択するタイプである。また攻撃タイプとは、ゲームの各場面における選択肢のうちから、自己の手牌の役作りを積極的に行い、対局相手プレイヤに放銃する危険性が高い牌であっても、手牌の役作りに不要な牌を捨てることを優先的に選択するタイプである。なお、ここでは、一例として、守備タイプや攻撃タイプについて説明したが、ゲームの進め方の特徴にはこれら両方の特徴を兼ね備えたバランスタイプなど、複数のタイプがある。
【００２２】
このプレイヤ属性情報は、図３に示す場合、２桁の数字によって示される。具体的には、プレイヤ属性情報は、ゲームにおけるプレイヤの強さを示す階級（例えば、最も弱い階級０から最も強い階級９）を示す情報が１桁目に、ゲームの進め方の特徴を示す情報が２桁目にそれぞれ設定されている。また、プレイヤＡのプレイヤ属性情報は、プレイヤＡによるゲームにおける強さが最も弱い階級０であり、ゲームの進め方の特徴が守備タイプ（例えば、タイプ３）であれば、「０３」に設定される。同様に、プレイヤＢのプレイヤ属性情報は、プレイヤＢによるゲームにおける強さが最も弱い階級０であり、ゲームの進め方の特徴が攻撃タイプ（例えば、タイプ７）であれば、「０７」に設定される。また、一度もゲームをプレイしていないプレイヤＣのプレイヤ属性情報は、初期値として、ゲームにおける強さが最も弱い階級０とゲームの進め方の特徴がバランスタイプ（タイプ０）とによって「００」に設定される。なお、プレイヤ属性情報は、ゲームにおけるプレイヤの強さとゲームの進め方の特徴との組み合わせを示す情報であってもよい。この場合には、プレイヤＡのプレイヤ属性情報は、ゲームにおける強さが階級１であり、ゲームの進め方の特徴が攻撃タイプである組み合わせを示す「０」に設定される。同様に、プレイヤＢのプレイヤ属性情報は、ゲームにおける強さが階級２であり、ゲームの進め方の特徴が守備タイプである組み合わせを示す「１」に設定される。また、プレイヤＣのプレイヤ属性情報は、ゲームにおける強さが階級０であり、ゲームの進め方の特徴がバランスタイプである組み合わせを示す「２」に設定される。
【００２３】
次に、図４を参照して、グループ情報記憶部１４２の構成について説明する。
図４は、本実施形態におけるグループ情報記憶部１４２の構成の一例を示す構成図である。グループ情報記憶部１４２は、図４に示すように、プレイヤが属するグループを識別するグループ識別情報（グループＩＤ）と、当該グループに属する複数のプレイヤのそれぞれを識別する複数の識別情報とを、関連付けて記憶する。ここで、プレイヤの属するグループには、ゲームシステム１に参加している複数のプレイヤが、所定の基準に基づいて設定されている。ここで所定の基準には、ゲームにおけるプレイヤの強さ（例えば、ゲーム終了時における点数の大小）に対しての判定基準や、プレイヤによるゲームの進め方の特徴（例えば、守備タイプや攻撃タイプ）に対しての判定基準がある。このグループには、一例として、ゲームにおける強さが同程度のプレイヤが同じグループに含まれるようにして、かつゲームの進め方の特徴が互いに異なるプレイヤが同じグループに含まれるようにして設定される。具体的には、グループ情報記憶部１４２は、第１グループのグループ情報として、グループＩＤ（１）と、当該グループに属するプレイヤを示す識別情報（００６３２、０００３９、・・・、００４２８）とを関連付けて記憶する。同様に、グループ情報記憶部１４２は、第２グループのグループ情報として、グループＩＤ（２）と、当該グループに含まれるプレイヤを示す識別情報（０１０００、０１００１、・・・、００２１５）とを関連付けて記憶する。なお、図４には各グループにｎ個の識別情報が含まれている構成を示したが、これに限られない。例えば、グループ毎に含まれる識別情報の数は、グループ毎に互いに異なる数であってもよい。また、以下の説明においては、プレイヤＡ及びプレイヤＢは、同一のグループに属するプレイヤであるとして説明する。
【００２４】
再び、図２を参照して本実施形態に係るゲームシステム１の構成を説明する。
選択部１３は、プレイヤのゲームの相手となる１又は複数の相手プレイヤを選択（決定）する。例えば、選択部１３は、複数のプレイヤのうち、プレイヤ属性情報記憶部１４１が記憶するプレイヤ属性情報が設定されたプレイヤの一部または全部の中から、ゲームにおけるプレイヤの相手となる１又は複数の相手プレイヤを選択（決定）する。具体的には、選択部１３は、サーバ通信部１１を介して端末装置５０ａから送信されるプレイヤＡの識別情報（０１０００）が含まれるゲーム開始要求を取得する。この、端末装置５０ａから送信されるプレイヤＡの識別情報は、サーバ装置１０が提供するゲームサービスにログインする際に、プレイヤＡから端末装置５０ａに入力されるアカウント情報に含まれている。また、選択部１３は、グループ情報記憶部１４２に記憶された、プレイヤＡの属するグループ（グループＩＤが２のグループ）と同一のグループに属する他のプレイヤの識別情報の中から、プレイヤＡの相手プレイヤとしてのプレイヤＢを示す識別情報（０１００１）を選択する。ここで選択部１３が相手プレイヤを選択する基準はさまざまである。一例としては、選択部１３は、プレイヤの属するグループと同一のグループに属する他のプレイヤの識別情報から、相手プレイヤの識別情報をランダムに選択する。なお、端末装置５０ａは、プレイヤＡの識別情報を送信する代わりに、端末装置５０ａの端末識別情報（端末装置ＩＤ）をゲーム開始要求に含めて送信してもよい。この場合には、サーバ装置１０は、プレイヤ毎にプレイヤの識別情報と端末識別情報とを関連付けて記憶する端末識別情報記憶部を備えている。端末識別情報記憶部は、例えば、プレイヤＡの識別情報（０１０００）と、端末装置５０ａの端末識別情報とを関連付けて記憶する。ここで選択部１３は、サーバ通信部１１を介して端末装置５０ａから送信される端末装置５０ａの端末識別情報が含まれるゲーム開始要求を取得する。そして、選択部１３は、取得した端末装置５０ａの端末識別情報に関連付けられているプレイヤＡの識別情報（０１０００）を端末識別情報記憶部から読み出す。さらに、選択部１３は、読み出したプレイヤＡの識別情報が属するグループと同一のグループに属する他のプレイヤとしてグループ情報記憶部１４２が記憶するプレイヤの識別情報の中から、プレイヤＡの相手プレイヤとしてのプレイヤＢを示す識別情報を選択する。
【００２５】
乱数シード生成部１６は、疑似乱数系列を生成するための乱数シードを既知の構成によって生成し、生成した乱数シードを読出部１２に供給する。この乱数シード生成部１６は、８桁の乱数シードとしての（１２３４５６７８）を生成する。
【００２６】
読出部１２は、選択部１３によって選択された相手プレイヤの識別情報と一致する識別情報に対応するプレイヤ属性情報をプレイヤ属性情報記憶部１４１から読み出す。また読出部１２は、乱数シード生成部１６が生成した乱数シード（１２３４５６７８）を乱数シード生成部１６から取得する。端末装置５０ａを操作するプレイヤＡの対局相手プレイヤとして、プレイヤＢが選択部１３によって選択されている場合には、読出部１２は、プレイヤＢの識別情報に関連付けられているプレイヤ属性情報（０７）をプレイヤ属性情報記憶部１４１から読み出す。また、読出部１２は、プレイヤＢの識別情報（０１００１）に関連付けられているプレイヤ名情報（Ｂ男）をプレイヤ属性情報記憶部１４１から読み出す。このようにして、選択部１３は、プレイヤＡの相手プレイヤとしてのプレイヤＢを選択し、読出部１２は、選択部１３によって選択されたプレイヤＢのプレイヤ属性情報と、プレイヤ名情報とをプレイヤ属性情報記憶部１４１から読み出す。なお、麻雀ゲームにおいては、プレイヤＡの相手プレイヤは、最大三人存在するため、選択部１３は、プレイヤＡの相手プレイヤとして、最大三人ぶんの識別情報を選択することがある。ただし、説明を簡単にするため、選択部１３が、一人（プレイヤＢ）ぶんの識別情報を選択するものとして以下説明する。
【００２７】
次に、読出部１２の設定する対局設定データの構成について説明する。
図５は、本実施形態の読出部１２が設定する対局設定データの一例を示す図である。読出部１２は、相手プレイヤとしてのプレイヤＢの識別情報（０１００１）と読み出したプレイヤ名情報（Ｂ男）及びプレイヤ属性情報（０７）と、乱数シード（１２３４５６７８）とを含む、例えば図５に示す対局設定データを設定する。また、読出部１２は、設定した対局設定データをサーバ通信部１１に出力する。サーバ通信部１１は、読出部１２が設定した対局設定データを、端末装置５０ａに供給する。
【００２８】
再び、図２を参照して本実施形態のプレイモードにおける端末装置５０の構成について説明する。
端末装置５０は、端末通信部５１と、算出部５２と、制御部５３と、受付部５４と、表示部５５と、端末記憶部５６と、乱数生成部５７と、設定部５８とを備えている。
【００２９】
受付部５４は、ボタンやタッチパネルなどの入力デバイスを備えており、プレイヤによるゲームに対する指示を示す情報を受け付ける。具体的には、受付部５４は、サーバ装置１０と通信を行ってゲームシステム１が提供するゲームサービスにログインする際に、プレイヤのアカウント情報である識別情報やパスワード等の入力を受け付ける。また、受付部５４は、プレイヤからゲーム開始の指示を示す情報を受け付ける。また、受付部５４は、麻雀ゲームにおけるプレイヤが選択しうるゲームの進め方の選択肢の指示を示す情報を第１指示情報としてプレイヤから受け付ける。
【００３０】
次に、図６を参照して受付部５４が受け付けるゲームの進め方の選択肢について説明する。図６は、麻雀ゲームにおけるゲームの進め方の選択肢の一例を示す表である。
麻雀ゲームにおいては、牌山から牌を取得（つまり、ツモ）する順番のツモ順プレイヤと、牌山から牌を取得しない順番の非ツモ順プレイヤとが、ゲームに参加するプレイヤの間で交替的に設定される。ツモ順プレイヤのゲームの進め方の選択肢としては、「捨牌（打牌）」、「カン」、及び「和了」が設定されている。また、非ツモ順プレイヤのゲームの進め方の選択肢としては、「何もしない」、「チー」、「ポン」、「カン」、「チー」「ポン」「カン」後の「捨牌（打牌）」、及び「和了」が設定されている。受付部５４が備えるタッチパネルなどの入力デバイスには、これらのゲームの進め方の選択肢にそれぞれ対応する入力領域が設定されている。受付部５４は、プレイヤによって選択された入力領域に対応付けられたゲームの進め方の選択肢を示す情報を第１指示情報として受け付ける。例えば、受付部５４は、タッチパネルの入力領域のうちの、「捨牌（打牌）」に対応づけられた入力領域がプレイヤによって選択された場合に、「捨牌（打牌）」を示す情報を第１指示情報として受け付ける。
【００３１】
再び、図２を参照して本実施形態に係る端末装置５０の構成について説明する。
端末記憶部５６は、端末プレイヤ属性情報記憶部５６１と、端末指示記憶部５６２とを備えている。
端末プレイヤ属性情報記憶部５６１は、読出部１２が設定してサーバ通信部１１を介して端末通信部５１が受信した対局設定データに含まれる相手プレイヤとしてのプレイヤＢのプレイヤ属性情報を記憶する。
【００３２】
端末指示記憶部５６２は、受付部５４がプレイヤＡから受け付けた第１指示情報を、受付部５４が受け付けた時系列に基づいた第１指示情報の系列として記憶する。また、端末指示記憶部５６２が記憶している第１指示情報の系列は、ゲームの終了後に端末通信部５１を介してサーバ装置１０に送信される。この場合、書込部１７は、端末指示記憶部５６２が記憶するプレイヤＡの第１指示情報の系列を、端末通信部５１及びサーバ通信部１１を介して取得し、取得したプレイヤＡの第１指示情報の系列を、対局ＩＤと関連付けてプレイ履歴記憶部１４３に記憶させる。これにより、プレイ履歴記憶部１４３は、プレイヤＡの第１指示情報の系列を対局ＩＤと関連付けて記憶する。
【００３３】
端末通信部５１は、サーバ装置１０が備えるサーバ通信部１１と通信する。具体的には、端末通信部５１は、サーバ通信部１１から、相手プレイヤとしてのプレイヤＢのプレイヤ属性情報を含む対局設定データを受信する。また、端末通信部５１は、サーバ通信部１１に対して、受付部５４が受け付けたアカウント情報としての識別情報を含むゲーム開始要求を送信する。また、端末通信部５１は、端末指示記憶部５６２が記憶する第１指示情報の系列を、ゲームの終了後にサーバ通信部１１に送信する。
【００３４】
乱数生成部５７は、乱数シード生成部１６が生成し、サーバ通信部１１及び端末通信部５１を介して受信した乱数シードに基づいて、疑似乱数系列を生成する。
【００３５】
設定部５８は、乱数生成部５７が生成した疑似乱数系列に基づいて、ゲームの状況を示す状況情報の初期値を示す情報としての初期状況情報を設定する。例えば、設定部５８は、東風戦の開始前には、疑似乱数系列に基づいて、各プレイヤの席順と、起家（親）とを初期状況情報として設定し、１局の開始前には、疑似乱数系列に基づいて、牌山を構成する牌の順序と、牌山を構成する王牌の位置とを初期状況情報として設定する。すなわち、設定部５８は、生成された疑似乱数系列に基づいて、初期状況情報を設定する。
乱数生成部５７が生成する疑似乱数系列は、乱数シードの値に応じて一意に生成される。また、初期状況情報は、疑似乱数系列に基づいて一意に設定される。したがって、初期状況情報は、乱数シードの値に応じて一意に設定される。つまり、設定部５８は、乱数シード生成部１６が生成する乱数シードを用いて、ゲームの状況を示す状況情報の初期値を示す情報としての初期状況情報を設定する。また、制御部５３は、設定部５８が設定した初期状況情報に基づいて、ゲームの状況を示す状況情報を更新する。
【００３６】
算出部５２は、端末プレイヤ属性情報記憶部５６１が記憶するプレイヤＢのプレイヤ属性情報を、端末プレイヤ属性情報記憶部５６１から読み出す。また、算出部５２は、設定部５８が設定し、制御部５３が更新したゲームの状況を示す状況情報を取得する。そして、算出部５２は、端末プレイヤ属性情報記憶部５６１から読み出したプレイヤ属性情報と、取得した状況情報とに基づいて、第２指示情報を算出する。すなわち、算出部５２は、端末プレイヤ属性情報記憶部５６１から読み出されたプレイヤＢのプレイヤ属性情報とゲームの状況を示す状況情報とに基づいて、相手プレイヤとしてのプレイヤＢに対応するＣＰＵプレイヤ（ノンプレイヤーキャラクタ）によるゲームに対する指示を示す第２指示情報を算出する。以下、相手プレイヤとしてのプレイヤＢに対応するＣＰＵプレイヤを、ＣＰＵプレイヤＢと記載して説明する。
【００３７】
より具体的には、算出部５２は、プレイヤＢに対応するプレイヤ属性情報と、ＣＰＵプレイヤＢによる自己のゲームの状況を示す自己ゲーム状況情報とに基づいて、ＣＰＵプレイヤＢのゲームに対する指示である、第２指示情報を算出する。ここで、自己のゲームの状況とは、麻雀ゲームにおいては、ＣＰＵプレイヤＢの手牌の状況である。つまり、自己ゲーム状況情報は、ＣＰＵプレイヤＢの手牌の状況を示す情報である。このようにして、算出部５２は、端末装置５０ｂを操作するプレイヤＢに代えて、プレイヤＢに対応するＣＰＵプレイヤＢの第２指示情報を算出する。
【００３８】
制御部５３は、受付部５４が受け付けた第１指示情報と算出部５２が算出した第２指示情報とに応じて、ゲームの状況を示す状況情報を更新して、ゲームの進行を制御する。具体的には、制御部５３は、プレイヤＡがツモ順プレイヤか、非ツモ順プレイヤかを判定する。また、制御部５３は、プレイヤＡがツモ順プレイヤであると判定した場合には、受付部５４が受け付けたプレイヤＡの指示を示す第１指示情報が「捨牌（打牌）」、「カン」、及び「和了」のいずれかであるかを判定する。ここで、制御部５３は、例えば、ツモ後の第１指示情報が「捨牌（打牌）」であると判定した場合には、プレイヤＡの手牌から捨牌として選択された牌を河に捨てた状況を示す状況情報にして、ゲームの状況を示す状況情報を更新する。また、制御部５３は、例えば、ツモ後の第１指示情報が「カン」であると判定した場合には、状況情報を「カン」の対象となる４つの牌を選択して、王牌に含まれるドラ表示牌を表示するとともに、王牌に含まれる嶺上牌をツモした状況を示す状況情報にして、状況情報を更新する。すなわち、制御部５３は、受付部５４が受け付けたプレイヤＡの指示を示す第１指示情報に基づいて、ゲームの状況を示す状況情報を更新する。また、制御部５３は、プレイヤＡの場合と同様に、算出部５２が算出したＣＰＵプレイヤＢの第２指示情報に基づいて、状況情報を更新する。すなわち、制御部５３は、算出されたＣＰＵプレイヤＢ（第２プレイヤ）の第２指示情報に基づいて状況情報を更新する。
【００３９】
このようにして、制御部５３は、受付部５４が第１指示情報として受け付けるプレイヤＡによるゲームに対する指示の機会と、算出部５２が第２指示情報を算出する機会とを、各プレイヤに対して交替的に与えて状況情報を更新する。すなわち、制御部５３は、あるプレイヤに与えられた指示の（または、算出の）機会が消失するまで、他のプレイヤに対して指示の（または、算出の）機会を与えないようにして、状況情報を更新する。例えば、制御部５３は、プレイヤＡに対して捨牌（打牌）を選択する機会を与えた場合には、プレイヤＡが捨牌（打牌）を選択するまでは、ＣＰＵプレイヤＢに対して選択肢を選択する指示の機会を与えないようにして、状況情報を更新する。また、制御部５３は、更新した状況情報に基づいて生成した表示情報を表示部５５に出力することで、プレイヤに対してゲームの状況の表示を行う。
【００４０】
表示部５５は、例えば、液晶表示器などの表示デバイスを備えており、制御部５３が出力する表示情報に基づいて、ゲームの状況を示す画像をプレイヤ（プレイヤＡ）に対して表示する。つまり、表示部５５は、制御部５３が更新する状況情報に基づいたゲームの状況を示す画像をプレイヤに表示する。
【００４１】
次に、図７を参照して、本実施形態のゲームシステム１のプレイモードにおける動作の一例について説明する。図７は、本実施形態におけるゲームシステム１のプレイモードにおける動作の一例を示すフローチャートである。
まず、端末装置５０ａの制御部５３は、受付部５４が受け付けたプレイヤＡによるゲーム開始の指示を示す情報を取得する。そして、制御部５３は、取得したゲーム開始の指示を示す情報に応じたゲーム開始要求を、端末通信部５１を介して、サーバ装置１０に送信する（ステップＳａ０２）。上述したように、このゲーム開始要求には、プレイヤＡの識別情報（０１０００）が含まれている。
【００４２】
次に、サーバ装置１０の読出部１２は、端末通信部５１とサーバ通信部１１とを介して制御部５３から取得したゲーム開始要求に応じて、対局相手データを設定する（ステップＳｂ０３）（読出ステップ）。上述したように、読出部１２は、取得したプレイヤＡを示す識別情報（０１０００）に基づいて、プレイヤＡの相手プレイヤとしてのプレイヤＢのプレイヤ属性情報を含む対局設定データを設定する。
【００４３】
次に、サーバ装置１０の乱数シード生成部１６は、疑似乱数系列を生成するための乱数シードを生成し、生成した乱数シードを読出部１２に供給する（ステップＳｂ０４）。ここで、乱数シード生成部１６は、８桁の乱数シードとしての（１２３４５６７８）を生成する。
【００４４】
次に、サーバ装置１０の読出部１２は、ステップＳｂ０３において設定した対局相手データ及びステップＳｂ０４において生成した乱数シードを含む対局設定データを設定し、端末通信部５１とサーバ通信部１１（供給部）とを介して、端末装置５０に送信する（ステップＳｂ０５）（供給ステップ）。
【００４５】
次に、端末装置５０の乱数生成部５７は、端末通信部５１を介して受信した対局設定データに含まれる乱数シードを取得する。そして、乱数生成部５７は、取得した乱数シードに基づいて、疑似乱数系列を生成する（ステップＳａ０３）。
【００４６】
次に、端末装置５０ａの端末記憶部５６は、端末通信部５１を介して受信した対局設定データに含まれる相手プレイヤのプレイヤ属性情報を端末プレイヤ属性情報記憶部５６１に記憶することで、プレイヤＡの相手プレイヤを設定する（ステップＳａ０４）。これにより、算出部５２が相手プレイヤとしてのプレイヤＢの第２指示情報を算出する際に、端末記憶部５６の端末プレイヤ属性情報記憶部５６１からプレイヤＢのプレイヤ属性情報（０７）を読み出すことが可能となる。
【００４７】
次に、端末装置５０の制御部５３は、ゲーム前処理を行う（ステップＳａ０５）。設定部５８は、麻雀ゲームのルールに基づいて、東風戦の開始前には、各プレイヤの席順と、起家（親）とを初期状況情報として設定し、１局の開始前には、牌山を構成する牌の順序と、牌山を構成する王牌の位置とを初期状況情報として設定する。制御部５３は、設定部５８が設定した初期状況情報に基づいて、ゲームの状況を示す状況情報を更新する。
【００４８】
次に、端末装置５０の制御部５３は、受付部５４が受け付ける第１指示情報と、算出部５２が算出する第２指示情報とに基づいて、ゲームの進行を制御する（ステップＳａ０６）。具体的には、受付部５４は、プレイヤＡから第１指示情報を受け付ける（受付ステップ）。また算出部５２は、第２指示情報を算出する（算出ステップ）。また制御部５３は、第１指示情報及び第２指示情報に基づいてゲームの進行を制御する（制御ステップ）。
また、制御部５３は、ゲームに参加するプレイヤの間でツモ順プレイヤを交替的に設定しながら、第１指示情報と第２指示情報とに基づいて、ゲームの進行を制御する。また、端末指示記憶部５６２は、受付部５４が受け付けた第１指示情報を記憶する（ステップＳａ０７）。
【００４９】
次に、端末装置５０の制御部５３は、ゲームの終了判定を行う（ステップＳａ０８）。具体的には、制御部５３は、麻雀ゲームの進行状況に基づいて、１局が終了したか否かを判定する。そして、制御部５３は、１局が終了していないと判定した場合（ステップＳａ０８：ＮＯ）には、処理をステップＳａ０６に戻す。一方、制御部５３は、１局が終了したと判定した場合（ステップＳａ０８：ＹＥＳ）には、処理をステップＳａ０９に進める。
【００５０】
次に、端末装置５０の制御部５３は、ゲームの終了判定を行う（ステップＳａ０９）。具体的には、制御部５３は、１局の終了時に、麻雀ゲームの進行状況に基づいて、東風戦が終了したか否かを判定する。そして、制御部５３は、東風戦が終了していないと判定した場合（ステップＳａ０９：ＮＯ）には、処理をステップＳａ０５に戻す。一方、制御部５３は、東風戦が終了したと判定した場合（ステップＳａ０９：ＹＥＳ）には、ゲームのプレイ履歴を示すプレイ履歴情報をサーバ装置１０に送信し、端末装置５０ａによるゲームの進行の処理を終了する（ステップＳａ１０）。具体的には、制御部５３は、ゲームで用いた乱数シードと、端末プレイヤ属性情報記憶部５６１に記憶された相手プレイヤであるプレイヤＢのプレイヤ属性情報と、端末指示記憶部５６２に記憶された第１指示情報の系列とを、端末通信部５１を介してサーバ装置１０に送信する。
サーバ装置１０の書込部１７は、サーバ通信部１１を介して端末装置５０から送信された乱数シードと、プレイヤ属性情報と、第１指示情報の系列とを、対局ＩＤと関連付けてプレイ履歴記憶部１４３に書込んで記憶させ、サーバ装置１０の処理を終了する（ステップＳｂ０６）。ここで、対局ＩＤとは、対局を識別する識別情報であり、書込部１７が端末装置５０から受信した対局設定データをプレイ履歴記憶部１４３に書込む毎に、固有の値が設定される。
【００５１】
次に、図８及び図９を参照して、本実施形態のゲームシステム１のリプレイモードにおける構成及び動作の一例について説明する。なお、プレイモードと同一の構成については、説明を省略する。以下、まず、図８を参照して、本実施形態のゲームシステム１のリプレイモードにおける構成について説明する。
【００５２】
端末装置５０の制御部５３は、受付部５４が受け付けたプレイヤＡによるリプレイ開始の指示を示す情報を取得する。そして、制御部５３は、取得したリプレイ開始の指示を示す情報に応じたリプレイ開始要求を、端末通信部５１を介して、サーバ装置１０に送信する。このリプレイ開始要求には、プレイモードの場合と同様にプレイヤＡの識別情報（０１０００）が含まれている。また、このリプレイ開始要求には、上述した対局ＩＤが含まれている。また、受付部５４は、ゲームのプレイ開始からプレイ終了までの間のうちの、リプレイの再現対象にする所定の区間を示す区間情報をプレイヤから受け付ける。この区間情報は、麻雀ゲームにおいては、例えば、ゲーム開始から起算した対局の局数や、各局のゲーム開始から起算したツモ回数などによって示される情報である。また、受付部５４は、受け付けた区間情報を制御部５３に出力する。
【００５３】
サーバ装置１０の選択部１３は、端末通信部５１及びサーバ通信部１１を介して端末装置５０ａから送信されるリプレイ開始要求に含まれているプレイヤＡの識別情報（０１０００）を取得する。
【００５４】
サーバ装置１０の読出部１２は、端末通信部５１及びサーバ通信部１１を介して端末装置５０ａから送信されるリプレイ開始要求に含まれている対局ＩＤを取得する。そして、読出部１２は、取得した対局ＩＤに関連付けてプレイ履歴憶部１４３に記憶された、乱数乱数シードとプレイヤ属性情報を読み出す。すなわち、読出部１２は、プレイモードにおいては、乱数シード生成部１６から乱数シードを取得し、リプレイモードにおいては、プレイ履歴記憶部１４３から乱数シードを取得する。また、読出部１２は、プレイモードにおいては、相手プレイヤのプレイヤ属性情報をプレイヤ属性情報記憶部１４１から読み出し、リプレイモードにおいては、相手プレイヤのプレイヤ属性情報をプレイ履歴記憶部１４３から読み出す。そして、読出し部１２は、このようにして読み出した乱数シードとＣＰＵプレイヤＢのプレイヤ属性情報とを含む対局設定データを設定する。また、読出部１２は、取得したリプレイ開始要求に含まれている対局ＩＤに関連付けてプレイ履歴記憶部１４３が記憶する第１指示情報の系列を読み出す。ここで、読出部１２は、受付部５４がプレイヤＡから受け付けた指示の系列に従ってプレイ履歴記憶部１４３が記憶している第１指示情報を読み出す。そして、読出部１２は、設定した乱数シード及びＣＰＵプレイヤＢのプレイヤ属性情報を含む対局設定データと、読み出したプレイヤＡの第１指示情報の系列とを、サーバ通信部１１を介して端末装置５０ａに送信する。
【００５５】
端末プレイヤ属性情報記憶部５６１は、サーバ通信部１１及び端末通信部５１を介して読出部１２から送信される対局設定データに含まれているＣＰＵプレイヤＢのプレイヤ属性情報を記憶する。
【００５６】
端末指示記憶部５６２は、サーバ通信部１１及び端末通信部５１を介して読出部１２から送信される第１指示情報の系列を記憶する。
【００５７】
乱数生成部５７は、読出部１２が設定し、サーバ通信部１１及び端末通信部５１を介して受信した対局設定データに含まれている乱数シードに基づいて、疑似乱数系列を生成する。すなわち、乱数生成部５７は、プレイモードにおいては、乱数シード生成部１６が生成する乱数シードに基づいて疑似乱数系列を生成し、リプレイモードにおいては、プレイ履歴記憶部１４３が記憶する乱数シードに基づいて疑似乱数系列を生成する。
【００５８】
設定部５８は、生成された疑似乱数系列に基づいて、ゲームの情報を示す状況情報の初期値を示す情報としての初期状況情報を設定する。例えば、設定部５８は、東風戦の開始前には、疑似乱数系列に基づいて、各プレイヤの席順と、起家（親）とを初期状況情報として設定し、１局の開始前には、疑似乱数系列に基づいて、牌山を構成する牌の順序と、牌山を構成する王牌の位置とを初期状況情報として設定する。
すなわち、設定部５８は、プレイモードにおいては、乱数シード生成部１６が生成する乱数シードに応じて生成される疑似乱数系列に基づいて初期状況情報を設定し、リプレイモードにおいては、プレイ履歴記憶部１４３が記憶する乱数シードに応じて生成される疑似乱数系列に基づいて初期状況情報を設定する。つまり、設定部５８は、プレイ履歴記憶部１４３が記憶する乱数シードの値に応じて生成される疑似乱数系列に基づいて、リプレイモードにおけるゲームの進行状況に応じた状況情報の初期値を適宜設定する。
このように、プレイモードにおける東風戦の開始時のゲームの状況である、各プレイヤの席順、及び起家（親）、及び１局の開始時ゲームの状況である、牌山を構成する牌の順序、牌山を構成する王牌の位置を再現する。
【００５９】
算出部５２は、プレイモードの場合と同様にして、端末プレイヤ属性情報記憶部５６１から読み出したプレイヤ属性情報と、取得した状況情報とに基づいて、第２指示情報を算出する。
【００６０】
制御部５３は、端末指示記憶部５６２が記憶する第１指示情報と、算出部５２が算出した第２指示情報とに応じて、ゲームの状況を示す状況情報を更新して、プレイモードと同様にゲームの進行を制御する。すなわち、制御部５３は、プレイモードにおいては、受付部５４から第１指示情報を取得し、リプレイモードにおいては、端末指示記憶部５６２から第１指示情報を取得する。また、制御部５３は、受付部５４が受け付けた区間情報に基づいて、過去にプレイされたゲームのプレイ開始からプレイ終了までの間のうちの所定の区間における、プレイヤＡとＣＰＵプレイヤＢとによるゲームの状況を示す状況情報を更新して、ゲームの進行を制御する。ここで、所定の区間は、プレイヤＡとＣＰＵプレイヤＢとによるゲームの状況を示す状況情報の時系列の始点及び終点を示す情報によって設定される。具体的には、制御部５３は、端末指示記憶部５６２が記憶する第１指示情報の系列のうちから、ゲームの初期状態における最初の第１指示情報を取得する。そして制御部５３は、取得した第１指示情報と、算出部５２が算出した第２指示情報とに応じて、ゲームの状況を示す状況情報を更新する。次に制御部５３は、端末指示記憶部５６２が記憶する第１指示情報の系列のうちから、次の選択機会に対応する第１指示情報を取得する。そして制御部５３は、取得した第１指示情報と、算出部５２が算出した第２指示情報とに応じて、ゲームの状況を示す状況情報を更新する。このようにして、制御部５３は、ゲームの初期状態における最初の第１指示情報から、受付部５４が受け付けた区間情報が示す状況情報の時系列の終点まで第１指示情報を端末指示記憶部５６２から順次読み出して、ゲームの状況を示す状況情報を順次更新する。
【００６１】
より具体的には、まず算出部５２は、設定部５８が設定した状況情報の初期値に基づいて、第２指示情報を算出する。次に、制御部５３は、算出部５２が算出した第２指示情報に基づいて状況情報を更新する。次に、制御部５３は、端末指示記憶部５６２からプレイヤＡの指示を示す第１指示情報を読み出し、読み出した第１指示情報に基づいて、状況情報を更新する。このようにして制御部５３は、状況情報を順次更新（再現）して、再現した状況情報を表示情報として表示部５５に出力する。
表示部５５は、制御部５３が出力する表示情報に基づいて、ゲームの状況を示す画像をプレイヤに表示する。
【００６２】
次に、図９を参照して、本実施形態のゲームシステム１のリプレイモードにおける動作の一例について説明する。図９は、本実施形態におけるゲームシステム１のリプレイモードにおける動作の一例を示すフローチャートである。
【００６３】
まず、端末装置５０ａの受付部５４は、プレイヤＡの識別情報としてのアカウント情報とリプレイの対象である対局を示す対局ＩＤとを含むリプレイ開始の指示を示す情報をプレイヤＡから受け付ける（ステップＳａ５０）。そして、制御部５３は、取得したリプレイ開始の指示を示す情報に応じて、プレイヤＡの識別情報とリプレイの対象の対局ＩＤとを含むリプレイ開始要求を、端末通信部５１及びサーバ通信部１１を介して、サーバ装置１０の選択部１３に送信する。
【００６４】
サーバ装置１０は、取得したリプレイ開始要求に基づいて、対局設定データと第１指示情報とをリプレイデータとして設定し、設定したリプレイデータをサーバ通信部１１を介して端末装置５０ａに送信する（ステップＳｂ５０）。具体的には、サーバ装置の読出部１２は、リプレイ開始要求に含まれている対局ＩＤを取得し、取得した対局ＩＤに関連付けられている乱数シードとプレイヤ属性情報と第１指示情報の系列とをプレイ履歴記憶部１４３から読み出す。そして、読出部１２は、乱数シード及びＣＰＵプレイヤＢのプレイヤ属性情報を含めて設定した対局設定データと、プレイヤＡの第１指示情報の系列とをリプレイデータとして設定する。そして、読出部１２は、設定したリプレイデータをサーバ通信部１１を介して端末装置５０ａに送信する。端末装置５０ａの端末プレイヤ属性情報記憶部５６１は、読出部１２が設定し、サーバ通信部１１及び端末通信部５１を介して受信したリプレイデータに含まれるＣＰＵプレイヤＢのプレイヤ属性情報を記憶する。また、端末装置５０ａの端末指示記憶部５６２は、読出部１２が設定し、サーバ通信部１１及び端末通信部５１を介して受信したリプレイデータに含まれる第１指示情報の系列を記憶する。
【００６５】
一方、端末装置５０ａの受付部５４は、ゲームのプレイ開始からプレイ終了までの間のうちのリプレイ対象の区間を示す区間情報をプレイヤＡから受け付ける。（ステップＳａ１００）。
【００６６】
次に、端末装置５０ａの乱数生成部５７は、読出部１２が設定し、サーバ通信部１１及び端末通信部５１を介して受信したリプレイデータに含まれる乱数シードを取得する（ステップＳａ１０１）。そして、乱数生成部５７は、取得した乱数シードに基づいて、疑似乱数系列を生成する（ステップＳａ１０２）。
【００６７】
端末装置５０ａの設定部５８は、生成された疑似乱数系列に基づいて、ゲームの情報を示す状況情報の初期値としての初期状況情報を設定する（ステップＳａ１０３）。設定部５８は、東風戦の開始前には、疑似乱数系列に基づいて、各プレイヤの席順と、起家（親）とを初期状況情報として設定し、１局の開始前には、疑似乱数系列に基づいて、牌山を構成する牌の順序と、牌山を構成する王牌の位置とを初期状況情報として設定する。
【００６８】
次に、端末装置５０ａの算出部５２は、端末プレイヤ属性情報記憶部５６１が記憶するプレイヤ属性情報を、端末プレイヤ属性情報記憶部５６１から読み出す（ステップＳａ１０４）。
【００６９】
次に、端末装置５０ａの制御部５３は、端末指示記憶部５６２が記憶する第１指示情報を読み出す（ステップＳａ１０５）。さらに、制御部５３は、読み出した第１指示情報と、算出部５２が算出する第２指示情報とに基づいて、ゲームの進行を制御して、ゲームの状況を示す状況情報を更新する（ステップＳａ１０６）。
【００７０】
次に、端末装置５０ａの算出部５２は、端末プレイヤ属性情報記憶部５６１からプレイヤ属性情報を読み出すとともに、制御部５３が端末指示記憶部５６２から読み出した第１指示情報と制御部５３が更新した状況情報とを制御部５３から取得する。そして、算出部５２は、読み出したプレイヤ属性情報と、取得した第１指示情報及び状況情報とに基づいて、ＣＰＵプレイヤＢによる第２指示情報を算出する（ステップＳａ１０７）。
【００７１】
次に、制御部５３は、算出された第２指示情報に基づいて、ゲームの進行を制御して、ゲームの状況を示す状況情報を更新する（ステップＳａ１０８）。
【００７２】
次に、端末装置５０ａの制御部５３は、更新した状況情報の系列が、受付部５４が受け付けた区間情報によって示される状況情報の系列の区間をすべて含んでいるか否か、つまり更新を終了するか否かを判定する（ステップＳａ１０９）。ここで、制御部５３は、更新した状況情報の系列が区間情報によって示される状況情報の系列の区間、すなわちリプレイ対象の区間をすべて含んでいると判定した場合（ステップＳａ１０９：ＹＥＳ）には、処理をステップＳａ１１０に進める。一方、制御部５３は、更新した状況情報の系列がリプレイ対象の区間のすべてを含んではいないと判定した場合（ステップＳａ１０９：ＮＯ）には、処理をステップＳａ１０５に戻す。
【００７３】
次に、制御部５３は、ゲームの状況の再現結果である状況情報の系列のうちから、時系列に基づいて選択した状況情報から表示情報を生成して、表示部５５に供給する。表示部５５は、供給された表示情報に基づいて、ゲームの状況を示す画像をプレイヤに表示する（ステップＳａ１１１）。
【００７４】
次に、制御部５３は、リプレイ対象の区間をすべて表示したと判定した場合（ステップＳａ１１２：ＹＥＳ）には、処理を終了する。一方。取得部６０は、リプレイ対象の区間のすべてを表示してはいないと判定した場合（ステップＳａ１１２：ＮＯ）には、処理をステップＳａ１１１に戻す。
【００７５】
以上説明したように、本実施形態のゲームシステム１は、端末指示記憶部５６２と、端末プレイヤ属性情報記憶部５６１（属性記憶部）と、算出部５２とを備える。この端末指示記憶部５６２は、ゲームをプレイするプレイヤＡ（第１プレイヤ）によるゲームに対する指示を第１指示情報として記憶する。また、この端末プレイヤ属性情報記憶部５６１は、プレイヤＡのゲームの相手プレイヤとしてのプレイヤＢ（第２プレイヤ）のプレイヤ属性情報（属性情報）を記憶する。また、この算出部５２は、端末指示記憶部５６２から読み出された第１指示情報と端末プレイヤ属性情報記憶部５６１から読み出されたプレイヤ属性情報とに基づいて、ＣＰＵプレイヤＢによるゲームに対する指示を示す第２指示情報を算出する。これにより、ゲームシステム１は、ＣＰＵプレイヤＢによる第２指示情報を、端末記憶部５６が記憶する情報に基づいて算出することができる。したがって、ゲームシステム１は、ＣＰＵプレイヤＢによる第２指示情報を記憶することなく、プレイヤＡとＣＰＵプレイヤＢとによるゲームのプレイ状況を再現することができる。つまり、ゲームシステム１は、ゲームのプレイ状況を再現するために記憶する情報のメモリ使用量を、第２指示情報を記憶する場合に比べて低減することができる。つまり、ゲームシステム１は、各プレイヤのプレイを再現するために記憶部が記憶する情報量を低減することができる。
【００７６】
また、本実施形態のゲームシステム１の算出部５２は、さらにゲームの状況を示す状況情報に基づいて、ＣＰＵプレイヤＢによる第２指示情報を算出する。また、本実施形態のゲームシステム１は、算出されたＣＰＵプレイヤＢによる第２指示情報に基づいて状況情報を更新するとともに、端末指示記憶部５６２から読み出された第１指示情報に基づいて状況情報を更新する制御部５３を備える。これにより、ゲームシステム１は、ゲームの状況に応じて第２指示情報を変化させるＣＰＵプレイヤＢについても、第２指示情報を算出することができる。したがって、ゲームシステム１は、第２指示情報を記憶することなく、プレイヤＡとＣＰＵプレイヤＢとによるゲームのプレイ状況を再現することができる。つまり、ゲームシステム１は、ゲームのプレイ状況を再現するために記憶する情報の情報量を、第２指示情報を記憶する場合に比べて低減することができる。
【００７７】
また、本実施形態のゲームシステム１は、乱数シードを記憶するプレイ履歴記憶部１４３と、プレイ履歴記憶部１４３から読み出された乱数シードに基づいて、疑似乱数系列を生成する乱数生成部５７と、生成された疑似乱数系列に基づいて、状況情報を設定する設定部５８とを備える。これにより、ゲームシステム１は、ゲームの状況を示す状況情報の初期値を疑似乱数系列に基づいて変化させることができるため、ゲームの進行が単調になる程度を低減することができる。さらに、ゲームシステム１は、乱数シードを記憶することにより、ゲームの状況を示す状況情報の初期値を再現することができるため、ゲームの状況を示す状況情報の初期値を記憶することなく、ゲームのプレイ状況を再現することができる。つまり、ゲームシステム１は、ゲームの進行が単調になる程度を低減しつつ、ゲームのプレイ状況を再現するために記憶する情報の情報量を低減することができる。
【００７８】
また、本実施形態のゲームシステム１の制御部５３は、ゲームのプレイ開始からプレイ終了までの間のうちの所定の区間を示す区間情報に基づいて、ゲームのプレイ開始から少なくとも区間情報が示す区間の終点までの状況情報を更新して、ゲームの進行を制御する。これにより、ゲームシステム１は、ゲームのプレイ開始からプレイ終了までの間のうちの所定の区間における状況情報を抽出して、ゲームのプレイ状況を再現することができる。したがって、ゲームシステム１は、ゲームのプレイ開始からプレイ終了までのプレイ状況のうちから、プレイヤに表示すべき区間のプレイ状況をのみを抽出して再現することができる。
【００７９】
また、本実施形態のゲームシステム１のプレイヤ属性情報（属性情報）は、算出部５２によって算出されるＣＰＵプレイヤＢによる第２指示情報の特徴を示す情報である。これにより、ゲームシステム１は、プレイヤ属性情報に基づいて、ＣＰＵプレイヤＢの第２指示情報に例えば、守備タイプや攻撃タイプなどの特徴を設定することができる。したがって、ゲームシステム１は、プレイヤＢのプレイヤ属性情報をＣＰＵプレイヤＢのプレイヤ属性情報として設定することにより、プレイヤＡに対して、プレイヤＢと一緒にプレイ（対局）していると感じさせるようにゲームを制御することができる。さらに、ゲームシステム１は、このプレイヤ属性情報を端末プレイヤ属性情報記憶部５６１が記憶する。したがって、ゲームシステム１は、リプレイモードにおいても、ＣＰＵプレイヤＢによる第２指示情報を記憶することなく、プレイヤＡとＣＰＵプレイヤＢとによるゲームのプレイ（対局）を再現することができる。
【００８０】
また、本実施形態のゲームシステム１のゲームは、端末指示記憶部５６２が第１指示情報として記憶するプレイヤＡによるゲームに対する指示の機会と、算出部５２が第２指示情報を算出する機会とが、交替的に与えられる。これにより、ゲームシステム１は、ゲームに対する指示の機会ごとに第１指示情報を記憶すればよく、第１指示情報を時系列に記憶することなく第２指示情報を再現することができる。つまり、ゲームシステム１は、ゲームのプレイ状況を再現するために記憶する情報の情報量を、第１指示情報を時系列に記憶する場合に比べて低減することができる。
【００８１】
以上、本発明の実施の形態について図面を参照して詳述したが、具体的な構成はその実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。
【００８２】
例えば、上記の実施形態においては、ゲームシステム１は、麻雀ゲームを例に説明したが、麻雀ゲームのように相手プレイヤと対戦（対局）するゲームに限られず、相手プレイヤと共同してゲームの目的を達成するゲームアプリケーションに適用することもできる。すなわち、ゲームシステム１は、プレイヤの第１指示情報と、相手プレイヤのプレイヤ属性情報とに基づいて相手プレイヤの第２指示情報を算出する構成を有するゲームアプリケーションに適用して場合には、第２指示情報を記憶することなく第２指示情報を再現することができる。つまり、このようなゲームアプリケーションに適用した場合においても、ゲームシステム１は、各プレイヤのプレイを再現するために記憶部が記憶する情報量を低減することができる。
【００８３】
なお、上記の実施形態においては、ゲームシステム１は、２人打ち麻雀ゲームを例に説明したが、例えば、４人打ち麻雀ゲームのように、プレイヤＡの相手プレイヤが複数であるゲームアプリケーションに適用することもできる。この場合には、ゲームシステム１は、各相手プレイヤの第２指示情報を記憶することなく、各相手プレイヤの第２指示情報を算出することができる。したがって、ゲームシステム１は、相手プレイヤの数が増加するほど、相手プレイヤのプレイを再現するために記憶部が記憶する情報量を低減する程度を増加させることができる。
【００８４】
また、上記の実施形態においては、サーバ装置１０が読出部１２、選択部１３及び記憶部１４を備える例を示したが、これら各部の機能を他の装置が備えるようにシステムを構成してもよい。また、これら各部の機能を複数の装置に分散させて設けるようにしてもよい。また、上記の実施形態においては、サーバ装置１０が乱数シード生成部１６を備える例を示したが、乱数シード生成部１６は端末装置５０に備えられていてもよい。
【００８５】
また、上記の実施形態においては、端末装置５０が算出部５２、制御部５３、受付部５４、表示部５５、端末記憶部５６、乱数生成部５７、設定部５８を備える例を示したが、これら各部の機能を他の装置が備えるようにシステムを構成してもよい。また、これら各部の機能を複数の装置に分散させて設けるようにしてもよい。
【００８６】
なお、サーバ装置１０が備える各部は、他の装置から各部の機能を実現するためのプログラムをダウンロードすることにより機能が実現されるものであってもよく、他の装置が有するプログラムによって機能が実現されるものであってもよい。具体的には、端末装置５０にはゲームアプリケーションがインストールされておらず、サーバ装置１０側で進行を制御されるゲームの状況を受信して表示する制御と、ゲームに対する指示情報を受け付けてサーバ装置１０に通知する制御とを行う機能を少なくとも備えていれば、他の機能はサーバ装置１０側で実現されるものであってもよい。
【００８７】
なお、上記の実施形態におけるサーバ通信部１１、読出部１２、選択部１３、乱数シード生成部１６、書込部１７、端末通信部５１、算出部５２、制御部５３、乱数生成部５７、設定部５８（以下、総称して制御部ＣＯＮＴと記載する）又はこの制御部ＣＯＮＴが備える各部は、専用のハードウェアにより実現されるものであってもよく、また、メモリおよびマイクロプロセッサにより実現させるものであってもよい。
【００８８】
なお、この制御部ＣＯＮＴ又は制御部ＣＯＮＴが備える各部は、専用のハードウェアにより実現されるものであってもよく、また、この制御部ＣＯＮＴ又は制御部ＣＯＮＴが備える各部はメモリおよびＣＰＵ（中央演算装置）により構成され、制御部ＣＯＮＴ又は制御部ＣＯＮＴが備える各部の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【００８９】
また、制御部ＣＯＮＴ又は制御部ＣＯＮＴが備える各部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、制御部ＣＯＮＴ又は制御部ＣＯＮＴが備える各部による処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００９０】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【符号の説明】
【００９１】
１…ゲームシステム、１０…サーバ装置、１１…サーバ通信部（供給部）、１２…読出部、１３…選択部、１４…サーバ記憶部、１６…乱数シード生成部、１７…書込部、５０…端末装置、５１…端末通信部、５２…算出部、５３…制御部、５４…受付部、５５…表示部、５７…乱数生成部、５８…設定部、１４１…プレイヤ属性情報記憶部（属性記憶部）、１４２…グループ情報記憶部、１４３…プレイ履歴記憶部、５６１…端末プレイヤ属性情報記憶部、５６２…端末指示記憶部
【図１】
0005432298.tif 000002
【図２】
0005432298.tif 000003
【図３】
0005432298.tif 000004
【図４】
0005432298.tif 000005
【図５】
0005432298.tif 000006
【図６】
0005432298.tif 000007
【図７】
0005432298.tif 000008
【図８】
0005432298.tif 000009
【図９】
0005432298.tif 000010