KR20150114909A - 아바타가 가상 환경에서 플레이어를 나타내기 위한 센서 기반 게이밍 시스템 - Google Patents

아바타가 가상 환경에서 플레이어를 나타내기 위한 센서 기반 게이밍 시스템 Download PDF

Info

Publication number
KR20150114909A
KR20150114909A KR1020150046223A KR20150046223A KR20150114909A KR 20150114909 A KR20150114909 A KR 20150114909A KR 1020150046223 A KR1020150046223 A KR 1020150046223A KR 20150046223 A KR20150046223 A KR 20150046223A KR 20150114909 A KR20150114909 A KR 20150114909A
Authority
KR
South Korea
Prior art keywords
player
avatar
sensor data
real world
world
Prior art date
Application number
KR1020150046223A
Other languages
English (en)
Other versions
KR101686324B1 (ko
Inventor
준 리앙
앤 쿠
니콜라이 말체프
Original Assignee
애플잭 199 엘.피.
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
Priority claimed from US14/243,575 external-priority patent/US9457229B2/en
Application filed by 애플잭 199 엘.피. filed Critical 애플잭 199 엘.피.
Publication of KR20150114909A publication Critical patent/KR20150114909A/ko
Application granted granted Critical
Publication of KR101686324B1 publication Critical patent/KR101686324B1/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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • 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
    • 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/216Input arrangements for video game devices characterised by their sensors, purposes or types using geographical information, e.g. location of the game device or player using GPS
    • 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
    • A63F13/235Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console using a wireless connection, e.g. infrared or piconet
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • A63F13/327Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections using wireless networks, e.g. Wi-Fi® or piconet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • 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
    • A63F13/428Processing 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 involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • A63F13/655Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition by importing photos, e.g. of the player
    • 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/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • 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/69Generating 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 by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5553Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history user representation in the game field, e.g. avatar
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5573Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history player location
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/57Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
    • A63F2300/575Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player for trading virtual items

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Environmental & Geological Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Heart & Thoracic Surgery (AREA)

Abstract

아바타가 가상 환경에서 플레이어를 나타내기 위한 센서 기반 게이밍 시스템을 제공하는 방법은 플레이어의 부속물들을 기술하는 측정치들의 세트를 무선으로 수신하는 단계를 포함한다. 방법은, 플레이어와 연관되고 플레이어의 가상 실시예를 가상 세계에서 묘사하는 아바타를 포함한 플레이어 프로필을 발생시키는 단계를 포함한다. 방법은 센서들로부터 센서 데이터를 수신하는 단계를 포함한다. 센서 데이터는 플레이어의 현실 세계 포지션 내의 변화를 기술한다. 방법은 플레이어 움직임의 추정을 결정하는 단계를 포함한다. 방법은 가상 세계 내의 아바타의 스크린 포지션과, 현실 세계 내의 플레이어의 현실 세계 포지션 간의 차이를 결정하는 단계를 포함한다. 방법은 플레이어의 움직임에 대응하는 아바타의 움직임을 나타내는 아바타 이미지 데이터를 발생시키는 단계를 포함한다.

Description

아바타가 가상 환경에서 플레이어를 나타내기 위한 센서 기반 게이밍 시스템{SENSOR-BASED GAMING SYSTEM FOR AN AVATAR TO REPRESENT A PLAYER IN A VIRTUAL ENVIRONMENT}
관련 출원들에 대한 상호 참조
본 출원은 2012년 12월 21일에 출원된 독일 출원 제10 2012 224 321.6호의 우선권을 주장하는, 2013년 12월 20일에 출원된 PCT 국제 출원 제PCT/IB2013/061229호의 일부 계속 출원이다. 상기의 출원들은 참조로서 본 명세서에 포함된다.
본 명세서에 논의된 실시예들은 아바타가 가상 환경에서 플레이어를 나타내기 위한 센서 기반 게이밍 시스템에 관한 것이다.
게이밍 시스템들의 인기가 증가하고 있다. 게이밍 시스템들은 게이밍 콘솔들, 퍼스널 컴퓨터들, 랩탑들, 태블릿 컴퓨팅 디바이스들, 스마트폰들, 비디오 스트리밍 셋탑 박스들 기타 등등일 수 있다. 게이밍 시스템들이 인기가 높아짐에 따라, 보다 많은 게임들이 이러한 서로 다른 플랫폼들 상에서 플레이될 필요가 있다.
실시예들은 하나 이상의 플레이어들이 비디오 게임을 플레이할 수 있도록 하는 게이밍 시스템을 포함할 수 있다. 플레이어는 하나 이상의 센서들을 가진다. 예를 들어, 플레이어는 손목 밴드, 무릎 밴드, 발목 밴드 기타 등등을 착용하는 인간이다. 밴드들은 플레이어의 신체의 임의의 부위 상에 위치될 수 있다. 플레이어는 플레이어의 신체의 서로 다른 위치들 상에 서로 다른 밴드들의 임의의 조합을 가질 수 있다. 밴드들은 서로 다른 센서들을 얼마든지 포함할 수 있다. 센서들은 심장 박동 센서, 마이크로폰, 압력 센서, 가속도계, 자이로스코프, 보수계, 착용가능한 근전도 기록 센서 기타 등등 중 하나 이상을 포함할 수 있다. 손목 밴드는 게임에 사용되지 않을 때 손목 시계로 기능하도록 구성될 수 있다. 손목 밴드는 하나 이상의 피드백 디바이스들, 그 예로서 LED 디스플레이, 마이크로 진동기 또는 스피커를 포함할 수 있다. 센서들은 플레이어가 착용한 3 차원 고글의 구성요소일 수 있다.
비디오 게임은 도박 게임, 단일의 플레이어 아바타 모션 게임 또는 다수의 플레이어 아바타 모션 게임일 수 있다. 비디오 게임은 촉각 또는 촉감 피드백을 포함할 수 있다.
비디오 게임이 도박 게임인 실시예들에서, 플레이어의 모션은, 난수 발생기에 대한 시드(seed)인 센서 데이터를 제공할 수 있다. 플레이어는 그들의 신체를 움직일 수 있다. 센서들은 플레이어 움직임을 검출하고, 플레이어 움직임을 기술하는 센서 데이터를 발생시킬 수 있다. 센서들은 센서 데이터를 프로세서 기반 컴퓨팅 디바이스로 전송할 수 있다. 컴퓨팅 디바이스는 소프트웨어 기반 난수 발생기를 포함할 수 있다. 센서 데이터는 난수 발생기의 시드를 제공하고, 하나 이상의 난수들을 발생시키기 위해 사용될 수 있다. 그 후에, 난수들은 운으로 하는 게임에 사용될 수 있다.
비디오 게임이 단일의 플레이어 아바타 모션 게임인 실시예들에서, 플레이어는 플레이어 프로필을 가질 수 있다. 플레이어 프로필은 플레이어에 대응하는 측정치들을 포함할 수 있다. 측정치들은 플레이어의 모션들을 추정하기 위해 센서 데이터와 함께 사용될 수 있다. 플레이어는 비디오 게임의 가상 세계에 플레이어를 나타내기 위해 하나 이상의 아바타들을 가질 수 있다. 아바타는 플레이어의 모션을 대략적으로 모사하기 위해 디스플레이 스크린 상에서 움직일 수 있다. 아바타는, 플레이어가 현실 세계에 존재할 시에 플레이어의 3 차원 이미지를 포함할 수 있다. 이러한 방식으로, 아바타는 플레이어와 같은 모습으로 의인화될 수 있다. 아바타는 가상 세계에 묘사된 임의의 이미지를 포함할 수 있다. 비디오 게임은 애플리케이션 내의 구입들 또는 온라인 구입들을 포함할 수 있다. 예를 들어, 비디오 게임은, 플레이어들이 그들의 아바타들 또는 플레이어 프로필들에 대한 부속물(attribute)들(무기, 갑옷, 능력 기타 등등)을 구입할 수 있는 온라인 스토어를 포함할 수 있다.
비디오 게임이 다수의 플레이어 아바타 모션 게임인 실시예들에서, 플레이어들은 서로 다른 지리적인 위치들 또는 동일한 지리학적인 위치 내에 있을 수 있다. 예를 들어, 제1 플레이어는 미국 내에 있을 수 있고, 제2 플레이어는 중국 내에 있을 수 있다. 제1 플레이어 및 제2 플레이어는 게임을 함께 상호작용하여 플레이할 수 있다. 아바타들이 실시간 또는 근 실시간(예를 들면, 플레이어의 움직임과 아바타의 해당 움직임 간의 0.1 내지 0.09 초의 지연)으로 각각의 플레이어의 움직임을 모사하도록, 그들 각자의 아바타들은 서로 상호작용할 수 있다. 몇몇 실시예들에서, 플레이어들 중 하나는 동물 또는 살아 있지 않은 물체일 수 있다. 예를 들어, 플레이어들 중 하나는 찻주전자의 공동 내부의 온도 또는 압력을 측정하기 위해 그 안에 설치된 센서를 가진 찻주전자일 수 있다. 게임은 플레이어가 그들 자신에 맞서 플레이할 수 있도록 구성될 수 있다. 예를 들어, 제1 플레이어는 제2 플레이어에 맞서 플레이할 수 있다. 제2 플레이어의 아바타의 움직임들은, 제1 플레이어가 그들 자신에 맞서 효과적으로 플레이 중에 있도록, 제1 플레이어의 움직임들의 미러 이미지 또는 반전 미러 이미지에 기반하여 발생될 수 있다. 몇몇 실시예들에서, 플레이어는 그들 그 자신의 시간 이동식 버전(time shifted version)으로 플레이할 수 있다. 예를 들어, 플레이어는 월요일에 게임을 플레이한다. 게임은 골프 게임 또는 임의의 다른 게임일 수 있다. 플레이어의 아바타의 행동들은 메모리에 기록되거나, 이와 달리 저장될 수 있다. 그 후에, 기록된 아바타는 임의의 차후 시간에서 스크린 상에 덮어씌워질 수 있되, 플레이어의 실시간 아바타 역시 스크린 상에 있을 때 그러하다. 예를 들어, 화요일에, 플레이어는 월요일로부터 기록된 아바타에 의해 나타난 바와 같은 그들 자신의 시간 이동식 버전으로 플레이하기 위해 선택할 수 있다. 예를 들어, 월요일에 플레이어가 아바타를 사용하여 골프 스윙을 기록했다고 가정한다. 화요일에, 기록된 아바타는 플레이어의 실시간 아바타와 함께 스크린 상에 보일 수 있고, 그 결과 플레이어는 화요일의 그들 골프 스윙과 월요일의 그들 골프 스윙을 비교할 수 있다.
실시예의 양태에 따라서, 방법은 제1 플레이어와 연관된 제1 측정치들의 세트를 무선으로 수신하는 단계를 포함할 수 있다. 제1 측정치들의 세트는 제1 플레이어의 하나 이상의 부속물들을 기술할 수 있다. 방법은 제1 측정치에 기반하여, 제1 플레이어와 연관되고 제1 플레이어의 가상 실시예를 가상 세계에서 묘사하는 제1 아바타를 포함한 제1 플레이어 프로필을 발생시키는 단계를 포함할 수 있다. 방법은 제1 플레이어와 연관된 복수의 제1 센서들로부터 제1 센서 데이터를 무선으로 수신하는 단계를 포함할 수 있다. 제1 센서 데이터는 현실 세계에서 제1 플레이어의 현실 세계 포지션 내의 변화를 기술할 수 있다. 방법은 제1 측정치들의 세트 및 제1 센서 데이터에 기반하여, 제1 플레이어 움직임의 제1 추정을 결정하는 단계를 포함할 수 있다. 방법은 가상 세계 내의 제1 아바타의 제1 스크린 포지션과, 현실 세계 내의 제1 플레이어의 현실 세계 포지션 간의 제1 차이를 결정하는 단계를 포함할 수 있다. 방법은 제1 플레이어의 움직임에 대응하는 제1 아바타의 움직임을 나타내는 제1 아바타 이미지 데이터를 발생시키는 단계를 포함할 수 있다. 제1 아바타 이미지 데이터는 가상 세계 내의 제1 아바타의 제1 스크린 포지션과, 현실 세계 내의 제1 플레이어의 현실 세계 포지션 간의 제1 차이에 기반하여 발생될 수 있다.
실시예들의 목적 및 이점들은 청구범위에서 특히 언급된 요소들, 특징들, 및 조합들에 의해 적어도 실현되고 달성될 것이다.
상기의 일반적인 설명과 하기의 상세한 설명 둘 모두는 예시 및 설명을 위한 것이며, 청구한 바와 같이, 본 발명을 제한하지 않는다는 것을 이해하여야 한다.
예시 실시예들은 다음의 첨부된 도면의 사용을 통하여 추가적인 특정 및 상세사항과 함께 기술 및 설명될 것이다:
도 1은 센서 기반 게이밍 시스템이 구현될 수 있는 예시 동작 환경의 블록다이어그램이고;
도 2는 센서 기반 게이밍 시스템을 제공하는 예시 시스템의 블록다이어그램이고;
도 3a는 센서 기반 게이밍 시스템을 동작시키는 방법의 예시 플로다이어그램을 도시하고;
도 3b는 단일의 플레이어 아바타 모션 게임을 제공하는 방법의 예시 플로다이어그램을 도시하고;
도 3c 및 도 3d는 다수의 플레이어 아바타 모션 게임을 제공하는 방법의 예시 플로다이어그램을 도시하고;
도 4는 한 프레임씩(frame-by-frame) 아바타 이미지들을 렌더링하는 방법의 예시 플로다이어그램을 도시하고;
도 5는 아바타들을 발생시키고 플레이어에게 스토어 체험을 제공하여 플레이어 프로필 또는 아바타를 변경시키는 방법의 예시 플로다이어그램을 도시하며;
도 6은 아바타들의 예시 세트를 묘사하는 그래픽 사용자 인터페이스이다;
본 명세서에 논의된 실시예들은 아바타가 가상 환경에서 플레이어를 나타내기 위한 센서 기반 게이밍 시스템을 제공하는 것에 관한 것이다.
본 발명의 실시예들은 첨부된 도면들을 참조하여 설명될 것이다.
도 1은 본 명세서에서 기술된 적어도 하나의 실시예에 따라 배치된, 예시 게이밍 시스템(100)의 블록다이어그램이다.
플레이어(102A, 102B)(본 명세서에서는 "플레이어들(102)" 또는 "플레이어(102)"로 각각 집합적으로 또는 개별적으로 지칭됨)는 게이밍 시스템(100)의 사용자이다. 플레이어는 살아 있거나 살아 있지 않은 물체일 수 있다. 예를 들어, 플레이어는 인간, 개, 말, 찻주전자, 또는 하나 이상의 센서들(114A, 114B, 114C, 114D)에 맞춰진 임의의 다른 물체일 수 있다. 센서들(114A, 114B, 114C, 114D)("센서들(114)" 또는 "센서(114)"로 각각 집합적으로 또는 개별적으로 지칭됨).
센서(114)는 센서 데이터를 결정 또는 탐색할 수 있다. 센서 데이터는 플레이어(102)와 연관된 하나 이상의 조건들, 파라미터들 또는 측정치들을 기술하는 정보를 포함할 수 있다. 예를 들어, 센서(114)는 심장 박동 센서, 마이크로폰, 압력 센서, 가속도계, 자이로스코프, 보수계, 착용가능한 근전도 기록 센서 기타 등등일 수 있다. 센서(114)는 플레이어(102)의 파라미터들 중 하나 이상을 측정하도록 구성된 센서일 수 있다.
센서 데이터는 플레이어(102)와 연관된 조건들, 파라미터들 또는 측정치들을 실시간 또는 근 실시간으로 기술할 수 있다. 센서들(114)은 센서 데이터 또는 다른 데이터를 저장하는 메모리를 포함할 수 있다. 센서들(114)은 손목시계, 스마트시계 또는 프로세서 기반 연결식 디바이스로 구현될 수 있다. 손목시계, 스마트시계 또는 프로세서 기반 연결식 디바이스는 만화 캐릭터들 또는 다른 장식물들을 포함하여, 그것들이 젊은이 또는 몇몇 다른 사람에게 보다 매력적으로 다가가도록 할 수 있다.
도 1은 두 개의 플레이어들(114)을 가진 예시 시스템(100)을 묘사한다. 그러나, 실제 시스템(100)은 하나 이상의 플레이어들(102)을 포함할 수 있다. 이와 유사하게, 도 1에서 각각의 플레이어(102)는 2 개의 센서들(114)을 가진 것으로 묘사된다. 그러나, 실제 각각의 플레이어는 하나 이상의 센서들(114)을 가질 수 있다.
센서들(114)은 네트워크(199A, 199B)("네트워크들(199)" 또는 "네트워크(199)"로 각각 집합적으로 또는 개별적으로 지칭됨)를 통해 플레이어 디바이스(104A, 104B)("플레이어 디바이스들(104)" 또는 "플레이어 디바이스(104)"로 각각 집합적으로 또는 개별적으로 지칭됨)에 통신 방식으로 결합될 수 있다. 센서 데이터는 네트워크(199)를 통해 플레이어 디바이스(104)로 전송될 수 있다. 센서 데이터의 전송은 "풀 타입(pull type)", "푸쉬 타입(push type)" 또는 "버퍼 타입(buffer type)"일 수 있다. 몇몇 구현들에 있어, 네트워크(199)는 단문 메시징 서비스(SMS), 멀티미디어 메시징 서비스(MMS), 하이퍼텍스트 전송 프로토콜(HTTP), 직접 데이터 연결, WAP, 이메일 기타 등등을 통하여 포함된 데이터를 송수신하는 블루투스 통신 네트워크들 또는 셀룰러 통신 네트워크를 포함할 수 있다. 일 실시예에서, 센서들(114)은 센서 데이터를 블루투스 허브로 전송하고, 블루투스 허브는 데이터를 네트워크(199)로 전송한다. 네트워크(199)는 종래의 타입, 유선 또는 무선일 수 있고, 스타 구성(star configuration), 토큰 링 구성 또는 다른 구성들을 포함한 서로 다른 구성들을 많이 가질 수 있다. 더욱이, 네트워크(199)는 근거리 네트워크(LAN), 광역 네트워크(WAN)(예를 들면, 인터넷), 또는 다수의 디바이스들이 통신할 수 있는 다른 상호 연결식 데이터 경로들을 포함할 수 있다. 몇몇 구현들에 있어, 네트워크(199)는 피어 투 피어 네트워크일 수 있다. 네트워크(199)는 또한 다양한 서로 다른 통신 프로토콜들을 한 데이터를 송신하기 위해 전기 통신 네트워크의 부분들에 결합되거나, 또는 상기 부분들을 포함할 수 있다.
플레이어 디바이스(104)는 프로세서 기반 컴퓨팅 디바이스일 수 있다. 예를 들어, 플레이어 디바이스(104)는 게이밍 콘솔, 퍼스널 컴퓨터, 랩탑, 태블릿 컴퓨팅 디바이스, 스마트폰, 비디오 스트리밍 셋탑 박스, 연결식 디바이스 기타 등등일 수 있다. 플레이어 디바이스(104)는 임의의 플랫폼을 사용하여 동작할 수 있다. 예를 들어, 플레이어 디바이스는 윈도우즈, 리눅스, OSX, iOS, 타이젠, 안드로이드, 심비안 또는 임의의 다른 플랫폼을 사용하여 동작가능할 수 있다.
플레이어 디바이스(104)는 센서 데이터를 저장 및 프로세싱하는 메모리를 포함할 수 있다. 플레이어 디바이스(104)는 플레이어(102)에게 피드백 또는 입력을 제공하기 위해 디스플레이 또는 임의의 다른 주변 장치에 통신 방식으로 결합될 수 있다. 플레이어 디바이스(104)는 플레이어(102)에게 게이밍 체험 또는 애플리케이션을 제공하도록 구성될 수 있다. 게이밍 체험 또는 애플리케이션은 온라인 게임일 수 있다. 게이밍 체험 또는 애플리케이션은 하나 이상의 타입들: 훈련/교육; 게이밍/전투; 도박; 스포츠/건강; 기타 등등일 수 있다. 이러한 예시의 게이밍 체험들 또는 애플리케이션들 각각은 이하에서 기술된다.
훈련/교육 게이밍 체험들 또는 애플리케이션들에 대해, 센서들(114)은, 살아 있거나 살아 있지 않은 물체인 플레이어(102)의 물리적 활동의 강도를 캡쳐하는 능력을 가진 하나 이상의 가속도계들을 포함할 수 있다. 살아 있는 물체는 아바타로부터 원하는 움직임을 따르도록 배우거나 훈련받을 수 있고, 실제의 움직임과 원하는 움직임 간의 차이들을 관찰할 수 있을 것이다. 이러한 방식으로, 플레이어(102)는 플레이어 디바이스(104)로 제공된 게이밍 체험 또는 애플리케이션에 의해 훈련을 받거나 교육을 받는다. 예를 들어, 플레이어(102)는 보다 양호한 골프 스윙 또는 근육 메모리에 의지하는 임의의 다른 모션을 개발시키기 위해 플레이어 디바이스(104)를 사용할 수 있다.
게이밍/전투 게이밍 체험들 또는 애플리케이션들에 대해, 게임 스타일은 임의의 타입일 수 있다. 몇몇 실시예들에서, 게임 스타일은 3 인칭 슈터 게임이다. 게임 스타일은 "등 뒤의" 시각을 가질 수 있지만, 그러나 플레이어(102)가 정밀한 물리적 행동을 위한 1 인칭 관점을 사용하도록 허용할 수 있다. 플레이어 디바이스(104)에 의해 제공된 게이밍 체험 또는 애플리케이션은 입력으로서 센서들(114)을 사용하기 위해 개발될 수 있다. 플레이어 디바이스(104)에 의해 제공된 게이밍 체험 또는 애플리케이션은 출력으로서 디스플레이를 사용하기 위해 개발될 수 있다. 디스플레이는 모바일 디바이스, 태블릿 또는 임의의 다른 컴퓨팅 디바이스의 스크린일 수 있다.
플레이어 디바이스(104)에 의해 제공된 게이밍/전투 게이밍 체험 또는 애플리케이션은 일대일, 일대다 또는 다대다 플레이어들(102)이 게이밍 체험 또는 애플리케이션을 동시에 사용할 수 있도록 개발될 수 있다.
플레이어 디바이스(104)에 의해 제공된 게이밍/전투 게이밍 체험 또는 애플리케이션은 센서들(114)이 실제의 포지션 및 모션 데이터를 플레이어 디바이스(104)에 제공 또는 전송할 수 있도록 하여, 플레이어와 연관된 아바타가 현실 세계 내의 플레이어(102)의 모션들에 대응하는, 스크린 상의 실시간 또는 근 실시간 모션들을 가상 게이밍 환경에서 가질 수 있도록 하기 위해 개발될 수 있다. 이는 도 2 내지 도 6을 참조하여 보다 상세하게 설명될 것이다. 다른 게이밍 플랫폼들은 시스템(100)에 의해 제공된 바와 같이 센서들(114)이 실제의 포지션 및 모션 데이터를 플레이어 디바이스(104)에 제공 또는 전송하지 못하도록 할 수 있다.
플레이어 디바이스(104)에 의해 제공된 게이밍/전투 게이밍 체험 또는 애플리케이션은 다른 게이밍 체험들 또는 애플리케이션들과는 수많은 차이점들을 가질 수 있다. 예시 차이점들은: 플레이어 디바이스(104)에 의해 사용된 센서들(114)이 착용가능한 연결식 디바이스일 수 있는 것; 게이밍 체험 또는 애플리케이션이 온라인 게임일 수 있는 것; 게이밍 체험 또는 애플리케이션이, 네트워크가 연결되어 액세스가 가능한 임의의 위치(예를 들면, WiFi, 3G, 4G 기타 등등)에서 모바일 디바이스, 태블릿 컴퓨터 또는 랩탑 상에서 플레이될 수 있는 것; 둘 이상의 플레이어들(102)이 동일 시간에 동일한 지리학적인 위치 내에 있지 않아도 동일한 게임에서 서로 맞서 플레이할 수 있는 것; 플레이어들(102)이 게임 내의 캠페인들 또는 미션들을 완수하기 위해 팀들을 형성할 수 있는 것; 플레이어들(102)이 경기로서 서로 맞서 플레이할 수 있는 것; 플레이어들(102)이 포상들, 그 예로서 가상 코인들(복수통화) 또는 전자 화폐로 보상받을 수 있는 것; 게임이 온라인 스토어, 또는 온라인 시장을 통해 애플리케이션 내의 구입들을 위한 능력을 포함할 수 있는 것; 플레이어들(102)이 가상 게이밍 세계에서 그들의 아바타의 능력들을 향상시키기 위해, 애플리케이션 내 또는 온라인 스토어에서 구입할 수 있고, 그 예로서 가상 장비, 무기, 갑옷, 스킬 세트들 기타 등등을 살 수 있는 것; 플레이어들(102)이 게이밍 체험의 성과들에 대하여 경기들에 입찰하거나 도박을 할 수 있고, 포상으로서 가상 코인들(복수통화) 또는 전자 화폐(그 후에, 이전에 기술된 바와 같이 구입들을 위해 사용될 수 있음)로 보상받을 수 있는 것; 플레이어들(102)이 의인화된 아바타들을 생성하기 위해 입력들을 제공할 수 있는 것; 플레이어들(102)이 의인화된 아바타들을 생성하기 위해 그들 자신, 그들의 애완동물들 또는 임의의 다른 물체의 하나 이상의 사진들을 업로드할 수 있는 것; 의인화된 아바타들 중 적어도 일부가 플레이어들(102)에 의해 업로드된 사진들의 3 차원 표현들을 포함할 수 있는 것(다수의 사진들은 사진의 대상물의 3 차원 렌더링을 발생시키기 위해 사용될 수 있음); 기타 등등을 포함한다. 상기에서 나열된 차이점들은 예시들이고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 다른 차이점들을 인지할 것이다.
게이밍/전투 게이밍 체험들 또는 애플리케이션들에 대해서, 게임 구조는 다음 중 하나 이상을 포함할 수 있다: 플레이어(102)가 스킬들 및 트릭들을 연습하기 위해 가상 게임 내의 코치의 단계적인 명령들을 따를 수 있는 훈련 기간; 플레이어(102)가 맞서 경쟁하기 위해 가상 상대방을 선택하고, 가상 상대방은 경기를 자동으로 수락할 수 있는 "플레이어 대 시스템 경기"; 맞서 경쟁하기 위해 제1 플레이어(102)가 제2 플레이어(102)를 선택할 수 있는 "일대일 경기에서의 플레이어 대 플레이어"(상대방들의 선택은 랜덤일 수 있고, 각각의 플레이어(102)는 경기에 입장하기 전에 이들 경쟁자의 스킬 세트 및 체력 등급 상태(outfit grading)를 살펴볼 수 있음); "플레이어가 솔로 플레이하는 것"; "일대다 또는 다대다 경기에서의 플레이어 대 플레이어"; 플레이어들(102)이 경기를 자동으로 수락할 수 있는 "도전 모드"; 또는 플레이어들(102)이 다른 플레이어들(102) 경기를 보고, 경기에 입찰할 수 있는 "입찰 모드". 입찰 모드에서, 플레이어들(102)은 경기 개시 전에 시작 카운트다운 동안 경기에 참여할 수 있다; 부정 행위를 방지하기 위해, 동일한 지리학적인 위치 내의 플레이어들(102)이 경기에 입찰하는 것에 대해서는 허용될 수 없지만, 그러나, 이러한 플레이어들(102)은, 경기가 플레이어들(102)의 참여를 허용하도록 구성되는 경우, 경기에서 여전히 볼 수 있거나, 싸울 수 있다.
게이밍/전투 게이밍 체험들 또는 애플리케이션들에 대해, 플레이어들(102)은 "훈련/교육 게이밍 체험들 또는 애플리케이션들"에 대해 상술된 것들과 유사한 훈련 레슨들과 연관된 피드백을 사용하여 스킬들을 배울 수 있다. 플레이어들(102)은 새로운 스킬들을 연습하고, 스토어 또는 시장으로부터 새로운 스킬 세트들을 구입하거나, 또는 경기 또는 입찰를 통해 새로운 스킬 세트들을 얻을 수 있다. 스킬들은 플레이어의 프로필 또는 아바타와 연관된다. 플레이어들(102)은 게임에서 과제들을 완수하기 위해 스킬들을 사용할 수 있다. 예시 스킬들은: 때리기; 찍기; 펀치; 및 현실 세계에서 플레이어들(102)의 모션들에 대응할 수 있는 임의의 다른 모션 중 하나 이상을 포함할 수 있다.
플레이어(102)는 또한 트릭들을 구입하거나, 획득할 수 있다. 트릭들은 플레이어의 프로필 또는 아바타와 연관될 수 있다. 트릭들은: 상대방들과 전투를 벌이고, 과제들을 수행하고, 미션들을 달성하고, 기타 등등을 행하기 위해 플레이어(102)에 의해 제어될 수 있는 게임에서, 아바타를 동일한 아바타들로 얼마든지 증식시키는 것; 아바타가 사라지게 하거나 다시 보이도록 하는 것; 아바타가 크게 되도록 하거나 보다 커지게 되도록 하는 것; 아바타가 줄어들도록 하거나 보다 작게 되도록 하는 것; 및 아바타가 그들의 상대방을 꼼짝 못하도록 하는 것; 아바타가, 불, 비, 바람, 움직이는 바위들, 기타 등등으로 그들의 환경을 조종하도록 하는 것 중 하나 이상을 포함할 수 있다. 이러한 트릭들은 센서(114) 또는 임의의 다른 트리거(trigger)에 의해 검출된 특별한 모션에 의해 트리거될 수 있다. 트릭들은, 플레이어(102)로부터의 특별한 입력 또는 입력들의 조합을 검출하는 마이크로폰 또는 카메라에 의해 트리거될 수 있다. 트릭은, 둘 이상의 서로 다른 타입들의 센서들(114)로 입력된 플레이어(102)에 의해 트리거될 수 있다. 예를 들어, 플레이어는 트릭을 트리거하기 위해 특정 단어(또는 단어들의 조합)를 말하면서 특별한 행동을 해야 한다. 트릭들은 랜덤으로 일어날 수 있다. 플레이어(102)는 센서들(114)에 의해 검출된 특정 모션들로 특정 트릭들을 트리거하기 위해 게임을 프로그램할 수 있다. 트릭들은 가상 세계에서 임의의 그래픽 물체를 또 다른 그래픽 물체, 형태 또는 타입으로 "변형시키는 것"을 포함할 수 있다. 변형들은 아바타를 바위, 불, 물, 동물들, 또는 임의의 다른 물체, 형태 또는 타입으로 변형시키는 것을 포함할 수 있다. 트릭들은 상술된 바와 같이 그들의 상대방을 변형시키는 플레이어(102)의 능력을 포함할 수 있다. 트릭들은 사용자 행동에 의해 트리거될 수 있다. 트릭들은 서로 다른 플레이어들(102) 중에서 아바타들을 교환시키는 능력을 포함할 수 있다.
게이밍/전투 게이밍 체험들 또는 애플리케이션들에 대해, 플레이어(102)는 "단일의 플레이어 아바타 모션 게임" 또는 "다수의 플레이어 아바타 모션 게임"을 선택할 수 있다.
게이밍 체험 또는 애플리케이션이 단일의 플레이어 아바타 모션 게임인 실시예들에서, 플레이어(102)는 플레이어 프로필을 가질 수 있다. 플레이어 프로필은 플레이어(102)에 대응하는 측정치들을 포함할 수 있다. 플레이어(102)가 인간인 경우, 측정치들은 인간의 하나 이상의 부속물들에 대응하는 생물학적 측정치들일 수 있다. 예를 들어, 측정치들은 플레이어의 신장, 무게, 팔 길이, 다리 길이, 어깨에서 팔꿈치까지의 길이 또는 인간 신체의 임의의 다른 측정치일 수 있다. 측정치들은 플레이어(102)의 모션들을 추정하기 위해 센서 데이터와 함께 사용될 수 있다. 플레이어(102)는 게이밍 체험 또는 애플리케이션의 가상 세계에 플레이어(102)를 나타내기 위해 하나 이상의 아바타들을 가질 수 있다. 아바타는 현실 세계에 플레이어(102)의 모션을 대략적으로 모사하기 위해 디스플레이 스크린 상에서 움직일 수 있다. 아바타는, 플레이어가 현실 세계에 존재할 시에 플레이어(102)의 3 차원 이미지를 포함할 수 있다. 이러한 방식으로, 아바타는 플레이어(102)와 같은 모습으로 의인화될 수 있다.
게이밍 체험 또는 애플리케이션이 다수의 플레이어 아바타 모션 게임인 실시예들에서, 플레이어들(102)은 서로 다른 지리적인 위치들 또는 동일한 지리학적인 위치들 내에 있을 수 있다. 예를 들어, 제1 플레이어(102)는 미국 내에 있을 수 있고, 제2 플레이어(102)는 중국 내에 있을 수 있다. 제1 플레이어(102) 및 제2 플레이어(102)는 게임을 함께 상호작용하여 플레이할 수 있다. 아바타들이 실시간 또는 근 실시간(예를 들면, 현실 세계 내의 플레이어(102)의 움직임과 가상 세계 내의 아바타의 해당 움직임 간의 0.1 내지 0.09 초의 지연)으로 서로 다른 플레이어들(102)의 움직임을 모사하도록, 그들 각자의 아바타들은 서로 상호작용할 수 있다. 스크린 상의 아바타들 중 하나 이상은 상술된 바와 같이 사전 시간(earlier time)에 의거된 플레이어의 시간 이동식 버전일 수 있다.
도박 게이밍 체험들 또는 애플리케이션들에 대해, 플레이어들(102)은 움직일 수 있고, 그들의 움직임은 하나 이상의 센서들(114)에 의해 검출될 수 있어, 플레이어(102)의 움직임에 대응하는 센서 데이터를 생기게 한다. 플레이어(102)의 움직임은, 움직임의 일 사례에서 움직임의 또 다른 사례까지 정확하게 동일할 수 없다. 이에 따라서, 2개의 서로 다른 움직임들에 대한 센서 데이터는 서로 다를 수 있다. 센서 데이터는, 운으로 하는 전자 게임들에 기초가 되는 난수들을 발생시키는 난수 발생기에 대한 시드로 사용된다. 플레이어(102)의 움직임이, 움직임의 일 사례에서 움직임의 또 다른 사례까지 정확하게 동일할 수 없기 때문에, 난수 발생기에 의해 출력된 난수들은 참으로 랜덤일 수 있어서, 운으로 하는 정당한 게임을 제공하도록 한다.
스포츠/건강 게이밍 체험들 또는 애플리케이션들에 대해, 플레이어(102)는 플레이어 디바이스(104)에 입력을 제공하기 위해 센서들(114)을 움직이고 사용할 수 있다. 플레이어(102)는 골프, 축구, 야구, 칼 싸움, 또는 플레이어 디바이스(104)에 의해 제공된 임의의 다른 전자 스포츠 기반 게이밍 체험 또는 애플리케이션을 플레이할 수 있다.
플레이어 디바이스(104)는 게임 모듈(112A, 112B)("게임 모듈들(112)" 또는 "게임 모듈(112)"로 각각 집합적으로 또는 개별적으로 지칭됨), 디스플레이 디바이스(106A, 106B)("디스플레이 디바이스들(106)" 또는 "디스플레이 디바이스(106)"로 각각 집합적으로 또는 개별적으로 지칭됨), 메모리(110A, 110B)("메모리들(110)" 또는 "메모리(110)"로 각각 집합적으로 또는 개별적으로 지칭됨), 및 프로세서(108A, 108B)("프로세서들(108)" 또는 "프로세서(108)"로 각각 집합적으로 또는 개별적으로 지칭됨) 중 하나 이상을 포함할 수 있다.
게임 모듈(112)은 플레이어 디바이스의 게이밍 체험들 또는 애플리케이션들을 제공하도록 구성된 코드 및 루틴들일 수 있다. 게임 모듈(112)의 기능성은 플레이어 디바이스(104) 또는 게임 서버(116)에서 제공될 수 있다. 몇몇 실시예들에서, 게임 모듈(112)의 기능성의 몇몇 양태들은, 게임 모듈(112)의 기능성의 다른 양태들이 게임 서버(116)에서 제공되는 반면, 플레이어 디바이스(104)에서 제공된다. 게임 모듈은 도 2 내지 도 6을 참조하여 보다 상세하게 이하에서 기술될 것이다. 게임 서버(116)는 플레이어 디바이스(104)에 백 엔드 프로세서(back-end processor)를 제공하도록 구성된 클라우드 서버일 수 있다. 게임 서버(116)는 이하의 차후 단락들에서 보다 상세하게 기술될 것이다.
디스플레이(106)는 그래픽 이미지들을 렌더링하도록 구성된 종래의 디스플레이 디바이스일 수 있다. 디스플레이(106)는 플레이어 디바이스(104)에 통신 방식으로 결합된 별개의 주변 장치(예를 들면, 게이밍 콘솔에 연결된 컴퓨터 모니터 또는 텔레비전), 3 차원 고글, 또는 플레이어 디바이스(104)의 일체형 요소(예를 들면, 디스플레이(106)는 스마트폰 또는 태블릿 컴퓨팅 디바이스의 LED 디스플레이임)일 수 있다.
메모리(110)는 프로세서(108)에 의해 실행될 수 있는 명령들 및/또는 데이터를 저장할 수 있다. 명령들 및/또는 데이터는 본 명세서에 기술된 기법들을 수행하는 코드를 포함할 수 있다. 메모리(110)는 동적 랜덤 액세스 메모리(DRAM) 디바이스, 정적 랜덤 액세스 메모리(SRAM) 디바이스, 플래시 메모리, 또는 몇몇 다른 메모리 디바이스일 수 있다. 몇몇 사례들에서, 메모리(110)는 또한 비휘발성 메모리, 또는 하드 디스크 드라이브, 플로피 디스크 드라이브, CD-ROM 디바이스, DVD-ROM 디바이스, DVD-RAM 디바이스, DVD-RW 디바이스, 플래시 메모리 디바이스, 또는 보다 영구적인 기반물에 정보를 저장하는 몇몇 다른 대량 저장 디바이스를 포함한 다른 영구 저장 디바이스 및 매체들을 포함한다.
묘사된 실시예에서, 메모리(110)는 플레이어(102)에게 게이밍 체험들을 렌더링하기 위해 사용된 센서 데이터 또는 그래픽 데이터를 저장할 수 있다.
프로세서(108)는 산술 논리 유닛, 마이크로프로세서, 일반 목적용 제어기, 또는 산출들을 수행하고 전자 디스플레이 신호들을 디스플레이 디바이스로 제공하기 위한 몇몇 다른 프로세서 어레이일 수 있다. 프로세서(108)는 데이터 신호들을 프로세싱하며, 그리고 복잡 명령 세트 컴퓨터(CISC) 아키텍처, 축약 명령 세트 컴퓨터(RISC) 아키텍처, 또는 명령 세트들의 조합을 구현시킨 아키텍처를 포함하는, 다양한 컴퓨팅 아키텍처들을 포함할 수 있다. 도 1이 단일의 프로세서(108)를 포함하지만, 다수의 프로세서들(108)이 포함될 수 있다. 다른 프로세서들, 동작 시스템들, 센서들, 디스플레이들, 및 물리적인 구성들이 가능하다.
플레이어 디바이스(104)는 네트워크(140)에 연결될 수 있다. 플레이어 디바이스(104)는 네트워크(140)를 통하여 다른 플레이어 디바이스들(104), 소셜 미디어 서버(120) 또는 게임 서버(116)로/로부터 데이터를 전송할 수 있다. 플레이어 디바이스(104)는, 네트워크(140)를 통하여 다른 플레이어 디바이스들(104), 소셜 미디어 서버(120) 또는 게임 서버(116)와 전자 통신들을 가능케 하기에 필요한 임의의 하드웨어 또는 소프트웨어를 포함할 수 있다. 네트워크(140)는 네트워크(199)와 유사하고, 이로 인해 그 설명은 본 명세서에 반복되지 않을 것이다.
게임 서버(116)는 하드웨어 서버 디바이스일 수 있다. 게임 서버(116)는 백 엔드 프로세싱을 하나 이상의 플레이어 디바이스들(104)에게 제공하도록 구성될 수 있다. 게임 서버(116)는 프로세서, 메모리, 또는 그의 기능성을 제공하기 위해 게임 서버(116)에 필요한 임의의 다른 구성요소들을 포함할 수 있다. 게임 서버(116)는 게임 서버(116)의 메모리에 게임 모듈(112)을 저장할 수 있다. 게임 서버(116)의 프로세서는 게임 모듈(112)의 기능성을 제공하기 위해 게임 모듈(112)을 실행할 수 있다. 게임 서버(116)는, 플레이어 디바이스(104)가 태블릿 컴퓨터, 스마트폰 또는 유사한 프로세서 기반 컴퓨팅 디바이스들인 실시예들에서 특히 이점이 있을 수 있다. 게임 서버(116)는, 네트워크(140)를 통하여 플레이어 디바이스들(104) 또는 소셜 미디어 서버(120)와 전자 통신들을 가능케 하기에 필요한 임의의 하드웨어 또는 소프트웨어를 포함할 수 있다. 게임 서버(116)는 네트워크(140)를 통하여 데이터(예를 들면, 그래픽 데이터)를 플레이어 디바이스(104)로 전송할 수 있다.
소셜 미디어 서버(120)는 소셜 네트워크 서비스(예를 들면, 페이스북, 구글+, 트위터, QQ 기타 등등)를 제공하도록 구성될 수 있다. 소셜 미디어 서버(120)는, 프로세서, 메모리 및 네트워크 통신 기능들을 포함한 하드웨어 서버일 수 있다. 예시된 구현에 있어, 소셜 미디어 서버(120)는 네트워크(140)에 결합된다. 소셜 미디어 서버(120)는 네트워크(140)를 통하여, 디바이스들(104), 호스트 서버(114), 금융 서버(116), 및 검색 서버(132) 중 하나 이상으로/으로부터 데이터를 송수신한다. 소셜 미디어 서버(120)는 소셜 네트워크 애플리케이션(122)을 포함한다. 소셜 네트워크는, 사용자들(102) 및 다수의 다른 사용자들이 공통 특징에 연결될 수 있는 소셜 구조의 타입일 수 있다. 공통 특징은 관계들/관련성들, 예를 들면, 교우관계, 가족, 직장, 관심사 등을 포함한다. 공통 특징들은, 다른 온라인 사용자들과의 소셜 관련성들에 의해, 명확하게 정의된 관계들 및 내재된 관계들을 포함한 하나 이상의 소셜 네트워킹 시스템들에 의해 제공될 수 있고, 여기서 관계들은 소셜 그래프를 형성한다. 몇몇 예시들에서, 소셜 그래프는 사용자들의 맵핑, 및 어떻게 그들이 관련될 수 있는지를 반영할 수 있다. 더욱이, 소셜 미디어 서버(120) 및 소셜 미디어 애플리케이션(122)은 하나의 소셜 네트워크를 나타낼 수 있으며, 그리고 네트워크(140)에 결합되고, 그 자신의 서버, 애플리케이션, 및 소셜 그래프를 각각 가진 다수의 소셜 네트워크들이 있을 수 있다는 것을 이해하여야 한다. 예를 들어, 제1 소셜 네트워크는 비즈니스 네트워킹에 보다 관련될 수 있고, 제2 소셜 네트워크는 학업에 보다 관련되거나 주안점을 둘 수 있고, 제3 소셜 네트워크는 로컬 비즈니스에 보다 관련될 수 있고, 제4 소셜 네트워크는 데이트에 관련될 수 있으며, 그리고 다른 것들은 일반적인 관심사 또는 특정한 관심사일 수 있다.
플레이어 디바이스(104) 또는 게임 서버(116)는, 소셜 그래프에 액세스하고 플레이어 디바이스(104)의 서로 다른 플레이어들(102)을 서로 연결시키기 위해, 소셜 미디어 서버(120)와 통신할 수 있다. 예를 들어, 소셜 그래프 상에 서로 연결된 플레이어들(102)은 서로 경기하거나 동일 팀들로 플레이하길 원할 수 있다. 게임 모듈(112)은 플레이어들(102)의 프로필들에 대한 서로 다른 플레이어들(102)의 진척을 소셜 네트워크 상에 공개하도록 구성될 수 있다. 공개물들은 게임 모듈(112)에 의해 제공된 게이밍 서비스를 위한 광고들을 제공하기 위해 게임 모듈(112)에 의해 구성될 수 있다. 게임 모듈(112)은 서로 다른 플레이어들(102)이 소셜 네트워크에 의해 제공된 통신 인터페이스들을 사용하여 게이밍 전 또는 후에 서로 상호작용할 수 있도록 구성될 수 있다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 소셜 미디어 애플리케이션(122)이 게임 모듈(112)에 액세스되고, 일체형을 이룰 수 있는 다른 방식들을 인지할 것이다.
몇몇 실시예들에서, 게임 모듈(112) 및 소셜 미디어 애플리케이션(122) 중 하나 이상은 필드 프로그램가능 게이트 어레이(FPGA) 또는 응용 주문형 집적 회로(ASIC)를 포함한 하드웨어를 사용하여 구현될 수 있다. 몇몇 다른 사례들에서, 게임 모듈(112) 및 소셜 미디어 애플리케이션(122)은 하드웨어 및 소프트웨어의 조합을 사용하여 구현될 수 있다. 이로써, 게임 모듈(112) 및 소셜 미디어 애플리케이션(122)은 하드웨어 디바이스로 구현될 수 있다. 몇몇 실시예들에서, 게임 모듈(112) 또는 소셜 미디어 애플리케이션(122)은 서브 모듈들을 포함하고, 서브 모듈들 중 하나 이상은 하나 이상의 하드웨어 디바이스들로 구현되는 반면, 다른 서브 모듈들은, 메모리에 저장되고 프로세서에 의해 실행가능한 소프트웨어로 구현된다.
도 2는 본 명세서에 기술된 적어도 하나의 실시예에 따라 배치된, 센서 기반 게이밍 시스템을 제공하는 컴퓨팅 디바이스(200)의 블록다이어그램이다. 도 2의 디바이스(200)는 도 1의 플레이어 디바이스(104)의 예시 실시예이다. 몇몇 실시예들에서, 시스템(200)은 게이밍 콘솔, 모바일 폰, 스마트폰, 태블릿 컴퓨터, 랩탑 컴퓨터, 데스크탑 컴퓨터 또는 셋탑 박스일 수 있다. 게임 모듈(112)은 도 3 내지 도 8을 참조하여 이하에서 기술된 기능성을 제공하도록 구성된 코드 및 루틴들이다.
게임 모듈(112)은 버스(228)를 통해 메모리(230), 입력 디바이스(232), 필터 모듈(238) 및 프로세서(234)에 통신 방식으로 결합될 수 있다. 메모리(230)는 메모리(110)를 참조해 보면 상술된 메모리와 유사하고, 이로 인해, 그 설명은 본 명세서에 반복되지 않을 것이다. 게임 모듈(112)은 몇몇 실시예들에서 메모리에 저장될 수 있다. 메모리(230)는 신호 라인(264)을 통해 버스(228)에 통신 방식으로 결합될 수 있다.
입력 디바이스(232)는 키보드, 터치패드, 터치 감지 스크린, 전기 용량 디스플레이(예를 들면, 스마트폰 스크린), 3 차원 카메라(예를 들면, MicrosoftTM KinectTM), 마이크로폰, 또는 본 발명이 속하는 기술분야에 공지된 임의의 다른 입력 디바이스일 수 있다. 입력 디바이스(232 230)는 신호 라인(268)을 통해 버스(228)에 통신 방식으로 결합될 수 있다.
필터 모듈(238)은, 부록 1의 식 8 또는 식 9를 센서 데이터 또는 측정치 데이터에 적용시키도록 구성된 코드 및 루틴들일 수 있다. 필터 모듈(238)은 데이터에 존재하는 에러들을 감소시키거나, 데이터의 안정성을 증가시키도록 구성될 수 있다. 그 후에, 필터 모듈(238)은 프로세싱된 센서 데이터 또는 측정치 데이터를 게임 모듈(112)로 전송할 수 있다. 필터 모듈(238)은 신호 라인(270)을 통해 버스(228)에 통신 방식으로 결합될 수 있다. 필터 모듈(238)은 메모리(230)에 저장될 수 있다. 일 실시예에서, 아바타들을 렌더링하는 그래픽 데이터는 부록 1의 식 8 또는 식 9에 적어도 부분적으로 기반하여 발생된다.
프로세서(234)는 도 1을 참조해 보면 상술된 프로세서(108)와 유사하고, 이로 인해, 그 설명은 본 명세서에 반복되지 않을 것이다. 프로세서(234)는 신호 라인(272)을 통해 버스(228)에 통신 방식으로 결합될 수 있다.
도 3a, 도 3b, 도 3c 및 도 3d는 본 명세서에 기술된 적어도 하나의 실시예에 따라 배치된, 센서 기반 게이밍 시스템(100)을 동작시키는 방법(300)의 예시 플로다이어그램을 도시한다. 몇몇 실시예들에서 방법(300)은 시스템, 그 예로서 도 1의 게이밍 시스템(100) 또는 도 2의 시스템(200)에 의해 수행된다. 예를 들어보면, 도 2의 프로세서(234)는, 도 3의 방법(300)의 블록들 중 하나 이상에 의해 나타난 바와 같은 기능들 및 동작들을 수행하기 위해, 메모리(208)에 저장된 컴퓨터 명령들을 실행하도록 구성될 수 있다. 개별적인 블록들로 예시되긴 하였지만, 다양한 블록들이 원하는 구현에 의존하여, 추가적인 블록들로 분할되고, 소수의 블록들에 조합되거나, 제거될 수 있다. 방법(300)은 도 1 및 도 2를 참조하여 이하에서 기술될 수 있다.
방법(300)은 블록(301)에서 개시될 수 있다. 방법(300)은 게임 모듈(112)에 의해 제공될 수 있다. 블록(301)에서, 게임이 도박 게임인지에 대해 결정이 이루어진다. 게임이 도박 게임인 경우, 방법(300)은 블록(306)으로 진행한다. 게임이 도박 게임이 아닌 경우, 방법(300)은 블록(303)으로 진행한다. 블록(303)에서, 게임이 단일의 플레이어 아바타 모션 게임인지에 대해 결정이 이루어진다. 게임이 단일의 플레이어 아바타 모션 게임인 경우, 방법(300)은 도 3b의 블록(312)으로 진행한다. 게임이 단일의 플레이어 아바타 모션 게임이 아닌 경우, 방법은 블록(305)으로 진행한다. 블록(305)에서, 게임이 다수의 플레이어 아바타 모션 게임인지에 대해 결정이 이루어진다. 게임이 다수의 플레이어 아바타 모션 게임인 경우, 방법(300)은 도 3c의 블록(326)으로 이동한다. 게임이 다수의 플레이어 아바타 모션 게임이 아닌 경우, 방법(300)은 종료된다.
블록(306)에서, 게임 모듈(112)은 센서 데이터를 수신한다. 센서 데이터는 플레이어 디바이스(104) 또는 컴퓨팅 디바이스(200)에 의해 모일 수 있다. 블록(308)에서, 난수는 센서 데이터에 기반하여 발생된다. 블록(310)에서, 난수를 기술하는 데이터는 플레이어 디바이스로 전송된다.
이제, 도 3b로 돌아가서, 블록(312)에서, 게임 모듈(112)은 플레이어(102)의 측정치를 수신한다. 측정치는 측정치 데이터에 의해 기술될 수 있다. 플레이어는 살아 있든 살아 있지 않든, 임의의 물체일 수 있다. 플레이어(102)가 인간인 경우, 측정치는 생물학적 측정치일 수 있다. 플레이어가 살아 있지 않은 물체인 경우, 측정치는 살아 있지 않은 물체의 임의의 다른 측정치일 수 있다.
블록(314)에서, 플레이어 프로필이 발생된다. 플레이어 프로필은 측정치 데이터에 적어도 부분적으로 기반하여 발생될 수 있다. 플레이어 프로필은 플레이어(102)와 연관된 아바타를 포함할 수 있다. 플레이어 프로필은 플레이어(102)와 연관된 아바타들을 얼마든지 포함할 수 있다.
블록(316)에서, 게임 모듈(112)은 플레이어 디바이스(104)로부터 센서 데이터를 수신할 수 있다. 블록(316)은, 게임 서버(116)의 구성요소인 게임 모듈(112)에 의해 구현될 수 있다. 게임 서버(116)가 구현되지 않는 실시예들에서, 블록(316)은, 제1 플레이어 디바이스(104)와는 서로 다른 제2 플레이어 디바이스(104)로부터 센서 데이터를 수신하는 제1 플레이어 디바이스(104)의 게임 모듈(112)을 포함하기 위해 건너뛰거나 변경될 수 있다. 센서 데이터는 플레이어(102)의 움직임과 연관된 미러 이미지 또는 반전 미러 이미지를 기술한 데이터를 포함할 수 있다.
방법(300)은, 부록 1에 묘사된 식들 중 하나 이상을 사용하여, 센서 데이터를 프로세싱하기 위해 센서 데이터 또는 측정치 데이터를 필터 모듈(238)로 전송하는 단계를 포함할 수 있다. 예를 들어, 필터 모듈(238)은, 게임 모듈(112)에 통신 방식으로 결합되고 부록 1의 식 8 또는 식 9를 센서 데이터 또는 측정치 데이터에 적용하도록 구성된 하드웨어 디바이스이다. 필터 모듈(238)에 의해 제공된 프로세싱은 데이터에 존재하는 에러들을 감소시키거나, 데이터의 안정성을 증가시키도록 구성될 수 있다. 그 후에, 필터 모듈(238)은 프로세싱된 센서 데이터 또는 측정치 데이터를 게임 모듈(112)로 전송할 수 있다.
블록(318)에서, 게임 모듈(112)은 센서 데이터 및 측정치 데이터에 기반하여 플레이어 움직임을 추정할 수 있다. 부록 1에 기술된 식들 중 하나 이상은 본 명세서에 기술된 결정들 또는 추정들을 제공하기 위해 사용될 수 있다.
블록(320)에서, 게임 모듈(112)은, 현실 세계에서 플레이어(102)의 움직임의 결과로서, 가상 세계 내의 아바타 포지션과 현실 세계 내의 플레이어(102)의 포지션 간의 차이를 결정한다. 블록(322)에서, 게임 모듈(112)은 플레이어(102)의 움직임을 나타내는 이미지 데이터를 한 프레임씩 발생시킨다. 게임 모듈(112)은 블록(320)에서 결정된, 가상 세계 내의 아바타 포지션과 현실 세계 내의 플레이어(102)의 포지션 간의 차이에 적어도 부분적으로 기반하여, 한 프레임씩의 이미지 데이터를 발생시킬 수 있다.
블록(324)에서, 게임 모듈(112)은 한 프레임씩의 아바타 이미지 데이터를 전송한다. 한 프레임씩의 아바타 이미지 데이터는 메모리에 저장될 수 있다. 몇몇 실시예들에서, 게임 모듈(112)은 게임 서버(116)의 요소이고, 게임 모듈(112)은 한 프레임씩의 아바타 이미지 데이터를 플레이어 디바이스(104)로 전송하고, 그 후에 상기 플레이어 디바이스는 한 프레임씩의 아바타 이미지 데이터에 대응하는 그래픽 이미지들을 디스플레이(106) 상에 렌더링하기 위해 동작한다. 그 후에, 플레이어 디바이스(104)는 한 프레임씩의 아바타 이미지 데이터에 기반하여, 현실 세계 내의 플레이어(102)의 움직임에 대응하기 위해 가상 세계에서 움직이는 아바타의 그래픽 표현을 렌더링할 수 있다.
이제, 도 3c로 돌아가서, 블록(326)에서, 게임 모듈(112)은 제1 플레이어(102)의 측정치를 수신한다. 측정치는 제1 플레이어(102)와 연관된 제1 측정치 데이터에 의해 기술될 수 있다. 제1 플레이어(102)는 살아 있든 살아 있지 않든, 임의의 물체일 수 있다. 제1 플레이어(102)가 인간인 경우, 측정치는 생물학적 측정치일 수 있다. 제1 플레이어(102)가 살아 있지 않은 물체인 경우, 측정치는 살아 있지 않은 물체의 임의의 다른 측정치일 수 있다. 제1 플레이어들(102)은 얼마든지 있을 수 있다.
블록(328)에서, 제1 플레이어 프로필이 발생된다. 제1 플레이어 프로필은 측정치 데이터에 적어도 부분적으로 기반하여 발생될 수 있다. 제1 플레이어 프로필은 제1 플레이어(102)와 연관된 아바타를 포함할 수 있다. 제1 플레이어 프로필은 제1 플레이어(102)와 연관된 아바타들을 얼마든지 포함할 수 있다.
블록(330)에서, 게임 모듈(112)은 제2 플레이어(102)의 측정치를 수신한다. 측정치는 제2 플레이어(102)와 연관된 제2 측정치 데이터에 의해 기술될 수 있다. 제2 플레이어(102)는 살아 있든 살아 있지 않든, 임의의 물체일 수 있다. 제2 플레이어(102)가 인간인 경우, 측정치는 생물학적 측정치일 수 있다. 제1 플레이어(102)가 살아 있지 않은 물체인 경우, 측정치는 살아 있지 않은 물체의 임의의 다른 측정치일 수 있다. 제1 플레이어들(102)은 얼마든지 있을 수 있다.
블록(332)에서, 제2 플레이어 프로필이 발생된다. 제2 플레이어 프로필은 제2 측정치 데이터에 적어도 부분적으로 기반하여 발생될 수 있다. 제2 플레이어 프로필은 제2 플레이어(102)와 연관된 아바타를 포함할 수 있다. 제2 플레이어 프로필은 제2 플레이어(102)와 연관된 아바타들을 얼마든지 포함할 수 있다.
블록(334)에서, 게임 모듈(112)은 제1 플레이어(102)와 연관된 제1 플레이어 디바이스(104)로부터 제1 센서 데이터를 수신할 수 있다. 블록(334)은 게임 서버(116)의 구성요소인 게임 모듈(112)에 의해 구현될 수 있다. 게임 서버(116)가 구현되지 않은 실시예들에서, 블록(334)은, 제2 플레이어 디바이스(104)와는 서로 다른 제1 플레이어 디바이스(104)로부터 제1 센서 데이터를 수신하는 제2 플레이어 디바이스(104)의 게임 모듈(112)을 포함하기 위해 건너뛰거나 변경될 수 있다. 제1 센서 데이터는 제1 플레이어(102)의 움직임과 연관된 미러 이미지 또는 반전 미러 이미지를 기술한 데이터를 포함할 수 있다.
방법(300)은, 부록 1에 묘사된 식들 중 하나 이상을 사용하여, 제1 센서 데이터 또는 제1 측정치 데이터를 프로세싱하기 위해 제1 센서 데이터 또는 제1 측정치 데이터를 필터 모듈(238)로 전송하는 단계를 포함할 수 있다. 예를 들어, 필터 모듈(238)은, 게임 모듈(112)에 통신 방식으로 결합되고 부록 1의 식 8 또는 식 9를 센서 데이터 또는 측정치 데이터에 적용하도록 구성된 하드웨어 디바이스이다. 필터 모듈(238)에 의해 제공된 프로세싱은 데이터에 존재하는 에러들을 감소시키거나, 데이터의 안정성을 증가시키도록 구성될 수 있다. 그 후에, 필터 모듈(238)은 프로세싱된 센서 데이터 또는 측정치 데이터를 게임 모듈(112)로 전송할 수 있다.
블록(336)에서, 게임 모듈(112)은 제1 센서 데이터 및 제1 측정치 데이터에 기반하여 제1 플레이어에 대한 플레이어 움직임을 추정할 수 있다. 블록(338)에서, 게임 모듈(112)은, 현실 세계에서 제1 플레이어(102)의 움직임의 결과로서, 가상 세계 내의 제1 아바타의 포지션과 현실 세계 내의 제1 플레이어(102)의 포지션 간의 차이를 결정할 수 있다. 제1 아바타는 제1 플레이어(102)와 연관될 수 있다. 가상 세계 내의 제1 아바타의 움직임은 현실 세계 내의 제1 플레이어(102)의 움직임에 대응할 수 있고, 그 결과 게임 모듈(112)은 현실 세계 내의 제1 플레이어(102)의 행동들을 사용하여, 제1 플레이어(102)가 가상 세계 내의 제1 아바타의 행동들을 제어하도록 할 수 있다.
블록(338)에서, 게임 모듈(112)은 제1 플레이어(102)의 움직임을 나타내는 제1 이미지 데이터를 한 프레임씩 발생시킨다. 게임 모듈(112)은 블록(320)에서 결정된, 가상 세계 내의 제1 아바타의 포지션과 현실 세계 내의 제1 플레이어(102)의 포지션 간의 차이에 적어도 부분적으로 기반하여, 한 프레임씩의 제1 이미지 데이터를 발생시킬 수 있다.
이제, 도 3d로 돌아가서, 블록(342)에서, 게임 모듈(112)은 제2 플레이어(102)와 연관된 제2 플레이어 디바이스(104)로부터 제2 센서 데이터를 수신할 수 있다. 블록(342)은 게임 서버(116)의 구성요소인 게임 모듈(112)에 의해 구현될 수 있다. 게임 서버(116)가 구현되지 않는 실시예들에서, 블록(342)은, 제1 플레이어 디바이스(104)와는 서로 다른 제2 플레이어 디바이스(104)로부터 제2 센서 데이터를 수신하는 제1 플레이어 디바이스(104)의 게임 모듈(112)을 포함하기 위해 건너뛰거나 변경될 수 있다. 제2 센서 데이터는 제2 플레이어(102)의 움직임과 연관된 미러 이미지 또는 반전 미러 이미지를 기술한 데이터를 포함할 수 있다.
방법(300)은 부록 1에 묘사된 식들 중 하나 이상을 사용하여, 제2 센서 데이터 또는 제2 측정치 데이터를 프로세싱하기 위해 제2 센서 데이터 또는 제2 측정치 데이터를 필터 모듈(238)로 전송하는 단계를 포함할 수 있다. 예를 들어, 필터 모듈(238)은, 게임 모듈(112)에 통신 방식으로 결합되고 부록 1의 식 8 또는 식 9를 센서 데이터 또는 측정치 데이터에 적용하도록 구성된 코드 및 루틴들일 수 있다. 필터 모듈(238)에 의해 제공된 프로세싱은 데이터에 존재하는 에러들을 감소시키거나, 데이터의 안정성을 증가시키도록 구성될 수 있다. 그 후에, 필터 모듈(238)은 프로세싱된 센서 데이터 또는 측정치 데이터를 게임 모듈(112)로 전송할 수 있다.
블록(344)에서, 게임 모듈(112)은 제2 센서 데이터 및 제2 측정치 데이터에 기반하여 제2 플레이어에 대한 플레이어 움직임을 추정할 수 있다. 블록(346)에서, 게임 모듈(112)은, 현실 세계에서 제2 플레이어(102)의 움직임의 결과로서, 가상 세계 내의 제2 아바타의 포지션과 현실 세계 내의 제2 플레이어(102)의 포지션 간의 차이를 결정할 수 있다. 제2 아바타는 제2 플레이어(102)와 연관될 수 있다. 가상 세계 내의 제2 아바타의 움직임은 현실 세계 내의 제2 플레이어(102)의 움직임에 대응할 수 있고, 그 결과 게임 모듈(112)은 현실 세계 내의 제2 플레이어(102)의 행동들을 사용하여, 제2 플레이어(102)가 가상 세계 내의 제2 아바타의 행동들을 제어하도록 할 수 있다.
블록(348)에서, 게임 모듈(112)은 제2 플레이어(102)의 움직임을 나타내는 제2 이미지 데이터를 한 프레임씩 발생시킨다. 게임 모듈(112)은 블록(344)에서 결정된, 가상 세계 내의 제2 아바타의 포지션과 현실 세계 내의 제2 플레이어(102)의 포지션 간의 차이에 적어도 부분적으로 기반하여, 한 프레임씩의 제2 이미지 데이터를 발생시킬 수 있다.
블록(350)에서, 게임 모듈(112)은 한 프레임씩의 제1 아바타 이미지 데이터와 한 프레임씩의 제2 아바타 이미지 데이터를 동기화시킬 수 있다. 블록(350)에 의해 제공된 동기화는, 가상 세계 내의 제1 아바타 및 제2 아바타 둘 모두를 묘사하는, 디스플레이 상의 그래픽 표현을 유리하게 제공할 수 있다. 제1 아바타 및 제2 아바타는 가상 세계에서 서로, 또는 다른 물체들과 상호작용 중에 있을 수 있다. 아바타들의 움직임은 실시간 또는 근 실시간으로 플레이어들(102)의 움직임에 대응할 수 있다. 부록 1의 식들을 적용하는 필터 모듈(238)에 의해 제공된 기능성은 아바타 움직임의 정확성을 유리하게 증가시킬 수 있다. 필터 모듈(238)의 기능성은 또한 플레이어들(102)의 현실 세계 움직임에 대응하는 아바타 움직임의 렌더링을 실시간 또는 근 실시간으로 유리하게 제공할 수 있다. 필터 모듈(238)의 기능성은 또한 안정성을 증가시킬 수 있다.
블록(352)에서, 게임 모듈(112)은 한 프레임씩의 제1 아바타 이미지 데이터를 제2 플레이어 디바이스(104)로, 그리고 한 프레임씩의 제2 아바타 이미지 데이터를 제1 플레이어 디바이스(104)로 전송할 수 있다.
본 명세서에 기술된 몇몇 실시예들은 도 3의 방법(300)에 포함된 동작들, 그 예로서 도 3 내의 블록들(301 내지 352)에 의해 예시된 동작들, 또는 그의 변형들 중 하나 이상을 수행하기 위해, 프로세싱 디바이스에 의해 실행가능한 컴퓨터 명령들이 저장된 비-일시적 컴퓨터 판독가능 매체를 포함한다. 비-일시적 컴퓨터 판독가능 매체는 예를 들어, 도 2의 메모리(230)를 포함할 수 있다. 프로세싱 디바이스는 예를 들어, 도 2의 프로세서(234)를 포함할 수 있다.
도 4는 아바타 이미지들을 한 프레임씩 렌더링하는 방법(400)의 예시 플로다이어그램을 도시한다. 블록(402)에서, 게임 모듈(112)은 플레이어(102)와 연관된 하나 이상의 센서들(114)로부터 센서 데이터를 수집할 수 있다. 블록(404)에서, 게임 모듈(112)은 센서 데이터(404)를 모을 수 있다.
블록(406)에서, 게임 모듈(112)은 게임 모듈(112), 게임 서버(116), 또는 서로 다른 플레이어 디바이스(104)와 연관된 서로 다른 게임 모듈(112)의 요소들로 센서 데이터를 전달할 수 있다. 예를 들어, 게임 모듈(112)의 프로세싱 중 몇몇이 게임 서버(116)에 의해 제공되는 실시예들에서, 센서 데이터는 게임 서버(116)의 요소인 서로 다른 게임 모듈(112)로 전달될 수 있다.
블록(408)에서, 게임 모듈(112)은 아바타 이미지 데이터를 한 프레임씩 수신할 수 있다. 블록(410)에서, 게임 모듈(112)은 한 프레임씩의 아바타 이미지 데이터와 연관된 아바타 이미지들을 한 프레임씩 렌더링할 수 있다. 블록(412)에서, 게임 모듈(112)은 한 프레임씩의 아바타 이미지들을 디스플레이할 수 있다.
도 5는 아바타들을 발생시키고 플레이어(102)에게 스토어 체험을 제공하여 플레이어 프로필 또는 아바타를 변경시키는 방법(500)의 예시 플로다이어그램을 도시한다;
블록(502)에서, 게임 모듈(112)은 플레이어(102)의 하나 이상의 파라미터들을 포함한 플레이어 입력을 수신한다. 파라미터들은 생물학적 파라미터들 또는 임의의 다른 파라미터들일 수 있다. 블록(504)에서, 게임 모듈(112)은 플레이어(102)의 측정치를 계산한다. 측정치는 블록(502)에서 수신된 파라미터들에 기반하여 계산될 수 있다. 블록(506)에서, 게임 모듈(112)은 플레이어 프로필을 발생시킨다. 측정치는 가상 세계에서 플레이어를 나타내는 플레이어(102)의 아바타를 발생시키기 위해 사용될 수 있다. 블록(508)에서, 게임 모듈(112)은 플레이어(102)와 연관된 아바타를 발생시킨다. 플레이어(102)는 아바타들을 얼마든지 가질 수 있다. 아바타들은 플레이어(102)와 연관된 플레이어 프로필의 구성요소일 수 있다. 블록(510)에서, 게임 모듈(112)은 게임의 플레이에서 수집된 데이터를 수신한다. 이러한 데이터는, 아바타의 모션이 플레이어(102)의 현실 세계 모션에 거의 근접하도록, 아바타를 향상시키는데 사용될 수 있다. 블록(512)에서, 게임 모듈(112)은, 가상 세계 내의 아바타의 행동들이 현실 세계 내의 플레이어(102)의 활동들에 거의 근접하도록, 플레이어(102)와 연관된 아바타에 대한 측정치들을 변경시킨다. 이러한 방식으로, 게임 모듈(112)은, 플레이어(102)가 게임 모듈(112)을 조작하여 플레이어(102)에 거의 근접하는 아바타들을 가상 세계에서 생성하도록 할 수 있다.
플레이어는 획득들을 통하여 아바타를 더 변경시킬 수 있다. 예를 들어, 플레이어(102)는 스토어 또는 시장에서, 또는 입찰을 통하여 받은 포상들을 통하여, 변경물들을 구입할 수 있다. 일 실시예에서, 서로 다른 플레이어들(102)은 아바타 변경물들을 서로 교환할 수 있다. 블록(514)에서, 게임 모듈(112)은, 변경물이 플레이어(102)에 대해 획득되어진 신호를 수신한다. 블록(516)에서, 게임 모듈(112)은 블록(514)에 나타난 변경물에 따라, 아바타 또는 플레이어 프로필을 변경시킨다.
도 6은 아바타들(602A, 602B, 602C, 602D, 602E)의 예시 세트를 묘사하는 그래픽 사용자 인터페이스(600)이다. 아바타들의 얼굴이 인간 플레이어(102)의 3 차원 이미지를 포함할 수 있지만, 아바타(602A 내지 602E)의 다른 양태들은 사용자(102)에 의해 제공된 이미지들에 기반하여 결정되지 않는다는 것을 주목한다. 아바타(602B)는 인간 플레이어(102)의 둘 이상의 이미지들에 기반하여 인간 플레이어(102)의 3 차원 이미지를 포함한다. 비교해보면, 아바타(602C)는 서로 다른 인간 플레이어(102)의 하나의 이미지에 기반하여 인간 플레이어의 2 차원 이미지를 포함한다.
부록 2는 원호 식 모듈(arc equation module)에 대한 예시 코드 및 루틴들을 기술한다. 원호 식 모듈은 원호를 계산하기 위해 사용될 수 있다. 예를 들어, 원호 식 모듈은 그래픽 요소, 그 예로서 아바타(예를 들면 602A 내지 602E)에 대한 원호를 결정하기 위해 사용될 수 있다. 원호 식 모듈은 하나 이상의 양태들, 그 예로서 (1) 원호 반경 및 (2) 하나 이상의 중심점들을 결정하기 위해 사용될 수 있다. 이러한 그래픽 양태들은 플레이어(102) 또는 아바타의 어깨, 팔꿈치 또는 다른 그래픽 특징들의 포지션들을 식별하기 위해 사용될 수 있다. 이러한 포지션들은 현실 세계 내의 플레이어(102)의 모션에 따라 아바타가 가상 세계에서 움직이도록 하기 위해 사용될 수 있다. 부록 2의 원호 식들은, 어떻게 아바타가 가상 세계에서 프레임간(frame-to-frame)으로부터 행동할 수 있는지를 결정하기 위해 사용될 수 있다. 예를 들어, 현실 세계 내의 플레이어(102)의 팔 길이와 같은 반경을 가진 원호는 아바타가 가상 세계에서 그들의 팔을 돌려야 한다는 것을 의미한다. 원호가 팔 길이보다 큰 경우, 이는 아바타가 가상 세계에서 그들의 팔을 돌릴 뿐만 아니라, 앞으로 나아가야 한다는 것을 의미한다.
부록 1의 식들(예를 들면, 식 8 또는 식 9)은 센서(114)로부터 좌표를 획득하기 위한 안정성 또는 속도를 증가시키기 위해 사용될 수 있다.
부록 3은 부록 1의 식 8 또는 식 9를 묘사하는 플로차트를 포함한다.
부록 4는 궤적 모듈에 대한 코드 및 루틴들의 예시를 기술한다. 궤적 모듈은 부록 1의 식 8 또는 식 9에 관한 것일 수 있다. 궤적 모듈은 부록 1의 식 8 또는 식 9의 출력의 안정성을 증가시키는데 도움을 줄 수 있다. 궤적 모듈은 원호 식 모듈의 출력의 안정성을 증가시키는데 도움을 줄 수 있다. 궤적 모듈은 몇몇 실시예들에 따라 애플 iOS 상에서 동작가능하도록 구성될 수 있다.
본 명세서에 기술된 실시예들은 이하에서 보다 상세하게 논의된 바와 같이, 다양한 컴퓨터 하드웨어 또는 소프트웨어 모듈들을 포함한 특수 목적용 또는 일반 목적용 컴퓨터의 사용을 포함할 수 있다.
본 명세서에 기술된 실시예들은, 저장된 컴퓨터 실행가능 명령들 또는 데이터 구조들을 갖추거나 포함하는 컴퓨터 판독가능 매체들을 사용하여 구현될 수 있다. 그러한 컴퓨터 판독가능 매체들은 일반 목적용 또는 특수 목적용 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수 있다. 예시로서, 제한 없이, 그러한 컴퓨터 판독가능 매체들은, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 전기적 소거 및 프로그램가능 판독 전용 메모리(EEPROM), 컴팩 디스크 판독 전용 메모리(CD-ROM) 또는 다른 광 디스크 저장, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 플래시 메모리 디바이스들(예를 들면, 솔리드 스테이트 메모리 디바이스들)을 포함한 비-일시적 컴퓨터 판독가능 저장 매체들, 또는 컴퓨터 실행가능 명령들 또는 데이터 구조들의 형태로 된 원하는 프로그램 코드를 갖추거나 저장하기 위해 사용될 수 있고 일반 목적용 또는 특수 목적용 컴퓨터에 의해 액세스될 수 있는 임의의 다른 비-일시적 저장 매체를 포함할 수 있다. 상기의 조합들은 또한 컴퓨터 판독가능 매체들의 범주 내에 포함될 수 있다.
컴퓨터 실행가능 명령들은 예를 들어, 일반 목적용 컴퓨터, 특수 목적용 컴퓨터, 또는 특수 목적용 프로세싱 디바이스(예를 들면, 하나 이상의 프로세서들)가 특정 기능 또는 기능들의 그룹을 수행하도록 하는 명령들 및 데이터를 포함한다. 주제 내용이 구조 특징들 및/또는 방법론적인 행동들에 대해 특정한 언어로 기술되어 있지만, 첨부된 청구범위에 정의된 주제 내용이 상술된 특수한 특징들 또는 행동들로 제한될 필요가 없다는 것을 이해하여야 한다. 오히려, 상술된 특수한 특징들 및 행동들은 청구범위들을 구현시키는 예시 형태들로 개시된다.
본 명세서에 사용된 바와 같이, 용어들 "모듈" 또는 "구성요소"는, 컴퓨팅 시스템의 일반 목적용 하드웨어(예를 들면, 컴퓨터 판독가능 매체들, 프로세싱 디바이스들 기타 등등)에 저장되고/되거나 실행될 수 있는, 모듈 또는 구성요소 및/또는 소프트웨어 객체들 또는 소프트웨어 루틴들의 동작들을 수행하도록 구성된 특수한 하드웨어 구현물들로 지칭될 수 있다. 몇몇 실시예들에서, 본 명세서에 기술된 서로 다른 구성요소들, 모듈들, 엔진들, 및 서비스들은 컴퓨팅 시스템 상에서 (예를 들면, 별개의 스레드들(threads)로서) 실행하는 객체들 또는 프로세스들로 구현될 수 있다. 본 명세서에 기술된 시스템 및 방법들 중 몇몇이 소프트웨어(일반 목적용 하드웨어에 저장되고/되거나 실행됨)에 구현되는 것처럼 일반적으로 기술되었지만, 특수한 하드웨어 구현물들 또는 소프트웨어 및 특수한 하드웨어 구현물들의 조합 역시 가능하고 고려된다. 이러한 설명에서, "컴퓨팅 엔티티"는 본 명세서에 이전에 정의된 바와 같은 임의의 컴퓨팅 시스템, 또는 컴퓨팅 시스템 상에 운영되는 임의의 모듈 또는 모듈레이트들의 조합일 수 있다.
본 명세서에 열거된 모든 예시들 및 조건부 언어는 기술 분야에 더 진보함에 있어 발명자가 기여한 본 발명 및 개념들을 독자가 이해하는데 도움을 주는 교육적인 목적들을 위한 것이며, 그리고 그러한 특수하게 열거된 예시들 및 조건들로 제한되지 않는 것으로 해석되어야 한다. 본 발명들의 실시예들이 상세하게 기술되어 있지만, 다양한 변화들, 대체물들, 및 개조물들이 본 발명의 사상 및 범주로부터 벗어남 없이 이루어질 수 있다는 것을 이해하여야 한다.
[부록 1]
0.1 도입
골프 연습 어플리케이션(Golf Training Application; "GTA")은 3D 가속기, 3D 자이로스코프 및 3D 자력계로 구성되는 축소 관성 항법 장치(Miniature Inertial Navigation Device; "MIND") 를 활용한다. GTA는 상기 센서들로부터 신호를 판독하여 글로벌 레퍼런스 프레임(global reference frame)(X, Y, Z)에서 MIND의 궤적을 저장한다. 하기의 리포트는 이러한 저장의 기계적 그리고 컴퓨터 구현의 세부를 기술한다.
0.2 글로벌 좌표계
3개의 모든 MIND 센서들이 평행 및 오른쪽으로 배향된 축들(x, y, z)을 갖고 단위 벡터들 i, j, k과 더불어 소위 보디 프레임을 형성한다는 것을 고려한다. 그러면, MIND가 여전이 몇몇의 임의의 위치에 머무를 때, 우리는 자력계 m = (mx,my,mz) 및 가속계 a = (ax, ay, az)로부터 데이터를 판독한다. INS의 임의의 위치에 있어서, 이러한 2개의 벡터들은 직교해야하는데,
(a,m) = axmx + aymy + azmz = 0
그 이유는 m이 자북극에 지향되는 자력선에 탄젠트이기 때문에, 그리고 우리 위도상에서 지구 표면에 대해 탄젠트이기 때문이다. 벡터 a는 지구 중심에 지향되고 |a| = g = 9,80665 m/sec2 이다. 첫 번째 단계에서, 우리는 글로벌 축 Z 및 그것에 대응하는 단위 벡터 K - 지구 중심에 지행됨 - 를 선택했고, INS 좌표계에 있어서
K = -a/g 인듯하다.
글로벌 X 축에 대응하는 제2 좌표, 우리는
I = -m/|m|
으로 정의하며,
그것은, 물론, 남쪽으로의 방향에 대응한다. 최종 글로벌 축 e는
벡터적
Figure pat00001
으로 정의할 것이고, 그것은 동쪽으로의 방향에 대응한다. 세부적으로, 그것은,
Figure pat00002
인듯하다.
행렬의 계수들
Figure pat00003
은 방향 코사인의 행렬이다.
0.3 무브먼트의 식들
2개의 직교 좌표계 또는 레퍼런스 프레임을 고려하여:
1. 글로벌 프레임이, 좌표들 (X, Y, Z) 및 단위 벡터들과 더불어, 따라서, 좌표 축들 (I, J, K)을 따라 지구와 강건하게 연결된다.
2. 보디 프레임이, 좌표들 (x, y, z) 및 단위 벡터들과 더불어, 따라서, 좌표 축들 (i, j, k)을 따라 MIND와 강건하게 연결된다.
글로벌 시스템에 있어서 임의의 벡터 R은
Figure pat00004
으로서 표현될 수 있다.
R0는 글로벌 좌표에서 보디 좌표계의 기원의 위치이고, r은 보디 좌표계의 포인트의 좌표이며, 최종적으로
Figure pat00005
- 회전 행렬, 보디 (i, j, k)를 글로벌 (I, J,K)로 변환한다. MIND가 이동할 때, 모든 항들이 시간 t의 함수들이 된다:
Figure pat00006
우리의 시스템은 보디 프레임 축들 (i, j, k)을 따라 가속들 a = iax + jay + kaz를 측정한다. 글로벌 좌표들에서 시스템의 이동을 계산하기 위해서, 우리는 글로벌 시스템에서의 가속의 값들 A = IAx + JAy + KAz을 알아야 한다. 그것을 하기 위해서, 우리는 자이로스코프 신호를 이용하여 행렬
Figure pat00007
(t)를 계산해야 한다. 그것은 나타낸 [1]일 수 있고, 이러한 행렬에 대한 미분 방정식은:
Figure pat00008
이다.
여기서,
Figure pat00009
- 각 속도
Figure pat00010
의 행렬 - 자이로스코프 및
Figure pat00011
에 의해 측정되는 양들 - 식 1로부터의 초기 행렬. a 및
Figure pat00012
가 주어지면, 우리는
및 속도 V 및 보디 프레임 기원의 위치 R0에 대해서
Figure pat00014
를 갖는다.
식들 [3-6]은 글로벌 프레임의 궤적을 저장하기 위한 모든 필요 정보를 포함한다. 최종 작업은 글로벌 프레임을 지구상의 몇몇의 자연 좌표계와 연결하는 것이다. 그 목적을 위해 자력계로부터의 데이터를 이용할 것이다.
0.4 수치 적분법
우리는 식 4로부터 시작해서 그것을 위해 안정 내포 크랭크-니콜슨 스킴(stable implicit Crank-Nicholson scheme)을 이용할 것이다. 시간들 ti에서의 각속도의 연속 판독들 동안의 시간 간격으로 dt를 두고, 그래서
Figure pat00015
그리고 우리의 적분 스킴은:
Figure pat00016
또는
Figure pat00017
이다.
이러한 접근법을 구현하기 위해서, 우리는 부록에 있어서 역행렬을 계산해야 한다
Figure pat00018
행렬들
Figure pat00019
i이 주어지면, 우리는
Figure pat00020
그리고
Figure pat00021
그리고
Figure pat00022
를 계산한다.
R0,i+ 1는 시간 ti에서의 보더 프레임의 기원의 위치이고- 모든 연산의 최종 결과이다. 동일 순간에서의 보디 프레임의 배향은
Figure pat00023
i+1에 의해 주어진다.
0.5 부록
Figure pat00024
도입한 후
행렬
Figure pat00025
Figure pat00026
으로 기입될 수 있다.
행렬
Figure pat00027
의 계수:
Figure pat00028
역행렬
Figure pat00029
은:
Figure pat00030
체크:
Figure pat00031

[부록 2]
Figure pat00032
Figure pat00033
은 원호의 좌표들이다.
R은 반경이다.
Figure pat00034
은 중심 포인트의 좌표이다.
P는 원의 영역이다.
[부록 3]
Figure pat00035

[부록 4]
본 코드는 표준 TI 소스 코드
Figure pat00036
에 추가된다. 데이터의 처리는 문서 "
Figure pat00037
" 및 흐름도에 따라 실행된다.
이러한 함수는 구조
Figure pat00038
에서 수집된 데이터를 처리한다.
Figure pat00039
Figure pat00040

Claims (21)

  1. 제1 플레이어와 연관된 제1 측정치들의 세트를 무선으로 수신하는 단계 - 상기 제1 측정치들의 세트는 상기 제1 플레이어의 하나 이상의 부속물(attribute)들을 기술함 -;
    상기 제1 측정치에 기반하여, 상기 제1 플레이어와 연관되고 상기 제1 플레이어의 가상 실시예를 가상 세계에서 묘사하는 제1 아바타를 포함한 제1 플레이어 프로필을 발생시키는 단계;
    상기 제1 플레이어와 연관된 복수의 제1 센서들로부터 제1 센서 데이터를 무선으로 수신하는 단계 - 상기 제1 센서 데이터는 현실 세계에서 상기 제1 플레이어의 현실 세계 포지션 내의 변화를 기술함 -;
    상기 제1 측정치들의 세트 및 상기 제1 센서 데이터에 기반하여, 제1 플레이어 움직임의 제1 추정을 결정하는 단계;
    상기 가상 세계 내의 제1 아바타의 제1 스크린 포지션과, 상기 현실 세계 내의 제1 플레이어의 현실 세계 포지션 간의 제1 차이를 결정하는 단계; 및
    상기 제1 플레이어의 움직임에 대응하는 제1 아바타의 움직임을 나타내는 제1 아바타 이미지 데이터를 발생시키는 단계 - 상기 제1 아바타 이미지 데이터는 상기 가상 세계 내의 제1 아바타의 제1 스크린 포지션과, 상기 현실 세계 내의 제1 플레이어의 현실 세계 포지션 간의 제1 차이에 기반하여 발생됨 -를 포함하는, 방법.
  2. 청구항 1에 있어서, 상기 제1 플레이어는 살아 있는 물체 또는 살아 있지 않은 물체 중 하나인, 방법.
  3. 청구항 1에 있어서, 상기 제1 플레이어는 움직일 수 있는 물체이며, 상기 제1 측정치들의 세트는 상기 움직일 수 있는 물체와 연관된 하나 이상의 파라미터들을 기술하는, 방법.
  4. 청구항 1에 있어서, 상기 제1 플레이어와 연관된 플레이어 프로필은, 상기 제1 플레이어와 연관되고 상기 제1 플레이어의 가상 실시예를 상기 가상 세계에서 묘사하는 둘 이상의 제1 아바타들을 포함하는, 방법.
  5. 청구항 1에 있어서, 상기 센서 데이터는 상기 센서 데이터에 다음의 식을 적용하는 필터 모듈에 의해 에러들을 감소시키고 안정성을 증가시키기 위해 프로세싱되는, 방법:
    Figure pat00041
  6. 청구항 1에 있어서, 상기 센서 데이터는 상기 센서 데이터에 다음의 식을 적용하는 필터 모듈에 의해 에러들을 감소시키고 안정성을 증가시키기 위해 프로세싱되는, 방법:
    Figure pat00042
  7. 청구항 1에 있어서, 상기 제1 추정은 상기 제1 플레이어 움직임과 연관된 미러 이미지 또는 반전 미러 이미지 중 하나에 대응하는, 방법.
  8. 청구항 1에 있어서,
    제2 플레이어와 연관된 제2 측정치들의 세트를 무선으로 수신하는 단계 - 상기 제2 측정치들의 세트는 상기 제2 플레이어의 하나 이상의 부속물들을 기술함 -;
    상기 제2 측정치에 기반하여, 상기 제2 플레이어와 연관되고 상기 제2 플레이어의 가상 실시예를 가상 세계에서 묘사하는 제2 아바타를 포함한 제2 플레이어 프로필을 발생시키는 단계;
    상기 제2 플레이어와 연관된 복수의 제2 센서들로부터 제2 센서 데이터를 무선으로 수신하는 단계 - 상기 제2 센서 데이터는 현실 세계에서 상기 제2 플레이어의 현실 세계 포지션 내의 변화를 기술함 -;
    상기 제2 측정치들의 세트 및 상기 제2 센서 데이터에 기반하여, 제2 플레이어 움직임의 제2 추정을 결정하는 단계;
    상기 가상 세계 내의 제2 아바타의 제2 스크린 포지션과, 상기 현실 세계 내의 제2 플레이어의 현실 세계 포지션 간의 제2 차이를 결정하는 단계;
    상기 제2 플레이어의 움직임에 대응하는 제2 아바타의 움직임을 나타내는 제2 아바타 이미지 데이터를 발생시키는 단계 - 상기 제2 아바타 이미지 데이터는 상기 가상 세계 내의 제2 아바타의 제2 스크린 포지션과, 상기 현실 세계 내의 제2 플레이어의 현실 세계 포지션 간의 제2 차이에 기반하여 발생됨 -; 및
    상기 제1 플레이어에 대응하는 제1 아바타 및 상기 제2 플레이어에 대응하는 제2 아바타의 한 프레임씩(frame-by-frame)의 표현을 제공하기 위해, 제1 이미지 데이터와 상기 제2 이미지 데이터를 동기화시키는 단계를 더 포함하는, 방법.
  9. 청구항 1에 있어서,
    상기 제1 플레이어에 대해 획득되어진 변경물을 나타내는 신호를 수신하는 단계; 및
    상기 제1 플레이어에 의해 획득된 변경물에 따라, 상기 제1 아바타의 표현을 변경시키는 단계를 더 포함하는, 방법.
  10. 청구항 1에 있어서,
    상기 제1 플레이어가 상기 현실 세계에 존재할 시에, 상기 제1 플레이어의 3 차원 이미지를 포함하는 이미지 데이터를 수신하는 단계;
    상기 제1 플레이어의 3 차원 이미지의 적어도 일부를, 상기 제1 아바타의 일부로서 포함하기 위해 상기 제1 아바타의 표현을 변경시키는 단계를 더 포함하는, 방법.
  11. 프로세서;
    명령들을 저장하는 비-일시적 메모리를 포함하는 시스템으로서, 실행될 때, 상기 시스템으로 하여금,
    제1 플레이어와 연관된 제1 측정치들의 세트를 무선으로 수신하고 - 상기 제1 측정치들의 세트는 상기 제1 플레이어의 하나 이상의 부속물들을 기술함 -;
    상기 제1 측정치에 기반하여, 상기 제1 플레이어와 연관되고 상기 제1 플레이어의 가상 실시예를 가상 세계에서 묘사하는 제1 아바타를 포함한 제1 플레이어 프로필을 발생시키고;
    상기 제1 플레이어와 연관된 복수의 제1 센서들로부터 제1 센서 데이터를 무선으로 수신하고 - 상기 제1 센서 데이터는 현실 세계에서 상기 제1 플레이어의 현실 세계 포지션 내의 변화를 기술함 -;
    상기 제1 측정치들의 세트 및 상기 제1 센서 데이터에 기반하여, 제1 플레이어 움직임의 제1 추정을 결정하고;
    상기 가상 세계 내의 제1 아바타의 제1 스크린 포지션과, 상기 현실 세계 내의 제1 플레이어의 현실 세계 포지션 간의 제1 차이를 결정하며;
    상기 제1 플레이어의 움직임에 대응하는 제1 아바타의 움직임을 나타내는 제1 아바타 이미지 데이터를 발생시키도록 - 상기 제1 아바타 이미지 데이터는 상기 가상 세계 내의 제1 아바타의 제1 스크린 포지션과, 상기 현실 세계 내의 제1 플레이어의 현실 세계 포지션 간의 제1 차이에 기반하여 발생됨 - 하는, 시스템.
  12. 청구항 11에 있어서, 상기 제1 플레이어는 살아 있는 물체 또는 살아 있지 않은 물체 중 하나인, 시스템.
  13. 청구항 11에 있어서, 상기 제1 플레이어와 연관된 플레이어 프로필은, 상기 제1 플레이어와 연관되고 상기 제1 플레이어의 가상 실시예를 상기 가상 세계에서 묘사하는 둘 이상의 제1 아바타들을 포함하는, 시스템.
  14. 청구항 11에 있어서, 상기 센서 데이터는 상기 센서 데이터에 다음의 식을 적용하는 상기 시스템의 필터 모듈에 의해 에러들을 감소시키고 안정성을 증가시키기 위해 프로세싱되는, 시스템:
    Figure pat00043
  15. 청구항 11에 있어서, 상기 센서 데이터는 상기 센서 데이터에 다음의 식을 적용하는 상기 시스템의 필터 모듈에 의해 에러들을 감소시키고 안정성을 증가시키기 위해 프로세싱되는, 시스템:
    Figure pat00044
  16. 청구항 11에 있어서, 상기 제1 추정은 상기 제1 플레이어 움직임과 연관된 미러 이미지 또는 반전 미러 이미지 중 하나에 대응하는, 시스템.
  17. 청구항 11에 있어서, 실행될 때, 상기 시스템으로 하여금,
    제2 플레이어와 연관된 제2 측정치들의 세트를 무선으로 수신하고 - 상기 제2 측정치들의 세트는 상기 제2 플레이어의 하나 이상의 부속물들을 기술함 -;
    상기 제2 측정치에 기반하여, 상기 제2 플레이어와 연관되고 상기 제2 플레이어의 가상 실시예를 가상 세계에서 묘사하는 제2 아바타를 포함한 제2 플레이어 프로필을 발생시키고;
    상기 제2 플레이어와 연관된 복수의 제2 센서들로부터 제2 센서 데이터를 무선으로 수신하고 - 상기 제2 센서 데이터는 현실 세계에서 상기 제2 플레이어의 현실 세계 포지션 내의 변화를 기술함 -;
    상기 제2 측정치들의 세트 및 상기 제2 센서 데이터에 기반하여, 제2 플레이어 움직임의 제2 추정을 결정하고;
    상기 가상 세계 내의 제2 아바타의 제2 스크린 포지션과, 상기 현실 세계 내의 제2 플레이어의 현실 세계 포지션 간의 제2 차이를 결정하고;
    상기 제2 플레이어의 움직임에 대응하는 제2 아바타의 움직임을 나타내는 제2 아바타 이미지 데이터를 발생시키며 - 상기 제2 아바타 이미지 데이터는 상기 가상 세계 내의 제2 아바타의 제2 스크린 포지션과, 상기 현실 세계 내의 제2 플레이어의 현실 세계 포지션 간의 제2 차이에 기반하여 발생됨 -;
    상기 제1 플레이어에 대응하는 제1 아바타 및 상기 제2 플레이어에 대응하는 제2 아바타의 한 프레임씩의 표현을 제공하기 위해, 제1 이미지 데이터와 상기 제2 이미지 데이터를 동기화시키록 하는 명령들을 더 포함하는, 시스템.
  18. 청구항 11에 있어서, 실행될 때, 상기 시스템으로 하여금,
    상기 제1 플레이어에 대해 구입되어지는 추가물을 나타내는 신호를 수신하며;
    상기 제1 플레이어에 의해 구입된 추가물에 따라, 상기 제1 아바타의 표현을 변경시키도록 하는 명령들을 더 포함하는, 시스템.
  19. 청구항 11에 있어서, 실행될 때, 상기 시스템으로 하여금,
    상기 제1 플레이어가 상기 현실 세계에 존재할 시에, 상기 제1 플레이어의 3 차원 이미지를 포함하는 이미지 데이터를 수신하고;
    상기 제1 플레이어의 3 차원 이미지의 적어도 일부를, 상기 제1 아바타의 일부로서 포함하기 위해 상기 제1 아바타의 표현을 변경시키도록 하는 명령들을 더 포함하는, 시스템.
  20. 청구항 11에 있어서, 상기 메모리에 저장된 원호 식 모듈(arc equation module)을 더 포함하며, 상기 원호 식 모듈은 명령들을 포함하되, 실행될 때, 상기 시스템으로 하여금,
    상기 제1 측정치 및 상기 제1 센서 데이터에 기반하여, 상기 현실 세계 내의 제1 플레이어의 움직임에 대응하는 제1 아바타에 대한 원호를 결정하고;
    상기 원호에 기반하여, 원호 반경 및 하나 이상의 중심점들을 결정하고;
    상기 원호 반경 및 상기 하나 이상의 중심점들에 기반하여, 상기 현실 세계 내의 제1 플레이어의 위치 및 배향 중 하나 이상을 기술하는 하나 이상의 현실 세계 포지션들을 식별하며;
    상기 현실 세계 내의 제1 플레이어의 움직임에 대응하는 제1 아바타의 움직임을 나타내는 제1 아바타 이미지 데이터를 발생시키도록 - 상기 제1 아바타 이미지 데이터는 상기 가상 세계 내의 제1 아바타의 제1 스크린 포지션과, 상기 현실 세계 내의 제1 플레이어의 현실 세계 포지션 간의 제1 차이에 기반하여 발생됨 - 하는 명령들을 포함하는, 시스템.
  21. 플레이어 디바이스로부터 센서 데이터를 수신하는 단계 - 상기 센서 데이터는 플레이어의 움직임에 대응함 -;
    난수 발생기에 대한 시드(seed)로서 사용되는 센서 데이터에 기반하여 난수를 발생시키는 단계;
    경기가 디스플레이 디바이스 상에 디스플레이되도록 하는 단계 - 상기 경기의 성과는 상기 난수에 적어도 부분적으로 의존함 -; 및
    상기 경기의 성과에 도박을 하는 플레이어로부터 입찰을 수락하는 단계를 포함하는, 방법.
KR1020150046223A 2014-04-02 2015-04-01 아바타가 가상 환경에서 플레이어를 나타내기 위한 센서 기반 게이밍 시스템 KR101686324B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/243,575 2014-04-02
US14/243,575 US9457229B2 (en) 2012-12-21 2014-04-02 Sensor-based gaming system for an avatar to represent a player in a virtual environment

Publications (2)

Publication Number Publication Date
KR20150114909A true KR20150114909A (ko) 2015-10-13
KR101686324B1 KR101686324B1 (ko) 2016-12-13

Family

ID=52875535

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150046223A KR101686324B1 (ko) 2014-04-02 2015-04-01 아바타가 가상 환경에서 플레이어를 나타내기 위한 센서 기반 게이밍 시스템

Country Status (5)

Country Link
EP (1) EP2926877A3 (ko)
JP (1) JP2015196091A (ko)
KR (1) KR101686324B1 (ko)
CN (1) CN104971495B (ko)
WO (1) WO2015153869A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200127169A (ko) * 2018-02-28 2020-11-10 소니 인터랙티브 엔터테인먼트 엘엘씨 플레이어의 경쟁형 게임플레이 참여 장려
KR102342778B1 (ko) * 2021-07-27 2021-12-23 주식회사 케이골프 사용자 별 개인화된 아바타를 제공하는 골프 시뮬레이션 장치 및 그 동작 방법
US12017146B2 (en) 2020-01-13 2024-06-25 Tencent Technology (Shenzhen) Company Limited Updating virtual object frame images corresponding to variables

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017090272A1 (ja) * 2015-11-27 2017-06-01 株式会社アースビート ゲーム用画像処理システム及びプログラム
GB2551323B (en) * 2016-06-08 2021-02-10 Companion Ltd System providing a shared environment
CN107344019B (zh) * 2017-07-28 2023-11-21 歌尔科技有限公司 一种虚拟现实系统
US11478681B2 (en) 2017-11-29 2022-10-25 Agt Global Media Gmbh Method of real time monitoring of a person during an event and event dynamics system thereof
US10916059B2 (en) * 2017-12-06 2021-02-09 Universal City Studios Llc Interactive video game system having an augmented virtual representation
US10653957B2 (en) * 2017-12-06 2020-05-19 Universal City Studios Llc Interactive video game system
CN108245880A (zh) * 2018-01-05 2018-07-06 华东师范大学 基于多穿戴环带传感器融合的体感检测可视化方法和系统
JP2021058482A (ja) * 2019-10-08 2021-04-15 聡 耿 コントローラを使用したゲーム方法
CN110917612A (zh) * 2019-11-13 2020-03-27 芯海科技(深圳)股份有限公司 游戏交互方法、装置、电子设备及存储介质
JP7112579B1 (ja) 2021-10-05 2022-08-03 株式会社バンダイ プログラム、ゲーム装置及びゲームシステム
CN115494948B (zh) * 2022-09-30 2024-04-02 领悦数字信息技术有限公司 用于使多个数字分身联动的方法、装置及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080045359A (ko) * 2006-11-20 2008-05-23 이종원 체격 조건과 스윙 아크 및 스피드의 실시간 분석을 통한쌍방향 온라인 골프 게임 서비스 방법 및 그 기록매체
JP2009140492A (ja) * 2007-12-06 2009-06-25 Internatl Business Mach Corp <Ibm> 実世界の物体およびインタラクションを仮想世界内にレンダリングする方法、システムおよびコンピュータ・プログラム
JP2009533138A (ja) * 2006-04-13 2009-09-17 アイジーティー ゲーム・デバイス上においてリモート・ホストからのコンテンツ及びローカルに描写したコンテンツを一体化する方法及び装置
KR20130116886A (ko) * 2010-11-05 2013-10-24 나이키 인터내셔널 엘티디. 자동화된 개인 훈련 방법 및 시스템

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5779545A (en) * 1996-09-10 1998-07-14 International Game Technology Central random number generation for gaming system
US20060241392A1 (en) * 2005-04-04 2006-10-26 Igor Feinstein Method and apparatus for wireless monitoring of subjects within a magnetic field
CN101467184B (zh) * 2006-04-13 2013-03-13 Igt公司 用于在游戏设备上集成远程主机和本地显示内容的方法和装置
US20090017910A1 (en) * 2007-06-22 2009-01-15 Broadcom Corporation Position and motion tracking of an object
US8726194B2 (en) * 2007-07-27 2014-05-13 Qualcomm Incorporated Item selection using enhanced control
US20090111582A1 (en) * 2007-10-31 2009-04-30 Motorola, Inc. Method and Apparatus for Tracking Sports Play
US20090292178A1 (en) * 2008-05-21 2009-11-26 Qualcomm Incorporated System and method of monitoring users during an interactive activity
CA2731025C (en) * 2010-02-05 2014-10-07 Fletcher Lu Mobile social fitness networked game
US9064369B2 (en) * 2010-04-06 2015-06-23 Multimedia Games, Inc. Wagering game, gaming machine and networked gaming system with customizable player avatar
KR101890717B1 (ko) * 2010-07-20 2018-08-23 삼성전자주식회사 생체 정보를 활용한 가상 세계 조작 장치 및 방법
JP5827007B2 (ja) * 2010-10-15 2015-12-02 任天堂株式会社 ゲームプログラム、画像処理装置、画像処理システム、および画像処理方法
JP2012243147A (ja) * 2011-05-20 2012-12-10 Nintendo Co Ltd 情報処理プログラム、情報処理装置、情報処理システム、および、情報処理方法
JP2013138708A (ja) * 2011-12-28 2013-07-18 Kddi Corp 画像制御装置
US9158383B2 (en) * 2012-03-02 2015-10-13 Microsoft Technology Licensing, Llc Force concentrator

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009533138A (ja) * 2006-04-13 2009-09-17 アイジーティー ゲーム・デバイス上においてリモート・ホストからのコンテンツ及びローカルに描写したコンテンツを一体化する方法及び装置
KR20080045359A (ko) * 2006-11-20 2008-05-23 이종원 체격 조건과 스윙 아크 및 스피드의 실시간 분석을 통한쌍방향 온라인 골프 게임 서비스 방법 및 그 기록매체
JP2009140492A (ja) * 2007-12-06 2009-06-25 Internatl Business Mach Corp <Ibm> 実世界の物体およびインタラクションを仮想世界内にレンダリングする方法、システムおよびコンピュータ・プログラム
KR20130116886A (ko) * 2010-11-05 2013-10-24 나이키 인터내셔널 엘티디. 자동화된 개인 훈련 방법 및 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200127169A (ko) * 2018-02-28 2020-11-10 소니 인터랙티브 엔터테인먼트 엘엘씨 플레이어의 경쟁형 게임플레이 참여 장려
US12017146B2 (en) 2020-01-13 2024-06-25 Tencent Technology (Shenzhen) Company Limited Updating virtual object frame images corresponding to variables
KR102342778B1 (ko) * 2021-07-27 2021-12-23 주식회사 케이골프 사용자 별 개인화된 아바타를 제공하는 골프 시뮬레이션 장치 및 그 동작 방법

Also Published As

Publication number Publication date
CN104971495B (zh) 2019-03-29
EP2926877A3 (en) 2016-03-02
EP2926877A2 (en) 2015-10-07
KR101686324B1 (ko) 2016-12-13
JP2015196091A (ja) 2015-11-09
CN104971495A (zh) 2015-10-14
WO2015153869A1 (en) 2015-10-08

Similar Documents

Publication Publication Date Title
KR101686324B1 (ko) 아바타가 가상 환경에서 플레이어를 나타내기 위한 센서 기반 게이밍 시스템
TWI577430B (zh) 一種用於在一虛擬世界中代表一遊戲者的方法及其系統
US9654613B2 (en) Dual-mode communication devices and methods for arena gaming
JP7286750B2 (ja) ターゲット検索のための、およびジオキャッシングを使用するための装置、システム、および方法
US10229608B2 (en) Wireless communication between physical figures to evidence real-world activity and facilitate development in real and virtual spaces
KR102530747B1 (ko) 챌린지 게임 시스템
US20170216675A1 (en) Fitness-based game mechanics
WO2008115858A1 (en) Location-based multiplayer gaming platform
US20160121211A1 (en) Interactive gaming using wearable optical devices
Kostov Fostering player collaboration within a multimodal co-located game
Wu et al. Metaverse: The world reimagined
CN109417651B (zh) 使用基于位置的游戏配套应用程序生成挑战
Pranith et al. Real‐Time Applications of Virtual Reality
US20200353366A1 (en) System and method for augmented reality game system
Chung Metaverse XR Components
US11235247B2 (en) Game system, processing method, and information storage medium
Mazouzi Exploring the use of smart glasses, gesture control, and environmental data in augmented reality games
Swing Using Gyroscope Technology to Implement a Leaning Technique for Game Interaction
US20210038991A1 (en) Gps seed for game play
Stepanyan et al. Addressing responsiveness in interactive, pervasive games
Abid et al. An Augmented Reality Shooting Game
CN114053707A (zh) 虚拟痕迹显示方法、装置、设备、介质及计算机程序产品
Eishita Analyzing the Impact of Spatio-Temporal Sensor Resolution on Player Experience in Augmented Reality Games
JP2024005495A (ja) 端末装置の制御プログラム、端末装置、及び端末装置の制御方法
Chye Thesis An Exergame for Encouraging Martial Arts

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191017

Year of fee payment: 4