KR102460104B1 - 자동화된 플레이어 스폰서십 시스템 - Google Patents

자동화된 플레이어 스폰서십 시스템 Download PDF

Info

Publication number
KR102460104B1
KR102460104B1 KR1020200036572A KR20200036572A KR102460104B1 KR 102460104 B1 KR102460104 B1 KR 102460104B1 KR 1020200036572 A KR1020200036572 A KR 1020200036572A KR 20200036572 A KR20200036572 A KR 20200036572A KR 102460104 B1 KR102460104 B1 KR 102460104B1
Authority
KR
South Korea
Prior art keywords
player
sponsorship
sponsor
data
game
Prior art date
Application number
KR1020200036572A
Other languages
English (en)
Other versions
KR20200115305A (ko
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 KR20200115305A publication Critical patent/KR20200115305A/ko
Priority to KR1020220137347A priority Critical patent/KR20220149488A/ko
Application granted granted Critical
Publication of KR102460104B1 publication Critical patent/KR102460104B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/61Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor using advertising information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • 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/795Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5566Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by matching opponents or finding partners to build a team, e.g. by skill level, geographical area, background, play style

Abstract

본 명세서에 개시된 시스템 및 방법의 실시예는 플레이어 및 스폰서가 매칭 될 수 있는 스폰서 매칭 시스템을 제공한다. 저장된 스폰서십 기준 및/또는 플레이어 선호도에 적어도 부분적으로 기초한 매치에서, 제1 스폰서는 제1 스폰서와 관련된 광고를 선택할 수 있는 허가를 수신할 플레이어 세트를 선택할 수 있다. 선택된 플레이어들 중 제1 플레이어가 제1 스폰서와 관련된 광고 배치 위치 및 광고를 선택하면, 상기 스폰서 매칭 시스템은 제1 플레이어와 관련된 제1 플레이어 시스템에 대한 게임 렌더링 명령어들을 생성할 수 있다.

Description

자동화된 플레이어 스폰서십 시스템{AUTOMATED PLAYER SPONSORSHIP SYSTEM}
아래 설명은 자동화된 플레이어 스폰서십 시스템에 관한 것이다.
최근 몇 년 동안 비디오 게임의 인기(popularity)와 복잡성(complexity)이 증가했다. 비디오 게임 플레이어 간의 경쟁에 전용되는 많은 웹사이트들과 리소스들이 있다. 일부 사용자들은 게임 어플리케이션(또는 애플리케이션 또는 앱)들을 사용하여 게임 플레이의 비디오들을 녹화(record)한다. 상기 게임 플레이 비디오들은 다른 사용자들과 공유되어 게임 플레이의 다른 측면을 보여주고, 사용자 이벤트들, 어려운 작업들의 완료, 성취들, 또는 게임 어플리케이션 내 다른 타입의 이벤트들을 설명(illustrate)할 수 있다. 상기 비디오들은 다른 사용자가 보도록 비디오 업로드 사이트에서 공유될 수 있거나 다른 사람들이 보도록 스트리밍 될 수 있다. 일부 사용자들은 경쟁에 참여하고, 비디오 게임 레벨의 빠른 완료 시간 또는 다른 타입의 이벤트들을 보여주기 위해 비디오들을 제공한다.
추가로, 특정 타입의 플레이어에 투자하거나 후원하려는 회사들은 어떤 플레이어가 그들의 기준을 충족하는지 또는 심지어 그러한 플레이어를 찾는 방법을 모를 수도 있다. 또한, 플레이어를 찾으면, 스폰서들이 플레이어의 스트림이나 비디오 상의 위치에 광고하는 방법이 매우 제한적이다.
본 개시의 시스템들, 방법들, 디바이스들은 각각 몇 가지 혁신적인 측면을 가지며, 그 중 어느 하나만이 여기에 개시된 모든 바람직한 속성들에 대한 책임을 지는 것은 아니다. 본 명세서에서 기술된 주제의 하나 이상의 구현의 세부 사항은 첨부 도면들 및 이하의 기술에서 제시된다.
일 실시예는 스폰서 매칭 시스템에 있어서, 제1 스폰서와 관련된(associated) 제1 스폰서 계정을 포함하는 하나 이상의 스폰서 계정과 관련된 스폰서십 기준(sponsorship criteria); 및 제1 플레이어 계정을 포함하는 하나 이상의 플레이어 계정과 관련된 플레이어 데이터를 저장하도록 구성되는 하나 이상의 데이터 스토어(data stores); 하나 이상의 플레이어 시스템 및 하나 이상의 스폰서 시스템과 통신하도록 구성된 네트워크 인터페이스; 및 하나 이상의 데이터 스토어와 통신하는 하나 이상의 물리적 컴퓨터 프로세서를 포함하고, 컴퓨터 실행 가능한 명령어들이 실행될 때, 상기 하나 이상의 물리적 컴퓨터 프로세서는, 복수의 플레이어 계정들과 관련된 복수의 플레이어 시스템들로부터 플레이어 데이터를 수신하고, 제1 스폰서 시스템으로부터 제1 스폰서십 요청을 수신하고, 상기 제1 스폰서십 요청은 제1 스폰서십 기준을 포함하고 제1 스폰서 계정과 관련이 있고, 플레이어 계정들의 제1 서브세트(first subset of player accounts)를 식별하기 위해 스폰서십 및 플레이어 매칭 모델을 적용하고, 상기 식별은 적어도 부분적으로 플레이어 데이터 및 제1 스폰서십 기준에 기초하고, 제1 스폰서 계정에 의해 상기 플레이어 계정의 스폰서십과 관련된 스폰서십 데이터를 수신하기 위해 플레이어의 상기 제1 서브세트 내 플레이어들을 선택하고, 및 제1 플레이어 계정에 제1 스폰서십 데이터를 전송하고, 상기 제1 스폰서십 데이터는 제1 게임 어플리케이션의 가상 환경 내의 디스플레이를 위한 제1 스폰서를 식별하는 가상 스폰서십 콘텐트를 포함하는, 스폰서 매칭 시스템을 개시한다.
상기 시스템의 다양한 실시예들은 다음의 특징들 중 하나, 전부, 또는 임의의 조합을 포함할 수 있다. 일부 실시예들에서, 상기 가상 스폰서십 콘텐트(content)는 적어도 부분적으로 제1 스폰서에 대한 광고 배치 위치(advertisement placement locations)에 기초한 광고 커스터마이제이션(advertisement customizations)을 포함한다. 일부 실시예들에서, 상기 선택된 스폰서들 각각에 대한 광고 배치 위치는 게임 어플리케이션 내에서 게임 플레이 동안 인터페이스 상에서 렌더링 될 객체 또는 인터페이스 상의 위치들을 포함한다. 일부 실시예들에서, 상기 하나 이상의 물리적 컴퓨터 프로세서는, 스폰서 매칭 시스템의 관리자(administrator of the sponsor matching system), 스폰서 시스템, 및 플레이어 시스템 중 하나 이상으로부터 피드백 데이터를 수신하고, 적어도 부분적으로 스폰서십 기준 및 플레이어 데이터에 기초하여 스폰서들과 플레이어들을 매치하기 위해 사용될 수 있는 스폰서십 및 플레이어 매칭 모델을 생성하도록 더 구성된다. 일부 실시예들에서, 상기 하나 이상의 물리적 컴퓨터 프로세서는, 제1 플레이어 시스템으로부터 업데이트 된 플레이어 데이터를 수신하고, 적어도 부분적으로 상기 제1 스폰서십 기준 및 상기 업데이트 된 플레이어 데이터에 기초하여 플레이어 계정들의 제2 서브세트를 결정하기 위해, 상기 제1 스폰서십 기준에 기초하여 상기 업데이트 된 플레이어 데이터에 상기 스폰서십 및 플레이어 매칭 모델을 적용하도록 더 구성된다. 일부 실시예들에서, 상기 하나 이상의 물리적 컴퓨터 프로세서는 적어도 부분적으로 상기 제1 스폰서십 기준 및 상기 플레이어 데이터에 기초하여 추천된 플레이어들의 세트를 포함하는 플레이어 계정들의 제2 서브세트를 결정하도록 더 구성되고, 상기 플레이어 계정들의 제2 서브세트는 제1 스폰서 시스템에 의한 2차적 승인(secondary approval)을 위해 플래그(flagged)된다. 일부 실시예들에서, 상기 하나 이상의 물리적 컴퓨터 프로세서는 제1 스폰서 시스템으로부터 업데이트된 스폰서십 기준을 수신하고, 상기 제1 스폰서십 기준은 업데이트 된 스폰서십 기준을 포함하도록 더 구성된다. 일부 실시예들에서, 상기 스폰서십 및 플레이어 매칭 모델은 지도 기계 학습 알고리즘(supervised machine learning algorithm)이다. 일부 실시예들에서, 상기 플레이어 데이터는 하나 이상의 플레이어 계정과 관련된 플레이어 선호도(player preferences)를 포함한다. 일부 실시예들에서, 상기 하나 이상의 물리적 컴퓨터 프로세서는 상기 제1 스폰서와 관련된 스폰서십 데이터를 수신하기 위해 플레이어 계정들의 상기 제1 서브세트 내 상기 플레이어들을 자동으로 승인하도록 더 구성된다. 일부 실시예들에서, 상기 하나 이상의 물리적 컴퓨터 프로세서는 스폰서십 데이터를 수신하기 위해 상기 제1 서브세트 플레이어들 계정들의 승인에 대한 요청을 상기 제1 스폰서 계정으로 전송하고, 스폰서십 데이터를 수신하기 위해 플레이어 계정들의 상기 제1 서브세트로부터의 플레이어들의 선택을 나타내는 선택된 플레이어 정보를 상기 스폰서 시스템으로부터 수신하도록 더 구성된다.
일부 실시예들에서, 하나 이상의 데이터 스토어와 통신하는 하나 이상의 물리적 컴퓨터 프로세서에 의해 수행되는, 컴퓨터로 구현된 방법에 있어서, 복수의 플레이어 계정과 관련된 복수의 플레이어 시스템들로부터 플레이어 데이터를 수신하는 단계; 제1 스폰서 시스템으로부터 제1 스폰서십 요청을 수신하고, 상기 제1 스폰서십 요청은 제1 스폰서십 기준을 포함하고 제1 스폰서 계정과 관련이 있는 단계; 플레이어 계정들의 제1 서브세트를 식별하기 위해 스폰서십 및 플레이어 매칭 모델을 적용하고, 상기 식별은 적어도 부분적으로 플레이어 데이터 및 제1 스폰서십 기준에 기초하는 단계; 제1 스폰서 계정에 의해 상기 플레이어 계정의 스폰서십과 관련된 스폰서십 데이터를 수신하기 위해 플레이어의 상기 제1 서브세트 내 플레이어들을 선택하는 단계; 및 제1 플레이어 계정에 제1 스폰서십 데이터를 전송하고, 상기 제1 스폰서십 데이터는 제1 게임 어플리케이션의 가상 환경 내의 디스플레이를 위한 제1 스폰서를 식별하는 가상 스폰서십 콘텐트를 포함하는 단계를 포함하는, 컴퓨터로 구현된 방법을 개시한다.
상기 시스템의 다양한 실시예들은 다음의 특징들 중 하나, 전부, 또는 임의의 조합을 포함할 수 있다. 일부 실시예들에서, 상기 가상 스폰서십 콘텐트는 적어도 부분적으로 제1 스폰서에 대한 광고 배치 위치에 기초한 광고 커스터마이제이션을 포함한다. 일부 실시예들에서, 상기 선택된 스폰서들 각각에 대한 광고 배치 위치는 게임 어플리케이션 내에서 게임 플레이 동안 인터페이스 상에서 렌더링 될 객체 또는 인터페이스 상의 위치들을 포함한다. 일부 실시예들에서, 스폰서 시스템, 플레이어 시스템, 및 스폰서 매칭 시스템의 관리자 중 하나 이상으로부터 피드백 데이터를 수신하는 단계; 및 적어도 부분적으로 스폰서십 기준 및 플레이어 데이터에 기초하여 스폰서들과 플레이어들을 매치하기 위해 사용될 수 있는 스폰서십 및 플레이어 매칭 모델을 생성하는 단계를 더 포함한다. 일부 실시예들에서, 제1 플레이어 시스템으로부터 업데이트 된 플레이어 데이터를 수신하는 단계; 및 적어도 부분적으로 상기 제1 스폰서십 기준 및 상기 업데이트 된 플레이어 데이터에 기초하여 플레이어 계정들의 제2 서브세트를 결정하기 위해, 상기 제1 스폰서십 기준에 기초하여 상기 업데이트 된 플레이어 데이터에 상기 스폰서십 및 플레이어 매칭 모델을 적용하는 단계를 더 포함한다. 일부 실시예들에서, 적어도 부분적으로 상기 제1 스폰서십 기준 및 상기 플레이어 데이터에 기초하여 추천된 플레이어들의 세트를 포함하는 플레이어 계정들의 제2 서브세트를 결정하고, 상기 플레이어 계정들의 제2 서브세트는 제1 스폰서 시스템에 의한 2차적 승인을 위해 플래그 되는 단계를 더 포함한다. 일부 실시예들에서, 상기 플레이어 데이터는 하나 이상의 플레이어 계정과 관련된 플레이어 선호도들을 포함한다. 일부 실시예들에서, 상기 제1 스폰서와 관련된 스폰서십 데이터를 수신하기 위해 플레이어 계정들의 상기 제1 서브세트 내 상기 플레이어들을 자동으로 승인하는 단계를 더 포함한다. 일부 실시예들에서, 스폰서십 데이터를 수신하기 위해 상기 제1 서브세트 플레이어들 계정들의 승인에 대한 요청을 상기 제1 스폰서 계정으로 전송하는 단계; 및 스폰서십 데이터를 수신하기 위해 플레이어 계정들의 상기 제1 서브세트로부터의 플레이어들의 선택을 나타내는 선택된 플레이어 정보를 상기 스폰서 시스템으로부터 수신하는 단계를 더 포함한다.
특정 실시예들 및 예들이 여기에 개시되었지만, 발명적 특징(inventive subject matter)은 구체적으로 개시된 실시예들의 예를 넘어 다른 대안적인 실시예들 및/또는 사용들, 및 그의 수정 및 등가물(modifications and equivalents)까지 확장된다.
도면 전체에 걸쳐, 참조 번호는 참조된 엘리먼트들 사이에 대응을 나타내기 위해 재사용된다. 도면들은 여기에 기술된 주제의 실시예들을 예시하기 위해 제공되며 그 범위를 제한하지 않는다.
도 1은 자동화된 스폰서십 시스템을 포함하는 네트워크 컴퓨팅 환경의 실시예를 도시한다.
도 2는 자동화된 스폰서십 시스템을 구현하는 도 1로부터의 다양한 시스템들 사이 상호작용의 블록 다이어그램의 실시예를 도시한다.
도 3은 일 실시예에 따라 스폰서 시스템들 및 플레이어 시스템들에 의해 나타나는 선택들에 기초하여 게임 데이터를 생성하고 선택된 플레이어를 스폰서들과 매치하기 위한 방법의 흐름도의 실시예를 도시한다.
도 4는 플레이어 매칭 모델을 생성하고 업데이트하는 방법의 흐름도의 실시예를 도시한다.
도 5는 일 실시예에 따라 이전에 생성된 스폰서십 및 플레이어 매칭 모델을 적용하기 위한 방법의 흐름도의 실시예를 도시한다.
도 6은 플레이어 디바이스가 스폰서를 선택하기 위한 예시적인 인터페이스의 실시예를 도시한다.
도 7은 일 실시예에 따라 플레이어 디바이스가 스폰서를 선택하기 위한 예시적인 인터페이스의 실시예를 도시한다.
도 8은 스폰서가 선택된 후에 게임을 렌더링(rendering)하는 플레이어 디바이스에 대한 게임 플레이 동안의 예시적인 인터페이스의 실시예를 도시한다.
도 9는 플레이어 시스템을 위한 하드웨어 구성의 실시예를 도시한다.
도 10은 게임 시스템의 엘리먼트들의 실시예를 도시한다.
개요
비디오 게임 플레이어 간의 경쟁에 전용되는 많은 웹 사이트들과 리소스들이 있다. 일부 사용자들은 게임 어플리케이션들을 사용하여 게임 플레이의 비디오들을 녹화한다. 상기 게임 플레이 비디오들은 다른 사용자들과 공유되어 게임 플레이의 다른 측면을 보여주고, 사용자 이벤트들, 어려운 작업들의 완료, 성취들, 또는 게임 어플리케이션 내 다른 타입의 이벤트들을 설명(illustrate)할 수 있다. 상기 비디오들은 다른 사용자가 보도록 비디오 업로드 사이트에서 공유될 수 있거나 다른 사람들이 보도록 스트리밍 될 수 있다. 일부 사용자들은 경쟁에 참여하고, 비디오 게임 레벨의 빠른 완료 시간 또는 다른 타입의 이벤트들을 보여주기 위해 비디오들을 제공한다.
추가로, 특정 타입의 플레이어에 투자하거나 후원하려는 회사들은 어떤 플레이어가 그들의 기준을 충족하는지 또는 심지어 그러한 플레이어를 찾는 방법을 모를 수도 있다. 예를 들어, 스폰서는 인기있는 스트리밍 서비스(예를 들어, 트위치(Twitch) 등)를 보거나, 비디오 업로드 사이트(예를 들어, 페이스북(Facebook), 유튜브(YouTube) 등)에 업로드 된 비디오를 보고 특정 게임의 특정 사용자들이 올린 인기 있는 비디오들을 찾을 수 있다. 예를 들어, 이러한 문제에 대한 일부 솔루션들은 플레이어가 사전 구성된 스폰서십 기준을 충족하는지 여부를 분석하고 결정하기 위해 사용자 게임 플레이 데이터 및 기타 관련 데이터를 모니터링하는 것을 포함할 수 있다. 상기 분석은 예를 들어 여기에 설명된 인공지능 또는 기계 학습의 사용을 포함할 수 있다.
또한, 플레이어를 찾으면, 스폰서들이 플레이어의 스트림이나 비디오 상의 위치에 광고하는 방법이 매우 제한적이다. 이러한 문제들에 대한 솔루션은 게임플레이 콘텐트를 광고 콘텐트와 함께 렌더링하는 것을 포함할 수 있고, 이로써 광고 콘텐트는 비디오 게임의 런타임 동안 게임플레이 콘텐트와 함께 디스플레이 될 수 있고, 둘 다 동시에 볼 수 있다.
또한, 언급된 바와 같이, 플레이어를 찾으면, 스폰서들이 플레이어의 스트림이나 비디오 상의 위치에 광고하는 방법이 매우 제한적이다. 예를 들면, 이러한 문제들에 대한 하나의 솔루션은 게임 내 가상 객체의 부분 상에 오버레이(overlay)로서 광고하는 것을 포함할 수 있다. 예를 들어, 플레이어의 아바타와 같은 가상 캐릭터는 스폰서와 관련된 이미지를 가질 수 있고, 플레이어의 아바타의 부분 또는 전부에 오버레이 될 수 있다. 다른 예에서, 스크린 상의 특정 위치는 오버레이(예를 들어, 렌더링 된 인터페이스의 우측 상단 코너에 있는 위치)를 포함할 수 있다.
렌더링 된 비디오 콘텐츠에 배치된 이미지 또는 광고는 이와 관련된 투명도 값을 가질 수 있다. 예를 들어, 이미지는 하나 이상의 사용자 선호도, 스폰서십 기준 및/또는 렌더링 된 비디오 콘텐트에 따라 100 % 미만으로 불투명 할 수 있다. 이미지는 이와 관련된 색채 조합을 가질 수도 있다. 예를 들어, 이미지는 흑백, 회색조, 컬러 또는 설정된 색상 범위로 제한될 수 있다. 일부 실시예에서, 색상은 하나 이상의 사용자 선호도, 스폰서십 기준 및/또는 렌더링 된 비디오 콘텐트에 기초할 수 있다. 색상 및 투명도는 또한 예를 들어 상기 플레이어의 대역폭, 렌더링 역량(rendering capabilities)(예를 들어, 컴퓨터 하드웨어 또는 하드웨어를 통해 사용 가능한 컴퓨팅 리소스들), 렌더링 된 이미지들, 프레임 레이트, 또는 다른 네트워크 또는 컴퓨터 특성들 또는 제한들을 모니터링하고 분석하는 기계 학습 구성요소에 의해 자동적으로 조정될 수 있다.
스폰서는 스폰서 매칭 시스템에 스폰서십 기준을 제공할 수 있다. 상기 스폰서십 기준은 스폰서가 스폰서십을 위해 선택하고자 하는게 게임들 또는 특정 게임의 플레이어의 타입(들)을 식별할 수 있다. 상기 스폰서 매칭 시스템은 어떤 게임들 또는 특정 게임의 플레이어가 스폰서십 기준을 충족시키는지를 결정하기 위해 상기 스폰서십 기준을 사용할 수 있고 상기 플레이어를 스폰서에게 추천할 수 있다. 상기 결정은 플레이어 시스템의 분석, 모니터링 된 플레이어 게임 데이터, 또는 스폰서가 선호하는 것으로 표시된 다른 정보에 기초할 수 있다. 일부 실시예들에서, 상기 스폰서 매칭 시스템은 인공 지능 (AI) 또는 기계 학습(machine learning), 및/또는 스폰서십 기준과 관련된 플레이어(들)에 대한 추가 통계(additional statistics)를 이용하여 예측하기 위해 모니터링 된 플레이어 게임 데이터 또는 플레이어 데이터를 사용할 수 있다. 상기 예측에 기초하여, 상기 스폰서 매칭 시스템은 스폰서 시스템에 스폰서십 기준의 일부를 충족시킬 수 있지만 나머지는 충족시키지 않거나 임계 시간 내에 상기 기준을 충족시킬 수 있는 플레이어들을 추천할 수 있다. 이러한 구성은 스폰서가 아직 많은 다른 스폰서십 제안을 받지 않은 라이징 스타(rising star)인 플레이어를 후원하기로 하는 경우보다 상기 스폰서는 더 나은 레이트(better rate)로 더 많은 인식(recognition)을 달성할 수 있기 때문에 스폰서에게 바람직할 수 있다.
스폰서는 스폰서십에 대한 기준을 충족하는 플레이어들의 리스트를 요청하는 스폰서십 기준과 함께 스폰서 매칭 시스템에 요청을 보낼 수 있다. 상기 스폰서 매칭 시스템은 게임을 플레이하는 다수의 플레이어로부터의 게임 플레이 데이터를 모니터링 할 수 있고 상기 데이터 및 이러한 데이터와 관련된 분석들을 데이터 스토어에 유지(keep)할 수 있다. 상기 요청이 상기 스폰서 매칭 시스템에 의해 수신되면, 상기 스폰서 매칭 시스템은 상기 스폰서십 기준, 플레이어 데이터, 및/또는 임의의 플레이어 선호도에 기초하여 플레이어를 스폰서와 매치시킬 수 있다. 플레이어 선호도는 플레이어가 수락하거나 수락하지 않을 스폰서의 타입을 나타낼 수 있다. 예를 들어, 상기 플레이어 선호도는 플레이어가 렌더링 된 비디오에서 스폰서십 광고를 수용하거나 수용하지 않을 위치를 나타낼 수 있다. 예를 들어, 특정 플레이어의 상기 플레이어 선호도는 상기 플레이어가 렌더링 된 비디오의 오른쪽 상단에 있는 광고만 허용함을 나타낼 수 있다. 따라서, 상기 플레이어의 플레이어 데이터가 상기 스폰서십 기준과 매치(matches)한다고 가정하면, 잠재적 스폰서십 위치 옵션으로서 렌더링 된 비디오의 오른쪽 상단을 갖는 스폰서들만 상기 특정 플레이어와 매치하게 된다.
스폰서와 하나 이상의 플레이어 간에 매치가 이루어지면, 상기 스폰서 시스템은 상기 스폰서들에게 선택을 위한 플레이어(들)를 제시할 수 있다. 상기 스폰서로부터 선택이 수신되면, 그것은 상기 선택을 스폰서 매칭 시스템으로 전송할 수 있고, 이는 스폰서링 옵션들을 사용자 시스템에 전송할 수 있다. 일부 실시예들에서, 상기 스폰서 매칭 시스템은 식별된 플레이어들 제시 및 상기 스폰서로부터 확인 선택(confirmatory selection)의 수신 없이 스폰서십을 위한 식별된 플레이어를 자동적으로 선택할 수 있다. 상기 스폰서링 옵션은 각 스폰서와 위치에 관련된 값들 및 하나 이상의 스폰서 각각에 대한 광고 또는 이미지를 포함하기 위해 하나 이상의 스폰서, 잠재적 인터페이스 위치(예를 들어, 아바타 상에, 또는 렌더링 된 비디오 콘텐트 상의 특정 위치에)를 포함할 수 있다. 상기 플레이어 시스템은 플레이어가 상기 플레이어가 아바타 위치나 상기 게임 사용자 인터페이스 내 배치를 위한 스폰서나 광고를 선택할 수 있도록 구성된 스폰서 인터페이스를 포함할 수 있다.
일부 실시예들에서, 상기 스폰서 매칭 시스템은 스폰서 데이터 및 플레이어 데이터에 대한 업데이트에 기초하여 상기 스폰서십 옵션들 및 추천들을 실시간으로, 매일, 매주, 매월, 격월 등으로 업데이트 할 수 있다. 특정 게임이 플레이어들에 의해 플레이되기 때문에, 랭킹 및 다른 플레이어 데이터가 업데이트 되고, 업데이트 된 플레이어 데이터는 정확한 스폰서십 옵션들 및 추천들을 결정하는데 적절하고(relevant) 중요할(important) 수 있다. 추가적으로, 일부 실시예들에서, 상기 스폰서 시스템은 스폰서십 기준 및 스폰서십 기준을 충족하는 플레이어들의 리스트에 대한 새로운 요청과 같은 업데이트 된 스폰서 데이터를 수신할 수 있다.
여기에 제시된 실시예들은 다양한 구현에서 기계 학습 알고리즘(machine learning algorithms)을 사용한다. 여기에 제시된 시스템들은 예를 들어, 스폰서십 기준, 플레이어 선호도, 및/또는 향상된 매칭(improved matching)을 예측 또는 추정하기 위해 예측 모델(prediction model) 또는 파라미터 함수(parameter function)를 사용할 수 있다. 일부 실시예들에서, 이력적(historical) 플레이어 선호도 또는 이력적 스폰서십 기준은 더 나은 매치들을 예측하는 예측 모델(prediction model)을 생성하기 위해 기계 학습 시스템에 공급(fed into)된다. 예를 들어, 매칭 프로세스 동안, 상기 예측 모델은 스폰서와 매치된 플레이어 또는 다른 플레이어들에 관한 정보에 적용될 수 있다. 상기 시스템은 상기 예측 모델에 기초하여 스폰서십을 위해 어떤 플레이어를 선택할지 결정할 있다.
자동화된 스폰서십 시스템
도 1은 자동화된 스폰서십 시스템을 구현하기 위한 네트워크 컴퓨팅 환경(networked computing environment)의 실시예(100)를 도시한다. 상기 컴퓨팅 환경은 스폰서 매칭 시스템(140) 및 다른 다양한 시스템들을 구현하기 위한 인터랙티브 컴퓨팅 시스템(130)을 포함할 수 있다. 상기 네트워크 컴퓨팅 환경(100)은 하나 이상의 시청자(또는 뷰어) 컴퓨팅 시스템(124), 하나 이상의 인터랙티브 컴퓨팅 시스템(130), 하나 이상의 플레이어 시스템(102), 하나 이상의 스폰서 시스템(122), 비디오 스트리밍 서비스(118), 및 하나 이상의 스폰서 매칭 시스템(140)을 포함할 수 있다. 상기 시청자 컴퓨팅 시스템(124)은 네트워크를 통해 상기 인터랙티브 컴퓨팅 시스템(130) 및 비디오 스트리밍 서비스(118)와 통신할 수 있다. 하나의 네트워크(101)만이 도시되어 있지만, 다수의 네트워크(101)가 존재할 수 있다. 여기에 기술된 구성요소들은 완전한(exhaustive) 것이 아니라 어떤 구성요소들이 구현될 수 있는 지의 샘플일 뿐이다. 일부 구성요소들은 결합(combined)될 수 있고 다른 구성요소들은 유사한 구성요소들로 대체(substituted) 또는 제거(removed)될 수 있다.
A. 인터랙티브 컴퓨팅 시스템
상기 인터랙티브 컴퓨팅 시스템(130)은 스폰서 매칭 시스템(140), 스폰서 모니터링 시스템(136), 및 데이터 스토어(134)를 포함할 수 있다. 상기 인터랙티브 시스템(130)은 네트워크(101)를 통해 상기 플레이어 시스템(들)(102) 및 스폰서 시스템(들)(122)과 통신할 수 있다. 일부 실시예들에서, 상기 데이터 스토어(134)는 매칭 데이터(matching data)(146), 플레이어 데이터(148)(플레이어 게임 데이터 또는 플레이어 게임플레이 데이터, 또는 플레이어 선호도와 같은), 스폰서십 옵션들 및 추천들, 스폰서십 기준(144), 스폰서 선택들, 플레이어 선택들 등을 저장할 수 있다.
일부 실시예들에서, 상기 인터랙티브 컴퓨팅 시스템(130)은 근거리 통신망(local area network) 또는 인터넷을 통해 연결된 다수의 시스템들을 포함할 수 있다. 또한, 일부 실시예들에서, 상기 인터랙티브 컴퓨팅 시스템(130), 또는 그중 부분들은 상기 스폰서 시스템(들)(122) 및/또는 플레이어 시스템(들)(102) 상에 위치할 수 있다.
상기 인터랙티브 시스템(130)은 게임 어플리케이션(108)과 관련된 하나 이상의 컴퓨팅 시스템을 포함할 수 있다. 추가로, 상기 인터랙티브 컴퓨팅 시스템(130)은 다수의 사용자들이 상기 어플리케이션의 부분에 액세스할 수 있도록 하는 하나 이상의 게임 어플리케이션 호스트 시스템(132)을 포함할 수 있다. 일부 실시예들에서, 상기 게임 어플리케이션 호스트 시스템(132)은 플레이어 컴퓨팅 시스템 상에서 실행하는 게임 어플리케이션(108) 적어도 일부를 실행하도록 구성될 수 있다. 일부 실시예들에서, 게임 어플리케이션 호스트 시스템(132)은 상기 게임 어플리케이션 호스트 시스템(132) 및 상기 인터랙티브 컴퓨팅 시스템(130)과 관련된 정보를 저장하도록 구성된 데이터 스토어(134)를 유지(maintain)하거나 호스팅(host)할 수 있다. 상기 데이터 스토어(134)는 복수의 게임 어플리케이션들(108)과 관련된 게임플레이 비디오들을 포함할 수 있다. 일부 실시예들에서, 상기 인터랙티브 컴퓨팅 시스템(130)은 게임 어플리케이션 스트리밍 서비스(138)를 포함할 수 있다. 상기 인터랙티브 컴퓨팅 시스템은 상기 자동화된 스폰서십 시스템의 다양한 측면을 구현하기 위해 상기 브로드 캐스트 컴퓨팅 시스템(broadcast computing system), 시청자 컴퓨팅 시스템(124)(viewer computing systems), 플레이어 시스템(102), 및 비디오 스트리밍 서비스(video streaming service)(118)와 인터페이스 할 수 있다.
1. 게임 어플리케이션 스트리밍 서비스
상기 게임 어플리케이션 스트리밍 서비스(138)는 로컬인 사용자 컴퓨팅 리소스들을 게임 어플리케이션 스트리밍 서비스에 사용하여 게임 어플리케이션을 실행하기 위해 상기 인터랙티브 게임 어플리케이션 클라이언트(128)와 통신하도록 구성될 수 있다. 상기 게임 어플리케이션 스트리밍 서비스(138)는 상기 게임 스트리밍 서비스(118)에 의해 실행되는 게임 어플리케이션(108)의 출력 및 동작을 위한 상기 인터랙티브 게임 어플리케이션 클라이언트(128)에 정보를 통신(communicate)하도록 구성될 수 있다. 상기 게임 어플리케이션 스트리밍 서비스(138)의 클라이언트(시청자 컴퓨팅 시스템(124)과 같은)는 마치 로컬에서 동작하는 것처럼 상기 클라이언트의 컴퓨팅 시스템 상에서 게임 어플리케이션(108)을 상호작용하게(interactively) 플레이 할 수 있다. 상기 게임 스트리밍 서비스는 상기 게임 어플리케이션(108)의 동작을 제어하기 위해 게임 스트리밍 클라이언트를 통해 상기 시청자 컴퓨팅 시스템(124)에 의해 제공된 사용자 입력을 수신할 수 있다. 예를 들어, 상기 게임 어플리케이션 스트리밍 서비스(138)상에 로드(loaded) 된 게임 어플리케이션(108)은 상기 시청자 컴퓨팅 시스템 상에 출력될 수 있고 상기 게임 어플리케이션(108)은 상기 시청자 컴퓨팅 시스템(124)로부터 수신된 사용자 입력들에 기초하여 제어될 수 있다.
상기 게임 어플리케이션 스트리밍 서비스는 "동적 스트리밍 비디오 게임 클라이언트"라는 제목의 미국 특허 출원 번호 16/370,707, “인터랙티브 게임 플레이백 시스템” 이라는 제목의 미국 특허 출원 번호 15/199,827, “인터랙티브 비디오 게임 콘텐트 제공(Delivering) 및 소비(Consuming)”라는 제목의 미국 특허 공개 번호(U.S. Patent Publication No.) 2014/0274384에 개시된 게임 어플리케이션 스트리밍 서비스의 실시예에 기초하여 구현될 수 있고, 전체적으로(in their entirety) 본 명세서에 참고로 포함된다.
상기 게임 스트리밍 서비스(138)는 상기 게임 어플리케이션 호스트 시스템(132) 및 데이터 스토어(134)와 독립적(independently)으로 동작할 수 있다. 상기 게임 스트리밍 서비스는 상기 플레이어 컴퓨팅 시스템(102) 및 시청자 컴퓨팅 시스템(124)에 관하여 기술된 바와 같이 상기 게임 어플리케이션(108)을 실행할 수 있다.
2. 게임 어플리케이션 호스트 시스템(들)
상기 게임 어플리케이션 호스트 시스템(132)은 상기 플레이어 시스템(102)상에서 동작하는 게임 어플리케이션(108)의 부분을 실행하도록 구성될 수 있다. 상기 어플리케이션 호스트 시스템(132)은 상기 게임 어플리케이션(108) 및/또는 호스트 어플리케이션의 실행 대신에 또는 추가로 다른 어플리케이션을 실행할 수 있고, 이는 상기 게임 어플리케이션(108)의 게임 플레이 세션의 실행 동안 상기 게임 어플리케이션(108)을 보완 및/또는 게임 어플리케이션(108)과 상호작용할 수 있다.
일부 실시예들에서, 상기 인터랙티브 컴퓨팅 시스템(130)은 다수의 플레이어들 또는 컴퓨팅 시스템들이 상기 게임 어플리케이션(108)의 부분 및/또는 호스트 어플리케이션에 액세스 할 수 있도록 할 수 있다. 일부 실시예들에서, 상기 인터랙티브 컴퓨팅 시스템(130)의 어플리케이션 호스트 시스템(132)에 의해 실행되는 상기 게임 어플리케이션(108)의 부분은 지속적인 가상 세계(persistent virtual world)를 생성(create)할 수 있다. 상기 지속적인 가상 세계 또는 가상 환경은 하나 이상의 플레이어가 가상 세계와 또는 플레이어들끼리 서로 동기식 및/또는 비동기식 방식으로 상호작용할 수 있도록 할 수 있다. 일부 경우, 상기 지속적인 가상 세계의 다수의 인스턴스들(multiple instances of the persistent virtual world)은 상기 인터랙티브 컴퓨팅 시스템(130)에 의해 생성 및 호스팅 될 수 있다. 사용자들의 세트는 상기 지속적인 가상 세계의 한 인스턴스에 할당되거나 액세스 할 수 있는 반면, 다른 세트의 사용자들은 상기 지속적인 가상 세계의 다른 인스턴스에 할당되거나 액세스할 수 있다.
일부 실시예들에서, 상기 어플리케이션 호스트 시스템들(132)은 게임 환경의 다양한 측면들을 실행하기 위한 호스팅 시스템을 실행할 수 있다. 예를 들어, 일 실시예에서, 상기 게임 어플리케이션(108)은 1인칭 슈팅게임 또는 스포츠게임과 같은 경쟁 게임(competitive game)일 수 있고, 상기 게임 어플리케이션 호스트 시스템들(132)은 사용자 컴퓨팅 디바이스들에 의해 호스팅 되는 게임 인스턴스들의 생성을 용이하게 하거나 멀티 플레이어 게임 인스턴스들을 호스팅하기 위한 전용 호스팅 서버를 제공할 수 있다. 일부 실시예들에서, 상기 어플리케이션 호스트 시스템들(132)은 사용자들이 서로 가상으로 상호작용할 수 있도록 로비 또는 다른 환경을 제공할 수 있다. 일부 실시예들에서, 상기 가상 환경들은 스폰서 매칭 시스템(140)에 의해 생성된 특징들, 객체들, 캐릭터들, 및/또는 상기 스폰서십 모니터링 서비스(136)에 의해 생성된 특징들뿐만 아니라 게임 개발자에 의해 설계된 특징들, 객체들 및/또는 하나 이상의 캐릭터로 채워질(populated) 수 있다.
3. 데이터 스토어
상기 데이터 스토어(134)는 스폰서들로부터의 광고들과 관련된 스폰서 콘텐트 또는 미디어 콘텐트를 포함할 수 있다. 예를 들어, 스폰서 콘텐트는 하나 이상의 스폰서와 관련된 비디오들, 애니메이션들 또는 이미지들을 포함할 수 있다. 상기 스폰서 콘텐트는 예를 들어, 상기 스폰서 시스템(122)에 의해 제공 또는 업로드 될 수 있거나, 써드 파티 데이터 스토어(third party data store)(예를 들어, 스폰서에 의해 제공된 URL 위치)로부터 검색 또는 액세스 될 수 있거나, 인터넷 상 공개적으로 이용 가능한 정보로부터 액세스 될 수 있다. 상기 데이터 스토어는 최신 스폰서 콘텐트(up-to-date sponsor content)를 포함하기 위해 업데이트 될 수 있다. 이는 자동화된 프로세스일 수 있고, 데이터 스토어(134)는 이용 가능할 때 스폰서 콘텐트를 자동적으로 업데이트 할 수 있다.
4. 스폰서 매칭 시스템
상기 스폰서 매칭 시스템(140)은 스폰서십 기준(144), 플레이어 데이터(148), 기계 학습 구성요소(142), 및 매칭 엔진(146)을 포함할 수 있다. 상기 스폰서 매칭 시스템(140)의 구성요소들은 직접적으로(예를 들어, API 또는 다른 콜(call)을 통해) 또는 다른 구성요소들을 통해 간접적으로 통신 될 수 있다. 예를 들어, 콜은 요청된 디스플레이 생성 명령어들의 준비를 위해 사용되는 데이터 스토어(134) 및 데이터 스토어(134)에 저장된 데이터를 풀링 하는 상기 스폰서십 모니터링 서비스(136)에 대해 이루어질 수 있다. 상기 스폰서 매칭 시스템(140)은 게임 어플리케이션(108)과 관련된 데이터를 얻기 위해 및 게임 어플리케이션(108)에서 사용하기 위한 커스텀 캐릭터 데이터(custom character data)를 제공하기 위해 상기 게임 어플리케이션 호스트 시스템들(132) 및/또는 데이터 스토어(134)와 통신할 수 있다. 상기 스폰서 매칭 시스템(140)은 추가적으로 또는 대안적으로 상기 네트워크(101)를 통해 플레이어 시스템(들)(102), 스폰서 시스템(들)(122) 및/또는 하나 이상의 써드 파티 리소스와 통신할 수 있다.
일부 실시예들에서, 상기 스폰서 매칭 시스템(140)(또는 상기 스폰서 매칭 시스템(140)의 하나 이상의 측면)은 “가상 컴퓨팅 환경(virtual computing environment)”내에 구현되거나 포함될 수 있다. 여기에 사용되는 바와 같이, 상기 용어 “가상 컴퓨팅 환경”은, 예를 들어, 모듈들, 엔진들, 및/또는 여기에 기술된 기능의 하나 이상의 측면들을 구현하기 위해 하나 이상의 프로세서에 의해 실행되는 컴퓨터로 읽을 수 있는 프로그램 명령어들을 포함하는 것으로 대략적으로 (broadly)해석(construed)되어야 한다. 더 나아가, 이 실시예에서, 상기 스폰서 매칭 시스템(140)의 하나 이상의 모듈 또는 엔진(예컨대, 입력 엔진(132), 출력 엔진(108), 스폰서 십 모니터링 서비스(136) 및/또는 매칭 엔진(110))은 가상 컴퓨팅 환경에 의해 수신된 입력들에 응답하여 상기 가상 컴퓨팅 환경의 동작을 수정하기 위한 다른 프로그램 명령어들 또는 규칙들을 실행하는 상기 가상 컴퓨팅 환경의 하나 이상의 규칙 엔진을 포함하는 것으로 이해될 수 있다. 예를 들어, 상기 플레이어 시스템(들)(102)로부터 수신되는 요청은 예를 들어 상기 매칭 엔진(146)이 플레이어들을 스폰서들과 매치하도록, 상기 스폰서십 모니터링 서비스(136)가 게임과 관련된 비디오를 렌더링하는 방법에 대한 명령어들을 생성, 및 상기 생성된 명령어들을 플레이어 시스템(들)(102)로 전송하도록 하기 위해 가상 컴퓨팅 환경의 동작을 수정하는 것으로 이해될 수 있다. 이러한 기능은 다양한 규칙들에 따라 및 입력들에 응답하여 가상 컴퓨팅 환경의 동작의 수정을 포함할 수 있다. 상기 가상 컴퓨팅 환경(본 개시를 통해 기술된 바와 같이)에 의해 구현된 다른 기능은 상기 가상 컴퓨팅 환경의 동작의 수정을 추가로 포함할 수 있고, 예를 들어, 상기 가상 컴퓨팅 환경의 동작은 상기 데이터 스토어(136)으로부터 모아진 정보에 따라 변할 수 있다. 상기 가상 컴퓨팅 환경의 초기 동작은 상기 가상 컴퓨팅 환경의 확립(establishment)으로 이해될 수 있다. 일부 구현들에서, 상기 가상 컴퓨팅 환경은 필요에 따라 신속하게 프로비저닝 될(provisioned) 수 있고 원격으로 액세스할 수 있는 물리적 컴퓨팅 리소스들의 집합(collection)을 포함하는 호스팅 된 컴퓨팅 환경을 포함할 수 있다.
가상 컴퓨팅 환경으로서 스폰서 매칭 시스템(140)의 하나 이상의 측면들을 구현하는 것은 다른 컴퓨팅 디바이스들 또는 프로세서들 상의 시스템의 모듈들 또는 다를 측면들을 유리하게 실행할 수 있도록 할 수 있고, 이는 상기 시스템의 확장성(scalability)을 향상시킬 수 있다. 가상 컴퓨팅 환경으로서 상기 스폰서 매칭 시스템(140)의 하나 이상의 측면들을 구현하는 것은 상기 시스템의 다양한 측면들, 데이터, 또는 모듈들을 서로 샌드박싱(sandboxing)하는 것을 추가로 유리하게 가능하게 할 수 있으며, 이는 예컨대, 스프래딩(spreading)으로부터 상기 시스템으로 악의적인 침입(intrusion)을 방지함으로써 상기 시스템의 보안을 향상시킬 수 있다. 가상 컴퓨팅 환경으로서 스폰서 매칭 시스템(140)의 다양한 측면들을 구현하는 것은 상기 시스템의 모듈들 또는 다양한 측면들의 병렬 실행(parallel execution)을 가능하게 하여 상기 시스템의 확장성을 향상시킬 수 있다. 가상 컴퓨팅 환경으로서 스폰서 매칭 시스템(140)의 다양한 측면들을 구현하는 것은 상기 시스템에 컴퓨팅 리소스들의 프로비저닝(provisioning)(또는 프로비저닝 해제(de-provisioning)) 할 수 있게 하여, 예컨대, 이용 가능한 컴퓨팅 리소스들을 시스템에 확장함으로써 또는 다수의 컴퓨팅 리소스들 상에 상기 시스템의 동작을 복제함으로써 상기 시스템의 확장성을 향상시킬 수 있다. 예를 들어, 상기 시스템은 수천, 수십만 또는 심지어 수백만 명의 사용자에 의해 동시에 사용될 수 있으며, 수 메가 바이트, 기가 바이트 또는 테라 바이트(또는 그 이상)의 데이터는 상기 시스템에 의해 전송 또는 처리될 수 있고, 상기 시스템의 확장성은 이러한 동작이 효율적 및/또는 중단 없는(uninterrupted) 방식으로 동작 가능하게 할 수 있다.
a. 스폰서십 기준
스폰서십 기준(144)은 스폰서 시스템들(122)에 의해 스폰서 매칭 시스템(140)에 제공될 수 있다. 상기 스폰서십 기준(144)은 스폰서십을 위해 스폰서가 선택하고자 하는 게임들 또는 특정 게임의 플레이어들의 타입을 나타낼 수 있다. 상기 스폰서십 기준은 게임들의 식별 또는 플레이 되는 게임들의 타입, 플레이어 랭킹, 평균 플레이 시간, 소셜 미디어/게임 스트리밍 통계(social media/game streaming statistics)(예컨대, 팔로워의 수(number of followers), 평균 시청자(average viewers) 등), 및/또는 다른 명쾌하게 설계된 기준(explicitly designated criteria)과 같은 메트릭들(metrics) 또는 임계 값들(thresholds)을 포함할 수 있다. 상기 스폰서십 기준은 스폰서 매칭 시스템(140)에 의해 생성된 스폰서십 옵션들의 선택을 포함할 수 있다. 상기 스폰서 매칭 시스템(140)은 상기 스폰서에 의해 선택될 수 있는 플레이어들의 일반적인 특징들(general characteristics)을 정의하는 카테고리들(categories)을 제공할 수 있다. 예를 들어, 카테고리들은 라이징 스타(rising stars), 카리스마 있는(charismatic), 인플루언서(influencer), 경쟁적인(competitive), 보기에 즐거운(enjoyable to watch), 재밌는(funny), 제품 푸셔(product pusher), 또는 플레이어 그룹을 쉽게 정의하는 메트릭들을 가지지 않은 다른 그룹들(other groupings)을 포함할 수 있다. 상기 스폰서는 하나 이상의 상기 카테고리를 선택할 수 있을 수 있다. 상기 카테고리는 기계 학습 구성요소를 이용하여 생성될 수 있다. 상기 스폰서십 기준(144)은 구체적 스폰서 자체에 대한 정보를 포함할 수 있다. 예를 들어, 스폰서 비즈니스(sponsors business), 재무(financials), 목표(goals), 또는 회사 자체에 대한 제공된 정보는 스폰서십 기준(144)에 포함될 수 있다. 일부 실시예들에서, 공개적으로 액세스 가능한 소스들로부터 검색될 수 있는(retrieved from) 공개적으로 이용 가능한 정보는 또한 상기 스폰서십 기준에 포함될 수 있다. 추가로, 일부 실시예들에서, 스폰서십 기준은 스폰서가 다른 스폰서들(예컨대, 다른 스폰서들과 함께 디스플레이 될 수 없는 스폰서들)과 상호작용하는 방법을 명시하는(specify) 규칙들 또는 제한들(restrictions)을 포함할 수 있다. 상기 스폰서십 기준(144)은 스폰서로부터 보상을 획득하기(earning rewards) 위한 기준을 식별할 수 있다. 상기 보상 기준은 특정 플레이어에게 보상을 분배하는(distribute) 방법에 대한 지침을 포함할 수 있다. 보상들은 시청자 수, 게임 시간, 광고 클릭(예를 들어, 일부 실시예들에서, 시청자는 스폰서와 관련된 광고의 위치와 대응하는 플레이어 게임 플레이의 스트리밍 된 비디오에서 위치를 선택하여 상기 스폰서와 관련된 웹사이트를 탐색(navigate)할 수 있다), 및/또는 다른 추적할 수 있는 메트릭들과 같은 다양한 게임 플레이 및 소셜 미디어 메트릭들에 기초하여 자동적으로 분배되거나 획득될 수 있다. 일부 실시예들에서, 상기 스폰서 매칭 시스템(140)은 상기 플레이어의 게임플레이의 비디오 또는 스트림 및/또는 보상(compensation)을 전달하기 위해 중개자로서 사용될 수 있다. 일부 실시예들에서, 상기 플레이어는 상기 보상 기준(reward criteria)을 이행함(fulfilling)으로써 가상 통화(virtual currency)를 획득할 수 있다. 가상 통화는 스폰서에 특정적일 수 있으며 (예를 들어, 가상 통화는 스폰서 상품에 대해 교환될 수 있음), 플레이어가 플레이하는 게임 어플리케이션 내에서 사용되는 가상 통화 또는 다른 타입의 가상 통화일 수 있다.
b. 플레이어 데이터
상기 플레이어 데이터(148)는 플레이어 계정과 관련된 데이터를 포함할 수 있다. 상기 플레이어 계정은 하나 이상의 게임의 게임플레이 세션(gameplay session)으로부터의 게임플레이 데이터를 포함할 수 있다. 상기 플레이어 데이터는 플레이어 시스템(102), 또는 상기 인터랙티브 컴퓨팅 시스템(130)으로부터 추적될(tracked) 수 있는 분석들(analytics)을 포함할 수 있다. 상기 플레이어 데이터는 인 게임 텔레메트리 데이터(in-game telemetry data), 소셜 미디어 데이터, 및/또는 플레이어의 게임 플레이 세션(들)과 관련된 다른 데이터를 포함할 수 있다. 인 게임 텔레메트리 데이터는 게임 세션의 길이, 게임 세션 동안 광고가 디스플레이 된 시간, 어떤 광고가 배치 됐는지, 플레이어에 의해 획득된 업적, 광고 배치 위치, 및/또는 게임플레이 세션 동안 기록된 다른 타입의 텔레메트리 데이터와 같은 게임 플레이 세션동안 게임 어플리케이션에 의해 모아진 데이터를 포함할 수 있다. 소셜 미디어 데이터는 얼마나 많은 시청자들이 상기 플레이어의 게임 스트림을 봤는지, 생성된 댓글 수, 스트림 구독자 수(the number of stream subscribers), 사전 녹화된 비디오(예컨대, 유튜브 비디오(YouTube video)) 조회수, 공유 수(number shares), 좋아요 수(number of likes), 및/또는 게임 플레이 세션과 관련된 다른 소셜 메트릭들과 같은 게임 플레이 세션과 관련된 어플리케이션들(트위치(Twitch), 유튜브(YouTube), 트위터(Twitter), 페이스북 (Facebook) 등) 및 소셜 미디어 사이트들과 관련된 데이터를 포함할 수 있다.
상기 게임 플레이 데이터(148)는 또한 플레이어 시스템(102)와 관련된 플레이어의 선호도 또는 다양한 커스터마이제이션(customizations)을 포함할 수 있고, 이는 플레이어 시스템 상의 스폰서 광고를 구현하기 위한 선호도를 나타낼 수 있다. 예를 들어, 플레이어 데이터(148)는 플레이어가 어떤 타입의 스폰서들을 수락할 것인지를 나타내는 플레이어 선호도를 포함할 수 있다. 상기 플레이어 데이터(148) 및/또는 스폰서십 기준(144)은 플레이어가 게임에 대응하는 특정 렌더링 된 비디오에 스폰서 광고를 통합하는 것을 선호하는 방법에 대한 다양한 커스터마이제이션(customizations) 또는 선호도를 포함할 수 있다. 예를 들어, 제1 플레이어 시스템은 임의의 스폰서십 옵션이 사용가능한 경우, 제2 플레이어 시스템과 다른 이용 가능한 스폰서십 옵션을 가질 수 있다.
일부 실시예들에서, 상기 플레이어 선호도는 게임 모드, 기본 설정, 시간, 위치, 등에 기초할 수 있다. 플레이어 데이터(148)는 또한 상기 플레이어 시스템(들)(102)의 기술적 사양(technical specifications)을 포함할 수 있다. 상기 플레이어 데이터(148)는 상기 데이터 스토어(134)에 저장될 수 있다.
c. 매칭 엔진
상기 매칭 엔진(146)은 플레이어들과 스폰서들을 매치한다. 상기 매칭 엔진은 하나 이상의 스폰서십 기준(144)을 만족시키는 특정 게임 또는 게임들의 플레이어들을 식별할 수 있다. 상기 플레이어들의 식별은 상기 스폰서십 기준(144), 플레이어 데이터(148), 기계 학습 구성요소에 의해 생성된 매칭 모델들, 정의된 규칙들 또는 매칭 알고리즘들, 및/또는 다른 매칭 기준에 기초할 수 있다.
일부 실시예들에서, 상기 매칭 엔진(146)은 상기 스폰서십 기준과 관련된 플레이어(들)에 대한 추가적 통계를 결정하기 위해 인공 지능(AI) 또는 기계 학습을 사용하여 생성 된 하나 이상의 예측 모델을 사용할 수 있다. 상기 예측에 기초하여, 상기 스폰서 매칭 시스템(140)은 이후 임계 시간 내에 상기 스폰서십 기준을 충족시킬 수 있거나, 상기 스폰서십 기준에 명백하게 정의되지 않은 기준을 충족시킬 수 있는 플레이어들을 식별할 수 있다. 이러한 구성은 플레이어가 유명해지기 전에 플레이어들을 식별할 수 있기 때문에 스폰서에게 바람직할 수 있다.
상기 매칭 엔진(146)에 의해 결정된 매치들의 결과 또는 예측된 매치들은 스폰서들과 플레이어들을 매칭시키기에 적합한 스폰서십 기준(144) 및/또는 플레이어 데이터(148)의 일부 또는 전부를 사용하여 생성될 수 있다. 상기 매칭 엔진(146)은 특정 카테고리의 플레이어들의 그룹을 식별하도록 구성될 수 있다. 예를 들어, 카테고리는 상위 10%의 플레이어들(top 10% of players), 라이징 스타들(rising stars)(예를 들어, 특정 양의 특정 시간 주기동안 다른 플레이어들에 비해 플레이어 랭킹을 향상시키는 플레이어들), 성별에 따른 플레이어들, 카테고리들의 조합, 등을 포함할 수 있다. 상기 매칭 엔진은 또한 추천들, 스폰서 선택들, 플레이어 선택들 등을 생성할 수 있다.
d. 기계 학습 구성요소
기계 학습 구성요소(142)는 추가 또는 업데이트된 그룹의 플레이어들을 이전에 생성된 카테고리들 또는 새롭게 생성된 카테고리들로 결정하기 위해 플레이어 데이터(148)를 분석하고 스폰서들과 플레이어들을 매칭시키는 스폰서 매칭 시스템(140)을 돕기 위해 사용될 수 있다. 기계 학습 구성요소(142)는 카테고리들을 위한 파라미터 함수들 또는 하나 이상의 예측 모델을 생성하기 위해 하나 이상의 기계 학습 알고리즘을 사용할 수 있다. 상기 카테고리들은 상기 스폰서에 의해 선택될 수 있는 플레이어들의 일반적 특징들을 정의할 수 있다. 예를 들어, 카테고리들은 라이징 스타(rising stars), 카리스마 있는(charismatic), 인플루언서(influencer), 경쟁적인(competitive), 보기에 즐거운(enjoyable to watch), 재밌는(funny), 제품 푸셔(product pusher), 또는 플레이어 그룹을 쉽게 정의하는 메트릭들을 가지지 않은 다른 그룹들(other groupings)을 포함할 수 있다. 상기 기계 학습 구성요소는 각 카테고리 및/또는 하나 이상의 카테고리의 조합 내에서 플레이어들을 식별하는 모델들을 생성하도록 구성될 수 있다. 이들 예측 모델 중 하나 이상은 입력 세트(set of inputs)에 기초한 발생(occurrence) 또는 기대 값(expected value)을 결정하기 위해 사용될 수 있다.
예를 들어, 상기 기계 학습 구성요소(142)는 상기 매칭 엔진(146)에 의해 실행되는 매칭 모델들을 생성하기 위해 기계 학습 알고리즘들 또는 AI를 구현할 수 있다. 기계 학습 모델들은 스폰서십 기준(144) 및/또는 존재하는 플레이어 데이터(148)에 기초하여 플레이어들과 스폰서들을 매치하거나 플레이어들을 식별하기 위해 사용될 수 있다. 예측들은 상기 명백하게 정의된 스폰서십 기준(144)은 충족하지 않지만 향후 상기 스폰서십 기준(144)은 충족할 수 있는 플레이어들을 포함할 수 있다. 일부 실시예들에서, 예를 들어, 상기 기계 학습 모델들에 기초하여 플레이어들을 식별하는 새로운 카테고리들(예컨대, 라이징 스타 카테고리)이 있을 수 있다.
다수의 상이한 알고리즘들은 상기 모델들을 생성하기 위해 상기 기계 학습 구성요소(142)에 의해 사용될 수 있다. 예를 들어, 본 명세서의 특정 실시예들은 로지스틱 회귀 모델(logistical regression model), 결정 트리(decision trees), 랜덤 포레스트(random forests), 컨벌루전 뉴럴 네트워크(convolutional neural networks), 딥 네트워크(deep networks) 등을 사용할 수 있다. 그러나, 선형 회귀 모델(linear regression model), 이산 선택 모델(discrete choice model), 또는 일반화된 선형 모델과 같은 다른 모델 또한 가능하다. 상기 기계 학습 알고리즘은 기계 학습 구성요소(142)에 의해 수신된 새로운 입력에 기초하여 시간이 지남에 따라 상기 모델을 적응적으로(adaptively) 개발하고 업데이트하도록 구성될 수 있다. 예를 들어, 상기 모델들은 플레이어 정보가 시간이 지남에 따라 진화함에 따라 상기 모델 내 상기 예측을 정확하게 유지하는 데 도움이 되는 새로운 플레이어 정보가 이용 가능하기 때문에 주기적으로 재생성 될 수 있다. 상기 기계 학습 구성요소(142)는 본 명세서에서 더 상세히 설명된다.
파라미터 함수들 또는 예측 모델들을 생성하고 업데이트 하는데 사용될 수 있는 기계 학습 알고리즘의 일부 비 제한적인(non-limiting) 예시들은 회귀 알고리즘들(예를 들어, 보통 최소 제곱 회귀(Ordinary Least Squares Regression)와 같은), 인스턴스 기반 알고리즘들(instance-based algorithms)(예를 들어, 학습 벡터 양자화법(Learning Vector Quantization)과 같은), 결정 트리 알고리즘들(decision tree algorithms)(예를 들어, 분류 및 회귀 트리들(classification and regression trees)과 같은), 베이지안 알고리즘들(Bayesian algorithms)(예를 들어, 나이브 베이즈(Naive Bayes)와 같은), 클러스터링 알고리즘들(clustering algorithms)(예를 들어, 케이-평균 클러스터링(k-means clustering)과 같은), 연관 규칙 학습 알고리즘들(association rule learning algorithms)(예를 들어, 선험적 알고리즘들(Apriori algorithms)과 같은), 인공 신경 네트워크 알고리즘들(artificial neural network algorithms)(예를 들어, 퍼셉트론(Perceptron)과 같은), 딥 학습 알고리즘들(deep learning algorithms)(예를 들어, 딥 볼츠만 기계(Deep Boltzmann Machine)와 같은), 차원 감소 알고리즘(dimensionality reduction algorithms)(예를 들어, 주요 구성 요소 분석(Principal Component Analysis)과 같은), 앙상블 알고리즘들(ensemble algorithms)( 예를 들어, 스택 일반화(Stacked Generalization)와 같은) 및/또는 다른 기계 학습 알고리즘들을 포함하는 지도 및 비 지도 기계 학습 알고리즘들(supervised and non-supervised machine learning algorithms)을 포함할 수 있다.
이러한 기계 학습 알고리즘은 케이-평균 클러스터링과 같은 계층적 클러스터링 알고리즘 및 클러스터 분석 알고리즘을 포함하는 임의의 타입의 기계 학습 알고리즘을 포함할 수 있다. 일부 경우 상기 기계 학습 알고리즘의 수행은 인공 신경망(artificial neural network)의 사용을 포함할 수 있다. 기계 학습 기술을 사용함으로써, 많은 양(테라 바이트 또는 페타 바이트와 같은)의 플레이어 상호작용 데이터가 분석되어 모델들을 생성할 수 있다.
5. 스폰서십 모니터링 서비스
스폰서십 모니터링 서비스(136)는 플레이어에 의한 스폰서십 콘텐트의 사용을 모니터링할 수 있다. 스폰서십 모니터링 서비스(136)는 플레이어들에 대한 보상의 할당을 결정하기 위해 스폰서십 콘텐트와 관련된 데이터를 모니터링 할 수 있다. 상기 모니터링 된 데이터는 인 게임 텔레메트리 데이터, 소셜 미디어 데이터 및/또는 플레이어의 게임플레이 세션(들)과 관련된 다른 데이터를 포함할 수 있다. 인 게임 텔레메트리 데이터는 게임 세션의 길이, 게임 세션 동안 광고가 디스플레이 된 시간, 어떤 광고가 배치 됐는지, 플레이어에 의해 획득된 업적, 광고 배치 위치, 및/또는 게임플레이 세션 동안 기록된 다른 타입의 텔레메트리 데이터와 같은 게임 플레이 세션동안 게임 어플리케이션에 의해 모아진 데이터를 포함할 수 있다. 소셜 미디어 데이터는 얼마나 많은 시청자들이 상기 플레이어의 게임 스트림을 봤는지, 생성된 댓글 수, 스트림 구독자 수(the number of stream subscribers), 사전 녹화된 비디오(예컨대, 유튜브 비디오(YouTube video)) 조회수, 공유 수(number shares), 좋아요 수(number of likes), 및/또는 게임 플레이 세션과 관련된 다른 소셜 메트릭들과 같은 게임 플레이 세션과 관련된 어플리케이션들(트위치(Twitch), 유튜브(YouTube), 트위터(Twitter), 페이스북 (Facebook) 등) 및 소셜 미디어 사이트들과 관련된 데이터를 포함할 수 있다.
일부 실시예들에서, 상기 스폰서십 모니터링 서비스(136)는 모니터링 된 데이터의 보고서(report)를 생성하고 상기 보고서를 스폰서들에게 제공하도록 구성될 수 있다. 상기 스폰서십 모니터링 서비스(136)는 후원 받은 플레이어들(sponsored players)에 액세스 하고 모니터링하기 위해 스폰서십을 요청하도록 스폰서 시스템에 의해 사용되는 동일한 인터페이스 시스템과 같이 스폰서 시스템들에 의해 액세스 할 수 있는 네트워크 기반 인터페이스(network-based interface)를 제공하도록 구성될 수 있다. 예를 들어, 스폰서는 후원 받은 플레이어들과 관련된 통계들, 플레이어의 게임플레이 세션들의 비디오들, 소셜 미디어 정보에 대한 링크들을 볼 수 있을 수 있고, 후원 받은 플레이어들과 관련된 다른 타입의 데이터에 대한 액세스 할 수 있을 수 있다.
B. 플레이어 시스템(들)
일부 실시예들에서, 플레이어 시스템(들)(102)은 비디오 게임의 플레이어에 의해 제어될 수 있다. 플레이어 시스템(들)(102)은 통신 네트워크(101)를 통한 통신을 확립하기 위한 하드웨어 및 소프트웨어 구성요소를 포함할 수 있다. 예를 들어, 플레이어 시스템(들)(102)은 하나 이상의 네트워크(예를 들어, 인터넷 또는 인트라넷)를 통한 통신을 용이하게 하는 네트워킹 장비(networking equipment) 및 네트워크 소프트웨어 어플리케이션(network software applications)(예를 들어, 웹 브라우저)을 구비할 수 있다. 상기 플레이어 시스템(들)(102)은 중앙 처리 장치(central processing units) 및 아키텍처(architectures), 메모리, 매스 스토리지(mass storage), 그래픽 처리 장치(graphics processing units), 통신 네트워크 가용성(communication network availability) 및 대역폭 등과 같은 다양한 로컬 컴퓨팅 리소스들(104)을 가질 수 있다. 더 나아가, 상기 플레이어 시스템(들)(102)은 임의의 타입의 컴퓨팅 시스템을 포함할 수 있다. 예를 들어, 플레이어 시스템(들)(102)은 데스크탑들, 랩탑들, 게임 어플리케이션 플랫폼들, 가상 현실 시스템들, 증강 현실 시스템들, 텔레비전 셋톱 박스들, 텔레비전들(예를 들어, 인터넷 TV들), 네트워크 가능한 키오스크들 네트워크 가능한 키오스크들(network-enabled kiosks), 자동차-콘솔 디바이스(car-console devices) 컴퓨터 가전제품들(computerized appliances), 웨어러블 디바이스들(wearable devices)(예를 들어, 컴퓨팅 기능이 있는 스마트 워치들 및 안경들(smart watches and glasses with computing functionality)), 및 무선 모바일 디바이스들(wireless mobile devices)(예를 들어, 스마트폰들, PDA들, 태블릿들 등)와 같은 임의의 타입의 컴퓨팅 디바이스(들)를 포함할 수 있다. 일부 실시예들에서, 플레이어 시스템(들)(102)은 아래에 기술된 구성요소들 또는 실시예들 중 하나 이상을 포함할 수 있다.
일부 실시예들에서, 플레이어 시스템(들)(102)은 사용자의 비디오를 기록할 수 있는 웹캠(webcam), 캠코더(camcorder), 카메라, 휴대폰의 카메라 등을 포함할 수 있다. 플레이어 시스템(들)(102)은 사용자의 목소리를 기록할 수 있는 마이크(microphone), 오디오 입력이 있는 헤드셋, 오디오 입력이 있는 웹캠 등을 포함할 수 있다. 플레이어 시스템(들)(102)은 게임플레이 동안 사용자의 화면(screen)의 스트림을 기록하고 플레이어 입력(마우스 및/또는 키보드의 입력 같은)을 기록하는 등을 위한 사용자 화면 캡처 모듈을 포함할 수 있다.
1. 게임 어플리케이션
일부 실시예들에서, 플레이어 시스템(들)(102)은 로컬 및/또는 분산된 환경에서 저장 및/또는 실행될 수 있는 하나 이상의 게임 어플리케이션(108)을 실행할 수 있다. 로컬로 실행되는 게임 어플리케이션(108)에서, 일반적으로 게임은 상기 게임 어플리케이션(108)을 실행하기 위해 외부의 컴퓨팅 시스템(예를 들어, 인터랙티브 컴퓨팅 시스템(130))에 의존하거나 이용하지 않는다. 일부 경우에, 로컬로 실행할 수 있는 게임은 게임 패치(game patches), 게임 인증(game authentication), 클라우드 저장(clouds saves), 커스텀 가상 캐릭터 데이터(custom virtual character data), 사용자 계정 데이터(user account data) 또는 다른 특징과 같은 게임과 관련된 정보를 검색하기 위해 외부 서버와 통신 할 수 있다. 분산 게임 어플리케이션들에서(distributed game applications), 플레이어 시스템(들)(102)은 게임 및 인터랙티브 컴퓨팅 시스템(130)의 부분을 실행할 수 있거나 어플리케이션 호스트 시스템(132)은 게임의 다른 부분을 실행할 수 있다. 예를 들어, 상기 게임은 플레이어 시스템(들)(102)에 의해 실행되는 클라이언트 부분과 하나 이상의 어플리케이션 호스트 시스템(132)에 의해 실행되는 서버 부분을 포함하는 대규모 멀티 플레이어 온라인 롤플레잉 게임 (MMORPG) 일 수 있다. 상기 게임 어플리케이션(108)은 멀티 플레이어 게임(예를 들어, 대규모 멀티 플레이어 온라인 롤플레잉 게임(MMORPG), 멀티 플레이어 1 인칭 슈팅 게임 (FPS), 모바일 온라인 배틀 경기장(MOBA), 레이싱 게임, 스포츠 게임, 및 다른 멀티플레이어 게임과 같은) 및 싱글 플레이어 게임(예를 들어, 롤플레잉 게임(RPG), 어드벤처 게임, 퍼즐 게임, 및 다른 싱글 플레이어 게임)을 포함하는 임의의 타입의 게임일 수 있다.
플레이어 시스템(들)(102)은 어플리케이션 데이터 스토어(106)에 적어도 부분적으로 저장된 소프트웨어 코드에 기초하여 게임 어플리케이션(108)을 실행할 수 있다. 게임 어플리케이션(108)은 비디오 게임, 게임, 게임 코드 및/또는 게임 프로그램으로 지칭될 수도 있다. 게임 어플리케이션(108)은 플레이어 시스템(들) (102)이 사용자에게 게임을 제공하기 위해 사용할 수 있는 소프트웨어 코드를 포함하는 것으로 이해되어야 한다. 게임 어플리케이션(108)은 플레이어 시스템(들)(102)에게 프로세서 명령을 실행하도록 알리는 소프트웨어 코드를 포함할 수 있지만, 상수(constants), 이미지 및 다른 데이터 구조에 관한 데이터와 같은 게임의 재생에 사용되는 데이터를 포함할 수도 있다. 도시된 실시예에서, 게임 어플리케이션(108)은 게임 엔진(110), 게임 데이터(112), 게임 상태 정보(116) 및 기록 및 플레이백(playback) 모듈(114)을 포함한다. 기록 및 플레이백(playback) 모듈(114)은 게임플레이 플레이백 시스템의 다양한 측면들을 구현하기 위해 사용될 수 있다.
게임 어플리케이션(108)은 게임 어플리케이션 (108)의 렌더링 엔진에 의해 생성된 렌더링 된 프레임 내에 스폰서십 콘텐트를 디스플레이 하도록 구성될 수 있다. 상기 스폰서십 데이터는 게임플레이 프레임들과 오버레이 또는 렌더링하기 위해 이미지 또는 광고와 같은 스폰서십 콘텐트를 포함해야 하는 게임 인터페이스의 부분들을 식별하는 명령어들을 포함할 수 있다. 상기 명령어는 스폰서 매칭 시스템(140)이 원격 데이터 스토어(remote data store)(123)로부터 어떤 데이터를 획득해야 하는지를 나타낼 수 있다. 일부 실시예들에서, 스폰서와 관련된 상기 이미지(들)는 데이터 스토어(134)로부터 저장되고 액세스 될 수 있다. 게임 어플리케이션은 게임 어플리케이션의 런타임 동안 디스플레이하기 위해 데이터 스토어(134)로부터 하나 이상의 스폰서와 관련된 스폰서 콘텐트(예를 들어, 콘텐트는 이미지, 애니메이션 또는 비디오를 포함할 수 있음)를 요청할 수 있다. 일부 실시예들에서, 상기 스폰서십 매칭 서비스(140)은 게임 플레이 세션동안 게임 어플리케이션의 디스플레이 동안 특정 커스터마이즈 된 인터페이스 또는 비디오 엘리먼트들을 포함하도록 하는 명령어들을 게임 어플리케이션에 제공할 수 있다.
a. 게임 엔진
상기 게임 엔진(110)은 플레이어 시스템(들)(102) 내에서 게임 어플리케이션 (108)의 동작의 측면들을 실행하도록 구성될 수 있다. 게임 어플리케이션 내에서 게임 플레이의 측면들의 실행은 적어도 부분적으로 수신된 플레이어 입력, 게임 데이터(112) 및 게임 상태 정보(116)에 기초할 수 있다. 게임 엔진(110)은 게임 규칙에 따라 게임 내에서 게임 플레이를 실행할 수 있다. 게임 규칙의 예는 스코어링을 위한 규칙, 가능한 입력, 액션/이벤트, 입력에 대한 움직임 등을 포함할 수 있다. 다른 구성요소들은 어떤 입력들을 받아들이고 게임이 어떻게 진행할지 및 게임플레이의 다른 측면들을 제어할 수 있다. 상기 게임 엔진(110)은 플레이어 입력을 수신하고 액션, 점프, 달리기, 던지기, 공격, 및 게임 어플리케이션을 위한 적절한 다른 이벤트들을 결정할 수 있다. 런타임 동작 동안, 게임 엔진(110)은 적절한 인 게임 이벤트(in-game events)를 결정하기 위해 게임 데이터(112) 및 게임 상태 정보(116)를 읽을 수 있다.
b. 게임 데이터
게임 데이터(112)는 게임 규칙, 미리 기록 된 모션 캡처 포즈/경로(prerecorded motion capture poses/paths), 환경 설정, 환경 객체, 제약(constraints), 골격 모델(skeleton models), 튜토리얼 정보(tutorial information), 루트 정보(route information) 및/또는 다른 게임 어플리케이션 정보를 포함할 수 있다. 게임 데이터(112)의 적어도 일부는 어플리케이션 데이터 스토어(106)에 저장될 수 있다. 일부 실시예에서, 게임 데이터 (112)의 일부는 인터랙티브 컴퓨팅 시스템(130)과 관련된 원격 데이터 스토어(도시되지 않음)와 같이 원격으로 수신 및/또는 저장될 수 있다. 이러한 실시예들에서, 게임 데이터는 게임 어플리케이션의 런타임 동안 수신될 수 있다.
c. 게임 상태 데이터
런타임 동안, 게임 어플리케이션(108)은 게임 상태 정보(116)를 저장할 수 있으며, 이는 게임 상태, 캐릭터 상태, 환경 상태, 장면 객체 스토리지(scene object storage), 루트 정보(route information) 및/또는 게임 어플리케이션(108)의 런타임 상태와 관련된 다른 정보를 포함할 수 있다. 예를 들어, 게임 상태 정보(116)는 캐릭터 위치, 캐릭터 방향(character orientation), 캐릭터 액션, 게임 레벨 속성(game level attributes), 및 게임 상태에 기여하는 기타 정보와 같은 특정 시점(specific point in time)에서 게임 어플리케이션(108)의 상태를 식별할 수 있다. 상기 게임 상태 정보는 캐릭터 이동 포지션(character movement positions)과 같은 게임 플레이 세션 동안 변하는 동적 상태 정보 및 게임 플레이 세션 동안 일정한 정적 상태 정보를 포함할 수 있다. 일부 실시예들에서, 게임 상태 정보의 적어도 일부는 초당 여러 번과 같은 주기적으로 업데이트 될 수 있다. 일부 실시예들에서, 게임 상태 정보는 이벤트 기반으로 업데이트 될 수 있다.
d. 기록 및 플레이백 모듈(Record and Playback Module)
일부 실시예들에서, 기록 및 플레이백 모듈(114)은 게임 어플리케이션 (108)에 의해 내장된 상태 파라미터를 갖는 게임 플레이 비디오의 기록을 구현하도록 구성될 수 있다. 상기 기록 및 플레이백 모듈(114)은 게임 플레이 비디오의 기록 동안 저장되는 정의된 상태 파라미터 세트(defined set of state parameters)의 식별을 포함할 수 있다. 상태 파라미터는 비디오 파일, 별도의 파일, 또는 네트워크 기반 데이터 스토어와 같은 별도의 위치에 저장될 수 있다. 상기 정의된 상태 파라미터 세트는 게임 환경 내에서 게임 상태를 정의하기 위해 게임 어플리케이션에 의해 사용되는 전체 상태 파라미터의 서브세트(subset of the total state parameters)일 수 있다. 일부 실시예들에서, 상기 정의된 상태 파라미터 세트는 게임 플레이 상태의 생성에 필요한 최소 개수의 상태 파라미터 일 수 있다. 일부 실시예들에서, 일부 실시예에서, 기록된 상태 파라미터는 게임 내에서 플레이어 캐릭터의 액션에 영향을 주는 상태 파라미터로 제한될 수 있다. 일부 실시예들에서, 상기 하나 이상의 파라미터는 게임 배급사(game distributor), 사용자, 또는 다른 것에 의해 미리 선택될 수 있다.
여기에서 사용되는 용어 "플레이어 캐릭터"는 사용자에 의해 제어되는 가상 개체(virtual entity)를 지칭한다. 상기 플레이어 캐릭터는 사람, 차량, 사람 그룹, 팀, 물체 또는 다른 개체를 포함하지만 이에 제한되지 않는 사용자에 의해 제어되는 개체를 지칭할 수 있다.
일부 실시예들에서, 정의된 파라미터는 게임 어플리케이션 내에서 게임 상태를 생성하기 위해 사용되는 상태 파라미터를 포함한다. 상태 파라미터의 일부 예는 위치 파라미터(positional parameters)(예를 들어, 모멘텀(momentum), 캐릭터 위치, 다른 캐릭터와의 근접성(proximity) 등과 같은), 게임 환경 파라미터(예를 들어, 게임 환경 내의 구성 요소의 상태, 게임 레벨, 카메라 위치, 아이템의 위치 등과 같은), 플레이어 캐릭터 파라미터(예를 들어, 플레이어 아이템, 플레이어 캐릭터 레벨, 플레이어 캐릭터 속성 및 기술 등과 같은), 비 플레이어 캐릭터 파라미터 (예를 들어, 예를 들어, 비 플레이어 캐릭터 위치, 플레이어와의 근접성, 게임 상태 내의 활동과 같은), 및 게임 상태 생성을 위한 다른 타입의 상태 파라미터를 포함한다.
상기 파라미터는 특정 게임 어플리케이션에 따라 선택 및 정의될 수 있다. 각 에임 어플리케이션은 게임 상태의 생성을 위해 기록 및 사용되는 상이한 파라미터를 가질 수 있다. 정의된 시간 간격으로 각 정의된 상태 매개 변수와 연관된 값이 기록된다. 일부 실시예에서, 상기 기록 및 플레이백 모듈(114)은 기록시 게임의 상태에 기초하여 동적으로 상태 파라미터를 선택한다. 예를 들어,정의된 상태 파라미터의 수는 게임의 상태에 따라 달라질 수 있다. 일부 실시예들에서, 상기 정의된 상태 파라미터의 세트는 게임의 현재 상태와 관계없이 동일하다. 일부 실시예들에서, 모든 상태 파라미터는 각각의 시간 간격으로 저장된다.
일부 실시예들에서, 기록 및 플레이백 모듈(114)은 상태 파라미터가 기록되는 주파수를 결정할 수 있다. 일부 실시예들에서, 상기 주파수는 개발자, 사용자, 또는 다른 것에 의해 결정될 수 있다. 기록 이벤트 사이에 상기 정의된 시간 간격은 주기적일 수 있다. 예를 들어, 정의된 상태 파라미터 세트는 매초, 2 초마다, 500 밀리 초마다 또는 임의의 다른 정의된 시간 주기마다 기록될 수 있다. 상태 파라미터의 각각의 기록된 데이터 세트(dataset)는 다른 기록된 데이터 세트와 독립적일 수 있어서, 상기 데이터 세트는 이전 데이터 세트에 의존하지 않고 게임 상태를 재생성 한다. 일부 실시예들에서, 상기 시스템은 게임 상태를 재현하기 위해 다수의 데이터 세트를 이용할 수 있다.
일부 구현에서, 상기 기록 및 플레이백 모듈(114)은 게임 플레이 비디오 내에 저장된 상태 파라미터에 기초하여 게임 상태를 재생성 하도록 구성될 수 있다. 기록 및 플레이백 모듈(114)은 부분적으로 정의된 상태 파라미터 세트와 연관된 저장된 값들에 기초하고 게임 어플리케이션(108)과 연관된 추가 정보를 사용하여 게임 상태를 생성할 수 있다. 상기 추가 정보는 게임플레이 비디오에 저장되지 않은 정보를 채우는 데 사용될 수 있다. 저장된 게임 상태에 특유하지 않은 정보를 사용하는 것은 게임 상태의 특정 측면에서 변형이 발생할 수 있다. 예를 들어, 스타디움에 있는 팬, 날씨, 컬러, 또는 게임 상태의 다른 엘리먼트(elements)는 원래 상태(original state)와 다를 수 있다. 유리하게는, 일부 실시예들에서, 상기 정의된 상태 파라미터는 사용자에 대한 게임 플레이 특성에 영향을 미치는 게임 상태를 생성하는데 필요한 정보만을 저장하도록 구성될 수 있다. 일부 실시예들에서, 상기 기록 및 플레이백 모듈(114)은 비디오, 오디오 및 게임 플레이 비디오와 관련된 다른 데이터를 동기화 할 수 있다. 예를 들어, 상기 비디오, 오디오 및 게임 상태 데이터는 별도 데이터 스토어와 같이 다른 위치에 저장될 수 있으며, 게임 플레이 비디오와 관련된 참조 식별자(reference identifier)는 비디오, 오디오, 게임 상태 데이터 등과 같은 관련된 게임플레이 비디오 데이터에 액세스하기 위해 사용될 수 있다.
2. 어플리케이션 데이터 스토어
일부 실시예들에서, 플레이어 시스템(들)(102)은 어플리케이션 데이터 스토어(106)를 포함할 수 있다. 상기 어플리케이션 데이터 스토어(106)는 하나 이상의 게임 어플리케이션과 연관된 데이터, 인터랙티브 컴퓨팅 시스템(130)에 의해 사용자에 대해 유지되는 계정과 관련된 로컬 계정 정보 및/또는 다른 게임 관련 또는 계정 관련 데이터를 저장하도록 구성될 수 있다. 일부 실시예들에서, 데이터 스토어(106)는 플레이어와 관련된 플레이어 시스템(102)상에서 하나 이상의 게임을 플레이하는 플레이어와 관련된 플레이어 데이터를 저장할 수 있다. 플레이어 데이터는 인터랙티브 컴퓨팅 시스템(130)과 관련하여 위에서 더 상세히 기술된다(예를 들어, 플레이어 데이터(148)).
C. 스폰서 시스템(들)
일부 실시예들에서, 스폰서 시스템(들)(122)은 스폰서에 의해 제어된다. 상기 스폰서 시스템(들)(122)은 통신 네트워크(101)를 통해 통신을 확립하기 위한 하드웨어 및 소프트웨어 구성요소를 포함할 수 있다. 예를 들어, 스폰서 시스템(들)(122)은 하나 이상의 네트워크(예를 들어, 인터넷 또는 인트라넷)를 통한 통신을 용이하게 하는 네트워킹 장비(networking equipment) 및 네트워크 소프트웨어 어플리케이션(network software applications)(예를 들어, 웹 브라우저)을 구비할 수 있다. 스폰서 시스템(들)(122)은 중앙 처리 장치(central processing units) 및 아키텍처(architectures), 메모리, 매스 스토리지(mass storage), 그래픽 처리 장치(graphics processing units), 통신 네트워크 가용성(communication network availability) 및 대역폭 등과 같은 다양한 로컬 컴퓨팅 리소스들(104)을 가질 수 있다. 더 나아가, 스폰서 시스템(들)(122)은 임의의 타입의 컴퓨팅 시스템을 포함할 수 있다. 예를 들어, 스폰서 시스템(들)(122)은 데스크탑들, 랩탑들, 게임 어플리케이션 플랫폼들, 가상 현실 시스템들, 증강 현실 시스템들, 텔레비전 셋톱 박스들, 텔레비전들(예를 들어, 인터넷 TV들), 네트워크 가능한 키오스크들 네트워크 가능한 키오스크들(network-enabled kiosks), 자동차-콘솔 디바이스(car-console devices) 컴퓨터 가전제품들(computerized appliances), 웨어러블 디바이스들(wearable devices)(예를 들어, 컴퓨팅 기능이 있는 스마트 워치들 및 안경들(smart watches and glasses with computing functionality)), 및 무선 모바일 디바이스들(wireless mobile devices)(예를 들어, 스마트폰들, PDA들, 태블릿들 등)와 같은 임의의 타입의 컴퓨팅 디바이스(들)를 포함할 수 있다. 일부 실시예들에서, 스폰서 시스템(들)(122)은 아래에 기술된 구성요소들 또는 실시예들 중 하나 이상을 포함할 수 있다.
D. 비디오 스트리밍 서비스
상기 비디오 스트리밍 서비스(118)는 콘텐트를 방송하는 사용자로부터 콘텐츠를 스트리밍 할 수 있다. 방송 콘텐트(broadcast content)는 방송 컴퓨팅 시스템(broadcast computing system) 또는 플레이어 시스템(102)에 의해 제공될 수 있다. 상기 방송 컴퓨팅 시스템은 비디오 스트리밍 서비스(118)상에서 사용자 계정을 갖는 사용자와 연관될 수 있다. 방송 사용자는 비디오 게임 어플리케이션(108)과 관련된 방송을 제공할 수 있으며, 상기 방송은 게임 실시간으로 어플리케이션(108)을 플레이하는 사용자의 라이브 스트림(live stream)을 포함한다. 예를 들어, 상기 방송은 비디오 게임의 플레이 쓰루(playthroughs of video games,), e- 스포츠 경쟁의 방송, 크리에이티브 콘텐트(creative content) 및 다른 타입의 콘텐트를 포함할 수 있다. 이러한 비디오는 본 명세서에 기술된 스폰서십 데이터를 포함할 수 있다.
비디오 스트리밍 서비스(118)는 시청자들이라고도 불리는 시청하는 사용자들에게 콘텐트를 시청하기 위한 다양한 옵션을 제공할 수 있다. 비디오 스트리밍 서비스의 콘텐트는 실시간으로 또는 언제든지(on-demand) 볼 수 있다. 상기 콘텐트는 다양한 품질 레벨(various levels of quality)(예를 들어, 고화질 또는 표준 화질과 같은)로 볼 수 있다. 시청자 컴퓨팅 시스템(124)을 사용하여 비디오 스트리밍 서비스(118)와 인터페이스 하는 시청하는 사용자는 다양한 타입의 비디오 콘텐트에 액세스하기 위한 검색 함수(search function)에 액세스 할 수 있다. 예를 들어, 사용자들은 게임 제목, 특집 게임(featured games), 이벤트, 방송자(broadcaster), 인기도, 비디오 게임 시스템, 선호 채널 또는 다른 주제별로 콘텐트를 검색할 수 있다. 비디오 스트리밍 서비스는 사용자에게 방송자 및 다른 시청자와 통신하기 위한 인터페이스를 제공하는 채팅 기능(chat functionality)을 제공할 수 있다. 채팅 기능에는 오디오 및 텍스트 기반 채팅 시스템이 포함될 수 있다. 일부 실시예들에서, 스트림은 게임 어플리케이션 (108)의 게임 플레이에 대한 오디오 해설(audio commentary)을 제공하는 방송자와 다른 아나운서를 포함할 수 있다. 스트리밍 비디오 서비스(118)는 또한 시청자에 의해 단일 시청 가능 스트림(single viewable stream)에 통합된 다수의 콘텐트 스트림에 대한 스트리밍 능력을 제공할 수 있다. 예를 들어, 스트리밍 채널은 게임 플레이 스트림으로도 지칭되는 게임 어플리케이션(108)의 스트림 (게임 어플리케이션 스트림(108)의 게임 플레이로부터의 오디오 및 비디오 데이터를 포함하는) 및 방송자 스트림이라고도 지칭되는 방송자의 스트림 (오디오 및 / 또는 방송사의 비디오 데이터를 포함하는)을 포함할 수 있다.
1. 게임 어플리케이션 인터페이스 모듈
게임 어플리케이션 인터페이스 모듈(120)은 콘텐츠를 비디오 스트리밍 서비스(118)로 직접 스트리밍하기 위해 플레이어 시스템(102) 또는 방송 컴퓨팅 시스템 상에 위치한 게임 어플리케이션과 인터페이스 하도록 구성될 수 있다. 예를 들어, 게임 어플리케이션 인터페이스 모듈(120)은 게임 콘솔(예를 들어 Xbox®콘솔과 같은), 게임 호스팅 소프트웨어 어플리케이션(예를 들어, Electronic Art 's Origin 소프트웨어와 같은), 특정 게임 어플리케이션, 비디오 카드 소프트웨어 어플리케이션, 및 비디오 스트리밍 서비스(118)에 대해 게임플레이 스트림을 방송할 수 있는 다른 시스템들과 인터페이스 하도록 구성될 수 있다. 일부 실시예들에서, 게임 플레이 스트림은 게임 어플리케이션(108)의 라이브 게임플레이 세션과 관련된 게임 플레이 상태 정보와 같은 게임 플레이 데이터를 포함할 수 있다. 게임 어플리케이션 인터페이스 모듈(120)은 인터랙티브 컴퓨팅 시스템(130)과 통신할 수 있다. 일부 실시예들에서, 게임 어플리케이션 인터페이스 모듈은 게임 플레이 스트림과 연관된 게임 플레이 정보를 인터랙티브 컴퓨팅 시스템(130)에 전달하도록 구성된 플러그인 타입 모듈(plugin type module)을 가질 수 있다. 예를 들어, 비디오 스트리밍 서비스(118)는 시청자 컴퓨팅 시스템(viewer computing system)(124)과 같은 시청자(viewer)에게 스트리밍 된 게임 어플리케이션 (108)에 대한 액세스를 제공하기 위해 사용되는 게임 플레이 정보를 게임 어플리케이션 스트리밍 서비스(138)에 제공할 수 있다.
E. 시청자(뷰어) 컴퓨팅 시스템(Viewer Computing System)
컴퓨팅 환경(100)은 시청자 컴퓨팅 시스템(124)의 실시예를 도시한다. 시청자 컴퓨팅 시스템(124)은 하드웨어 및 소프트웨어 리소스들, 네트워킹 장비, 및 하나 이상의 어플리케이션 데이터 스토어(106)와 같은 컴퓨팅 리소스들(104)을 포함한다. 시청자 컴퓨팅 시스템(124)은 (인터넷과 같은)네트워크를 탐색(navigating)하고 비디오 스트리밍 서비스(118) 및/또는 인터랙티브 컴퓨팅 시스템(130)과 인터페이스하기 위한 브라우저 어플리케이션(126)을 포함할 수 있다. 시청자 컴퓨팅 시스템(124)은 플레이어 시스템(102)과 관련하여 기술된 바와 같이 게임 어플리케이션(108)을 실행하도록 구성된 소프트웨어 및/또는 하드웨어를 포함할 수 있다. 시청자 컴퓨팅 시스템(124)은 게임 어플리케이션 스트리밍 클라이언트(128)를 포함할 수 있다. 시청자 컴퓨팅 시스템(124)은 게임 콘솔, 핸드 헬드 게임 콘솔(handheld gaming console), 모바일 컴퓨팅 디바이스, 랩탑 또는 데스크탑 컴퓨터 등과 같은 임의의 타입의 컴퓨팅 시스템을 포함할 수 있다.
1. 게임 어플리케이션 스트리밍 클라이언트(Game Application Streaming Client)
인터랙티브 게임 어플리케이션 클라이언트는 하나 이상의 게임 어플리케이션(108)을 스트리밍하기 위해 게임 어플리케이션 스트리밍 서비스(138)와 통신하도록 구성될 수 있으며, 상기 게임 어플리케이션(108)은 게임 어플리케이션 스트리밍 서비스(138)의 컴퓨팅 리소스들을 사용하여 실행된다. 게임 어플리케이션 스트리밍 클라이언트(138)는 시청자 컴퓨팅 시스템(124)에서 게임 어플리케이션의 실행을 출력하기 위해 게임 어플리케이션 스트리밍 서비스와 통신하도록 구성될 수 있다. 시청자 시스템(124)은 시청자 컴퓨팅 시스템(124)에서 로컬로 실행되는 것처럼 스트리밍 게임(108)의 동작을 제어하기 위해 게임 스트리밍 서비스와 통신하도록 사용자에 의해 제공된 입력에 대한 인터페이스를 제공할 수 있다. 게임 어플리케이션 스트리밍 클라이언트(128)는 게임 스트리밍 서비스를 통해 이용 가능한 게임 어플리케이션(들)(108)을 선택하기 위해 사용자에게 인터페이스를 제공할 수 있다.
가상 환경(Virtual Environment)
가상 환경은 플레이어 시스템(102)의 사용자에 대한 디스플레이를 위한 가상환경의 뷰(view)를 포맷팅 하기 위해 서버로부터 원격으로 위치된 클라이언트(예를 들어, 플레이어 시스템 (102))에 의해 액세스 가능한 서버 상에 인스턴스화 된 가상 공간(예를 들어, 물리적 공간)을 포함할 수 있다. 시뮬레이션 된 공간은 지형(topography)을 가질 수 있고, 사용자에 의한 실시간 상호 작용을 표현하고/하거나 지형 내에서 운동(locomotion)할 수 있는 지형 내에 위치된 하나 이상의 객체를 포함할 수 있다. 일부 구현에서, 상기 지형은 2차원의 지형일 수 있다. 다른 경우에, 지형은 3차원 지형일 수 있다. 일부 구현들에서, 상기 지형은 단일 노드(single node)일 수 있다. 상기 지형은 가상 환경의 차원들 및/또는 가상 환경에 대해 “네이티브(native)”인 표면 또는 객체의 표면 특징들을 포함할 수 있다. 일부 구현들에서, 상기 지형은 가상 환경의 적어도 상당한 부분(substantial portion)을 통하는 표면(예컨대, 지면(ground surface))을 기술할(describe) 수 있다. 일부 구현들에서, 상기 지형은 하나 이상의 바디(bodies)가 그 안에 위치한 볼륨(volume)을 기술할 수 있다(예컨대, 내부에 위치한 하나 이상의 천체(celestial bodies)를 가진 중력-박탈(gravity-deprived) 공간의 시뮬레이션). 가상 공간은 가상 세계를 포함할 수 있지만, 이는 반드시 그런 것은 아니다. 예를 들어, 가상 공간은 가상 세계(예를 들어, 중력, 풍경 등)와 일반적으로 관련된 하나 이상의 양상들을 포함하지 않는 게임 공간을 포함할 수 있다. 실례로서(By way of illustration), 공지된 게임 테트리스(Tetris)는 바디들(예를 들어, 하강 테트로미노들(falling tetrominoes))이 미리 결정된 파라미터들(예를 들어, 미리 결정된 속도의 하강, 및 사용자 상호 작용에 기초한 수평 시프팅 및/또는 회전)에 따라 이동하는 2차원적 지형으로서 형성될 수 있다.
스폰서십 시스템의 시스템 구성요소들 간 데이터 흐름(Data Flow Between System Components of Sponsorship System)
도 2는 스폰서 매칭 시스템(140), 스폰서 시스템(122), 및 플레이어 시스템(102) 사이의 상호작용의 블록 다이어그램의 실시예(200)를 도시한다. 스폰서 매칭 시스템(140)은 하나 이상의 스폰서 시스템(들)(122) 및 하나 이상의 플레이어 시스템(들)(102)과 통신하고 또한 모든 시스템들 간에 데이터가 전달될 수 있도록 구성된다. 상기 기술(description)은 일반적으로 플레이어 및/또는 스폰서에 의해 수행되는 액션을 지칭한다. 이러한 동작은 각각의 사용자를 대신하여 플레이어 시스템 또는 스폰서 시스템에 의해 수행되고 있음이 이해되어야 한다.
(1)에서, 스폰서(122)는 하나 이상의 플레이어의 잠재적 스폰서십을 위한 스폰서십 기준 세트(set of sponsorship criteria)를 식별하는 요청을 인터랙티브 컴퓨팅 시스템 (130)에 전송할 수 있다. 스폰서십 기준은 스폰서가 스폰서에 관심이 있는 플레이어의 타입과 특성(characteristics)을 정의합니다. 상기 스폰서십 기준은 게임들의 식별 또는 플레이 되는 게임들의 타입, 플레이어 랭킹, 평균 플레이 시간, 소셜 미디어/게임 스트리밍 통계(social media/game streaming statistics)(예컨대, 팔로워의 수(number of followers), 평균 시청자(average viewers) 등), 및/또는 다른 명쾌하게 설계된 기준(explicitly designated criteria)과 같은 메트릭들(metrics) 또는 임계 값들(thresholds)을 포함할 수 있다. 상기 스폰서십 기준은 스폰서 매칭 시스템(140)에 의해 생성된 스폰서십 옵션들의 선택을 포함할 수 있다. 상기 스폰서 매칭 시스템(140)은 상기 스폰서에 의해 선택될 수 있는 플레이어들의 일반적인 특징들(general characteristics)을 정의하는 카테고리들(categories)을 제공할 수 있다. 예를 들어, 카테고리들은 라이징 스타(rising stars), 카리스마 있는(charismatic), 인플루언서(influencer), 경쟁적인(competitive), 보기에 즐거운(enjoyable to watch), 재밌는(funny), 제품 푸셔(product pusher), 또는 플레이어 그룹을 쉽게 정의하는 메트릭들을 가지지 않은 다른 그룹들(other groupings)을 포함할 수 있다. 상기 스폰서는 하나 이상의 상기 카테고리를 선택할 수 있을 수 있다.
일부 실시예들에서, 상기 요청은 후원 받은 플레이어들에 의해 사용되는 스폰서 콘텐트(예를 들어, 콘텐트는 애니메이션, 비디오, 이미지, 및/또는 다른 오디오/비디오 콘텐트를 포함할 수 있다)를 포함할 수 있다. 일부 실시예들에서, 플레이어는 복수의 스폰서를 가질 수 있고 각 스폰서와 관련된 스폰서 콘텐트는 플레이어에 의해 디스플레이를 위해 선택될 수 있다. 스폰서십 기준은 스폰서 콘텐트가 플레이어에 의해 어떻게 디스플레이 및/또는 사용될 수 있는지에 대해 사용 제한을 정의하는 규칙을 포함할 수 있다. 예를 들어, 스폰서는 특정 스폰서를 요구할 수 있거나 다른 스폰서가 선택된 스폰서와 동시에 디스플레이 되지 않도록 요구할 수 있다.
(2)에서, 컴퓨팅 시스템은 하나 이상의 게임을 플레이하는 복수의 플레이어에 관련된 플레이어 데이터, 잠재적 스폰서 또는 스폰서십을 위한 플레이어 선호도를 수신 또는 모니터링할 수 있고, 데이터 스토어 내 이러한 데이터와 관련된 데이터 및 분석을 저장할 수 있다. 일부 실시예들에서, 일부 실시예들에서, 플레이어 데이터에 대한 업데이트(예를 들어, 플레이어가 더 많은 게임을 플레이 한 후의 게임 플레이 데이터, 또는 플레이어 선호도에 대한 업데이트, 또는 플레이어 시스템을 위한 새로운 구성요소가 설치됨)는 또한 인터랙티브 컴퓨팅 시스템(130)에 의해 모니터링되거나 수신될 수 있다. 예를 들어, 플레이어 데이터는 각각의 플레이어 또는 플레이어 계정, 플레이어 계정 정보, 플레이어 시스템(102) 사양 정보 등과 관련된 게임 플레이 데이터를 포함할 수 있다.
플레이어 선호도는 특정 플레이어 시스템(102)과 관련된 플레이어의 광고 선호도를 포함할 수 있다. 예를 들어, 플레이어는 플레이어가 선호하거나 매치되기를 요구하는 스폰서의 타입을 식별하는 규칙을 구성할 수 있다. 플레이어는 수용 가능한 스폰서의 타입을 정의할 수 있다. 예를 들어, 플레이어는 플레이어가 스폰서로서 수용할 타입 또는 이름으로 수용 가능한 또는 수용할 수 없는 스폰서들을 지명하는 블랙리스트(또는 화이트리스트)를 만들 수 있다. 상기 플레이어는 본 명세서에서 및, 예를 들어, 도1을 참조하여 더 자세히 설명된다.
(3)에서, 스폰서 매칭 시스템(140)은 스폰서십 기준 및/또는 플레이어 데이터에 기초하여 플레이어를 식별할 수 있다. 스폰서 매칭 시스템(140)은 식별된 플레이어를 식별하는 매칭 데이터를 스폰서십 옵션 및 추천으로서 스폰서 시스템(122)에 전송할 수 있다. 스폰서 매칭 시스템(140)은 업데이트 된 플레이어 데이터, 업데이트 된 스폰서십 기준 및/또는 업데이트 된 매칭 모델에 기초하여 플레이어를 계속 식별할 수 있다.
(4)에서, 선택적으로, 스폰서는 그들의 스폰서십 기준을 업데이트 할 수 있다. 예를 들어, 스폰서가 스폰서 매칭 시스템(140)에 의해 제공된 스폰서십 옵션 및 추천을 좋아하지 않는 경우. 스폰서는 다양한 요소(예를 들어, 특정 광고 이미지의 성공, 특정 플레이어 또는 플레이어 세트와의 광고 성공, 스폰서의 관심 전환(shifting interest) 또는 스폰서의 관심 있어 하는 광고 또는 비즈니스 관심사에 영향을 미칠 수 있는 다른 이유)에 기초하여 스폰서십 기준을 조정 또는 업데이트 하기를 고를 수 있다.
(5)에서, 스폰서는 후원할 하나 이상의 플레이어를 선택하고 상기 선택을 스폰서 매칭 시스템(140)으로 전송할 수 있다. 일부 실시예들에서, 플레이어에 의해 수신된 스폰서링 옵션은 임의의 사전 구성된 플레이어 데이터(예를 들어, 플레이어가 수락하고자 하는 스폰서의 타입을 나타내는 플레이어 선호도, 플레이어가 스폰서십을 배치하고자 하는 광고 배치 위치 등)에 기초하여 사전 필터링(pre-filtered)(예컨대, 후원을 위한 플레이어의 식별 전 또는 플레이어에게 스폰서십을 보내기 전) 될 수 있다.
(6)에서, 플레이어 시스템(102)은 이용 가능한 스폰서십 옵션으로부터 하나 이상의 스폰서 및 하나 이상의 광고 배치 위치의 선택을 플레이어로부터 수신할 수 있다. 상기 선택된 스폰서십 옵션은 비디오 게임 세션의 런타임 동안 게임 어플리케이션 내에서 디스플레이 될 수 있다. 예를 들어, 상기 선택된 광고는 플레이어와 관련된 하나 이상의 가상 아바타 상에 오버레이로서 또는 지정된 위치에서 게임 어플리케이션의 사용자 인터페이스 내 오버레이로서 나타날 수 있다. 예를 들어, 플레이어 시스템 (102)을 통해 5개의 잠재적 스폰서(potential sponsors) 및 관련 광고 이미지 또는 콘텐트 (예를 들어, 콘텐트는 이미지뿐만 아니라 애니메이션 또는 비디오를 포함할 수 있음)의 리스트와 함께 제시될 수 있다. 플레이어는 5개의 잠재적 스폰서 리스트 중 스폰서 2와 4를 선택함을 나타낼 수 있다. 상기 플레이어는 또한 스폰서 2 및 4에 대한 광고 콘텐트가 게임 어플리케이션 내의 사용자 인터페이스상의 지정된 위치에 배치되기를 원하는 위치를 나타낼 수 있다.
(7)에서, 플레이어 시스템(들)(102)은 또한 플레이어의 게임 플레이 세션과 관련된 플레이어 데이터를 전송할 수 있다. 플레이어 데이터는 플레이어 시스템(102) 또는 인터랙티브 컴퓨팅 시스템(130)으로부터 추적될 수 있는 분석을 포함할 수 있다. 분석은 인게임 텔레메트리 데이터(in-game telemetry data), 소셜 미디어 데이터(social media data), 및/또는 게임 플레이 세션과 관련된 다른 데이터를 측정할 수 있다. 인게임 텔레메트리 데이터는 게임 세션의 길이, 게임 세션 동안 광고가 디스플레이 된 시간, 어떤 광고가 배치 됐는지, 플레이어에 의해 획득된 업적, 광고 배치 위치, 및/또는 게임플레이 세션 동안 기록된 다른 타입의 텔레메트리 데이터와 같은 게임 플레이 세션동안 게임 어플리케이션에 의해 모아진 데이터를 포함할 수 있다. 소셜 미디어 데이터는 얼마나 많은 시청자들이 상기 플레이어의 게임 스트림을 봤는지, 생성된 댓글 수, 스트림 구독자 수(the number of stream subscribers), 사전 녹화된 비디오(예컨대, 유튜브 비디오(YouTube video)) 조회수, 공유 수(number shares), 좋아요 수(number of likes), 및/또는 게임 플레이 세션과 관련된 다른 소셜 메트릭들과 같은 게임 플레이 세션과 관련된 어플리케이션들(트위치(Twitch), 유튜브(YouTube), 트위터(Twitter), 페이스북 (Facebook) 등) 및 소셜 미디어 사이트들과 관련된 데이터를 포함할 수 있다.
(8)에서, (7)로부터의 데이터는 스폰서 시스템(들)(122)에 의해 전송되거나 액세스될 수 있다. 상기 데이터는 스폰서십 기준 및 어떻게 그것이 업데이트 되어야 하는지 또는 되지 않아야 하는지에 영향을 미치기 위해 사용된다(예를 들어, 단계 (4)에서). 일부 실시예들에서, 자동 알고리즘(automatic algorithms)은 본 명세서에서 논의된 바와 같이 기계 학습 또는 AI의 사용자에 맞게 스폰서십 기준을 자동으로(예를 들어, 설정이 스폰서에 의해 켜진 경우) 조정할 수 있다. 예를 들어, 기계 학습을 사용하여 플레이어가 스폰서십 기준에 미치지 못하는 때를 예측할 수 있다. 특정 임계 값이 플레이어에 의해 만족되지 않으면, 스폰서십 광고를 제거하거나 광고를 변경(예를 들어, 하나의 이미지를 스폰서가 제공 한 다른 이미지로 교체함으로써)하도록 자동 액션(automatic action)이 취해질 수 있다.
(9)에서, 스폰서는 후원 받은 플레이어가 보상을 받는 방법을 정의하는 보상 기준(reward criteria)을 제공할 수 있다. 상기 보상 기준은 특정 플레이어에게 보상을 분배하는 방법에 대한 지침(instructions)이 포함될 수 있다. 보상은 시청자 수, 게임 시간, 광고 클릭(예를 들어, 일부 실시예들에서, 시청자는 스폰서와 관련된 웹사이트를 탐색(navigate)하기 위해 스폰서와 관련된 광고의 위치에 대응하는 플레이어 게임플레이의 스트리밍 된 비디오 상의 위치를 선택할 수 있다.)과 같은 다양한 메트릭에 기초하여 분배될 수 있다. 일부 실시예들에서, 스폰서 매칭 시스템(140)은 상기 플레이어의 게임플레이의 비디오 또는 스트림 및/또는 보상(compensation)을 전달하기 위해 중개자로서 사용될 수 있다. 일부 실시예들에서, 상기 플레이어는 상기 보상 기준(reward criteria)을 이행함(fulfilling)으로써 가상 통화(virtual currency)를 획득할 수 있다. 가상 통화는 스폰서에 특정적일 수 있으며 (예를 들어, 가상 통화는 스폰서 상품에 대해 교환될 수 있음), 플레이어가 플레이하는 게임 어플리케이션 내에서 사용되는 가상 통화 또는 다른 타입의 가상 통화일 수 있다.
(10)에서, 보상은 스폰서 시스템(122)에 의해 제공되는 보상 기준의 이행에 기초하여 인터랙티브 컴퓨팅 시스템(130)에 의해 플레이어에게 분배될 수 있다.
도 2에 순서가 묘사되어 있지만, 데이터는 다양한 시스템들 사이에서 임의의 순서로 앞뒤로 흐를 수 있고, 다양한 동작(2)은 본 명세서에 설명된 것과 다른 순서로 수행될 수 있음이 이해되어야 한다. 일부 단계는 생략되거나 결합될 수 있다. 예를 들어, 스폰서에 의해 제공되는 보상 기준은 스폰서십 기준에 포함될 수 있다. 다른 예로서, 스폰서십 기준을 수신한 후에, 스폰서 매칭 시스템(140)은 스폰서로부터 추가 승인을 요청하지 않고 플레이어를 자동으로 식별하고 식별된 플레이어에게 스폰서십을 제공할 수 있다.
플로우 차트
도 3 내지 5는 일부 실시예에 따라, 선택된 플레이어를 스폰서와 매칭시키고, 스폰서 시스템 및 플레이어 시스템에 의해 나타나는 선택에 기초하여 게임 데이터를 생성하고, 스폰서십 및 플레이어 매칭 모델을 생성, 업데이트, 적용하는 방법의 흐름을 도시한다. 임의의 수의 시스템이 전체적으로 또는 부분적으로 기술된 방법 및 프로세스를 구현할 수 있지만, 논의를 단순화하기 위해, 방법 및 프로세스는 특정 시스템과 관련하여 기술될 것이다. 더 나아가, 상기 방법 및 프로세스의 실시예는 다양한 구성 요소를 포함하는 시스템의 변형에 대해 수행될 수 있지만, 논의를 단순화하기 위해, 상기 방법 및 프로세스는 스폰서십 매칭 시스템(140)에 대해 기술될 것이다.
플레이어 매칭 모델 생성을 위한 프로세스(Process for Generating a Player Matching Model)
도 3은 일 실시예에 따라, 선택된 플레이어를 스폰서와 매칭시키고 스폰서 시스템 및 플레이어 시스템에 의해 나타나는 선택에 기초하여 게임 데이터를 생성하는 방법(300)의 흐름도를 도시한다. 위에서 논의된 바와 같이, 인터랙티브 컴퓨팅 시스템(130), 플레이어 시스템(들)(102) 및 스폰서 시스템(들)(122)은도 1 및 2와 관련하여 위에서 기술된 동일한 시스템 또는 다른 시스템일 수 있다. 일부 실시예들에서, 스폰서 매칭 시스템(140)은 근거리 통신망(local area network) 또는 인터넷을 통해 연결된 다수의 시스템을 포함할 수 있다. 또한, 일부 실시예들에서, 인터랙티브 컴퓨팅 시스템(130) 또는 그 일부는 스폰서 시스템(들)(122) 및/또는 플레이어 시스템(들)(102) 상에 위치될 수 있다.
블록(301)에서, 하나 이상의 스폰서 시스템(들)(122)은 하나 이상의 전자 게임(electronic games)의 하나 이상의 플레이어를 후원하기 위한 스폰서십 요청의 표시를 수신할 수 있다. 상기 전자 게임은 온라인 게임, 멀티 플레이어 게임, 싱글 플레이어 게임, 또는 개인용 컴퓨터(PC)나 콘솔(예를 들어, 플레이스테이션, 엑스박스, 닌텐도 콘솔)에서 플레이할 수 있는 임의의 타입의 게임을 포함할 수 있다.
블록(302)에서, 상기 스폰서 시스템(122)은 스폰서십 요청에 대한 스폰서십 기준을 식별하는 사용자 입력을 수신할 수 있다. 상기 스폰서십 기준은 스폰서에 의해 식별된 특정 메트릭 또는 임계 값 및/또는 스폰서 매칭 시스템 (140)에 의해 생성된 스폰서 십 옵션의 선택을 포함할 수 있다. 스폰서십 요청은 스폰서가 스폰서십 기준에 기초하여 하나 이상의 플레이어를 후원하고자 한다는 표시를 포함할 수 있다.
블록(304)에서, 스폰서 시스템(들)(122)은 스폰서십 요청 및 스폰서십 기준을 인터랙티브 컴퓨팅 시스템(130)으로 전송한다. 블록 (306)에서, 인터랙티브 컴퓨팅 시스템(130)은 스폰서십 요청 및 스폰서십 기준을 수신한다.
블록(308)에서, 인터랙티브 컴퓨팅 시스템 (130)은 플레이어 데이터 및 스폰서십 기준에 적어도 부분적으로 기초하여 하나 이상의 플레이어를 식별한다. 매칭 엔진(146)은 입력으로서의 스폰서십 기준 및 플레이어 데이터에 기초한 기계 학습 모델 및/또는 정의된 알고리즘을 사용하여 플레이어들을 식별할 수 있다. 스폰서십 기준은 식별될 수 있는 플레이어들을 사전 필터링하기 위해 사용될 수 있고, 예를 들어, 상기 플레이어들은 상위 1%의 플레이어들, 또는 특정 임계 값보다 큰 평균 시청자수를 갖는 플레이어, 또는 다른 기준으로 제한될 수 있다. 매칭의 효율성을 높이기 위해, 일부 경우에, 양 당사자에 의해 제출된 기준 (예를 들어, 플레이어 선호도 및 스폰서십 기준)에 기초하여 플레이어를 스폰서와 매칭시키는 것이 바람직하다는 것이 이해되어야 한다. 그러나, 일부 실시예들에서, 그러나, 일부 실시예에서, 스폰서에게 제시되는 기계 학습 모델을 이용한 예측 매칭(predictive matching)에 기초한 추천이 제공된다. 이러한 예측된 매칭은 스폰서 또는 플레이어에 의해 명시적으로 제공되지 않은 기준에 기초할 수 있으며, 경우에 따라 스폰서(들) 및/또는 플레이어(들)에 의해 제공되는 일부 기준과 모순될 수도 있다.
일부 실시예들에서, 플레이어 시스템(들)(102)은 복수의 플레이어에 대한 플레이어 데이터 및 플레이어 선호도를 수신하거나 수집할 수 있다. 플레이어 데이터는 각각의 플레이어 또는 플레이어 계정, 플레이어 계정 정보, 플레이어 시스템(102) 기술 사양 정보 등과 관련된 게임 플레이 데이터를 포함할 수 있다. 플레이어 선호도는 복수의 플레이어의 각 플레이어에 대해 미리 프로그램 된(preprogrammed) 또는 기본 선호도(default preferences)를 포함할 수 있다. 그러한 선호도는 플레이어가 어떤 스폰서 또는 스폰서 타입을 선호하거나 요구하는지 또는 어떤 광고 배치 위치가 스폰서가 이용할 수 있고/있거나 이용할 수 없는지를 포함할 수 있다. 플레이어 시스템(들)(102)은 복수의 플레이어에 대한 플레이어 데이터 및 플레이어 선호도를 인터랙티브 컴퓨팅 시스템(130)에 전송할 수 있고, 인터랙티브 컴퓨팅 시스템(130)은 플레이어 데이터 및 플레이어 선호도를 수신할 수 있다.
다음으로, 인터랙티브 컴퓨팅 시스템(130)은 매치에 승인이 필요한지 여부를 결정한다. 일부 실시예들에서, 동일한 인터랙티브 컴퓨팅 시스템 (130)에 대해, 특정 매치는 승인 요구사항(approval requirement)을 트리거(trigger) 할 수 있고 다른 매치는 승인 요구사항을 트리거 하지 않을 수 있다. 일부 실시예들에서, 일부 스폰서는 모든 매치가 승인될 것을 요구할 수 있고, 일부 스폰서는 특정 타입의 매치만이 승인될 것을 요구할 수 있으며, 일부 스폰서는 매치가 승인되지 않도록 및 자동적으로 스폰서십 데이터를 매치된 또는 선택된 사용자들에게 전송하도록 요구할 수 있다.
승인이 요구되지 않은 경우에, 아래에 기술된 블록(320)으로 진행한다.
승인이 요구되는 경우, 블록(310)에서, 인터랙티브 컴퓨팅 시스템(130)은 적어도 하나의 플레이어를 스폰서 시스템(들)(122)에 전송한다. 블록(312)에서, 상기 스폰서 시스템(122)은 인터랙티브 컴퓨팅 시스템(130)으로부터 상기 적어도 하나의 플레이어를 수신한다. 일부 실시예들에서, 적어도 하나의 플레이어는 스폰서십 기준뿐만 아니라 나열된 각 플레이어에 대한 플레이어 선호도를 만족하는 플레이어만을 포함한다는 것이 이해되어야 한다.
블록(314)에서, 스폰서 시스템(들)(122)은 하나 이상의 식별된 플레이어의 선택을 수신한다. 스폰서는 임의의 수의 플레이어를 선택할 수 있다. 블록(316)에서, 스폰서 시스템(들)(122)은 선택된 플레이어 정보를 인터랙티브 컴퓨팅 시스템(130)으로 전송한다. 블록(318)에서, 인터랙티브 컴퓨팅 시스템(130)은 스폰서 시스템(들)(122)으로부터 선택된 플레이어 정보를 수신한다.
선택된 플레이어 정보가 스폰서 시스템(들)(122)으로부터 인터랙티브 컴퓨팅 시스템(130)에 의해 수신되거나, 또는 매치의 승인이 요구되지 않는 경우, 블록 (320)에서, 인터랙티브 컴퓨팅 시스템 (130)은 선택된 플레이어 정보를 처리하여 스폰서십 데이터를 생성한다. 스폰서 데이터는, 예를 들어, 특정 플레이어를 선택한 스폰서, 각 스폰서에 의해 요구되는 광고 배치 위치, 및/또는 각 스폰서에 대한 각각의 광고 배치 위치와 관련된 값을 나타내는 정보를 포함하도록 생성될 수 있다. 일부 실시예들에서, 스폰서십 데이터는 특정 선택된 사용자의 플레이어 선호도를 충족시키지 않는 임의의 스폰서 및/또는 광고 배치 위치를 제거하도록 필터링 된다. 일부 실시예들에서, 스폰서십 데이터는 특정 선택된 사용자의 플레이어 선호와 충돌하는 스폰서 및/또는 광고 배치 위치를 포함할 수 있다. 그러한 경우에, 예를 들어, 특정 선택된 플레이어가 선택할 수 있는 스폰서 및 / 또는 광고 배치 위치를 예측하기 위해 기계 학습 알고리즘이 사용될 수 있다. 예를 들어, 특정 광고 위치가 "불필요(not desired)"로 표시되거나 플레이어의 플레이어 선호도를 통해 플레이어에 의해 필터링 되도록 설정되고 특정 광고 배치 위치가 플레이어에게 실질적인 보상 값(substantial compensation value)을 제공하면, 블록(320)에서 인터랙티브 컴퓨팅 시스템(130)은 플레이어 시스템(들)(102)로 전송되는 스폰서십 데이터 내 특정 광고 배치 위치를 포함할 수 있다.
블록(322)에서, 플레이어 시스템(들)(102)은 인터랙티브 컴퓨팅 시스템 (130)으로부터 스폰서십 데이터를 수신한다. 블록(324)에서, 플레이어 시스템(들)(102)은 하나 이상의 스폰서 및 광고 커스터마이제이션(advertising customizations)의 선택을 수신하고, 상기 선택 및 광고 커스터마이제이션은 플레이어 시스템(들)(102)에 연관된 플레이어가 광고를 배치하기를 원하는 광고 배치 위치 및 하나 이상의 스폰서를 나타낸다.
블록(326)에서, 플레이어 시스템(들)(102)은 하나 이상의 스폰서의 선택 및 광고 커스터마이제이션을 인터랙티브 컴퓨팅 시스템 (130)으로 전송한다. 블록(328)에서, 인터랙티브 컴퓨팅 시스템(130)은 플레이어 시스템(들)(102)으로부터 하나 이상의 스폰서의 선택 및 광고 커스터마이제이션을 수신한다.
블록(330)에서, 인터랙티브 컴퓨팅 시스템(130)은 하나 이상의 스폰서의 선택 및 광고 커스터마이제이션에 기초하여 선택된 플레이어 시스템(들)(102) 각각에 대한 게임 데이터를 모니터링 할 수 있다. 일부 실시예들에서, 게임 데이터는 게임 플레이 세션 동안 플레이어에 의해 스폰서십/광고 콘텐트의 사용을 검증하기 위해 플레이어 시스템(102)에 의해 제공될 수 있다. 예를 들어, 스폰서십 모니터링 서비스는 플레이어에 대한 보상 메트릭들(reward metrics) 및 진행을 결정하기 위해 플레이어와 관련된 게임 데이터 및 소셜 미디어 데이터를 추적할 수 있다. 예를 들어, 스폰서십 모니터링 서비스는 게임 플레이 데이터(예컨대, 게임 플레이 세션 동안 스폰서의 콘텐츠가 얼마나 자주 표시되는지 결정하기 위해) 및 소셜 미디어 데이터 (예컨대, 게임 플레이 스트림을 시청한 시청자 수를 결정하기 위해)를 추적할 수 있다. 다른 예에서, 스폰서십 모니터링 서비스는 게임 플레이 세션 동안 내장 광고(embedded advertisement)(짧은 광고 비디오와 같은)가 몇 번이나 실행되었는지를 결정할 수 있다.
플레이어 매칭 모델을 생성하기 위한 프로세스
도 4는 일 실시예에 따라 플레이어 매칭 모델을 생성하고 업데이트하기 위한 방법(340)의 흐름도를 도시한다. 블록(350)에서, 시스템(예를 들어, 인터랙티브 컴퓨팅 시스템(130) 또는 스폰서 매칭 시스템(140))은 하나 이상의 플레이어 시스템(124)으로부터 플레이어 데이터를 수신할 수 있다.
블록(352)에서, 피드백 데이터(feedback data)는 시스템에 전송되거나 검색 또는 액세스할 수 있다. 일부 실시예들에서, 상기 피드백 데이터는 플레이어 데이터에 대한 조정(adjustments) 및 가중치(weightings)를 포함할 수 있다. 피드백 데이터는 예를 들어 머신 러닝 알고리즘의 사용 및 구현을 통해 자동으로 제공되거나 시스템 관리자가 수동으로 제공할 수 있다.
블록(354)에서, 시스템은 스폰서십 기준 및 플레이어 데이터에 적어도 부분적으로 기초하여 플레이어와 스폰서를 매칭시키는 데 사용될 수 있는 스폰서십 및 플레이어 매칭 모델을 생성한다. 스폰서십과 플레이어 매칭 모델은 AI 또는 기계 학습 알고리즘을 기반으로 만들어질 수 있다. 일부 실시예들에서, 플레이어 데이터는 플레이어가 게임을 할 때마다 수신되기 때문에, 스폰서십 및 플레이어 매칭 모델을 자주 업데이트하는 것이 바람직할 수 있다(예를 들어, 매초마다, 매분마다, 매시간마다, 매일). AI 및 / 또는 기계 학습 알고리즘을 사용하여 스폰서 십과 플레이어 매칭 모델을 원하는 만큼 자주 업데이트 될 수 있다.
블록(356)에서, 스폰서십 및 플레이어 매칭 모델은 시스템으로부터 출력된다. 일부 실시예들에서, 스폰서십 및 플레이어 매칭 모델은 상기 모델을 적용하기 위해 인터랙티브 컴퓨팅 시스템(130) 또는 다른 디바이스 또는 시스템으로 출력될 수 있다.
도 1의 기계 학습 구성 요소(118)와 관련하여 위에서 기술된 바와 같이, 예를 들어, 다수의 상이한 타입의 알고리즘이 사용될 수 있다. 예를 들어, 본 명세서의 특정 실시예들은 로지스틱 회귀 모델(logistical regression model), 결정 트리(decision trees), 랜덤 포레스트(random forests), 컨벌루전 뉴럴 네트워크(convolutional neural networks), 딥 네트워크(deep networks) 등을 사용할 수 있다. 그러나, 선형 회귀 모델(linear regression model), 이산 선택 모델(discrete choice model), 또는 일반화된 선형 모델과 같은 다른 모델 또한 가능하다. 상기 기계 학습 알고리즘은 기계 학습 구성요소(118)에 의해 수신된 새로운 입력에 기초하여 시간이 지남에 따라 상기 모델을 적응적으로(adaptively) 개발하고 업데이트하도록 구성될 수 있다. 예를 들어, 상기 모델들은 플레이어 정보가 시간이 지남에 따라 진화함에 따라 상기 모델 내 상기 예측을 정확하게 유지하는 데 도움이 되는 새로운 플레이어 정보가 이용 가능하기 때문에 주기적으로 재생성 될 수 있다.
스폰서십 기준에 기초하여 플레이어들을 선택하기 위한 프로세스(Process for Selecting Players based on Sponsorship Criteria)
도 5는 일 실시예에 따른 이전에 생성된 스폰서십 및 플레이어 매칭 모델을 적용하기 위한 방법(370)의 흐름도를 도시한다.
블록(380)에서, 시스템(예를 들어, 스폰서 매칭 시스템(140))은 하나 이상의 스폰서십 시스템(예를 들어, 스폰서 시스템(들)(122))으로부터 스폰서십 기준을 수신한다. 블록(382)에서, 시스템은 하나 이상의 플레이어 시스템(예를 들어, 플레이어 시스템(102))으로부터 업데이트 된 플레이어 데이터를 수신한다.
블록(384)에서, 시스템은 이전에 생성된 스폰서십 및 플레이어 매칭 모델을 수신된 스폰서십 기준에 기초하여 업데이트 된 플레이어 데이터에 적용한다. 일부 실시예들에서, 이전에 생성된 스폰서십 및 플레이어 매칭 모델은 도 4의 방법(340)으로부터 수신될 수 있다.
블록(386)에서, 시스템은 스폰서십 기준 및 업데이트 된 플레이어 데이터에 적어도 부분적으로 기초하여 플레이어의 선택을 출력할 수 있다. 일부 실시예들에서, 매칭 엔진은 스폰서십 기준 및 업데이트 된 플레이어 데이터에 적어도 부분적으로 기초하여 플레이어의 추천된 선택을 포함하는 플레이어의 선택을 출력할 수 있다. 추천된 플레이어는 스폰서의 2 차 승인을 요구할 수 있습니다.
플레이어 시스템의 사용자 인터페이스 예(Example User Interface of Player System)
도 6 내지 8은 일 실시예에 따라, 플레이어 디바이스가 스폰서를 선택하고 스폰서가 선택된 후에 게임을 렌더링하기 위한 예시적인 인터페이스를 도시한다. 구체적으로, 도 6 내지 7은 플레이어 디바이스가 스폰서를 선택하기 위한 예시적인 인터페이스를 도시하고, 도 8은 플레이어 디바이스에 대한 게임플레이 동안의 예시적인 인터페이스를 도시한다. 임의의 수의 인터페이스가 전체적으로 또는 부분적으로 구현되거나 사용될 수 있지만, 논의를 단순화하기 위해 인터페이스 생성 및 상호 작용 방법 및 프로세스는 특정 시스템과 관련하여 기술될 것이다. 더 나아가, 다양한 구성 요소를 포함하는 시스템의 변형에 대해 실시예가 수행될 수 있지만, 논의를 단순화하기 위해, 방법 및 프로세스는 스폰서십 매칭 시스템 (140), 플레이어 시스템(102) 및 스폰서 시스템(122)에 대해 기술될 것이다.
스폰서 광고의 플레이어 선택을 위한 인터페이스(Interface for Player Selection of Sponsor Advertisements)
도 6은 일 실시예에 따라 플레이어 디바이스가 스폰서를 선택하기 위한 예시적인 인터페이스(400)를 도시한다. 인터페이스 (400)는 스폰서십 대시 보드(sponsorship dashboard)(402) 및 예시적인 게임 플레이 인터페이스(404)를 디스플레이 하며, 여기서 예시적인 게임 플레이 인터페이스(404)는 게임 플레이 동안 인터페이스가 어떻게 보일지에 대한 사용자 인터페이스 엘리먼트들(user interface elements)을 포함한다. 예를 들어, 게임 플레이 동안 나타날 그래픽 및 버튼 "A", "B", "C"및 "D"를 포함하는 툴바(toolbar)(430)가 도시되어 있다. 툴바 (430)가이 예에서 도시되어 있지만, 각각의 게임은 플레이어에 의해 커스터마이징 될 수 있는 그것만의 툴바를 가질 것이라는 점에 유의해야한다. 게임 플레이 환경을 시뮬레이션하기 위해 커스터마이제이션이 있거나 없는(예를 들어, 기본 툴바) 툴바가 디스플레이 될 수 있다.
스폰서십 대시 보드 (402)는 두 개의 탭, 아바타 탭(406) 및 차량 탭(408)을 포함한다. 도 6에서, 아바타 탭(406)이 선택된다. 아래에 논의되는 도 7은 차량 탭(408)의 선택과 관련된 인터페이스를 묘사한다. 아바타 탭(406)에는 도시된 스폰서 목록이 존재한다. 예를 들어, "스폰서 1", "스폰서 2"등이 나열된다. "스폰서 3"(410)이 선택된 것으로 도시되어 있다. 선택 시, 요구 사항(411)(예를 들어, "요구 사항 1", "요구 사항 2"및 "요구 사항 3")이 스폰서 3(410) 아래에 도시된다. 요구 사항리스트(411)는 스폰서(예를 들어, 스폰서 3 (410))와 관련된 하나 이상의 요구 사항, 또는 스폰서십 기준을 보여줄 수 있다. 후원 기준 중 일부가 충족될 수 있고, 일부 실시예에서, 이러한 기준은 상기 인터페이스에 액세스하는 플레이어에 의해 충족되는 것으로 표시될 수 있다.
스폰서(예를 들어, 스폰서 3(410))를 선택하면, 예시적인 게임 플레이 인터페이스(example gameplay interface)(404)는 스폰서십 설정, 임의의 플레이어 선호도, 및/또는 임의의 게임 관리자에 기초하여 이용 가능한 모든 광고 배치 위치(예를 들어, 412, 414, 418, 420, 및 422)을 보여주도록 업데이트 될 수 있다. 플레이어는 그 후 플레이어가 스폰서 3(410) 광고를 배치하기를 원하는 광고 배치 위치(414)를 선택할 수 있다. 예시적인 게임 플레이 인터페이스(404)는 그 후 게임 플레이 동안 인터페이스가 어떻게 나타날 것인지의 프리뷰(preview)로서 스폰서 3(410) 광고와 관련된 이미지 또는 콘텐트를 디스플레이 하도록 업데이트 될 수 있다. 예시적인 게임 플레이 인터페이스(404)는 또한 플레이어에 의해 제공된 임의의 커스터마이제이션과 매치할 수 있는 아바타(426)를 포함한다. 상기 아바타(426)는 (예를 들어, 터치 스크린 디바이스에 있는 경우 마우스 또는 손가락으로 아바타(426)를 선택함으로써 및/또는 원형 화살표(424)와 상호 작용함으로써) 회전 될 수 있다. 상기 아바타(426)는 스폰서 3과 관련된 광고를 배치하도록 선택될 수 있는 아바타(426)의 앞면에 광고 배치 위치(422)를 포함한다. 상기 아바타(426)는 또한 상기 아바타(426)의 뒷면(예를 들어, 아바타(426)가 스포츠 게임을 위해 저지를 착용한 경우)에 광고 배치 위치를 포함할 수 있고 플레이어가 아바타(426)의 양면을 볼 수 있도록 아바타(426)가 회전할 수 있다.
일부 실시예들에서, 스폰서와 연관된 광고는 선택된 광고 배치 위치에 기초하여 변할 수 있다. 예를 들어, 플레이어는 스폰서십 대시 보드에서 스폰서 3(410)을 선택할 수 있고, 그 다음에 플레이어는 하나의 광고 이미지를 보기 위해 광고 배치 위치(414)를 선택하고, 다른 광고 이미지를 보기 위해 광고 배치 위치(422)를 선택할 수 있다. 일부 실시예들에서, 스크린 공간이 더 많거나 적은 광고 배치 위치가 디스플레이 되는 광고의 타입을 최적화할 수 있도록 다수의 타입의 이미지를 갖는 것이 바람직할 수 있다. 추가적으로, 일부 실시예들에서, 스폰서 매칭 시스템의 플레이어, 스폰서 또는 관리자는 특정 광고가 특정 광고 배치 위치에 나타나는 것을 허용하거나 금지할 수 있다. 예를 들어, 이용 가능한 광고 배치 위치 또는 특정 광고 배치 위치에 이용 가능한 광고는 게임 플레이와 간섭하지 않도록 프로그래밍 될 수 있다.
플레이어는 스폰서십 대시보드(402)를 숨기기 위해 최소화 버튼을 선택할 수 있고 예시적인 게임 플레이 인터페이스(404)를 전체화면으로 볼 수 있다. 또한, 일부 실시예들에서, 최소화 버튼(436)을 선택하면, 예시적인 게임플레이 인터페이스(404)는 선택되지 않은 모든 광고 배치 위치(예를 들어, 412, 418, 422 및 426)를 숨길 수 있다.스폰서 및 광고 배치 위치가 선택되면 (예를 들어, 스폰서 3(410) 및 예시 게임 플레이 인터페이스(404)의 상단 및 오른쪽에서 두번째에 있는 광고 배치 위치), 플레이어는 이전 설정으로 돌아가기 위해 모두 취소(432)하거나 적용할 수 있고 또는 각각 변경사항을 적용할 수 있다.
차량에서 스폰서 광고의 플레이어 선택을 위한 인터페이스(Interface for Player Selection of Sponsor Advertisements on Vehicles)
도7은 일 실시예에 따라 플레이어 디바이스가 스폰서를 선택하기 위한 예시적인 인터페이스(600)를 도시한다. 인터페이스(600)는 스폰서십 대시보드(602) 및 차량 커스터마이제이션 스크린(604)을 포함한다. 스폰서십 대시 보드(402)에서 차량 탭(408)이 선택되면, 업데이트 된 스폰서십 대시보드(602)가 게임에 있을 수 있는 차량에 대한 이용 가능한 스폰서를 보여주는 것으로 디스플레이 될 수 있다. 일부 게임은 플레이어가 차량 또는 아바타를 동작시키는 것을 요구하는 것이 아니라 다른 디바이스나 동물을 요구할 수 있고, 스폰서십 대시보드는 상이한 디바이스나 동물들을 포함하도록 업데이트 될 수 있음이 이해되어야 한다. 또한, 일부 실시예들에서, 임의의 디바이스 또는 동물은 그것과 관련된 그것의 광고 배치 위치를 가질 것이다. 광고 배치 위치는 게임 플레이와 간섭하지 않도록 프로그래밍 될 수 있다. 스폰서십 대시 보드(602)는 아바타 탭(406)과 관련된 스폰서십 대시 보드(402)와 유사한 스폰서의 목록을 도시한다. 그러나, 스폰서의 목록이 상이하여, 일부 스폰서는 자동차에만 리스트 되는 것을 선호하고(예를 들어, 스폰서 7, 8 및 9), 일부 스폰서는 스크린, 자동차, 및 아바타 모두 허용 가능한 것으로 여기고(예를 들어, 스폰서 2 및5), 일부 스폰서는 스크린 또는 아바타에만 있는 것을 선호한다는(예를 들어, 스폰서 1, 3, 4, 및 6) 것을 나타낼 수 있다. 또한, 일부 실시예들에서, 인터페이스는 조종석(cockpit) 또는 다른 주변 환경을 포함할 수 있으며, 각각의 주변 환경은 잠재적인 광고 배치 위치(potential advertisement placement locations)를 위한 섹션 영역(sectioned areas)을 가질 수 있다.
도 7에서, 스폰서십 대시 보드(602)에서, 스폰서 5(624)가 선택되는 것으로 도시되어 있다. 선택 시, 요구 사항(626)(예를 들어, “요구 사항 1”및 “요구 사항 2”)이 스폰서 5(624) 아래에 도시된다. 요구사항 리스트(626)는 스폰서와 관련된 하나 이상의 요구사항 또는 스폰서십 기준을 보여줄 수 있다(예를 들어, 스폰서 5(624)). 스폰서십 기준 중 일부가 충족될 수 있고, 일부 실시예에서, 이러한 기준은 상기 인터페이스에 액세스하는 플레이어에 의해 충족되는 것으로 디스플레이 될 수 있다. 더 나아가, 광고 배치 위치 (예를 들어, 412, 414, 418, 420 및 422)가 도 7에 도시되어 있지 않지만, 대신에 도 6에 도시되어 있고, 일부 실시예들에서, 광고 배치 위치의 일부 또는 전부가 둘 모두 또는 어느 하나의 인터페이스 상에 도시될 수 있다는 것이 이해되어야 한다.
스폰서(예를 들어, 스폰서 5 (624))를 선택하면, 차량 커스터마이제이션 스크린 (604)은 스폰서십 설정, 임의의 플레이어 선호도, 및/또는 임의의 게임 관리자에 기초하여 이용 가능한 모든 광고 배치 위치(예를 들어, 614, 616, 618 및 620)를 보여주기 위해 업데이트 될 수 있다. 플레이어는 그 후 플레이어가 스폰서 5(624) 광고를 배치하기를 원하는 광고 배치 위치(620)를 선택할 수 있다. 그 후, 차량 커스터마이제이션 스크린(car customization screen)(604)은 게임 플레이 동안 차량(606)이 어떻게 나타날 것인지의 프리뷰로서 스폰서 5(624) 광고와 관련된 이미지 또는 콘텐트를 디스플레이 하도록 업데이트 될 수 있다. 자동차 커스터마이제이션 스크린 (604)은 또한 플레이어에 의해 제공되는 임의의 커스터마이제이션과 매치할 수 있는 하나 이상의 차량(예를 들어, 606)을 포함한다. 예를 들어, 일부 자동차는 잠금 해제되거나 값을 지불했을 때만 보일 수 있다. 또한, 예를 들어, 일부 자동차는 새로운 페인트나 부품으로 커스터마이즈 될 수 있다. 차량 (606)은(예를 들어, 터치 스크린 장치 상에 있는 경우 마우스 또는 손가락으로 차량(606)을 선택함으로써 및/또는 원형 화살표(608)와 상호 작용함으로써)회전 될 수 있다. 차량(606)은 도시 된 바와 같이 스폰서 5와 관련된 광고를 배치하기 위해 선택될 수 있는 차량(606)의 측면 상의 광고 배치 위치(620)를 포함한다. 차량(606)은 또한 후방, 트렁크의 상부, 자동차의 상부, 후드의 상부, 하부 및 각 차량의 측면 상의 광고 배치 위치를 포함할 수 있고, 플레이어가 차량(606)의 모든 측면을 볼 수 있도록 차량이 회전할 수 있다. 또한, 플레이어는 왼쪽 화살표(610) 및/또는 오른쪽 화살표(612)를 선택하여 플레이어가 이용할 수 있는 이용 가능한 차량을 순환할 수 있다.
일부 실시예들에서, 스폰서와 연관된 광고는 선택된 광고 배치 위치에 기초하여 변할 수 있다. 예를 들어, 플레이어는 스폰서십 대시 보드로부터 스폰서 5 (624)를 선택할 수 있고, 그 다음에 플레이어는 하나의 광고 이미지를 보기 위해 광고 배치 위치(620)를 선택할 수 있고, 다른 광고 이미지를 보기 위해 광고 배치 위치(616)를 선택할 수 있다. 일부 실시예들에서, 스크린 공간이 더 많거나 적은 광고 배치 위치가 디스플레이 되는 광고의 타입을 최적화할 수 있도록 다수의 타입의 이미지를 갖는 것이 바람직할 수 있다. 추가적으로, 일부 실시예들에서, 스폰서 매칭 시스템의 플레이어, 스폰서 또는 관리자는 특정 광고가 특정 광고 배치 위치에 나타나는 것을 허용하거나 금지할 수 있다. 예를 들어, 이용 가능한 광고 배치 위치 또는 특정 광고 배치 위치에 이용 가능한 광고는 게임 플레이와 간섭하지 않도록 프로그래밍 될 수 있다.
플레이어는 스폰서십 대시보드(602)를 숨기기 위해 최소화 버튼(436)을 선택할 수 있고 자동차 커스터마이제이션 스크린(604)을 전체화면으로 볼 수 있다. 또한, 일부 실시예들에서, 최소화 버튼(436)을 선택하면, 자동차 커스터마이제이션 스크린(604)은 선택되지 않은 모든 광고 배치 위치(예를 들어, 614, 616 및 618)를 숨길 수 있다.
스폰서 및 광고 배치 위치가 선택되면(예를 들어, 스폰서 5(620) 및 차량(606)의 측면에 있는 광고 배치 위치), 플레이어는 이전 설정으로 돌아가기 위해 모두 취소하거나 적용할 수 있고 또는 변경사항을 각각 적용할 수 있다.
스폰서십 광고의 플레이어 선택 후 게임플레이를 위한 인터페이스(Interface for Gameplay After Player Selection of Sponsorship Advertisements)
도 8은 일 실시예에 따른 플레이어 디바이스에 대한 게임플레이 동안의 예시적인 인터페이스(500)를 도시한다. 게임플레이 인터페이스(504)는 도 6의 툴바와 동일하거나 유사할 수 있는 툴바(530)와 함께 도시될 수 있다. 도 8은 도 6으로부터의 선택(예를 들어, 스폰서 3 및 예시 게임 플레이 인터페이스(404)의 상단 및 오른쪽에서 두번째에 있는 광고 배치 위치를 선택)과 도 7로부터의 선택(스폰서 5 및 차량(606)의 측면에 있는 광고 배치 위치를 선택)을 통합한다. 차량(502)은 선택된 것과 동일한 위치(506)에서 스폰서 5광고를 보여준다. 또한, 게임 플레이 인터페이스(504)는 선택된 것과 동일한 위치(414)에서 스폰서3 광고를 보여준다. 아바타(426)는 또한 차량 (502)을 작동시키는 것으로 도시되어 있다. 플레이어가 차량(606)에 기초하여 도 7에서 스폰서 5 광고 배치 위치를 선택하였지만, 상기 선택은 다른 차량(예를 들어, 차량(502))에 대해서도 지속될 수 있다는 것이 이해되어야 한다. 또한, 게임 또는 플레이어에 따라, 스폰서가 특정 선택을 생략하도록 고를 수 있는 이유의 하나의 예는 광고 배치 위치가 스폰서가 원하는 형식으로 디스플레이 되지 않을 수 있기 때문이다. 예를 들어, 스폰서가 광고하기를 원하는 플레이어는 게임에서 레이싱 모드만을 플레이 할 수 있으며, 스폰서는 경주하는 동안 항상 그렇지는 않지만 대부분의 위치가 커버되기 때문에 플레이어에 의해 선택되는 아바타 광고 배치 위치를 생략하기로 고를 수 있다 .
플레이어 시스템의 하드웨어 구성 예(Example Hardware Configuration of Player System)
도 9는 본 명세서에 기술된 플레이어 시스템(102)에 대한 하드웨어 구성의 실시예를 도시한다. 플레이어 시스템(102)의 다른 변형은 플레이어 시스템(102)에 구성요소를 제거 또는 추가하는 것과 같이 본 명세서에 명시적으로 제시된 예들을 대체할 수 있다. 플레이어 시스템(102)은 전용 게임 디바이스, 스마트 폰, 태블릿, 개인용 컴퓨터, 데스크탑, 랩탑, 스마트 텔레비전, 자동차 콘솔 디스플레이 등을 포함할 수 있다.
시스템 구성(10)에 도시 된 바와 같이, 플레이어 시스템(102)은 플레이어 시스템(102)의 다른 구성요소 및 또한 플레이어 시스템(102)의 외부 구성요소와 상호작용하는 프로세싱 부(20)를 포함한다. 게임 미디어(12)와 통신할 수 있는 게임 미디어 리더(22)가 포함될 수 있다. 게임 미디어 리더(22)는 CD-ROM 또는 DVD와 같은 광 디스크를 읽을 수 있는 광 디스크 리더(optical disc reader), 또는 게임 미디어(12)로부터 데이터를 수신하고 읽을 수 있는 임의의 다른 타입의 리더(reader)일 수 있다. 일부 실시예들에서, 게임 미디어 리더(22)는 선택적이거나 생략될 수 있다. 예를 들어, 게임 콘텐트 또는 애플리케이션은 네트워크를 통해 액세스되어 게임 미디어 리더(22) 및/또는 게임 미디어(12)를 선택적으로 렌더링 할 수 있다.
플레이어 시스템(102)은 별도의 그래픽 프로세서(24)를 포함할 수 있다. 일부 경우에, 그래픽 프로세서(24)는 APU와 같이, 프로세싱 부(20)에 내장(built into)될 수 있다. 이러한 일부 경우에, 그래픽 프로세서(24)는 프로세싱 부(20)와 랜덤 액세스 메모리(Random Access Memory) (RAM)를 공유할 수 있다. 대안적으로, 또는 추가로, 플레이어 시스템(102)은 프로세싱 부(20)와 분리된 별도의 이산 그래픽 프로세서(discrete graphics processor)(24)를 포함할 수 있다. 이러한 일부 경우에, 상기 그래픽 프로세서(24)는 프로세싱 부(20)와 별도의 RAM을 가질 수 있다. 또한, 일부 경우들에서, 그래픽 프로세서(24)는 하나 이상의 추가 그래픽 프로세서 및/또는 내장 또는 비-이산 그래픽 프로세싱 장치(non-discrete graphics processing unit)와 함께 작업할 수 있으며, 이는 마더보드(motherboard)에 내장될 수 있고 때때로 온-보드 그래픽 칩 또는 장치(on-board graphics chip or device)로 지칭된다.
플레이어 시스템(102)은 I/O(32), 사용자 I/O(user I/O)(34), 디스플레이 I/O(display I/O)(36), 및 네트워크 I/O(network I/O)(38)와 같은 입력/출력을 가능하게 하는 다양한 구성 요소들을 포함한다. 전술한 바와 같이, 입력/출력 구성 요소들은, 일부 경우들에서, 터치-가능 장치들을 포함할 수 있다. I/O(32)는 컴퓨팅 디바이스(800)를 위한 스토리지를 제공하기 위하여 장치(42)를 통해 제거 가능 스토리지 미디어(removable storage media)(44) 및 스토리지 엘리먼트(storage element)(40)와 상호작용한다. 프로세싱 부(20)는 게임 상태 데이터 및 임의의 공유 데이터 파일들과 같은 데이터를 저장하기 위해 I/O(32)를 통해 통신할 수 있다. 스토리지(40) 및 제거 가능 스토리지 미디어(44)에 부가적으로, 컴퓨팅 디바이스(800)는 ROM(Read-Only Memory) (46) 및 RAM(48)을 포함하여 또한 도시된다. RAM(48)은 게임이 플레이 될 때와 같은, 자주 액세스되는 데이터에 사용될 수 있다.
사용자 I/O(34)는 프로세싱 부(20)와 게임 컨트롤러들과 같은 사용자 장치들 사이에서 커맨드들(commands)을 송수신하기 위해 사용된다. 일부 실시예들에서, 사용자 I/O(34)는 터치스크린 입력들을 포함할 수 있다. 전술한 바와 같이, 터치스크린은 정전용량식 터치스크린, 저항성 터치스크린, 또는 사용자로부터 터치 입력을 통해 사용자 입력을 수신하도록 구성된 터치스크린 기술의 다른 유형일 수 있다. 디스플레이 I/O(36)는 플레이 되는 게임으로부터 이미지들을 디스플레이 하는데 사용되는 입력/출력 기능들을 제공한다. 네트워크 I/O(38)는 네트워크에 대한 입력/출력 기능들을 위해 사용된다. 네트워크 I/O(38)는 게임이 온라인으로 실행되거나 온라인으로 액세스 될 때와 같이 게임의 실행 동안 사용될 수 있다.
디스플레이 출력 신호들은 디스플레이 I/O(36)에 의해 생산될 수 있고 그래픽들, 사용자 인터페이스들, 비디오 및/또는 다른 시각적 콘텐트와 같은 디스플레이 장치에 컴퓨팅 디바이스(800)에 의해 생산된 시각적 콘텐츠를 디스플레이 하기 위한 신호들을 포함할 수 있다. 플레이어 시스템(102)은 디스플레이 I/O(36)에 의해 생산된 디스플레이 출력 신호들을 수신하도록 구성된 하나 이상의 통합된 디스플레이를 포함할 수 있으며, 이는 사용자에게 디스플레이하기 위해 출력될 수 있다. 일부 실시예들에 따라서, 디스플레이 I/O(36)에 의해 생산된 디스플레이 출력 신호들은 또한 컴퓨팅 디바이스(800) 외부의 하나 이상의 디스플레이 장치로 출력될 수 있다.
플레이어 시스템(102)은 클록(clock)(50), 플래시 메모리(flash memory)(52) 및 다른 구성들과 같은 게임에 사용될 수 있는 다른 특징들을 포함할 수 있다. 오디오/비디오 플레이어(audio/video player)(56)는 또한 영화와 같은 비디오 시퀀스(video sequence)를 플레이하는데 사용될 수 있다. 다른 구성 요소들이 플레이어 시스템(102)에 제공될 수 있고 당업자가 플레이어 시스템(102)의 다른 변형들을 이해할 수 있음을 이해해야 한다.
프로그램 코드는 ROM(46), RAM(48) 또는 스토리지(40)에 저장될 수 있다(이는 하드 디스크, 다른 자기 스토리지, 광학 스토리지, 고체 상태 드라이브들 및/또는 다른 비-휘발성 스토리지, 또는 이들의 조합 또는 변형을 포함할 수 있음). 프로그램 코드의 적어도 일부는 스토리지(40) 및/또는 게임 미디어(12)와 같은 제거 가능 미디어에서의 프로그램 가능한(ROM, PROM, EPROM, EEPROM 등) ROM에 저장될 수 있다(이는 CD-ROM, 카트리지(cartridge), 메모리 칩(memory chip) 등일 수 있거나 필요에 따라 네트워크 또는 다른 전자 채널을 통해 얻을 수 있음). 일반적으로, 프로그램 코드는 유형의 비-일시적 신호-전달 매체(tangible non-transitory signal-bearing medium)에서 구체화될 수 있다.
랜덤 액세스 메모리(RAM)(48)(및 가능하게는 다른 스토리지)는 필요에 따라 변수들 및 다른 게임 및 프로세서 데이터를 저장하는데 사용될 수 있다. RAM은 사용되고, 게임 플레이 중에 생성되는 데이터를 보유하며, 그의 부분들은 프레임 버퍼들(frame buffers), 게임 상태 및/또는 사용자 입력을 해석하고 게임 디스플레이를 생성하기 위해 필요하거나 사용할 수 있는 다른 데이터를 위해 리저브(reserved)될 수 있다. 일반적으로, RAM(48)은 휘발성 스토리지고, RAM(48) 내에 저장된 데이터는 플레이어 시스템(102)이 꺼지거나 전력을 잃을 때 손실될 수 있다.플레이어 시스템(102)이 게임 미디어(12)를 읽고 게임을 제공함에 따라, 정보는 게임 미디어(12)로부터 읽히고 RAM(48)과 같은 메모리 장치에 저장될 수 있다. 또한, 스토리지(40), ROM(46), 네트워크(도시되지 않음)를 통해 액세스된 서버들 또는 제거 가능 스토리지(44)로부터의 데이터는 읽히고 RAM(48)으로 로드(loaded)될 수 있다. 데이터가 RAM(48)에서 발견되는 것으로 설명되었지만, 데이터는 RAM (48)에 저장될 필요가 없고 프로세싱 부(20)에 액세스 가능한 다른 메모리에 저장되거나 게임 미디어(12) 및 스토리지(40)와 같은 여러 미디어에 분산될 수 있다.
게임 엔진/프레임 렌더링 프로세스 예(Example Game Engine/Frame Rendering Process)
도 10은 게임 시스템의 일부 엘리먼트, 특히 도 1의 게임 어플리케이션(108) 내 게임플레이의 실행과 관련된 엘리먼트의 실시예를 도시한다. 게임 디바이스는 게임 규칙 (1130)에 따라 게임의 양상을 제어하기 위해 사용자 입력을 제공한다. 게임 규칙 (1130)은 도 9로부터 게임 미디어(12)에 명령어 형태로 특정될 수 있다. 게임 규칙 (1130)의 예는 스코어링을 위한 규칙, 가능한 입력, 액션/이벤트, 입력에 응답하는 이동(movement) 등을 포함한다. 다른 구성요소들은 어떤 입력들을 받아들이고 게임이 어떻게 진행할지 및 게임플레이의 다른 측면들을 제어할 수 있다. 도 10에서 상기 엘리먼트들은 다양한 입력에 기초하여 게임 내에서 애니메이션을 생성 및 렌더링하는데 사용되는 엘리먼트들을 도시한다.
도 10에 도시된 바와 같이, 시스템(1100)에 의해, 사용자 입력 및 게임코드/데이터는 디스플레이 비디오를 생성하기 위해 사용될 수 있다. 게임 시스템은 또한 게임을 플레이하는 것 및 대응하는 오디오 출력을 제시하는 것을 처리한다. 도 10의 설명은 게임을 위한 디스플레이 비디오 프레임을 생성하는 것에 초점을 맞추고 있다. 게임 엔진 (1102)은 사용자 입력을 수신하고 액션, 충돌, 달리기, 던지기, 공격 및 게임에 적합한 다른 이벤트와 같은 캐릭터 이벤트를 결정한다.
캐릭터 이벤트는 캐릭터 이동 엔진(1110)으로 전달되어 캐릭터가 이벤트에 응답하여 만들어야 하는 적절한 모션을 결정하고 그 모션을 물리 엔진(1112)로 전달한다. 물리 엔진(1112)은 캐릭터에 대한 새로운 포즈(new poses)를 결정하고 그 새로운 포즈를 스키닝 및 렌더링 엔진(skinning and rendering engine)(1114)에 제공한다. 엔진(1114)은 캐릭터 이미지를 객체 결합기 (1116)에 제공하여 애니메이션, 무생물 및 배경 객체를 전체 장면으로 결합시킨다. 전체 장면은 그 것으로부터 새로운 프레임 (1440)을 생성하는 렌더러(1118)로 전달된다.
게임 코드/데이터(1104)는 게임 규칙(1130), 미리 기록된 모션 캡처 포즈/경로(1132), 환경 설정(1134), 제약(1136) (강도 및 속도 제약과 같은) 및 골격 모델(1138)을 포함하는 것으로 도시되어 있다. 게임을 실행하는 디바이스는 게임 상태(1140), 캐릭터 상태(1142) 및 장면 객체 스토리지(1144)를 위한 메모리(1106)를 가질 수 있다. 캐릭터 상태(1142)는 애니메이션 되고 있는 캐릭터의 현재 포즈를 위한 스토리지를 포함할 수 있다.
동작 동안, 게임 엔진(1102)은 게임 규칙(1130)을 읽고 게임 상태 (1140)가 캐릭터 이벤트에 도달하는 것으로 간주한다. 캐릭터 이동 엔진(1110)은 캐릭터 상태(1142)뿐만 아니라 사전 기록된 포즈/경로(1132)를 읽는다. 선택적 충돌 검출기 프로세스(optional collision detector process)는 충돌을 기반으로 캐릭터에 대한 원하는 모션을 유도(derive)할 수 있다. 모션은 외력의 세트, 목표 포즈 등으로 표현될 수 있다. 필요에 따라, 캐릭터 이동 엔진(1110)은 또한 리그(rig)라고도 하는 골격 모델(1138)과 같은 도시된 다른 데이터 엘리먼트를 사용할 수 있다. 그는 종종 캐릭터 애니메이션에 사용됩니다. 전형적인 리그는 골격 구조 및 골격 구조 위에 스키닝 될 메쉬(mesh to be skinned)와 같은 캐릭터 구성 요소의 집합을 포함할 수 있다. 전형적인 리그는 캐릭터를 위한 골격 구조를 포함하고 복수의 자유도를 포함한다. 리그는 또한 애니메이션에서 모션을 생성하기 위해 애니메이터가 캐릭터의 다양한 구성 요소를 이동할 수 있게 하는 애니메이션 컨트롤 세트를 포함할 수 있다. 캐릭터 이동 엔진 (1110)은 또한 임의성(randomness), 개성(personality) 등에 대한 캐릭터 이동을 도입할 수 있다.
물리 엔진(1112)은 입력으로서, 다양한 캐릭터의 골격 모델(skeleton models of various characters), 환경 설정(environmental settings)(1134), 현재 포즈와 같은 캐릭터의 상태(예를 들어, 위치, 관절(joint angles) 또는 다른 사양(other specifications)으로 표현된 바디 부위의 위치(positions of body parts)), 및 바디 부위의 속도(선형 및/또는 각(linear and/or angular)) 및 캐릭터 이동 엔진(1110)에 의해 제공되는 모션을 가질 수 있으며, 이는 일부 또는 모든 바디 부위에 대한 힘/토크 벡터 세트의 형태(form of a set of force/torque vectors)일 수 있다. 이 정보로부터, 물리 엔진(1112)은 물리 규칙을 사용하여 캐릭터에 대한 새로운 포즈들을 생성하고, 이들 새로운 포즈는 캐릭터 상태(1142)를 업데이트하기 위해 사용될 수 있고 또한 렌더링 엔진(1114)에 제공된다. 보이지 않는 스켈레톤 모델(invisible skeleton models)이 사용되는 경우, 캐릭터 상태 (1142)는 보이지 않는 래그-돌 스켈레톤 캐릭터(invisible rag-doll skeleton characters)뿐만 아니라 캐릭터의 보이는 "그래픽"의 현재 위치를 포함할 수 있다.
스키닝 및 렌더링 엔진(1114)은 포즈를 취하는 캐릭터의 신체 부위의 표면, 색상 및 질감을 고려하여 캐릭터 이미지를 렌더링한다. 객체 결합기(1116)는 완전한 장면을 렌더러(renderer)(1118)에 제공하기 위해 캐릭터 이미지를 장면 오브젝트 스토어(1114)로부터 획득된 무생물 및 배경 객체와 결합할 수 있다.
여기에 기술된 임의의 특정 실시예에 따라 모든 목적 또는 장점이 반드시 달성될 필요는 없음이 이해되어야 한다. 따라서, 예를 들어, 당업자는 특정 실시예가 여기에서 교시 또는 제안될 수 있는 다른 목적 또는 장점을 반드시 달성하지 않고 여기에서 교시된 바와 같은 하나의 장점 또는 장점 그룹을 달성하거나 최적화하는 방식으로 동작하도록 구성될 수 있음을 인식할 것이다.
여기에 기술된 모든 프로세스들은 하나 이상의 컴퓨터 또는 프로세서를 포함하는 컴퓨팅 시스템에 의해 실행되는 소프트웨어 코드 모듈을 통해 완전히 자동화되고, 구현될 수 있다. 상기 코드 모듈은 임의의 타입의 비 일시적인 컴퓨터로 읽을 수 있는 매체 또는 다른 컴퓨터 스토리지 디바이스에 저장될 수 있다. 일부 또는 모든 방법은 전문화된(specialized) 컴퓨터 하드웨어로 구현될 수 있다.
여기에 기술된 것 이외의 많은 다른 변형은 본 개시로부터 명백하다. 예를 들어, 실시예에 따라, 여기에 기술된 임의의 알고리즘의 기능, 이벤트, 또는 특정 행동(certain acts)은 상이한 시퀀스로 수행될 수 있거나, 추가, 병합(merged), 또는 완전히 생략될(left out altogether) 수 있다(예를 들어, 알고리즘의 실행에 기술된 모든 행동 또는 이벤트가 필요한 것은 아니다). 더욱이, 특정 실시예에서, 행동 또는 이벤트는 예를 들어, 멀티 스레드 프로세싱(multi-threaded processing), 인터럽트 프로세싱(interrupt processing), 또는 다수의 프로세서(multiple processors) 또는 다수의 코어(processor cores) 또는 다른 병렬 아키텍처 상에서(on other parallel architectures), 순차적으로 수행되지 않고 동시에 수행될 수 있다. 추가로, 상이한 작업 또는 프로세스는 상이한 머신 및/또는 함께 기능할 수 있는 컴퓨팅 시스템에 의해 수행될 수 있다.
여기에 개시된 실시예들과 관련하여 기술된 다양한 예시적인 논리 블록들 및 모듈들은 프로세싱 부, 프로세서, 디지털 신호 프로세서(digital signal processor)(DSP), 주문형 집적 회로(application specific integrated circuit)(ASIC), 필드 프로그램 가능 게이트 어레이(field programmable gate array)(FPGA) 또는 다른 프로그램 가능 로직 디바이스(programmable logic device), 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 구성요소, 또는 여기에 기술된 기능을 수행하도록 설계된 이들의 임의의 조합에 의해 구현될 수 있다. 프로세서는 마이크로 프로세서일 수 있지만, 대안적으로, 프로세서는 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 또는 상태 머신(state machine), 이들의 조합 등 일 수 있다. 프로세서는 컴퓨터로 실행 가능한 명령어들을 처리하도록 구성된 전기 회로(electrical circuitry)를 포함할 수 있다. 다른 실시예에서, 프로세서는 컴퓨터로 실행 가능한 명령어들을 처리하지 않고 로직 동작을 수행하는 다른 프로그램 가능 디바이스 또는 FPGA를 포함한다. 프로세서는 또한 컴퓨팅 디바이스의 조합, 예를 들어, DSP와 마이크로 프로세서의 조합, 복수의 마이크로 프로세서, DSP코어와 관련된(in conjunction with) 하나 이상의 마이크로 프로세서 또는 임의의 다른 이러한 구성으로 구현될 수 있다. 비록 여기서 주로 디지털 기술과 관련하여 기술되었지만, 프로세서는 또한 주로 아날로그 구성요소를 포함할 수 있다. 예를 들어, 여기에 기술된 일부 또는 전부의 신호 처리 알고리즘은 아날로그 회로 또는 혼합 아날로그 회로 및 디지털회로로 구현될 수 있다. 컴퓨팅 환경은 몇 가지 예를 들면, 마이크로 프로세서에 기초한 컴퓨터 시스템, 메인 프레임 컴퓨터(mainframe computer), 디지털 신호 프로세서, 휴대용 컴퓨팅 디바이스, 디바이스 컨트롤러, 또는 기기 내 계산 엔진(computational engine within an appliance)을 포함하는, 그러나 이에 제한되지 않는, 임의의 타입의 컴퓨터 시스템을 포함한다.
달리 구체적으로 언급되지 않는 한, 다른 것들 중에, “할 수 있다”, “할 수 있었다”, "일 수 있다", 및 "일 수 있었다"는 문맥내에서 특정 특징들, 엘리먼트들 및/또는 단계들을 특정 실시예들은 포함하지만, 다른 실시예들은 포함하지 않는다는 것을 전달하기 위해 일반적으로 사용되는 것에 따라 이해되어야 한다. 따라서, 이러한 조건부 언어는 일반적으로 특징들, 엘리먼트들 및/또는 단계들이 어떻게든(in any way) 하나 이상의 실시예들에서 요구된다는 것 또는 하나 이상의 실시예들이 사용자 입력 또는 프롬프팅(prompting) 여부와 상관없이 이러한 특징들, 엘리먼트들 및/또는 단계들이 포함되는지 또는 임의의 특정 실시예에서 수행되어야 하는지 여부를 결정하기 위한 로직을 반드시 포함한다는 것을 의미하는 것은 아니다.
달리 구체적으로 언급되지 않는 한, “Y, 또는 Z중 적어도 하나”라는 어구와 같은 이접 언어(Disjunctive language)는 항목(item), 용어(term) 등이 X, Y, 또는 Z 또는 이들의 조합(예를 들어, X, Y, 및/또는 Z)이 될 수 있음을 나타내기 위해 일반적으로 사용되는 문맥과 함께 이해된다. 따라서, 이러한 이접 언어는 일반적으로 특정 실시예들이 X의 적어도 하나, Y의 적어도 하나, 또는 Z의 적어도 하나 각각이 존재해야 한다는 것을 의미하지 않으며, 암시해서는 안된다.
여기에 기술되고/되거나 첨부된 도면에 묘사된 흐름도(flow diagrams)의 블록들, 엘리먼트들, 또는 임의의 프로세스 설명들은 프로세스에서 특정 논리적 기능들 또는 엘리먼트들을 구현하기 위한 하나 이상의 실행 가능한 명령어들을 포함하는 코드의 부분들, 세그먼트들 또는 모듈들을 잠재적으로 나타내는 것으로 이해되어야 한다. 대체 구현들은 여기에 기술된 실시예들의 범위 내에 포함되며, 엘리먼트들 또는 기능들은 당업자에 의해 이해될 수 있는 기능에 따라 실질적으로 동시 또는 역순을 포함하여 논의된 또는 도시된 순서와 달리 삭제되거나 실행될 수 있다.
달리 명시되지 않는 한, “일(a)””일(an)”와 같은 관사는 일반적으로 하나 이상의 기술된 항목을 포함하는 것으로 해석되어야 한다. 따라서, “하도록 구성된 디바이스”와 같은 문구는 하나 이상의 인용된 디바이스들을 포함하도록 의도된다. 이러한 하나 이상의 인용된 디바이스들은 상기 언급된(stated) 리사이테이션(recitations)을 수행하도록 집합적으로 구성될 수 있다. 예를 들어, “리사이테이션 A, B 및 C를 수행하도록 구성된 프로세서”는 리사이테이션 B 및 C를 수행하도록 구성된 제2 프로세서와 함께 작업하는 리사이테이션 A를 수행하도록 구성된 제1 프로세서를 포함할 수 있다.
전술 한 실시예에 대해 많은 변형 및 수정이 이루어질 수 있음이 강조되어야 하며, 그 엘리먼트들은 다른 허용 가능한 예 중 하나인 것으로 이해되어야 한다. 이러한 모든 수정 및 변형은 이 개시의 범위 내에 포함되도록 의도된다.

Claims (20)

  1. 스폰서 매칭 시스템에 있어서,
    하나 이상의 데이터 스토리지(data storage),
    하나 이상의 플레이어 시스템 및 하나 이상의 스폰서 시스템과 통신하도록 구성된 네트워크 인터페이스, 및
    상기 하나 이상의 데이터 스토리지와 통신하는 하나 이상의 물리적 컴퓨터 프로세서
    를 포함하고,
    상기 하나 이상의 데이터 스토리지는,
    하나 이상의 스폰서 계정과 관련된 스폰서십 기준, 및
    하나 이상의 플레이어 계정과 관련된 플레이어 데이터
    를 저장하도록 구성되고,
    상기 하나 이상의 스폰서 계정은,
    제1 스폰서와 관련된 제1 스폰서 계정을 포함하고,
    상기 하나 이상의 플레이어 계정은,
    제1 플레이어 계정을 포함하고,
    상기 하나 이상의 물리적 컴퓨터 프로세서는,
    컴퓨터 실행가능한 명령어들이 실행되는 경우,
    복수의 플레이어 계정들과 관련된 복수의 플레이어 시스템들로부터 플레이어 데이터를 수신하고,
    제1 스폰서 시스템으로부터 제1 스폰서십 요청을 수신하고 - 상기 제1 스폰서십 요청은, 제1 스폰서십 기준을 포함하고, 상기 제1 스폰서 계정과 관련됨 -,
    플레이어 계정들의 제1 서브세트를 식별하기 위하여, 스폰서십 및 플레이어 매칭 모델을 적용하고 - 상기 식별은, 상기 플레이어 데이터 및 상기 제1 스폰서십 기준에 적어도 부분적으로 기초함 -,
    상기 제1 스폰서 계정에 의해 상기 제1 플레이어 계정의 스폰서십과 관련된 스폰서십 데이터를 수신하기 위하여, 플레이어 계정들의 상기 제1 서브세트 중 상기 제1 플레이어 계정을 선택하고 - 상기 스폰서십 데이터는, 상기 제1 스폰서와 관련된 가상 스폰서십 콘텐트를 포함함-, 및
    상기 제1 플레이어 계정으로 상기 스폰서십 데이터를 전송하여, 제1 게임 어플리케이션의 가상 환경 내에서 상기 제1 플레이어 계정과 관련된 가상 캐릭터 모델이 상기 가상 스폰서십 콘텐트를 포함하는 텍스처(texture)로 렌더링되도록 구성되는,
    스폰서 매칭 시스템.
  2. 제1항에 있어서,
    상기 가상 스폰서십 콘텐트는,
    상기 제1 스폰서에 대한 광고 배치 위치에 적어도 부분적으로 기초하는 광고 커스터마이제이션
    을 포함하는, 스폰서 매칭 시스템.
  3. 제2항에 있어서,
    상기 선택된 스폰서들 각각에 대한 상기 광고 배치 위치는,
    상기 게임 어플리케이션 내에서 게임 플레이 동안 인터페이스 상에서 렌더링 될 객체 또는 인터페이스 상의 위치들
    을 포함하는, 스폰서 매칭 시스템.
  4. 제1항에 있어서,
    상기 하나 이상의 물리적 컴퓨터 프로세서는,
    스폰서 매칭 시스템의 관리자, 스폰서 시스템, 및 플레이어 시스템 중 하나 이상으로부터 피드백 데이터를 수신하고,
    적어도 부분적으로 스폰서십 기준 및 플레이어 데이터에 기초하여, 스폰서들과 플레이어들을 매치하기 위해 사용될 수 있는 스폰서십 및 플레이어 매칭 모델을 생성하도록
    더 구성되는, 스폰서 매칭 시스템.
  5. 제1항에 있어서,
    상기 하나 이상의 물리적 컴퓨터 프로세서는,
    상기 제1 플레이어 시스템으로부터 업데이트된 플레이어 데이터를 수신하고,
    적어도 부분적으로 상기 제1 스폰서십 기준 및 상기 업데이트된 플레이어 데이터에 기초하여 플레이어 계정들의 제2 서브세트를 결정하기 위해, 상기 제1 스폰서십 기준에 기초하여 상기 스폰서십 및 플레이어 매칭 모델을 상기 업데이트된 플레이어 데이터에 적용하도록
    더 구성되는, 스폰서 매칭 시스템.
  6. 제1항에 있어서,
    상기 하나 이상의 물리적 컴퓨터 프로세서는,
    적어도 부분적으로 상기 제1 스폰서십 기준 및 상기 플레이어 데이터에 기초하여, 추천된 플레이어들의 세트를 포함하는 플레이어 계정들의 제2 서브세트를 결정하도록 더 구성되고,
    상기 플레이어 계정들의 제2 서브세트는,
    상기 제1 스폰서 시스템에 의한 2차적 승인을 위해 플래그되는,
    스폰서 매칭 시스템.
  7. 제5항에 있어서,
    상기 하나 이상의 물리적 컴퓨터 프로세서는,
    상기 제1 스폰서 시스템으로부터 업데이트된 스폰서십 기준을 수신하도록 더 구성되고,
    상기 제1 스폰서십 기준은,
    업데이트 된 스폰서십 기준을 포함하는,
    스폰서 매칭 시스템.
  8. 제1항에 있어서,
    상기 스폰서십 및 플레이어 매칭 모델은,
    지도 기계 학습 알고리인,
    스폰서 매칭 시스템.
  9. 제1항에 있어서,
    상기 플레이어 데이터는,
    상기 하나 이상의 플레이어 계정과 관련된 플레이어 선호도
    를 포함하는, 스폰서 매칭 시스템.
  10. 제1항에 있어서,
    상기 하나 이상의 물리적 컴퓨터 프로세서는,
    상기 제1 스폰서와 관련된 스폰서십 데이터를 수신하기 위하여, 플레이어 계정들의 상기 제1 서브세트 내 플레이어들을 자동으로 승인하도록
    더 구성되는, 스폰서 매칭 시스템.
  11. 제1항에 있어서,
    상기 하나 이상의 물리적 컴퓨터 프로세서는,
    스폰서십 데이터를 수신하기 위하여, 상기 제1 서브세트 플레이어들 계정들의 승인에 대한 요청을 상기 제1 스폰서 계정으로 전송하고,
    스폰서십 데이터를 수신하기 위하여, 플레이어 계정들의 상기 제1 서브세트로부터의 플레이어들의 선택을 나타내는 선택된 플레이어 정보를 상기 제1 스폰서 시스템으로부터 수신하도록
    더 구성되는, 스폰서 매칭 시스템.
  12. 하나 이상의 데이터 스토리지와 통신하는 하나 이상의 물리적 컴퓨터 프로세서에 의해 수행되는, 컴퓨터로 구현된 방법에 있어서,
    복수의 플레이어 계정들과 관련된 복수의 플레이어 시스템들로부터 플레이어 데이터를 수신하는 단계,
    제1 스폰서 시스템으로부터 제1 스폰서십 요청을 수신하는 단계 - 상기 제1 스폰서십 요청은, 제1 스폰서십 기준을 포함하고, 제1 스폰서 계정과 관련됨 -,
    플레이어 계정들의 제1 서브세트를 식별하기 위하여, 스폰서십 및 플레이어 매칭 모델을 적용하는 단계 - 상기 식별은, 플레이어 데이터 및 제1 스폰서십 기준에 적어도 부분적으로 기초함 -,
    상기 제1 스폰서 계정에 의해 제1 플레이어 계정의 스폰서십과 관련된 스폰서십 데이터를 수신하기 위하여, 플레이어 계정들의 상기 제1 서브세트 중 상기 제1 플레이어 계정을 선택하는 단계 - 상기 스폰서십 데이터는, 상기 제1 스폰서를 식별하는 가상 스폰서십 콘텐트를 포함함-, 및
    상기 제1 플레이어 계정으로 상기 스폰서십 데이터를 전송하여, 제1 게임 어플리케이션의 가상 환경 내에서 상기 제1 플레이어 계정과 관련된 가상 캐릭터 모델이 상기 가상 스폰서십 콘텐트를 포함하는 텍스처(texture)로 렌더링되도록 하는 단계
    를 포함하는, 컴퓨터로 구현된 방법.
  13. 제12항에 있어서,
    상기 가상 스폰서십 콘텐트는,
    상기 제1 스폰서에 대한 광고 배치 위치에 적어도 부분적으로 기초한 광고 커스터마이제이션
    을 포함하는, 컴퓨터로 구현된 방법.
  14. 제13항에 있어서,
    상기 선택된 스폰서들 각각에 대한 상기 광고 배치 위치는,
    상기 게임 어플리케이션 내에서 게임 플레이 동안 인터페이스 상에서 렌더링될 객체 또는 인터페이스 상의 위치들
    을 포함하는, 컴퓨터로 구현된 방법.
  15. 제12항에 있어서,
    스폰서 매칭 시스템의 관리자, 플레이어 시스템, 및 스폰서 시스템 중 하나 이상으로부터 피드백 데이터를 수신하는 단계, 및
    스폰서십 기준 및 플레이어 데이터에 적어도 부분적으로 기초하여 스폰서들과 플레이어들을 매치하기 위해 사용될 수 있는 스폰서십 및 플레이어 매칭 모델을 생성하는 단계
    를 더 포함하는, 컴퓨터로 구현된 방법.
  16. 제12항에 있어서,
    상기 제1 플레이어 시스템으로부터 업데이트된 플레이어 데이터를 수신하는 단계, 및
    상기 제1 스폰서십 기준 및 상기 업데이트된 플레이어 데이터에 적어도 부분적으로 기초하여, 플레이어 계정들의 제2 서브세트를 결정하기 위하여, 상기 제1 스폰서십 기준에 기초하여 상기 업데이트된 플레이어 데이터에 상기 스폰서십 및 플레이어 매칭 모델을 적용하는 단계
    를 더 포함하는, 컴퓨터로 구현된 방법.
  17. 제12항에 있어서,
    적어도 부분적으로 상기 제1 스폰서십 기준 및 상기 플레이어 데이터에 기초하여 추천된 플레이어들의 세트를 포함하는 플레이어 계정들의 제2 서브세트를 결정하는 단계
    를 더 포함하고,
    상기 플레이어 계정들의 제2 서브세트는,
    상기 제1 스폰서 시스템에 의한 2차적 승인을 위해 플래그되는,
    컴퓨터로 구현된 방법.
  18. 제12항에 있어서,
    상기 플레이어 데이터는,
    상기 하나 이상의 플레이어 계정과 관련된 플레이어 선호도
    를 포함하는, 컴퓨터로 구현된 방법.
  19. 제12항에 있어서,
    상기 제1 스폰서와 관련된 스폰서십 데이터를 수신하기 위하여, 플레이어 계정들의 상기 제1 서브세트 내 플레이어들을 자동으로 승인하는 단계
    를 더 포함하는, 컴퓨터로 구현된 방법.
  20. 제12항에 있어서,
    스폰서십 데이터를 수신하기 위하여, 상기 제1 서브세트 플레이어들 계정들의 승인에 대한 요청을 상기 제1 스폰서 계정으로 전송하는 단계, 및
    스폰서십 데이터를 수신하기 위하여, 플레이어 계정들의 상기 제1 서브세트로부터의 플레이어들의 선택을 나타내는 선택된 플레이어 정보를 상기 제1 스폰서 시스템으로부터 수신하는 단계
    를 더 포함하는, 컴퓨터로 구현된 방법.

KR1020200036572A 2019-03-29 2020-03-26 자동화된 플레이어 스폰서십 시스템 KR102460104B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220137347A KR20220149488A (ko) 2019-03-29 2022-10-24 자동화된 플레이어 스폰서십 시스템

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/370,846 US10967277B2 (en) 2019-03-29 2019-03-29 Automated player sponsorship system
US16/370,846 2019-03-29

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220137347A Division KR20220149488A (ko) 2019-03-29 2022-10-24 자동화된 플레이어 스폰서십 시스템

Publications (2)

Publication Number Publication Date
KR20200115305A KR20200115305A (ko) 2020-10-07
KR102460104B1 true KR102460104B1 (ko) 2022-10-28

Family

ID=72606791

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200036572A KR102460104B1 (ko) 2019-03-29 2020-03-26 자동화된 플레이어 스폰서십 시스템
KR1020220137347A KR20220149488A (ko) 2019-03-29 2022-10-24 자동화된 플레이어 스폰서십 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220137347A KR20220149488A (ko) 2019-03-29 2022-10-24 자동화된 플레이어 스폰서십 시스템

Country Status (3)

Country Link
US (3) US10967277B2 (ko)
KR (2) KR102460104B1 (ko)
CN (1) CN111744205B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6743102B2 (ja) * 2018-09-06 2020-08-19 株式会社アグニ・フレア ゲームプログラム、記録媒体及びゲーム制御方法
US10967277B2 (en) 2019-03-29 2021-04-06 Electronic Arts Inc. Automated player sponsorship system
US11468611B1 (en) * 2019-05-16 2022-10-11 Apple Inc. Method and device for supplementing a virtual environment
US11395974B1 (en) * 2020-05-04 2022-07-26 Electronic Arts Inc. Contextually aware active social matchmaking
US20220342948A1 (en) * 2021-04-23 2022-10-27 At&T Intellectual Property I, L.P. Apparatuses and methods for facilitating searching based on profiles and options
KR102464977B1 (ko) * 2021-10-29 2022-11-09 이일섭 대전 게임의 유저와 동기화된 광고를 표시하는 방법 및 장치
US20240001231A1 (en) * 2022-06-29 2024-01-04 Superplay Ltd Altering computer game tiles having multiple matchable ends
US11857882B1 (en) * 2022-06-29 2024-01-02 Superplay Ltd Altering computer game tiles having multiple matchable ends

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130231999A1 (en) * 2011-08-30 2013-09-05 Robert Emrich Method and apparatus for personalized marketing
KR101626440B1 (ko) * 2015-02-24 2016-06-13 동명대학교산학협력단 게임중 광고 제공 시스템 및 그 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005033896A2 (en) * 2003-10-01 2005-04-14 Cash Systems, Inc. System and method for integrated player tracking and cash-access
US20070191104A1 (en) * 2006-02-14 2007-08-16 Leviathan Entertainment, Llc Online Game Environment that Facilitates Sponsorship Contracts
US20080032787A1 (en) * 2006-07-21 2008-02-07 Igt Customizable and personal game offerings for use with a gaming machine
US9220985B1 (en) * 2011-06-30 2015-12-29 Zynga Inc. Providing virtual items based on location-based actions
US20130116044A1 (en) * 2011-11-03 2013-05-09 Lawrence Schwartz Network multi-player trivia-based game and contest
US9084932B2 (en) * 2012-01-13 2015-07-21 Gtech Canada Ulc Automated discovery of gaming preferences
US9533227B2 (en) * 2013-03-15 2017-01-03 Mingo Development, Inc. Systems and methods in support of providing customized gamification for accomplishing goals
US20140274384A1 (en) 2013-03-15 2014-09-18 Electronic Arts Inc. Delivering and consuming interactive video gaming content
EP3352123A4 (en) * 2015-09-17 2019-03-06 GungHo Online Entertainment, Inc. SERVER DEVICE, PROGRAM AND METHOD
US10964159B2 (en) * 2016-06-29 2021-03-30 Synergy Blue Llc Computer-implemented methods and regulated gaming machines configured for coordinated placement of ads
US10226708B2 (en) 2016-06-30 2019-03-12 Electronic Arts Inc. Interactive gameplay playback system
US20180025377A1 (en) * 2016-07-21 2018-01-25 Stickerride Ltd Systems and methods for evaluating effectiveness of outdoor or indoor advertisements
CN108325209A (zh) * 2018-04-02 2018-07-27 赖进九 一种游戏语音互联网推广系统及其操作方法
US10967277B2 (en) 2019-03-29 2021-04-06 Electronic Arts Inc. Automated player sponsorship system
US10918938B2 (en) 2019-03-29 2021-02-16 Electronic Arts Inc. Dynamic streaming video game client

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130231999A1 (en) * 2011-08-30 2013-09-05 Robert Emrich Method and apparatus for personalized marketing
KR101626440B1 (ko) * 2015-02-24 2016-06-13 동명대학교산학협력단 게임중 광고 제공 시스템 및 그 방법

Also Published As

Publication number Publication date
US20230182026A1 (en) 2023-06-15
KR20220149488A (ko) 2022-11-08
US10967277B2 (en) 2021-04-06
US20200306645A1 (en) 2020-10-01
US11596872B2 (en) 2023-03-07
CN111744205A (zh) 2020-10-09
KR20200115305A (ko) 2020-10-07
CN111744205B (zh) 2021-11-16
US20210213362A1 (en) 2021-07-15

Similar Documents

Publication Publication Date Title
KR102460104B1 (ko) 자동화된 플레이어 스폰서십 시스템
US11484802B2 (en) Interactive gameplay playback system
KR20200123404A (ko) 멀티 플레이어 비디오 게임 매치 메이킹 최적화
JP2022525413A (ja) ビデオゲームのコーチングとマッチメイキングのためのaiモデリング
US11103782B2 (en) Artificial intelligence (AI) controlled camera perspective generator and AI broadcaster
US20210402292A1 (en) Method of haptic responses and interacting
US11285390B2 (en) Artificial intelligence (AI) controlled camera perspective generator and AI broadcaster
US10617945B1 (en) Game video analysis and information system
US11623154B2 (en) Driving virtual influencers based on predicted gaming activity and spectator characteristics
US11571628B2 (en) Modifying game content to reduce abuser actions toward other users
CN116390794A (zh) 用于被动观众观看的相机视图选择处理器
US20200269143A1 (en) Building a dynamic social community based on real-time in-game context of a player
CN116943204A (zh) 虚拟对象的控制方法、装置和存储介质及电子设备

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant