(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-24
(45)【発行日】2024-07-02
(54)【発明の名称】コンピュータシステムおよびゲームシステム
(51)【国際特許分類】
A63F 13/75 20140101AFI20240625BHJP
A63F 13/79 20140101ALI20240625BHJP
A63F 13/798 20140101ALI20240625BHJP
A63F 13/795 20140101ALI20240625BHJP
【FI】
A63F13/75
A63F13/79
A63F13/798
A63F13/795
(21)【出願番号】P 2020038903
(22)【出願日】2020-03-06
【審査請求日】2023-01-19
(73)【特許権者】
【識別番号】000134855
【氏名又は名称】株式会社バンダイナムコエンターテインメント
(74)【代理人】
【識別番号】100124682
【氏名又は名称】黒田 泰
(74)【代理人】
【識別番号】100104710
【氏名又は名称】竹腰 昇
(74)【代理人】
【識別番号】100090479
【氏名又は名称】井上 一
(72)【発明者】
【氏名】宮野 鉄平
(72)【発明者】
【氏名】阿須名 孝次
(72)【発明者】
【氏名】南 清志
(72)【発明者】
【氏名】小倉 建一
(72)【発明者】
【氏名】恩田 明生
(72)【発明者】
【氏名】青木 隆
(72)【発明者】
【氏名】村井 伸太郎
【審査官】安田 明央
(56)【参考文献】
【文献】特開2000-140413(JP,A)
【文献】特開2009-165562(JP,A)
【文献】特開2018-149363(JP,A)
【文献】特開2015-192750(JP,A)
【文献】特開2017-202143(JP,A)
【文献】ファイナルファンタジー零式,週刊ファミ通,株式会社エンターブレイン,2011年11月17日,第26巻 第49号,P210-P213
【文献】アキバズトリップ2,週刊ファミ通,株式会社KADOKAWA,2014年07月03日,第29巻 第29号,P118-P121
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98
A63F 9/24
(57)【特許請求の範囲】
【請求項1】
所与のゲーム
のプレイ
として干渉プレーヤが被干渉プレーヤのゲームプレイを代行する代行プレイの実行を制御するコンピュータシステムであって、
前記ゲームをプレイした各プレーヤのデータを記憶する記憶手段と、
前記被干渉プレーヤの複数回のゲームプレイ
に基づいて、前記被干渉プレーヤのゲーム進行が滞った状態にある理由を分析する
理由分析手段と、
前記干渉プレーヤを選定する選定手段と、
前記理由分析手段により分析された理由に基づいて、前記代行プレイに付加する制約を決定する制御を行う制約決定制御手段と、
前記制約決定制御手段により決定された制約を付加した、前記干渉プレーヤによる前記被干渉プレーヤへの前記
代行プレイを制御する
代行プレイ制御手段と、
を備えたコンピュータシステム。
【請求項2】
前記被干渉プレーヤの技量を分析
する技量分析手段を更に備え、
前記制約
決定制御手段は、前記
技量分析手段により分析された技量が第1の技量のときに比べて、前記第1の技量よりも高い第2の技量のときの方が、厳しい制約となるように
決定する制御
を行う、
請求項
1に記載のコンピュータシステム。
【請求項3】
前記制約
決定制御手段は、前記干渉プレーヤのレベルが前記被干渉プレーヤのレベルよりも高い場合に、その差が第1の差のときに比べて、前記第1の差よりも大きい第2の差のときの方が、厳しい制約となるように
決定する制御
を行う、
請求項
1又は
2に記載のコンピュータシステム。
【請求項4】
前記制約
決定制御手段は、前記干渉プレーヤによる前記
代行プレイを許容するか否か
の制約を前記ゲームの進行単位毎に
決定する制御
を行う、
請求項
1~
3の何れか一項に記載のコンピュータシステム。
【請求項5】
前記制約
決定制御手段は、前記干渉プレーヤが操作入力可能なコマンド又はアクション
の制約を
決定する制御を行う、
請求項
1~4の何れか一項に記載のコンピュータシステム。
【請求項6】
前記制約
決定制御手段は、前記干渉プレーヤの操作入力に対する応答速度を変更す
る制約を
決定する制御を行う、
請求項
1~5の何れか一項に記載のコンピュータシステム。
【請求項7】
前記制約
決定制御手段は、前記干渉プレーヤが操作入力したアクションに対する効果を変更す
る制約を
決定する制御を行う、
請求項
1~
6の何れか一項に記載のコンピュータシステム。
【請求項8】
前記制約
決定制御手段は、前記被干渉プレーヤがゲームプレイするときよりもゲーム進行を難化させ
る制約を
決定する制御を行う、
請求項
1~
7の何れか一項に記載のコンピュータシステム。
【請求項9】
前記選定手段は、所与の候補プレーヤの中から、前記被干渉プレーヤの選択操作に基づいて選択された候補プレーヤを前記干渉プレーヤとして選定する、
請求項1~
8の何れか一項に記載のコンピュータシステム。
【請求項10】
前記候補プレーヤを選択する候補プレーヤ選択手段であって、過去に前記干渉プレーヤとして前記
代行プレイを行ったことのあるプレーヤについて、当該
代行プレイに係る被干渉プレーヤのみが選択可能な候補プレーヤとする候補プレーヤ選択手段、
を更に備えた請求項
9に記載のコンピュータシステム。
【請求項11】
前記コンピュータシステムは、各プレーヤのプレーヤ端末と通信接続されるサーバシステムである、
請求項1~
10の何れか一項に記載のコンピュータシステム。
【請求項12】
各プレーヤのプレーヤ端末と、
前記プレーヤ端末と通信接続されるサーバシステムである請求項1~
10の何れか一項に記載のコンピュータシステムと、
を具備したゲームシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームの実行を制御するコンピュータシステム等に関する。
【背景技術】
【0002】
ゲームプレイのスタイルには、従来のシングルプレイ及びマルチプレイに加え、代行プレイや、代行型の共有プレイ等と呼ばれるスタイルが知られている。この代行型の共有プレイとは、ゲームスタート時のプレーヤ(スタートプレーヤ:第1のゲーム装置を使用するホストプレーヤ)が、プレイ中のプレイ操作を他プレーヤ(第2のゲーム装置を使用するゲストプレーヤ)に一時的に預けることでゲームプレイをシェアするプレイである。
【0003】
代行型の共有プレイは、例えばホストプレーヤがゲームのプレイ権を持っていれば、その友達はゲストプレーヤとなることでゲームのプレイ権を有していなくとも、一時的にそのゲームを一緒にプレイする楽しみを得られることから人気である。代行型の共有プレイは、単純にプレイ操作権を交互に変えながら一緒にプレイすることを楽しむ手段のみならず、従来のマルチプレイとは違う「ホストプレーヤがゲストプレーヤに一時的にゲームプレイを代行してもらいながらゲームを進める」形での援助の形態を提供してくれる(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
代行型に限らず共有プレイにより実現される援助に着目すると、従来の共有プレイでは援助の形態についての制限は無く、ホストプレーヤとゲストプレーヤとのその場のやり取り次第であった。しかし、共有プレイにより実現される援助が有するところの、相手を助ける短期的な効果だけでなく、当該被援助プレーヤの成長を促す長期的な効果にも着目するならば、援助の種類や内容は無制限ではなく適切に管理されるべきである。
【0006】
また、援助を「ゲームプレイに対する外部からの干渉」の一種と見なせば、プレイ操作の代行に限らず、様々な干渉行為についても同様の課題があると言える。
【0007】
また、代行プレイなどの干渉行為を行うゲストプレーヤが、単にホストプレーヤのプレイ操作を代わって代行するだけでは興趣性が低かった。
【0008】
本発明が解決しようとする課題は、共有プレイ環境における干渉行為を適切に制御する技術を提供すること、を課題とする。
【課題を解決するための手段】
【0009】
上記した課題を解決するための第1の発明は、所与のゲームをプレイするプレーヤ間で行う所定の干渉行為の実行を制御するコンピュータシステムであって、
前記ゲームをプレイした各プレーヤのデータを記憶する記憶手段(例えば、
図1のサーバシステム1100、
図10のサーバ処理部200s、ゲーム管理部220、プレイ履歴管理部238、サーバ記憶部500s、
図11のユーザ管理データ600、
図4及び
図16のプレイ履歴データ610、
図21のステップS122)と、
被干渉プレーヤの複数回のゲームプレイを分析する分析手段(例えば、
図1のサーバシステム1100、
図10のサーバ処理部200s、ゲーム管理部220、分析部222、
図18の失敗理由種類754、
図18の分析結果データ750、
図20のステップS6)と、
干渉プレーヤを選定する選定手段(例えば、
図1のサーバシステム1100、
図10のサーバ処理部200s、ゲーム管理部220、選定部224、
図20のステップS12)と、
前記干渉プレーヤによる前記被干渉プレーヤへの前記干渉行為を、前記分析手段の分析結果に基づいて制御する干渉行為制御手段(例えば、
図1のサーバシステム1100、
図10のサーバ処理部200s、ゲーム管理部220、干渉行為制御部230、
図18の干渉制御データ740、
図20のステップS60~
図21のステップS92、ステップS104)と、を備えたコンピュータシステムである。
【0010】
ここで言う「コンピュータシステム」は、単数のコンピュータは勿論、複数のコンピュータが連携して実現されるものでもよい。
【0011】
「被干渉プレーヤ」とは、そのゲームプレイにおける本来のプレーヤ(例えば、ゲームのスタートプレーヤ)であり、プレイに係る干渉行為を受けるプレーヤである。「干渉行為」とは、スタートプレーヤのゲームプレイに対して外部から影響を与える行為である。干渉行為の例としては、a)代行プレイ、b)被干渉プレーヤが視聴しているゲーム音声に対する干渉プレーヤの音声の付加、c)被干渉プレーヤが視聴しているゲーム画面に対する干渉プレーヤの操作に基づく表示の付加、もこれに含まれる。「干渉プレーヤ」とは、干渉行為を行うプレーヤである。
【0012】
第1の発明によれば、コンピュータシステムは、被干渉プレーヤの過去のプレイについて分析して、分析結果に基づいて干渉行為の実行を制御できる。例えば、コンピュータシステムは、分析により明らかとなる被干渉プレーヤのプレイの実績やスタイルに応じて干渉行為を適切に調整できる。援助目的の干渉行為に着目すれば、多過ぎず少な過ぎることのない適切な干渉行為が行われるような制御が実現可能となる。短期的な援助効果は勿論のこと、長期的な教育効果をもたらすように干渉行為の実行を制御できる。
【0013】
第2の発明は、前記干渉行為には干渉の仕方が異なる複数種類があり、前記干渉行為制御手段は、前記干渉プレーヤによる前記干渉行為の種類を前記分析手段の分析結果に基づいて決定する干渉行為種類決定手段(例えば、
図10の干渉行為種類決定部232、
図14の許可干渉行為種類定義データ540、
図18の許可干渉行為種類リスト758、
図20のステップS60)を有する、第1の発明のコンピュータシステムである。
【0014】
第2の発明によれば、コンピュータシステムは、干渉の実現方法が違う複数種類の干渉行為の中から、分析結果に基づいて適切な種類を決定し、当該種類の干渉行為を制御できる。
【0015】
第3の発明は、前記干渉行為制御手段が、前記干渉プレーヤによる前記干渉行為に制約を付加する制御を前記分析手段の分析結果に基づいて行う制約制御手段(例えば、
図10の制約制御部234、
図15の制約定義データ550、
図18の適用制約設定データ760、
図20のステップS62)を有する、第1又は第2の発明のコンピュータシステムである。
【0016】
第3の発明によれば、コンピュータシステムは、干渉行為の制約の内容を適切に調整することで、干渉行為の質と量とを調整することができる。例えば、代行プレイをする場合、干渉プレーヤは、制約が適用されたいつもと違う「しばり」のある状況でゲームプレイを代行することになるので、干渉行為をする楽しみを得ることができる。
【0017】
第4の発明は、前記分析手段が、前記被干渉プレーヤの技量を分析し(例えば、
図12の技量判定基準データ520、
図20のステップS4)、前記制約制御手段は、前記分析手段により分析された技量が第1の技量のときに比べて、前記第1の技量よりも高い第2の技量のときの方が、厳しい制約となるように制御する(例えば、
図5(2)のグラフで示す関係)、第3の発明のコンピュータシステムである。
【0018】
第4の発明によれば、コンピュータシステムは、被干渉プレーヤの技量が高くなるほど制約をより厳しくなるように制御することで、被干渉プレーヤの技量に応じて干渉行為に適切な制約を設けることができ、干渉行為の質と量とを適切に調整できる。
【0019】
第5の発明は、前記制約制御手段が、前記干渉プレーヤのレベルが前記被干渉プレーヤのレベルよりも高い場合に、その差が第1の差のときに比べて、前記第1の差よりも大きい第2の差のときの方が、厳しい制約となるように制御する(例えば、
図5(4)のグラフで示す関係)、第3又は第4の発明のコンピュータシステムである。
【0020】
「プレーヤのレベル」は、例えばプレーヤの技量を表す。また、干渉プレーヤにとっての干渉行為における制約は、例えば干渉行為における難易度に相当する。
被干渉プレーヤを干渉プレーヤが援助する多くのケースでは、干渉プレーヤの方が被干渉プレーヤよりも技量が高い。そのため、干渉プレーヤにしてみれば干渉行為は比較的簡単な行為であり、干渉プレーヤが退屈感を感じかねない。
【0021】
しかし、第5の発明によれば、コンピュータシステムは、干渉プレーヤが干渉行為を行う際に、干渉プレーヤと被干渉プレーヤとの技量差に応じた難易度を設定することできる。干渉プレーヤの立場に立ってみれば、様々な難易度で干渉行為を行うことが可能となり、退屈感や飽き感を抱くことなく干渉行為を行うモチベーションを維持できる。
【0022】
第6の発明は、前記制約制御手段が、前記干渉プレーヤによる前記干渉行為を許容するか否かを前記ゲームの進行単位毎に制御する(例えば、
図20~
図21のループA)、第3~第5の何れかの発明のコンピュータシステムである。
【0023】
ここで言う「ゲームの進行単位」は、ゲームを進行する上での区切りである。例えば、格闘対戦ゲームであれば対戦ラウンドが該当し得る。レースゲームであれば、1レースや、1LAP、コースの区画が該当し得る。ゲーム内で行われるチャンピオンシップのシナリオの区切りなどもこれに該当し得る。アクションゲームであれば、ステージ、ある場所からある場所への移動まで、相手キャラクタに遭遇してからダウンするまで、などが該当し得る。育成ゲームや恋愛シミュレーションゲームであれば、ゲーム空間内での経過時間の単位が該当し得る。シューティングゲームではステージ、場面単位、などが該当し得る。RPGであれば、マップ上の範囲、特定のダンジョン、特定キャラクタにエンカウントしてから決着するまで、などが該当し得る。
【0024】
第6の発明によれば、干渉行為の範囲をゲーム進行単位とすることで、ゲーム進行に違和感のない干渉行為の許可・実現ができる。また、被干渉プレーヤにとっても干渉プレーヤにとっても、干渉行為がどこからどこまでなのかの区切りが分かり易くなる。
【0025】
第7の発明は、前記干渉行為には、少なくとも前記干渉プレーヤが前記被干渉プレーヤのゲームプレイを代行する代行プレイが含まれ、前記制約制御手段は、前記代行プレイに制約を付加する制御を行う、第3~第6の何れかの発明のコンピュータシステムである。
【0026】
第7の発明によれば、コンピュータシステムは、干渉行為となる代行プレイに制約を付加することができる。
【0027】
制約の付け方として具体的には、第8の発明として、前記制約制御手段が、前記干渉プレーヤが操作入力可能なコマンド又はアクションに制約を付加する制御を行う(例えば、
図18の使用不可操作コマンドリスト765)、第7の発明のコンピュータシステムを構成することができる。
【0028】
また、第9の発明として、前記制約制御手段が、前記干渉プレーヤの操作入力に対する応答速度を変更することで制約を付加する制御を行う(例えば、
図18の応答遅延設定値766)、第7又は第8の発明のコンピュータシステムを構成することができる。
【0029】
また、第10の発明として、前記制約制御手段が、前記干渉プレーヤが操作入力したアクションに対する効果を変更することで制約を付加する制御を行う(例えば、
図18の効果減衰制御値767)、第7~第9の何れかの発明のコンピュータシステムを構成することができる。
【0030】
第11の発明は、前記制約制御手段が、前記被干渉プレーヤがゲームプレイするときよりもゲーム進行を難化させることで制約を付加する制御を行う(例えば、
図18の難易度調整値768)、第7~第10の何れかの発明のコンピュータシステムである。
【0031】
第11の発明によれば、干渉プレーヤは、被干渉プレーヤがゲームプレイするときよりもゲーム内容がより難しくなるように調整された状態で代行プレイすることになる。よって、干渉プレーヤにやり応えを感じさせることができる。
【0032】
第12の発明は、前記選定手段が、所与の候補プレーヤの中から、前記被干渉プレーヤの選択操作に基づいて選択された候補プレーヤを前記干渉プレーヤとして選定する、第1~第11の何れかの発明のコンピュータシステムである。
【0033】
第12の発明によれば、コンピュータシステムは、被干渉プレーヤに、干渉プレーヤを選択させることができる。
【0034】
第13の発明は、前記候補プレーヤを選択する候補プレーヤ選択手段であって、過去に前記干渉プレーヤとして前記干渉行為を行ったことのあるプレーヤについて、当該干渉行為に係る被干渉プレーヤのみが選択可能な候補プレーヤとする候補プレーヤ選択手段(例えば、
図1のサーバシステム1100、
図10のサーバ処理部200s、ゲーム管理部220、候補プレーヤ選択制御部226、
図18の候補プレーヤアカウントリスト744、
図24のステップS42)、を更に備えた第12の発明のコンピュータシステムである。
【0035】
第13の発明によれば、コンピュータシステムは、被干渉プレーヤと干渉プレーヤとの間に専属関係を設定したかのように制御できる。
【0036】
第14の発明は、前記コンピュータシステムが、各プレーヤのプレーヤ端末と通信接続されるサーバシステムである、第1~第13の何れかの発明のコンピュータシステムである。
【0037】
第14の発明によれば、第1~第13の発明と同様の効果をもたらすサーバシステムを実現できる。
【0038】
第15の発明は、各プレーヤのプレーヤ端末と、前記プレーヤ端末と通信接続されるサーバシステムである第1~第13の何れかの発明のコンピュータシステムと、を具備したゲームシステムである。
【0039】
第15の発明によれば、第1~第13の発明と同様の効果をもたらすゲームシステムを実現できる。
【図面の簡単な説明】
【0040】
【
図3】干渉行為に係る制御について説明するための図。
【
図5】許可される干渉行為の種類や制約内容の決定に係る傾向の例を示すグラフ。
【
図7】格闘ゲームにおける干渉行為に係る表示例を示す図。
【
図8】RPGにおける干渉行為に係る表示例を示す図。
【
図9】アクションRPGにおける干渉行為に係る表示例を示す図。
【
図10】第1実施形態におけるサーバシステムの機能構成例を示す機能ブロック図。
【
図11】第1実施形態におけるサーバ記憶部が記憶するプログラムやデータの例を示す図。
【
図12】技量判定基準データのデータ構成例を示す図。
【
図13】失敗理由判定基準データのデータ構成例を示す図。
【
図14】許可干渉行為種類定義データのデータ構成例を示す図。
【
図16】ユーザ管理データのデータ構成例を示す図。
【
図19】第1実施形態におけるプレーヤ端末の機能構成例を示す機能ブロック図。
【
図20】サーバシステムのゲームプレイに係る処理の流れを説明するためのフローチャート。
【
図22】第2実施形態におけるプレーヤ端末の機能構成例を示す機能ブロック図。
【
図23】第2実施形態における端末記憶部が記憶するプログラムやデータの例を示す図。
【
図24】変形例におけるサーバシステムのゲームプレイに係る処理の流れを説明するためのフローチャート。
【発明を実施するための形態】
【0041】
以下、本発明の実施形態の一例を説明するが、本発明を適用可能な形態が以下の実施形態に限られないことは勿論である。
【0042】
〔第1実施形態〕
図1は、ゲームシステムの構成例を示す図である。
ゲームシステム1000は、ネットワーク9を介して相互にデータ通信が可能に接続されたサーバシステム1100と、プレーヤ端末1500とを含む。
【0043】
ゲームシステム1000は、プレーヤ端末1500を使用するユーザであるプレーヤ2に向けて、共有プレイが可能なオンラインゲームを提供するゲーム提供サービスを提供するコンピュータシステムである。勿論、ゲームシステム1000は、付加的にその他のサービスの提供を行ってもよい。
【0044】
ここで言う「共有プレイが可能なオンラインゲーム」とは、ゲームスタート時のプレーヤ(スタートプレーヤ)のゲーム画面を他プレーヤが共有しながら当該ゲームに外部から干渉行為が可能なオンラインゲームである。特に、本実施形態では、干渉行為として、オンライン接続された別装置を操作する他ユーザによる代行プレイが可能なゲームとする。
【0045】
「干渉行為」とは、スタートプレーヤのプレイ行為に外部から影響を与える行為である。代行プレイが代表例であり、その他としては、例えば、ゲーム音声への外部操作に基づく音声の付加、ゲーム画面への外部操作に基づく表示の付加、がある。
【0046】
ネットワーク9は、データ通信が可能な通信路を意味する。すなわち、ネットワーク9とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線/無線を問わない。
【0047】
サーバシステム1100は、例えば本体装置1101と、キーボード1106と、タッチパネル1108と、ストレージ1140とを有し、本体装置1101に制御基板1150を搭載するコンピュータシステムである。
【0048】
制御基板1150には、CPU(Central Processing Unit)1151やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1152、通信装置1153が搭載されている。なお、制御基板1150の一部又は全部は、ASIC(Application Specific Integrated Circuit)や、FPGA(Field-Programmable Gate Array)、SoC(System on a Chip)により実現するとしてもよい。
【0049】
そして、サーバシステム1100は、制御基板1150が所定のプログラム及びデータに基づいて演算処理することにより、ゲーム提供サービスを提供する機能を実現する。
【0050】
なお、
図1では、プレーヤ端末1500を2台のみ描いているが、実際のシステム運用においては、同時に複数のプレーヤ端末1500がサーバシステム1100にアクセス可能である。
【0051】
また、サーバシステム1100を、1台のサーバ装置であるかのように描いているが、複数の装置で実現する構成であってもよい。例えば、サーバシステム1100は、各機能を分担する複数のブレードサーバを搭載して相互に内部バスを介してデータ通信可能に接続した構成であっても良い。また、サーバシステム1100を構成するハードウェアの設置場所は問わない。離れた場所に設置された独立した複数のサーバを、ネットワーク9を介してデータ通信させることで、全体としてサーバシステム1100として機能させる構成であっても良い。
【0052】
図2は、プレーヤ端末1500の構成例を示す正面図である。
プレーヤ端末1500は、登録手続を経たユーザが、本実施形態のゲームシステム1000を利用するために使用するコンピュータシステムであって、ネットワーク9を介してサーバシステム1100にアクセスできる電子装置(電子機器)である。具体的には、プレーヤ端末1500は、ユーザがゲームプレイするための装置である。
【0053】
なお、
図2で示すプレーヤ端末1500は、いわゆるスマートフォンと呼ばれる装置であるが、コンピュータであれば、スマートウォッチ、スマートグラスなどのウェアラブルコンピュータや、携帯型ゲーム装置、タブレット型コンピュータ、パソコン、などでもよい。スマートフォンと、当該スマートフォンに通信接続されたスマートウォッチとの組み合わせといった複数の電子機器が通信可能に接続することで1つの機能を果たす場合にはこれらの複数の電子機器を一つのプレーヤ端末1500とみなすことができる。
【0054】
プレーヤ端末1500は、方向入力キー1502と、ボタンスイッチ1504と、画像表示デバイス兼接触位置入力デバイスとして機能するタッチパネル1506と、内蔵バッテリー1509と、スピーカ1510と、マイク1512と、カメラ1520と、制御基板1550と、コンピュータ読み出し可能な記憶媒体であるメモリカード1540からデータを読み書きできるメモリカード読取装置1542と、を備える。その他、図示されていない電源ボタン、音量調節ボタン等が設けられている。また、ゲームシステム1000の利用対価等の支払いが可能なICカード型のクレジットカードやプリペイドカードに対して非接触にデータの読み書きが行えるICカード読取装置などを設けるとしてもよい。
【0055】
制御基板1550は、(1)CPU1551や、GPU,DSPなどの各種マイクロプロセッサ、(2)VRAMやRAM,ROM等の各種ICメモリ1552、(3)ネットワーク9に接続する携帯電話基地局や無線LAN基地局などと無線通信するための無線通信モジュール1553、(4)インターフェース回路1557、などを搭載する。
【0056】
インターフェース回路1557には、(1)タッチパネル1506のドライバ回路、(2)方向入力キー1502及びボタンスイッチ1504からの信号を受信する回路、(3)スピーカ1510へ音声信号を出力する出力アンプ回路、(4)マイク1512で集音した音声の信号を生成する入力信号生成回路、(5)カメラ1520で撮影された画像の画像データを入力する回路、(6)メモリカード読取装置1542への信号入出力回路、などが含まれている。
【0057】
制御基板1550に搭載されているこれらの要素は、バス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。なお、制御基板1550の一部又は全部をASICやFPGA、SoCにて構成してもよい。そして、制御基板1550は、プレーヤ端末としての機能を実現させるためのプログラムや各種データをICメモリ1552に記憶する。
【0058】
なお、本実施形態では、プレーヤ端末1500はプログラムや各種の設定データをサーバシステム1100からダウンロードする構成としているが、別途入手したメモリカード1540などの記憶媒体から読み出す構成としても良い。
【0059】
次に、ゲーム提供サービスについて説明する。
プレーヤ端末1500でプレイされるゲームは、サーバシステム1100をゲームサーバとするクライアント・サーバシステムで実行されるオンラインゲームである。
ゲーム進行に係る情報、およびゲーム画面の表示に係る情報は、サーバシステム1100にて生成され、適宜プレーヤ端末1500へ提供される。プレーヤ端末1500は、操作入力兼ゲーム画面表示のための端末として機能する。すなわち、プレーヤ端末1500は、サーバシステム1100から提供された情報に基づいて、ゲーム画面を表示し、操作入力情報を逐一サーバシステム1100へ送信する。サーバシステム1100は、プレーヤ端末1500から送信された操作入力情報に基づいて、ゲームを進行させる。
【0060】
サーバシステム1100が提供するゲームは、共有プレイが可能なゲームである。ホストプレーヤ(スタートプレーヤ:当該ゲームの本来のプレーヤ)がプレイを開始し、ゲストプレーヤ(共有プレイの相手である他プレーヤ)とゲーム画面を共有しつつ進行し、時にゲストプレーヤによる様々な干渉行為を許容しながら進行するゲームである。ホストプレーヤはゲームプレイへの干渉を受ける「被干渉プレーヤ」であり、干渉行為をする主体であるゲストプレーヤは「干渉プレーヤ」となる。
【0061】
図3は、干渉行為に係る制御について説明するための図である。
サーバシステム1100は、ゲームプレイが実行される毎に、プレーヤ別にプレイ履歴データ610を作成保存する。プレイ履歴データ610は、例えば
図4に示すように、固有のプレイID611と、プレイ日時613と、当該プレイのスタートプレーヤを示すプレーヤアカウント615と、当該履歴データのプレイに係るプレイ開始時セーブデータ616と、プレイ終了時セーブデータ617と、当該履歴データのプレイを再現するために必要なゲーム進行単位毎のプレイ再現用データ620と、が含まれている。
【0062】
「ゲーム進行単位」は、ゲームを進行制御する上での区切りである。例えば、格闘対戦ゲームであれば対戦ラウンドが該当し得る。レースゲームであれば、1レースや、1LAP、コースの区画が該当し得る。ゲーム内で行われるチャンピオンシップのシナリオの区切りなどもこれに該当し得る。アクションゲームであれば、ステージ、ある場所からある場所への移動まで、相手キャラクタに遭遇してからダウンするまで、などが該当し得る。育成ゲームや恋愛シミュレーションゲームであれば、ゲーム空間内での経過時間の単位が該当し得る。シューティングゲームではステージ、場面単位、などが該当し得る。RPGであれば、マップ上の範囲、特定のダンジョン、特定キャラクタにエンカウントしてから決着するまで、などが該当し得る。
【0063】
プレイ再現用データ620は、当該データがどのゲーム進行単位に対応するかを示す再現ゲーム進行単位識別情報621と、操作入力情報時系列データ622と、進行状況情報時系列データ623と、プレイ成績時系列データ625と、を含む。勿論、これら以外のデータも適宜含めることができる。
【0064】
操作入力情報時系列データ622は、当該ゲームプレイに係わるプレーヤ別に用意される。1つの操作入力情報時系列データ622は、当該プレーヤによる操作入力の情報(例えば、操作入力の種類、位置、方向、操作量、操作力、入力時間などの入力を記述する各種情報)を、入力された時間情報(例えば、日時やゲームプレイ開始からの経過時間、ゲーム画面の描画フレーム数など)と対応づけて格納する。
【0065】
進行状況情報時系列データ623は、その時々のゲーム進行情報を示す情報(例えば、プレイしているステージ番号、対戦ラウンド、ラウンド別の勝敗結果、プレーヤキャラクタ別の位置座標、プレーヤキャラクの位置及び姿勢、プレーヤキャラクタの状態を示すパラメータ値のリスト、など)を時間情報と対応づけて格納する。
【0066】
ゲーム内に、NPC(ゲームに登場しコンピュータにより自動制御されるキャラクタ:Non Player Character)が登場する場合には、進行状況情報時系列データ623に、当該NPCに係る制御情報を時系列に格納したNPC制御時系列データ624を含めることができる。
【0067】
プレイ成績時系列データ625は、その時々のプレーヤのプレイ成績を示す情報(例えば、獲得したポイント、獲得したアイテム、ゲーム進行単位のクリア数、撃墜数、ヒット率、ラウンド別の勝敗結果、など)を時間情報と対応づけて格納する。
【0068】
サーバシステム1100は、プレーヤ2毎に、当該プレーヤ2をスタートプレーヤとする複数のプレイ履歴データ610を参照して、当該プレーヤ2の失敗理由を分析する。
【0069】
「失敗理由」とは、ゲーム進行単位をクリアできない、ゲームで高成績を残せない(例えば、ステージ終了時に当該ステージの成績に応じて秀・優・並のランキングが付けられるならば、秀・優がとれない、得点が所定の基準値に達しない)、大技を出せない、などである。また例えば、ステージのボスキャラクタが攻略できない、特定アイテムの取得ができない、マップ上の障害物をクリアできない、操作入力の技量が不足している、攻略の要諦を見極められていない、などである。
【0070】
すなわち、「失敗理由」が意味するところは、ゲーム進行が滞った状態にあり得ることである。「失敗理由」は、操作入力情報時系列データ622と、進行状況情報時系列データ623と、プレイ成績時系列データ625とを参照し、所定の基準と比較することで判定できる。
【0071】
例えば、アクションRPGであれば、過去複数回のプレイにおいて、ゲームオーバがとあるゲームステージで連続的に起きている場合、当該ゲームステージがクリアできないことが失敗理由となる。そして、進行状況情報時系列データ623から、当該ゲームステージのボスキャラクタのHPが「0」になる前にプレーヤキャラクタのHPが「0」になっていれば、ボスキャラクタが攻略できないことが、詳細な失敗理由となる。
【0072】
同じようにステージクリアできない場合でも、例えば、ゲームマップのとある場所に、秘密の抜け道がある難所があるとする。操作入力情報時系列データ622や進行状況情報時系列データ623から、その難所付近でプレーヤキャラクタのHPが「0」になってゲームオーバしていて、プレーヤキャラクタの位置を追跡しても抜け道に至っていなければ、抜け道を見つけられないことが詳細な失敗理由となる。
【0073】
また例えば、格闘ゲームであれば、操作入力情報時系列データ622から、大技の操作入力コマンドに類似した入力がいくつも見つかるが、進行状況情報時系列データ623で当該大技の発動は無く、反対に対戦相手からの攻撃を受けている場合には、大技の操作入力コマンドを正しく入力できていない技量不足が詳細な失敗理由となる。
【0074】
図3に戻って、サーバシステム1100は、分析した失敗理由に応じて、当該プレイにおいて許可される干渉行為の種類とその内容の制約について決定する。
「許可される干渉行為」は、共有プレイで可能な干渉行為の種類のうち、一つ又は複数が選択される。干渉行為の種類は、ゲーム内容に応じて適宜設定可能である。例えば、「代替プレイ」「ガイド表示体の追加表示」「音声通話」などである。
【0075】
「制約内容」は、許可される干渉行為に共通又は種類別に設定される。制約内容の例としては、許可される干渉行為が「代替プレイ」であれば、制約は代替プレイ可能な時間、代替プレイ中に操作入力可能なコマンドやアクションの制限、代替プレイ中の操作応答性の低下、代替プレイ中の攻撃や防御等の能力の低下、などとすることができる。また、許可される干渉行為が「音声通話」「テキストの追加」「ガイド表示体の追加表示」であれば、時間制限、文字数制限、使用できる表示体の種類の制限、などを制限内容とすることができる。
【0076】
許可される干渉行為の種類と制約内容は、スタートプレーヤ(被干渉プレーヤ)への干渉行為が過度な援助とならないように援助効果と教育効果とのバランスを考慮して決定される。
【0077】
図5は、許可される干渉行為の種類や制約内容の決定に係る傾向の例を示すグラフである。許可される干渉行為の種類や制約内容の選択を左右する大きな要素は、スタートプレーヤ(被干渉プレーヤ)と干渉プレーヤの技量である。技量は、プレイ履歴データ610を分析して決定する。技量は、例えばプレイ成績に応じて自動的に付与されるプレーヤレベルや、キャラクタレベル、プレイ成績を示すパラメータ値(例えば、得点、誤入力率、攻撃成功率、1プレイ中の大技の出現数、アイテム獲得数、ステージクリア数、など)から判定できる。技量の区分は、適宜設定可能である。
【0078】
図5(1)は、スタートプレーヤ(被干渉プレーヤ)の技量と、各干渉行為の種類が許可される確率の傾向例を示すグラフである。許可される干渉行為の種類の選択においては、スタートプレーヤ(被干渉プレーヤ)の技量が低い程、代行プレイが採用される可能性が高くなり、技量が上がるほど「代行プレイ」が選択される確率が下がる。また、「音声通話」「テキストの追加」は、技量が中程度までは高い確率で選択されるが、それ以降は技量が上がるほど選択され難くなる。「ガイド表示体の追加表示」は中程度の技量から選択されるようになるが、技量がある程度上がると選択されなくなる、或いは選択される確率が小さくなる。
【0079】
つまり、技量が低いスタートプレーヤには、直接的な援助効果が高く、手本を示す意味合いが高い「代替プレイ」を優先的に選択し、技量が高くなるほどスタートプレーヤ自身がプレイ操作する状態を維持したまま、音声通話・テキストの追加・ガイド表示体の追加表示による干渉プレーヤによる助言に基づいて自ら考え行動する教育的効果に重点をおく。そして、より助言が理解しやすい「ガイド表示体の追加表示」は、技量が更に上がると比較的早期に選択しないようにする。
【0080】
図5(2)は、スタートプレーヤ(被干渉プレーヤ)の技量と、制約度合との関係の一例を示すグラフである。サーバシステム1100は、分析されたスタートプレーヤ(被干渉プレーヤ)の技量が第1の技量のときに比べてより高い第2の技量のときの方が、厳しい制約(高い制約)となるように制御する。
【0081】
また、
図5(3)は、干渉プレーヤの技量と、制約度合との関係の一例を示すグラフである。サーバシステム1100は、分析された干渉プレーヤの技量が第1の技量のときに比べて高い第2の技量のときの方が、厳しい制約(高い制約)となるように制御する。
【0082】
また、
図5(4)は、干渉プレーヤの技量と、スタートプレーヤ(被干渉プレーヤ)の技量との技量差と、制約度合との関係の一例を示すグラフである。サーバシステム1100は、干渉プレーヤの技量(レベル)が被干渉プレーヤの技量(レベル)よりも高い場合に、その差が第1の差のときに比べて、第1の差よりも大きい第2の差のときの方が、厳しい制約(高い制約)となるように制御する。
【0083】
図3に戻って、サーバシステム1100は、許可される干渉行為の種類とその制約内容を決めると、スタートプレーヤ(被干渉プレーヤ)のゲームで干渉行為を許可し、スタートプレーヤが干渉行為の実行を求めれば、干渉行為の制御を開始する。
【0084】
次に、干渉行為の制御に係る表示例について説明する。
図6は、干渉プレーヤ選択画面W6の表示例を示す図である。
干渉プレーヤ2bは、ゲーム開始前にスタートプレーヤ(被干渉プレーヤ2a:ホストプレーヤ)がゲーム開始前に予め選択・設定したゲストプレーヤの中から選択する。具体的には、サーバシステム1100は、スタートプレーヤ(被干渉プレーヤ2a)のゲストプレーヤの選択・受付の後に干渉プレーヤ選択画面W6を表示させる。同画面では、ゲストプレーヤ別に、アカウント名、プレーヤレベル、プレーヤアイコンが表示され、何れか1名の選択操作を受け付ける。
図6の例では、リスト最上端のプレーヤが干渉プレーヤとして選択された状態を示している。
【0085】
図7は、格闘ゲームにおける干渉行為に係る表示例を示す図である。
この例では、各複数回のプレイにおいて、被干渉プレーヤ2aが操作するプレーヤキャラクタ4が、あるNPC6のキャラクタとの対戦で勝利できていない(失敗理由)ので、「代行プレイ」の干渉行為が許可され、制約として(1)30秒の時間制限と、(2)使用不可能なコマンドの設定と、(3)攻撃力の低減と、が設定されている。許可される干渉行為の種類と、制約としての時間制限は、被干渉プレーヤ2aの技量や失敗理由の分析の結果によるところが大きく、使用不可コマンドの設定や攻撃力の低減は、干渉プレーヤ2bの技量の分析結果によるところが大きい。
【0086】
ゲーム画面W7には、干渉行為が許可されると、干渉行為をリクエストする干渉リクエスト操作アイコン10と、制限時間ゲージ12と、制約内容通知14と、が表示される。
被干渉プレーヤ2aが干渉リクエスト操作アイコン10をタッチ操作すると、サーバシステム1100は、代行プレイの制御を開始する。
【0087】
具体的には、サーバシステム1100は、プレーヤキャラクタ4の動作制御を、被干渉プレーヤ2aのプレーヤ端末1500aでの操作入力に基づく制御に代えて、干渉プレーヤ2bのプレーヤ端末1500bでの操作入力に基づく制御に、30秒間だけ切り換える。
【0088】
代行プレイ中は、プレーヤキャラクタ4の攻撃力は、代行プレイ前の攻撃力より低下し、且つある技を出すためのコマンドが使用不可能とされる。また、制限時間ゲージ12は時間経過とともにゲージ表示量が減少するように表示制御される。
そして、サーバシステム1100は、30秒後には、元の被干渉プレーヤ2aのプレーヤ端末1500aでの操作入力に基づく制御に戻す。
【0089】
図8は、RPGにおける干渉行為に係る表示例を示す図である。
ゲーム画面W8には、干渉リクエスト操作アイコン10と、制約内容通知14と、制約の一つとしての干渉行為可能な範囲限定を示す範囲指定16と、が表示される。
【0090】
当該RPGは、ゲームフィールドが複数のマップ(ゲーム進行単位の一つ)に分けられており、各マップにはそれぞれ特徴がある。
図8の例では、被干渉プレーヤ2aは、過去のプレイの分析から、森林のマップで連続してゲームオーバしており、その先に進めないでいる。被干渉プレーヤ2aは、初心者相当の技量と分析されるので、干渉行為は「代替プレイ」が選択されている。制約内容は「ゲームフィールドの指定範囲内」或いは「指定ゲーム進行単位」とされる。範囲指定16は、この例では第2の制約内容通知(範囲制約の通知)でもある。
【0091】
また、干渉プレーヤ2bは、被干渉プレーヤ2aよりも技量がずっと高いために、制約内容として、操作応答性の低下、敵出現率のUP、回復アイテムの使用不可、などが追加設定され、制約内容通知14で通知されている。そして、制約内容が、「ゲームフィールドの指定範囲内」或いは「指定ゲーム進行単位」の場合は、プレーヤキャラクタ4が指定された範囲外に位置すると、干渉行為は強制的に終了となる。
【0092】
図9は、アクションRPGにおける干渉行為に係る表示例を示す図である。
ゲーム画面W9には、干渉リクエスト操作アイコン10と、干渉行為種別表示17と、が表示される。この例では、被干渉プレーヤ2aの技量が比較的高く、代行プレイよりも助言を元に自ら操作する援助で十分と判断されており、「音声通話」と「表示体の追加表示」の干渉行為が許可されている。干渉行為種別表示17では、これらを意味する二つのアイコンが表示される。制約内容として、使用可能な表示体の種類が制限されることと、表示体の表示量制限、とが設定されている。
【0093】
表示体には、複数種類(
図9の例では、ゲーム画面へ指で描く手描き表示体20、指示アイコン22)が用意されており、その表示にはそれぞれ表示コストがかかる。表示体の表示毎に表示コストは積算されて、干渉プレーヤ2bに与えられたコスト限界に達すると、そこで表示体の表示は終了となる。どれだけ表示コストが積み上がったかは、コストゲージ18にて表示される(コスト限界=100)。
【0094】
次に、こうした干渉行為の制御を実現する機能構成について説明する。
図10は、サーバシステム1100の機能構成例を示す機能ブロック図である。サーバシステム1100は、操作入力部100sと、サーバ処理部200sと、音出力部390sと、画像表示部392sと、通信部394sと、サーバ記憶部500sとを備える。
【0095】
操作入力部100sは、サーバの管理のための各種操作を入力するための手段である。
図1のキーボード1106がこれに該当する。
【0096】
サーバ処理部200sは、例えばCPUやGPU、ASIC、FPGA等の演算回路となるプロセッサの他、ICメモリなどの電子部品によって実現され、操作入力部100sやサーバ記憶部500sを含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100sからの操作入力信号、プレーヤ端末1500などから受信したデータ、等に基づいて各種の演算処理を実行して、サーバシステム1100の動作を統合的に制御する。
【0097】
そして、サーバ処理部200sは、ユーザ管理部202と、ゲーム管理部220と、計時部280sと、音生成部290sと、画像生成部292sと、通信制御部294sとを含む。勿論、これら以外の機能部も適宜含めることができる。
【0098】
ユーザ管理部202は、ユーザ登録手続きに係る処理及びユーザアカウントに紐付けられる各種情報の記憶管理を行う。具体的には、ユーザ管理部202は、(1)登録ユーザへの固有のユーザアカウントの付与、(2)ユーザアカウント別に個人情報を登録管理する登録情報管理、(3)ゲームプレイに係る各種のセーブデータを管理するセーブデータ管理、(4)プレイ毎にプレイの内容をプレイ履歴データ610として記憶管理するプレイ履歴管理、(5)ユーザが保有するゲーム関連アイテムの管理、などを行う。勿論、これら以外のアカウントに紐付けられる他のデータの管理機能も適宜含めることができる。
【0099】
ゲーム管理部220は、共有プレイが可能なオンラインゲームを所与のゲーム進行単位で進行制御するための各種制御を実行する。具体的には、ゲーム管理部220は、分析部222と、選定部224と、干渉行為制御部230と、プレイ履歴管理部238と、を有する。
【0100】
分析部222は、被干渉プレーヤの複数回のゲームプレイを分析する。また、分析部222は、被干渉プレーヤおよび干渉プレーヤそれぞれの技量を分析する。
【0101】
選定部224は、干渉プレーヤを選定する制御を行う。干渉プレーヤ選択画面W6(
図6参照)の表示に係る制御もこれに該当する。
【0102】
具体的には、選定部224は、候補プレーヤ選択制御部226を有し、干渉プレーヤの選択候補とされるプレーヤを選択する制御を行う。候補プレーヤ選択制御部226は、ゲストプレーヤの選択を制御し、被干渉プレーヤ2aによるゲストプレーヤの選択が候補プレーヤの選択を兼ねる。そして、選定部224は、候補プレーヤの中から、被干渉プレーヤ2aの選択操作に基づいて選択された候補プレーヤを干渉プレーヤとして選定する。
【0103】
また、候補プレーヤ選択制御部226は、干渉プレーヤの技量(レベル)と被干渉プレーヤの技量(レベル)との差が所定の大差条件を満たす干渉プレーヤを、候補プレーヤとして選択除外し、当該干渉プレーヤによる干渉行為の実行を実質的に禁止させる制御を行う。
【0104】
干渉行為制御部230は、干渉の仕方が異なる複数種類の干渉行為のなかから、干渉プレーヤによる被干渉プレーヤへの干渉行為の種類を、分析部222の分析結果に基づいて制御する。そして、干渉行為制御部230は、干渉行為種類決定部232と、制約制御部234とを有する。
【0105】
干渉行為種類決定部232は、干渉プレーヤによる干渉行為の種類を分析部222の分析結果に基づいて決定する。
【0106】
制約制御部234は、干渉プレーヤによる干渉行為に制約を付加する制御を分析部222の分析結果に基づいて行う。具体的には、制約制御部234は干渉プレーヤによる干渉行為を許容するか否かをゲームの進行単位毎に制御する。そして、干渉行為制御部230は、分析部222により分析された被干渉プレーヤの技量が第1の技量のときに比べて、第1の技量よりも高い第2の技量のときの方が、厳しい制約となるように制御する。また、制約制御部234は、干渉プレーヤの技量(レベル)が被干渉プレーヤの技量(レベル)よりも高い場合に、その差が第1の差のときに比べて、第1の差よりも大きい第2の差のときの方が、厳しい制約となるように制御する。
【0107】
より具体的には、制約制御部234は、干渉プレーヤによる干渉行為が可能な時間を制限する制御を行う。特に代行プレイに付加する制約としては、制約制御部234は、(1)干渉プレーヤが操作入力可能なコマンド又はアクションに制約を付加する制御、
(2)干渉プレーヤの操作入力に対する応答速度(操作応答性)を変更することで制約を付加する制御、
(3)干渉プレーヤが操作入力したアクションに対する効果(例えば、攻撃力・防御力等の諸能力の効果)を変更することで制約を付加する制御、
(4)被干渉プレーヤがゲームプレイするときよりもゲーム進行を難化させることで制約を付加する制御、
(5)干渉プレーヤの技量(レベル)と、被干渉プレーヤの技量(レベル)との差が所定の大差条件を満たす場合には、代行プレイを禁止させる制御、
を行う。
【0108】
また、制約制御部234は、干渉プレーヤによる干渉行為が行われることで減少又は増加するゲージの表示制御を行い、当該ゲージが所定状態となったときに干渉プレーヤによる干渉行為を終了させる制御を行う。
【0109】
プレイ履歴管理部238は、ゲームをプレイした各プレーヤの当該プレイの内容を記述するデータの管理制御を行う。プレイ履歴データ610を生成し、サーバ記憶部500sに記憶させ保存する制御がこれに該当する。
【0110】
計時部280sは、システムクロックを利用して現在日時や制限時間等の計時を行う。
【0111】
音生成部290sは、音声データの生成やデコードをするICやソフトウェアの実行により実現され、サーバシステム1100のシステム管理や、ゲーム等に係る操作音や効果音、BGM、音声通話、などの音声データを生成或いはデコードする。そして、システム管理に関する音声信号は音出力部390sへ出力する。
【0112】
音出力部390sは、音声信号を放音する。
図1の例では本体装置やタッチパネル1108が備えるスピーカ(不図示)がこれに該当する。
【0113】
画像生成部292sは、画像の生成、画像の合成、画像表示部392sにそれらを表示させる画像信号の出力を行う。サーバシステム1100のシステム管理に関する画面やゲームに係る各種画面(又はそれらをプレーヤ端末1500で表示させるためのデータ)などを生成する機能の一部がこれに該当する。
【0114】
画像表示部392sは、フラットパネルディスプレイや、ヘッドマウントディスプレイ、プロジェクターなど、画像を表示させる装置で実現される。
図1の例では、タッチパネル1108がこれに該当する。
【0115】
通信制御部294sは、データ通信に係るデータ処理を実行し、通信部394sを介して外部装置とのデータのやりとりを実現する。
【0116】
通信部394sは、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。
図1の例では通信装置1153が該当する。
【0117】
サーバ記憶部500sは、サーバ処理部200sにサーバシステム1100を統合的に制御させるための諸機能を実現するためのプログラムや各種データ等を記憶する。また、サーバ処理部200sの作業領域として用いられ、サーバ処理部200sが各種プログラムに従って実行した演算結果などを一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD-ROMやDVDなどの光学ディスク、オンラインストレージなどによって実現される。
図1の例では本体装置が搭載するICメモリ1152やハードディスクなどの記憶媒体、及びストレージ1140がこれに該当する。
【0118】
図11は、サーバ記憶部500sが記憶するプログラムやデータの例を示す図である。本実施形態におけるサーバ記憶部500sは、サーバプログラム501と、配信用クライアントプログラム503と、ゲーム初期設定データ510と、技量判定基準データ520と、失敗理由判定基準データ530と、許可干渉行為種類定義データ540と、制約定義データ550と、を記憶する。
【0119】
また、サーバ記憶部500sは、逐次生成・管理されるデータとして、ユーザ管理データ600と、ログインユーザリスト692と、プレイデータ700と、現在日時800と、を記憶する。サーバ記憶部500sは、その他のプログラムやデータ(例えばタイマーや、カウンタ、各種フラグなど)も適宜記憶する。
【0120】
サーバプログラム501は、サーバ処理部200sが読み出して実行することで、ユーザ管理部202、ゲーム管理部220としての機能を実現させるためのプログラムである。
配信用クライアントプログラム503は、プレーヤ端末1500へ提供されるクライアントプログラムのオリジナルである。
ゲーム初期設定データ510は、ゲームの実行制御に必要な各種初期設定データを含む。
【0121】
技量判定基準データ520は、技量毎に用意され、プレイ履歴データ610に格納されている各種データに基づいて当該技量と判定する基準を定義するための情報を格納する。一つの技量判定基準データ520は、例えば
図12に示すように、判定要件521と、技量判定結果529と、を含む。
【0122】
判定要件521は、判定基準を記述する情報であって、ゲーム進行単位条件522・操作入力条件523・進行状況条件524・プレイ成績条件525の4つの条件のデータを含む。そして、これら四つの条件のAND又はORで、当該基準データにおける判定要件521、つまり技量判定結果529の技量と判定されるための基準が記述される。なお、これら4つの条件は、それぞれ「未定」或いは「無条件」すなわち当該条件が無いこととして1~3つの条件とすることもできる。
【0123】
ゲーム進行単位条件522は、プレイ履歴データ610(
図4参照)の再現ゲーム進行単位識別情報621が満たすべき要件を示している。例えば、RPGであれば、技量判定対象のプレーヤが、初期ステージしか行けていないのか、最終ステージまで到達しているかで、判定される技量は異なる。
【0124】
操作入力条件523は、プレイ履歴データ610の操作入力情報時系列データ622が満たすべき要件を示している。例えば、格闘ゲームであれば、プレイ中に入力された正しいコマンド(一つ又は複数の操作入力の組合せの意)の種類、連続的に入力された正しいコマンドの組み合わせ、操作ミスと思われる正しいコマンドに類似している誤った操作入力の組合せの有無、それらの出現割合、などを条件の記述に用いる。それらを用いて記述したサブ条件を適切に組み合わせることで、技量判定対象のプレーヤが、特定のコマンドしか使わないのか、満遍なくコマンドを使っているのか、コンボを安定的に成功させられるのか、コンボを狙っているが成功できないのか、を知ることができる。その結果に基づいて技量が判定される。
【0125】
進行状況条件524は、プレイ履歴データ610の進行状況情報時系列データ623が満たすべき要件を示している。例えば、シューティングゲームであれば、敵キャラクタを撃墜した回数、撃墜した時間間隔、攻撃のヒット率、アイテムの使用の有無、アイテムの使用タイミングと敵撃破のタイミング、ゲーム開始からゲームオーバまでの経過時間長、などを条件の記述に用いることができる。そして、それらを用いて記述したサブ条件を適切に組み合わせることで、技量判定対象のプレーヤについての照準の正確さや、アイテムを上手く使えるか、どのような状況でダメージを受けるか、時間的に長くゲームをプレイできているか、ボスキャラを撃墜できているか、を知ることができる。その結果に基づいて技量が判定される。
【0126】
プレイ成績条件525は、プレイ履歴データ610のプレイ成績時系列データ625が満たすべき要件を示している。例えば、プレーヤレベル、総得点、得点獲得ペース、アイテムの取得、撃破数、ヒット率、ゲーム進行単位のクリア率、勝敗数、などを条件の記述に用いることができる。そして、それらを用いて記述したサブ条件を適切に組み合わせることで、技量判定対象のプレーヤについての技量を直接的に知ることができる。その結果に基づいて技量が判定される。
【0127】
図11に戻って、失敗理由判定基準データ530は、失敗理由の種類別に用意され、被干渉プレーヤ2aのプレイ履歴データ610に格納されている各種データに基づいて、被干渉プレーヤ2aが過去複数回のプレイにおいて当該種類の失敗理由が有ったことを判定するための基準を定義する。
【0128】
一つの失敗理由判定基準データ530は、例えば
図13に示すように、判定要件531と、失敗理由種類537と、を対応付けて格納する。
プレイ履歴データ610には、ゲーム終了時にまでの操作入力や進行状況情報、プレイ成績に関する情報が残されているので、失敗理由を判定する基準は、操作入力や進行状況情報、プレイ成績を記述する各種パラメータについての単数又は複数の条件で記述できる。
【0129】
判定要件531は、ゲーム進行単位条件532・操作入力条件533・進行状況条件534・プレイ成績条件535の4つの条件のデータを含む。そして、これら4つの条件のAND又はORで、当該基準データにおける判定要件531が記述される。なお、これら4つの条件は、それぞれ「未定」或いは「無条件」すなわち当該条件が無いこととして1~3つの条件とすることもできる。
【0130】
失敗理由種類537は、失敗理由が生じたゲーム進行の時間的状況と、ゲーム空間内における位置状況と、失敗理由が生じた進行状況と、の3つのパラメータを用いて複数種類用意されている。失敗理由種類537は、時間的状況と、位置状況と、進行状況と、のパラメータそれぞれについて設定される。例えば、とある失敗理由種類537は「プレイ全体・全域・防御不足」と設定される。また別の失敗理由種類537は「最終ステージ・可動障害物付近・回避タイミング未習得」と設定される。
【0131】
失敗理由判定基準データ530の判定要件531の内容と失敗理由種類537の種類とは、システム運用者がゲーム内容に応じて適宜設定する。その際、システム運用者は、「被干渉プレーヤがどのようなシチュエーションにあったら、或いはどのようなプレイ傾向を有するならば干渉行為を許容・許可するか」の観点で、シチュエーション別に設定するとよい。
【0132】
具体的には、例えば、格闘ゲームであれば、操作入力条件533と進行状況条件534とで「攻撃相手からの攻撃を受けた際に、防御コマンドの入力が所与の基準より少ない」を記述した失敗理由判定基準データ530であれば、失敗理由種類537は「防御不足」とすることができる。当該失敗理由判定基準データ530は「防御行為が不慣れな被干渉プレーヤのために干渉行為を許可する」ための基準データということになる。
【0133】
また、格闘ゲームであれば、操作入力条件533と進行状況条件534とによって「コンボのコマンドに類似した誤入力(例えば、技A→技B→技C→技Dの複数コマンドで成立するコンボの場合、技Aと技Bのコマンドは正しく入力できたが、技C又は技Dの入力を失敗している)」を記述した失敗理由判定基準データ530であれば、失敗理由種類537は「コンボのコマンド入力ミス」とすることができる。失敗理由判定基準データ530は「コンボが出せない被干渉プレーヤのために干渉行為を許可する」ための基準データということになる。
【0134】
例えば、回避行動と攻撃行動とを取りながら進行するシューティングゲームで、ゲーム進行単位条件532が「(可動障害物の回避を主にする)所定ステージ」で、進行状況条件534が「当該ステージの到達点がランダム」を記述した失敗理由判定基準データ530と、ゲーム進行単位条件532は同じで進行状況条件534が「当該ステージの到達点が特定の仕掛け付近に集中」を記述した失敗理由判定基準データ530と、を用意したとする。
【0135】
前者の例の失敗理由種類537は「所定ステージ:回避苦手」、後者の例の失敗理由種類537は「所定ステージ:特定仕掛けの回避タイミング未習得」とすることができる。これらの失敗理由判定基準データ530は「所定ステージ全域で(または一部限定で)被干渉プレーヤのために干渉行為を許可する」ための基準データということになる。
【0136】
また例えば、アクションRPGで、ゲーム進行単位条件532が「(可動障害物を、抜け道を見つけて回避することでクリアする)所定ステージ」で、進行状況条件534が「プレーヤキャラクタが可動障害物付近でゲームオーバ」且つ「抜け道付近に移動した痕跡なし」を記述した失敗理由判定基準データ530であれば、失敗理由種類537は「抜け道未発見」とすることができる。当該失敗理由判定基準データ530は「所定ステージで抜け道を発見できない被干渉プレーヤのために干渉行為を許可する」ための基準データということになる。
【0137】
また例えば、障害物を回避し、アイテムを獲得しながら進むアクションゲームで、進行状況条件534とプレイ成績条件535とによって「ステージ後半のアイテム集積場所でアイテムを取得できていない」を記述した失敗理由判定基準データ530であれば、失敗理由種類537は「ステージ後半のミス」とすることができる。当該失敗理由判定基準データ530は「ステージでアイテムを十分獲得できない被干渉プレーヤのために干渉行為を許可する」ための基準データということになる。
【0138】
図11に戻って、許可干渉行為種類定義データ540は、「被干渉プレーヤがどのようなシチュエーションにあったら、或いはどのようなプレイ傾向を有するならば干渉行為を許容・許可するか」の観点に基づくシチュエーション別やプレイ傾向別に用意され、それぞれどの種類の干渉行為を許可するかを定義する。
【0139】
一つの許可干渉行為種類定義データ540は、例えば
図14に示すように、当該定義データが選択・採用されるための適用要件541と、一つ又は複数の干渉行為の種類を示す許可干渉行為種類リスト547と、を対応付けて格納する。適用要件541は、被干渉プレーヤ技量条件542と、干渉プレーヤ技量条件543と、技量差条件544(技量差=干渉プレーヤ技量-被干渉プレーヤ技量)と、失敗理由種類条件545と、のAND又はORで記述される。なお、これら4つの条件は、それぞれ「設定なし」「無制限」を設定可能である。
【0140】
図11に戻って、制約定義データ550は、干渉行為種類毎に用意され、当該干渉行為種類に係り設定可能な制約の内容を定義する各種データを格納する。
一つの制約定義データ550は、例えば
図15に示すように、当該定義データの適用先を示す対象干渉行為種類552と、制約内容別に用意された制約定義セット560と、を含む。そして、各制約定義セット560は、当該定義セットが選択・採用されるための適用要件561と、制約内容データ570と、を対応づけて格納する。
【0141】
適用要件561は、被干渉プレーヤ技量条件562と、干渉プレーヤ技量条件563と、技量差条件564と、失敗理由種類条件545と、をAND又はORで組み合わせて記述される。勿論、適用要件561の記述には、その他の条件も適宜加えることができる。例えば、過去何回同じ失敗理由を繰り返しているかの条件、プレーヤの個人情報(例えば、年齢、性別、国籍、など)についての条件、などを加えることができる。
【0142】
制約内容データ570は、干渉許可ゲーム進行単位リスト571と、干渉許可時間長572と、干渉コスト限界値573と、干渉許可マップ範囲574と、使用不可操作コマンドリスト575と、応答遅延設定値576と、効果減衰制御値577と、難易度調整値578と、を含む。勿論、これら以外のデータも適宜含めることができる。また、これらは、それぞれ「設定なし」「無制限」を設定することができる。
【0143】
使用不可操作コマンドリスト575は、使用不可能として制約される操作コマンド又は当該操作コマンドで実行されるアクション種類、を格納する。
【0144】
効果減衰制御値577は、移動・攻撃・防御・回復などプレーヤキャラクタの能力や、アイテムの作用効果を、干渉行為の実行前に対して実行中どれだけ低下させるかを示す。
【0145】
難易度調整値578は、ゲーム難易度に係る応答遅延と効果減衰以外の調整パラメータ別に用意され、当該調整パラメータを干渉行為の実行前に対して実行中どれだけゲーム難易度を高めるかを示す。
【0146】
図16は、ユーザ管理データ600のデータ構成例を示す図である。
ユーザ管理データ600は、所定の登録手続をしたユーザ毎に用意され、当該ユーザに係る各種データを格納する。1つのユーザ管理データ600は、例えば、固有のユーザアカウント601と、フレンドリスト603と、プレイ履歴データ610(
図4参照)と、干渉履歴データ630と、を含む。勿論、これら以外のデータも適宜含めることができる。
【0147】
干渉履歴データ630は、当該ユーザが干渉プレーヤ2bとして干渉行為を行った履歴を記述する各種データを格納する。例えば、1つの干渉履歴データ630は、1つのプレイに関して最初の干渉行為を実行する際に作成され、干渉行為を実行した干渉日時、干渉行為をしたゲームプレイを特定する干渉対象プレイID、被干渉プレーヤアカウント、などを格納する。勿論、これら以外のデータも適宜含めることができる。
【0148】
図11に戻って、プレイデータ700は、ゲームプレイ毎に作成され、当該ゲームプレイにおける最新の進行状況や最新のプレイ成績などを記述する各種データが格納される。
1つのプレイデータ700は、例えば
図17に示すように、固有のプレイID701と、プレイ日時703と、プレーヤアカウント705(被干渉プレーヤ2aのアカウントになる)と、操作入力情報707と、NPC動作制御情報709と、進行状況情報711と、プレイ成績713と、干渉制御データ740と、を含む。勿論、これら以外のデータも適宜含めることができる。
【0149】
図18は、干渉制御データ740のデータ構成例を示す図である。
干渉制御データ740は、干渉実施プレイID741(プレイID701のコピー)と、干渉プレーヤアカウント742(プレーヤアカウント705のコピー)と、ゲストプレーヤアカウントリスト743と、干渉プレーヤの候補たり得るプレーヤのリストである候補プレーヤアカウントリスト744と、干渉プレーヤアカウントリスト746と、干渉待機時間タイマー748と、分析結果データ750と、許可干渉行為種類リスト758と、適用制約設定データ760と、を含む。勿論、これら以外のデータも適宜含めることができる。
【0150】
干渉待機時間タイマー748は、干渉行為が終了する毎に作成され、当該干渉行為を行ったプレーヤについて所定時間を計時し、計時完了すると削除される。計時完了までは、当該プレーヤは次の干渉行為が禁止される。具体的には、干渉プレーヤとして選択されない。
【0151】
分析結果データ750は、被干渉プレーヤ技量751と、干渉プレーヤ技量752と、技量差753と、失敗理由種類754と、を含む。
【0152】
許可干渉行為種類リスト758には、適用要件541を満たした許可干渉行為種類定義データ540(
図14参照)の許可干渉行為種類リスト547の設定がコピーされる。
【0153】
適用制約設定データ760は、直近の干渉行為に適用される制約の内容を記述する各種データを格納する。具体的には、適用制約設定データ760は、干渉許可ゲーム進行単位リスト761と、干渉許可時間長762と、干渉コスト限界値763と、干渉許可マップ範囲764と、使用不可操作コマンドリスト765と、応答遅延設定値766と、効果減衰制御値767と、難易度調整値768と、を含む。勿論、これら以外のデータも適宜含めることができる。
【0154】
許可干渉行為種類リスト758は、許可干渉行為種類定義データ540(
図14参照)に基づいて、許可された干渉行為の種類(許可干渉行為種類リスト547で示された種類)が設定される。
【0155】
干渉許可時間長762と、干渉コスト限界値763は、それぞれ制限時間ゲージ12(
図7参照)、コストゲージ18(
図9参照)のゲージ制御の元になる。
【0156】
干渉許可ゲーム進行単位リスト761~難易度調整値768は、制約定義データ550(
図15参照)のうち、対象干渉行為種類552が許可干渉行為種類リスト758に適合する定義データに格納されている制約定義セット560のうち、適用要件561を満たすセットの制約内容データ570がコピー・設定される。
【0157】
図19は、プレーヤ端末1500の機能構成例を示す機能ブロック図である。プレーヤ端末1500は、操作入力部100と、端末処理部200と、音出力部390と、画像表示部392と、通信部394と、端末記憶部500と、を備える。
【0158】
操作入力部100は、ユーザによってなされた各種の操作入力に応じた操作入力信号を端末処理部200に出力する。例えば、プッシュスイッチや、ジョイスティック、タッチパッド、トラックボール、加速度センサ、ジャイロ、CCDモジュール、などによって実現できる。
図2の方向入力キー1502や、ボタンスイッチ1504、タッチパネル1506、などがこれに該当する。
【0159】
端末処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ICメモリなどの電子部品によって実現され、操作入力部100や端末記憶部500を含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100からの操作入力信号、サーバシステム1100から受信した各種データに基づいて各種の演算処理を実行して、プレーヤ端末1500の動作を制御する。
図2の制御基板1550がこれに該当する。
【0160】
そして、本実施形態における端末処理部200は、プレーヤ端末演算部260と、計時部280と、音生成部290と、画像生成部292と、通信制御部294と、を有する。
【0161】
プレーヤ端末演算部260は、プレーヤ端末1500をサーバシステム1100と通信するクライアント装置としての機能を実現させる制御を行う。具体的には、プレーヤ端末演算部260は、操作信号送信制御部261と、画像表示制御部262と、を含む。
【0162】
操作信号送信制御部261は、操作入力部100へなされた操作に応じて、各種データやリクエストをサーバシステム1100へ送信するための処理を実行する。
【0163】
画像表示制御部262は、サーバシステム1100から受信した各種データ等に基づいてゲーム画面や各種の操作画面等を表示するための制御を行う。
【0164】
計時部280は、システムクロックを利用して現在日時や制限時間等の計時を行う。
【0165】
音生成部290は、例えばデジタルシグナルプロセッサ(DSP)や、音声合成ICなどのプロセッサ、音声ファイルを再生可能なオーディオコーデック等によって実現され、楽曲や効果音、各種操作音の音信号を生成し、音出力部390に出力する。
【0166】
音出力部390は、音生成部290から入力される音信号に基づいて音出力(放音)する装置によって実現される。
図2のスピーカ1510がこれに該当する。
【0167】
画像生成部292は、画像表示制御部262の処理結果に基づいて、画像の生成・画像の合成、画像表示部392にそれらを表示させる画像信号の出力、などを行う。
図2の例では、制御基板1550に搭載されるGPU(Graphics Processing Unit)、グラフィックコントローラがこれに該当する。
【0168】
画像表示部392は、フラットパネルディスプレイや、ヘッドマウントディスプレイ、プロジェクターなど、画像を表示させる装置で実現される。
図2の例では、タッチパネル1506がこれに該当する。
【0169】
通信制御部294は、データ通信に係るデータ処理を実行し、通信部394を介して外部装置とのデータのやりとりを実現する。
【0170】
通信部394は、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。
図2の例では無線通信モジュール1553がこれに該当する。
【0171】
なお、本実施形態では、ゲーム画面や各種の画面の画像をサーバシステム1100にて生成する構成とするが、プレーヤ端末1500で生成する構成も可能である。その場合、画像表示制御部262は、例えば3DCGを生成するための仮想3次元空間に配置されたオブジェクトの制御などを行い、画像生成部292が3DCGをレンダリングし、ゲーム画面を生成するための各種制御を実行することになる。
【0172】
端末記憶部500は、端末処理部200に所与の機能を実現させるためのプログラムや、各種データ等を記憶する。また、端末処理部200の作業領域として用いられ、端末処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。こうした機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD-ROMやDVDなどの光学ディスクなどによって実現される。
図2の例では、制御基板1550が搭載するICメモリ1552やメモリカード1540がこれに該当する。オンラインストレージを利用する構成も可能である。
【0173】
具体的には、端末記憶部500は、端末処理部200をプレーヤ端末演算部260として機能させるためのクライアントプログラム502と、操作入力データ690と、現在日時800と、を記録する。勿論、これら以外のデータも適宜記憶できる。
【0174】
次に、ゲームシステム1000の動作について説明する。
図20~
図21は、サーバシステム1100のゲームプレイに係る処理の流れを説明するためのフローチャートである。なお、被干渉プレーヤ2a及び干渉プレーヤ2bとなり得る候補プレーヤは、ログイン状態にあるものとする。
【0175】
サーバシステム1100は、スタートプレーヤ(被干渉プレーヤ2a)によるゲーム開始操作入力を検出すると、被干渉プレーヤ2aの過去所定回数分のプレイ履歴データ610(
図4参照)と技量判定基準データ520(
図12参照)を参照して、被干渉プレーヤ2aの技量を分析する(ステップS4)。
【0176】
また、サーバシステム1100は、被干渉プレーヤ2aの過去所定回数分のプレイ履歴データ610と失敗理由判定基準データ530(
図13参照)を参照して、被干渉プレーヤ2aの失敗理由を分析する(ステップS6)。失敗理由は、その種類別に分類・統計処理すると好適である。
【0177】
次に、サーバシステム1100は、被干渉プレーヤ2aによる共有プレイのゲストプレーヤの選択を受け付け(ステップS10)、ゲストプレーヤを候補プレーヤと見なして干渉プレーヤ2bの選択を受け付ける(ステップS12:
図6参照)。
【0178】
候補プレーヤの選択受付においては、ゲストプレーヤであっても適宜、選択対象外を設定することできる。
例えば、被干渉プレーヤ2aとの技量差が所定の大差条件を満たすプレーヤを選択対象外とすることができる。被干渉プレーヤ2aからみて大差条件を満たすほどに上手過ぎるプレーヤによる代行プレイは、素早く無駄の無い、流れるようなプレイになり、被干渉プレーヤ2aには何が起きているのか理解できない場合がある。しかし、大差条件を満たすプレーヤを選択対象外とすることで、そうした事態を防ぐことができる。別の言い方をすると、被干渉プレーヤの技量に近く、程良い手本となる干渉行為となるように制御することができる。
【0179】
また、候補プレーヤの選択受付においては、ゲストプレーヤの干渉履歴データ630(
図16参照)を参照して、当該被干渉プレーヤとは別のプレーヤの実行中プレイにて既に干渉行為を行っているプレーヤを、選択対象外とするとしてもよい。この場合、被干渉プレーヤ2aと干渉プレーヤ2bとをいわば専属のような関係とすることができる。
【0180】
また、候補プレーヤの選択受付においては、直近過去の干渉行為から所定の待機時間が経過していなプレーヤ、などを判別して選択対象外とするとしてもよい。待機時間の長さの設定によって、干渉行為による援助機会の時間的間隔を適切に管理し、被干渉プレーヤ2aが同じ干渉プレーヤに安易に援助依頼できないようにできる。
【0181】
次に、サーバシステム1100は、選択された干渉プレーヤ2bの過去所定回数分のプレイ履歴データ610に基づいて、当該干渉プレーヤの技量を分析する(ステップS14)。
【0182】
次に、サーバシステム1100は、セーブデータの読み込みや、プレーヤキャラクタの設定、ゲーム空間の設定といったゲームプレイの初期化処理を実行し(ステップS20)、ゲームの進行制御を開始する(ステップS22)。
【0183】
実行されるゲームは、共有プレイであるから、サーバシステム1100は、被干渉プレーヤ2aのプレーヤ端末1500aでの操作入力に基づいて、プレーヤキャラクタ等を制御してゲームの進行制御し、同じゲーム画面を被干渉プレーヤ2aのプレーヤ端末1500aとゲストプレーヤのプレーヤ端末1500とで表示させる。
【0184】
ゲームの進行制御を開始したならば、サーバシステム1100はゲーム進行単位毎にループAを実行する(ステップS40~ステップS110:
図21参照)。
ループAでは、サーバシステム1100は、被干渉プレーヤ2a及び干渉プレーヤ2bそれぞれの技量と分析された失敗理由と許可干渉行為種類定義データ540(
図14参照)とに基づいて、これから行われるゲームプレイにて許可される干渉行為の種類を決定する(ステップS60)。また、サーバシステム1100は、制約定義データ550(
図15参照)に基づいて、許可される干渉行為に適用される制約内容を決定する(ステップS62)。
【0185】
サーバシステム1100は、ゲーム進行を制御しながら干渉行為が可能な状況であるかを判定・監視している(ステップS70)。
具体的には、決定された制約内容、すなわち適用要件561に適合する制約内容データ570(
図15参照)の干渉許可ゲーム進行単位リスト571に、例えば、ループAの処理対象のゲーム進行単位が含まれていれば、干渉行為可能と判定する。また例えば、干渉許可ゲーム進行単位リスト571に、特定キャラクタとの戦闘シーンが含まれている場合、特定キャラクタがエンカウントすると干渉行為可能と判定する。また、干渉プレーヤ2bが干渉待機中でないこと(当該プレーヤの干渉待機時間タイマー748(
図18参照)が無いこと)を干渉行為可能と判定するための要件に含めることができる。
【0186】
そして、干渉行為が可能であると判定したならば(ステップS70のYES)、且つ、その時既に実行中の干渉行為の制御が無ければ(ステップS72のNO)、サーバシステム1100は、ゲーム画面に干渉リクエスト操作アイコン10等(
図7参照)を表示させ、被干渉プレーヤ2aによる干渉リクエスト操作の受け付けを開始する(ステップS74)。
【0187】
そして、被干渉プレーヤ2aによる干渉リクエストの操作入力があれば(ステップS76のYES)、サーバシステム1100は、許可された干渉行為に応じて、干渉プレーヤ2bによる、適用制約設定データ760(
図18参照)が示す制約内容が適用された干渉行為を実現する制御を開始する(ステップS78)。
【0188】
例えば、許可された干渉行為が、代行プレイであるならば、サーバシステム1100は、被干渉プレーヤ2aのプレーヤ端末1500aでの操作入力に代えて、干渉プレーヤ2bのプレーヤ端末1500bでの操作入力に基づくプレーヤキャラクタ等の制御に切り換えてゲームの進行制御を継続する。ゲーム画面は、そのまま被干渉プレーヤ2aのプレーヤ端末1500aと、ゲストプレーヤのプレーヤ端末1500との両方で同じ内容を表示させる。また、制約内容に制限時間が含まれる場合には、適宜、制限時間の計時を開始して、最新の結果をゲーム画面内に制限時間ゲージ12(
図7参照)で表示させる。また、制約内容にコスト限界が含まれている場合には、干渉行為の都度に当該行為のコストを累積して、最新の累積状況をコストゲージ18(
図9参照)で表示させる制御を行う。
【0189】
図21に移って、サーバシステム1100は、実行中の干渉行為の終了条件が満たされたかを判定する(ステップS90)。例えば、干渉行為の開始から干渉許可時間長762が経過した場合や、干渉行為にともなうコストが干渉コスト限界値763に達する場合、干渉プレーヤ2bが操作するプレーヤキャラクタ4が逸脱した干渉許可マップ範囲764の示す範囲から逸脱した場合、など、干渉行為が許可される状況の終わりや、制約違反状況が検出されると、サーバシステム1100は干渉行為の終了条件が満たされたと判定する。
【0190】
そして、実行中の干渉行為の終了条件が満たされた場合(ステップS90のYES)、サーバシステム1100は、実行中の干渉行為の制御を終了させる(ステップS92)。
本実施形態では、制限時間ゲージ12やコストゲージ18は、制約の限界を示す。よって、ステップS78に伴うゲージの表示制御からステップS90、ステップS92の流れを逆説的に述べれば、サーバシステム1100は、干渉プレーヤ2bによる干渉行為が行われることで減少又は増加するゲージの表示制御を行い、当該ゲージが所定状態となったときに干渉プレーヤに2bよる干渉行為を終了させる制御を行っているとも言える。
【0191】
干渉行為の制御終了にともない、サーバシステム1100は、干渉行為に係るゲージ等の追加表示を終了させ、干渉プレーヤ2bの干渉履歴データ630(
図16参照)を保存する。ステップS90~S92の処理は、ゲージが所定状態となったときに干渉プレーヤによる干渉行為を終了させる制御を行う、と言い換えることができる。
【0192】
実行中の干渉行為の終了条件が満たされる前に、ループAの処理対象のゲーム進行単位がクリアされた場合(ステップS102のYES)には、サーバシステム1100は、実行中の干渉行為の制御を終了させて(ステップS104)。次の処理対象のループA処理を実行する(ステップS110)。
【0193】
全てのゲーム進行単位についてループAを実行したならば、サーバシステム1100は、所定のゲーム終了処理を実行して(ステップS120)、被干渉プレーヤ2aのプレイ履歴データ610(
図16参照)を保存し(ステップS122)、一連の処理を終了する。
【0194】
なお、ゲーム終了条件を満たす場合、いわゆるゲームクリアできずにゲームオーバに成った場合(ステップS100)、サーバシステム1100は、実行中の干渉行為の制御を終了させから(ステップS106)、所定のゲーム終了処理を実行して(ステップS120)、被干渉プレーヤ2aのプレイ履歴データ610を保存し(ステップS122)、一連の処理を終了する。
【0195】
以上、本実施形態によれば、共有プレイ環境における干渉行為を適切に制御する技術を提供することができる。
【0196】
具体的には、ゲームシステム1000(特にはサーバシステム1100)は、被干渉プレーヤ2aの過去のプレイについて分析して、分析結果に基づいて、複数種類のなかから適当な種類の干渉行為の実行を制御できる。つまり、ゲームシステム1000は、分析により明らかとなる被干渉プレーヤ2aのプレイの実績やスタイルに応じて干渉行為を適切に調整できる。援助目的の干渉行為に着目すれば、多過ぎず少な過ぎることのない適切な干渉行為が行われるような制御が実現可能となる。短期的な援助効果は勿論のこと、長期的な教育効果をもたらすように干渉行為の実行を制御できる。
【0197】
また、干渉行為に係る制約を適切に設定することで、干渉行為の質と量とを調整することができる。
しかも、ゲームシステム1000は、被干渉プレーヤや干渉プレーヤの技量が高くなるほど、また両者の技量差が大きくなるほどに制約をより厳しくするように制御できる。被干渉プレーヤを干渉プレーヤが援助する多くのケースでは、干渉プレーヤの方が被干渉プレーヤよりも技量が高い。この場合、干渉プレーヤにしてみれば干渉行為は簡単な行為であり、数多く干渉行為をこなして行くと、干渉プレーヤに退屈感を与えかねないが、そのような退屈感とは真逆の興趣性が生じ得る。
【0198】
また、干渉行為の実行範囲を、ゲーム進行単位とすることで、ゲーム進行に違和感のない干渉行為の許可・実現ができる。また、被干渉プレーヤにとっても干渉プレーヤにとっても、干渉行為をどこからどこまでやってよいかの区切りが分かり易くなる。
【0199】
〔第2実施形態〕
次に、第2実施形態について説明する。第2実施形態と第1実施形態とを比較すると、第1実施形態ではユーザ管理及びゲーム管理の各機能をサーバシステム1100にて実現しているが、第2実施形態ではゲーム管理をプレーヤ端末1500にて実現している点が異なる。なお、以降では、主に第1実施形態との差異について述べることとし、第1実施形態と同様の構成要素については、第1実施形態と同じ符号を付与して重複する説明は省略する。
【0200】
図22は、本実施形態におけるプレーヤ端末1500Bの機能構成例を示す機能ブロック図である。本実施形態のプレーヤ端末1500Bは、第1実施形態のプレーヤ端末演算部260に代えて、ゲーム管理部220Bと、干渉プレーヤ端末制御部240と、を有する。
【0201】
ゲーム管理部220Bは、第1実施形態におけるゲーム管理部220に相当し、被干渉プレーヤ2aのプレーヤ端末1500aとしての機能を実現する。
具体的には、ゲーム管理部220Bは、共有プレイを実現するために、ゲストプレーヤのプレーヤ端末1500とピアツーピア方式での通信接続する制御を行い、必要に応じてサーバシステム1100から各種データを取得しつつゲーム進行制御を実行する。例えば、ゲストプレーヤの選択設定と、ゲーム画面の共有についてサーバシステム1100との間で必要な情報のやり取りを行う。
【0202】
本実施形態におけるプレイ履歴管理部238は、ゲームをプレイした各プレーヤの当該プレイの内容を記述するデータを、サーバシステム1100へ提供する制御を行う。本実施形態のサーバシステム1100は、提供を受けた情報に基づいてプレイ履歴データ610を保存制御する。
【0203】
干渉プレーヤ端末制御部240は、ゲストプレーヤとして被干渉プレーヤ2aのプレーヤ端末1500aと通信接続された場合に、当該プレーヤ端末1500のユーザが、干渉プレーヤ2bとして干渉行為するための操作入力を受け付け、当該操作入力の情報を含む各種情報のやり取りを被干渉プレーヤ2aのプレーヤ端末1500aとの間で実現する。
【0204】
また、本実施形態の端末記憶部500は、
図23に示すように、ゲームプログラム506と、ゲーム初期設定データ510と、技量判定基準データ520と、失敗理由判定基準データ530と、許可干渉行為種類定義データ540と、制約定義データ550と、を記憶する。
【0205】
ゲームプログラム506は、クライアントプログラム502に代えて記憶される。当該プログラムを実行することで、端末処理部200は、ゲーム管理部220Bと、干渉プレーヤ端末制御部240と、を実装できる。
【0206】
ゲーム初期設定データ510~制約定義データ550は、予めサーバシステム1100からダウンロードして記憶されるとしても良いし、参照が必要になる都度に、サーバシステム1100に適宜参照リクエストして必要なデータを取得するとしてもよい。
【0207】
本実施形態のプレーヤ端末1500Bにおける処理の流れは、第1実施形態におけるサーバシステム1100における処理の流れ(
図20~
図21参照)と同様である。すなわち、第1実施形態におけるサーバシステム1100における処理の流れにおける処理実行主体を、プレーヤ端末1500Bに読み代えればよい。
【0208】
そして、本実施形態によれば、第1実施形態と同様の効果が得られる。
【0209】
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明を適用可能な形態は上記形態に限定されるものではなく適宜構成要素の追加・省略・変更を施すことができる。
【0210】
(変形例その1)
例えば、第1実施形態ではサーバシステム1100がゲーム管理部220の機能を有する例を示し、第2実施形態では被干渉プレーヤ2aのプレーヤ端末1500aがゲーム管理部220の機能を有する例を示したが、その中間的構成も可能である。すなわち、第1実施形態をベースとして、ゲーム管理部220の一部の機能を被干渉プレーヤ2aのプレーヤ端末1500aで実行する構成とすることができる。逆に、第2実施形態をベースとするならば、ゲーム管理部220Bの一部の機能をサーバシステム1100で実行する構成とすることもできる。或いは、干渉プレーヤ2bのプレーヤ端末1500bにてゲーム管理部220Bの一部の機能をサーバシステム1100で実行する構成とすることもできる。
【0211】
(変形例その2)
また、上記実施形態では、干渉プレーヤ2bの選択を、ゲーム開始前の1回で済ませる構成を例示したが、ゲーム開始後も干渉行為が許可される状況となる都度にゲストプレーヤの中から干渉プレーヤ2bを選択し直すことができる構成としてもよい。
【0212】
第1実施形態をベースとして当該構成を採用した場合、当該構成におけるサーバシステム1100が実行する処理の流れは、
図24~
図25のようになる。基本的には、第1実施形態における処理の流れ(
図20~
図21参照)と同様であるが、第1実施形態のステップS12とステップS14が省略され、代わりにループAのステップS60の前に、新たに、被干渉プレーヤ2aによる干渉プレーヤの選択を受け付けるステップ(ステップS42)と、干渉プレーヤ2bの技量を分析するステップ(ステップS44)とが追加されている。
【0213】
なお、ステップS42では、第1実施形態のステップS12と同様に、候補プレーヤが所与の人数条件を満たす場合(例えば、複数人いる場合など)において、適宜、選択対象外を設定することできる。すなわち、候補プレーヤ選択制御部226(
図10参照)が(1)被干渉プレーヤ2aとの技量差が所定の大差条件を満たすプレーヤ、(2)当該被干渉プレーヤとは別のプレーヤの実行中プレイにて既に干渉行為を行っているプレーヤ、(3)直近過去の干渉行為から所定の待機時間が経過していなプレーヤ、を選択対象外とするとしてもよい。
【0214】
ステップS42に上記(3)の選択対象外の設定を採用すると、候補プレーヤ選択制御部226が、当該プレイに係り、過去に干渉プレーヤとして干渉行為を行ったプレーヤを、当該干渉行為から所与の経過時間が経過する前に候補プレーヤに選択することを禁止するようになる。つまり、干渉プレーヤ別に前回干渉行為を行ってから再度干渉行為が可能になるまでの待機時間を設定できる。よって、被干渉プレーヤ2aに、様々な人物を干渉プレーヤ2bとして、いろいろな干渉行為を受けさせ機会を提供し、干渉行為の教育的効果をより高めることができる。
【0215】
また、プレイ開始から2回目以降のステップS42の実行に係り、候補プレーヤ選択制御部226(
図10参照)が、当該プレイに係り過去に干渉プレーヤとして干渉行為を行ったことのあるプレーヤについて、当該干渉行為に係る被干渉プレーヤのみが選択可能な候補プレーヤとする、としてもよい。この場合、当該プレイを通じて、最初の干渉行為の実行タイミングで選択した干渉プレーヤ2bに、全ての干渉行為を依頼することができる。
【0216】
(変形例その3)
また、上記実施形態では、干渉プレーヤ2bの候補(すなわち候補プレーヤ)をゲストプレーヤのなかから選択する例を示したがこれに限らず、ゲストプレーヤの設定を省略する構成では、ログイン中のプレーヤのなかから候補プレーヤを選択するとしてもよい。例えば、
図24の例では、ステップS42にてログインプレーヤの中から候補プレーヤを選択する処理を行えばよい。
【0217】
その場合でも、上述した干渉プレーヤ2bの選択に係る選択対象外の考え方を、ログイン中のプレーヤの中から候補プレーヤを選択する際にも流用できる。すなわち、(1)被干渉プレーヤ2aとの技量差が所定の大差条件を満たすプレーヤ、(2)別のプレーヤの実行中プレイにて既に干渉行為を行っているプレーヤ、(3)直近過去の干渉行為から所定の待機時間が経過していなプレーヤ、をログイン中のプレーヤの中から候補プレーヤを選択する際選択対象外とするとしてもよい。
【符号の説明】
【0218】
2a…被干渉プレーヤ
2b…干渉プレーヤ
10…干渉リクエスト操作アイコン
12…制限時間ゲージ
18…コストゲージ
200s…サーバ処理部
220…ゲーム管理部
222…分析部
224…選定部
226…候補プレーヤ選択制御部
230…干渉行為制御部
232…干渉行為種類決定部
234…制約制御部
238…プレイ履歴管理部
240…干渉プレーヤ端末制御部
500s…サーバ記憶部
501…サーバプログラム
520…技量判定基準データ
530…失敗理由判定基準データ
540…許可干渉行為種類定義データ
550…制約定義データ
570…制約内容データ
571…干渉許可ゲーム進行単位リスト
572…干渉許可時間長
575…使用不可操作コマンドリスト
576…応答遅延設定値
577…効果減衰制御値
578…難易度調整値
600…ユーザ管理データ
610…プレイ履歴データ
630…干渉履歴データ
700…プレイデータ
740…干渉制御データ
744…候補プレーヤアカウントリスト
746…干渉プレーヤアカウントリスト
750…分析結果データ
751…被干渉プレーヤ技量
752…干渉プレーヤ技量
753…技量差
754…失敗理由種類
758…許可干渉行為種類リスト
760…適用制約設定データ
761…干渉許可ゲーム進行単位リスト
762…干渉許可時間長
765…使用不可操作コマンドリスト
766…応答遅延設定値
767…効果減衰制御値
768…難易度調整値
1000…ゲームシステム
1100…サーバシステム
1500…プレーヤ端末