JP7365314B2 - サーバ装置、イベントデータ処理方法および情報処理装置 - Google Patents

サーバ装置、イベントデータ処理方法および情報処理装置 Download PDF

Info

Publication number
JP7365314B2
JP7365314B2 JP2020172152A JP2020172152A JP7365314B2 JP 7365314 B2 JP7365314 B2 JP 7365314B2 JP 2020172152 A JP2020172152 A JP 2020172152A JP 2020172152 A JP2020172152 A JP 2020172152A JP 7365314 B2 JP7365314 B2 JP 7365314B2
Authority
JP
Japan
Prior art keywords
activity
play time
event data
class
players
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020172152A
Other languages
English (en)
Other versions
JP2022063756A (ja
Inventor
知憲 崔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2020172152A priority Critical patent/JP7365314B2/ja
Priority to US18/028,024 priority patent/US20230338836A1/en
Priority to PCT/JP2021/036746 priority patent/WO2022080178A1/ja
Publication of JP2022063756A publication Critical patent/JP2022063756A/ja
Application granted granted Critical
Publication of JP7365314B2 publication Critical patent/JP7365314B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/798Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for assessing skills or for ranking players, e.g. for generating a hall of fame
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/44Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、ユーザが実行したゲームアクティビティに関するイベントデータを処理する技術に関する。
近年、プレイヤが入力した操作情報をゲームサーバに送信し、ゲームサーバが操作情報に応じたゲームの映像および音声を生成してプレイヤの端末装置に送信するクラウドゲームサービスが普及している。クラウドゲームサービスでは、ゲームサーバがゲームプレイを全て管理するため、プレイヤが実行したアクティビティのプレイ状況を分析して、ゲームシナリオの改善等に役立てることができる。
一方、現在のコンソールゲームは、ゲームプレイの状況を示す情報を外部に出力しないため、サーバ側でプレイヤによるプレイ状況を分析できない。そこでコンソールゲームにおいても、ゲームプレイに関する様々な情報をサーバに送信して、サーバがアクティビティのプレイ状況を分析できるようにすることが好ましい。
サーバが複数のプレイヤによるアクティビティのプレイ状況を収集することで、アクティビティのプレイ時間を統計的に処理できるようになる。そこで、まだアクティビティを実行していないユーザに対して、プレイ時間に関する有用な情報を提供するための仕組みを構築することが望まれている。
そこで本発明は、アクティビティのプレイ時間に関する情報を提供するための仕組みを実現することを目的とする。
上記課題を解決するために、本発明のある態様は、複数のプレイヤにより実行されたアクティビティに関するイベントデータを処理するサーバ装置であって、複数のプレイヤにより実行されたアクティビティに関するイベントデータを記録するイベントデータ記録部と、イベントデータ記録部に記録された、アクティビティの開始を示すイベントデータと、アクティビティの終了を示すイベントデータから、複数のプレイヤの当該アクティビティのプレイ時間を取得するプレイ時間取得部と、プレイヤのスキル値に応じて、プレイヤを複数のクラスのいずれかに振り分け、各クラスにおける複数のプレイヤのプレイ時間にもとづいて、各クラスにおけるプレイ時間の代表値を決定する統計処理部と、決定された各クラスのプレイ時間の代表値を記録する代表値記録部と、を備える。
本発明の別の態様は、複数のプレイヤにより実行されたアクティビティに関するイベントデータを処理するサーバ装置であって、当該アクティビティは、複数のタスクを含んでおり、複数のプレイヤにより実行されたアクティビティに関するイベントデータを記録するイベントデータ記録部と、イベントデータ記録部に記録された、アクティビティに含まれるタスクの開始を示すイベントデータと、アクティビティに含まれるタスクの終了を示すイベントデータから、複数のプレイヤの当該タスクのプレイ時間を取得するプレイ時間取得部と、プレイヤのスキル値に応じて、プレイヤを複数のクラスのいずれかに振り分け、各クラスにおける複数のプレイヤのプレイ時間にもとづいて、タスクの各クラスにおけるプレイ時間の代表値を決定する統計処理部と、を備える。統計処理部は、複数のタスクについて各クラスのプレイ時間の代表値を決定し、クラスごとに代表値を集計して、アクティビティの各クラスにおけるプレイ時間の代表値を決定する。
本発明のさらに別の態様は、複数のプレイヤにより実行されたアクティビティに関するイベントデータを処理する方法であって、アクティビティの開始を示すイベントデータと、アクティビティの終了を示すイベントデータから、複数のプレイヤの当該アクティビティのプレイ時間を取得するステップと、プレイヤのスキル値に応じて、プレイヤを複数のクラスのいずれかに振り分けるステップと、アクティビティの各クラスにおける複数のプレイヤのプレイ時間にもとづいて、各クラスにおけるプレイ時間の代表値を決定するステップと、を有する。
本発明のさらに別の態様は、複数のプレイヤにより実行されたアクティビティに関するイベントデータを処理する方法であって、当該アクティビティは、複数のタスクを含んでおり、アクティビティに含まれるタスクの開始を示すイベントデータと、アクティビティに含まれるタスクの終了を示すイベントデータから、複数のプレイヤの当該タスクのプレイ時間を取得するステップと、プレイヤのスキル値に応じて、プレイヤを複数のクラスのいずれかに振り分けるステップと、タスクの各クラスにおける複数のプレイヤのプレイ時間にもとづいて、タスクの各クラスにおけるプレイ時間の代表値を決定するステップと、アクティビティに含まれる複数のタスクの各クラスについて決定したプレイ時間の代表値をクラスごとに集計して、アクティビティの各クラスにおけるプレイ時間の代表値を決定するステップと、を有する。
本発明のさらに別の態様は、情報処理装置であって、ユーザのクラスに対応付けられた、ゲームアクティビティのプレイ時間の代表値にもとづく予想プレイ時間に関する情報を取得する取得部と、取得部が取得した情報を表示する表示処理部と、を備える。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
実施形態にかかる情報処理システムを示す図である。 情報処理装置のハードウェア構成を示す図である。 情報処理装置の機能ブロックを示す図である。 実施形態のサーバ装置の機能ブロックを示す図である。 収集したイベントデータを分析する手順を示す図である。 プレイ時間の算出手法を説明するための図である。 アクティビティのプレイ時間と、当該アクティビティを実行したプレイヤ数との関係を示す図である。 プレイ時間の分布を示す図である。 クラスごとにプレイヤをプロットしたグラフを示す図である。 システム画面の例を示す図である。 収集したイベントデータを分析する手順を示す図である。 時系列に並べたイベントの例を示す図である。 アクティビティの分断度と、算出されたプレイ時間の信頼度との関係を示す図である。 時系列に並べたイベントの別の例を示す図である。 プレイヤスキル値の計算過程を説明するための図である。 プレイ時間の代表値の計算過程を説明するための図である。 各クラスについて導出されたプレイ時間の代表値の例を示す図である。 アクティビティとタスクの関係の例を示す図である。 各タスクのクラスにおけるプレイ時間の代表値を示す図である。
本発明の概要を説明する。実施形態では、情報処理装置がゲームソフトウェアを実行する。ゲームソフトウェアは、アクティビティを開始すると、アクティビティを識別するアクティビティ識別子(アクティビティID)と、アクティビティの開始を示す情報を含むイベント情報をシステムソフトウェアに出力する。またゲームソフトウェアは、アクティビティを終了すると、アクティビティIDと、アクティビティの終了を示す情報を含むイベント情報をシステムソフトウェアに出力する。アクティビティの終了時、ゲームソフトウェアは、イベント情報に、アクティビティの結果(成功または失敗)を含ませてよい。システムソフトウェアは、ゲームソフトウェアから出力されたイベント情報に、ゲームを識別するゲーム識別子(ゲームID)および時間情報(タイムスタンプ)を付加したイベントデータを生成し、サーバ装置に送信する。
アクティビティはゲームプレイの一単位であり、ゲーム進行においてユーザに提供されるクエストやミッションであってよい。上記したようにゲームソフトウェアは、基本的には、アクティビティを開始すると、開始イベントの発生を示すイベント情報を出力し、アクティビティを終了すると、終了イベントの発生を示すイベント情報を出力する。しかしながらゲーム開発者は、アクティビティに関するイベントを、ゲームソフトウェアに自由に設定できる。たとえばゲーム開発者が1つのアクティビティに複数のタスクを含ませた場合、ゲームソフトウェアは、アクティビティのイベント情報を出力せず、各タスクのイベント情報を出力するように構成されてよい。なおゲームソフトウェアは、各タスクのイベント情報を出力するだけでなく、アクティビティ自体のイベント情報を出力するように構成されてもよい。このようにゲーム開発者は、イベント情報の出力有無および出力タイミングを、ゲームソフトウェアに自由に設定できる。
サーバ装置は、複数のプレイヤが操作する複数の情報処理装置から送信されるイベントデータを収集して、アクティビティに関するプレイ動向を分析する。特に実施形態のサーバ装置は、複数の情報処理装置から送信されるイベントデータにもとづいて、複数のプレイヤによるアクティビティのプレイ時間を統計的に処理する。サーバ装置は、統計処理した結果に基づいて、まだアクティビティをプレイしていないユーザに対して予想されるプレイ時間を通知する機能をもつ。
図1は、本発明の実施形態にかかる情報処理システム1を示す。実施形態の情報処理システム1は、アクティビティのプレイ時間を分析するプレイ時間分析システムであり、ユーザが操作する情報処理装置10とサーバ装置5とを備える。アクセスポイント(以下、「AP」とよぶ)8は、無線アクセスポイントおよびルータの機能を有し、情報処理装置10は、無線または有線経由でAP8に接続して、ネットワーク3上のサーバ装置5と通信可能に接続する。図1には、1人のユーザおよび1台の情報処理装置10が示されているが、情報処理システム1では、複数のユーザが操作する複数の情報処理装置10とサーバ装置5とがネットワーク3を介して接続していることを前提とする。
情報処理装置10は、ユーザが操作する入力装置6と無線または有線で接続し、入力装置6はユーザが操作した情報を情報処理装置10に出力する。情報処理装置10は入力装置6から操作情報を受け付けるとシステムソフトウェアやゲームソフトウェアの処理に反映し、出力装置4から処理結果を出力させる。情報処理システム1において情報処理装置10はゲームを実行するゲーム装置(ゲームコンソール)であり、入力装置6はゲームコントローラなど情報処理装置10に対してユーザの操作情報を供給する機器であってよい。なお入力装置6は、キーボードやマウスなどの入力インタフェースであってもよい。
補助記憶装置2は、HDD(ハードディスクドライブ)やSSD(ソリッドステートドライブ)などの大容量記録装置であり、内蔵型記録装置であってよく、またUSB(Universal Serial Bus)などによって情報処理装置10と接続する外部記録装置であってもよい。出力装置4は画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよい。出力装置4は、情報処理装置10に有線ケーブルで接続されてよく、また無線接続されてもよい。
撮像装置であるカメラ7は出力装置4の近傍に設けられ、出力装置4周辺の空間を撮像する。図1ではカメラ7が出力装置4の上部に取り付けられている例を示しているが、出力装置4の側部または下部に配置されてもよく、いずれにしても出力装置4の前方に位置するユーザを撮像できる位置に配置される。カメラ7はステレオカメラであってもよい。
サーバ装置5は、情報処理システム1のユーザに対してネットワークサービスを提供する。サーバ装置5は、各ユーザを識別するネットワークアカウントを管理しており、各ユーザは、ネットワークアカウントを用いて、サーバ装置5が提供するネットワークサービスにサインインする。ユーザは情報処理装置10からネットワークサービスにサインインすることで、サーバ装置5に、ゲームのセーブデータや、ゲームプレイ中に獲得した仮想的な褒賞であるトロフィを登録できる。サーバ装置5にセーブデータやトロフィが登録されることで、ユーザが情報処理装置10とは別の情報処理装置を使用しても、セーブデータやトロフィを同期できるようになる。
実施形態のサーバ装置5は、複数のプレイヤが操作する複数の情報処理装置10からイベントデータを収集する。サーバ装置5は、収集したイベントデータから、アクティビティのプレイ時間を統計処理して、プレイヤスキル値に対応するプレイ時間をアクティビティごとに評価する。またサーバ装置5は、収集したイベントデータから、ユーザのプレイヤスキル値を導出する。サーバ装置5は、アクティビティのプレイヤスキル値に対応するプレイ時間と、ユーザのプレイヤスキル値とにもとづいて、まだアクティビティを実行していないユーザに、当該ユーザのプレイヤスキル値に対応するプレイ時間を、予想プレイ時間として通知できる。ユーザは、予想プレイ時間を通知されると、自身の状況(たとえば1時間後に外出しなければならない、等)から、当該アクティビティをプレイするか否かを判断できるようになる。
図2は、情報処理装置10のハードウェア構成を示す。情報処理装置10は、メイン電源ボタン20、電源ON用LED21、スタンバイ用LED22、システムコントローラ24、クロック26、デバイスコントローラ30、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60を有して構成される。
メインシステム60は、メインCPU(Central Processing Unit)、主記憶装置であるメモリおよびメモリコントローラ、GPU(Graphics Processing Unit)などを備える。GPUはゲームプログラムの演算処理に主として利用される。メインCPUはシステムソフトウェアを起動し、システムソフトウェアが提供する環境下において、補助記憶装置2にインストールされたゲームプログラムを実行する機能をもつ。サブシステム50は、サブCPU、主記憶装置であるメモリおよびメモリコントローラなどを備え、GPUを備えない。
メインCPUは補助記憶装置2にインストールされているゲームプログラムを実行する機能をもつ一方で、サブCPUはそのような機能をもたない。しかしながらサブCPUは補助記憶装置2にアクセスする機能や、サーバ装置5との間でデータを送受信する機能を有している。サブCPUは、このような制限された処理機能のみを有して構成されており、したがってメインCPUと比較して小さい消費電力で動作できる。これらのサブCPUの機能は、メインCPUがスタンバイ状態にある際に実行される。
メイン電源ボタン20は、ユーザからの操作入力が行われる入力部であって、情報処理装置10の筐体の前面に設けられ、情報処理装置10のメインシステム60への電源供給をオンまたはオフするために操作される。電源ON用LED21は、メイン電源ボタン20がオンされたときに点灯し、スタンバイ用LED22は、メイン電源ボタン20がオフされたときに点灯する。システムコントローラ24は、ユーザによるメイン電源ボタン20の押下を検出する。
クロック26はリアルタイムクロックであって、現在の日時情報を生成し、システムコントローラ24やサブシステム50およびメインシステム60に供給する。
デバイスコントローラ30は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するLSI(Large-Scale Integrated Circuit)として構成される。図示のように、デバイスコントローラ30には、システムコントローラ24、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60などのデバイスが接続される。デバイスコントローラ30は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。
メディアドライブ32は、ゲームなどのアプリケーションソフトウェア、およびライセンス情報を記録したROM媒体44を装着して駆動し、ROM媒体44からプログラムやデータなどを読み出すドライブ装置である。ROM媒体44は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。
USBモジュール34は、外部機器とUSBケーブルで接続するモジュールである。USBモジュール34は補助記憶装置2およびカメラ7とUSBケーブルで接続してもよい。フラッシュメモリ36は、内部ストレージを構成する補助記憶装置である。無線通信モジュール38は、Bluetooth(登録商標)プロトコルやIEEE802.11プロトコルなどの通信プロトコルで、入力装置6と無線通信する。有線通信モジュール40は、外部機器と有線通信し、AP8を介してネットワーク3に接続する。
図3は、情報処理装置10の機能ブロックを示す。情報処理装置10は、処理部100および通信部102を備える。処理部100は、ゲームソフトウェア110、イベント情報取得部120、イベントデータ送信部122、ゲーム画像生成部130、表示処理部140およびアクティビティ情報取得部150を備える。
図3において情報処理装置10のさまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
ゲームソフトウェア110は、少なくともゲームプログラム、画像データおよび音声データを含む。ゲームプログラムは、ユーザによる入力装置6の操作情報を受け、仮想空間においてゲームキャラクタを動かす演算処理を行う。ゲーム画像生成部130は、レンダリング処理などを実行するGPU(Graphics Processing Unit)を含んで、ゲームの画像データを生成する。表示処理部140は、生成されたゲーム画像を出力装置4から出力する。なお処理部100は、ゲーム音声データを生成するゲーム音声生成部およびゲーム音声を出力する音声出力部を備えるが、図3では図示を省略している。
ゲームプログラムは、ゲーム進行中にアクティビティを開始すると、アクティビティの開始イベントの発生を示すイベント情報を出力し、アクティビティを終了すると、アクティビティの終了イベントの発生を示すイベント情報を出力する。イベント情報取得部120は、ゲームソフトウェア110からイベント情報を取得すると、イベント情報に、ゲームIDおよびイベントが発生した時間を示す時間情報(タイムスタンプ)を付加したイベントデータを生成して、イベントデータ送信部122に提供する。なおゲームプログラムは、ゲームIDおよび/またはタイムスタンプを含むイベント情報をイベント情報取得部120に出力してもよい。イベントデータ送信部122は、生成されたイベントデータを、通信部102を介してサーバ装置5に送信する。
ゲーム開発者は様々なアクティビティをゲームに仕込んでよい。たとえば、敵ボスとの戦闘アクティビティがゲームに組み入れられている場合、ゲームプログラムは、戦闘開始時に、戦闘アクティビティを識別するアクティビティIDと、戦闘アクティビティの開始を示す情報を含むイベント情報を出力する。プレイヤが敵ボスとの戦闘に勝利すると、ゲームプログラムは、戦闘アクティビティを識別するアクティビィティIDと、戦闘アクティビティの終了を示す情報と、アクティビティの成功を示す情報を含むイベント情報を出力する。
イベントデータ送信部122は、プレイヤにより実行されたアクティビティに関するイベントデータを、通信部102を介してサーバ装置5に送信する。情報処理システム1において、イベントデータの送信処理は、サーバ装置5に接続している全ての情報処理装置10により実施され、サーバ装置5は、複数の情報処理装置10から、様々なゲームの様々なアクティビティに関するイベントデータを収集する。イベント情報取得部120は、イベント情報をゲームソフトウェア110から取得すると、すぐにタイムスタンプを付加したイベントデータを生成し、イベントデータ送信部122がサーバ装置5に送信することが好ましい。
図4は、実施形態のサーバ装置5の機能ブロックを示す。サーバ装置5は、処理部200、通信部202、イベントデータ記録部240、プレイ時間記録部242、プレイ時間分布記録部244、スキル値記録部246および代表値記録部248を備える。処理部200は、イベントデータ取得部210、プレイ時間取得部212、分断度導出部214、スキル値導出部216、統計処理部220および情報提供部230を備える。統計処理部220は、分布生成部222、クラス振分部224および代表値決定部226を有する。情報提供部230は、クラス取得部232、プレイ時間抽出部234および通知部236を有する。
図4においてサーバ装置5のさまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
イベントデータ取得部210は、複数の情報処理装置10から、複数のプレイヤにより実行されたアクティビティに関するイベントデータを取得し、イベントデータ記録部240に記録する。イベントデータ記録部240は、プレイヤのネットワークアカウントに紐付けて、ゲームタイトルごとにイベントデータを記録する。既述したように、イベントデータには、ゲームID、アクティビティID、アクティビティの開始または終了を示す情報、およびタイムスタンプが少なくとも含まれる。以下、サーバ装置5が、収集したイベントデータを分析する手順について説明する。
<実施例1>
図5は、実施例1において収集したイベントデータを分析する手順を示す。イベントデータの分析は、プレイ時間取得部212によるプレイ時間算出処理(S10)、スキル値導出部216によるスキル値導出処理(S12)、代表値決定部226による代表値決定処理(S14)を含む。
<S10:プレイ時間算出処理>
プレイ時間取得部212は、アクティビティのプレイ時間を取得する。プレイ時間取得部212は、イベントデータ記録部240に記録された、アクティビティの開始イベント情報を含むイベントデータ(開始イベントデータ)と、アクティビティの終了イベント情報を含むイベントデータ(終了イベントデータ)から、複数のプレイヤの当該アクティビティのプレイ時間を取得する。アクティビティのプレイ時間は、開始イベントデータに含まれるタイムスタンプと、終了イベントデータに含まれるタイムスタンプにもとづいて算出される。
図6は、プレイ時間の算出手法を説明するための図である。図6は、1人のプレイヤによるアクティビティAの開始イベントおよび終了イベントを示し、具体的に“A開始”はアクティビティAの開始イベントを、“A終了”はアクティビティAの終了イベントを示す。開始イベントデータには、アクティビティAの開始時刻t1が含まれ、終了イベントデータには、アクティビティAの終了時刻t2が含まれており、プレイ時間取得部212は、プレイ時間を、(t2-t1)と算出する。プレイ時間取得部212は、算出したアクティビティのプレイ時間を、プレイヤのネットワークアカウントに紐付けて、ゲームIDおよびアクティビティIDとともにプレイ時間記録部242に記録する。
<S12:スキル値導出処理>
統計処理部220において、分布生成部222は、プレイ時間取得部212により取得された複数のプレイ時間にもとづいて、アクティビティごとにプレイ時間の分布を生成する。分布生成部222は、アクティビティごとに生成したプレイ時間の分布を、プレイ時間分布記録部244に記録する。
図7(a)および図7(b)は、それぞれ1つのアクティビティのプレイ時間と、当該アクティビティを実行したプレイヤ数との関係を示す。横軸がプレイ時間を示し、縦軸がプレイヤ数を示す。図7(a)は、アクティビティAのプレイ時間とプレイヤ数との関係を示し、図7(b)は、アクティビティBのプレイ時間とプレイヤ数との関係を示す。
サーバ装置5は、アクティビティのプレイ時間がユーザのゲームスキルに相関があるという知見を前提に、ユーザのスキル値を導出して、導出したスキル値に対応するプレイ時間をユーザに通知する技術を実現する。この知見においては、ゲームスキルの高いユーザは、アクティビティを相対的に短いプレイ時間で完了し、一方、ゲームスキルの低いユーザは、アクティビティを相対的に長いプレイ時間で完了する。そのためユーザのゲームスキルが高ければ、アクティビティAおよびアクティビティBの双方を短いプレイ時間で完了し、ユーザのゲームスキルが低ければ、アクティビティAおよびアクティビティBの双方を長いプレイ時間で完了することが予測される。
図8(a)および図8(b)は、それぞれプレイ時間の分布を示す。分布生成部222は、アクティビティごとに、全てのプレイヤをプレイ時間の短い順に並べて、各グループに含まれるプレイヤ数が等しくなるように、全てのプレイヤを複数のグループに分ける。実施例1で分布生成部222は、全てのプレイヤを10個のグループ1~10に分け、各グループに含まれるプレイヤ数は同一である。アクティビティAをプレイしたプレイヤ数が100万人である場合、各グループは、10万人のプレイヤを含み、グループ1が、最も短いプレイ時間のプレイヤを集めたグループ、グループ10が、最も長いプレイ時間のプレイヤを集めたグループとなる。分布生成部222は、アクティビティごとに生成したプレイ時間の分布を、プレイ時間分布記録部244に記録する。たとえばプレイ時間分布記録部244は、1から10までのグループ番号と、各グループに含まれる最短プレイ時間と最長プレイ時間とを対応付けて、プレイ時間の分布として記録してよい。
スキル値導出部216は、ユーザによるアクティビティのプレイ時間と、当該アクティビティのプレイ時間の分布とにもとづいて、当該アクティビティについてのユーザのスキル値を導出する。スキル値導出部216は、プレイ時間分布記録部244に記録されたプレイ時間分布を参照し、ユーザのプレイ時間が含まれるグループのグループ番号を特定することで、当該アクティビティについてのユーザのスキル値を導出する。実施例1において、グループ番号は、そのままスキル値を表現してよい。したがってスキル値導出部216は、アクティビティAを実行したユーザのプレイ時間がグループ番号3のグループに含まれれば、当該アクティビティAについてのユーザのスキル値を“3”と導出し、アクティビティBを実行したユーザのプレイ時間がグループ番号5のグループに含まれれば、当該アクティビティBについてのユーザのスキル値を“5”と導出する。
スキル値導出部216は、複数のアクティビティについて導出した複数のスキル値にもとづいて、ユーザのゲームプレイに関するスキル値を導出する。具体的にスキル値導出部216は、ユーザが直近で実行した複数のアクティビティについてユーザのスキル値を導出し、導出した複数のスキル値を平均化して、ユーザのゲームプレイに関するスキル値を導出する。実施例1でスキル値導出部216は、直近の10個のアクティビティについて導出した10個のスキル値を平均化して、ユーザのゲームプレイに関するスキル値を導出する。以下、ユーザのゲームプレイに関するスキル値を、「プレイヤスキル値」と呼ぶこともある。
以下、ユーザXのプレイヤスキル値を導出する具体例を示す。具体例において示す数値は、上記した知見から外れた数値を含むこともあるが、あくまでも実施例を説明するための数値であることに留意されたい。
ユーザXが直近で実行した10個のアクティビティのプレイ時間を含むグループのグループ番号は、以下のとおりである。
アクティビティA グループ番号3
アクティビティB グループ番号5
アクティビティC グループ番号1
アクティビティD グループ番号2
アクティビティE グループ番号4
アクティビティF グループ番号7
アクティビティG グループ番号5
アクティビティH グループ番号5
アクティビティI グループ番号8
アクティビティJ グループ番号10
スキル値は、グループ番号により表現されるため、各アクティビティについてのユーザのスキル値は、以下のように導出される。
アクティビティA スキル値3
アクティビティB スキル値5
アクティビティC スキル値1
アクティビティD スキル値2
アクティビティE スキル値4
アクティビティF スキル値7
アクティビティG スキル値5
アクティビティH スキル値5
アクティビティI スキル値8
アクティビティJ スキル値10
スキル値導出部216は、10個のアクティビティについて導出したスキル値を平均化して、ユーザXのプレイヤスキル値を導出する。
(プレイヤスキル値)=(3+5+1+2+4+7+5+5+8+10)/10=5
このように、ユーザXのプレイヤスキル値は、10個のアクティビティについて導出されたスキル値を平均して、“5”と導出される。
スキル値導出部216は、全てのユーザのプレイヤスキル値を導出して、スキル値記録部246に記録する。プレイヤスキル値は、最小値を1、最大値を10とする範囲内の値をとる。プレイヤスキル値が小さいユーザほど、ゲームスキルが高く、プレイヤスキル値が大きいユーザほど、ゲームスキルが低いと言える。
上記したようにスキル値導出部216は、直近の所定数のアクティビティについて導出したスキル値にもとづいて、プレイヤスキル値を導出する。スキル値導出部216は、ユーザがアクティビティを実行するたびに、ユーザのプレイヤスキル値を更新してよいが、定期的に、たとえば1日1回、プレイヤスキル値を更新してもよい。
<S14:代表値決定処理>
統計処理部220において、クラス振分部224は複数のクラスを設定し、プレイヤのプレイヤスキル値に応じて、当該プレイヤを複数のクラスのいずれかに振り分ける。実施例1でクラス振分部224は9個のクラスを設定し、以下のルールにしたがって、ユーザの振分処理を実施する。PSは、プレイヤスキル値を表現する。
1≦PS≦2 クラス1
2<PS≦3 クラス2
3<PS≦4 クラス3
4<PS≦5 クラス4
5<PS≦6 クラス5
6<PS≦7 クラス6
7<PS≦8 クラス7
8<PS≦9 クラス8
9<PS≦10 クラス9
上記したプレイヤスキル値が“5”であるユーザXは、クラス振分部224により、クラス4に振り分けられる。クラス振分部224は、情報処理システム1に参加する全てのユーザを、プレイヤスキル値に応じてクラス1~9のうちのいずれかのクラスに振り分けて、各ユーザのクラスをスキル値記録部246に記録する。
図9は、アクティビティSのプレイ時間とプレイヤ数との関係を示す分布曲線において、クラスごとにプレイヤをプロットしたグラフを示す。クラス1のグラフは、クラス1に属する複数のプレイヤのプレイ時間とプレイヤ数の関係を示し、クラス2のグラフは、クラス2に属する複数のプレイヤのプレイ時間とプレイヤ数の関係を示す。つまりクラスN(1~9)のグラフは、クラスNに属する複数のプレイヤのプレイ時間とプレイヤ数の関係を表現している。したがって全てのクラス1~9のグラフをまとめると、アクティビティSの全ユーザのプレイ時間とプレイヤ数との関係を示す分布曲線となる。なお各クラスに属するプレイヤ数は異なっていてよい。
代表値決定部226は、アクティビティごとに、各クラスにおける複数のプレイヤのプレイ時間にもとづいて、各クラスにおけるプレイ時間の代表値を決定する。代表値決定部226は、各クラスの代表値として、複数のプレイ時間の中央値を導出してよい。代表値決定部226は、各クラスにおけるプレイ時間の代表値(medN)を、以下のように決定する。
クラス1 med1
クラス2 med2
クラス3 med3
クラス4 med4
クラス5 med5
クラス6 med6
クラス7 med7
クラス8 med8
クラス9 med9
各クラスに対して決定されたプレイ時間の代表値は、まだアクティビティを実行していないユーザに対して、プレイの予想時間として提供されてよい。クラス4に属するユーザXが、まだアクティビティSを実行していない場合、サーバ装置5は、ユーザXに対して、アクティビティSをプレイしたときに予想されるプレイ時間が“med4”であることを通知できる。
代表値決定部226は、全てのアクティビティについて、クラス1~9のそれぞれの代表値を決定し、クラスと代表値とを対応付けて代表値記録部248に記録する。実施例1において、代表値は中央値であるが、平均値または最頻値であってもよい。代表値決定部226は、定期的に、たとえば1日1回、代表値決定処理を実施してよい。以上が、実施例1におけるイベントデータの分析処理の説明である。
情報提供部230は、情報処理装置10を操作しているユーザに対し、当該ユーザがまだ実行していないアクティビティの予想プレイ時間を通知する。具体的に情報提供部230は、当該ユーザのクラスに対応付けられたプレイ時間の代表値または当該代表値にもとづく時間を、予想プレイ時間として当該ユーザに通知する。情報提供部230は、任意のタイミングで、予想プレイ時間を通知してよい。
クラス取得部232は、情報処理装置10を操作しているユーザが属するクラスをスキル値記録部246から取得する。たとえばユーザが情報処理装置10にログインしたとき、クラス取得部232は、ログインしたユーザが属するクラスを、スキル値記録部246から取得してよい。プレイ時間抽出部234は、ユーザが実行可能なアクティビティに関して、ユーザのプレイヤスキル値に対応付けられたプレイ時間の代表値、実施形態ではユーザのクラスに対応付けられたプレイ時間の代表値を、代表値記録部248から抽出する。通知部236は、抽出したプレイ時間の代表値にもとづく予想プレイ時間に関する情報を、ユーザの情報処理装置10に通知する。なおプレイ時間の代表値にもとづく予想プレイ時間は、プレイ時間の代表値そのものであってよいが、プレイ時間の代表値をわずかに調整した時間であってもよい。たとえばプレイ時間の代表値が、4.9分である場合、通知部236は、きりの良い時間(たとえば5分)を予想プレイ時間としてよい。通知部236は、複数のアクティビティの予想プレイ時間に関する情報を、ユーザの情報処理装置10に通知してよい。
情報処理装置10において、アクティビティ情報取得部150が、サーバ装置5から、アクティビティの予想プレイ時間に関する情報を取得する。表示処理部140は、アクティビティ情報取得部150が取得した情報を表示する。
図10は、出力装置4に表示されるシステム画面の例を示す。表示処理部140は、アクティビティ情報取得部150が取得した情報からシステム画像180、182、184、186を生成し、出力装置4に表示する。4つのシステム画像180、182、184、186は、それぞれ異なるゲームタイトルのアクティビティの予想プレイ時間を表示する。これによりユーザは、各アクティビティの予想プレイ時間から、どのゲームをプレイするか決定することができる。
カード形式で表示されるシステム画像180、182、184、186は、GUI(グラフィカルユーザインタフェース)であってよく、たとえばユーザがいずれかのシステム画像を選択すると、当該システム画像に対応するゲームが自動的に起動されてよい。
<実施例2>
図11は、実施例2において収集したイベントデータを分析する手順を示す。イベントデータの分析は、プレイ時間取得部212によるプレイ時間算出処理(S10)、分断度導出部214による分断度導出処理(S22)、スキル値導出部216によるスキル値導出処理(S24)、代表値決定部226による代表値決定処理(S26)を含む。実施例2におけるプレイ時間算出処理(S10)は、実施例1におけるプレイ時間算出処理(S10)と同じであってよい。
実施例1との相違点として、実施例2では、サーバ装置5の処理部200が、アクティビティの分断度を導出し、導出した分断度を、スキル値導出処理および代表値決定処理に反映する。以下、実施例1との相違点を中心に、実施例2について説明する。
<S22:分断度導出処理>
分断度導出部214は、アクティビティの分断度を導出する。アクティビティの分断度は、当該アクティビティの開始から終了までの間に発生した別のアクティビティに関するイベントデータの個数として定義され、分断度導出部214は、当該アクティビティの開始から終了までの間に発生した別のアクティビティに関するイベントデータの個数をカウントする。
図12(a)~図12(c)は、時系列に並べたイベントの例を示す。図12(a)~図12(c)において、アクティビティAが時刻t1で開始され、時刻t2で終了されている。
図12(a)は、時系列に並べたイベントの一例を示す。この例では、アクティビティAの開始から終了までの間に、別のアクティビティは開始されていない。そこで分断度導出部214は、当該アクティビティAの分断度を“0”と導出する。
図12(b)は、時系列に並べたイベントの別の例を示す。この例では、アクティビティAの開始から終了までの間に、アクティビティBが開始され、アクティビティBの開始イベントが発生している。アクティビティAの開始から終了までの間に発生した別のアクティビティに関するイベントデータの個数が“1”であるため、分断度導出部214は、当該アクティビティAの分断度を“1”と導出する。
図12(c)は、時系列に並べたイベントの別の例を示す。この例では、アクティビティAの開始から終了までの間に、アクティビティB、C、Dが開始されて、アクティビティB、C、Dの開始イベントが発生し、アクティビティBが終了されて、アクティビティBの終了イベントが発生している。アクティビティAの開始から終了までの間に発生した別のアクティビティに関するイベントデータの個数が“4”であるため、分断度導出部214は、当該アクティビティAの分断度を“4”と導出する。
分断度導出部214は、導出した分断度を、アクティビティのプレイ時間に関連付けて、プレイ時間記録部242に記録する。実施例2において、アクティビティの分断度は、プレイヤによる当該アクティビティへの集中度を評価するためのパラメータとして利用されてよい。分断度“0”は、プレイヤが当該アクティビティに最も集中していることが推測されるパラメータ値であり、分断度が大きくなるほど、プレイヤが当該アクティビティ以外の別のアクティビティに注意が向いている可能性が高いことが推測される。
たとえば図12(a)に示すイベント時系列では、アクティビティAの開始から終了までの間に別のアクティビティが開始されていないため(分断度“0”)、プレイヤは、アクティビティAに集中できていたことが推測される。一方、図12(c)に示すイベント時系列では、アクティビティAの開始から終了までの間に3つのアクティビティが開始されており(分断度“4”)、プレイヤは、アクティビティA以外の別のアクティビティに注意を向けている可能性が高いことが推測される。
アクティビティの分断度は、プレイ時間の信頼度に関する指標となる。つまりアクティビティの分断度が小さいほど、プレイヤは、当該アクティビティに集中している可能性が高いため、イベントデータにもとづいて算出されたプレイ時間の信頼度は高いと言える。一方、分断度が大きければ、プレイヤは、別のアクティビティに気を取られている可能性が高くなり、算出されたプレイ時間の信頼度は低くなる。そこで実施例2では、スキル値導出部216および統計処理部220が、分断度に応じてスキル値およびプレイ時間を調整する処理を実施してよい。
図13は、アクティビティの分断度と、算出されたプレイ時間の信頼度との関係を示す。実施例2では、アクティビティの分断度mと、プレイ時間の信頼度wとの関係を、以下の式(1)で定義する。
プレイ時間の信頼度w=(1/2)・・・(1)
スキル値導出部216および統計処理部220は、スキル値およびプレイ時間を、アクティビティの分断度に対応付けられたプレイ時間の信頼度wを用いて調整する。具体的な調整法については後述する。
上記したように、ゲーム開発者はアクティビティを自由に設定でき、あるアクティビティの開始に連鎖して、別のアクティビティを自動で開始させることも可能である。この場合、プレイヤは、後続のアクティビティの開始を意識することなく、最初に開始されたアクティビティを集中して実行することが多い。
図14(a)は、時系列に並べたイベントの別の例を示す。この例では、アクティビティAの開始から終了までの間に、アクティビティE、Fが開始されて、アクティビティE、Fの開始イベントが発生している。上記したように、分断度導出部214は、当該アクティビティAの分断度を“2”と導出する。
分断度導出部214は、導出した複数の分断度を自己解析する機能をもつ。分断度導出部214は、所定のタイミングで、アクティビティについて導出した複数の分断度を自己解析してよい。その結果、分断度導出部214は、アクティビティAの分断度の最小値が2であり、且つ、アクティビティAの開始から終了までの間に必ずアクティビティE、Fの開始イベントが発生することを確認すると、アクティビティE、Fが、アクティビティAの開始に伴って自動的に開始されることを確定する。
アクティビティAの開始に伴ってアクティビティE、Fが自動的に開始されることが確定すると、プレイヤは、アクティビティE、Fの開始を意識することなく、アクティビティAを集中して実行することが推測される。このため、算出されたアクティビティAのプレイ時間の信頼性は高いと考えられる。そこで分断度導出部214は、アクティビティAの開始に伴って自動的に開始されるアクティビティE、Fの開始イベントデータをカウントしない。つまり分断度導出部214は、アクティビティAの開始から終了までの間に発生した別のアクティビティに関するイベントデータの個数をカウントする際、当該アクティビティAの開始に連動して別のアクティビティが開始される場合には、当該別のアクティビティに関するイベントデータをカウントしない。
図14(b)は、図14(a)に示したイベント時系列から、自動開始されるイベントを除いた状態を示す。図14(b)に示すように、図14(a)に示したイベント時系列から、アクティビティE、Fの開始イベントが除外されている。そのため分断度導出部214は、当該アクティビティAの分断度を“0”と導出する。このように分断度導出部214は、1つのアクティビティの開始に連鎖して自動開始されるアクティビティに関するイベントデータを除外して、分断度を導出することが好ましい。なお分断度が所定値(たとえば10)を超える場合、算出したプレイ時間の信頼性は著しく低いと考えられるため、算出したプレイ時間は破棄されてよい。
<S24:スキル値導出処理>
統計処理部220において、分布生成部222は、プレイ時間取得部212により取得された複数のプレイ時間にもとづいて、アクティビティごとにプレイ時間の分布を生成する。分布生成部222は、アクティビティごとに生成したプレイ時間の分布を、プレイ時間分布記録部244に記録する。
実施例1において説明したように、分布生成部222は、アクティビティごとに、全てのプレイヤをプレイ時間を短い順に並べて、各グループに含まれるプレイヤ数が等しくなるように、全てのプレイヤを複数のグループに分ける。分布生成部222は、アクティビティごとに生成したプレイ時間の分布を、プレイ時間分布記録部244に記録する。実施例2においてもプレイ時間分布記録部244は、1から10までのグループ番号と、各グループに含まれる最短プレイ時間と最長プレイ時間とを対応付けて、プレイ時間の分布として記録する。
スキル値導出部216は、ユーザによるアクティビティのプレイ時間と、当該アクティビティのプレイ時間の分布とにもとづいて、当該アクティビティについてのユーザのスキル値を導出する。スキル値導出部216は、プレイ時間分布記録部244に記録されたプレイ時間分布を参照し、ユーザのプレイ時間が含まれるグループのグループ番号を特定することで、当該アクティビティについてのユーザのスキル値を導出する。実施例2においても、グループ番号は、スキル値を表現する。
スキル値導出部216は、複数のアクティビティについて導出した複数のスキル値と、各アクティビティの開始から終了までの間に発生した別のアクティビティに関するイベントデータの個数にもとづいて、ユーザのゲームプレイに関するスキル値を導出する。まずスキル値導出部216は、ユーザが直近で実行した複数のアクティビティについてのユーザのスキル値を導出する。
実施例2でスキル値導出部216は、ユーザXが実行した直近の10個のアクティビティA~Jについてのスキル値を、以下のように導出する。
アクティビティA スキル値3
アクティビティB スキル値5
アクティビティC スキル値1
アクティビティD スキル値2
アクティビティE スキル値4
アクティビティF スキル値7
アクティビティG スキル値5
アクティビティH スキル値5
アクティビティI スキル値8
アクティビティJ スキル値10
分断度導出部214は、ユーザXが実行したアクティビティA~Jの分断度を、以下のように導出する。
アクティビティA 分断度0
アクティビティB 分断度0
アクティビティC 分断度0
アクティビティD 分断度0
アクティビティE 分断度2
アクティビティF 分断度2
アクティビティG 分断度3
アクティビティH 分断度3
アクティビティI 分断度3
アクティビティJ 分断度3
図15は、分断度を加味したプレイヤスキル値の計算過程を説明するための図である。
図15における上段には、アクティビティのスキル値を、その1つ下の段には、アクティビティの分断度が示される。スキル値導出部216は、分断度に対応付けられたプレイ時間の信頼度を、図13に示す対応表から抽出し、抽出した10個の信頼度を正規化する。なおスキル値導出部216は、式(1)を用いて信頼度を抽出してもよい。正規化した信頼度は、スキル値に乗算するための重み係数として利用され、スキル値導出部216は、スキル値に(正規化した重み)を乗算して、スキル値を調整する。スキル値導出部216は、(スキル値×正規化した重み)の総和を算出することで、プレイヤスキル値を導出する。図15に示す例では、プレイヤスキル値は“3.45”と算出される。
スキル値導出部216は、全てのユーザのプレイヤスキル値を導出して、スキル値記録部246に記録する。プレイヤスキル値は、最小値を1、最大値を10とする範囲内の値をとる。実施例2では、スキル値導出部216が、アクティビティの開始から終了までの間に発生した別のアクティビティに関するイベントデータの個数に応じて、アクティビティについて導出したスキル値を調整することで、導出したスキル値の信頼度を加味したプレイヤスキル値を導出できる。
<S26:代表値決定処理>
統計処理部220において、クラス振分部224は複数のクラスを設定し、プレイヤのプレイヤスキル値に応じて、当該プレイヤを複数のクラスのいずれかに振り分ける。実施例2でクラス振分部224は9個のクラスを設定し、以下のルールにしたがって、ユーザの振分処理を実施する。PSは、プレイヤスキル値を表現する。
1≦PS≦2 クラス1
2<PS≦3 クラス2
3<PS≦4 クラス3
4<PS≦5 クラス4
5<PS≦6 クラス5
6<PS≦7 クラス6
7<PS≦8 クラス7
8<PS≦9 クラス8
9<PS≦10 クラス9
クラス振分部224は、情報処理システム1に参加する全てのユーザを、プレイヤスキル値に応じてクラス1~9のうちのいずれかのクラスに振り分けて、各ユーザのクラスをスキル値記録部246に記録する。
代表値決定部226は、アクティビティごとに、各クラスにおける複数のプレイヤのプレイ時間と、各プレイヤによるアクティビティの開始から終了までの間に発生した別のアクティビティに関するイベントデータの個数にもとづいて、各クラスにおけるプレイ時間の代表値を決定する。代表値決定部226は、各クラスの代表値として、複数のプレイ時間の中央値を導出してよい。
以下、実施例2において、アクティビティTについて、同じクラスに属するプレイヤA~Eのプレイ時間から、プレイ時間の代表値を決定する手法を説明する。プレイ時間取得部212は、プレイヤA~Eのプレイ時間を以下のように取得している。
プレイヤA 5分
プレイヤB 10分
プレイヤC 15分
プレイヤD 20分
プレイヤE 25分
実施例1で説明したように、代表値決定部226が、5つのプレイ時間の中央値を導出した場合、プレイ時間の中央値は“15分”となる。実施例2では、代表値決定部226が、プレイ時間の信頼値を加味して、プレイ時間の代表値を決定する。
分断度導出部214は、ユーザA~Eが実行したアクティビティTの分断度を、以下のように導出する。
プレイヤA 分断度0
プレイヤB 分断度2
プレイヤC 分断度1
プレイヤD 分断度3
プレイヤE 分断度1
図16は、分断度を加味したプレイ時間の代表値の計算過程を説明するための図である。代表値決定部226は、各クラスにおける複数のプレイヤのプレイ時間と、各プレイヤ画実行したアクティビティの分断度にもとづいて、プレイ時間の代表値を決定する。
図16における上段には、プレイヤごとのプレイ時間を、その1つ下の段には、アクティビティの分断度が示される。代表値決定部226は、分断度に対応付けられたプレイ時間の信頼度を、図13に示す対応表から抽出し、抽出した信頼度から、中央値を決定する際に利用する各プレイ時間の重複数を決定する。なおスキル値導出部216は、式(1)を用いて信頼度を抽出してもよい。
ここで各クラスにおけるプレイ時間の中央値は、プレイ時間を短い順に並べたときに中央に位置するプレイ時間として導出されるが、実施例2におけるプレイ時間の重複数は、当該プレイ時間を並べるときの個数となる。上記したようにプレイ時間の信頼度は、分断度によって異なる。そこで信頼度が高いプレイ時間が中央値の決定に与える影響を大きくし、信頼度が低いプレイ時間が中央値の決定に与える影響を小さくするために、信頼度が高いプレイ時間の重複数を多くし、信頼度が低いプレイ時間の重複数を少なくして、導出する中央値の信頼性を高くする。
代表値決定部226は、重複数を以下の式(2)により決定する。クラスにおける最大の分断度をDSmaxとしたとき、
(重複数)=2(DSmax-分断度)・・・(2)
図16に示す分断度の例では、DSmax=3となり、したがって代表値決定部226は、重複数を、図16の最下段に示すように導出する。プレイヤAのプレイ時間について導出された重複数8は、中央値の決定の際に、プレイヤAのプレイ時間を8個並べることを意味する。
代表値決定部226は、各プレイヤのプレイ時間の重複数を決定し、各プレイ時間の数を重複数に増やしてから、複数のプレイ時間の中央値を決定する。図16に示す例では、代表値決定部226は、以下の複数のプレイ時間の集合の中央値を決定する。
{5,5,5,5,5,5,5,5,10,10,15,15,15,15,25,30,30,30,30}
各プレイ時間の数を、重複数で示す個数に増やしたことで、プレイ時間の集合には、合計19個のプレイ時間が含まれる。したがって代表値決定部226は、最小値から10番目に位置する“10分”を、クラスのプレイ時間の中央値として決定する。実施例2では、代表値決定部226が、アクティビティの開始から終了までの間に発生した別のアクティビティに関するイベントデータの個数に応じて、中央値を決定する際に利用する各プレイ時間の重複数を決定し、各プレイ時間の数を重複数に増やした後のプレイ時間の集合の中から、複数のプレイ時間の中央値を決定する。これにより、プレイ時間の信頼度を加味した代表値を導出できる。
図17は、各クラスについて導出されたプレイ時間の代表値の例を示す。代表値決定部226は、アクティビティごとに、クラス1~9のプレイ時間の代表値を決定し、代表値記録部248に記録する。
図18は、アクティビティとタスクの関係の例を示す。ゲーム開発者は、1つのアクティビティを、複数のタスクから構成してよい。ゲーム開発者は、イベントをゲームプログラムに自由に埋め込むことができるため、アクティビティに開始イベント、終了イベントを設定せず、タスクにのみ開始イベント、終了イベントを設定することも可能である。特にタスクに実体があり、一方でアクティビティに実体がない場合(アクティビティが単に複数のタスクを統括するための概念として利用される場合)、アクティビティにはイベントが設定されないことが多いと考えられる。
イベントデータ取得部210は、複数の情報処理装置10から、複数のプレイヤにより実行されたアクティビティに関するイベントデータを取得し、イベントデータ記録部240に記録する。アクティビティに関するイベントデータは、アクティビティに含まれるタスクの開始を示すイベントデータと、アクティビティに含まれるタスクの終了を示すイベントデータを含む。イベントデータには、ゲームID、アクティビティID、タスクを識別する識別子(タスクID)、アクティビティの開始または終了を示す情報、タイムスタンプが少なくとも含まれる。
プレイ時間取得部212は、タスクのプレイ時間を取得する。プレイ時間取得部212は、イベントデータ記録部240に記録された、タスクの開始イベント情報を含むイベントデータ(開始イベントデータ)と、タスクの終了イベント情報を含むイベントデータ(終了イベントデータ)から、複数のプレイヤの当該タスクのプレイ時間を取得する。タスクのプレイ時間は、開始イベントデータに含まれるタイムスタンプと、終了イベントデータに含まれるタイムスタンプにもとづいて算出される。
上記したように、統計処理部220は、プレイヤのプレイヤスキル値に応じて、プレイヤを複数のクラスのいずれかに振り分けて、各クラスにおける複数のプレイヤのプレイ時間から、各クラスにおけるプレイ時間の代表値を決定する。以下、アクティビティUが、3つのタスク1~3から構成されている場合について説明する。たとえばアクティビティUは、3人の敵キャラクタを倒すミッションであり、タスク1は、敵キャラクタ1と対決するミッション、タスク2は、敵キャラクタ2と対決するミッション、タスク3は、敵キャラクタ3と対決するミッションであってよい。
図19(a)~図19(c)は、各タスクのクラス1~9におけるプレイ時間の代表値を示す。図19(a)は、タスク1のプレイ時間の代表値を、図19(b)は、タスク2のプレイ時間の代表値を、図19(c)は、タスク3のプレイ時間の代表値を、それぞれ示す。各タスクのプレイ時間代表値の決定方法については、上記したとおりである。代表値決定部226は、複数のタスクについて各クラスのプレイ時間の代表値を決定し、代表値記録部248に記録する。
代表値決定部226は、複数のタスクについて各クラスのプレイ時間の代表値を決定した後、クラスごとに代表値を集計して、アクティビティの各クラスにおけるプレイ時間の代表値を決定する。
図19(d)は、アクティビティUのクラス1~9におけるプレイ時間の代表値を示す。代表値決定部226は、タスク1~3のプレイ時間代表値をクラスごとに加算した加算値を、アクティビティの各クラスにおけるプレイ時間代表値に設定する。これによりアクティビティU自体にイベントが設定されていない場合であっても、アクティビティを構成する複数タスクのプレイ時間を評価することで、代表値決定部226が、アクティビティのプレイ時間の代表値を導出することができる。
以上、本発明を実施形態をもとに説明した。この実施形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
1・・・情報処理システム、5・・・サーバ装置、10・・・情報処理装置、100・・・処理部、102・・・通信部、110・・・ゲームソフトウェア、120・・・イベント情報取得部、122・・・イベントデータ送信部、130・・・ゲーム画像生成部、140・・・表示処理部、150・・・アクティビティ情報取得部、200・・・処理部、202・・・通信部、210・・・イベントデータ取得部、212・・・プレイ時間取得部、214・・・分断度導出部、216・・・スキル値導出部、220・・・統計処理部、222・・・分布生成部、224・・・クラス振分部、226・・・代表値決定部、230・・・情報提供部、232・・・クラス取得部、234・・・プレイ時間抽出部、236・・・通知部、240・・・イベントデータ記録部、242・・・プレイ時間記録部、244・・・プレイ時間分布記録部、246・・・スキル値記録部、248・・・代表値記録部。

Claims (15)

  1. 複数のプレイヤにより実行された、ゲームプレイの一単位であるアクティビティに関するイベントデータを処理するサーバ装置であって、
    複数のプレイヤにより実行されたアクティビティに関するイベントデータを記録するイベントデータ記録部と、
    前記イベントデータ記録部に記録された、アクティビティの開始を示すイベントデータと、アクティビティの終了を示すイベントデータから、複数のプレイヤのアクティビティのプレイ時間を取得するプレイ時間取得部と、
    プレイヤのゲームのスキルを示すスキル値に応じて、プレイヤを複数のクラスのいずれかに振り分け、各クラスにおける複数のプレイヤのアクティビティのプレイ時間にもとづいて、各クラスにおけるアクティビティのプレイ時間の代表値を決定する統計処理部と、
    決定された各クラスのアクティビティのプレイ時間の代表値を記録する代表値記録部と、
    を備えることを特徴とするサーバ装置。
  2. 前記統計処理部は、各クラスにおける複数のプレイヤのアクティビティのプレイ時間と、各プレイヤによるアクティビティの開始から終了までの間に発生した別のアクティビティに関するイベントデータの個数にもとづいて、各クラスにおけるアクティビティのプレイ時間の代表値を決定する、
    ことを特徴とする請求項1に記載のサーバ装置。
  3. アクティビティのプレイ時間の代表値は、アクティビティの複数のプレイ時間の中央値である、
    ことを特徴とする請求項1または2に記載のサーバ装置。
  4. 前記統計処理部は、各プレイヤによるアクティビティの開始から終了までの間に発生した別のアクティビティに関するイベントデータの個数に応じて、中央値を決定する際に利用するアクティビティの各プレイ時間の重複数を決定し、アクティビティの各プレイ時間の数を重複数に増やしてから、アクティビティの複数のプレイ時間の中央値を決定する、
    ことを特徴とする請求項3に記載のサーバ装置。
  5. アクティビティの開始から終了までの間に発生した別のアクティビティに関するイベントデータの個数をカウントする分断度導出部をさらに備え、
    前記分断度導出部は、アクティビティの開始から終了までの間に発生した別のアクティビティに関するイベントデータの個数をカウントする際、アクティビティの開始に連動して別のアクティビティが開始される場合には、別のアクティビティに関するイベントデータをカウントしない、
    ことを特徴とする請求項3または4に記載のサーバ装置。
  6. 前記プレイヤとは異なるユーザのクラスに対応付けられたアクティビティのプレイ時間の代表値にもとづく予想プレイ時間に関する情報を当該ユーザに通知する情報提供部と、
    を備えることを特徴とする請求項1から5のいずれかに記載のサーバ装置。
  7. 複数のプレイヤにより実行された、ゲームプレイの一単位であるアクティビティに関するイベントデータを処理するサーバ装置であって、当該アクティビティは、複数のタスクを含んでおり、
    複数のプレイヤにより実行されたアクティビティに関するイベントデータを記録するイベントデータ記録部と、
    前記イベントデータ記録部に記録された、アクティビティに含まれるタスクの開始を示すイベントデータと、アクティビティに含まれるタスクの終了を示すイベントデータから、複数のプレイヤのタスクのプレイ時間を取得するプレイ時間取得部と、
    プレイヤのゲームのスキルを示すスキル値に応じて、プレイヤを複数のクラスのいずれかに振り分け、各クラスにおける複数のプレイヤのタスクのプレイ時間にもとづいて、各クラスにおけるタスクのプレイ時間の代表値を決定する統計処理部と、を備え、
    前記統計処理部は、複数のタスクについて各クラスのプレイ時間の代表値を決定し、クラスごとに代表値を集計して、アクティビティの各クラスにおけるプレイ時間の代表値を決定する、
    ことを特徴とするサーバ装置。
  8. タスクのプレイ時間の代表値は、タスクの複数のプレイ時間の中央値である、
    ことを特徴とする請求項7に記載のサーバ装置。
  9. 前記プレイヤとは異なるユーザのクラスに対応付けられたアクティビティのプレイ時間の代表値にもとづく予想プレイ時間に関する情報を当該ユーザに通知する情報提供部と、
    を備えることを特徴とする請求項7または8に記載のサーバ装置。
  10. 前記統計処理部は、前記プレイ時間取得部により複数のアクティビティについて取得された複数のプレイヤのプレイ時間にもとづいて、アクティビティごとにプレイ時間ごとのプレイヤ数を示すプレイ時間の分布を生成し、
    当該サーバ装置は、
    前記プレイヤとは異なるユーザによるアクティビティのプレイ時間と、アクティビティのプレイ時間の分布とにもとづいて、アクティビティについてのユーザのスキル値を導出するスキル値導出部をさらに備える、
    ことを特徴とする請求項1からのいずれかに記載のサーバ装置。
  11. サーバ装置が、複数のプレイヤにより実行された、ゲームプレイの一単位であるアクティビティに関するイベントデータを処理する方法であって、
    サーバ装置が、
    アクティビティの開始を示すイベントデータと、アクティビティの終了を示すイベントデータから、複数のプレイヤのアクティビティのプレイ時間を取得するステップと、
    プレイヤのゲームのスキルを示すスキル値に応じて、プレイヤを複数のクラスのいずれかに振り分けるステップと、
    各クラスにおける複数のプレイヤのアクティビティのプレイ時間にもとづいて、各クラスにおけるアクティビティのプレイ時間の代表値を決定するステップと、
    実施するイベントデータ処理方法。
  12. サーバ装置が、複数のプレイヤにより実行された、ゲームプレイの一単位であるアクティビティに関するイベントデータを処理する方法であって、当該アクティビティは、複数のタスクを含んでおり、
    サーバ装置が、
    アクティビティに含まれるタスクの開始を示すイベントデータと、アクティビティに含まれるタスクの終了を示すイベントデータから、複数のプレイヤのタスクのプレイ時間を取得するステップと、
    プレイヤのゲームのスキルを示すスキル値に応じて、プレイヤを複数のクラスのいずれかに振り分けるステップと、
    各クラスにおける複数のプレイヤのタスクのプレイ時間にもとづいて、各クラスにおけるタスクのプレイ時間の代表値を決定するステップと、
    アクティビティに含まれる複数のタスクの各クラスについて決定したプレイ時間の代表値をクラスごとに集計して、各クラスにおけるアクティビティのプレイ時間の代表値を決定するステップと、
    実施するイベントデータ処理方法。
  13. 複数のプレイヤにより実行された、ゲームプレイの一単位であるアクティビティに関するイベントデータを処理するコンピュータに、
    アクティビティの開始を示すイベントデータと、アクティビティの終了を示すイベントデータから、複数のプレイヤのアクティビティのプレイ時間を取得する機能と、
    プレイヤのゲームのスキルを示すスキル値に応じて、プレイヤを複数のクラスのいずれかに振り分ける機能と、
    各クラスにおける複数のプレイヤのアクティビティのプレイ時間にもとづいて、各クラスにおけるアクティビティのプレイ時間の代表値を決定する機能と、
    を実現させるためのプログラム。
  14. 複数のプレイヤにより実行された、ゲームプレイの一単位であるアクティビティに関するイベントデータを処理するコンピュータに、
    アクティビティに含まれるタスクの開始を示すイベントデータと、アクティビティに含まれるタスクの終了を示すイベントデータから、複数のプレイヤのタスクのプレイ時間を取得する機能と、
    プレイヤのゲームのスキルを示すスキル値に応じて、プレイヤを複数のクラスのいずれかに振り分ける機能と、
    各クラスにおける複数のプレイヤのタスクのプレイ時間にもとづいて、各クラスにおけるタスクのプレイ時間の代表値を決定する機能と、
    アクティビティに含まれる複数のタスクの各クラスについて決定したプレイ時間の代表値をクラスごとに集計して、各クラスにおけるアクティビティのプレイ時間の代表値を決定する機能と、
    を実現させるためのプログラム。
  15. 請求項6または請求項9に記載のサーバ装置から、ユーザのクラスに対応付けられた、ゲームアクティビティのプレイ時間の代表値にもとづく予想プレイ時間に関する情報を取得する取得部と、
    前記取得部が取得した情報を表示する表示処理部と、
    を備えることを特徴とする情報処理装置。
JP2020172152A 2020-10-12 2020-10-12 サーバ装置、イベントデータ処理方法および情報処理装置 Active JP7365314B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020172152A JP7365314B2 (ja) 2020-10-12 2020-10-12 サーバ装置、イベントデータ処理方法および情報処理装置
US18/028,024 US20230338836A1 (en) 2020-10-12 2021-10-05 Server apparatus, event data processing method, and information processing apparatus
PCT/JP2021/036746 WO2022080178A1 (ja) 2020-10-12 2021-10-05 サーバ装置、イベントデータ処理方法および情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020172152A JP7365314B2 (ja) 2020-10-12 2020-10-12 サーバ装置、イベントデータ処理方法および情報処理装置

Publications (2)

Publication Number Publication Date
JP2022063756A JP2022063756A (ja) 2022-04-22
JP7365314B2 true JP7365314B2 (ja) 2023-10-19

Family

ID=81207973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020172152A Active JP7365314B2 (ja) 2020-10-12 2020-10-12 サーバ装置、イベントデータ処理方法および情報処理装置

Country Status (3)

Country Link
US (1) US20230338836A1 (ja)
JP (1) JP7365314B2 (ja)
WO (1) WO2022080178A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023176171A1 (ja) * 2022-03-14 2023-09-21 株式会社ソニー・インタラクティブエンタテインメント サーバ装置、スキル値導出方法、グループ分け方法および情報提供方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010154931A (ja) 2008-12-26 2010-07-15 Namco Bandai Games Inc プログラム、情報記憶媒体及びゲームシステム
JP2011218102A (ja) 2010-04-14 2011-11-04 Sony Computer Entertainment Inc ゲーム支援サーバ、ゲーム装置、ゲーム支援システム及びゲーム支援方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010154931A (ja) 2008-12-26 2010-07-15 Namco Bandai Games Inc プログラム、情報記憶媒体及びゲームシステム
JP2011218102A (ja) 2010-04-14 2011-11-04 Sony Computer Entertainment Inc ゲーム支援サーバ、ゲーム装置、ゲーム支援システム及びゲーム支援方法

Also Published As

Publication number Publication date
WO2022080178A1 (ja) 2022-04-21
JP2022063756A (ja) 2022-04-22
US20230338836A1 (en) 2023-10-26

Similar Documents

Publication Publication Date Title
US10071315B2 (en) Content providing method, content providing server, and content providing system
JP2017047251A (ja) マルチ画像インタラクティブゲーミングデバイス
JP6422207B2 (ja) 制御装置、制御方法、プログラム、及びゲームシステム
JP7365314B2 (ja) サーバ装置、イベントデータ処理方法および情報処理装置
JP7365313B2 (ja) サーバ装置、スキル値導出方法および情報処理装置
JP7365312B2 (ja) サーバ装置、イベントデータ処理方法および情報処理装置
JP2023022068A (ja) 情報処理装置および動画像編集方法
JP6069799B2 (ja) ゲームプログラムおよび情報処理装置
JP2023182124A (ja) サーバ装置、情報処理装置および情報提供方法
JP2023181652A (ja) サーバ装置、情報処理装置および情報提供方法
WO2023176171A1 (ja) サーバ装置、スキル値導出方法、グループ分け方法および情報提供方法
JP7449835B2 (ja) 情報処理装置、情報表示方法およびサーバ装置
JP6576989B2 (ja) 制御装置、制御方法、プログラム、及びゲームシステム
JP6252659B2 (ja) 情報処理装置及びゲームプログラム
JP2024013373A (ja) サーバ装置、情報処理装置および情報提供方法
JP2024005588A (ja) サーバ装置および情報提供方法
US20230405477A1 (en) Server device, information processing device, and praise evaluation method
WO2020189449A1 (ja) 情報処理装置および情報処理方法
JP7248484B2 (ja) 情報処理装置、情報処理システムおよびアプリケーション画面表示方法
JP2021164524A (ja) 環境提供装置、環境提供方法及び環境提供プログラム
JP6526945B2 (ja) 情報処理装置、制御方法及びプログラム
JP2019171122A (ja) 制御装置、制御方法、プログラム、及びゲームシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230802

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231006

R150 Certificate of patent or registration of utility model

Ref document number: 7365314

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150