[go: up one dir, main page]

KR102718831B1 - Fraud Detection in Electronic Subscription Payments - Google Patents

Fraud Detection in Electronic Subscription Payments Download PDF

Info

Publication number
KR102718831B1
KR102718831B1 KR1020227022532A KR20227022532A KR102718831B1 KR 102718831 B1 KR102718831 B1 KR 102718831B1 KR 1020227022532 A KR1020227022532 A KR 1020227022532A KR 20227022532 A KR20227022532 A KR 20227022532A KR 102718831 B1 KR102718831 B1 KR 102718831B1
Authority
KR
South Korea
Prior art keywords
game
games
period
user
implementations
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
KR1020227022532A
Other languages
Korean (ko)
Other versions
KR20220106824A (en
Inventor
리차드 심
드미트리 에쇼닌
데이비드 바스쥬키
코너 켈리
한스 거나완
매튜 커프만
엔리코 디'안젤로
Original Assignee
로브록스 코포레이션
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 로브록스 코포레이션 filed Critical 로브록스 코포레이션
Publication of KR20220106824A publication Critical patent/KR20220106824A/en
Application granted granted Critical
Publication of KR102718831B1 publication Critical patent/KR102718831B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/70Game security or game management aspects
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players
    • 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/792Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for payment purposes, e.g. monthly subscriptions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/018Certifying business or products
    • G06Q30/0185Product, service or business identity fraud
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0609Qualifying participants for shopping transactions
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3241Security aspects of a gaming system, e.g. detecting cheating, device integrity, surveillance
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3244Payment aspects of a gaming system, e.g. payment schemes, setting payout ratio, bonus or consolation prizes
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/326Game play aspects of gaming systems
    • G07F17/3269Timing aspects of game play, e.g. blocking/halting the operation of a gaming machine

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

컴퓨터 기반 게임과 같은 인터랙티브 미디어 시스템 내 사기 탐지를 위한 방법, 시스템 및 비일시적 컴퓨터 판독가능 매체가 제공된다. 일부 구현에서, 온라인 구독 지불의 사기가 탐지될 수 있다. 사기 탐지는 컴퓨터 기반 게임과 연관된 개발자에 대한 가상 화폐 수익 배당 지불금을 조정하는 데 사용할 수 있다.Methods, systems, and non-transitory computer-readable media for detecting fraud in interactive media systems, such as computer-based games, are provided. In some implementations, fraud in online subscription payments can be detected. The fraud detection can be used to adjust virtual currency revenue dividend payments to developers associated with the computer-based game.

Description

전자 구독 지불의 사기 탐지Fraud Detection in Electronic Subscription Payments

실시예는 일반적으로 인터랙티브 미디어 시스템에 관한 것으로, 보다 구체적으로는 인터랙티브 미디어 시스템 내의 전자 구독 지불(electronic subscription payments)에서 사기 탐지를 위한 방법, 시스템 및 컴퓨터 판독가능 매체에 관한 것이지만, 이에 제한되지 않는다.Embodiments relate generally to interactive media systems, and more particularly, but not limited to, methods, systems and computer-readable media for fraud detection in electronic subscription payments within interactive media systems.

온라인 게이밍과 같은, 일부 인터랙티브 미디어 시스템은 사용자가 온라인 게임 내에서 아이템을 구매하거나 게임 플랫폼에 대한 구독을 구매할 수 있는 기회를 제공한다. 게임 플랫폼은 사용자 계정을 제공하여 플레이어가 온라인 게임을 플레이하고, 개발자가 게임 플랫폼 상에서 게임을 제공하도록 할 수 있다.Some interactive media systems, such as online gaming, provide the opportunity for users to purchase items within the online game or to purchase subscriptions to the gaming platform. The gaming platform may provide user accounts to allow players to play online games and to allow developers to offer games on the gaming platform.

일부 구현은 컴퓨터 구현된 방법을 포함할 수 있다. 방법은 게임 플랫폼 상의 사용자 계정과 연관된 사용자 세션의 전자 로그에 액세스하는 단계 - 여기에서 사용자 세션은 게임 플랫폼 상에 호스팅된 하나 이상의 게임에 대한 것이고, 그리고 전자 로그는 하나 이상의 게임의 리스트 및 제1 기간 동안 하나 이상의 게임 각각에 대한 플레이 지속시간을 포함함 - 및 제1 기간 동안 하나 이상의 게임 각각에 대한 게임 플레이 지속시간의 비율을 결정하는 단계를 포함할 수 있다. 방법은 또한 하나 이상의 게임 각각에 대해, 게임 플레이 지속시간의 비율에 적어도 부분적으로 기초하여 제1 기간에 대한 초기 지불금을 계산하는 단계, 하나 이상의 게임 각각에 대한 초기 지불금을 제2 기간에 걸쳐 합계 지불금으로 합산하는 단계 - 여기에서 제2 기간은 제1 기간보다 큼 -, 및 사용자 계정과 연관된 사기 탐지 신호를 수신하는 단계를 포함한다. 방법은 사기 탐지 신호에서 사기 표시를 갖는 하나 이상의 게임 각각에 대한 합계 지불금을 조정하는 단계 - 여기에서 조정하는 단계는 제3 기간 후에 수행됨 -, 및 하나 이상의 게임 각각에 대응하는 개발자 계정으로 전자 지불을 송신하는 단계를 더 포함하고, 여기에서 전자 지불은 하나 이상의 게임의 각 개별 게임에 대한 합계 지불금에 기초한다.Some implementations may include a computer-implemented method. The method may include accessing an electronic log of a user session associated with a user account on a gaming platform, wherein the user session is for one or more games hosted on the gaming platform, and the electronic log includes a list of the one or more games and a play duration for each of the one or more games during a first period, and determining a percentage of game play duration for each of the one or more games during the first period. The method also includes calculating, for each of the one or more games, an initial payout for the first period based at least in part on the percentage of game play duration, summing the initial payout for each of the one or more games into an aggregate payout over a second period, wherein the second period is greater than the first period, and receiving a fraud detection signal associated with the user account. The method further includes adjusting the aggregate payout for each of the one or more games having a fraud indication in the fraud detection signal, wherein the adjusting step is performed after a third period, and transmitting an electronic payment to a developer account corresponding to each of the one or more games, wherein the electronic payment is based on the aggregate payout for each individual game of the one or more games.

일부 구현에서, 제1 기간은 24시간이고, 제2 기간은 제1 기간보다 크며, 그리고 제3 기간은 제2 기간보다 크다. 일부 구현에서, 액세스하는 단계는 게임 플랫폼의 구독자 계정인 사용자 계정의 사용자 세션에 대한 로그에 액세스하는 단계를 포함한다. 일부 구현에서, 초기 지불금을 계산하는 단계는 총 수익 금액에 제1 인자, 제2 인자 및 제3 인자 중 하나 이상을 곱하는 단계를 포함하고, 여기에서 제1 인자는 제1 기간 동안의 게임 플레이의 비율이고, 제2 인자는 수수료 인자(commission factor)이고, 그리고 제3 인자는 홀드백 퍼센티지(holdback percentage)다.In some implementations, the first period is 24 hours, the second period is greater than the first period, and the third period is greater than the second period. In some implementations, the accessing step comprises accessing a log for a user session of a user account that is a subscriber account of the gaming platform. In some implementations, the calculating the initial payout comprises multiplying the total revenue amount by one or more of a first factor, a second factor, and a third factor, wherein the first factor is a percentage of game play during the first period, the second factor is a commission factor, and the third factor is a holdback percentage.

일부 구현에서, 사기 탐지 신호를 수신하는 단계는 사기 가시성(fraud visibility)을 갖는 지불 제공자 시스템으로부터 사기 탐지 신호를 수신하는 단계를 포함한다. 일부 구현에서, 합계 지불금을 조정하는 단계는 사기 가시성을 갖지 않는 지불 제공자로부터 수신된 수익에 기초하여 합계 지불금을 감소시키는 단계를 포함한다.In some implementations, the step of receiving a fraud detection signal comprises receiving a fraud detection signal from a payment provider system having fraud visibility. In some implementations, the step of adjusting the aggregate payout comprises reducing the aggregate payout based on revenues received from a payment provider that does not have fraud visibility.

일부 구현에서, 전자 지불을 송신하는 단계는 가상 화폐 지불을 전송하는 단계를 포함한다. 방법은 또한 게임 플랫폼의 복수의 사용자 계정으로부터 하나 이상의 게임 각각에 대한 합계 지불금을 결합하는 단계를 포함할 수 있다. 방법은 하나 이상의 게임 각각에 대한 수입 프리뷰 그래프(earnings preview graph)를 생성하는 단계 - 여기에서 수입 프리뷰 그래프는 제2 기간에 걸쳐 각 게임에 의해 누적된 수입을 나타냄 -, 및 수입 프리뷰 그래프가 각 게임의 개발자와 연관된 게임 개발자 장치의 전자 디스플레이 상의 사용자 인터페이스에 디스플레이되도록 하는 단계를 더 포함할 수 있다.In some implementations, the step of transmitting the electronic payment comprises the step of transmitting the virtual currency payment. The method may also comprise the step of combining aggregate payout amounts for each of the one or more games from multiple user accounts of the gaming platform. The method may further comprise the step of generating an earnings preview graph for each of the one or more games, wherein the earnings preview graph represents earnings accumulated by each game over a second time period, and causing the earnings preview graph to be displayed on a user interface on an electronic display of a game developer device associated with a developer of each game.

방법은 게임에서 사용자 계정에 의한 게임플레이를 분석하는 것에 기초하여 각각의 게임에 대해 사기 탐지를 수행하는 단계 및 게임플레이를 기준선(baseline)과 비교하는 단계를 더 포함할 수 있다. 방법은 또한 게임플레이 활동을 클러스터링하는 단계 및 게임플레이 활동이 실제 활동 클러스터로부터 임계 거리 내에 있는지 여부를 결정하는 단계를 포함할 수 있다.The method may further include the steps of performing fraud detection for each game based on analyzing gameplay by user accounts in the game and comparing the gameplay to a baseline. The method may also include the steps of clustering gameplay activity and determining whether the gameplay activity is within a threshold distance from a cluster of actual activity.

일부 구현은 전자 지불에서 사기 탐지를 수행하기 위한 장치를 포함할 수 있고, 장치는 하나 이상의 프로세서 및 하나 이상의 프로세서에 의해 실행될 때 동작을 수행하도록 하는 저장된 명령어를 갖는 하나 이상의 프로세서에 결합된 메모리를 포함할 수 있다. 동작은 게임 플랫폼 상의 사용자 계정과 연관된 사용자 세션의 전자 로그에 액세스하는 것 - 여기에서 사용자 세션은 게임 플랫폼 상에 호스팅된 하나 이상의 게임에 대한 것이고, 그리고 전자 로그는 하나 이상의 게임의 리스트 및 제1 기간 동안 하나 이상의 게임 각각에 대한 플레이 지속시간을 포함함 -; 및 제1 기간 동안 하나 이상의 게임 각각에 대한 게임 플레이 지속시간의 비율을 결정하는 것을 포함할 수 있다.Some implementations may include a device for performing fraud detection in an electronic payment, the device may include one or more processors and a memory coupled to the one or more processors having stored instructions that, when executed by the one or more processors, cause the device to perform operations. The operations may include accessing an electronic log of a user session associated with a user account on a gaming platform, wherein the user session is for one or more games hosted on the gaming platform, and the electronic log includes a list of the one or more games and a play duration for each of the one or more games during a first period; and determining a percentage of the game play duration for each of the one or more games during the first period.

동작은 또한 하나 이상의 게임 각각에 대해, 게임 플레이 지속시간의 비율에 적어도 부분적으로 기초하여 제1 기간에 대한 초기 지불금을 계산하는 것 및 하나 이상의 게임 각각에 대한 초기 지불금을 제2 기간에 걸쳐 합계 지불금으로 합산하는 것을 포함할 수 있고, 여기에서 제2 기간은 제1 기간보다 크다. 동작은 사용자 계정과 연관된 사기 탐지 신호를 수신하는 것 및 사기 탐지 신호에서 사기 표시를 갖는 하나 이상의 게임 각각에 대한 합계 지불금을 조정하는 것을 더 포함할 수 있으며, 여기에서 조정하는 것은 제3 기간 후에 수행된다. 동작은 또한 하나 이상의 게임 각각에 대응하는 개발자 계정으로 전자 지불을 송신하는 것을 포함할 수 있고, 전자 지불은 하나 이상의 게임의 각 개별 게임에 대한 합계 지불금에 기초한다.The operations may also include, for each of the one or more games, calculating an initial payout for the first period based at least in part on a percentage of a gameplay duration and summing the initial payout for each of the one or more games into an aggregate payout over a second period, wherein the second period is greater than the first period. The operations may further include receiving a fraud detection signal associated with the user account and adjusting the aggregate payout for each of the one or more games having a fraud indication in the fraud detection signal, wherein the adjusting is performed after a third period. The operations may also include transmitting an electronic payment to a developer account corresponding to each of the one or more games, the electronic payment being based on the aggregate payout for each individual game of the one or more games.

일부 구현에서, 제1 기간은 24시간이고, 제2 기간은 제1 기간보다 크며, 그리고 제3 기간은 제2 기간보다 크다. 일부 구현에서, 액세스하는 것은 게임 플랫폼의 구독자 계정인 사용자 계정의 사용자 세션에 대한 로그에 액세스하는 것을 포함한다.In some implementations, the first period is 24 hours, the second period is greater than the first period, and the third period is greater than the second period. In some implementations, accessing includes accessing a log for a user session of a user account that is a subscriber account of the gaming platform.

일부 구현에서, 초기 지불금을 계산하는 것은 총 수익 금액에 제1 인자, 제2 인자 및 제3 인자 중 하나 이상을 곱하는 것을 포함하고, 여기에서 제1 인자는 제1 기간 동안의 게임 플레이의 비율이고, 제2 인자는 수수료 인자이고, 그리고 제3 인자는 홀드백 퍼센티지다. 일부 구현에서, 사기 탐지 신호를 수신하는 것은 사기 가시성을 갖는 지불 제공자 시스템으로부터 사기 탐지 신호를 수신하는 것을 포함하고, 여기에서 합계 지불금을 조정하는 것은 사기 가시성을 갖지 않는 지불 제공자로부터 수신된 수익에 기초하여 합계 지불금을 감소시키는 것을 포함한다.In some implementations, calculating the initial payout comprises multiplying the total revenue amount by one or more of a first factor, a second factor, and a third factor, wherein the first factor is a percentage of game play during the first period, the second factor is a commission factor, and the third factor is a holdback percentage. In some implementations, receiving the fraud detection signal comprises receiving a fraud detection signal from a payment provider system having fraud visibility, and wherein adjusting the aggregate payout comprises reducing the aggregate payout based on revenue received from a payment provider that does not have fraud visibility.

동작은 또한 게임 플랫폼의 복수의 사용자 계정으로부터 하나 이상의 게임 각각에 대한 합계 지불금을 결합하는 것 및 하나 이상의 게임 각각에 대한 각 수입 프리뷰 그래프를 생성하는 것을 포함할 수 있으며, 여기에서 수입 프리뷰 그래프는 제2 기간에 걸쳐 각 게임에 의해 누적된 수입을 나타낸다. 동작은 수입 프리뷰 그래프가 각 게임의 개발자와 연관된 게임 개발자 장치의 전자 디스플레이 상의 사용자 인터페이스에 디스플레이되도록 하는 것을 더 포함할 수 있다.The operation may also include combining aggregate payouts for each of the one or more games from multiple user accounts of the gaming platform and generating a respective revenue preview graph for each of the one or more games, wherein the revenue preview graph represents revenue accumulated by each game over the second time period. The operation may further include causing the revenue preview graph to be displayed on a user interface on an electronic display of a game developer device associated with a developer of each game.

일부 구현은 프로세싱 장치에 의한 실행에 응답하여, 프로세싱 장치로 하여금 동작을 수행하도록 하는 명령어를 포함하는 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다. 동작은 게임 플랫폼 상의 사용자 계정과 연관된 사용자 세션의 전자 로그에 액세스하는 것을 포함할 수 있으며, 여기에서 사용자 세션은 게임 플랫폼 상에 호스팅된 하나 이상의 게임에 대한 것이고, 그리고 전자 로그는 하나 이상의 게임의 리스트 및 제1 기간 동안 하나 이상의 게임 각각에 대한 플레이 지속시간을 포함한다. 동작은 또한 제1 기간 동안 하나 이상의 게임 각각에 대한 게임 플레이 지속시간의 비율을 결정하는 것 및 하나 이상의 게임 각각에 대해, 게임 플레이 지속시간의 비율에 적어도 부분적으로 기초하여 제1 기간에 대한 초기 지불금을 계산하는 것을 포함할 수 있다.Some implementations may include a non-transitory computer-readable medium comprising instructions that, in response to execution by the processing device, cause the processing device to perform an action. The action may include accessing an electronic log of a user session associated with a user account on a gaming platform, wherein the user session is for one or more games hosted on the gaming platform, and wherein the electronic log includes a list of the one or more games and a duration of play for each of the one or more games during a first period. The action may also include determining a percentage of the gameplay duration for each of the one or more games during the first period, and calculating, for each of the one or more games, an initial payout for the first period based at least in part on the percentage of the gameplay duration.

동작은 하나 이상의 게임 각각에 대한 초기 지불금을 제2 기간에 걸쳐 합계 지불금으로 합산하는 것 - 여기에서 제2 기간은 제1 기간보다 큼 -, 및 사용자 계정과 연관된 사기 탐지 신호를 수신하는 것을 더 포함할 수 있다. 동작은 또한 사기 탐지 신호에서 사기 표시를 갖는 하나 이상의 게임 각각에 대한 합계 지불금을 조정하는 것 - 여기에서 조정하는 것은 제3 기간 후에 수행됨 -, 및 하나 이상의 게임 각각에 대응하는 개발자 계정으로 전자 지불을 송신하는 것을 포함할 수 있고, 여기에서 전자 지불은 하나 이상의 게임의 각 개별 게임에 대한 합계 지불금에 기초한다.The operations may further include aggregating the initial payout for each of the one or more games into an aggregate payout over a second period, wherein the second period is greater than the first period, and receiving a fraud detection signal associated with the user account. The operations may further include adjusting the aggregate payout for each of the one or more games having a fraud indication in the fraud detection signal, wherein the adjusting is performed after a third period, and transmitting an electronic payment to a developer account corresponding to each of the one or more games, wherein the electronic payment is based on the aggregate payout for each individual game of the one or more games.

동작은 또한 게임 플랫폼의 복수의 사용자 계정으로부터 하나 이상의 게임 각각에 대한 합계 지불금을 결합하는 것 및 하나 이상의 게임 각각에 대한 각 수입 프리뷰 그래프를 생성하는 것을 포함할 수 있으며, 여기에서 수입 프리뷰 그래프는 제2 기간에 걸쳐 각 게임에 의해 누적된 수입을 나타낸다. 동작은 수입 프리뷰 그래프가 각 게임의 개발자와 연관된 게임 개발자 장치의 전자 디스플레이 상의 사용자 인터페이스에 디스플레이되도록 하는 것을 더 포함할 수 있다.The operation may also include combining aggregate payouts for each of the one or more games from multiple user accounts of the gaming platform and generating a respective revenue preview graph for each of the one or more games, wherein the revenue preview graph represents revenue accumulated by each game over the second time period. The operation may further include causing the revenue preview graph to be displayed on a user interface on an electronic display of a game developer device associated with a developer of each game.

동작은 또한 게임에서 사용자 계정에 의한 게임플레이를 분석하는 것에 기초하여 각각의 게임에 대해 사기 탐지를 수행하는 것 및 게임플레이를 기준선과 비교하는 것을 포함할 수 있다. 동작은 게임플레이 활동을 클러스터링하고 게임플레이 활동이 실제 활동 클러스터로부터 임계 거리 내에 있는지 여부를 결정하는 것을 더 포함할 수 있다.The operations may also include performing fraud detection for each game based on analyzing gameplay by user accounts in the game and comparing the gameplay to a baseline. The operations may further include clustering gameplay activity and determining whether the gameplay activity is within a threshold distance from a cluster of actual activity.

일부 구현은 컴퓨터 구현된 방법을 포함할 수 있다. 방법은 사용자 계정과 연관된 사용자 세션이 게임 플랫폼에서 개시되는지 탐지하는 단계 - 여기에서 사용자 세션은 게임 플랫폼 상에 호스팅된 특정 게임에 대한 것임 -, 및 사용자 계정이 게임 플랫폼의 구독과 연관되는지 결정하는 단계를 포함할 수 있다. 방법은 또한 사용자 계정이 구독과 연관된다는 결정에 응답하여, 사용자 세션에서 특정 게임의 독점 게임 아이템을 제공하는 단계를 포함할 수 있다.Some implementations may include a computer implemented method. The method may include detecting whether a user session associated with a user account is initiated on a gaming platform, wherein the user session is for a particular game hosted on the gaming platform, and determining whether the user account is associated with a subscription to the gaming platform. The method may also include, in response to determining that the user account is associated with a subscription, providing an exclusive game item for the particular game in the user session.

일부 구현에서, 사용자 세션은 아바타와 연관될 수 있고, 독점 게임 아이템은 특정 아바타 또는 아바타가 착용하는 아이템을 포함할 수 있다. 일부 구현에서, 독점 게임 아이템은 특정 게임에 대한 독점 게임 아이템의 세트로부터 선택될 수 있고, 독점 게임 아이템은 특정 게임의 게임플레이 내에서 사용 가능할 수 있다. 일부 구현에서, 독점 아이템의 세트는 구독 아이템 표시자(subscription item indicator)와 연관되는 특정 게임에 대한 게임 아이템의 서브세트를 포함할 수 있고, 독점 아이템의 세트 중 적어도 하나는 게임 플랫폼의 구독과 연관되지 않은 사용자 계정에 이용할 수 없다.In some implementations, a user session may be associated with an avatar, and the exclusive game items may include a particular avatar or items worn by the avatar. In some implementations, the exclusive game items may be selected from a set of exclusive game items for a particular game, and the exclusive game items may be usable within gameplay of the particular game. In some implementations, the set of exclusive items may include a subset of game items for the particular game that are associated with a subscription item indicator, and at least one of the set of exclusive items is not available to user accounts that are not associated with a subscription to the gaming platform.

일부 구현에서, 사용자 계정이 구독과 연관된다고 결정하는 단계는 사용자 계정과 연관된 구독 기록을 검색하기 위한 데이터베이스에 액세스하는 단계 및 사용자 세션의 개시 시간이 구독 기록의 구독 기간과 일치하는지 결정하는 단계를 포함할 수 있다.In some implementations, determining that a user account is associated with a subscription may include accessing a database to retrieve a subscription record associated with the user account and determining that an initiation time of the user session matches a subscription period in the subscription record.

일부 구현에서, 게임 플랫폼은 채팅 사용자 인터페이스를 포함할 수 있다. 방법은 또한 사용자 계정이 구독과 연관된다는 결정에 응답하여, 사용자 계정이 구독과 연관되어 있음을 나타내는 사용자 계정에 대한 시각적 외관을 제공하는 단계를 포함할 수 있다. 일부 구현에서, 구독은 특정 게임에 대한 게임 특정 구독을 포함할 수 있고, 독점 게임 아이템은 게임 특정 구독과 연관되지 않은 다른 사용자 계정에 이용할 수 없다.In some implementations, the game platform may include a chat user interface. The method may also include, in response to a determination that the user account is associated with a subscription, providing a visual appearance for the user account that indicates that the user account is associated with a subscription. In some implementations, the subscription may include a game-specific subscription for a particular game, and exclusive game items are not available to other user accounts that are not associated with the game-specific subscription.

일부 구현에서, 구독은 게임 플랫폼에 대한 플랫폼 전체 구독을 포함할 수 있고, 독점 게임 아이템은 게임 특정 구독과 연관되지 않은 다른 사용자 계정에 이용할 수 없다.In some implementations, a subscription may include a platform-wide subscription to the game platform, and exclusive game items may not be available to other user accounts not associated with the game-specific subscription.

일부 구현은 상기 방법을 구현하는 시스템 또는 프로세서로 하여금 상기 방법을 수행하도록 하는 소프트웨어 명령어를 갖는 컴퓨터 판독가능 매체를 포함할 수 있다.Some implementations may include a computer-readable medium having software instructions that cause a system or processor implementing the method to perform the method.

도 1은 일부 구현에 따른 온라인 게임을 위한 예시 시스템 아키텍처의 도식이다.
도 2는 일부 구현에 따른 구독자 콘텐츠 특징을 도시하는 온라인 게이밍을 위한 예시 시스템 아키텍처의 도식이다.
도 3은 일부 구현에 따른 구독자 콘텐츠를 제공하기 위한 방법의 흐름도이다.
도 4는 일부 구현에 따른 사기 탐지 환경을 도시하는 도식이다.
도 5는 일부 구현에 따른 전자 구독 지불에서 사기 탐지를 위한 예시 방법의 흐름도이다.
도 6은 일부 구현에 따른 예시 컴퓨팅 장치를 예시하는 블록도이다.
Figure 1 is a schematic diagram of an example system architecture for an online game according to some implementations.
FIG. 2 is a schematic diagram of an example system architecture for online gaming illustrating subscriber content characteristics according to some implementations.
Figure 3 is a flowchart of a method for providing subscriber content according to some implementations.
Figure 4 is a schematic diagram illustrating a fraud detection environment according to some implementations.
FIG. 5 is a flowchart of an exemplary method for fraud detection in electronic subscription payments according to some implementations.
FIG. 6 is a block diagram illustrating an example computing device according to some implementations.

다음의 상세한 설명에서, 그 일부를 형성하는 첨부 도면에 대한 참조가 이루어진다. 도면에서, 유사한 기호는 문맥에서 달리 지시하지 않는 한 전형적으로 유사한 컴포넌트를 식별한다. 상세한 설명, 도면 및 청구범위에 설명된 예시적인 실시예는 제한을 의미하지 않는다. 다른 실시예가 활용될 수 있고, 여기에서 제시된 대상의 정신 또는 범위를 벗어나지 않고 다른 변경이 이루어질 수 있다. 여기에서 일반적으로 설명되고 도면에 예시된 본 개시의 양태는 매우 다양한 상이한 구성으로 배열, 대체, 결합, 분리 및 설계될 수 있으며, 이들 모두는 여기에서 고려된다.In the following detailed description, reference is made to the accompanying drawings, which form a part hereof. In the drawings, similar symbols typically identify similar components unless the context dictates otherwise. The exemplary embodiments described in the detailed description, drawings, and claims are not intended to be limiting. Other embodiments may be utilized and other changes may be made without departing from the spirit or scope of the subject matter disclosed herein. The aspects of the present disclosure generally described herein and illustrated in the drawings may be arranged, substituted, combined, separated, and designed in a wide variety of different configurations, all of which are contemplated herein.

온라인 게임 플랫폼("사용자 생성 콘텐츠 플랫폼" 또는 "사용자 생성 콘텐츠 시스템"을 포함할 수 있음)과 같은 인터랙티브 미디어 애플리케이션 또는 시스템은 사용자가 서로 상호작용하도록 다양한 방식을 제공할 수 있다. 예컨대, 온라인 게임 플랫폼의 사용자는 공동의 목표를 위해 함께 작업하고, 다양한 가상 게이밍 아이템을 공유하고, 서로에게 전자 메시지를 전송하는 것 등을 할 수 있다. 온라인 게임 플랫폼의 사용자는 캐릭터를 사용하여 게임을 플레이할 수 있다.Interactive media applications or systems, such as online gaming platforms (which may include "user generated content platforms" or "user generated content systems"), may provide various ways for users to interact with each other. For example, users of an online gaming platform may work together toward a common goal, share various virtual gaming items, send electronic messages to each other, etc. Users of an online gaming platform may use characters to play games.

온라인 게임 플랫폼은 또한 플랫폼의 사용자가 새로운 캐릭터 및 아바타를 생성하고 애니메이팅할 수 있도록 허용한다. 예컨대, 온라인 게임 플랫폼의 사용자는 새로운 캐릭터를 생성, 디자인 및 커스터마이징하도록 허용될 수 있다.Online gaming platforms may also allow users of the platform to create and animate new characters and avatars. For example, users of an online gaming platform may be allowed to create, design, and customize new characters.

도 1: 시스템 아키텍처Figure 1: System architecture

도 1은 본 개시의 일부 구현에 따른, 예시적인 시스템 아키텍처(100)를 예시한다. 시스템 아키텍처(100)(여기에서, "시스템"이라고도 지칭됨)는 온라인 게임 플랫폼(102), 제1 클라이언트 장치(110)(여기에서 일반적으로 "클라이언트 장치(들)(110)"로 지칭됨) 및 적어도 하나의 제2 클라이언트 장치(116)를 포함하고, 모두 네트워크(122)를 통해 결합된다. 온라인 게임 플랫폼(102)은 그 중에서도, 게임 엔진(104), 하나 이상의 게임(105), 그래픽 모듈(106), 구독 애플리케이션(107) 및 데이터 저장소(108)를 포함할 수 있다. 클라이언트 장치(110)는 게임 애플리케이션(112) 및 사용자 인터페이스(114)(예컨대, 오디오/비디오 입력/출력 장치)를 포함할 수 있다. 클라이언트 장치(116)는 게임 애플리케이션(118) 및 사용자 인터페이스(120)(예컨대, 오디오/비디오 입력/출력 장치)를 포함할 수 있다. 오디오/비디오 입력/출력 장치는 마이크, 스피커, 헤드폰, 디스플레이 장치 등 중 하나 이상을 포함할 수 있다.FIG. 1 illustrates an exemplary system architecture (100) according to some implementations of the present disclosure. The system architecture (100) (also referred to herein as the “system”) includes an online gaming platform (102), a first client device (110) (generally referred to herein as the “client device(s) (110)”), and at least one second client device (116), all coupled via a network (122). The online gaming platform (102) may include, among other things, a game engine (104), one or more games (105), a graphics module (106), a subscription application (107), and a data store (108). The client device (110) may include a game application (112) and a user interface (114) (e.g., an audio/video input/output device). The client device (116) may include a game application (118) and a user interface (120) (e.g., an audio/video input/output device). The audio/video input/output device may include one or more of a microphone, a speaker, a headphone, a display device, and the like.

시스템 아키텍처(100)는 제한보다는 예시를 위해 제공된다. 일부 구현에서, 시스템 아키텍처(100)는 도 1에 도시된 것과 동일하거나 상이한 방식으로 구성된 동일하거나, 더 적거나, 더 많거나, 또는 상이한 요소를 포함할 수 있다.The system architecture (100) is provided for illustrative purposes rather than limitation. In some implementations, the system architecture (100) may include the same, fewer, more, or different elements configured in the same or different manner as illustrated in FIG. 1.

일부 구현에서, 네트워크(122)는 공중 네트워크(예컨대, 인터넷), 사설 네트워크(예컨대, LAN(local area network) 또는 WAN(wide area network)), 유선 네트워크(예컨대, 이더넷 네트워크), 무선 네트워크(예컨대, 802.11 네트워크, Wi-Fi® 네트워크 또는 WLAN(wireless LAN)), 셀룰러 네트워크(예컨대, LTE(long term evolution) 네트워크), 라우터, 허브, 스위치, 서버 컴퓨터 또는 이들의 조합을 포함할 수 있다.In some implementations, the network (122) may include a public network (e.g., the Internet), a private network (e.g., a local area network (LAN) or a wide area network (WAN)), a wired network (e.g., an Ethernet network), a wireless network (e.g., an 802.11 network, a Wi-Fi® network, or a wireless LAN (WLAN)), a cellular network (e.g., a long term evolution (LTE) network), a router, a hub, a switch, a server computer, or a combination thereof.

일부 구현에서, 데이터 저장소(108)는 비일시적 컴퓨터 판독가능 메모리(예컨대, 랜덤 액세스 메모리), 캐시, 드라이브(예컨대, 하드 드라이브), 플래시 드라이브, 데이터베이스 시스템, 또는 데이터를 저장할 수 있는 다른 유형의 컴포넌트 또는 장치일 수 있다. 데이터 저장소(108)는 또한 다중 컴퓨팅 장치(예컨대, 다중 서버 컴퓨터)에 걸쳐 있을 수도 있는, 다중 저장 컴포넌트(예컨대, 다중 드라이브 또는 다중 데이터베이스)를 포함할 수 있다.In some implementations, the data store (108) may be a non-transitory computer-readable memory (e.g., random access memory), a cache, a drive (e.g., a hard drive), a flash drive, a database system, or any other type of component or device capable of storing data. The data store (108) may also include multiple storage components (e.g., multiple drives or multiple databases), which may span multiple computing devices (e.g., multiple server computers).

일부 구현에서, 온라인 게임 플랫폼(102)은 하나 이상의 컴퓨팅 장치(예컨대, 클라우드 컴퓨팅 시스템, 랙마운트 서버, 서버 컴퓨터, 물리적 서버의 클러스터 등)를 갖는 서버를 포함할 수 있다. 일부 구현에서, 서버는 온라인 게임 플랫폼(102)에 포함될 수 있거나, 독립적인 시스템일 수 있거나, 또는 다른 시스템 또는 플랫폼의 일부일 수 있다.In some implementations, the online gaming platform (102) may include a server having one or more computing devices (e.g., a cloud computing system, a rackmount server, a server computer, a cluster of physical servers, etc.). In some implementations, the server may be included in the online gaming platform (102), may be a standalone system, or may be part of another system or platform.

일부 구현에서, 온라인 게임 플랫폼(102)은 온라인 게임 플랫폼(102)에서 동작을 수행하고 사용자에게 온라인 게임 플랫폼(102)에 대한 액세스를 제공하는 데 사용될 수 있는 하나 이상의 컴퓨팅 장치(예컨대, 랙마운트 서버, 라우터 컴퓨터, 서버 컴퓨터, 개인용 컴퓨터, 메인프레임 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 데스크탑 컴퓨터 등), 데이터 저장소(예컨대, 하드 디스크, 메모리, 데이터베이스), 네트워크, 소프트웨어 컴포넌트 및/또는 하드웨어 컴포넌트를 포함할 수 있다. 온라인 게임 플랫폼(102)은 또한 온라인 게임 플랫폼(102)에 의해 제공된 콘텐츠에 대한 액세스를 사용자에게 제공하는 데 사용될 수 있는 웹사이트(예컨대, 웹페이지) 또는 애플리케이션 백엔드 소프트웨어를 포함할 수 있다. 예컨대, 사용자는 클라이언트 장치(110) 상의 게임 애플리케이션(112)을 사용하여, 온라인 게임 플랫폼(102)에 액세스할 수 있다.In some implementations, the online gaming platform (102) may include one or more computing devices (e.g., rackmount servers, router computers, server computers, personal computers, mainframe computers, laptop computers, tablet computers, desktop computers, etc.), data storage (e.g., hard disks, memory, databases), networks, software components, and/or hardware components that may be used to perform operations on the online gaming platform (102) and provide users with access to the online gaming platform (102). The online gaming platform (102) may also include a website (e.g., a webpage) or application backend software that may be used to provide users with access to content provided by the online gaming platform (102). For example, a user may access the online gaming platform (102) using a gaming application (112) on a client device (110).

일부 구현에서, 온라인 게임 플랫폼(102)은 사용자 간의 연결을 제공하는 소셜 네트워크의 유형 또는 사용자(예컨대, 최종 사용자 또는 소비자)가 온라인 게임 플랫폼(102) 상에서 다른 사용자와 통신하도록 허용하는 사용자 생성 콘텐츠 시스템의 유형을 포함할 수 있고, 여기에서 통신은 음성 채팅(예컨대, 동기 및/또는 비동기 음성 통신), 비디오 채팅(예컨대, 동기 및/또는 비동기 비디오 통신), 또는 텍스트 채팅(예컨대, 동기 및/또는 비동기 텍스트 기반 통신)을 포함할 수 있다. 본 개시의 일부 구현에서, "사용자"는 단일 개인으로 표현될 수 있다. 그러나, 본 개시의 다른 구현은 "사용자"(예컨대, 사용자 생성)가 사용자의 세트 또는 자동화된 소스에 의해 제어되는 엔티티인 것을 포함한다. 예컨대, 사용자 생성 콘텐츠 시스템에서 커뮤니티 또는 그룹으로 연합된 개별 사용자의 세트는 "사용자"로 간주될 수 있다.In some implementations, the online gaming platform (102) may include a type of social network that provides connectivity between users or a type of user-generated content system that allows users (e.g., end users or consumers) to communicate with other users on the online gaming platform (102), where the communication may include voice chat (e.g., synchronous and/or asynchronous voice communication), video chat (e.g., synchronous and/or asynchronous video communication), or text chat (e.g., synchronous and/or asynchronous text-based communication). In some implementations of the present disclosure, a "user" may be represented as a single individual. However, other implementations of the present disclosure include where a "user" (e.g., user-generated) is a set of users or an entity controlled by an automated source. For example, a set of individual users associated in a community or group in a user-generated content system may be considered a "user."

일부 구현에서, 온라인 게임 플랫폼(102)은 가상 게임 플랫폼일 수 있다. 예컨대, 게임 플랫폼은 네트워크(122)를 통해 클라이언트 장치(110)를 사용하여 게임에 액세스하거나 상호작용할 수 있는 사용자의 커뮤니티에 싱글 플레이어 또는 멀티 플레이어 게임을 제공할 수 있다. 일부 구현에서, 게임(여기에서 “비디오 게임”, “온라인 게임" 또는 "가상 게임"이라고도 지칭됨)은 예컨대, 2차원(2D) 게임, 3차원(3D) 게임(예컨대, 3D 사용자 생성 게임), 가상 현실(VR) 게임 또는 증강 현실(AR) 게임일 수 있다. 일부 구현에서, 사용자는 다른 사용자와 게임플레이에 참여할 수 있다. 일부 구현에서, 게임은 게임의 다른 사용자와 실시간으로 플레이될 수 있다.In some implementations, the online gaming platform (102) may be a virtual gaming platform. For example, the gaming platform may provide single-player or multi-player games to a community of users who may access or interact with the games using client devices (110) over a network (122). In some implementations, the games (also referred to herein as “video games,” “online games,” or “virtual games”) may be, for example, two-dimensional (2D) games, three-dimensional (3D) games (e.g., 3D user-generated games), virtual reality (VR) games, or augmented reality (AR) games. In some implementations, users may participate in gameplay with other users. In some implementations, the games may be played in real time with other users of the game.

일부 구현에서, 게임플레이는 게임(예컨대, 105) 내에서 클라이언트 장치(예컨대, 110 및/또는 116)를 사용하는 하나 이상의 플레이어의 상호작용 또는 클라이언트 장치(110 또는 116)의 디스플레이 또는 다른 사용자 인터페이스(예컨대, 114/120) 상의 상호작용의 표시를 지칭할 수 있다.In some implementations, gameplay may refer to interactions of one or more players using a client device (e.g., 110 and/or 116) within a game (e.g., 105) or display of the interactions on a display or other user interface (e.g., 114/120) of the client device (110 or 116).

일부 구현에서, 게임(105)은 게임 콘텐츠(예컨대, 디지털 미디어 아이템)를 엔티티에 제시하도록 구성된 소프트웨어, 펌웨어 또는 하드웨어를 사용하여 실행되거나 로드될 수 있는 전자 파일을 포함할 수 있다. 일부 구현에서, 게임 애플리케이션(112)은 실행될 수 있고, 게임(105)이 게임 엔진(104)과 관련하여 렌더링될 수 있다. 일부 구현에서, 게임(105)은 규칙의 공통 세트 또는 공통 목표를 가질 수 있고, 게임(105)의 환경은 규칙의 공통 세트 또는 공통 목표를 공유한다. 일부 구현에서, 상이한 게임은 서로 상이한 규칙 또는 목표를 가질 수 있다.In some implementations, the game (105) may comprise an electronic file that may be executed or loaded using software, firmware, or hardware configured to present game content (e.g., a digital media item) to an entity. In some implementations, the game application (112) may be executed and the game (105) may be rendered in connection with the game engine (104). In some implementations, the games (105) may have a common set of rules or a common goal, and the environments of the games (105) share a common set of rules or a common goal. In some implementations, different games may have different rules or goals.

일부 구현에서, 게임은 다중 환경이 링크될 수 있는 하나 이상의 환경(여기에서, "게이밍 환경" 또는 "가상 환경"이라고도 지칭됨)을 가질 수 있다. 환경의 예시는 3차원(3D) 환경일 수 있다. 게임 애플리케이션(105)의 하나 이상의 환경은 여기에서 "세계" 또는 "게이밍 세계" 또는 "가상 세계" 또는 "유니버스"로 집합적으로 지칭될 수 있다. 세계의 예시는 게임(105)의 3D 세계일 수 있다. 예컨대, 사용자는 다른 사용자에 의해 생성된 다른 가상 환경에 링크되는 가상 환경을 구축할 수 있다. 가상 게임의 캐릭터는 가상 경계를 넘어 인접한 가상 환경으로 들어갈 수 있다.In some implementations, a game may have one or more environments (also referred to herein as "gaming environments" or "virtual environments") to which multiple environments may be linked. An example of an environment may be a three-dimensional (3D) environment. One or more environments of a game application (105) may be collectively referred to herein as a "world" or "gaming world" or "virtual world" or "universe." An example of a world may be a 3D world of a game (105). For example, a user may build a virtual environment that is linked to other virtual environments created by other users. A character in a virtual game may be able to cross virtual boundaries into adjacent virtual environments.

3D 환경 또는 3D 세계는 게임 콘텐츠를 나타내는 지오메트리 데이터의 3차원 표현을 제공하는 그래픽을 사용한다는 점에 유의할 수 있다 (또는 지오메트리 데이터의 3D 표현이 사용되는지 여부에 관계없이 적어도 현재 게임 콘텐츠가 3D 콘텐츠로 나타남). 2D 환경 또는 2D 세계는 게임 콘텐츠를 나타내는 지오메트리 데이터의 2차원 표현을 제공하는 그래픽을 사용한다.It may be noted that a 3D environment or 3D world uses graphics that provide a three-dimensional representation of the geometry data representing the game content (or at least that the current game content is represented as 3D content, regardless of whether a 3D representation of the geometry data is used). A 2D environment or 2D world uses graphics that provide a two-dimensional representation of the geometry data representing the game content.

일부 구현에서, 온라인 게임 플랫폼(102)은 하나 이상의 게임(105)을 호스팅할 수 있고, 사용자가 클라이언트 장치(110)의 게임 애플리케이션(112)을 사용하여 게임(105)과 상호작용하는 것을 허가할 수 있다. 온라인 게임 플랫폼(102)의 사용자는 게임(105)을 플레이, 생성, 상호작용 또는 구축하고, 다른 사용자와 통신하고, 그리고/또는 게임(105)의 객체(예컨대, 여기에서 “아이템(들)” 또는 “게임 객체” 또는 “가상 게임 아이템(들)이라고도 지칭됨)를 생성 및 구축할 수 있다. 예컨대, 사용자 생성 가상 아이템을 생성하는 데 있어, 사용자는 그 중에서도 캐릭터, 캐릭터를 위한 애니메이션, 캐릭터를 위한 장식, 인터랙티브 게임을 위한 하나 이상의 가상 환경을 생성하거나, 게임(105)에서 사용된 구조를 구축할 수 있다. In some implementations, the online gaming platform (102) may host one or more games (105) and may allow users to interact with the games (105) using a game application (112) on a client device (110). Users of the online gaming platform (102) may play, create, interact with, or build games (105), communicate with other users, and/or create and build objects (e.g., also referred to herein as “item(s)” or “game objects” or “virtual game item(s)) of the games (105). For example, in creating user-created virtual items, a user may create, among other things, a character, animations for the character, decorations for the character, one or more virtual environments for the interactive game, or build structures used in the game (105).

일부 구현에서, 사용자는 플랫폼 내 화폐(예컨대, 가상 화폐)와 같은, 게임 가상 게임 객체를 온라인 게임 플랫폼(102)의 다른 사용자와 구매, 판매 또는 거래할 수 있다. 일부 구현에서, 온라인 게임 플랫폼(102)은 게임 콘텐츠를 게임 애플리케이션(예컨대, 112)으로 전송할 수 있다. 일부 구현에서, 게임 콘텐츠(여기에서 "콘텐츠"라고도 지칭됨)는 온라인 게임 플랫폼(102) 또는 게임 애플리케이션과 연관된 임의의 데이터 또는 소프트웨어 명령어(예컨대, 게임 객체, 게임, 사용자 정보, 비디오, 이미지, 명령, 미디어 아이템 등)를 지칭할 수 있다. 일부 구현에서, 게임 객체(예컨대, 여기에서 "아이템(들)" 또는 "객체" 또는 "가상 게임 아이템(들)"이라고도 지칭됨)는 온라인 게임 플랫폼(102)의 게임 애플리케이션(105) 또는 클라이언트 장치(110/116)의 게임 애플리케이션(112 또는 118)에 사용되거나, 생성되거나, 공유되거나, 그 외 도시되는 객체를 지칭할 수 있다. 예컨대, 게임 객체는 부품, 모델, 캐릭터 또는 (얼굴, 팔, 입술 등과 같은) 그 컴포넌트, 도구, 무기, 의복, 건물, 차량, 화폐, 식물군, 동물군, 전술한 것의 컴포넌트(예컨대, 건물의 창) 등을 포함할 수 있다.In some implementations, users may buy, sell, or trade game virtual game objects, such as platform currency (e.g., virtual currency), with other users of the online gaming platform (102). In some implementations, the online gaming platform (102) may transmit game content to a game application (e.g., 112). In some implementations, game content (also referred to herein as “content”) may refer to any data or software instructions (e.g., game objects, games, user information, videos, images, instructions, media items, etc.) associated with the online gaming platform (102) or the game application. In some implementations, game objects (also referred to herein as “item(s)” or “object(s)” or “virtual game item(s)”) may refer to objects used, created, shared, or otherwise depicted in a game application (105) of the online gaming platform (102) or a game application (112 or 118) of a client device (110/116). For example, a game object may include a part, a model, a character or components thereof (such as a face, arms, lips, etc.), a tool, a weapon, clothing, a building, a vehicle, currency, flora, fauna, components of the foregoing (such as windows of a building), etc.

게임(105)을 호스팅하는 온라인 게임 플랫폼(102)은 제한보다는 예시의 목적으로 제공된다는 점에 유의할 수 있다. 일부 구현에서, 온라인 게임 플랫폼(102)은 한 사용자로부터 하나 이상의 다른 사용자로의 통신 메시지를 포함할 수 있는 하나 이상의 미디어 아이템을 호스팅할 수 있다. 미디어 아이템은 디지털 비디오, 디지털 영화, 디지털 사진, 디지털 음악, 오디오 콘텐츠, 멜로디, 웹사이트 콘텐츠, 소셜 미디어 업데이트, 전자 책, 전자 잡지, 디지털 신문, 디지털 오디오 북, 전자 저널, 웹 블로그, 전자 만화책, 소프트웨어 애플리케이션 등을 포함할 수 있지만, 이에 제한되지는 않는다. 일부 구현에서, 미디어 아이템은 디지털 미디어 아이템을 엔티티에 제시하도록 구성된 소프트웨어, 펌웨어 또는 하드웨어를 사용하여 실행되거나 로드될 수 있는 전자 파일일 수 있다.It may be noted that the online gaming platform (102) hosting the game (105) is provided for illustrative purposes rather than limitation. In some implementations, the online gaming platform (102) may host one or more media items, which may include communication messages from one user to one or more other users. The media items may include, but are not limited to, digital videos, digital movies, digital photographs, digital music, audio content, melodies, website content, social media updates, e-books, e-magazines, digital newspapers, digital audio books, e-journals, web blogs, electronic comic books, software applications, and the like. In some implementations, the media items may be electronic files that may be executed or loaded using software, firmware, or hardware configured to present digital media items to an entity.

일부 구현에서, 게임(105)은 특정 사용자 또는 사용자의 특정 그룹과 연관되거나 (예컨대, 비공개 게임), 온라인 게임 플랫폼(102)의 사용자에게 널리 이용 가능하게 만들어질 수 있다 (예컨대, 공개 게임). 온라인 게임 플랫폼(102)이 하나 이상의 게임(105)을 특정 사용자 또는 사용자 그룹과 연관시키는 일부 구현에서, 온라인 게임 플랫폼(102)은 사용자 계정 정보(예컨대, 사용자 이름 및 비밀번호와 같은 사용자 계정 식별자)를 사용하여 특정 사용자(들)를 게임(105)과 연관시킬 수 있다.In some implementations, the game (105) may be associated with a particular user or group of users (e.g., a private game) or made widely available to users of the online gaming platform (102) (e.g., a public game). In some implementations where the online gaming platform (102) associates one or more games (105) with a particular user or group of users, the online gaming platform (102) may use user account information (e.g., user account identifiers such as a user name and password) to associate the particular user(s) with the game (105).

일부 구현에서, 온라인 게임 플랫폼(102) 또는 클라이언트 장치(110/116)는 게임 엔진(104) 또는 게임 애플리케이션(112/118)을 포함할 수 있다. 일부 구현에서, 게임 엔진(104)은 게임(105)의 개발 또는 실행을 위해 사용될 수 있다. 예컨대, 게임 엔진(104)은 다른 특징 중에서, 2D, 3D, VR 또는 AR 그래픽을 위한 렌더링 엔진("렌더러(renderer)"), 물리 엔진, 충돌 감지 엔진(및 충돌 응답), 사운드 엔진, 스크립팅 기능, 애니메이션 엔진, 인공 지능 엔진, 네트워킹 기능, 스트리밍 기능, 메모리 관리 기능, 스레딩 기능(threading functionality), 장면 그래프 기능 또는 시네마틱에 대한 비디오 지원을 포함할 수 있다. 게임 엔진(104)의 컴포넌트는 게임을 컴퓨팅하고 렌더링하는 것을 돕는 명령(예컨대, 렌더링 명령, 충돌 명령, 애니메이션 명령, 물리 명령 등)을 생성할 수 있다. 일부 구현에서, 클라이언트 장치(110/116)의 게임 애플리케이션(112/118)은 각각 독립적으로, 온라인 게임 플랫폼(102)의 게임 엔진(104)과 협력하여, 또는 이 둘의 조합으로 작동할 수 있다.In some implementations, the online gaming platform (102) or client device (110/116) may include a game engine (104) or a game application (112/118). In some implementations, the game engine (104) may be used for developing or executing a game (105). For example, the game engine (104) may include, among other features, a rendering engine (“renderer”) for 2D, 3D, VR, or AR graphics, a physics engine, a collision detection engine (and collision response), a sound engine, scripting functionality, an animation engine, an artificial intelligence engine, networking functionality, streaming functionality, memory management functionality, threading functionality, scene graph functionality, or video support for cinematics. Components of the game engine (104) may generate commands that assist in computing and rendering the game (e.g., rendering commands, collision commands, animation commands, physics commands, etc.). In some implementations, the game application (112/118) of the client device (110/116) may operate independently, in cooperation with the game engine (104) of the online game platform (102), or a combination of the two.

일부 구현에서, 온라인 게임 플랫폼(102) 및 클라이언트 장치(110/116) 모두는 게임 엔진(각각, 104, 112, 118)을 실행할 수 있다. 게임 엔진(104)을 사용하는 온라인 게임 플랫폼(102)은 게임 엔진 기능(예컨대, 물리 명령, 애니메이션 명령, 렌더링 명령 생성 등)의 일부 또는 전부를 수행하거나, 게임 엔진 기능의 일부 또는 전부를 클라이언트 장치(110)의 게임 엔진(104)에 오프로드할 수 있다. 일부 구현에서, 각각의 게임(105)은 온라인 게임 플랫폼(102) 상에서 수행되는 게임 엔진 기능과 클라이언트 장치(110 및 116) 상에서 수행되는 게임 엔진 기능 사이에 상이한 비율을 가질 수 있다. 예컨대, 온라인 게임 플랫폼(102)의 게임 엔진(104)은 적어도 2개의 게임 객체 사이에 충돌이 있는 경우 물리 명령을 생성하는 데 사용될 수 있는 반면, 추가 게임 엔진 기능(예컨대, 렌더링 명령 생성)은 클라이언트 장치(110)로 오프로드될 수 있다. 일부 구현에서, 온라인 게임 플랫폼(102) 및 클라이언트 장치(110) 상에서 수행되는 게임 엔진 기능의 비율은 게임플레이 조건에 기초하여 (예컨대, 동적으로) 변경될 수 있다. 예컨대, 특정 게임(105)의 게임플레이에 참여하는 사용자의 수가 임계 수를 초과하는 경우, 온라인 게임 플랫폼(102)은 클라이언트 장치(110 또는 116)에 의해 이전에 수행되었던 하나 이상의 게임 엔진 기능을 수행할 수 있다.In some implementations, both the online gaming platform (102) and the client devices (110/116) may execute a game engine (104, 112, 118, respectively). The online gaming platform (102) using the game engine (104) may perform some or all of the game engine functions (e.g., generating physics commands, animation commands, rendering commands, etc.), or may offload some or all of the game engine functions to the game engine (104) of the client device (110). In some implementations, each game (105) may have a different ratio between the game engine functions performed on the online gaming platform (102) and the game engine functions performed on the client devices (110 and 116). For example, the game engine (104) of the online gaming platform (102) may be used to generate physics commands when there is a collision between at least two game objects, while additional game engine functions (e.g., generating rendering commands) may be offloaded to the client device (110). In some implementations, the ratio of game engine functions performed on the online gaming platform (102) and the client device (110) may change (e.g., dynamically) based on gameplay conditions. For example, if the number of users engaging in gameplay of a particular game (105) exceeds a threshold number, the online gaming platform (102) may perform one or more game engine functions previously performed by the client device (110 or 116).

예컨대, 사용자는 클라이언트 장치(110 및 116)에서 게임(105)을 플레이할 수 있고, 제어 명령어(예컨대, 오른쪽, 왼쪽, 위, 아래, 사용자 선택, 또는 캐릭터 위치 및 속도 정보 등과 같은 사용자 입력)를 온라인 게임 플랫폼(102)에 전송할 수 있다. 클라이언트 장치(110 및 116)로부터 제어 명령어를 수신한 후, 온라인 게임 플랫폼(102)은 게임플레이 명령어(예컨대, 그룹 게임플레이에 참여하는 캐릭터의 위치 및 속도 정보 또는 렌더링 명령, 충돌 명령과 같은 명령 등)를 제어 명령어에 기초하여 클라이언트 장치(110 및 116)에 전송할 수 있다. 예컨대, 온라인 게임 플랫폼(102)은 클라이언트 장치(110 및 116)에 대한 게임플레이 명령어를 생성하기 위해 제어 명령어에 대한 (예컨대, 게임 엔진(104)을 사용하는) 하나 이상의 논리 연산을 수행할 수 있다. 다른 경우에서, 온라인 게임 플랫폼(102)은 하나의 클라이언트 장치(110)로부터 게임(105)에 참여하는 다른 클라이언트 장치(예컨대, 116)로 제어 명령어 중 하나 이상을 전달할 수 있다. 클라이언트 장치(110 및 116)는 게임플레이 명령어를 사용하고, 클라이언트 장치(110 및 116)의 디스플레이 상에서의 표시를 위해 게임플레이를 렌더링할 수 있다.For example, a user may play a game (105) on a client device (110, 116) and transmit control commands (e.g., user inputs such as right, left, up, down, user selection, or character position and speed information) to the online game platform (102). After receiving the control commands from the client devices (110, 116), the online game platform (102) may transmit gameplay commands (e.g., commands such as position and speed information of characters participating in group gameplay, rendering commands, collision commands, etc.) to the client devices (110, 116) based on the control commands. For example, the online game platform (102) may perform one or more logical operations (e.g., using the game engine (104)) on the control commands to generate gameplay commands for the client devices (110, 116). In other cases, the online gaming platform (102) may transmit one or more of the control commands from one client device (110) to another client device (e.g., 116) participating in the game (105). The client devices (110 and 116) may use the gameplay commands and render the gameplay for display on the displays of the client devices (110 and 116).

일부 구현에서, 제어 명령어는 사용자의 캐릭터의 게임 내 활동을 나타내는 명령어를 지칭할 수 있다. 예컨대, 제어 명령어는 오른쪽, 왼쪽, 위, 아래, 사용자 선택, 자이로스코프 위치 및 방향 데이터, 힘 센서 데이터 등과 같은 게임 내 활동을 제어하기 위한 사용자 입력을 포함할 수 있다. 제어 명령어는 캐릭터 위치 및 속도 정보를 포함할 수 있다. 일부 구현에서, 제어 명령어는 온라인 게임 플랫폼(102)으로 직접 전송된다. 다른 구현에서, 제어 명령어는 클라이언트 장치(110)로부터 다른 클라이언트 장치(예컨대, 116)로 전송될 수 있으며, 여기에서 다른 클라이언트 장치는 로컬 게임 엔진(104)을 사용하여 게임플레이 명령어를 생성한다. 제어 명령어는 오디오 장치, 예컨대, 스피커, 헤드폰 등에서 다른 사용자로부터의 음성 통신 메시지 또는 다른 사운드를 플레이하기 위한 명령어를 포함할 수 있다.In some implementations, control commands may refer to commands that represent in-game activities of a user's character. For example, control commands may include user inputs for controlling in-game activities, such as right, left, up, down, user selection, gyroscope position and orientation data, force sensor data, etc. Control commands may include character position and velocity information. In some implementations, control commands are transmitted directly to the online gaming platform (102). In other implementations, control commands may be transmitted from a client device (110) to another client device (e.g., 116), where the other client device generates gameplay commands using a local game engine (104). Control commands may include commands for playing voice communication messages or other sounds from another user on an audio device, such as a speaker, headphones, etc.

일부 구현에서, 게임플레이 명령어는 클라이언트 장치(110)(또는 116)가 멀티 플레이어 게임과 같은, 게임의 게임플레이를 렌더링하도록 허용하는 명령어를 지칭할 수 있다. 게임플레이 명령어는 사용자 입력(예컨대, 제어 명령어), 캐릭터 위치 및 속도 정보, 또는 명령(예컨대, 물리 명령, 애니메이션 명령, 렌더링 명령, 충돌 명령 등) 중 하나 이상을 포함할 수 있다.In some implementations, gameplay commands may refer to commands that allow the client device (110) (or 116) to render gameplay of a game, such as a multiplayer game. Gameplay commands may include one or more of user input (e.g., control commands), character position and velocity information, or commands (e.g., physics commands, animation commands, rendering commands, collision commands, etc.).

일부 구현에서, 캐릭터(또는 일반적으로 게임 객체)는 컴포넌트로부터 구성되고, 그 중 하나 이상이 사용자에 의해 선택될 수 있으며, 이는 편집(editing)에서 사용자를 돕기 위해 자동으로 함께 결합된다. 하나 이상의 캐릭터(여기에서, "아바타" 또는 "모델"이라고도 지칭됨)는 사용자와 연관될 수 있고, 여기에서 사용자는 게임(105)과의 사용자 상호작용을 용이하게 하기 위해 캐릭터를 제어할 수 있다. 일부 구현에서, 캐릭터는 신체 부분(예컨대, 애니메이팅될 수 있는, 머리카락, 팔, 다리 등) 및 액세서리(예컨대, 티셔츠, 안경, 장식 이미지, 도구 등)와 같은 컴포넌트를 포함할 수 있다. 일부 구현에서, 커스터마이징 가능한 캐릭터의 신체 부분은 그 중에서도, 머리 유형, 신체 부분 유형(팔, 다리, 몸통 및 손), 얼굴 유형, 머리카락 유형 및 피부 유형을 포함한다. 일부 구현에서, 커스터마이징 가능한 액세서리는 의복(예컨대, 셔츠, 바지, 모자, 신발, 안경 등), 무기 또는 기타 도구를 포함한다. 일부 구현에서, 사용자는 또한 캐릭터의 스케일(예컨대, 높이, 너비 또는 깊이) 또는 캐릭터의 컴포넌트의 스케일을 제어할 수 있다. 일부 구현에서, 사용자는 캐릭터의 비율(예컨대, 뭉툭한(blocky), 해부학적(anatomical) 등)을 제어할 수 있다. 일부 구현에서, 캐릭터가 캐릭터 게임 객체(예컨대, 신체 부분 등)를 포함하지 않을 수 있지만, 사용자는 게임(예컨대, 렌더링된 캐릭터 게임 객체가 없지만 사용자가 여전히 게임 내 활동을 제어하기 위해 캐릭터를 제어하는 퍼즐 게임)과 사용자의 상호작용을 용이하게 하기 위해 (캐릭터 게임 객체 없이) 캐릭터를 제어할 수 있다는 점에 유의할 수 있다.In some implementations, a character (or game object in general) is constructed from components, one or more of which may be selected by the user, and which are automatically combined together to assist the user in editing. One or more characters (also referred to herein as "avatars" or "models") may be associated with the user, where the user may control the characters to facilitate user interaction with the game (105). In some implementations, the characters may include components such as body parts (e.g., hair, arms, legs, etc., which may be animated) and accessories (e.g., t-shirts, glasses, decorative images, tools, etc.). In some implementations, the customizable body parts of a character include, among others, a head type, a body part type (arms, legs, torso, and hands), a face type, a hair type, and a skin type. In some implementations, the customizable accessories include clothing (e.g., shirts, pants, hats, shoes, glasses, etc.), weapons, or other tools. In some implementations, the user may also control the scale of the character (e.g., height, width, or depth) or the scale of components of the character. In some implementations, the user may control the proportions of the character (e.g., blocky, anatomical, etc.). It may be noted that in some implementations, the character may not include a character game object (e.g., body parts, etc.), but the user may control the character (without the character game object) to facilitate user interaction with the game (e.g., a puzzle game without a rendered character game object, but where the user still controls the character to control in-game activities).

일부 구현에서, 신체 부분과 같은 컴포넌트는 블록, 실린더, 구 등과 같은 기본 지오메트리 형상 또는 쐐기(wedge), 원환체(torus), 튜브, 채널 등과 같은 일부 다른 기본 형상일 수 있다. 일부 구현에서, 생성자 모듈은 온라인 게임 플랫폼(102)의 다른 사용자가 보거나 사용할 수 있도록 사용자의 캐릭터를 공개할 수 있다. 일부 구현에서, 캐릭터, 다른 게임 객체, 게임(105) 또는 게임 환경을 생성하고, 수정하고, 커스터마이징하는 것은 사용자 인터페이스(예컨대, 개발자 인터페이스)를 사용하고, 스크립팅이 있거나 없는 (또는 API(application programming interface)가 있거나 없는) 사용자에 의해 수행될 수 있다. 제한이 아닌 예시의 목적으로 캐릭터가 휴머노이드 형태를 갖는 것으로 설명된다는 점에 유의할 수 있다. 캐릭터는 차량, 동물, 무생물 객체(inanimate object) 또는 기타 창의적인 형태와 같은 임의의 형태를 가질 수 있음을 더 유의할 수 있다.In some implementations, a component, such as a body part, may be a basic geometric shape, such as a block, a cylinder, a sphere, or some other basic shape, such as a wedge, a torus, a tube, a channel, or the like. In some implementations, the creator module may make the user's character public so that other users of the online game platform (102) can view or use it. In some implementations, creating, modifying, and customizing the character, other game object, game (105), or game environment may be performed by the user using a user interface (e.g., a developer interface), with or without scripting (or with or without an application programming interface (API)). It may be noted that the character is described as having a humanoid form for purposes of example and not limitation. It may further be noted that the character may have any form, such as a vehicle, an animal, an inanimate object, or other creative form.

일부 구현에서, 온라인 게임 플랫폼(102)은 사용자에 의해 생성된 캐릭터를 데이터 저장소(108)에 저장할 수 있다. 일부 구현에서, 온라인 게임 플랫폼(102)은 사용자에게 제시될 수 있는 캐릭터 카탈로그 및 게임 카탈로그를 유지한다. 일부 구현에서, 게임 카탈로그는 온라인 게임 플랫폼(102)에 저장된 게임의 이미지를 포함한다. 또한, 사용자는 선택된 게임에 참여하기 위해 캐릭터 카탈로그로부터 캐릭터(예컨대, 사용자 또는 다른 사용자에 의해 생성된 캐릭터)를 선택할 수 있다. 캐릭터 카탈로그는 온라인 게임 플랫폼(102)에 저장된 캐릭터의 이미지를 포함한다. 일부 구현에서, 캐릭터 카탈로그의 캐릭터 중 하나 이상은 사용자에 의해 생성되거나 커스터마이징될 수 있다. 일부 구현에서, 선택된 캐릭터는 캐릭터의 컴포넌트 중 하나 이상을 정의하는 캐릭터 설정을 가질 수 있다.In some implementations, the online gaming platform (102) may store user-created characters in a data store (108). In some implementations, the online gaming platform (102) maintains a character catalog and a game catalog that may be presented to the user. In some implementations, the game catalog includes images of games stored on the online gaming platform (102). Additionally, the user may select a character (e.g., a character created by the user or another user) from the character catalog to participate in a selected game. The character catalog includes images of characters stored on the online gaming platform (102). In some implementations, one or more of the characters in the character catalog may be created or customized by the user. In some implementations, the selected character may have a character set that defines one or more of the components of the character.

일부 구현에서, 사용자의 캐릭터는 컴포넌트의 구성을 포함할 수 있으며, 여기에서 컴포넌트의 구성 및 외관, 보다 일반적으로 캐릭터의 외관은 캐릭터 설정에 의해 정의될 수 있다. 일부 구현에서, 사용자의 캐릭터의 캐릭터 설정은 사용자에 의해 적어도 부분적으로 선택될 수 있다. 다른 구현에서, 사용자는 디폴트 캐릭터 설정 또는 다른 사용자에 의해 선택된 캐릭터 설정을 갖는 캐릭터를 선택할 수 있다. 예컨대, 사용자는 미리 정의된 캐릭터 설정을 갖는 캐릭터 카탈로그에서 디폴트 캐릭터를 선택할 수 있으며, 사용자는 캐릭터 설정 중 일부를 변경(예컨대, 커스터마이징된 로고가 있는 셔츠를 추가)하여 디폴트 캐릭터를 추가로 커스터마이징할 수 있다. 캐릭터 설정은 온라인 게임 플랫폼(102)에 의해 특정 캐릭터와 연관될 수 있다.In some implementations, a user's character may include a composition of components, wherein the composition and appearance of the components, and more generally the appearance of the character, may be defined by a character configuration. In some implementations, the character configuration of the user's character may be at least partially selected by the user. In other implementations, the user may select a character having a default character configuration or a character configuration selected by another user. For example, the user may select a default character from a catalog of characters having predefined character configurations, and the user may further customize the default character by changing some of the character configurations (e.g., adding a shirt with a customized logo). The character configuration may be associated with a particular character by the online game platform (102).

일부 구현에서, 클라이언트 장치(들)(110 또는 116)는 개인용 컴퓨터(PC), 모바일 장치(예컨대, 랩톱, 모바일 전화, 스마트폰, 태블릿 컴퓨터, 또는 넷북 컴퓨터), 네트워크 연결된 텔레비전, 게이밍 콘솔 등과 같은 컴퓨팅 장치를 각각 포함할 수 있다. 일부 구현에서, 클라이언트 장치(110 또는 116)는 또한 "사용자 장치"로도 지칭될 수 있다. 일부 구현에서, 하나 이상의 클라이언트 장치(110 또는 116)는 임의의 주어진 순간에 온라인 게임 플랫폼(102)에 연결할 수 있다. 클라이언트 장치(110 또는 116)의 수는 제한보다는 예시로서 제공된다는 점에 유의할 수 있다. 일부 구현에서, 임의의 수의 클라이언트 장치(110 또는 116)가 사용될 수 있다.In some implementations, the client device(s) (110 or 116) may each include a computing device, such as a personal computer (PC), a mobile device (e.g., a laptop, a mobile phone, a smart phone, a tablet computer, or a netbook computer), a networked television, a gaming console, and the like. In some implementations, the client devices (110 or 116) may also be referred to as a "user device." In some implementations, more than one client device (110 or 116) may be connected to the online gaming platform (102) at any given moment. It may be noted that the number of client devices (110 or 116) is provided by way of example rather than limitation. In some implementations, any number of client devices (110 or 116) may be used.

일부 구현에서, 각각의 클라이언트 장치(110 또는 116)는 게임 애플리케이션(112 또는 118)의 인스턴스를 각각 포함할 수 있다. 일 구현에서, 게임 애플리케이션(112 또는 118)은 사용자가 온라인 게임 플랫폼(102)에 의해 호스팅되는 가상 게임에서 가상 캐릭터를 제어하거나, 게임(105), 이미지, 비디오 아이템, 웹 페이지, 문서 등과 같은 콘텐츠를 보거나 업로드하는 것과 같이, 온라인 게임 플랫폼(102)을 사용하고 상호작용하는 것을 허가할 수 있다. 일 예시에서, 게임 애플리케이션은 웹 서버에 의해 제공된 콘텐츠(예컨대, 가상 환경의 가상 캐릭터 등)에 액세스, 검색, 제시 또는 탐색할 수 있는 웹 애플리케이션(예컨대, 웹 브라우저와 함께 동작하는 애플리케이션)일 수 있다. 다른 예시에서, 게임 애플리케이션은 클라이언트 장치(110 또는 116)에 설치 및 로컬로 실행되고, 사용자가 온라인 게임 플랫폼(102)과 상호작용할 수 있도록 허용하는 네이티브 애플리케이션(예컨대, 모바일 애플리케이션, 앱, 또는 게이밍 프로그램)일 수 있다. 게임 애플리케이션은 콘텐츠(예컨대, 웹 페이지, 미디어 뷰어)를 사용자에게 렌더링, 디스플레이 또는 제시할 수 있다. 구현에서, 게임 애플리케이션은 또한 웹 페이지에 임베디드되는 임베디드 미디어 플레이어(예컨대, Flash® 플레이어)를 포함할 수 있다.In some implementations, each client device (110 or 116) may include an instance of a game application (112 or 118). In one implementation, the game application (112 or 118) may permit a user to use and interact with the online game platform (102), such as controlling a virtual character in a virtual game hosted by the online game platform (102), or viewing or uploading content such as games (105), images, video items, web pages, documents, and the like. In one example, the game application may be a web application (e.g., an application that operates in conjunction with a web browser) that may access, retrieve, present, or navigate content provided by a web server (e.g., virtual characters in a virtual environment, etc.). In another example, the game application may be a native application (e.g., a mobile application, an app, or a gaming program) that is installed and runs locally on the client device (110 or 116) and allows a user to interact with the online game platform (102). The game application may render, display, or present content (e.g., a web page, a media viewer) to the user. In an implementation, the game application may also include an embedded media player (e.g., a Flash® player) embedded in the web page.

본 개시의 양태에 따르면, 게임 애플리케이션은 사용자가 온라인 게임 플랫폼(102)과 상호작용할 뿐만 아니라(예컨대, 온라인 게임 플랫폼(102)에 의해 호스팅되는 게임(105)을 플레이함), 콘텐츠를 온라인 게임 플랫폼(102)에 구축하고, 생성하고, 편집하고, 업로드하는 온라인 게임 플랫폼 애플리케이션일 수 있다. 이와 같이, 게임 애플리케이션은 온라인 게임 플랫폼(102)에 의해 클라이언트 장치(110 또는 116)에 제공될 수 있다. 다른 예시에서, 게임 애플리케이션은 서버로부터 다운로드되는 애플리케이션일 수 있다.In accordance with aspects of the present disclosure, the game application may be an online game platform application that allows a user to interact with the online game platform (102) (e.g., play a game (105) hosted by the online game platform (102)) as well as build, create, edit, and upload content to the online game platform (102). As such, the game application may be provided to a client device (110 or 116) by the online game platform (102). In another example, the game application may be an application that is downloaded from a server.

일부 구현에서, 사용자는 게임 애플리케이션을 통해 온라인 게임 플랫폼(102)에 로그인할 수 있다. 사용자는 사용자 계정 정보(예컨대, 사용자 이름 및 비밀번호)를 제공함으로써 사용자 계정에 액세스할 수 있으며, 여기에서 사용자 계정은 온라인 게임 플랫폼(102)의 하나 이상의 게임(105)에 참여할 수 있는 하나 이상의 캐릭터와 연관된다.In some implementations, a user may log into the online gaming platform (102) via a gaming application. The user may access a user account by providing user account information (e.g., a user name and password), where the user account is associated with one or more characters that may participate in one or more games (105) of the online gaming platform (102).

일반적으로, 온라인 게임 플랫폼(102)에 의해 수행되는 것으로 일 구현에서 설명된 기능은 또한 적절한 경우 다른 구현에서 클라이언트 장치(들)(110 또는 116) 또는 서버에 의해 수행될 수 있다. 또한, 특정 컴포넌트에 부여된 기능은 함께 동작하는 상이한 또는 다수의 컴포넌트에 의해 수행될 수 있다. 온라인 게임 플랫폼(102)은 또한 적절한 API(application programming interface)를 통해 다른 시스템 또는 장치에 제공된 서비스로서 액세스될 수 있고, 따라서 웹사이트에서의 사용에 제한되지 않는다.In general, the functionality described in one implementation as being performed by the online gaming platform (102) may also be performed by the client device(s) (110 or 116) or the server in other implementations, as appropriate. Additionally, the functionality attributed to a particular component may be performed by different or multiple components operating together. The online gaming platform (102) may also be accessed as a service provided to other systems or devices via an appropriate application programming interface (API), and is therefore not limited to use on a website.

온라인 게임 플랫폼(102)은 그래픽 모듈(106)을 포함한다. 일부 구현에서, 그래픽 모듈(106)은 온라인 게임 플랫폼(102)이 그래픽 및 애니메이션 기능을 제공하도록 허가하는 시스템, 애플리케이션, 또는 모듈일 수 있다. The online gaming platform (102) includes a graphics module (106). In some implementations, the graphics module (106) may be a system, application, or module that allows the online gaming platform (102) to provide graphics and animation capabilities.

온라인 게임 플랫폼(102)은 구독 애플리케이션(107)을 포함한다. 일부 구현에서, 구독 애플리케이션(107)은 도 3 또는 5에 도시된 흐름도와 관련하여 아래에서 설명된 동작 중 하나 이상을 수행할 수 있다.The online gaming platform (102) includes a subscription application (107). In some implementations, the subscription application (107) may perform one or more of the operations described below in connection with the flowcharts illustrated in FIG. 3 or 5.

도 2: 구독자 콘텐츠가 있는 인터랙티브 미디어 시스템Figure 2: Interactive media system with subscriber content

도 2는 구독자 콘텐츠의 세부사항을 도시하는 도 1의 인터랙티브 미디어 시스템의 도식이다. 예컨대, 도 2는 온라인 게임 플랫폼(102) 내의 구독자 전용 콘텐츠의 세부사항을 도시한다. 특히, 데이터 저장소(108)는 활성 구독 상태를 갖는 사용자 계정에만 이용 가능한 아이템을 포함할 수 있는 구독자 아이템(202)을 포함한다. 구독자 아이템은 구독자에게 무료이지만 비구독자에게는 비용이 드는 카탈로그 아이템, 구독자만 독점적으로 이용 가능한 카탈로그 아이템 또는 구독자만 독점적으로 이용 가능한 게임 내 기능 중 하나 이상을 포함할 수 있고, 게임 영역, 차량, 무기 또는 기타 아이템, 사용자가 실행할 때 스트림과 트레일링하는 것과 같이 게임 내에서 상이하게 나타내는 아바타와 같은 기능 또는 게임에 대한 독점 액세스 (예컨대, 오직 프리미엄 구독자만 이러한 게임을 플레이할 수 있음) 중 하나 이상을 포함할 수 있지만, 이에 제한되지 않는다.FIG. 2 is a schematic diagram of the interactive media system of FIG. 1 illustrating details of subscriber content. For example, FIG. 2 illustrates details of subscriber-only content within an online gaming platform (102). In particular, the data store (108) includes subscriber items (202) that may include items that are available only to user accounts with an active subscription. Subscriber items may include one or more of catalog items that are free to subscribers but cost money to non-subscribers, catalog items that are exclusively available to subscribers, or in-game features that are exclusively available to subscribers, including but not limited to, game areas, vehicles, weapons, or other items, features such as avatars that appear differently in-game when a user runs, such as streams and trails, or exclusive access to a game (e.g., only premium subscribers may play such a game).

예컨대, 사용자 계정은 온라인 게임 플랫폼(102)에 대한 지불, 예컨대 반복되는 월별 지불, 연간 지불 등을 행하여 플랫폼의 구독자로 등록될 수 있다. 일부 구현에서, 구독은 플랫폼 전체일 수 있으며, 예컨대, 구독은 사용자가 플랫폼에 의해 제공된 임의의 게임(105)에서 사용자가 이용할 수 있는 구독자 아이템(202)에 액세스하는 것을 가능하게 할 수 있다. 예컨대, 그러한 구독자 아이템은 예컨대 아바타 유형; 의복; 무기, 액세서리 및 기타 아이템; 아이콘 또는 구독자 상태의 기타 표시자 등을 포함할 수 있다. 예컨대, 이러한 구현에서, 온라인 게임 플랫폼(102)에서 게임(105)을 제공하는 각 개발자는 온라인 게임 플랫폼(102)에 의해 제공된 API(application programming interface)를 통해, 사용자가 구독자 아이템에 액세스할 수 있게 하는 프로그램 코드를 구현할 수 있다. 일부 구현에서, 게임(105)의 서브세트는 활성 구독자 상태를 인식하고, 구독자 아이템에 대한 액세스를 제공할 수 있다. 일부 구현에서, 구독자 아이템(202)은 게임 내 채팅과 관련된 아이템을 포함할 수 있다. 예컨대, 온라인 게임 플랫폼(102)은 게임 내의 플레이어가 서로 메시징 대화에 참여할 수 있게 하는 채팅 기능을 제공할 수 있다. 게임 내 채팅을 위한 구독자 아이템은 채팅 아바타 또는 아이콘, 스티커, 이모티콘과 같은 채팅 콘텐츠 아이템 등을 포함할 수 있다.For example, a user account may be registered as a subscriber to the platform by making a payment to the online gaming platform (102), such as a recurring monthly payment, an annual payment, etc. In some implementations, the subscription may be platform-wide, such as allowing the user access to subscriber items (202) that may be used by the user in any game (105) provided by the platform. For example, such subscriber items may include, for example, avatar types; clothing; weapons, accessories, and other items; icons or other indicators of subscriber status, etc. For example, in such implementations, each developer that provides a game (105) on the online gaming platform (102) may implement program code that allows the user to access subscriber items via an application programming interface (API) provided by the online gaming platform (102). In some implementations, a subset of the games (105) may be aware of an active subscriber status and may provide access to subscriber items. In some implementations, subscriber items (202) may include items related to in-game chat. For example, an online gaming platform (102) may provide a chat function that allows players within the game to engage in messaging conversations with each other. Subscriber items for in-game chat may include chat content items such as chat avatars or icons, stickers, and emoticons.

플랫폼 전체 아이템에 더하여, 게임(105) 중 하나 이상의 개발자는 활성 구독자 상태를 인식하고, 구독자가 게임을 플레이할 때 활성 구독자에게 게임 특정 아이템을 제공할 수 있다. 예컨대, 게임이 가상 피자 가게를 운영하는 것이라면, 이러한 아이템은 게임을 플레이하는 비구독자가 이용할 수 없는 독점 피자 재료를 포함할 수 있다. 다른 예시에서, 게임이 가상 환경을 통해 비행기를 조종하는 것이라면, 이러한 아이템은 구독자에게만 제공되는 환경, 구독자만 이용 가능한 비행기 유형 등을 포함할 수 있다. 또한, 전술한 내용은 구독자 및 비구독자를 언급하지만, 일부 구현에서, 구독자 아이템(202)에 대한 대응하는 액세스와 함께 다수의 구독 티어(multiple subscription tiers)가 제공될 수 있다.In addition to platform-wide items, one or more developers of the game (105) may be aware of active subscriber status and may provide game-specific items to active subscribers when the subscriber plays the game. For example, if the game is about running a virtual pizza shop, such items may include exclusive pizza ingredients that are not available to non-subscribers playing the game. In another example, if the game is about piloting an airplane through a virtual environment, such items may include environments that are only available to subscribers, types of airplanes that are only available to subscribers, etc. Additionally, while the foregoing refers to subscribers and non-subscribers, in some implementations, multiple subscription tiers may be provided with corresponding access to subscriber items (202).

구독은 온라인 게임 플랫폼(102)에 의해 다양한 기간, 예컨대, 매일, 매주, 매월, 연간 등으로 이용 가능하게 될 수 있다. 게임 플랫폼(102)의 사용자는 게임 플랫폼(102)의 화폐를 사용하여 게임 플랫폼(102)에 지불함으로써 구독을 구매할 수 있다. 예컨대, 게임 플랫폼은 사용자가 아이템(예컨대, 의복, 액세서리, 무기 등)을 사거나 팔고 구독을 살 수 있게 하는 가상 화폐를 구현할 수 있다. 사용자는 게임 플랫폼(102)을 통해 게임 플랫폼(102)의 가상 화폐와 실제 화폐(예컨대, 미국 달러 또는 기타 화폐) 간에 전환할 수 있다. 일부 구현에서, 게임 개발자는 사고 팔 수 있는 개별 게임 아이템의 가격을 선택할 수 있는 한편, 게임 플랫폼(102)은 구독, 예컨대, (하나 이상의 티어와 함께) 플랫폼 전체 구독의 가격을 결정할 수 있다. 일부 구현에서, 게임 플랫폼(102)은 예컨대, 도 4 및 5를 참조하여 여기에서 설명된 기법을 사용하여, 각각의 게임(105)과 연관된 하나 이상의 게임 개발자에게 구독 수익의 일부를 제공할 수 있다.Subscriptions may be made available by the online gaming platform (102) for various periods of time, such as daily, weekly, monthly, yearly, etc. A user of the gaming platform (102) may purchase a subscription by making payment to the gaming platform (102) using the gaming platform's (102) currency. For example, the gaming platform may implement a virtual currency that allows a user to buy or sell items (e.g., clothing, accessories, weapons, etc.) and purchase a subscription. A user may be able to convert between the gaming platform's (102) virtual currency and real currency (e.g., U.S. dollars or other currency) through the gaming platform (102). In some implementations, the game developer may choose the price of individual game items that may be bought and sold, while the gaming platform (102) may determine the price of a subscription, such as a subscription for the platform as a whole (with one or more tiers). In some implementations, the game platform (102) may provide a portion of subscription revenue to one or more game developers associated with each game (105), for example, using techniques described herein with reference to FIGS. 4 and 5 .

일부 구현에서, 구독자 아이템은 그들이 수여된 사용자 계정으로 제한될 수 있고 판매가능하거나 거래가능하지 않을 수 있는 반면, 게임의 다른 아이템(구독자 아이템이 아니거나 구독을 통해 가능하게 되지 않음)은 판매가능 또는 거래가능하게 유지될 수 있다.In some implementations, subscriber items may be restricted to the user account to which they were granted and may not be saleable or tradeable, while other items in the game (which are not subscriber items or made available via subscriptions) may remain saleable or tradeable.

일부 구현에서, 구독자 아이템(202)은 온라인 게임 플랫폼(102)에 의해 제공될 수 있다. 일부 구현에서, 구독자 아이템(202)은 게임(105) 중 하나 이상과 연관된 개별 게임 개발자에 의해 제공될 수 있다.In some implementations, the subscriber items (202) may be provided by the online gaming platform (102). In some implementations, the subscriber items (202) may be provided by an individual game developer associated with one or more of the games (105).

도 2는 또한 클라이언트 장치(110)에 의해 디스플레이된 사용자 인터페이스(114)의 세부사항을 도시한다. 구독자 사용자 인터페이스 세부사항은 구독자 배지(204) 및 하나 이상의 구독자 전용 게임 기능(206)과 같은 구독자 콘텐츠를 포함한다. 구독자 배지(204)는 사용자 계정의 구독자 상태를 나타내는 게임 플랫폼의 사용자 인터페이스에 디스플레이된 그래픽 표시(graphical indicium)를 포함할 수 있다. 구독자 배지(204)는 채팅 인터페이스, 리더보드 등과 같은 온라인 게임 플랫폼 내의 다양한 위치에 디스플레이될 수 있다. 구독자 전용 게임 기능(206)은 활성 구독과 연관된 사용자 계정을 갖는 사용자만 오직 이용 가능하도록 게임 개발자(예컨대, 제3자 사용자 생성된 콘텐츠 개발자)가 지정한 기능을 포함할 수 있다.FIG. 2 also illustrates details of a user interface (114) displayed by the client device (110). The subscriber user interface details include subscriber content such as a subscriber badge (204) and one or more subscriber-only game features (206). The subscriber badge (204) may include a graphical indicium displayed on a user interface of the gaming platform that indicates the subscriber status of a user account. The subscriber badge (204) may be displayed in various locations within the online gaming platform, such as in a chat interface, on leaderboards, etc. The subscriber-only game features (206) may include features that a game developer (e.g., a third party user generated content developer) has designated to be only available to users who have a user account associated with an active subscription.

도 3: 구독자 콘텐츠를 제공하기 위한 방법Figure 3: Method for providing subscriber content

도 3은 일부 구현에 따른, 구독자 전용 콘텐츠를 클라이언트에 제공하기 위한 예시적인 방법(300)(예컨대, 컴퓨터 구현된 방법)의 흐름도이다.FIG. 3 is a flow diagram of an exemplary method (300) (e.g., a computer-implemented method) for providing subscriber-only content to a client, according to some implementations.

일부 구현에서, 방법(300)은 예컨대, 서버 장치 또는 클라이언트 장치 또는 다른 장치 중 하나 이상, 또는 장치의 조합에서 구현될 수 있다. 일부 구현에서, 방법(300)의 일부 또는 전부는 도 1에 도시된 장치(102 또는 110/116) 중 하나 이상 및/또는 서버 장치(들) 및 클라이언트 장치(들) 모두에서 구현될 수 있다. 설명된 예시에서, 구현 시스템은 하나 이상의 디지털 하드웨어 프로세서 또는 프로세싱 회로("프로세서"), 및 하나 이상의 저장 장치를 포함한다. 방법(300)은 서버 또는 플랫폼 시스템(예컨대, 102)상에서 실행하는 구독 애플리케이션(예컨대, 107)에 의해 수행될 수 있다. 일부 구현에서, 하나 이상의 장치 또는 설비의 상이한 컴포넌트는 방법(300)의 상이한 블록 또는 다른 부분을 수행할 수 있다.In some implementations, the method (300) may be implemented on, for example, one or more of a server device or a client device or other devices, or a combination of devices. In some implementations, part or all of the method (300) may be implemented on one or more of the devices (102 or 110/116) illustrated in FIG. 1 and/or on both the server device(s) and the client device(s). In the illustrated example, the implementation system includes one or more digital hardware processors or processing circuits (“processors”), and one or more storage devices. The method (300) may be performed by a subscription application (e.g., 107) running on a server or platform system (e.g., 102). In some implementations, different components of the one or more devices or facilities may perform different blocks or different portions of the method (300).

일부 구현에서, 방법(300) 또는 방법의 일부는 장치에 의해 자동으로 개시될 수 있다. 예컨대, 방법(또는 그 일부)은 하나 이상의 특정 이벤트 또는 조건의 발생에 기초하여 주기적으로 수행되거나 수행될 수 있다. 예컨대, 그러한 이벤트 또는 조건은 비디오 게임을 실행하는 구독자 계정과 연관된 클라이언트 장치, 방법(300)의 마지막 수행 이후 만료된 미리 결정된 기간, 및/또는 방법(300)을 구현하는 장치의 설정에서 지정될 수 있는 발생하는 하나 이상의 다른 이벤트 또는 조건을 포함할 수 있다. 일부 구현에서, 그러한 조건은 사용자의 저장된 맞춤 선호도(custom preference)(사용자 동의가 있는 장치 또는 방법에 의해 액세스 가능)에서 사용자에 의해 사전에 지정될 수 있다. 일부 예시에서, 장치(서버 또는 클라이언트)는 하나 이상의 애플리케이션에 대한 액세스로 방법(300)을 수행할 수 있다. 다른 예시에서, 서버 장치는 네트워크를 통해 클라이언트에 데이터를 전송할 수 있고, 클라이언트는 방법(300)을 전체적으로 또는 부분적으로 수행할 수 있다. 방법(300)은 또한 서버 장치, 하나 이상의 클라이언트 장치 및/또는 상기 조합에 대한 프로세싱의 조합을 사용하여 수행될 수 있다.In some implementations, the method (300) or portions of the method may be automatically initiated by the device. For example, the method (or portions thereof) may be performed or executed periodically based on the occurrence of one or more specific events or conditions. For example, such events or conditions may include a client device associated with a subscriber account running a video game, a predetermined period of time that has expired since the last execution of the method (300), and/or one or more other events or conditions that may be specified in the settings of the device implementing the method (300). In some implementations, such conditions may be pre-specified by the user in the user's stored custom preferences (accessible by the device or method with the user's consent). In some examples, the device (server or client) may perform the method (300) with access to one or more applications. In another example, the server device may transmit data to the client over a network, and the client may perform the method (300) in whole or in part. The method (300) may also be performed using a combination of processing for a server device, one or more client devices, and/or a combination of the above.

프로세싱은 게임 플랫폼 상의 사용자 계정과 연관된 사용자 세션의 개시가 탐지되는 302에서 시작된다. 예컨대, 사용자 세션은 게임 플랫폼에서 호스팅된 특정 게임에 대한 사용자 세션을 포함할 수 있다. 사용자 세션의 개시는 사용자가 게임 플랫폼에 로그인하고, 특정 게임에서 게임 플레이를 개시하는 것을 포함할 수 있다. 프로세싱은 304로 계속된다.Processing begins at 302 where initiation of a user session associated with a user account on the gaming platform is detected. For example, the user session may comprise a user session for a particular game hosted on the gaming platform. Initiation of a user session may comprise a user logging into the gaming platform and initiating game play in the particular game. Processing continues at 304.

304에서, 사용자 계정은 게임 플랫폼의 구독과 연관되는지 결정된다. 예컨대, 사용자 계정이 게임 플랫폼의 구독을 포함하는 경우, 사용자 계정과 연관된 기록은 사용자 계정이 구독과 연관된다는 표시를 포함할 수 있다. 사용자가 새 구독을 시작하면, 사용자 계정과 연결된 기록이 업데이트되어 새 구독을 반영할 수 있다. 구독이 끝나거나 종료되면, 구독의 종료 또는 만료를 반영하도록 사용자 계정과 연관된 기록이 업데이트될 수 있다. 일부 구현에서, 사용자 계정이 구독과 연관되어 있다고 결정하는 것은 사용자 계정과 연관된 구독 기록을 검색하기 위해 데이터베이스에 액세스하는 것 및 사용자 세션의 개시 시간이 구독 기록의 구독 기간과 일치하는지를 결정하는 것을 포함할 수 있다. 프로세싱은 306으로 계속된다.At 304, the user account is determined to be associated with a subscription of the gaming platform. For example, if the user account includes a subscription of the gaming platform, the record associated with the user account may include an indication that the user account is associated with a subscription. When the user starts a new subscription, the record associated with the user account may be updated to reflect the new subscription. When the subscription ends or is terminated, the record associated with the user account may be updated to reflect the termination or expiration of the subscription. In some implementations, determining that the user account is associated with a subscription may include accessing a database to retrieve a subscription record associated with the user account and determining whether the start time of the user session matches a subscription period in the subscription record. Processing continues to 306.

306에서, 독점 구독자 콘텐츠는 활성 구독 상태에 기초하여 사용자 계정에 제공될 수 있다. 예컨대, 특정 게임의 독점 게임 아이템(예컨대, 구독자 아이템(202)중 하나 이상)이 사용자 세션에서 제공될 수 있다. 다른 예시에서, 사용자 계정은 구독자 상태(예컨대, 구독자 배지(204))를 나타내기 위해 게임 플랫폼 사용자 인터페이스에서 볼 수 있는 표시와 제공될 수 있다. 또 다른 예시에서, 하나 이상의 구독자 전용 게임 기능(예컨대, 206)은 사용자 계정의 구독 상태에 기초하여 가능하게 될 수 있다.At 306, exclusive subscriber content may be provided to a user account based on an active subscription status. For example, exclusive game items for a particular game (e.g., one or more of the subscriber items (202)) may be provided to the user session. In another example, the user account may be provided with an indicator visible on the game platform user interface to indicate subscriber status (e.g., a subscriber badge (204)). In yet another example, one or more subscriber-only game features (e.g., 206) may be enabled based on the subscription status of the user account.

일부 구현에서, 사용자 세션은 아바타와 연관될 수 있고, 독점 게임 아이템은 특정 아바타, 또는 아바타에 의해 착용된 아이템을 포함할 수 있다. 일부 구현에서, 독점 게임 아이템은 특정 게임에 대한 독점 게임 아이템의 세트로부터 선택될 수 있고, 독점 게임 아이템은 특정 게임의 게임플레이 내에서 사용 가능할 수 있다. 일부 구현에서, 독점 아이템의 세트는 구독 아이템 표시자와 연관되는 특정 게임에 대한 게임 아이템의 서브세트를 포함할 수 있고, 독점 아이템의 세트 중 적어도 하나는 게임 플랫폼의 구독과 연관되지 않은 사용자 계정에 이용 불가능하다.In some implementations, a user session may be associated with an avatar, and the exclusive game items may include a particular avatar, or items worn by the avatar. In some implementations, the exclusive game items may be selected from a set of exclusive game items for a particular game, and the exclusive game items may be usable within gameplay of the particular game. In some implementations, the set of exclusive items may include a subset of game items for the particular game that are associated with a subscription item identifier, and at least one of the set of exclusive items is unavailable to user accounts that are not associated with a subscription to the gaming platform.

일부 구현에서, 게임 플랫폼은 채팅 사용자 인터페이스를 갖는 채팅 기능을 포함할 수 있다. 일부 구현에서, 게임(105)의 서브세트는 활성 구독자 상태를 인식하고, 구독자 아이템에 대한 액세스를 제공할 수 있다. 일부 구현에서, 구독자 아이템은 게임 내 채팅과 관련된 아이템을 포함할 수 있다. 예컨대, 온라인 게이밍 플랫폼(102)은 게임 내의 플레이어가 서로 메시징 대화에 참여할 수 있게 하는 채팅 기능을 제공할 수 있다. 게임 내 채팅을 위한 구독자 아이템은 채팅 아바타 또는 아이콘, 스티커, 이모티콘과 같은 채팅 콘텐츠 아이템 등을 포함할 수 있다.In some implementations, the gaming platform may include a chat feature having a chat user interface. In some implementations, a subset of the game (105) may be aware of an active subscriber status and may provide access to subscriber items. In some implementations, subscriber items may include items related to in-game chat. For example, the online gaming platform (102) may provide a chat feature that allows players within the game to engage in messaging conversations with each other. Subscriber items for in-game chat may include chat content items such as chat avatars or icons, stickers, emoticons, and the like.

방법은 또한 사용자 계정이 구독과 연관된다는 결정에 응답하여, 사용자 계정이 구독과 연관되어 있음을 나타내는 사용자 계정에 대한 시각적 외관을 제공하는 단계를 포함할 수 있다. 일부 구현에서, 구독은 특정 게임에 대한 게임 특정 구독을 포함할 수 있고, 독점 게임 아이템은 게임 특정 구독과 연관되지 않은 다른 사용자 계정에서 이용 불가능하다.The method may also include, in response to a determination that the user account is associated with a subscription, providing a visual appearance for the user account that indicates that the user account is associated with a subscription. In some implementations, the subscription may include a game-specific subscription for a particular game, and exclusive game items are not available to other user accounts that are not associated with the game-specific subscription.

일부 구현에서, 구독은 게임 플랫폼에 대한 플랫폼 전체 구독을 포함할 수 있고, 독점 게임 아이템은 플랫폼 전체 구독과 연관되지 않은 다른 사용자 계정에서 이용 불가능하다.In some implementations, a subscription may include a platform-wide subscription to the game platform, and exclusive game items are not available to other user accounts that are not associated with the platform-wide subscription.

도 4: 전자 구독 지불을 배당하기 위한 시스템Figure 4: System for allocating electronic subscription payments

도 4는 게임 개발자와 전자 구독 지불을 배당하기 위한 온라인 게임 플랫폼(102) 및 연관 시스템 및 컴포넌트를 도시하는 도식이다. 온라인 게임 플랫폼(102) 내에서, 게임 엔진(104)은 플레이된 게임의 로그, 게임을 플레이하는 사용자 계정, 및/또는 각 사용자가 각 게임에 소비한 시간의 비율을 유지할 수 있다. 게임 엔진은 또한 사기성 게임 플레이(예컨대, 게임플레이 자동화를 위한 소프트웨어 봇 사용, 소프트웨어 버그 악용, 치트 코드 사용 등)를 탐지하고 사기 신호를 구독 애플리케이션에 제공할 수 있는 게임 플레이 사기 탐지 애플리케이션(406)을 포함할 수 있다. 사기 신호는 하나 이상의 게임에서 하나 이상의 사용자 계정에 의한 사기성 게임 플레이의 존재 또는 부재의 표시를 포함할 수 있다.FIG. 4 is a schematic diagram illustrating an online gaming platform (102) and associated systems and components for allocating electronic subscription payments to game developers. Within the online gaming platform (102), a game engine (104) may maintain logs of games played, user accounts playing the games, and/or the percentage of time each user spent on each game. The game engine may also include a game play fraud detection application (406) that may detect fraudulent game play (e.g., use of software bots to automate gameplay, exploit software bugs, use of cheat codes, etc.) and provide a fraud signal to the subscription application. The fraud signal may include an indication of the presence or absence of fraudulent game play by one or more user accounts in one or more games.

구독 애플리케이션(107)은 또한 사기 가시성이 있는 하나 이상의 지불 제공자(402) 및 사기 가시성 정보가 없는 하나 이상의 지불 제공자(404)로부터 구독 지불 정보를 수신할 수 있다. 402 및 404로부터의 정보는 구독 애플리케이션(107)에 의해 수신된 사기 신호에 포함될 수 있다.The subscription application (107) may also receive subscription payment information from one or more payment providers (402) that have fraud visibility and one or more payment providers (404) that do not have fraud visibility information. Information from 402 and 404 may be included in a fraud signal received by the subscription application (107).

구독 애플리케이션(107)은 사기 신호 정보를 사용하여 사기를 탐지하고 탐지된 사기에 기초하여 임의의 지불금(예컨대, 제3자 게임 개발자와의 구독 수익 배당분)을 조정할 수 있다. 사기에 대해 조정되면, 구독 수익 배당 지불금이 가상 지불 시스템(408)과 같은 지불 시스템에 전자적으로 전송되거나 송신될 수 있다. 사기 탐지 및 전자 구독 지불 수익 배당 지불금 조정에 대한 추가 세부사항은 도 5와 관련하여 아래에서 설명된다.The subscription application (107) may use the fraud signal information to detect fraud and adjust any payment (e.g., subscription revenue share with a third party game developer) based on the detected fraud. Once adjusted for fraud, the subscription revenue share payment may be electronically transmitted or transmitted to a payment system, such as the virtual payment system (408). Additional details regarding fraud detection and electronic subscription payment revenue share payment adjustments are described below with respect to FIG. 5 .

도 5: 사기를 탐지하고 지불을 조정하기 위한 예시적인 방법Figure 5: An exemplary method for detecting fraud and reconciling payments.

도 5는 일부 구현에 따른, 사기 탐지 및 전자 구독 지불의 조정을 수행하기 위한 예시적인 방법(500)(예컨대, 컴퓨터 구현된 방법)의 흐름도이다.FIG. 5 is a flow diagram of an exemplary method (500) (e.g., a computer implemented method) for performing fraud detection and reconciliation of electronic subscription payments, according to some implementations.

일부 구현에서, 방법(500)은 예컨대, 서버 장치 또는 클라이언트 장치, 또는 다른 장치 중 하나 이상 또는 장치의 조합에서 구현될 수 있다. 일부 구현에서, 방법(500)의 일부 또는 전부는 도 1에 도시된 장치(102 또는 110/116) 중 하나 이상 및/또는 서버 장치(들) 및 클라이언트 장치(들) 모두에서 구현될 수 있다. 설명된 예시에서, 구현 시스템은 하나 이상의 디지털 하드웨어 프로세서 또는 프로세싱 회로("프로세서"), 및 하나 이상의 저장 장치를 포함한다. 방법(500)은 서버 또는 플랫폼 시스템(예컨대, 102)에서 실행하는 구독 애플리케이션(예컨대, 107)에 의해 수행될 수 있다. 일부 구현에서, 하나 이상의 장치 또는 설비의 상이한 컴포넌트는 방법(500)의 상이한 블록 또는 다른 부분을 수행할 수 있다.In some implementations, the method (500) may be implemented on, for example, a server device or a client device, or one or more of the other devices or a combination of devices. In some implementations, part or all of the method (500) may be implemented on one or more of the devices (102 or 110/116) illustrated in FIG. 1 and/or on both the server device(s) and the client device(s). In the illustrated example, the implementation system includes one or more digital hardware processors or processing circuits (“processors”), and one or more storage devices. The method (500) may be performed by a subscription application (e.g., 107) running on a server or platform system (e.g., 102). In some implementations, different components of the one or more devices or facilities may perform different blocks or different portions of the method (500).

일부 구현에서, 방법(500) 또는 방법의 일부는 장치에 의해 자동으로 개시될 수 있다. 예컨대, 방법(또는 그 일부)은 하나 이상의 특정 이벤트 또는 조건의 발생에 기초하여 주기적으로 수행되거나 수행될 수 있다. 예컨대, 그러한 이벤트 또는 조건은 비디오 게임을 실행하는 구독자 계정과 연관된 클라이언트 장치, 방법(500)의 마지막 수행 이후 만료된 미리 결정된 기간, 및/또는 방법(500)을 구현하는 장치의 설정에서 지정될 수 있는 발생하는 하나 이상의 다른 이벤트 또는 조건을 포함할 수 있다. 일부 구현에서, 그러한 조건은 사용자의 저장된 맞춤 선호도(사용자 동의가 있는 장치 또는 방법에 의해 액세스 가능)에서 사용자에 의해 사전에 지정될 수 있다. 일부 예시에서, 장치(서버 또는 클라이언트)는 하나 이상의 애플리케이션에 대한 액세스로 방법(500)을 수행할 수 있다. 다른 예시에서, 서버 장치는 네트워크를 통해 클라이언트에 데이터를 전송할 수 있고, 클라이언트는 방법(500)을 전체적으로 또는 부분적으로 수행할 수 있다. 방법(500)은 또한 서버 장치, 하나 이상의 클라이언트 장치, 및/또는 상기 조합에 대한 프로세싱의 조합을 사용하여 수행될 수 있다.In some implementations, the method (500) or portions of the method may be automatically initiated by the device. For example, the method (or portions thereof) may be performed or executed periodically based on the occurrence of one or more specific events or conditions. For example, such events or conditions may include a client device associated with a subscriber account running a video game, a predetermined period of time that has expired since the last execution of the method (500), and/or one or more other events or conditions that may be specified in the settings of the device implementing the method (500). In some implementations, such conditions may be pre-specified by the user in the user's stored custom preferences (accessible by the device or method with the user's consent). In some examples, the device (server or client) may perform the method (500) with access to one or more applications. In another example, the server device may transmit data to the client over a network, and the client may perform the method (500) in whole or in part. The method (500) may also be performed using a combination of processing for a server device, one or more client devices, and/or a combination of the above.

