KR20210105267A - 게임 애플리케이션의 사용자 인터페이스 요소를 햅틱 피드백으로 트랜스크라이빙하기 위한 시스템 및 방법 - Google Patents

게임 애플리케이션의 사용자 인터페이스 요소를 햅틱 피드백으로 트랜스크라이빙하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20210105267A
KR20210105267A KR1020200049963A KR20200049963A KR20210105267A KR 20210105267 A KR20210105267 A KR 20210105267A KR 1020200049963 A KR1020200049963 A KR 1020200049963A KR 20200049963 A KR20200049963 A KR 20200049963A KR 20210105267 A KR20210105267 A KR 20210105267A
Authority
KR
South Korea
Prior art keywords
haptic feedback
user
game
game application
haptic
Prior art date
Application number
KR1020200049963A
Other languages
English (en)
Other versions
KR102432011B1 (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 KR20210105267A publication Critical patent/KR20210105267A/ko
Priority to KR1020220098427A priority Critical patent/KR20220113905A/ko
Application granted granted Critical
Publication of KR102432011B1 publication Critical patent/KR102432011B1/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/25Output arrangements for video game devices
    • A63F13/28Output arrangements for video game devices responding to control signals received from the game device for affecting ambient conditions, e.g. for vibrating players' seats, activating scent dispensers or affecting temperature or light
    • A63F13/285Generating tactile feedback signals via the game input device, e.g. force feedback
    • 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/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/47Machine-assisted translation, e.g. using translation memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B21/00Teaching, or communicating with, the blind, deaf or mute
    • G09B21/001Teaching or communicating with blind persons
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1037Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted for converting control signals received from the game device into a haptic signal, e.g. using force feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/013Force feedback applied to a game

Abstract

본 발명은 식별 가능한 태그를 통해 게임 내 시각 및 오디오 데이터의 식별 및 트랜스크립션을 수행하기 위한 게임 내 API 래퍼를 제안한다. 시각적 및 오디오 데이터에 대한 식별된 태그는 모스 부호로 트랜스크라이빙 하기 위해 외부 오디오 API로 전송된다. 모스 부호 트랜스크라이빙은 햅틱 피드백으로의 트랜스크립션을 위해 인-게임 API 래퍼로 다시 전송된다. 사용가능한 온-스크린 버튼 선택을 위한 식별된 태그는 인-게임 API 래퍼에 의해 햅틱 피드백으로 트랜스크라이브 된다.

Description

게임 애플리케이션의 사용자 인터페이스 요소를 햅틱 피드백으로 트랜스크라이빙하기 위한 시스템 및 방법{SYSTEMS AND METHODS FOR TRANSCRIBING USER INTERFACE ELEMENTS OF A GAME APPLICATION INTO HAPTIC FEEDBACK}
게임 애플리케이션의 사용자 인터페이스 요소를 햅틱 피드백으로 트랜스크라이빙하기 위한 시스템 및 방법이 개시된다.
비디오 게임과 같은 현대 게임 애플리케이션은 주로 시각 그래픽 및 오디오를 통해 정보를 전달한다. 그러나 게임 애플리케이션에서 정보의 청각 및 그래픽 전달의 우세는 시각 장애가 있는 사용자와 청각 장애가 있는 사용자에게 해석 이슈를 발생시킨다.
청각 또는 시각 장애가 있는 사용자는 물리적으로 인지하거나 들을 수 없는 매체를 통해 전달되는 중요한 정보가 누락되는 문제를 경험할 수 있다. 이러한 제한으로 인해 청각 장애가 있는 사용자와 시각 장애가 있는 사용자가 게임 애플리케이션을 탐색하고 진행하는 것은 어려우며 즐겁지 않다. 따라서, 햅틱 피드백을 통해 청각 장애 및 시각 장애 사용자에게 정보를 전달하기 위한 시스템 및 방법은 이점이 있다.
일 실시예는 게임 애플리케이션의 게임플레이 세션 동안 햅틱 피드백 시퀀스를 생성하기 위해 컴퓨터 구현 방법으로서, 상기 방법은, 컴퓨터 실행 가능 명령과 함께 구성된 적어도 하나의 하드웨어 프로세서를 포함하는 컴퓨팅 시스템에 의한, 게임 애플리케이션의 게임플레이 세션의 인스턴스를 실행하는 단계 -상기 게임플레이 세션의 상기 인스턴스는 가상 환경 및 하나 이상의 사용자 제어 가상 엔티티를 포함함-; 상기 가상 환경 내에서 사용자에게 디스플레이된 컨트롤러 입력을 포함하는 인-게임 이벤트를 생성하는 단계 -상기 컨트롤러 입력은 사용자가 상기 인-게임 이벤트에 응답하여 작동할 수 있는 컨트롤러 장치의 하나 이상의 입력 제어를 나타냄-; 사용자에게 디스플레이된 상기 컨트롤러 입력을 하나 이상의 햅틱 피드백 시퀀스로 트랜스크라이빙하는 단계 -상기 하나 이상의 햅틱 피드백 시퀀스는 각각의 상기 컨트롤러 입력을 고유하게 식별하는 일련의 신호를 포함함-; 및 상기 하나 이상의 햅틱 피드백 시퀀스를 적어도 하나의 컨트롤러 장치에 전송하는 단계 -상기 하나 이상의 햅틱 피드백 시퀀스의 상기 일련의 신호는 상기 적어도 하나의 컨트롤러 장치 상에서 적어도 하나의 햅틱 액추에이터를 작동시키도록 구성됨-;를 포함한다.
상기 방법의 다양한 실시예는 다음 특징의 하나, 전부 또는 임의의 조합을 포함할 수 있다. 일부 실시예에서, 상기 방법은 가상 환경 내에서 텍스트를 생성하는 단계; 상기 텍스트를 모스 부호로 번역하는 단계; 및 상기 모스 부호를 하나 이상의 모스 햅틱 피드백 시퀀스로 트랜스크라이빙하는 단계를 포함한다. 일부 실시예에서, 상기 방법은 상기 하나 이상의 햅틱 피드백 시퀀스 및 상기 하나 이상의 모스 햅틱 피드백 시퀀스가 상기 게임 애플리케이션을 실행하는 상기 컴퓨팅 장치와 함께 동작하는 상기 사용자의 컨트롤러 장치로 전송되는 순서를 결정하는 단계를 포함한다. 일부 실시예에서, 상기 방법은 풀 햅틱 피드백 시퀀스를 생성하기 위해 각각의 하나 이상의 버튼 햅틱 피드백 시퀀스 및 상기 하나 이상의 모스 햅틱 피드백 시퀀스 사이에 하나 이상의 트랜지셔널 햅틱 피드백 시퀀스를 삽입하는 단계를 포함한다. 일부 실시예에서, 상기 디스플레이된 텍스트를 트랜스크라이빙하는 단계는, 사용자에게 디스플레이된 상기 텍스트를 번역 심으로 푸시하는 단계를 포함하고, 상기 번역 심은, 상기 사용자에게 디스플레이된 상기 텍스트를 식별하고, 상기 사용자에게 디스플레이된 상기 텍스트를 모스 코드로 번역하기 위한 외부 API를 호출하기 위한 기계 판독가능 명령으로 구성된다. 일부 실시예에서, 풀 햅틱 시퀀스는, 게임 애플리케이션에서 다수의 사용자를 지원하기 위해 상기 게임 애플리케이션을 실행하는 상기 컴퓨팅 장치와 함께 동작하는 복수의 컨트롤러 장치로 전송된다. 일부 실시예에서, 상기 모스 햅틱 피드백 시퀀스는, 상기 컴퓨팅 장치와 함게 동작하는 상기 컨트롤러 장치에서 하나 이상의 액추에이터를 물리적으로 회전시키기 위한 기계 판독가능 명령을 포함한다. 일부 실시예에서, 상기 햅틱 피드백 시퀀스는, 상기 컴퓨팅 장치와 함께 동작하는 상기 컨트롤러 장치에서 하나 이상의 액추에이터를 물리적으로 회전시키기 위한 기계 판독가능 명령을 포함한다. 일부 실시예에서, 상기 햅틱 피드백 시퀀스는, 상기 컨트롤러 장치에서 복수의 햅틱 액추에이터를 작동시키기 위한 기계 판독가능 명령을 포함한다.
또 다른 실시예는 시스템으로서, 컴퓨팅 장치에서 실행 가능한 기계-판독가능 명령과 함께 구성된 적어도 하나의 프로세서를 포함하고, 상기 기계 판독가능 명령은 상기 적어도 하나의 하드웨어 프로세서가, 게임 애플리케이션의 게임 플레이 세션의 인스턴스를 실행하고 -상기 게임 플레이 세션의 상기 인스턴스는 가상 환경 및 하나 이상의 사용자 제어 가상 엔티티를 포함함-; 상기 가상 환경 내에서 사용자에게 디스플레이된 컨트롤러 입력을 포함하는 인-게임 이벤트를 생성하고 -상기 컨트롤러 입력은 사용자가 상기 인-게임 이벤트에 응답하여 작동할 수 있는 컨트롤러 장치의 하나 이상의 입력 제어를 나타냄-; 사용자에게 디스플레이 된 상기 컨트롤러 입력을 하나 이상의 햅틱 피드백 시퀀스로 트랜스크라이브하고 -상기 하나 이상의 햅틱 피드백 시퀀스는 각각의 상기 컨트롤러 입력을 고유하게 식별하는 일련의 신호를 포함함-; 상기 하나 이상의 햅틱 피드백 시퀀스를 적어도 하나의 컨트롤러 장치에 전송 -상기 하나 이상의 햅틱 피드백 시퀀스의 상기 일련의 신호는 상기 적어도 하나의 컨트롤러 장치 상에서 적어도 하나의 햅틱 액추에이터를 작동시키도록 구성됨-하도록 구성한다.
상기 시스템의 다양한 실시예는 다음 특징의 하나, 전부 또는 임의의 조합을 포함할 수 있다. 일부 실시예에서, 상기 기계 판독가능 명령은, 상기 가상 환경 내에서 텍스트를 생성하고, 상기 텍스트를 모스 부호로 번역하고, 상기 모스 부호를 하나 이상의 모스 햅틱 피드백 시퀀스로 트랜스크라이브하도록 더 구성된다. 일부 실시예에서, 상기 기계 판독가능 명령은, 상기 하나 이상의 햅틱 피드백 시퀀스 및 상기 하나 이상의 모스 햅틱 피드백 시퀀스가 게임 애플리케이션을 실행하는 상기 컴퓨팅 장치와 관련하여 동작하는 상기 사용자의 컨트롤러 장치로 전송되는 순서를 결정하도록 더 구성된다. 일부 실시예에서, 상기 기계 판독가능 명령은, 풀 햅틱 피드백 시퀀스를 생성하기 위해 각각의 하나 이상의 버튼 햅틱 피드백 시퀀스 및 상기 하나 이상의 모스 햅틱 피드백 시퀀스 사이에 하나 이상의 트랜지셔널 햅틱 피드백 시퀀스를 삽입하도록 더 구성된다. 일부 실시예에서, 상기 햅틱 피드백 시퀀스는, 상기 컨트롤러 장치에서 제1 햅틱 액추에이터를 작동시키기 위한 기계 판독가능 명령을 포함하고, 상기 트랜지셔널 햅틱 피드백 시퀀스는, 상기 컨트롤러 장치에서 제2 햅틱 액추에이터를 작동시키기 위한 기계 판독가능 명령을 포함한다. 일부 실시예에서, 상기 사용자에게 디스플레이된 상기 텍스트를 트랜스크라이빙하는 단계는, 사용자에게 디스플레이된 상기 텍스트를 번역 심으로 푸시하는 단계를 포함하고, 상기 번역 심은, 상기 사용자에게 디스플레이된 상기 텍스트를 식별하고, 상기 사용자에게 디스플레이된 상기 텍스트를 모스 코드로 번역하기 위한 외부 API를 호출하기 위한 기계 판독가능 명령을 포함한다. 일부 실시예에서, 풀 햅틱 시퀀스는 상기 게임 애플리케이션에서 다수의 사용자를 지원하기 위해 상기 게임 애플리케이션을 실행하는 상기 컴퓨팅 장치와 관련하여 동작하는 복수의 컨트롤러 장치로 전송된다. 일부 실시예에서, 상기 모스 햅틱 피드백 시퀀스는, 상기 컴퓨팅 장치와 관련하여 동작하는 상기 컨트롤러 장치에서 하나 이상의 액추에이터를 물리적으로 회전시키기 위한 기계 판독가능 명령을 포함한다. 일부 실시예에서, 상기 햅틱 피드백 시퀀스는, 상기 컴퓨팅 장치와 관련하여 동작하는 상기 컨트롤러 장치에서 하나 이상의 액추에이터를 물리적으로 회전시키기 위한 기계 판독가능 명령을 포함한다. 일부 실시예에서, 상기 햅틱 피드백 시퀀스는, 상기 컨트롤러 장치에서 복수의 햅틱 액추에이터를 작동시키기 위한 기계 판독가능 명령을 포함한다. 일부 실시예에서, 상기 게임 애플리케이션의 상기 게임플레이 상태의 상기 인스턴스는, 다수의 컴퓨팅 장치에서 실행되는 상기 게임 애플리케이션의 공유 상태이다.
본 개시 내용은, 한정하는 방식이 아닌, 예시의 방식으로 도시되고, 도면과 연관하여 고려될 때 더 완전하게 이해될 수 있다:
도 1은 햅틱 피드백 트랜스크립션 시스템을 구현하는 컴퓨팅 환경의 실시 예를 도시한다.
도 2a는 플레이어 버튼에 대한 햅틱 피드백 트랜스크립션의 그래프를 도시한다.
도 2b는 플레이어 버튼에서 햅틱 피드백으로 트랜스크라이빙하는 프로세스에 대한 블록도를 도시한다.
도 3은 게임 애플리케이션에서 플레이어 버튼을 갖는 멀티플레이어 인터랙티브 영역을 도시한다.
도 4는 햅틱 피드백으로서 플레이어 버튼 트랜스크립션에 대한 그래프를 도시한다.
도 5는 텍스트에서 모스 햅틱 피드백으로 트랜스크라이빙하는 프로세스의 블록도를 도시한다.
도 6은 게임 애플리케이션 메뉴를 도시한다.
도 7은 모스 햅틱 피드백으로서 메뉴 텍스트 번역에 대한 그래프를 도시한다.
도 8은 트랜지션 시퀀스를 갖는 햅틱 피드백으로서 플레이어 버튼 및 텍스트 트랜스크라이빙의 블록도를 도시한다.
도 9는 게임 애플리케이션 메뉴에서 대화 선택을 위한 플레이어 버튼 선택을 갖는 대화 오브젝티브를 도시한다.
도 10은 트랜지셔널 햅틱 피드백 시퀀스 및 펄스 시퀀스의 예시 실시예를 도시한다.
도 11은 본 발명의 예에 따라 동작하는 실례가 되는 컴퓨터 시스템의 블록도를 도시한다.
본 개시의 양태들은 사용자 인터페이스 요소(user interface elements)를 햅틱 피드백 시퀀스(haptic feedback sequence)로 트랜스크라이빙(transcribing) 함으로써; 청각 장애 및 시각 장애가 있는 게임 애플리케이션(game application)의 사용자들에게 경험되는 해석 문제를 다룬다.
게임 애플리케이션은 하나 이상의 사용자가 가상 환경(virtual environment) 내에서 상호 작용할 수 있도록 하는 컴퓨팅 장치에서 실행 가능한, 비디오 게임과 같은, 소프트웨어 환경(software environment)이다. 일부 실시예에서, 가상 환경은 하나 이상의 사용자가 게임 애플리케이션을 실행하는 컴퓨팅 장치와 함께 동작하는 컨트롤러 장치로부터 수신된 선택 가능한 입력을 통해 상호 작용할 수 있는 가상 객체(virtual objects), 캐릭터(characters) 및 사용자 인터페이스 요소를 포함한다. 실시예들에 걸쳐서, 게임 애플리케이션은 독립형 및 온라인 비디오 게임(stand-alone and online video games), 가상 현실 경험(virtual reality experiences), 증강 현실 환경(augmented reality environments), 인터랙티브 애니메이션 미디어(interactive animated media) 및 지리적 위치 기반 증강 경험(geolocation based augmented experiences)을 포함할 수 있지만, 이에 한정되는 것은 아니다.
사용자 인터페이스는 게임 상태 데이터(game state data), 이벤트, 목표, 다른 사용자, 대화 자막, 설명, 선택 가능한 사용자 동작, 위치, 관심 포인트(points of interests), 및 흥미의 다른 식별자(other identifiers of the like)를 포함하지만, 이에 한정되지 않는, 게임 애플리케이션 또는 그 일부분의 정보를 나타내는 모든 그래픽 표현이다.
햅틱 모듈(haptic module)은 언어 번역(language translating)을 관리하기 위한 목적으로 게임 애플리케이션과 통신하는 라이브러리로서 기능하는 번역 심(translating shim)을 포함할 수 있다. 일부 실시예에서, 언어 번역은, 모스 부호(Morse Code)를 포함하여, 한 언어에서 다른 언어로의 모든 청각 또는 텍스트-기반 번역이다. 햅틱 모듈은 정보를 햅틱 피드백 시퀀스(haptic feedback sequences)로 트랜스크라이브(transcribe) 할 수 있는 트랜스크라이빙 심(transcribing shim)을 포함할 수 있다. 본 명세서에 사용된 용어 "트랜스크립션(transcription)" 및 "트랜스크라이빙(transcribing)"은 데이터를 포맷에서 다른 포맷으로 변환하는 프로세스를 지칭할 수 있다. 예를 들어, 트랜스크라이빙 심은 텍스트 데이터를 햅틱 피드백 시퀀스로 트랜스크리브 하고, (사전에 텍스트로부터 번역된) 모스 부호를 햅틱 피드백 시퀀스로 트랜스크리브 하고, 및/또는 사용자 인터페이스 요소를 햅틱 피드백 시퀀스로 트랜스크라이브 하고, 및/또는 다른 유형의 데이터를 햅틱 피드백 시퀀스로 트랜스크라이브 할 수 있다.
일부 실시예에서, 번역 심 및/또는 트랜스크라이빙 심은 게임 애플리케이션의 내부 부분(internal part)일 수 있다. 대안적 실시예에서, 번역 심 및/또는 트랜스크라이빙 심은 게임 애플리케이션 외부에 존재할 수 있다. 바람직한 실시예에서, 번역 심은 게임 애플리케이션과 외부 API 라이브러리 사이에서 텍스트에서 모스 부호로의 번역 프로세스를 연결하여, 게임 애플리케이션이 인식 가능하고 사용 가능한 형식의 트랜스크라이브된 텍스트의 외부 햅틱 피드백 시퀀스를 수신하기 위해 번역 심을 호출하도록 구성될 필요가 있다. 본 개시를 단순화하기 위해, 그러나 이에 한정되는 것은 아니고, 번역 심이 외부 API 호출을 수행하는 단계는 생략되지만, 해당 기술 분야 통상의 기술자에게 일반적으로 알려진 바와 같이; 암시된다.
햅틱 피드백 시퀀스는 사용자의 컨트롤러 장치에서 실행 가능한 임의의 구성 가능한 햅틱 출력 신호(haptic output signal)이다. 해당 기술분야 통상의 기술자는 햅틱 피드백이 소프트웨어 커맨드(software commands)를 통해 게임 애플리케이션으로부터 스마트폰(smartphones), 컨트롤러(controllers), 키보드(keyboards), 휴대용 게이밍 장치(portable gaming devices), 리모컨(remotes), 헤드셋(headsets), 스마트워치(smartwatches), 디지털 손목밴드(digital wristbands), 디지털 조끼(digital vests), 및 유사한 액추에이터(actuators)를 포함하는 다른 장치와 같이 액추에이터를 지니는 하드웨어 장치로 전달되는 것을 알 수 있다. 해당 기술분야 통상의 기술자는 게임 애플리케이션으로부터 하드웨어 장치로 전송될 수 있는 세 가지 유형의 액추에이션 신호(actuation signals)인 길이(length), 강도(intensity) 및 유형(type)을 알 수 있다. 길이 액추에이션 신호(length actuation signals)는 하드웨어 장치에 햅틱 피드백의 지속 기간을 제공한다. 강도 액추에이션 신호(intensity actuation signal)는 하드웨어 장치에 햅틱 피드백에 대한 강도의 정도를 제공한다.
액추에이션 신호는 하드웨어 장치에 특정 액추에이터가 햅틱 피드백 가능하게 하는 신호를 제공한다. 해당 분야 통상의 기술자는 또한 신호 유형이 하드웨어 장치의 성능에 기초하여 이진 신호(binary signal) 또는 가변 신호(variable signal)로 구성될 수 있음을 알 수 있다.
대안적 실시예에서, 게임 애플리케이션은 웨어러블 베이스 생성 장치(wearable bass producing devices), 헤드폰, 헤드셋, 홈-시어터 스피커(home-theater speakers) 및 다른 유사한 장치를 포함하지만, 이에 한정되지 않는 사용자에게 식별 가능한 물리적 감각을 유도할 수 있는 능력을 갖는 하드웨어에 청각 베이스 주파수로서 햅틱 피드백을 전달할 수 있다.
게임 애플리케이션의 사용자는 본 명세서에서 게임 애플리케이션의 "플레이어(player)"로 지칭된다. 다의적으로, 게임 애플리케이션은 "플레이어"가 플레이하는 "비디오 게임(video game)"으로 설명된다.
도시된 상세한 설명 및 도면은 본 발명의 예시로서 묘사되며, 이에 한정되는 것은 아니고; 버튼 및 텍스트 정보를 햅틱 피드백 시퀀스로 인코딩하기 위한 햅틱 모듈에 대한 많은 가능한 구성 중 하나를 설명하기 위한 것이다.
시스템 개요
도 1은 햅틱 피드백 트랜스크립션 시스템(haptic feedback transcription system)을 구현하기 위한 컴퓨팅 환경(computing environment)(100)의 실시예를 도시한다. 환경(100)은 네트워크(101), 사용자 컴퓨팅 시스템(user computing system)(102) 및 인터랙티브 컴퓨팅 시스템(interactive computing system)(130)을 포함하고, 인터랙티브 컴퓨팅 시스템(130)은 햅틱 모듈(haptic module)(108)을 포함한다.
컴퓨팅 시스템(102)은 네트워크(101)를 통해 인터랙티브 컴퓨팅 시스템(130)과 통신할 수 있다. 하나의 네트워크(101)만 도시되어 있지만, 다수의 구별되거나 분산된 네트워크(101)가 존재할 수 있다. 네트워크(101)는 어떠한 유형의 통신 네트워크도 포함할 수 있다. 예를 들어, 네트워크(101)는 광역 네트워크(wide area network(WAN)), 근거리 네트워크(local area network(LAN)), 셀룰러 네트워크(cellular network), 애드 혹 네트워크(ad hoc network), 위성 네트워크(satellite network), 유선 네트워크(wired network), 및 무선 네트워크(wireless network) 등을 포함할 수 있다. 일부 실시예에서, 네트워크(101)는 인터넷(Internet)을 포함할 수 있다.
컴퓨팅 시스템
컴퓨팅 시스템(102)은 컴퓨팅 자원(computing resources)(104) 및 애플리케이션 데이터 저장소(application data store)(106)를 포함한다. 사용자 컴퓨팅 시스템(102)은 중앙 처리 장치(central processing unit) 및 아키텍처(architectures), 메모리(memory), 대용량 스토리지(mass storage), 그래픽 처리 장치(graphic processing unit), 통신 네트워크 가용성(communication network availability), 및 대역폭(bandwidth) 등과 같은 다양한 로컬 컴퓨팅 자원(local computing resources; 104)를 가질 수 있다. 나아가, 사용자 컴퓨팅 시스템(102)은 어떠한 유형의 컴퓨팅 시스템도 포함할 수 있다. 예를 들어, 사용자 컴퓨팅 시스템(102)은 데스크탑(desktop), 랩탑(laptop), 비디오 게임 플랫폼(video game platform)/콘솔(console), 텔레비전 셋톱 박스(television set-top box), 텔레비전(예를 들어, 인터넷 TV), 네트워크 가능 키오스크(network-enabled kiosk), 자동차-콘솔 장치(car-console device), 컴퓨터화 가전(computerized appliance), 웨어러블 기기(예를 들어, 컴퓨팅 기능이 있는 스마트 시계 및 안경) 및 무선 모바일 장치(예를 들어, 스마트 폰, PDA, 또는 태블릿 등)와 같은 어떠한 유형의 컴퓨팅 장치일 수도 있다. 컴퓨팅 시스템 (102)의 실시예의 보다 상세한 설명은 도 4와 관련하여 아래에서 설명된다.
게임 애플리케이션
사용자 컴퓨팅 시스템(102)은 그 위에 설치된 게임 애플리케이션(110)을 포함할 수 있다. 사용자 컴퓨팅 시스템(102)은 애플리케이션 데이터 저장소(106)에 적어도 부분적으로 저장된 소프트웨어 코드(software code)에 기초하여 게임 애플리케이션(110)을 실행할 수 있다. 게임 애플리케이션(110)은 본 명세서에서 비디오 게임, 게임, 게임 코드 또는 게임 프로그램으로 지칭될 수도 있다. 게임 애플리케이션(110)은 컴퓨팅 장치(102)가 사용자에게 플레이할 수 있는 게임을 제공하기 위해 사용할 수 있는 소프트웨어 코드를 포함하는 것으로 이해되어야 한다. 게임 애플리케이션(110)은 컴퓨팅 장치(102)에게 실행할 프로세서 명령(processor instructions)을 알려주는 소프트웨어 코드를 포함할 수 있지만, 게임 시뮬레이션(game simulation), 렌더링(rendering), 애니메이션(animation) 및 다른 게임 데이터와 관련된 데이터와 같은 게임의 플레이에 사용되는 데이터를 포함할 수도 있다. 도시된 실시예에서, 게임 애플리케이션(110)은 게임 엔진(game engine)(112), 게임 데이터(game data)(114) 및 게임 상태 데이터(game state data)(116)를 포함한다. 실행되면, 게임 애플리케이션(110)은 사용자가 게임 애플리케이션(110)과 접속(interface)하기 위한 가상 환경을 생성하도록 구성된다.
일부 실시예에서, 사용자 컴퓨팅 시스템(102)은 사용자 컴퓨팅 시스템상의 데이터 저장소(예를 들어, 애플리케이션 데이터 저장소(106))에 저장된, 비디오 게임과 같은 게임 애플리케이션(110)을 실행하도록 구성된 기계 판독가능 명령(machine readable instructions)을 실행할 수 있다. 게임 애플리케이션(110)은 클라이언트/서버 아키텍처(client/server architecture)를 이용하는 분산 환경(distributed environment)에서 저장 또는 실행될 수 있다. 예를 들어, 사용자 컴퓨팅 시스템(102)이 게임 애플리케이션(110)의 일부를 실행할 수 있고, 인터랙티브 컴퓨팅 시스템(130) 또는 인터랙티브 컴퓨팅 시스템(130)의 애플리케이션 호스트 시스템(application host system)(132)이 게임 애플리케이션(110)의 다른 부분을 실행할 수 있다. 예를 들어, 게임 애플리케이션(110)은 사용자 컴퓨팅 시스템(102)에 의해 실행되는 클라이언트 부분(client portion) 및 하나 이상의 애플리케이션 호스트 시스템(132)에 의해 실행되는 서버 부분(server portion)을 포함하는, 배틀 로얄 유형 게임(battle royale type game)과 같은 경쟁적인 멀티플레이어 온라인 게임 일 수 있다. 현재 논의의 경우, 게임 애플리케이션(110)은 사용자 컴퓨팅 시스템(102)상에서 국부적으로 실행될 수 있거나 또는 사용자 컴퓨팅 시스템(102)상에서 실행되는 부분 및 애플리케이션 호스트 시스템(132) 중 적어도 하나에서 실행되는 부분을 포함하는 분산 애플리케이션(distributed application)으로 실행될 수 있다.
게임 엔진
동작 동안, 게임 엔진(112)은 게임 로직(game logic)을 실행하고, 게임플레이의 시뮬레이션의 실행을 제어하고, 게임 애플리케이션(110) 내 렌더링을 제어한다. 일부 경우에, 게임 엔진(112)은 하나 이상의 저장된 규칙 세트(rule set)에 기초하여 캐릭터, 환경, 게임플레이의 실행, 게임 진행 방식(how the game progresses), 또는 게임플레이의 다른 양태들을 제어한다. 예를 들어, 게임 엔진(112)은 게임 플레이를 모니터링하고 게임 애플리케이션(110)의 현재 런타임 상태(current runtime state)를 검출 또는 결정할 수 있다. 게임 애플리케이션의 현재 런타임 상태에 적어도 부분적으로 기초하여, 게임 엔진(112)은 캐릭터 또는 환경을 제어하기 위한 규칙 세트를 적용한다.
일부 실시예에서, 게임 엔진(112)은 시뮬레이션 엔진(simulation engine) 및 프리젠테이션 엔진(presentation engine)을 포함할 수 있다. 시뮬레이션 엔진은 게임 로직을 실행하고 게임플레이 시뮬레이션의 실행을 제어한다. 프리젠테이션 엔진은 게임플레이의 프리젠테이션의 실행 및 프레임의 렌더링을 제어한다. 일부 실시예에서, 게임 엔진(112)은 게임 애플리케이션 내의 상이한 엔진 및/또는 프로세스를 이용하여 시뮬레이션 엔진 및 프리젠테이션 엔진의 기능을 실행할 수 있다.
시뮬레이션 엔진은 게임 애플리케이션(110) 내 개별 가상 구성요소(virtual components), 가상 효과(virtual effects) 또는 가상 객체(virtual objects)의 실행을 제어할 수 있다. 시뮬레이션 엔진은 캐릭터 이동(character movement), 캐릭터 상태(character states), 충돌 검출(collision detection) 등을 관리 및 결정할 수 있고, 충돌에 기초한 캐릭터에 대한 요구되는 움직임 등을 도출할 수 있다. 입력 장치(들)는 규칙 세트에 따라 게임 애플리케이션의 양태를 제어하기 위해 사용자로부터 사용자 입력을 수신할 수 있게 한다. 시뮬레이션 엔진은 사용자 입력을 수신하고, 액션(action), 충돌(collisions), 달리기(run), 던지기(throws), 공격(attacks) 및 게임에 적합한 기타 이벤트와 같은 캐릭터 이벤트를 결정한다. 캐릭터 이벤트는 캐릭터가 이벤트에 응답하여 수행해야 하는 적절한 모션을 결정하는 캐릭터 움직임 스트림(character movement streams)에 의해 제어될 수 있다. 시뮬레이션 엔진은 캐릭터의 새로운 포즈를 결정할 수 있는 물리 엔진(physics engine)과 접속할 수 있다. 물리 엔진은 다양한 캐릭터의 골격 모델(skeleton models), 환경 설정(environmental settings), 현재 포즈와 같은 캐릭터 상태(예를 들어, 위치, 관절 각도 또는 기타 설명으로 표현된 신체 부위의 위치), 및 일부 또는 전체 신체 부위에 대한 힘/토크 벡터의 집합(set of force/torque vectors) 형태일 수 있는, 캐릭터 움직임 모듈에 의해 제공되는 신체 부위 및 모션의 속도(선속도(linear) 또는 각속도(angular))를 입력으로 가질 수 있다. 이 정보로부터, 물리 엔진은 물리 규칙을 사용하여 캐릭터에 대한 새 포즈를 생성하고 이 새 포즈는 캐릭터 상태 업데이트에 이용될 수 있다.
시뮬레이션 엔진은 게임 애플리케이션(110) 내에서 프레임을 생성 및 렌더링하기 위해 프리젠테이션 엔진에 의해 사용되는 그래픽 상태 데이터(graphical state data)(예를 들어, 게임 상태 데이터(116))를 출력할 수 있다. 일부 실시예에서, 각각의 가상 객체는 시뮬레이션 엔진에 의해 처리되는 상태 스트림 프로세스(state stream process)로 구성될 수 있다. 각각의 상태 스트림 프로세스는 프리젠테이션 엔진을 위해 그래픽 상태 데이터를 생성할 수 있다. 예를 들어, 상태 스트림 프로세스는 게임의 상태에 영향을 주는 이미터(emitters), 조명(lights), 모델(models), 폐색기(occluders), 지형(terrain), 시각 환경(visual environments), 및 게임 애플리케이션(110)의 다른 가상 객체를 포함할 수 있다.
프리젠테이션 엔진은 게임 애플리케이션(110) 내 디스플레이로 출력하기 위한 프레임을 생성 및 렌더링하기 위해 그래픽 상태 데이터를 이용할 수 있다. 프리젠테이션 엔진은 전체 장면 및 디스플레이를 위한 새로운 프레임을 생성하기 위해 가상 캐릭터(virtual characters), 애니메이션 객체(animate objects), 비애니메이션 객체(inanimate objects), 배경 객체(background objects), 조명(lighting), 및 반사(reflection) 등과 같은 가상 객체를 결합할 수 있다. 프리젠테이션 엔진은 가상 오브젝트의 표면(surface), 색상 텍스처(colors textures) 및 다른 파라미터들을 고려할 수 있다. 프리젠테이션 엔진은 그런 다음 가상 객체(예를 들어, 가상 환경 내 조명과 무생물 및 배경 객체를 가지는 가상 캐릭터 이미지)를 결합하여 프레임을 생성 및 렌더링할 수 있다. 런타임 동안, 게임 엔진은 초당 많은 프레임(예를 들어, 30 FPS, 60 FPS 또는 게임 애플리케이션의 실행 중에 결정된 초당 다른 수의 프레임)을 출력할 수 있다.
게임 데이터
게임 데이터(114)는 규칙 세트, 미리 기록된 모션 캡처 포즈/경로(prerecorded motion capture poses/paths), 환경 설정, 환경 객체, 제약(constraints), 골격 모델, 루트(route) 정보 또는 다른 게임 애플리케이션 정보를 포함할 수 있다.
규칙 세트는 캐릭터, 환경, 게임 플레이의 실행, 게임 진행 방식, 또는 게임플레이의 다른 양태를 제어하기 위해 게임 엔진(112)에 의해 적용될 수 있다. 규칙 세트는 플레이어(예를 들어, 플레이어 캐릭터 또는 비-플레이어 캐릭터) 또는 환경이 비디오 게임 내에서 동작하거나 상호 작용하는 특정 방식을 정의할 수 있다. 예를 들어, 규칙 세트는 비디오 게임의 난이도(difficulty levels)(예를 들어, 쉬움, 보통, 어려움, 초보자, 전문가)에 대응할 있다. 또 다른 예로, 규칙 세트는 플레이어가 사용할 수 있는 많은 리소스(resources available to a player), 플레이어가 비디오 게임을 진행하기 위해 직면해야 하는 많은 도전(challenges), 득점의 규칙(rules for scoring), 가능한 입력(possible inputs), 액션(actions), 이벤트, 및 입력에 응답하는 움직임(movement in response to inputs) 등을 제어할 수 있다. 또한, 예를 들어 스포츠-관련 비디오 게임에서, 규칙 세트는 특정 가상 플레이어, 팀, 또는 코치의 기술 또는 능력의 정도를 제어할 수 있고, 또는 이탈(breakaway), 3 대 1 공격, 3 대 1 방어 등과 같이 가상 엔티티가 특정한 인-게임 상황에 반응하는 방식을 지시할 수 있다. 일부 경우에, 규칙 세트는 가상 엔티티의 뇌 또는 인공 지능으로 기능할 수 있다.
규칙 세트는 캐릭터, 액션, 런타임 상태(runtime states) 및 환경의 개념을 이용하여 기술될 수 있다. 비디오 게임의 가상 캐릭터는 사용자에 의해 제어되는 플레이어 캐릭터 또는 게임 애플리케이션에 의해 제어되는 비-플레이어 캐릭터일 수 있으며, 액션은 캐릭터가 만들어낼 수 있는 가능한 모든 움직임 세트(set of all possible moves the character can make)에서의 움직임일 수 있다. 예를 들어, 하키 게임에서 캐릭터는 다른 가능한 액션 중에서 퍽을 패스(액션 A) 또는 슛(액션 B) 할 수 있다. 런타임 상태는 캐릭터가 자신을 찾는 구체적이고 즉각적인 상황(concrete and immediate situation)으로 기술될 수 있습니다. 예를 들어, 런타임 상태는 도구, 장애물, 적 또는 상과 같은 다른 중요한 것들과 관련하여 캐릭터를 배치하는 즉각적인 구성과 같은 특정 장소 및 순간일 수 있다. 가상 환경은 캐릭터가 게임 애플리케이션과 상호 작용하는 가상 세계로 기술될 수 있다. 일반적으로 규칙 또는 규칙 세트는 주어진 시간, 런타임 상태 및 환경에서 캐릭터의 행동 방식(예를 들어, 캐릭터의 액션)을 정의할 수 있다.
게임 데이터(114)의 적어도 일부는 애플리케이션 데이터 저장소(106)에 저장될 수 있다. 일부 실시예에서, 게임 데이터(114)의 일부는 데이터 저장소(134)에서와 같이 원격으로 저장 또는 수신될 수 있다. 게임 데이터는 게임 애플리케이션(110)의 런타임 동안 수신될 수 있다. 예를 들어, 일부 경우에, 하나 이상의 규칙 세트가 게임 애플리케이션(110)의 런타임 동안 수신, 저장 또는 적용될 수 있다.
게임 상태 데이터
게임 애플리케이션(110)의 런타임 동안, 게임 애플리케이션(110)은 게임 상태 데이터(116)를 수집 또는 저장할 수 있으며, 게임 상태 데이터(116)는 게임 상태, 캐릭터 상태, 환경 상태, 장면 객체 저장(scene object storage), 경로 정보 또는 게임 애플리케이션(110)의 런타임 상태에 연관된 정보를 포함할 수 있다. 예를 들어, 게임 상태 데이터(116)는 캐릭터 위치, 캐릭터 방향, 캐릭터 액션, 게임 레벨 속성(game level attributes), 및 게임 애플리케이션(110)의 상태에 기여하는 다른 정보와 같은, 특정 시점에서 게임 애플리케이션(110)의 상태를 식별할 수 있다. 게임 상태 데이터는 시뮬레이션 게임 상태 데이터(simulation game state data) 및 그래픽 게임 상태 데이터(graphical game state data)를 포함할 수 있다. 시뮬레이션 게임 상태 데이터는 게임 애플리케이션 (110)의 시뮬레이션을 실행하기 위해 게임 엔진(112)에 의해 사용되는 게임 상태 데이터를 포함할 수 있다. 그래픽 게임 상태 데이터는 시뮬레이션 상태 데이터에 기초하여 생성되고, 디스플레이에 출력하기 위한 프레임을 생성 및 렌더링하기 위해 사용되는 게임 상태 데이터를 포함할 수 있다.
가상 환경
본 명세서에서 사용되는 바와 같이, 가상 환경은 클라이언트의 사용자에게 표시를 위한 가상 환경의 뷰(view)를 포맷팅하기 위해 사용자 컴퓨팅 시스템(102), 서버로부터 원격으로 위치한 클라이언트에 의해 액세스 가능한 서버(예를 들어, 인터랙티브 컴퓨팅 시스템(130)) 상에 인스턴스화된 시뮬레이션 환경(simulated environment)(예를 들어, 가상 공간)을 포함할 수 있다. 시뮬레이션 환경은 토포그래피(topography)를 가질 수 있거나, 사용자에 의해 실시간 상호 작용을 표현하거나, 토포그래피 내 이동(locomotion)이 가능한 토포그래피 내에 배치되는 하나 이상의 객체를 포함할 수 있다. 일부 구현에서, 토포그래피는 2차원 토모그래피일 수 있다. 다른 예에서, 토포그래피는 3차원 토포그래피일 수 있다. 일부 구현에서, 토포그래피는 단일 노드일 수 있다. 토포그래피는 가상 환경의 차원(dimension), 또는 가상 환경에 대해 "네이티브(native)"인 표면 또는 객체의 표면 특징을 포함할 수 있다. 일부 구현에서, 토포그래피는 가상 환경의 적어도 상당 부분 사이로 퍼지는(run through) 표면(예를 들어, 지표면)을 기술할 수 있다. 일부 구현에서, 토포그래피는 그 안에 배치된 하나 이상의 바디(body)를 갖는 볼륨(예를 들어, 그 안에 배치된 하나 이상의 천체(celestial body)를 갖는 중력이 없는 공간(gravity-deprived space)의 시뮬레이션)을 기술할 수 있다. 가상 환경은 가상 세계를 포함할 수 있지만, 반드시 그런 것은 아니다. 예를 들어, 가상 환경은 가상 세계와 일반적으로 연관된 하나 이상의 양태(예를 들어, 중력, 풍경 등)을 포함하지 않는 게임 공간을 포함할 수 있다. 예를 들어, 잘 알려진 게임 테트리스(Tetris)는 바디(예를 들어, 떨어지는 테트로미노(tetromino))가 미리 결정된 파라미터(예를 들어, 미리 정해진 속도로 떨어지고, 사용자 상호작용에 기초하여 수평으로 이동(shifting) 또는 회전(rotating)함)에 따라 이동하는 2차원 토포그래피로서 형성될 수 있다.
비디오 게임 애플리케이션(110)의 게임 인스턴스(game instance)는 시뮬레이션 가상 환경, 예를 들어, 가상 환경의 뷰를 사용자에게 제시하는 클라이언트(예를 들어, 사용자 컴퓨팅 시스템(102))을 통해 사용자에 의해 액세스 가능한 가상 환경을 포함할 수 있다. 가상 환경은 토포그래피을 가질 수 있거나, 하나 이상의 사용자에 의해 지속적인 실시간 상호 작용을 표현하거나, 토포그래피 내 이동이 가능한 토포그래피 내에 배치되는 하나 이상의 객체를 포함할 수 있다. 일부 예에서, 토포그래피는 2차원 토모그래피를 포함할 수 있다. 다른 예에, 토포그래피는 3차원 토포그래피를 포함할 수 있다. 토포그래피는 공간의 차원, 또는 공간에 대해 "네이티브"인 표면 또는 객체의 표면 특징을 포함할 수 있다. 일부 예에서, 토포그래피는 공간의 적어도 상당 부분 사이로 퍼지는 표면(예를 들어, 지표면)을 기술할 수 있다. 일부 예에서, 토포그래피는 그 안에 배치된 하나 이상의 바디를 갖는 볼륨(예를 들어, 그 안에 배치된 하나 이상의 천체를 갖는 중력이 없는 공간의 시뮬레이션)을 기술할 수 있다. 컴퓨터 컴포넌트에 의해 실행되는 인스턴스는 동기식, 비동기식 또는 반-동기식일 수 있다.
비디오 게임과 연관된 가상 환경의 상태가 제한되도록 의도되지 않은 방식의 위 설명은 이해되어야 한다. 게임 애플리케이션(110)은 가상 환경을 더 제한되거나 더 풍부한 방식으로 표현하도록 구성될 수 있다. 예를 들어, 비디오 게임의 인스턴스의 게임 상태를 나타내는 비디오 게임에 대해 결정된 뷰(view)는 비디오 게임 내의 주어진 장소에서 발생(occurrence)을 나타내는 제한된 그래픽 세트로부터 선택될 수 있다. 뷰는 비교적 일반적인 그래픽을 넘어서, 장소의 현재 상태의 상세(particular)를 기술하는 부가적인 컨텐츠(예를 들어, 텍스트, 오디오, 미리 저장된 비디오 컨텐츠, 또는 다른 컨텐츠)를 포함할 수 있다. 예를 들어, 뷰는 대립되는 상대의 텍스트 설명을 갖는 일반적인 배틀 그래픽을 포함할 수 있습니다. 비디오 게임 내의 개별 장소의 다른 표현이 고려된다.
게임 엔진(112)은 게임 애플리케이션(110) 내에서 로컬적으로 사용될 수 있고, 네트워크(108)를 통해 인터랙티브 컴퓨팅 시스템(130)으로 전송될 수 있는 게임 상태 데이터(116)를 생성한다. 게임 애플리케이션(110)의 인스턴스의 실행은 게임 애플리케이션(110)과 연관된 게임 상태를 결정하는 것을 포함할 수 있다. 게임 상태 데이터(118)는 사용자 컴퓨팅 시스템(102) 상에서 비디오 게임의 뷰의 제시를 사용자에게 가능하게 할 수 있다. 게임 상태 데이터(116)는 비디오 게임이 플레이되는 가상 환경을 정의하는 정보를 포함할 수 있다. 게임 엔진의 실행은 본 명세서에 더 상세히 설명된다.
게임 인스턴스의 실행은 인터랙티브 컴퓨팅 시스템(130)을 통해 게임 애플리케이션(110) 또는 다른 사용자와 사용자에 의한 상호 작용을 가능하게 할 수 있다. 게임 애플리케이션(110)은 사용자 컴퓨팅 시스템(102)으로부터 네트워크(108)를 통해 수신된 커맨드(command)에 응답하여 게임 인스턴스에서 동작을 수행하도록 구성될 수 있다. 일부 실시예에서, 사용자는 비디오 게임 내 요소와 상호작용하거나 비디오 게임을 통해 서로 상호 작용할 수 있다.
사용자는 사용자와 연관된 사용자 컴퓨팅 시스템(102) 상에 구현된 클라이언트 게임 애플리케이션(110)을 통해 비디오 게임에 참여할 수 있다. 게임 엔진(112)에 의해 실행되는 비디오 게임의 게임 인스턴스 내에서, 사용자는 비디오 게임에 연관된 가상 환경에서 하나 이상의 요소를 제어함으로써 참여할 수 있다. 사용자-제어 요소(user-controlled element)는 아바타, 사용자 캐릭터, 가상 환경 유닛(예를 들어, 부대(troop)), 객체(예를 들어, 무기, 말, 차량 등), 시뮬레이션된 물리적 현상(예를 들어, 바람, 비, 지진, 또는 다른 현상), 또는 다른 사용자-제어 요소를 포함할 수 있다.
사용자-제어 캐릭터 아바타는 가상 환경에서 사용자를 나타낼 수 있다. 사용자 캐릭터는 영웅(heroe), 기사(knight), 지휘관(commander), 지도자(leader), 장군(general) 또는 힘(strength), 기술(skill), 능력(ability), 마법력(magic power), 지식(knowledge) 또는 다른 개별화된 속성을 가질 수 있는 다른 가상 환경 엔티티를 포함할 수 있다. 사용자에 의해 제어되는 가상 환경 유닛은 그룹 또는 집단으로 사용자에 의해 훈련, 모집, 캡처 또는 달리 획득될 수 있는 부대 또는 임의의 다른 게임 엔티티를 포함할 수 있다. 사용자에 의해 제어되는 객체는 무기(weapon), 차량(vehicle), 발사체(projectile), 마법 아이템(magic item), 옷장(wardrobe), 부츠(boot), 갑옷(armor), 배낭(knapsack), 약(medicine), 치유 물약(healing potion), 또는 비디오 게임 내에서 상호 작용을 위해 사용자에 의해 사용될 수 있는 다른 가상 아이템을 포함할 수 있다.
사용자-제어 요소(들)는 가상 환경(예를 들어, 가상 환경의 사용자-가상 환경 유닛, 가상 환경의 비-사용자 캐릭터, 가상 환경의 다른 객체)을 통해 이동하고 상호 작용할 수 있다. 주어진 사용자에 의해 제어되거나 주어진 사용자와 연관된 사용자-제어 요소는 주어진 사용자에 의해 생성되거나 커스터마이즈(customize)될 수 있다. 사용자는 사용자가 가상 환경 내에서 (예를 들어, 사용자 캐릭터 또는 다른 사용자 제어 요소, 또는 다른 아이템의 조작에 의해) 사용할 수 있는 가상 상품 또는 가상 통화의 "인벤토리(inventory)"를 가질 수 있다.
비디오 게임에서 가상 요소의 제어는 사용자 컴퓨팅 시스템(102)을 통해 주어진 사용자에 의해 입력된 커맨드를 통해 실행될 수 있다. 주어진 사용자는 가상 환경 내에서 교환되는 통신을 통해 다른 사용자와 상호 작용할 수 있다. 이러한 통신은 문자 채팅, 인스턴트 메시지, 개인 메시지, 음성 통신, 또는 다른 통신 중 하나 이상을 포함할 수 있다. 통신은 그들 각각의 사용자 컴퓨팅 시스템(102)을 통해 사용자에 의해 수신되고 입력될 수 있다. 통신은 서버를 통해(예를 들어, 애플리케이션 호스트 시스템(132)을 통해) 적절한 사용자로 및 그로부터 라우팅될 수 있다.
게임 엔진(112)에 의한 사용자 액션의 실행 또는 성능은 게임 상태에 대한 변경을 생성할 수 있으며, 이는 사용자 액션의 진행 또는 결과를 반영할 수 있다. 일부 예에서, 사용자 액션의 실행에 의해 야기된 상태 변화는 비디오 게임의 인스턴스 전체에 걸쳐(throughout) 지속성(persistency)을 가능하게 하기 위해 애플리케이션 데이터 저장소(106) 또는 데이터 저장소(134)에 기록될 수 있다. 일부 예에서, 사용자 액션의 실행은 게임 상태에 대한 지속적인 변화를 생성하지 않을 수 있다(예를 들어, 계속해서 앞뒤로 점프하는 사용자 캐릭터는 다른 사용자에게 인식 가능한 게임 상태 변화를 생성하지 않을 수 있다).
주어진 사용자는 가상 환경 내에서 특정 행위(deed), 액션, 기능, 액션 영역(spheres of action) 또는 다른 유형의 상호 작용을 수행하기 위해 특정 파라미터를 가진 커맨드를 입력할 수 있습니다. 예를 들어, 주어진 사용자는 가상 건물을 건설, 업그레이드 또는 철거하기위한 커맨드를 입력할 수 있다; 가상 자원을 수확하거나 수집; 가상 사용자 제어 요소, 비-플레이어 엔티티 또는 다른 사용자에 의해 제어되는 요소를 치료; 부대를 훈련(train), 행진(march), 이동(transport), 강화(reinforce), 재할당(reassign), 모집(recruit) 또는 배치(arrange); 도시(city), 영역(realm), 왕국(kingdom) 또는 사용자에 의해 제어되거나 사용자에 연관된 다른 가상 환경 장소(location)를 공격, 관리, 생성, 철거 또는 방어; 가상 아이템 제작(craft) 또는이 이동(transport); 전투(combat)에서 다른 사용자에 의해 제어되는 비-플레이어 엔티티 또는 가상 환경 요소와 상호 작용, 경쟁; 과학기술(technology) 또는 기술(skill)을 연구; 가상 자원에 대한 광산(mine) 또는 전망; 임무(mission), 퀘스트(quest) 또는 캠페인(campaign) 완료; 마법의 힘을 발휘(exercise)하거나 주문을 시전;. 또는 가상 환경 내에서 특정 행위(deed), 액션, 기능, 액션 영역(spheres of action)을 수행. 일부 예에서, 주어진 사용자는 가상 환경 내 환경의 요소와 경쟁하기 위한 커맨드- 예를 들어, 플레이어 대 환경 (PvE) 활동 -을 입력할 수 있다. 일부 예에서, 주어진 사용자는 가상 환경 내에서 서로 경쟁하기위한 커맨드- 예를 들어, 플레이어 대 플레이어 (PvP) 활동 -을 입력할 수 있다.
비디오 게임의 인스턴스는 비디오 게임의 인스턴스에서 자동 제어되는 가상 엔티티를 포함할 수 있다. 이러한 가상 엔티티는 임의의 사용자와 연관되거나 연관되지 않을 수 있다. 이와 같이, 자동 제어된 가상 엔티티는 제공자, 관리자, 중재자 또는 비디오 게임과 관련된 임의의 다른 엔티티에 의해 게임 애플리케이션(110) 또는 서버(들)인 인터랙티브 컴퓨팅 시스템(130)으로 구성되는 인공 지능에 의해 생성되거나 개발될 수 있다. 이러한 자동 제어된 엔티티는 사용자 제어로부터 자유롭게 비디오 게임 내에서 진화할 수 있으며, 사용자에 의해 제어되거나 사용자와 연관된 엔티티, 다른 자동적으로 제어되는 가상 환경 엔티티 및 가상 환경의 토포그래피와 상호 작용할 수 있다. 특정 표명된(manifested) 특성(trait)은 서버(들)(예를 들어, 애플리케이션 호스트 시스템(132))로 구성된 인공 지능에 따라 자동 제어된 엔티티와 연관될 수 있다. 본 명세서에서 사용되는 바와 같이, 비디오 게임의 인스턴스에서 이러한 자동 제어된 가상 환경 엔티티는 "비-플레이어 엔티티"로 지칭된다.
온라인 게임에서, 비디오 게임의 인스턴스는 지속적일 수 있다. 즉, 비디오 게임은 개별 사용자가 비디오 게임에 로그인했는지 또는 참여하는지에 관계없이 계속될 수 있다. 비디오 게임에서 로그 아웃했다가 나중에 다시 로그 백(log back)한 사용자는 사용자가 로그 아웃한 시간 동안 가상 환경 또는 비디오 게임이 다른 사용자와 비디오 게임의 상호 작용을 통해 변경된 것을 알 수 있다. 이러한 변경에는 시뮬레이션된 물리적 공간의 변경, 사용자 인벤토리의 변경, 다른 사용자의 인벤토리 변경, 비-사용자 캐릭터에 의해 경험된 변경, 또는 다른 변경이 포함될 수 있다.
인터랙티브 컴퓨팅 시스템
인터랙티브 컴퓨팅 시스템(130)은 애플리케이션 호스트 시스템(들)(132), 데이터 저장소(134), 및 토너먼트 관리 시스템(120)을 포함할 수 있다. 인터랙티브 컴퓨팅 시스템(130)은 게임 애플리케이션(110)의 일부를 실행하도록 구성된 하나 이상의 컴퓨팅 시스템을 포함할 수 있다. 인터랙티브 컴퓨팅 시스템(130)은 다수의 사용자 또는 컴퓨팅 시스템이 인터랙티브 컴퓨팅 시스템(130)에 의해 실행되거나 호스트되는 게임 애플리케이션(110)의 일부에 액세스할 수 있게 한다. 인터랙티브 컴퓨팅 시스템(130)은 온라인 비디오 게임을 호스트하도록 구성된 하나 이상의 게임 서버를 가질 수 있다. 예를 들어, 인터랙티브 컴퓨팅 시스템(130)은 인스턴스화된(예를 들어, 1인칭 슛팅 멀티플레이어 매치(a first person shooter multiplayer match)) 또는 지속적인 가상 환경(예를 들어, 멀티플레이어 온라인 롤 플레잉 게임(multiplayer online roll playing game))을 호스트하도록 구성된 하나 이상의 게임 서버를 가질 수 있다. 가상 환경은 하나 이상의 사용자가 동기식 또는 비동기식으로 환경과 상호 작용할 수 있게 한다. 일부 경우에, 지속적인 가상 환경의 다수의 인스턴스는 하나 이상의 게임 서버에서 만들어지거나 호스트될 수 있다. 한 세트의 사용자는 가상 환경의 하나의 인스턴스에 할당될 수 있거나 액세스할 수 있고, 반면에 다른 세트의 사용자는 가상 환경의 다른 인스턴스에 할당되거나 액세스 될 수 있다. 일부 실시예에서, 인터랙티브 컴퓨팅 시스템(130)은 게임 환경의 다양한 양태들을 실행하기위한 호스팅 시스템을 실행할 수 있다. 예를 들어, 일 실시예에서, 게임 애플리케이션(110)은 1인칭 슛팅 게임 또는 스포츠 게임과 같은 경쟁 게임(competitive game)일 수 있고, 인터랙티브 컴퓨팅 시스템(130)은 멀티플레이어 게임 인스턴스를 호스팅하기 위한 (예를 들어, 게임 서버를 통한) 전용 호스팅 서비스를 제공하거나 사용자 컴퓨팅 장치에 의해 호스트되는 게임 인스턴스의 생성을 용이하게 할 수 있다.
햅틱 모듈
햅틱 모듈(108)은 사용자 컴퓨팅 시스템(102) 및/또는 인터랙티브 컴퓨팅 시스템(130)상에서 실행될 수 있다. 햅틱 모듈은 햅틱 피드백 트랜스크립션 시스템의 동작을 관리하도록 구성될 수 있다. 햅틱 모듈은 언어 번역을 관리하기 위해 게임 애플리케이션과 통신하는 라이브러리로서 기능하는 번역 심(translating shim)을 포함할 수 있다. 일부 실시예에서, 언어 번역은 모스 부호를 포함하여 한 언어에서 다른 언어로의 모든 청각 또는 텍스트-기반 번역이다. 햅틱 모듈은 정보를 햅틱 피드백 시퀀스로 트랜스크리이빙 할 수 있는 트랜스크라이빙 심(transcribing shim)을 포함할 수 있다. 본 명세서에 사용된 용어 "트랜스크립션(transcription)"및 "트랜스크라이빙(transcribing)"은 데이터를 포맷에서 다른 포맷으로 변환하는 프로세스를 지칭할 수 있다. 예를 들어, 트랜스크라이빙 심은 텍스트 데이터를 햅틱 피드백 시퀀스로 트랜스크라이브 하고, (사전에 텍스트로부터 번역된)모스 부호를 햅틱 피드백 시퀀스로 트랜스크라이브 및/또는 사용자 인터페이스 요소를 햅틱 피드백 시퀀스로 트랜스크라이브 및/또는 다른 유형의 데이터를 햅틱 피드백 시퀀스로 트랜스크라이브 할 수 있다.
게임 애플리케이션은 플레이어에게 텍스트 또는 대화(dialogue)를 제공하는 게임 상태를 생성할 수 있다. 햅틱 모듈(108)은 텍스트 또는 대화를 햅틱 피드백 시퀀스로 트랜스크라이브 하도록 구성될 수 있다. 추가로, 일부 게임 상태는 플레이어에게 특정 동작을 수행하기 위한 플레이어 버튼 선택지(player buttons choices)을 제공한다. 햅틱 모듈은 이용 가능한 플레이어 버튼 선택을 햅틱 피드백 시퀀스로 트랜스크라이브 할 수 있다. 햅틱 모듈의 기능 및 실행은 본 명세서에서 추가로 설명될 것이다.
플레이어 버튼의 햅틱 피드백
도 2a는 컨트롤러와 같은 입력 장치의 버튼에 대응하는 햅틱 피드백 트랜스크립션을 나타내는 차트의 도시 실시예를 도시한다. 도 2의 차트는 각각의 햅틱 시퀀스(200(a))의 세트에 대응하는 컨트롤러의 플레이어 버튼(200)의 리스트를 포함한다.
플레이어 버튼의 햅틱 피드백 신호 구성
도 1의 햅틱 피드백 시퀀스(200(a))의 실시 예에서, 여덟 개의 선택 가능한 버튼(항목 201, 202, 203, 204, 205, 206, 207 및 208)으로 도시된 플레이어 버튼 (200)은 높은 이진 신호(high binary signal)(항목 201(a), 201(b), 201(c), 202(a), 202(b), 203(a), 204(a), 204(c), 206(c), 207(b), 208(b), 208(c)) 또는 낮은 이진 신호(low binary signal)(항복 202(c), 203(b), 203(c), 204(b), 205(a), 205(b), 205(c), 206(a), 206(b), 207(a), 207(c), 208(a))의 조합으로 전달 될 수 있다.
각각의 플레이어 버튼은 상이한 햅틱 시퀀스를 가지며, 도시된 실시 예에서는 일련의 세 개의 연속적인 이진 신호로 구성된다. 도시된 버튼들 및 햅틱 시퀀스들은 플레이어의 입력 장치의 여덟 개의 버튼들에 대한 선택 가능한 제어 입력의 전달(conveyance of selectable controlling input)을 설명하기 위해 사용되지만, 이에 한정되는 것은 아니다. 본 명세서에서 더 설명되는 바와 같이, 게임 애플리케이션은 고유하거나 알려진 이진 신호를 구현하여 복수의 선택 가능한 제어 입력을 나타낼 수 있다.
햅틱 피드백 시퀀스(200(a))를 플레이어에게 적절하게 전달하기 위해, 세 개의 이진 신호는 일정 기간(200(c))에 걸쳐 플레이어의 입력 장치에 대한 햅틱 피드백으로서 수행된다. 햅틱 피드백 시퀀스(200(a))는 세 개의 이진 신호이므로, 시간(200(c))은 입력 장치로 각각의 이진 신호의 전송을 나타내는 세 개의 시간 증분(increments)(항목 T(a), T(b) 및 T(c))으로 도시된다. 일부 실시예에서, 햅틱 피드백 시퀀스(200(a))가 발생하는 시간(200(c))(T(a), T(b) 및 T(c) 포함)은 햅틱 피드백을 해석하는 플레이어의 능력에 가장 적합한 주기(periodic rate)로 플레이어에 의해 구성될 수 있다.
도 2a 및 이어지는 도면에 도시된 높고 낮은 신호는 두 개의 액추에이터 신호 유형 중 임의의 것으로 구성 가능하다. 예를 들어, 햅틱 신호는 컨트롤러의 진동 기능일 수 있다. 낮은 이진 신호는 짧은 진동 펄스일 수 있고 높은 이진 신호는 긴 진동 펄스일 수 있다. 플레이어 버튼 A(201)를 나타내기 위해, 게임 애플리케이션은 세 개의 높은 이진 신호를 트리거 하여 세 개의 긴 진동 펄스를 야기할 것이다.
일부 실시예에서, 플레이어는 하나 이상의 상황 파라미터(circumstantial parameters)에 기초하여 특정 액추에이터 신호를 수행하도록 게임 애플리케이션을 구성할 수 있다. 예를 들어, 특정 액추에이터 유형을 수행하도록 게임 애플리케이션을 구성하기 위한 상황 파라미터는, 게임 모드, 입력 응답을 위한 긴급성(urgency for input response), 플레이어 카메라 시점(player camera perspective), 버튼 선택으로 야기되고 연관된 게임 애플리케이션에 대한 가상 액션의 유형 또는 가상 효과, 버튼 선택과 연관된 액션을 성공적으로 수행할 확률, 및 비슷한 다른 구성을 포함할 수 있지만, 이에 한정되는 것은 아니다.
도 2b는 햅틱 피드백 트랜스크라이빙 프로세스(210)의 블록도를 도시한다. 프로세스는 게임 애플리케이션(110)에 의해 수행될 수 있다.
블록(211)에서, 게임 애플리케이션에서 게임 세션 동안, 인-게임 이벤트는 게임 애플리케이션 내에서 적어도 하나의 플레이어 입력 제어와 관련된다. 일부 예에서, 이벤트는 플레이어가 게임 애플리케이션 내에서 버튼을 누르는 것일 수 있다. 플레이어는 가상 환경 내에서 가상 액션을 수행하기 위해 선택 가능한 버튼 선택지를 제공받을 수 있다. 플레이어는 게임 상황에 따라 다른 플레이어와 동시에 또는 독립적으로 선택 가능한 버튼 선택지를 제공받을 수 있다. 일부 예에서, 이벤트는 플레이어와 통신하는 게임 내의 다른 플레이어에 의해 제공되는 입력일 수 있다. 게임 애플리케이션은 게임 애플리케이션에 참여하는 임의의 수의 플레이어에 대해 햅틱 피드백 트랜스크라이빙 단계를 수행할 수 있다.
블록(212)에서, 게임 애플리케이션은 이벤트와 관련된 입력 제어를 적어도 하나의 플레이어 햅틱 피드백 시퀀스로 트랜스크라이브 할 수 있다. 게임 애플리케이션은 햅틱 모듈을 이용하여 이벤트와 관련된 플레이어 입력 제어(예를 들어, 플레이어 버튼)를 햅틱 피드백 시퀀스로 트랜스크라이브 할 수 있다.
블록(213)에서, 일단 트랜스크라이브 되면, 게임 애플리케이션은 햅틱 피드백 시퀀스를 플레이어 컨트롤러로 전송하여 플레이어로 출력되도록 구성된다. 사용자가 복수의 버튼 중 하나를 누를 수 있음을 나타내는 햅틱 피드백 시퀀스가 생성될 수 있다. 일부 경우에, 햅틱 피드백 시퀀스는 가상 환경 내의 다른 플레이어에 의해 눌려진 버튼을 나타낼 수 있다. 일부 실시예에서, 햅틱 피드백 시퀀스는 어떠한 수의 제어기 장치로도 전송될 수 있으며 특정 플레이어를 위한 컨트롤러로 제한되지 않는다. 일부 실시예에서, 햅틱 피드백 시퀀스는 하나 이상의 플레이어와 관련된 복수의 상이한 컨트롤러 장치로 전송될 수 있다. 예를 들어, 햅틱 피드백 시퀀스는 플레이어에게 햅틱 피드백을 제공할 수 있는 조끼와 같이 플레이어의 신체 상에 위치된 장치로 전송될 수 있다. 장치는 게임 내에서 반응 피드백(responsive feedback)을 제공하는 능력을 갖지 않을 수 있고, 다른 컨트롤러 장치는 핸드 헬드 컨트롤러(handheld controller)와 같이, 입력을 제공하기 위해 플레이어에 의해 사용된다.
멀티플레이어 인터랙티브 영역
도 3은 게임 애플리케이션 내 플레이어 버튼을 가지는 멀티플레이어 인터랙티브 영역을 도시한다.
인터랙티브 영역(300)은 두 플레이어 사이의 게임 세션을 예시하며, 여기서 제1 플레이어에게 가상 캐릭터(311, 312, 313) 위에 선택 가능한 버튼 선택지가 제시된다. 가상 캐릭터(311, 312, 312) 위 선택 가능한 버튼 선택지는 제1 플레이어(310)의 제어된 캐릭터가 선택 가능한 캐릭터(항목 311, 312, 또는 313)와 가상으로 상호 작용하도록 야기할 수 있는 가상 액션과 관련된다.
인터랙티브 영역의 제2 플레이어(320)에게 캐릭터(321 및 322) 위에 선택 가능한 버튼 선택지가 제공된다. 가상 캐릭터(321 및 322) 위 선택 가능한 버튼 선택지는 제2 플레이어(320)의 제어된 캐릭터가 선택 가능한 캐릭터(항목 321 또는 322)와 가상으로 상호 작용하도록 야기할 수 있는 가상 액션과 관련된다.
일 실시예에서, 두 플레이어 모두에게 선택 가능한 버튼 선택지가 제시될 때, 게임 애플리케이션은 플레이어를 위해 도 2b에 도시된 햅틱 피드백 트랜스크립션 프로세스를 수행할 수 있다. 어느 경우에, 제1 플레이어(310)에 대해, 프로세스는 도 4와 관련하여 더 설명되는 바와 같이 현재 인-게임 이벤트에 응답하여 제1 및 제2 플레이어의 컨트롤러에 햅틱 출력을 발생시킬 것이다. 일부 실시예에서, 인터랙티브 영역(300)은 원격으로 플레이되는 멀티플레이어 게임 세션일 수 있어서, 게임 애플리케이션은 그들의 캐릭터가 이용할 수 있는 선택 가능한 버튼 선택지의 뷰만을 제공한다.
멀티플레이어 햅틱 피드백 출력
도 4는 플레이어 버튼 트랜스크립션에 대한 출력 타임라인(output timelines)을 햅틱 피드백 시퀀스로서 도시한다. 게임 애플리케이션의 제1 및 제2 플레이어를 위해 도 3에 제공된 선택 가능한 버튼 선택지의 예시 및 예가 이어진다.
게임 애플리케이션의 제1 플레이어에 대한 제1 버튼 전사 그래프(400)가 타임라인(400(a))에 걸쳐 도시되어 있다. 인터랙티브 영역(300)에서, 게임 애플리케이션의 제1 플레이어는 가상 캐릭터(311, 312 및 313) 위 선택 가능한 버튼 선택지가 제시된다. 제1 플레이어 선택 가능한 버튼 선택지는 각각 버튼 (401, 402 및 403)으로서 도 4에 도시되어 있다.
타임라인(400(a))은 게임 애플리케이션의 제1 플레이어의 컨트롤러 장치로 전송된 버튼(401, 402 및 403)의 햅틱 피드백 시퀀스를 포함한다. 버튼 A(항목 401)의 햅틱 피드백 시퀀스는 세 개의 높은 신호(401(a), 401(b) 및 401(c))로 구성된다. 버튼 B(항목 402)의 햅틱 피드백 시퀀스는 두 개의 높은 신호(402(a) 및 402(b))와 낮은 신호 (402(c))로 구성된다. 버튼 C (항목 403)의 햅틱 피드백 시퀀스는 두 개의 높은 신호(403(a) 및 403(c))와 낮은 신호 (403(b))로 구성된다.
게임 애플리케이션의 제2 플레이어에 대한 제2 버튼 트랜스크립션 그래프(410)가 타임라인(410(a))에 걸쳐 도시되어 있다. 인터랙티브 영역 (300)에서, 게임 애플리케이션의 제2 플레이어는 가상 캐릭터(321 및 322) 위에 선택 가능한 버튼 선택지가 제시된다. 제1 플레이어 선택 가능한 버튼 선택지는 각각 버튼(411 및 412)으로 도 4에 도시되어 있다.
타임라인(410(A))은 게임 애플리케이션의 제2 플레이어의 컨트롤러 장치로 전송될 버튼(411 및 412)의 햅틱 피드백 시퀀스를 포함한다. 버튼 D(항목 411)의 햅틱 피드백 시퀀스는 두 개의 높은 신호(411(a) 및 411(c))와 낮은 신호 (411(b))로 구성된다. 버튼 LB(항목 412)의 햅틱 피드백 시퀀스는 세 개의 낮은 신호(412(a), 412(b) 및 412(c))로 구성된다.
햅틱 피드백 시퀀스로서 선택 가능한 버튼 선택지를 사용자의 컨트롤러 장치에 전송함으로써, 게임 애플리케이션은 시각 장애가 있는 사용자에게 버튼 선택지를 효율적이고 효과적으로 전달할 수 있도록 한다. 시각 장애가 있는 사용자는 선택 가능한 버튼 선택지를 나타내는 컨트롤러 장치의 액추에이션(actuation)을 느낄 수 있기 때문에 현재 사용 가능한 선택가능한 버튼 선택지를 보다 적절하게 해석할 수 있다.
타임라인은 컨트롤러 장치의 액추에이터에 전송되는 햅틱 피드백 시퀀스 신호의 전달을 설명하기 위한 예시적인 출력 시퀀스를 도시한다.
모스 부호의 햅틱 피드백
도 5는 텍스트에서 모스로 피드백 트랜스크라이빙 프로세스(500)에 대한 블록도를 도시한다. 게임 애플리케이션(110)은 프로세스를 수행하기 위해 햅틱 모듈(108)과 통신하도록 구성될 수 있다. 햅틱 모듈은 게임 애플리케이션 내의 사용자 컴퓨팅 장치에서 로컬로 실행되거나 인터랙티브 컴퓨팅 시스템과 같은 서버에서 원격으로 실행될 수 있다.
블록(501)에서, 게임 애플리케이션은 텍스트를 햅틱 모듈로 출력할 수 있다. 게임 애플리케이션에서 게임의 코스 동안, 텍스트는 대화 자막(dialogue subtitles), 인-게임 대화 선택(in-game dialogue selection), 또는 사용자 인터페이스 텍스트 형식으로 사용자에게 표시된다. 텍스트가 사용자에게 디스플레이 될 때, 게임 애플리케이션은 텍스트를 햅틱 모듈로 푸시(push)하도록 구성될 수 있다.
햅틱 모듈은 게임 애플리케이션 내에서 심(shim)으로서 기능할 수 있다. 햅틱 모듈은 게임 애플리케이션(110)이 언어 텍스트 또는 대화를 번역하기 위해 호출할 수 있는 API일 수 있다. 예를 들어, 햅틱 모듈은 음성 언어(spoken language)를 다른 음성 언어 또는 제스처 언어(gesture language)(시퀀스에서 시각적 아이콘으로 표시됨)와 모스 부호와 같은 공통 코드 언어(common code languages)로 번역할 수 있다. 햅틱 모듈은 로컬 API(local API) 또는 서버 측 API(server side API) 일 수 있다.
블록(511)에서, 햅틱 모듈은 게임 애플리케이션으로부터 푸시된 텍스트를 수신할 수 있다. 블록(512)에서, 햅틱 모듈은 수신된 텍스트를 모스 부호로 번역할 수 있다. 텍스트를 모스 부호로 번역하는 것은 텍스트를 사용자의 입력 장치에 의해 출력될 수 있는 포맷으로 번역하는 것을 포함할 수 있다. 예를 들어, 컨트롤러는 진동 액추에이터를 가질 수 있고 햅틱 모듈은 플레이어가 사용하는 컨트롤러에 의해 모스 부호 출력으로 해석되는, 진동 액추에이터로 출력될, 커맨드를 생성할 수 있다. 블록(513)에서, 햅틱 모듈은 모스 부호 출력을 게임 애플리케이션으로 전송하도록 구성된다.
블록(502)에서, 게임 애플리케이션은 모스 부호 출력 시퀀스를 수신한다. 블록(503)에서, 게임 애플리케이션은 모스 부호 출력 시퀀스를 햅틱 피드백 시퀀스로서 사용자의 컨트롤러 장치에 출력한다.
게임 애플리케이션 메뉴
도 6은 게임 애플리케이션 메뉴(game application menu)의 실시예를 도시한다. 가상 인터랙티브 메뉴는 사용자가 게임 애플리케이션 내에서 플레이어 프로파일 표시(displaying a player profile), 게임 모드 시작(launching a game mode), 로컬 또는 원격으로 친구와 로비 활동(lobbying with friends locally or remotely), 가상 상점 방문(visiting a virtual store), 설정 구성 변경(changing configuring setting) 또는 기타 기능 수행을 위해 하나 이상의 선택을 할 수 있는 사용자 인터페이스 일 수 있다. 게임 애플리케이션의 사용자 인터페이스 메뉴는 아이콘(icons), 버튼(buttons), 텍스트 필드(text fields), 헤더(headers), 사진(photos), 애니메이션(animations), 비디오(videos) 및 기타 UI 요소를 포함하지만, 이에 한정되지 않는, 선택 가능한 요소를 포함합니다.
텍스트 푸싱
게임 애플리케이션은 가상 인터랙티브 메뉴의 헤더(항목 601, 602, 603) 및 주요 요소(main elements)(610, 611 및 612)의 텍스트를 햅틱 모듈로 푸시하도록 구성될 수 있다. 헤더(항목 601, 602, 603) 및 주요 요소(610, 611, 612)의 텍스트는 사용자가 각 항목을 탐색(navigate)할 때 또는 사용자에게 가상 대화형 메뉴가 표시될 때 햅틱 모듈로 푸시될 수 있다.
예를 들어, 가상 인터랙티브 메뉴의 멀티플레이어 헤더(602)가 사용자에 의해 탐색될 때, 멀티플레이어 게임 모드 선택 타일(항목 610, 611, 612)이 게임 애플리케이션 메뉴(600)에 디스플레이 된다. 따라서, 사용자가 하위 메뉴 요소(sub menu elements) 위를 맴돌면(hovers over), 요소의 텍스트는 햅틱 모듈로 전송될 수 있다. 예를 들어, 사용자가 "팀 데스 매치(team death match)"(610) 위를 맴돌 때, 타일 내의 텍스트는 사용자의 컨트롤러 장치로 텍스트의 모스 햅틱 피드백 시퀀스 트랜스크립션(Morse haptic feedback sequence transcription)이 결정되도록 햅틱 모듈로 전송된다.
게임 애플리케이션 메뉴 텍스트 트랜스크립션
도 7은 모스 햅틱 피드백 시퀀스(Morse haptic feedback sequence)로서 텍스트 번역의 출력 타임라인을 도시한다. 일부 실시예에서, 사용자가 게임 애플리케이션 메뉴의 헤더 요소들을 탐색할 때, 요소의 텍스트는 (도 5의 프로세스에 의해 도시된 바와 같이) 햅틱 모듈로 푸시된다. 예를 들어, 사용자가 게임 애플리케이션 메뉴(600)의 "멀티플레이어(Multiplayer)" 헤더 요소(602) 위를 맴돌면, 게임 애플리케이션은 모스 부호로 번역하기 위해 텍스트 "멀티플레이어"를 햅틱 모듈로 푸시한다. "멀티플레이어"에 대한 모스 부호는 게임 애플리케이션에 의해 수신되고 단어 "멀티플레이어"를 나타내는 모스 부호 햅틱 피드백 시퀀스로 트랜스크라이브 된다.
텍스트에서 모스로 트랜스크립션 그래프(text to Morse transcription graph)(700)는 게임 애플리케이션 사용자의 컨트롤러 장치로 전송되는 단어 "멀티플레이어"의 처음 세 개의 문자에 대한 모스 부호 햅틱 피드백 시퀀스의 출력 타임라인 (700(a))을 도시한다. 문자 "M"(701)은 각 시간 증분 T1 및 T2에서 발생하는 두 개의 높은 신호(701(a) 및 701(b))의 국제 모스 부호 번역(International Morse Code translation)으로 번역된다. 문자 "U"(702)는 각 시간 증분(T4, T5 및 T6)에서 발생하는 두 개의 낮은 신호(702(a) 및 702(b))와 하나의 높은 신호(702(c))의 국제 모스 부호 번역으로 번역된다. 문자 "L"(703)은 각 시간 증분(T8, T9, T10 및 T11)에 낮은 신호(703(a)), 이어서 높은 신호(703(b)), 두 개의 낮은 신호(703(c) 및 703(d))로 끝나는 국제 모스 부호 번역으로 번역된다
플레이어 버튼 및 모스 부호의 햅틱 피드백
도 8은 트랜지션 시퀀스(transition sequence)를 갖는 햅틱 피드백으로 플레이어 버튼 및 텍스트 트랜스크라이빙을 위한 프로세스(800)의 블록도를 도시한다.
일부 실시예에서, 선택 가능한 버튼 선택지 및 사용자 인터페이스 텍스트가 햅틱 피드백 시퀀스로 푸시 및 트랜스크라이브 될 때, 햅틱 피드백 유형(haptic feedback type)을 식별하는 트랜지셔널 햅틱 피드백 시퀀스(transitional haptic feedback sequence)가 각 유형의 햅틱 피드백 시퀀스들 사이에 삽입되어 게임 애플리케이션이 사용자에게 상이한 햅틱 피드백 신호를 기술하는 수단을 제공할 수 있도록 한다.
블록(801)에서, 게임 애플리케이션은 텍스트 및 플레이어 버튼을 동시에 햅틱 모듈로 푸시하도록 구성될 수 있다. 게임 애플리케이션에서 게임을 진행하는 동안, 플레이어 버튼 및 텍스트는 대화 자막, 인-게임 대화 선택, 또는 사용자 인터페이스 텍스트의 형태로 사용자에게 디스플레이 된다. 텍스트가 사용자에게 디스플레이 될 때, 게임 애플리케이션은 텍스트를 햅틱 모듈로 푸시하도록 구성될 수 있다.
블록(811)에서, 햅틱 모듈은 게임 애플리케이션으로부터 푸시된 텍스트를 수신할 수 있다. 블록(812)에서, 햅틱 모듈은 수신된 텍스트를 모스 부호로 번역할 수 있다. 텍스트를 모스 부호로 번역하는 것은 사용자의 입력 장치에 의해 출력될 수 있는 포맷으로 텍스트를 트랜스크립션 하는 것을 포함할 수 있다. 예를 들어, 컨트롤러는 진동 액추에이터를 가질 수 있고 햅틱 모듈은 높고 낮은 출력을 포함하는 이진 출력(binary output)과 같이 사용자가 사용하는 컨트롤러에 의해 출력되는 모스 코드로서 해석되는 진동 액추에이터로 출력될 커맨드를 생성할 수 있다. 블록(813)에서, 햅틱 모듈은 모스 부호 출력을 게임 애플리케이션으로 전송하도록 구성된다.
블록(802)에서, 게임 애플리케이션은 모스 부호 출력 시퀀스를 수신한다. 블록(804)에서, 게임 애플리케이션은 모스 부호 출력 시퀀스를 햅틱 피드백 시퀀스로서 사용자의 컨트롤러 장치에 출력한다. 블록(803)에서, 게임 애플리케이션은 플레이어의 버튼을 햅틱 피드백 시퀀스로서 트랜스크라이브 할 수 있다. 블록(805)에서, 게임 애플리케이션은 모스 햅틱 피드백 및 버튼 햅틱이 사용자의 컨트롤러 장치로 전송될 순서를 결정한다.
블록(806)에서, 순서가 결정된 후, 게임 애플리케이션은 모스 햅틱 피드백 시퀀스(Morse haptic feedback sequences) 및 버튼 햅틱 피드백 시퀀스(button haptic feedback sequences) 사이에 트랜지셔널 햅틱 피드백 시퀀스를 삽입하여 고유한 햅틱 피드백 시퀀스의 방식 통해 발생하는 햅틱 피드백 시퀀스의 유형을 사용자에게 통지한다. 블록(807)에서, 트랜지셔널 햅틱 피드백 시퀀스가 삽입될 때, 게임 애플리케이션은 풀 햅틱 피드백 시퀀스(full haptic feedback sequences)를 사용자의 컨트롤러 장치에 전송한다. 이 순서는 도 9 및 10과 관련하여 추가로 설명된다.
게임 애플리케이션 내 선택 가능한 대화
도 9는 게임 애플리케이션에서 대화 선택(dialogue selection)과 관련된 플레이어 버튼 선택과의 가상 대화(virtual conversation)를 도시한다.
일부 게임 애플리케이션에서, 플레이어에게는 플레이 불가능한 캐릭터(nonplayable characters) 또는 다른 플레이어와 같은 다른 게임 캐릭터와 대화를 할 수 있는 옵션이 제공될 것이다. 이러한 대화 내에서, 플레이어는 다양한 대화 선택을 제공받을 수 있다. 일부 실시예에서, 대화 선택 인터페이스는 스크롤 가능 목록(scrollable list), 선택 가능 타일(selectable tiles), 또는 특정 키 또는 버튼으로 입력(keyed to a particular input keys or buttons)을 통해 플레이어에게 제공될 수 있다. 본 발명은 대화 선택 인터페이스의 일 실시예로서, 도시 된 바와 같이 단일 대화 선택 인터페이스(single dialogue selection interface)의 방식을 도시하지만, 이에 한정되지는 않는다. 해당 기술 분야의 통상의 기술자는 대화 선택 인터페이스의 많은 변형이 사용될 수 있음을 이해할 것이다.
대화 선택지(dialogue choices)(항목 910, 920, 930, 940)은 대화 선택 휠(dialogue choice wheel)(905)을 중심으로 특정 플레이어 버튼(항목 911, 921, 931, 941)에 입력(keyed to) 될 수 있다. 대화 선택 휠(905)은 플레이어에게 게임 응용 프로그램 내에서 대화 선택지를 선택하기 위한 중앙집중식 사용자 인터페이스 요소(centralized user interface element)를 제공할 수 있다.
가상 대화 동안, 제1 플레이어(900)는 대화 선택 휠(905)로부터 대화 선택을 함으로써 제2 플레이어(901)의 대화에 응답할 수 있다. 실시예에서, 제2 플레이어(901)는 게임 애플리케이션 내 실제 플레이어이거나 플레이 불가능한 캐릭터일 수 있다.
대화 선택지(항목 910, 920, 930, 940)는 제2 플레이어의(901) 대화 시퀀스에 대한 제1 플레이어(900)의 응답이다. 대화 선택 휠(905)이 사용자에게 처음 나타나는 것과 같이 게임 애플리케이션에서 대화하는 동안 대화 선택지(항목 910, 920, 930, 940)가 사용자에게 처음 제시될 때, 게임 애플리케이션은 플레이어 버튼(항목 911, 921, 931, 941)과 함께 각각의 대화 선택지(항복 910, 920, 930, 940)을 트랜스크라이빙을 위한 햅틱 모듈에 푸시할 수 있다.
제1 플레이어(900)가 제2 플레이어의(901)의 대화에 "예(Yes)"(910)로 응답하기로 선택하면, 제1 플레이어(900)는 버튼 "C"(911)를 누를 것이다. 제1 플레이어 (900)는 "아마도(Maybe)"(940)로 응답하기로 선택하면, 제2 플레이어(901)의 대화에서, 제1 플레이어 (900)는 버튼 "A"(941)를 누를 것이다. 제1 플레이어(900)가 제2 플레이어(901)의 대화에 "아니오(No)"(930)로 응답하기로 선택하면, 제1 플레이어(900)는 "B"(931) 버튼을 누를 것이다. 제1 플레이어(900)가 제2 플레이어의(901)의 대화에 응답하지 않기로 선택하면[항목 920, "응답 없음(No Answer"] 제1 플레이어(900)는 "D"(921) 버튼을 누를 것이다.
선택 가능한 대화 햅틱 피드백 출력
도 10은 트랜지셔널 햅틱 피드백 시퀀스 및 펄스 시퀀스의 예시적인 실시예를 도시한다.
도 10은 트랜지셔널 및 펄스 시퀀스(1000)를 가지는 햅틱 피드백의 출력 그래프를 도시한다. 이 도면은 대화 선택 휠(905)이 처음으로 사용자에게 제시될 때 도 9의 플레이어 버튼 "A"(941) 및 대응되는 대화 큐(dialogue cue) "아마도"(940)를 게임 애플리케이션의 제1 플레이어로 전달하는 것을 도시한다.
대화 선택 휠(905)이 사용자에게 제시됨에 따라, 플레이어 버튼 "A"(941) 및 대응되는 대화 큐 "아마도"(940)는 트랜스크립션을 위해 햅틱 모듈로 푸시된다. 트랜스크립션을 위해 햅틱 모듈에 의해 수신될 때, 플레이어 버튼 "A"(941)는 세 개의 긴 햅틱 피드백 신호(long haptic feedback signals)( T1, T2 및 T3에서 항목 941(a), 941(b) 및 941(c))로 전달되고, 사용자에게 다가오는 것을 나타내는 햅틱 피드백 시퀀스는 대화를 위한 것임을 알리는 햅틱 피드백 시퀀스(T5, T6, T7 및 T8에서 항목 1001(a), 1001(b), 1001(c), 1001(d))로서 트랜지션 신호(1001)가 뒤따른다. 이어서 내부 모듈(internal module)은 문자 "M"(T10 및 T11에서 항목 940(a) 및 940(b)) 및 "a"(T13 및 T14에서 항목 940(c) 및 940(d))의 햅틱 피드백 시퀀스를 통해 대화 "아마도(Maybe)"(940)를 사용자에게 전달한다.
상황 펄스
그래프(1000)는 또한 제1 플레이어의 햅틱 피드백과 함께(in unison) 발생하는 "상황 펄스(Situational Pulse)"를 전달한다. "상황 펄스"는 플레이어에게 주기적으로 전송되는 추가적인 햅틱 피드백 신호일 수 있다. 상황 펄스의 주기의 빈도(frequency of the period)(예를 들어, 펄스가 발생하는 빈도) 및 펄스의 유형에 기초하여, 게임 애플리케이션은 특정 이벤트가 발생하고 있음을 사용자에게 전달할 수 있다. 예를 들어, 길이이 짧은 상황 펄스가 더 자주 발생하여 경보 또는 긴급 이벤트가 발생했음을 나타낼 수 있습니다. 길이이 더 긴 상황 펄스는 자주 발생하지 않아 가상 대화에 참여하거나 가상 목적지(virtual destination)으로 이동하는 플레이어와 같이, 긴급하지 않은 이벤트가 발생했음을 나타낼 수 있다.
도 10은 T2, T6, T10 및 T14에서 상황 펄스(항목 P1, P2, P3, P4)의 주기적 전송을 도시한다. 각 상황 펄스의 시간(항목 P1, P2, P3, P4) 사이의 주기적 주파수(periodic frequency)는 인터랙티브 환경에서 대화가 발생하고 있음을 T4의 차이로 사용자에게 전달하기 위한 것이다. 플레이어에게 발생하는 대화의 전달을 나타내는 상황 펄스의 주기적 주파수(periodic frequency)는 예로서 도시되며, 도시된 시간(time period)으로 한정되지 않는다.
당업자는 시간이 지남에 따라 일정하거나 변화하는 임의의 주기적 주파수가 특정 이벤트가 발생하고 있음을 사용자에게 나타낼 수 있다는 것을 이해할 것이다. 예를 들어, 주기적 주파수는 일정한 속도로 시작될 수 있지만, 전달된 이벤트에 대한 액션을 수행하는 시간이 끝나고 있음을 플레이어에게 나타내기 위해 더 짧아 질 수 있다(예를 들어, 속도 향상). 일부 실시예에서, 상황 펄스는 텍스트 및 대화를 사용자에게 트랜스크라이브 하는 햅틱 피드와 별도의 액추에이터에서 발생할 수 있다. 예를 들어, 상황 펄스는 컨트롤러의 좌측 액추에이터에서 발생할 수 있는 반면, 햅틱 피드백 트랜스크립션은 컨트롤러의 우측에서 발생할 수 있다. 대안적으로, 상황 펄스는 이차 가능 장치(secondary capable device)로 전송될 수 있다.
본 발명의 도면에 사용된 시간 반복 "T"는 게임 애플리케이션에서 사전 정의될 수 있는 임의의 시간 증분(increment) 또는 게임 애플리케이션의 플레이어에 의해 대응되는 입력 장치에서 햅틱 피드백을 느끼고 해석하는 개인적 선호에 기초하여 정의될 수 있는 임의의 시간 증분이다.
햅틱 피드백의 전달은 플레이어가 입력을 선택하기 위해 사용하는 장치 (예를 들어, 키보드, 마우스, 컨트롤러)로 한정될 필요는 없으며, 액추에이터를 포함하는 입력 장치 및 웨어러블 장치 모두와 같은, 다수의 장치를 통해 플레이어에게 전달될 수 있다.
컴퓨팅 장치
도 11은 본 개시에 따른 컴퓨팅 장치(10)의 실시예를 도시한다. 컴퓨팅 장치(10)의 다른 변형, 예를 들어 컴퓨팅 장치(10)에 컴포넌트(components)를 제거 또는 추가하는 것과 같이 본 명세서에 명시적으로 제시된 예를 대체할 수 있다. 컴퓨팅 장치(10)는 게임 장치, 스마트 폰, 태블릿, 개인용 컴퓨터, 랩탑, 스마트 텔레비전, 자동차 콘솔 디스플레이, 서버 등을 포함할 수 있다. 도시 된 바와 같이, 컴퓨팅 장치(10)는 컴퓨팅 장치 (10)의 다른 구성 요소 및 외부 구성 요소와 상호 작용하는 프로세싱 유닛(processing unit)(20)을 포함한다. 미디어(12)와 통신하는 미디어 리더(media reader)(22)가 포함된다. 미디어 리더(22)는 CD-ROM 또는 DVD와 같은 광 디스크를 판독할 수 있는 광 디스크 판독기(optical disc reader), 또는 미디어로부터 데이터를 수신 및 판독할 수 있는 어떠한 다른 유형의 판독기일 수 있다. 하나 이상의 컴퓨팅 장치가 본 명세서에 개시된 하나 이상의 시스템을 구현하는데 사용될 수 있다.
컴퓨팅 장치(10)는 별도의 그래픽 프로세서(24)를 포함할 수 있다. 일부 경우에, 그래픽 프로세서(24)는 프로세싱 유닛(20)에 내장될 수 있다. 일부 이러한 경우에, 그래픽 프로세서(24)는 프로세싱 유닛(20)과 랜덤 액세스 메모리 (Random Access Memory(RAM))를 공유할 수 있다. 대안적으로 또는 부가적으로, 컴퓨팅 장치(10)는 프로세싱 유닛(20)과 분리된 개별 그래픽 프로세서(24)를 포함할 수 있다. 이러한 경우에, 그래픽 프로세서(24)는 프로세싱 유닛(20)과 별도의 RAM을 가질 수 있다. 컴퓨팅 장치(10)는 핸드 헬드 비디오 게임 장치(handheld video game device), 전용 게임 콘솔 컴퓨팅 시스템(dedicated game console computing system), 범용 랩탑 또는 데스크탑 컴퓨터, 스마트 폰, 태블릿, 자동차 콘솔 또는 다른 적합한 시스템일 수 있다.
컴퓨팅 장치(10)는 또한 I/O(32), 사용자 I/O(34), 디스플레이 I/O(36) 및 네트워크 I/O(38)와 같은 입력/출력을 가능하도록 하기 위한 다양한 구성 요소를 포함한다. I/O(32)는 컴퓨팅 장치(10)에 스토리지(storage)를 제공하기 위해 저장소(40) 및, 장치(42)를 통해, 이동식 저장소(44)와 상호작용한다. 프로세싱 유닛(20)은 데이터를 저장하기 위해 I/O(32)를 통해 통신할 수 있다. 스토리지(40) 및 제거 가능한 저장 매체(44) 외에, 컴퓨팅 장치(10)는 ROM(Read-Only Memory)(46) 및 RAM(48)을 포함하도록 도시되어 있다. RAM(48)은 자주 액세스되는 데이터에 사용될 수 있다.
사용자 I/O (34)는 프로세싱 유닛(20)과 키보드 또는 게임 컨트롤러와 같은 사용자 장치 사이에서 명령을 송수신하기 위해 사용된다. 일부 실시예에서, 사용자 I/O는 터치스크린을 포함할 수 있다. 터치스크린은 용량성 터치스크린(capacitive touchscreen), 저항성 터치스크린(resistive touchscreen), 또는 사용자로부터 촉각 입력(tactile inputs)을 통해 사용자 입력을 수신하도록 구성된 다른 유형의 터치스크린 기술일 수 있다. 디스플레이 I/O(36)는 이미지를 표시하는데 사용되는 입력/출력 기능을 제공한다. 네트워크 I/O(38)는 네트워크의 입력/출력 기능에 사용된다. 네트워크 I/O(38)는 클라이언트가 네트워크를 통해 서버에 연결될 때와 같이 실행 중에 사용될 수 있다.
디스플레이 I/O(36)에 의해 생성된 디스플레이 출력 신호(display output signals)는 그래픽, 사용자 인터페이스, 비디오 및/또는 다른 시각적 컨텐츠와 같은 디스플레이 장치 상에 컴퓨팅 장치(10)에 의해 생성된 시각적 컨텐츠를 디스플레이하기 위한 신호를 포함한다. 컴퓨팅 장치(10)는 디스플레이 I/O(36)에 의해 생성된 디스플레이 출력 신호를 수신하도록 구성된 하나 이상의 통합 디스플레이(integrated displays)를 포함할 수 있다. 일부 실시예에 따르면, 디스플레이 I/O(36)에 의해 생성된 디스플레이 출력 신호는 디스플레이(16)와 같은, 컴퓨팅 장치(10)의 외부의 하나 이상의 디스플레이 장치로 출력될 수도 있다.
컴퓨팅 장치(10)는 또한 클럭(clock)(50), 플래시 메모리(flash memory)(52) 및 다른 구성 요소와 같은 다른 구성을 포함할 수 있다. 오디오/비디오 플레이어(56)는 영화와 같은 비디오 시퀀스를 재생하는데 사용될 수 있다. 다른 구성 요소가 컴퓨팅 장치(10)에 제공될 수 있으며 당업자는 컴퓨팅 장치(10)의 적절한 다른 변형을 있을 수 있음을 이해해야 한다.
프로그램 코드는 ROM(46), RAM(48) 또는 저장소(40)(하드 디스크(hard dick), 다른 자기 스토리지(other magnetic storage), 광학 스토리지(optical storage), 다른 비휘발성 스토리지(other non-volatile storage) 또는 이들의 조합 또는 변형을 포함 할 수 있음)에 저장 될 수 있다. 프로그램 코드의 일부는 프로그램 가능한 (ROM, PROM, EPROM, EEPROM 등)에 저장될 수 있고, 프로그램 코드의 일부는 저장소(40) 및/또는 미디어(12)와 같은 이동식 매체에 저장될 수 있다(이는 CD-ROM, 카트리지, 메모리 칩 등일 수 있거나 필요에 따라 네트워크 또는 다른 전자 채널을 통해 얻을 수 있다). 일반적으로, 프로그램 코드는 실재하는 비일시적 신호 베어링 매체(tangible non-transitory signal-bearing medium)에 구현되어 있다.
랜덤 액세스 메모리(RAM)(48) (및 가능한 다른 저장 장치)는 필요에 따라 변수(variables) 및 다른 프로세서 데이터를 저장하는데 사용될 수 있다. RAM은 애플리케이션 및 그의 일부의 실행 동안 생성된 데이터를 보유하기 위해 이용되며, 또한 프레임 버퍼(frame buffers), 애플리케이션 상태 정보 및/또는 사용자 입력을 해석하고 디스플레이 출력을 생성하는데 필요하거나 사용할 수 있는 다른 데이터를 위해 예약될 수 있다. 일반적으로, RAM(48)은 휘발성 저장 장치이고, RAM(48) 내에 저장된 데이터는 컴퓨팅 장치(10)가 꺼지거나 전력이 손실될 때 손실될 수 있다.
컴퓨팅 장치(10)가 미디어(12)를 판독되고 애플리케이션을 제공함에 따라, 정보는 미디어(12)로부터 판독되고 RAM(48)과 같은 메모리 장치에 저장될 수 있다. 또한 저장소(40), ROM(46), 네트워크를 통해 액세스되는 서버(미도시) 또는 이동식 저장소(46)의 데이터는 판독되고 RAM(48)에 로드될 수 있다. 데이터는 RAM(48)에서 발견되는 것으로 설명되지만, 데이터는 RAM(48)에 저장될 필요가 없으며 프로세싱 유닛(20)이 접근할 수 있는 다른 메모리에 저장되거나 미디어(12), 저장소(40)와 같은 여러 미디어에 분산될 수 있다.
상기 설명은 예시적인 것이며, 한정되지 않는 것으로 이해되어야 한다. 상기 설명을 읽고 이해하면 많은 다른 구현들이 당업자에게 명백할 것이다. 그러므로, 본 개시의 범위는 그러한 청구 범위가 부여되는 균등물의 전체 범위와 함께 첨부된 청구 범위를 참조하여 결정되어야 한다.
상기 설명에서, 많은 세부 사항이 설명된다. 그러나, 당업자에게는 본 발명이 이러한 특정 세부 사항 없이도 실시될 수 있음이 명백 할 것이다. 일부 예에서, 잘 알려진 구조 및 장치는 본 발명을 모호하게 하는 것을 피하기 위해 상세하게 보다는 블록도 형태로 도시된다.
상기 상세한 설명의 일부 부분은 컴퓨터 메모리 내의 데이터 비트에 대한 동작의 상징적 표현으로 표시된다. 이러한 알고리즘적 설명 및 표현은 데이터 처리 분야의 당업자가 자신의 작업의 내용을 다른 당업자에게 가장 효과적으로 전달하기 위해 사용하는 수단이다. 여기서 알고리즘은, 일반적으로, 원하는 결과를 도출하는 단계의 일관된 시퀀스인 것으로 생각된다. 그 단계들은 물리적인 양의 물리적인 조작을 필요로 하는 단계들이다. 일반적으로, 반드시 그런 것은 아니지만, 이러한 양은 저장, 전송, 결합, 비교 및 달리 조작될 수 있는 전기 또는 자기 신호의 형태를 취한다. 이들 신호를 비트, 값, 요소, 심볼, 문자, 용어, 숫자 등으로 지칭하는 것이 주로 일반적인 사용의 이유로 때때로 편리한 것으로 입증되었다.
본 발명은 또한 본 명세서에서의 동작을 수행하기 위한 장치에 관한 것이다. 이 장치는 필요한 목적을 위해 특별히 구성될 수 있거나, 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 플로피 디스크, 광 디스크, CD-ROM 및 자기-광학 디스크, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), EPROM, EEPROM, 자기 또는 광학 카드, 또는 각각 컴퓨터 시스템 버스에 연결된 전자 명령을 저장하기에 적합한 임의의 유형의 매체를 포함하는 임의의 유형의 디스크와 같은 컴퓨터 판독 가능 저장 매체에 저장될 수 있지만, 이에 제한되지는 않는다..
본 발명은 프로세스를 수행하기 위해 컴퓨터 시스템(또는 다른 전자 장치)을 프로그래밍하는데 사용될 수 있는 명령어를 저장한 기계 판독 가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품 또는 소프트웨어로서 제공될 수 있다. 본 발명에 따르면. 기계 판독 가능 매체는 기계(예를 들어, 컴퓨터)에 의해 판독 가능한 형태로 정보를 저장 또는 전송하기위한 임의의 메커니즘을 포함한다. 예를 들어, 기계 판독 가능(예를 들어, 컴퓨터 판독 가능) 매체는 기계(예를 들어, 컴퓨터) 판독 가능 저장 매체(예를 들어, 판독 전용 메모리("ROM"), 랜덤 액세스 메모리 ("RAM"), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 장치 등)를 포함한다.

Claims (20)

  1. 게임 애플리케이션의 게임플레이 세션 동안 햅틱 피드백 시퀀스를 생성하기 위해 컴퓨터-구현 방법으로서, 상기 방법은,
    컴퓨터 실행 가능 명령과 함께 구성된 적어도 하나의 하드웨어 프로세서를 포함하는 컴퓨팅 시스템에 의한,
    게임 애플리케이션의 게임플레이 세션의 인스턴스를 실행하는 단계 -상기 게임플레이 세션의 상기 인스턴스는 가상 환경 및 하나 이상의 사용자 제어 가상 엔티티를 포함함-;
    상기 가상 환경 내에서 사용자에게 디스플레이된 컨트롤러 입력을 포함하는 인-게임 이벤트를 생성하는 단계 -상기 컨트롤러 입력은 사용자가 상기 인-게임 이벤트에 응답하여 작동할 수 있는 컨트롤러 장치의 하나 이상의 입력 제어를 나타냄-;
    사용자에게 디스플레이된 상기 컨트롤러 입력을 하나 이상의 햅틱 피드백 시퀀스로 트랜스크라이빙하는 단계 -상기 하나 이상의 햅틱 피드백 시퀀스는 각각의 상기 컨트롤러 입력을 고유하게 식별하는 일련의 신호를 포함함-; 및
    상기 하나 이상의 햅틱 피드백 시퀀스를 적어도 하나의 컨트롤러 장치에 전송하는 단계 -상기 하나 이상의 햅틱 피드백 시퀀스의 상기 일련의 신호는 상기 적어도 하나의 컨트롤러 장치 상에서 적어도 하나의 햅틱 액추에이터를 작동시키도록 구성됨-;를 포함하는 방법.
  2. 제1항에 있어서,
    상기 가상 환경 내에서 텍스트를 생성하는 단계;
    상기 텍스트를 모스 부호로 번역하는 단계; 및
    상기 모스 부호를 하나 이상의 모스 햅틱 피드백 시퀀스로 트랜스크라이빙하는 단계를 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 하나 이상의 햅틱 피드백 시퀀스 및 상기 하나 이상의 모스 햅틱 피드백 시퀀스가 상기 게임 애플리케이션을 실행하는 상기 컴퓨팅 장치와 함께 동작하는 상기 사용자의 컨트롤러 장치로 전송되는 순서를 결정하는 단계를 더 포함하는, 방법.
  4. 제3항에 있어서,
    풀 햅틱 피드백 시퀀스를 생성하기 위해 각각의 하나 이상의 버튼 햅틱 피드백 시퀀스 및 상기 하나 이상의 모스 햅틱 피드백 시퀀스 사이에 하나 이상의 트랜지셔널 햅틱 피드백 시퀀스를 삽입하는 단계를 더 포함하는, 방법.
  5. 제2항에 있어서,
    상기 디스플레이된 텍스트를 트랜스크라이빙하는 단계는,
    사용자에게 디스플레이된 상기 텍스트를 번역 심으로 푸시하는 단계를 포함하고,
    상기 번역 심은,
    상기 사용자에게 디스플레이된 상기 텍스트를 식별하고, 상기 사용자에게 디스플레이된 상기 텍스트를 모스 코드로 번역하기 위한 외부 API를 호출하기 위한 기계 판독가능 명령으로 구성되는, 방법.
  6. 제2항에 있어서,
    풀 햅틱 시퀀스는,
    게임 애플리케이션에서 다수의 사용자를 지원하기 위해 상기 게임 애플리케이션을 실행하는 상기 컴퓨팅 장치와 함께 동작하는 복수의 컨트롤러 장치로 전송되는, 방법.
  7. 제2항에 있어서,
    상기 모스 햅틱 피드백 시퀀스는,
    상기 컴퓨팅 장치와 함께 동작하는 상기 컨트롤러 장치에서 하나 이상의 액추에이터를 물리적으로 회전시키기 위한 기계 판독가능 명령을 포함하는, 방법.
  8. 제1항에 있어서,
    상기 햅틱 피드백 시퀀스는,
    상기 컴퓨팅 장치와 함께 동작하는 상기 컨트롤러 장치에서 하나 이상의 액추에이터를 물리적으로 회전시키기 위한 기계 판독가능 명령을 포함하는, 방법.

  9. 제1항에 있어서,
    상기 햅틱 피드백 시퀀스는,
    상기 컨트롤러 장치에서 복수의 햅틱 액추에이터를 작동시키기 위한 기계 판독가능 명령을 포함하는, 방법.
  10. 시스템으로서,
    컴퓨팅 장치에서 실행 가능한 기계-판독가능 명령과 함께 구성된 적어도 하나의 하드웨어 프로세서를 포함하고, 상기 기계-판독가능 명령은 상기 적어도 하나의 하드웨어 프로세서가,
    게임 애플리케이션의 게임 플레이 세션의 인스턴스를 실행하고 -상기 게임 플레이 세션의 상기 인스턴스는 가상 환경 및 하나 이상의 사용자 제어 가상 엔티티를 포함함-;
    상기 가상 환경 내에서 사용자에게 디스플레이된 컨트롤러 입력을 포함하는 인-게임 이벤트를 생성하고 -상기 컨트롤러 입력은 사용자가 상기 인-게임 이벤트에 응답하여 작동할 수 있는 컨트롤러 장치의 하나 이상의 입력 제어를 나타냄-;
    사용자에게 디스플레이 된 상기 컨트롤러 입력을 하나 이상의 햅틱 피드백 시퀀스로 트랜스크라이브 하고 -상기 하나 이상의 햅틱 피드백 시퀀스는 각각의 상기 컨트롤러 입력을 고유하게 식별하는 일련의 신호를 포함함-;
    상기 하나 이상의 햅틱 피드백 시퀀스를 적어도 하나의 컨트롤러 장치에 전송 -상기 하나 이상의 햅틱 피드백 시퀀스의 상기 일련의 신호는 상기 적어도 하나의 컨트롤러 장치 상에서 적어도 하나의 햅틱 액추에이터를 작동시키도록 구성됨-하도록 구성하는, 시스템.
  11. 제10항에 있어서,
    상기 기계-판독가능 명령은,
    상기 가상 환경 내에서 텍스트를 생성하고,
    상기 텍스트를 모스 부호(Morse code)로 번역하고,
    상기 모스 부호를 하나 이상의 모스 햅틱 피드백 시퀀스(Morse haptic feedback sequence)로 트랜스크라이브 하도록 더 구성된, 시스템.
  12. 제11항에 있어서,
    상기 기계-판독가능 명령은,
    상기 하나 이상의 햅틱 피드백 시퀀스 및 상기 하나 이상의 모스 햅틱 피드백 시퀀스가 게임 애플리케이션을 실행하는 상기 컴퓨팅 장치와 관련하여 동작하는 상기 사용자의 컨트롤러 장치로 전송되는 순서를 결정하도록 더 구성된, 시스템.
  13. 제12항에 있어서,
    상기 기계-판독가능 명령은,
    풀 햅틱 피드백 시퀀스를 생성하기 위해 각각의 하나 이상의 버튼 햅틱 피드백 시퀀스 및 상기 하나 이상의 모스 햅틱 피드백 시퀀스 사이에 하나 이상의 트랜지셔널 햅틱 피드백 시퀀스를 삽입하도록 더 구성된, 시스템.
  14. 제13항에 있어서,
    상기 햅틱 피드백 시퀀스는,
    상기 컨트롤러 장치에서 제1 햅틱 액추에이터를 작동시키기 위한 기계 판독가능 명령을 포함하고,
    상기 트랜지셔널 햅틱 피드백 시퀀스는,
    상기 컨트롤러 장치에서 제2 햅틱 액추에이터를 작동시키기 위한 기계 판독가능 명령을 포함하는 시스템.
  15. 제11항에 있어서,
    상기 사용자에게 디스플레이된 상기 텍스트를 트랜스크라이빙하는 단계는,
    사용자에게 디스플레이된 상기 텍스트를 번역 심으로 푸시하는 단계를 포함하고,
    상기 번역 심은,
    상기 사용자에게 디스플레이된 상기 텍스트를 식별하고, 상기 사용자에게 디스플레이된 상기 텍스트를 모스 코드로 번역하기 위한 외부 API를 호출하기 위한 기계 판독가능 명령을 포함하는 시스템.
  16. 제11항에 있어서,
    풀 햅틱 시퀀스는 상기 게임 애플리케이션에서 다수의 사용자를 지원하기 위해 상기 게임 애플리케이션을 실행하는 상기 컴퓨팅 장치와 함께 동작하는 복수의 컨트롤러 장치로 전송되는 시스템.
  17. 제11항에 있어서,
    상기 모스 햅틱 피드백 시퀀스는,
    상기 컴퓨팅 장치와 함께 동작하는 상기 컨트롤러 장치에서 하나 이상의 액추에이터를 물리적으로 회전시키기 위한 기계 판독가능 명령을 포함하는 시스템.
  18. 제10항에 있어서,
    상기 햅틱 피드백 시퀀스는,
    상기 컴퓨팅 장치와 함께 동작하는 상기 컨트롤러 장치에서 하나 이상의 액추에이터를 물리적으로 회전시키기 위한 기계 판독가능 명령을 포함하는 시스템.
  19. 제10항에 있어서,
    상기 햅틱 피드백 시퀀스는,
    상기 컨트롤러 장치에서 복수의 햅틱 액추에이터를 작동시키기 위한 기계 판독가능 명령을 포함하는 시스템.
  20. 제11항에 있어서,
    상기 게임 애플리케이션의 상기 게임플레이 상태의 상기 인스턴스는,
    다수의 컴퓨팅 장치에서 실행되는 상기 게임 애플리케이션의 공유 상태인 시스템.
