以下,適宜図面を参照し,本発明の様々な実施形態を説明する。なお,図面において共通する構成要素には同一の参照符号が付されている。
図1は,本発明の一実施形態におけるゲームシステムのアーキテクチャを概略的に示すブロック図である。図1に示すように,本発明の一実施形態において,オンラインゲーム用サーバ装置10(以下,単に「サーバ装置10」ということがある。)は,インターネット等の通信網20を介して,通信機能を備える複数の端末装置30-1,30-2,・・・,30-N(以下,「端末装置30」と総称することがある。)と通信可能に接続されている。サーバ装置10は,本発明の一実施形態に係るゲームシステムの一部又は全部を実装する装置の一例である。
サーバ装置10は,図示のとおり,CPU11と,メインメモリ12と,ユーザI/F13と,通信I/F14と,外部メモリ15と,ディスクドライブ16とを含み,これらの各構成要素がバス17を介して互いに電気的に接続されている。CPU11は,外部メモリ15からオペレーティングシステムやオンラインゲームの進行を制御する様々なプログラムをメインメモリ12にロードし,ロードしたプログラムに含まれる命令を実行する。メインメモリ12は,CPU11が実行するプログラムを格納するために用いられ,例えば,DRAMによって構成される。
ユーザI/F13は,例えば,オペレータの入力を受け付けるキーボードやマウス等の情報入力装置と,CPU11の演算結果を出力する液晶ディスプレイ等の情報出力装置とを含む。
通信I/F14は,ハードウェア,ファームウェア,又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され,通信網20を介して端末装置30と通信可能に構成される。
外部メモリ15は,例えば磁気ディスクドライブで構成され,端末装置30においてオンラインゲームを実行するためのゲームプログラムやオンラインゲームの進行を制御するための制御用プログラム等の様々なプログラムを記憶する。ゲームプログラムは,例えば,アドビシステムズ社が開発した動画やゲームなどを扱うフォーマットであるAdobe Flash(登録商標)を用いて作成される。Adobe Flashにより作成されたゲームプログラムは,SWF形式のファイルとして外部メモリ15に格納される。ゲームプログラムについては後述する。ディスクドライブ16は,CD-ROM,DVD-ROM,DVD-R等の各種の記憶メディアに格納されたデータを読み込み,又は,これらの記憶メディアにデータを書き込む。例えば,記憶メディアに格納されたゲームプログラム等のデータは,ディスクドライブ16により読み込まれ,外部メモリ15にインストールされる。
端末装置30は,サーバ装置10に記憶され,ウェブブラウザ上で表示されたゲームを実行し,操作可能な任意の情報処理装置であり,例えば,携帯電話機,スマートフォン,ゲーム用コンソール,パーソナルコンピュータ,タッチパッド,及び電子書籍リーダーを含むがこれらには限られない。また,端末装置30は,サーバ装置10から後述する通信I/F34を介してゲームプログラムを受信して,ゲームを実行することも可能である。
このような様々な端末装置30のアーキテクチャについて図2を参照して説明する。図2は,本発明の一実施形態に係る端末装置30のアーキテクチャを概念的に示すブロック図である。端末装置30は,図示のとおり,CPU31と,メインメモリ32と,ユーザI/F33と,通信I/F34と,外部メモリ35と,を含み,これらの各構成要素がバス36を介して互いに電気的に接続されている。
CPU31は,外部メモリ35からオペレーティングシステム等の様々なプログラムをメインメモリ32にロードし,ロードしたプログラムに含まれる命令を実行する。メインメモリ32は,CPU31が実行するプログラムを格納するために用いられ,例えば,DRAMによって構成される。
ユーザI/F33は,例えば,プレイヤ(ユーザ)の入力を受け付けるタッチパネル,キーボード,ボタンやマウス等の情報入力装置と,CPU31の演算結果を出力する液晶ディスプレイ等の情報出力装置とを含む。通信I/F34は,ハードウェア,ファームウェア,又は,TCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され,通信網20を介してサーバ装置10と通信可能に構成される。
外部メモリ35は,例えば磁気ディスクドライブやフラッシュメモリ等により構成され,オペレーティングシステム等の様々なプログラムを記憶する。また,外部メモリ35は,サーバ装置10から通信I/F34を介してゲームプログラムを受信した場合には,この受信したゲームプログラムを記憶する。
このようなアーキテクチャを有する端末装置30は,例えば,HTML形式のファイルを解釈して画面表示するためのブラウザソフトウェアと,当該ブラウザソフトウェアに組み込まれるプラグインソフト(例えば,アドビシステムズ社から提供されているFlash Player)を備えており,HTMLファイルに埋め込まれたSWF形式のファイルをサーバ装置10から取得し,当該SWF形式のファイルをブラウザソフトウェア及びプラグインソフトを用いて実行することで,端末装置30のユーザすなわちゲームのプレイヤにゲーム機能を提供することができる。
次に,図1及び図2を参照して,ゲームプログラムについて説明する。ゲームプログラムは様々な形式でサーバ装置10の外部メモリ15に格納される。例えば,ゲームプログラムは,様々なアプリケーション実行用プラットフォーム上で実行されるアプリケーションソフトウェアとして提供することができる。プレイヤは,端末装置30を通じて,ゲームアプリケーションを実行又は操作することができる。
サーバ装置10の外部メモリ15は,端末装置30で実行又は操作可能な様々なゲームを実行又は操作するためのゲームプログラムを記憶する。このゲームプログラムは,例えば,ActionScript,JavaScript(登録商標)等のスクリプト言語や,Objective-C,Java(登録商標)等のオブジェクト指向プログラミング言語で作成することができる。これらのゲームプログラムは,端末装置30に実装されたプラットフォーム上で実行及び/又は操作される。また,外部メモリ15に記憶されるゲームプログラムは,HTML5等のマークアップ言語で作成されたウェブページをCSS3等のスタイルシートで修飾したものであってもよい。このようなマークアップ言語で作成されたウェブページは,端末装置30に実装されたブラウザソフトウェアにより実行又は操作される。また,サーバ装置10は,外部メモリ15に,任意の数のゲームプログラムを格納することができ,端末装置30によって選択されたゲームを実行及び/又は操作するためのゲームプログラムを,CPU11の制御に従って,通信I/F14を介して任意の数の端末装置30に提供することもできる。端末装置30では,サーバ装置10により送信されたゲームプログラムが,CPU31の制御に従って,通信I/F34を介して外部メモリ35に送信され記憶される。
端末装置30は,このゲームを実行又は操作することにより,アクションゲーム,ロールプレイングゲーム,野球対戦ゲーム,カードゲーム等の様々なゲームをプレイすることができる。ゲームプログラムによって実現されるゲームは,本明細書において明示されたものに限られない。ゲームが実行されると,例えば,プログラムにより指示されたアニメーションや操作用アイコンが端末装置30の画面に表示される。プレイヤは,端末装置30の入力インタフェース(例えば,タッチスクリーンやボタン)を用いてゲームを進行させるための指示を入力することができる。プレイヤから入力された指示は,端末装置30のブラウザやNgCore(商標)等のプラットフォームの機能を通じてサーバ装置10に伝達される。端末装置30は,ゲームで用いられる各種のパラメータを示す情報(ゲームポイントの獲得数や獲得したアイテムに関する情報等)やステータスを示す情報(達成したミッションを特定する情報等)を適宜サーバ装置10に送信する。サーバ装置10は,複数の端末装置30から受信した指示,パラメータを示す情報,ステータスを示す情報等に基づいて,プレイヤの各々についてゲームの進行を管理する。これにより,プレイヤは,サーバ装置10が保持しているゲームの進行に関する情報に基づいて,中断したゲームを中断直前の状態から再開することができる。
次に,図1に示した各構成要素によって実現されるサーバ装置10の機能について,図3を参照して説明する。図3は,本発明の一実施形態に係るサーバ装置10の機能を示すブロック図である。図3に示すように,本実施形態に係るサーバ装置10は,ゲームプログラム記憶部51と,プレイヤ特定情報記憶部52と,保有数量記憶部53と,取引条件情報受付部54と,取引条件情報記憶部55と,取引レート情報生成部56と,取引レート情報提示部57と,取引条件更新要求受付部58と,取引条件更新部59と,保有数量更新部60と,取引終了時刻更新部61と,グループ管理部62と,グループ更新部63と,プレイヤ管理部64とを含む。
ゲームプログラム記憶部51は,上述のように,端末装置30において実行又は操作可能な様々なゲームを実行又は操作するためのゲームプログラムを記憶する。端末装置30のユーザは,ゲームプログラム51に記憶されているゲームプログラムを取得し,取得したゲームプログラムを端末装置30で実行させることにより,当該端末装置30を用いてゲームをプレイすることができる。上述のように,端末装置30においては,様々なゲームが実行される。端末装置30で実行されるゲームにおいては,電子的なカード,アイテム,ゲーム内で利用可能な仮想通貨等の様々なゲーム媒体が用いられる。
ゲーム媒体は,ゲームの進行のためにプレイヤによって用いられる電子データの総称であり,例えば,カード,アイテム,アバタ,及び仮想通貨を含む。本発明の一態様において,ゲーム媒体は,ゲームの進行に応じ,プレイヤによって,ゲーム内で,取得,保有,使用,管理,交換,合成,強化,売却,廃棄,及び/又は贈与等され得るが,ゲーム媒体の利用態様は本明細書で明示されるものには限られない。ゲーム内でカードを売却する場合には,現実の通貨ではなく,ゲーム内で使用される仮想通貨がカードを売却する対価としてプレイヤに支払われる。ゲーム媒体であるカードには,例えば,ゲームの進行に必要なパラメータ(例えば「属性」,「レベル」,「攻撃力」,「防御力」等)が設定される。これらのパラメータはゲームの進行に伴って更新され得る。プレイヤは,更新されたパラメータを有するカードを用いてゲームを進行させることができる。
ゲームプログラム記憶部51に記憶されているゲームのプレイヤは,ゲームの進行に応じて,アイテム等の様々なゲーム媒体を取得し,保有することができる。ゲームで用いられるアイテムには,例えば,プレイヤが操作するキャラクタの攻撃力を増加させる武器アイテム,防御力を増加させる防具アイテム,機動力を増加させる乗り物アイテム,及び「ライフ」や「ヒットポイント」などと呼ばれるパラメータを回復させる回復アイテムが含まれるが,本発明のアイテムは,本明細書で明示的に開示されたものに限定されない。
プレイヤ特定情報記憶部52は,例えば,ゲームのプレイヤごとに,そのプレイヤを特定可能なプレイヤ特定情報を記憶する。「プレイヤ特定情報」は,プレイヤの個性や特徴を表す任意の情報であり,他のプレイヤへの提示によってプレイヤの特定が可能な情報である。ゲームにおいては,プレイヤ特定情報に基づいて各プレイヤを表す表示画像が生成され,その表示画像が他のプレイヤのゲーム画面に表示されることにより,当該プレイヤの個性や特徴が他のプレイヤに対して伝達される。プレイヤを表す表示画像に各プレイヤの個性が表れることにより,ゲームを通じたプレイヤ間の交流が促進される。
このプレイヤ特定情報には,例えば,プレイヤを特徴付けるためにプレイヤによって設定されるプレイヤ名やアバタ等のプレイヤ属性情報が含まれ得る。プレイヤ名は,各プレイヤによって自由に定められるため,複数のプレイヤが同じプレイヤ名を使用することがある。したがって,プレイヤ名は,プレイヤを一意に特定するものではないが,ゲームにおいて交流するプレイヤの数は時間的制約などによって限定されるため,実際には,プレイヤ名は,他のプレイヤを特定するための標識として機能する。したがって,本明細書において,プレイヤ名は,プレイヤを特定可能なプレイヤ特定情報に含まれる。アバタについても,同様の理由により,プレイヤ特定情報に含められる。つまり,ゲームのプレイヤは,個性を表現するために,個性的な外観を持ったアバタを利用してゲームをプレイすることが多く,このようなプレイヤのニーズを支援するために,ゲームやゲーム用のプラットフォームの機能として,アバタを装飾するための様々なアイテムが提供されている。したがって,アバタは,必ずしもプレイヤを一意に特定できないが,実際にはプレイヤを特定するために機能し得る。
プレイヤ特定情報記憶部52は,図4に例示されるプレイヤ特定情報テーブルを生成及び管理することができる。図4のプレイヤ特定情報テーブルは,各プレイヤのプレイヤ識別情報と対応づけて,プレイヤ名やアバタ等の様々なプレイヤ特定情報を管理している。アバタは,例えば,サーバ装置10内にJPEG形式で画像として保存されており,プレイヤ特定情報テーブルにおいては,当該画像の格納位置をURLとして管理することができる。ユーザ名やアバタ等のプレイヤによって任意に設定されるプレイヤ属性情報以外にも,ゲームの進行に応じて生成される様々な情報がプレイヤ特定情報に含まれ得る。例えば,後述のプレイヤ識別情報を知ることによりプレイヤを特定可能なので,プレイヤ識別情報自体もプレイヤ特定情報に含まれうる。
保有数量記憶部53は,ゲーム媒体の種類ごとに,各プレイヤが保有するゲーム媒体の保有数量を,当該ゲーム媒体を保有するプレイヤのプレイヤ識別情報と対応づけて記憶する。図5は,本発明の一実施形態に係るゲームシステムに備えられた保有数量管理テーブルの例を示す。図5においては,各プレイヤが保有するアイテムA,アイテムB,アイテムC・・・の保有数量が各プレイヤのプレイヤ識別情報と対応づけて記憶されている。図5は例示に過ぎず,保有数量管理テーブルには,アイテム以外にカードや仮想通貨等の様々なゲーム媒体の保有数量が記憶され得る。ゲームの進行に応じてプレイヤが新たなアイテムを取得したり消費したりしたときには,そのゲーム内での行為を反映するように,保有数量管理テーブルにおけるアイテムの保有数量が更新される。
「プレイヤ識別情報」は,ゲームのプレイヤを識別する識別コードであり,例えば,10進数6桁の数字で構成される。プレイヤ識別情報のコード体系は,本明細書で明示されるものに限られず,任意のコード体系をプレイヤ識別情報として用いることができる。例えば,プレイヤ識別情報は,アルファベットを含むこともできる。プレイヤ識別情報は,例えば,プレイヤがゲームに初めてログインする際に,そのプレイヤに割り当てられ,再ログイン時にも同じプレイヤ識別情報を使い続けることが通常である。このように,プレイヤ識別情報は,ゲームにおいて各プレイヤを識別するための,各プレイヤに固有の識別情報である。
図5の例においては,プレイヤ識別番号「000001」で識別されるプレイヤ(以下,「プレイヤ1」と称することがある。)は,アイテムAを74個,アイテムCを18個,それぞれ保有している。プレイヤ1はアイテムBを保有していないため,アイテムBの保有数量を示す項目には「0」が設定されている。また,プレイヤ識別番号「000002」で識別されるプレイヤ(以下,「プレイヤ2」と称することがある。)は,アイテムAを12個,アイテムBを2個,アイテムCを14個,それぞれ保有している。プレイヤ識別番号「000003」で識別されるプレイヤ(以下,「プレイヤ3」と称することがある。)は,アイテムAを89個,アイテムCを13個,それぞれ保有している。図5に示した保有数量管理テーブルの構成は一例に過ぎず,様々な変形が可能である。また,ゲーム媒体識別情報記憶部52は,必ずしも保有数量管理テーブルを記憶する必要はなく,当業者に明らかな任意の手法により,各プレイヤが保有するゲーム媒体の保有数量を,各プレイヤのプレイヤ識別情報と対応づけて記憶することができる。プレイヤ1〜プレイヤ3以外のプレイヤも,同様に,様々なゲーム媒体を保有しており,各々のプレイヤが保有するゲーム媒体の保有数量が,当該プレイヤのプレイヤ識別情報と対応づけて記憶される。本明細書においては,図5においてプレイヤ識別番号「000004」で識別されるプレイヤをプレイヤ4と称し,プレイヤ識別番号「000005」で識別されるプレイヤをプレイヤ5と称することがある。
アイテム等のゲーム媒体は,ゲームの進行に応じて随時プレイヤに取得されるものであるから,プレイヤの保有数量の変化を反映するために保有数量管理テーブルもゲームの進行に応じて更新される。例えば,プレイヤがアイテムAを3個取得した場合には,当該プレイヤのアイテムAの保有数量に「3」が加算され,アイテムBを1個消費した場合には,当該プレイヤのアイテムBの保有数量から「1」が減算される。
取引条件情報受付部54は,ゲームのプレイヤが他のプレイヤとゲーム媒体を交換する取引を行う際に,当該取引の条件を定める取引条件情報を当該プレイヤから受け付ける。一のプレイヤから送信される取引条件情報には,例えば,交換により他のプレイヤへ与えるゲーム媒体の種類及びその数量,当該一のプレイヤのプレイヤ識別情報,並びに,交換により他のプレイヤから受け取ることを希望するゲーム媒体の種類及びその数量等を含むことができる。ゲーム媒体としてアイテムを交換する場合には,交換対象となるアイテムの種類には,例えば,ライフル,ショットガン,ナイフ,防弾ベスト,コート,ヘルメット,バイク,ジープ,飛行機,ヘリコプター,回復ドリンク,トラップなどが含まれるが,本発明において交換可能なアイテムの種類はこれらに限定されるものではない。
取引条件情報記憶部55は,取引条件情報受付部54において受け付けられた一又は複数の取引条件情報を取引条件情報管理テーブルに記憶することができる。図6は,本発明の一実施形態に係るゲームシステムに備えられた取引条件情報管理テーブルの例である。例えば,取引条件情報記憶部55は,取引条件情報受付部54において一のプレイヤからの取引条件情報が受け付けられると,当該取引条件情報を格納するためのレコードを取引条件情報管理テーブルに生成する。各レコードには,各取引条件情報に基づく取引を特定するための「取引ID」が付与され,この「取引ID」と,取引条件情報に含まれる各種情報とが対応づけられて取引条件情報管理テーブルに記憶される。本明細書においては,取引条件情報管理テーブルにおいて,特定の取引IDと対応づけて格納されるデータを,当該取引IDに対応づけられた「取引データ」と称することがある。
図示のとおり,取引条件情報管理テーブルには,「ゲーム媒体1の種類」,「ゲーム媒体1の取引数量」,及び「プレイヤ識別情報1」の項目が含まれ得る。本明細書においては,説明の便宜上,「ゲーム媒体1の種類」,「ゲーム媒体1の取引数量」,及び「プレイヤ識別情報1」の一部又は全部を,「第1取引条件情報」と総称することがある。「ゲーム媒体1の種類」は,一のプレイヤが他のプレイヤへ与えるゲーム媒体の種類を示す。「ゲーム媒体1の取引数量」は,一のプレイヤが他のプレイヤへ与える「ゲーム媒体の種類1」で特定されるゲーム媒体の数量を示す。「プレイヤ識別情報1」は,当該一のプレイヤのプレイヤ識別情報を示す。「ゲーム媒体1の種類」,「ゲーム媒体1の取引数量」,及び「プレイヤ識別情報1」は,一のプレイヤから受け付けた取引条件情報に含まれる。または,他の実施形態において,「ゲーム媒体1の種類」,「ゲーム媒体1の取引数量」,及び「プレイヤ識別情報1」は,取引条件情報に基づいてサーバ装置10において生成される。このように,「第1取引条件情報」は,一のプレイヤが他のプレイヤへ与えるゲーム媒体の取引条件を設定する情報である。
また,取引条件情報管理テーブルには,「ゲーム媒体2の種類」,「ゲーム媒体2の取引数量」,及び「プレイヤ識別情報2」の項目が含まれ得る。本明細書においては,説明の便宜上,「ゲーム媒体2の種類」,「ゲーム媒体2の取引数量」,及び「プレイヤ識別情報2」の一部又は全部を,「第2取引条件情報」と総称することがある。「ゲーム媒体2の種類」は,「ゲーム媒体1の種類」で特定されたゲーム媒体と交換されるゲーム媒体の種類を示す。「ゲーム媒体1の取引数量」は,「ゲーム媒体の種類1」で特定されたゲーム媒体と交換に上記一のプレイヤに対して与えられる「ゲーム媒体の種類2」で特定されるゲーム媒体の数量を示す。「プレイヤ識別情報2」は,一のプレイヤへ「ゲーム媒体の種類2」で特定されるゲーム媒体を与える上記他のプレイヤのプレイヤ識別情報を示す。このように,「第2取引条件情報」は,「第1取引条件情報」で特定されるゲーム媒体と交換するために,他のプレイヤから一のプレイヤへ与えられるゲーム媒体の取引条件を設定する情報である。特定の取引IDの「取引データ」には,一方のゲーム媒体の取引条件を示す「第1取引条件情報」と,そのゲーム媒体と交換されるゲーム媒体の取引条件を示す「第2取引条件情報」とが含まれるので,「取引データ」により,これらのゲーム媒体の取引レートが決定される。
後述するように,「ゲーム媒体1の種類」,「ゲーム媒体1の取引数量」,「プレイヤ識別情報1」,「ゲーム媒体2の種類」,「ゲーム媒体2の取引数量」,及び「プレイヤ識別情報2」の各項目は,サーバ装置10がゲームのプレイヤから受け取る取引条件情報又は取引条件更新要求に基づいて随時更新され得る。
取引条件情報管理テーブルには,さらに,各取引IDごとに「取引終了時刻」が設定されている。「取引終了時刻」は,各取引IDで特定されるアイテム同士の交換を終了する時刻を示す。例えば,取引IDが生成された時刻を基準とし,その1時間後の時刻を「取引終了時刻」として設定することができる。一例として,取引IDが4月9日午前7:51に生成されたときには,その1時間後の4月9日午前8:51を「取引終了時刻」として設定することができる。後述するように,アイテム同士の取引レートは,取引終了時刻において取引条件情報管理テーブルの記憶されている取引レコードに基づいて決定される。後述するように,取引終了時刻は,取引条件情報管理テーブルに格納されている他のデータが更新されたときに更新され得る。
取引終了時刻は,後述する取引レート情報に含められて,プレイヤがプレイするゲームに提供され得る。取引終了時刻が取引レート情報に含められる場合には,端末装置30の表示画面に取引終了時刻が表示される。取引IDがプレイヤによる取引条件情報を送信後直ちに生成される場合には,プレイヤは,取引条件情報の送信タイミングを調整することで,取引終了時刻を実質的に自由に設定できる。したがって,この取引終了時刻をゲーム外のメール等の手段で他のプレイヤに伝達することで,当該他のプレイヤが取引条件情報を設定したプレイヤ(つまり,取引終了時刻を指定したプレイヤ)を特定できる可能性がある。そこで,取引条件情報管理テーブルから読み出した取引終了時刻を丸め処理により変更し,変更後の取引終了時刻を取引レート情報に含めることにより,取引終了時刻の表示に基づくプレイヤの特定を防ぐことができる。例えば,図6の取引ID「A000001」には,取引終了時刻として「4月9日 8:51」が設定されているため,「4月9日 8:51」をそのまま表示すると,「4月9日 8:51」を他のプレイヤに伝達することにより,この取引IDに対応する取引に関与するプレイヤを特定可能となるが,この取引終了時刻を例えば「4月9日 9:00」という区切りの良い時刻に変更することにより,出品期間に基づく出品者プレイヤの特定を防止することができる(図12参照)。他の実施形態においては,取引レート情報が取引終了時刻を含まないようにすることで,プレイヤへ取引終了時刻を通知しないようにすることも可能である。
図6に示す例においては,取引ID「A000004」に対応づけて,「ゲーム媒体1の種類」としてアイテムBを示すアイテム種別コード「bbbb」,「ゲーム媒体1の取引数量」として「2」,及び「プレイヤ識別情報1」として「002987」が記憶されている。この取引ID「A000004」の取引レコードは,例えば,プレイヤ識別情報「002987」のプレイヤから,アイテムBを特定するアイテム種別コード「bbbb」,その数量である「2」を特定する情報,及びプレイヤ識別情報「002987」を含む取引条件情報を受信した場合に生成される。この第1取引条件情報は,プレイヤ識別情報「002987」のプレイヤが2個のアイテムBを他のプレイヤへ提供し,他のプレイヤから他のアイテムを受け取ることを希望する場合に,当該プレイヤの端末装置30において生成され,サーバ装置10に送信される。この取引条件情報に,他のプレイヤから受け取ることを希望するゲーム媒体を特定する情報が含まれていない場合には,図6の取引ID「A000004」のレコードに示されているように,「ゲーム媒体2の種類」,「ゲーム媒体2の取引数量」,及び「プレイヤ識別情報2」の項目には情報が格納されない。
また,図6に示す例においては,取引ID「A000005」のレコードに対応づけて,「ゲーム媒体1の種類」としてアイテム種別コード「aaaa」,「ゲーム媒体1の取引数量」として「40」,及び「プレイヤ識別情報1」として「038349」,「ゲーム媒体2の種類」としてアイテム種別コード「ffff」,「ゲーム媒体2の取引数量」として「10」がそれぞれが記憶されている。この取引ID「A000005」の取引レコードは,プレイヤ識別情報「038349」のプレイヤが,40個のアイテムAと交換に10個のアイテムFを入手したい場合に,当該プレイヤからその取引条件に従った取引条件情報を受け付けたときに生成される。取引ID「A000005」のレコードにおいては,「プレイヤ識別情報2」に情報が格納されていないが,他のプレイヤから,取引ID「A000005」に関して,アイテム種別コード「ffff」で特定されるア
イテムFの数量を特定した取引条件情報を受け付けた時点で,当該他のプレイヤのプレイヤ識別情報が「プレイヤ識別情報2」に格納される。
また,図6に示す取引ID「A000001」のレコードは,他のプレイヤから取引条件情報又は取引条件更新要求を受け付けた場合の例を示す。図示のとおり,取引ID「A000001」の取引レコードには,「ゲーム媒体1の種類」としてアイテム種別コード「aaaa」,「ゲーム媒体1の取引数量」として「50」,及び「プレイヤ識別情報1」として「000001」,「ゲーム媒体1の種類」としてアイテム種別コード「bbbb」,「ゲーム媒体2の取引数量」として「1」,「プレイヤ識別情報2」として「000002」がそれぞれ記憶されている。このレコードは,例えば,プレイヤ識別情報「000001」を有するプレイヤ1が,自らが保有する50個のアイテムAと他のプレイヤが保有するアイテムBとの交換を希望し,プレイヤ識別情報「000002」で識別されるプレイヤが,この交換希望に応じて1個のアイテムBを提供する取引条件を提示した場合に生成される。
後述するように,取引条件情報管理テーブルに記憶されているデータの一部は,ゲームのプレイ画面等を通じて他のプレイヤに提示される。例えば,取引ID「A000001」のレコードに含まれている情報の一部がゲームを介して当該ゲームのプレイヤに提供されるので,当該プレイヤは,50個のアイテムAと1個のアイテムBとを交換する交換条件が提示されていることを理解できる。このプレイヤは,例えば,既に提示されている条件よりも有利な条件を特定する取引条件更新要求をサーバ装置10に送信することができ,サーバ装置10は,この取引条件更新要求に基づいて,取引条件情報管理テーブルを更新することができる。取引条件情報管理テーブルの更新については後述する。
取引レート情報生成部56は,例えばプレイヤからの検索要求に応じて,取引条件情報管理テーブルに格納されている取引IDごとに,当該取引IDに対応づけられているゲーム媒体1の取引数量及びゲーム媒体2の取引数量を含む取引レート情報を生成する。生成された取引レート情報は,後述するように,端末装置30でゲームをプレイする際に,そのゲーム画面の一部として端末装置30の表示スクリーンに表示される。プレイヤは,端末装置に表示された取引レート情報を見ることにより,ゲーム媒体がどのような取引レートで交換されているかを知ることができる。
一実施形態において,取引レート情報は,プレイヤ特定情報を含まないように生成される。図6の取引条件情報管理テーブルには,取引を希望しているプレイヤのプレイヤ識別情報が格納されているが,一実施形態において,取引レート情報生成部56は,このプレイヤ識別情報や,このプレイヤ識別情報からプレイヤ特定情報テーブル等を参照して特定されるプレイヤ識別情報以外のプレイヤ特定情報(例えば,プレイヤ名やアバタ)を含まないように,取引レート情報を生成する。このように,取引レート情報は,交換対象となっているアイテムの交換レートを特定する情報を含むが,その交換レートを設定したプレイヤを特定可能な情報は含まない。例えば,取引ID「A000001」の取引レコードに基づいて取引レート情報が生成される場合には,当該取引レート情報に基づいて,50個のアイテムAと1個のアイテムBを交換する交換レートを特定することができるが,アイテムAに関する交換条件を設定したプレイヤ識別情報「000001」のプレイヤを特定するプレイヤ特定情報及びアイテムBに関する交換条件を設定したプレイヤ識別情報「000002」のプレイヤを特定するプレイヤ特定情報は,当該取引レート情報に含まれない。
一実施形態において,取引レート情報生成部56は,取引条件情報管理テーブルから読み出したデータの内容を変更し,その変更後のデータを取引レート情報に含めることができる。例えば,ゲーム媒体の取引数量は,各プレイヤによって自由に入力が可能であるため,取引数量として不自然な情報を設定し,その設定した情報をゲーム外のメール等の手段で他のプレイヤに伝達することで,情報を入力したプレイヤが他のプレイヤから特定される可能性がある。例えば,所定のアイテムについて,「131」といった不自然な取引数量を入力し,その「131」という数字を他のプレイヤへ伝達することにより,当該他のプレイヤは,その「131」という取引数量を識別標識として,当該情報を入力したプレイヤをそれ以外のプレイヤから識別できる可能性がある。そこで,本発明の一実施形態において,取引レート情報生成部56は,プレイヤによって自由に入力された入力情報を丸め処理により変更し,当該変更後の情報を用いて取引レート情報を生成する。これにより,プレイヤが自由に入力可能な情報が符牒として機能することを防止できる。例えば,取引数量に「131」と設定されている場合には,50の丸め幅で丸め処理を行い「150」へ変更することができ,100の丸め幅で丸め処理を行い「100」へ変更することもできる。「50」の丸め幅で丸め処理が行われた場合には,取引レート情報を端末装置30において表示する際に,取引数量が「131」ではなく「150」と表示されるので,取引数量が符牒として機能することを防止できる。
取引レート情報提示部56は,プレイヤからの要求に基づいて,取引レート情報生成部56によって生成された取引レート情報を,当該プレイヤに対して提供する。各プレイヤは,ゲーム実行中に,そのゲームを実行している端末装置30の操作を通じ,取引レート情報の表示要求をサーバ装置10に送信することができる。取引レート情報提示部56は,表示要求を送信した端末装置30で実行されているゲームに対して取引レート情報を送信することができる。当該端末装置30は,当該取引レート情報に基づいて生成される取引レート表示画面を,例えばゲームの表示画面の一部として表示できる。
プレイヤは,取引条件更新要求を端末装置30からサーバ装置10に送信することにより,取引レート表示画面に示されている取引レートよりも有利な取引条件を提示することができる。この取引条件更新要求は,サーバ装置10の取引条件更新要求受付部58によって受け付けられる。取引条件更新部59は,取引条件更新要求が取引終了時刻より前に取引条件更新要求受付部58によって受け付けられた場合に,取引条件更新要求で特定された取引IDに対応づけられているゲーム媒体の取引数量と,取引条件更新要求に含まれている当該ゲーム媒体の取引数量とを比較する。取引条件更新部59は,この比較の結果,取引情報更新要求に含まれる取引数量が,当該取引情報更新要求の受付時点において取引条件情報管理テーブルに格納されている取引数量よりも大きい場合に,当該取引条件更新要求に含まれる取引数量及び当該取引情報更新要求を送信したプレイヤのプレイヤ識別情報を含むように,取引条件情報管理テーブルの「ゲーム媒体1の取引数量」及び「プレイヤ識別情報1」の項目を更新する。
例えば,図6の取引ID「A000001」においては,50個のアイテムAと1個のアイテムBとを交換する交換レートが設定されている。プレイヤ識別情報「000003」で特定されるプレイヤは,例えば,取引ID「A000001」,アイテムAを特定するアイテム種別情報「aaaa」及びアイテムAの取引数量「60個」を含む取引条件更新要求を生成し,当該取引条件更新要求をサーバ装置10に送信することができる。この取引条件更新要求は,取引条件更新要求受付部58によって受け付けられる。取引条件更新部59は,取引条件更新要求が取引終了時刻より前に受け付けられた場合に,取引条件更新要求に含まれている取引ID「A000001」に対応づけられているアイテムAの取引数量(図6の例では「50」)と,当該取引条件更新要求に含まれているアイテムAの取引数量である「60」とを比較する。この場合,取引条件更新要求に含まれているアイテムAの取引数量の方が大きいため,この取引情報更新要求に含まれる取引数量「60」及びこの取引情報更新要求を送信したプレイヤのプレイヤ識別情報「000003」が,取引条件情報管理テーブルの取引ID「A000001」に対応する「ゲーム媒体1の取引数量」及び「プレイヤ識別情報1」の項目にそれぞれ格納される。
以上のように,取引条件情報管理テーブルに登録されている取引条件は,取引条件更新要求に基づいて更新され得る。図7は,更新後の取引条件情報管理テーブルの例を示す。図7の例においては,取引ID「A000001」の「ゲーム媒体1の取引数量」に,当初登録されていた「50」に代えて「60」が格納されており,また,「プレイヤ識別情報1」に,当初登録されていた「000001」に代えて「000003」が登録されている。このように,取引条件情報管理テーブルに登録されている第1取引条件情報及び/又は第2取引条件情報は,取引条件更新要求によってより良い取引レートが提示された場合に更新され得る。
取引終了時刻更新部61は,取引条件更新要求に基づいて,取引IDごとに設定された取引終了時刻を更新することができる。例えば,取引終了時刻更新部61は,特定の取引IDに関する取引条件更新要求が取引条件更新要求受付部58に受け付けられた時刻に基づいて,当該取引IDについて取引条件情報管理テーブルに設定されていた取引終了時刻を更新することができる。例えば,図6に示す例においては,取引ID「A000001」に対応づけて,「4月9日8:51」が取引終了時刻として設定されている。この取引終了時刻よりも前に取引ID「A000001」に関する取引条件更新要求を受け付けた場合には,当初設定されていた取引終了時刻を例えば1時間延長して,「4月9日9:51」が新たな取引終了時刻として設定される。
図7に示す更新後の取引条件情報管理テーブルにおいては,取引ID「A000001」に対応する「取引終了時刻」に更新後の「4月9日9:51」が格納されている。
取引条件情報管理テーブルに取引IDごとに設定されている取引レートは,当該取引IDに対応づけられた取引終了時刻において確定される。取引終了時刻が更新された場合には,当該更新後の取引終了時刻において取引レートが確定される。具体的には,「プレイヤ識別情報1」に記憶されているプレイヤ識別情報で特定されるプレイヤ(以下,説明の便宜上「プレイヤ1」という。)と「プレイヤ識別情報2」に記憶されているプレイヤ識別情報で特定されるプレイヤ(以下,説明の便宜上「プレイヤ2」という。)との間で,プレイヤ1が「ゲーム媒体1の種類」に記憶されているゲーム媒体(以下,説明の便宜上「第1ゲーム媒体」という。)を「ゲーム媒体1の取引数量」に記憶されている数量だけプレイヤ2に対して与え,その代わりに,プレイヤ2が「ゲーム媒体2の種類」に記憶されているゲーム媒体(以下,説明の便宜上「第2ゲーム媒体」という。)を「ゲーム媒体2の取引数量」に記憶されている数量だけプレイヤ1に対して与えるという取引条件が決定される。つまり,プレイヤ1とプレイヤ2との間で,ゲーム媒体1の取引数量とゲーム媒体2の取引数量とにより特定される取引レートで,第1ゲーム媒体と第2ゲーム媒体とを交換する取引がゲーム内で成立する。
例えば,図7の例においては,取引ID「A000001」に対応する取引終了時刻である4月9日の9:51が到来すると,プレイヤ識別情報「000003」のプレイヤ2がプレイヤ識別情報「000003」のプレイヤ3に対して,アイテムAを60個与え,それと交換にアイテムBを1個受け取るという交換が成立する。
保有数量更新部60は,特定の取引IDで特定されるレコードについて取引終了時刻が到来すると,当該取引終了時刻において取引条件情報管理テーブルに格納されている第1取引条件情報と前記第2取引条件情報とに基づいて,保有数量管理テーブルに記憶されている第1ゲーム媒体及び第2ゲーム媒体の保有数量を更新する。例えば,図7に示す取引ID「A000001」で特定される取引レコードについて,保有数量更新部60は,保有数量管理テーブルにおいて第3プレイヤのプレイヤ識別情報に対応づけられているアイテムA(第1ゲーム媒体)の保有数量である「89」から,取引終了時刻に第1取引条件情報に含まれている取引数量である「60」を減算するとともに,保有数量管理テーブルにおいて当該第3プレイヤのプレイヤ識別情報に対応づけられているアイテムB(第2ゲーム媒体)の保有数量に当該取引終了時刻に第2取引条件情報に含まれている取引数量である「1」を加算する。また,保有数量管理テーブルにおいて第2プレイヤのプレイヤ識別情報に対応づけられているアイテムBの保有数量から取引終了時刻に第2取引条件情報に含まれている取引数量である「1」を減算するとともに,保有数量管理テーブルにおいて第2プレイヤのプレイヤ識別情報に対応づけられているアイテムAの保有数量に取引終了時刻に第1取引条件情報に含まれている取引数量である「60」を加算する。
このようにして更新された保有数量管理テーブルを図8に示す。図8に示されているように,プレイヤ2が保有するアイテムAの数量は交換前の「12」から「72」に60だけ増加する一方,プレイヤ2が保有するアイテムBの数量は交換前の「2」から「1」に1だけ減少している。一方,プレイヤ3が保有するアイテムAの数量は交換前の「89」から「29」に60だけ減少する一方,プレイヤ3が保有するアイテムBの数量は交換前の「0」から「1」に1だけ増加している。このように,プレイヤ2とプレイヤ3との間で,プレイヤ2がアイテムBを1個与え,その代わりにプレイヤ3がプレイヤ2にアイテムAを60個与えるという交換が成立した場合に,保有数量管理テーブルには,その交換を反映した保有数が記憶される。
次に,図9を参照して,上記のように構成されたゲームシステムにおいてゲーム媒体を交換する処理をさらに説明する。図9は,本発明の一実施形態に係るゲームシステムを用いて,ゲーム内で「回復ドリンク」と称されるアイテムと「地上用ビークル」と称されるアイテムを交換する処理の一例を示すフローチャートである。図9の処理において例示されている「回復ドリンク」及び「地上用ビークル」はゲーム媒体の例示に過ぎず,本発明においては,これら以外の任意のゲーム媒体が,図9に示す処理方法に従って取引され得る。また,図9においては,プレイヤ1,プレイヤ2,プレイヤ3,及びプレイヤ4の間でゲーム媒体を交換する例が示されるが,任意の数のプレイヤが,図9に示す処理方法に従ってゲーム媒体の取引を行うことができる。
まず,工程902において,カード媒体の交換処理が開始される。工程902においては,プレイヤ1が,自らの端末装置30を操作して,サーバ装置10から所望のゲームプログラムを取得し,当該ゲームプログラムを端末装置30に実行させる。次に,工程904において,プレイヤ1は,ゲームプログラムの指示に従って,当該ゲームにおいて保有しているアイテムを端末装置30の画面に表示する。例えば,ゲームプログラムを実行することにより端末装置30に表示されるゲームのメイン画面には,「アイテム」,「お宝」,「所持品」などと表示されたリンクや操作ボタンが表示されており,かかるリンクや操作ボタンを操作することにより,プレイヤが保有するアイテムの一部又は全部を表示させることができる。
図10は,本発明の一実施形態に係るゲームシステムおけるアイテムの表示例を示す。例えば,プレイヤ1がゲーム画面において「所持品」という表示を含むアイコンを操作することにより,図10に示す表示画面100が,プレイヤ1の携帯端末30の表示スクリーンに表示される。図5の保有数量管理テーブルに示されているように,プレイヤ1は,アイテムAを74個保有しているので,このアイテムAに相当する「回復ドリンク」というアイテムを表す表示画像101がプレイヤ1の携帯端末30に表示される。表示画像101には,「回復ドリンク」というアイテムの名称,当該アイテムを示す画像,当該アイテムに関して設定されたパラメータ(回復力30Pt),当該アイテムの保有数(74個),及び当該アイテムの取引条件の設定画面へのリンク102が含まれる。表示画像101には,図10に例示された情報以外にも様々な情報が含まれうる。
プレイヤ1がリンク102を選択すると,工程906に進んで,図11に例示するアイテムの取引条件を設定する取引条件設定画面110がプレイヤ1の端末装置30に表示される。図示のとおり,取引条件設定画面110は,プレイヤ1が他のプレイヤに提供する「回復ドリンク」の取引条件を設定するための設定用画像111を含む。この設定用画像111には,プレイヤ1が他のプレイヤに与える「回復ドリンク」の提供数(取引数量)を設定するためのプルダウンボックス112と,「回復ドリンク」を他のプレイヤに与える代わりに当該他のプレイヤから受け取ることを希望するアイテムの種類を指定するためのプルダウンボックス113と,そのアイテムの数量を設定するための入力ボックス114と,入力した取引条件を決定するための決定ボタン115とを含む。プルダウンボックス112は,他のプレイヤに提供するアイテムの数量を表す有限個の選択肢(例えば,「10」,「20」,「200」という10から200までの10刻みの選択肢)を提供するので,プレイヤ1は,当該選択肢から自らが保有しているアイテムAの数量以下の値,例えば「50」を選択する。プルダウンボックス113は,アイテムの種類を表す複数の選択肢を提供する。例えば,プルダウンボックス113は,「ショットガン」,「防弾用ベスト」,「地上用ビークル」,「ヘリコプター」などの選択肢を提供するので,プレイヤ1は,その選択肢の中から「地上用ビークル」を選択する。プレイヤ1は,「地上用ビークル」の個数として,入力ボックス114に例えば「1」を入力する。このようにして一通り取引条件の入力を終えると,プレイヤ1は,決定ボタン115を選択して,サーバ装置10に通知する取引条件情報を決定する。
入力ボックス114から入力される取引数量については,上述のように,符牒としての利用を防止するために,取引レート情報生成部56によって変更される可能性がある。この場合,図11には表示されていないが,取引数量が変更されることの確認を求める画面を表示し,その表示画面に含まれる操作ボタンがプレイヤに選択された場合にのみ,決定ボタン115をアクティブにすることにより,取引数量が変更(丸め処理)されることについてプレイヤの事前了承を得ることができる。
一実施形態において,入力ボックス114は,プルダウンボックス112と同様に,有限個の選択肢(例えば,「10」,「20」,「200」という10から200までの10刻みの選択肢)を提示するように構成されてもよい。このように,プレイヤへの自由入力を許容せず,取引数量を予め設定された有限個の選択肢から選択させることにより,上述した取引数量について丸め処理を行う場合と同様に,取引数量を符牒として使用することを防止できる。
決定ボタン115が選択されると,プレイヤ1が提供する「回復ドリンク」を特定するアイテム種別コード「aaaa」と,「回復ドリンク」の数量「50」と,プレイヤ1が受け取りを希望する「地上用ビークル」を特定するゲーム媒体の種別コード「bbbb」と,「地上用ビークル」の数量「1」と,プレイヤ1のプレイヤ識別情報「000001」とを含む取引条件情報がサーバ装置10に送信される。サーバ装置10は,受信した取引条件情報を取引条件情報受付部54を介して受け付ける。続いて,取引条件情報記憶部55において,当該取引条件情報に基づく取引を特定するための取引IDとして「A000001」が生成され,この取引ID「A000001」と当該取引条件情報に含まれている各種情報とが対応づけられて取引条件情報管理テーブルに記憶される。具体的には,「回復ドリンク」を特定するアイテム種別コード「aaaa」,「回復ドリンク」の数量「50」,及びプレイヤ1のプレイヤ識別情報「000001」が第1取引条件情報として取引ID「A000001」に対応づけて記憶される。また,プレイヤ1が受け取りを希望する「地上用ビークル」を特定するゲーム媒体の種別コード「bbbb」及びその数量「1」が第2取引条件情報の一部として取引ID「A000001」に対応づけて記憶される。取引ID「A000001」が生成された直後には,他のプレイヤから交換の申し込みがなされていないので,プレイヤ識別情報2には情報が格納されていない。
続いて,工程908に進んで,プレイヤ2により取引条件情報の設定が行われる。プレイヤ2は,端末装置30においてプレイヤ1と同じ又は同種のゲームをプレイしているときに,当該ゲームが提供する検索機能を用いて,取引条件情報管理テーブルから,「回復ドリンク」が交換対象となっている取引レコードの情報を取得することができる。例えば,取引レート情報生成部56において,プレイヤからの検索要求に基づいて,「回復ドリンク」が交換対象となっている取引ID「A000001」が特定され,この取引ID「A000001」に対応づけられている「回復ドリンク」の取引数量及び「地上用ビークル」の取引数量を含む取引レート情報が生成される。生成された取引レート情報は,検索要求を送信した端末装置30で実行されているゲームに提供される。取引レート情報には,取引ID「A000001」が含まれ得
る。当該端末装置30は,当該取引レート情報に基づいた取引レート情報の表示画面(取引レート画面)を生成し,生成された取引レート画面をゲーム画面の一部として表示スクリーンに表示する。
図12は,本発明の一実施形態に係るゲームシステムおける取引レート情報を表す取引レート画面120の表示例である。図示のとおり,取引レート画面120には,取引ID「A000001」に対応づけられている「回復ドリンク」を表す画像とその取引数量を示す「50個」の文字,及び,「地上用ビークル」を表す画像とその取引数量を示す「1個」の文字を含む交換対象アイテム表示画像121が含まれている。この取引レート画面120に接したプレイヤ2は,「回復ドリンク」50個と「地上用ビークル」1個とを交換する取引レートが設定されていることを理解できる。一方,上述したように,取引レート情報には,プレイヤを特定可能なプレイヤ特定情報が含まれていないため,取引レート画面120を見ても,当該取引レートに関する取引条件情報を設定したプレイヤを特定することができない。図6に示す取引条件情報管理テーブルにおいては,取引ID「A000002」及び取引ID「A000005」についても,「回復ドリンク」を交換対象とする取引条件情報が記憶されている。従って,プレイヤ2の端末装置30で実行されているゲームには,取引ID「A000002」及び取引ID「A000005」に基づいてそれぞれ生成された取引レート情報も提供されている。プレイヤ2は,表示画面120下部にある「次へ」と表示された操作ボタン123を選択することにより,取引ID「A000002」及び/又は取引ID「A000005」に基づいて生成された取引レート情報を表す取引レート画面を端末装置30に表示することができる。
表示画面120において,「回復ドリンク」を表す画像の下方には「交換申し込み」と表された操作ボタン122が表示されている。プレイヤ2によって,操作ボタン122が選択されると,プレイヤ2の端末装置30の表示画面が,図13に示す取引レートを設定するための取引レート設定画面130に遷移する。図13の取引レート設定画面130には,入力ボックス131が含まれる。プレイヤ2は,「回復ドリンク」50個を入手するために,交換相手に対して提供する「地上用ビークル」の取引数量を入力ボックス131に入力することができる。プレイヤ2によって,入力ボックス131に例えば「1」が入力され,続いて決定ボタン132が選択されると,取引ID「A000001」,「地上用ビークル」を特定するゲーム媒体の種別コード「bbbb」と,「地上用ビークル」の数量「1」と,プレイヤ2のプレイヤ識別情報「000002」とを含む取引条件情報がサーバ装置10に送信される。
このプレイヤ2からの取引条件情報は,取引条件情報受付部54により受け付けられる。続いて,取引条件情報記憶部55において,受信された取引条件情報に含まれる取引ID「A000001」に対応づけて,当該取引条件情報に含まれる「地上用ビークル」の数量「1」及びプレイヤ2のプレイヤ識別情報「000002」が第2取引条件情報として記憶される。
続いて,工程910において,「地上用ビークル」の入手を希望しているプレイヤ3により取引条件情報の設定が行われる。プレイヤ3は,プレイヤ2に関して既に説明した方法と同様の方法で,取引条件情報管理テーブルにおいて「地上用ビークル」が交換対象となっているレコードの検索を行う。この検索結果に基づいて,上記と同様にして,取引レート情報が生成され,生成された取引レート情報が,プレイヤ3がプレイするゲームに提示される。プレイヤ3の端末装置30は,当該取引レート情報に基づいた取引レート情報の表示画面(取引レート画面)を生成し,生成し取引レート画面をゲーム画面の一部として表示スクリーンに表示する。プレイヤ3の端末装置30に表示される取引レート画面は,図12に示した画面と同様であるが,「交換申し込み」のボタンが「回復ドリンク」の画像の下ではなく,「地上用ビークル」の画像の下に表示される。
続いて,プレイヤ3により「交換申し込み」が選択されると,取引レート設定画面が端末装置30に表示される。この取引レート設定画面は,図13に示した取引レート設定画面130とほぼ同様であるが,交換相手のプレイヤに提供するアイテムの取引数量を入力するための入力ボックスが「地上用ビークル」の画像の下ではなく「回復ドリンク」の画像の下に表示される点で異なる。プレイヤ3は,当該取引レート設定画面の「回復用ドリンク」の下に表示されている入力ボックスに,「回復用ドリンク」の数量として「60」を入力する。その後,プレイヤ3によって,決定ボタン132と同様の決定ボタンが選択されると,取引ID「A000001」,「回復ドリンク」を特定するゲーム媒体の種別コード「aaaa」と,プレイヤ3によって設定された「回復ドリンク」の数量「60」と,プレイヤ3のプレイヤ識別情報「000003」とを含む取引条件更新要求がサーバ装置10に送信される。
このプレイヤ3からの取引条件更新要求は,取引条件更新要求受付部58によって受け付けられる。当該取引条件更新要求が受け付けられた時刻が,取引ID「A000001」について設定されている取引終了時刻(4月9日9:00)よりも前であった場合には,取引条件更新部59によって,取引条件情報管理テーブルにおいて取引ID「A000001」に対応づけて保持されている「回復ドリンク」の数量「50」と,取引条件更新要求に含まれている「回復ドリンク」の数量「60」との大小が比較される。この場合,取引条件更新要求に含まれている「回復ドリンク」の数量が,取引条件情報管理テーブルに保持されている数量よりも大きいので,取引ID「A000001」に対応づけられている第1取引条件情報が,取引条件更新要求に含まれている「回復ドリンク」の数量「60」及びプレイヤ3のプレイヤ識別情報「000003」を含むように,取引条件情報管理テーブルが更新される。具体的には,図7に示すように,取引ID「A000001」に対応づけられた「ゲーム媒体1の取引数量」に「50」の代わりに「60」が格納され,「プレイヤ識別情報1」に「000001」に代えて「000003」が格納される。仮に,プレイヤ3が,「回復ドリンク」の取引数量として「40」を設定した場合には,このプレイヤ3によって設定された「回復ドリンク」の取引数量は,取引条件情報管理テーブルに格納されている「回復ドリンク」の取引数量よりも小さいので,取引条件情報管理テーブルは更新されない。
次に,工程912において,取引ID「A000001」に対応する第1取引条件情報の更新がなされたことに基づいて,取引終了時刻更新部61により,取引ID「A000001」に対応づけられている取引終了時刻が,例えば1時間延長される。
次に,取引ID「A000001」について設定されている取引終了時刻が到来すると,工程914において,保有数量更新部60により,取引条件情報管理テーブルにおいて取引ID「A000001」と対応づけて格納されている第1取引条件情報及び前記第2取引条件情報とに基づいて,保有数量管理テーブルに記憶されているゲーム媒体の保有数量が更新される。プレイヤ3からの取引条件更新要求の受け付け後に,取引ID「A000001」の取引レコードが図7に示すように更新された状態で取引終了時刻が到来したとすると,図7に示す取引ID「A000001」に対応する取引レコードの第1取引条件情報(つまり,「ゲーム媒体1の種類」,「ゲーム媒体1の取引数量」,及び「プレイヤ識別情報1」に格納されている情報)と,第2取引条件情報(つまり,「ゲーム媒体2の種類」,「ゲーム媒体2の取引数量」,及び「プレイヤ識別情報2」に格納されている情報)とで特定される交換レートが確定し,この第1取引条件情報と第2取引条件情報とに基づいて,保有数量管理テーブルに記憶されているゲーム媒体の保有数量が更新される。図7の「プレイヤ識別情報1」にはプレイヤ3を示す「000003」が格納されており,「プレイヤ識別情報2」にはプレイヤ2を示す「000002」が格納されているため,図5の保有数量管理テーブルにおいて,「000003」及び「000002」にそれぞれ対応づけられている「アイテムAの保有数量」と「アイテムBの保有数量」が,図7の「ゲーム媒体1の取引数量」及び「ゲーム媒体2の取引数量」に基づいて更新される。つまり,保有数量管理テーブルにおいて「000003」に対応づけられているアイテムA(ここ
では「回復ドリンク」)の保有数量「89」から「ゲーム媒体1の取引数量」に格納されている「60」が減算されるとともに,アイテムB(ここでは「地上用ビークル」)の保有数量「0」に「ゲーム媒体2の取引数量」に格納されている「1」が加算される。これと並行して,保有数量管理テーブルにおいて「000002」に対応づけられているアイテムA(ここでは「回復ドリンク」)の保有数量「12」に「ゲーム媒体1の取引数量」に格納されている「60」が加算されるとともに,アイテムB(ここでは「地上用ビークル」)の保有数量「2」から「ゲーム媒体2の取引数量」に格納されている「1」が減算される。
このようにして,アイテムA及びアイテムBの保有数量を更新した結果,保有数量管理テーブルは,図8に示すように更新される。この更新後,プレイヤ2は,72個の「回復ドリンク」及び1個の「地上用ビークル」を用いてゲームをプレイすることができ,プレイヤ3は,29個の「回復ドリンク」及び1個の「地上用ビークル」を用いてゲームをプレイすることができる。プレイヤ1については,「地上用ビークル」を入手するための取引が成立しなかったため,「地上用ビークル」の保有数は「0」のままである。以上のようにして,プレイヤの各々が設定した取引条件に基づいて,プレイヤ間でのゲーム媒体の交換が行われる。
図9には図示されていないが,取引終了時刻より前であれば,プレイヤ3以外からサーバ装置10に対して送信された取引条件更新要求に基づいて,取引条件情報管理テーブルがさらに更新され得る。例えば,プレイヤ4が「回復ドリンク」の入手を希望する場合には,ゲームが提供する検索機能を用いて,取引条件情報管理テーブルに記憶されている「回復ドリンク」が交換対象となっているレコードを検索する。この検索結果に基づいて,プレイヤ3に関して既に説明した方法と同様の方法で,「回復ドリンク」の取引数量と「地上用ビークル」の取引数量とを含む取引レート情報が生成され,生成された取引レート情報がプレイヤ4のゲームに提示される。
図14は,このようにしてゲームに提示された取引レート情報を表す取引レート画面の表示例であり,図15は,図14の取引レート画面から遷移可能な取引レートを設定する取引レート設定画面の表示例である。図14には,一例として,プレイヤ3からの取引条件更新要求により,取引条件情報管理テーブルが図7に示す状態に更新された場合における取引レート画面140を示す。図7の取引条件情報管理テーブルにおいては,「回復ドリンク」の取引数量を示す「ゲーム媒体1の取引数量」が「60」に更新されているため,交換対象アイテム表示画像141において「回復ドリンク」の個数が60個と表示されている。プレイヤ4が,図14に例示した取引レート画面140において,操作ボタン142を選択すると,端末装置30の表示画面は図15に示した取引レート設定画面150に遷移する。プレイヤ4は,その取引レート設定画面150において,「地上用ビークル」の取引数量を入力ボックス151に入力する。
その後,決定ボタン152が操作されると,プレイヤ4によって設定された「地上用ビークル」の取引数量とプレイヤ4のプレイヤ識別情報とを含む取引条件更新要求がサーバ装置10に送信される。サーバ装置10は,プレイヤ3から受け付けた取引条件更新要求と同様に,プレイヤ4からの取引条件更新要求を処理し,取引終了時刻の更新処理や保有数量管理テーブルの更新を行うことができる。なお,図14及び図15は,プレイヤ4が「地上用ビークル」と交換に「回復ドリンク」を受け取るために,「回復ドリンク」を交換対象とする取引データの検索を行った場合における取引レート画面及び取引レート設定画面の表示例を示すが,プレイヤ4は,プレイヤ3と同様に「地上用ビークル」を受け取るために「地上用ビークル」を交換対象とする取引データの検索を行うこともできる。この場合には,プレイヤ4に対して,プレイヤ3と同様に,「地上用ビークル」の提供を受け付けるための表示画面が提供される。
以上述べたように,本発明の一実施形態においては,プレイヤ間でゲーム媒体を交換する際の取引レートを他のプレイヤに提示する際に,その取引レートの元となる取引条件を設定したプレイヤを特定可能なプレイヤ特定情報を含まないように,取引レート情報が生成される。これにより,ゲーム内においてゲーム媒体を交換する一連のプロセスにおいて,各プレイヤは,取引条件を設定したプレイヤを特定することができない。したがって,プレイヤ同士がゲーム外でゲーム媒体の交換の対価として現実の通貨の授受を約束していたとしても,そのゲーム外で取引した相手をゲーム内で特定することができない。このように,ゲーム媒体の交換相手の特定を妨げる機能をゲームシステムに実装することにより,現実世界における取引の履行を妨げることができる。よって,本発明の一実施形態に係るゲームシステムによって,リアルマネートレードを技術的な側面から抑制できる。
本発明の他の実施形態において,サーバ装置10は,グループ管理部62をさらに備えることができる。グループ管理部62は,ゲームのプレイヤを,複数のグループにランダムに所属させる。グループ管理部62は,例えば,図16に示すグループ管理テーブルにより,プレイヤが所属するグループを管理する。図16は,ゲームのプレイヤが所属するグループを管理するグループ管理テーブルの一例である。図16(a)においては,プレイヤ1,プレイヤ2,及びプレイヤ3がグループ識別情報「01」で表される第1グループに所属しており,プレイヤ4及びプレイヤ5がグループ識別情報「02」で表される第2グループに所属している。
グループ更新部63は,プレイヤのグループ分けを,定期的に又は不定期に,所定のアルゴリズムに基づいて変更する。図16(b)は,グループ分け変更後のグループ管理テーブルの一例である。図16(b)においては,プレイヤ1及びプレイヤ2がグループ識別情報「01」で表される第1グループに所属しており,プレイヤ3,プレイヤ4,及びプレイヤ5がグループ識別情報「02」で表される第2グループに所属している。
本実施形態においては,取引レート情報提示部56は,所定の取引IDに対応づけられている取引データについて生成された取引レート情報を提示する際に,当該取引IDに対応づけられているプレイヤ識別情報1及びプレイヤ識別情報2で特定されるプレイヤと同じグループに属するプレイヤのゲームに対してのみ,当該取引レート情報を提示する。例えば,図16(a)に示すグループ分けがなされているときには,図6に示すプレイヤ1とプレイヤ2との間の取引条件を格納している取引ID「A000001」の取引データを表す取引レート情報は,プレイヤ1及びプレイヤ2と同じグループに属するプレイヤ3のゲームに対しては提示されるが,別のグループに属するプレイヤ4及びプレイヤ5のゲームには提示されない。
また,グループ管理部62は,ゲームのプレイヤが所属する複数のグループの各々を互いに関連付けて記憶する。例えば、ゲーム管理部62は,図17に例示するグループ分類テーブルにより,複数のグループを関連付ける。このグループ同士の関連付けは,例えば,取引データを入手,参照,又は閲覧することができるプレイヤを制限するためになされる。例えば,図17(a)に示す例においては,グループ1が,グループ1,グループ5,及びグループ21のそれぞれと関連づけられている。この場合,グループ1に所属するプレイヤ同士の取引に関する取引データは,関連づけられているグループ1,グループ5,及びグループ21に所属するプレイヤによって取得・参照され得るが,それ以外のグループに所属するプレイヤからは取得・参照されない。本明細書においては,特定のグループに所属するプレイヤから出品された出品データの取得・参照が許可されるグループを参照可能グループと称することがある。取引レート情報提示部56は,所定の取引IDに対応づけられている取引データについて生成された取引レート情報を提示する際に,当該取引IDに対応づけられているプレイヤ識別情報1及びプレイヤ識別情報2で特定されるプレイヤが所属するグループに対して参照可能グループとして関連づけられているグループに所属するプレイヤに対してのみ,当該取引IDの取引データを示す取引レート情報を提示する。例えば,プレイヤ1とプレイヤ2との間の取引条件を格納している取引ID「A000001」の取引データを表す取引レート情報は,プレイヤ1及びプレイヤ2がグループ1に所属している場合には,グループ1,グループ5,及びグループ21のいずれかのグループに所属しているプレイヤのゲームに対してのみ提示される。
グループ更新部63は,グループの対応付けを,定期的に又は不定期に,所定のアルゴリズムに基づいて変更することができる。図17(b)は,対応付けを変更した後のグループ分類テーブルの一例である。図17(b)に示す例においては,参照可能グループ1は変更されていないが,参照可能グループ2及び参照グループ3が変更される場合の例を示す。このように,参照可能グループは,部分的に変更されてもよい。図17から明らかなように,本発明の一態様においては,特定のグループと同一のグループを参照可能グループとして固定することもできる。つまり,グループ1の参照可能グループとして,グループ1を固定的に設定することができる。このように,特定のグループと同一のグループを参照可能グループとして固定することにより,同一グループに所属するプレイヤに対しては常に取引レート情報を提示できるようになる。図16に示した例は,図17に示した実施例において,特定のグループと同一のグループを参照可能グループとして設定した場合の例と考えることができる。
このように,現実世界においてゲーム媒体の交換に伴う現実の通貨の授受を約束したとしても,その取引の当事者がゲームにおいて同じグループに所属していない限り,ゲーム内においてゲーム媒体の交換を行うことはできない。このグループ分けは,所定のアルゴリズムに従ってランダムに行われるため,現実世界における取引相手がゲームにおいて同じグループに所属しているか否かはプレイヤには判断できない。このように,プレイヤをランダムにグループ分けし,同じグループに所属するプレイヤ間でのみゲーム媒体の交換を行わせることで,現実世界における取引の履行を阻害し,リアルマネートレードを抑制することができる。
また,プレイヤのグループ分けを変更することにより,仮にプレイヤの所属グループがプレイヤに特定されたとしても,グループ分け変更後には,再び所属グループを不明とすることができる。また、参照可能なグループを変更することにより、変更後には、参照可能なグループを不明とすることができる。これにより,リアルマネートレードをより効果的に抑制することができる。
本発明の他の実施形態において,サーバ装置10は,プレイヤ管理部64をさらに備えることができる。プレイヤ管理部64は,例えば,図18に示すプレイヤ管理テーブルにより,ゲームのプレイヤのプレイヤ識別情報を,他のプレイヤのプレイヤ識別情報と動的に対応づけて記憶することができる。例えば,各プレイヤは,他のプレイヤを「仲間」として登録することができる。「仲間」として登録されたプレイヤ同士は,例えば,ゲームの進行を協力して行うことができる。「仲間」は,一方のプレイヤから他方のプレイヤに申し込みを行い,その申し込みが承認されることで設定される。また,いずれかのプレイヤが「仲間」設定を解除する処理を行うことにより,「仲間」の設定は解除され得る。
本実施形態において,取引レート情報提示部56は,所定の取引IDに対応づけられている取引データについて生成された取引レート情報を提示する際に,当該取引IDに対応づけられているプレイヤ識別情報1及びプレイヤ識別情報2で特定されるプレイヤに対して「仲間」として登録されているプレイヤのゲームに対してのみ,当該取引レート情報を提示する。例えば,図6に示すプレイヤ1とプレイヤ2との間の取引条件を格納している取引ID「A000001」の取引データを表す取引レート情報は,プレイヤ1及びプレイヤ2に対して「仲間」として設定されているプレイヤ3のゲームに対しては提示されるが,「仲間」として設定されていないプレイヤ4及びプレイヤ5のゲームには提示されない。
これにより,現実世界において,ゲーム媒体の交換に伴う現実の通貨の授受を約束したとしても,その取引の当事者がゲームにおいて「仲間」として登録されていない限り,ゲーム内においてゲーム媒体の交換を行うことはできない。設定可能な「仲間」の数には上限が設けられることが多く,ゲーム媒体の取引のみを目的として「仲間」の設定を行うことは発生しにくいと考えられる。このように,「仲間」として登録されたプレイヤ間でのみゲーム媒体の交換を行わせることで,現実世界における取引の履行を阻害し,リアルマネートレードを抑制することができる。
本明細書で説明される処理及び手順は,実施形態中で明示的に説明されたもの以外にも,ソフトウェア,ハードウェアまたはこれらの任意の組み合わせによって実現される。より具体的には,本明細書で説明される処理及び手順は,集積回路,揮発性メモリ,不揮発性メモリ,磁気ディスク,光ストレージ等の媒体に,当該処理に相当するロジックを実装することによって実現される。また,本明細書で説明される処理及び手順は,それらの処理・手順をコンピュータプログラムとして実装し,各種のコンピュータに実行させることが可能である。
本明細書中で説明される処理及び手順が単一の装置,ソフトウェア,コンポーネント,モジュールによって実行される旨が説明されたとしても,そのような処理または手順は複数の装置,複数のソフトウェア,複数のコンポーネント,及び/又は複数のモジュールによって実行され得る。また,本明細書中で説明されるデータ,テーブル,又はデータベースが単一のメモリに格納される旨説明されたとしても,そのようなデータ,テーブル,又はデータベースは,単一の装置に備えられた複数のメモリまたは複数の装置に分散して配置された複数のメモリに分散して格納され得る。さらに,本明細書において説明されるソフトウェアおよびハードウェアの要素は,それらをより少ない構成要素に統合して,またはより多い構成要素に分解することによって実現することも可能である。