(58)【調査した分野】(Int.Cl.,DB名)
各プレーヤのプレーヤ端末と所定の通信を行って各プレーヤに係るゲーム進行を非同期で制御するとともに、当該非同期のゲームにおいてプレーヤ同士の共同プレイが可能なゲームイベントの発生及び進行を制御するサーバシステムであって、
各プレーヤのプレイ日時を管理するプレイ日時管理手段と、
各プレーヤそれぞれについて、当該プレーヤに関係する関係プレーヤを記憶する関係プレーヤ記憶手段と、
前記プレイ日時管理手段により管理されているプレイ日時を用いて、一のプレーヤのプレイ中に、当該一のプレーヤの関係プレーヤがプレイしているか否かを判定する同時プレイ判定手段と、
前記同時プレイ判定手段により肯定判定された場合に、その旨を示すための所与のキャラクタを、前記一のプレーヤのゲームに出現させる制御を行うキャラクタ出現制御手段と、
を備えたサーバシステム。
前記非同期のゲームは、プレーヤ端末から受信した操作入力指示信号に基づきゲーム進行を制御して、対応するゲーム画像のデータを当該プレーヤ端末に送信する処理を繰り返し実行することで進行するゲームであり、
前記プレイ日時管理手段は、プレーヤ端末から前記操作入力指示信号を受信したアクセス日時を少なくとも前記プレイ日時に含めて管理し、
前記同時プレイ判定手段は、前記アクセス日時を用いて、前記一のプレーヤのプレイ中に、当該一のプレーヤの関係プレーヤがプレイしているか否かを判定するアクセス日時基準判定手段を有する、
請求項1に記載のサーバシステム。
前記アクセス日時基準判定手段は、前記一のプレーヤの関係プレーヤの最新の前記アクセス日時からの経過時間が、継続してプレイしていると判定する条件である所与のプレイ継続判定時間条件を満たすか否かを判定する手段を有する、
請求項2に記載のサーバシステム。
前記アクセス日時基準判定手段は、前記一のプレーヤの関係プレーヤの過去の前記アクセス日時を用いて、前記一のプレーヤのプレイ中に、当該関係プレーヤがプレイする可能性を判定する手段を有する、
請求項2〜4の何れか一項に記載のサーバシステム。
前記出現確率変更手段は、前記同時プレイ判定手段により否定判定された場合には、稀に前記所与のキャラクタを出現させる確率である所与の低出現確率に前記出現確率を設定する手段を有する、
請求項7〜9の何れか一項に記載のサーバシステム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年のSNS(Social Networking Service)などコミュニティ型のウェブサイトでは、サービスの一環として複数のゲームを用意して、ユーザが任意にゲームを選択してプレイできるようになっており、こうしたゲームはSNSゲーム或いはソーシャルゲームなどと呼ばれている。SNSゲームは、マルチプレイオンラインゲームなどとは異なり、各ユーザのプレイは完全に独立し非同期である。そのため、ゲーム同士は連動することが無かった。
【0005】
それでも、SNSゲームをプレイするユーザ間では、お互いのゲーム内での体験や感想、攻略法のヒントやコツなどを話題として頻繁にコミュニケーションし、非同期ゲームでありながらもマルチプレイオンラインゲームのプレーヤ同士のような連帯感を持ち、強い友好関係を築くことができる。そして、コミュニケーションが高まると、互いのプレイに刺激され、SNSゲームがより楽しく感じられるようになる。
【0006】
本発明は、上述した技術背景及び課題に鑑みてなされたものであり、非同期のゲームにおいて、ユーザ同士が互いの存在を感じられるようにして、ユーザ間のコミュニケーション活性化や連帯感の向上を図ることを目的とする。なお、本発明の課題は、SNSゲームに限られるわけではないのは勿論である。
【課題を解決するための手段】
【0007】
上述した課題を解決するための第1の形態は、各プレーヤのプレーヤ端末と所定の通信を行って各プレーヤに係るゲーム進行を非同期で制御するとともに、当該非同期のゲームにおいてプレーヤ同士の共同プレイが可能なゲームイベントの発生及び進行を制御するサーバシステムであって、
各プレーヤのプレイ日時を管理するプレイ日時管理手段(例えば、
図6のサーバ処理部200s、ゲーム管理サーバ制御部210、プレイデータ管理部214、プレイ日時管理部218、
図10のステップS24)と、
各プレーヤそれぞれについて、当該プレーヤに関係する関係プレーヤを記憶する関係プレーヤ記憶手段(例えば、
図6のサーバ処理部200s、フレンドリスト管理部203、サーバ記憶部500s、
図7のフレンドリスト525)と、
前記プレイ日時管理手段により管理されているプレイ日時を用いて、一のプレーヤのプレイ中に、当該一のプレーヤの関係プレーヤがプレイしているか否かを判定する同時プレイ判定手段(例えば、
図6のサーバ処理部200s、ゲーム管理サーバ制御部210、同時プレイ判定部220、
図10のステップS36)と、
前記同時プレイ判定手段により肯定判定された場合に、その旨を示すための所与のキャラクタを、前記一のプレーヤのゲームに出現させる制御を行うキャラクタ出現制御手段(例えば、
図6のサーバ処理部200s、ゲーム管理サーバ制御部210、フレンドNPC出現制御部224、
図11のステップS140〜S156)と、を備えたサーバシステムである。
【0008】
第1の形態によれば、プレーヤと関係する他プレーヤ(関係プレーヤ)が、同時並行してゲームをプレイしている場合に、ゲーム内に所与のキャラクタを出現させることができる。ゲーム同士が非同期であっても、そのキャラクタを見つけることで、プレーヤは関係プレーヤが今ゲームを楽しんでいることがわかる。つまり、非同期のゲームにおいて、ユーザ同士が互いの存在を感じられるようになる。
【0009】
第2の形態は、前記非同期のゲームは、プレーヤ端末から受信した操作入力指示信号に基づきゲーム進行を制御して、対応するゲーム画像のデータを当該プレーヤ端末に送信する処理を繰り返し実行することで進行するゲームであり、
前記プレイ日時管理手段は、プレーヤ端末から前記操作入力指示信号を受信したアクセス日時を少なくとも前記プレイ日時に含めて管理し、
前記同時プレイ判定手段は、前記アクセス日時を用いて、前記一のプレーヤのプレイ中に、当該一のプレーヤの関係プレーヤがプレイしているか否かを判定するアクセス日時基準判定手段(例えば、
図6のサーバ処理部200s、ゲーム管理サーバ制御部210、同時プレイ判定部220、アクセス日時基準判定部222、
図12のステップS50〜S52)を有する、第1の形態のサーバシステムである。
【0010】
第2の形態によれば、第1の形態と同様の効果が得られるとともに、ゲームプレイ中に操作入力信号があった日時(単発のアクセス日時)から関係プレーヤが同時刻にプレイ中であるかを判定することができる。よって、例えば、継続してオンライン状態を維持することのないSNSゲームでも、正確に現在プレイ中であるか否かを判定することができる。
【0011】
第3の形態は、前記アクセス日時基準判定手段が、前記一のプレーヤの関係プレーヤの最新の前記アクセス日時からの経過時間が、継続してプレイしていると判定する条件である所与のプレイ継続判定時間条件を満たすか否かを判定する手段(例えば、
図6のサーバ処理部200s、アクセス日時基準判定部222、
図12のステップS52)を有する、第2の形態のサーバシステムである。
【0012】
第3の形態によれば、第2の形態と同様の効果が得られるとともに、直近(最新)のアクセス日時からの経過時間でプレイ中かを判定することができる。よって、より正確にプレイしているか否かを判定することができる。
【0013】
第4の形態は、前記キャラクタ出現制御手段が、前記同時プレイ判定手段により肯定判定された場合に、前記一のプレーヤのプレイ中に前記所与のキャラクタを繰り返し出現させる手段(例えば、
図6のサーバ処理部200s、ゲーム管理サーバ制御部210、フレンドNPC出現制御部224、
図11のステップS142)と、
前記一のプレーヤの関係プレーヤの最新の前記アクセス日時からの経過時間が経過するに従って、前記所与のキャラクタの出現頻度を低下させる手段(例えば、
図6のサーバ処理部200s、ゲーム管理サーバ制御部210、フレンドNPC出現制御部224、
図10のステップS102)と、を有する、第2又は第3の形態のサーバシステムである。
【0014】
第4の形態によれば、第2又は第3の形態の何れかと同様の効果が得られるとともに、
関係プレーヤの最新のアクセス日時からの経過時間が長い程所与のキャラクタの出現頻度を低下させることができる。
【0015】
第5の形態は、前記アクセス日時基準判定手段が、前記一のプレーヤの関係プレーヤの過去の前記アクセス日時を用いて、前記一のプレーヤのプレイ中に、当該関係プレーヤがプレイする可能性を判定する手段(例えば、
図6のサーバ処理部200s、ゲーム管理サーバ制御部210、同時プレイ判定部220、
図14のステップS70〜S72)を有する、第2〜第4の何れかの形態のサーバシステムである。
【0016】
第5の形態によれば、第2〜第4の形態の何れかと同様の効果が得られるとともに、関係プレーヤの過去のアクセス日時から、統計的な推測として、当該関係プレーヤがプレイしている可能性を判定することができる。
【0017】
第6の形態は、前記キャラクタ出現制御手段が、前記一のプレーヤの関係プレーヤのゲーム状況に応じて、前記所与のキャラクタの表示形態を変更する表示形態変更手段(例えば、
図6のサーバ処理部200s、ゲーム管理サーバ制御部210、フレンドNPC出現制御部224、キャラクタ表示形態変更部230、
図11のステップS146)を有する、
第1〜第5の何れかの形態のサーバシステムである。
【0018】
第6の形態によれば、第1〜第5の形態の何れかと同様の効果が得られるとともに、関係プレーヤのゲーム状況に応じて所与のキャラクタの表示形態を変化させることができる。よって、プレーヤは関係プレーヤがどういったプレイ状況にあるかを知ることができる。
【0019】
第7の形態は、前記キャラクタ出現制御手段が、前記所与のキャラクタを出現させるか否かを所与の出現確率で決定する手段(例えば、
図6のサーバ処理部200s、ゲーム管理サーバ制御部210、フレンドNPC出現制御部224、
図11のステップS148)と、
前記出現確率を変更する出現確率変更手段(例えば、
図6のサーバ処理部200s、ゲーム管理サーバ制御部210、フレンドNPC出現制御部224、出現確率設定部228、
図10のステップS102〜S106)と、を有する第1〜第6の何れかの形態のサーバシステムである。
【0020】
第7の形態によれば、第1〜第6の形態の何れかと同様の効果が得られるとともに、所与のキャラクタの出現確率を変えることで出現度合を可変することができる。
【0021】
出現確率の可変の仕方に着目するならば、第8の形態として、前記出現確率変更手段は、前記一のプレーヤのゲーム状況に応じて前記出現確率を変更する手段(例えば、
図10のステップS104)を有する、第7の形態のサーバシステムを構成することができる。
【0022】
さらには、第9の形態として、各プレーヤそれぞれについて、当該プレーヤと当該プレーヤの関係プレーヤとの友好度を記憶する友好度記憶手段を更に備え、前記出現確率変更手段は、前記一のプレーヤと、前記一のプレーヤの関係プレーヤとの友好度に応じて前記出現確率を変更する手段(例えば、
図10のステップS102)を有する、第7又は第8の形態のサーバシステムを構成することができる。
【0023】
第10の形態は、前記出現確率変更手段が、前記同時プレイ判定手段により否定判定された場合には、稀に前記所与のキャラクタを出現させる確率である所与の低出現確率に前記出現確率を設定する手段(例えば、
図10のステップS106)を有する、第7〜第9の何れかの形態のサーバシステムである。
【0024】
第10の形態によれば、第7〜第9の形態の何れかと同様の効果が得られるとともに、関係ユーザが同時刻にゲームプレイしていない場合には、稀にしか所与のキャラクタを出現させないようにできる。
【0025】
第11の形態は、前記プレーヤ端末は現在位置取得機能を有しており、
各プレーヤの前記プレーヤ端末からプレーヤの現在位置を取得するプレーヤ位置取得手段(例えば、
図6のサーバ処理部200s、端末位置情報取得制御部236、通信制御部270s、通信部370s、
図10のステップS22)と、
前記プレーヤ位置取得手段により取得されたプレーヤ位置を用いて、前記一のプレーヤの位置と、当該一のプレーヤの関係プレーヤの位置とが所定の位置条件を満たすか否かを判定する位置条件判定手段(例えば、
図6のサーバ処理部200s、ゲーム管理サーバ制御部210、フレンドNPC出現制御部224、出現条件判定部229、
図11のステップS144)と、を更に備え、
前記キャラクタ出現制御手段は、前記同時プレイ判定手段により肯定判定され、且つ、前記位置条件判定手段により肯定判定された場合に、前記所与のキャラクタを出現させる制御を行う、第1〜第9の何れかの形態のサーバシステムである。
【0026】
第11の形態によれば、第1〜第9の形態の何れかと同様の効果が得られるとともに、一のプレーヤがゲームプレイしている位置(場所)と、関係プレーヤがゲームプレイしている位置(場所)との関係に基づいて、所与のキャラクタを出現させるか否かを決定できる。
【0027】
第12の形態は、前記一のプレーヤ以外のプレーヤのキャラクタの中から、前記一のプレーヤのゲームに出現させるキャラクタを選定する出現キャラクタ選定手段(例えば、
図15のサーバ処理部200s、ゲーム管理サーバ制御部210、出現キャラクタ選定制御部211、
図17のステップS10)を更に備え、
前記キャラクタ出現制御手段は、前記出現キャラクタ選定手段により選定されたキャラクタを前記一のプレーヤのゲームに出現させる制御を行う手段(例えば、
図18のステップS360)を有する、第1〜第3の何れかの形態のサーバシステムである。
【0028】
第12の形態によれば、第1〜第3の形態の何れかと同様の効果が得られるとともに、複数のキャラクタでパーティを編成して行動するゲームに適用が可能となる。
【0029】
第13の形態は、前記出現キャラクタ選定手段が、前記一のプレーヤ以外のプレーヤのキャラクタの中から、選定候補とする候補キャラクタを選択する候補キャラクタ選択手段(例えば、
図15のサーバ処理部200s、ゲーム管理サーバ制御部210、候補キャラクタ選定制御部212、
図18のステップS300〜S356)と、
前記候補キャラクタの中から、前記一のプレーヤのゲームに出現させるキャラクタを選定する手段(例えば、
図15のサーバ処理部200s、ゲーム管理サーバ制御部210、選択確定部213、
図18のステップS358〜S362)と、を有し、
前記候補キャラクタ選択手段は、前記プレイ日時管理手段により管理されているプレイ日時を用いて、一のプレーヤのプレイ中にプレイしているプレーヤのキャラクタを前記候補キャラクタとして選択する確率を上げる手段(例えば、
図19のステップS318)を有する、第12の形態のサーバシステムである。
【0030】
第13の形態によれば、第12の形態と同様の効果が得られるとともに、関係プレーヤのキャラクタが候補キャラクタとして選択される確率を、当該関係プレーヤのプレイ日時に基づいて決定することができる。
【発明を実施するための形態】
【0032】
〔第1実施形態〕
本発明を適用した第1実施形態として、登録ユーザにゲームを提供する例について説明する。なお、以下では、ゲームに係る場合を含む一般的な意味として「ユーザ」という用語を用い、ゲームに係る場合に「プレーヤ」を用いることとして適宜使い分けるが、ユーザもプレーヤも同一に扱うことができるため、以下説明をどちらか一方の用語に置き換えて読むこととしても勿論よい。
【0033】
[システムの構成の説明]
図1は、本実施形態におけるゲームシステムの構成の一例を示す図である。本実施形態のゲームシステムは、通信回線1に接続することのできるサーバシステム1100と、ゲームのプレーヤ2(2a,2b,2c,・・・)毎に用意されるプレーヤ端末であるユーザ端末1500(1500a,1500b,1500c,・・・)とを備えて構成される。
【0034】
通信回線1は、データ通信が可能な通信路を意味する。すなわち、通信回線1とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線/無線を問わない。
【0035】
サーバシステム1100は、単数又は複数のサーバシステムや記憶装置等を含んで構成され、コミュニティ型ウェブサイトやオンラインゲームを運営するための各種サービスを提供し、ゲーム実行に必要なプレイデータの管理や、クライアントプログラム及び各種データ等を配信することができる。
【0036】
本実施形態では、サーバシステム1100は、筐体1102と、キーボード1106と、タッチパネル1108と、ストレージ1140とを備える。筐体1102には、複数のブレードサーバ1104が内蔵されている。
【0037】
ブレードサーバ1104は、例えば、(1)ユーザ登録やプレーヤキャラクタの初期設定、及びログイン/ログアウトに関係する処理を担うアカウント管理サーバシステム1110と、(2)ゲーム内で使用するアイテムを購入できるオンラインショッピングサービス処理を担うオンラインショッピングサーバ1112と、(3)ログインしてゲームに参加中のユーザ端末1500へゲームを実行するのに必要なデータを随時管理・配信するゲーム管理サーバシステム1114と、を有して構成される。
【0038】
ゲーム管理サーバシステム1114は、ゲーム種類毎に第1ゲーム管理サーバシステム1115、第2ゲーム管理サーバシステム1116、・・・と言った具合に設けられており、互いにサーバシステム1100の内部回線を通じてデータ通信可能に接続されている。
【0039】
尚、ブレードサーバ1104を構成するそれぞれのサーバは、通信回線1を介してデータ通信可能な独立したサーバシステムとして実現しても良い。例えば、第1ゲーム管理サーバシステム1115と第2ゲーム管理サーバシステム1116を、独立した第1ゲーム管理サーバシステム1117と第2ゲーム管理サーバシステム1118としたシステム構成でも良い。
【0040】
ユーザ端末1500は、ユーザそれぞれに1台ずつ用意されるコンピュータであり、電子装置(電子機器)である。例えば、スマートフォンや、携帯型ゲーム装置、据置型家庭用ゲーム装置、業務用ゲーム装置、パソコン、タブレット型コンピュータなどにより実現される。そして、通信回線1に接続し、サーバシステム1100にアクセスすることができる。
【0041】
図2は、ユーザ端末1500の構成例を示す図であって、(1)正面外観図、(2)背面外観図である。本実施形態におけるユーザ端末1500は、方向入力キー1502と、ホームキー1504と、画像表示デバイス兼接触位置入力デバイスとして機能するタッチパネル1506と、スピーカ1510と、マイク1512と、GPS(Global Positioning System)アンテナ1514と、CCDカメラモジュール1516と、制御基板1550と、コンピュータ読み出し可能な情報記憶媒体であるメモリカード1540からデータを読み書きできるメモリカード読取装置1542と、を備える。その他、図示されていない内蔵バッテリーや電源ボタン、音量調節ボタン等が設けられている。
【0042】
CCDカメラモジュール1516は、オートフォーカス機構と、CCDイメージセンサと、イメージ信号生成チップとを搭載したモジュールであって、ユーザ端末1500の背面側を撮影できるように配置されている。尚、イメージセンサ素子はCCDに限らない。
【0043】
制御基板1550は、CPU(Central Processing Unit)1551やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、ASIC(Application Specific Integrated Circuit)、VRAMやRAM,ROM等の各種ICメモリ1552を搭載する。
【0044】
そして、制御基板1550には、携帯電話基地局や無線LAN基地局などと無線接続するための無線通信モジュール1553と、GPSモジュール1554と、電子コンパス1555と、3軸ジャイロ1556と、3軸加速度センサ1557とが搭載されている。その他、タッチパネル1506のドライバ回路、方向入力キー1502及びホームキー1504からの信号を受信する回路、スピーカ1510へ音声信号を出力する出力アンプ回路、マイク1512で集音した音声の信号を生成する入力信号生成回路、メモリカード読取装置1542への信号入出力回路といった所謂I/F回路(インターフェース回路)、等が搭載されている。これら制御基板1550に搭載されている各要素は、それぞれバス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。
【0045】
GPSモジュール1554は、GPSアンテナ1514とともにGPSを利用した位置情報を取得する手段を構成する。GPSモジュール1554は、GPSアンテナ1514で受信したGPS衛星3からの信号に基づいて、所定時間毎(例えば、1秒毎)に、位置情報(例えば、緯度・経度)及びその他の情報(絶対時間)を、制御基板1550で演算処理可能なデータとして出力する。尚、測位に利用するシステムはGPSに限らない。その他の衛星測位システムでも良いし、衛星を用いない測位システムを用いることもできる。後者の例としては、例えば、無線通信モジュール1553が無線接続できる携帯電話基地局からの信号に基づいて三角測量の原理で測位して、位置情報を取得するとしても良い。
【0046】
制御基板1550は、サーバシステム1100から取得したゲームクライアントプログラムやデータをICメモリ1552に一時記憶する。そして、プログラムを実行して演算処理を実行し、方向入力キー1502やホームキー1504、タッチパネル1506からの操作入力に応じてユーザ端末1500の各部を制御してゲームを実行する。尚、本実施形態では、ユーザ端末1500は必要なプログラムや各種設定データをサーバシステム1100から取得する構成としているが、別途入手したメモリカード1540から読み出す構成としても良い。
【0047】
尚、本実施形態のユーザ端末1500は、ゲームプレイに係る操作入力指示信号をサーバシステム1100に送信する際、GPSモジュール1554で取得した位置情報を一緒に送信することができる。
【0048】
本実施形態では、ユーザはサーバシステム1100が提供するサービスを利用するには、所定の手続きを行ってユーザアカウントを取得する必要がある。取得したユーザアカウントと対応づけられるパスワードをもってログインすることで、アイテムのオンライショッピングや、登録ユーザ間でのメッセージ交換、フレンドユーザの登録、ゲームプレイなどのサービスが利用可能となる。
【0049】
メッセージ交換は、ログインしているユーザ間でのショートメール等のメッセージの送受をサポートするサービスであり、例えばプッシュ通知などにより実現される。そして、ユーザはメッセージのやりとりを通じて気の合った他ユーザを所定の登録手続きによって「フレンド」として登録する機能を提供する。以降、一のユーザにより「フレンド」として登録された関係ユーザを「フレンドユーザ」と呼ぶ。
図1の例では、ユーザ2(2a)は、他のユーザ2(2b,2c,2d,2e,・・・)をフレンドユーザとして登録している。
【0050】
また、ユーザは、所定のゲーム利用登録をすることで、複数のゲームの中から任意のゲームを好きな時に好きな時間だけ遊ぶことが可能である。本実施形態で説明するゲームはその一つに含まれる。
【0051】
[非同期のゲーム間でのフレンドNPCの出現についての説明]
図3は、本実施形態のゲームの概要について説明する図である。本実施形態のゲームは、シングルプレイ型のオンラインRPG(ロールプレイングゲーム)である。各ユーザ2(2a、2b)は、同じゲーム世界の設定であるが相互には非同期で、互いに独立したゲーム空間内で自身のプレーヤキャラクタ4(4a,4b)を操作してシングルプレイする。マルチプレイ型オンラインRPGのように、両プレーヤが同じゲーム空間を共有することはない。よって、
図3の例では、ユーザ端末1500(1500a)のゲーム画面W2と、ユーザ端末1500(1500b)のゲーム画面W4とでは異なる内容が示されている。
【0052】
本実施形態のオンラインRPGでは、いわゆる雑魚キャラに相当する敵戦闘員NPC(ノンプレーヤキャラクタ)8と、所定エリアに進入すると現れる敵ボスNPC6とが登場する。
プレーヤキャラクタ4(4a、4b)と、敵NPCにはそれぞれライフポイントが設定され、相手の攻撃を受けるとダメージ量に応じてライフポイントが減らされる。それぞれのライフポイントはゲーム画面中にライフポイントゲージ5,7,9として表示される。そして、ライフポイントが「0」になると、そのキャラクタは死亡・撃破扱いとなる。
【0053】
ライフポイントに関しては、プレーヤキャラクタ4(4a、4b)と敵戦闘員NPC8については、ゲームプレイ毎にライフポイントが管理されており、異なるゲーム間では干渉されない。ユーザ2(2a)のゲーム世界に敵戦闘員NPC8が登場しても、それらはそのゲーム世界のみで有効であり、ユーザ2(2b)の世界でダメージを受けてもその影響は受けない。
【0054】
一方、敵ボスNPC6については、ゲーム世界を跨いでライフポイントが管理される。すなわち、非同期のゲームで、別々のゲームプレイに登場するものの、管理されるライフポイントは共通である。従って、ユーザ2(2a)が敵ボスNPC6を攻撃してダメージを与えると、仮にユーザ2(2b)が非同期であるがやはり敵ボスNPC6と戦っている場合、当該ユーザ2(2b)のゲーム世界の敵ボスNPC6のライフポイントには、先のユーザ2(2a)が与えたダメージの影響が現れる。つまり、敵ボスNPC6と遭遇している間は、間接的に他ゲーム世界と影響を与え合うが、敵ボスNPC6が現れていないゲーム世界は互いに独立している。
【0055】
そして、この敵ボスNPC6を倒すと、通常では得られない特典がユーザに与えられるので、敵ボスNPC6の攻略はユーザの憧れである。しかし、敵ボスNPC6は、ライフポイントの自動回復の能力を有する設定であり、一定時間が経過する毎にライフポイントが所定量回復される。結果、ユーザが一人で敵ボスNPC6に戦いを挑んでダメージを与えてもライフポイントの回復により帳消しとなり得るため、一人で戦っても攻略できない可能性が極めて高い。敵ボスNPC6の攻略には、複数のユーザがほぼ同時刻に戦う連係が必要である。しかし、公知のSNSゲームでは、ユーザ間のゲームは非同期であるから、連係をとるためには、別途、互いにメールを出し合う等の必要がある。しかし、本実施形態のゲームでは、この欠点を補うべく、非同期のゲーム間でのフレンドNPCの出現機能を備える。
【0056】
図4は、本実施形態における非同期のゲーム間でのフレンドNPCの出現について説明する概念図である。あるユーザ2(2a)がゲームプレイしていときに、当該ユーザのフレンドユーザで、同時刻にプレイしていると判定されるフレンドユーザ2(2b,2c,2d,2e・・・)から、対象とするフレンドユーザ2(2b)が適当数選択される。勿論、一人でも良いし全員でも良い。
【0057】
そして、選択されたフレンドユーザ2(2b)が使用するオリジナルのプレーヤキャラクタ4(4b)をベースとして、フレンドNPC12が生成される。
フレンドNPC12は、基本的にはそのフレンドユーザ2(2b)のプレーヤキャラクタ4(4b)と同じ外観を有するが、フレンドユーザ2(2b)のゲーム状況に応じた表示形態の変化が与えられる。表示形態の変化としては、例えば、着衣等のアイテムの色の違い、キャラクタのボディやアイテムの明滅、色相の周期変化、輪郭線の色違いなどである。また、フレンドNPC12には、出現頻度と出現確率とが設定される。
【0058】
出現頻度は、フレンドNPC12がユーザ2(2a)のゲーム世界に登場する機会を定義する。
図4の例では、ユーザ2(2a)のプレーヤキャラクタ4(4a)が戦闘中である場合と、ゲーム世界内で訪れることのできる街にいる場合と、が出現の機会とされる。出現頻度の設定方法は適宜変更可能であり、例えば、「1分に1回」や「戦闘3回につき1回」、「画面切替5回に1回」といった設定方法も可能である。出現確率は、個別の出現機会において実際に出現する確率を定義する。出現頻度及び/又は出現確率によって、出現の度合が設定されるとも言える。
【0059】
出現頻度及び出現確率は、フレンドユーザ2(2b)のユーザ登録情報や、ユーザ2(2a)やフレンドユーザ2(2b)のゲーム進行状況、現在位置などに係る各種パラメータを用いて決定することができる。その際、フレンドユーザ2(2b)がよりユーザ2(2a)と親密である(友好度が高い)ほど、またフレンドユーザ2(2b)がよりゲームをプレイしているほど、またフレンドユーザ2(2b)がよりユーザ2(2a)に近い場所でプレイしているほど、機会が多くなるように、また出現確率が高くなるように設定される。
【0060】
具体的には、例えば、参照するユーザ登録情報としては、年齢、居住地などを利用し、ユーザ2(2a)とフレンドユーザ2(2b)の年齢が近いほど出現頻度や出現確率を高めに設定することができる。
また、ユーザ2(2a)又はフレンドユーザ2(2b)のオンラインショッピング等の課金額や利用頻度、フレンド登録数が高いほど出現頻度や出現確率を高めに設定するとしても良い。
またユーザ2(2a)とフレンドユーザ2(2b)とのチャット頻度等から決定される友好度が高いほど出現頻度や出現確率を高めことができる。
また、ユーザ2(2a)又はフレンドユーザ2(2b)の総プレイ時間やプレーヤレベルなどのやりこみ度合が高いほど出現頻度や出現確率を高めに設定するとしても良い。
また、現実世界におけるユーザ2(2a)がゲームプレイしている場所と、フレンドユーザ2(2b)がゲームプレイしている場所の位置座標が近いほど出現頻度や出現確率を高く設定するとしても良い。
【0061】
本実施形態では、フレンドユーザ2(2b)の操作入力指示信号の受信間隔が短いほど(すなわち、より積極的にゲームプレイしていると判断できる場合や、確実にゲームプレイしていると判断できる場合)に、出現頻度を高く設定する。また、出現確率は、友好度が高いほど高く1次設定し、更にユーザ2(2a)のゲーム進行状況に応じて1次出現確率を変更して最終的に適用される最終出現確率を設定する。1次出現確率のゲーム進行状況に応じた変更は、例えば、敵ボスNPC6が出現中の場合や、ユーザ2(2a)のプレーヤキャラクタ4(4a)のライフポイントの残量の全量に対する割合が基準値より低い場合、など危機度合が高いほど、高出現確率となるように変更する。
【0062】
こうして設定されたフレンドNPC12は、本実施形態では、ユーザ2(2a)のゲーム世界にユーザ2(2a)のゲーム進行を有利にする役どころ、例えば戦闘中の救援役として登場するように制御される。勿論、登場のさせ方は、ゲーム内容やゲームバランスに応じて適宜変更可能であり、単なるエキストラとして登場させても良い。
【0063】
また、フレンドNPC12を登場させる際、フレンドユーザ2(2b)のゲーム進行状況を示す状況表示体14や、フレンドユーザ2(2b)のユーザアカウントを示すフレンド名表示16が付加表示される。
状況表示体14は、適宜設定可能であるが、例えば戦闘相手の識別可能な表示体(
図4の例では、敵ボスNPC6との戦闘中を意味する「BF:Boss Fight)」の文字が示された表示体)や、連続プレイ時間を示す表示体などが可能である。
【0064】
こうしたフレンドNPC12の出現により、ユーザ2(2a)は、フレンドユーザ2(2b)が現在ゲームプレイ中であることを知ることができる。よって、非同期のゲームにおいて、ユーザ同士が互いの存在を感じられるようになり、例えばゲームプレイ後に、「今日はずいぶん積極的に戦っていたね!マップのどの辺りまわったの?」と言った具合に、ユーザ間のコミュニケーションのきっかけ作りができる。
【0065】
また、フレンドユーザ2(2b)が、ゲームプレイしていること、特に敵ボスNPC6と対戦中であることを知ることができると、
図5に示すように、ユーザ2(2a)は、これを機に自身のプレーヤキャラクタ4(4a)も敵ボスNPC6の出現エリアに進入してボス戦を開始し、実質的なフレンドユーザ2(2b)との連係プレイが可能となる。
ユーザ2(2a)のゲーム画面W8での敵ボスNPC6(6a)と、フレンドユーザ2(2b)のゲーム画面W10での敵ボスNPC6(6b)とでは、行動が非同期であるが、前述のようにライフポイントは非同期ゲーム間で共通の扱いである。よって、連係により、敵ボスNPC6のライフポイントを自動回復よりも早く削り、ライフポイントを「0」にして、単独では実現が困難だった敵ボスNPC6(6a,6b)の撃破及びし得なかった特典付与を受けることが可能となる。
当然、このボス戦も格好の話題となり、ユーザ間のコミュニケーション活性化と連帯感向上の一助となる。
【0066】
[機能ブロックの説明]
次に、本実施形態を実現するための機能構成について説明する。
図6は、本実施形態におけるサーバシステム1100の機能構成の一例を示す機能ブロック図である。サーバシステム1100は、操作入力部100sと、サーバ処理部200sと、画像表示部360sと、通信部370sと、サーバ記憶部500sとを備える。
【0067】
操作入力部100sは、サーバオペレータによって為された各種の操作入力(プレーヤキャラクタの行動の指示操作入力を含む)に応じて操作入力信号をサーバ処理部200sに出力する。例えば、キーボードや、タッチパネル、マウス、トラックパッドなどによって実現できる。
図1ではキーボード1106やタッチパネル1108がこれに該当する。
【0068】
サーバ処理部200sは、例えばCPUやGPU等のマイクロプロセッサや、ASIC、ICメモリなどの電子部品によって実現される。サーバ処理部200sは、各機能部との間でデータの入出力制御を行い、所定のプログラムやデータ、操作入力部100sからの操作入力信号や、通信部370sを介して外部からアクセスしてきた外部装置(他コンピュータ)等からのリクエストに応じて各種の演算処理を実行して、サーバシステム1100の動作を制御する。
図1ではブレードサーバ1104、より具体的にはその制御基板がこれに該当する。
【0069】
そして、本実施形態のサーバ処理部200sは、ユーザ登録情報管理部202と、ログイン処理部204と、ゲーム管理サーバ制御部210と、端末位置情報取得制御部236と、画像生成部260sと、通信制御部270sとを備える。尚、プレイ可能なゲームの種類に応じてゲーム管理サーバ制御部の数を適宜加減することができる。
【0070】
ユーザ登録情報管理部202は、ユーザアカウントの新規発行、パスワードの登録など各種ユーザ情報の取得・登録管理に関する処理を実行する。尚、ユーザ登録情報管理部202は、公知のコミュニティ型のウェブサイトやオンラインゲームにおけるユーザ登録関連技術を適宜応用することで実現できる。そして、本実施形態のユーザ登録情報管理部202は、フレンドリスト管理部203を含み、フレンドユーザ(プレーヤに関係する関係プレーヤ)の登録・抹消に関する処理を実行する。
【0071】
ログイン処理部204は、通信接続したユーザ端末1500からのリクエストに応じて所謂ログインを制御する。当該処理部は、公知のコミュニティ型のウェブサイトやオンラインゲームにおけるログイン制御技術を適宜利用することで実現できる。
図1の例では、アカウント管理サーバ1110がユーザ登録情報管理部202と、ログイン処理部204とを担う。
【0072】
ゲーム管理サーバ制御部210は、本実施形態のゲームの進行制御並びにユーザ端末1500にてゲーム画像等を表示させるのに必要な処理を実行する。すなわち、常時機能している状態にあって、ユーザ端末1500からゲーム開始リクエストを受けると新たな個別プレイデータ540(
図7、
図8参照)を生成して、個別にゲーム進行制御することができる。
【0073】
ゲーム管理サーバ制御部210は、プレイデータ管理部214と、同時プレイ判定部220と、フレンドNPC出現制御部224と、ゲーム進行制御部234とを含む。
【0074】
プレイデータ管理部214は、ゲーム管理サーバ制御部210で進行制御するゲームの進行状況を記述するデータ、所謂プレイデータを管理する。本実施形態ではプレイ日時管理部218を含む。
【0075】
プレイ日時管理部218は、プレーヤのプレイ日時に関する情報の取得・管理をする。具体的には、ゲームプレイに関する情報、例えば、ログイン、ログアウト、ゲームプレイに係る操作入力指示信号をユーザ端末1500から受信すると、その時の日時をアクセス日時とし、受信した操作入力指示信号と、それと一緒に受信したユーザ端末1500の端末位置座標とを対応づけてサーバ記憶部500sに記憶させて管理する。
【0076】
同時プレイ判定部220は、プレイ日時管理部218により管理されているプレイ日時を用いて、一のプレーヤのプレイ中に、当該一のプレーヤのフレンドユーザ(関係プレーヤ)がプレイしているか否かを判定する。
本実施形態では、アクセス日時基準判定部222を有し、操作入力指示信号をユーザ端末1500から受信したアクセス日時を用いて、フレンドプレーヤがプレイしているか否かを判定することができる。
【0077】
フレンドNPC出現制御部224は、非同期のゲーム間でのフレンドNPC12(
図4参照)の出現に関する制御を行う。すなわち、
図4を参照して説明した機能を実現するための処理を実行することができる。そして、本実施形態では、出現頻度設定部226と、出現確率設定部228と、出現条件判定部229と、キャラクタ表示形態変更部230と、付加表示制御部232とを有する。
【0078】
出現頻度設定部226は、フレンドNPC12の出現頻度を設定することができる。本実施形態では、少なくとも一のプレーヤの関係プレーヤの最新の前記アクセス日時からの経過時間が経過するに従って、フレンドNPCの出現頻度を低下させるように設定することができる。
【0079】
出現確率設定部228は、フレンドNPC12の出現確率を設定することができる。本実施形態では、一のプレーヤとその一のプレーヤの関係プレーヤとの友好度に応じて、関係プレーヤに関するフレンドNPC12の出現確率を変更することができる。また、同時プレイ判定部220により一のプレーヤのプレイ中に、一のプレーヤのフレンドユーザ(関係プレーヤ)がプレイしていないと判定された場合には、稀に前記フレンドNPC12を出現させる確率として定められた所与の低出現確率に出現確率を設定することができる。勿論、出現確率をフレンドユーザのゲーム状況に応じて変更する構成も可能である。
【0080】
出現条件判定部229は、フレンドNPC12を出現させる条件が整ったかを判定する。本実施形態では、出現頻度で定義された出現の機会が到来したかを判定し、更に出現確率を見たすかを判定し、且つ一のプレーヤの関係プレーヤの位置とが所定の位置条件を満たすかを判定する。そして、この3条件を満たした場合にフレンドNPC12を出現させる条件が整ったと判定する。尚、これらの判定のうち幾つかを省略した構成も可能である。
【0081】
キャラクタ表示形態変更部230は、一のプレーヤのフレンドプレーヤ(関係プレーヤ)のゲーム状況に応じて、フレンドNPC12の表示形態を変更する。
【0082】
付加表示制御部232は、状況表示体14及びフレンド名表示16(
図4参照)の表示制御を行う。
【0083】
ゲーム進行制御部234は、ゲーム進行に関する各種処理を実行する。
例えば、ゲーム空間の設定、当該ゲーム空間へのキャラクタ等のオブジェクトの配置、プレーヤキャラクタを撮影する仮想カメラの制御、NPCの自動動作制御、イベント発生の抽選処理、攻撃ヒット判定及びダメージ判定、ダメージの反映を含むキャラクタのパラメータ変更に関する処理、ゲーム終了条件の判定、各種タイマーやカウンタの管理などを行うことができる。本実施形態では、特定NPC(本実施形態では敵ボスNPC6)が出現している場合に、非同期の他ゲームと共通で管理される当該特定NPCのパラメータを参照・変更することができる。
【0084】
端末位置情報取得制御部236は、ユーザ端末1500で測定される位置情報を取得するための制御を行い、プレーヤ位置取得手段として機能する。
【0085】
画像生成部260sは、例えば、GPU(Graphics Processing Unit)、デジタルシグナルプロセッサ(DSP)などのプロセッサ、ビデオ信号IC、ビデオコーデックなどのプログラム、フレームバッファ等の描画フレーム用ICメモリ、テクスチャデータの展開用に使用されるICメモリ等によって実現される。画像生成部260sは、サーバ処理部200sによる処理結果に基づいて1フレーム時間(例えば1/60秒)で1枚の画面を生成し、生成した画面の画像信号を画像表示部360sに出力する。
【0086】
画像表示部360sは、画像生成部260sから入力される画像信号に基づいて各種画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。本実施形態では、
図1のタッチパネル1108がこれに該当する。
【0087】
通信制御部270sは、データ通信に係るデータ処理を実行し、通信部370sを介して外部装置とのデータのやりとりを実現する。
これに関連する通信部370sは、通信回線1と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。
【0088】
サーバ記憶部500sは、サーバ処理部200sに諸機能を実現させるためのプログラムやデータを記憶する。また、サーバ処理部200sの作業領域として用いられ、各種プログラムに従って実行した演算結果や、ユーザ端末1500から受信した情報等を一時的に記憶する。こうした機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスクなどによって実現される。
図1では、ブレードサーバ1104に搭載されているICメモリ等の情報記憶媒体や、ストレージ1140がこれに該当する。
【0089】
図7は、本実施形態におけるサーバ記憶部500sが記憶する情報の構成例を示す図である。本実施形態のサーバ記憶部500sは、サーバシステムプログラム503と、ゲーム管理サーバプログラム505と、ゲームクライアントプログラム507と、ゲーム空間初期設定データ508と、キャラクタ初期設定データ510と、キャラクタ表示形態設定データ512と、状況表示体設定データ514と、ゲームプレイ中端末リスト516と、を記憶する。また、サーバ記憶部500sは、ユーザ登録データ520と、個別プレイデータ540と、共通プレイデータ600と、を記憶する。その他ゲームの管理や、フレンドログインボーナスの付与等に必要な、所定期間のカウント値、各種フラグなどを適宜記憶する。
【0090】
サーバシステムプログラム503は、コンピュータにサーバとしての基本的な機能を実現させるためのプログラムである。サーバ処理部200sに、ユーザ登録情報管理部202、ログイン処理部204、としての機能を実現させることもできる。
【0091】
ゲーム管理サーバプログラム505は、サーバ処理部200sにゲーム管理サーバ制御部210としての機能を実現させるためのプログラムである。
【0092】
ゲームクライアントプログラム507は、本実施形態のゲームのプレイを希望するユーザ端末1500に提供するクライアントプログラムの原本である。ユーザ端末1500は、これをダウンロードして、ユーザ端末1500の搭載する情報記憶媒体に記憶させて実行する。ゲームクライアントプログラム507は、専用のプログラムや、ウェブブラウサプログラム及びウェブブラウザプログラム上で動的な表示を実現するためのプラグインなどにより実現される。後者の構成は、オンラインゲームを所謂ブラウザゲームとして実現する場合に利用可能である。
【0093】
ゲーム空間初期設定データ508は、ゲーム空間を構築するために必要な背景オブジェクトのモデルデータやテクスチャデータ、配置位置情報等を含む。また、天球に適用される背景画像データなども適宜含めることができる。
【0094】
キャラクタ初期設定データ510は、ゲームに登場するプレーヤキャラクタやNPCを表示・動作させるための各種データを格納する。例えば、キャラクタのモデルデータ、テクスチャデータ、モーションデータ、付属アイテムのモデルデータ等を格納する。また、キャラクタのライフポイントや各種能力パラメータ値の初期設定値を格納する。
【0095】
キャラクタ表示形態設定データ512は、プレーヤキャラクタ4の表示形態をゲーム進行状況に応じて変更するためのデータを格納する。例えば、プレーヤキャラクタ4(4a,4b)として選択可能なキャラクタ種類毎に、ゲーム進行状況別の表示形態の定義情報を格納する。ゲーム進行状況としては、敵ボスNPC6の出現の有無、ライフポイントの残り割合、ゲーム画面内に出現している敵戦闘員NPC8の数、連続プレイ時間などを適宜設定できる。また、表示形態の定義としては、カラーを変更するキャラクタの特定部位を指定するための指定情報と、カラーを変更するためのカラー値や色相設定データ、明滅パターンなどを設定することができる。
【0096】
状況表示体設定データ514は、ゲーム進行状況毎の状況表示体14を定義する。
ゲームプレイ中端末リスト516は、ゲームをプレイしているユーザ端末1500のリストデータであって、各端末毎のユーザアカウントや、IPアドレスなどを対応づけて格納する。
【0097】
ユーザ登録データ520は、登録ユーザすなわちプレーヤ別に用意され、当該ユーザに係わる各種情報を格納する。例えば、ログインするために必要なユーザアカウント522とパスワード523を格納する。また、ログイン履歴データ524と、フレンドリスト525とを格納する。
【0098】
ログイン履歴データ524は、ログイン、ログアウトの日時等の履歴である。
フレンドリスト525は、フレンドとして登録されている他ユーザに係る情報を格納する。例えば、フレンドユーザのユーザアカウント525aと、友好度525bと、チャット履歴データ525cとを対応づけて格納する。
【0099】
個別プレイデータ540は、ゲームとプレーヤ(ゲームをプレイするユーザ)の組み合わせ毎に用意され、当該ゲームの進行状況を記述する各種データを格納する。
例えば
図8に示すように、
(1)プレーヤ(ゲームをプレイするユーザ)の識別情報であるユーザアカウント541と、
(2)ゲームID542と、
(3)ゲーム成績等に応じて自動的に設定されるプレーヤレベル544と、
(4)オンラインショッピングサービスを利用してゲーム世界で使用できるアイテムを購入するための仮想マネー残高やその履歴などを格納する課金履歴546と、
(5)プレーヤキャラクタのゲーム内世界での位置座標を示すゲーム世界内位置座標548と、
(6)プレーヤキャラクタ4の種類や外観の設定情報を格納するプレーヤキャラクタ設定データ549と、
(7)プレイ日時履歴550と、
(8)ライフポイント560と、
(9)所持アイテムリスト562と、
(10)能力パラメータ値テーブル564と、
(11)フレンドNPCステータスデータ570と、
(12)敵戦闘員NPCステータスデータ580と、
(13)敵ボスNPCステータスデータ582と、
を格納する。勿論、その他のタイマー値や、各種フラグなどのゲーム進行制御に必要な各種情報を格納することができる。
【0100】
プレイ日時履歴550は、ユーザ端末1500から操作指示入力信号を受信した日時であるアクセス日時552と対応づけて、操作入力指示信号554と、ユーザ端末1500の位置情報である端末位置座標556とを対応づけて格納する。
【0101】
フレンドNPCステータスデータ570は、フレンドNPC12毎に用意され、当該NPCを表示し、動作制御するために必要な各種情報を格納する。例えば、当該フレンドNPCの元になったプレーヤキャラクタを使用するフレンドユーザのユーザアカウントであるフレンドユーザアカウント572と、フレンドNPC12を表示させるためのモデルデータや表示形態を定義する情報を含むフレンドNPC設定データ574と、出現頻度576と、出現確率578とを格納する。
【0102】
敵戦闘員NPCステータスデータ580は、敵戦闘員NPC8を個別に制御するための各種データを格納する。
敵ボスNPCステータスデータ582は、敵ボスNPC6の位置座標と、動作制御に関する情報を格納する。ここには、敵ボスNPC6のライフポイントのデータは含まれない。
【0103】
図7に戻り、共通プレイデータ600は、非同期のゲームに共通して登場し、パラメータ管理が共通する特定キャラクタのデータを格納する。例えば、
図9に示すように、敵ボスNPC6毎に、共通キャラクタステータスデータ602が用意される。一つの共通キャラクタステータスデータ602には、ボスキャラID604と、ライフポイント608と、ダメージ功績データ610とが含まれる。
【0104】
ライフポイント608は、非同期のゲーム間で共通するライフポイントの残り値を格納する。
【0105】
ダメージ功績データ610は、当該キャラクタに与えたダメージに関する情報として、ダメージが発生したダメージ日時612と、ダメージ量614と、当該ダメージを与えたゲームのプレーヤのユーザアカウントである功績者ユーザアカウント616とを対応づけて格納する。
【0106】
[処理の流れの説明]
次に、フレンドNPC12の出現に係るサーバシステムの処理の流れについて説明する。尚、プレーヤは既にユーザアカウントを取得し、何人かの関係ユーザをフレンド登録しているものとする。尚、フレンドリストへのフレンドユーザの登録/抹消は公知技術を適宜利用可能なので、ここでの説明は省略する。
【0107】
図10〜
図11は、フレンドNPCの出現に係るサーバシステムの処理の流れについて説明するためのフローチャートである。ゲーム管理サーバ制御部210は、ユーザ端末1500からゲーム開始リクエストを受信すると(ステップS2のYES)、当該ユーザ端末1500をゲームプレイ中端末リスト516に登録し、個別プレイデータ540のプレイ日時履歴550を更新する(ステップS4)。
【0108】
そして、もしリクエストしてきたユーザ端末1500のプレーヤのユーザアカウントと一致する第1ゲームの個別プレイデータ540が無ければ(ステップS6のNO)、ゲーム管理サーバ制御部210は新規に当該プレーヤの個別プレイデータ540を生成する(ステップS8)。
【0109】
次に、ゲーム管理サーバ制御部210は、プレイ中のゲーム毎にループAを実行する(ステップS20〜S234:
図11)。
ループAでは、先ずユーザ端末1500から操作入力指示信号を受信したならば(ステップS22のYES)、プレイ日時履歴550を更新する(ステップS24)。尚、操作入力指示信号の受信にともない、ユーザ端末1500からは最新の位置情報も受信するものとする。
【0110】
次に、ゲーム管理サーバ制御部210は、ループAの処理対象のゲームをプレイするユーザのフレンドユーザ毎にループBを実行する(ステップS30〜S138)。
ループBでは、ゲーム管理サーバ制御部210は先ず、フレンドユーザプレイ判定処理を実行する(ステップS36)。
図12は、本実施形態におけるフレンドユーザプレイ判定処理の流れを説明するためのフローチャートである。同処理において、ゲーム管理サーバ制御部210は、直近のアクセス日時552の時間間隔を算出し(ステップS50)、当該時間間隔が所定のプレイ継続判定基準値(例えば、10秒)未満である場合には(ステップS52のYES)、ループBの処理対象のフレンドユーザはプレイ中であると判定し(ステップS54)、フレンドユーザプレイ判定処理を終了する。もし、時間間隔が所定のプレイ継続判定基準値以上であれば(ステップS52のNO)、プレイしていないと判定して(ステップS56)、フレンドユーザプレイ判定処理を終了する。
【0111】
図10のフローチャートに戻って、ループBの処理対象のフレンドユーザがプレイ中であると判定された場合(ステップS94のYES)、ゲーム管理サーバ制御部210は、フレンドNPCステータスデータ570(
図8参照)を設定する(ステップS96)。この時、フレンドNPC設定データ574には、ループBの処理対象のフレンドユーザの個別プレイデータ540のプレーヤキャラクタ設定データ549の複製情報を格納する。
【0112】
次いで、ゲーム管理サーバ制御部210は、処理対象のフレンドユーザのプレイ日時履歴550を参照して、直近のアクセス日時552から現在までの経過時間を算出し(ステップS98)、算出した経過時間に応じた出現頻度576(
図8参照)を決定する(ステップS100)。更に、ループAの処理対象のゲームをプレイしているユーザのフレンドリスト525を参照して(
図7参照)、当該ユーザとループBの処理対象のフレンドユーザとの友好度525bに応じて出現確率578(
図8参照)を1次設定する(ステップS102)。そして、当該ユーザのゲーム進行状況に応じてこの1次設定された出現確率を変更し、最終出現確率を決定し(ステップS104)、ループBを終了する(ステップS138)。
【0113】
一方、ループB処理対象のフレンドユーザが現在プレイ中でないと判定された場合には(ステップS94のNO)、ゲーム管理サーバ制御部210は出現確率578を所定の低確率値に設定し(ステップS106)、ループBを終了する(ステップS138)。
【0114】
ループAの処理対象のフレンドユーザ全てについてループBを実行したならば、
図11のフローチャートに移って、ゲーム管理サーバ制御部210は、次にループAの処理対象のゲームをプレイしているユーザに係る全てのフレンドNPCについて、具体的には個別プレイデータ540に格納されている全てのフレンドNPCステータスデータ570についてループCを実行する(ステップS140〜S156)。
【0115】
ループCでは、ゲーム管理サーバ制御部210は、処理対象フレンドNPCの出現機会が到来したかを判定する(ステップS142)。具体的には、出現頻度576を満たすか否かを判定する(
図8参照)。
もし、出現機会が到来していると判定した場合には(ステップS142のYES)、ループAの処理対象のゲームをプレイしているユーザのユーザ端末1500の最新の端末位置座標556と、ループcの処理対象のフレンドNPCのフレンドユーザアカウント572(
図8参照)の最新の端末位置座標556とを比較して、相対位置関係が所定の位置条件を満たすかを判定する(ステップS144)。所定の位置条件としては、例えば、10キロメートルに相当する位置関係、あるいは同じ地名に相当する位置関係など適宜設定可能である。
【0116】
もし、位置条件を満たしている場合には(ステップS144のYES)、ゲーム管理サーバ制御部210は、キャラクタ表示形態設定データ512(
図7参照)と、対応するフレンドユーザの個別プレイデータ540を参照して、ループCの処理対象のフレンドNPC12の表示形態を、対応するフレンドユーザのゲームのゲーム進行状況に応じた形態に変更する(ステップS146)
【0117】
そして、出現確率578に従った出現可否の判定をする(ステップS148)。本実施形態では、出現確率578を当選確率とした抽選処理を行い、当選すれば出現許可と判定する。出現許可判定されたならば(ステップS150のYES)、ループCの処理対象のフレンドNPC12をループAの処理対象のゲームに登場させ(ステップS152)、更に当該フレンドNPCに、対応するフレンドユーザのゲーム進行状況に応じた状況表示体14とフレンド名表示16とを付加表示し(ステップS154)、ループCを終了する。
【0118】
なお、そもそもループCの処理対象のフレンドNPCの出現機会のタイミングでない場合(ステップS142のNO)、或いは、位置条件を満たさない場合(ステップS144のNO)、或いは、出現可否の判定で出現不可と判定された場合(ステップS150のNO)には、ステップS152〜S154はスキップされ、ループCの処理対象のフレンドNPCは出現しない。
【0119】
ゲーム管理サーバ制御部210は、ループAの処理対象のゲームをプレイしているユーザに係る全てのフレンドNPCについてループCを実行したならば、次にゲーム進行制御処理を実行する(ステップS158)。
【0120】
図13は、本実施形態におけるゲーム進行制御処理の流れを説明するためのフローチャートである。同処理において、ゲーム管理サーバ制御部210は先ず、直近の操作指示入力に応じて、ループAの処理対象のゲームにおけるプレーヤキャラクタ4の動作を制御する(ステップS170)。
【0121】
次に、そのプレーヤキャラクタ4が敵ボスNPC6が出現する所定発生域に進入している場合には(ステップS172のYES)、敵ボスNPC6を出現させる(ステップS174)。
【0122】
次に、ゲーム管理サーバ制御部210は、出現している全NPCの動作を自動制御し(ステップS176)、プレーヤキャラクタ4の行動とNPCの行動とに基づいて、攻撃ヒット判定とダメージ判定処理をする(ステップS178)。ダメージ判定処理では、ダメージを受けるキャラクタと、ダメージ量を算出する。
【0123】
ここでもし敵ボスNPC6にダメージが発生した場合(ステップS180のYES)、ゲーム管理サーバ制御部210は、共通プレイデータ600の敵ボスNPC6のダメージ功績データ610(
図9参照)に、ループAの処理対象のゲームのプレーヤのユーザアカウントを功績者ユーザアカウント616とする新しい履歴を追加登録する(ステップS182)。そして、ダメージ量だけ敵ボスNPC6のライフポイントを減らす(ステップS184)。
【0124】
その結果、敵ボスNPC6のライフポイントが「0」に達した場合には(ステップS186のYES)、ゲーム管理サーバ制御部210は敵ボスNPC6が撃破される演出をユーザ端末1500にて表示させ(ステップS188)、ダメージ功績データ610に残っているループAの処理対象のゲームのプレーヤの功績に応じた特典を付与する(ステップS19)。
【0125】
もし、ダメージ量だけ敵ボスNPC6のライフポイントを減らしても「0」に達しなければ(ステップS186のNO)、ダメージ功績データ610から、直近から所定期間分を残して過去の履歴を抹消し(ステップS192)、敵ボスNPC6のライフポイントを所定の単位時間経過毎に所定量の自動回復を行う(ステップS194)。
【0126】
次に、ステップS178のダメージ判定処理の結果、プレーヤキャラクタ4にダメージが発生した場合には(ステップS200のYES)、ゲーム管理サーバ制御部210は、ループAの処理対象のゲームのプレーヤの個別プレイデータ540のライフポイント560をダメージ量分だけ減らす(ステップS202)。同様に、敵戦闘員NPC8などのNPCにダメージが発生した場合には(ステップS204のYES)、ゲーム管理サーバ制御部210は個別プレイデータ540の敵戦闘員NPCステータスデータ580等に格納されているライフポイントを減らす(ステップS206)。そして、ライフポイントが「0」に達したNPCの消滅処理を行って(ステップS208)、ゲーム進行制御処理を終了する。
【0127】
図11のフローチャートに戻って、次いで、ゲーム管理サーバ制御部210は、ゲーム終了条件を満たすかを判定する(ステップS230)。本実施形態では、ゲーム終了の操作入力が有った場合や、ユーザ端末1500との通信が所定時間以上途絶した場合、ゲームのストーリの最後まで到達した場合、プレーヤキャラクタ4のライフポイントが「0」に達した場合、などにゲーム終了条件を満たすと判定する。
【0128】
そして、ゲーム終了条件を満たしたならば(ステップS230のYES)、当該ユーザ端末1500をゲームプレイ中端末リスト516から登録解除して(ステップS232)、ループAを終了する(ステップS234)。
【0129】
実行中の全てのゲームについてループAを実行したならば、ゲーム管理サーバ制御部210は、再びステップS2に戻る。
【0130】
以上、本実施形態によれば、ゲームプレイしているユーザ(プレーヤ)のフレンドユーザが同時刻にゲームプレイしている場合、当該フレンドユーザのプレーヤキャラクタをベースとしたフレンドNPCをゲーム内に登場させることができる。ゲームプレイしているユーザは、このフレンドNPCを見つけることで、そのゲームが本来非同期のゲームであっても、フレンドユーザの存在を感じられるようになる。
【0131】
〔第2実施形態〕
次に、本発明を適用した第2実施形態について説明する。本実施形態は、基本的には第1実施形態と同様に実現できるが、パーティを編成してプレイするゲームで有る点と、フレンドNPCの出現確率が、パーティを編成するメンバーの選択肢の中へ含まれる確率(出現率)として利用される点が異なる。尚、以降では、第1実施形態との差異について主に述べることとし、第1実施形態と同様の構成要素について同じ符合を付与して詳細な説明は省略することとする。
【0132】
図15は、本実施形態におけるサーバシステム1100の機能構成例を示す機能ブロック図である。本実施形態の機能構成は、基本的には第1実施形態と同様であるが、フレンドNPC出現制御部224に代る機能ブロックとして、ゲーム管理サーバ制御部210は、出現キャラクタ選定制御部211を有する。
【0133】
出現キャラクタ選定制御部211は、ゲームを開始しようとする一のユーザ(プレーヤ)以外のユーザ(プレーヤ)のキャラクタの中から、パーティメンバーのNPCとして一のプレーヤのゲームに出現させるキャラクタを選定する制御をする。
そして、本実施形態では、候補キャラクタ選択制御部212と、選択確定部213と、を含み、第1実施形態の出現確率設定部228と、キャラクタ表示形態変更部230と、付加表示制御部232とを有する。
【0134】
候補キャラクタ選択制御部212は、ゲームを開始しようとする一のユーザ(プレーヤ)以外のユーザ(プレーヤ)のキャラクタの中から、パーティメンバーのNPCとして一のプレーヤのゲームに出現させるキャラクタの選定候補とする候補キャラクタを選択し、一のユーザ(プレーヤ)のユーザ端末1500に選択可能に表示させる制御をする。当該ユーザ端末1500から候補キャラクタの選択操作の信号が送信されることになるので、選択確定部213は、当該選択操作に応じて出現させるキャラクタを選択確定する。
【0135】
図16は、本実施形態における個別プレイデータ540のデータ構成例を示す図である。本実施形態のゲームはパーティを編成するゲームなので、本実施形態における個別プレイデータ540は、第1実施形態のフレンドNPCステータスデータ540(
図8参照)に代えて、パーティメンバーNPCステータスデータ584を含む。当該ステータスデータには、パーティメンバーとして選択されたNPCの状態と表示制御に必要な情報が格納される。
【0136】
図17は、本実施形態におけるサーバシステム1100のフレンドNPCの出現に係る処理の流れを説明するためのフローチャートである。
ゲーム管理サーバ制御部210は、ゲーム開始をリクエストしてきたユーザ端末1500について、ゲーム開始の準備処理を実行する(ステップS10)。
【0137】
図18は、本実施形態におけるゲーム開始準備処理の流れを説明するためのフローチャートである。同処理において、ゲーム管理サーバ制御部210は、先ず所定数の登録ユーザの個別プレイデータ540に含まれているプレーヤキャラクタ設定データ549を参照して、パーティ編成の候補キャラクタによる候補リストを編成する(ステップS300)。
【0138】
次いで、第1実施形態と同様にしてフレンドユーザプレイ判定処理を実行して、ゲーム開始準備の対象とされるユーザ(ゲーム開始準備ユーザ:プレーヤ)のフレンドユーザ毎に、現在ゲームをプレイ中か否かを判定する(ステップS302)。
【0139】
そして、ゲーム管理サーバ制御部210は、ゲーム開始準備ユーザのフレンドユーザ中に、現在プレイ中のフレンドユーザがいる場合には(ステップS304のYES)、出現確率設定処理を実行する(ステップS306)。
【0140】
図19は、本実施形態における出現確率設定処理の流れを説明するためのフローチャートである。同処理において、ゲーム管理サーバ制御部210は、フレンドユーザ毎にループEを実行する(ステップS310〜S332)。
ループEでは、処理対象フレンドユーザの出現確率算出ポイントをサーバ記憶部500sに生成し、「0」に初期化する(ステップS312)。そして、処理対象フレンドユーザがプレイ中であれば(ステップS314のYES)、ゲーム管理サーバ制御部210は、処理対象フレンドユーザとゲーム開始準備ユーザとの好感度525b(
図7参照)に応じたポイントを出現確率算出ポイントに加算する(ステップS316)。具体的には、好感度525bが高いほど加算するポイントを大きくすると良い。
【0141】
次に、ゲーム管理サーバ制御部210は、処理対象フレンドユーザの直近のアクセス日時552(
図16参照)からの経過時間を算出し、当該経過時間が短い程大きいポイントを出現確率算出ポイントに加算する(ステップS318)。
【0142】
次いで、ゲーム管理サーバ制御部210は、処理対象フレンドユーザの端末位置座標556と、ゲーム開始準備ユーザの端末位置座標556との位置差が小さいほど大きいポイントを出現確率算出ポイントに加算する(ステップS320)。
【0143】
次いで、ゲーム管理サーバ制御部210は、処理対象フレンドユーザのゲーム進行状況に応じたポイントを出現確率算出ポイントに加算する(ステップS322)。例えば、敵ボスNPC6と交戦中ならば10ポイント、敵戦闘員NPC8の出現数が所定基準を超えたら5ポイント、ライフポイント560が50%を下回っていたら5ポイントなど、適宜設定可能である。或いは、能力パラメータ値テーブル564の値が高い程高いポイントを加算するとしても良い。
【0144】
次に、ゲーム管理サーバ制御部210は、ゲーム開始準備ユーザのゲーム進行状況に応じたポイントを出現確率算出ポイントに加算する(ステップS324)。
【0145】
次いで、これまで様々に加算された処理対象フレンドユーザの出現確率算出ポイントの値が大きい程、高確率となるように出現確率を決定し(ステップS330)、ループEを終了する(ステップS332)。
尚、処理対象フレンドユーザが現在プレイ中でなければ(ステップS314のNO)、出現確率算出ポイントは「0」のままとなり、ステップS330では極めて低い出現確率が設定されることになる。
【0146】
そして、ゲーム開始準備ユーザの全てのフレンドユーザについてループEを実行したならば、出現確率設定処理を終了する。
【0147】
図18のフローチャートに戻って、ゲーム管理サーバ制御部210は次に、フレンドユーザ毎に設定された出現確率を適用して個別に抽選処理を実行して、当該フレンドユーザを出現させるか否かを判定し(ステップS350)、ステップS300で編成された候補リストのキャラクタを、出現判定されたフレンドユーザのプレーヤキャラクタに置き換える(ステップS356)。
【0148】
次に、ゲーム管理サーバ制御部210は、候補リストをゲーム開始準備ユーザのユーザ端末1500で選択可能に表示させる制御をする(ステップS358)。尚、候補リストには、キャラクタのグラフィックスとともに、当該キャラクタをプレーヤキャラクタとするユーザアカウントを併せて表示させる。
【0149】
ゲーム開始準備ユーザは、この候補リスト中にフレンドユーザを見つけることができれば、当該フレンドユーザが現在プレイ中であることを知ることができる。そして、そのフレンドユーザのキャラクタをパーティメンバーとして選択すれば、非同期のゲーム間であるが、フレンドユーザとともにプレイしているような連帯感を感じることができる。
【0150】
さて、ユーザ端末1500は、ゲーム開始準備ユーザによるパーティを編成するキャラクタの選択操作を検出すると、選択操作信号をサーバシステム1100へ送信する。
そこで、ゲーム管理サーバ制御部210は、選択操作信号を受信したならば(ステップS358のYES)、選択されたキャラクタをパーティメンバーNPCステータスデータ584に設定する(ステップS360)。この際、ゲーム管理サーバ制御部210は、新たに設定するパーティメンバーNPCの表示形態を、第1実施形態と同様にキャラクタ表示形態変更部230を機能させて決定し、付加表示制御部232を機能させて状況表示体14やフレンド名表示16といった付加表示体(
図4参照)を選択・付加することとする。
そして、ゲーム開始準備ユーザのユーザ端末1500からパーティメンバーの決定操作を受信したならば(ステップS362のYES)、ゲーム開始準備処理を終了する。
【0151】
図17のフローチャートに戻って、ループAではゲーム開始準備処理で選択されたパーティメンバーNPCが、ループA処理対象ゲームをプレイするユーザのプレーヤキャラクタともにパーティを編成してゲーム世界に登場することになる。
【0152】
〔変形例〕
以上、本発明を適用した第1及び第2実施形態について説明したが、本発明の形態はこれらに限定されるものではなく、適宜構成要素の追加・省略・変更を施すことができる。
【0153】
例えば、上記実施形態ではオンラインRPGを例示したが、ゲームジャンルはその他のジャンルでも構わない。
【0154】
また、ステップS104(
図10参照)において、ループAの処理対象のゲームのゲーム進行状況に応じて最終出現確率を決定したが、ループBの処理対象のフレンドユーザのゲーム進行状況に応じて決定するとしても良い。
また、ステップS106などのステップを適宜省略することができる。
【0155】
また、上記実施形態のフレンドユーザプレイ判定処理を、
図14に示すフレンドユーザプレイ判定処理Bに置き換えることができる。同処理では、ゲーム管理サーバ制御部210は、先ずループBの処理対象のフレンドユーザのプレイ日時履歴550の過去の履歴を統計処理して、過去の傾向から現在時刻においてプレイしている確率(可能性)を算出する(ステップS70)。そして、算出した確率が所定のプレイ判定基準確率に達している場合には(ステップS72のYES)、ループBの処理対象のフレンドユーザはプレイ中であると判定(推定)し(ステップS74)、フレンドユーザプレイ判定処理Bを終了する。もし、達していなければ(ステップS72のNO)、プレイしていないと判定して(ステップS76)、フレンドユーザプレイ判定処理Bを終了する。