以下,適宜図面を参照し,本発明の様々な実施形態を説明する。なお,図面において共通する構成要素には同一の参照符号が付されている。
図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は,例えば磁気ディスクドライブで構成され,オンラインゲームの進行を制御するための制御用プログラム等の様々なプログラムが記憶される。また,外部メモリ15には,ゲームにおいて用いられる各種データも記憶され得る。外部メモリ15には,例えば,後述するプレイヤキャラクタ情報管理テーブル,保有ゲーム媒体管理テーブル,ゲーム媒体情報管理テーブル,対戦相手キャラクタ情報管理テーブル,及び特定属性情報管理テーブルが設けられ,これらのテーブルに,ゲームの進行に応じて様々なデータが格納される。なお,これらのテーブルは,サーバ装置30と通信可能に接続される,サーバ装置10とは物理的に別体のデータベースサーバに格納されてもよい。ディスクドライブ16は,CD-ROM,DVD-ROM,DVD-R等の各種の記憶メディアに格納されたデータを読み込み,又は,これらの記憶メディアにデータを書き込む。例えば,記憶メディアに格納されたゲームアプリケーションやゲームデータ等のデータは,ディスクドライブ16により読み込まれ,外部メモリ15にインストールされる。
一実施形態において,サーバ装置10は,階層構造の複数のウェブページから成るウェブサイトを管理するウェブサーバであり,端末装置30に対してゲームサービスを提供することができる。端末装置30は,ウェブページを表示するためのHTMLデータをサーバ装置10から取得し,取得したHTMLデータを解析して,当該ウェブページを端末装置30のユーザ(ゲームのプレイヤ)に提示することができる。このようなウェブページを介して提供されるゲームは,ブラウザゲームと称されることがある。外部メモリ15には,このウェブページを表示するためのHTMLデータも記憶される。HTMLデータは,HTML等のマークアップ言語で記述されたHTML文書から成り,このHTML文書には,様々な画像が関連付けられる。また,HTML文書には,ActionScriptやJavaScript(登録商標)等のスクリプト言語等で記述されたプログラムが埋め込まれ得る。
外部メモリ15には,端末装置30においてブラウザソフトウェア以外の実行環境上で実行されるゲームアプリケーションも格納され得る。このゲームアプリケーションには,ゲームを実行するためのゲームプログラムや当該ゲームプログラム実行時に参照される画像データ等の各種データを含めることができる。ゲームプログラムは,例えば,Objective-C,Java(登録商標)等のオブジェクト指向プログラミング言語で作成される。作成されたゲームプログラムは,各種データとともに,アプリケーションソフトウェアとして外部メモリ15に記憶される。外部メモリ15に記憶されたアプリケーションソフトウェアは,配信要求に応じて,端末装置30に配信される。サーバ装置10から配信されたアプリケーションソフトウェアは,端末装置30において,CPU31の制御に従って通信I/F34を介して受信され,受信されたゲームプログラムが外部メモリ35に送信され記憶される。このアプリケーションソフトウェアは,プレイヤによる端末装置30の操作に応じて起動され,端末装置30に実装されたNgCore(商標)やAndroid(商標)等のプラットフォーム上で実行される。サーバ装置10は,端末装置30で実行されているゲームアプリケーションに対してゲームの進行に必要な各種データを提供する。また,サーバ装置10は,端末装置30から送信される各種データをプレイヤごとに記憶することで,プレイヤごとにゲームの進行を管理することができる。
このように,サーバ装置10は,ゲームサービスを提供するウェブサイトを管理し,当該ウェブサイトを構成するウェブページを端末装置30からの要求に応じて配信することにより,ゲームを進行させることができる。また,サーバ装置10は,このようなブラウザゲームとは代替的に,又は,ブラウザゲームに加えて,端末装置30で実行されるゲームアプリケーションとの通信に基づいてゲームを進行させることができる。サーバ装置10は,いずれの態様でゲームを提供するにしても,各プレイヤを識別する識別情報(後述する)ごとにゲームの進行に必要なデータを記憶することができる。詳細な説明は省略するが,サーバ装置10は,ゲームの開始時のプレイヤの認証処理やゲームの進行に応じて発生する課金処理を行う機能を有することもできる。サーバ装置10によって提供されるゲームには,アクションゲーム,ロールプレイングゲーム,野球対戦ゲーム,カードゲーム等の任意のゲームが含まれる。サーバ装置10のウェブサイト又はゲームアプリケーションによって実現されるゲームの種類は,本明細書において明示されたものに限られない。
端末装置30は,一実施形態において,サーバ装置10から取得したゲーム用ウェブサイトのウェブページをウェブブラウザ上で表示することができる任意の情報処理装置であり,例えば,携帯電話機,スマートフォン,ゲーム用コンソール,パーソナルコンピュータ,タッチパッド,及び電子書籍リーダーを含むがこれらには限られない。他の実施形態においては,端末装置30は,ゲームアプリケーションを実行するためのアプリケーション実行環境を実装した任意の情報処理装置である。
端末装置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形式のファイル(HTMLデータ)を解釈して画面表示するためのブラウザソフトウェアを備えており,このブラウザソフトウェアの機能によりサーバ装置10から取得したHTMLデータを解釈して,受信したHTMLデータに対応するウェブページを表示することができる。また,端末装置30は,ブラウザソフトウェアに組み込まれるプラグインソフト(例えば,アドビシステムズ社から提供されているFlash Player)を備えており,HTMLデータに埋め込まれたSWF形式のファイルをサーバ装置10から取得し,当該SWF形式のファイルをブラウザソフトウェア及びプラグインソフトを用いて実行することができる。
端末装置30においてゲームが実行されると,例えば,プログラムにより指示されたアニメーションや操作用アイコンが端末装置30の画面に表示される。プレイヤは,端末装置30の入力インタフェース(例えば,タッチスクリーンやボタン)を用いてゲームを進行させるための指示を入力することができる。プレイヤから入力された指示は,端末装置30のブラウザやNgCore(商標)等のプラットフォームの機能を通じてサーバ装置10に伝達される。
次に,図1に示した各構成要素によって実現されるサーバ装置10の機能について,図3を参照して説明する。図3は,本発明の一実施形態に係るサーバ装置10の機能を示すブロック図である。図3に示すように,本実施形態に係るサーバ装置10は,ゲーム進行制御部51と,プレイヤキャラクタ情報記憶部52と,ゲーム媒体保有情報記憶部53と,ゲーム媒体情報記憶部54と,対戦相手キャラクタ情報記憶部55と,特定属性情報記憶部56と,特定属性情報更新部57と,実効値算出部58と,選択部59と,対戦実行部60と,を備える。
ゲーム進行制御部51は,ゲームの進行に必要な様々なデータを端末装置30との間で送受信し,かかるデータをプレイヤごとに管理することでプレイヤごとにゲームの進行を制御することができる。例えば,ゲーム進行制御部51は,ゲームサービスを提供するウェブサイトを構成するウェブページを,端末装置30からの要求に応じて,端末装置30に順次表示させる。表示されたウェブページ上のハイパーリンクがプレイヤによって選択されると,ゲーム進行制御部51は,当該ハイパーリンクに対応する新たなHTMLデータを端末装置30に送信する。端末装置30では,この新たなHTMLデータに基づいたウェブページが表示される。このように,ゲーム進行制御部51によって,サーバ装置10に記憶されているウェブページがプレイヤの操作に応じて端末装置30に順次提供されるので,プレイヤは,ゲーム進行制御部51の機能により,自らの操作に基づいてゲームを進行させることができる。
端末装置30でゲームアプリケーションが実行される場合には,ゲーム進行制御部51は,ゲームで用いられる各種データを当該ゲームアプリケーションに対して送信することができる。ゲーム進行制御部51は,例えば,端末装置30のゲームアプリケーションから所定のミッションをクリアしたことを示す制御信号を受け付けたときに,クリアされたミッションの次のミッションに関連する各種パラメータを当該ゲームアプリケーションに対して提供する。ゲームアプリケーションは,サーバ装置10から提供されたデータをロードしてゲームを進行させることができる。
端末装置30は,ゲームで用いられる各種のパラメータ値を示す情報(ゲームポイントの獲得数や獲得したアイテムに関する情報等)やステータスを示す情報(達成したミッションを特定する情報等)等のゲームの進行に関連する情報を,ブラウザソフトウェアやゲームアプリケーションの機能を利用して,適宜サーバ装置10に送信することができる。ゲーム進行制御部51は,複数の端末装置30から受信したゲームの進行に関連する情報をプレイヤごとに記憶することで,プレイヤごとにゲームの進行を制御することができる。これにより,プレイヤが自らのIDを用いてゲームサーバ10にログインしたときに,サーバ装置10が当該プレイヤに対応付けて保持しているゲームの進行に関する情報に基づいて,当該プレイヤの進行に応じたステージ(例えば,中断直前のステージ)からゲームが再開される。後述するように,ゲームの進行に必要な情報は,ゲーム進行制御部51以外にも,サーバ装置10の様々な機能によって管理され得る。
サーバ装置10によって提供されるゲームの一例は,所定のプレイヤからの入力に応じて制御されるプレイヤキャラクタ(「PC」と称することもある。)を,当該プレイヤの操作によらずに制御される対戦相手キャラクタ(「OC」と称することもある。)と対戦させる対戦ゲームである。本発明の実施形態における対戦相手キャラクタには,プレイヤからの入力によらずにコンピュータによって制御されるノンプレイヤキャラクタ(「NPC」と称することもある。),及び,他のプレイヤのプレイヤキャラクタを含む。プレイヤキャラクタと対戦相手キャラクタとの対戦を通じてゲームが進行するロールプレイイングゲームは,サーバ装置10によって提供されるゲームの典型例である。また,プレイヤ同士が,保有する電子的なカードを用いて対戦するいわゆるカードゲームも,サーバ装置10から提供されるゲームに含まれる。本発明の一実施形態において,プレイヤキャラクタは,プレイヤからの入力に応じて選択された武器や防具等のゲーム媒体を装備又は使用して対戦相手キャラクタと対戦することができる。本明細書において,「ゲーム媒体」は,サーバ装置10が提供するゲームに登場するプレイヤキャラクタが,対戦相手キャラクタと対戦するときに装備又は使用し得る電子データの総称であり,例えば,武器アイテム,防具アイテム,魔法アイテム等のプレイヤキャラクタが装備又は使用可能な各種のゲーム内アイテムを含む。例えば,プレイヤキャラクタは,プレイヤの操作に応じて選択された武器アイテムを装備又は使用して,対戦相手キャラクタと対戦することができる。ゲーム媒体は,プレイヤによって,ゲーム内で,取得,保有,使用,合成,強化,売却,廃棄,及び/又は贈与等され得る。
プレイヤキャラクタ情報記憶部52は,各プレイヤを識別するプレイヤ識別情報と対応付けて,当該プレイヤが使用するプレイヤキャラクタを特徴付けるプレイヤキャラクタパラメータ値を記憶する。プレイヤキャラクタ情報記憶部52は,例えば,外部メモリ15に設けられるプレイヤキャラクタ情報管理テーブルにより実現される。図4は,本発明の一実施形態に係るゲームシステムに備えられるプレイヤキャラクタ情報管理テーブルの一例を示す。図示のとおり,プレイヤキャラクタ情報管理テーブルにおいては,各プレイヤを識別するプレイヤ識別情報に対応付けて,当該プレイヤがゲーム内で使用するプレイヤキャラクタの様々なプレイヤキャラクタパラメータ値が記憶されている。図4に示す例においては,プレイヤキャラクタパラメータ値として,「レベル」,「体力」,「知力」,及び「ライフ」の各パラメータ値が設定されている。このプレイヤキャラクタパラメータ値は,後述する対戦処理において適宜参照される。図4に示したプレイヤキャラクタパラメータ値はあくまで例示であり,ゲームの性質に応じて,様々な種類のプレイヤキャラクタパラメータ値が記憶され得る。例えば,サーバ装置10によって提供されるゲームが野球対戦ゲームである場合には,野球選手を特徴付ける「打力」,「走力」,「守備力」等のパラメータ値がプレイヤキャラクタパラメータ値として設定され得る。
「プレイヤ識別情報」は,ゲームのプレイヤを識別する識別コードであり,例えば,アルファベットと10進数6桁の数字を組み合わせて構成される。プレイヤ識別情報のコード体系は,本明細書で明示されるものに限られず,任意のコード体系をプレイヤ識別情報として用いることができる。プレイヤ識別情報は,例えば,プレイヤがゲームに初めてログインする際にそのプレイヤに割り当てられる。一旦,プレイヤに割り当てられたプレイヤ識別情報は,無効化されない限り,同一のプレイヤによって継続的に使用される。このように,プレイヤ識別情報は,ゲームにおいて各プレイヤを識別するための,各プレイヤに固有の識別情報である。
図4に示すように,プレイヤキャラクタ情報管理テーブルには,各プレイヤのプレイヤ識別情報と対応付けて,当該プレイヤキャラクタが対戦相手キャラクタとの対戦において使用することのできるゲーム媒体の数の上限値を記憶することができる。図4において「使用アイテム数の上限」と題されている列が,この使用可能なゲーム媒体数の上限値に相当する。この上限値は,ゲーム性等を考慮して,ゲームのプロバイダや開発者によって任意に定められる。
また,後述するように,各ゲーム媒体には「消費アイテムポイント」というパラメータ値が設定されている。ゲーム媒体の「消費アイテムポイント」は,当該ゲーム媒体を対戦相手キャラクタとの対戦において使用するときに消費されるアイテムポイント数である。図4に示すように,プレイヤキャラクタ情報管理テーブルには,各プレイヤのプレイヤ識別情報と対応付けて,当該プレイヤキャラクタが対戦相手キャラクタとの対戦において消費することのできるアイテムポイント数の上限値を記憶することができる。図4において「最大アイテムポイント」と題されている列が,この消費可能なアイテムポイント数の上限値に相当する。一実施形態においては,プレイヤキャラクタが使用する一または複数のゲーム媒体に設定された「消費アイテムポイント」の合計が,当該プレイヤキャラクタの「最大アイテムポイント」以下となるように,プレイヤキャラクタが使用するゲーム媒体が選択可能とされる。
また,図4に示すように,プレイヤキャラクタ情報管理テーブルには,各プレイヤのプレイヤ識別情報と対応付けて,当該プレイヤ(又はプレイヤキャラクタ)が所属するグループを識別するグループ識別情報を記憶することができる。一部のロールプレイイングゲームにおいては,複数のプレイヤキャラクタが一つのグループを構成し,そのグループ単位で対戦相手キャラクタ等と対戦することができる。例えば,ゲームが提供するプレイヤ間のメッセージ送受信機能を利用して所定のプレイヤが他のプレイヤを特定のグループに招待し,当該他のプレイヤがこの招待を応諾することにより,当該他のプレイヤを新たにグループの構成メンバとすることができる。図4に示す例では,プレイヤ識別情報「P000001」,「P000002」,及び「P000003」で特定されるプレイヤが同じグループ(グループ1)に所属している。
ゲーム媒体保有情報記憶部53は,各プレイヤを識別するプレイヤ識別情報と対応付けて,当該プレイヤ(又は当該プレイヤのプレイヤキャラクタ)がゲーム内で保有する一又は複数のゲーム媒体を識別するゲーム媒体識別情報を記憶することができる。ゲーム媒体保有情報記憶部53は,例えば,外部メモリ15に設けられる保有ゲーム媒体管理テーブルにより実現される。図5は,本発明の一実施形態に係るゲームシステムに備えられる保有ゲーム媒体管理テーブルの一例を示す。図示のとおり,保有ゲーム媒体管理テーブルにおいては,各プレイヤを識別するプレイヤ識別情報に対応付けて,当該プレイヤが保有する6つのゲームアイテムを識別するゲーム媒体識別情報が記憶されている。各プレイヤが保有できるゲーム媒体の数には上限が設けられても良い。また,全てのプレイヤが,上限に相当する数のゲーム媒体を保有しているとは限らない。
「ゲーム媒体識別情報」は,プレイヤが保有するゲーム媒体を識別する識別コードであり,例えば,アルファベットと10進数6桁の数字との組み合わせで構成される。ゲーム媒体識別情報のコード体系は,本明細書で明示されるものに限られず,任意のコード体系をゲーム媒体識別情報として用いることができる。例えば,プレイヤがゲームをプレイして武器アイテム等のゲーム媒体を取得したときに,当該ゲーム媒体を取得したプレイヤのプレイヤ識別情報と対応づけて,ゲーム媒体識別情報テーブルに記憶される。ゲーム媒体保有情報記憶部53は,プレイヤが武器アイテム等のゲーム媒体を新たに取得したときに,その新たに取得したゲーム媒体を識別するゲーム媒体識別情報を,当該ゲーム媒体を取得したプレイヤのプレイヤ識別情報と対応づけてゲーム媒体識別情報テーブルに記憶させる。
所定のプレイヤのプレイヤキャラクタは,対戦相手キャラクタと対戦する際に,保有ゲーム媒体管理テーブルにおいて,当該プレイヤのプレイヤ識別情報と対応付けて記憶されているゲーム媒体の一部又は全部を装備又は使用することができる。ビデオゲームにおいては,他のキャラクタとの対戦においてゲームキャラクタが使用するゲーム媒体を選択することを,当該ゲーム媒体を「装備」するということがある。つまり,プレイヤは,プレイヤキャラクタにゲーム媒体を「装備」させて,他のキャラクタと対戦することができる。本明細書において,プレイヤキャラクタに「使用させるゲーム媒体」やプレイヤキャラクタに「ゲーム媒体を使用させる」などと記述する場合には,文脈上他に解すべき場合を除き,プレイヤキャラクタにゲーム媒体を「装備」させることを指し,当該ゲーム媒体が対戦相手キャラクタへの攻撃用に実際に使用されたか否かは問題としない。例えば,プレイヤキャラクタは,「剣A」と「魔法A」を装備していても,プレイヤの操作に応じて「剣A」のみを用いて攻撃を行うことができる。保有ゲーム媒体管理テーブルには,各保有アイテムが装備されているか否かを示すフラグを記憶することもできる。
ゲーム媒体情報記憶部54は,各ゲーム媒体を識別するゲーム媒体識別情報と対応付けて,当該ゲーム媒体に設定されている一又は複数のゲーム媒体属性を示すゲーム媒体属性識別情報及び当該ゲーム媒体を特徴付けるゲーム媒体パラメータを記憶することができる。ゲーム媒体情報記憶部54は,例えば,外部メモリ15に設けられるゲーム媒体情報管理テーブルにより実現される。図6は,本発明の一実施形態に係るゲームシステムに備えられるゲーム媒体情報管理テーブルの一例を示す。図示のとおり,ゲーム媒体情報管理テーブルにおいては,各ゲーム媒体を識別するゲーム媒体識別情報と対応付けて,当該ゲーム媒体に設定されているゲーム媒体属性が記憶される。図6に示す例においては,ゲーム媒体属性として,武器アイテムについては「剣」,「槍」,及び「杖」の3種類の属性,防具アイテムについては「鎧」,「盾」,及び「兜」の3種類の属性,魔法アイテムについては「炎の魔法」,「水の魔法」,及び「風の魔法」の3種類の属性が設定されている。図6に示されているゲーム媒体属性は例示に過ぎず,本発明においては,ゲームの性質等に応じてゲーム媒体に対して様々な属性が設定され得る。これらのゲーム媒体属性は,対戦相手キャラクタに対して攻撃を行う際に対戦相手キャラクタに対して与えるダメージ,又は,対戦相手キャラクタからの攻撃を防御する際に当該攻撃によってプレイヤキャラクタが受けるダメージを算出する際の要素の一つとなる。例えば,「剣」による攻撃によって多くのダメージを受けるという設定がなされている対戦相手キャラクタに対しては,「剣」のゲーム媒体属性が設定された武器アイテムを装備することにより,より多くのダメージを与えることができる。
また,ゲーム媒体情報管理テーブルにおいては,各ゲーム媒体を識別するゲーム媒体識別情報と対応付けて,当該ゲーム媒体を特徴付けるゲーム媒体パラメータを記憶することができる。図6に示す例においては,各ゲーム媒体を識別するゲーム媒体識別情報と対応付けて,各ゲーム媒体の「名称」,「画像」,「攻撃力」,「防御力」,及び「消費アイテムポイント」が記憶されている。ゲーム媒体情報管理テーブルの「画像」の項目には,当該画像の格納位置を示すURLが記憶される。ゲーム媒体の「消費アイテムポイント」は,当該ゲーム媒体を対戦相手キャラクタとの対戦において使用するときに必要とされるアイテムポイント数である。上述したように,各プレイヤキャラクタには,対戦相手キャラクタとの対戦において使用することのできるアイテムポイント数の上限値が設定されているので,プレイヤキャラクタが使用するゲーム媒体は,「消費アイテムポイント」によって制約を受け得る。
対戦相手キャラクタ情報記憶部55は,各対戦相手キャラクタを識別する対戦相手キャラクタ識別情報と対応付けて,当該対戦相手キャラクタに設定された一又は複数の対戦相手キャラクタ属性,及び,当該対戦相手キャラクタを特徴付ける対戦相手キャラクタパラメータ値を記憶することができる。対戦相手キャラクタ情報記憶部55は,例えば,外部メモリ15に設けられる対戦相手キャラクタ情報管理テーブルにより実現される。図7は,本発明の一実施形態に係るゲームシステムに備えられる対戦相手キャラクタ情報管理テーブルの一例を示す。図示のとおり,対戦相手キャラクタ情報管理テーブルにおいては,各対戦相手キャラクタを識別する対戦相手キャラクタ識別情報と対応付けて,当該対戦相手キャラクタに設定された3つの対戦相手キャラクタ属性(「属性1」〜「属性3」)が記憶されている。このうち,「属性1」は,武器アイテムに関連して対戦相手キャラクタに設定される属性であり,「属性2」は,防具アイテムに関連して対戦相手キャラクタに設定される属性であり,「属性3」は,魔法アイテムに関連して対戦相手キャラクタに設定される属性である。対戦相手キャラクタの対戦相手キャラクタ属性は,典型的には,プレイヤキャラクタと対戦相手キャラクタとの対戦においてプレイヤキャラクタにより使用されるゲーム媒体と当該対戦相手キャラクタとの間の相性を示す。例えば,対戦相手キャラクタ識別情報「OC0001」の「属性1」には「剣」の属性が設定されているので,対戦相手キャラクタ識別情報「OC0001」で識別される対戦相手キャラクタに対して「剣」を使用した攻撃が他の武器アイテムを使用した攻撃よりも効果的となるように対戦処理が実行される。対戦処理の詳細については後述する。
また,対戦相手キャラクタ情報管理テーブルにおいては,各対戦相手キャラクタを識別する対戦相手キャラクタ識別情報と対応付けて,当該対戦相手キャラクタを特徴付ける対戦相手キャラクタパラメータ値を記憶することができる。図7においては,対戦相手キャラクタパラメータ値の例として,「攻撃力」,「防御力」,「ライフ」が設定されている。この対戦相手キャラクタパラメータ値は,後述する対戦処理において参照される。
特定属性情報記憶部56は,図7の対戦相手キャラクタ情報管理テーブルにおいて各対戦相手キャラクタに設定されている一又は複数の対戦相手キャラクタ属性の一部又は全部を,プレイヤ識別情報と対応付けて,当該対戦相手キャラクタの特定属性情報として記憶することができる。特定属性情報記憶部56は,例えば,外部メモリ15に設けられる特定属性情報管理テーブルにより実現される。図8は,本発明の一実施形態に係るゲームシステムに備えられる特定属性情報管理テーブルの一例を示す。特定属性情報は,例えば,次のようにして対戦相手キャラクタ情報管理テーブルに設定される。概念的に説明すれば,プレイヤキャラクタは,様々なゲーム媒体属性を有するゲーム媒体を装備して所定の対戦相手キャラクタとの対戦を行うことができ,このような対戦を通じて,各対戦相手キャラクタに対して有効な(武器アイテムであれば大きなダメージを与えることができる,防具アイテムであればより多くのダメージを防ぐことができる,など)ゲーム媒体属性を学習する。このようにして学習された,所定の対戦相手キャラクタに対して特定のゲーム媒体属性が有効である,という情報が,当該対戦相手キャラクタの特定属性情報として格納される。特定属性情報及びその設定・管理について図8を参照してさらに説明する。
図8に示すように,本発明の一態様において,特定属性情報管理テーブルは,プレイヤ識別情報ごとに,各対戦相手キャラクタの特定属性情報を記憶する。図8(a)は,プレイヤ識別情報「P000001」の特定属性情報管理テーブルの例を示し,図8(b)は,プレイヤ識別情報「P000002」の特定属性情報管理テーブルの例を示す。特定属性情報記憶部56は,プレイヤごとに特定属性情報管理テーブルを管理するが,説明の便宜上,図8(a)及び図8(b)の2つの特定属性情報管理テーブルを用いて説明を行う。図8に示すとおり,各プレイヤの特定属性情報管理テーブルにおいては,図7に示した各対戦相手キャラクタに設定されている3つの対戦相手キャラクタ属性のそれぞれに対して,「0」又は「1」で表されている属性フラグが設定されている。図8の特定属性情報管理テーブルにおいて,属性フラグが「1」に設定されている対戦相手キャラクタ属性が特定属性情報に当たる。例えば,図8(a)において,対戦相手キャラクタ識別情報が「OC0001」の対戦相手キャラクタについては,その対戦相手キャラクタ属性のうち「属性1」及び「属性2」に属性フラグ「1」が設定されており,「属性3」に属性フラグ「0」が設定されている。これにより,プレイヤ識別情報「P000001」で識別されるプレイヤについては,対戦相手キャラクタ識別情報「OC0001」で識別される対戦相手キャラクタに設定されている3つの対戦相手キャラクタ属性のうち,「属性1」及び「属性2」が当該対戦相手キャラクタの特定属性情報として記憶されていることが示される。このように,対戦相手キャラクタ属性に関連して設定された属性フラグによって,当該対戦相手キャラクタ属性が特定属性情報として設定されているか否かが示される。この属性フラグの設定は,後述するように,ゲームの進行に応じて更新され得る。
特定属性情報更新部57は,図8の特定属性情報管理テーブルを所定の条件に従って更新することができる。例えば,特定属性情報更新部57は,プレイヤキャラクタと対戦相手キャラクタとの対戦において使用されたゲーム媒体の種類に応じて,特定属性情報管理テーブルにおける特定属性情報のフラグの設定を更新することもできる。上述したように,プレイヤキャラクタは,対戦相手キャラクタとの対戦を通じて,当該対戦相手キャラクタに有効なゲーム媒体属性情報を学習することができる。例えば,所定の対戦相手キャラクタの対戦相手キャラクタ属性情報と同じ属性を有する武器アイテムや魔法アイテムを用いて当該対戦相手キャラクタに攻撃を行う,又は,対戦相手キャラクタ属性情報と同じ属性を有する防具アイテムを用いて当該対戦相手キャラクタから攻撃を受けることにより,当該対戦相手キャラクタに対して使用したアイテムが有効であることを学習し,この学習結果に基づいて,特定属性情報管理テーブルを更新することができる。具体的には,プレイヤ識別情報「P000001」のプレイヤ(以下「プレイヤ1」と称することがある。)のプレイヤキャラクタ(以下「プレイヤキャラクタ1」と称することがある。)が,「OC0001」で識別される対戦相手キャラクタ(以下「対戦相手キャラクタ1」と称することがある。)と対戦する際に,プレイヤキャラクタ1が「M000014」で識別される「魔法B」(図6参照)を装備又は使用した場合を想定する。図7に示すように「炎の魔法」が対戦相手キャラクタ属性として設定されており,これは,図6に示す「魔法B」のゲーム媒体属性である「炎の魔法」と一致するので,プレイヤキャラクタ1は,対戦相手キャラクタ1に対して「炎の魔法」のゲーム媒体属性が有効であることを学習する。このとき,図8(a)において,「OC0001」に対応付けられている「炎の魔法」に対応する属性フラグを「1」に更新し,更新した属性フラグ「1」を特定属性情報管理テーブルに記憶させる。このようにして,プレイヤキャラクタは,対戦相手キャラクタとの対戦を通じて,当該対戦相手キャラクタに有効なゲーム媒体属性情報を学習し,学習結果を特定属性情報管理テーブルにより管理することができる。
また,特定属性情報更新部57は,同じグループに所属する複数のプレイヤ間で特定属性情報が共有されるように,特定属性情報管理テーブルを更新することができる。図4に示すように,プレイヤ識別情報「P000001」で識別されるプレイヤとプレイヤ識別情報「P000002」で識別されるプレイヤ(以下「プレイヤ2」と称することがある。)とは,同じグループ1に所属している。ここで,プレイヤ1については,図8(a)に示すように対戦相手キャラクタ識別情報「OC0001」の「属性1」が「1」に設定されているのに対し,プレイヤ2については,図8(b)に示すように同じ対戦相手キャラクタの「属性1」が「0」に設定されている。そこで,特定属性情報更新部57は,図8(b)のプレイヤ2の特定属性情報管理テーブルにおいて,対戦相手キャラクタ識別情報「OC0001」の「属性1」のフラグを「1」に更新する。これにより,プレイヤ1の特定属性情報管理テーブルにおいて「OC0001」の「属性1」について設定されていた特定属性情報が,同じグループ1に属するプレイヤ2と共有される。他の対戦相手キャラクタについて設定された特定属性情報についても同様の処理が繰り返される。
実効値算出部58は,所定のプレイヤのプレイヤキャラクタと対戦相手キャラクタとが対戦する際に,図8の特定属性情報管理テーブルが記憶する特定属性情報に基づいて,当該プレイヤが保有するゲーム媒体の各々についてゲーム媒体パラメータ値の実効値を算出する。具体的には,実効値算出部58は,対戦を行うプレイヤの特定属性情報管理テーブル(図8)を参照し,対戦する対戦相手キャラクタに設定されている特定属性情報を特定し,次に,図5の保有ゲーム媒体管理テーブル及び図6のゲーム媒体情報管理テーブルを参照し,当該プレイヤが保有するプレイヤゲーム媒体の中から,特定された特定属性情報に対応又は一致するゲーム媒体属性を有するプレイヤゲーム媒体を選択する。このようにして選択された特定属性情報に対応又は一致するゲーム媒体属性を有するプレイヤゲーム媒体は,本明細書において,「特定ゲーム媒体」と称されることがある。そして,実効値算出部58は,この選択された特定ゲーム媒体のゲーム媒体パラメータ値(例えば,攻撃力や防御力)に所定の調整係数を乗じることにより,当該特定ゲーム媒体のゲーム媒体パラメータ値の実効値を算出する。所定の係数は,ゲームバランス等を考慮してサーバ装置10の運営者やゲームの開発者によって任意に定められる。一実施形態において,所定の調整係数は1より大きい任意の数であり,例えば1.5である。特定ゲーム媒体は,特定属性情報に対応又は一致するゲーム媒体属性を有するので,その特定属性情報が設定された対戦相手キャラクタとの対戦において有効なゲーム媒体である。ゲーム媒体パラメータ値の実行値の算出は,この特定の対戦相手キャラクタとの対戦において有効であることを,ゲーム媒体パラメータ値に反映させる処理である。例えば,特定ゲーム媒体については,当初設定されている攻撃力に調整係数(例えば1.5)を乗じて実行値を算出することにより,当該対戦相手キャラクタに対してより多くのダメージを与えられるようになる。
選択部59は,上記の対戦に臨むプレイヤが保有するゲーム媒体(図5)の中から,当該対戦において当該プレイヤのプレイヤキャラクタに使用(装備)させる一又は複数のゲーム媒体を選択する。例えば,プレイヤ1のプレイヤキャラクタが使用する武器アイテムを選択する場合には,選択部59は,プレイヤ1が保有する「M000001」及び「M000003」のゲーム媒体パラメータ同士を比較し,その値が大きな方を選択する。ただし,プレイヤ1が保有するゲーム媒体が,実効値算出部59において特定された特定ゲーム媒体に該当する場合には,当該ゲーム媒体については図6が記憶するゲーム媒体パラメータではなく,実効値算出部58が算出した実効値を用いて,他のゲーム媒体のゲーム媒体パラメータ値との比較が行われる。
一実施形態において,選択部59は,ゲーム媒体のカテゴリごとに,プレイヤキャラクタに使用させるゲーム媒体を選択することができる。図6に示す例では,「M000001」〜「M000006」で識別されるゲーム媒体が武器アイテムのカテゴリに分類され,「M000007」〜「M000012」で識別されるゲーム媒体が防具アイテムのカテゴリに分類され,「M000013」〜「M000015」で識別されるゲーム媒体が魔法アイテムのカテゴリに分類される。
対戦実行部60は,選択部59において選択されたゲーム媒体をプレイヤキャラクタに使用(装備)させ,対戦相手キャラクタとの対戦を行わせる。対戦は,典型的には,プレイヤキャラクタと対戦相手キャラクタとが,交互に又は同時に,相手に対する攻撃を行い,この攻撃によって相手に対して与えたダメージに基づいて勝敗が決せられる。典型的には,プレイヤキャラクタ及び対戦相手キャラクタの双方に「ライフ」や「HP」等と呼ばれるパラメータ値が設定されており(図4及び図7参照),相手に与えたダメージに相当する量だけこの「ライフ」等のパラメータ値を減少させることができる。そして,相手の「ライフ」等のパラメータを0にした側が勝利する。
プレイヤキャラクタが対戦相手キャラクタに対して与えるダメージは,例えば,当該プレイヤキャラクタに設定されている「体力」のパラメータ値,当該プレイヤキャラクタが使用するゲーム媒体(通常は,武器アイテム又は魔法アイテム)の「攻撃力」のパラメータ値(図6参照)又はその実効値,及び対戦相手キャラクタに設定されている「防御力」のパラメータ値に基づいて算出される。ダメージの算出は,当業者に明らかな様々な方法を用いて実行することができるが,通常は,「体力」及び/又は「攻撃力」のパラメータ値が大きいほど,また,「防御力」のパラメータ値が小さいほど,算出されるダメージが大きくなるようにされる。また,プレイヤキャラクタが使用するゲーム媒体のゲーム媒体属性と,各対戦相手キャラクタに設定されている対戦相手キャラクタ属性によって,対戦相手キャラクタに対して与えられるダメージが異なるようにしてもよい。具体的には,プレイヤキャラクタが,対戦する対戦相手キャラクタの対戦相手キャラクタ属性と同じ属性を有するゲーム媒体を用いて攻撃した場合に,対戦相手キャラクタにより大きなダメージを与えることができるように,ダメージの計算方法が定められてもよい。例えば,「剣」の属性が対戦相手キャラクタ属性として設定されている対戦相手キャラクタに対しては,他の条件が同じであれば,「剣」の属性を有する武器アイテムを使用することにより,「槍」や「杖」等の武器アイテムを使用した場合よりも,当該対戦相手キャラクタに対して大きなダメージを与えることができるように,ダメージの量が計算される。
対戦相手キャラクタがプレイヤキャラクタに対して与えるダメージも同様にして決定される。ただし,プレイヤキャラクタが使用する防具アイテムの「防御力」のパラメータ値が小さいほど,プレイヤキャラクタに対して与えるダメージが大きくなる。このように,対戦実行部60は,対戦に臨むプレイヤのプレイヤキャラクタのプレイヤキャラクタパラメータ値と,当該プレイヤキャラクタが使用するゲーム媒体のゲーム媒体パラメータ値又は当該ゲーム媒体パラメータに基づいて算出された実効値と,相手の対戦相手キャラクタの対戦相手キャラクタパラメータ値と,に基づいて,対戦の勝敗を決定する。
次に,図9を参照して,本発明の一実施形態におけるゲーム媒体の自動選択処理の一例を説明する。図9は,サーバ装置10により提供されるゲームの開始から,プレイヤキャラクタと対戦相手キャラクタとの対戦処理が開始されるまでの処理の概要を示すフロー図である。図9は,プレイヤ1のプレイヤキャラクタ(以下「プレイヤキャラクタ1」と称することがある。)が対戦相手キャラクタ識別情報「OC0001」で識別されるノンキャラクタプレイヤ(以下「対戦相手キャラクタ1」と称することがある。)と対戦することを想定して説明する。
まず,工程902において,端末装置30がプレイヤ1の操作に応じてサーバ装置10のゲーム用ウェブサイトにアクセスする。サーバ装置10からは,端末装置30からの要求に応じたウェブページが,当該端末装置30に対して配信される。このウェブページには,ゲームの進行に必要なミッションの実行を選択するための操作ボタンやマイページを設定するための操作ボタンなどと共に,「ボスキャラと戦う」のように対戦相手キャラクタへの対戦が行われることを表す表示と対応付けられた対戦用の操作ボタンが含まれる。端末装置30に対する入力操作によって,この対戦用の操作ボタンが選択されると,工程904において,ゲーム進行制御部51は,対戦相手キャラクタとの対戦において使用するゲーム媒体を選択するためのウェブページを当該端末装置30に提供する。
対戦相手キャラクタとの対戦において使用するゲーム媒体を選択するためのウェブページには,プレイヤキャラクタに使用させるゲーム媒体を自動的に最適化するための自動選択用操作ボタン,及び,使用するゲーム媒体をプレイヤ自身が選択するためのカスタマイズ用操作ボタンが含まれる。工程906において,プレイヤ1による端末装置30への操作入力によって,自動選択用操作ボタンが選択されると,処理は工程908に進む。工程908においては,実効値算出部58により,図8の特定属性情報管理テーブルが記憶する特定属性情報に基づいて,プレイヤ1が保有するゲーム媒体のゲーム媒体パラメータ値の実効値が算出される。具体的には,一群の特定属性情報管理テーブルのうち,図8(a)に示すプレイヤ1の特定属性情報管理テーブルを参照し,対戦相手の対戦相手キャラクタ1について設定されている特定属性情報を特定する。図8(a)に示すように,対戦相手キャラクタ1を識別する「OC0001」に対応付けられている属性1の「剣」及び属性2の「鎧」の属性フラグが「1」に設定されているので,この「剣」及び「鎧」を特定属性情報として特定する。
次に,実効値算出部58は,プレイヤ1が保有するゲーム媒体の中から,図6のゲーム媒体情報管理テーブルに設定されたゲーム媒体属性を参照し,特定属性情報として特定された「剣」又は「鎧」に相当するゲーム媒体属性を有するゲーム媒体を特定ゲーム媒体として選択する。図5に示すとおり,本実施例においては,プレイヤ1は,ゲーム媒体識別情報「M000001」,「M000003」,「M000009」,「M000007」,「M000013」,「M000014」でそれぞれ識別される6種類のゲーム媒体を保有している。このうち,「剣」に相当するゲーム媒体属性が設定されているのは,ゲーム媒体識別情報「M000001」で識別される武器アイテムである。また,「鎧」に相当するゲーム媒体属性が設定されているのは,ゲーム媒体識別情報「M000007」で識別される防具アイテムである。実効値算出部58は,これらのゲーム媒体識別情報「M000001」で識別される「剣A」という名称の武器アイテム及びゲーム媒体識別情報「M000007」で識別される「鎧A」という名称の防具アイテムを特定ゲーム媒体として選択する。
次に,実効値算出部58は,図6のゲーム媒体情報管理テーブルを参照し,特定ゲーム媒体として選択された「剣A」の攻撃力「20」に係数「1.5」を乗じて,「剣A」の攻撃力の実効値「30」を算出する。また,実効値算出部59は,同じく特定ゲーム媒体として選択された「鎧A」の防御力「30」に係数「1.5」を乗じて,「鎧A」の防御力の実効値「45」を算出する。
続いて,工程910に進み,選択部59は,武器アイテムについて算出された実効値を用いて,プレイヤ1のプレイヤキャラクタ1が使用する武器アイテムを選択する。図5に示すように,プレイヤ1は,武器アイテムとして,ゲーム媒体識別情報「M000001」で識別される「剣A」と,ゲーム媒体識別情報「M000003」で識別される「槍A」を保有し,使用アイテム数の上限が1だとする。選択部59は,「剣A」の攻撃力の実効値「30」と「槍A」の攻撃力「25」とを比較する。選択部59は,比較の結果,「剣A」の攻撃力の実効値の方が「槍A」の攻撃力よりも大きいので,「剣A」を,プレイヤキャラクタ1に使用させる武器アイテムとして選択する。これ以外にも,選択部59は,様々なアルゴリズムにより,プレイヤキャラクタ1に使用させる武器アイテムを選択することができる。例えば,「剣A」の攻撃力の実効値「30」と「槍A」の攻撃力「25」とを比較する代わりに,これらの値をそれぞれの「消費アイテムポイント」(図6参照)で除した単位消費アイテムポイント当たりの攻撃力(又は実行値)を比較することで,使用武器アイテムを選択することができる。具体的には,「剣A」の攻撃力の実効値「30」をその消費アイテムポイント「25」で除した「1.2」と,「槍A」の攻撃力「25」をその消費アイテムポイント「20」で除した「1.25」とを比較する。この場合,「槍A」について算出された単位消費アイテムポイント当たりの攻撃力「1.25」が,「剣A」について算出された単位消費アイテムポイント当たりの攻撃力「1.2」よりも大きいので,「槍A」がプレイヤ1に使用させる武器アイテムとして選択される。
また,使用アイテム数の上限が2以上の場合,上述した選択は,プレイヤが保有するアイテムのうち既に選択されたアイテム以外のアイテムについて,使用するアイテム数が上限値に達するまで,又は,使用するアイテムの消費アイテムポイントの合計が最大アイテムポイントに達するまで継続して行われる。上述した例では,プレイヤが保有するアイテムのうち既に選択されたアイテム以外のアイテムであって,「当該プレイヤの最大アイテムポイント−選択されたアイテムの消費アイテムポイントの合計」内に収まる消費アイテムポイントが設定された選択可能アイテム(つまり,当該プレイヤによって保有されているアイテムのうち未使用のアイテム。)に対して,使用アイテム数の上限値まで,又は,選択可能アイテムが無くなるまで,最も単位消費アイテムポイント当たりの攻撃力等の値が高いアイテムの選択を繰り返す。
なお,「槍A」は,特定ゲーム媒体として選択されていないので,選択部59は,「槍A」の攻撃力には係数を乗じずにゲーム媒体情報管理テーブルに設定されている攻撃力そのものを比較対象として用いた。しかしながら,選択部59は,特定ゲーム媒体として選択されていないゲーム媒体に対しても,実効値算出部58において,特定ゲーム媒体に対して乗じられる係数よりも小さな係数を乗じて,当該ゲーム媒体の攻撃力の実効値を算出してもよい。例えば,特定ゲーム媒体に乗じられる係数が1.5の場合,特定ゲーム媒体以外のゲーム媒体に乗じる係数を1.2とすることができる。
なお,上述した単位消費アイテムポイント当たりの値によってアイテムを選択し得る点は,以下に述べる防具アイテム及び魔法アイテムについても同様に当てはまる。また,特定ゲーム媒体以外のゲーム媒体のゲーム媒体パラメータ値に対して,特定ゲーム媒体に乗じられる係数よりも小さな係数を乗じて,当該ゲーム媒体パラメータの実効値を算出してアイテムを選択し得る点も,以下に述べる防具アイテム及び魔法アイテムについても同様に当てはまる。
次に,工程912において,選択部59は,防具アイテムについて算出された実効値を用いて,プレイヤ1のプレイヤキャラクタ1が使用する防具アイテムを選択する。図5に示すように,プレイヤ1は,防具アイテムとして,ゲーム媒体識別情報「M000009」で識別される「盾A」と,ゲーム媒体識別情報「M000007」で識別される「鎧A」を保有している。選択部59は,「盾A」の防御力「15」と「鎧A」の防御力の実効値「45」とを比較する。選択部59は,比較の結果,「鎧A」の防御力の実効値の方が「盾A」の防御力よりも大きいので,「鎧A」を,プレイヤキャラクタ1が使用する防具アイテムとして選択する。
次に,工程914において,選択部59は,プレイヤ1のプレイヤキャラクタ1が使用する魔法アイテムを選択される。図5に示すように,プレイヤ1は,魔法アイテムとして,ゲーム媒体識別情報「M000013」で識別される「魔法A」と,ゲーム媒体識別情報「M000014」で識別される「魔法B」を保有している。「魔法A」及び「魔法B」はいずれも特定ゲーム媒体ではないので,これらに設定された攻撃力そのものが比較される。選択部59は,「魔法A」の攻撃力「30」と「魔法B」の攻撃力「35」とを比較する。選択部59は,比較の結果,「魔法B」の攻撃力の方が「魔法A」の攻撃力よりも大きいので,「魔法B」を,プレイヤキャラクタ1が使用する魔法アイテムとして選択する。以上により,武器アイテム,防具アイテム,及び魔法アイテムの各々について,プレイヤキャラクタ1に使用させるゲーム媒体が決定されたので,処理は工程918に進む。
工程906において,端末装置30に対する入力操作によりカスタマイズ用操作ボタンが選択されると工程916に進む。工程916では,ゲーム進行制御部51によって,図5の保有ゲーム媒体管理テーブルを参照され,プレイヤ1が保有するゲーム媒体のリストが作成され,当該リストを含むウェブページが端末装置30に表示される。図5に示すとおり,本実施例においては,プレイヤ1は,「M000001」,「M000003」,「M000009」,「M000007」,「M000013」,「M000014」の6種類のゲーム媒体を保有しているので,端末装置30には,これらのゲーム媒体の各々の画像,ゲーム媒体パラメータ(攻撃力,防御力,消費アイテムポイント等)が表示される。プレイヤ1の端末装置30に対する入力操作に応じて,これらのゲーム媒体の中から,対戦相手キャラクタ1との対戦においてゲームキャラクタに使用させる一又は複数のゲーム媒体が選択される。そして,プレイヤの操作入力に応じて選択されたゲーム媒体を特定する情報(例えば,ゲーム媒体識別情報)がサーバ装置10に送信される。以上により,プレイヤキャラクタ1に使用させるゲーム媒体がプレイヤの操作に応じて決定されたので,処理は工程918に進む。
工程918においては,プレイヤキャラクタ1と対戦相手キャラクタ1との対戦処理が開始される。具体的には,対戦実行部60は,プレイヤキャラクタ1に,工程910〜914又は工程916において選択されたゲーム媒体を使用させ,このプレイヤキャラクタ1と対戦相手キャラクタ1との対戦処理を実行する。この対戦処理については,図10を参照して説明される。
図10は,プレイヤキャラクタ1に使用させるゲーム媒体が選択されてから,プレイヤキャラクタと対戦相手キャラクタとの対戦処理が完了するまでの処理の概要を示すフロー図である。図9に示した処理において,プレイヤキャラクタ1に使用させるゲーム媒体が決定されると,工程1002において,当該プレイヤキャラクタ1と対戦相手キャラクタ1との対戦処理が開始される。この対戦処理は,例えば,使用ゲーム媒体の決定後に,プレイヤから端末装置30に対して,対戦開始を指示する操作が入力されることにより開始される。図10の処理は,主に,対戦実行部60によって制御される。
工程1002において対戦が開始されると,工程1004に進んで,プレイヤキャラクタ1又は対戦相手キャラクタ1が相手に対して攻撃を行う。典型的には,プレイヤキャラクタ1又は対戦相手キャラクタ1のいずれかが先に攻撃を行い,その後は,交互に攻撃を行う。対戦相手キャラクタ1が先行で攻撃する場合には,工程1014に進み,対戦相手キャラクタ1の攻撃によりプレイヤキャラクタ1に対して与えられるダメージが算出される。このダメージは,例えば,図7の対戦相手キャラクタ情報管理テーブルに記憶されている対戦相手キャラクタ1の「攻撃力」の値「34」と,図4のプレイヤキャラクタ情報管理テーブルに記憶されているプレイヤキャラクタ1の「体力」の値「131」と,プレイヤキャラクタ1が使用する防具アイテム「鎧A」の「防御力」の実行値「45」と,に基づいて決定される。例えば,所定の計算式に,これらの値を当てはめることにより,対戦相手キャラクタ1がプレイヤキャラクタ1に対して与えるダメージが計算される。
次に,工程1016において,工程1014において算出されたダメージが,図4のプレイヤキャラクタ情報管理テーブルに記憶されているプレイヤキャラクタ1の「ライフ」の値から減算される。次に,工程1018において,プレイヤキャラクタ1の「ライフ」の値が「0」以下になったか否かが判断される。「ライフ」が「0」以下であれば,工程1020に進み,対戦処理は終了される。一方,「ライフ」の値が「0」よりも大きければ,工程1004に戻る。プレイヤキャラクタ1の攻撃と対戦相手キャラクタ1の攻撃とが交互に行われる場合には,工程1004において,次の攻撃は,プレイヤキャラクタ1によって行われることが決定され,処理は工程1006に進む。
工程1006においては,対戦相手キャラクタ1の攻撃によりプレイヤキャラクタ1に対して与えられるダメージが算出される。プレイヤキャラクタ1は,武器アイテムである「剣A」と,魔法アイテムである「魔法B」のいずれか又は両方を用いて,対戦相手キャラクタ1に対して攻撃を行う。このときの対戦相手キャラクタ1に対するダメージは,例えば「剣A」での攻撃が行われる場合には,図4のプレイヤキャラクタ情報管理テーブルに記憶されているプレイヤキャラクタ1の「体力」の値「131」と,プレイヤキャラクタ1が使用する武器アイテム「剣A」の「攻撃力」の実行値「30」と,図7の対戦相手キャラクタ情報管理テーブルに記憶されている対戦相手キャラクタ1の「防御力」の値「98」と,に基づいて決定される。例えば,所定の計算式に,これらの値を当てはめることにより,プレイヤキャラクタ1が対戦相手キャラクタ1に対して与えるダメージが計算される。「魔法B」による攻撃が行われる場合には,プレイヤキャラクタ1の「知力」の値「68」と,プレイヤキャラクタ1が使用する魔法アイテム「魔法B」の「攻撃力」の実行値「35」と,図7の対戦相手キャラクタ情報管理テーブルに記憶されている対戦相手キャラクタ1の「防御力」の値「98」と,に基づいて決定される。
続いて,工程1008において,プレイヤキャラクタ1が攻撃に使用したゲーム媒体に設定されているゲーム媒体属性と,対戦相手キャラクタに設定されている対戦相手キャラクタ属性が一致するか否かが判断される。「魔法B」による攻撃の場合には,「魔法B」のゲーム媒体属性である「炎の魔法」と,対戦相手キャラクタ1の対戦相手キャラクタ属性の一つ(OC属性3)である「炎の魔法」とが一致するため,工程1010に進む。工程1010においては,プレイヤキャラクタ1の特定属性情報管理テーブル(図8(a)参照)において,対戦相手キャラクタ1の「炎の魔法」の属性に関連して設定される属性フラグが「0」に設定されているため,工程1012において,この属性フラグが「1」に更新される。一方,「剣A」による攻撃の場合には,「剣B」のゲーム媒体属性である「剣」と,対戦相手キャラクタ1の対戦相手キャラクタ属性の一つ(OC属性1)である「剣」とが一致するため,同じく工程1010に進む。工程1010においては,プレイヤキャラクタ1の特定属性情報管理テーブル(図8(a)参照)において,対戦相手キャラクタ1の「剣」の属性に関連して設定される属性フラグが「1」に設定されているため,属性フラグの更新は行わずに,工程1016に進む。プレイヤキャラクタ1が攻撃に使用したゲーム媒体に設定されているゲーム媒体属性と,対戦相手キャラクタに設定されている対戦相手キャラクタ属性が一致しない場合には,工程1008から工程1016に遷移する。
続いて,工程1016において,工程1006において算出されたダメージが,対戦相手キャラクタ1の「ライフ」の値から減算される。次に,工程1018において,対戦相手キャラクタ1の「ライフ」の値が「0」以下になったか否かが判断される。「ライフ」が「0」以下であれば,工程1020に進み,対戦処理は終了される。一方,「ライフ」の値が「0」よりも大きければ,工程1004に戻って,以下,同様の処理が繰り返される。以上の処理を繰り返し,先に相手の「ライフ」を「0」にした方が勝者となる。
以上説明したように,本発明の一実施形態によれば,過去の対戦相手キャラクタとの対戦や,同じグループに所属する他のプレイヤとの情報共有に基づいて,各対戦相手キャラクタに設定されている対戦相手キャラクタ属性の一部又は全部を特定属性情報として管理している。この特定属性情報は,各対戦相手キャラクタとゲーム媒体属性との相性,又は,所定のゲーム媒体属性の対戦相手キャラクタに対する有効性を示す。キャラクタプレイヤが対戦相手キャラクタと対戦する際には,プレイヤが所有するゲーム媒体のうち当該対戦相手キャラクタについて設定されている特定属性情報と同じ属性を持つゲーム媒体を優先的に選択して,選択したゲーム媒体をプレイヤキャラクタに使用(装備)させることができる。特定属性情報と同じ属性が設定されたゲーム媒体を用いることにより,他の属性を有するゲーム媒体を用いた場合よりも,対戦相手キャラクタに対してより大きなダメージを与えられる可能性がある。このように,本発明の一実施形態に係るゲームシステムにより,対戦相手キャラクタに対してより大きなダメージを与え得るゲーム媒体を,プレイヤキャラクタに対して優先的に装備させることができる。このようなゲーム媒体の選択処理は,かかる選択処理を行うこと自体の選択操作を除けば,自動的に(つまり,プレイヤからの特定のゲーム媒体を選択する指示がなくとも)実行される。したがって,プレイヤは,プレイヤキャラクタが使用するアイテムの選択を簡易に行うことができる。
一実施形態においては,同じグループに所属する他のプレイヤから,特定属性情報に関する情報を取得することができる。例えば,同じグループに属するプレイヤの一人について,特定の対戦相手キャラクタに対して特定属性情報が設定されている場合には,そのグループの他のプレイヤについても,当該対戦相手キャラクタについて同じ特定属性情報を設定することができる。特定属性情報は,ゲーム媒体に設定されるゲーム媒体属性のうち,対戦相手キャラクタとの対戦において有効性が高い(つまり,より多くのダメージを与えることができる)属性を示すから,プレイヤにとってはゲームを行う上で価値が高い情報である。このような特定属性情報を同じグループに属するプレイヤ間で共有することにより,グループに属するプレイヤ同士の連帯感が高まることが期待される。このようなプレイヤのゲームへの参加意識や他のプレイヤとの連帯意識を高め得る機能は,他のプレイヤと交流しながらゲームを進行させるソーシャルゲームと呼ばれるゲームにおいて,特に重要で有用な効果となる。
本発明の一実施形態においては,装備するゲーム媒体の自動選択を行うか否かは,プレイヤの裁量に委ねられる。つまり,プレイヤは,対戦相手キャラクタと対戦する際に,効率良く当該対戦相手キャラクタに対して有効性の高い装備を選択したい場合には,上述した特定属性情報と同じ属性を持つゲーム媒体を自動的に優先的に選択させる機能を選択すればよく,逆に,当該対戦相手キャラクタとの対戦においてより有効性が高い属性を発見するために,あえて特定の属性が設定されたゲーム媒体を手動で選択してもよい。
次に,図11及び図12を参照して,本発明の他の実施形態に係るゲーム装置について説明する。図11は,本発明の他の実施形態に係る端末装置の機能を示すブロック図であり,図12は,図11の端末装置におけるゲーム媒体の自動選択処理の一例を示すフロー図である。
端末装置110の基本的な構成は,図2及び同図に対応する詳細な説明において説明したものと共通する点が多いので,以下,相違点に限って説明を行う。端末装置110は,必ずしも通信機能を備える必要がない。したがって,端末装置110においてゲームを制御する際には,端末装置30と同様にサーバ装置10と協働してゲームの進行を制御しても良いが,端末装置110単独でゲームを制御することもできる。このような端末装置110におけるゲームの制御は,図11に示す機能によって実現される。図11に示すように,本発明の他の実施形態に係る端末装置110は,ゲーム進行制御部111と,プレイヤキャラクタ情報記憶部112と,ゲーム媒体保有情報記憶部113と,ゲーム媒体情報記憶部114と,対戦相手キャラクタ情報記憶部115と,特定属性情報記憶部116と,特定属性情報更新部117と,実効値算出部118と,選択部119と,対戦実行部120と,を備える。これらの機能は,端末装置110に備えられたCPUの制御によりメインメモリに所定のゲームプログラムをロードし,当該CPUによって当該プログラムの指令に基づく演算が実行されることにより実現される。
図11に示す端末装置110の機能は,図3に示したサーバ装置10の機能と類似する点が多いため,サーバ装置10の各機能を参照しながら端末装置110の機能について説明する。ゲーム進行制御部111は,ゲームの進行に必要な様々なデータを管理することでプレイヤごとにゲームの進行を制御することができる。ゲーム進行制御部111は,例えば,ゲームの進行に応じて特定のミッション(クエスト)に挑戦させるための画像を生成して表示スクリーンに表示することができる。また,プレイヤの入力操作によって生成される操作信号に応じて,プレイヤキャラクタの移動,ゲーム媒体の購入,ミッションの実行等に関連する処理を実行することができる。
プレイヤキャラクタ情報記憶部112は,端末装置110のプレイヤが使用するプレイヤキャラクタを特徴付けるプレイヤキャラクタパラメータ値を記憶する。プレイヤキャラクタ情報記憶部112は,端末装置110の外部メモリに設けられる,図4のプレイヤキャラクタ情報管理テーブルと同様のテーブルにより実現される。端末装置110の利用者が一人であれば,プレイヤ識別情報の管理は必ずしも必要ではない。この場合,端末装置110の一人のプレイヤについて,図4のプレイヤキャラクタ情報管理テーブルに記憶されているキャラクタパラメータ情報を記憶すればよい。
ゲーム媒体保有情報記憶部113は,プレイヤ(又は当該プレイヤのプレイヤキャラクタ)がゲーム内で保有する一又は複数のゲーム媒体を識別するゲーム媒体識別情報を記憶することができる。ゲーム媒体保有情報記憶部113は,端末装置110の外部メモリに設けられる,図5の保有ゲーム媒体管理テーブルと同様のテーブルにより実現される。端末装置110の利用者が一人であれば,プレイヤ識別情報の管理は必ずしも必要ではないことは上述の通りであり,この場合,端末装置110の一人のプレイヤについて,図5の保有ゲーム媒体管理テーブルに記憶されている,保有ゲーム媒体のゲーム媒体識別情報を記憶すればよい。
ゲーム媒体情報記憶部114は,各ゲーム媒体を識別するゲーム媒体識別情報と対応付けて,当該ゲーム媒体に設定されている一又は複数のゲーム媒体属性を示すゲーム媒体属性識別情報及び当該ゲーム媒体を特徴付けるゲーム媒体パラメータを記憶することができる。ゲーム媒体情報記憶部114は,端末装置110の外部メモリに設けられる,図6のゲーム媒体情報管理テーブルと同様のテーブルにより実現される。
対戦相手キャラクタ情報記憶部115は,各対戦相手キャラクタを識別する対戦相手キャラクタ識別情報と対応付けて,当該対戦相手キャラクタに設定された一又は複数の対戦相手キャラクタ属性,及び,当該対戦相手キャラクタを特徴付ける対戦相手キャラクタパラメータ値を記憶することができる。対戦相手キャラクタ情報記憶部115は,端末装置110の外部メモリに設けられる,図7の対戦相手キャラクタ情報管理テーブルと同様のテーブルにより実現される。
特定属性情報記憶部116は,対戦相手キャラクタ情報記憶部115において各対戦相手キャラクタに設定されている一又は複数の対戦相手キャラクタ属性の一部又は全部を,プレイヤ識別情報と対応付けて,当該対戦相手キャラクタの特定属性情報として記憶することができる。特定属性情報記憶部116は,端末装置110の外部メモリに設けられる,図8(a)の特定属性情報管理テーブルと同様のテーブルにより実現される。
特定属性情報更新部117は,特定属性情報記憶部116において管理されている特定属性情報を管理するためのテーブルを所定の条件に従って更新することができる。具体的な更新方法は,可能な限り,特定属性情報更新部57について上述したものと同様である。
実効値算出部118は,端末装置110を操作するプレイヤのプレイヤキャラクタと対戦相手キャラクタとが対戦する際に,特定属性情報記憶部116において管理されている特定属性情報を管理するためのテーブルが記憶する特定属性情報に基づいて,当該プレイヤが保有するゲーム媒体の各々についてゲーム媒体パラメータ値の実効値を算出する。実効値の具体的な算出方法は,実効値算出部58について説明したのと同様である。
選択部119は,端末装置110を操作するプレイヤが保有するゲーム媒体の中から,対戦相手キャラクタとの対戦において当該プレイヤのプレイヤキャラクタに使用(装備)させる一又は複数のゲーム媒体を選択する。使用又は装備させるゲーム媒体の具体的な選択方法は,選択部59について述べたとおりである。
対戦実行部120は,選択部119において選択されたゲーム媒体をプレイヤキャラクタに使用させ,対戦相手キャラクタとの対戦を行わせる。対戦処理の具体的態様は,対戦実行部60に関して上述したとおりである。
次に,図12を参照して,端末装置110におけるゲーム媒体の自動選択処理の一例を説明する。図12は,端末装置110におけるゲームプログラムの起動からから,プレイヤキャラクタと対戦相手キャラクタとの対戦処理が開始されるまでの処理の概要を示すフロー図である。図12における処理の多くは図9における処理と重複するので,適宜図9に関して提供した説明を参照しつつ,図12の処理を説明する。図12の処理においても,端末装置110を操作するプレイヤのプレイヤキャラクタ1が対戦相手キャラクタ1と対戦することを想定して説明する。
まず,工程1202において,プレイヤの操作に応じてゲームプログラムが起動される。プレイヤによって,対戦相手キャラクタとの対戦を行うための操作がなされると,工程1204において,ゲーム進行制御部51は,対戦相手キャラクタとの対戦を実行するための表示画面を端末装置110の表示スクリーンに表示させる。次に,工程1206において,プレイヤ1による端末装置110への操作入力によって,自動選択用操作ボタンが選択されると,処理は工程1208に進む。工程1208においては,実効値算出部118により,端末装置110を操作するプレイヤが保有するゲーム媒体のゲーム媒体パラメータ値の実効値が算出される。続いて,工程1210に進み,選択部119は,武器アイテムについて算出された実効値を用いて,プレイヤキャラクタ1が使用する武器アイテムを選択する。次に,工程1112において,選択部119は,防具アイテムについて算出された実効値を用いて,プレイヤキャラクタ1が使用する防具アイテムを選択する。次に,工程1112において,選択部119は,防具アイテムについて算出された実効値を用いて,プレイヤキャラクタ1が使用する防具アイテムを選択する。
一方,工程1206において,端末装置110に対する入力操作によりカスタマイズ用操作ボタンが選択されると,処理は工程1216に進む。工程1216では,ゲーム進行制御部121によって,端末装置110を操作するプレイヤが保有するゲーム媒体のリストが作成され,当該リストを含む表示画面が端末装置110において表示される。プレイヤの端末装置110に対する入力操作に応じてプレイヤキャラクタ1に使用させるゲーム媒体が決定されると,処理は工程1218に進む。
工程1218においては,プレイヤキャラクタ1と対戦相手キャラクタ1との対戦処理が開始される。この対戦処理は,可能な限り,図10と同様の方法で行われる。
本発明の一実施形態に係る端末装置を用いることにより,サーバ装置10に関して説明したのと同様に,対戦相手キャラクタに対してより大きなダメージを与え得るゲーム媒体を,プレイヤキャラクタに対して優先的に装備させることができる。このようなゲーム媒体の選択処理は,かかる選択処理を行うこと自体の選択操作を除けば,自動的に(つまり,プレイヤからの特定のゲーム媒体を選択する指示がなくとも)実行される。したがって,プレイヤは,プレイヤキャラクタが使用するアイテムの選択を簡易に行うことができる。
本明細書で説明された処理及び手順は,実施形態中で明示的に説明されたもの以外にも,ソフトウェア,ハードウェアまたはこれらの任意の組み合わせによって実現される。より具体的には,本明細書で説明される処理及び手順は,集積回路,揮発性メモリ,不揮発性メモリ,磁気ディスク,光ストレージ等の媒体に,当該処理に相当するロジックを実装することによって実現される。また,本明細書で説明される処理及び手順は,それらの処理・手順をコンピュータプログラムとして実装し,各種のコンピュータに実行させることが可能である。
本明細書中で説明される処理及び手順が単一の装置,ソフトウェア,コンポーネント,モジュールによって実行される旨が説明されたとしても,そのような処理または手順は複数の装置,複数のソフトウェア,複数のコンポーネント,及び/又は複数のモジュールによって実行され得る。また,本明細書中で説明されるデータ,テーブル,又はデータベースが単一のメモリに格納される旨説明されたとしても,そのようなデータ,テーブル,又はデータベースは,単一の装置に備えられた複数のメモリまたは複数の装置に分散して配置された複数のメモリに分散して格納され得る。さらに,本明細書において説明されるソフトウェアおよびハードウェアの要素は,それらをより少ない構成要素に統合して,またはより多い構成要素に分解することによって実現することも可能である。
本明細書において,発明の構成要素が単数もしくは複数のいずれか一方として説明された場合,又は,単数もしくは複数のいずれとも限定せずに説明された場合であっても,文脈上別に解すべき場合を除き,当該構成要素は単数又は複数のいずれであってもよい。