프로세싱은 게임 플랫폼 상의 사용자 계정과 연관된 사용자 세션의 전자 로그가 액세스되는 502에서 시작된다. 예컨대, 액세스하는 것은 게임 플랫폼의 사용자 계정과 연관된 사용자 세션의 전자 로그에 액세스하는 것을 포함할 수 있으며, 여기에서 사용자 세션은 게임 플랫폼에서 호스팅된 하나 이상의 게임에 대한 것이고, 전자 로그는 하나 이상의 게임의 리스트 및 제1 기간 동안 하나 이상의 게임 각각에 대한 플레이 지속시간을 포함한다. 일부 구현에서, 제1 기간은 예컨대, 역일에 대응하는 24시간의 기간을 포함할 수 있다. 일부 구현에서, 액세스하는 것은 게임 플랫폼의 구독자 계정인 사용자 계정의 사용자 세션에 대한 로그에 액세스하는 것을 포함한다. 프로세싱은 504으로 계속된다.Processing begins at 502 where an electronic log of a user session associated with a user account on the gaming platform is accessed. For example, the accessing may include accessing an electronic log of a user session associated with a user account on the gaming platform, wherein the user session is for one or more games hosted on the gaming platform, and the electronic log includes a list of the one or more games and a play duration for each of the one or more games during a first period of time. In some implementations, the first period of time may include, for example, a 24 hour period corresponding to a calendar day. In some implementations, the accessing includes accessing a log for a user session of a user account that is a subscriber account on the gaming platform. Processing continues at 504.