KR1020200049963A 2020-02-18 2020-04-24 게임 애플리케이션의 사용자 인터페이스 요소를 햅틱 피드백으로 트랜스크라이빙하기 위한 시스템 및 방법 KR102432011B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220098427A KR20220113905A (ko) 2020-02-18 2022-08-08 게임 애플리케이션의 사용자 인터페이스 요소를 햅틱 피드백으로 트랜스크라이빙하기 위한 시스템 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/793,968 US11358054B2 (en) 2020-02-18 2020-02-18 Systems and methods for transcribing user interface elements of a game application into haptic feedback
US16/793,968 2020-02-18

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220098427A Division KR20220113905A (ko) 2020-02-18 2022-08-08 게임 애플리케이션의 사용자 인터페이스 요소를 햅틱 피드백으로 트랜스크라이빙하기 위한 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20210105267A true KR20210105267A (ko) 2021-08-26
KR102432011B1 KR102432011B1 (ko) 2022-08-12

Family

ID=77271747

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200049963A KR102432011B1 (ko) 2020-02-18 2020-04-24 게임 애플리케이션의 사용자 인터페이스 요소를 햅틱 피드백으로 트랜스크라이빙하기 위한 시스템 및 방법
KR1020220098427A KR20220113905A (ko) 2020-02-18 2022-08-08 게임 애플리케이션의 사용자 인터페이스 요소를 햅틱 피드백으로 트랜스크라이빙하기 위한 시스템 및 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220098427A KR20220113905A (ko) 2020-02-18 2022-08-08 게임 애플리케이션의 사용자 인터페이스 요소를 햅틱 피드백으로 트랜스크라이빙하기 위한 시스템 및 방법

