KR20200081171A - 감각 기반의 동적 게임 상태 구성 - Google Patents

감각 기반의 동적 게임 상태 구성 Download PDF

Info

Publication number
KR20200081171A
KR20200081171A KR1020190035324A KR20190035324A KR20200081171A KR 20200081171 A KR20200081171 A KR 20200081171A KR 1020190035324 A KR1020190035324 A KR 1020190035324A KR 20190035324 A KR20190035324 A KR 20190035324A KR 20200081171 A KR20200081171 A KR 20200081171A
Authority
KR
South Korea
Prior art keywords
video game
user
state
emotional state
data
Prior art date
Application number
KR1020190035324A
Other languages
English (en)
Other versions
KR102239062B1 (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 KR20200081171A publication Critical patent/KR20200081171A/ko
Application granted granted Critical
Publication of KR102239062B1 publication Critical patent/KR102239062B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • A61B5/0402
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/16Devices for psychotechnics; Testing reaction times ; Devices for evaluating the psychological state
    • A61B5/165Evaluating the state of mind, e.g. depression, anxiety
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/318Heart-related electrical modalities, e.g. electrocardiography [ECG]
    • 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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • 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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • A63F13/2145Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
    • 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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/215Input arrangements for video game devices characterised by their sensors, purposes or types comprising means for detecting acoustic signals, e.g. using a microphone
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • 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/45Controlling the progress of the video 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/55Controlling game characters or game objects based on the game progress
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/63Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for estimating an emotional state
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Psychiatry (AREA)
  • Biophysics (AREA)
  • Heart & Thoracic Surgery (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Cardiology (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Hospice & Palliative Care (AREA)
  • Child & Adolescent Psychology (AREA)
  • Artificial Intelligence (AREA)
  • Social Psychology (AREA)
  • Signal Processing (AREA)
  • Biomedical Technology (AREA)
  • Pathology (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Surgery (AREA)
  • Molecular Biology (AREA)
  • Animal Behavior & Ethology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Psychology (AREA)
  • Educational Technology (AREA)
  • Developmental Disabilities (AREA)
  • Oral & Maxillofacial Surgery (AREA)

Abstract

본 명세서에 제시된 시스템은 사용자의 결정된 또는 예측된 감정 상태에 적어도 부분적으로 기초하여 사용자에 의해 플레이되는 비디오 게임을 자동적으로 및 동적으로 수정할 수 있다. 하나 이상의 기계 학습 알고리즘을 사용하여, 비디오 게임을 플레이하는 사용자를 모니터링함으로써 획득된 감각 및/또는 생체 데이터를 사용하는 파라미터 함수가 생성될 수 있다. 감각 및/또는 생체 데이터에 기초하여, 사용자의 감정 상태가 예측될 수 있다. 예를 들어, 비디오 게임을 플레이하는 동안 사용자가 지루하거나, 행복하거나, 두려워할지를 결정할 수 있다. 사용자의 감정 상태의 결정에 적어도 부분적으로 기초하여, 비디오 게임은 비디오 게임에 응답하여 발생하는 부정적인 감정을 감소시키고 긍정적인 느낌을 향상시키도록 수정될 수 있다.

Description

감각 기반의 동적 게임 상태 구성{SENSORY-BASED DYNAMIC GAME-STATE CONFIGURATION}
소프트웨어 개발자는 일반적으로 소프트웨어에 가능한 한 오랫동안 사용자를 참여시키려 한다. 사용자가 소프트웨어에 참여하는 시간이 길수록, 소프트웨어가 성공할 확률이 높다. 사용자의 참여 기간과 소프트웨어의 성공 간의 관계는 비디오 게임과 관련하여 특히 중요하다. 사용자가 특정 비디오 게임을 플레이하는 시간이 길수록, 사용자가 게임을 즐긴다는 가능성이 높고, 따라서 사용자가 게임을 계속 플레이하거나 속편, 확장 또는 특정 비디오 게임과 관련된 다른 비디오 게임(예를 들어, 모바일 컴패니언 게임(mobile companion game) 또는 게임의 모바일 에디션(mobile edition))을 플레이하는 것을 결정할 것이다.
당연히, 사용자에게 만족스럽지 못한 게임은 사용자 참여가 낮을 수 있다. 또한, 다른 사용자가 비디오 게임의 특정 측면이나 도전(challenge)에 다르게 반응할 수 있으므로, 모든 사용자에게 어필(appeal)할 수 있는 비디오 게임을 만드는 것은 종종 불가능하다. 따라서, 게임 개발의 도전들 중 하나는 최대한 많은 플레이어에게 어필할 수 있는 게임을 설계하는 것이다.
본 발명의 시스템, 방법 및 장치는 각각 혁신적인 여러 측면을 가지며, 그 중 하나만이 본 명세서에 개시된 바람직한 속성의 모두에 대해 전적으로 책임을 가질 수 없다. 본 명세서에서 설명된 주제의 하나 이상의 구현의 세부 사항은 첨부 도면 및 이하의 설명에서 설명된다.
본 발명의 특정 측면은 하나 이상의 프로세서를 포함하고 특정 컴퓨터 실행 가능한 명령어(computer-executable instructions)로 구성된 인터랙티브 컴퓨팅 시스템(interactive computing system)에 의해 구현될 수 있는 컴퓨터로 구현되는 방법(computer-implemented method)에 관한 것이다. 컴퓨터로 구현되는 방법은, 비디오 게임(video game)을 플레이(playing)하는 사용자로부터 감각 데이터 세트(set of sensory data)를 수신하는 단계; 제1 예측 모델(prediction model)을 사용하여, 상기 감각 데이터 세트에 적어도 부분적으로 기초하여 상기 사용자에 대한 예측된 감정 상태(predicted emotional state)를 결정하는 단계; 상기 사용자에 대한 상기 예측된 감정 상태에 적어도 부분적으로 기초하여, 상기 비디오 게임의 상태에 대한 제1 수정(modification)을 결정하는 단계; 및 상기 비디오 게임의 상태에 대한 상기 결정된 제1 수정에 적어도 부분적으로 기초하여 상기 비디오 게임의 상태를 수정하는 단계를 포함할 수 있다.
전 단락의 방법은 다음의 특징들의 임의의 조합 또는 서브-조합(sub-combination)을 포함할 수 있다: 상기 감각 데이터 세트는 하나 이상의 유형의 감각 데이터(types of sensory data)를 포함한다; 상기 감각 데이터 세트는 생체 데이터(biometric data)를 포함한다; 상기 감각 데이터 세트는 오디오 데이터(audio data); 시각 데이터(visual data); 심박수 데이터(heart rate data); 호흡수 데이터(respiratory rate data); 또는 갈바닉 피부 반응 데이터(galvanic skin response data) 중 적어도 하나를 포함한다; 상기 방법은 하나 이상의 센서에 대응하는 신호의 세트를 수신하는 단계; 및 상기 감각 데이터 세트를 획득하기 위해 상기 신호의 세트를 변환하는 단계를 더 포함한다; 상기 방법은 제2 예측 모델에 상기 사용자의 상기 예측된 감정 상태를 적어도 적용함으로써 상기 사용자에 대한 예측된 이탈율(churn rate)을 결정하는 단계를 더 포함하고, 상기 비디오 게임의 상태에 대한 상기 제1 수정을 결정하는 단계는, 상기 예측된 이탈율에 적어도 부분적으로 기초하여 상기 비디오 게임의 상태에 대한 상기 제1 수정을 결정하는 단계를 포함한다; 상기 예측된 감정 상태를 결정하는 단계는, 파라미터 함수(parameter function)에 상기 감각 데이터 세트를 제공하는 단계 - 상기 파라미터 함수는 기계 학습 알고리즘(machine learning algorithm)에 적어도 부분적으로 기초하여 생성됨 -; 및 상기 파라미터 함수의 출력에 적어도 부분적으로 기초하여 상기 예측된 감정 상태를 결정하는 단계를 포함한다; 상기 방법은 적어도, 감각 데이터의 제2 세트(second set of sensory data)를 액세스하는 단계 - 상기 감각 데이터의 제2 세트는 상기 비디오 게임을 플레이하는 복수의 사용자와 연관되고, 하나 이상의 감정 상태에 대응함 -; 및 상기 감각 데이터의 제2 세트 및 상기 대응하는 하나 이상의 감정 상태에 적어도 부분적으로 기초하여 상기 파라미터 함수를 결정하기 위해 상기 기계 학습 알고리즘을 사용하는 단계에 의해 상기 파라미터 함수를 생성하는 단계를 더 포함한다; 상기 감각 데이터는 음성(speech)을 포함하는 오디오 데이터를 포함하고, 상기 방법은, 상기 음성을 텍스트(text)로 변환하는 단계; 상기 음성의 톤(tone)을 결정하는 단계; 및 상기 음성의 의미 분석(semantic analysis)을 수행하는 단계를 더 포함하고, 상기 사용자에 대한 상기 예측된 감정 상태를 결정하는 단계는, 상기 음성의 의미 분석의 결과 및 상기 음성의 톤을 상기 제1 예측 모델에 제공하는 단계를 포함한다; 상기 감각 데이터는 복수의 유형의 감각 데이터를 포함하고, 상기 제1 예측 모델은 적어도 하나의 유형의 감각 데이터에 대해 적어도 하나의 다른 유형의 감각 데이터와 다르게 감각 데이터 가중치를 둔다(weights); 상기 비디오 게임의 상태에 대한 상기 제1 수정을 결정하는 단계는, 복수의 잠재적인 비디오 게임 상태 수정(potential video game state modifications)을 결정하는 단계 - 각각의 잠재적인 비디오 게임 상태 수정은 상기 사용자의 감정 상태를 제1 감정 상태로부터 제2 감정 상태로 변경하는 것과 연관됨 -; 상기 사용자에 대한 희망 감정 상태(desired emotional state)를 결정하는 단계; 및 상기 복수의 잠재적인 비디오 게임 상태 수정으로부터, 상기 사용자의 감정 상태를 상기 예측된 감정 상태로부터 상기 희망 감정 상태로 변경하는 것과 연관된 상기 비디오 게임의 상태에 대한 상기 제1 수정을 선택하는 단계를 포함한다; 상기 비디오 게임의 상태를 수정한 후에, 상기 방법은, 상기 비디오 게임을 플레이하는 상기 사용자로부터 감각 데이터의 제2 세트를 수신하는 단계; 상기 제1 예측 모델을 사용하여, 상기 감각 데이터의 제2 세트에 적어도 부분적으로 기초하여 상기 사용자에 대한 제2 예측된 감정 상태를 결정하는 단계; 상기 사용자에 대한 상기 제2 예측된 감정 상태에 적어도 부분적으로 기초하여, 상기 비디오 게임의 상태에 대한 제2 수정을 결정하는 단계; 및 상기 비디오 게임의 상태에 대한 상기 결정된 제2 수정에 적어도 부분적으로 기초하여 상기 비디오 게임의 상태를 수정하는 단계를 더 포함한다; 상기 비디오 게임의 상태에 대한 상기 제2 수정은 상기 사용자의 제2 예측된 감정 상태가 희망 감정 상태로부터 상기 사용자에 대한 상기 예측된 감정 상태보다 더 멀다고 결정되면, 상기 비디오 게임의 상태를 상기 비디오 게임의 이전 상태로 복귀(reverts)시킨다; 및 상기 비디오 게임의 상태에 대한 상기 제2 수정은 상기 비디오 게임의 상태의 상기 제1 수정보다 상기 비디오 게임의 상태에 대한 반대 수정(contrary modification)과 연관된다.
본 발명의 다른 측면은 비디오 게임에 관한 감각 데이터를 저장하도록 구성된 전자 데이터 저장소(electronic data store); 및 상기 전자 데이터 저장소와 통신하는 하드웨어 프로세서(hardware processor)를 포함하는 시스템을 제공한다. 상기 하드웨어 프로세서는, 적어도, 상기 비디오 게임을 플레이하는 사용자로부터 감각 데이터 세트를 수신하고, 상기 감각 데이터 세트에 적어도 부분적으로 기초하여 상기 사용자에 대한 예측된 감정 상태를 결정하기 위해 제1 예측 모델을 사용하고, 상기 사용자에 대한 상기 예측된 감정 상태에 적어도 부분적으로 기초하여, 상기 비디오 게임의 상태에 대한 제1 수정을 결정하고, 상기 비디오 게임의 상태에 대한 상기 결정된 제1 수정에 적어도 부분적으로 기초하여 상기 비디오 게임의 상태를 수정하는 특정 컴퓨터 실행 가능한 명령어들을 실행하도록 구성될 수 있다.
전 단락의 시스템은 다음의 특징들의 임의의 조합 또는 서브-조합을 포함할 수 있다: 상기 하드웨어 프로세서는 상기 비디오 게임의 일부분에 대해 수정된 시드 값(seed value)을 결정함으로써 상기 비디오 게임의 상태에 대한 상기 제1 수정을 결정하도록 더 구성되고, 상기 수정된 시드 값(modified seed value)은 상기 비디오 게임의 상기 일부분에 적용되도록 이전에 결정된 기존 시드 값(existing seed value)과 다르며, 상기 하드웨어 프로세서는 상기 기존 시드 값을 상기 수정된 시드 값으로 대체함으로써 상기 비디오 게임의 상태를 수정하도록 더 구성된다; 상기 하드웨어 프로세서는 상기 사용자의 상기 예측된 감정 상태를 제2 예측 모델에 적어도 적용함으로써 상기 사용자에 대한 예측된 이탈율을 결정하도록 더 구성되고, 상기 비디오 게임의 상태에 대한 상기 제1 수정을 결정하는 것은 상기 예측된 이탈율에 적어도 부분적으로 기초하여 상기 비디오 게임의 상태에 대한 상기 제1 수정을 결정하는 것을 포함한다; 상기 예측된 감정 상태를 결정하는 것은 파라미터 함수에 상기 감각 데이터 세트를 제공하는 것 - 상기 파라미터 함수는 기계 학습 알고리즘에 적어도 부분적으로 기초하여 생성됨 -; 및 상기 파라미터 함수의 출력에 적어도 부분적으로 기초하여 상기 예측된 감정 상태를 결정하는 것을 포함한다; 상기 하드웨어 프로세서는, 적어도, 감각 데이터의 제2 세트를 액세스하는 것 - 상기 감각 데이터의 제2 세트는 상기 비디오 게임을 플레이하는 복수의 사용자와 연관되고, 하나 이상의 감정 상태에 대응함 -; 및 상기 감각 데이터의 제2 세트 및 대응하는 하나 이상의 감정 상태에 적어도 부분적으로 기초하여 상기 파라미터 함수를 결정하기 위해 상기 기계 학습 알고리즘을 사용하는 것에 의해 상기 파라미터 함수를 생성하도록 더 구성된다; 상기 하드웨어 프로세서는, 적어도, 복수의 잠재적인 비디오 게임 상태 수정을 결정하는 것 - 각각의 잠재적인 비디오 게임 상태 수정은 상기 사용자의 감정 상태를 제1 감정 상태로부터 제2 감정 상태로 변경하는 것과 연관됨 -; 상기 사용자에 대한 희망 감정 상태를 결정하는 것; 및 상기 복수의 잠재적인 비디오 게임 상태 수정으로부터, 상기 사용자의 감정 상태를 상기 예측된 감정 상태로부터 상기 희망 감정 상태로 변경하는 것과 연관된 상기 비디오 게임의 상태에 대한 상기 제1 수정을 선택하는 것에 의해 상기 비디오 게임의 상태에 대한 상기 제1 수정을 결정하도록 더 구성된다.
본 발명의 또 다른 측면은, 하나 이상의 컴퓨팅 장치에 의해 실행될 때, 하나 이상의 컴퓨팅 장치가 본 명세서에 개시된 실시예들 중 하나 이상에 대응하는 동작의 세트를 수행하도록 구성된 컴퓨터 실행 가능한 명령어들을 저장하는 비-일시적 컴퓨터 판독 가능한 저장 매체(non-transitory computer-readable storage medium)를 제공한다.
특정 실시예 및 예시가 본 명세서에 개시되어 있지만, 본 발명의 주제는 구체적으로 개시된 실시예에서의 예시를 넘어 다른 대안적인 실시예 및/또는 사용, 및 수정(modification) 및 등가물로 확장된다.
도면들 전체에서, 참조 번호는 참조된 요소 간의 대응을 나타내기 위해 재사용된다. 도면들은 본 명세서에 설명된 주제의 실시예들을 예시하기 위한 것이며, 그 범위를 제한하지 않는다.
도 1a는 감각 기반의 동적 비디오 게임 상태 수정 시스템의 일 예시의 개념도를 도시한다.
도 1b는 감각 기반의 동적 비디오 게임 상태 구성 시스템의 하나 이상의 실시예를 구현할 수 있는 네트워크 컴퓨팅 환경의 일 실시예를 도시한다.
도 1c는 도 1b의 모델 생성 시스템의 일 실시예를 도시한다.
도 1d는 도 1b의 유지 분석 시스템의 일 실시예를 도시한다.
도 2는 기계 학습 프로세스(200)의 일 실시예의 흐름도를 도시한다.
도 3은 이탈율에 적어도 부분적으로 기초한 비디오 게임 상태 수정 프로세스의 일 실시예의 흐름도를 도시한다.
도 4는 희망 감정 상태에 적어도 부분적으로 기초한 비디오 게임 상태 수정 프로세스의 일 실시예의 흐름도를 도시한다
도 5는 게임 상태 구성 평가 프로세스의 일 실시예의 흐름도를 도시한다.
도 6은 사용자 컴퓨팅 시스템의 일 실시예를 도시한다.
도 7은 도 6의 사용자 컴퓨팅 시스템에 대한 하드웨어 구성의 일 실시예를 도시한다.
소개
비디오 게임이 다수의 사용자에게 어필하는 것이 일반적으로 바람직하다. 그러나, 각기 다른 사용자는 사용자가 플레이하는 비디오 게임의 유형에 대해 서로 다른 선호도를 갖는다. 또한, 다른 게임은 다른 사용자로부터 다른 기분(moods) 또는 감정을 유도한다. 일부 경우에서, 다른 기분 또는 감정은 비디오 게임의 난이도(difficulty) 또는 도전(challenge)과 관련된다. 예를 들어, 일부 사용자는 상대적으로 도전적인 비디오 게임을 선호하며, 도전으로 인해 낮은 성공률을 기록하더라도 도전적인 게임을 플레이할 때 긍정적인 감정을 나타낼 수 있다. 다른 사용은 도전적인 게임을 할 때, 특히 도전으로 인해 성공률이 낮을 때 부정적인 감정을 나타낼 수 있다. 긍정적인 감정(예를 들어, 행복, 성취감, 흥분 등)을 나타내는 사용자는 부정적인 감정(예를 들어, 좌절(frustration), 슬픔, 두려움(fear))을 나타내는 사용자보다 비디오 게임에 의해 더 많이 참여하는 경향이 있다. 따라서, 사용자에게 긍정적인 감정을 유도하는 비디오 게임을 개발하는 것이 종종 바람직하다. 그러나, 다른 사용자가 부정적인 것으로 고려할 수 있는 감정을 간절히 구하는(crave) 특정 사용자가 있을 수도 있다. 예를 들어, 일부 사용자는 두려움이나 혐오감(disgust)을 유도하는 비디오 게임을 플레이 하는 것을 즐기지 않지만, 다른 사용자는 두려움이나 혐오감을 유도하는 비디오 게임을 즐길 수 있다. 따라서, 특정 감정을 유도하도록 설계된 정적 비디오 게임(static video game)은 사용자로부터 검출되거나 예측된 감정에 기초하여 런타임 중에 동적으로 수정될 수 있는 비디오 게임보다 적은 수의 사람들에게 어필할 수 있다.
본 명세서에 개시된 실시예는 하나 이상의 감각 신호에 기초하여 비디오 게임을 플레이하는 사용자의 감정을 검출 또는 예측할 수 있다. 감각 신호 또는 감각 신호로부터 도출된 데이터는 기계 학습 프로세스(machine learning process)를 사용하여 생성된 예측 모델 또는 파라미터 모델(parameter function)에 제공될 수 있다. 파라미터 함수는 비디오 게임을 플레이하는 사용자의 감정 또는 기분을 예측할 수 있다. 사용자의 예측된 기분에 기초하여, 비디오 게임은 동적으로 수정되어 사용자의 기분을 조정할 수 있다. 특정 실시예에서, 비디오 게임을 플레이하는 기분 사용자(mood users)를 조정함으로써, 사용자에 대한 유지율(retention rate) 또는 이탈율이 수정될 수 있다.
본 명세서에 개시된 시스템은 비디오 게임의 상이한 상태 또는 특징을 변경함으로써 비디오 게임을 수정할 수 있다. 일부 실시예에서, 비디오 게임의 난이도는 비디오 게임에 대한 이탈율을 변경하려는 시도로 수정될 수 있다. 비디오 게임에 대한 이탈율을 수정하려는 시도에서 비디오 게임의 난이도를 변경하기 위한 실시예는 "동적 난이도 조정(DYNAMIC DIFFICULTY ADJUSTMENT)" 제목으로 2018년 3월 20일자 미국 특허 제9,919,217호에 개시되어 있으며, 본 명세서에서 그 전체가 참고 문헌으로 인용된다.
난이도는 기분 및 결과적으로 사용자의 유지율에 영향을 미칠 수 있는 유일한 요인은 아니다. 일부 실시예에서, 분위기, 유혈(gore), 신성모독(profanity) 등과 같은 다른 특징은 사용자의 감정 또는 기분에 영향을 미칠 수 있다. 또한, 공포, 슬픔, 행복 등과 같은 게임에 의해 유도된 감정은 비디오 게임을 플레이하는 사용자의 유지율에 영향을 미칠 수 있다. 본 명세서에 개시된 실시예는 비디오 게임의 상태를 수정하여 만족도를 향상시키고 결과적으로 비디오 게임을 플레이하는 사용자에 대한 유지율을 향상시키기 위해 비디오 게임에 의해 유도된 감정 또는 게임의 특징을 수정할 수 있다.
도 1a는 본 명세서에 설명된 특정 실시예에 따른 감각 기반의 동적 비디오 게임 상태 수정 시스템(sensory-based dynamic video game state modification system)의 일 실시예의 개념도를 도시한다. 신호 캡처 시스템(signal capture system)(10)은 비디오 게임을 플레이하는 사용자와 연관된 감각 데이터를 획득하는데 사용될 수 있다. 신호 캡처 시스템은 오디오를 캡처하기 위한 센서(예를 들어, 마이크로폰(microphones)), 이미지 또는 비디오를 캡처하기 위한 광학 센서(예를 들어, 카메라), 사용자의 갈바닉 피부 반응(또는 피부 전기 활동(EDA: electrodermal activity))을 측정하기 위한 갈바닉 피부 반응(GSR: galvanic skin response) 센서, 및 사용자의 감정 상태를 예측하는데 사용될 수 있는 데이터를 캡처하기 위한 임의의 다른 유형의 센서를 포함할 수 있다.
신호 캡처 시스템(10)에 의해 캡처된 데이터 또는 신호는 신호 캡처 시스템(10)으로부터 수신된 데이터를 사용하여 사용자의 감정을 결정하거나 예측할 수 있는 감정 캡처 시스템(emotion capture system)(20)에 제공될 수 있다. 감정 캡처 시스템(20)은 사용자의 감정을 결정하거나 예측하는데 사용될 수 있는 데이터로 신호를 변환할 수 있다. 예를 들어, 감정 캡처 시스템(20)은 오디오를 텍스트로 변환할 수 있으며, 이는 사용자의 정서(sentiment)를 결정하기 위해 분석될 수 있다. 또한, 오디오 및 텍스트는 톤 분석기(tone analyzer)를 사용하여 그 톤을 결정하도록 분석될 수 있다. 오디오 및 텍스트의 톤은 사용자의 감정 상태를 결정하기 위해 정서 대신 또는 정서 이외에 파라미터 함수(parameter function)에 의해 사용될 수 있다. 사용자의 감정을 결정하거나 예측하는데 사용될 수 있는 감각 데이터의 다른 예시는 시각 데이터 및 생체 데이터를 포함한다. 시각 데이터는 자세(posture), 태도(stance), 표정(facial expressions) 등을 포함할 수 있다. 생체 데이터는 심박수, 호흡수, 피부 또는 신체 온도 등을 포함할 수 있다.
신호 캡처 시스템(10)에 의해 획득된 캡처된 신호 및/또는 감정 캡처 시스템(20)에 의해 캡처된 신호로부터 획득된 데이터는 데이터 수집 및 큐레이션 시스템(data aggregation and curation system)(30)에서 수집 및/또는 저장될 수 있다. 데이터 수집 및 큐레이션 시스템(30)은 데이터 웨어하우스(data warehouse)에 데이터를 저장할 수 있다. 이 저장된 데이터는 비디오 게임의 상이한 버전의 테스트하는 것을 용이하게 하는데 사용될 수 있다. 예를 들어, A/B 테스트(예를 들어, 상이한 사용자 그룹들 사이의 비디오 게임의 상이한 버전의 테스트)가 수행될 수 있고, 감정 상태 데이터는 저장 및 비교되어 비디오 게임의 제1 버전(버전 A) 또는 제2 버전(버전 B)이 사용자들 사이에서 더 많은 긍정적인 감정 상태를 초래하는지 결정할 수 있다.
감정 캡처 시스템(20)으로부터 수신되고 및/또는 데이터 수집 및 큐레이션 시스템(30)의 데이터 웨어하우스에 저장된 감정 상태 데이터에 적어도 부분적으로 기초하여, 비디오 게임은 하나 이상의 인공 지능(artificial intelligence) 또는 기계 학습 애플리케이션(40)의 세트에 의해 사용자에 의해 플레이되는 동안 수정될 수 있다. 대안적으로 또는 부가적으로, 상이한 사용자의 세트에 제시되는 비디오 게임의 인스턴스(instances)는 기계 학습 애플리케이션(40)에 의해 미리 수정되어 게임 엔진(game engine)의 상이한 버전을 테스트하는 것을 용이하게 할 수 있다. 도 1a는 감각 기반의 동적 비디오 게임 상태 수정 시스템의 하나의 개념적 실시예를 나타낸다는 것을 이해해야 한다. 사용자의 감정 상태를 결정하고 사용자의 감정 상태에 기초하여 비디오 게임의 구성 및/또는 상태를 수정하여 사용자의 상이한 감정 상태를 획득할 수 있는 감정 기반의 동적 비디오 게임 상태 수정 시스템의 다른 실시예를 구현하는 것이 가능하다. 사용자의 감정 상태의 수정은 비디오 게임의 플레이어로서 사용자를 유지할 확률(probability)을 향상시키거나, 또는 사용자의 감정 상태에 기초하여 수정될 수 없는 비디오 게임의 정적 버전과 비교하여 더 긴 시간 동안 사용자를 유지하기 위해 사용될 수 있다.
설명을 단순화하기 위해, 본 발명은 주로 비디오 게임과 관련하여 설명된다. 그러나, 본 발명은 다른 유형의 애플리케이션에 적용될 수 있기 때문에 한정되지 않는다. 예를 들어, 본 명세서에 개시된 실시예들은 교육 애플리케이션 또는 애플리케이션과의 사용자 인터랙티비티(user interactivity)의 이력에 기초하여 수정될 수 있는 다른 애플리케이션에 적용될 수 있다. 또한, 본 개시는 비디오 게임의 유형에 관해 한정되지 않는다. 본 명세서에서 "비디오 게임"이라는 용어의 사용은 웹 기반 게임(web-based games), 콘솔 게임(console games), 개인용 컴퓨터(PC) 게임, 컴퓨터 게임, 모바일 장치용 게임(예를 들어, 스마트폰, 휴대용 콘솔(portable consoles), 게임 머신(gaming machines) 또는 가상 현실 안경(virtual reality glasses), 증강 현실 안경(augmented reality glasses) 또는 스마트 시계(smart watches)와 같은 웨어러블 장치(wearable devices)), 또는 가상 현실 게임뿐만 아니라 다른 유형의 게임을 포함하지만 이에 한정되지 않는 모든 유형의 게임을 포함한다.
네트워크 컴퓨팅 환경 예시
도 1b는 감각 기반의 동적 비디오 게임 상태 구성 시스템(sensory-based dynamic video game state configuration system)의 하나 이상의 실시예를 구현할 수 있는 네트워크 컴퓨팅 환경(networked computing environment)(100)의 일 실시예를 도시한다. 네트워크 컴퓨팅 환경(100)은 네트워크(104)를 통해 인터랙티브 컴퓨팅 시스템(interactive computing system)(130)과 통신할 수 있는 사용자 컴퓨팅 시스템(user computing system)(110)을 포함한다. 또한, 네트워크 컴퓨팅 환경(100)은 다수의 추가 사용자 컴퓨팅 시스템(102)을 포함할 수 있다. 사용자 컴퓨팅 시스템(102) 중 적어도 일부는 사용자 컴퓨팅 시스템(110)과 동일하거나 유사하게 구성될 수 있다.
사용자 컴퓨팅 시스템(110)은 비디오 게임(112)을 포함하거나 호스팅(host) 할 수 있다. 일부 경우에서, 비디오 게임(112)은 사용자 컴퓨팅 시스템(110)상에서 완전히 실행될 수 있다. 다른 경우에서, 비디오 게임(112)은 사용자 컴퓨팅 시스템(110)에서 적어도 부분적으로 그리고 인터랙티브 컴퓨팅 시스템(130)에서 적어도 부분적으로 실행할 수 있다. 일부 경우에서, 비디오 게임(112)은 인터랙티브 컴퓨팅 시스템(130)에서 전체적으로 실행할 수 있지만, 사용자는 사용자 컴퓨팅 시스템(110)을 통해 비디오 게임(112)과 상호 작용할 수 있다. 예를 들어, 게임은 사용자 컴퓨팅 시스템(110)에 의해 실행되는 클라이언트 부분 및 인터랙티브 컴퓨팅 시스템(130)의 일부로서 포함될 수 있는 하나 이상의 애플리케이션 호스트 시스템(application host systems)(138)에 의해 실행되는 서버 부분을 포함하는 대규모 멀티플레이어 온라인 롤 플레잉 게임(MMORPG: massively multiplayer online role-playing game)일 수 있다. 또 다른 예시로서, 비디오 게임(112)은 인터랙티브 컴퓨팅 시스템(130)과 상호 작용하지 않고 사용자 컴퓨팅 시스템(110)에서 플레이되는 어드벤처 게임(adventure game)일 수 있다.
비디오 게임(112)은 비디오 게임(112)의 상태를 수정 또는 영향을 미치는 다수의 노브(knobs)(114)를 포함할 수 있다. 전형적으로, 노브(114)는 비디오 게임(112)의 실행 또는 동작에 영향을 미치는 변수이다. 일부 경우에서, 노브(114)는 비디오 게임(112)의 실행을 직접적으로 수정하는 상태 변수이다. 다른 경우들에서, 노브(114)는 비디오 게임(112) 내의 발생의 확률 또는 비디오 게임(112) 내의 랜덤(또는 의사 랜덤) 구성 또는 이벤트를 변경시킬 수 있는 시드 또는 시드 변수이다. 예를 들어, 하나의 시드는 비디오 게임(112)에서의 레벨 레이아웃(level layout)의 생성에 대응할 수 있고 영향을 줄 수 있다. 다른 예시로서, 하나의 시드는 사용자가 비디오 게임(112)을 플레이할 때 아이템 드롭들의 발생의 수 또는 드롭된 아이템의 유형에 대응할 수 있고 영향을 줄 수 있다. 일부 경우에서, 시드 값은 랜덤 또는 의사 랜덤 넘버 생성기를 초기화하거나 영향을 주는 값이다. 일부 경우에서, 시드 값에 기초하여 생성된 난수(random number)는 비디오 게임(112)의 하나 이상의 기능에 의해 이용되어 비디오 게임(112)의 동작에 영향을 줄 수 있다. 일부 경우에서, 시드 변수는 레버(levers)로 지칭될 수 있으며, 시드 변수는 다양한 유형의 노브의 비 제한적인 예시이다. 종종 레버 또는 상태 변수로 지칭되는 노브(114)는 시드에 한정되지 않지만, 비디오 게임(112)의 실행을 수정할 수 있는 임의의 유형의 변수를 포함할 수 있음을 이해해야 한다. 시스템은 사용자의 감정 또는 예측된 감정에 대해 변할 수 있는 상태를 위한 값의 영향에 대한 노브-레벨 분석 또는 이탈율의 노브-레벨 분석을 실시할 수 있고 비디오 게임(112)을 변경할 수 있는 임의의 유형의 노브 또는 레버를 조정함으로써, 비디오 게임의 실행을 수정할 수 있다. 시스템은 시드 값에 기반하여 노브 또는 레버를 조정하는 데 한정되지 않는다.
노브(114)는 비디오 게임(112)의 난이도 레벨(difficulty level)에 관련된 변수를 포함할 수 있다. 노브(114)는 전형적으로 비디오 게임(112)의 동작을 수정하는 변수의 서브세트를 포함하고 비디오 게임(112)은 비디오 게임(112)의 난이도 레벨의 설정에 포함되지 않고 및/또는 수정을 위해 이용 가능하지 않은 다른 변수를 포함할 수 있음을 이해해야 한다. 또한, 노브(114)는 사용자가 인지할 수 없거나 사용자가 인지하기 어려운 방식으로 비디오 게임(112)을 수정하는 변수를 포함할 수 있다. 일부 경우에서, 비디오 게임(112)에 대한 수정이 사용자에 의해 인지될 수 있는지 여부는 특정 비디오 게임에 의존할 수 있다. 예를 들어, 하나의 노브(114)가 비디오 게임(112)의 적(enemy)의 생명(life)의 양과 관련된다고 가정한다. 일부 경우에서, 예를 들어, 적의 헬스(health)가 수치적으로 사용자에게 제시되기 때문에, 노브(114)에 할당된 값을 수정하는 것은 사용자에 의해 검출될 수 있다. 이러한 경우에서, 적의 헬스는 비디오 게임(112)의 난이도 레벨에서 수정되지 않고 유지될 수 있지만, 비디오 게임(112)의 난이도 레벨은 다른 노브(114)를 통해 수정될 수 있다. 그러나, 일부 경우에서, 적의 헬스를 수정하는 것이 사용자에 의해 검출되지 않을 수 있는데, 이는 예를 들어, 적의 헬스가 사용자에게 제시되지 않고 적을 물리치는데 필요한 히트(hits)의 양이 범위 내에서 달라져, 적과의 다른 만남(another encounter)에 비해 적과의 한 만남(one encounter)으로부터(예를 들어, 비디오 게임(112)의 다른 플레이에 비해 비디오 게임(112)의 한 플레이로부터) 적의 헬스가 수정되었을 수 있음을 사용자가 결정하는 것을 어렵게 만들기 때문이다.
본 명세서에 개시된 특정 실시예는 비디오 게임(112)의 난이도를 변경함으로써 사용자의 감정 상태를 수정하려고 시도할 수 있다. 대안적으로, 또는 부가적으로, 본 명세서에 개시된 특정 실시예는, 예를 들어, 비디오 게임(112)의 난이도에 관련되지 않거나 약간 관련될 수 있는 비디오 게임(112)의 게임 상태 또는 노브(114)를 조정함으로써, 비디오 게임(112)의 다른 특징을 변경함으로써 사용자의 감정 상태를 수정하려고 시도할 수 있다. 예를 들어, 임계치를 초과하는 사용자의 감각 또는 생체 측정에 의해 결정될 수 있는 것처럼 사용자가 무서워(scared)하는 것처럼 보이거나 과도하게 무서워하는 경우, 게임 상태 변수는 비디오 게임(112)의 무서움(scariness)에 기여하도록 수정될 수 있다. 예를 들어, 게임의 조명이 증가될 수 있거나, 몬스터(monsters) 또는 적에 의한 잡음이 비디오 게임 내의 더 먼 거리로부터 증가되거나 검출될 수 있거나, 음악이 덜 불길한 것으로 수정될 수 있거나, 적이 사용자 플레이 가능한 캐릭터(user-playable character)로부터 더 멀리 나타날 수 있거나, 등등 일 수 있다. 또 다른 예시로, 특히 유혈의 게임(gory game) 또는 과도한 욕설(foul language) 또는 무례한 유머(rude humor)를 갖는 게임을 플레이 할 때, 사용자가 혐오감을 받거나, 충격을 받거나 그렇지 않으면 불쾌감을 나타내면, 게임 상태는 디스플레이되는 피 또는 유혈의 양을 감소시키도록 수정될 수 있고, 또는 욕설 또는 무례한 유머의 양이 감소될 수 있다.
사용자 컴퓨팅 시스템(110)은 비디오 게임(112)을 플레이하는 사용자로부터 감각 데이터를 획득하는 감각 및 생체 센서(sensory and biometric sensors)(116)의 세트를 더 포함할 수 있다. 일부 실시예에서, 감각 및 생체 센서(116)의 세트는 인터랙티브 컴퓨팅 시스템(130)의 감정 캡처 및 결정 시스템(emotion capture and determination system)(118)에 제공되는 감각 신호를 생성하며, 이는 감각 신호를 감각 데이터로 변환할 수 있다. 이 감각 데이터는 오디오, 시각 또는 갈바닉 피부 반응(GSR) 데이터(때로는 피부 전기 활동(EDA) 데이터라고 함)일 수 있다. 감각 및 생체 인식 센서(116)의 세트는 사용자와 관련된 감각 데이터를 캡처할 수 있는 임의의 유형의 시스템 또는 센서를 포함할 수 있다. 예를 들어, 센서는 마이크로폰, 이미지 캡처 시스템(예를 들어, 카메라), 웨어러블 장치, 심박수 모니터(heart rate monitors); 호흡수 모니터(breath rate monitors) 등을 포함할 수 있다. 일부 실시예에서, 센서는 카메라 또는 마이크로폰과 같은 사용자 컴퓨팅 시스템(110)의 일부일 수 있다. 대안적으로 또는 부가적으로, 센서는 GSR 센서 또는 카메라 액세서리(camera accessory)를 포함하는 게임패드(gamepad)와 같은 사용자 컴퓨팅 시스템(110)을 위한 액세서리일 수 있다.
특정 실시예에서, 사용자 컴퓨팅 시스템(110) 외부의 감각 및 생체 센서(116)에 의해 도시 된 바와 같이, 센서는 사용자 컴퓨팅 시스템(110)과 분리될 수 있다. 일부 경우에서, 센서는 사용자 컴퓨팅 시스템(110)과 통신할 수 있다. 대안적으로 또는 부가적으로, 센서는 네트워크(104)를 통해 인터랙티브 컴퓨팅 시스템(130)과 통신할 수 있다. 예를 들어, 센서는 사용자의 심박수를 모니터링 할 수 있는 피트니스 모니터(fitness monitor)와 같은 웨어러블 장치일 수 있다. 웨어러블 장치는 사용자 컴퓨팅 시스템(110) 및/또는 인터랙티브 컴퓨팅 시스템(130)과 통신할 수 있다.
사용자 컴퓨팅 시스템(110)은 통신 네트워크(104)를 통한 통신을 설정(establishing)하기 위한 하드웨어 및 소프트웨어 구성 요소를 포함할 수 있다. 예를 들어, 사용자 컴퓨팅 시스템(110)은 네트워크(예를 들어, 인터넷) 또는 인터넷을 통해 통신을 용이하게 하는 네트워크 소프트웨어 애플리케이션(network software applications)(예를 들어, 웹 브라우저(web browser)) 및 네트워킹 장비(networking equipment)를 갖출 수 있다. 사용자 컴퓨팅 시스템(110)은 중앙 처리 장치(central processing unit) 및 아키텍처(architectures), 메모리(memory), 대용량 저장소(mass storage), 그래픽 처리 장치(graphics processing units), 통신 네트워크 가용성 및 대역폭(communication network availability and bandwidth) 등과 같은 다양한 로컬 컴퓨팅 리소스(varied local computing resources)를 가질 수 있다. 또한, 사용자 컴퓨팅 시스템(110)은 임의의 유형의 컴퓨팅 시스템을 포함할 수 있다. 예를 들어, 사용자 컴퓨팅 시스템(110)은 데스크탑, 랩탑, 비디오 게임 플랫폼(video game platforms), 텔레비전 셋톱 박스(television set-top boxes), 텔레비전(예를 들어, 인터넷 TV), 네트워크 가능 키오스크(network-enabled kiosks), 자동차 콘솔 장치(car-console devices), 컴퓨터화된 가전제품(computerized appliances), 웨어러블 장치(예를 들어, 스마트 시계, 컴퓨터 기능이 있는 안경) 및 무선 모바일 장치(예를 들어, 스마트 폰, PDA, 태블릿 등) 등과 같은 임의의 유형의 컴퓨팅 장치를 포함할 수 있다. 일부 실시예에서, 사용자 컴퓨팅 시스템(110)은 도 5 및 도 6과 관련하여 이하에서 설명되는 실시예들 중 하나 이상을 포함할 수 있다.
이전에 설명된 바와 같이, 비디오 게임(112)과의 사용자의 참여의 레벨을 유지 또는 증가시키는 것이 바람직할 수 있다. 비디오 게임(112)과의 사용자의 참여의 레벨을 유지하거나 증가시키기 위한 하나의 해결책은, 비디오 게임(112)을 플레이할 때 사용자의 감정 상태에 적어도 부분적으로 기초하여 비디오 게임(112)의 상태를 구성하는 것이다. 인터랙티브 컴퓨팅 시스템(130)은 비디오 게임(112)을 플레이하는 동안 사용자의 감정 상태를 결정 또는 예측하고, 사용자의 감정 상태를 유지 또는 수정하기 위하여 비디오 게임(112)에 대해 변경시킨다. 아래에서 보다 상세히 설명되는 바와 같이, 사용자의 감정 상태의 이러한 결정 또는 예측은 동일한 구성 및/또는 상이한 구성을 사용하여 비디오 게임(112)을 플레이하는 다른 사용자들에 대해 및/또는 비디오 게임(112)을 플레이 할 때 사용자에 대해 획득된 감각 및/또는 생체 정보에 적어도 부분적으로 기초하여 이루어질 수 있다. 일부 실시예에서, 감정 상태 예측은 사용자가 접근 가능한 다른 비디오 게임에 응답하여 획득된 감각 및/또는 생체 정보에 기초할 수 있다.
인터랙티브 컴퓨팅 시스템(130)은 비디오 게임(112)을 플레이하는 사용자에 대한 기분 또는 감정 상태의 결정을 용이하게 하고, 비디오 게임(112)을 플레이하는 사용자의 감정 상태를 적어도 부분적으로 기초한 비디오 게임(112)의 상태의 수정을 위한 다수의 시스템 또는 서브시스템(subsystems)을 포함할 수 있다. 이러한 시스템 또는 서브시스템은 감정 캡처 및 결정 시스템(118), 게임 구성 시스템(game configuration system)(134), 게임 테스트 엔진(game test engine)(136), 애플리케이션 호스트 시스템(138), 유지 분석 시스템(retention analysis system)(140) 및 모델 생성 시스템(model generation system)(146)을 포함할 수 있다. 또한, 인터랙티브 컴퓨팅 시스템(130)은 본 명세서에 설명된 프로세스를 수행하는 것을 용이하게 하는데 사용되는 데이터를 저장하기 위한 하나 이상의 저장소(repositories)를 포함할 수 있다. 이들 저장소는 사용자 데이터 저장소(user data repository)(142) 및 게임 구성 저장소(game configuration repository)(144)를 포함할 수 있다. 인터랙티브 컴퓨팅 시스템(130)은 본 명세서에서 설명된 프로세스와 함께 사용되는 데이터의 최적 저장 및 관리를 위한 더 많은 또는 보다 적은 저장소를 포함할 수 있다.
인터랙티브 컴퓨팅 시스템(130)의 전술한 시스템의 각각은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 또한, 각각의 시스템은 컴퓨터 하드웨어를 포함하는 단일 컴퓨팅 시스템 또는 하나 이상의 분리된 또는 분산된 컴퓨팅 시스템으로 구현될 수 있다. 또한, 시스템이 인터랙티브 컴퓨팅 시스템(130)에 저장되거나 실행되도록 도 1b에 도시되어 있지만, 일부 실시예에서는 시스템의 일부 또는 전부가 사용자 컴퓨팅 시스템(110)에 저장되고 실행될 수 있음이 인식된다.
일부 실시예에서, 사용자 컴퓨팅 시스템(110)이 네트워크(104)를 통해 인터랙티브 컴퓨팅 시스템(130)과 연결되거나 통신할 때, 인터랙티브 컴퓨팅 시스템(130)은 본 명세서에서 설명된 프로세스를 수행할 수 있다. 그러나, 사용자 컴퓨팅 시스템(110) 및 인터랙티브 컴퓨팅 시스템(130)이 통신하지 않는 일부 경우에서, 사용자 컴퓨팅 시스템(110)은 사용자 컴퓨팅 시스템(110)에 저장될 수 있는 사용자의 최근 감정 상태 정보를 사용하여 본 명세서 설명된 특정 프로세스를 수행할 수 있다.
감정 캡처 및 결정 시스템(118)은 비디오 게임(112)을 플레이하는 사용자의 감정을 결정 또는 예측하기 위해 하나 이상의 감각 및 생체 센서(116)로부터 획득된 감각 신호 및/또는 감각 데이터를 사용할 수 있는 임의의 시스템을 포함할 수 있다. 일부 실시예에서, 감정 캡처 및 결정 시스템(118)은 감각 데이터를 획득 및/또는 수집할 수 있고, 비디오 게임(112)을 플레이하는 사용자의 감정 상태를 결정 또는 예측하기 위해 유지 분석 시스템(140)의 감정 분석 시스템(126)에 감각 데이터를 제공할 수 있다.
일부 실시예에서, 감정 캡처 및 결정 시스템(118)은 감각 센서 및 생체 센서(116)로부터 수신된 감각 신호로부터 감각 데이터를 획득하거나 추출하는 것을 용이하게 하는 다수의 서브시스템을 포함할 수 있다. 또한, 다수의 서브시스템 중 적어도 일부는 감각 데이터의 분석을 수행할 수 있고 및/또는 감각 데이터의 일부를 수집하거나 대조(collate)할 수 있다. 분석의 결과 및/또는 통합된 감각 데이터는 감정 분석 시스템(126)에 제공될 수 있으며, 이는 예를 들어, 기계 학습 프로세스를 사용하여 생성된 하나 이상의 파라미터 또는 예측 함수를 사용하여 비디오 게임(112)을 플레이하는 사용자의 감정 상태를 결정 또는 예측할 수 있다. 감정 캡처 및 결정 시스템(118)의 서브시스템은 음성 텍스트 변환 시스템(speech to text system)(120), 톤 및 정서 분석 시스템(tone and sentiment analysis system)(122) 및/또는 생체 분석 시스템(biometric analysis system)(124)을 포함할 수 있다.
음성 텍스트 변환 시스템(120)은 오디오 신호를 수신하여 이를 텍스트로 변환할 수 있는 임의의 시스템을 포함할 수 있다. 또한, 음성 텍스트 변환 시스템(120)은 비-영숫자 통신과 연관된 오디오 신호를 식별하고, 비-영숫자 통신을 대표적인 텍스트로 변환할 수 있다. 예를 들어, 신음(moan)이나 불평(grunt)과 연관된 오디오 신호는 사용자가 신음하거나 불평했음을 나타내는 텍스트로 변환될 수 있다.
톤 및 정서 분석 시스템(122)은 오디오 또는 비디오 데이터의 톤 또는 정서를 결정할 수 있는 임의의 시스템을 포함할 수 있다. 예를 들어, 톤 및 정서 분석 시스템(122)은 음성으로부터 텍스트 시스템(120)으로 텍스트를 수신할 수 있고, 텍스트에 적어도 부분적으로 기초하여 사용자의 음성의 정서를 결정할 수 있다. 다른 예시로서, 톤 및 정서 분석 시스템(122)은 사용자의 음성의 톤을 결정하기 위해 감각 및 생체 센서(116)로부터 수신된 오디오를 처리할 수 있다.
사용자에 의해 만들어진 음성 또는 오디오의 톤 및/또는 정서를 결정하는 것 이외에, 톤 및 정서 분석 시스템(122)은 감각 및 생체 센서(116)에 의해 캡처된 사용자의 이미지 및/또는 비디오에 대한 정서를 결정할 수 있다. 예를 들어, 미소 짓거나(smiling) 웃고 있는(laughing) 사용자의 이미지 또는 사용자는 비디오 게임(112)을 플레이하는 동안 긍정적인 감정 상태를 나타낼 수 있다. 대조적으로, 찡그리거나(frowning) 혐오감을 느낀 얼굴을 갖는 사용자의 이미지 또는 비디오는 비디오 게임(112)을 플레이하는 동안 부정적인 감정 상태를 나타낼 수 있다.
생체 분석 시스템(124)은 감각 및 생체 센서(116)로부터 획득된 감각 데이터에 적어도 부분적으로 기초하여 비디오 게임(112)을 플레이하는 사용자의 생리학적 정보(physiological information)를 결정할 수 있는 임의의 시스템을 포함할 수 있다. 예를 들어, 생체 분석 시스템(124)은 감각 데이터에 적어도 부분적으로 기초하여 심박수 또는 호흡수를 결정할 수 있다. 대안적으로 또는 부가적으로, 특정 실시예에서, 생리학 정보는 감각 및 생체 센서(116)로부터 직접 수신될 수 있다. 예를 들어, 감각 및 생체 센서(116)는 사용자의 심박수 또는 호흡수를 감정 캡처 및 결정 시스템(118)에 제공할 수 있다. 일부 실시예에서, 생체 분석 시스템(124)은 감각 및 생체 센서(116)에 의해 획득된 오디오 또는 이미지에 적어도 부분적으로 기초하여 사용자의 추가적인 감정 상태 정보를 결정할 수 있다. 예를 들어, 생체 분석 시스템(124)은 사용자가 땀을 흘리고 있는 수신된 이미지로부터 결정할 수 있으며, 이는 결과적으로 두려움과 같은 사용자의 가능한 감정 상태의 수를 나타낼 수 있다. 일부 경우에서, 예측된 감정 상태는 사용자에 의해 플레이되는 특정 비디오 게임(112)에 적어도 부분적으로 기초할 수 있다. 예를 들어, 하드 게임(hard game)을 플레이할 때 사용자가 땀을 흘리는지를 결정하는 것은 두려움을 나타내는 반면, 피트니스 게임을 플레이할 때 사용자가 땀을 흘리는지를 결정하는 것은 비디오 게임(112)에서의 강렬한 개입(intense involvement)을 나타낼 수 있다.
유지 분석 시스템(140)은 사용자의 결정된 또는 예측된 감정 상태에 기초하여 사용자에 대한 예측된 이탈율 또는 유지율을 결정하기 위한 하나 이상의 시스템을 포함할 수 있다. 일부 실시예에서, 감각 및 생체 센서(116)로부터 수신된 감각 신호로부터 감정 캡처 및 결정 시스템(118)에 의해 결정된 감각 데이터는 모델 생성 시스템(146)에 의해 생성된 파라미터 또는 예측 모델에 적용된다. 예측 모델로의 감각 데이터의 적용에 기초하여, 유지 분석 시스템(140)은 사용자에 대한 예측된 이탈율 또는 유지율을 결정할 수 있다. 대안적으로 또는 부가적으로, 감각 데이터는 사용자의 감정 상태를 예측 또는 결정하기 위해 유지 분석 시스템(140)의 감정 분석 시스템(126)에 의해 예측 또는 파라미터 모델에 적용된다. 이러한 일부 실시예에서, 사용자의 예측된 감정 상태는 사용자에 대한 이탈율을 결정하기 위해 유지 분석 시스템(140)에 의해 다른 파라미터 함수에 적용될 수 있다.
하나 이상의 파라미터 함수를 사용하여 사용자의 감정 상태를 결정하거나 예측할 수 있는 감정 분석 시스템(126)에 추가하여, 유지 분석 시스템(140)은 게임 구성 분석 시스템(game configuration analysis system)(128)을 포함할 수 있다. 게임 구성 분석 시스템(128)은 다른 파라미터 모델에 적어도 부분적으로 기초하여 수정된 비디오 게임(!12)의 하나 이상의 노브(114) 또는 게임 상태 변수를 결정할 수 있다. 이러한 추가적인 파라미터 또는 예측 모델은 사용자가 즐기는 비디오 게임(112)의 예측된 이탈율 또는 사용자의 예측된 감정 상태 중 하나 이상에 기초하여 수정하기 위해 비디오 게임(112)의 상태 또는 구성의 하나 이상의 측면을 결정할 수 있다.
게임 구성 시스템(134)은 비디오 게임(112)의 상태 또는 구성을 설정 또는 조정한다. 일부 실시예에서, 게임 구성 시스템(134)은 비디오 게임(112)의 기존 구성을 수정한다. 비디오 게임(112)의 구성을 설정 또는 수정하는 것은 비디오 게임(112)의 하나 이상의 노브(114) 또는 상태 변수를 조정함으로써 비디오 게임(112)의 하나 이상의 부분을 수정하거나 변경하는 것을 포함할 수 있다. 일부 실시예에서, 비디오 게임(112)은 비디오 게임(112)의 난이도 레벨을 조정하도록 수정된다. 그러나, 본 발명은 비디오 게임의 난이도 레벨을 수정하는 것으로 한정되지 않는다. 대신에, 본 발명의 실시예들은 비디오 게임(112)을 플레이할 때 사용자의 감정 상태 또는 비디오 게임(112)의 사용자의 즐거움(enjoyment)에 영향을 미칠 수 있는 비디오 게임(112)의 다양한 상이한 측면들을 설정하거나 수정하는데 사용될 수 있다. 예를 들어, 게임 구성 시스템(134)은 비디오 게임(112)의 분위기를 변경시키는 비디오 게임(112)의 측면들을 수정할 수 있다. 예를 들어, 비디오 게임(112)은 다소 피의, 다소 유혈의, 다소 무서운, 다소 유머러스한(humorous), 다소 심각하는 등으로 수정될 수 있다. 예를 들어, 비디오 게임(112)의 기분 또는 분위기를 조정하기 위해, 조명의 양 또는 쉐이더(shaders) 또는 텍스처(textures)의 색상은 수정될 수 있다.
특정 실시예에서, 게임 구성 시스템(134)은 게임 내의 단계들의 시퀀스, 게임 중에 드롭(dropped)된 아이템들, 게임의 난이도 레벨, 게임 중에 만나게 되는 플레이-불가능한 캐릭터(NPC: non-playable characters) 및 다른 게임플레이 경험을 초래할 수 있는 및 결과적으로 일부 경우에서는 사용자의 상이한 감정 상태를 야기할 수 있는 비디오 게임(112)의 임의의 다른 특징들을 수정함으로써 비디오 게임(112)을 플레이하는 게임플레이 경험을 조정할 수 있다. 일부 실시예에서, 게임 구성 시스템(134)은, 아이템 드롭율(item drop rates) 또는 적의 출현(enemy appearances)과 같은, 비디오 게임(112)의 부분 또는 비디오 게임(112)의 다른 측면을 생성하는데 사용되는 시드 값을 수정함으로써 비디오 게임(112)을 조정할 수 있다. 게임 구성 시스템(134)은 비디오 게임(112)의 상태 변수 또는 노브(114)를 직접 수정하는 대신에 또는 그에 추가하여 시드 값을 조정할 수 있다.
모델 생성 시스템(146)은 하나 이상의 기계 학습 알고리즘(machine learning algorithms)을 사용하여 하나 이상의 예측 모델 또는 파라미터 함수를 생성할 수 있다. 이들 예측 모델 중 하나 이상은 입력의 세트(set of inputs)에 기초하여 기대 값(expected value) 또는 발생(occurrence)을 결정하는데 사용될 수 있다. 예를 들어, 예측 모델은 예를 들어, 일반적으로 비디오 게임과 유사한 비디오 게임(112) 또는 다른 비디오 게임을 플레이하는 사용자에 대한 감정 상태 또는 과거의 사용자 감각 데이터와 같은 예측 모델에 대한 하나 이상의 입력에 기초하여 사용자가 비디오 게임(112)의 플레이를 중단할 것으로 예측된 이탈율 또는 확률을 결정하는데 사용될 수 있다. 다른 예시로서, 예측 모델은 예측 모델에 대한 하나 이상의 감각 데이터 입력에 기초하여 사용자의 감정 상태를 결정 또는 예측하는데 사용될 수 있다. 일부 경우에서, 예측 모델은 예를 들어, 출력이 사용자의 감정 상태와 같은, 상태의 예측 또는 사용자가 비디오 게임(112)을 계속해서 플레이하는 것과 같은, 액션(action) 또는 이벤트의 예측일 수 있거나 관련될 수 있기 때문에, 예측 모델이라고 지칭될 수 있다. 다수의 상이한 유형의 알고리즘이 모델 생성 시스템(146)에 의해 사용될 수 있다. 예를 들어, 본 명세서의 특정 실시예는 로지스틱 회귀 알고리즘(logistical regression algorithm)을 사용할 수 있다. 그러나 선형 회귀 알고리즘(linear regression algorithm), 이산 선택 알고리즘(discrete choice algorithm) 또는 일반 선형 알고리즘(generalized linear algorithm)과 같은 다른 알고리즘도 가능하다.
기계 학습 알고리즘은 모델 생성 시스템(146)에 의해 수신된 새로운 입력에 기초하여 시간에 따라 모델을 적응적으로 개발 및 업데이트하도록 구성될 수 있다. 예를 들어, 모델은 사용자 정보가 시간이 지남에 따라 모델의 예측을 보다 정확하게 유지할 수 있는 새로운 사용자 정보로서 주기적으로 재생성될 수 있다(예를 들어, 추가의 감각 데이터). 모델 생성 시스템(146)은 본 명세서에서 보다 상세히 설명된다. 모델이 생성된 후에, 그것은 유지 분석 시스템(140)에 제공될 수 있다.
파라미터 함수 또는 예측 모델을 생성하고 업데이트하는데 사용될 수 있는 기계 학습 알고리즘의 일부 비 제한적인 예시는 감독 및 비-감독 기계 학습 알고리즘(supervised and non-supervised machine learning algorithms)을 포함할 수 있으며, 이는 회귀 알고리즘(regression algorithms)(예를 들어, 범용 최소 자승 회귀(Ordinary Least Squares Regression)), 인스턴스-기반 알고리즘(instance-based algorithms)(예를 들어, 학습 벡터 양자화(Learning Vector Quantization)), 의사 결정 트리 알고리즘(decision tree algorithms)(예를 들어, 분류 및 회귀 트리(classification and regression trees)), 베이지안 알고리즘(Bayesian algorithms)(예를 들어, 나이브 베이즈(Naive Bayes)), 클러스터링 알고리즘(clustering algorithms)(예를 들어, k-평균 클러스터링(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)) 및/또는 다른 기계 학습 알고리즘을 포함할 수 있다.
전술한 바와 같이, 게임 구성 시스템(134)은 사용자의 감정 상태를 수정하려는 시도에서 비디오 게임(112)을 플레이하는 사용자의 감정 상태에 기초하여 비디오 게임(112)의 하나 이상의 부분을 수정할 수 있다. 사용자의 감정 상태를 조정하는 것은 사용자에 의한 플레이 세션(play session) 동안 동적일 수 있다. 비디오 게임(112)에 대한 변경으로 인해 사용자의 감정 상태가 악화되는 것으로 결정되면(예를 들어, 보다 부정적으로), 게임 구성 시스템(134)은 비디오 게임 112)의 상태에 대해 상이한 변경을 할 수 있다.
특정 실시예에서, 본 명세서에 개시된 시스템은 상이한 사용자의 감정 상태에 대한 영향을 결정하기 위해 비디오 게임(112)의 상이한 버전을 테스트 또는 실험하는데 사용될 수 있다. 게임 테스트 엔진(136)은 비디오 게임(112)에 대한 변경에 대한 영향을 결정하기 위해 비디오 게임(112)의 테스트를 수행할 수 있는 임의의 시스템을 포함할 수 있다. 게임 테스트 엔진(136)은 종종 비디오 게임(112)의 개발에서 버그(bugs) 또는 에러(errors)의 존재를 검출하는데 사용될 수 있지만, 본 명세서에 개시된 실시예들은 게임 테스트 엔진(136)이 비디오 게임(112)을 플레이하는 사용자들의 감정 상태에 대한 비디오 게임(112)의 부분들의 상이한 구성들의 영향을 결정할 수 있게 한다. 따라서, 예를 들어 게임 테스트 엔진(136)은 비디오 게임(112)의 하나의 버전이 사용자의 제1 세트에 제시되게 하고, 비디오 게임(112)의 다른 버전은 사용자의 제2 세트에 제시되도록 할 수 있다. 비디오 게임(112)의 상이한 버전의 상이한 사용자의 세트에 대한 제시는 A/B 테스트로 지칭될 수 있다. 모션 캡처 및 결정 시스템(118)은 상이한 사용자의 세트로부터 감각 데이터를 획득할 수 있다. 감각 데이터는 상이한 사용자의 세트의 감정 상태를 결정하는 데 사용될 수 있다. 상이한 사용자의 세트의 감정 상태에 기초하여, 게임 테스트 엔진(136)은 더 큰 수의 사용자가 비디오 게임(112)의 다른 버전의 사용자와 비교하여 긍정적인 감정 상태에 있게 할 가능성이 높은 비디오 게임(112)의 버전을 결정할 수 있다.
게임 구성 저장소(144)는 예측 모델의 출력과 비디오 게임(112)의 구성 또는 상태 사이의 하나 이상의 맵핑(mappings)을 포함 할 수 있으며, 이는 감정 상태 및 결과적으로는, 비디오 게임(112)의 사용자의 이탈율을 조정하기 위해, 예를 들어 게임 구성 시스템(134)이 비디오 게임(112)을 수정하는 방법을 결정하는데 사용될 수 있다. 예를 들어, 어드벤처 게임(adventure game)을 할 때의 사용자의 예측된 감정 상태가 "혐오감"이라면, 이탈의 정도가 "높다"로 더 예측될 수 있다. 일부 그러한 경우에서, 게임 구성 저장소(144)는 감정 상태: 혐오, 및/또는 이탈율: 높음 사이의 맵핑, 및 비디오 게임(112)이 혐오감을 유발할 수 있는 요소를 덜 갖도록 조정하는 데이터(예를 들어, 낮은 레벨의 유혈(gore))를 포함할 수 있다. 감정 상태와 비디오 게임의 측면 사이에는 항상 일대일 대응(one-to-one correspondence)이 있는 것은 아니라는 점을 이해해야 한다. 종종 컨텍스트(context)은 사용자의 감정 상태에 영향을 미칠 수 있다. 예를 들어, 앞의 예시에서, 비디오 게임은 어드벤처 게임이었고, 유혈은 일부 사용자에게는 더 혐오감을 줄 수 있지만, 다른 사용자는 유혈의 존재에 의해 영향을 받지 않을 수도 있거나, 또는 유혈이 비디오 게임에 도입될 수 있는 리얼리즘(realism)에 더 긍정적인 반응을 나타낼 수도 있다. 대신 게임이 공포 게임(horror game)인 경우, 공포 게임을 플레이하는 것에 관심이 있는 사용자가 더 많은 유혈을 보고 싶어할 수 있으므로, 유혈의 존재는 더 긍정적인 감정 상태를 만들 수 있다. 그러나, 다른 사용자는 공포 게임의 서스펜스(suspense)를 선호할 수 있으며, 유혈의 존재에 부정적으로 반응할 수 있다.
또한, 비디오 게임(112)의 상태를 조정하는 사용 및 파라미터 함수의 생성 및 적용은 유지 분석 시스템(140)과 관련하여 아래에서 더 상세히 설명될 것이다. 특정 실시예에서, 인터랙티브 컴퓨팅 시스템(130)의 하나 이상의 요소는 하나 이상의 컴퓨팅 시스템들 사이에서 조합되거나 더 분리될 수 있다.
사용자 데이터 저장소(142)는 비디오 게임(112) 및/또는 하나 이상의 다른 비디오 게임과의 하나 이상의 사용자의 상호 작용과 연관된 감각 데이터를 저장할 수 있다. 이러한 감각 데이터는 비디오 게임(112)의 하나 이상의 플레이 세션을 통해 획득될 수 있다. 일부 경우에서, 사용자 데이터 저장소(142)에 저장된 데이터의 적어도 일부는 사용자 컴퓨팅 시스템(110)의 저장소에 저장될 수 있다. 본 명세서에 설명된 저장소의 각각은 비 휘발성 메모리(non-volatile memory) 또는 휘발성 및 비 휘발성 메모리의 조합을 포함할 수 있다.
전술한 바와 같이, 일부 실시예에서, 비디오 게임(112) 또는 그 일부는 인터랙티브 컴퓨팅 시스템(130)의 애플리케이션 호스트 시스템(138)에 의해 호스팅 될 수 있다. 예를 들어, MMORPG는 사용자 컴퓨팅 시스템(110)에서 실행되거나 호스팅되는 부분 및 인터랙티브 컴퓨팅 시스템(130)의 애플리케이션 호스트 시스템(138)에서 실행되거나 호스팅되는 부분을 포함할 수 있다. 일부 이러한 실시예에서, 게임 구성 시스템(134)은 애플리케이션 호스트 시스템(138) 및/또는 사용자 컴퓨팅 시스템(110)에서 호스팅된 비디오 게임(112)의 노브, 상태 변수 또는 특징을 수정함으로써 비디오 게임(112)의 상태를 수정할 수 있다.
네트워크(104)는 임의의 유형의 통신 네트워크를 포함할 수 있다. 예를 들어, 네트워크(104)는 하나 이상의 광역 네트워크(WAN: wide area network), 근거리 네트워크(LAN: local area network), 셀룰러 네트워크(cellular network), 애드혹 네트워크(ad hoc network), 위성 네트워크(satellite network), 유선 네트워크(wired network), 무선 네트워크(wireless network), 등 중 하나 이상을 포함할 수 있다. 또한, 일부 경우에서, 네트워크(104)는 인터넷을 포함할 수 있다.
모델 생성 시스템 예시
도 1c는 도 1b의 모델 생성 시스템(146)의 일 실시예를 도시한다. 모델 생성 시스템(146)은 다수의 사용자에 대한 이력 데이터(152)에 기초하여 하나 이상의 예측 모델(160)을 결정하는데 사용될 수 있다. 통상적으로, 필수적이지는 않지만, 이력 데이터(152)는 수백, 수천, 수십만 또는 그 이상의 사용자와 같은 상당히 많은 수의 사용자와 연관된 데이터를 포함한다. 그러나, 본 발명은 그 자체로 한정되지 않으며, 사용자의 수는 임의의 수의 사용자를 포함할 수 있다. 또한, 이력 데이터(152)는 예를 들어 애플리케이션 호스트 시스템(미도시) 및/또는 하나 이상의 사용자 컴퓨팅 시스템(102)과 같은 하나 이상의 데이터 소스(data source)로부터 수신된 데이터를 포함할 수 있다. 또한, 이력 데이터(152)는 상이한 데이터 소스들, 상이한 데이터 유형들, 및 비디오 게임(112)과의 사용자의 상호 작용에 기초하여 하나 이상의 감각 및 생체 센서(116)에 의해 생성된 임의의 데이터를 포함할 수 있다. 일부 실시예에서, 이력 데이터(152)는 매우 많은 수의 데이터 포인트(data points)(예를 들어, 수백만의 데이터 포인트)를 포함할 수 있으며, 이는 하나 이상의 데이터 세트로 수집될 수 있다. 일부 실시예에서, 이력 데이터(152)는 사용자 데이터 저장소(152)로부터 액세스될 수 있다. 일부 실시예에서, 이력 데이터(152)는 특정 비디오 게임(112)에 관한 이력 정보로 제한되지만, 다른 실시예에서, 이력 데이터(152)는 하나 이상의 다른 비디오 게임으로부터 정보를 포함할 수 있다. 일부 경우에서, 다른 비디오 게임은 유사하다(예를 들어, 동일한 장르, 동일한 주제, 동일하거나 유사한 유형의 목적(objectives) 등). 다른 경우에서, 이력 데이터(152)를 제공하는 비디오 게임은 유형 또는 유사성에 제한되지 않는다. 또한, 일부 실시예에서, 이력 데이터의 하나 이상의 서브세트는 예를 들어 지난 6 개월로부터의 데이터만, 3-6 개월된 데이터 또는 1년 미만의 데이터를 포함하도록 제한되는 것과 같이, 날짜 제한(date restriction)에 의해 제한될 수 있다.
일부 경우에서, 모델 생성 시스템(146)은 피드백 데이터(feedback data)(154)를 또한 수신할 수 있다. 이 데이터는 관리자와 같은 사용자가 예측 모델(160)의 생성을 용이하게 하는데 사용될 수 있는 모델 생성 시스템(146)에 추가 입력을 제공할 수 있게 하는 감독 모델 생성 프로세스(supervised model generation process)의 일부로서 수신될 수 있다. 예를 들어, 이력 데이터(152)에 변칙(anomaly)이 존재하면, 사용자는, 예를 들어 데이터에 다른 가중치를 적용하거나 모델 생성 프로세스로부터 데이터를 제외함으로써, 모델 생성 시스템(146)이 태깅된 데이터(tagged data)를 다르게 처리할 수 있게 하는 변칙 데이터(anomalous data)를 태깅(tag)할 수 있다.
또한, 모델 생성 시스템(146)은 제어 데이터(control data)(156)를 수신할 수 있다. 이 제어 데이터(156)는 모델 생성 시스템(146)이 모델을 결정하기 위해 하나 이상의 특징 또는 특성을 식별할 수 있다. 또한, 일부 경우에서, 제어 데이터(156)는 제어 데이터(156)에서 식별된 하나 이상의 특징에 대한 값을 나타낼 수 있다. 예를 들어, 제어 데이터(156)는, 사용자가 비디오 게임(112)을 플레이한 시간의 길이를 결정하기 위해 이력 데이터(152)를 사용하여 예측 모델이 생성되어야 함을 나타낸다고 가정한다. 각 사용자가 게임을 플레이한 시간의 양이 알려지면, 이 데이터는 제어 데이터(156)의 일부로서, 또는 이력 데이터(152)의 일부로서 제공될 수 있다. 다른 예시로서, 예를 들어, 사용자가 임계 시간(threshold period of time) 동안 비디오 게임(112)을 플레이했는지 또는 특정 임계 시간 후에 비디오 게임(112)을 계속 플레이하는지 여부에 기초하여, 결정된 바와 같은 유지율을 추정하기 위해 예측 모델이 생성되어야 하는 경우, 제어 데이터(156)는 데이터가 이력 데이터(152)에 포함되는 사용자에 대한 유지율을 포함할 수 있다. 또 다른 예시로서, 예측 모델이 사용자의 감정 상태(예를 들어, 행복, 슬픔, 좌절, 혐오감, 무서움 등)를 추정하기 위해 생성되어야 하는 경우, 제어 데이터(156)는 감각 데이터가 이력 데이터(152)에 포함되는 사용자에 대한 감정 상태의 식별을 포함할 수 있다. 제어 데이터로서 사용되는 식별된 감정 상태는 자기보고(self-reported) 될 수 있고 및/또는 사용자의 감정 상태를 결정하는 것에 훈련된 심리학자와 같은 다른 사용자에 의해 결정될 수 있다.
모델 생성 시스템(146)은 일반적으로 예측 모델(160)의 생성을 위한 모델 생성 규칙 세트(model generation rule set)(170)를 포함할 수 있다. 규칙 세트(170)는 하나 이상의 파라미터(162)를 포함할 수 있다. 파라미터(162)의 각각의 세트는 파라미터 함수를 획득하기 위해 하나 이상의 수학적 함수를 사용하여 조합될 수 있다. 또한, 하나 이상의 특정 파라미터는 가중치(164)에 의해 가중될 수 있다. 일부 경우에서, 파라미터 함수는 가중치(164)의 각각의 세트와 파라미터의 세트를 조합함으로써 획득될 수 있다. 예측 모델(160) 및/또는 예측 모델(160)의 각각의 파라미터(162)는 훈련 목적을 위해 사용된, 제어 데이터(156)와 함께 포함될 수 있는 정의된 출력 기준(defined output criteria) 및 이력 데이터(historical data)(152), 피드백 데이터(feedback data)(154), 및 제어 데이터(control data)(156)와 같은 특정 입력 데이터에 기초하여 훈련 프로세스(training process) 동안 도출될 수 있다. 모델 생성 규칙 세트(170)는 모델 생성 시스템(146)이 사용자의 이탈율 또는 감정 상태를 결정하는 것과 같은 정의된 목적 함수(defined objective function)에 기초하여 모델을 생성하기 위해 사용하는 알고리즘 및/또는 특정 기계 학습 규칙을 정의할 수 있다. 일부 실시예에서, 초기 파라미터(initial parameters)(162) 및 가중치(164)는 모델 생성 프로세스의 개시 동안 수동으로 제공될 수 있다. 파라미터(162) 및 가중치(164)는 예측 모델(160)을 생성하기 위해 모델 생성 단계 동안 업데이트되고 수정될 수 있다.
모델 생성 시스템(146)은 데이터의 다양한 특성 및 파라미터에 따라 이력 데이터 세트를 필터링(filter)하고 분류(categorize)할 수 있다. 예를 들어, 데이터는 데이터 소스(예를 들어, 게임 애플리케이션 데이터(game application data), 호스트 애플리케이션 데이터(host application data), 또는 사용자 프로파일 데이터(user profile data)), 정보 유형(예를 들어, 게임 플레이 정보, 거래 정보, 상호 작용 정보, 게임 계정 정보), 또는 데이터와 연관련 다른 카테고리에 의해 분류될 수 있다. 모델 생성 시스템(146)은 추가 프로세싱을 위해 정보를 식별하기 위해 정보를 필터링할 수 있다. 일부 실시예에서, 모델 생성 시스템(146)은 추후 프로세싱 전에 이력 데이터(152)를 복수의 데이터 유형 또는 카테고리로 분리 및 필터링하도록 구성된다. 또한, 일부 경우에서, 이력 데이터(152)의 일부는 모델 생성 시스템(146)에 의해 결정된 바와 같이 임계 관련성(threshold relevance)을 만족시키지 않는 관련성과 연관되는 데이터에 기초하여 이력 데이터(152)로부터 필터링되거나 제거될 수 있다.
선택적으로, 예측 모델(160) 중 하나 이상은 패널티(166)와 연관될 수 있다. 이러한 패널티(166)는 패널티를 도출하는데 사용되는 하나 이상의 요인에 기초하여 특정 예측 모델(160)의 생성 또는 선택을 용이하게 하는데 사용될 수 있다. 예를 들어, 특정 예측 모델(160)에 포함된 파라미터의 수 또는 수학적 복잡도(mathematical complexity)는 특정 예측 모델(160)에 대한 패널티를 생성하는 데 사용될 수 있으며, 이는 특정 예측 모델 (160)이 선택되었음을 나타내는 선택 확률 또는 선택 알고리즘 및/또는 모델의 생성에 여향을 줄 수 있다.
예측 모델(160)이 생성된 후에, 모델은 사용자의 감정 상태를 결정하기 위해 유지 분석 시스템(140) 또는 감정 분석 시스템(126)의 런타임(runtime) 동안 사용될 수 있다. 또한, 예측 모델(160) 또는 다른 생성된 예측 모델(160)은 비디오 게임(112)의 상태에 대한 조정을 결정하기 위해 게임 구성 분석 시스템(128)에 의해 사용되어, 비디오 게임(112)에 대한 이탈율을 향상시킬 수 있는 방식으로 사용자의 감정 상태를 수정하려고 할 수 있다. 일부 경우에서, 난이도의 조정은 동적일 수 있고, 비디오 게임(112)과 사용자의 상호 작용 중에 발생할 수 있다. 또한, 일부 경우에서, 난이도 조정은 실시간 또는 거의 실시간으로 발생할 수 있다.
유지 분석 시스템 예시
도 1d는 도 1b의 유지 분석 시스템(140)의 일 실시예를 도시한다. 유지 분석 시스템(140)은 모델 생성 시스템(146)에 의해 생성된 예측 모델(160) 중 하나 이상을 적용 또는 사용할 수 있다. 분리된 시스템(separate system)으로 도시되어 있지만, 일부 경우에서, 유지 분석 시스템(140)은 게임 구성 시스템(134)의 일부로서 포함될 수 있다. 유지 분석 시스템(140)은 출력 데이터(174)를 획득하기 위해 입력 데이터(172)를 처리하기 위해 하나 이상의 예측 모델(160A, 160B, 160N)(단수로 "예측 모델(160)" 또는 집합적으로 "예측 모델들(160)"이라고 지칭될 수 있음)를 사용할 수 있다. 예측 모델(160)은 또한 파라미터 모델로 지칭될 수 있다.
유지 분석 시스템(140)은 게임 플레이 중에 예측 모델(160)을 적용할 수 있다. 일부 실시예에서, 예측 모델(160)은 비디오 게임(112)을 플레이하는 사용자의 감정 상태에 대한 비디오 게임 상태의 변경에 의해 생성되는 효과의 유형을 결정하기 위해, 연속적으로 또는 반복적으로 적용되나, 반드시 연속적으로 적용되는 것은 아니다. 다른 실시예에서, 예측 모델(160)은 게임의 상이한 스테이지(stages)에 및/또는 게임 동안 상이한 시간에 적용된다. 비디오 게임(112)의 하나 이상의 부분을 플레이하는 사용자의 감정 상태를 결정하는 동안, 유지 분석 시스템(140)은 예측 모델(160) 중 하나 이상에 적용될 수 있는 입력 데이터(172)를 수신한다. 입력 데이터(172)는 비디오 게임(112)을 플레이하는 사용자와 연관된 감각 데이터의 하나 이상의 조각(pieces)을 포함할 수 있다. 이 데이터는 감각 및 생체 센서(116)로부터 직접 획득된 감각 데이터 및/또는 감각 및 생체 센서(116)로부터 수시된 감각 신호로부터 감정 캡처 및 결정 시스템(118)에 의해 추출된 데이터를 포함할 수 있다. 예를 들어, 감각 데이터는 오디오 신호로부터 도출된 텍스트, 오디오 신호로부터 유도된 사용자의 음성의 톤, 이미지 센서에 의해 캡처된 얼굴 표정 또는 자세로부터 결정된 사용자의 톤, 캡처된 음성의 정서 및 사용자의 감정 상태를 예측하는 데 사용될 수 있는 임의의 다른 데이터를 포함할 수 있다. 일부 실시예에서, 입력 데이터(172)는 유지 분석 시스템(140)에 제공되기 전에 필터링 될 수 있다.
일부 실시예에서, 단일 예측 모델(160)은 유지 분석 시스템(140)에 존재할 수 있다. 그러나, 도시된 바와 같이, 유지 분석 시스템(140)이 다수의 예측 모델(160)을 포함하는 것이 가능하다. 예를 들어, 유지 분석 시스템(140)은 사용자의 감정 상태를 추정하기 위한 일부 예측 모델, 사용자의 감정 상태에 기초하여 사용자의 이탈율을 추정하기 위한 일부 예측 모델, 및 비디오 게임(112)에 대한 유지율을 향상시키기 위해 추정된 상태로 사용자의 감정 상태를 변경시킬 수 있는 비디오 게임(112)의 변경을 결정하기 위한 일부 예측 모델을 포함할 수 있다. 유지 분석 시스템(140)은 모델(160A-N) 중 임의의 것과 같은 어느 예측 모델이 입력 데이터(172) 및/또는 입력 데이터(172)와 연관된 추가 식별자에 기초하여 사용할 것인지 결정할 수 있다. 또한, 예측 모델(160)의 선택은 제공된 특정 입력 데이터(172)에 기초할 수 있다. 입력 데이터(172)의 일부로서 특정 유형의 데이터의 이용 가능성은 예측 모델(160)의 선택에 영향을 미칠 수 있다. 예를 들어, 입력 데이터의 일부로서 인구 통계학적 데이터(demographic data)(예를 들어, 연령, 성별, 제1 언어)의 포함은 예측 모델(160A)의 사용을 초래할 수 있다. 그러나, 특정 사용자에 대해 인구 통계학적 데이터가 이용 가능하지 않다면, 예측 모델(160B)이 대신 사용될 수 있다. 또 다른 예시로서, 오디오 데이터의 이용 가능성은 예측 모델(160A)의 사용을 초래할 수 있지만, 오디오 및 비주얼 데이터 또는 오디오 및 심박수 데이터의 이용 가능성은 예측 모델(160B)의 사용을 초래할 수 있다.
상술한 바와 같이, 예측 모델(160) 중 하나 이상은 패널티(166)와 함께 생성되거나 패널티(166)와 연관될 수 있다. 패널티는 유지 분석 시스템(140)에 의한 사용을 위한 예측 모델의 선택 또는 모델의 생성에 영향을 주기 위해 사용될 수 있다.
출력 데이터(174)는 사용자가 비디오 게임(112)을 플레이하는 것을 중단하는 예측과 연관된 유지율 또는 이탈율 일 수 있다. 예를 들어, 일부 실시예에서, 유지율은 임계 시간 내에 비디오 게임(112)을 플레이하는 것을 중단할 입력 데이터(172)로서 포함되는 것과 유사하거나 동일한 데이터를 갖는 사용자의 예측된 백분율을 나타내는 0과 100 사이일 수 있다. 일부 경우에서, 출력 데이터(174)는 유지율에 대한 이유를 식별할 수 있다. 예를 들어, 유지 분석 시스템(140)은 특정 사용자에 대한 90% 유지율이 비디오 게임(112)을 플레이하는 동안 소비된 금액에 적어도 부분적으로 기초한다는 것을 나타낼 수 있다. 그러나, 유지 분석 시스템(140)은 다른 사용자에 대한 90% 유지율은 사용자가 위치하는 지리적 영역의 결빙 이하 온도(below freezing temperature)에 적어도 부분적으로 기초할 수 있음을 나타낼 수 있다. 다른 예시로서, 유지 분석 시스템(140)은 사용자에 대한 20% 유지율이 25% 미만의 승률에 적어도 부분적으로 기초할 수 있음을 나타낼 수 있다.
다른 예시에서, 출력 데이터(174)는 비디오 게임(112)을 플레이하는 사용자의 예측 감정 상태일 수 있다. 유지율과 마찬가지로, 출력 데이터는 스케일(scale)의 한쪽 끝은 긍정적인 감정과 연관되고 반대쪽 끝은 부정적인 감정과 연관되는, 0과 100 사이의 스케일일 수 있다. 일부 실시예에서, 상이한 예측 모델(160)은 감정의 상이한 유형 또는 감정의 상이한 측면과 연관될 수 있다. 이러한 예측 모델의 출력은 사용자의 예측된 감정을 결정하기 위해 조합, 수집 또는 그렇지 않으면 프로세싱 될 수 있다. 예를 들어, 행복, 두려움, 혐오감, 신경질 및 흥분(및 다른 감정적인 속성)은 각각 별도의 예측 모델에 의해 별도의 스케일로 독립적으로 평가될 수 있다. 결과 출력 데이터(174)는 사용자의 전체 예측된 감정 상태를 결정하기 위해 조합될 수 있다. 예측된 전반적인 감정 상태는 비디오 게임의 상태를 수정할지 여부 및 비디오 게임의 상태를 수정하는 방법(예를 들어, 게임에서 빛이나 음악을 조정하여 게임을 다소 무서운 상태로 만드는 것)을 결정하는 데 사용될 수 있다.
예측 모델(160A, 160B, 160N)은 일반적으로 각각 하나 이상의 파라미터(162A, 162B, 162N)("파라미터(162)"로 집합적으로 지칭될 수 있음)의 세트를 포함할 수 있다. 파라미터(162)(파라미터(162A)와 같은)의 각 세트는 하나 이상의 수학적 함수를 사용하여 조합되어 파라미터 함수를 획득할 수 있다. 또한, 파라미터(162A, 162B, 162N)로부터의 하나 이상의 특정 파라미터는 가중치(164A, 164B, 164N)(집합적으로 "가중치(164)"로서 지칭될 수 있는)에 의해 가중될 수 있다. 일부 경우에서, 파라미터 함수는 파라미터(파라미터(162A)와 같은)의 세트를 가중치(164)(가중치(164A)와 같은)의 각각의 세트와 조합함으로써 획득될 수 있다. 선택적으로, 예측 모델(160A, 160B, 160N) 중 하나 이상은 각각 패널티(166A, 166B, 166N)(집합적으로 "패널티(166)"로 지칭될 수 있음)와 연관될 수 있다.
기계 학습 프로세스 예시
도 2는 기계 학습 프로세스(200)의 일 실시예의 흐름도를 도시한다. 프로세스(200)는 하나 이상의 파라미터를 포함하는 하나 이상의 파라미터 함수 또는 예측 모델을 생성할 수 있는 임의의 시스템에 의해 구현될 수 있다. 일부 경우에서, 프로세스(200)는 이력 데이터 또는 다른 알려진 데이터에 기초하여 하나 이상의 파라미터 함수 또는 예측 모델을 개발하기 위한 훈련 프로세스(training process)로서 기능한다. 전체적으로 또는 부분적으로, 프로세스(200)는 예를 들어 인터랙티브 컴퓨팅 시스템(130), 게임 구성 시스템(134), 유지 분석 시스템(140), 모델 생성 시스템(146) 또는 사용자 컴퓨팅 시스템(110)에 의해 구현될 수 있다. 임의의 수의 시스템이 전체적으로 또는 부분적으로 프로세스(200)를 구현할 수 있지만, 설명을 단순화하기 위해, 프로세스(200)는 특정 시스템과 관련하여 설명될 것이다. 또한, 프로세스(200)는 시간이 지남에 따라 반복적으로 업데이트되거나 수행될 수 있다는 것을 이해해야 한다. 예를 들어, 프로세스(200)는 새로운 비디오 게임의 추가 또는 릴리스(release), 또는 비디오 게임(112)을 플레이하는 또는 분석을 위해 이용 가능한 신규 사용자의 임계 수의 추가와 함께, 월 1회 반복될 수 있다. 그러나, 프로세스(200)는 더 많거나 적은 빈도로 수행될 수 있다.
프로세스(200)는 모델 생성 시스템(146)이 비디오 게임(112)의 다수의 사용자에 대한 감각 데이터를 포함하는 이력 데이터(152)를 수신하는 블록(202)에서 시작한다. 감각 데이터는 센서로부터 획득될 수 있고, 사용자 감정 또는 감정 상태와 연관될 수 있거나, 또는 사용자의 감정 상태를 예측하는데 사용될 수 있는 임의의 유형의 데이터를 포함할 수 있다. 예를 들어, 감각 데이터는 오디오 데이터(음성 및 영숫자가 아닌 소리(non-alphanumeric sounds)(예를 들어, 불평 및 신음)를 포함), 시각 또는 이미지 데이터(얼굴 표정 또는 자세를 결정하는 데 사용될 수 있는 스틸 이미지 및 비디오 포함), 생리학적 데이터 (예를 들어, 심박수, 호흡수, 발한 레벨(perspiration level) 등) 및 사용자의 감정 상태를 결정 또는 예측하는데 사용될 수 있는 임의의 다른 데이터를 포함할 수 있다.
이력 데이터(152)는 모델 생성 시스템(146)에 대한 훈련 데이터로서 기능할 수 있으며, 감각 데이터 이외에, 연령, 지리적 위치, 성별 또는 사회 경제적 분류와 같은 사용자 인구 통계 또는 특성을 포함할 수 있다. 또한, 이력 데이터(152)는 하나 이상의 사용자의 플레이 스타일(play style)에 관한 정보; 비디오 게임(112)을 플레이하는데 소비된 금액; 비디오 게임(112)에 대한 사용자 성공 또는 실패 정보(예를 들어, 사용자 승률); 비디오 게임(112)을 플레이하는 플레이 빈도; 특정 선택 게임 요소(예를 들어, 이용 가능한 부스트(boosts), 레벨 스킵(level skips), 게임 내 힌트, 파워 업(power ups) 등)를 사용하는 빈도; 비디오 게임(112)을 위해 게임 내 아이템을 구매하기 위해 소비한 실제 금액(예를 들어, 미국 달러 또는 유럽 유로)을 포함할 수 있다. 이 추가 이력 데이터는 사용자의 감정 상태를 결정하는 데 사용될 수 있는 감각 데이터와 조합되거나 연관될 수 있다. 또한, 일부 경우에서, 이력 데이터(152)는 비디오 게임(112)을 플레이하는 사용자에 의해 사용된 하나 이상의 시드 값과 같은, 비디오 게임(112)에 관련된 데이터를 포함할 수 있다. 이력 데이터(152)의 일부로서 수신될 수 있는 비디오 게임(112)에 관한 데이터의 추가 예시는 비디오 게임(112)의 하나 이상의 노브 또는 상태 변수, 사용자에 의해 사용된 비디오 게임(112)에 대한 하나 이상의 난이도 레벨의 아이덴티티(identity), 비디오 게임(112)의 유형 등을 설정하는 것을 포함할 수 있다.
블록(204)에서, 모델 생성 시스템(146)은 이력 데이터에 대응하는 다수의 사용자에 대한 희망 예측을 나타내는 제어 데이터(156)를 수신한다. 이 제어 데이터(156)는 모델 생성 시스템(146)이 모델을 결정하기 위한 하나 이상의 특징 또는 특성을 나타낼 수 있다. 선택적으로, 또는 부가적으로, 제어 데이터(156)는 수신된 이력 데이터(152)와 연관된 특징 또는 특성에 대한 값을 포함할 수 있다.
예를 들어, 제어 데이터(156)는 모델 생성 시스템(146)에 의해 생성될 모델에 의해 예측될 희망 특징(desired feature)으로서, 감정 상태, 감정 상태와 관련된 값(예를 들어, 슬픔에 대해서는 0, 행복에 대해서는 100), 또는 감정 상태를 형성할 수 있는 다른 감정과 연관된 값의 범위를 식별할 수 있다. 다른 실시예로서, 제어 데이터(156)는 모델 생성 시스템(146)에 의해 생성될 모델에 의해 예측될 희망 특징으로서, 이탈율 또는 유지율을 식별할 수 있다. 이탈율 또는 유지율은 비디오 게임(112)을 플레이하는 것이 중단된 이력 데이터(152)와 연관된 사용자의 백분율에 대응할 수 있다. 또한, 제어 데이터(156)는 이력 데이터와 연관된 유지율을 식별할 수 있다. 예를 들어, 제어 데이터(156)는 데이터가 이력 데이터(152)에 포함되는 일부 사용자에 대해 유지율이 60%임을 나타낼 수 있다. 일부 실시예에서, 제어 데이터(156)는 모델 생성 시스템(146)에 의해 생성될 모델에 의해 예측되는 다수의 특성 또는 특징을 포함할 수 있다. 예를 들어, 제어 데이터(156)는 유지율 및 유지율에 대한 이유(예를 들어, 블록(202)에서 데이터가 이력 데이터(152)의 일부로서 제공되는 사용자에 대해 비디오 게임(112)의 난이도가 너무 낮거나 너무 높음), 또는 데이터가 이력 데이터(152)로서 제공된 사용자에 의해 소비된 평균 화폐 량 및 유지율을 식별할 수 있다.
블록(206)에서, 모델 생성 시스템(146)은 이력 데이터(152) 및 제어 데이터(156)에 기초하여 하나 이상의 예측 모델(160)을 생성한다. 예측 모델(160)은 이력 데이터(152) 및 일부 경우에서는 제어 데이터(156)에 기초하여 예측 모델(160)을 생성하기 위해 수학적 알고리즘(mathematical algorithm) 또는 모델 생성 규칙 세트(170)을 사용하여 조합될 수 있는 하나 이상의 변수 또는 파라미터를 포함할 수 있다. 또한, 특정 실시예에서, 블록(206)은 하나 이상의 피드백 데이터(154)를 적용하는 단계를 포함할 수 있다. 예를 들어, 예측 모델(160)이 감독된 기계 학습 프로세스(supervised machine learning process)의 일부로서 생성되는 경우, 사용자(예를 들어, 관리자)는 예측 모델(160) 생성 프로세스를 정제(refine)하도록 및/또는 예측 모델(160)이 생성될 때 모델 생성 시스템(146)에 하나 이상의 입력을 제공할 수 있다. 예를 들어, 사용자는 특정 지역 또는 지리적 영역에 정전이 있음을 알고 있을 수 있다. 그러한 경우에, 사용자는 정전 동안 영향을 받은 지리적 영역으로부터의 사용자들에 대응할 수 있는 이력 데이터(152)의 부분의 가중치를 감소시키기 위해 피드백 데이터(154)를 제공할 수 있다. 또한, 일부 경우에서, 변수 또는 파라미터 중 하나 이상은 예를 들어 가중치(164)를 사용하여 가중될 수 있다. 변수에 대한 가중치의 값은 제어 데이터(156) 및/또는 이력 데이터(152)를, 만족시키거나 또는 임계 불일치(threshold discrepancy) 내에 만족시키는 예측 모델(160)을 생성하는데 있어서 변수에 미치는 영향에 적어도 부분적으로 기초할 수 있다. 일부 경우에서, 변수 또는 파라미터의 조합은 예측 모델(160)을 생성하는데 사용될 수 있다. 일부 경우에서, 데이터의 특정 유형은 다른 유형의 데이터보다 더 중요한 것으로 간주될 수 있으므로, 더 많이 가중될 수 있다. 예를 들어, 오디오 데이터는 발한과 관련된 생리학적 파라미터보다 더 많이 가중될 수 있다. 데이터가 누락된 경우(예를 들어, 사용자가 카메라를 가지고 있지 않기 때문에), 대응하는 변수는 적게 가중되거나 제거될 수 있다.
선택적으로, 블록(208)에서, 모델 생성 시스템(146)은 블록(206)에서 생성된 하나 이상의 예측 모델(160) 중 적어도 일부에 패널티(166)를 적용하거나 패널티(166)를 연관시킨다. 하나 이상의 예측 모델(160)의 각각과 연관된 패널티는 다를 수 있다. 또한, 예측 모델(160)의 각각에 대한 패널티는 예측 모델(160)의 모델 유형 및/또는 예측 모델(160)의 파라미터(162)를 조합하는데 사용된 수학적 알고리즘 및 파라미터 함수에 포함된 파라미터의 수에 적어도 부분적으로 기초할 수 있다. 예를 들어, 예측 모델(160)을 생성할 때, 모델을 적용하기 위해 매우 많은 수의 변수 또는 더 많은 양의 프로세싱 능력을 꺼리는(disfavors) 패널티가 적용될 수 있다. 다른 예시로서, 다른 예측 모델보다 더 많은 파라미터 또는 변수를 사용하는 예측 모델(160)은 더 적은 변수를 사용하는 예측 모델보다 더 큰 패널티(166)와 연관될 수 있다. 추가 예시로서, 다른 예측 모델보다 계산하는데 더 많은 양의 프로세싱 능력을 필요로 하는 수학적 알고리즘 또는 모델 유형을 사용하는 예측 모델은 계산하는데 더 적은 양의 프로세싱 능력이 필요한 수학적 모델 또는 모델 유형을 사용하는 예측 모델보다 더 큰 패널티와 연관될 수 있다.
블록(210)에서, 모델 생성 시스템(146)은 예측 모델(160) 및 임의의 연관된 패널티의 정확도에 적어도 부분적으로 기초하여, 예측 모델(160)을 선택한다. 일부 실시예에서, 모델 생성 시스템(146)은 다른 예측 모델(160)에 비해 더 낮은 패널티와 연관된 예측 모델(160)을 선택한다. 그러나, 일부 실시예에서, 모델 생성 시스템(146)은 예를 들어 예측 모델(160)의 출력이 더 낮은 패널티와 연관된 예측 모델보다 더 정확한 임계 정도(threshold degree)라면, 더 높은 패널티와 연관된 예측 모델을 선택할 수 있다. 특정 실시예에서, 블록(210)은 선택적이거나 생략될 수 있다. 예를 들어, 일부 경우에, 예측 모델(160)은 패널티와 연관되지 않을 수 있다. 그러한 일부 경우에서, 예측 모델은 예측 모델에 의해 생성된 출력의 정확도에 기초하여 복수의 예측 모델로부터 선택될 수 있다.
비디오 게임 상태 수정 프로세스 예시
도 3은 이탈율에 적어도 부분적으로 기초한 비디오 게임 상태 수정 프로세스(300)의 일 실시예의 흐름도를 도시한다. 프로세스(300)는 비디오 게임을 플레이하는 사용자의 예측된 감정 상태에 기초하여 비디오 게임(112)의 이탈율 또는 유지율을 향상시키기 위해 비디오 게임 상태 또는 비디오 게임(112)의 구성을 수정할 수 있는 임의의 시스템에 의해 구현될 수 있다. 전체적으로 또는 부분적으로 프로세스(300)는 예를 들어 인터랙티브 컴퓨팅 시스템(130), 감정 캡처 및 결정 시스템(118), 게임 구성 시스템(134), 모델 생성 시스템(146), 유지 분석 시스템(140), 또는 사용자 컴퓨팅 시스템(110)에 의해 구현될 수 있다. 임의의 수의 시스템이 전체적으로 또는 부분적으로 프로세스(300)를 구현할 수 있지만, 설명을 단순화하기 위해, 프로세스(300)는 특정 시스템과 관련하여 설명될 것이다. 또한, 프로세스(300)는 시간이 지남에 따라 반복적으로 업데이트되거나 수행될 수 있음을 이해해야 한다. 예를 들어, 프로세스(300)는 비디오 게임(112)의 각 플레이 세션에 대해, 비디오 게임(112)의 각 라운드에 대해, 매주, 매월, 모든 임계 횟수의 플레이 세션에 대해, 목적을 완료하기 위해 사용자가 실패하거나 지는 모든 임계 횟수에 대해, 승률이 임계 레벨 이하로 떨어질 때마다, 등등 반복될 수 있다. 그러나, 프로세스(300)는 더 많거나 더 적은 빈도로 수행될 수 있다. 또한, 프로세스(300)는 사용자가 비디오 게임(112)을 플레이하는 동안 비디오 게임(112)이 수정될 수 있도록, 실시간 또는 실질적으로 거의 실시간으로 수행될 수 있음을 이해해야 한다. 따라서, 프로세스(300)는 동적인 게임 경험을 제공할 수 있다. 대안적으로, 프로세스(300)는 비디오 게임(112)이 후속 플레이 세션을 위해 수정되도록 하나 이상의 플레이 세션 후에 수행될 수 있다.
프로세스(300)는 감정 캡처 및 결정 시스템(118)이 비디오 게임(112)을 플레이하는 사용자와 연관련 감각 및 생체 데이터의 세트를 수신하는 블록(302)에서 시작한다. 감각 및 생체 데이터의 세트는 감각 및 생체 센서(116)의 세트로부터 수신될 수 있다. 대안적으로, 또는 부가적으로, 감정 캡처 및 결정 시스템(118)은 감각 및 생체 센서(116)로부터 감각 신호의 세트를 수신한다. 일부 이러한 실시예에서, 감정 캡처 및 결정 시스템(118)은 감각 신호를 변환하거나, 그렇지 않으면 감각 신호로부터의 데이터를 추출할 수 있다. 예를 들어, 감정 캡처 및 결정 시스템(118)은 음성 텍스트 변환 시스템(120)을 사용하여 오디오 신호를 텍스트로 변환할 수 있다. 결과 텍스트는 톤 및 정서 분석 시스템(122)을 사용하여 텍스트의 톤 또는 정서를 결정하기 위해 분석될 수 있다. 일부 실시예에서, 감각 및 생체 센서(116)의 세트는 오디오 센서(예를 들어, 마이크로폰) 또는 이미지 센서와 같은 단일 센서를 포함한다. 다른 실시예에서, 감각 및 생체 센서(116)의 세트는 오디오 센서, 비디오 센서, 생리학적 센서 등과 같은 다수의 센서를 포함한다. 이러한 생리학적 센서는 피트니스 모니터, 갈바닉 피부 반응 센서 및/또는 다른 웨어러블 장치를 포함할 수 있다. 일부 경우에서, 센서(116) 중 적어도 일부는 게임 컨트롤러(game controller), 가상 현실 또는 증강 현실 시스템(virtual reality or augmented reality system)의 일부로서, 또는 비디오 게임(112)을 플레이하는데 사용될 수 있는 임의의 다른 사용자 인터페이스 장치의 일부로서 포함될 수 있다.
블록(304)에서, 유지 분석 시스템(140)의 감정 분석 시스템(126)은 예측 모델을 사용하여 블록(302)에서 수신되거나 획득되는 감각 및 생체 데이터의 세트에 적어도 부분적으로 기초하여 사용자에 대한 예측된 감정 상태를 결정한다. 감각 및 생체 데이터의 세트는 예측 모델(160)에 대해 입력 데이터(172)로서 기능할 수 있다. 특정 실시예에서, 블록(304)은 감정 캡처 및 결정 시스템(118)이 블록(302)에서 수신된 감각 데이터(예를 들어, 음성)에 대한 톤 및/또는 정서를 결정하는 것을 포함할 수 있다. 또한, 블록(304)은 블록(302)에서 수신된 감각 데이터로부터 결정된 정서의 복합체(composite)를 수집 및/또는 그렇지 않으면 생성하는 것을 포함할 수 있다. 결정된 정서 및/또는 톤 데이터는 감정 분석 시스템(126)에 제공되어 사용자의 예측된 감정 상태를 결정하는 것을 용이하게 할 수 있다. 예를 들어, 정서 및/또는 톤 데이터는 예측 함수에 대한 파라미터로서 제공될 수 있다.
블록(306)에서, 사용자에 대한 예측된 감정 상태에 적어도 부분적으로 기초하여, 유지 분석 시스템(140)은 사용자에 대한 예측된 이탈율을 결정한다. 특정 실시예에서, 유지 분석 시스템(140)은 예측 모델을 사용하여 사용자에 대한 예측된 이탈율을 결정한다. 이 예측 모델은 예측 모델에 입력 데이터(172)의 일부로서 릴리스된 입력 데이터(172)로서 예측된 감정 상태를 사용할 수 있다. 블록(306)에서 사용된 예측 모델은 일반적으로 블록(304)에서 사용된 예측 모델과 다르다. 그러나, 특정 실시예에서, 블록(306)의 예측된 모델은 블록(304)에서 사용된 동일한 예측 모델이다. 일부 이러한 실시예에서, 예측된 이탈율은 입력 데이터(172)로서 예측 모델에 제공된 감각 및 생체 데이터의 세트에 적어도 부분적으로 기초하여 결정될 수 있다. 또한, 일부 실시예에서, 예측된 감정 상태는 이탈율을 결정하기 위해 예측 모델을 해결하는데 사용된 가중치로서 또는 피드백 데이터로서 기능할 수 있다.
일부 실시예에서, 예측된 이탈율은 예측된 감정 상태와 이탈율 또는 유지율 사이의 매핑에 적어도 부분적으로 기초하여 결정된다. 이러한 매핑은 사용자의 세트의 감정 상태를 모니터링하여 획득된 기록 데이터의 분석에 기초하여 결정될 수 있다. 사용자의 세트는 시간이 지남에 따라 모니터링되는 실제 사용자 또는 테스트 사용자일 수 있다. 일부 실시예에서, 이력 데이터는 하나 이상의 기계 학습 모델을 사용하여 분석되어, 이탈율 또는 유지율에서의 예측된 감정 상태 사이의 매핑을 결정한다. 예측된 이탈율이 예측된 감정 상태와 트레이너 유지율(trainer retention rates) 사이의 맵핑에 적어도 부분적으로 기초하여 결정되는 일 실시예에서, 유지 분석 시스템(140)은 사용자 데이터 저장소(142)와 같은 저장소에 액세스하여, 블록(304)에서 결정된 바와 같이 사용자의 예측된 감정 상태에 기초하여 사용자에 대한 예측된 이탈율을 결정할 수 있다. 일부 실시예에서, 예측된 감정 상태는 대응하는 예측된 이탈율을 결정하기 위해 사용자 데이터 저장소(142)에 액세스하는 인덱스(index)로서 사용될 수 있다. 예를 들어, 두려움, 지루함, 혐오감(예를 들어, 과도한 피 또는 유혈로 인한)의 느낌과 같은 하나 이상의 일반적으로 부정적인 예측된 감정 상태는 높은 이탈율 또는 낮은 유지율과 연관될 수 있다. 다른 한편, 흥분, 기쁨, 또는 경이로움의 느낌과 같은 하나 이상의 일반적으로 긍정적인 예측된 감정 상태는 낮은 이탈율 또는 높은 유지율과 연관될 수 있다. 일부 실시예에서, 상이한 비디오 게임은 상이한 이탈율 또는 유지율과 연관된 상이한 감정 상태를 가질 수 있다. 또한, 어떤 경우에서, 일반적으로 부정적인 예측된 감정 상태가 특정 비디오 게임에 대해 중립적이거나 긍정적일 수 있다. 예를 들어, 두려움과 연관된 감정 상태는 공포 테마인 비디오 게임에서 긍정적인 것으로 간주될 수 있다.
특정 실시예에서, 블록(306)은 선택적이거나 생략될 수 있다. 예를 들어, 예측된 감정 상태는 터너 유지율(Turner retention rate)을 대체물(substitute)로서 기능할 수 있다. 예를 들어, 개발자는 특정 예측된 감정 상태를 부정으로 간주하고 이러한 감정적 상태가 과도한 이탈을 초래할 것이라고 자동으로 추측(assume)할 수 있다. 일부 경우에서, 이탈율을 결정하기 위한 별도의 프로세스가 프로세스(300)에서 생략될 수 있다.
블록(308)에서, 사용자에 대한 예측된 이탈율에 적어도 부분적으로 기초하여, 게임 구성 시스템(134)은 비디오 게임(112)의 구성을 수정한다. 일부 실시예에서, 게임 구성 시스템(134)은 사용자에 대한 예측된 이탈율에 기초하여 만들어진 비디오 게임(112)의 상태 또는 비디오 게임(112)의 구성에 대한 하나 이상의 변경을 결정하기 위해 게임 구성 저장소(144)에 액세스할 수 있다. 대안적으로 또는 부가적으로, 게임 구성 시스템(134)은 사용자에 대한 예측된 감정 상태에 적어도 부분적으로 기초하여 비디오 게임(112)에 대한 변경을 결정할 수 있다.
비디오 게임(112)의 상태 또는 구성을 수정하는 것은 비디오 게임(112)에 대한 하나 이상의 상태 변수 및/또는 게임 설정을 수정하는 것을 포함할 수 있다. 상태 변수 및/또는 게임 설정에 대한 변경은 비디오 게임(112)의 하나 이상의 측면에 대해 변경을 초래할 수 있고, 비디오 게임(112)의 임의의 측면을 포함하 수 있다. 예를 들어, 비디오 게임(112)에 대한 일부 비 제한적인 변경은 난이도, 피 또는 유혈의 양, 음악, 음향 효과, 음악의 볼륨 레벨 또는 음향 효과, 빛, 사용된 쉐이더 또는 텍스처, 특정 게임 이벤트, 사용자가 이용할 수 있는 레벨, 단계 또는 레벨의 순서 또는 시퀀스, 적 또는 상대(opponents)의 수 또는 유형, 플레이-불가능한 캐릭터의 수 또는 유형, 드롭된 또는 이용 가능하게 만들어진 게임 내 아이템, 사용자에게 제시된 게임 옵션 또는 확장, 또는 비디오 게임(112)을 플레이하거나 상호 작용할 때 사용자의 감정 상태에 영향을 줄 수 있는 비디오 게임(112)과 관련된 임의의 다른 요인과 관련될 수 있다.
일부 실시예에서, 상태 변수 또는 게임 설정의 특정 값을 변경하는 대신에 또는 추가하여, 게임 구성 시스템(134)은 비디오 게임(112)에 의해 사용된 시드 값을 수정할 수 있다. 시드 값은 비디오 게임(112)에서 발생하는 캐릭터 또는 이벤트의 하나 이상의 특성 또는 비디오 게임(112)에서 발생하는 하나 이상의 랜덤하게 생성된 이벤트에 영향을 미칠 수 있다. 예를 들어, 시드 값의 변경은 적을 패배시키거나 목적을 완료하는 사용자에게 제공되는 아이템의 유형 또는 양, 비디오 게임(112)에서의 상대의 난이도, 또는 비디오 게임(112)을 플레이하는 사용자에게 제시된 퀘스트(quests)에 영향을 미칠 수 있다.
특정 실시예에서, 비디오 게임(112)에 대한 변경의 결정은 예측 모델에 적어도 부분적으로 기초할 수 있다. 예를 들어, 게임 구성 분석 시스템(128)은 사용자의 예측된 감정 상태, 사용자에 대한 이탈율 또는 유지율, 및/또는 비디오 게임(112)의 하나 이상의 특성(예를 들어, 비디오 게임의 테마 또는 비디오 게임의 의도된 시청자(intended audience))을 예측 모델에 입력으로서 제공할 수 있으며, 예측 모델은 비디오 게임(112)에 대해 제안된 변경을 결정하여 사용자의 예측된 감정 상태를 개선하거나보다 긍정적으로 만들거나 및/또는 사용자에 대한 이탈율 또는 유지율을 향상시킬 수 있다.
예측된 감정 상태가 긍정적이거나 긍정의 상기 임계 정도와 연관되거나 이탈율 또는 유지율이 임계치를 만족시키는 특정 실시예에서, 게임 구성 시스템(134)은 비디오 게임(112)에 대해 변경하지 않을 수 있다. 유사하게는, 예측된 감정 상태 및/또는 예측된 이탈율 또는 유지율이 임계 신뢰도(threshold degree of confidence)로 결정될 수 없거나 결정될 수 없는 특정 실시예에서, 구성 시스템(134)은 비디오 게임(112)에 어떠한 변경도 주지 않을 수 있다. 예측된 감정 상태가 긍정적 또는 부정적으로 간주되는지 여부는 개발자에 의한 감정 상태의 분류, 유지율에 대한 감정 상태의 영향을 결정하기 위해 이력 데이터에 기계 학습 알고리즘을 적용한 결과, 비디오 게임(112)의 유형, 또는 감정 상태가 긍정적 또는 부정적으로 간주되는지 여부에 영향을 미칠 수 있는 임의의 다른 요인에 적어도 부분적으로 기초할 수 있다.
비디오 게임 상태 수정 프로세스 제2 예시
도 4는 희망 감정 상태에 적어도 부분적으로 기초한 비디오 게임 상태 수정 프로세스의 일 실시예의 흐름도를 도시한다. 프로세스(400)는 비디오 게임(112)을 플레이하는 사용자의 희망 정서 상태에 적어도 부분적으로 기초하여 비디오 게임 상태 또는 비디오 게임(112)의 구성을 수정할 수 있는 임의의 시스템에 의해 구현될 수 있다. 전체적으로 또는 부분적으로 프로세스(400)는 예를 들어 인터랙티브 컴퓨팅 시스템(130), 감정 캡처 및 결정 시스템(118), 게임 구성 시스템(134), 모델 생성 시스템(146), 유지 분석 시스템(140), 또는 사용자 컴퓨팅 시스템(110)에 의해 구현될 수 있다. 임의의 수의 시스템이 전체적으로 또는 부분적으로 프로세스(300)를 구현할 수 있지만, 설명을 단순화하기 위해, 프로세스(400)는 특정 시스템과 관련하여 설명될 것이다. 또한, 프로세스(400)는 시간이 지남에 따라 반복적으로 업데이트되거나 수행될 수 있음을 이해해야 한다. 예를 들어, 프로세스(400)는 비디오 게임(112)의 각 플레이 세션에 대해, 비디오 게임(112)의 각 라운드에 대해, 매주, 매월, 모든 임계 횟수의 플레이 세션에 대해, 목적을 완료하기 위해 사용자가 실패하거나 지는 모든 임계 횟수에 대해, 승률이 임계 레벨 이하로 떨어질 때마다, 등등 반복될 수 있다. 그러나, 프로세스(400)는 더 많거나 더 적은 빈도로 수행될 수 있다. 또한, 프로세스(400)는 사용자가 비디오 게임(112)을 플레이하는 동안 비디오 게임(112)이 수정될 수 있도록, 실시간 또는 실질적으로 거의 실시간으로 수행될 수 있음을 이해해야 한다. 따라서, 프로세스(400)는 동적인 게임 경험을 제공할 수 있다. 대안적으로, 프로세스(400)는 비디오 게임(112)이 후속 플레이 세션을 위해 수정되도록 하나 이상의 플레이 세션 후에 수행될 수 있다.
프로세스(400)는 감정 캡처 및 결정 시스템(118)이 비디오 게임(112)을 플레이하는 사용자와 연관된 감각 및 생체 데이터의 세트를 수신하는 블록(402)에서 시작한다. 특정 실시예에서, 블록(402)은 블록(302)에 관하여 이전에 설명된 하나 이상의 실시예를 포함할 수 있다.
블록(404)에서, 유지 분석 시스템(140)의 감정 분석 시스템(126)은 예측 모델을 사용하여 블록(402)에서 수신되거나 그렇지 않으면 획득되는 감각 및 생체 데이터의 세트에 적어도 부분적으로 기초하여 사용자에 대한 예측된 감정 상태를 결정한다. 특정 실시예에서, 블록(404)은 블록(304)에 관해 전술한 실시예들 중 하나 이상을 포함할 수 있다.
블록(406)에서, 보유 분석 시스템(140)은 비디오 게임(112)을 플레이하는 사용자에 대한 희망 감정 상태를 결정한다. 희망 감정 상태는 사용자의 예측된 감정 상태와 연관된 이탈율에 적어도 부분적으로 기초하여 결정될 수 있다. 또한, 사용자에 대한 희망 감정 상태는 비디오 게임의 유형에 적어도 부분적으로 기초하여 결정될 수 있다. 예를 들어, 공포 게임은 적어도 어느 정도는 무서울 것으로 예상되어서, 희망 감정 상태는 어느 정도의 공포를 포함할 수 있다. 일부 경우에서, 희망하는 공포의 정도는 어린이 또는 성인이 타겟 시청자(target audiences)인지 및/또는 개발자가 비디오 게임이 얼마나 무섭길 바라는지에 기초할 수 있다. 그러나, 특히 젊은 타겟 시청자를 대상으로 한, 가벼운 어드벤처 게임(lighthearted adventure game)은 무서울 것으로 예상되지 않으므로, 희망 감정 상태는 임의의 레벨의 공포를 포함하지 않을 수 있다. 일부 실시예에서, 희망 감정 상태를 결정하는 것은 비디오 게임의 특성 및/또는 타겟 시청자의 특성을 파라미터 또는 생산 함수(parameter or production function)에 제공하는 것을 포함할 수 있다. 대안적으로, 또는 추가적으로, 비디오 게임(112)의 개발자 또는 발행자는 희망 감정 상태를 지정할 수 있다.
결정 블록(408)에서, 유지 분석 시스템(140)은 희망 감정 상태가 예측된 감정 상태와 일치하는지를 결정한다. 희망 감정 상태가 예측된 감정 상태와 일치하는지 결정하는 단계는 예측된 감정 상태가 희망 감정 상태에 대한 임계 정도 내에서 일치하는지를 결정하는 단계를 포함할 수 있다. 또한, 예측된 감정 상태가 희망 감정 상태와 일치하는지 판단하는 단계는 예측된 감정 상태 및 희망 감정 상태를 수치 값으로 변환하여 수치 값을 비교하는 단계를 포함할 수 있다. 예를 들어, 희망 감정 상태가 행복이라면, 희망 감정 상태 및 예측된 감정 상태는 스케일의 한쪽 끝이 특정 정도의 행복과 연관되고 스케일의 반대쪽 끝은 상이한 정도의 행복과 연관되거나 불행의 정도와 연관되어 있는 수치 값으로 변환될 수 있다. 유지 분석 시스템(140)은 감정 상태와 연관된 값을 비교하여 예측된 행복의 양이 행복의 희망하는 양과 일치하는지를 결정할 수 있다. 특정 실시예에서, 예측된 감정 상태는 단일 감정보다 더 복잡할 수 있다. 따라서, 특정 실시예에서, 예측된 감정 상태는 사용자의 예측된 감정 상태의 상이한 측면과 연관된 각각의 값을 갖는 복수의 값과 연관될 수 있다. 이들 값은 희망 감정 상태의 대응하는 값과 개별적으로 비교될 수 있다. 선택적으로, 또는 부가적으로, 값은 수집될 수 있거나 그렇지 않으면 조합되어 희망 감정 상태의 대응하는 값과 비교될 수 있는 합성 값(composite value)을 획득할 수 있다.
희망 감정 상태가 예측된 감정 상태와 일치하는 것으로 결정되면, 프로세스(400)는 블록(402)으로 복귀할 수 있다. 블록(402)과 연관된 동작은, 특정 이벤트 또는 이벤트의 수가 비디오 게임(112)에 관해 발생한 후, 또는 블록(402)과 연관된 동작을 반복하게 할 수 있는 임의의 다른 트리거한 후, 사용자가 비디오 게임에서 특정 목적에 도달할 때, 일정한 간격으로 연속으로 반복될 수 있다.
결정 블록(408)에서 희망 감정 상태가 예측된 감정 상태와 일치하지 않는다고 결정되면, 프로세스(400)는 블록(410)으로 진행한다. 블록(410)에서, 게임 구성 시스템(134)은 사용자에 대한 희망 감정 상태와 연관된 비디오 게임 구성을 선택한다. 특정 실시예에서, 게임 구성 시스템(134)은 게임 구성 저장소(144)에 저장되거나 그렇지 않으면 식별되는 게임 구성의 세트에 액세스함으로써 희망 감정 상태와 연관된 비디오 게임 구성을 선택할 수 있다. 예를 들어, 비디오 게임(112)이 어른의 의도된 시청자를 갖는 공포 게임임을 가정하고, 또한 사용자의 예측된 감정 상태가 사용자가 무서워하지 않음을 나타내는 것으로 가정한다. 이 예시에서, 비디오 게임(112)을 더 무섭게 하여 사용자가 계속 비디오 게임을 플레이할 기회를 향상시키는 것이 바람직할 수 있다. 비디오 게임(112)을 더 무섭게 하기 위해서, 게임 구성 시스템(134)은 게임 구성 저장소(144)에 액세스하여 비디오 게임(112)을 플레이 할 때 더 무서운 경험을 제공하는 것과 연관된 설정을 결정한다. 설정은 보다 으스스한 음악을 플레이하고, 게임에서 빛을 감소시키고, 몬스터가 게임 내 플레이 불가능한 캐릭터가 점프하기 전에 그들이 더 가까워질 때까지 기다리게 하고 및/또는 몬스터가 예기치 않은 장소에서 나타나게 하는 것을 포함할 수 있다. 유리하게는, 두려움 요인을 동적으로 조정하거나, 비디오 게임(112)이 얼마나 무서운지에 의해, 무서운 게임을 즐기는 사용자의 유지가 증가될 수 있다. 유사하게는, 비디오 게임(112)이 얼마나 무서운지를 동적으로 감소시킴으로써, 액션 게임을 즐기지만 무서워하지 않는 사용자의 유지가 증가될 수 있다. 따라서, 특정 실시예에서, 비디오 게임(112)을 전체적으로 유지하는 것은 비디오 게임(112)을 플레이하는 특정 사용자의 감정 상태에 적어도 부분적으로 기초하여 비디오 게임(112)의 하나 이상의 특징을 동적으로 조정함으로써 증가될 수 있다. 실시예에서, 블록(410)은 블록(308)과 관련하여 설명된 실시예들 중 하나 이상을 포함할 수 있다.
블록(412)에서, 게임 구성 시스템(134)은 선택된 비디오 게임 구성에 적어도 부분적으로 기초하여 비디오 게임(112)을 구성한다. 특정 실시예에서, 게임 구성 시스템(134)은 비디오 게임(112)을 동적으로 또는 실질적으로 실시간으로 구성한다. 다시 말해, 특정 실시예에서, 게임 구성 시스템(134)은 사용자가 비디오 게임(112)을 플레이함에 따라 비디오 게임(112)의 하나 이상의 측면을 수정할 수 있다. 대안적으로 또는 추가적으로, 게임 구성 시스템(134)은 비디오 게임(112)을 현재 플레이 세션을 메이저링하는(majoring) 결정에 적어도 부분적으로 기초하여 비디오 게임(112)의 후속 플레이 세션에 앞서 비디오 게임(112)의 하나 이상의 측면을 수정할 수 있다. 예를 들어, 비디오 게임(112)의 현재 플레이 세션 동안 비디오 게임(112)의 특정 레벨이 너무 어렵거나 너무 무섭다고 결정되면, 게임 구성 시스템(134)은 사용자가 비디오 게임(112)을 다음에 플레이할 때 특정 레벨이 덜 어렵거나 덜 무섭도록 비디오 게임(112)을 수정할 수 있다. 특정 실시예에서, 게임 구성 시스템(134)은 특정 사용자의 예측된 감정 상태의 분석에 기초하여 비디오 게임(112)을 플레이하는 특정 사용자에 대해 비디오 게임(112)을 변경하지만, 특정 다른 실시예에서 게임 구성 시스템(134)은 특정 사용자의 예측된 감정 상태에 기초하여 다른 사용자에 대한 비디오 게임(112)에 변경을 줄 수 있다. 특정 실시예에서, 블록(412)은 블록(308)과 관련하여 설명된 실시예들 중 하나 이상을 포함할 수 있다.
특정 실시예에서, 프로세스(300, 400)의 동작은 다수의 사용자로부터 획득된 센서 데이터에 적어도 부분적으로 기초할 수 있다. 예를 들어, 일부 경우에서, 사용자는 비디오 게임(112)을 사용자와 함께 플레이할 수도 있고 그렇지 않을 수도 있는 실내의 다른 사용자들과 비디오 게임(112)을 플레이 할 수 있다. 이러한 일부 경우에서, 블록(302 또는 402)에서 획득된 감각 및/또는 생체 데이터는 다수의 사용자와 연관될 수 있다. 일부 경우에서, 감정 캡처 및 결정 시스템(118)은 비디오 게임을 플레이하지 않는 사용자와 연관된 감각 및/또는 생체 데이터를 필터링 할 수 있다. 예를 들어, 비디오 게임(112)이 단일 플레이어 비디오 게임인 경우, 감정 캡처 및 결정 시스템(118)은 플레이어가 아닌 사용자(non-player users )의 감각 및/또는 생체 데이터를 필터링 할 수 있다. 감정 캡처 및 결정 시스템(118)은 감각 데이터에 적어도 부분적으로 기초하여 플레이어가 아닌 사용자와 연관된 감각 및/또는 생체 데이터를 식별할 수 있다. 예를 들어, 감각 및 생체 센서(116)에 의해 캡처된 이미지에 기초하여, 감정 캡처 및 결정 시스템(118)은 비디오 게임(112)을 플레이하지 않는 실내의 사용자를 결정할 수 있고, 그러한 사용자로부터 획득된 임의의 생체 데이터를 필터링 할 수 있다.
일부 실시예에서, 사용자는 비디오 게임(112)을 실내에 있거나 네트워크 기반 멀티플레이어의 경우에는 다른 곳에 있는 다른 사용자들과 함께 플레이 할 수 있다. 이러한 일부 실시예들에서, 프로세스(300 및/또는 400)은 비디오 게임(112)을 플레이하는 사용자에 대한 수집된 예측된 감정 상태(aggregate predicted emotional state)를 결정할 수 있다. 비디오 게임(112)을 수정할지 여부의 결정은 사용자에 대한 수집된 예측된 감정 상태에 적어도 부분적으로 기초할 수 있다. 대안적으로 또는 부가적으로, 비디오 게임(112)을 수정할지 여부의 결정은 비디오 게임(112)을 플레이하는 대다수의 사용자에 기초할 수 있다. 예를 들어, 비디오 게임(112)을 플레이하는 6명의 플레이어 중 4명이 부정적인 감정 상태와 연관된다고 결정되는 경우, 게임 구성 시스템(134)은 비디오 게임(112)의 상태 또는 구성을 수정할 수 있다. 다른 한편으로, 예를 들어, 6명의 플레이어 중 단지 1명만이 부정적인 감정 상태에 연관된다고 결정되는 경우, 게임 구성 시스템(134)은 비디오 게임(112)을 수정하지 않기로 결정할 수 있다.
게임 구성 평가 프로세스 예시
도 5는 게임 상태 구성 평가 프로세스(500)의 일 실시예의 흐름도를 도시한다. 프로세스(500)는 특정 비디오 게임 상태를 갖는 비디오 게임(112)을 플레이하는 사용자에서 생성된 감정 상태를 결정하기 위해 비디오 게임 상태의 테스트를 수행할 수 있는 임의의 시스템에 의해 구현될 수 있다. 유리하게는, 프로세스(500)의 실시예는 비디오 게임(112)의 상이한 구성을 테스트하여 가장 많은 수의 플레이어를 즐겁게 하거나 만족시킬 가능성이 있는 구성을 결정하는데 사용될 수 있다. 전체적으로 또는 부분적으로, 프로세스(500)는 예를 들어 인터랙티브 컴퓨팅 시스템(130), 감정 캡처 및 결정 시스템(118), 게임 구성 시스템(134), 모델 생성 시스템(146), 유지 분석 시스템(140), 또는 사용자 컴퓨팅 시스템(110)에 의해 구현될 수 있다. 임의의 수의 시스템이 전체적으로 또는 부분적으로 프로세스(500)를 구현할 수 있지만, 설명을 단순화하기 위해, 프로세스(500)는 특정 시스템과 관련하여 설명될 것이다.
프로세스(500)는 게임 테스트 엔진(136)이 복수의 구성을 갖는 비디오 게임(112)을 구성하는 블록(502)에서 시작한다. 특정 실시예에서, 게임 테스트 엔진(136)은 비디오 게임(112)의 적어도 일부 다른 인스턴스와 상이한 구성 또는 상태와 연관된 비디오 게임(112)의 적어도 일부 인스턴스를 구비한 비디오 게임(112)의 복수의 인스턴스를 구성한다. 일부 실시예에서, 비디오 게임(112)의 상이한 구성들의 각각은 비디오 게임(112)의 구성 들간의 차이에 대한 미세 성질 분석(fine grain analysis)을 가능하게 하는 단일 변수 또는 구성 속성에 기초하여 상이할 수 있다. 다른 실시예들에서, 비디오 게임(112)의 구성 내의 차이에 기인한 감정 상태의 변경에 대해 보다 거친 성질 분석(more coarse-grained analysis)을 수행하기 위해 비디오 게임(112)의 각각의 구성에 대해 다수의 변경이 이루어질 수 있다. 비디오 게임(112)의 구성의 차이는 게임플레이(gameplay), 분위기(atmosphere), 난이도(difficulty) 또는 비디오 게임(112)을 플레이하는 사용자의 감정 상태에 영향을 미칠 수 있는 임의의 다른 요인을 포함할 수 있다.
블록(504)에서, 게임 테스트 엔진(136)은 비디오 게임(112)의 각 구성을 사용자의 세트에 제시되게 하거나 제시할 수 있다. 특정 실시예에서, 비디오 게임의 각 구성은 다수의 상이한 플레이 세션에 걸쳐 사용자의 동일한 세트(same set of users)에 제시된다. 예를 들어, 비디오 게임(112)의 2개의 구성이 있는 경우, 제1 플레이 세션 동안 사용자에게는 비디오 게임의 제1 구성이 제시될 수 있고, 제2 플레이 세션 동안 사용자에게는 비디오 게임의 제2 구성으로 제시될 수 있다. 대안적으로 또는 부가적으로, 비디오 게임(112)의 각각의 구성은 하나 이상의 플레이 세션을 통해 사용자의 상이한 세트에 제시될 수 있다. 예를 들어, 비디오 게임(112)의 제1 버전을 플레이하도록 사용자의 제1 세트가 지정되거나 그렇지 않으면 선택될 수 있고, 비디오 게임(112)의 제2 버전을 플레이하도록 사용자의 제2 세트가 지정되거나 그렇지 않으면 선택될 수 있다.
블록(506)에서, 감정 캡처 및 결정 시스템(118)은 비디오 게임(112)의 각 구성에 대한 사용자의 세트에 대한 감각 및/또는 생체 데이터를 획득한다. 특정 실시예에서, 블록(506)은 블록(302 및/또는 402)에 관해 이전에 설명된 하나 이상의 실시예를 포함할 수 있다.
예측 모델을 사용하여, 감정 분석 시스템(126)은 블록(508)에서 비디오 게임의 각 구성에 대한 감각 및/또는 생체 데이터에 기초하여 사용자의 세트에 대한 예측된 감정 상태를 결정한다. 특정 실시예에서, 블록(508)은 블록(304 및/또는 404)에 관해 설명된 비어즐리(Beardsley)의 실시예들 중 하나 이상을 포함할 수 있다.
블록(510)에서, 게임 테스트 엔진(136)은 비디오 게임(112)의 각 구성에 대한 예측된 감정 상태를 게임 구성 저장소(144)에서 비디오 게임 구성의 아이덴티티와 연관시킨다. 특정 실시예에서, 게임 테스트 엔진(136)은 모든 테스트된 비디오 게임 구성을 테스트 사용자의 세트에서 야기된 감정 상태의 유형 및/또는 테스트 사용자 세트에서 야기된 감정 상태의 정도의 지표(indicator)와 함께 저장한다. 다른 실시예들에서, 게임 테스트 엔진(136)은 테스트 사용자의 세트들 사이에서 긍정적인 감정 상태를 야기한 비디오 게임 구성들만을 저장할 수 있다. 또 다른 실시예에서, 게임 테스트 엔진(136)은 가장 긍정적인 감정 상태를 유발하거나 임계치를 만족하거나 초과하는 긍정적인 감정 상태를 유발하는 비디오 게임 구성을 저장할 수 있다.
유리하게는, 특정 실시예에서, 게임 구성 저장소(144)의 상이한 감정 상태와 상이한 비디오 게임 구성을 연관시킴으로써, 비디오 게임(112)은 장래의 플레이 세션 동안 또는 다른 사용자를 위해 동적으로 수정될 수 있다. 또한, 특정 실시예에서, 실시간으로 또는 사용자가 특정 비디오 게임 세션을 플레이하는 동안 필요한 프로세싱의 양은 감소될 수 있는데, 이는 상이한 비디오 게임 상태 구성의 결정이 미리 결정될 수 있기 때문이다.
또한, 본 명세서에 개시된 특정 실시예들은 고유하게 동적으로 구성 가능한 사용자 인터페이스(unique dynamically configurable user interface)를 제공할 수 있다. 예를 들어, 비디오 게임(112)의 사용자 인터페이스는 비디오 게임(112)을 플레이하는 특정 사용자의 특정 예측된 감정 상태에 기초하여 상이한 게임플레이 세션 동안 동적으로 수정될 수 있다. 이 사용자 인터페이스는 사용자가 비디오 게임을 플레이할 때 상호 작용하는 플레이 가능한 사용자 인터페이스를 포함할 수 있다.
특정 실시예에서, 프로세스(500)는 바람직하지 않은 비디오 게임(112)의 구성을 식별하는데 사용될 수 있다. 예를 들어, 비디오 게임의 특정 구성이 임계 수 이상의 사용자에 대해 부정적인 감정 상태를 유발한다고 결정되면, 개발자는 비디오 게임(112)의 특정 구성을 사용하지 않기로 결정할 수 있다. 따라서, 본 명세서에 개시된 특정 실시예는 테스트 사용자 또는 베타 사용자(beta users)와 같은 사용자의 세트 중에서 비디오 게임(112)의 테스트를 용이하게 하는데 사용될 수 있다. 또한, 특정 실시예에서, 부정적인 감정 상태와 연관된 비디오 게임의 특정 구성은 게임 구성 저장소(144)에서 생략될 수 있다. 대안적으로, 특정 실시예에서, 부정적인 감정 상태와 연관된 비디오 게임(112)의 특정 구성은 비디오 게임의 구성을 수정하는 방법을 결정할 때 게임 구성 시스템(134)이 비디오 게임의 특정 구성을 사용하지 못하게 하는 지표(indicator)와 함께 게임 구성 저장소(144)에 저장될 수 있다.
특정 실시예에서, 프로세스(300, 400 또는 500) 중 하나 이상이 사용되어 비디오 게임(112)에 대한 수정이 사용자의 감정 상태 또는 예측된 감정 상태를 유발하여 특정 방향으로 움직이도록 하는지를 결정할 수 있다. 감정 상태 또는 예측된 감정 상태의 변경의 특정 방향에 기초하여, 게임 구성 시스템(134)은 비디오 게임(112)에 추가적인 변경을 주는지를 결정할 수 있다. 비디오 게임(112)에 대한 이러한 추가적인 변경은 동일한 방향으로 감정 사태를 더 변경시키거나 감정 상태 또는 예측된 감정 상태의 변경의 특정 방향을 반전시키려고 시도하도록 선택될 수 있다. 예를 들어, 비디오 게임(112)이 사용자에게 보다 긍정적인 감정을 느끼게 하는 구성의 변경이 있다고 결정되면, 비디오 게임(112)을 더 이상 변경할 수 없으며, 유사한 변경이 비디오 게임(112)의 추가 부분에 있을 수 있거나, 비디오 게임(112)에 대한 변경의 정도가 증가될 수 있다. 대조적으로, 비디오 게임(112)의 구성의 변경으로 인해 사용자가 부정적인 감정을 더 많이 제기하는 것으로 결정되면, 비디오 게임(112)의 변경은 반전될 수 있거나 비디오 게임(112)의 추가 부분에 상이한 변경이 이루어질 수 있다.
컴퓨팅 시스템의 개요
도 6은 사용자 컴퓨팅 시스템(110)의 일 실시예를 도시하며, 이는 또한 게임 시스템으로 지칭될 수 있다. 도시된 바와 같이, 사용자 컴퓨팅 시스템(110)은 다수의 요소를 포함할 수 있는 단일 컴퓨팅 장치일 수 있다. 그러나, 일부 경우들에서, 사용자 컴퓨팅 시스템(110)은 다수의 장치들을 포함할 수 있다. 예를 들어, 사용자 컴퓨팅 시스템(110)은 중앙 처리 장치 및 그래픽 처리 장치를 포함하는 하나의 장치, 디스플레이를 포함하는 다른 장치 및 키보드 또는 마우스와 같은 입력 메커니즘(input mechanism)을 포함하는 다른 장치를 포함할 수 있다.
사용자 컴퓨팅 시스템(110)은 게임 시스템을 실행할 수 있는 컴퓨팅 시스템의 일 실시예일 수 있다. 도 6의 비 제한적인 예시에서, 사용자 컴퓨팅 시스템(110)은 터치스크린 디스플레이(touchscreen display)(602)를 통해 사용자로부터 입력을 수신할 수 있는 터치 가능 컴퓨팅 장치(touch-capable computing device)이다. 그러나, 사용자 컴퓨팅 시스템(110)은 터치스크린 디스플레이(602)를 포함하지 않는 비접촉식 실시예(non-touch capable embodiment)를 포함하지만, 이에 한정되지 않는다.
사용자 컴퓨팅 시스템(110)은 터치스크린 디스플레이(602) 및 터치스크린 인터페이스(touchscreen interface)(604)를 포함하고, 게임 애플리케이션(610)을 실행하도록 구성된다. 이 게임 애플리케이션은 비디오 게임(112) 또는 비디오 게임 실행 환경(video game execution environment)과 같은 비디오 게임(112)과 함께 또는 그 지원으로 실행하는 애플리케이션일 수 있다. 게임 애플리케이션(610)으로 설명되었지만, 일부 실시예에서 애플리케이션(610)은 교육 소프트웨어와 같은 사용자의 선호도 또는 능력에 적어도 부분적으로 기초하여 가변 실행 상태(variable execution state)를 가질 수 있는 다른 유형의 애플리케이션일 수 있다. 사용자 컴퓨팅 시스템(110)은 터치스크린 디스플레이(602)를 포함하지만, 터치스크린 디스플레이(602)에 추가하여 또는 그 대신에 다양한 입력 장치가 사용될 수 있다는 것이 인식된다.
사용자 컴퓨팅 시스템(110)은 중앙 처리 장치(CPU: central processing units), 그래픽 처리 장치(GPU: graphics processing units) 및 가속 처리 장치(APU: accelerated processing units)와 같은 하나 이상의 프로세서를 포함할 수 있다. 또한, 사용자 컴퓨팅 시스템(110)은 하나 이상의 데이터 저장 요소를 포함할 수 있다. 일부 실시예에서, 사용자 컴퓨팅 시스템(110)은 게임 애플리케이션(610)을 실행하기 위한 목적으로 생성된 특수 컴퓨팅 장치일 수 있다. 예를 들어, 사용자 컴퓨팅 시스템(110)은 비디오 게임 콘솔(video game console)일 수 있다. 사용자 컴퓨팅 시스템(110)에 의해 실행되는 게임 애플리케이션(610)은 특정 애플리케이션 프로그래밍 인터페이스(API: application programming interface)를 사용하여 생성되거나 사용자 컴퓨팅 시스템(110)에 특정될 수 있는 특정 명령 세트로 컴파일(compiled) 될 수 있다. 일부 실시예에서, 사용자 컴퓨팅 시스템(110)은 게임 애플리케이션(610) 및 비 게임 애플리케이션을 실행할 수 있는 범용 컴퓨팅 장치(general purpose computing device)일 수 있다. 예를 들어, 사용자 컴퓨팅 시스템(110)은 외부 터치스크린 디스플레이(external touchscreen display)를 갖는 통합 터치스크린 디스플레이(integrated touchscreen display) 또는 데스크탑 컴퓨터(desktop computer)를 구비한 랩탑일 수 있다. 사용자 컴퓨팅 시스템(110)의 일 예시적인 실시예의 구성 요소는 도 7과 관련하여 보다 상세하게 설명된다.
터치 스크린 디스플레이(602)는 정전식 터치스크린(capacitive touchscreen), 저항식 터치스크린(resistive touchscreen), 표면 탄성파 터치스크린(surface acoustic wave touchscreen), 또는 사용자로부터 터치 입력으로도 지칭되는 접촉식 입력(tactile inputs)을 수신하도록 구성된 다른 유형의 터치스크린 기술일 수 있다. 예를 들어, 터치 입력은 스크린을 터치하는 손가락, 스크린을 터치하는 다수의 손가락, 스타일러스(stylus), 또는 터치스크린 디스플레이(602) 상에 터치 입력을 등록하는데 사용될 수 있는 다른 자극을 통해 수신될 수 있다. 터치스크린 인터페이스(604)는 터치 입력을 데이터로 변환하고 데이터를 출력하도록 구성될 수 있어, 운영 시스템 및 게임 애플리케이션(610)과 같은 사용자 컴퓨팅 시스템(110)의 구성 요소에 의해 해석될 수 있도록 한다. 터치스크린 인터페이스(604)는 접촉식 터치 입력 터치(the tactile touch input touch)의 특성을 터치 입력 데이터(touch input data)로 변환할 수 있다. 터치 입력의 일부 예시적인 특성은 형상, 크기, 압력, 위치, 방향, 운동량(momentum), 지속 시간 및/또는 다른 특성을 포함할 수 있다. 터치스크린 인터페이스(604)는, 예를 들어 탭(tap)(예를 들어, 단일 위치에서의 터치 및 릴리스) 또는 스와이프(swipe)(예를 들어, 단일 터치 입력으로 터치스크린상의 복수의 위치를 통한 움직임)와 같은 터치 입력의 유형을 결정하도록 구성될 수 있다. 터치스크린 인터페이스(604)는 동시에 또는 실질적으로 병렬로 발생하는 다수의 터치 입력과 연관된 터치 입력 데이터를 검출 및 출력하도록 구성될 수 있다. 일부 경우에서, 동시 터치 입력은 사용자가 터치스크린 디스플레이(602) 상에 제1 터치를 유지하는 한편 터치스크린 디스플레이(602) 상에 제2 터치를 수행하는 경우를 포함할 수 있다. 터치스크린 인터페이스(604)는 터치 입력의 움직임을 검출하도록 구성될 수 있다. 터치 입력 데이터는 프로세싱을 위해 사용자 컴퓨팅 시스템(110)의 구성 요소로 전송될 수 있다. 예를 들어, 터치 입력 데이터는 프로세싱을 위해 게임 애플리케이션(610)에 직접 전송될 수 있다.
일부 실시예에서, 터치 입력 데이터는 게임 애플리케이션(610)에 출력되기 전에 터치스크린 인터페이스(604), 운영 시스템(operating system) 또는 다른 구성 요소에 의한 프로세싱 및/또는 필터링을 거칠 수 있다. 일 예시로서, 원시 터치 입력 데이터(raw touch input data)는 터치 입력으로부터 캡처될 수 있다. 원시 데이터는 필터링되어 배경 잡음을 제거하고, 입력과 연관된 압력 값이 측정될 수 있으며, 터치 입력과 연관된 위치 좌표는 계산될 수 있다. 게임 애플리케이션(610)에 제공된 터치 입력 데이터의 유형은 터치스크린 인터페이스(604)의 특정 구현 및 터치스크린 인터페이스(604)와 연관된 특정 API에 의존될 수 있다. 일부 실시예에서, 터치 입력 데이터는 터치 입력의 위치 좌표를 포함할 수 있다. 터치 신호 데이터는 정의된 주파수로 출력될 수 있다. 터치 입력을 프로세싱하는 것은 초당 여러 번 계산될 수 있으며, 터치 입력 데이터는 추가 프로세싱을 위해 게임 애플리케이션에 출력될 수 있다.
게임 애플리케이션(610)은 사용자 컴퓨팅 시스템(110)상에서 실행되도록 구성될 수 있다. 또한, 게임 애플리케이션(610)은 비디오 게임, 게임, 게임 코드 및/또는 게임 프로그램으로 지칭될 수 있다. 게임 애플리케이션은 사용자 컴퓨팅 시스템(110)이 사용자가 게임을 플레이하기 위해 사용할 수 있는 소프트웨어 코드(software code)를 포함하는 것으로 이해되어야 한다. 게임 애플리케이션(610)은 실행을 위한 프로세서 명령어를 사용자 컴퓨팅 시스템(110)에 알리는 소프트웨어 코드를 포함할 수 있지만, 상수, 이미지 및 다른 데이터 구조와 관련된 데이터와 같이 게임의 플레이에 사용되는 데이터를 포함할 수도 있다. 예를 들어, 도시된 실시예에서, 게임 애플리케이션은 게임 엔진(612), 게임 데이터(614) 및 게임 상태 정보(game state information)(616)를 포함한다.
터치스크린 인터페이스(604) 또는 운영 시스템과 같은 사용자 컴퓨팅 시스템(110)의 다른 구성 요소는 터치 입력과 같은 사용자 입력을 게임 애플리케이션(610)에 제공할 수 있다. 일부 실시예에서, 사용자 컴퓨팅 시스템(110)은 마우스, 키보드, 카메라, 게임 컨트롤러 등과 같은 대안적인 또는 추가의 사용자 입력 장치를 포함할 수 있다. 사용자는 터치스크린 인터페이스(604) 및/또는 하나 이상의 대안적인 또는 추가의 사용자 입력 장치를 통해 게임 애플리케이션(610)과 상호 작용할 수 있다. 게임 엔진(612)은 사용자 컴퓨팅 시스템(110) 내의 게임 애플리케이션(610)의 동작의 측면을 실행하도록 구성될 수 있다. 게임 애플리케이션 내의 게임플레이의 측면의 실행은 수신된 사용자 입력, 게임 데이터(614) 및 게임 상태 정보(616)에 적어도 부분적으로 기초할 수 있다. 게임 데이터(614)는 게임 규칙, 미리 기록된 모션 캡처 포즈/경로(prerecorded motion capture poses/paths), 환경 설정, 제약, 애니메이션 기준 곡선(animation reference curves), 골격 모델(skeleton models) 및/또한 다른 게임 애플리케이션 정보를 포함할 수 있다. 또한, 게임 데이터(614)는 게임 애플리케이션(610)의 난이도를 설정 또는 조정하는데 사용되는 정보를 포함할 수 있다.
게임 엔진(612)은 게임 규칙에 따라 게임 내에서 게임플레이를 실행할 수 있다. 게임 규칙의 몇몇 예시는 스코어링을 위한 규칙(rules for scoring), 가능한 입력, 액션/이벤트, 입력에 응답한 움직임 등을 포함할 수 있다. 다른 구성 요소는 어떤 입력이 받아들여지고 게임이 어떻게 진행되는지, 그리고 게임플레이의 다른 측면을 제어할 수 있다. 게임 애플리케이션(610)의 실행 동안, 게임 애플리케이션(610)은 게임 상태 정보(616)를 저장할 수 있으며, 이는 캐릭터 상태, 환경 상태, 장면 오브젝트 저장(scene object storage), 및/또는 게임 애플리케이션(610)의 실행의 상태와 연관된 다른 정보를 포함할 수 있다. 예를 들어, 게임 상태 정보(616)는 캐릭터 위치, 캐릭터 액션, 게임 레벨 속성 및 게임 애플리케이션의 상태에 기여하는 다른 정보와 같은 특정 시점에서 게임 애플리케이션의 상태를 식별할 수 있다.
게임 엔진(612)은 사용자 입력을 수신하여 게임 애플리케이션(610)에 적합한 액션, 충돌(collisions), 달리기(runs), 던지기(throws), 공격 및 다른 이벤트와 같은 게임 내 이벤트를 결정할 수 있다. 동작 동안, 게임 엔진(612)은 적절한 게임 내 이벤트를 결정하기 위하여 게임 데이터(614) 및 게임 상태 정보(616)를 판독할 수 있다. 일 예시에서, 게임 엔진(612)이 캐릭터 이벤트를 결정한 후에, 캐릭터 이벤트는 캐릭터가 이벤트에 응답하여 만들어야 하는 적절한 모션을 결정하고 그 모션을 애니메이션 엔진(animation engine)으로 패스(passes)할 수 있는 움직임 엔진(movement engine)으로 전달될 수 있다. 애니메이션 엔진은 캐릭터를 위한 새로운 포즈를 결정하고 스키닝 및 렌더링 엔진(skinning and rendering engine)에 새로운 포즈를 제공할 수 있다. 스키닝 및 렌더링 엔진은 전체 장면으로 움직이는alnimate), 움직이지 않는(inanimate) 및 배경 오브젝트를 조합하기 위하여 오브젝트 결합기(object combiner)에 캐릭터 이미지를 제공할 수 있다. 전체 장면은 렌더러(renderer)로 전달될 수 있으며, 이는 사용자에게 디스플레이 할 새 프레임을 생성할 수 있다. 프로세스는 게임 애플리케이션의 실행 동안 각 프레임을 렌더링하기 위해 반복될 수 있다. 프로세스가 캐릭터의 컨텍스트로 설명되었지만, 프로세스는 이벤트를 프로세싱하고 사용자에게 디스플레이하기 위해 출력을 렌더링하는 임의의 프로세스에 적용될 수 있다.
컴퓨팅 시스템의 하드웨어 구성 예시
도 7은 도 6의 사용자 컴퓨팅 시스템(110)에 대한 하드웨어 구성의 일 실시예를 도시한다. 사용자 컴퓨팅 시스템(110)의 다른 변형은 사용자 컴퓨팅 시스템(110)에 구성 요소를 제거하거나 추가하는 것과 같이, 본 명세서에 명시적으로 제시된 예시를 대체할 수 있다. 사용자 컴퓨팅 시스템(110)는 전용 게임 장치(dedicated game device), 스마트 폰, 태블릿, 개인용 컴퓨터, 데스크탑, 랩탑, 스마트 텔레비전(smart television), 자동차 콘솔 디스플레이(car console display), 등을 포함할 수 있다. 또한, (도 7에 명시적으로 도시되어 있지 않지만) 도 6에 관해 설명된 바와 같이, 사용자 컴퓨팅 시스템(110)은 선택적으로 터치스크린 디스플레이(602) 및 터치스크린 인터페이스(604)를 포함할 수 있다.
도시된 바와 같이, 사용자 컴퓨팅 시스템(110)은 사용자 컴퓨팅 시스템(110)의 다른 구성 요소 및 사용자 컴퓨팅 시스템(110)에 대한 외부 구성 요소와 상호 작용하는 프로세싱 유닛(620)을 포함한다. 게임 매체(12)와 통신할 수 있는 게임 매체 판독기(game media reader)(22)가 포함될 수 있다. 게임 매체 판독기(22)는 CD-ROM 또는 DVD와 같은 광학 디스크(optical discs)를 판독할 수 있는 광학 디스크 판독기(optical disc reader) 또는 게임 매체(12)로부터 데이터를 수신하고 판독할 수 있는 임의의 다른 유형의 판독기일 수 있다. 일부 실시예에서, 게임 매체 판독기(22)는 선택적이거나 생략될 수 있다. 예를 들어, 게임 콘텐츠 또는 애플리케이션은 네트워크 I/O(38)를 통해 네트워크에 액세스되어 게임 매체 판독기(22) 및/또는 게임 매체(12)를 선택적으로 렌더링 할 수 있다.
사용자 컴퓨팅 시스템(110)은 별도의 그래픽 프로세서(graphics processor)(24)를 포함할 수 있다. 일부 경우에서, 그래픽 프로세서(24)는 APU와 같은 프로세싱 유닛(20)에 내장될 수 있다. 일부 이러한 경우에서, 그래픽 프로세서(24)는 랜덤 액세스 메모리(RAM: random access memory)를 프로세싱 유닛(620)과 공유할 수 있다. 대안적으로 또는 부가적으로, 사용자 컴퓨팅 시스템(110)은 프로세싱 유닛(20)과 별도인 이산 그래픽 프로세서(discrete graphics processor)(24)를 포함할 수 있다. 일부 이러한 경우에서, 그래픽 프로세서(24)는 프로세싱 유닛(20)과 별도인 RAM을 가질 수 있다. 또한, 일부 경우에서, 그래픽 프로세서(24)는 하나 이상의 추가적인 그래픽 프로세서 및/또는 임베디드 또는 비-이산 그래픽 프로세싱 유닛(embedded or non-discrete graphics processing unit)과 함께 동작할 수 있으며, 이는 마더보드(motherboard)에 내장될 수 있고, 때때로 온-보드 그래픽 칩 또는 장치(on-board graphics chip or device)로서 불린다.
또한, 사용자 컴퓨팅 시스템(110)은 I/O(32), 사용자 I/O(user I/O)(34), 디스플레이 I/O(display I/O)(36) 및 네트워크 I/O(network I/O)(38)와 같은 입력/출력을 가능하게 하기 위한 다양한 구성 요소를 포함한다. 전술한 바와 같이, 입력/출력 구성 요소는 일부 경우에서 터치 가능한 장치(touch-enabled devices)를 포함할 수 있다. I/O(32)는 장치(42)를 통해 컴퓨팅 장치(600)를 위한 저장소를 제공하기 위하여 제거 가능한 저장 매체(removable storage media)(44) 및 저장 요소(storage element)(40)와 상호 작용한다. 프로세싱 유닛(20)은 게임 상태 데이터 및 임의의 공유 데이터 파일과 같은 데이터를 저장하기 위해 I/O(32)를 통해 통신할 수 있다. 또한, 저장소(40) 및 제거 가능한 저장 매체(44)에 추가하여, 컴퓨팅 장치(600)는 ROM(Read-Only Memory)(46) 및 RAM(48)을 포함하여 도시된다. RAM(48)은 비디오 게임이 플레이 될 때와 같이, 자주 액세스되는 데이터를 위해 사용될 수 있다.
사용자 I/O(34)는 프로세싱 유닛(20)과 게임 컨트롤러(game controllers)와 같은 사용자 장치 사이에서 명령을 전송 및 수신하기 위해 사용된다. 일부 실시예에서, 사용자 I/O(34)는 터치스크린 입력을 포함할 수 있다. 앞서 설명된 바와 같이, 터치스크린은 용량성 터치스크린, 저항성 터치스크린 또는 사용자로부터의 촉각 입력을 통해 사용자 입력을 수신하도록 구성된 다른 유형의 터치스크린 기술일 수 있다. 디스플레이 I/O(36)는 플레이된 게임의 이미지를 디스플레이하는 데 사용되는 입력/출력 기능을 제공한다. 네트워크 I/O(38)는 네트워크에 대한 입력/출력 기능을 위해 사용된다. 네트워크 I/O(38)는 게임이 온라인으로 플레이되거나 온라인으로 액세스 될 때, 게임의 실행 중에 사용될 수 있다.
디스플레이 출력 신호는 디스플레이 I/O(36)에 의해 생성될 수 있고, 그래픽, 사용자 인터페이스, 비디오 및/또는 다른 시각적 콘텐츠와 같은 디스플레이 장치 상에 컴퓨팅 장치(600)에 의해 생성된 시각적 콘텐츠를 디스플레이하기 위한 신호를 포함한다. 사용자 컴퓨팅 시스템(110)은 디스플레이 I/O(36)에 의해 생성된 디스플레이 출력 신호를 수신하도록 구성된 하나 이상의 통합된 디스플레이를 포함할 수 있으며, 이는 사용자에게 디스플레이하기 위해 출력될 수 있다. 일부 실시예에 따르면, 디스플레이 I/O(36)에 의해 생성된 디스플레이 출력 신호는 또한 컴퓨팅 장치(600) 외부의 하나 이상의 디스플레이 장치에 출력될 수 있다.
또한, 사용자 컴퓨팅 시스템(110)은 클록(clock)(50), 플래시 메모리(flash memory)(52) 및 다른 구성 요소와 같은 게임과 함께 사용될 수 있는 다른 특징들을 포함할 수 있다. 오디오/비디오 플레이어(56)는 또한 무비와 같은 비디오 시퀀스(video sequence)를 플레이하는데 사용될 수 있다. 다른 구성 요소가 사용자 컴퓨팅 시스템(110)에 제공될 수 있고, 당업자는 사용자 컴퓨팅 시스템(110)의 다른 변형을 이해할 수 있음을 이해해야 한다.
프로그램 코드는 ROM(46), RAM(48) 또는 저장소(storage)(40)(이는 하드 디스크, 다른 자기 저장소, 광학 저장소, 솔리드 스테이트 드라이브(solid state drives) 및/또는 다른 비 휘발성 저장소 또는 이들의 조합 또는 변형을 포함할 수 있음)에 저장될 수 있다. 프로그램 코드의 적어도 일부는 저장소(40)에서, 프로그램 가능한 ROM(ROM, PROM, EPROM, EEPROM 등)에 저장될 수 있고, 및/또는 게임 매체(12)와 같은 제거 가능한 매체(CD-ROM, 카트리지(cartridge), 메모리 칩(memory chip) 등일 수 있거나, 필요에 따라 네트워크 또는 다른 전자 채널(electronic channel)을 통해 획득될 수 있음)에 저장될 수 있다. 일반적으로, 프로그램 코드는 유형의 비-일시적 신호 전달 매체(tangible non-transitory signal-bearing medium)로 구체화될 수 있다.
랜덤 액세스 메모리(RAM)(48)(및 가능하게는 다른 저장소)는 필요에 따라 변수 및 다른 게임 및 프로세서 데이터를 저장하는데 사용될 수 있다. RAM(48)은 사용되고, 게임의 플레이 중에 생성되는 데이터를 보유하고, 그 일부는 프레임 버퍼(frame buffers), 게임 상태(game state), 및/또는 사용자 입력을 해석하고 게임 디스플레이를 생성하는데 필요하거나 사용될 수 있는 다른 데이터를 위해 확보(reserved)될 수 있다. 일반적으로, RAM(48)은 휘발성 저장소이고, RAM(48) 내에 저장된 데이터는 사용자 컴퓨팅 시스템(110)이 꺼지거나 전력을 잃을 때 손실될 수 있다.
사용자 컴퓨팅 시스템(110)이 게임 매체(12)를 판독하고, 게임을 제공함에 따라, 정보는 게임 매체(12)로부터 판독될 수 있고 RAM(48)과 같은 메모리 장치에 저장될 수 있다. 또한, 저장소(40), ROM(46), 네트워크(미도시)를 통해 액세스된 서버 또는 제거 가능한 저장 매체(46)로부터의 데이터가 판독되어 RAM(48)에 로드될 수 있다. 데이터가 RAM(48)에서 발견되는 것으로 설명되었지만, 데이터는 RAM(48)에 저장될 필요가 없고 게임 매체(12) 및 저장소(40)와 같은 몇몇 매체들 사이에 분산되거나 프로세싱 유닛(20)에 액세스 가능한 다른 메모리 저장될 수 있다.
추가적인 실시예
반드시 모든 목적 또는 이점이 본 명세서에 설명된 임의의 특정 실시예에 따라 달성될 수 있는 것은 아님을 이해해야 한다. 따라서, 예를 들어, 당업자는 특정 실시예들이 본 명세서에서 교시되거나 제안될 수 있는 이점들 또는 다른 목적을 반드시 달성하지 않으면서 본 명세서에서 교시된 이점들의 그룹 또는 하나의 이점을 달성하거나 최적화하는 방식으로 동작하도록 구성될 수 있다는 것을 인식할 것이다.
본 명세서에 설명된 모든 프로세스는 하나 이상의 컴퓨터 또는 프로세서를 포함하는 컴퓨팅 시스템에 의해 실행되는 소프트웨어 코드 모듈(software code modules)을 통해 구현될 수 있으며 완전히 자동화될 수 있다. 코드 모듈은 임의의 유형의 비 일시적 컴퓨터 판독 가능 매체 또는 다른 컴퓨터 저장 장치에 저장될 수 있다. 일부 또는 모든 방법은 특수한 컴퓨터 하드웨어로 구체화될 수 있다.
본 명세서에 설명된 것 이외의 많은 다른 변형이 이 발명으로부터 명백할 것이다. 예를 들어, 실시예에 따라, 본 명세서에 설명된 임의의 알고리즘의 특정 액션, 이벤트 또는 기능은 상이한 시퀀스로 수행될 수 있고, 합산되거나, 병합되거나, 생략될 수 있다(예를 들어, 설명된 모든 액트(acts) 또는 이벤트는 알고리즘의 실행에 필요하지 않음). 또한, 특정 실시예에서, 액트 또는 이벤트는 예를 들어, 멀티-스레드 프로세싱(multi-threaded processing), 인터럽트 프로세싱(interrupt processing), 또는 다중 프로세서(multiple processors) 또는 프로세서 코어(processor cores)를 통해 또는 순차적으로 수행되는 것이 아니라 다른 병렬 아키텍처(parallel architectures)를 통해 동시에 수행될 수 있다. 또한, 서로 다른 작업 또는 프로세스가 함께 기능할 수 있는 컴퓨팅 시스템 및/또는 상이한 머신에 의해 수행될 수 있다.
본 명세서에 개시된 실시예와 관련하여 설명된 다양한 예시적인 논리 블록 및 모듈은 프로세싱 유닛 또는 프로세서, 디지털 신호 프로세서(DSP: digital signal processor), 주문형 집적 회로(ASIC: application specific integrated circuit), 필드 프로그램 가능 게이트 어레이(FPGA: field programmable gate array) 또는 다른 프로그래머블 로직 장치(or other programmable logic device), 이산 게이트 또는 트랜지스터 로직(discrete gate or transistor logic), 이산 하드웨어 구성 요소(discrete hardware components), 또는 본 명세서에 설명된 기능을 수행하도록 설계된 이들의 임의의 조합 등과 같은 머신에 의해 구현되거나 수행될 수 있다. 프로세서는 마이크로프로세서(microprocessor)일 수 있지만, 대안적으로, 프로세서는 컨트롤러, 마이크로컨트롤러(microcontroller) 또는 상태 머신(state machine), 이들의 조합 등일 수 있다. 프로세서는 컴퓨터 실행 가능한 명령어(computer-executable instructions)를 처리하도록 구성된 전기 회로를 포함할 수 있다. 다른 실시예에서, 프로세서는 컴퓨터 실행 가능한 명령어들을 프로세싱하지 않고 로직 동작들을 수행하는 FPGA 또는 다른 프로그램 가능한 장치를 포함한다. 또한 프로세서는 컴퓨팅 장치의 조합, 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 결합된 하나 이상의 마이크로프로세서, 또는 임의의 다른 이러한 구성으로 구현될 수 있다. 본 명세서에서 주로 디지털 기술과 관련하여 설명되었지만, 프로세서는 또한 주로 아날로그 구성 요소(analog components)를 포함할 수 있다. 컴퓨팅 환경은 예를 들어, 마이크로프로세서, 메인프레임 컴퓨터(mainframe computer), 디지털 신호 프로세서, 휴대용 컴퓨팅 장치, 장치 제어기, 또는 어플라이언스 내의 컴퓨팅 엔진(computational engine within an appliance)을 기반으로 하는 컴퓨터 시스템을 포함하지만 이에 제한되지 않는 임의의 유형의 컴퓨터 시스템을 포함할 수 있다.
무엇보다, 달리 명시하지 않는 한, "할 수 있다(can)", "할 수 있다(could)", "일 수 있다(might)" 또는 "일 수 있다(may)"와 같은 조건 언어(Conditional language)는 특정 실시예가 포함하는 것을 전달하기 위해 일반적으로 사용되는 바와 같이 컨텍스트 내에서 이해되는 반면, 다른 실시예는 특정 특징, 요소 및/또는 단계를 포함하지 않는다. 따라서, 그러한 조건 언어는 일반적으로 특징, 요소 및/또는 단계가 하나 이상의 실시예에 대해 어떤 방식으로든 요구되거나 또는 이러한 특징, 요소 및/또는 단계가 임의의 특정 실시예에 포함되거나 수행될 것인지, 하나 이상의 실시예가 사용자 입력 또는 프롬프트 가지고 또는 가지지 않고 결정하기 위한 로직을 반드시 포함한다는 것을 의미하지 않는다.
달리 명시하지 않는 한, "X, Y 또는 Z 중 적어도 하나"와 같은 분리 언어(Disjunctive language)는 일반적으로 아이템, 용어 등이 존재한다는 것을 제시하는데 사용되는 컨텍스트와 함께 이해되며, X, Y 또는 Z, 또는 이들의 임의의 조합(예를 들어, X, Y 및/또는 Z) 일 수 있다. 따라서, 이러한 분리 언어는 특정 실시예가 X 중 적어도 하나, Y 중 적어도 하나 또는 Z 중 적어도 하나를 각각 존재(present)할 것을 요구한다는 것을 일반적으로 의미하도록 의도되지 않으며, 의미하지도 않는다.
본 명세서에 설명되거나 및/또는 첨부된 도면에 도시된 흐름도의 임의의 프로세스 설명, 요소 또는 블록은 프로세스에서 특정 로지컬 기능(specific logical functions) 또는 요소를 구현하기 위한 하나 이상의 실행 가능한 명령어를 포함하는 코드의 모듈, 세그먼트 또는 부분으로 잠재적으로 제시되는 것으로서 이해되어야 한다. 대안적 구현들은 당업자에 의해 이해될 수 있는 관련 기능에 따라, 실질적으로 동시에 또는 역순으로 포함하여, 요소 또는 기능이 삭제되거나, 도시된 것으로부터 순차적으로 또는 설명된 순서로 실행될 수 있는 본 명세서에 설명된 실시예들의 범위 내에 포함된다.
달리 명시하지 않는 한, "일(a)" 또는 "일(an)"과 같은 아이템은 일반적으로 하나 이상의 설명된 아이템을 포함하도록 해석되어야 한다. 따라서, "~하도록 구성된 장치(a device configured to)"와 같은 문구는 하나 이상의 인용된 장치를 포함하도록 의도된다. 이러한 하나 이상의 열거된 장치는 명시된 기재 사항을 수행하도록 집합적으로 구성될 수도 있다. 예를 들어, "리시테이션(recitations) A, B 및 C를 수행하도록 구성된 프로세서"는 리시테이션 B 및 C를 수행하도록 구성된 제2 프로세서와 함께 동작하는 리시테이션 A를 수행하도록 구성된 제1 프로세서를 포함할 수 있다.
전술한 실시예에 많은 변형 및 수정이 이루어질 수 있으며, 그 요소는 다른 허용 가능한 예시들 중 하나로 이해되어야 한다는 점을 강조해야 한다. 이러한 모든 수정 및 변형은 본 명세서의 범위 내에 포함되는 것으로 의도된다.

Claims (20)

  1. 컴퓨터로 구현되는 방법에 있어서,
    특정 컴퓨터 실행 가능한 명령어로 구성된 인터랙티브 컴퓨팅 시스템에 의해 구현되어,
    비디오 게임을 플레이하는 사용자로부터 감각 데이터 세트를 수신하는 단계;
    제1 예측 모델을 사용하여, 상기 감각 데이터 세트에 적어도 부분적으로 기초하여 상기 사용자에 대한 예측된 감정 상태를 결정하는 단계;
    상기 사용자에 대한 상기 예측된 감정 상태에 적어도 부분적으로 기초하여, 상기 비디오 게임의 상태에 대한 제1 수정을 결정하는 단계; 및
    상기 비디오 게임의 상태에 대한 상기 결정된 제1 수정에 적어도 부분적으로 기초하여 상기 비디오 게임의 상태를 수정하는 단계
    를 포함하는 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서,
    상기 감각 데이터 세트는,
    하나 이상의 유형의 감각 데이터를 포함하는
    컴퓨터로 구현되는 방법.
  3. 제1항에 있어서,
    상기 감각 데이터 세트는,
    생체 데이터를 포함하는
    컴퓨터로 구현되는 방법.
  4. 제1항에 있어서,
    상기 감각 데이터 세트는,
    오디오 데이터; 시각 데이터; 심박수 데이터; 호흡수 데이터; 또는 갈바닉 피부 반응 데이터 중 적어도 하나를 포함하는
    컴퓨터로 구현되는 방법.
  5. 제1항에 있어서,
    하나 이상의 센서에 대응하는 신호의 세트를 수신하는 단계; 및
    상기 감각 데이터 세트를 획득하기 위해 상기 신호의 세트를 변환하는 단계
    를 더 포함하는 컴퓨터로 구현되는 방법.
  6. 제1항에 있어서,
    제2 예측 모델에 상기 사용자의 상기 예측된 감정 상태를 적어도 적용함으로써 상기 사용자에 대한 예측된 이탈율을 결정하는 단계
    를 더 포함하고,
    상기 비디오 게임의 상태에 대한 상기 제1 수정을 결정하는 단계는,
    상기 예측된 이탈율에 적어도 부분적으로 기초하여 상기 비디오 게임의 상태에 대한 상기 제1 수정을 결정하는 단계
    를 포함하는 컴퓨터로 구현되는 방법.
  7. 제1항에 있어서,
    상기 예측된 감정 상태를 결정하는 단계는,
    파라미터 함수에 상기 감각 데이터 세트를 제공하는 단계 - 상기 파라미터 함수는 기계 학습 알고리즘에 적어도 부분적으로 기초하여 생성됨 -; 및
    상기 파라미터 함수의 출력에 적어도 부분적으로 기초하여 상기 예측된 감정 상태를 결정하는 단계
    를 포함하는 컴퓨터로 구현되는 방법.
  8. 제7항에 있어서,
    적어도,
    감각 데이터의 제2 세트를 액세스하는 단계 - 상기 감각 데이터의 제2 세트는 상기 비디오 게임을 플레이하는 복수의 사용자와 연관되고, 하나 이상의 감정 상태에 대응함 -; 및
    상기 감각 데이터의 제2 세트 및 상기 대응하는 하나 이상의 감정 상태에 적어도 부분적으로 기초하여 상기 파라미터 함수를 결정하기 위해 상기 기계 학습 알고리즘을 사용하는 단계
    에 의해 상기 파라미터 함수를 생성하는 단계
    를 더 포함하는 컴퓨터로 구현되는 방법.
  9. 제1항에 있어서,
    상기 감각 데이터는,
    음성을 포함하는 오디오 데이터를 포함하고,
    상기 방법은,
    상기 음성을 텍스트로 변환하는 단계;
    상기 음성의 톤을 결정하는 단계; 및
    상기 음성의 의미 분석을 수행하는 단계
    를 더 포함하고,
    상기 사용자에 대한 상기 예측된 감정 상태를 결정하는 단계는,
    상기 음성의 의미 분석의 결과 및 상기 음성의 톤을 상기 제1 예측 모델에 제공하는 단계
    를 포함하는 컴퓨터로 구현되는 방법.
  10. 제1항에 있어서,
    상기 감각 데이터는,
    복수의 유형의 감각 데이터를 포함하고,
    상기 제1 예측 모델은,
    적어도 하나의 유형의 감각 데이터에 대해 적어도 하나의 다른 유형의 감각 데이터와 다르게 감각 데이터 가중치를 두는
    컴퓨터로 구현되는 방법.
  11. 제1항에 있어서,
    상기 비디오 게임의 상태에 대한 상기 제1 수정을 결정하는 단계는,
    복수의 잠재적인 비디오 게임 상태 수정을 결정하는 단계 - 각각의 잠재적인 비디오 게임 상태 수정은 상기 사용자의 감정 상태를 제1 감정 상태로부터 제2 감정 상태로 변경하는 것과 연관됨 -;
    상기 사용자에 대한 희망 감정 상태를 결정하는 단계; 및
    상기 복수의 잠재적인 비디오 게임 상태 수정으로부터, 상기 사용자의 감정 상태를 상기 예측된 감정 상태로부터 상기 희망 감정 상태로 변경하는 것과 연관된 상기 비디오 게임의 상태에 대한 상기 제1 수정을 선택하는 단계
    를 포함하는 컴퓨터로 구현되는 방법.
  12. 제1항에 있어서,
    상기 비디오 게임의 상태를 수정한 후에,
    상기 방법은,
    상기 비디오 게임을 플레이하는 상기 사용자로부터 감각 데이터의 제2 세트를 수신하는 단계;
    상기 제1 예측 모델을 사용하여, 상기 감각 데이터의 제2 세트에 적어도 부분적으로 기초하여 상기 사용자에 대한 제2 예측된 감정 상태를 결정하는 단계;
    상기 사용자에 대한 상기 제2 예측된 감정 상태에 적어도 부분적으로 기초하여, 상기 비디오 게임의 상태에 대한 제2 수정을 결정하는 단계; 및
    상기 비디오 게임의 상태에 대한 상기 결정된 제2 수정에 적어도 부분적으로 기초하여 상기 비디오 게임의 상태를 수정하는 단계
    를 더 포함하는 컴퓨터로 구현되는 방법.
  13. 제12항에 있어서,
    상기 비디오 게임의 상태에 대한 상기 제2 수정은,
    상기 사용자의 제2 예측된 감정 상태가 희망 감정 상태로부터 상기 사용자에 대한 상기 예측된 감정 상태보다 더 멀다고 결정되면,
    상기 비디오 게임의 상태를 상기 비디오 게임의 이전 상태로 복귀시키는
    컴퓨터로 구현되는 방법.
  14. 제12항에 있어서,
    상기 비디오 게임의 상태에 대한 상기 제2 수정은,
    상기 비디오 게임의 상태의 상기 제1 수정보다 상기 비디오 게임의 상태에 대한 반대 수정과 연관되는
    컴퓨터로 구현되는 방법.
  15. 시스템에 있어서,
    비디오 게임에 관한 감각 데이터를 저장하도록 구성된 전자 데이터 저장소; 및
    상기 전자 데이터 저장소와 통신하는 하드웨어 프로세서
    를 포함하고,
    상기 하드웨어 프로세서는,
    적어도,
    상기 비디오 게임을 플레이하는 사용자로부터 감각 데이터 세트를 수신하고,
    상기 감각 데이터 세트에 적어도 부분적으로 기초하여 상기 사용자에 대한 예측된 감정 상태를 결정하기 위해 제1 예측 모델을 사용하고,
    상기 사용자에 대한 상기 예측된 감정 상태에 적어도 부분적으로 기초하여, 상기 비디오 게임의 상태에 대한 제1 수정을 결정하고,
    상기 비디오 게임의 상태에 대한 상기 결정된 제1 수정에 적어도 부분적으로 기초하여 상기 비디오 게임의 상태를 수정하는
    특정 컴퓨터 실행 가능한 명령어들을 실행하도록 구성되는
    시스템.
  16. 제15항에 있어서,
    상기 하드웨어 프로세서는,
    상기 비디오 게임의 일부분에 대해 수정된 시드 값을 결정함으로써 상기 비디오 게임의 상태에 대한 상기 제1 수정을 결정하도록 더 구성되고,
    상기 수정된 시드 값은,
    상기 비디오 게임의 상기 일부분에 적용되도록 이전에 결정된 기존 시드 값과 다르며,
    상기 하드웨어 프로세서는,
    상기 기존 시드 값을 상기 수정된 시드 값으로 대체함으로써 상기 비디오 게임의 상태를 수정하도록 더 구성되는
    시스템.
  17. 제15항에 있어서,
    상기 하드웨어 프로세서는,
    상기 사용자의 상기 예측된 감정 상태를 제2 예측 모델에 적어도 적용함으로써 상기 사용자에 대한 예측된 이탈율을 결정하도록 더 구성되고,
    상기 비디오 게임의 상태에 대한 상기 제1 수정을 결정하는 것은,
    상기 예측된 이탈율에 적어도 부분적으로 기초하여 상기 비디오 게임의 상태에 대한 상기 제1 수정을 결정하는 것
    을 포함하는 시스템.
  18. 제15항에 있어서,
    상기 예측된 감정 상태를 결정하는 것은,
    파라미터 함수에 상기 감각 데이터 세트를 제공하는 것 - 상기 파라미터 함수는 기계 학습 알고리즘에 적어도 부분적으로 기초하여 생성됨 -; 및
    상기 파라미터 함수의 출력에 적어도 부분적으로 기초하여 상기 예측된 감정 상태를 결정하는 것
    을 포함하는 시스템.
  19. 제15항에 있어서,
    상기 하드웨어 프로세서는,
    적어도,
    감각 데이터의 제2 세트를 액세스하는 것 - 상기 감각 데이터의 제2 세트는 상기 비디오 게임을 플레이하는 복수의 사용자와 연관되고, 하나 이상의 감정 상태에 대응함 -; 및
    상기 감각 데이터의 제2 세트 및 대응하는 하나 이상의 감정 상태에 적어도 부분적으로 기초하여 상기 파라미터 함수를 결정하기 위해 상기 기계 학습 알고리즘을 사용하는 것
    에 의해 상기 파라미터 함수를 생성하도록 더 구성되는
    시스템.
  20. 제15항에 있어서,
    상기 하드웨어 프로세서는,
    적어도,
    복수의 잠재적인 비디오 게임 상태 수정을 결정하는 것 - 각각의 잠재적인 비디오 게임 상태 수정은 상기 사용자의 감정 상태를 제1 감정 상태로부터 제2 감정 상태로 변경하는 것과 연관됨 -;
    상기 사용자에 대한 희망 감정 상태를 결정하는 것; 및
    상기 복수의 잠재적인 비디오 게임 상태 수정으로부터, 상기 사용자의 감정 상태를 상기 예측된 감정 상태로부터 상기 희망 감정 상태로 변경하는 것과 연관된 상기 비디오 게임의 상태에 대한 상기 제1 수정을 선택하는 것
    에 의해 상기 비디오 게임의 상태에 대한 상기 제1 수정을 결정하도록 더 구성되는
    시스템.
KR1020190035324A 2018-12-27 2019-03-27 감각 기반의 동적 게임 상태 구성 KR102239062B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/234,149 US10835823B2 (en) 2018-12-27 2018-12-27 Sensory-based dynamic game-state configuration
US16/234,149 2018-12-27

Publications (2)

Publication Number Publication Date
KR20200081171A true KR20200081171A (ko) 2020-07-07
KR102239062B1 KR102239062B1 (ko) 2021-04-12

Family

ID=71121629

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190035324A KR102239062B1 (ko) 2018-12-27 2019-03-27 감각 기반의 동적 게임 상태 구성

Country Status (3)

Country Link
US (1) US10835823B2 (ko)
KR (1) KR102239062B1 (ko)
CN (1) CN111375196B (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8454437B2 (en) * 2009-07-17 2013-06-04 Brian M. Dugan Systems and methods for portable exergaming
CA3143234A1 (en) 2018-09-30 2020-04-02 Strong Force Intellectual Capital, Llc Intelligent transportation systems
US11477525B2 (en) * 2018-10-01 2022-10-18 Dolby Laboratories Licensing Corporation Creative intent scalability via physiological monitoring
US11325048B2 (en) * 2019-03-19 2022-05-10 modl.ai ApS User experience modeling for gaming applications
US11331581B2 (en) 2019-03-19 2022-05-17 modl.ai ApS Experience based game development and methods for use therewith
US11385884B2 (en) * 2019-04-29 2022-07-12 Harman International Industries, Incorporated Assessing cognitive reaction to over-the-air updates
US11819108B2 (en) * 2019-05-06 2023-11-21 CareOS Smart mirror system and methods of use thereof
US20200394933A1 (en) * 2019-06-13 2020-12-17 International Business Machines Corporation Massive open online course assessment management
US11526375B2 (en) * 2019-06-17 2022-12-13 Bank Of America Corporation Systems and methods for pre-executing idiosyncratic computation through the application of algorithmic prediction of user behavior patterns
US11727291B2 (en) * 2019-07-23 2023-08-15 Microsoft Technology Licensing, Llc Predicting disengagement and selectively delivering engagement content
KR102297795B1 (ko) * 2019-09-25 2021-09-03 주식회사 센티언스 게임 사용자의 심리를 분류하기 위한 데이터 전처리 장치 및 데이터 전처리 장치의 동작 방법
US11170800B2 (en) * 2020-02-27 2021-11-09 Microsoft Technology Licensing, Llc Adjusting user experience for multiuser sessions based on vocal-characteristic models
KR102313037B1 (ko) * 2020-03-23 2021-10-14 윤종식 동영상을 추천하기 위한 방법 및 시스템
US11902091B2 (en) * 2020-04-29 2024-02-13 Motorola Mobility Llc Adapting a device to a user based on user emotional state
US20210346806A1 (en) * 2020-05-11 2021-11-11 Nvidia Corporation Reaction prediction using one or more neural networks
FR3112747A1 (fr) * 2020-07-21 2022-01-28 Valeo Systemes Thermiques Système interactif et procédé d’interaction associé
US20220067384A1 (en) * 2020-09-03 2022-03-03 Sony Interactive Entertainment Inc. Multimodal game video summarization
US11291915B1 (en) * 2020-09-21 2022-04-05 Zynga Inc. Automated prediction of user response states based on traversal behavior
US11318386B2 (en) 2020-09-21 2022-05-03 Zynga Inc. Operator interface for automated game content generation
US11565182B2 (en) 2020-09-21 2023-01-31 Zynga Inc. Parametric player modeling for computer-implemented games
US11420115B2 (en) 2020-09-21 2022-08-23 Zynga Inc. Automated dynamic custom game content generation
US11465052B2 (en) 2020-09-21 2022-10-11 Zynga Inc. Game definition file
US11738272B2 (en) 2020-09-21 2023-08-29 Zynga Inc. Automated generation of custom content for computer-implemented games
US11806624B2 (en) 2020-09-21 2023-11-07 Zynga Inc. On device game engine architecture
CN112221162B (zh) * 2020-10-15 2021-05-14 武汉卧友网络科技有限公司 基于人工智能识别的网络游戏交互方法及智能游戏平台
WO2022141894A1 (zh) * 2020-12-31 2022-07-07 苏州源想理念文化发展有限公司 融合表情和肢体运动的三维特征情绪分析方法
US11596869B2 (en) * 2021-01-12 2023-03-07 Dell Products L.P. System and method of adjusting attributes of an application based at least on a stress index associated with a user
US11957986B2 (en) 2021-05-06 2024-04-16 Unitedhealth Group Incorporated Methods and apparatuses for dynamic determination of computer program difficulty
FR3123487B1 (fr) 2021-05-27 2024-01-19 Ovomind K K Procédé pour la prédiction automatique de l’effet émotionnel produit par une séquence de jeu vidéo
CN113350798A (zh) * 2021-05-31 2021-09-07 多益网络有限公司 一种游戏模式设置方法、装置、设备和存储介质
WO2022261593A1 (en) * 2021-06-11 2022-12-15 Hume AI Inc. Empathic artificial intelligence systems
GB2608991A (en) * 2021-07-09 2023-01-25 Sony Interactive Entertainment Inc Content generation system and method
CN113689256A (zh) * 2021-08-06 2021-11-23 江苏农牧人电子商务股份有限公司 一种虚拟物品推送方法和系统
US11883744B2 (en) * 2021-10-26 2024-01-30 Sony Interactive Entertainment LLC Memory-based motivational mode
GB2614880A (en) * 2022-01-19 2023-07-26 Sony Interactive Entertainment Inc Data processing
GB2617385A (en) * 2022-04-07 2023-10-11 Sony Interactive Entertainment Inc Game launching system and method
US20240033640A1 (en) * 2022-07-27 2024-02-01 Sony Interactive Entertainment Inc. User sentiment detection to identify user impairment during game play providing for automatic generation or modification of in-game effects
GB2623294A (en) * 2022-10-04 2024-04-17 Sony Interactive Entertainment Inc Harassment detection apparatus and method
GB2623349A (en) * 2022-10-13 2024-04-17 Sony Interactive Entertainment Inc Affective gaming system and method
GB2623345A (en) * 2022-10-13 2024-04-17 Sony Interactive Entertainment Inc Affective gaming system and method
CN116943226B (zh) * 2023-09-20 2024-01-05 小舟科技有限公司 基于情绪识别的游戏难度调节方法、系统、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101733458B1 (ko) * 2016-11-01 2017-05-10 주식회사 코어사이트 게임 로그 분석 방법
KR20170086427A (ko) * 2017-06-05 2017-07-26 주식회사 엔씨소프트 게임 제공 장치 및 방법
JP2018068618A (ja) * 2016-10-28 2018-05-10 株式会社東芝 感情推定装置、感情推定方法、感情推定プログラム、および感情カウントシステム
KR20180062221A (ko) * 2016-11-30 2018-06-08 주식회사 트라이캐치미디어 게임플레이어의 얼굴 인식을 통한 게임운영 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8308562B2 (en) * 2008-04-29 2012-11-13 Bally Gaming, Inc. Biofeedback for a gaming device, such as an electronic gaming machine (EGM)
US8615419B2 (en) * 2008-05-07 2013-12-24 Nice Systems Ltd Method and apparatus for predicting customer churn
US8004391B2 (en) * 2008-11-19 2011-08-23 Immersion Corporation Method and apparatus for generating mood-based haptic feedback
US20100269147A1 (en) 2009-04-15 2010-10-21 Echostar Technologies Llc Video stream index generation at a video content transmitter
US20110218045A1 (en) * 2010-03-08 2011-09-08 University Of Southern California Predicting game player monetization based on player logs
US8751527B1 (en) 2010-10-11 2014-06-10 Paul Riggio Information retrieval system
US20140108445A1 (en) 2011-05-05 2014-04-17 Google Inc. System and Method for Personalizing Query Suggestions Based on User Interest Profile
US20140324749A1 (en) * 2012-03-21 2014-10-30 Alexander Peters Emotional intelligence engine for systems
US9104467B2 (en) * 2012-10-14 2015-08-11 Ari M Frank Utilizing eye tracking to reduce power consumption involved in measuring affective response
JP5984153B2 (ja) * 2014-09-22 2016-09-06 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理装置、プログラム、及び情報処理方法
US10105608B1 (en) * 2015-12-18 2018-10-23 Amazon Technologies, Inc. Applying participant metrics in game environments
US10796217B2 (en) * 2016-11-30 2020-10-06 Microsoft Technology Licensing, Llc Systems and methods for performing automated interviews
CN106730812A (zh) * 2016-11-30 2017-05-31 吉林大学 一种基于多生理参数情绪量估的游戏调控系统及调控方法
US10276190B2 (en) * 2017-06-19 2019-04-30 International Business Machines Corporation Sentiment analysis of mental health disorder symptoms
US10706674B2 (en) * 2018-05-15 2020-07-07 Igt Electronic gaming machines and related methods with player emotional state prediction
US20200051582A1 (en) 2018-08-08 2020-02-13 Comcast Cable Communications, Llc Generating and/or Displaying Synchronized Captions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018068618A (ja) * 2016-10-28 2018-05-10 株式会社東芝 感情推定装置、感情推定方法、感情推定プログラム、および感情カウントシステム
KR101733458B1 (ko) * 2016-11-01 2017-05-10 주식회사 코어사이트 게임 로그 분석 방법
KR20180062221A (ko) * 2016-11-30 2018-06-08 주식회사 트라이캐치미디어 게임플레이어의 얼굴 인식을 통한 게임운영 방법
KR20170086427A (ko) * 2017-06-05 2017-07-26 주식회사 엔씨소프트 게임 제공 장치 및 방법

Also Published As

Publication number Publication date
CN111375196B (zh) 2023-08-04
CN111375196A (zh) 2020-07-07
KR102239062B1 (ko) 2021-04-12
US10835823B2 (en) 2020-11-17
US20200206631A1 (en) 2020-07-02

Similar Documents

Publication Publication Date Title
KR102239062B1 (ko) 감각 기반의 동적 게임 상태 구성
US11369880B2 (en) Dynamic difficulty adjustment
KR102291044B1 (ko) 멀티 플레이어 비디오 게임 매치 메이킹 최적화
KR102060879B1 (ko) 비디오 게임 애플리케이션 내의 게임플레이 파라미터들의 실시간 동적 수정 및 최적화
US10751629B2 (en) Multiplayer video game matchmaking system and methods
US11471764B2 (en) Predictive execution of distributed game engines
US10940396B2 (en) Example chat message toxicity assessment process
Chu et al. Soft key and hard key mobile input devices on player experience for mobile gaming

Legal Events

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