504에서, 제1 기간 동안 하나 이상의 게임 각각에 대한 게임 플레이 지속시간의 비율이 결정된다. 예컨대, 정해진 사용자 계정이 제1 기간(예컨대, 24시간) 동안 네 시간에 걸쳐 네 개의 게임을 플레이하면, 네 개의 게임 각각에 대응하는 네 시간의 비율이 결정된다. 일부 구현에서, 게임플레이의 최소 임계 지속시간, 예컨대, 게임당 5분, 10분은 비율을 결정하기 위해 활용된다. 예컨대, 최소 임계 지속시간 미만으로 플레이되는 게임은 비율을 결정할 때 플레이되지 않은 것(0의 지속시간)으로 처리될 수 있다. 일부 구현에서, 비율은 단순한 비율일 수 있으며, 예컨대, 각 게임이 1시간 동안 플레이되는 경우, 비율은 각 게임에 대해 25%이고; 제1 게임은 2시간 동안 플레이되고, 제2 게임은 1시간 동안 플레이되고, 제3 및 제4 게임은 각각 30분씩 플레이되는 경우, 비율은 제1, 제2, 제3 및 제4 게임에 대해 각각 50%, 25%, 12.5%, 12.5%일 수 있다. 일부 구현에서, 비율을 결정할 때, 기간당 하한(floor) 및/또는 상한(cap)이 활용될 수 있다. 예컨대, 게임이 하한, 예컨대, 시간의 5% 미만인 경우, 게임은 비율을 결정할 때 계산에서 제외될 수 있다. 다른 예시에서, 게임이 6시간, 예컨대 24시간 기간의 25% 총 시간 초과인 경우, 25%의 상한이 적용될 수 있다. 프로세싱은 506으로 계속된다.In 504, a ratio of the duration of gameplay for each of the one or more games during a first period is determined. For example, if a given user account plays four games over four hours during a first period (e.g., 24 hours), a ratio of four hours corresponding to each of the four games is determined. In some implementations, a minimum threshold duration of gameplay, e.g., 5 minutes, 10 minutes per game, is utilized to determine the ratio. For example, games played for less than the minimum threshold duration may be treated as not played (zero duration) when determining the ratio. In some implementations, the ratios may be simple ratios, e.g., if each game is played for 1 hour, the ratio may be 25% for each game; if a first game is played for 2 hours, a second game is played for 1 hour, and a third and fourth game are each played for 30 minutes, the ratios may be 50%, 25%, 12.5%, and 12.5% for the first, second, third, and fourth games, respectively. In some implementations, a floor and/or cap may be utilized when determining the rate. For example, if a game is less than the floor, e.g., 5% of the time, the game may be excluded from the calculation when determining the rate. In another example, if a game is more than 6 hours, e.g., 25% of the total time in a 24 hour period, a cap of 25% may be applied. Processing continues with 506.

