以下、本発明の一形態に係るゲームシステムを説明する。まず、図1を参照して、ゲームシステムの全体構成を説明する。ゲームシステム1は、サーバ装置としてのセンターサーバ2と、そのセンターサーバ2に対するクライアント装置として機能する複数のゲーム機3と、センターサーバ2に対してゲーム機3とは異なるクライアント装置として機能する複数のパーソナルコンピュータ(PCと略称することがある。)4及びユーザ端末5とを含む。PC4及びユーザ端末5は本発明におけるネットワーク端末装置に相当する。センターサーバ2は、複数のサーバユニット2A、2B…が組み合わされることにより一台の論理的なサーバ装置として構成されている。ただし、単一のサーバユニットによりセンターサーバ2が構成されてもよい。あるいは、クラウドコンピューティングを利用して論理的にセンターサーバ2が構成されてもよい。
ゲーム機3は、所定のプレイ料金の支払いと引き換えにゲームのプレイを許可する商業用(業務用)のゲーム機として構成されている。この種のゲーム機はアーケードゲーム機と呼ばれることがある。本明細書でもゲーム機3をアーケードゲーム機3と称して、他の種類のゲーム機と区別することがある。ゲーム機3は、商業施設の一種であるゲーム店舗6に設置される。図1では単一のゲーム店舗6を示すが、複数のゲーム店舗6のそれぞれに一台又は複数台のゲーム機3が設置される。ゲーム店舗6は、アーケードゲーム機3が提供するゲームをユーザに有償でプレイさせるサービスを提供する施設の一例である。ゲーム店舗6には、アミューズメント施設、ゲームアーケード、遊技場等といった各種の称呼で呼ばれる施設が含まれる。なお、ゲーム機3で実行されるゲームの内容は適宜に選択されてよい。ゲーム機3間でゲームが相違していてもよい。ゲーム機3は、特定のゲームに適合する物理的構成(例えば操作部等)を備えた専用のアーケードゲーム機として構成されてもよいし、ソフトウエアの書き換えにより種々のゲームをプレイさせることが可能な汎用のアーケードゲーム機として構成されてもよい。
PC4は、ゲーム店舗6とは異なる商業施設である店舗7に設置され、有償又は無償でユーザに貸与されるネットワーク端末装置である。店舗7は、有償又は無償でPC4をユーザに使用させるサービスを提供する施設の一例である。店舗7は、例えばPCの貸与を目的として運営されるインターネットカフェと呼ばれる施設が該当する。その他にも、駅、空港、ホテル等の施設にユーザへの貸与を目的としてPC4が設置された場合も店舗7の概念に含まれる。PC4は、時間的あるいは回数的制限を付してユーザに貸与される限り、公共的な施設に設置されてもよい。以下では、店舗7をゲーム店舗6と区別するために一般店舗7と呼ぶことがある。なお、PC4それ自体は、商業用途のみならず、個人用途にも供することが可能な汎用のPCである。店舗7におけるPC4の用途も、後述するゲームのプレイに限らず、いわゆるネットサーフィン、PCゲームのプレイといった種々の用途に供することが可能とされてよい。PC4をユーザに有償で貸与する場合、その利用料金は時間制で課金されてもよいし、会員登録したユーザに月単位といった所定の集計単位毎に課金されてもよい。
ユーザ端末5は、ユーザの個人用途に供されるネットワーク端末装置である。例えばPC5a、携帯型ゲーム機5b、あるいは携帯電話(スマートフォンを含む。)5cのように、ネットワーク接続が可能でかつ個人用途に供される各種のコンピュータ装置をユーザ端末5として利用することができる。図示を省略したが、家庭用のゲーム機、携帯型タブレット端末等のコンピュータ装置も、ネットワーク端末装置として機能し、かつユーザの個人用途に供される限り、ユーザ端末5として利用することができる。
センターサーバ2及びゲーム機3は、ネットワーク8を介して相互に通信可能に接続されている。ネットワーク8は、WAN(ワイドエリアネットワーク)としてのインターネット8Aと、店舗2毎に構築されてそれらのゲーム機3を収容するLAN(ローカルエリアネットワーク)8Bと、センターサーバ2のサーバユニット2A、2B…を収容してそれらのサーバユニット2A、2Bを相互に接続するLAN8Cとを含んでいる。LAN8B、8Cは、一例として、TCP/IPプロトコルを利用するイントラネットによって構築される。LAN8B、8Cはルータ9を介してインターネット8Aに接続される。なお、ゲーム機3と店舗6のルータ9との間にローカルサーバが設置され、そのローカルサーバを介してゲーム機3がセンターサーバ2と通信可能に接続されてもよい。センターサーバ2のサーバユニット2A、2B…はLAN8Cに代えて、又は加えてインターネット8Aにより相互に接続される場合もある。なお、本明細書において、ユーザとは、ゲームのプレイヤとなり得る者である。また、センターサーバ2を運営してゲーム機3、PC4、あるいはユーザ端末5に向けた各種のサービスを提供する事業者をサービス提供者と呼び、店舗6、7を運営する事業者をオペレータと呼ぶことがある。さらに、ゲーム店舗6のオペレータをアーケードオペレータと呼び、一般店舗7のオペレータを一般オペレータと呼んでこれらを区別することがある。
ゲーム機3及びセンターサーバ2には、ネットワーク8上でそれらを識別するためのユニークなIPアドレスが付されている。ゲーム機3同士あるいはゲーム機3とセンターサーバ2との間の通信では、そのIPアドレスを利用して通信相手が特定される。各ルータ9にはインターネット8A上でユニークな固定アドレスが設定される。ゲーム機3には、その固定アドレスとの組み合わせによってネットワーク8上でゲーム機3を一意に識別するためのプライベートアドレスがIPアドレスとして設定される。この場合、ゲーム機3とセンターサーバ2との間、あるいはゲーム機3同士の間には仮想プライベートネットワーク(VPN)が構築され、そのVPN上で各ゲーム機3がプライベートアドレスを用いて一意に特定される。
また、一般店舗7のPC4もLAN8D及びルータ9を介してインターネット8Aに接続されることにより、センターサーバ2と通信可能である。さらに、ユーザ端末5もインターネット8Aに接続され、それによりセンターサーバ2と通信可能である。一般店舗7のルータ9及びユーザ端末5とインターネット8Aとの間には、インターネット接続業者によるプライベートネットワーク等が介在するが、それらの図示は省略した。PC4及びユーザ端末5のそれぞれにも、ネットワーク8上でそれらを一意に識別するためのユニークなIPアドレスが付与される。そのIPアドレスは、ネットワーク8に接続される毎に変化するいわゆる動的アドレスでもよいし、不変の固定アドレスであってもよい。以下では、ネットワーク8上でセンターサーバ2、ゲーム機3、PC4及びユーザ端末5を識別するための情報をアドレス情報と呼ぶ。ネットワーク8を介した通信では、特に断りのない限り、そのアドレス情報に基づいて通信すべき相手が特定される。
ゲームシステム1では、上述したアドレス情報とは別に、ゲーム店舗6のそれぞれに対して店舗6毎にユニークな店舗IDが設定され、ゲーム機3のそれぞれに対してゲーム機3毎にユニークな筐体IDが設定される。センターサーバ2は、通信相手のゲーム機3から店舗ID及び筐体IDを受け取ることにより、その通信相手のゲーム機3が所属する店舗6及びそのゲーム機3を一意に特定することができる。これに対して、PC4及びユーザ端末5は、サービス提供者の意思に関わりなく設置されるため、筐体IDのようなゲームシステム1で固有的に通用するIDが付されることはない。したがって、センターサーバ2とPC4又はユーザ端末5とが通信する際には、上述したアドレス情報を利用して通信相手が相互に特定される。ただし、一般店舗7に対しては、そのPC4を本発明における遠隔入出力装置として機能させるために必要なプログラムをサービス提供者から一般オペレータに提供することと関連付けて、店舗7毎にユニークな店舗IDを設定してサービス提供者が管理できるようにしてもよい。あるいは、店舗IDに代えて、又は加えて、一般オペレータ毎にユニークなオペレータIDを設定して、サービス提供者又はセンターサーバ2が一般オペレータを一意に特定できるようにしてもよい。
センターサーバ2は、ゲーム機3、PC4、ユーザ端末5のユーザに対して、ネットワーク8を介して各種のサービスを提供する。例えば、センターサーバ2は、ゲーム機3にて実行されるゲームに関連した各種のゲームサービスをユーザに提供する。ゲームサービスとしては、例えば、ゲーム機3からユーザの識別情報を受け取ってそのユーザを識別し、そのユーザがゲームをプレイした結果(進行状況、成績、スコア、獲得アイテム等)に対応したプレイデータをゲーム機3から受け取って保存し、あるいはゲーム機3等のユーザに提供するサービス、ネットワーク8を介して複数のユーザが共通のゲームをプレイする際にユーザ同士をマッチングさせるサービス、ネットワーク8を介してゲーム機3のプログラムあるいはデータを更新するサービス等がある。
また、センターサーバ2は、PC4又はユーザ端末5からネットワーク8を介してアクセスするユーザに対して各種のWebサービスを提供する。Webサービスとしては、例えば、Webサイトを通じてゲームに関する各種の情報をユーザに提供するゲーム情報サービス、ユーザによる情報発信、交換、共有といった交流の場を提供するコミュニティサービスといったサービスがある。
さらに、ゲームシステム1では、ゲーム機3にて提供されるゲームと同一のゲームをPC4又はユーザ端末5上でプレイすることが可能であり、ゲーム機3、PC4及びユーザ端末5のそれぞれのユーザを共通のゲームに参加させてユーザ間で対戦し、あるいは協力してゲームを進めることが可能とされている。センターサーバ2は、こうした異なるクライアント装置間におけるゲームのプレイを実現するためのサービスも提供する。
センターサーバ2には、ユーザに対して、有償サービスを提供する対価としての料金を課金してユーザからその料金を徴収する課金サービス機能も設けられている。課金サービスを実現するため、センターサーバ2上にはユーザ毎の仮想通貨の口座が設けられる。ユーザが現金やクレジットカード等の決済手段を利用して所定の代金を支払うと、その代金に相当する量の仮想通貨がそのユーザの口座に加算される。一方、ユーザが有償サービスを利用する場合には、そのユーザの口座から利用料金に相当する量の仮想通貨が消費される。ゲームのプレイ料金もその利用料金の一種に含まれており、ユーザは自己の口座に保持されている仮想通貨を消費させることによりゲームのプレイ料金を支払うことが可能である。
ゲームシステム1では、ユーザに対して各種のサービスを利用させるために必要な構成要素として、各種のハードウエア及びソフトウエアが用意されている。それらの構成要素の少なくとも一部は、サービス提供者からオペレータに譲渡又は貸与される。一例として、ゲーム機3及びルータ9は、サービス提供者からアーケードオペレータに対して有償又は無償で譲渡される。一方、ゲーム機3で実行されるべきゲーム用のプログラムあるいはデータといったいわゆるコンテンツは、サービス提供者からオペレータに貸与(提供)される。PC4及びユーザ端末5に対しては、アーケードゲーム機3と同一のゲームをユーザにプレイさせるために必要なソフトウエアがサービス提供者から一般店舗7のオペレータ及びユーザにそれぞれ提供される。ゲーム機3等でユーザがゲームをプレイする際には、その対価としてプレイ料金がユーザが課金される。サービス提供者はユーザが支払ったプレイ料金を所定の集計期間毎に集計してゲームシステム1の売上げを計算し、その売上げを所定の分配比率に従ってサービス提供者、アーケードオペレータ及び一般オペレータの間で分配する。その集計機能もセンターサーバ2に実装されている。
次に、図2を参照して、ゲームシステム1のセンターサーバ2、ゲーム機3、PC4及びユーザ端末5に関する制御系の主要部の構成を説明する。まず、センターサーバ2から説明する。センターサーバ2には、制御ユニット20と、記憶ユニット21とが設けられている。センターサーバ2には、キーボード等の入力装置と、モニタ等の出力装置とがさらに設けられるが、それらの図示は省略した。制御ユニット20は、一又は複数のマイクロプロセッサと、そのマイクロプロセッサの動作に必要な内部記憶装置等の周辺装置とを組み合わせたコンピュータユニットである。記憶ユニット21は、制御ユニット20の外部記憶装置として設けられ、センターサーバ2が提供するサービスで参照されるべき各種のデータベースDB1〜DB6を記憶する。
ゲームプログラムデータベースDB1は、ゲーム機3で実行されるべきゲームのプログラム(ゲーム機プログラム)及びデータを、ゲームのタイトル毎に格納したデータベースである。ユーザ管理データベースDB2は、ゲームシステム1のユーザを管理するために必要な情報をユーザ毎にユニークなユーザIDと対応付けて記録したデータベースである。店舗管理データベースDB3は、ゲーム店舗6を管理するために必要な情報を店舗IDと対応付けて格納したデータベースである。例えば、ゲーム店舗6に関するデータには、その店舗6に設置されたゲーム機3の筐体ID、各ゲーム機3が実行するゲームのタイトルを識別するコード、店舗6の所在地、店舗6のオペレータとの間で金銭取引をするための決済口座といった情報が店舗IDと対応付けて格納される。一般店舗7又は一般オペレータ毎にIDが設定される場合には、そのIDに対応付けられた一般店舗又は一般オペレータを管理するために必要な情報も店舗管理データベースDB3に記録される。例えば一般店舗7に関するデータには、店舗7の所在地、店舗7のオペレータとの間で金銭取引をするための決済口座といった情報が店舗IDと対応付けて格納される。
ゲーム管理データベースDB4は、ユーザのプレイデータを、ユーザID又はこれと等価なユーザ毎にユニークなIDと対応付けて格納したデータベースである。プレイデータには、例えば、ユーザのプレイ成績、ゲームの進行状況、ユーザがゲームで獲得したアイテムといったゲームに関連した情報が格納される。ユーザは、プレイデータを参照することにより、過去のゲームの結果を確認し、あるいは前回の続きからゲームを再開することができる。口座管理データベースDB5は、ユーザがセンターサーバ2上に開設した仮想通貨の口座とその仮想通貨の残高とをユーザIDと対応付けて格納したデータベースである。集計管理データベースDB6は、ユーザがゲームのプレイと引き換えに支払ったプレイ料金の集計値と、その集計値に対するサービス提供者、アーケードオペレータ及び一般オペレータに対する分配額といった売上げ配分に関連したデータが格納される。
制御ユニット20の内部には、ゲームサービス管理部22、Webサービス管理部23、仮想ゲーム機制御部(仮想ゲーム機制御手段)24、口座管理部25及び集計処理部26が設けられる。各部22〜26は、いずれもハードウエア資源としての制御ユニット20と所定のソフトウエアとの組み合わせによって実現される論理的装置である。ゲームサービス管理部22は上述したゲームサービスを提供し、Webサービス管理部23は上述したWebサービスを提供する。仮想ゲーム機制御24は、PC4又はユーザ端末5からの要求に従って仮想的なゲーム機をセンターサーバ2上に生成し、PC4又はユーザ端末5を遠隔入出力装置として利用しつつゲーム機3と同一のゲームをユーザにプレイさせ、あるいはセンターサーバ2が提供するサービスをユーザに享受させるサービスを提供する。口座管理部25は、口座管理データベースDB5に記録されている各ユーザの口座に対する仮想通貨の加算及び減算(消費)を管理する。集計処理部26は、ゲーム機3、PC4及びユーザ端末5のそれぞれにてユーザが支払ったゲームのプレイ料金を集計し、得られた売上げに対するサービス提供者、アーケードオペレータ及び一般オペレータのそれぞれの分配額を演算して集計管理データベースDB6に記録する。
次に、ゲーム機3について説明する。ゲーム機3には制御ユニット30が設けられている。制御ユニット30は、マイクロプロセッサと、そのマイクロプロセッサの動作に必要な内部記憶装置等の周辺装置とを組み合わせたコンピュータユニットである。制御ユニット30には、ハードディスク記憶装置等の記憶保持が可能な外部記憶装置が接続されるがその図示は省略した。制御ユニット30に対する外部記憶装置には、制御ユニット30にて実行されるべきゲーム機プログラム及びそのプログラムが参照すべき各種のデータが記録される。それらのゲーム機プログラム及びデータは、ゲームプログラムデータベースDB1から取得され、センターサーバ2からゲーム機3に配信される。ユーザがゲーム機3にてゲームをプレイする場合、ゲーム機3とセンターサーバ2とが協働してユーザが識別され、そのユーザの識別情報(一例としてユーザID)に対応付けてゲーム管理データベースDB4に記録されているプレイデータがセンターサーバ2からゲーム機3に提供され、そのプレイデータがゲーム機3の記憶装置に記録される。
制御ユニット30には、入力装置32、表示装置33、カードリーダ34及びコイン認証装置35が接続される。入力装置32及び表示装置33は公知のゲーム機と同様に構成される。コイン認証装置35は、ユーザがゲームのプレイ料金を現金(コイン)にて支払うことを可能とするために設けられている。ユーザがゲーム機3にコインを投入すると、コイン認証装置35は投入されたコインの真偽を判別し、真正なコインが投入された場合にその投入枚数を示す信号を出力する。カードリーダ34は、ユーザが所持するカード10の情報を読み取ってその情報に対応した信号を制御ユニット30に出力するために設けられる。カード10には、ICチップ、磁気ストライプといった不揮発性記憶媒体(不図示)が設けられており、その媒体にはカード10毎にユニークなID(以下、カードIDと呼ぶことがある。)等が記録されている。カードIDは、ゲーム機3のユーザをセンターサーバ2が識別するための情報として利用される。
ユーザ管理データベースDB2には、カードIDとユーザIDとの対応関係を記述したデータテーブルが記録される。センターサーバ2は、ゲーム機3からカードIDを取得することにより、ゲーム機3のユーザのユーザIDを識別し、そのユーザIDに対応付けられたプレイデータや仮想通貨の口座を特定することができる。ゲーム機3において、ユーザは、ゲームのプレイ料金を現金(コイン)にて支払うか、又は仮想通貨にて支払うかを選択することができる。仮想通貨による支払いが選択された場合には、口座管理部25の処理によってユーザの仮想通貨の口座からゲームのプレイ料金に相当する量の仮想通貨が消費(減算)される。その処理により、口座管理部25は本発明の電子的決済手段として機能する。なお、カードIDは、カード10にバーコード等の形態で記録されていてもよい。あるいは、カード10に代えて、携帯電話等に実装されたICチップ等の記憶媒体にカードIDが記録されてもよい。ただし、カードIDは、電磁的に読み取り可能なデジタルデータとして媒体に記録されるとともに、ユーザが識別可能な文字、数字、記号等としてもカード10等に記録される。
PC4及びユーザ端末5にも、コンピュータユニットとしての制御ユニット40、50とそれらに対する入力装置42、52及び表示装置43、53がそれぞれ設けられている。PC4の制御ユニット40は、不図示の記憶装置に設けられた端末OS及びアプリケーションソフトウエアに従って各種の演算及び動作制御を実行する。ユーザ端末5の制御ユニット50についても同様である。ただし、ユーザ端末5は、インターネット8Aに接続可能な構成を有している限り、その用途に応じて多種多様な構成を備えてよい。
次に、図3を参照して、ゲーム機3のユーザとPC4のユーザとの間で共通のゲームをプレイ可能とするための構成をさらに詳しく説明する。図3に示すように、ゲーム機3には、ハードウエア資源としての制御ユニット30と、ソフトウエアとしてのゲーム機OS300及びゲーム機プログラム301との組み合わせにより、ゲーム制御部31が形成される。一方、PC4には、ハードウエア資源としての制御ユニット40と、ソフトウエアとしての端末OS400及び入出力制御プログラム401との組み合わせにより、入出力制御41が形成される。ゲーム機プログラム301は、サービス提供者からアーケードオペレータに貸与又は譲渡されるソフトウエアであり、入出力制御プログラム401はサービス提供者から一般オペレータに貸与又は譲渡されるソフトウエアである。一方、センターサーバ2の仮想ゲーム機制御部24は、ハードウエア資源としての制御ユニット20と、ソフトウエアとしてのサーバOS(サーバ用オペレーティングシステム)200、仮想動作プログラム201及びゲーム機プログラム301との組み合わせによって形成される。
仮想ゲーム機制御部24の構成要素であるゲーム機プログラム301は、ゲーム機3のゲーム制御部31の構成要素であるゲーム機プログラム301と同一である。仮想動作プログラム201は、ゲーム機OS300に合わせて作成されたアプリケーションソフトウエアであるゲーム機プログラム301を、センターサーバ2の制御ユニット20上で実行させるためのミドルウエアである。つまり、仮想動作プログラム201は、サーバOS200とゲーム機プログラム301との間に介在し、センターサーバ2の制御ユニット20上でゲーム機プログラム301を動作させることにより、センターサーバ2上にゲーム機3のゲーム制御部31と同様の制御部を仮想的に生成し、これを動作させるためのプログラムである。一方、PC4の入出力制御プログラム401は、PC4を、仮想ゲーム機制御部24に対する遠隔入出力装置として動作させるためのアプリケーションソフトウエアである。入出力制御プログラム401をPC4にインストールして実行することにより、PC4は、サーバベース方式のシンクライアント(Thin Client)アーキテクチャにおける遠隔入出力端末として動作する。PC4の画面には、アプリケーションの一つとして入出力制御プログラム401を起動させるためのアイコン、メニューその他の適宜のユーザインターフェースが設けられる。PC4の入力装置42に対する操作情報は、入出力制御部(入出力制御手段)41を介して仮想ゲーム機制御部24に入力される。仮想ゲーム機制御部24からのゲームに関連した出力(映像情報及び音声情報)は、入出力制御部41を介してPC4のハードウエア制御回路(表示制御回路や音声再生回路)に出力される。したがって、PC4と仮想ゲーム機制御部24とを組み合わせることにより、ゲーム機3と同様にゲームのプレイ環境が構築される。
ゲーム機3のゲーム制御部31は、ゲームの実行に関連してセンターサーバ2のゲームサービス管理部22あるいは口座管理部25に適宜アクセスする。例えば、ゲーム機3のユーザがネットワークを介して他のユーザと共通のゲームをプレイすることを希望した場合、ゲーム制御部31はゲームサービス管理部22にマッチングを要求し、マッチング結果をゲームサービス管理部22から受け取る。あるいは、ゲームのプレイ料金を仮想通貨にて支払う場合、ゲーム機3の制御部31は口座管理部25にアクセスしてプレイ料金相当の仮想通貨の消費を要求し、その結果を口座管理部25から受け取る。仮想ゲーム機34も、PC4の入出力制御部41を介して送られるユーザの指示に従ってゲームサービス管理部22あるいは口座管理部25に適宜アクセスし、ゲーム制御部31と同様の処理を実行する。
ユーザ間のマッチングが成立した場合、その後は、ゲーム機3同士がピアツーピア方式で直接通信して操作情報を交換しつつゲームが実行される。仮想ゲーム機制御部24も同様にピアツーピア方式でゲーム機3又は他の仮想ゲーム機制御部24と通信することが可能である。ユーザ端末5も、PC4との入出力制御部41と同様に、ユーザ端末5の制御ユニット50と、端末OS及び入出力制御プログラムとの組み合わせによって入出力制御部が形成されるが、その図示は省略した。なお、仮想ゲーム機制御部24は、ユーザがPC4又はユーザ端末5からゲームのプレイを要求する毎に生成され、ゲームの終了指示に応じて消滅する。つまりN人のユーザがPC4又はユーザ端末5からセンターサーバ2にアクセスしてゲーム機3のゲームと同じゲームのプレイを要求した場合、センターサーバ2にはN個の仮想ゲーム機制御部24が生成される。共通のゲームは、仮想ゲーム機制御部24によって実現される仮想的なゲーム機のユーザと現実のゲーム機3のユーザとの間のみならず、仮想的なゲーム機のユーザ間でもプレイすることが可能である。さらに、ゲーム機3にて、ユーザが単独でプレイするモードが用意されている場合には、PC4又はユーザ端末5のユーザも同様に仮想ゲーム機制御部24による仮想的なゲーム機を利用して単独でゲームをプレイすることができる。
次に、図4を参照して、ゲーム機3のユーザとPC4のユーザとが共通のゲームをプレイする場合の処理手順を説明する。なお、ユーザが、PC4に代えてユーザ端末5にてゲームをプレイする場合も以下と同様の手順でよく、その詳細な説明は省略する。
まず、ゲーム機3の処理から説明する。ユーザがゲーム機3にてゲームを開始する場合、ゲーム機3のゲーム制御部31とセンターサーバ2のゲームサービス管理部22との間でログイン処理、すなわちユーザを識別する処理が実行される(ステップS301、S201)。ログイン処理では、ゲーム制御部31がカードリーダ34を介してユーザのカード10に記録されたカードIDを取得してゲームサービス管理部22に通知する。これを受けたゲームサービス管理部22は、ユーザ管理DB2及びゲーム管理データベースDB4を順次参照してカードIDに対応するプレイデータをゲーム管理DB4から抽出し、そのプレイデータをゲーム制御部31に送信する。
次に、ゲーム制御部31はユーザに対してゲームのプレイ料金を課金する処理を実行する(ステップS302)。ゲーム機3におけるプレイ料金の支払いは、現金又は仮想通貨の選択が可能であり、図4は仮想通貨にて支払われる場合の処理を示している。その場合、ゲーム機3のゲーム制御部31からユーザのカードID又はユーザIDが通知され、センターサーバ2の口座管理部25はそのIDに対応して口座管理データベースDB5に記録されたユーザの口座を特定し、その口座からプレイ料金に相当する量の仮想通貨を消費させる処理を実行する(ステップS211)。ゲーム制御部31は、課金処理に伴って、課金内容を記述した課金レコードを生成して自己の記憶装置に記録する。課金レコードの内容は後述する。プレイ料金の課金が完了すると、ゲーム機3のゲーム制御部31は、ゲームサービス管理部22に対してマッチングを要求し(ステップS303)、これに応答してゲームサービス管理部22はマッチング処理を開始する(ステップS203)。
一方、ユーザがPC4にてゲームのプレイを開始する場合には、まず、ユーザの操作に従って入出力制御プログラム401が起動し、入出力制御部41による処理が開始される。入出力制御部41は、その処理の開始時に、所定の手順に従って識別コードを発行する(ステップS401)。識別コードは、ゲーム機3以外のクライアント装置にてゲームがプレイされる場合において、そのクライアント装置の所属を特定するために発行されるものである。ここでいうクライアント装置の所属は、PC4の場合、そのPC4を設置している一般オペレータ毎、又は一般店舗7毎に区別される。ユーザ端末5の場合には、一般オペレータ以外の所属として一区分に纏められる。一例として、入出力制御プログラム401を一般オペレータ及びユーザに配信する際に、配信先毎にユニークなシリアルコードが設定され、そのシリアルコードが識別コードとして発行される。ここで発行される識別コードは、ゲーム機3に設定される筐体ID、及びゲーム店舗6に設定される店舗IDのいずれとも重複しない値に設定される。また、入出力制御プログラム401の配信先を特定する情報(例えば、一般店舗7の店舗ID又はユーザID)と、識別コードとしてのシリアルコードとの対応関係は、所定のデータテーブルに記録され、集計管理データベースDB6に格納される。
次に、PC4の入出力制御部41は、センターサーバ2の仮想ゲーム機制御部24に対してその起動を要求する(ステップS402)。その要求時には、仮想ゲーム機制御部24に対して識別コードが通知される。仮想ゲーム機制御部24は、その識別コードを、記憶ユニット21に確保された自己の記憶領域に記憶する。仮想ゲーム機制御部24が起動すると、それ以降、ゲームが終了するまで、PC4の入出力制御部41は、仮想ゲーム機制御部24に対する遠隔入出力装置としてPC4を機能させるべく入出力処理を継続的に実行する(ステップS403)。
一方、仮想ゲーム制御部24が動作を開始すると、その仮想ゲーム機制御部24とゲームサービス管理部22との間でログイン処理、すなわちユーザを識別する処理が実行される(ステップS222、S202)。ログイン処理では、仮想ゲーム機制御部24がPC4を介してユーザのカードIDを取得してゲームサービス管理部22に通知し、これを受けたゲームサービス管理部22はユーザ管理DB2及びゲーム管理DB4を参照してカードIDに対応付けられたユーザのプレイデータを抽出し、そのプレイデータを仮想ゲーム機制御部24に提供する。仮想ゲーム機制御部24は自己の記憶領域にそのプレイデータを記憶し、ゲームの実行中に適宜そのプレイデータを参照し、更新する。なお、PC4及びユーザ端末5におけるカードIDの取得は、それらのクライアント装置にカードリーダ34に相当する構成が存在しないため、文字列等を利用した入力方法が採用される。ただし、カードIDに代えてユーザIDが識別情報として用いられてもよい。
ログイン処理の終了後、仮想ゲーム機制御部24はユーザに対してゲームのプレイ料金を課金する処理を実行する(ステップS223)。PC4には、現金による料金の支払いを受け付ける機能が存在しないため、仮想ゲーム機制御部24における課金は、仮想通貨によるプレイ料金の支払いを利用する形態に限定される。したがって、仮想ゲーム機制御部24による課金処理は、口座管理部25の機能を利用するものとなる。つまり、仮想ゲーム機制御部24から口座管理部25に対してPC4のユーザのカードID又はユーザIDが通知され、口座管理部25がそのIDに対応する口座からプレイ料金に相当する量の仮想通貨を消費させる処理(ステップS212)が実行されることにより、プレイ料金の支払いが実現される。仮想ゲーム機制御部24は、課金処理に伴って、課金内容を記述した課金レコードを生成して自己の記憶領域に記録する。
仮想ゲーム機制御部24は、プレイ料金の課金が完了すると、ゲームサービス管理部22に対してマッチングを要求する(ステップS224)。そのマッチング要求は、ゲーム機3のゲーム制御部31からのマッチング要求と同様にゲームサービス管理部22にて処理される。以下では、ゲーム機3からのマッチング要求に応答して開始されたマッチング処理(ステップS203)に、仮想ゲーム機制御部24からのマッチング要求が受け付けられ、ゲーム機3のユーザとPC4のユーザとがマッチングされたものとして説明を続ける。
ゲームサービス管理部22にてマッチングが成立すると、ゲームサービス管理部22からゲーム制御部31及び仮想ゲーム機制御部24のそれぞれにマッチング結果が通知され(ステップS204)、その結果がゲーム制御部31及び仮想ゲーム機制御部24にて取得される(ステップS304、S225)。その後、ゲーム制御部31と仮想ゲーム機制御部24は、ゲーム機3と仮想ゲーム機制御部24との間にてピアツーピア方式で通信するために必要な環境設定を実行する(ステップS305、S226)。環境設定が完了すると、ゲーム制御部31及び仮想ゲーム機制御部24は、ユーザの操作情報を交換しつつ共通のゲームを実行する(ステップS306、S227)。ゲームが終了すると、ゲーム制御部31及び仮想ゲーム機制御部24は、それぞれが記憶しているユーザのプレイデータを今回のゲームのプレイ結果に基づいて更新する(ステップS307、S228)。更新後のプレイデータは、ゲームサービス管理部22に提供される。ゲームサービス管理部22は、ゲーム管理データベースDB4に各ユーザのユーザIDと対応付けて記録されているプレイデータを、ゲーム制御部31及び仮想ゲーム機制御部24から提供されたプレイデータに従って更新する。
以上の処理により、ゲーム機3のユーザとPC4のユーザとが共通のゲームに参加して対戦し、あるいは協力してゲームを進めることができる。同様にして、ユーザ端末5のユーザもゲーム機3のユーザと共通のゲームに参加することができる。さらに、PC4のユーザ同士、ユーザ端末5のユーザ同士、あるいは、PC4のユーザとユーザ端末5のユーザとがゲーム機3のゲームと同一のゲームに参加して一緒にプレイすることもできる。多人数が参加可能なゲームであれば、ゲーム機3、PC4及びユーザ端末5のそれぞれのユーザが共通のゲームに参加して一緒にプレイすることも可能である。
次に、図5及び図6を参照して、ユーザが支払ったプレイ料金を集計してゲームシステム1の売上げを計上し、その売上げをサービス提供者、アーケードオペレータ及び一般オペレータの間で分配するための仕組みを説明する。図5は、課金レコード100と、集計管理データベースDB6に格納される集計データ110、120、130と、それらの集計データ110、120、130に計上された売上げの分配先との関係を示している。課金レコード100は、ゲーム機3又は仮想ゲーム機制御部24によってユーザにプレイ料金が課金される毎(図4のステップS302、又はS223の処理が行われる毎)に作成されるレコードである。課金レコード100には、識別コード、ゲームがプレイされた日時、料金種別、コンテンツコード及び消費額の情報が含まれる。識別コードは、課金されたクライアント装置の所属を識別するための情報である。ゲーム機3にて課金された場合にはそのゲーム機3の筐体ID、あるいは店舗IDが識別コードとして記録される。仮想ゲーム機制御部24によってプレイ料金が課金された場合には、入出力制御部41が発行した識別コードが格納される。その識別コードを参照することにより、課金レコード100がゲーム機3、PC4又はユーザ端末5のいずれを利用したゲームのプレイに対応するレコードかを特定することができる。
センターサーバ2の集計処理部26は、識別コードを参照することにより、課金レコード100が作成されたクライアント装置の所属を判別する。すなわち、筐体ID又は店舗IDが識別コードに格納されている場合には、その課金が実行されたゲーム店舗6を判別することができる。また、仮想ゲーム機制御部24にて課金レコード100が作成された場合には、その仮想ゲーム機制御部24と対をなすPC4又はユーザ端末5に実装された入出力制御プログラム401の配信先毎にユニークな識別コードが課金レコード100に格納されている。したがって、課金レコード100がPC4におけるゲームのプレイに対応して作成された場合には、識別コード(シリアルコード)100と配信先との対応関係を記述したデータテーブルを参照することにより、課金レコード100に対応する一般店舗7又はその店舗7を運営する一般オペレータを特定することができる。また、課金レコード100がユーザ端末5におけるゲームのプレイに対応して作成された場合には、識別コード(シリアルコード)と配信先との対応関係を記述したデータテーブルを参照することにより、その課金レコード100に対応するユーザ端末5のユーザを特定することができる。ただし、ユーザ端末5にて課金レコードが作成された場合には、ユーザ端末5におけるゲームのプレイに対応する課金レコードであることが把握できれば足り、ユーザの特定までは必ずしも要しない。つまり、課金レコード100を処理する場合には、その課金レコード100がゲーム店舗6のゲーム機3、一般店舗7のPC4又はユーザ端末5のいずれにおけるゲームのプレイに対応して作成されたかを判別することができ、ゲーム店舗6又は一般店舗7におけるゲームのプレイに対応して課金レコード100が作成されていた場合には、その課金レコード100が作成された店舗6、7あるいはそれらのオペレータがさらに判別できればよい。
課金レコード100における料金種別の情報は、プレイ料金が現金(通貨のコイン)で支払われたか、又は仮想通貨で支払われたかを識別するための情報である。ゲーム機3にてプレイ料金が課金された場合のみ、ユーザの支払い方法の選択結果に応じて現金による支払いを示す情報か仮想通貨による支払いを示す情報のいずれかが択一的に記録され、仮想ゲーム機制御部24にてプレイ料金が課金された場合には仮想通貨による支払いを示す情報が記録される。コンテンツコードの情報には、ユーザがプレイしたゲームに固有のコンテンツコードが記録される。消費額の情報には、ユーザが消費したプレイ料金の額を示す情報が記録される。
課金レコード100は、ゲーム機3の記憶装置、及び仮想ゲーム機制御部24が使用する記憶ユニット21上の記憶領域に一時的に記録され、その後、適当な時期にセンターサーバ2の集計処理部26に呼び込まれて集計管理データベースDB6に記録される。集計処理部26は、所定の集計期間(例えば一月)が経過する毎に、集計管理データベースDB6に蓄積された課金レコード100を集計して売上げを演算する。この場合、課金レコード100に記録された識別コードが参照されることにより、ゲーム店舗6毎の集計データ110の群と、一般店舗7毎の集計データ120の群と、ユーザ端末5の集計データ130とに分けて課金レコード100が集計される。ただし、集計データ110は、アーケードオペレータ毎に集計されたデータとしてもよいし、集計データ120は一般オペレータ毎に集計されたデータとしてもよい。
上記のように集計データが区分して生成される理由の一つは、売上げの分配方法がクライアント装置の所属によって異なるためである。すなわち、ゲーム店舗6のゲーム機3におけるゲームのプレイで得られた売上げは、そのゲーム店舗6のアーケードオペレータとサービス提供者との間で分配され、一般店舗7のPC4におけるゲームのプレイで得られた売上げは、一般オペレータとサービス提供者との間で分配されるという相違がある。ゲーム店舗6では、売上げの一部が現金としてユーザからアーケードオペレータに直接渡っている一方で、売上げの残部が仮想通貨の消費を介してサービス提供者に渡っている。一般オペレータは、ゲームのプレイ料金を現金でユーザから直接受け取ることはなく、ゲームのプレイ料金の全額が仮想通貨を介してサービス提供者に渡る。このような相違を考慮すれば、ゲーム店舗6におけるゲームのプレイに対応した売上げの配分と、一般店舗7におけるゲームのプレイに対応した売上げの配分とは、互いに区別して処理される必要がある。
また、ユーザ端末5におけるゲームのプレイに対応したプレイ料金は、その全額がサービス提供者に渡る。ユーザ端末5は個人用途に供されており、商業的に運営されるものではない。そのため、ユーザ端末5の運営者に分配すべき売上げは存在しない。そこで、図5の例では、ユーザ端末5におけるゲームのプレイに対応した売上げの一部を、アーケードオペレータに分配している。その理由は次の通りである。ゲーム機3にて提供されるゲームと同一のゲームをPC4あるいはユーザ端末5でもプレイ可能とした場合、ゲームをプレイする場がゲーム店舗6外に拡張し、本来であればゲーム店舗6へ来店したユーザがゲーム店舗6以外の場でゲームをプレイする可能性が生じる。そのため、ユーザ端末5におけるゲームのプレイを通じてサービス提供者が得た売上げの一部をアーケードオペレータに分配してそれらの者の収益向上を図っている。したがって、ユーザ端末5におけるゲームのプレイで得られたプレイ料金は、店舗6、7における売上げとはさらに区別して処理する必要がある。
以上のように、ゲームシステム1では、ゲームがプレイされたクライアント装置の所属に応じて集計データを区別し、集計データの区分に応じて互いに売上げ配分の演算処理も変更する必要がある。そのため、課金レコード100に識別コードを記録し、その識別コードに応じた処理を集計処理部26に実行させている。
図6は、集計処理部26が課金レコード100を処理するために、所定の周期で実行する集計処理を示している。集計処理を開始すると、集計処理部26はまず集計管理データベースDB6に記録された未処理の課金レコード100を選択し(ステップS261)、その課金レコード100に記録された識別コードの情報を取得する(ステップS262)。その後、集計処理部26は、識別コードに基づいて課金レコード100がゲーム店舗6に対応したレコードか否かを判別し(ステップS263)、これが否定された場合には課金レコード100が一般店舗7に対応するレコードか否かを判別する(ステップS264)。そして、集計処理部26は、課金レコード100がゲーム店舗6に対応したものであれば、その課金レコード100を、識別コードに対応するゲーム店舗6の課金実績として集計データ110に記録し(ステップS265)、課金レコード100が一般店舗7に対応したものであれば、その課金レコード100を、識別コードに対応する一般店舗7の課金実績として集計データ120に記録する(ステップS266)。課金レコード100がユーザ端末5に対応したレコードの場合、集計処理部26は、その課金レコード100を、ユーザ端末5による課金実績として集計データ130に記録する(ステップS267)。ステップS265〜S267のいずれかの処理後、集計処理部26は未処理の課金レコード100が残っているか否かを判別し、未処理レコードが残っていればステップS261に戻る。集計処理部26は、未処理レコードがなくなるまでステップS261〜S268の処理を繰り返す。
全レコードを処理して集計データ110、120、130が生成されると、集計処理部26は続いてデータ110、120、130毎に売上げを演算し、アーケードオペレータ、一般オペレータ及びサービス提供者のそれぞれに対する売上げの分配額を順次演算する(ステップS269〜S271)。それらの演算結果は集計管理データベースDB6に記録され、分配額の演算が完了すると、集計処理部26は図6の処理を終える。集計管理データベースDB6に記録された分配額は、オペレータ毎に定められた手順及び時期に従ってサービス提供者とオペレータとの間で取引される。なお、サービス提供者に分配された売上げの一部は、ゲームに関連した著作権者、センターサーバ2の保守管理会社といった事業者等にさらに分配されてもよい。
以上の形態においては、PC4の入出力制御部41が図4のステップS401で発行する識別コードが仕分け情報に相当し、入出力制御部41が図4のステップS401及びS402の処理を実行することにより、本発明の仕分け情報提供手段として機能する。また、ユーザ端末5にも同様の入出力制御部が設けられ、該入出力制御部が図4のステップS401及びS402と同様の処理を実行することにより、本発明の仕分け情報提供手段として機能することができる。アーケードオペレータはゲーム機オペレータに、一般オペレータは貸与業オペレータにそれぞれ相当し、PC4は第1の端末装置に、ユーザ端末5は第2の端末装置にそれぞれ相当する。さらに、センターサーバ2の集計処理部26が図6の処理を実行することにより、本発明の会計処理手段として機能する。
本発明は、上述した形態に限ることなく、種々の変更あるいは変形が可能である。例えば、ゲーム機はゲーム店舗に設置される例に限らず、各種の施設に設置されてよい。ゲーム機は商業用のゲーム機に限らない。家庭用のゲーム機その他の各種のゲーム機と、それ以外のネットワーク端末装置との間に本発明を適用して、それらの装置間で共通のゲームをユーザがプレイできるようにしてもよい。サーバ装置は、ユーザに対してマッチングのサービスを提供するものに限らない。例えば、各ユーザのプレイデータを参照してユーザのランキングを生成し、そのランキングをネットワーク上で公開する場合、個々のゲームはユーザが単独でプレイするように構成されていてもよい。ネットワーク端末装置は、一般店舗にてユーザに貸与される端末装置及びユーザの個人用端末装置としてそれぞれ設けられることを必ずしも要せず、いずれか一方のみを本発明のネットワーク端末装置として機能させてもよい。あるいは、一般店舗は、現実に存在する店舗であることを要せず、ユーザがWeb上に仮想的に開設した店舗であってもよい。
なお、上記の形態では、ネットワーク端末装置として第1の端末装置に相当するPC4と、第2の端末装置に相当するユーザ端末5とが設けられているが、いずれか一方の端末装置のみが設けられる場合には仕分け情報としての識別コードも適宜に変更が可能である。例えば、ユーザ端末5のみがネットワーク端末装置として設けられる場合、仕分け情報はそのユーザ端末5のユーザによるプレイ料金の支払い実績が、ゲーム機3以外のネットワーク端末装置を利用したゲームのプレイに対応するものであることをサーバ装置に認識させることが可能であれば足りる。例えば、入出力制御プログラムにより、筐体IDやゲーム店舗の店舗IDとは重複しない一定のコードを仕分け情報として発行し、仮想ゲーム機制御部24はそのコードを課金レコード100に付加するものとしてもよい。
会計処理は、サービス提供者とオペレータとの間の分配額までを演算するものとしたが、プレイ料金の集計、あるいは区分のみをサーバ装置にて実行し、分配額の演算は、他のコンピュータ装置等を利用して実行するものとしてもよい。つまり、本発明における会計処理は、ユーザによるプレイ料金の支払いに対応して会計上必要となる少なくとも一種類の処理を含んでいれば足りる。
サーバ装置上にて仮想ゲーム機制御手段を実現するための構成も上記の形態に限らず、変形が可能である。例えば、サーバOS上でゲーム機OSを動作させるエミュレータをサーバ装置に実装し、そのゲーム機OS上でゲーム機プログラムをアプリケーションソフトウエアとして動作させることにより、サーバ装置に仮想ゲーム機制御手段を設けてもよい。
上記の形態では、ネットワーク端末装置にてゲームをプレイする際の課金処理に仮想通貨を利用したが、電子的情報によってユーザによるプレイ料金の支払いを実現する限り、電子的決済手段は各種の決済方法を採用することができる。例えば、クレジットカード、デビットカードを利用した決済方法を利用して電子的決済手段を構成してもよい。仮想通貨を利用する場合でも、その残高はサーバ装置上の口座に保持される例に限らず、ユーザが所持するカード、携帯電話のICチップその他の各種の媒体に仮想通貨の残高が保持されてもよい。仮想通貨を利用した決済手段は、いわゆるプリペイド型に限らず、ポストペイド型として構成されてもよい。