KR102549681B1 - 게임내 자원 서페이싱 플랫폼 - Google Patents

게임내 자원 서페이싱 플랫폼 Download PDF

Info

Publication number
KR102549681B1
KR102549681B1 KR1020217005556A KR20217005556A KR102549681B1 KR 102549681 B1 KR102549681 B1 KR 102549681B1 KR 1020217005556 A KR1020217005556 A KR 1020217005556A KR 20217005556 A KR20217005556 A KR 20217005556A KR 102549681 B1 KR102549681 B1 KR 102549681B1
Authority
KR
South Korea
Prior art keywords
player
game
resource
players
goal
Prior art date
Application number
KR1020217005556A
Other languages
English (en)
Other versions
KR20210035871A (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 KR20210035871A publication Critical patent/KR20210035871A/ko
Application granted granted Critical
Publication of KR102549681B1 publication Critical patent/KR102549681B1/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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5375Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for graphically or textually suggesting an action, e.g. by displaying an arrow indicating a turn in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/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/65Generating 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 automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • 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/67Generating 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 adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • 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
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/847Cooperative playing, e.g. requiring coordinated actions from several players to achieve a common goal
    • 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/85Providing additional services to players

Abstract

서페이싱 플랫폼에 의해 콘텍스트 관련 자원을 비디오 게임의 플레이어에게 서페이싱하기 위한 기법이 기재된다. 방법 실시예에서, 동작이 목표를 달성하는 것과 관련된 비디오 게임의 플레이어로부터의 질의를 처리한다. 상기 방법은 플레이어의 게임 데이터를 처리하여 현재 상태를 결정하고 목표를 달성했던 타 플레이어의 게임 데이터를 처리하는 동작을 포함한다. 상기 방법은 타 플레이어에 의한 목표를 완료한 성공적인 시도 및 이때 사용된 자원을 식별하기 위한 동작을 더 포함한다. 상기 방법은 성공적인 시도에서 타 플레이어에 의해 사용된 자원에 기초하여 목표를 달성하기 위해 플레이어가 사용 가능한 자원을 선택하고 즉시 사용되기 위해 플레이어로 자원을 표시한다.

Description

게임내 자원 서페이싱 플랫폼
본 개시는 일반적으로 비디오 게임과 관련되며, 더 구체적으로, 콘텍스트 관련 게임내 자원을 게임플레이 동안 도움이 필요한 플레이어에게 서페이싱하기 위한 방법 및 시스템과 관련된다.
많은 비디오-게임은 사용자가 비디오 게임 내에서 벌거나, 찾거나 구매하고 사용하기 위한 수백 내지 수천 개의 개별 아이템을 가진다. 이들 중 일부는 도구, 갑옷, 스킨, 차량, 소모품 등을 포함한다. 또한 많은 대중적인 플랫폼, 가령, PlayStation®, PC(personal computer) 및 모바일 디바이스 상에서 플레이어가 이용 가능한 수백 내지 수천 개의 개별 게임 타이틀이 존재한다. 이로 인해 오늘날의 플레이어에게는 몇 가지 제품 주기 전 플레이어에게보다 훨씬 더 방대한 아이템 선택이 존재하게 된다. 게임내 아이템의 범위와 게임 타이틀의 수는 수년에 걸쳐 꾸준히 증가해 왔지만, 플레이어가 게임 내에서 진행하는 데 적합하거나 효과적인 아이템을 찾기 위해 사용하는 방법론은 이에 발맞추지 못했다.
예를 들어, 플레이어는 일반적으로 목표를 달성하기 위해 획득할 아이템, 애드-온 또는 업그레이드를 결정할 때 친구에게 묻는 것과 같이 시행 착오, 추측 및 연구의 조합을 이용해야 한다. 그럼에도 불구하고 플레이어는 특정 목표, 캐릭터, 플레이 스타일 등에 가장 효과적인 아이템에 도달하기 전에 다수의 아이템, 애드-온 및/또는 업그레이드로 실험해야 할 수 있다. 따라서 플레이어와 게임 내에서 플레이어가 이용 가능한 자원, 더 구체적으로, 개별 플레이어의 환경, 캐릭터 및 플레이스타일에 가장 적합한 자원 간 분리가 현재 존재한다. 플레이어가 일부 목적을 달성하는 데 반복적으로 실패하여 좌절할 때, 플레이어는 게임을 중단하고 게임이 제공하고자 한 전체를 경험하지 못할 가능성이 높다. 따라서 플레이어가 현재 게임뿐 아니라 플레이어가 참여하는 복수의 추가 게임에서의 플레이어의 플레이스타일 및 행동 모두의 관점에서 성공하도록 도울 가능성이 가장 높은 자원과 플레이어를 매칭시키기 위한 게임내 플랫폼을 개발하고 통합하는 것이 필요하고 유익하다. 또한 게임 공급자와 가상 상점 플랫폼이 게임 플레이에서 플레이어를 보완할 특정 게임내 자원을 식별하고 이를 플레이어에게 통신할 수 있는 것이 필요하고 유익하다.
이러한 맥락에서 실시예가 발생한다.
본 개시의 실시예는 콘텍스트 데이터 및 유사한 플레이어들의 커뮤니티로부터의 데이터에 기초하여 플레이어를 보조하는 게임내 자원을 검색하고 식별하기 위한 방법 및 시스템과 관련된다.
하나의 실시예에서, 컴퓨터로 구현되는 방법이 제공된다. 방법은 비디오 게임의 플레이어의 디바이스로부터의 질의를 처리하기 위한 동작을 제공하며, 여기서 질의는 비디오 게임에서 현재 상태로부터 후속 상태로 전진함으로써 목표를 완료하는 것과 관련된다. 상기 방법은 비디오 게임 내에서 플레이어의 현재 상태를 결정하기 위해 플레이어의 게임 데이터를 처리하고 현재 상태로부터 후속 상태로 전진함으로써 목표를 완료했던 타 플레이어의 게임 데이터를 처리하기 위한 동작을 제공한다. 상기 방법은 또한, 타 플레이어의 게임 데이터로부터, 목표를 완료한 성공적인 시도를 식별하고 상기 목표를 완료한 성공적인 시도 동안 타 플레이어 각각에 의해 사용되는 하나 이상의 자원을 식별하기 위한 동작을 제공한다. 또한, 방법은 상기 목표를 완료한 성공적인 시도 동안 타 플레이어 각각에 의해 사용된 하나 이상의 자원에 기초하여 목표를 완료하기 위해 플레이어가 사용 가능한 자원을 선택하기 위한 동작 및 플레이어에 의한 자원의 선택에 응답하여 플레이어에 의해 즉시 사용되도록 자원을 디바이스를 통해 플레이어에게 표시하기 위한 동작을 제공한다.
또 다른 실시예에서, 컴퓨터로 구현되는 방법은 복수의 비디오 게임을 플레이하는 동안 플레이어가 사용될 자원을 선택할 수 있게 하는 가상 상점을 액세스하기 위한 요청을 수신하기 위한 동작을 포함한다. 상기 방법은, 또한 플레이어의 현재 상태에 기초하고 비디오 게임에서 더 많이 전진한 타 플레이어의 게임 데이터에 기초하여 비디오 게임의 지속적인 플레이를 통해 플레이어가 가질 목표를 서버에서 결정하기 위해 제공된다. 상기 방법은 타 플레이어의 게임 데이터로부터 목표를 완료한 성공적인 시도를 식별하고 목표를 완료한 성공적인 시도 동안 타 플레이어 각각에 의해 사용되는 하나 이상의 자원을 식별하는 동작을 더 제공하며, 목표는 현재 상태에서 후속 상태로 전진하는 것을 포함한다. 덧붙여, 방법은 목표를 완료한 성공적인 시도 동안 타 플레이어 각각이 사용한 하나 이상의 자원으로부터 목표를 완료하기 위해 플레이어가 사용 가능한 자원을 선택하고 상기 자원을 가상 상점을 위한 인터페이스를 통해 플레이어에게 표시하는 것을 제공한다.
또 다른 실시예에서, 프로세서 기반 시스템에 의해 실행 가능한 컴퓨터 프로그램을 저장하는 비일시적 컴퓨터 판독형 저장 매체가 제공된다. 비일시적 컴퓨터 판독형 저장 매체는 비디오 게임의 플레이어의 디바이스로부터의 질의를 처리하기 위한 프로그램 명령을 포함하며, 상기 질의는 비디오 게임에서 현재 상태로부터 후속 상태로 전진함으로써 목표를 완료하는 것과 관련된다. 비일시적 컴퓨터 판독형 저장 매체는 비디오 게임 내 플레이어의 현재 상태를 결정하기 위해 플레이어의 게임 데이터를 처리하고 현재 상태로부터 후속 상태로 전진함으로써 목표를 완료했던 타 플레이어의 게임 데이트를 처리하기 위한 프로그램 명령을 더 포함한다. 비일시적 컴퓨터 판독형 저장 매체는 타 플레이어의 게임 데이터로부터 목표를 완료한 성공적인 시도를 식별하고 상기 목표를 완료한 성공적인 시도 동안 타 플레이어 각각에 의해 사용되는 하나 이상의 자원을 식별하는 것을 더 제공한다. 또한, 비일시적 컴퓨터 판독형 저장 매체는 목표를 완료하기 위해 플레이어가 사용 가능한 자원을 상기 성공적인 시도 동안 타 플레이어 각각이 사용한 하나 이상의 자원에 기초하여 선택하기 위한 프로그램 명령 및 플레이어에 의한 자원의 선택에 응답하여 플레이어가 즉시 사용하도록 자원을 디바이스를 통해 플레이어에게 표시하기 위한 프로그램 명령을 제공한다.
본 개시의 또 다른 양태가 본 개시내용의 원리를 예시로서 도시한 첨부된 도면과 함께 다음의 상세한 설명으로부터 명백해질 것이다.
개시내용은 첨부된 도면과 함께 다음의 설명을 참조하여 가장 잘 이해될 수 있다.
도 1a-1c는 다양한 실시예에 따르는, 자원이 식별되고 사용자에게 전달되거나 전달되지 않는 방식에 대한 개념도이다.
도 2는 하나의 실시예에 따르는, 사용자로부터의 질의에 응답하여 콘텍스트 관련 자원을 서페이싱하기 위한 시스템의 개념도이다.
도 3은 하나의 실시예에 따르는, 사용자에 의한 질의를 해석하고 상기 질의에 대한 응답을 생성하기 위한 서버에서의 특정 구성요소의 개략도를 도시한다.
도 4는 하나의 실시예에 따르는, 게임 모델이 서페이싱 플랫폼에 의해 서버에서 사용자를 위해 생성되는 방법의 개념도를 도시한다.
도 5는 하나의 실시예에 따르는, 자원을 식별하기 위해 서페이싱 플랫폼에 의해 게임 모델이 조사될 수 있는 방법의 개념도를 도시한다.
도 6은 하나의 실시예에 따르는 게임 모델을 생성하기 위한 분류기의 개념도를 도시한다.
도 7은 하나의 실시예에 따르는, 사용자로부터의 질의를 처리하고 상기 질의에 응답하기 위한 방법의 전체 흐름을 도시한다.
도 8은 또 다른 실시예에 따르는, 서페이싱 플랫폼이 다양한 자원을 식별하고 사용자에게 표시하기 위해 순위화할 수 있는 방법의 개념도를 도시한다.
도 9는 하나의 실시예에 따르는, 서페이싱 플랫폼이 질의에 응답하여 사용자에게 자원을 표시할 수 있는 방법을 도시한다.
도 10a는 서페이싱 플랫폼에 의해 사용자에게 자원을 표시하기 위한 추가 실시예를 도시한다.
도 10b는 서페이싱 플랫폼이 사용자에게 표시되는 자원의 즉시 사용을 가능하게 하는 방법의 실시예를 도시한다.
도 11은 하나의 실시예에 따르는, 서페이싱 플랫폼을 갖는 가상 상점의 정면도를 도시한다.
도 12는 하나의 실시예에 따르는, 서페이싱 플랫폼이 가상 상점 레벨에서 동작할 수 있게 하는 서버에서의 선택된 구성요소를 도시한다.
도 13은 하나의 실시예에 따르는, 본 개시의 다양한 실시예의 양태를 수행, 가령, 챌린지 게임을 플레이, 생성, 및 보는 데 사용될 수 있는 예시적 디바이스의 구성요소를 도시한다.
본 개시의 실시예는 콘텍스트 데이터 및 유사한 플레이어들의 커뮤니티로부터의 데이터에 기초하여 플레이어를 보조하는 게임내 자원을 검색하고 식별하기 위한 방법 및 시스템과 관련된다. 그러나 본 개시는 이들 특정 세부사항 중 일부 또는 전체 없이 실시될 수 있음이 해당 분야의 통상의 기술자에게 자명할 것이다. 또 다른 경우, 본 개시를 불필요하게 모호하게 하지 않도록 잘 알려진 프로세스 동작은 상세히 기재되지 않았다.
도 1a-1c는 다양한 실시예에 따르는, 자원이 식별되고 사용자에게 전달되거나 전달되지 않는 방식에 대한 개념도이다. 도 1a는 실세계 셋팅(100) 내 자원(102)과 관련된 요구(110)를 갖는 사용자(108)를 도시한다. 요구(110)는 질문에 대한 대답, 주소, 이름, 애플리케이션, 비디오, 이미지, 텍스트 본문, 제품, 서비스, 또는 그 밖의 다른 일부 데이터일 수 있다. 사용자(108)가 이러한 요구(110)를 가질 때, 요구(110)가 포함하는 것이 무엇인지 그리고 이를, 예를 들어 온라인 검색 플랫폼(104), 가령, Google, Bing, Duckduckgo, Yahoo!, Amazon.com, 애플리케이션 상점, 또는 데이터베이스를 검색하는 그 밖의 다른 일부 프로그램에게 통신할 방법을 안다. 요구(110)가 온라인 검색 플랫폼(104)으로 통신될 때, 이는 질의의 형태를 가진다. 온라인 검색 플랫폼(104)은 질의 내 키워드 또는 캐릭터를 이용해 질의와 매칭되며 일반적으로 관련도 순위에 의해 배열된 검색 결과의 리스트를 반환할 수 있다. 따라서 온라인 검색 플랫폼(104)은 자원(102')을 사용자(108)의 소지품으로 전달하고 요구(110)를 충족시킬 수 있다.
종종, 요구(110)는 상거래 기회, 가령, 판매용 제품 또는 서비스, 또는 판매를 야기할 일부 정보와 관련될 것이다. 결과적으로, 사업체는 자신의 결과가 검색 결과의 리스트 중 눈에 띄는 위치에 나타나도록 하는 요금을 지불함으로써 온라인 검색 플랫폼(104)으로 광고하도록 장려 받는다. 이러한 방식으로, 사용자(108), 온라인 검색 플랫폼(104) 및 자원(102)의 제공자의 삼자 모두가 거래에 의해 혜택을 받는다. 사용자(108)는 사용자(108)에서 요구(110)가 발생한 순간에서 또는 거의 그 순간에서 요구(110)를 충족시키는 방식으로 자원(102')(가령, 제품, 서비스, 애플리케이션, 노래, 음악, 클립, 또는 그 밖의 다른 일부 데이터 또는 물리적 물품)을 소유하게 된다. 자원(102)의 제공자는 사용자(108)와 연결하고 거래함으로써, 예를 들어, 판매를 하거나 브랜드 인지도를 높이거나, 사용자(108)를 미래의 거래로 유입시키기 위한 접속점을 만듦으로써 혜택을 입는다. 한편, 온라인 검색 플랫폼(104)은 자원(102) 제공자로부터 얻은 수익 및 사용자(108)에 의한 온라인 검색 플랫폼(104)의 지속적인 사용으로부터 혜택을 입는다.
도 1b는 하나의 실시예에 따른, 서페이싱 플랫폼이 없는 게임 환경(114)의 사용자(108)와 가상 설정(112) 간의 관계 구조의 유사한 뷰를 도시한다. 사용자(108)는 캐릭터(118)를 통해 게임 환경(114)과 상호작용한다. 게임 환경(114)과 상호작용할 때, 사용자(108)는 해결할 수 없는 문제에 직면할 수 있다. 예를 들어, 사용자(108)는 현재 자신의 기술 레벨, 인벤토리, 또는 지식을 갖고 이룰 수 없는 목표에 직면할 수 있다. 목표는 적, 가령, 보스를 물리치는 것, 스테이지를 완료하는 것, 보물 찾기를 완료하는 것, 퍼즐을 푸는 것, 경쟁자를 물리치는 것, 기록을 세우는 것 등을 포함할 수 있다. 따라서 일부 자원에 대한 요구(120)는 목표를 이루는 것과 관련하여 사용자(108)에게서 발생한다.
종종, 캐릭터(118)로 목표를 이루는 데 사용자(108)를 보조할 수 있는 게임 환경(114)의 게임내 자원(116)이 존재할 수 있다. 게임내 자원(116)은 다운로드 가능한 콘텐츠(DLC), 애드-온, 업그레이드, 아이템, 팁, 전략, 공동 데이터 등일 수 있다. 그러나, 사용자(108)는 그러한 자원이 존재함을 반드시 인식하는 것은 아니다. 마찬가지로 사용자(108)는 특정 게임내 자원(116)이, 예를 들어 사용자(108)의 게임 상태, 인벤토리, 기술 레벨, 플레이 히스토리, 및 플레이 스타일을 가정할 때 수백 또는 수천 개의 자원 중 사용자(108)가 목표를 이루는 것을 도울 가능성이 가장 높은 하나의 자원임을 인식하지 않는다. 많은 상황에서 캐릭터(118) 및 게임 환경(114)은 수백 또는 수천 개의 자원 중 어느 것이 사용자(108)에게 가장 효과적인지를 결정하기 위한 데이터 또는 논리를 갖지 않는 수동적 개체이다. 서페이싱 플랫폼 없는 가상 셋팅(112) 하에서, 사용자(108)가 자신의 요구(120)를 게임 환경(114)으로 통신하기 위한 어떠한 두드러진 방식이 없다. 마찬가지로, 게임 환경(114)은 사용자(108)가 목표를 이루기 위한 가장 효과적인 게임내 자원(116)을 서페이싱 또는 식별할 수 없다. 따라서 게임내 자원(116)는 캐릭터(118)에 전달되지 않으며 자원에 대한 요구(120)가 충족되지 않는다.
도 1c는 하나의 실시예에 따른 서페이싱 플랫폼(106)을 갖는 게임 환경(122)의 가상 셋팅(120)과 사용자(108) 간 관계 구조의 개념도이다. 도 1b에 도시된 것과 유사하게, 어떤 목표를 이루는 것과 관련하여 사용자(108)에게서 요구(120)가 발생할 수 있다. 그러나,도 1b에 도시된 구조와 달리, 도 1c의 사용자(108)는 질의(101)의 형태로 요구(120)를 서페이싱 플랫폼(106)으로 통신할 수 있다. 서페이싱 플랫폼(106)은 도 1a의 온라인 검색 플랫폼(104)과 유사하게 키워드 및 캐릭터를 이용함으로써 자연어 처리를 이용해 질의(101)를 해석하도록 자연어를 사용하여 질의(101)를 해석하도록 구상된다. 그러나, 요구(120)를 해석하기 위한 질의(101)의 언어를 처리하는 것에 추가하여, 서페이싱 플랫폼(106)이 요구(120)와 관련될 때 사용자(108)의 의도에 접근하기 위한 로직을 포함하는 것이 고려된다.
서페이싱 플랫폼(106)은 예를 들어, 캐릭터(118)의 현재 게임 상태, 현재 게임 상태로 이르는 게임 상태, 캐릭터(118)의 인벤토리, 사용자(108)의 플레이 스타일 및 기술 레벨이 주어질 때, 사용자(118)의 게임 상태 데이터 및 저장된 데이터 및 다른 사용자의 공동 데이터를 액세스하여 사용자(108)의 의도를 더 잘 근사할 수 있다. 따라서, 예를 들어, 서페이싱 플랫폼(106)은 사용자(108)의 현재 게임 상태의 콘텍스트 내에서뿐 아니라 사용자(108) 특정적인 성향, 습관 및 선호를 갖는 플레이어로서의 사용자(108)의 메타-콘텍스트 내에서도 질의(101)를 해석할 수 있다.
또한, 서페이싱 플랫폼(106)은 게임 상태 데이터, 저장된 데이터, 및 공동 데이터를 이용해 사용자(108)가 목표를 달성하는 데 가장 효과적일 게임내 자원(116)을 검색하도록 고려된다. 예를 들어, 서페이싱 플랫폼(106)은 사용자(108)와 유사한 플레이어 커뮤니티의 게임 데이터에서, 현재 목표를 달성하는 데 복수의 플레이어에 의해 사용되는 자원을 검색하고 이들을 효율성 순으로 순위화할 수 있다. 따라서 서페이싱 플랫폼(106)은 게임내 자원(116)을 사용자(108)가 목표를 달성할 수 있게 할 가증 가능성 높은 자원으로서 식별하고 이를 사용자(108)에게 표시할 수 있다. 사용자(108)가 게임내 자원(116)을 선택하면, 캐릭터(118)가 즉시 소유하고 사용하기 위해 게임 환경(112)에 의해 전달될 수 있다. 이러한 방식으로, 사용자(108)는 목표를 달성하기 위해 게임내 자원(116')을 수신하는 이점을 가지며 게임 개발자 또는 공급자는 사용자(108)에게 자원을 의미 있는 방식으로 전달하는 이점을 가진다.
도 2는 하나의 실시예에 따라, 플레이어(200)로부터의 질의(206)에 응답하여 콘텍스트 관련 자원(201)을 서페이싱하기 위한 서페이싱 플랫폼(106)을 실행하기 위한 서버 시스템(203)의 개념도이다. 이 실시예에 따르면, 플레이어(200)는 게임을 실행하고 게임의 비디오 구성요소를 디스플레이(204)로 통신하는 로컬 게임 시스템(202), 가령, PlayStation®을 통해 게임을 플레이하는 중이다. 게임 시스템(202)은 네트워크(205)를 통해 서버 시스템(203)과 통신한다. 플레이어(200)는 게임을 플레이하는 동안, 완료하는 데 도움이 필요한 스테이지, 챌린지, 적, 퍼즐, 또는 그 밖의 다른 문제를 만날 수 있다. 예를 들어, 플레이어(200)는 여러 번 실패한 후 게임 내 보스 캐릭터를 물리치려는 시도 중일 수 있다. 플레이어(200)는 다양한 자원을 구매할 상점에 액세스할 수 있지만, 보스 캐릭터를 물리치는 데 자신을 보조할 가장 가능성 높은 자원을 알지 못할 수 있다.
이 실시예에서, 플레이어(200)는 "안녕 PlayStation, 어떻게 보스를 물리치지?"라는 질의(206)을 게임 시스템(202)에 구두로 제출할 수 있다. 질의(206)는 게임 환경 내 하나 이상의 사운드 캡처 디바이스, 가령, 핸드헬드 컨트롤러, 헤드셋, 게임 시스템(202) 또는 디스플레이(204)에 의해 캡처된다. 질의(206)는 네트워크(205)를 통해 서버 시스템(203)에 통신된다. 도 2의 실시예가 플레이어(200)에게 로컬인 게임 시스템(202)을 도시하지만, 서버 시스템(203)이 또한 게임을 원격으로 실행하고 게임에 대한 오디오 및 비디오 구성요소를 네트워크(205)를 통해 통신할 수 있는 것이 또한 고려된다.
도 2의 실시예에 따르면, 질의(206)는 질의(206), 게임 데이터(220), 플레이어 데이터(218) 및 커뮤니티 데이터(226)에 기초하여 콘텍스트 관련 자원의 검색을 가능하게 하는, 서브 시스템(203)의 서페이싱 플랫폼(106)으로 통신된다. 서버 시스템(203)의 서페이싱 플랫폼(106)은 질의(206)를 분할하고, 파싱하여, 자연어 음성에서 서페이싱 플랫폼(106)에 의해 플레이어(200)의 의도를 근사하고 검색을 수행할 수 있도록 사용 가능한 포맷으로 해석하는 언어 프로세서(208)를 포함하는 것으로 도시된다. 일부 실시예에서, 언어 프로세서는 질의(206)의 검출 및 해석을 가능하게 하기 위한 음성 인식 능력, 자연어 파싱, 문법 로직, 시맨틱 로직, 키워드 식별 및 그 밖의 다른 구성 요소를 포함하는 것으로 고려된다.
언어 프로세서(208)는 질의 데이터베이스(216)로부터 획득된 데이터, 플레이어 데이터(218), 게임 데이터(220), 커뮤니티 데이터(226), 및 기계 학습 모듈(222)과 함께 언어 프로세서(208)의 출력을 이용하여 플레이어(200)의 의도를 근사하기 위한 의도 모듈(intentionality module)(210)과 통신하는 것으로 나타난다. 많은 경우에 질의(206)는 게임에서 어떤 행동을 하거나 어떤 결과를 달성하려는 의도와 관련될 것이다(가령, 현재 단계에서 다음 단계로 진행함으로써 목표를 달성). 따라서 서페이싱 플랫폼(106)은 일반적인 검색 엔진의 기능을 넘어서는 기능을 수행할 수 있다.
예를 들어, 일반적인 검색 엔진은 통상적으로 키워드 매칭 및 관련성 순위화를 수행하지만, 질문자의 의도를 결정하는 기능을 반드시 수행하는 것은 아니다. 일반적인 검색 엔진에서 "어떻게 레벨을 올리나요?"라는 질의는 질의자가 상기 질의를 제출한 콘텍스트와 거의 관련이 없는 결과를 반환할 것이다. 이러한 질의의 결과는, 예를 들어, 현실 세계에서의 함양 및 "레벨 상승"과 관련된 블로그 게시물, "레벨업"이라는 명칭의 모바일 주문 애플리케이션, "레벨 상승"의 사전적 정의, "레벨업"이라는 명칭의 YouTube 채널을 포함한다.
이와 달리, 서페이싱 플랫폼(106)은 질의(206)의 언어뿐만 아니라 플레이어 데이터(218), 게임 데이터(220), 커뮤니티 데이터(226)로부터의 콘텍스트 데이터 및 기계 학습 모듈(222)로부터의 데이터까지 이용해, 플레이어(200)의 의도를 결정하도록 고려된다. 따라서 서페이싱 플랫폼(106)은 "어떻게 레벨 상승을 하나요"라는 질의를, (1) 게임 데이터(220)를 이용해 플레이어(200)의 현재 상태의 콘텍스트, (2) 플레이어 데이터(218)를 이용해 플레이어 선호, 성향, 플레이 히스토리, 플레이 스타일 및 기술 레벨의 콘텍스트, (3) 커뮤니티 데이터(226)를 이용해 플레이어(200)와 유사한 위치에 있었던 플레이어의 커뮤니티에 의해 플레이되는 게임 및 게임 세그먼트의 콘텍스트, (4) 질의 데이터베이스(216)를 이용해 플레이어(200)와 동일하거나 유사한 위치에 있는 플레이어에 의해 제출된 복수의 질의의 콘텍스트, 및 (5) 기계 학습 모듈(222)을 이용해 플레이어가 노력할 타깃 영역(가령, 전투 영역)을 학습하는 휴리스틱 모델의 콘텍스트에서, 해석할 수 있다. 의도 모듈(210)에 이용 가능한 콘텍스트 데이터를 이용해, 따라서, 서페이싱 플랫폼(106)은, 예를 들어, 플레이어(200)의 의도는 특별한 능력을 사용하지 않고(예를 들어, 플레이어 데이터(218)에 기초함) 다음 스테이지를 위해 플레이어의 건강의 적어도 절반을 유지하면서(가령, 게임 데이터(220), 커뮤니티 데이터(226) 및 기계 학습 모듈(222)에 기초함) 또한 보스 X와의 싸움 동안 레벨 상승을 하면서(가령, 커뮤니티 데이터(226) 및 기계 학습 모듈(222)에 기초함), 보스 X(가령, 질의 데이터베이스(216) 및 게임 데이터(220)에 기초함)를 물리치는 것임을 결정할 수 있다.
도 2의 실시예에 따르면, 서페이싱 플랫폼(106)은 검색 로직(212), 자원 데이터베이스(224) 및 응답 생성기(214)를 포함한다. 검색 로직(212)은 자원 데이터베이스(224)에서 의도 모듈(210)에 의해 근사되는 의도와 매칭되는 자원의 검색을 수행하기 위해 의도 모듈(210)과 통신한다. 의도 모듈(210)과 유사하게, 검색 로직(212)은 자신의 검색 알고리즘에서 플레이어 데이터(218), 게임 데이터(222), 커뮤니티 데이터(226) 및 기계 학습 모듈(222)로부터의 콘텍스트 데이터를 이용해, 플레이어(200)가 "특별한 능력을 사용하지 않고, 다음 스테이지를 위해 자신의 건강 중 적어도 절반을 유지하고 또한 보스 X와의 싸움 중에 레벨 상승하면서 보스 X를 물리치는" 의도를 달성할 수 있도록 하는 하나 이상의 자원을 식별하는 것이 고려된다. 예를 들어, 검색 로직(212)은 플레이어 데이터(218)를 이용해 플레이어(200)가 사용하기를 선호하거나 과거에 성공적이었던 자원의 유형에 대해 식별 또는 필터링하고, 게임 데이터(220)를 이용해 플레이어(200)의 인벤토리의 리스트를 액세스하며, 커뮤니티 데이터(226)를 이용해 보스 X를 물리치는 데 어느 자원이 효과적이었고 효과적이지 않았는지를 결정할 수 있다. 또한, 기계 학습 모듈(222)은 다양한 자원을 사용하여 보스 X와 싸우는 타 플레이어 및 플레이어(200)의 다양한 시뮬레이션으로부터의 데이터에 기초하여 자원 효과성의 통계적 분석을 제공할 수 있다. 따라서 검색 로직(212)은 자원 데이터베이스(224)에서 자원 X(201)를 식별할 수 있다. 응답 생성기(214)는 "당신과 같은 플레이어의 80%가 자원 X를 사용하여 보스를 물리쳤다"를 응답(226)을 플레이어(228)에게 통신한다. 추가로, 응답 생성기(214)는, 가령, 디스플레이된 그래픽을 클릭하거나 게임 시스템(202)으로 음성전달함으로써, 플레이어(200)에게 자원 X(201)를 구매할 옵션을 통지하는 그래픽을 생성할 수 있다.
도 3은 하나의 실시예에 따른, 사용자에 의해 만들어진 질의를 해석하고 질의에 대한 응답을 생성하기 위한 예시적인 서페이싱 플랫폼의 특정 구성 요소의 개략도를 도시한다. 사용자 질의 인터페이스(300)는 사용자로부터 질의를 캡처하고 질의를 포함하지 않는 배경 노이즈 및 음성과 질의를 구별할 수 있다. 사용자 질의 인터페이스(300)는 질의의 오디오 신호를, 질의의 오디오 신호를 텍스트로 변환하는 음성 인식 모듈(302)에 전달한다. 질의의 텍스트는, 세계 격리, 형태학적 분석, 사전 검색, 문법 분석, 및 언어 규칙 적용, 그 밖의 다른 프로세스를 포함하는, 질의의 텍스트의 구문 및 의미 분석을 제공하는 자연어 파서(natural language parser)(NLP)(304)로 전달된다. 키워드 식별자(306)는 질의를 추가로 분류, 인덱싱, 클러스터링 또는 필터링하는 데 사용될 수 있는 용어에 대해 질의를 추가로 분석한다.
도 3에 따르면, 의도 모듈(210)은 언어 프로세서에 의해 처리된 질의를 수신하고 질의 이면의 의도를 근사한다. 일부 실시예에서, 의도 모듈(210)은 질의를 질의의 데이터베이스, 가령, 흔히 제출되는 질의(308) 및 자주 묻는 질문(310)과 같은 질의의 데이터베이스와 비교한다. 질의와 질의 데이터베이스(216) 내 하나 이상의 질의가 매칭하는 경우, 의도 모듈(210)은 질의와 연관된 의도를 근사할 때 대응하는 의도를 데이터 포인트로 사용할 수 있다.
앞서 언급된 바와 같이, 의도 모듈(210)은 게임 데이터(220)를 액세스하여 사용자가 플레이하는 게임 내 동일하거나 유사한 상태에서 플레이어에게 기여할 가능성이 높은 가능한 의도의 세트를 결정할 수 있다. 게임 데이터(220)는 저장된 데이터(312) 및 게임 상태 데이터(314)를 포함하는 것으로 나타난다. 저장된 데이터(312)는 게임에서 사용자의 진행에 관한 정보를 포함하고 일반적으로 시간 종속적이지 않다. 예를 들어, 저장된 데이터(312)는 인벤토리의 리스트, 능력의 리스트, 레벨 값, 캐릭터 값, 스테이지 값을 포함할 수 있다. 게임 상태 데이터(312)는 게임 환경과 관련하여 사용자 및 그 밖의 다른 객체를 설명하는 정보를 포함한다. 게임 상태 데이터(312)는 시간 종속적일 수 있고 시간의 함수로서 상태의 시간 코스를 포함할 수 있다. 게임 상태 데이터(312)는, 예를 들어, 사용자 게임 플레이를 다양한 시점에서 설명하는 상태를 포함할 수 있으며, 이는 사용자가 특정 목표를 달성하는 데 시도한 횟수, 사용자가 이 목표를 달성하는 것에 얼마나 가까웠는지, 사용자가 목표를 달성하는 데 사용한 전술 등을 나타낼 수 있다. 저장된 데이터(312) 및 게임 상태 데이터(314)는 함께, 질의와 연관된 의도를 근사하기 위해 의도 모듈(210)에 콘텍스트를 제공한다. 예를 들어, 저장된 데이터(312)는 사용자가 A, B 및 C 자원(가령, 질, 레벨, 아이템, 무기, 능력, 동맹)을 소유함을 나타낼 수 있고, 게임 상태 데이터(314)는 사용자가 잇달아 다섯 번 목표 O2를 달성하는 실패했음을 나타내고, 의도 모듈(210)은 앞서 언급된 콘텍스트를 이용해 사용자의 의도는 목표 O2를 달성하기 위한 어떠한 자원 또는 자질을 획득하는 것임을 근사할 수 있다. 추가적으로, 의도 모듈(210)은 예를 들어 게임 내 사용자의 위치를 특정 목표에 매핑하는 게임 파일에 액세스할 수 있다. 도시되지는 않았지만, 의도 모듈(210)은 의도가 목표 O2를 달성하는 것임을 근사하기 위해 추가적인 콘텍스트 데이터를 가져오기 위해 플레이어 데이터 및 커뮤니티 데이터를 액세스할 수도 있다.
위에서 언급 한 바와 같이, 검색 로직(212)은 질의 데이터베이스(216), 게임 데이터(220), 기계 학습 모듈(222), 플레이어 데이터(도시되지 않음) 및 커뮤니티 데이터(도시되지 않음)로부터 분석된 콘텍스트 데이터에 기초하여 하나 이상의 자원을 식별하는 역할을 한다. 검색 로직(210)은 하나 이상의 자원을 식별하기 위한 제약 또는 최종 결과로서 의도 모듈(210)에 의해 근사된 의도를 사용한다. 예를 들어, 의도 모듈(210)에 의해 목표 O2를 달성하는 것이 질의 이면의 의도라고 결정되면, 검색 로직(212)은 게임 데이터(220), 플레이어 데이터 및 커뮤니티 데이터가 주어질 때, 목표 O2를 달성할 때 사용자를 보조할 가능성이 가장 높은 자원을 식별한다. 일부 실시예에서, 검색 로직(212)은 저장된 데이터(312)를 조사하여 사용자가 현재 이용 가능한 자원, 예를 들어, 자원 A, B 및 C를 결정할 수 있다. 따라서 검색 로직(212)은 A, B 및 C에 추가되는 자원을 필터링 할 것이다. 또한, 검색 로직(212)은 목표 O2를 달성하기 위한 사용자의 이전 시도의 특이성을 결정하기 위해 게임 상태 데이터(314)를 조사할 수 있다. 예를 들어, 게임 상태 데이터(314)는 사용자가 목표 O2를 달성하기 위한 시도에서 실패했지만 이전 목표 O1을 첫 번째 시도에서 성공적으로 달성했음을 나타낼 수 있다. 일부 실시예에서, 검색 로직(212)은 게임 모델(316)을 이용해 목표 O2와 객관적인 O1 간 차이를 분석하여 사용자가 목표 O2로 어려움을 겪지만 목표 O1은 그렇지 않게 하는 요인의 세부사항에 대해 콘텍스트 아닌 것에 대한 세부 사항에 관한 상황 데이터를 획득한다. 예를 들어, 게임 모델(316)로부터 원거리 무기를 가진 사용자와 유사한 다른 플레이어가 목표 O1을 달성하는 데 더 성공적이었지만 목표 O2를 달성하는 데는 덜 성공적이었음이 발견된 경우, 따라서 검색 로직은 자원 X에 대한 검색을 비-원거리 무기로 좁힐 수 있다.
일부 실시예에서, 게임 모델(316)은 입력으로서 복수의 플레이어의 저장된 데이터 및 게임 상태 데이터를 갖는 플레이어 커뮤니티에 의해 플레이되는 비디오 게임의 통계 모델이다. 게임 모델(316)은 기계 학습 모듈(222)에 의해 개별 플레이어의 저장된 데이터 및 게임 상태 데이터로 구축되고 플레이어가 게임을 진행함에 따라 업데이트된다. 기계 학습 모듈(222)은 휴리스틱 모델을 이용하여 복수의 플레이어의 진행 상황을 추적하고 플레이어가 다양한 파라미터의 함수로서 게임 내에서 다양한 목표를 어떻게 성공적으로 달성하는지 그리고 성공적으로 달성하지 못하는지를 학습할 수 있다. 게임 모델(316)은 예측 분석을 이용해 기존 데임 데이터로부터 정보를 추출함으로써 타 플레이어에 대한 가능성 있는 미래 결과를 예측하기 위한 패턴을 결정하는 것이 더 고려된다. 예를 들어, 게임 모델(316)은 사용자와 유사한 상황에 있는 복수의 다른 플레이어가 어떻게 목표 O2를 달성했는지에 관한 통계 데이터를 포함할 수 있다. 따라서 게임 모델(316)은 사용자가 첫 번째 시도에서 목표 O1을 달성했음이 주어지고, 예를 들어 플레이어 데이터가 주어지면, 사용자가 자원 D, E, F 등을 이용하여 목표 O2를 달성하는 데 성공할 가능성에 대해 검색 로직(212)에 의해 조사될 수 있다. 그 결과로, 게임 모델(316)은 사용자가 목표 O2를 성공적으로 달성할 확률이 자원 D에서 20 %, 자원 E에서 80 %, 자원 F에서 5 %임을 반환할 수 있다. 그런 다음 검색 로직(212)은 사용자 질의 인터페이스(300)를 통해 사용자에게 표시되도록 자원 E를 자원 데이터베이스(224)로부터 식별할 수 있다.
또 다른 실시예에서, 기계 학습 모듈(222)은 자원 D, E 및 F로 사용자의 게임 플레이 스타일을 모방하는 인공 지능(AI)을 사용하여 복수의 시뮬레이션을 실행할 수 있다. 예를 들어, 기계 학습 모듈(222)은 각각 자원 D, E 및 F로 프로비저닝된 AI 플레이어에 대해 목표 O2를 포함하는 게임 세그먼트의 수백 또는 수천 개의 시뮬레이션을 실행할 수 있다. 이러한 시뮬레이션들은 병렬로 가속화된 속도로 실행되어 검색 로직(212)으로 결과를 반환하는 데 걸리는 시간을 감소시킬 수 있다. 예를 들어, 기계 학습 모듈은 1,000개의 게임 시뮬레이션을 실행할 수 있으며, 이는 현재의 계산 기법을 이용해 1초 미만 내의 실시간으로 완료하는 데 1분 이상 걸릴 것이다. 앞서 언급한 시뮬레이션은 시뮬레이션을 위한 그래픽 및 오디오 구성 요소가 렌더링될 필요가 없기 때문에 짧은 시간 내에 실행될 수 있다. 그런 다음 검색 로직(212)은 사용자에게 표시될 가장 많은 수의 성공적인 시뮬레이션을 도출한 자원 D, E 또는 F 중 하나를 식별 할 수 있다.
예를 들어, 사용자가 자원 E를 선택하면, 사용자는 자원 E를 사용하기 위해 즉시 액세스할 수 있는 것이 고려된다. 결과적으로, 사용자가 질의를 제출하는 순간과 사용자가 질의의 결과(가령, 자원 E)를 사용할 수 있는 순간 간 딜레이가 거의 없다. 사용자가 자원 E를 사용하여 목표 O2를 시도할 때, 사용자 게임 플레이(318)가 추적되고 기계 학습 모듈(222)에 입력되어 게임 모델(316)을 업데이트할 수 있다.
도 4는 하나의 실시예에 따르는, 게임 모델이 서페이싱 플랫폼에 의해 사용되도록 서버에서 생성되는 방법의 개념도를 도시한다. 커뮤니티 데이터(226)는 플레이어 1 내지 n에 걸쳐 게임 1 내지 m에 대한 게임 데이터를 포함하지만, 모든 플레이어 1 내지 n이 게임 1 내지 m 각각을 반드시 플레이한 것은 아니다. 플레이어 1은 게임 1 내지 게임 m까지 플레이한 것으로 나타난다. 게임 1 내지 m 각각은 개별 게임 타이틀을 나타낼 수 있다. 플레이어 1이 게임 1 내지 게임 m을 플레이할 때 이들의 게임 플레이는 게임 상태 데이터(GSD)와 저장된 데이터(SD)의 형태로 추적된다. 플레이어 2 내지 n에 대해서도 마찬가지이다. 플레이어 1 내지 n에 대한 게임 데이터는 기계 학습 모듈(222)로 입력되어 게임 1 내지 m에 대한 게임 모델을 생성할 수 있다. 앞서 언급했듯이, 게임 모델은 플레이어 집단이 게임 내에서의 자신의 행동과 이에 따른 결과를 통해 주어진 게임과 어떻게 상호작용하는지를 설명한다. 예를 들어, 게임 1의 게임 모델은 다양한 플레이어가 게임 1 내의 특정 위치 및 시간에서 한 일과 그 결과에 관한 데이터를 포함할 수 있다. 예측 분석이 데이터에 적용되어 플레이어가 한 일과 발생한 결과에 대한 패턴을 결정하여 게임 1 내 특정 위치 및 시간에 도달한 미래 플레이어에 대한 결과를 예측할 수 있다.
도 5는 하나의 실시예에 따르는, 자원을 식별하기 위해 서페이싱 플랫폼에 의해 게임 모델(316)이 조사될 수 있는 방법의 개념도를 도시한다. 서페이싱 플랫폼이 질의를 수신할 때 사용자의 게임 상태 데이터 및 저장된 데이터를 액세스함으로써 사용자의 현재 상태와 관련된 콘텍스트 데이터를 획득한다. 사용자의 게임 상태 데이터 및 저장된 데이터를 이용해, 서페이싱 플랫폼이 사용자의 현재 상태를 식별하고 게임 모델(316) 내 대응하는 상태를 찾을 수 있다. 이때, 사용자의 현재 상태는 상태 S1에 대응하는 것으로 가정된다. 서페이싱 플랫폼은 또한 예를 들어 의도 모듈을 통해 사용자의 의도를 근사한다. 의도는 상태 S1에서 상태 S5로 전환하는 목표에 대응하도록 근사된다고 나타난다. 상태 S1은 보스 X를 물리치기 전의 게임 내 상태를 나타낼 수 있고, 상태 S5는 보스 X를 물리친 후 상태를 나타낼 수 있다. 상태 S1과 상태 S5의 노드 간 에지는 일부 추가 자원을 획득하지 않고 사용자가 목표를 달성할 수 있는 확률을 나타낸다. 여기서 그 확률은 3%이다. 3%의 확률은 유사한 기술 레벨, 플레이 스타일, 인벤토리, 경험 등을 갖고 상태 S1에 있었던 복수의 타 사용자에 기초하여 게임 모델로부터 결정될 수 있다. 확률은 사용자가 일부 추가 자원 없이 상태 S1으로부터 상태 S5에 도달하려 시도한 후 모델링된 AI의 시뮬레이션을 통해서도 결정될 수 있다.
도 5는 또한 사용자가 자원 D, E 및 F를 각각 획득한 게임 상태를 나타내는 상태 S2, S3 및 S4를 도시한다. 사용자가 상태 S2, S3 및 S4로부터 상태 S5에 도달할 확률은 각각 20%, 80% 및 5%로 나타난다. 다시 말하자면, 앞서 언급된 확률은 각각 자원 D, E 및 F를 사용하면서 상태 S5에 도달하려고 시도할 때 다른 사용자가 수행한 방법에 기초한 게임 모델로부터 결정되거나 AI 시뮬레이션에 기초할 수 있다. 따라서 게임 모델은 서페이싱 플랫폼이 사용자가 목표를 달성할 수 있도록 하는 가능성 또는 효과에 기초하여 하나 이상의 자원을 식별할 수 있도록 한다.
도 6은 하나의 실시예에 따른, 사용자에 대한 효과 순으로 다양한 자원을 순위화하기 위해 기계 학습 모듈에 의해 사용되는 분류기(classifier)(600)의 단순화된 개념도를 도시한다. 도시된 실시예에서, 분류기(600)는 복수의 플레이어로부터 기인하는 게임 데이터(602)의 개별 세그먼트에 대해 동작한다. R1-Rn에 대한 각각의 게임 데이터(602)는 각각 자원 R1-Rn을 갖고 플레이되는 게임 상태 데이터를 나타낸다. 게임 플레이 메트릭(604)은 각각의 게임 데이터(602)에 대한 특정 게임 플레이 특성을 측정하는 메트릭이다. 게임 플레이 메트릭(604)은 사용 용이성, 사용 지속시간, 입은 피해, 시도 횟수 등의 측정치를 포함할 수 있다. 사용자 데이터(606)는 플레이어 특정적인 추가 메트릭이다. 예를 들어, U1 내지 Uk는 사용자 선호, 성향, 기술 레벨, 플레이 스타일, 평균 분당 활동수(actions per minute)(APM) 등을 캡처할 수 있다. 게임 플레이 메트릭(604) 및 사용자 데이터(606)로부터의 각각의 메트릭은 가중치 벡터(610)에 의해 가중화된다. 가중치 벡터(610)로 나타난 가중치는 임의의 단위이다. 그러나 가중치 벡터(610)로부터, 메트릭 M1, M3, 및 U3이 효과의 비교적 더 중요한 지시자이며 메트릭 M2, Mj, U2, 및 Uk보다 더 큰 범위까지 가중화됨이 발견될 수 있다. 자원 R1-Rn에 대한 각각의 게임 데이터(602)는 M1-Mj의 게임 플레이 메트릭(604) 및 사용자 데이터(606) U1-Uk에 대해 처리된다. 그 결과, 각각의 게임 데이터(602)에는 메트릭 M1-Mj 및 U1-Uk에 대한 점수가 부여된다. 도 6에 표시된 점수는 이진수지만(가령, 메트릭 M1은 충족되거나 충족되지 않는 조건), 점수는 이진수가 아닐 수도 있다.
분류기(600)가 게임 플레이 메트릭(604) 및 사용자 데이터(606)에 걸쳐 게임 데이터(602) 각각에 점수를 매기면, 효과 로직(608)이 효과 순으로 자원 R1-Rn 각각의 순위를 매길 수 있다. 순위는 사용자 데이터(606)를 고려하여 사용자에게 개인화된다. 게임 플레이 메트릭(604) 및 사용자 데이터(606)가 주어질 때 자원 R3을 사용한 대응하는 게임 세그먼트가 가장 높게 점수 매겨졌기 때문에, 효과 로직(608)이 자원 R3을 선택하는 것으로 나타난다. 결과적으로, 분류기(600)는 특정 플레이어에 대한 상대적인 효과에 대해 다양한 자원을 분류하고 순위를 매길 수 있다. 분류기(600)는 플레이어를 위한 더 효과적인 자원을 식별하기 위해 서페이싱 플랫폼에 의해 사용될 수 있다. 분류기(600)는 또한 게임 모델을 구성하는 데 사용될 수 있다.
도 7은 하나의 실시예에 따른, 서페이싱 플랫폼 동작을 수행하기 위한 방법의 전체 흐름을 도시한다. 동작(700)에서, 방법은 비디오 게임의 플레이어의 디바이스로부터의 질의를 처리하기 위해 제공되며, 이때 상기 질의는 비디오 게임 내에서 어떤 목표를 달성하는 것과 관련된다. 질의는 음성 또는 텍스트 입력의 형태를 가질 수 있다. 예를 들어, 질의의 처리는 도 2와 관련하여 기재된 방식으로 진행될 수 있다. 일반적으로, 비디오 게임 내에서 일부 목표를 달성하는 것과 관련된 각각의 질의의 동기인 의도가 있다. 본 명세서에서 사용될 때, 목표는 비디오 게임 내에서 취해진 임의의 행동으로 광범위하게 해석될 것이다. 예를 들어, 질의는 비교적 기본적인 목표, 가령, 기본 움직임을 수행하는 것(가령, "점프를 어떻게 하나요?"), 일부 질을 획득하는 것(가령, "내 캐릭터의 스킨을 어떻게 변경하지?"), 플레이어의 상태에 대한 일부 데이터를 획득하는 것(가령, "어느 쪽이 북쪽이지?"), 플레이어의 게임 플레이에 대한 일부 데이터를 획득하는 것(가령, "나의 사격 정확도는?") 등과 관련될 수 있다. 질의는 더 복잡한 목표, 가령, 적을 물리치는 것, 개인 기록을 세우는 것, 게임 플레이의 특정 양태를 개선하는 것, 특정 조건 하에서 과제를 완료하는 것 등을 달성함과 관련될 수 있다.
동작(702)에서, 비디오 게임 내 플레이어의 현재 상태가 플레이어의 게임 데이터에 기초하여 결정된다. 플레이어의 현재 상태는 질의를 해석하고 명확화(disambiguate)하기 위한 콘텍스트 데이터 및 질의에 응답하여 하나 이상의 자원을 식별하는 다음 프로세스에 대한 콘텍스트 데이터를 제공한다. 예를 들어, 플레이어의 현재 상태가 보스 X와 싸우기 직전인 것으로 결정되고 질의가 "보스를 어떻게 물리치지?"일 때, 방법은 질의의 "보스"를 보스 X로 좁힐 수 있다.
도 7의 방법은 동작(704)으로 진행되며, 여기서 플레이어의 현재 상태를 플레이의 현재 상태에 이전에 있었던 복수의 타 플레이로부터의 게임 데이터 내 대응하는 게임 상태와 정렬한다. 동작(704)은 복수의 타 플레이어가 도달하려고 시도한 후속 상태를 추가로 식별한다. 복수의 타 플레이어로부터의 게임 데이터는 커뮤니티 데이터 또는 게임 모델로부터 유래할 수 있으며, 일반적으로 타임 라인을 따른다. 플레이어의 현재 상태를 복수의 타 플레이어로부터의 게임 데이터 내 대응하는 게임 상태와 정렬하는 것은 플레이어의 현재 상태에 대해 복수의 타 플레이어의 게임 데이터를 검색 또는 스캐닝하는 것을 포함한다. 일부 실시예에서, 동작(704)은 또한 목표를 완료하는 타 플레이어의 성공적인 시도를 식별할 수 있다.
일부 실시예에서, 복수의 타 플레이어로부터의 게임 데이터는 더 빠른 검색을 위해 다양한 게임 상태에 대해 인덱싱될 수 있다. 예를 들어, 복수의 타 플레이어로부터의 게임 데이터는 각각의 보스 직전, 도중 및 직후의 상태에 대한 인덱싱을 포함할 수 있다. 따라서, 플레이어가 보스 X와 교전하기 직전의 현재 상태를 가지고 있는 경우, 동작(704)은 복수의 타 플레이어의 게임 데이터에서 복수의 타 플레이어 각각이 보스 X와 교전하기 직전이었던 게임 상태를 검색할 수 있다. 복수의 타 플레이어의 게임 데이터 내 대응하는 게임 상태가 식별 또는 인덱싱되면, 정렬이 이뤄진다.
또한, 동작(704)은 복수의 타 플레이어가 도달했던 후속 상태를 식별한다. 따라서 동작(704)은 보스 X의 물리친 직후에 해당하는 상태를 후속 상태로 식별할 것이다. 이것은 또 다른 플레이어의 성공적인 시도의 예일 것이다. 일부 실시예에서, 둘 이상의 후속 상태가 존재할 수 있다. 예를 들어, 비디오 게임은 플레이어가 보스 X를 건너 뛰기 위해 대안으로 과제 T를 완료하고 다음 챌린지로 이동하게 할 수 있다. 따라서 동작(704)은 복수의 타 플레이어의 게임 데이터로부터 둘 이상의 후속 상태를 식별하는 것이 고려된다. 여기서, 후속 상태는 보스 X 물리치기, 과제 T 완료, 및 과제 T를 완료하고 보스 X 건너 뛰기를 포함할 수 있으며, 이때, 예를 들어 복수의 타 플레이어 중 절반이 보스 X를 물리치는 후속 상태를 갖고 나머지 절반은 보스 X를 건너 뛰는 후속 상태를 가졌다.
동작(706)에서, 방법은 복수의 타 플레이어의 게임 데이터로부터의 질의 및 후속 상태에 기초하여 플레이어의 목표를 근사화하기 위해 제공된다. 질의 이면의 목표를 근사할 때, 플레이어의 현재 상태 및 게임 데이터로부터의 후속 상태가 콘텍스트를 제공하도록 사용된다. 여기서, 현재 상태(가령, 보스 X와 교전하기 직전) 및 후속 상태(가령, 보스 X 물리치기 또는 과제 T를 수행함으로써 보스 X를 건너 뛰기)가 질의를 맥락화하여, 목표가 보스 X를 물리침으로써 과제 T를 완료하여 보스 X를 건너 뜀으로써, 보스 X를 통과하는 것으로 좁혀질 수 있다. 동작(706)은 가능한 목표들의 세트 중 어느 것이 질의와 가장 근접하게 매칭하는지를 결정하는 목표를 근사한다. 질의가 보스 X를 물리치기 위한 것이기 때문에, 동작(706)은 목표를 과제 T를 완료함으로써 보스 X를 건너 뛰는 대신 보스 X를 물리치는 것으로 근사할 수 있다.
동작(706)에 의해 목표가 근사될 때, 동작(708)은 복수의 타 사용자로부터의 게임 데이터를 이용해 플레이어가 목표를 달성할 가능성을 높이는 비디오 게임에 의해 지원되는 자원을 식별한다. 예를 들어, 보스 X를 성공적으로 물리친 복수의 타 사용자의 게임 데이터가 사용되는 자원 및 이들 자원의 효과에 대해 분석될 수 있다. 예를 들어, 복수의 타 사용자의 게임 데이터가 해당 플레이어가 자원 D, E 또는 F 중 하나를 사용하여 보스 X를 물리쳤음을 나타내는 경우, 동작(708)은 또한 자원 D, E 및 F 각각의 효과를 조사할 수 있다. 예를 들어, 자원 E가 사용자가 자원 D 및 F보다 더 짧은 시간으로, 더 적은 시도로, 또는 더 적은 데미지로, 보스 X를 물리치게 했다고 발견되는 경우, 동작(708)은 자원 E를 플레이어가 목표를 달성하게 할 가능성이 가장 높은 자원으로 식별할 수 있다. 다수의 그 밖의 다른 메트릭이 사용되어 자원의 효과를 측정 또는 순위화할 수 있는데, 예를 들어, 사용 편의성, 자원의 비용, 자원을 사용하는 데 요구되는 기술 레벨 등이 있다. 자원이 식별되면, 동작(710)에서 플레이어에 의한 선택을 위해 인터페이스를 통해 플레이어에게 표시된다. 동작(712)에서, 비디오 게임에서 즉시 사용되기 위해 자원이 플레이어에게 제공된다. 이러한 방식으로, 도 7의 방법은 플레이어의 질의에 대한 즉각적이고 효과적인 솔루션을 가능하게 한다.
도 8은 또 다른 실시예에 따르는, 서페이싱 플랫폼이 다양한 자원을 식별하고 사용자에게 표시하기 위해 순위화할 수 있는 방법의 개념도를 도시한다. 플레이어 게임 상태 데이터(800)는 현재 상태(802)를 갖는 타임라인 포맷으로 표현된다. 보스 X를 물리치는 플레이어의 목표는 현재 상태(802)에서 후속 상태(804) 로의 전환을 포함한다. 플레이어의 저장된 데이터(806)는 시간-독립적인 데이터 블록으로 표현되는 것으로 나타난다.
서페이싱 플랫폼(801)은 둘 모두 복수의 타 플레이어로부터 기인하는 커뮤니티 게임 상태 데이터(808) 및 커뮤니티 저장된 데이터(812)를 액세스하는 것으로 나타난다. 각각의 게임 상태 데이터 타임라인은 플레이어 게임 상태 데이터(800)의 현재 상태(802)를 참조하여 정렬되는 것으로 도시되어 있다. 예를 들어, 현재 상태(802)가 보스 X와 교전하기 직전인 경우, 커뮤니티 게임 상태 데이터(808) 내 각각의 게임 상태 데이터 타임라인에 대해 보스 X와 교전하기 직전인 대응하는 상태가 식별된다. 서페이싱 플랫폼(801)은 또한 커뮤니티 저장된 데이터(812)를 이용하여 커뮤니티 게임 상태 데이터(808)를 필터링하여 커뮤니티 게임 상태 데이터(808) 중 플레이어 게임 상태 데이터(800) 및 저장된 데이터(806)와 더 가깝게 매칭되는 선택되는 커뮤니티 게임 상태 데이터를 찾을 수 있다.
도 8에 따르면, 서페이싱 플랫폼(801)은 현재 상태(802) 및 후속 상태(804)에 의해 북엔드되는 개별 게임 상태 데이터의 세그먼트에 대해 커뮤니티 게임 상태 데이터(808)의 윈도(810)를 스캔하는 것이 나타난다. 이러한 방식으로, 서페이싱 플랫폼은 "보스 X 물리치기"라는 목표를 성공적으로 달성하려는 시도를 식별합니다. 결과적으로, 서페이싱 플랫폼(801)은 복수의 플레이어가 그렇게 하는 데 사용되는 자원을 포함하여 현재 상태(802)에서 후속 상태(804)로 어떻게 전진했는지에 관한 정보를 얻을 수 있다. 예를 들어, 서페이싱 플랫폼은 타 플레이어가 이들 성공적인 시도에서 사용했던 하나 이상의 자원 및 자원이 성공적인 시도에 기여하는 정도를 식별하는 것이 고려된다.
또한, 분류기(816)는 효과 순으로 순위화된 다양한 자원 D-N의 목록(814)을 생성하는 것이 나타난다. 각각의 자원의 효과는 메트릭 1-m에 기초하며, 예를 들어, 첫 번째 시도의 성공률, 목표를 달성하는 데 필요한 시도의 횟수, 완료 시간 등을 포함한다. 따라서 서페이싱 플랫폼(801)은 목표를 달성하기 위해 다른 것보다 더 효과적이었고 플레이어가 이를 할 때도 마찬가지로 더 효과적이어야 할 자원을 목록(814)으로부터 선택할 수 있다. 이때, 자원 E는 첫 번째 성공률이 더 높고, 목표를 완료하기 위한 전체 시도 횟수가 더 적으며, 평균 완료 시간이 더 짧기 때문에 선택될 것이다.
도 9는 하나의 실시예에 따르는, 서페이싱 플랫폼이 질의에 응답하여 사용자에게 자원을 표시할 수 있는 방법을 도시한다. 도 9는 예를 들어 적, 보스 X와 직면하기 직전의 상태에서 플레이어에 의해 비디오 게임이 플레이되는 것을 도시한다. 플레이어가 보스 X를 물리치는 방법에 대해 서페이싱 플랫폼에 질의할 때, 서페이싱 플랫폼은 도시된 바와 같이 윈도에 결과를 표시할 수 있다. 윈도는 플레이어에게 플레이어 커뮤니티가 표시된 자원으로 수행한 방식을 알려주는 방식으로 자원을 제공한다. 일부 실시예에서, 비디오 게임은 윈도가 표시될 때 멈춤 또는 중단된다. 또 다른 실시예에서, 비디오 게임은 윈도가 표시되는 동안 계속될 수 있다. 또 다른 실시예에서, 비디오 게임은 비디오 게임의 그래픽이 동적으로 유지되는 "소프트-포즈(soft-pause)" 상태에 있을 수 있지만, 게임 내 주요 활동, 가령, 현재 게임 상태를 변경할 활동이 발생하지 않는다.
일부 실시예에서, 윈도는 표시된 자원을 이용할 때 플레이어의 커뮤니티가 등록한 성공률 및 평균 완료 시간에 대한 통계 데이터를 제공할 수 있다. 따라서 플레이어는 동료 커뮤니티에 의해 플레이된 바와 같이 자원의 실제 효과에 대한 공동 데이터를 제공 받는다. 플레이어는 자원 선택 여부에 대해 보다 정보에 입각한 결정을 내릴 수 있으며 자신의 선택에 확신을 가질 수 있다. 일부 실시예에서, 다양한 자원의 선택은 예를 들어 가상 화폐 또는 실제 화폐를 이용하는 지불 형태를 요구할 수 있다. 일부 실시예에서, 다양한 자원의 선택은 상대적으로 적은 금액의 실제 돈을 다루는 "소액 거래"로 알려진 형태일 수 있다. 또 다른 실시예에서, 다양한 자원의 선택은 가상 또는 실제 화폐의 지불을 요구하지 않고, 게임 시스템은 플레이어가 선택할 수 있는 자원의 수를 제한할 수 있다. 임의의 자원의 선택이 자원의 즉각적인 액세스 및 사용을 야기하여 질의가 제출될 때와 솔루션이 활성화된 때 간 딜레이를 최소화할 수 있다. 윈도가 도 9의 실시예에 나타나지만, 윈도에 포함된 정보를 통신하는 또 다른 형태가, 가령, 보조 디스플레이의 사용에 의해, 또는 오디오 통신에 의해, 또는 윈도의 전체 스크린 디스플레이으로 전환함으로써, 사용될 수 있다.
도 10a는 서페이싱 플랫폼에 의해 사용자에게 자원을 표시하기 위한 추가 실시예를 도시한다. 이때, 플레이어는 보스 X를 물리치는 것과 관련된 서페이싱 플랫폼에 유사한 질의를 제출했을 수 있다. 이에 응답하여, 서페이싱 플랫폼은 자원 E의 효과와 관련된 통계 정보를 윈도에 표시할 수 있다. 도 9에서, 윈도 표시된 공동 데이터가 자원 E를 이용해 플레이어의 집단이 수행했던 방식을 나타낸다. 도 10a에서, 윈도는 플레이어가 자원 E로 어떻게 수행할 가능성이 높은지를 나타내는 예측 데이터를 보여줄 수 있다. 일부 실시예에서, 비디오 게임은 윈도가 표시될 때 멈춤 또는 중단된다. 또 다른 실시예에서, 비디오 게임은 윈도가 표시되는 동안 계속될 수 있다. 또 다른 실시예에서, 비디오 게임은 비디오 게임의 그래픽이 동적으로 유지되는 "소프트-포즈(soft-pause)" 상태에 있을 수 있지만, 게임 내 주요 활동, 가령, 현재 게임 상태를 변경할 활동이 발생하지 않는다.
일부 실시예에 따르면, 예측 데이터가 플레이어 후에 모델링되는 AI 플레이어를 이용한 자원 E를 이용하는 플레이어의 시뮬레이션에 기초하거나, 플레이어와 자원 E를 사용했던 평균 플레이어의 기술 레벨, 플레이 스타일 및 그 밖의 다른 질 간 차이를 고려함으로써, 얻어질 수 있다. 이때 성공 확률은 도 9에 나타난 공동 데이터보다 높은 것으로 나타난다(가령, 80% 대신 90%). 이는 서페이싱 플랫폼이 자원 E를 사용하는 성공의 예측 값이 동일한 자원을 이용한 타 플레이어의 집단의 평균보다 높은 것으로 나타난 90%임을 나타내는 시뮬레이션 데이터를 액세스하기 때문일 수 있다. 또 다른 실시예에서, 서페이싱 플랫폼은 공동 데이터를 사용하고 플레이어의 속성에 기초하여 성공의 예측 값을 조정할 수 있다. 예를 들어 플레이어가 집단의 평균 플레이어보다 자원 E 같은 유형의 자원을 이용하는 것에 더 많은 경험이 있거나 더 능숙한 경우, 서페이싱 플랫폼은 이들 차이를 고려하기 위해 80%의 기준 값을 10%만큼 조절한다. 결과적으로, 플레이어는 다양한 자원의 사용과 연관된 예측 능력에 의해 정량적이고 개인화된 성공 데이터를 제공 받는다.
자원 E를 사용하는 성공의 예측 값을 디스플레이하는 것 외에도, 도 10a의 윈도는 또한 게임 내에서 사용될 자원 E의 그래픽 또는 클립을 디스플레이한다. 예를 들어, 방패인 자원 E는 공격을 막기 위해 행동으로 나타난다. 따라서 자원 E의 클립은 자원이 동작 시 어떻게 보이는지, 어떻게 자원이 작용하는지, 자원이 비디오 게임 내에서 자원에 대한 사건의 상태를 어떻게 변경시키는지를 사용자에게 알려준다. 이러한 방식으로 플레이어는 자원의 효과의 정량적 데이터에 추가로 자원의 정성적 및 경험적 데이터를 제공 받으며, 이 둘 모두 플레이어가 더 정보에 입각한 선택을 할 수 있게 한다.
도 10b는 서페이싱 플랫폼이 사용자에게 표시되는 자원의 즉시 사용을 가능하게 하는 방법의 실시예를 도시한다. 도 9 및 10에서, 서페이싱 플랫폼에 의해 방패가 윈도를 통해 사용자에게 표시되었다. 이에 응답하여, 사용자는 컨트롤러를 사용하여 윈도를 클릭하거나, 자원을 선택하는 명령어를 발화하거나, 선택을 나타내는 시선 명령을 사용함으로써, 서페이싱된 자원의 선택을 나타낼 수 있다. 사용자로부터의 선택의 표시가 있으면, 윈도의 디스플레이가 종료될 수 있다. 자원은 플레이어가 자원을 소유하고 제어할 수 있도록 즉각 사용을 위해 비디오 게임에 통합된다. 일부 실시예에서, 게임 상태 데이터 및 저장된 데이터를 업데이트하여 자원의 존재를 반영함으로써 자원이 비디오 게임에 통합된다. 결과적으로, 자원의 선택 후 비디오 게임이 실행될 때 자원이 비디오 게임으로 렌더링된다. 예를 들어, 도 10b에서, 방패(1000)가 다가오는 전투를 예상하여 플레이어의 캐릭터에 의해 휘둘러 지는 것이 나타난다.
일부 실시예에서, 플레이어 또는 플레이어의 계정과 서페이싱 플랫폼 또는 비디오 게임 간 거래가 존재하며, 이는 플레이어에 의한 자원의 즉각 사용을 가능하게 한다. 일부 실시예에서, 거래는 사용자에 의한 지불, 사용자 계정으로의 백그라운드 과금, 사용자가 가진 특정 크레딧의 과금 등을 포함할 수 있다.
일부 실시예에서, 자원은 플레이어 속성에 기초한 자원에 대한 렌더링 프로파일에 기초하여 렌더링된다. 예를 들어, 각각의 자원은 플레이어가 사용 중인 캐릭터 및 플레이어의 속성에 따라 비디오 게임용으로 렌더링되는 다양한 방식을 가질 수 있다. 하나의 예에서, 큰 캐릭터일수록 큰 버전의 방패가 제공되고, 반면에 미니어처 캐릭터에는 방패의 미니어처가 제공된다. 이러한 방식으로 자원은 캐릭터의 특성과 매칭되도록 렌더링된다. 또한, 각각의 자원은 사용 방법과 사용 난이도가 상이한 버전을 가질 수 있다. 예를 들어 자원에 대한 렌더링 프로필을 선택할 때, 플레이어 속성, 가령, 플레이어의 기술 레벨, 플레이어의 플레이 스타일, 및 플레이어의 선호가 고려된다. 플레이어가 더 숙련된 자일 때, 더 복잡하고 사용하기 어려운 자원 버전이 제공 될 수 있고, 반면에 초보 플레이어는 더 사용자 친화적인 자원 버전을 제공 받을 수 있다.
게임내 보조에 추가로, 서페이싱 플랫폼이 가상 상점의 맥락에서 유용한 것이 또한 고려된다. 가상 상점, 가령, PlayStation® 상점이 다양한 유사한 게임 타이틀의 선택을 위해 플레이어에 의해 이용 가능한 수 천 개의 자원을 가질 수 있다. 따라서 플레이어가 자신에게 특히 유용한 자원이 무엇인지를 파악하는 것은 어려운 일이다. 서페이싱 플랫폼은 또한 가상 상점의 맥락으로 구현되어, 플레이어가 그들의 요구에 특히 적합한 추천을 제공 받을 수 있다. 도 11은 서페이싱 플랫폼을 구현하는 가상 상점을 도시한다. 가상 상점은 네 개의 자원, 즉, 게임 1용 가슴 갑옷, 게임 1용 가디언 방패, 게임 2용 물약, 및 게임 3용 발사대를 디스플레이하는 것으로 나타난다. 이들 아이템 각각은 게임 1-3에 대한 플레이어 게임 데이터에 따라 서페이싱 플랫폼에 의해 서페이싱된다. 서페이싱 플랫폼은 게임 1-3에 대한 현재 게임 상태를 결정하기 위해 게임 1-3 각각에 대한 게임 상태 데이터를 액세스할 수 있다.
예를 들어, 게임 1에서, 서페이싱 플랫폼은 현재 상태를 보스 X와 교전하기 전으로 결정할 수 있다. 그런 다음 서페이싱 플랫폼은 게임 1에 대한 게임 모델 또는 게임 1을 플레이하는 타 플레이어의 커뮤니티 데이터를 액세스하여 플레이어가 가기를 원할 가능성이 높은 후속 상태를 식별할 수 있다. 이때 후속 상태는 보스 X를 물리치는 것이며, 서페이싱 플랫폼은 보스 X를 물리치기 위해 사용되는 자원을 식별할 수 있다. 결과적으로 서페이싱 플랫폼은 플레이어가 게임 1의 후속 게임 플레이를 위해 선택 또는 구매할 플레이어를 위한 추천 자원으로 자원 가슴 갑옷 및 가디언 방패를 디스플레이한다. 서페이싱 플랫폼은 게임 2, 게임 3 및 플레이어가 참여하는 기타 게임에 대해 동일한 일을 한다. 또한 서페이싱 플랫폼은 커뮤니티 데이터 또는 시뮬레이션 데이터에 기초하여 각각의 자원의 이점에 대한 정량적 데이터를 또한 제공할 것이다. 도 11에 나타난 추천 자원은 자동으로 채워지거나 사용자로부터의 질의에 응답할 수 있다.
도 12는 하나의 실시예에 따른, 서페이싱 플랫폼으로 구현된 가상 상점을 호스팅하기 위한 서버 시스템(1200) 및 선택 구성요소를 도시한다. 서버 시스템은 다양한 게임에서 플레이어의 현재 상태, 복수의 타 플레이어로부터의 커뮤니티 데이터, 및 플레이어 데이터, 가령, 기술 레벨, 플레이 스타일, 선호 등이 주어질 때 플레이어에 대한 콘텍스트 관련 자원을 찾는 데 사용되는 서페이싱 플랫폼(1202)을 포함하는 것으로 나타난다. 플레이어 게임 데이터(1204)는 플레이어가 참가하는 게임 타이틀 각각에 대한 게임 상태 데이터 및 저장된 데이터를 포함한다. 플레이어 데이터(1206)는 각각의 게임에 대해 그리고 전반적인 게임에 대한 플레이어로서의 플레이어의 질을 설명하는 것으로 고려된다. 예를 들어, 플레이어 데이터(1202)는 플레이어가 1-10 게임 각각에서 원거리 무기를 선호하는 성향이 있음을 나타낼 수 있다. 따라서, 서페이싱 플랫폼은 게임 1-10에 대해 동일한 범주의 원거리 무기인 자원을 서페이싱하고 그 자원을 상점 인터페이스(1218)로 통신할 수 있다. 그러나 추가로, 서페이싱 플랫폼은 수많은 게임으로부터의 플레이어 데이터(1206)를 액세스할 수 있고, 플레이어가 게임 11에서 원거리 무기를 사용하는 성향을 보여주지 않았음에도 불구하고, 서페이싱 플랫폼은 게임 11에 대한 원거리 무기를 서페이싱할 수 있다. 결과적으로, 서페이싱 플랫폼(1202)은 일부 특정 게임의 플레이어로서뿐만 아니라 게임의 플레이어로서의 플레이어의 글로벌 데이터에 기초하여 상점 인터페이스(1218)로 추천을 만들 수 있다.
또한 도 12에는 커뮤니티 데이터(1208), 기계 학습 모듈(1210), 자원 데이터베이스(1212) 및 게임 모델(1214)이 도시되어 있다. 이들 구성요소가 게임내 서페이싱과 관련하여 상세히 설명되었지만, 추천 자원을 생성하기 위해 서페이싱 플랫폼(1202)을 이용하여 가상 상점의 맥락에서 유사한 방식으로 기능할 수 있다. 도 12에 플레이어가 다양한 자원을 이용하는 것을 수행할 방식을 테스트 또는 시뮬레이션하는 데 사용될 수 있는 AI 시뮬레이션 모듈(1216)이 추가로 도시되어 있다. 거기에서 획득된 데이터는, 상점 인터페이스(1218)로 추천을 만드는 과정에서 다양한 자원의 효과를 평가하기 위해 서페이싱 플랫폼(1202)에 의해 액세스 가능하다.
도 13은 본 개시의 다양한 실시예의 양태를 수행하는 데 사용될 수 있는 예시적인 디바이스(1300)의 구성요소를 도시한다. 예를 들어, 도 13은 하나의 실시예에 따라, 사용자 지원 서비스를 제공하는 디바이스를 구현하기, 가령, 질의에 응답하여 플레이어에 의해 사용되기 위한 콘텍스트 관련 게임내 자원을 서페이싱하기 또는 플레이어에 의해 사용되기 위한 콘텍스트 관련 상점내 자원을 서페이싱하기에 적합한 예시적 하드웨어 시스템을 도시한다. 이 블록도는 본 개시의 실시예를 실시하기에 적합한, 개인용 컴퓨터, 비디오 게임 콘솔, 개인용 디지털 어시스턴트, 서버 또는 다른 디지털 디바이스를 포함 또는 이들일 수 있는 디바이스(1300)를 도시한다. 디바이스(1300)는 소프트웨어 애플리케이션과, 선택적으로, 운영 체제를 실행하기 위한 중앙 처리 장치(CPU)(1302)를 포함한다. CPU(1302)는 하나 이상의 동종 또는 이종 프로세싱 코어로 구성될 수 있다. 예를 들어, CPU(1302)는 하나 이상의 프로세싱 코어를 갖는 하나 이상의 범용 마이크로프로세서이다. 고도의 병렬 및 계산 집약적인 애플리케이션, 가령, 질의를 해석하는 동작을 처리, 콘텍스트 관련자원을 식별, 및 비디오 게임에서 즉시 콘텍스트 관련 자원을 구현하고 렌더링하기에 특히 적합한 마이크로프로세서 아키텍처를 갖는 하나 이상의 CPU를 이용해 또 다른 실시예가 구현될 수 있다. 디바이스(1300)는 게임 세그먼트를 플레이하는 플레이어에게 로컬한 것(예를 들어, 게임 콘솔), 또는 플레이어로부터 원격인 것(가령, 백-엔드 서버 프로세서)일 수 있다.
메모리(1304)는 CPU(1302)에 의해 사용되기 위한 애플리케이션 및 데이터를 저장한다. 스토리지(1306)는 애플리케이션 및 데이터를 위한 비휘발성 스토리지 및 그 밖의 다른 컴퓨터 판독형 매체를 제공하고 고정식 디스크 드라이브, 이동식 디스크 드라이브, 플래시 메모리 디바이스 및 CD-ROM, DVD-ROM, Blu-ray, HD-DVD 또는 그 밖의 다른 광학 저장 디바이스뿐 아니라 신호 전송 및 저장 매체까지 포함한다. 사용자 입력 디바이스(1308)는 하나 이상의 사용자로부터의 사용자 입력을 디바이스(1300)로 통신하며, 이의 예시는 키보드, 마우스, 조이스틱, 터치 패드, 터치 스크린, 사진 또는 비디오 레코더/카메라, 제스처 인식을 위한 추적 장치 및/또는 마이크로폰을 포함할 수 있다. 네트워크 인터페이스(1314)는 디바이스(1300)가 전자 통신 네트워크를 통해 그 밖의 다른 컴퓨터 시스템과 통신할 수 있게 하고, 로컬 영역 네트워크 및 광역 네트워크, 가령, 인터넷을 통한 유선 또는 무선 통신을 포함할 수 있다. 오디오 프로세서(1312)는 CPU(1302), 메모리(1304) 및/또는 스토리지(1306)에 의해 제공된 명령 및/또는 데이터로부터 아날로그 또는 디지털 오디오 출력을 생성하도록 구성된다. 디바이스(1300)의 구성요소, 가령, CPU(1302), 메모리(1304), 데이터 스토리지(1306), 사용자 입력 디바이스(1308), 네트워크 인터페이스(1314) 및 오디오 프로세서(1312)가 하나 이상의 데이터 버스(1322)를 통해 연결된다.
그래픽 서브시스템(1320)이 또한 데이터 버스(1322) 및 디바이스(1300)의 구성요소와 연결된다. 그래픽 서브시스템(1320)은 그래픽 처리 장치(GPU)(1316) 및 그래픽 메모리(1318)를 포함한다. 그래픽 메모리(1318)는 출력 이미지의 각각의 픽셀에 대한 픽셀 데이터를 저장하기 위해 사용된 디스플레이 메모리(가령, 프레임 버퍼)를 포함한다. 그래픽 메모리(1318)는 GPU(1316)와 동일한 디바이스에 통합, GPU(1316)와 별도의 디바이스로서 연결 및/또는 메모리(1304) 내에서 구현될 수 있다. 픽셀 데이터는 CPU(1302)로부터 직접 그래픽 메모리(1318)에 제공될 수 있다. 대안으로, CPU(1302)는 GPU(1316)에 희망 출력 이미지를 정의하는 데이터 및/또는 명령을 제공하는데, 이로부터 GPU(1316)가 하나 이상의 출력 이미지의 픽셀 데이터를 생성한다. 희망 출력 이미지를 정의하는 데이터 및/또는 명령은 메모리(1304) 및/또는 그래픽 메모리(1318)에 저장될 수 있다. 하나의 실시예에서, GPU(1316)는 장면에 대한 지오메트리, 빛, 그림자, 질감, 모션 및/또는 카메라 파라미터를 정의하는 명령 및 데이터로부터 출력 이미지에 대한 픽셀 데이터를 생성하기 위한 3D 렌더링 능력을 포함한다. GPU(1316)는 셰이더 프로그램을 실행할 수 있는 하나 이상의 프로그램 가능한 실행 유닛을 더 포함할 수 있다.
그래픽 서브시스템(1314)은 디스플레이 디바이스(1310) 상에 디스플레이될 그래픽 메모리(1318)로부터 이미지에 대한 픽셀 데이터를 주기적으로 출력한다. 디스플레이 디바이스(1310)는 디바이스(1300)로부터의 신호에 응답하여 시각 정보를 디스플레이할 수 있는 임의의 디바이스, 가령, CRT, LCD, 플라스마 및 OLED 디스플레이일 수 있다. 디바이스(1300)는 예를 들어 아날로그 또는 디지털 신호를 디스플레이 디바이스(1310)에 제공할 수 있다.
플레이어에게로의 콘텍스트 관련 자원의 서페이싱을 보여주기 위해 특정 실시예가 제공되었지만, 이들은 한정이 아니라 예시로서 기술된 것이다. 본 개시내용을 읽은 해당 분야의 통상의 기술자는 본 개시내용의 사상 및 범위 내에 속하는 추가 실시예를 실현할 것이다.
넓은 지리적 영역에 걸쳐 전달되는 액세스 서비스, 가령, 현재 실시예의 게임으로의 액세스를 제공하는 액세스 서비스는 종종 클라우드 컴퓨팅을 사용함에 주목해야 한다. 클라우드 컴퓨팅은 동적으로 확장 가능하고 종종 가상화된 자원이 인터넷을 통해 서비스로 제공되는 컴퓨팅 스타일이다. 사용자는 그를 지원하는 "클라우드"에서 기술 인프라구조에 대한 전문가일 필요가 없다. 클라우드 컴퓨팅은 상이한 서비스, 가령, IaaS(Infrastructure as a Service), PaaS(Platform as a Service) 및 SaaS(Software as a Service)로 분할될 수 있다. 소프트웨어 및 데이터가 클라우드 내 서버에 저장되는 동안 클라우드 컴퓨팅 서비스는 종종 일반적인 애플리케이션, 가령, 웹 브라우저로부터 액세스되는 비디오 게임을 온라인으로 제공한다. 클라우드라는 용어는 인터넷이 컴퓨터 네트워크 다이어그램에 도시되는 방식에 기초하여 인터넷에 대한 은유로서 사용되며 감춰지는 복잡한 인프라구조에 대한 추상적 개념이다.
일부 실시예에서, 게임 서버 또는 가상 상점 서버는 콘텍스트 관련 게임내 및 상점내 자원을 비디오 게임 플레이어에게 서페이싱하는 동작을 수행하도록 사용될 수 있다. 인터넷을 통해 플레이되는 대부분의 비디오 게임이 게임 서버로의 연결을 통해 동작한다. 일반적으로, 게임은 플레이어로부터의 데이터를 수집하고 이를 타 플레이어에게 배포하는 전용 서버 애플리케이션을 이용한다. 사용자는 적어도 CPU, 디스플레이 및 I/O를 포함하는 클라이언트 디바이스를 사용하여 원격 서비스를 액세스한다. 클라이언트 디바이스는 PC, 모바일 폰, 넷북, PDA 등일 수 있다. 하나의 실시예에서, 게임 서버에서 실행되는 네트워크는 클라이언트가 사용되는 디바이스의 유형을 인식하고 채용된 통신 방법을 조절한다. 다른 경우에, 클라이언트 디바이스는 표준 통신 방법, 가령 html를 이용해, 인터넷을 통해 게임 서버 상의 애플리케이션을 액세스할 수 있다.
본 개시내용의 실시예는 핸드-헬드 디바이스, 마이크로프로세서 시스템, 마이크로프로세서 기반 또는 프로그램 가능한 소비자 전자 제품, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는 다양한 컴퓨터 시스템 구성을 이용해 실시될 수 있다. 본 개시는 또한 유선 기반 또는 무선 네트워크를 통해 연결된 원격 처리 디바이스에 의해 작업이 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다.
주어진 비디오 게임 또는 게임 애플리케이션은 특정 플랫폼 및 특정 연관된 컨트롤러 디바이스를 위해 개발될 수 있음을 이해해야 한다. 그러나, 이러한 게임이 본 명세서에 제시된 바와 같이 게임 클라우드 시스템을 통해 이용 가능하게 될 때, 사용자는 상이한 컨트롤러 디바이스를 사용하여 비디오 게임에 액세스할 수 있다.  예를 들어, 게임은 게임 콘솔 및 이의 연관된 컨트롤러 용으로 개발됐을 수 있으며, 반면 사용자는 키보드 및 마우스를 사용하는 개인용 컴퓨터로부터 게임의 클라우드 기반 버전을 액세스할 수 있다. 이러한 시나리오에서, 입력 파라미터 구성은 사용자의 이용 가능한 컨트롤러 디바이스(이 경우, 키보드 및 마우스)에 의해 생성될 수 있는 입력에서 비디오 게임의 실행을 위해 허용 가능한 입력으로의 매핑을 정의할 수 있다.
또 다른 예에서, 사용자는 태블릿 컴퓨팅 디바이스, 터치스크린 스마트폰 또는 그 밖의 다른 터치 스크린 구동 디바이스를 통해 클라우드 게임 시스템을 액세스할 수 있다. 이 경우, 클라이언트 디바이스와 컨트롤러 디바이스는 동일한 디바이스에 함께 통합되며, 이때 검출된 터치스크린 입력/제스처를 통해 입력이 제공된다. 이러한 디바이스의 경우, 입력 파라미터 구성은 비디오 게임에 대한 게임 입력에 대응하는 특정 터치스크린 입력을 정의할 수 있다. 예를 들어, 버튼, 방향 패드 또는 그 밖의 다른 유형의 입력 요소는 비디오 게임을 실행하는 동안 디스플레이되거나 오버레이되어 사용자가 게임 입력을 생성하기 위해 터치할 수 있는 터치 스크린의 위치를 나타낼 수 있다. 제스처, 가령, 특정 방향으로 스와이프 또는 특정 터치 모션이 또한 게임 입력으로 검출될 수 있다. 하나의 실시예에서, 가령, 비디오 게임의 게임플레이를 시작하기 전에, 사용자를 터치스크린 상의 컨트롤의 동작에 익숙해지게 하도록, 게임플레이를 위한 터치스크린을 통해 입력을 제공하는 방법을 나타내는 튜토리얼이 사용자에게 제공될 수 있다.
일부 실시예에서, 클라이언트는 컨트롤러 디바이스에 대한 연결 포인트로서 역할 한다. 즉, 컨트롤러 디바이스는 클라이언트 디바이스와의 무선 또는 유선 연결을 통해 통신하여 컨트롤러 디바이스로부터 클라이언트 디바이스로 입력을 전송할 수 있다. 클라이언트 디바이스는 이들 입력을 처리한 후 입력 데이터를 네트워크를 통해 클라우드 게임 서버로 전송할 수 있다(가령, 로컬 네트워킹 디바이스, 가령, 라우터를 통해 액세스될 수 있다). 그러나, 또 다른 실시예에서, 컨트롤러 자체가 네트워크를 통해 클라우드 게임 서버로 직접 입력을 통신하는 능력을 가지며, 먼저 클라이언트 디바이스를 통해 이러한 입력을 통신할 필요가 없는 네트워킹된 디바이스일 수 있다. 예를 들어, 컨트롤러는 로컬 네트워킹 디바이스(가령, 앞서 언급된 라우터)에 연결되어 클라우드 게임 서버와 데이터를 주고 받을 수 있다. 따라서, 클라이언트 디바이스는 클라우드-기반 비디오 게임으로부터 비디오 출력을 수신하고 이를 로컬 디스플레이 상에 렌더링할 것으로 여전히 필요로 할 수 있지만, 컨트롤러가 클라이언트 디바이스를 우회하여 네트워크를 통해 직접 클라우드 게임 서버로 입력을 전송하게 함으로써, 입력 레이턴시는 감소될 수 있다.
하나의 실시예에서, 네트워킹된 컨트롤러 및 클라이언트 디바이스가 컨트롤러로부터 클라우드 게임 서버로 직접 특정 유형의 입력을 전송하고 그 밖의 다른 유형의 입력을 클라이언트 디바이스를 통해 전송하도록 구성될 수 있다. 예를 들어, 컨트롤러 자체에서 떨어진 임의의 추가 하드웨어 또는 처리에 따라 달라지지 않는 검출을 갖는 입력이 클라이언트 디바이스를 우회하여 컨트롤러로부터 네트워크를 통해 클라우드 게임 서버로 직접 전송될 수 있다. 이러한 입력은 버튼 입력, 조이스틱 입력, 임베딩된 모션 검출 입력(가령, 가속도계, 자력계, 자이로스코프) 등을 포함할 수 있다. 그러나, 추가 하드웨어를 사용하거나 클라이언트 디바이스의 처리가 필요한 입력은 클라이언트 디바이스에 의해 클라우드 게임으로 전송될 수 있다. 이들은 클라우드 게임 서버로 전송하기 전에 클라이언트 디바이스에 의해 처리될 수 있는 게임 환경으로부터 캡처된 비디오 또는 오디오를 포함할 수 있다.  또한, 컨트롤러의 모션 검출 하드웨어로부터의 입력이 캡처된 비디오와 함께 클라이언트 디바이스에 의해 처리되어, 차후 클라이언트 디바이스에 의해 클라우드 게임 서버로 통신될 컨트롤러의 위치 및 모션을 검출할 수 있다. 다양한 실시예에 따르는 컨트롤러 디바이스는 데이터(가령, 피드백 데이터)를 클라이언트 디바이스로부터 수신하거나 클라우드 게임 서버로부터 직접 수신할 수 있음이 자명할 것이다.
본 개시의 다양한 실시예에서, 앞서 언급된 두부 장착형 디바이스는 다양한 대화형 기능을 제공하기 위해 디스플레이 상에 디스플레이되는 대화형 애플리케이션과 함께 이용될 수 있음이 해당 분야의 통상의 기술자에게 자명할 것이다. 본 명세서에 기재된 예시적인 실시예는 한정이 아니라, 예시로서 제공된 것에 불과하다.
본 명세서에 정의된 다양한 실시예는 본 명세서에 개시된 다양한 특징을 사용하여 특정 구현으로 결합되거나 조립될 수 있음을 이해해야 한다. 따라서, 제공된 예는 가능한 일부 예시에 불과하며 더 많은 구현을 정의하기 위해 다양한 요소를 결합함으로써 가능한 다양한 구현예를 한정하지 않는다. 일부 예에서, 일부 구현들은 개시된 또는 동등한 구현들의 사상 내에서, 더 적은 요소를 포함할 수 있다.
본 개시내용의 실시예는 핸드-헬드 디바이스, 마이크로프로세서 시스템, 마이크로프로세서 기반 또는 프로그램 가능한 소비자 전자 제품, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는 다양한 컴퓨터 시스템 구성을 이용해 실시될 수 있다. 본 개시의 실시예는 또한 유선 기반 또는 무선 네트워크를 통해 연결된 원격 처리 디바이스에 의해 작업이 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다.
방법 동작들이 특정 순서로 기재되었지만, 그 밖의 다른 유지 동작이 동작들 사이에 수행되거나, 동작은 다소 상이한 시간에서 발생하도록 조절되거나, 수정된 게임 상태를 생성하기 위한 원격측정(telemetry) 및 게임 상태 데이터의 처리가 바람직한 방식으로 수행되는 한 처리와 연관된 다양한 간격으로 처리 동작의 발생을 가능하게 하는 시스템에서 분산될 수 있다.
하나 이상의 실시예는 또한 컴퓨터 판독형 매체 상의 컴퓨터 판독형 코드로서 만들어질 수 있다. 컴퓨터 판독형 매체는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이며, 이후 컴퓨터 시스템에 의해 판독될 수 있다. 컴퓨터 판독형 매체의 예로는 하드 드라이브, NAS(Network Attached Storage), 리드 온리 메모리, 랜덤 액세스 메모리, CD-ROM, CD-R, CD-RW, 자기 테이프 및 그 밖의 다른 광학 및 비 광학 데이터 저장 디바이스가 있다. 컴퓨터 판독형 매체는 컴퓨터 판독형 코드가 분산 방식으로 저장되고 실행되도록 네트워크-연결된 컴퓨터 시스템을 통해 분산된 컴퓨터 판독형 유형 매체를 포함할 수 있다.
앞서 언급된 실시예가 이해의 명확성을 위해 일부 상세하게 설명되었지만, 특정 변경 및 수정이 첨부된 청구항의 범위 내에서 실시될 수 있음이 자명할 것이다. 따라서, 본 실시예는 한정이 아니라 예시로 간주되어야 하고 실시예는 여기에 제공된 세부 사항에 한정되지 않고, 이하의 청구항의 범위 및 균등물 내에서 수정될 수 있다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서,
    비디오 게임의 플레이어의 디바이스로부터의 질의를 처리하는 단계 - 상기 질의는 비디오 게임 내 현재 상태로부터 후속 상태로 전진함으로써 목표를 완료하는 것과 관련됨 - ,
    비디오 게임 내 상기 플레이어의 현재 상태를 결정하기 위해 상기 플레이어의 게임 데이터를 처리하고 현재 상태로부터 후속 상태로 전진함으로써 목표를 완료한 타 플레이어의 게임 데이터를 처리하는 단계,
    타 플레이어의 게임 데이터로부터 목표를 완료한 성공적인 시도를 식별하고 상기 목표를 완료한 성공적인 시도 동안 타 플레이어 각각이 사용한 하나 이상의 자원을 식별하는 단계,
    상기 목표를 완료한 성공적인 시도 동안 타 플레이어 각각이 사용한 하나 이상의 자원에 기초하여 목표를 완료하기 위해 플레이어가 사용 가능한 자원을 선택하는 단계, 및
    플레이어에 의한 자원의 선택에 응답하여 플레이어에 의해 즉각 사용되도록, 자원을 디바이스를 통해 플레이어에게 표시하는 단계
    를 포함하고,
    상기 하나 이상의 자원을 식별하는 단계는 기계 학습 모듈에 의해 수행되며,
    상기 기계 학습 모듈은, 다양한 자원을 사용하여, 타 플레이어로부터의 데이터 및 상기 비디오 게임을 플레이하고 있는 하나 이상의 플레이어의 다양한 시뮬레이션에 기초하여 자원 효과성의 통계적 분석을 제공하고,
    상기 기계 학습 모듈은, 상기 비디오 게임을 플레이하고 있는 상기 하나 이상의 플레이어의 진행 상황을 추적하기 위해, 그리고 상기 하나 이상의 플레이어가 상기 비디오 게임 내의 다양한 목표를 성공적으로 달성하는 방법과 성공적으로 달성하지 못하는 방법을 다양한 파라미터의 함수로 학습하기 위해, 휴리스틱 모델(heuristic models)을 사용하는, 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서, 상기 자원을 선택하는 단계는
    상기 목표를 완료한 성공적인 시도 동안 타 플레이어가 사용한 하나 이상의 자원 각각에 대한 효과의 척도를 계산하는 단계 - 상기 효과의 척도는 상기 목표를 완료한 성공적인 시도 동안의 타 플레이어의 복수의 게임 플레이 메트릭에 기초함 - , 및
    하나 이상의 자원 중에서, 가장 높은 효과 척도를 갖는 자원을 선택된 자원으로 식별하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
  3. 제1항에 있어서, 상기 자원을 선택하는 단계는
    상기 목표를 완료한 성공적인 시도 동안의 타 플레이어에 의한 게임 플레이를 추적하는 비디오 게임에 대한 게임 모델을 액세스하는 단계 - 상기 게임 모델은 타 플레이어가 사용하는 하나 이상의 자원에 대한 효과의 척도를 제공함 - ,
    플레이어의 플레이어 프로필을 결정하기 위해 플레이어의 게임 데이터를 처리하는 단계 - 상기 플레이어 프로필은 플레이 스타일 및 플레이어의 기술 레벨의 지시자를 포함함 - , 및
    상기 목표를 완료한 성공적인 시도 동안 타 플레이어가 사용한 하나 이상의 자원으로부터 자원을 효과의 척도에 기초하고 플레이어의 플레이어 프로필에 기초하여 선택된 자원으로서 식별하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
  4. 제1항에 있어서, 상기 질의는 비디오 게임 내에서 일부 동작을 수행하는 것과 관련된 플레이어에 의해 발화되는 구문을 포함하며, 상기 질의를 처리하는 단계는 질의가 관련된 목표를 추출하기 위해 자연어 처리 및 플레이어의 현재 상태의 분석을 이용하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
  5. 제1항에 있어서, 플레이어의 현재 상태는 현재 상태에서 플레이어가 소유한 자원을 기술하는 인벤토리 데이터를 포함하며, 상기 자원을 선택하는 단계는 선택된 자원이 플레이어가 현재 상태에서 소유하고 있는 것이 아니도록 인벤토리 데이터에 더 기초하는, 컴퓨터로 구현되는 방법.
  6. 제1항에 있어서, 상기 타 플레이어에 의한 목표를 완료한 성공적인 시도를 식별하는 단계는
    타 플레이어의 게임 데이터로부터, 타 플레이어가 현재 상태 또는 유사한 상태에 있었음을 결정하는 단계, 및
    타 플레이어의 게임 데이터로부터, 후속 상태에 도달하는 것과 연관된 점수를 획득하는 동안 타 플레이어가 후속 상태에 도달했음을 결정하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
  7. 제2항에 있어서, 상기 목표를 완료한 성공적인 시도 동안 타 플레이어가 사용하는 하나 이상의 자원 각각에 대한 효과의 척도를 계산하기 위한 게임 플레이 메트릭은 목표를 달성하기 위해 사용한 시간, 목표를 달성하기 위한 시도 횟수, 목표를 달성하기 위해 입은 데미지의 정도, 목표를 달성하기 위해 소비한 에너지의 양, 또는 목표를 달성하기 위해 취한 행동의 횟수를 포함하는, 컴퓨터로 구현되는 방법.
  8. 제1항에 있어서, 즉각 사용되도록 자원을 디바이스를 통해 플레이어에게 표시하는 단계는, 비디오 게임을 중단하거나 종료할 필요 없이 플레이어가 즉각적인 자원 액세스를 제공 받도록 하는 플레이어와 비디오 게임 간 비마찰 거래(frictionless transaction)를 가능하게 하는, 컴퓨터로 구현되는 방법.
  9. 제1항에 있어서, 플레이어에 의해 즉각 사용되도록 자원을 디바이스를 통해 플레이어에게 표시하는 단계는
    플레이어 속성에 기초하여 자원에 대한 렌더링 프로필을 선택하는 단계 - 상기 렌더링 프로필은 자원이 비디오 게임에서 렌더링되는 방식의 버전을 정의하고 플레이어 프로필은 플레이어의 캐릭터, 플레이어의 기술 레벨, 플레이어의 플레이 스타일, 또는 플레이어의 선호 중 하나 이상을 정의함 - , 및
    자원이 플레이어의 플레이어 프로필과 매칭되도록 렌더링되도록, 상기 렌더링 프로필에 따라 비디오 게임에서 플레이어에 의해 사용되기 위한 자원을 렌더링하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
  10. 컴퓨터로 구현되는 방법으로서,
    플레이어의 클라이언트 디바이스로부터 서버에서, 가상 상점을 액세스하기 위한 요청을 수신하는 단계 - 상기 가상 상점은 복수의 비디오 게임을 플레이하는 동안 플레이어가 사용되기 위한 자원을 선택하게 함 - ,
    플레이어가 참여 중인 비디오 게임 내 플레이어의 현재 상태를 결정하기 위해 플레이어의 게임 데이터를 서버에서 처리하고 비디오 게임에서 더 많이 전진한 타 플레이어의 게임 데이터를 처리하는 단계,
    플레이어의 현재 상태에 기초하고 비디오 게임에서 더 많이 전진한 타 플레이어의 게임 데이터에 기초하여, 비디오 게임의 지속적인 플레이를 통해 플레이가 갖는 목표를 서버에서 결정하는 단계,
    타 플레이어의 게임 데이터로부터, 목표를 완료한 성공적인 시도를 식별하고 상기 목표를 완료한 성공적인 시도 동안 타 플레이어 각각이 사용한 하나 이상의 자원을 식별하는 단계 - 상기 목표는 현재 상태에서 후속 상태로의 전진을 포함함 - ,
    상기 목표를 완료한 성공적인 시도 동안 타 플레이어 각각이 사용한 하나 이상의 자원으로부터 목표를 완료하기 위해 상기 플레이어가 사용 가능한 자원을 선택하는 단계, 및
    자원을 가상 상점용 인터페이스를 통해 플레이어에게 표시하는 단계
    를 포함하고,
    상기 하나 이상의 자원을 식별하는 단계는 기계 학습 모듈에 의해 수행되며,
    상기 기계 학습 모듈은, 다양한 자원을 사용하여, 타 플레이어로부터의 데이터 및 상기 비디오 게임을 플레이하고 있는 하나 이상의 플레이어의 다양한 시뮬레이션에 기초하여 자원 효과성의 통계적 분석을 제공하고,
    상기 기계 학습 모듈은, 상기 비디오 게임을 플레이하고 있는 상기 하나 이상의 플레이어의 진행 상황을 추적하기 위해, 그리고 상기 하나 이상의 플레이어가 상기 비디오 게임 내의 다양한 목표를 성공적으로 달성하는 방법과 성공적으로 달성하지 못하는 방법을 다양한 파라미터의 함수로 학습하기 위해, 휴리스틱 모델을 사용하는, 컴퓨터로 구현되는 방법.
  11. 제10항에 있어서, 상기 자원을 선택하는 단계는
    복수의 자원에 대해, 복수의 추가 플레이어가 현재 상태에서 후속 상태로 전진할 수 있게 하는 효과의 척도를 계산하는 단계, 및
    복수의 자원으로부터, 가장 높은 효과 척도를 갖는 자원을 자원이도록 선택하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
  12. 제10항에 있어서, 상기 자원을 선택하는 단계는
    상기 목표를 완료한 성공적인 시도 동안의 타 플레이어에 의한 게임 플레이를 추적하는 비디오 게임에 대한 게임 모델을 액세스하는 단계 - 상기 게임 모델은 타 플레이어가 사용한 하나 이상의 자원에 대한 효과의 척도를 제공함 - ,
    플레이어의 플레이어 프로필을 결정하기 위해 플레이어의 게임 데이터를 처리하는 단계 - 플레이어 프로필은 플레이어의 플레이 스타일 및 기술 레벨의 지시자를 포함함 - , 및
    상기 목표를 완료한 성공적인 시도 동안 타 플레이어가 사용한 하나 이상의 자원으로부터 하나의 자원을 효과의 척도에 기초하고 플레이어의 플레이어 프로필에 기초하여 선택된 자원으로서 식별하는 단계
    를 포함하는, 컴퓨터로 구현되는 방법.
  13. 제10항에 있어서, 플레이어의 현재 상태는 현재 상태에서 플레이어가 소유한 자원을 기술하는 인벤토리 데이터를 포함하며, 상기 자원을 선택하는 단계는 선택된 자원이 플레이어가 현재 상태에서 소유하고 있는 것이 아니도록 인벤토리 데이터에 더 기초하는, 컴퓨터로 구현되는 방법.
  14. 제10항에 있어서, 상기 타 플레이어에 의한 목표를 완료한 성공적인 시도를 식별하는 단계는
    타 플레이어의 게임 데이터로부터, 타 플레이어가 현재 상태 또는 유사한 상태에 있었음을 결정하는 단계, 및
    타 플레이어의 게임 데이터로부터, 후속 상태에 도달하는 것과 연관된 점수를 획득하는 동안 타 플레이어가 후속 상태에 도달했음을 결정하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
  15. 제11항에 있어서, 상기 목표를 완료한 성공적인 시도 동안 타 플레이어가 사용한 하나 이상의 자원 각각에 대한 효과의 척도를 계산하기 위한 게임 플레이 메트릭은 목표를 달성하기 위해 사용한 시간, 목표를 달성하기 위한 시도 횟수, 목표를 달성하기 위해 입은 데미지의 정도, 목표를 달성하기 위해 소비한 에너지의 양, 또는 목표를 달성하기 위해 취한 행동의 횟수를 포함하는, 컴퓨터로 구현되는 방법.
  16. 제10항에 있어서, 사용자 인터페이스는 플레이어가 비디오 게임 내에서 사용되기 위한 자원으로의 즉각 액세스를 제공 받도록, 플레이어가 플레이어와 가상 상점 간 비마찰 거래(frictionless transaction)를 완료하게 하는, 컴퓨터로 구현되는 방법.
  17. 제10항에 있어서,
    플레이어가 비디오 게임에서 사용되기 위한 자원을 선택했음을 결정하는 단계,
    플레이어 속성에 기초하여 자원에 대한 렌더링 프로필을 선택하는 단계 - 상기 렌더링 프로필은 자원이 비디오 게임에서 렌더링되는 방식의 버전을 정의하고 플레이어 프로필은 플레이어의 캐릭터, 플레이어의 기술 레벨, 플레이어의 플레이 스타일, 또는 플레이어의 선호 중 하나 이상을 정의함 - , 및
    자원이 플레이어의 플레이어 프로필과 매칭되도록 렌더링되도록, 상기 렌더링 프로필에 따라 비디오 게임에서 플레이어에 의해 사용되기 위한 자원을 렌더링하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
  18. 프로세서 기반 시스템에 의해 실행 가능한 컴퓨터 프로그램을 저장하는 비일시적 컴퓨터 판독형 저장 매체로서, 컴퓨터 프로그램은
    비디오 게임의 플레이어의 디바이스로부터의 질의를 처리하기 위한 프로그램 명령 - 상기 질의는 비디오 게임 내 현재 상태로부터 후속 상태로 전진함으로써 목표를 완료하는 것과 관련됨 - ,
    비디오 게임 내 플레이어의 현재 상태를 결정하기 위해 플레이어의 게임 데이터를 처리하고 현재 상태로부터 후속 상태로 전진함으로써 목표를 완료한 타 플레이어의 게임 데이터를 처리하기 위한 프로그램 명령,
    타 플레이어의 게임 데이터로부터, 목표를 완료한 성공적인 시도를 식별하고, 상기 목표를 완료한 성공적인 시도 동안 타 플레이어 각각이 사용한 하나 이상의 자원을 식별하기 위한 프로그램 명령,
    상기 목표를 완료한 성공적인 시도 동안 타 플레이어 각각이 사용한 하나 이상의 자원에 기초하여 목표를 완료하기 위해 플레이어가 사용 가능한 자원을 선택하기 위한 프로그램 명령, 및
    플레이어에 의한 자원의 선택에 응답하여 플레이어에 의해 즉시 사용되기 위해 자원을 디바이스를 통해 플레이어에게 표시하기 위한 프로그램 명령
    을 포함하고,
    상기 하나 이상의 자원을 식별하는 프로그램 명령은 기계 학습 모듈에 의해 수행되며,
    상기 기계 학습 모듈은, 다양한 자원을 사용하여, 타 플레이어로부터의 데이터 및 상기 비디오 게임을 플레이하고 있는 하나 이상의 플레이어의 다양한 시뮬레이션에 기초하여 자원 효과성의 통계적 분석을 제공하고,
    상기 기계 학습 모듈은, 상기 비디오 게임을 플레이하고 있는 상기 하나 이상의 플레이어의 진행 상황을 추적하기 위해, 그리고 상기 하나 이상의 플레이어가 상기 비디오 게임 내의 다양한 목표를 성공적으로 달성하는 방법과 성공적으로 달성하지 못하는 방법을 다양한 파라미터의 함수로 학습하기 위해, 휴리스틱 모델을 사용하는, 비일시적 컴퓨터 판독형 저장 매체.
  19. 제18항에 있어서, 상기 자원을 선택하는 것은
    상기 목표를 완료한 성공적인 시도 동안 타 플레이어가 사용한 하나 이상의 자원 각각에 대한 효과의 척도를 계산하는 것 - 상기 효과의 척도는 상기 목표를 완료한 성공적인 시도 동안의 타 플레이어의 복수의 게임 플레이 메트릭에 기초함 - , 및
    하나 이상의 자원으로부터, 가장 높은 효과 척도를 갖는 자원을 선택된 자원이도록 식별하는 것을 포함하는, 비일시적 컴퓨터 판독형 저장 매체.
  20. 제18항에 있어서, 상기 목표를 완료한 성공적인 시도 동안 타 플레이어가 사용한 하나 이상의 자원 각각에 대해 효과 척도를 계산하기 위한 게임 플레이 메트릭은 목표를 달성하기 위해 사용한 시간, 목표를 달성하기 위한 시도 횟수, 목표를 달성하기 위해 입은 데미지의 정도, 목표를 달성하기 위해 소비한 에너지의 양, 또는 목표를 달성하기 위해 취한 행동의 횟수를 포함하는, 비일시적 컴퓨터 판독형 저장 매체.
KR1020217005556A 2018-07-24 2019-07-19 게임내 자원 서페이싱 플랫폼 KR102549681B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/044,476 US11819764B2 (en) 2018-07-24 2018-07-24 In-game resource surfacing platform
US16/044,476 2018-07-24
PCT/US2019/042697 WO2020023321A1 (en) 2018-07-24 2019-07-19 In-game resource surfacing platform

Publications (2)

Publication Number Publication Date
KR20210035871A KR20210035871A (ko) 2021-04-01
KR102549681B1 true KR102549681B1 (ko) 2023-06-30

Family

ID=67515205

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217005556A KR102549681B1 (ko) 2018-07-24 2019-07-19 게임내 자원 서페이싱 플랫폼

Country Status (6)

Country Link
US (2) US11819764B2 (ko)
EP (1) EP3826740A1 (ko)
JP (1) JP7125539B2 (ko)
KR (1) KR102549681B1 (ko)
CN (1) CN112672795A (ko)
WO (1) WO2020023321A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102007371B1 (ko) * 2019-01-24 2019-08-05 넷마블 주식회사 게임 플레이 전략 추천 방법 및 장치
US11068284B2 (en) * 2019-07-25 2021-07-20 Huuuge Global Ltd. System for managing user experience and method therefor
US11645947B1 (en) 2020-06-29 2023-05-09 Amazon Technologies, Inc. Natural language configuration and operation for tangible games
US11600263B1 (en) * 2020-06-29 2023-03-07 Amazon Technologies, Inc. Natural language configuration and operation for tangible games
US11358062B2 (en) * 2020-08-05 2022-06-14 Rovi Guides, Inc. Systems and methods for providing recommendations to improve gameplay
CN112494938B (zh) * 2020-12-07 2024-01-12 北京达佳互联信息技术有限公司 游戏资源分发方法、装置、电子设备及存储介质
US20230310995A1 (en) * 2022-03-31 2023-10-05 Advanced Micro Devices, Inc. Detecting personal-space violations in artificial intelligence based non-player characters

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5366173B2 (ja) * 2008-02-28 2013-12-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 操作支援サーバ装置、操作支援方法およびコンピュータ・プログラム
US9202171B2 (en) * 2008-11-11 2015-12-01 Digideal Corporation Virtual game assistant based on artificial intelligence
US9662565B1 (en) * 2009-04-17 2017-05-30 Lee Riordan Simulation of, and processes that employ, character with hyper-fast ability
US9387401B2 (en) 2012-09-17 2016-07-12 King.Com Ltd. Method for implementing a computer game
US9533215B1 (en) 2013-04-24 2017-01-03 Kabam, Inc. System and method for predicting in-game activity at account creation
US9669295B1 (en) 2013-05-06 2017-06-06 Kabam, Inc. Unlocking game content based on amounts of collaborative gameplay
US20150157929A1 (en) * 2013-12-11 2015-06-11 Activision Publishing, Inc. Videogame with e-commerce transaction support
US10112113B2 (en) * 2016-03-30 2018-10-30 Sony Interactive Entertainment Inc. Personalized data driven game training system
KR20180075931A (ko) 2016-12-27 2018-07-05 주식회사 엔씨소프트 온라인 게임 내에서 아이템 추천 서비스를 제공하는 방법 및 그 장치

Also Published As

Publication number Publication date
JP7125539B2 (ja) 2022-08-24
CN112672795A (zh) 2021-04-16
KR20210035871A (ko) 2021-04-01
US20240082734A1 (en) 2024-03-14
WO2020023321A1 (en) 2020-01-30
EP3826740A1 (en) 2021-06-02
US11819764B2 (en) 2023-11-21
JP2021530323A (ja) 2021-11-11
US20200030702A1 (en) 2020-01-30

Similar Documents

Publication Publication Date Title
KR102549681B1 (ko) 게임내 자원 서페이싱 플랫폼
JP7399932B2 (ja) クラウドゲーミングネットワークを使用した人工知能(ai)モデルの訓練
CN112601589B (zh) 在游戏应用的玩游戏过程期间将玩家实时连接到专家帮助
KR102190684B1 (ko) 비디오 게임을 위한 인터랙티브 음성-제어 컴패니언 애플리케이션
US10154104B2 (en) Intelligent delivery of actionable content
US8814643B2 (en) Challenge search query game
US9132349B2 (en) Third-party recommendation in game system
JP2014527652A (ja) ネットワーク上でユーザーをマッチングさせる方法
KR20070028971A (ko) 게이머의 입력 패턴을 복사하여 게임을 수행하는 게임 ai제어 방법 및 게임 ai 제어 시스템
US11495086B2 (en) Detecting cheating in games with machine learning
CA3087629C (en) System for managing user experience and method therefor
KR100823700B1 (ko) 학습 관리 시스템에 연동되는 게임 프로그램의 학습 정보추적 방법 및 시스템
JP7464336B2 (ja) ビデオゲームにおけるサーバベースのビデオヘルプ
GB2571761A (en) A videogame search method and apparatus
KR102162179B1 (ko) 아이템 정보 제공 장치 및 방법
KR101212495B1 (ko) 클럽 리그를 제공하는 온라인 스포츠 게임 제공 방법 및 그 시스템
JP2023510444A (ja) ビデオゲーム対話のための自然言語ダイアログシステム
JP2022542073A (ja) 悪意のあるゲームの検出

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