506에서, 제1 기간에 대한 초기 지불금이 계산된다. 예컨대, 계산은 각각의 게임에 대한 게임 플레이 지속시간의 비율에 적어도 부분적으로 기초하여, 하나 이상의 게임 각각에 대해 초기 지불금을 계산하는 것을 포함할 수 있다. 일부 구현에서, 초기 지불금을 계산하는 것은 총 수익 금액에 제1 인자, 제2 인자, 및 제3 인자 중 하나 이상을 곱하는 것을 포함하고, 여기에서 제1 인자는 제1 기간 동안의 게임 플레이의 비율이고, 제2 인자는 수수료 인자이고, 그리고 제3 인자는 홀드백 퍼센티지다. 총 수익 금액은 제1 기간에 할당된 구독 수익일 수 있다. 예컨대, 구독 수익이 30일 구독에 대한 가상 화폐 30단위인 경우, 각 24시간 기간(일)에는 가상 화폐 1단위의 총 수익 금액이 할당될 수 있다. 다른 예시에서, 구독 수익은 사용 중인 구독 패키지에 기초하여, 사용자당 동일할 수 있다 (예컨대, 월 $5, $10 또는 $20). 해당 구독자 가치의 비율이 결정되고, 이를 지불금에 적용할 수 있다. 예컨대, 사용자가 28일 기간에 걸쳐 1시간 동안 게임 A에서 30분, 게임 B에서 30분을 플레이하는 경우, 해당 두 게임(또는 해당 두 게임의 개발자)은 각각 지불금의 50%를 받을 것이다. 프로세싱은 508로 계속된다.At 506, an initial payout for the first period is calculated. For example, the calculation may include calculating an initial payout for each of the one or more games based at least in part on a percentage of the duration of game play for each game. In some implementations, calculating the initial payout includes multiplying the total revenue amount by one or more of a first factor, a second factor, and a third factor, wherein the first factor is a percentage of game play during the first period, the second factor is a commission factor, and the third factor is a holdback percentage. The total revenue amount may be subscription revenue allocated to the first period. For example, if the subscription revenue is 30 units of virtual currency for a 30-day subscription, each 24-hour period (day) may be allocated a total revenue amount of 1 unit of virtual currency. In another example, the subscription revenue may be the same per user based on the subscription package in use (e.g., $5, $10, or $20 per month). A percentage of the subscriber value may be determined and applied to the payout. For example, if a user plays 30 minutes of Game A and 30 minutes of Game B over a 28-day period, both games (or the developers of both games) will each receive 50% of the payout. Processing continues with 508.