Country Status (3)

Country Link
US (2) US11358054B2 (ko)
KR (2) KR102432011B1 (ko)
CN (1) CN113332709A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11358054B2 (en) 2020-02-18 2022-06-14 Electronic Arts Inc. Systems and methods for transcribing user interface elements of a game application into haptic feedback
KR20220088633A (ko) * 2020-12-18 2022-06-28 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 음성을 텍스트로 변환하는 방법, 시스템, 장치 및 매체
US11836205B2 (en) 2022-04-20 2023-12-05 Meta Platforms Technologies, Llc Artificial reality browser configured to trigger an immersive experience
US11755180B1 (en) 2022-06-22 2023-09-12 Meta Platforms Technologies, Llc Browser enabled switching between virtual worlds in artificial reality

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060098596A (ko) * 2005-03-03 2006-09-19 엘지전자 주식회사 메시지의 변환 방법 및 그를 이용하는 이동통신 단말기
JP2015056183A (ja) * 2013-09-10 2015-03-23 イマージョン コーポレーションImmersion Corporation 触覚変換を行うためのシステム及び方法
JP2018049669A (ja) * 2000-06-30 2018-03-29 イマージョン コーポレーションImmersion Corporation ハプティックフィードバック機能性を備えたチャットインターフェース

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7742036B2 (en) * 2003-12-22 2010-06-22 Immersion Corporation System and method for controlling haptic devices having multiple operational modes
WO2006051581A1 (ja) * 2004-11-09 2006-05-18 Takahiko Suzuki 触覚フィードバックコントローラ及びその制御方法並びに触覚フィードバックコントローラを用いたメッセージ伝達方法
JP5748956B2 (ja) * 2006-09-13 2015-07-15 イマージョン コーポレーションImmersion Corporation カジノゲーム用のハプティクスのためのシステム及び方法
US8279052B2 (en) * 2009-11-04 2012-10-02 Immersion Corporation Systems and methods for haptic confirmation of commands
US8591334B2 (en) * 2010-06-03 2013-11-26 Ol2, Inc. Graphical user interface, system and method for implementing a game controller on a touch-screen device
US8337305B2 (en) * 2010-11-17 2012-12-25 Steelseries Aps Apparatus and method for managing user inputs in video games
US9177452B1 (en) * 2011-04-01 2015-11-03 The Mathworks, Inc. User interface for a modeling environment
JP6153007B2 (ja) * 2013-07-19 2017-06-28 株式会社コナミデジタルエンタテインメント 操作システム、操作制御方法、操作制御プログラム
US10328344B2 (en) * 2013-10-11 2019-06-25 Valve Corporation Game controller systems and methods
EP3263195A4 (en) * 2015-02-27 2018-09-12 Sony Corporation Information processing device, information processing method, information processing system
CN106778959A (zh) * 2016-12-05 2017-05-31 宁波亿拍客网络科技有限公司 一种可基于计算机视觉感知识别的特定标记及方法系统
WO2019024041A1 (en) * 2017-08-03 2019-02-07 Tencent Technology (Shenzhen) Company Limited DEVICES, METHODS, AND GRAPHICAL USER INTERFACES FOR PROVIDING GAME CONTROLS
US20200264703A1 (en) * 2019-02-14 2020-08-20 Walmart Apollo, Llc Virtual reality systems with synchronous haptic user feedback
US11358054B2 (en) 2020-02-18 2022-06-14 Electronic Arts Inc. Systems and methods for transcribing user interface elements of a game application into haptic feedback

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018049669A (ja) * 2000-06-30 2018-03-29 イマージョン コーポレーションImmersion Corporation ハプティックフィードバック機能性を備えたチャットインターフェース
KR20060098596A (ko) * 2005-03-03 2006-09-19 엘지전자 주식회사 메시지의 변환 방법 및 그를 이용하는 이동통신 단말기
JP2015056183A (ja) * 2013-09-10 2015-03-23 イマージョン コーポレーションImmersion Corporation 触覚変換を行うためのシステム及び方法