508에서, 하나 이상의 게임 각각에 대한 초기 지불금이 제2 기간에 걸쳐 합계 지불금으로 합산된다. 제2 기간은 제1 기간보다 클 수 있다. 예컨대, 제2 기간은 30일의 기간을 포함할 수 있다. 일부 구현에서, 게임 플랫폼의 복수의 사용자 계정으로부터 하나 이상의 게임 각각에 대한 합계 지불금이 합산될 수 있다. 프로세싱은 510으로 계속된다.At 508, the initial payouts for each of the one or more games are aggregated into a total payout over a second period. The second period may be longer than the first period. For example, the second period may comprise a period of 30 days. In some implementations, the total payouts for each of the one or more games may be aggregated from multiple user accounts of the gaming platform. Processing continues at 510.

510에서, 수입 프리뷰 그래프(또는 다른 사용자 인터페이스)가 선택적으로 생성된다. 예컨대, 수입 프리뷰 그래프는 제2 기간에 걸쳐 각 게임에 의해 누적된 수입을 나타낼 수 있다. 수입 프리뷰 그래프는 각 게임의 개발자와 연관된 게임 개발자 장치의 전자 디스플레이 상의 사용자 인터페이스에 디스플레이되도록 할 수 있다. 예컨대, 수입 프리뷰 그래프는 게임 플랫폼의 사용자를 구독하는 게임 개발자의 총 수입을 (게임당 기준으로 또는 게임 플랫폼에서 게임 개발자에 의해 제공된 복수의 게임에 걸쳐) X축에는 시간(예컨대, 월의 일)을 Y축에는 수입(예컨대, 가상 화폐 또는 실제 화폐)를 갖는 그래프로 나타낼 수 있다. 일부 구현에서, 수입 프리뷰 그래프는 예컨대, 개발자의 게임으로부터의 과거 수입에 기초하여, 게임 플랫폼의 전반적인 게임플레이 패턴에 기초하여, 게임 플랫폼의 구독하는 사용자 수의 변화에 기초하여(예컨대, 게임 플랫폼의 전월 또는 다른 기간) 등, 추정된 미래 수익을 나타낼 수 있다. 예컨대, 게임 플랫폼 구독자가 과거 기간에서 현재 기간으로 두 배로 증가하고 게임 개발자로부터 게임에서 유사한 양의 시간을 소비하는 경우, 수익 예측은 전월의 2배로 도시될 수 있다. 프로세싱은 512로 계속된다.At 510, a revenue preview graph (or other user interface) is optionally generated. For example, the revenue preview graph may represent cumulative revenue by each game over a second time period. The revenue preview graph may be displayed on a user interface on an electronic display of a game developer device associated with the developer of each game. For example, the revenue preview graph may represent the total revenue of the game developer subscribing users of the game platform (either on a per-game basis or across multiple games offered by the game developer on the game platform) as a graph with time (e.g., day of month) on the X-axis and revenue (e.g., virtual currency or real currency) on the Y-axis. In some implementations, the revenue preview graph may represent estimated future revenue, such as based on past revenue from the developer's games, based on overall gameplay patterns of the game platform, based on changes in the number of subscribing users of the game platform (e.g., over the previous month or other time period of the game platform), etc. For example, if a game platform's subscribers doubled from the past period to the current period and the game developer spends a similar amount of time in the game, the revenue forecast could be shown to be double that of the previous month. Processing continues with 512.

512에서, 사기 탐지 신호가 수신된다. 사기 탐지 신호는 지불 제공자가 사기 가시성을 제공하는지 여부의 표시를 갖는 지불 사기 탐지 신호를 포함할 수 있다. 지불 사기 탐지 신호는 전자 구독 수익 배당 지불 금액을 조정하는 데 사용할 수 있다. 사기 가시성이 있는 지불 제공자의 지불은 더 신뢰할 수 있는 것으로 (또는 적어도 더 검증 가능한 것으로) 간주될 수 있으며, 조정이 덜 적용된다. 사기 가시성을 제공하지 않는 제공자로부터의 지불은 덜 신뢰할 수 있는 것으로 간주될 수 있으며, 사기 가시성 정보를 제공하는 제공자의 지불보다 더 많은 조정 또는 감소가 적용될 수 있다. 일부 지불 제공자는 사기 가시성을 제공하지 않는다. 일부 구현에서, 사기 가시성을 포함하지 않는 제공자로부터의 지불은 개발자에 대한 지불에 포함되지 않을 수 있다. 일부 구현에서, 모델은 지불 제공자로부터 사기 가시성이 제공되지 않는 경우에도, 사용자에 대한 시간 및 지불금을 예측할 수 있다.At 512, a fraud detection signal is received. The fraud detection signal may include a payment fraud detection signal having an indication of whether the payment provider provides fraud visibility. The payment fraud detection signal may be used to adjust the amount of the electronic subscription revenue dividend payment. Payments from a payment provider with fraud visibility may be considered more trustworthy (or at least more verifiable) and subject to less adjustment. Payments from a provider that does not provide fraud visibility may be considered less trustworthy and subject to more adjustments or reductions than payments from a provider that does provide fraud visibility information. Some payment providers do not provide fraud visibility. In some implementations, payments from a provider that does not include fraud visibility may not be included in payments to the developer. In some implementations, the model may be able to predict time and payment amounts to a user even if fraud visibility is not provided by the payment provider.

사기 탐지 신호는 또한 게임 플레이 사기의 표시를 포함할 수 있다. 일부 구현에서, 시스템은 사용자가 실제로 특정 게임을 플레이하도록 프로그래밍된 봇이라고 결정할 수 있다. 지불금 시스템은 이러한 유형의 봇팅(botting)을 경제적으로 불가능하게 만드는 방식으로 배열될 수 있다. 게임 플레이 사기 신호는 게임 플레이 지속시간의 비율을 조정하는 데 사용될 수 있다. 예컨대, 게임 플레이 사기가 게임 플레이 사기 탐지 신호에 기초하여 존재하는 것으로 결정된 임의의 기간에 대해, 그 기간은 비율 계산 전에 주어진 게임에 대한 총 게임 플레이 지속시간에서 공제될 수 있다. 게임 플레이 사기의 표시에 기초하는 조정은 차례로 전자 구독 수익 배당 지불에 변경을 일으킬 수 있다.The fraud detection signal may also include an indication of gameplay fraud. In some implementations, the system may determine that a user is actually a bot programmed to play a particular game. The payout system may be arranged in a way that makes this type of botting economically infeasible. The gameplay fraud signal may be used to adjust a percentage of the gameplay duration. For example, for any period of time during which gameplay fraud is determined to exist based on the gameplay fraud detection signal, that period may be deducted from the total gameplay duration for the given game prior to calculating the percentage. An adjustment based on an indication of gameplay fraud may in turn result in a change in the electronic subscription revenue dividend payment.

일부 구현에서, 각 게임에 대한 사기 탐지는 게임에서 사용자 계정에 의한 게임플레이를 분석하고 게임플레이를 기준선과 비교하는 것에 기초하여 수행된다. 일부 구현에서, 게임플레이 활동은 클러스터링될 수 있고(예컨대, 진정한 활동 클러스터 및 사기성 활동 클러스터로) 시스템은 게임플레이 활동이 진정한 활동 클러스터로부터 임계 거리 내에 있는지 여부를 결정할 수 있다. 일부 구현에서, 사기성 활동은 사용자별 게임 참여 분포를 분석하고 프로그래밍 방식으로 이상점(outlier)을 찾는 것에 의해 결정되고, 실제 활동과 구별될 수 있다. 시스템은 또한 참여가 프로그래밍적이라는 반복적인 동작이나 신호(예컨대, 5초마다 이동)를 프로그래밍 방식으로 검색하도록 구성할 수 있다. 프로세싱은 514로 계속된다.In some implementations, fraud detection for each game is performed based on analyzing gameplay by user accounts in the game and comparing the gameplay to a baseline. In some implementations, gameplay activity can be clustered (e.g., into clusters of true activity and clusters of fraudulent activity) and the system can determine whether gameplay activity is within a threshold distance from a cluster of true activity. In some implementations, fraudulent activity is determined by analyzing the distribution of game engagement by user and programmatically finding outliers, and can be distinguished from true activity. The system can also be configured to programmatically look for repetitive behaviors or signals (e.g., moving every 5 seconds) that indicate that engagement is programmatic. Processing continues at 514.

514에서, 사기 탐지 신호에 사기 표시를 갖는 하나 이상의 게임 각각에 대한 합계 지불금이 조정된다. 예컨대, 조정은 제3 기간 후에 수행될 수 있다. 제3 기간은 제1 또는 제2 기간보다 길 수 있다. 일부 구현에서, 지불금은 가상 화폐(예컨대, robux)로 이루어진다. 지불 파트너가 주어진 사용자에 대한 지불 금액을 실제로 환불하겠다고 표시한 경우, 조정이 지불 거절에 대해 명시적으로 이루어질 수 있다. 결과적으로, 해당 사용자에 대해, 시스템 운영자가 해당 사용자의 구독에 대해 지불하지 않은 비용을 지불하지 않았기 때문에 시스템은 지불금을 0으로 계산할 수 있다. 일부 구현에서, 제3 기간은 약 56일일 수 있다. 프로세싱은 516으로 계속된다.At 514, the aggregate payout for each of the one or more games having a fraud indication in the fraud detection signal is adjusted. For example, the adjustment may be performed after a third period. The third period may be longer than the first or second periods. In some implementations, the payout is in virtual currency (e.g., robux). The adjustment may be made explicitly for a chargeback if the payment partner has indicated that it will actually refund the payment amount for a given user. As a result, the system may calculate the payout as zero for that user because the system operator has not paid any unpaid fees for that user's subscription. In some implementations, the third period may be about 56 days. Processing continues at 516.

516에서, 전자 지불은 하나 이상의 게임 각각에 대응하는 개발자 계정으로 송신되고, 여기에서 전자 지불은 하나 이상의 게임의 각 개별 게임에 대한 조정된 합계 지불금에 기초한다. 일부 구현에서, 전자 지불은 가상 화폐 지불을 포함할 수 있다. 예컨대, 지불은 제1 기간(예컨대, 한 달)이 종료된 후, 특정 시간, 예컨대 25일에 이체될 수 있다. 일부 구현에서, 지불은 가상 화폐(예컨대, robux)로 이루어질 수 있다. 다른 구현에서, 지불금은 현실 세계 명목 화폐(fiat money)로 이루어질 수 있다. 일부 구현에서, 지불은 매일 또는 심지어 연속적으로 발생할 수도 있다. 전형적으로 시스템이 지불 거절된 구매를 수용할 수 있도록 허용하는 지연이 있다.At 516, an electronic payment is sent to a developer account corresponding to each of the one or more games, where the electronic payment is based on an adjusted aggregate payment amount for each individual game of the one or more games. In some implementations, the electronic payment may include a virtual currency payment. For example, the payment may be transferred at a specific time, such as the 25th day, after the end of a first period, such as a month. In some implementations, the payment may be made in virtual currency (e.g., robux). In other implementations, the payment may be made in real-world fiat money. In some implementations, the payment may occur daily or even continuously. Typically, there is a delay that allows the system to accommodate declined purchases.

도 6: 예시 컴퓨팅 장치Figure 6: Example computing device

도 6은 여기에서 설명된 하나 이상의 특징을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 장치(600)의 블록도이다. 도 1의 클라이언트 장치(110 및 116) 및/또는 게임 플랫폼(102)은 도 6의 컴퓨팅 장치(600)의 형태로 제공될 수 있다. 일 예시에서, 장치(600)는 컴퓨터 장치(예컨대, 도 1의 102, 110 및/또는 116)를 구현하고, 여기에서 설명된 적절한 방법 구현을 수행하는 데 사용될 수 있다. 컴퓨팅 장치(600)는 임의의 적합한 컴퓨터 시스템, 서버, 또는 다른 전자 또는 하드웨어 장치일 수 있다. 예컨대, 컴퓨팅 장치(600)는 메인프레임 컴퓨터, 데스크탑 컴퓨터, 워크스테이션, 휴대용 컴퓨터, 또는 전자 장치(휴대용 장치, 모바일 장치, 휴대 전화, 스마트폰, 태블릿 컴퓨터, 텔레비전, TV 셋톱 박스, PDA(personal digital assistant), 미디어 플레이어, 게임 장치, 웨어러블 장치 등)일 수 있다. 일부 구현에서, 장치(600)는 프로세서(602), 메모리(604), 입력/출력(I/O) 인터페이스(606) 및 오디오/비디오 입력/출력 장치(614)를 포함한다.FIG. 6 is a block diagram of an exemplary computing device (600) that may be used to implement one or more of the features described herein. The client devices (110 and 116) and/or the gaming platform (102) of FIG. 1 may be provided in the form of the computing device (600) of FIG. 6. In one example, the device (600) may implement a computing device (e.g., 102, 110, and/or 116 of FIG. 1) and may be used to perform suitable method implementations described herein. The computing device (600) may be any suitable computer system, server, or other electronic or hardware device. For example, the computing device (600) may be a mainframe computer, a desktop computer, a workstation, a portable computer, or an electronic device (such as a handheld device, a mobile device, a cellular telephone, a smart phone, a tablet computer, a television, a TV set-top box, a personal digital assistant (PDA), a media player, a gaming device, a wearable device, etc.). In some implementations, the device (600) includes a processor (602), memory (604), an input/output (I/O) interface (606), and an audio/video input/output device (614).