Also Published As

Publication number Publication date
US11358054B2 (en) 2022-06-14
CN113332709A (zh) 2021-09-03
KR102432011B1 (ko) 2022-08-12
US20210252392A1 (en) 2021-08-19
US20220379201A1 (en) 2022-12-01
US11786812B2 (en) 2023-10-17
KR20220113905A (ko) 2022-08-17

Similar Documents

Publication Publication Date Title
US20230016824A1 (en) Voice help system via hand held controller
KR102432011B1 (ko) 게임 애플리케이션의 사용자 인터페이스 요소를 햅틱 피드백으로 트랜스크라이빙하기 위한 시스템 및 방법
JP6383478B2 (ja) インタラクティブ体験のためのシステム及び方法、並びにこのためのコントローラ
US10092827B2 (en) Active trigger poses
US10105594B2 (en) Wearable garments recognition and integration with an interactive gaming system
CN109479163B (zh) 游戏运行配套应用程序
KR102360430B1 (ko) 색맹 진단 시스템
KR20200115213A (ko) 비디오 게임에서 자동 플레이어 제어의 인계
JP2015507773A5 (ko)
JP6785325B2 (ja) ゲームプログラム、方法、および情報処理装置
KR102584901B1 (ko) 이벤트 정보 송신 장치 및 방법, 이벤트 정보 출력 장치 및 방법
JP6959267B2 (ja) 場所ベースゲームプレイコンパニオンアプリケーションを使用するチャレンジの生成
WO2023231557A1 (zh) 虚拟对象的互动方法、装置、设备、存储介质及程序产品
KR102463571B1 (ko) 게임 제어 장치 및 방법
KR20190127308A (ko) 게임 동작 예측 장치 및 방법
CN112843682B (zh) 数据同步方法、装置、设备及存储介质
WO2024055811A1 (zh) 消息显示方法、装置、设备、介质及程序产品
WO2022113330A1 (ja) 方法、コンピュータ可読媒体、および情報処理装置
WO2022113335A1 (ja) 方法、コンピュータ可読媒体、および情報処理装置
Cai et al. Cognitive gaming
JP2024514763A (ja) ゲームの情報処理方法、装置、電子機器および記憶媒体
CN116650954A (zh) 一种游戏进程的控制方法、装置、电子设备及存储介质
KR20200040396A (ko) 스토리 제공 장치 및 방법
KR20190127301A (ko) 게임 서비스 시스템 및 상기 시스템에서의 영상 제공 방법
KR20200066811A (ko) 과거 게임 데이터를 이용한 게임 제공 방법 및 그 시스템

Legal Events

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