프로세서(602)는 프로그램 코드를 실행하고, 장치(600)의 기본 동작을 제어하기 위한 하나 이상의 프로세서 및/또는 프로세싱 회로일 수 있다. "프로세서"는 데이터, 신호 또는 기타 정보를 프로세싱하는 임의의 적합한 하드웨어 및/또는 소프트웨어 시스템, 메커니즘 또는 컴포넌트를 포함한다. 프로세서는 범용 CPU(central processing unit), 다중 프로세싱 유닛, 기능을 달성하기 위한 전용 회로(dedicated circuitry)를 갖는 시스템 또는 다른 시스템을 포함할 수 있다. 프로세싱은 특정 지리적 위치에 제한되거나, 시간적 제한이 있을 필요는 없다. 예컨대, 프로세서는 "실시간", "오프라인", "배치 모드(batch mode)" 등으로 그 기능을 수행할 수 있다. 프로세싱의 일부는 상이한(또는 동일한) 프로세싱 시스템에 의해, 상이한 시간 및 상이한 위치에서 수행될 수 있다. 컴퓨터는 메모리와 통신하는 임의의 프로세서일 수 있다.The processor (602) may be one or more processors and/or processing circuits for executing program code and controlling the basic operation of the device (600). A "processor" includes any suitable hardware and/or software system, mechanism, or component that processes data, signals, or other information. A processor may include a general-purpose central processing unit (CPU), a multiprocessing unit, a system having dedicated circuitry to accomplish the function, or other system. The processing need not be limited to a particular geographical location or limited in time. For example, a processor may perform its functions in "real time," "offline," "batch mode," etc. Portions of the processing may be performed by different (or the same) processing systems, at different times, and in different locations. A computer may be any processor in communication with a memory.

메모리(604)는 전형적으로 프로세서(602)에 의한 액세스를 위해 장치(600)에 제공되며, 프로세스에 의한 실행을 위한 명령어를 저장하는 데 적합하고 프로세서(602)와 분리되어 위치되고, 그리고/또는 그와 통합된 임의의 적합한 프로세서 판독가능 저장 매체, 예컨대, RAM(random access memory), ROM(read-only memory), EEPROM(electrical erasable read-only memory), 플래시 메모리 등일 수 있다. 메모리(604)는 프로세서(602)에 의해 서버 장치(600) 상에서 동작하는 소프트웨어를 저장할 수 있고, 운영 체제(608), 하나 이상의 애플리케이션(610), 예컨대, 구독 애플리케이션 및 애플리케이션 데이터(612)를 포함한다. 일부 구현에서, 애플리케이션(610)은 프로세서(602)가 여기에서 설명된 기능, 예컨대, 도 3 또는 5의 방법의 일부 또는 전부 또는 여기에서 설명된 예시 구현 중 하나를 수행하도록 하는 명령어를 포함할 수 있다.Memory (604) is typically provided in the device (600) for access by the processor (602) and may be any suitable processor-readable storage medium, such as random access memory (RAM), read-only memory (ROM), electrically erasable read-only memory (EEPROM), flash memory, etc., that is suitable for storing instructions for execution by the processor and is located separately from, and/or integral with, the processor (602). Memory (604) may store software that is executed on the server device (600) by the processor (602), including an operating system (608), one or more applications (610), such as a subscription application, and application data (612). In some implementations, the applications (610) may include instructions that cause the processor (602) to perform any or all of the functions described herein, such as any or all of the methods of FIGS. 3 or 5 or any of the example implementations described herein.

메모리(604)에서 소프트웨어 중 임의의 것은 대안적으로 임의의 다른 적합한 저장 위치 또는 컴퓨터 판독가능 매체에 저장될 수 있다. 또한, 메모리(604)(및/또는 다른 연결된 저장 장치(들))는 여기에서 설명된 특징에 사용된 명령어 및 데이터를 저장할 수 있다. 메모리(604) 및 임의의 다른 유형의 스토리지(자기 디스크, 광 디스크, 자기 테이프 또는 기타 실감 매체(tangible media))는 "스토리지" 또는 "저장 장치"로 간주될 수 있다.Any of the software in memory (604) may alternatively be stored in any other suitable storage location or computer-readable medium. Additionally, memory (604) (and/or other associated storage device(s)) may store instructions and data used in the features described herein. Memory (604) and any other type of storage (such as magnetic disks, optical disks, magnetic tape, or other tangible media) may be considered “storage” or “storage devices.”

I/O 인터페이스(606)는 서버 장치(600)를 다른 시스템 및 장치와 인터페이스할 수 있도록 하는 기능을 제공할 수 있다. 예컨대, 네트워크 통신 장치, 저장 장치(예컨대, 메모리 및/또는 데이터 저장소(108)) 및 입력/출력 장치는 인터페이스(606)를 통해 통신할 수 있다. 일부 구현에서, I/O 인터페이스는 입력 장치(키보드, 포인팅 장치, 터치스크린, 마이크, 카메라, 스캐너 등) 및/또는 출력 장치(디스플레이 장치, 스피커 장치, 프린터, 모터 등)를 포함하는 인터페이스 장치에 연결될 수 있다.The I/O interface (606) may provide functionality to interface the server device (600) with other systems and devices. For example, network communication devices, storage devices (e.g., memory and/or data storage (108)), and input/output devices may communicate via the interface (606). In some implementations, the I/O interface may be connected to interface devices including input devices (e.g., a keyboard, pointing device, touchscreen, microphone, camera, scanner, etc.) and/or output devices (e.g., a display device, speaker device, printer, motor, etc.).

오디오/비디오 입력/출력 장치(614)는 오디오 메시지를 입력으로 수신하는 데 사용할 수 있는 오디오 입력 장치(예컨대, 마이크 등), 오디오 출력 장치(예컨대, 스피커, 헤드폰 등) 및/또는 도 2의 사용자 인터페이스와 같은 그래픽 및 시각적 출력을 제공하는 데 사용될 수 있는 디스플레이 장치를 포함할 수 있다.The audio/video input/output devices (614) may include an audio input device (e.g., a microphone, etc.) that can be used to receive audio messages as input, an audio output device (e.g., speakers, headphones, etc.), and/or a display device that can be used to provide graphical and visual output, such as the user interface of FIG. 2.

설명의 편의를 위해, 도 6은 프로세서(602), 메모리(604), I/O 인터페이스(606) 및 소프트웨어 블록(608 및 610) 각각에 대해 하나의 블록을 도시한다. 이들 블록은 하나 이상의 프로세서 또는 프로세싱 회로, 운영 체제, 메모리, I/O 인터페이스, 애플리케이션 및/또는 소프트웨어 모듈을 표현할 수 있다. 다른 구현에서, 장치(600)는 도시된 컴포넌트들 모두를 갖지 않을 수 있고, 그리고/또는 여기에서 도시된 것들 대신에 또는 이에 추가하여 다른 유형의 요소를 포함하는 다른 요소를 가질 수 있다. 온라인 게임 플랫폼(102)은 여기에서 일부 구현에 설명된 바와 같이 동작을 수행하는 것으로 설명되지만, 온라인 게임 플랫폼(102) 또는 유사한 시스템의 임의의 적합한 컴포넌트 또는 컴포넌트의 조합, 또는 이러한 시스템과 연관된 임의의 적합한 프로세서 또는 프로세서들이 설명된 동작을 수행할 수 있다.For convenience of illustration, FIG. 6 illustrates one block each of the processor (602), the memory (604), the I/O interface (606), and the software blocks (608 and 610). These blocks may represent one or more processors or processing circuits, an operating system, memory, an I/O interface, an application, and/or software modules. In other implementations, the device (600) may not have all of the components illustrated, and/or may have other elements that include other types of elements instead of or in addition to those illustrated herein. Although the online gaming platform (102) is described as performing the operations described herein, any suitable component or combination of components of the online gaming platform (102) or a similar system, or any suitable processor or processors associated with such a system, may perform the operations described.

사용자 (또는 클라이언트) 장치는 또한 여기에서 설명된 특징을 구현 및/또는 사용할 수 있다. 예시적인 사용자 장치는 장치(600)와 일부 유사한 컴포넌트, 예컨대, 프로세서(들)(602), 메모리(604) 및 I/O 인터페이스(606)를 포함하는 컴퓨터 장치일 수 있다. 클라이언트 장치에 적합한 운영 체제, 소프트웨어 및 애플리케이션은 메모리에 제공되고, 프로세서에 의해 사용될 수 있다. 클라이언트 장치를 위한 I/O 인터페이스는 네트워크 통신 장치뿐만 아니라, 입력 및 출력 장치, 예컨대, 사운드를 캡처하기 위한 마이크, 이미지 또는 비디오를 캡처하기 위한 카메라, 소리를 출력하기 위한 오디오 스피커 장치, 이미지 또는 비디오를 출력하기 위한 디스플레이 장치, 또는 기타 출력 장치에 연결될 수 있다. 예컨대, 오디오/비디오 입력/출력 장치(614) 내의 디스플레이 장치는 장치(600)에 연결(또는 포함)되어, 여기에서 설명된 바와 같은 이미지 전처리 및 후처리(images pre- and post-processing)를 디스플레이할 수 있으며, 여기에서 이러한 디스플레이 장치는 임의의 적합한 디스플레이 장치, 예컨대, LCD, LED 또는 플라즈마 디스플레이 스크린, CRT, 텔레비전, 모니터, 터치스크린, 3D 디스플레이 스크린, 프로젝터, 또는 기타 시각적 디스플레이 장치를 포함할 수 있다. 일부 구현은 오디오 출력 장치, 예컨대, 텍스트를 말하는 음성 출력 또는 합성을 제공할 수 있다.A user (or client) device may also implement and/or utilize the features described herein. An exemplary user device may be a computer device including some similar components to the device (600), such as a processor(s) (602), a memory (604), and an I/O interface (606). An operating system, software, and applications suitable for the client device may be provided in the memory and utilized by the processor. The I/O interface for the client device may be coupled to network communication devices, as well as input and output devices, such as a microphone for capturing sound, a camera for capturing images or video, an audio speaker device for outputting sound, a display device for outputting images or video, or other output devices. For example, a display device within the audio/video input/output device (614) may be connected to (or included in) the device (600) to display images pre- and post-processing as described herein, wherein the display device may include any suitable display device, such as an LCD, LED or plasma display screen, CRT, television, monitor, touchscreen, 3D display screen, projector, or other visual display device. Some implementations may provide an audio output device, such as a voice output or synthesis of spoken text.

여기에서 설명된 하나 이상의 방법(예컨대, 방법(300 또는 500)의 하나 이상의 단계)은 컴퓨터에서 실행될 수 있는 컴퓨터 프로그램 명령어 또는 코드에 의해 구현될 수 있다. 예컨대, 코드는 하나 이상의 디지털 프로세서(예컨대, 마이크로프로세서 또는 다른 프로세싱 회로)에 의해 구현될 수 있고, 비일시적 컴퓨터 판독가능 매체(예컨대, 저장 매체), 예컨대, 반도체 또는 솔리드 스테이트 메모리를 포함하는, 자기, 광학, 전자기 또는 반도체 저장 매체, 자기 테이프, 이동식 컴퓨터 디스켓(removable computer diskette), RAM(random access memory), ROM(read-only memory), 플래시 메모리, 강자성 디스크(rigid magnetic disk), 광 디스크, 솔리드 스테이트 메모리 드라이브 등을 포함하는, 컴퓨터 프로그램 제품에 저장될 수 있다. 프로그램 명령어는 예컨대, 서버(예컨대, 분산 시스템 및/또는 클라우드 컴퓨팅 시스템)로부터 전달되는 SaaS(software as a service)의 형태에서, 전자 신호에 포함되고, 제공될 수도 있다. 대안적으로, 하나 이상의 방법은 하드웨어(논리 게이트 등), 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 예시적인 하드웨어는 프로그래밍 가능한 프로세서(예컨대, FPGA(field-programmable gate array), 복합 프로그래밍 가능 논리 소자(complex programmable logic device)), 범용 프로세서, 그래픽 프로세서, ASIC(application specific integrated circuit) 등일 수 있다. 하나 이상의 방법은 시스템에서 실행되는 애플리케이션의 일부 또는 컴포넌트, 또는 다른 애플리케이션 및 운영 체제와 함께 실행되는 애플리케이션 또는 소프트웨어로 수행될 수 있다.One or more of the methods described herein (e.g., one or more of the steps of method (300 or 500)) can be implemented by computer program instructions or code that can be executed on a computer. For example, the code can be implemented by one or more digital processors (e.g., a microprocessor or other processing circuitry) and stored in a computer program product, including a non-transitory computer-readable medium (e.g., a storage medium), such as a magnetic, optical, electromagnetic or semiconductor storage medium including semiconductor or solid-state memory, a magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), flash memory, a rigid magnetic disk, an optical disk, a solid-state memory drive, and the like. The program instructions can also be included in an electronic signal, provided, for example, in the form of software as a service (SaaS) delivered from a server (e.g., a distributed system and/or a cloud computing system). Alternatively, one or more of the methods may be implemented in hardware (e.g., logic gates), or a combination of hardware and software. Exemplary hardware may be a programmable processor (e.g., a field-programmable gate array (FPGA), a complex programmable logic device (complex programmable logic device)), a general-purpose processor, a graphics processor, an application specific integrated circuit (ASIC), etc. One or more of the methods may be performed as part or a component of an application running on a system, or as an application or software running together with other applications and an operating system.

여기에서 설명된 하나 이상의 방법은 임의의 유형의 컴퓨팅 장치에서 실행될 수 있는 자립형 프로그램(standalone program), 웹 브라우저에서 실행되는 프로그램, 모바일 컴퓨팅 장치(예컨대, 휴대폰, 스마트폰, 태블릿 컴퓨터, 웨어러블 장치(손목시계, 암 밴드, 보석, 모자, 고글, 안경 등), 랩톱 컴퓨터 등)에서 실행되는 모바일 애플리케이션("앱")에서 실행될 수 있다. 일 예시에서, 클라이언트/서버 아키텍처가 사용될 수 있으며, 예컨대, (클라이언트 장치로서) 모바일 컴퓨팅 장치는 사용자 입력 데이터를 서버 장치로 전송하고, 서버로부터 출력을 위한(예컨대, 디스플레이를 위한) 최종 출력 데이터를 수신한다. 다른 예시에서, 모든 계산은 모바일 컴퓨팅 장치의 모바일 앱(및/또는 다른 앱) 내에서 수행될 수 있다. 다른 예시에서, 계산은 모바일 컴퓨팅 장치와 하나 이상의 서버 장치 사이에서 분할될 수 있다.One or more of the methods described herein may be implemented as standalone programs that run on any type of computing device, as programs that run in a web browser, as mobile applications (“apps”) that run on mobile computing devices (e.g., cell phones, smart phones, tablet computers, wearable devices (e.g., wristwatches, arm bands, jewelry, hats, goggles, glasses, etc.), laptop computers, etc.). In one example, a client/server architecture may be used, such that the mobile computing device (as a client device) transmits user input data to a server device and receives final output data from the server for output (e.g., for display). In another example, all of the computations may be performed within the mobile app (and/or other apps) of the mobile computing device. In another example, the computations may be split between the mobile computing device and one or more server devices.

설명이 그 특정 구현과 관련하여 설명되었지만, 이러한 특정 구현은 단지 예시적이며 제한적이지 않는다. 예시에 설명된 개념은 다른 예시 및 구현에 적용될 수 있다.Although the description has been described with respect to that particular implementation, that particular implementation is merely illustrative and not limiting. The concepts described in the example may be applied to other examples and implementations.

본 개시에 설명된 기능 블록, 동작, 특징, 방법, 장치 및 시스템은 당업자에게 알려진 바와 같이 시스템, 장치 및 기능 블록의 상이한 조합으로 통합되거나 분할될 수 있음에 유의한다. 임의의 적합한 프로그래밍 언어 및 프로그래밍 기법이 특정 구현의 루틴을 구현하는 데 사용될 수 있다. 상이한 프로그래밍 기법, 예컨대, 절차적 또는 객체 지향(procedural or object-oriented)이 사용될 수 있다. 루틴은 단일 프로세싱 장치 또는 다중 프로세서에서 실행할 수 있다. 단계, 동작 또는 계산이 특정 순서로 제시될 수 있지만, 순서는 상이한 특정 구현에서 변경될 수 있다. 일부 구현에서, 본 명세서에서 순차적으로 도시된 다수의 단계 또는 동작은 동시에 수행될 수 있다. It is noted that the functional blocks, operations, features, methods, devices and systems described in the present disclosure may be integrated or split into different combinations of systems, devices and functional blocks, as would be known to those skilled in the art. Any suitable programming language and programming technique may be used to implement the routines of a particular implementation. Different programming techniques, for example, procedural or object-oriented, may be used. The routines may be executed on a single processing device or on multiple processors. Although the steps, operations or calculations may be presented in a particular order, the order may vary in different particular implementations. In some implementations, a number of steps or operations depicted herein as being sequential may be performed concurrently.

Claims (20)

컴퓨터 구현된 방법으로서,
게임 플랫폼 상의 사용자 계정과 연관된 사용자 세션의 전자 로그에 액세스하는 단계 - 상기 사용자 세션은 상기 게임 플랫폼 상에 호스팅된 하나 이상의 게임에 대한 것이고, 상기 하나 이상의 게임의 각 게임은 개별 게임 개발자와 연관되며, 그리고 상기 전자 로그는 하나 이상의 게임의 리스트 및 제1 기간 동안 상기 하나 이상의 게임 각각에 대한 플레이 지속시간을 포함함 -;
상기 제1 기간 동안 상기 하나 이상의 게임 각각에 대한 게임 플레이 지속시간의 비율을 결정하는 단계;
상기 하나 이상의 게임 각각에 대해, 상기 게임 플레이 지속시간의 비율에 적어도 부분적으로 기초하여, 상기 제1 기간에 대한 초기 지불금을 계산하는 단계;
상기 하나 이상의 게임 각각에 대한 상기 초기 지불금을 제2 기간에 걸쳐 합계 지불금으로 합산하는 단계 - 상기 제2 기간은 상기 제1 기간보다 큼 -;
상기 사용자 계정과 연관된 사기 탐지 신호를 수신하는 단계;
상기 사기 탐지 신호에서 사기 표시를 갖는 상기 하나 이상의 게임 각각에 대한 상기 합계 지불금을 조정하는 단계 - 상기 조정하는 단계는 제3 기간 후에 수행되며, 상기 제3 기간은 상기 제2 기간보다 큼 -; 및
상기 조정하는 단계 이후, 상기 하나 이상의 게임 각각에 대한 상기 개별 게임 개발자의 개발자 계정으로 전자 지불을 송신하는 단계
를 포함하고,
상기 전자 지불은 상기 하나 이상의 게임의 각 개별 게임에 대한 상기 합계 지불금에 기초하는 것인, 컴퓨터 구현된 방법.
As a computer implemented method,
A step of accessing an electronic log of a user session associated with a user account on a gaming platform, wherein the user session is for one or more games hosted on the gaming platform, each game of the one or more games being associated with an individual game developer, and wherein the electronic log comprises a list of the one or more games and a play duration for each of the one or more games during a first period;
A step of determining a ratio of game play duration for each of said one or more games during said first period;
For each of said one or more games, calculating an initial payout for said first period based at least in part on a percentage of said game play duration;
a step of summing said initial payout for each of said one or more games into a total payout over a second period, said second period being greater than said first period;
A step of receiving a fraud detection signal associated with said user account;
adjusting said aggregate payout for each of said one or more games having a fraud indication in said fraud detection signal, wherein said adjusting step is performed after a third period, said third period being greater than said second period; and
After the above adjusting step, a step of sending an electronic payment to the developer account of the individual game developer for each of the one or more games.
Including,
A computer-implemented method wherein said electronic payment is based on said aggregate payout for each individual game of said one or more games.
제1항에 있어서,
상기 제1 기간은 24시간인 것인, 컴퓨터 구현된 방법.
In the first paragraph,
A computer-implemented method, wherein the first period is 24 hours.
제1항에 있어서,
상기 액세스하는 단계는 상기 게임 플랫폼의 구독자 계정인 상기 사용자 계정의 상기 사용자 세션에 대한 로그에 액세스하는 단계를 포함하는, 컴퓨터 구현된 방법.
In the first paragraph,
A computer-implemented method, wherein said accessing step comprises accessing a log for said user session of said user account, which is a subscriber account of said gaming platform.
제1항에 있어서,
상기 초기 지불금을 계산하는 단계는 총 수익 금액에 제1 인자, 제2 인자 및 제3 인자 중 하나 이상을 곱하는 단계를 포함하고,
상기 제1 인자는 상기 제1 기간 동안의 게임 플레이의 비율이고, 상기 제2 인자는 수수료 인자(commission factor)이고, 그리고 상기 제3 인자는 홀드백 퍼센티지(holdback percentage)인 것인, 컴퓨터 구현된 방법.
In the first paragraph,
The step of calculating the initial payment comprises the step of multiplying the total revenue amount by at least one of the first factor, the second factor and the third factor,
A computer implemented method, wherein the first factor is a percentage of game play during the first period, the second factor is a commission factor, and the third factor is a holdback percentage.
제1항에 있어서,
상기 사기 탐지 신호를 수신하는 단계는 사기 가시성(fraud visibility)을 갖는 지불 제공자 시스템으로부터 상기 사기 탐지 신호를 수신하는 단계를 포함하는, 컴퓨터 구현된 방법.
In the first paragraph,
A computer-implemented method, wherein the step of receiving the fraud detection signal comprises receiving the fraud detection signal from a payment provider system having fraud visibility.
제1항에 있어서,
상기 합계 지불금을 조정하는 단계는 사기 가시성을 갖지 않는 지불 제공자로부터 수신된 수익에 기초하여 상기 합계 지불금을 감소시키는 단계를 포함하는, 컴퓨터 구현된 방법.
In the first paragraph,
A computer-implemented method wherein the step of adjusting the aggregate payout comprises the step of reducing the aggregate payout based on revenues received from payment providers that do not have fraud visibility.
제1항에 있어서,
상기 전자 지불을 송신하는 단계는 가상 화폐 지불을 상기 개발자 계정으로 전송하는 단계를 포함하는, 컴퓨터 구현된 방법.
In the first paragraph,
A computer-implemented method, wherein the step of transmitting the electronic payment comprises the step of transmitting a virtual currency payment to the developer account.
제1항에 있어서,
상기 게임 플랫폼의 복수의 사용자 계정으로부터 상기 하나 이상의 게임 각각에 대한 상기 합계 지불금을 결합하는 단계;
상기 하나 이상의 게임 각각에 대한 수입 프리뷰 그래프(earnings preview graph)를 생성하는 단계 - 상기 수입 프리뷰 그래프는 상기 제2 기간에 걸쳐 각 게임에 의해 누적된 수입을 나타냄 -; 및
상기 수입 프리뷰 그래프가 상기 각 게임의 상기 게임 개발자와 연관된 게임 개발자 장치의 전자 디스플레이 상의 사용자 인터페이스에 디스플레이되도록 하는 단계
를 더 포함하는 컴퓨터 구현된 방법.
In the first paragraph,
A step of combining said aggregate payment for each of said one or more games from a plurality of user accounts of said gaming platform;
generating an earnings preview graph for each of said one or more games, said earnings preview graph representing earnings accumulated by each game over said second period; and
A step for causing the above revenue preview graph to be displayed on a user interface on an electronic display of a game developer device associated with the game developer of each of the above games.
A computer implemented method further comprising:
제1항에 있어서,
상기 게임에서 상기 사용자 계정에 의한 게임플레이를 분석함으로써 각각의 게임에 대해 사기 탐지를 수행하는 단계 및 상기 게임플레이가 기준선(baseline)에서 벗어나는지 여부를 결정하는 단계를 더 포함하는, 컴퓨터 구현된 방법.
In the first paragraph,
A computer-implemented method further comprising the steps of performing fraud detection for each game by analyzing gameplay by the user account in the game and determining whether the gameplay deviates from a baseline.
제1항에 있어서,
상기 사용자의 게임플레이 활동을 클러스터링하는 단계; 및
상기 게임플레이 활동이 실제 활동 클러스터로부터 임계 거리 내에 있는지 여부를 결정하는 단계
를 더 포함하는 컴퓨터 구현된 방법.
In the first paragraph,
a step of clustering the gameplay activities of said user; and
A step of determining whether the above gameplay activity is within a threshold distance from an actual activity cluster.
A computer implemented method further comprising:
전자 지불에서 사기 탐지를 수행하기 위한 장치로서,
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행될 때, 동작을 수행하도록 하는 저장된 명령어를 갖는, 상기 하나 이상의 프로세서에 결합된 메모리
를 포함하고, 상기 동작은:
게임 플랫폼 상의 사용자 계정과 연관된 사용자 세션의 전자 로그에 액세스하는 것 - 상기 사용자 세션은 상기 게임 플랫폼 상에 호스팅된 하나 이상의 게임에 대한 것이고, 상기 하나 이상의 게임의 각 게임은 개별 게임 개발자와 연관되며, 그리고 상기 전자 로그는 상기 하나 이상의 게임의 리스트 및 제1 기간 동안 상기 하나 이상의 게임 각각에 대한 플레이 지속시간을 포함함 -;
상기 제1 기간 동안 상기 하나 이상의 게임 각각에 대한 게임 플레이 지속시간의 비율을 결정하는 것;
상기 하나 이상의 게임 각각에 대해, 상기 게임 플레이 지속시간의 비율에 적어도 부분적으로 기초하여 상기 제1 기간에 대한 초기 지불금을 계산하는 것;
상기 하나 이상의 게임 각각에 대한 상기 초기 지불금을 제2 기간에 걸쳐 합계 지불금으로 합산하는 것 - 상기 제2 기간은 상기 제1 기간보다 큼 -;
상기 사용자 계정과 연관된 사기 탐지 신호를 수신하는 것;
상기 사기 탐지 신호에서 사기 표시를 갖는 상기 하나 이상의 게임 각각에 대한 상기 합계 지불금을 조정하는 것 - 상기 조정하는 것은 제3 기간 후에 수행되며, 상기 제3 기간은 상기 제2 기간보다 큼 -; 및
상기 조정하는 것 이후, 상기 하나 이상의 게임 각각에 대한 상기 개별 게임 개발자의 개발자 계정으로 전자 지불을 송신하는 것
을 포함하고,
상기 전자 지불은 상기 하나 이상의 게임의 각 개별 게임에 대한 상기 합계 지불금에 기초하는 것인, 장치.
As a device for performing fraud detection in electronic payments,
one or more processors; and
A memory coupled to said one or more processors, said memory having stored instructions that, when executed by said one or more processors, cause an operation to be performed.
, wherein the actions include:
Accessing an electronic log of a user session associated with a user account on a gaming platform, wherein the user session is for one or more games hosted on the gaming platform, each game of the one or more games being associated with an individual game developer, and wherein the electronic log includes a list of the one or more games and a play duration for each of the one or more games during a first period;
Determining a percentage of game play duration for each of said one or more games during said first period;
For each of said one or more games, calculating an initial payout for said first period based at least in part on a percentage of said game play duration;
Summing said initial payout for each of said one or more games into a total payout over a second period, said second period being greater than said first period;
Receiving a fraud detection signal associated with said user account;
adjusting said aggregate payout for each of said one or more games having a fraud indication in said fraud detection signal, said adjusting being performed after a third period, said third period being greater than said second period; and
After making the above adjustments, sending an electronic payment to the developer account of said individual game developer for each of said one or more games.
Including,
A device wherein said electronic payment is based on said aggregate payout for each individual game of said one or more games.
제11항에 있어서,
상기 제1 기간은 24시간인 것인, 장치.
In Article 11,
A device wherein the first period is 24 hours.
제11항에 있어서,
상기 액세스하는 것은 상기 게임 플랫폼의 구독자 계정인 상기 사용자 계정의 상기 사용자 세션에 대한 로그에 액세스하는 것을 포함하는, 장치.
In Article 11,
A device wherein said accessing comprises accessing a log for said user session of said user account, which is a subscriber account of said gaming platform.
제11항에 있어서,
상기 초기 지불금을 계산하는 것은 총 수익 금액에 제1 인자, 제2 인자 및 제3 인자 중 하나 이상을 곱하는 것을 포함하고, 상기 제1 인자는 상기 제1 기간 동안의 게임 플레이의 비율이고, 상기 제2 인자는 수수료 인자이고, 그리고 상기 제3 인자는 홀드백 퍼센티지인 것인, 장치.
In Article 11,
A device wherein calculating said initial payout comprises multiplying the total revenue amount by at least one of a first factor, a second factor and a third factor, wherein the first factor is a percentage of game play during the first period, the second factor is a commission factor, and the third factor is a holdback percentage.
제11항에 있어서,
상기 사기 탐지 신호를 수신하는 것은 사기 가시성을 갖는 지불 제공자 시스템으로부터 상기 사기 탐지 신호를 수신하는 것을 포함하고,
상기 합계 지불금을 조정하는 것은 사기 가시성을 갖지 않는 지불 제공자로부터 수신된 수익에 기초하여 상기 합계 지불금을 감소시키는 것을 포함하는, 장치.
In Article 11,
Receiving said fraud detection signal comprises receiving said fraud detection signal from a payment provider system having fraud visibility;
The device wherein adjusting said aggregate payout comprises reducing said aggregate payout based on revenues received from payment providers that do not have fraud visibility.
제11항에 있어서,
상기 동작은:
상기 게임 플랫폼의 복수의 사용자 계정으로부터 상기 하나 이상의 게임 각각에 대한 상기 합계 지불금을 결합하는 것;
상기 하나 이상의 게임 각각에 대한 수입 프리뷰 그래프를 생성하는 것 -상기 수입 프리뷰 그래프는 상기 제2 기간에 걸쳐 각 개별 게임에 의해 누적된 수입을 나타냄 -; 및
상기 수입 프리뷰 그래프가 상기 각 게임의 개발자와 연관된 게임 개발자 장치의 전자 디스플레이 상의 사용자 인터페이스에 디스플레이되도록 하는 것을 더 포함하는, 장치.
In Article 11,
The above actions are:
Combining said aggregate payouts for each of said one or more games from multiple user accounts of said gaming platform;
generating a revenue preview graph for each of said one or more games, said revenue preview graph representing revenue accumulated by each individual game over said second period; and
A device further comprising causing said revenue preview graph to be displayed on a user interface on an electronic display of a game developer device associated with the developer of each said game.
프로세싱 장치에 의한 실행에 응답하여, 상기 프로세싱 장치로 하여금 동작을 수행하도록 하는 명령어를 갖는 비일시적 컴퓨터 판독가능 매체로서, 상기 동작은:
게임 플랫폼 상의 사용자 계정과 연관된 사용자 세션의 전자 로그에 액세스하는 것 - 상기 사용자 세션은 상기 게임 플랫폼 상에 호스팅된 하나 이상의 게임에 대한 것이고, 상기 하나 이상의 게임의 각 게임은 개별 게임 개발자와 연관되며, 그리고 상기 전자 로그는 상기 하나 이상의 게임의 리스트 및 제1 기간 동안 상기 하나 이상의 게임 각각에 대한 플레이 지속시간을 포함함 -;
상기 제1 기간 동안 상기 하나 이상의 게임 각각에 대한 게임 플레이 지속시간의 비율을 결정하는 것;
상기 하나 이상의 게임 각각에 대해, 상기 게임 플레이 지속시간의 비율에 적어도 부분적으로 기초하여 상기 제1 기간에 대한 초기 지불금을 계산하는 것;
상기 하나 이상의 게임 각각에 대한 상기 초기 지불금을 제2 기간에 걸쳐 합계 지불금으로 합산하는 것 - 상기 제2 기간은 상기 제1 기간보다 큼 -;
상기 사용자 계정과 연관된 사기 탐지 신호를 수신하는 것;
상기 사기 탐지 신호에서 사기 표시를 갖는 상기 하나 이상의 게임 각각에 대한 상기 합계 지불금을 조정하는 것 - 상기 조정하는 것은 제3 기간 후에 수행되며, 상기 제3 기간은 상기 제2 기간보다 큼 -, 및
상기 조정하는 것 이후, 상기 하나 이상의 게임 각각에 대한 상기 개별 게임 개발자의 개발자 계정으로 전자 지불을 송신하는 것
을 포함하고,
상기 전자 지불은 상기 하나 이상의 게임의 각 개별 게임에 대한 상기 합계 지불금에 기초하는 것인, 비일시적 컴퓨터 판독가능 매체.
A non-transitory computer-readable medium having instructions that, in response to execution by a processing device, cause the processing device to perform an action, the action comprising:
Accessing an electronic log of a user session associated with a user account on a gaming platform, wherein the user session is for one or more games hosted on the gaming platform, each game of the one or more games being associated with an individual game developer, and wherein the electronic log includes a list of the one or more games and a play duration for each of the one or more games during a first period;
Determining a percentage of game play duration for each of said one or more games during said first period;
For each of said one or more games, calculating an initial payout for said first period based at least in part on a percentage of said game play duration;
Summing said initial payout for each of said one or more games into a total payout over a second period, said second period being greater than said first period;
Receiving a fraud detection signal associated with said user account;
adjusting said aggregate payout for each of said one or more games having a fraud indication in said fraud detection signal, said adjusting being performed after a third period, said third period being greater than said second period, and
After making the above adjustments, sending an electronic payment to the developer account of said individual game developer for each of said one or more games.
Including,
A non-transitory computer-readable medium wherein said electronic payment is based on said aggregate payout for each individual game of said one or more games.
제17항에 있어서,
상기 동작은:
상기 게임 플랫폼의 복수의 사용자 계정으로부터 상기 하나 이상의 게임 각각에 대한 상기 합계 지불금을 결합하는 것;
상기 하나 이상의 게임 각각에 대한 각 수입 프리뷰 그래프를 생성하는 것 - 상기 수입 프리뷰 그래프는 상기 제2 기간에 걸쳐 각 개별 게임에 의해 누적된 수입을 나타냄 -; 및
상기 수입 프리뷰 그래프가 상기 각 게임의 개발자와 연관된 게임 개발자 장치의 전자 디스플레이 상의 사용자 인터페이스에 디스플레이되도록 하는 것을 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
In Article 17,
The above actions are:
Combining said aggregate payouts for each of said one or more games from multiple user accounts of said gaming platform;
generating a respective revenue preview graph for each of said one or more games, said revenue preview graph representing revenue accumulated by each individual game over said second period; and
A non-transitory computer-readable medium further comprising causing the above revenue preview graph to be displayed on a user interface on an electronic display of a game developer device associated with the developer of each of the above games.
제17항에 있어서,
상기 동작은:
상기 게임에서 상기 사용자 계정에 의한 게임플레이를 분석하는 것에 기초하여 각각의 게임에 대해 사기 탐지를 수행하는 것; 및
상기 게임플레이를 기준선과 비교하는 것을
더 포함하는, 비일시적 컴퓨터 판독가능 매체.
In Article 17,
The above actions are:
Performing fraud detection for each game based on analyzing gameplay by said user account in said game; and
Comparing the above gameplay to the baseline
A non-transitory computer-readable medium further comprising:
제17항에 있어서,
상기 동작은:
게임플레이 활동을 클러스터링하는 것; 및
상기 게임플레이 활동이 실제 활동 클러스터로부터 임계 거리 내에 있는지 여부를 결정하는 것을 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
In Article 17,
The above actions are:
Clustering gameplay activities; and
A non-transitory computer-readable medium further comprising determining whether the gameplay activity is within a threshold distance from a cluster of actual activities.
KR1020227022532A 2020-01-08 2020-01-08 Fraud Detection in Electronic Subscription Payments Active KR102718831B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/012804 WO2021141582A1 (en) 2020-01-08 2020-01-08 Fraud detection in electronic subscription payments

Publications (2)

Publication Number Publication Date
KR20220106824A KR20220106824A (en) 2022-07-29
KR102718831B1 true KR102718831B1 (en) 2024-10-22

Family

ID=76788715

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227022532A Active KR102718831B1 (en) 2020-01-08 2020-01-08 Fraud Detection in Electronic Subscription Payments

Country Status (5)

Country Link
EP (1) EP4088264A4 (en)
JP (1) JP7410296B2 (en)
KR (1) KR102718831B1 (en)
CN (1) CN114730515B (en)
WO (1) WO2021141582A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4394649A1 (en) * 2022-12-28 2024-07-03 Seoul National University R & DB Foundation Employing chatbots with graphicons for survey method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002021266A1 (en) 2000-09-07 2002-03-14 Techfirm Inc. Information distributing server system, information distributing method, and recorded medium
US20120209770A1 (en) 2010-07-08 2012-08-16 Subramanian Peruvemba System and Method for Monetizing Video Content
US20130339228A1 (en) 2012-06-18 2013-12-19 Brian Mark Shuster Transfer of virtual objects between applications
WO2014196032A1 (en) 2013-06-05 2014-12-11 株式会社日立システムズ Portal site system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8706618B2 (en) * 2005-09-29 2014-04-22 Ebay Inc. Release of funds based on criteria
US7419428B2 (en) * 2000-04-28 2008-09-02 Igt Cashless transaction clearinghouse
KR20020072885A (en) * 2001-03-13 2002-09-19 한재준 System for accurate accounted game program using
JP2003242417A (en) * 2002-02-18 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> Content distribution method, content distribution system, content reproduction device, content reproduction program, and recording medium therefor
JP3466596B2 (en) * 2002-03-13 2003-11-10 コナミ株式会社 Network game system
US9875610B2 (en) * 2005-07-14 2018-01-23 Ag 18, Llc Monitoring of interactive gaming systems
US9589417B2 (en) * 2005-07-14 2017-03-07 Ag 18, Llc Interactive gaming among a plurality of players systems and methods
US20080077528A1 (en) * 2006-09-27 2008-03-27 Neff C A Mechanism for fraud-resistant consumer transactions
US8676684B2 (en) * 2010-04-12 2014-03-18 Iovation Inc. System and method for evaluating risk in fraud prevention
EP2678812A4 (en) * 2011-02-22 2015-05-20 Visa Int Service Ass Universal electronic payment apparatuses, methods and systems
GB2513460A (en) * 2013-03-13 2014-10-29 Jonathan Bowles Methods and systems for facilitating and monitoring charitable donations based on payment card loyalty contributions
US10255765B2 (en) * 2015-08-20 2019-04-09 Synergy Blue, Llc Gaming aspects relating to multiplayer/tournament hybrid arcade/wager-based games
JP6966231B2 (en) * 2017-06-19 2021-11-10 任天堂株式会社 Information processing system, information processing method, information processing device, and information processing program
CN108053307A (en) * 2017-12-05 2018-05-18 璧典寒 Distribution system and method are shared in a kind of artificial intelligence wealth continual multiplication fission
CN108479071A (en) * 2018-03-16 2018-09-04 厦门快商通信息技术有限公司 A kind of game transaction platform implementation method based on block chain
CN108830558A (en) * 2018-05-31 2018-11-16 深圳市趣讯科技有限公司 A kind of game operation platform
CN109045706A (en) * 2018-06-27 2018-12-21 深圳开黑科技有限公司 Technical ability dissemination method, equipment and the system for playing platform are accompanied based on game
EP3588414A1 (en) * 2018-06-28 2020-01-01 Mastercard Asia/Pacific Pte. Ltd. Aggregated transaction processing
CN109284992A (en) * 2018-08-20 2019-01-29 中国平安人寿保险股份有限公司 Online payment method, electronic device and computer storage medium based on big data
CN110210895A (en) * 2019-05-16 2019-09-06 杭州汉富商业发展有限公司 A kind of usufruct dividend distribution system and distribution method based under completely new business model

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002021266A1 (en) 2000-09-07 2002-03-14 Techfirm Inc. Information distributing server system, information distributing method, and recorded medium
US20120209770A1 (en) 2010-07-08 2012-08-16 Subramanian Peruvemba System and Method for Monetizing Video Content
US20130339228A1 (en) 2012-06-18 2013-12-19 Brian Mark Shuster Transfer of virtual objects between applications
WO2014196032A1 (en) 2013-06-05 2014-12-11 株式会社日立システムズ Portal site system

Also Published As

Publication number Publication date
CN114730515B (en) 2023-10-03
KR20220106824A (en) 2022-07-29
WO2021141582A1 (en) 2021-07-15
CN114730515A (en) 2022-07-08
EP4088264A1 (en) 2022-11-16
JP2023509574A (en) 2023-03-09
EP4088264A4 (en) 2023-10-11
JP7410296B2 (en) 2024-01-09

Similar Documents

Publication Publication Date Title
US9032307B2 (en) Computational delivery system for avatar and background game content
CN113286641B (en) Online gaming platform voice communication system
US9844728B2 (en) Providing social network content in games
KR102566270B1 (en) User-generated content system for creating friends
US20070168309A1 (en) System, method and computer program product for dynamically extracting and sharing event information from an executing software application
US20090158150A1 (en) Rules-based profile switching in metaverse applications
US11660542B2 (en) Fraud detection in electronic subscription payments
US12242978B2 (en) System and method for creating and selectively modifying characters and conditionally presenting customized characters via electronic channels
KR102494361B1 (en) Determining the quality of electronic games based on the developer involvement matrix
US20250339777A1 (en) Optimized player positioning system in virtual experiences
US9799059B1 (en) System and method for adjusting the user cost associated with purchasable virtual items
US11617959B2 (en) Detection of malicious games
CN113332717A (en) Game equipment display method and device, electronic equipment and storage medium
US10115267B1 (en) Method and system for facilitating chance-based payment for items in a game
KR102718831B1 (en) Fraud Detection in Electronic Subscription Payments
US10286298B1 (en) Dynamically adjusting virtual rewards presented in offers
US20240108987A1 (en) Omnichannel transactional games.
US20250114695A1 (en) Ai responsive layout for cross-platform environments

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20220630

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20240523

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20240801

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20241014

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20241015

End annual number: 3

Start annual number: 1

PG1601 Publication of registration