KR20150046302A - 하나 이상의 모바일 컴퓨팅 디바이스들을 갖는 로봇 시스템의 통합 - Google Patents

하나 이상의 모바일 컴퓨팅 디바이스들을 갖는 로봇 시스템의 통합 Download PDF

Info

Publication number
KR20150046302A
KR20150046302A KR1020157007769A KR20157007769A KR20150046302A KR 20150046302 A KR20150046302 A KR 20150046302A KR 1020157007769 A KR1020157007769 A KR 1020157007769A KR 20157007769 A KR20157007769 A KR 20157007769A KR 20150046302 A KR20150046302 A KR 20150046302A
Authority
KR
South Korea
Prior art keywords
physical
agents
agent
virtual
state
Prior art date
Application number
KR1020157007769A
Other languages
English (en)
Other versions
KR101793189B1 (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 KR20150046302A publication Critical patent/KR20150046302A/ko
Application granted granted Critical
Publication of KR101793189B1 publication Critical patent/KR101793189B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/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/20Input arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/573Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H17/00Toy vehicles, e.g. with self-drive; ; Cranes, winches or the like; Accessories therefor
    • A63H17/26Details; Accessories
    • A63H17/32Acoustical or optical signalling devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H30/00Remote-control arrangements specially adapted for toys, e.g. for toy vehicles
    • A63H30/02Electrical arrangements
    • A63H30/04Electrical arrangements using wireless transmission
    • 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
    • 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/30Features 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 output arrangements for receiving control signals generated by the game device
    • A63F2300/308Details of the user interface
    • 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/60Methods for processing data by generating or executing the game program
    • A63F2300/69Involving elements of the real world in the game world, e.g. measurement in live races, real video
    • 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8017Driving on land or water; Flying
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H2200/00Computerized interactive toys, e.g. dolls

Abstract

로봇 시스템이 하나 이상의 모바일 컴퓨팅 디바이스들과 통합된다. 사용자 또는 사용자들의 제어 하에서, 물리적 공간에서의 시스템의 개개의 구성요소들의 물리적 구성들, 또는 에이전트들은 가상 공간에서의 표현으로 복제된다. 어느 정도의 실-시간 동등성은 물리적 환경을 반영하는 가상 환경을 구현하기 위해, 물리적 및 가상 공간들 사이에 유지된다. 하나의 환경 내에서 발생하는 이벤트들은 다른 환경 내에서 발생하는 이벤트들의 진행에 대한 결과에 직접 영향을 주고 그 결과를 야기할 수 있다. 그렇게 함으로써 가상 공간의 요소들은 물리적 공간에서의 요소들과 관계를 맺는 피어에 대해 정확히 상호의존적이고 통일되게 된다. 적어도 일 실시예에서, 본 발명의 시스템은 물리적 공간에서의 비디오 게임의 발현과 같이, 엔터테인먼트의 애플리케이션으로 구현된다.

Description

하나 이상의 모바일 컴퓨팅 디바이스들을 갖는 로봇 시스템의 통합{INTEGRATION OF A ROBOTIC SYSTEM WITH ONE OR MORE MOBILE COMPUTING DEVICES}
관련 출원의 상호-참조
본 출원은 2012년 8월 27일에 출원된, "Integration of a Robotic System with One or More Mobile Computing Devices"(대리인 문서 번호 ANK002-PROV)에 대한 미국 가 출원 번호 제61/693,687호로부터의 우선권을 주장하며, 이는 본 명세서에 참조로서 원용된다.
본 발명은 모바일 컴퓨팅 디바이스들과 통합될 수 있는 로봇 시스템들에 관한 것이다.
이동식의, 자율적인 및/또는 그외 그 환경에 관한 어느 정도의 인지로 작동할 수 있는 빌딩 로봇 시스템들의 과제들 중 하나는 비용이 중요할 수 있다는 것이다. 소비자 마켓에 대한 판매들을 지원할 수 있는 비용으로 그러한 시스템들을 생산하는 것은 소비자용 로봇들의 개발에 대한 역사적인 장애가 되어왔다. 제품들에 대해 인공 지능에 바탕을 둔 어느 정도의 지능 또는 기능 역량을 부여하는 마켓 기회는 엄청나지만, 이들 제품들, 특히 원자재 제품들의 원가 구조는 이들 부가물들을 사업적 관점에서 엄두도 못 낼 정도로 비싸게 만든다.
그러한 비용의 특정한 원인은 제어 시스템들 및 자율적인 구성요소들을 포함하여, 그러한 로봇 시스템들을 위한 전용 하드웨어 및 펌웨어의 사용이다. 엔터테인먼트 제품들과 관련된 특정한 시스템들에서, 원자재-기반 제품 마켓들의 가격-경쟁력 있는 특성이 주어지면, 수익성 있는 방식으로 그러한 로봇 애플리케이션들을 위한 제품들을 생산 및 판매하는 것은 실현불가능할 수 있다.
본 발명의 다양한 실시예들에 따르면, 스마트폰들 및/또는 태블릿들과 같은 모바일 컴퓨팅 디바이스들은 로봇 시스템들을 지원 및 제어하기 위한 플랫폼으로서 영향력이 발휘된다. 소비자들 사이의 그러한 디바이스들의 급속한 성장은 충분한 수의 그러한 디바이스들이 로봇 시스템과 관련되어 소비자에 의한 사용을 위해 이용가능하다는 추정을 실현가능하고 현실적으로 만들었다.
로봇 시스템의 동작의 적어도 일부를 지원하기 위한 스마트폰들과 같은 모바일 컴퓨팅 디바이스들을 사용함으로써, 본 발명의 기술들은 로봇 시스템에서의 하드웨어 요건들의 중요한 가능성 있는 감소들을 제공한다. 또한, 그러한 디바이스들은 일반적으로 리치 사용자 인터페이스들(rich user interfaces), 주목할 만한 컴퓨터 성능, 및 내장 무선 연결을 가지고, 따라서 디바이스들을 본 명세서에 설명되는 바와 같이 로봇 시스템들을 위한 로봇 제어 시스템으로서 사용하기에 이상적으로 만든다.
본 발명의 다양한 실시예들에 따르면, 로봇 시스템은 하나 이상의 모바일 컴퓨팅 디바이스들과 통합된다. 그러한 컴퓨팅 디바이스들은 예를 들어, 하나 이상의 스마트폰들, 태블릿 컴퓨터들, 랩탑 컴퓨터들, 게이밍 콘솔들, 키오스크들, 및/또는 기타를 포함할 수 있다. 다른 실시예들에서, 본 발명의 기술들은 데스크탑 컴퓨터들, 웹-기반 컴퓨팅 아키텍처들, 및/또는 기타와 같은, 임의의 다른 적합한 컴퓨팅 디바이스들을 사용하여 구현될 수 있다. 그러한 컴퓨팅 구성요소들은 서로, 및/또는 사용자 또는 사용자들의 제어 하의 에이전트들(agents)과 같은 물리적 구성요소들과 네트워킹될 수 있는데; 그러한 네트워킹은 블루투스(Bluetooth), 와이파이(Wifi), 및/또는 다른 무선 네트워킹 기술들을 활용할 수 있다.
본 명세서에 설명되는 바와 같은 다양한 실시예들에서, 사용자 또는 사용자들의 제어 하에서, 물리적 공간에서의 시스템의 개개의 구성요소들의 물리적 구성들, 또는 에이전트들은 가상 공간에서의 표현으로 복제된다. 어느 정도의 실-시간 동등성이 물리적 환경을 반영하는 가상 환경을 구현하기 위해, 물리적 및 가상 공간들 사이에서 유지될 수 있다. 이러한 방식으로, 본 발명은 하나의 환경 내에서 발생하는 이벤트들이 다른 환경 내에서 발생하는 이벤트들의 진행에 대한 결과에 영향을 미치고 그 결과를 야기할 수 있는 시스템을 지원한다. 그렇게 함으로써, 가상 공간의 요소들은 물리적 공간의 요소들과 관계를 맺는 피어(peer)에 대해 정확히 상호의존적이고 통일되어질 수 있다.
가상 및 물리의 통합은 증강 현실(argmented reality)의 소위 테넌트들(tenants)이었는데; 지금까지의 증강 현실의 애플리케이션들은 단-방향 작용(가상에 영향을 미치는 물리, 또는 그 반대 중 하나)의 많은 예들을 생산해왔으나, 이들은 로봇 양-방향 시스템을 구성하는 것에 미치지 못해왔다. 본 발명의 적어도 일 실시예에서, 가상 환경이 일관된 방식으로 물리적 환경에, 및 그 반대로 영향을 주는 정확히 공생적인 시스템이 구현된다.
적어도 일 실시예에서, 본 발명의 시스템은 물리적 공간에서의 비디오 게임의 발현과 같은, 엔터테인먼트의 애플리케이션으로서 구현된다. 게임들 및 엔터테인먼트는 다수의 사용자들 간 상호작용의 그 포함을 위한 본 발명의 흥미로운 사용이다. 적어도 일 실시예에서, 본 발명의 시스템은 사용자들이 시스템의 하나 이상의 에이전트들을 제어하는 환경을 제공하는 한편, 하나 이상의 다른 에이전트들은 인공 지능에 의해 제어될 수 있는 환경을 제공한다.
첨부 도면들은 본 발명의 다수의 실시예들을 예시하고, 설명과 함께, 실시예들에 따른 본 발명의 원리들을 설명하는 역할을 한다. 해당 기술분야의 통상의 기술자는 도면들에 예시된 특정한 실시예들이 단지 대표적인 것이며, 본 발명의 범위를 제한하도록 의도되지 않는다는 것을 인식할 것이다.
도 1은 일 실시예에 따른 본 발명을 구현하기 위한 아키텍처를 도시하는 블록도이다.
도 2는 일 실시예에 따라, 물리적 및 가상 공간에서의 이벤트들 및 기능들의 통합의 예를 도시한다.
도 3은 적어도 일 실시예에 따라 호스트 디바이스(기지국)의 역할의 측면들을 도시하고, 차량들을 제어하는 사용자들 및 그들 자신의 차량들 사이의 관계를 구현하는 다양한 구성요소들 및 구조들을 예시하는 블록도이다.
도 4는 일 실시예에 따라, 차량들 상의 바디 커버들이 가상 환경에서의 차량들의 대응하는 표현들의 특성들의 차이를 반영하는데 사용되고, 그에 따라 물리적 및 가상 환경들 사이의 관계를 강화하는 예를 도시한다.
도 5는 일 실시예에 따라, 물리적 공간 내에서 디지털 방식으로 렌더링되는 요소를 구현하기 위한 가상 액세서리의 사용의 예를 도시한다.
도 6은 일 실시예에 따라, 차량들이 레이스 트랙(race track)상을 레이싱하는 게임플레이 환경을 구현하기 위한 본 발명의 실시예의 예를 도시한다.
예시적인 목적들을 위해, 본 발명은 본 명세서에서 사용자 제어 하의 에이전트들이 물리적 트랙 상에서 경쟁하는, 게임-플레이와 관련된 물리적 차량들 또는 액세서리들인 카레이싱 게임을 구현하는 시스템의 맥락에서 주로 설명될 것이다. 또한, 그러한 시스템, 및 가상 및 물리적 환경들을 통합하기 위한 그것의 메커니즘들의 구현에 관한 상세내용들이 2012년 12월 6일에 출원된, "Distributed System of Autonomously Controlled Mobile Agents"(대리인 문서 번호 ANK001CONT)에 대한 관련 미국 실용 출원 번호 제13/707,512호에 제시되고, 이는 본 명세서에 참조로 원용된다. 그러나, 해당 기술분야의 통상의 기술자는 본 명세서에 설명되는 기술들이 다른 맥락들 및 환경들에서 구현될 수 있고, 물리적 트랙 상의 차량들에 제한될 필요가 없다는 것을 인식할 것이다. 그러므로 본 명세서에 설명되는 바와 같은 용어 "차량"은 본 명세서 설명되는 방식으로 제어되고 작동될 수 있는 한편, 또한 본 명세서에 설명되는 바와 같은 가상 환경에서 표현될 수 있는 임의의 이동가능한 에이전트로 확장하도록 취해질 것이다.
본 발명이 본 명세서에서 엔터테인먼트의 애플리케이션의 맥락에서 주로 설명되더라도, 해당 기술분야의 통상의 기술자는 본 발명이 엔터테인먼트와 관련될 필요는 없는 맥락들을 포함하여, 많은 다른 맥락들에서 구현될 수 있다는 것을 인식할 것이다.
시스템 아키텍처
이제 도 1을 참조하면, 일 실시예에 따른 본 발명을 구현하기 위한 아키텍처가 도시된다. 도 1에 도시된 시스템(100)에서, 게임플레이는 호스트 디바이스(108)에 의해 호스팅되며, 이는 이동식 또는 고정식인지와 관계없이, 예를 들어 스마트폰, 태블릿, 랩탑 컴퓨터, 또는 기타, 및/또는 그것들의 임의의 조합과 같은, 임의의 적합한 컴퓨팅 디바이스 상에 구현될 수 있다. 적어도 일 실시예에서, 호스트 디바이스(108)는 게임 동작들을 구현하는 소프트웨어에 포함되는 다양한 알고리즘들을 지원하고 구동한다. 호스트 디바이스(108) 및 관련 소프트웨어는 본 명세서에서 기지국 또는 중앙 제어 장치로서 총괄적으로 지칭된다.
다양한 상이한 디바이스들 중 임의의 디바이스는 호스트 디바이스(108)로서 역할을 할 수 있는데; 예들은 스마트폰들, 태블릿 컴퓨터들, 랩탑 컴퓨터들, 데스크탑 컴퓨터들, 비디오 게임 콘솔들, 및/또는 시스템을 위한 제어 소프트웨어를 지원할 수 있는 임의의 다른 컴퓨팅 디바이스를 포함한다. 적어도 일 실시예에서, 그러한 디바이스는 예를 들어 및 제한 없이: 캘리포니아, 쿠퍼티노의 애플사로부터 이용가능한 iOS 또는 MacOS; 캘리포니아, 마운틴뷰의 구글사로부터 이용가능한 안드로이드; 또는 워싱턴, 레드먼드의 마이크로소프트사로부터 이용가능한 윈도우즈를 포함하여, 임의의 적합한 운영 시스템을 사용할 수 있다. 적어도 일 실시예에서, 호스트 디바이스(108)는 적합한 소프트웨어 애플리케이션("app")을 구동하는, 캘리포니아, 쿠퍼티노의 애플사로부터 이용가능한 iPhone 또는 iPad이다. 적어도 일 실시예에서, 호스트 디바이스(108)를 제어하기 위한 소프트웨어는 규칙들, 사용자-제어 동작들, 및/또는 인공 지능에 따라 게임플레이를 계획, 조정 및 실행하기 위한 및 물리적 공간에서의 에이전트들(104A 내지 104F)을 작동하기 위한 적절한 기능 및 게임디스플레이 구조를 포함하는 다운로드가능한 애플리케이션("app")과 같은, 임의의 적합한 수단을 통해 제공될 수 있다. 적어도 일 실시예에서, 호스트 디바이스(108)는 에이전트들(104A 내지 104F)의 상태를 유지하고, 에이전트들(104A 내지 104F)로 및 에이전트들로부터 명령들을 송신 및 수신한다. 호스트 디바이스(108)는 또한 시스템과 사용자 상호작용을 용이하게 하기 위한 적합한 사용자 인터페이스를 포함할 수 있다.
적어도 일 실시예에서, 에이전트들(104A 내지 104F)은 차량들과 같은 모바일 에이전트들이고, 그것들이 다른 대상물들 또는 구성요소들일 수 있더라도, 본 명세서에서 그와 같이 지칭된다.
적어도 일 실시예에서, 호스트 디바이스(108)는 명령들이 호스트 디바이스(108) 상에서 구동하는 알고리즘들로부터 발생하는지 또는 호스트 디바이스(108)를 통해 라우팅되지만 물리적으로 존재하거나 원거리에 위치되는 사용자들(109D 내지 109K)에 의해 제어되는 제어 디바이스들(101D 내지 101K)로부터 발생하는지에 관계없이, 에이전트들(104A 내지 104F) 및/또는 액세서리들(105, 106)과 같은 다른 구성요소들로 송신되는 모든 활동 및 제어 명령들을 위한 중앙 노드이다. 다른 실시예들에서, 호스트 디바이스(108)가 모든 활동 및 제어 명령들을 위한 중앙 노드일 필요는 없는 보다 분산된 아키텍처가 구현될 수 있다.
도 1에 도시된 예는 특정 수의 컨트롤러들(101D 내지 101K), 에이전트들(104B 내지 104H), 액세서리들(105, 106)(또한 에이전트의 유형으로 간주될 수 있는), AI-제어 차량들(104J)(또한 에이전트의 유형으로 간주될 수 있는), 및 다른 구성요소들을 포함한다. 해당 기술분야의 통상의 기술자는 도 1에 도시되고 본 명세서에 설명되는 이들 구성요소들의 특정한 수량들이 단지 대표적이라는 것, 및 본 발명이 임의의 다른 수량들을 사용하여, 및/또는 만약 적절하다면 생략되는 몇몇 구성요소들과 함께 구현될 수 있다는 것을 인식할 것이다.
도 1의 아키텍처에서, 시스템(100)은 중앙집중 방식으로 구현되며, 여기서 컨트롤러들(101D 내지 101K) 및 에이전트들(차량들(104A 내지 104F)을 포함하는)은 다른 구성요소들과 함께, 호스트 디바이스(108)와 통신한다. 도시된 바와 같이, 적어도 일 실시예에서, 다수의 사용자들(109)(또는 플레이어들)은 차량들(104A 내지 104F)의 형태의 다수의 에이전트들을 제어할 수 있는 한편, 다른 에이전트들/차량들(104J)은 인공 지능에 의해 제어될 수 있다.
도 1에 도시된 바와 같이, 임의의 수의 외부의 디바이스들은 예를 들어 셀룰러/인터넷 연결(107)과 같은, 임의의 적합한 통신 프로토콜을 통해 호스트 디바이스(108)에 연결될 수 있다. 다양한 외부 디바이스들은 호스트 디바이스(108)와 동일할 수 있거나 동일하지 않을 수 있다. 몇몇 또는 모든 외부 디바이스들은 플레이어 컨트롤러들로서 역할한다. 도 1은 임의의 수의 컨트롤러들(101J, 101K)(각각, 사용자들(109J, 109K)에 의해 제어되는)을 갖는 게임 콘솔(101B); 랩탑 컴퓨터(101D)(사용자(109D)에 의해 제어되는); 독립형 컨트롤러(101E)(사용자(109E)에 의해 제어되는); 및 스마트폰들(101F, 101G, 및 101H)(사용자들(109F, 109G, 및 109H)에 의해 제어되는)을 포함하여, 플레이어 컨트롤러들로서 사용될 수 있는 디바이스들의 다양한 예들을 도시한다. 적어도 일 실시예에서, 임의의 또는 모든 컨트롤러들(101)은 적합한 소프트웨어 애플리케이션("app")을 구동하는, 캘리포니아, 쿠퍼티노의 애플사로부터 이용가능한 iPhone 또는 iPad일 수 있다. 컨트롤러들(101J, 101K, 101E)은 예를 들어 보통 콘솔 게임 디바이스들과 함께 사용되는 예시적인 컨트롤러들을 위함을 포함하는, 임의의 적합한 유형일 수 있다.
도 1에 도시된 실시예에서, 게임은 호스트 디바이스(108) 상에 호스팅된다. 호스트 디바이스(108)는 소프트웨어의 지시 하의 가상 환경에서뿐만 아니라 물리적 환경(레이스 트랙과 같은)에서의 물리적 공간에서 게임플레이를 지원하며; 가상 환경의 상태는 호스트 디바이스(108) 상의 메모리에 및/또는 다른 곳에 유지된다.
이제 또한 도 6을 참조하면, 일 실시예를 따라, 차량들(104)(레이스용 차들)이 구동가능한 표면(601)(레이스 트랙과 같은) 상에서 레이싱하는 게임플레이 환경을 구현하기 위한 본 발명의 실시예의 예가 도시된다. 그러나, 해당 기술분야의 통상의 기술자는 그러한 실시예가 본 발명의 구현의 단지 하나의 예인 것을 인식할 것이며; 예를 들어, 시스템은 차량들 외의 에이전트들과 함께, 및/또는 트랙들의 상이한 유형들과 함께 또는 트랙이 전혀 없는, 판이한 물리적 환경에서 구현될 수 있다.
"Distributed System of Autonomously Controlled Mobile Agents"에 대한 관련 미국 실용 출원 번호 제13/707,512호에 설명된 바와 같이, 구동가능한 표면(601)은 적어도 일 실시예에서, 하나 이상의 도로들의 물리적 모델이고, 정지 표지들, 신호등들(105), 철도 건널목들, 및/또는 기타와 같은 대상물들을 포함할 수 있다. 차량들(104)은 독립적으로 움직일 수 있는 모바일 에이전트들이다. 차량들(104)은 차들, 트럭들, 앰뷸런스들, 동물들 또는 임의의 다른 원하는 형태를 본떠서 물리적으로 모델링될 수 있다. 적어도 일 실시예에서, 각각의 차량은 구동가능한 표면(601)로부터 정보를 판독할 수 있는 하나 이상의 센서들(604) 및 예를 들어 무선 수단을 통해, 호스트 디바이스(108)로/호스트 디바이스로부터 명령들 및/또는 다른 정보를 송신 및 수신할 수 있는 통신 모듈(미도시)을 포함한다.
도 6에 도시된 바와 같이, 구동가능한 표면(601)은 그러한 구획된 배열이 선택적이더라도, 임의의 수의 구획들(602)을 포함할 수 있다. 그러한 구획들(602)은 특정 연결점들에서 연결할 수 있고 임의의 원하는 구조를 구성하기 위해 재구성될 수 있다. 이러한 구조는 구동가능한 표면(601)으로 지칭된다. 도로 구획들(602)은 하나 이상의 차량들(104)이 소위 구동가능한 섹션들을 찾고 각각의 연결점에 존재하는 단순한 클릭-인 메커니즘을 사용하여 각각의 다른 양단간으로 연결할 수 있는 연속적인 영역들을 포함한다. 각각의 도로 구획(602)은 또한 동력을 인접한 도로 피스(road piece)(602)에 선택적으로 송신할 수 있고 신호등들(603) 및 기타와 같은, 고급 기능을 위한 마이크로컨트롤러를 선택적으로 포함할 수 있다. 구동가능한 표면(601)은 또한 단일 피스로서 제공될 수 있다. 구동가능한 표면(601)(및/또는 구획들(602))은 접힐 수 있고, 접을 수 있고, 말 수 있으며, 또는 그외 보관을 위해 소형화될 수 있다.
적어도 일 실시예에서, 호스트 디바이스(108) 상에서 구동하는, 기지국 소프트웨어는 차량(104) 위치, 방향, 속도 및 게임 이벤트들을 특징짓는 다른 측면들에 관해 저장된 정보를 업데이트함으로써 물리적 환경에서의 이벤트들과 동등성 계속하여 유지하는 물리적 게임의 가상 버전을 작동한다. 적어도 일 실시예에서, 호스트 디바이스(108)는 언제라도 제시간에 물리적 환경 및 가상 환경에서의 게임 상태들이 동일(또는 실질적으로 동일)하다는 것, 또는 적어도 가상 환경에서의 게임 상태가 게임디스플레이 목적들을 위해 적어도 충분한 정확도로 물리적 상태의 표현이라는 것을 보장한다.
적어도 일 실시예에서, 인공 지능 소프트웨어는 호스트 디바이스(108) 상에서 구동하고, 트랙(601) 상에서 작동하는 하나 이상의 차량들(104J)을 제어하기 위한 명령들을 발행한다(무선 통신 메커니즘들 또는 다른 메커니즘들을 통해). 다른 실시예들에서, 차량들(104J)을 제어하기 위한 소프트웨어는 다른 곳에 위치될 수 있고/있거나, 그들 자신들의 차량들(104J) 상에서 구동할 수 있다.
적어도 일 실시예에서, 호스트 디바이스(108)는 동시에 차량(104)을 제어하는 사람 사용자(109A)를 위한 제어 유닛으로 역할할 수 있다(도시된 예에서, 사람 사용자(109A)는 차량(104A)을 제어하기 위해 호스트 디바이스(108)를 사용한다). 그러한 기능은 호스트 디바이스(108)가 또한 다른 차량들(104B 내지 104F)을 제어하는 다른 디바이스들(101D 내지 101K)로부터 들어오는 명령들을 제어하기 위한 전달자 및 해석자로서 역할하는 동안 호스트 디바이스(108) 상에 제공될 수 있다. 다른 실시예에서, 호스트 디바이스(108)는 사람 사용자(109)를 위한 제어 유닛으로 역할하는 것이 아니라, 전용 중앙 제어 장치로서 작동한다.
적어도 일 실시예에서, 사용자 제어 하의 에이전트들(차량들(104B 내지 104F)과 같은)은 형식상 또는 기능상으로 일관될 필요는 없다. 예를 들어, 사용자들(109)은 차량들 외의 대상물들 또는 요소들(신호등들, 철도 건널목들, 포탑포들(gun turrets), 도개교들(drawbridges), 보행자들, 및/또는 기타)을 제어할 기회가 주어질 수 있다.
플레이어 컨트롤러들(101D 내지 101K)은 호스트 디바이스(108)와 직접 통신할 수 있고 또는 플레이어 컨트롤러들은 중개 디바이스들을 통해 통신할 수 있다. 예를 들어, 도 1에서, 컨트롤러들(101J 및 101K)은 게임 콘솔(101B)을 통해 호스트 디바이스(108)와 통신한다. 유사하게, 연결들의 임의의 수의 매듭들은 다시 호스트 디바이스에 네트워킹되는 일련의 디바이스들을 통해 호스트 디바이스들에 연결하는 하나 이상의 스마트폰들과 같은, 호스트 디바이스 및 플레이어 컨트롤러들 사이에 구성될 수 있다.
도 1은 차량들(104B 내지 104F)이 각각, 사람 사용자들(109B 내지 109F)에 의해 제어되는 예를 도시한다. 액세서리들(105, 106)로서 지칭되는, 추가적인 에이전트들은 또한 사람 사용자들(109)에 의해 제어될 수 있고, 또는 추가적인 에이전트들은 자동으로 작동할 수 있다(예를 들어, 호스트 디바이스(108)에서 또는 다른 곳에서 구동하는 인공 지능 소프트웨어의 지시 하에서). 각각의 액세서리(105, 106)는 전동 또는 수동일 수 있고, 직접 게임플레이 환경 및/또는 다른 에이전트들(104)의 측면들에 영향을 주는데 사용될 수 있는 물리적 또는 가상 물품일 수 있다. 이러한 예에서, 액세서리(105)는 도 6시 도시된 바와 같은 물리적 신호등이다. 물리적 액세서리들의 다른 예들은 장애물들, 건널목 차단기들, 도개교들, 및/또는 기타일 수 있으며; 그러한 디바이스들은 게임플레이와 관련되어 그들의 동작을 제어하기 위해 호스트 디바이스(108)에 통신가능하게 결합될 수 있다. 적어도 일 실시예에서, 사용자(109)는 액세서리(105)의 물리적 상태를 변경하고 그렇게 함으로써 게임디스플레이에 작용할 수 있다.
스마트 액세서리들(105)은 또한 물리적 공간에서 수동 요소들로 존재할 수 있다. 수동 스마트 액세서리의 예는 플레이 전 또는 플레이 동안 몇몇 지점에 임의의 위치에 배치되는 구동가능한 표면(601) 상의 가능성 있는 위험을 나타내도록 의도되는 데칼(decal)이다. 그러한 데칼은 차량들(104)에 의해 그것의 고유한 식별을 허용하는 부호화 기법을 포함할 수 있다(예를 들어, 차량들이 그것을 피함에 따라). 적어도 일 실시예에서, 하나 이상의 그러한 수동 스마트 액세서리들을 제어하고 있는 사용자(109)는 개별적으로 또는 그룹들로 액세서리들을 선택적으로 활성화 또는 비활성화할 수 있다. 물리적 환경에서 수동이더라도, 가상 환경에서 그러한 액세서리들은 예를 들어:
● 그것들을 피하는 차량들의 조종 및 제동을 중단할 수 있는 유막들(oil slicks);
● 지뢰들;
● 못들;
● 그것들이 활성화되면 물리적으로 그것들을 피하기 위해 제 1 차량(104)의 수행을 촉진하는 전원 장치들
과 같은 다양한 상이한 피처들을 나타낼 수 있다.
수동 액세서리들(105)이 반드시 물리적 방법으로 상태 변화를 표시할 필요는 없다 하더라도, 호스트 디바이스(108)는 가상 상태의 변화들을 보고할 수 있고, 실시간으로, 컨트롤러들(101)을 통해, 사용자들(109)에게 그러한 변화들을 송신할 수 있다. 차량들(104)의 행동은 또한 액세서리들(105)의 가상 상태의 변화들에 반응하여 변경될 수 있다.
액세서리(106)는 가상 액세서리의 예이며, 이는 적절한 출력 디바이스(디스플레이 스크린과 같은)를 갖는 컴퓨팅 디바이스(스마트폰 또는 태블릿 컴퓨터 또는 기타와 같은) 외의 물리적 구성요소를 가지지 않는다. 가상 액세서리(106)는 모습 및 상태 양자에 적절하게 액세서리를 렌더링하기 위해 물리적 게임 환경에서의 특정한 위치에 물리적으로 배치될 수 있다. 이제 도 5를 참조하면, 일 실시예에 따라, 물리적 공간 내에 디지털 방식으로 렌더링된 요소(포탑포의 이미지(503))를 구현하는 가상 액세서리(태블릿(106))의 예가 도시된다. 이미지(503)는 그것이 게임플레이 영역에서의 물리적 차량들(104)과 상호작용하게 보이도록 이동하고 애니메이션화될 수 있는데; 예를 들어, 이미지가 물리적 차량(104)에 발사하게 보이도록 만들어지고, 및 물리적 차량(104)은 마치 그것이 피격된 것처럼 반응하도록 만들어질 수 있다. 이들 행동들 및 상호작용들은 또한 도 5에 도시된 바와 같이, 가상 환경을 반영하며, 여기서 포탑(501)은 차량(104)의 가상 표현(502)에 발사하고 있다. 다양한 실시예들에서, 액세서리들(105, 106)은 동작을 위해 사람 사용자를 의존할 필요는 없으나 호스트 디바이스(108) 상에서 및/또는 다른 곳에서 구동하는 인공 지능 소프트웨어의 제어 하에서 작동할 수 있다.
사용자들(109)의 수 및 AI-제어 상대들의 수가 증가함에 따라, 호스트 디바이스(108)에 대한 성능 요구들이 유사하게 증가한다는 것이 해당 기술분야의 통상의 기술자에 의해 인식될 수 있다. 에이전트들(104)의 수 및 호스트 디바이스(108)의 역량에 따라, 컴퓨터 요건들의 증가들은 예를 들어, 게임 성능에 영향을 줄 수 있다. 본 발명의 적어도 일 실시예에서, 시스템은 분산 환경에서 구현되며, 여기서, 예를 들어, 호스트 디바이스(108)는 그것이 연결되어 로직의 실행을 지원할 수 있는 임의의 수의 디바이스들에 그것의 상기 로직의 부분들을 분산하는 역량을 가진다. 이들의 예들은 스마트폰들, 태블릿 컴퓨터들, 랩탑들, 게임 콘솔들, 및/또는 기타를 포함하나, 또한 그것에 할당되는 로직을 구동하기 위해 필요한 지원을 제공할 수 있는 임의의 적합한 디바이스들일 수 있다. 적어도 일 실시예에서, 예를 들어, 운영 시스템(100)과 연관된 몇몇 프로세싱 태스크들은 하나 이상의 컨트롤러들(101D 내지 101H)에 분산될 수 있다.
분산이 계속 지역적으로 남을 필요는 없고; 적어도 일 실시예에서; 로직은 예를 들어, 하나 이상의 원거리에 위치된 서버들에 분산될 수 있다. 호스트 디바이스(108)의 구조를 위한 모듈 설계는 로직의 편리한 분산을 위해 그 자신을 제공할 수 있고, 호스트 디바이스(108)로부터 오프로드되는 로직 프로세스들의 유형은 기능 또는 프로세스의 하나의 특정한 유형일 필요는 없다. 적어도 일 실시예에서, 예를 들어, 로직의 분산은 컴퓨터 및 메모리 요구에 따라 우선순위화될 수 있고, 따라서 그러한 대부분의 부담이 큰 호스트 디바이스(108)의 자원들은 다른 곳에 먼저 할당되어야 한다.
컨트롤러들(101D 내지 101H)과 및/또는 컨트롤러들 간 통신을 위해 채용되는 무선 인터페이스가 사용자(109)의 제어 하의 에이전트들(104A 내지 104F)에 연결하는데 사용되는 인터페이스와 동일한 필요는 없다. 예를 들어, 호스트 디바이스(108)가 와이-파이(Wi-Fi)를 통해 컨트롤러들(101D 내지 101H)과 통신하는 한편, 호스트 디바이스(108)가 블루투스(Bluetooth)를 통해 에이전트들(104A 내지 104F)과 통신하는 것이 가능하다. 그러한 경우, 호스트 디바이스(108)는 고-전력 프로토콜(와이-파이와 같은) 및 저-전력 프로토콜(블루투스와 같은) 사이의 브릿지로서 역할할 수 있다. 그러한 접근의 이점은 호스트 디바이스(108)를 통해 사용자들(109)에 의해 제어되거나 호스트 디바이스(108)에 의해 직접 제어되는 차량들(104)(AI 제어 하의 차량들(104J)의 경우에서)이 제한된 예비 전력을 갖는 인스턴스들에서 인식될 수 있다.
특정한 블루투스 저 에너지(BTLE 또는 BLE) 또는 유사한 유능한 무선 프로토콜에서, 블루투스의 사용에 의해 부여되는 다른 혜택은 에이전트들(104)이 유사하게 이네이블된 BTLE/무선 디바이스들과 통신하기 위해 무선 프로토콜을 사용할 수 있다는 것이다. 일 실시예에서, 예를 들어, 특정한 차량(104) 또는 능동 스마트 액세서리(105)의 제어를 취하기 원하는 사용자(109)는 원하는 차량(104)에 근접하여 의도된 컨트롤러(101)(예컨대, BTLE-장착 스마트 폰)를 가져올 수 있다. 다른 BTLE-가능 디바이스에 대한 근접 또는 상대 거리를 결정하는 BTLE 역량의 영향력을 발휘하여, 사용자(109)는 거리의 임계 범위 내에 두 개의 BTLE-장착 디바이스들을 가져올 수 있다. 적어도 일 실시예에서, 이것은 사용자(109)에게 플레이를 위한 선택 차량(104)의 옵션을 제시하면서, 스마트폰(예컨대, 101F) 및 차량(104) 사이의 데이터 교환을 유도할 수 있다. 선택은 그 후 차량(104) 및 사용자(109)의 스마트폰(101) 사이의 한 쌍을 표시하여 호스트 디바이스(108)에 전달되며, 이제 차량(104)의 제어 디바이스로서 지정된다.
다양한 실시예들에서, BTLE 데이터는 차량들(104) 사이에서 교환하고/하거나 유사하게 무선-이네이블된 에이전트들이 다른 방법들로 사용될 수 있다. 예를 들어, 사용자들 또는 관측자들은 게임 플레이, 전체 수명 사용, 및/또는 이력 달성들에 관한 에이전트(104)의 상황에 대한 정보를 수신할 수 있고/있거나, 그들은 진단들을 수행할 수 있거나 장치를 커스터마이징할 수 있다.
상기 설명된 바와 같이, 컨트롤러들(101D 내지 101H)은 임의의 적합한 디바이스들을 사용하여 구현될 수 있다. 다시, 무선 게임패드들 또는 조이스틱들과 같은, 덜 복잡한 컨트롤러들(101J, 101K)이 사용될 수 있다. 호스트 디바이스(108)와의 직접 통신을 지원하는 무선 통신 모듈이 장착되지 않은 게임패드 또는 조이스틱(101J, 101K)이 사용되는 인스턴스들에서, 호스트 디바이스(108)에의 연결은 게임 콘솔(101B) 또는 다른 중개자를 통해, 또는 호스트 디바이스(108) 상의 적절한 포트에 플러깅하는 동글(dongle)(미도시)의 사용을 통해 달성될 수 있다. 그러한 동글은 컨트롤러(101)에 무선으로 연결하고 그것이 플러깅되는 포트를 통해 통신들을 전달한다. 동글의 대안적인 실시예들은 컨트롤러(101)와 호환되는 무선 프로토콜 및 호스트 디바이스(108)와 호환되는 무선 프로토콜 사이의 브릿지를 구현하는 장치들을 포함할 수 있다.
사용자들(109)의 명령들을 호스트 디바이스(108)를 통해 차량들(104B 내지 104F)로 전달할 뿐 아니라, 컨트롤러들(101D 내지 101H)은 또한 게임의 현재 상태를 반영하는 호스트 디바이스(108)로부터의 업데이트들을 수신할 수 있다. 적어도 일 실시예에서, 몇몇 또는 모든 컨트롤러들(101D 내지 101H)에는 그러한 수신된 상태 정보에 기초하여 플레이 경험을 향상할 수 있기 위해, 하나 이상의 출력 디바이스들(디스플레이, 스피커, 햅틱 출력 메커니즘들, 및/또는 기타와 같은)이 장착될 수 있다. 그러한 향상들은 현실 감각을 증가시키거나 그외 사용자(109)에게 보이지 않는 세부사항들을 제공하기 위해 게임 트랙 상의 동작을 표시하고/하거나 그러한 동작을 증가시키는 예를 들어, 렌더링들, 햅틱 출력(예컨대, 진동) 및/또는 오디오를 포함할 수 있다.
적어도 일 실시예에서, 몇몇 또는 모든 컨트롤러들(101D 내지 101H)을 통해 사용자들(109)에게 제시되는 시각, 햅틱, 및/또는 오디오 정보는 각각의 디바이스에 대해 특유할 수 있다. 다양한 에이전트들(104)은 임의의 주어진 시간에서 상이한 상태들에 있을 수 있고(예를 들어, 위치, 속도, 상황, 동작, 및 기타에 관하여); 또한, 단일 에이전트(104)를 제어하는 다수의 사용자들(109)의 경우에서, 사용자 역할들 또는 제어는 상이할 수 있다. 그러므로, 각각의 사용자(109)에 제시되는 다양한 큐들(cues) 및 데이터는 에이전트(104)의 현재 상태 및 사용자(109)의 특정한 역할에 맞춰질 수 있다. 예를 들어, 적어도 일 실시예에서, 레이싱 게임은 사용자(109)에게 차량-특정 데이터를 디스플레이하면서 차량(104)의 관점으로 레이싱 코스의 렌더링들을 제시할 수 있다. 하나보다 많은 사용자(109)가 하나의 사용자(109)가 운전자의 역할을 취하는 한편 무기를 작동하는 무기가 장착되는 차량과 같은, 단일 에이전트(104)의 제어를 공유할 수 있는 실시예에서, 컨트롤러들(101)에 송신되는 다양한 형태들의 정보가 상기 에이전트(104)와 연관되는 각각의 사용자(109)에 대한 하나 이상의 측면들에서 다를 수 있다는 것이 적절할 수 있다.
다양한 실시예들에서, 컨트롤러들(101D 내지 101H)의 사용자들은 컨트롤러들(101D 내지 101H)이 호스트 디바이스(108)와 직접(블루투스와 같은 무선 프로토콜을 통해) 통신하도록, 물리적으로 존재할 수 있다. 대안적으로, 컨트롤러들(101D 내지 101H)의 사용자들은 원거리에 위치되고 호스트 네트워크(네트워크(107)와 같은)를 통해 연결될 수 있다. 컨트롤러들(101D 내지 101H)은 게임 상황에 관해 다시 호스트 디바이스(108)로부터 보고되는 정보에 의존할 수 있다.
적어도 일 실시예에서, 가상 플레이 환경 및 물리적 플레이 환경의 상태들 간 단단한 결합 및 동등성 유지는 사용자들(109)이 원거리에 위치된 트랙(601) 상의 차량들(104)을 제어하는 것을 가능하게 한다. 그러한 아키텍처는 게임의 가상 표현에 대한 의존을 통해 참여하기 위한 지역적으로 존재하지 않는 사용자들을 허용한다. 적어도 일 실시예에서, 원격 사용자들(109)은 지역 사용자들(109)이 그렇듯 그들의 차량들(104)에 대해 같은 정도의 제어를 가질 수 있고, 그들은 지역 사용자들(109)의 것과 기능적으로 동일한 이벤트들의 뷰를 가질 수 있다.
적어도 일 실시예에서, 관중들은 외부 네트워크 연결을 활용함으로써 원격 위치에서 게임 이벤트들을 참관할 수 있다. 도 1의 예에서, 관중, 또는 관측자(110)는 호스트 디바이스(108)와 셀룰러/인터넷 연결(107)을 통해 통신하는 태블릿(103)을 통해 게임 이벤트들을 참관한다. 물리적 공간에서 발생하는 동작이 가상 환경 내에 실시간으로 반영되기 때문에, 태블릿(103)(또는 게임플레이 활동을 디스플레이하는데 사용되는 임의의 다른 디바이스)은 게임 이벤트들이 물리적 공간에서 일어남에 따라, 리치 렌더링들(rich renderings) 및 사용자들(109), 상황 및 가능한 흥미있는 다른 세부사항들에 관한 추가적인 정보를 관측자(110)에게 제공할 수 있다.
적어도 일 실시예에서, 원격 사용자(109)는(또는 지역 사용자도) 그 또는 그녀가 물리적 에이전트(104)를 제어하기 위해 사용 중인 컨트롤러(101)로부터 독립된 게임을 디스플레이하기 위한 보조 디바이스(미도시)를 추가적으로 사용할 수 있다. 예를 들어, 원격 사용자의 컨트롤러(101)가 작은 스크린을 갖는다면, 제 2 스크린으로서 사용하기 위해 그러한 보조 디바이스를 갖고, 그에 따라 보다 완전한 및 실감형 게임 경험을 제공하는 것이 유용할 수 있다. 예를 들어, 사용자-특정 정보는 하나의 디스플레이(컨트롤러(101) 상의 디스플레이와 같은) 상에 디스플레이될 수 있는 한편, 게임플레이의 시각화는 보조 디스플레이 상에 제시될 수 있다. 모니터로서 독립된 디바이스 또는 디바이스들을 사용하는 것은 가능성 있는 디스플레이 제한들을 완화하고, 콘솔 게이머들이 독립된 스크린상에서 보는 동작을 제어하기 위해 핸드-헬드 게임패드를 사용하는 것에 익숙한 콘솔 게이머들에게 보다 친숙한 경험을 제공할 수 있다.
본 명세서에서 논의되는 예들이 가상 공간에서의 게임플레이의 렌더링 또는 다른 표현에 대한 의존을 설명하지만, 복제된 물리적 트랙 상에서 실시간으로 물리적 공간에서의 게임플레이를 재생산하는 것이 전적으로 가능하다. 동등성이 가상 및 물리 사이에 유지되기 때문에, 원격 사용자(109)는 가상 모델의 상태를 반영하는 것을 통해 게임플레이를 호스팅하는 물리적 트랙(601)을 충분히 매칭하는 물리적 트랙 상에 플레이를 직접 재현할 수 있다. 복제된 물리적 트랙에 대한 컨트롤러 및 호스트 디바이스(108) 사이의 무선 통신은 복제된 트랙 상의 차량들이 동작을 복제하는(또는 적어도 근사화하는) 방식으로 이동 및 행동하게 하는데 사용될 수 있다.
호스트 디바이스(108) 및/또는 다른 구성요소들은 추가 기능을 제공할 수 있다. 예를 들어, 하나 이상의 컨트롤러(들)(101)는 게임에서 발생하는 이벤트들과 관련된 추가 정보를 제공할 수 있고/있거나, 추가적인 게임플레이에 대한 직접 플랫폼으로 역할할 수 있다. 그러한 디바이스는 예를 들어:
● 터치, 버튼 제어, 기본 방향들 또는 디바이스 기울기/가속에 관한 배향, 및/또는 임의의 다른 적합한 사용자 입력에 반응할 수 있는 사용자 인터페이스;
● 디스플레이 스크린;
● 스피커들 및 마이크로폰과 같은 하나 이상의 오디오 구성요소들을 포함하여, 원하는 정도의 상호작용을 제공하기 위한 임의의 적합한 구성요소들을 가질 수 있다.
해당 기술분야의 통상의 기술자는 상기 리스트가 대표적인 것이고 완전하지 않다는 것을 인식할 것이다.
그러한 향상들 중 하나의 세트는 비-동작가능한 정보로 총칭될 수 있다. 예를 들어, 이들은 오디오, 비디오, 및/또는 햅틱 출력을, 별도로 또는 임의의 적합한 조합으로 포함한다. 출력의 특정 유형들은 예를 들어, 사운드 효과들, 음악, 진동들, 이미지들, 애니메이션들, 필름 클립들, 및/또는 기타를 포함할 수 있다. 이들 중 임의의 유형은 현실 감각을 개선하기 위해 또는 그외 게임 경험의 감각 측면들을 풍부하게 하기 위해, 단독으로 또는 임의의 적합한 조합으로 사용될 수 있다. 대안적으로, 이들 향상들은 차 성능 데이터, 시간에 따른 레이서 랭킹들, 경쟁 순위표, 및/또는 그외 다른 데이터와 같은 게임 및/또는 그것의 사용자들(109)의 측면들에 관한 요약 또는 추가 정보를 제공하는 데이터의 형태를 취할 수 있다.
적어도 일 실시예에서, 스마트폰들 및 태블릿들과 같은 고도의 상호작용 게임 컨트롤러들(101)은 이들 디바이스들이 게임 동안 또는 게임플레이 이외인 것과 관계없이, 그것 내에서 작동하는 게임 또는 에이전트들의 측면들에 대한 수정들을 허용하고/하거나, 물리적 환경에서 발생하는 직접 동작 이외의 플레이 시나리오들을 생성할 수 있는 제어 및 연결 역량들의 영향력을 발휘함으로써 게임 경험에 대한 개선을 제공하는데 사용될 수 있다. 예를 들어, 레이싱 게임의 맥락에서, 차량(104)은 물리적 레이스트랙 상의 급유소(pit stop)에 도착할 수 있고; 게임플레이는 그 후 사용자(109)가 종래 비디오 게임 형식과 보다 유사한 전적으로 디지털 방식의 맥락에서 피트 크루(pit crew)의 멤버로서 차량(104)을 정비하는 과제에 직면한 경우 컨트롤러(101)로 전환될 수 있다. 다른 예로서, 차량(104)은 플레이 세트 상에 위치되는 빌딩과 같은, 물리적 공간에서의 특정한 지점으로 구동할 수 있고, 이 지점에서 게임플레이는 차량(104) 운전자의 또는 팀의 행위들이 디지털 방식으로 렌더링된 환경에서의 빌딩 내부에서 계속되는 경우 게임 컨트롤러 상의 디스플레이로 전환된다. 그러한 예들은 게임플레이가 물리적 플레이 환경 및 디지털 플레이 환경 사이를 균일하게 전환할 수 있는 시나리오들을 설명한다. 디지털 환경은 컨트롤러(101) 및/또는 호스트 디바이스(108)와 통신하는 독립된 디스플레이 콘솔(미도시)에 의해 구현되는 컨트롤러(101) 및/또는 고도의 상호작용 컨트롤러(101)에 의해 지원될 수 있다. 그러한 시나리오들에서, 전체 시스템에 대한 전통적인 비디오 게임의 식으로 순전한 디지털 공간에서 발생하는 게임디스플레이의 부분들 또는 구획들의 통합은 경험 중 이들 부분들이 반드시 물리적 경기장으로부터 연결해제되거나 또는 그것들에 영향을 주지 않는 것을 의미하지 않는다. 물리적 차량(104)이 급유소와 같은, 플레이의 디지털 부분에 대한 접근을 제공하는 위치로 구동하게 하는 사용자(109)의 예를 고려하면, 사용자(109)는 더 이상 능동적으로 물리적 차량(104)을 제어할 수 없으나, 디지털 공간은 차량(104)을 장착 또는 수리할 기회들을 제공하고 그렇게 함으로써 사용자(109)가 그것의 제어를 재개하면 차량(104)의 성능에 영향을 미칠 수 있다. 다른 예들은 레이스 코스 상의 도개교와 같은 물리적 액세서리들의 제어를 제공하는 순전한 디지털 환경으로 유사하게 들어가는 사용자(109)를 포함할 수 있고, 이는 사용자들(109)이 순전한 디지털 공간 내로부터 물리적 환경에서의 차량들에 대한 트랙 섹션(602)을 개폐하는 것을 가능하게 한다. 이와 유사하게, 그러한 제어는 또한 물리적 플레이 환경에서 플레이되는 안드로이드- 또는 iOS-기반 디바이스에 의해 호스팅되는 것들과 같은, 가상 액세서리들(106)에 대해 제공될 수 있고, 이는 물리적 에이전트들(104)과 상호작용하고/하거나 그들의 행동에 영향을 미친다.
본 발명이 경쟁하는 레이싱 게임으로서 구현되는 적어도 일 실시예에서, 컨트롤러(101)는 차량(104)의 속도 및 조종장치를 조작하기 위한 기능을 제공할 수 있다. 그러나, 컨트롤러(101)로서 스마트폰 또는 유사하게 유능한 디바이스의 역량을 보다 더 활용하는 것은 보다 폭넓은 게임 제어들을 가능하게 할 수 있다. 예를 들어, "데스 레이스(death race)" 시나리오에서, 차량들(104)은 경쟁하는 차량들(104)로 향해질 수 있는 무기들이 장착될 수 있다. 그러한 실시예에서, 고도의 상호작용 컨트롤러(101)는 기본 차량 속도 및 조종장치 이상의 기능들을 지원하는데 사용될 수 있다. 예를 들어 구동가능한 표면(601) 상에서 레이싱하는 모든 차량들(104)의 능동 표현 중에서 타깃 차량(104)을 선택하는 것 또는 차량(104) 상에 장착되는 무기들을 조준하는 것과 같은 부가적인 기능들이 제공될 수 있다.
상기 언급된 바와 같이, 적어도 일 실시예에서, 다수의 사용자들(109)은 게임에서 단일 에이전트(104)를 제어할 수 있다. 예를 들어, 레이싱 게임 실시예에서, 세 사용자들(109)은 한 사용자(109)가 조종장치 및 속도 제어를 제공 중이고, 다른 사용자(109)가 전방 대포를 조준 및 발사하며, 세 번째 사용자(109)가 측방 대포를 작동하는 단일 차량(104)을 제어할 수 있다. 그러한 시나리오에서, 컨트롤러들(101)은 각각의 사용자(109)에 의해 충족되는 역할에 맞춰지는 정보를 제공한다. 예를 들어, 차량(104)을 구동하는 사용자(109)는 전형적인 레이싱 게임의 그것들과 유사한 디스플레이 정보 및 제어 기법들을 발견할 수 있는 한편, 대포들을 작동하는 사용자들(109)은 디스플레이된 관점이 차량(104) 상의 위치로부터인 것이고, 물리적 플레이 환경에서의 그들의 실제 위치들에 관한 궤도들 상의 및 위치들의 경쟁하는 차량들(104) 및 트랙 요소들의 가상 표현들을 포함하는 물리적 플레이 환경의 렌더링된 뷰를 볼 수 있다.
이러한 예에서 무기들을 작동하는 사용자들(109)에 대해, 스마트 디바이스가 제공하는 결과적엔 제어 및 상호작용 경험은 1인칭 슈팅 게임과 유사할 수 있다.
대포들은 그들 자신의 물리적 차량들(104) 상의 임의의 물리적 구조 또는 요소에 의해 표현될 필요는 없으며(그러나 표현될 수 있으며); 오히려, 그것들은 그러한 물리적 구조를 가지는 것 대신(또는 외에) 가상 환경에서 표현될 수 있다. 적어도 일 실시예에서, 대포가 발포될 때, 그러한 발포의 렌더링은 가상 환경에 제시될 수 있고, 선택적으로 물리적 차량들(104)은 그러한 무기들 활성화의 몇몇 시각적 및/또는 청각적 표시들(섬광등들, 물리적 대포 총열들의 이동, 사운드들, 및/또는 기타)을 제공할 수 있다. 발포의 타겟(예컨대, 다른 차량(104))은 예를 들어 그것의 코스를 변경하는 것, 뒤집는 것, 불능으로 되는 것, 및/또는 기타에 의해, 마치 적중하는 것처럼 반응할 수 있으며; 시각적인 피드백은 예를 들어 그것을 마치 그것이 타오르거나 또는 그외 불능인 것처럼 보이게 만드는 타깃 방출 광들에 의해, 가상 및/또는 물리적 환경들에서 제공될 수 있다. LED들 또는 다른 시각적 및/또는 청각적 구성요소들은 기계 대포의 소음을 재현하는 사운드들 및 포섬광을 제공하기 위해 차량들(104) 상에 설치될 수 있으며, 그러한 출력은 가상 공간에서의 대응하는 대포의 발사와 동시에 발생하게 할 수 있다.
적어도 일 실시예에서, 차량들(104)은 물리적 공간에서의 (가장된) 손상을 보이도록 설계될 수 있다. 예를 들어, LED는 차량(104)이 손상을 입고 있는 것을 표시할 수 있거나, LED 배열의 색상 변화는 차량(104)의 현재 손상 상황을 표시할 수 있다. 적어도 일 실시예에서, 보다 복잡한 접근들이 무기 공격들, 충격들 또는 다른 수단을 통해서와 관계없이 차량(104)에 초래된 손상을 모사 또는 가장하는데 사용될 수 있다. 이들은 트리거될 때, 차량(104) 상에서 동작하는 충돌 또는 폭발력의 결과일 수 있는 것과 같은 운동 에너지를 부여하는 메커니즘들 또는 차량(104)으로부터 서서히 줄어드는 부분들을 포함할 수 있다. 적어도 일 실시예에서, 차량들(104)은 예를 들어 펑크 난 타이어, 손상된 조종장치 또는 엔진 구성요소들, 또는 기타를 가장하기 위해, 그것들의 행동을 변경함으로써 가장된 손상을 보인다.
물리적 및 가상 환경들 간 양-방향 작용
적어도 일 실시예에서, 본 발명의 시스템은 물리적 및 가상 환경들 간 양-방향 작용을 허용하기 위해, 낮은 레벨로 이벤트들을 조화시킴으로써 가상 및 물리적 공간에서 동시에 발생하는 게임 공간에서의 동등성을 유지한다. 이제 도 2를 참조하면, 물리적 공간 및 가상 공간 양자에서의 이벤트들 및 기능들의 그러한 통합의 예가 도시된다. 이 예에서, 모바일 에이전트들이 물리적 공간에서 경쟁하는 차량들이고; 또한 차량들에는 가상 무기들이 장착되는 레이싱 게임이 구현된다.
도면은 물리적 이벤트들에 영향을 주는 가상 이벤트들 및 그 반대를 수반하는 일련의 이벤트들을 도시한다. 차들이 물리적 코스 상에서 레이싱하는 동안, 기지국은 실시간으로 레이스 상태의 가상 표현을 유지하며, 따라서 이동하는 차량들의 위치, 속도, 가속도, 코스 및 그외 다른 계량 특성이 물리적 세계의 변화 상태를 반영하는 메모리에서의 재현에서 계속하여 추적된다. 그러한 시나리오에서, 차량들의 가상 표현들은 물리적 차량들 상에 존재하지 않는 많은 기능들 또는 특성들을 가질 수 있다. 하나의 예는 사용자(109)가 가상 공간에서의 다른 차량들로 발사하는데 사용할 수 있는 대포이나, 이는 물리적 공간에는 존재하지 않는다. 가상 상태들 및 물리적 상태들이 단단히 결합되기 때문에, 하나에서 발생하는 이벤트들은 다른 하나의 상태에 영향을 미칠 수 있다.
도 2의 예에서 묘사되는 일련의 이벤트들은 다음과 같이 일어난다. 차량(104K)은 차량 표현(204K)에 의해 가상 환경(202)에 표현된다. 가상 환경(202)에서, 차량 표현(204K)은 차량 표현(204L)으로 가상의 대포를 발사하고, 이는 물리적 환경(201)에서의 차량(104L)을 표현한다. 물리적 환경(201)에서의 차량(104K)이 발사체를 발포하는 실제 대포를 갖지 않을 수 있으나, 게임을 작동하는 호스트 디바이스(108)는 차량 표현들(204K, 204L)의 상대 위치들이 주어지면, 대포의 배향뿐만 아니라, 약제들이 도면의 위치(2)에서의 차량 표현(204L)에 대한 공격을 산출할 수 있다는 것을 결정할 수 있다. 호스트 디바이스(108)는 또한 공격 및 충돌 시 부여되는 결과적인 가상 에너지가 가상 환경(202)에서 그것의 코스로부터 타깃 차량 표현(204L)을 밀어낸다는 것을 결정한다.
상기 설명된 바와 같이, 적어도 일 실시예에서 시스템은 가상 및 물리적 환경들 간 동등성을 유지한다. 따라서, 차량 표현(204L) 상의 상기-설명된 무기 공격에 반응하여, 호스트 디바이스(108)의 제어 알고리즘들은 물리적 환경(201)에서의 차량 표현(204L)의 가상 이동을 재현한다. 따라서, 물리적 차량(104L)은 가상 환경(202)에서의 차량 표현(204L)의 이동을 모방하는 방식으로 이동하기 위해 인위적으로 추진된다. 도 2의 예에서, 위치(2)의 가상 무기에 의해 피격된, 물리적 차량(104L)은 물리적 공간에서의 그것의 현재 코스로부터 인위적으로 편향된다. 이것은 위치(3)의 다른 차량(104M)과 물리적 공간에서의 충돌을 야기한다.
위치(3)에서의 물리적 차량들(104L 및 104M) 간 충돌은 위치(4)에 도시된 바와 같이 그것의 원래 코스 벡터에서 차량(104M)을 물리적으로 밀어내는 실제 에너지의 전달을 수반한다. 물리적 환경(201)에서 코스의 이러한 변화를 검출 시, 호스트 디바이스(108)는 가상 환경(202)을 차량 표현들(204L 및 204M)이 물리적 공간(201)에서의 차량들(104L 및 104M)의 움직임을 계속하여 반영하도록, 상응하여 조정되게 한다. 따라서, 차량 표현(204M)은 동일한 방식으로 코스를 이탈하게 만들어진다.
이러한 방식으로, 교차하는 상태들에서의 일련의 이벤트들이 일어나고, 여기서 가상 환경(202)에서의 발생은 물리적 환경(201)에서의 결과들을 가지며, 물리적 환경(201)에서의 결과적인 효과들은 결과적으로 가상 환경(202)에서의 이벤트들의 순서 또는 역학 관계에 영향을 준다. 상기-설명된 시나리오는 본 발명의 시스템에서의 물리적 및 가상 환경들(201, 202)의 단단히 결합된 특성을 예시한다. 가상 구성요소들을 물리적 구성요소들과 단지 연결하는 것 대신, 본 발명의 다양한 실시예들은 정확히 공생이고 양-방향이며, 따라서 하나의 상태(환경)에서 발생하는 이벤트들 및 변화들은 다른 상태에서 일어나는 이벤트들 및 변화들에 영향을 줄 수 있다.
적어도 일 실시예에서, 본 발명의 시스템은 상태들에 걸쳐 상호 영향의 정확한 균형을 유지할 필요는 없으나, 또한 선호되는 지배적인 상태를 유지하도록 설정될 수 있다. 예를 들어, 적어도 일 실시예에서, 시스템은 가상 환경(202)이 물리적 환경(201)을 지배하고, 물리적 환경(201)이 가상 환경(202)에서 발생하는 이벤트들을 단순히 반영하도록 구성될 수 있고; 적어도 일 실시예에서, 반대 구성이 구현될 수 있다. 임의의 적절한 우선순위 기법이 물리적 및 가상 환경(201, 202) 사이에서 확립될 수 있다.
적어도 일 실시예에서, 본 발명의 시스템은 외부 서버 네트워크들(미도시)에 연결하는 역량을 가지는 호스트 디바이스(108) 및/또는 제어기(101)의 사용을 통한 이점들을 추가로 제공하고, 따라서 개선된 사용자 경험을 제공한다. 적어도 일 실시예에서, 제어기(들)(101)를 통해 하나 이상의 에이전트들(104)을 제어하는 사용자(109)는 게임에서 사용하기 위해 가상 제품들을 다운로드할 수 있고/있거나, 에이전트들 상에서 활성인 LED들에 대한 광 패턴 시퀀스들 또는 사운드 효과들과 같은 디지털 컨텐츠를 다운로드할 수 있다. 임의의 적합한 가상 액세서리들 또는 디지털 컨텐츠는 애플리케이션들 및/또는 자원들의 다운로딩과 같은 임의의 적합한 e-커머스 메커니즘을 통해 이용가능하게 만들어질 수 있다. 그러한 컨텐츠는 사용자들이 그들의 경험들에 맞추거나 또는 개선하는 것을 가능하게 하는 다른 수단을 통한 설치 또는 원격 서버들을 통한 다운로드를 위해 이용가능하게 만들어질 수 있다. 적어도 일 실시예에서, 게임 경험의 다양한 측면들 중 임의의 측면은 예를 들어, AI-제어 차량들을 위한 개인들, 새로운 해설자들, 기존의 레이스 코스들에 대한 새로운 시나리오들, 가상 공간에서 발생하는 이벤트들을 렌더링하기 위한 컨텐츠 기법들, 및/또는 차량들의 커스터마이제이션 및 향상들을 포함하여, 그러한 방법들을 통해 수정되거나 증가될 수 있다.
플레이어 컨트롤러들(101) 및 에이전트들(104)과의 통신 외에, 적어도 일 실시예에서 호스트 디바이스(108)는 게임의 작동 프레임워크와 사용자들(109)로부터의 명령들을 조정하고, 또한 물리적 에이전트들(104)을 수반하는 물리적 환경(201)에서 발생하는 이벤트들과 가상 환경(202)에서 발생하는 이벤트들을 조정한다.
이제 도 3을 참조하면, 적어도 일 실시예에 따라 호스트 디바이스(108)(기지국)의 역할의 몇몇 측면들을 도시하고, 차량들(104)을 제어하는(컨트롤러들(101)을 사용하여) 사용자들(109) 및 그들 자신의 차량들(104) 사이에 구현될 수 있는 구성요소들 및 구조들을 예시하는, 블록도가 도시된다. 도 3은 또한 적어도 일 실시예에서, 사용자들(109)이 다른 사용자들(109)을 이용하는, 또는 호스트 디바이스(108) 상에서 구동하는 인공 지능(AI; artificial intelligence) 플래너들(305A, 305B)에 의해 보조되는, 또는 양자의 차량(104)을 제어하도록 조정할 수 있다. 도면에 도시된 예에서, 네 명의 사용자들(109M 내지 109Q)은 네 개의 에이전트들(세 개의 차량들(104M, 104N, 104P) 및 하나의 스마트 액세서리(105))을 제어하기 위해 컨트롤러들(101M 내지 101Q)을 사용한다. 두 AI 플래너들(305A, 305B)이 또한 제공된다. 컨트롤러들(101) 및 에이전트들(104M, 104N, 104P, 105) 사이에는 호스트 디바이스(108)(기지국)의 프레임워크 내에서 작동하는 다수의 구조들이 있다. 화살표들은 정보 흐름의 방향을 표시한다.
예시적인 목적들을 위해, 및 명확성을 위해, 도 3은 반드시 모든 구조들 또는 정보의 완전한 흐름을 설명할 필요가 있는 것이 아니라, 단지 차량 제어에 관련된 정보를 강조한다. 예를 들어, 정보는 컨트롤러들(101)로부터 필터들(301)에 한 방향으로 이동하는 것으로서 도시된다. 해당 기술분야의 통상의 기술자는 본 발명과 관련되어 사용되는 제어 메커니즘들이 또한 호스트 디바이스(108)로부터 예를 들어, 레이스 성능 보고, 사운드들, 이미지들, 애니메이션들, 및/또는 다른 비-제어 정보에 관한 다양한 다른 구성요소들에 송신되는 데이터를 포함하여, 도 3에 도시되지 않은 추가 데이터의 전달을 포함할 수 있다는 것을 인식할 것이다.
적어도 일 실시예에서, 사용자(109)로부터 발생하는 차량 명령들이 컨트롤러(101)를 통해 필터(301)로 송신되고; 필터(301)는 사용자(109)의 제어 또는 게임의 다른 측면 하의 차량(104)에 관한 현재 상황들에 따라 컨트롤러(101)로부터 수신되는 지시들을 개량할 수 있다. 예를 들어, 적어도 일 실시예에서, 속도 필터(301)가 구현될 수 있다. 보통 상황들 하에서, 차량(104)은 그것이 이동할 수 있는 속도들의 허용되는 범위를 가질 수 있다. 속도 필터(301)는 예를 들어 차량(104)이 게임플레이의 일부로서 그것에 (가상으로) 손상을 입었다면, 이 범위의 상단을 제거함으로써 이 범위를 감소시킬 수 있다. 필터들(301)의 다른 유형들은 또한 각각의 차량(104)이 그것의 성능의 상이한 양상들에 영향을 주는 다수의 상이한 필터들(104)을 가질 수 있고; 필터들(104)은 속도, 차선 변화율, 및/또는 장비 사용(예컨대, 내장 무기의 탄약), 및/또는 기타와 같은 파라미터들을 제어하거나 수정할 수 있도록, 제공될 수 있다.
적어도 일 실시예에서, 특정 에이전트들(104M, 104N, 104P, 105)과 관련된 입력을 직접 송신할 수 있는 효과 시스템(302)이 제공된다. 효과 시스템(302)은 차량 행동에 작용하는 폭넓은 역량을 가지며, 전역적 행위자로서 작동한다. 그것은 몇몇 방법들 중 임의의 방법으로 그렇게 할 수 있다. 다양한 실시예들에서, 효과 시스템(302)은 서로 차량(104)의 상호작용에 대한 가능성 있는 결과들, 뿐만 아니라 하나 이상의 차량들(104)의 성능에 영향을 미칠 수 있는 외부 인자들을 가장한다.
적어도 일 실시예에서, 규칙 세트들 및 시나리오들을 포함하고, 일반적으로 플레이를 인도하는, 게임 엔진(303)이 제공된다. 게임 엔진(303)은 보통 트리거 효과들의, 효과 시스템(302)에 단단하게 결합된다. 또한, 효과 시스템(302)은 그것의 부분 상에서 동작들을 개시한 및 게임 엔진(303)에 의해 결정되는 바와 같은 이벤트들의 진행에 대한 결과를 야기할 수 있는 이벤트들을 게임 엔진(303)에 알릴 수 있다. 명확성의 목적들을 위해, 도 3은 사용자들(109)을 효과 시스템(302)에 연결하는 라인들을 생략하지만; 그러나, 해당 기술분야의 통상의 기술자는 사용자들(109)에 의해 취해지는 동작들이 직접 또는 간접적으로 효과 시스템(302)을 트리거할 수 있다는 것을 인식할 것이다.
수정된 레이싱 시나리오에서 사용자(109)에 의해 직접 취해지는 동작의 일 예는 다음과 같다:적어도 일 실시예에서, 사용자(109)는 그 또는 그녀의 차량(104) 뒤에 가상 유막을 배치할 수 있다(보다 정확하게, 유막이 물리적 공간에 존재하지 않기 때문에, 그것은 가상 환경(202)에서의 차량 표현(204) 뒤에 실제로 배치된다). 가상 유막을 피하는 트레일링 차량(trailing vehicle)(104)은 제어의 (일시적일 수 있는) 손실을 경험할 수 있고; 이것은 예를 들어, 조종 또는 제동하기 위한 트레일링 차량(104)을 제어하는 사용자(109)의 능력을 (일시적으로) 감소 또는 제거하는 효과 시스템(302)에 의해 구현된다.
효과 시스템(302)에 대한 간접 트리거의 예는 다음과 같다: 적어도 일 실시예에서, 사용자(109)가 전형적인 자동 레이싱 규칙들 하에서, 게임 엔진(303)이 효과 시스템(302)에 옐로 플래그 조건들이 시행되는 것을 표시하도록, 그의 차량(104) 또는 다른 사용자(109)의 차량에 크래쉬(crash)하면, 효과 시스템(302)은 옐로 플래그 조건들의 파라미터들에 따라 속도 제한들을 개시할 수 있다. 그러한 제한들은 예를 들어, 게임 엔진(303)이 트랙이 클리어된 후 옐로우 플래그 조건들을 순차적으로 해제할 때까지, 그대로 남아있을 수 있다.
적어도 일 실시예에서, 도 3에 도시된 바와 같이, 명령 정보가 필터(301)를 너머 전달되면, 중재기(304)는 차량들(104) 또는 액세서리들(105)에 관계없이, 에이전트들에 직접 지시들을 효과적으로 발행한다. 적어도 일 실시예에서, 중재기(304)는 그것이 연결되는 에이전트 또는 에이전트들(104M, 104N, 104P, 105)에의 직접 통신들을 최적화한다. 또한, 몇몇 경우들에서, 중재기(304)는 사용자 명령들을 조정 또는 변경하는데 있어서의 몇몇 필터(301)의 역할을 공유할 수 있다.
예를 들어, 중재기(304)는 사용자(109)로부터 들어오는 리던던트 명령들을 감소 또는 제거하는 역할을 할 수 있다. 중재기(304)는 또한 차량(104N)에 대해 도시되는 것과 같은 상황들에서 가치가 클 수 있고, 여기서 두 사용자들(109N, 109P) 및 AI 플래너(305A)는 단일 차량(104N)을 제어하고 있다. 이것은 하나보다 많은 사용자(109)가 차량(104)을 제어하고 있는 상황의 예이다. 다른 예로서, 상기 설명된 바와 같이, 차량(104)에는 차량(104)을 제어하는 하나의 사용자(109) 및 그것의 무기들을 작동하는 제 2 사용자(109)와, 조준하고 발포하는 것을 허용하는 무기들이 장착될 수 있다. 이러한 경우, 중재기(304)는 독립된 사용자들(109)에 의해 요구되는 바와 같이 에이전트(104)에서의 동작(들)을 실행하기 위해 적절한 독립된 명령 세트들을 통합시키고 차례로 배열한다.
다른 실시예에서, 사용자(109)는 AI 플래너(305)가 운전자이고 사용자(109)가 차량(104)의 무기를 작동하거나, 또는 그 반대로 되도록, AI 플래너(305)와 쌍을 이룰 수 있다. 차량(104)을 제어하는 사용자(109)를 보조하기 위해 AI 플래너(305)에 의존하는 역량은 단일 사용자(109)가 그 외 차량(104) 상의 모든 시스템들을 작동하는 역량을 가질 수 있는 상황들에서도 많은 혜택들을 제공한다. 예를 들어, 플래너(305)는 차량(104)의 속도를 제어하기 위한 사용자(109)를 그대로 두면서, 코스 상의 더 느린 상대들 주위를 스마트하게 조종하거나 조종장치를 제공하기 위해 의존될 수 있다. 플래너(305)에 대한 제어의 부분을 지정하는 하나의 이점은 그것이 보다 고령 또는 보다 숙련된 사용자들(109)에 대해 경쟁하는데 필요한 모터 기술들을 가지지 않을 수 있는 초보자들 또는 보다 젊은 경쟁자들에 의한 보다 폭넓은 참여를 가능하게 한다는 것이다. 이러한 방식으로, 플래너(305)는 차량(104)을 제어하고 있는 사용자들(109)에 도움을 제공할 수 있고, 그것은 게임 규칙들 및/또는 사용자(109) 선호에 따라 다수의 상이한 방법들로 그렇게 할 수 있다.
다른 실시예에서, 차량(104)의 조종장치 제어를 취하는 플래너(305)의 예는 플래너(305)가 사용자(109)가 조종장치의 제어를 유지하는 동안 속도를 제어하도록, 반전될 수 있다. 공동으로 제어되는 차량(104)(또는 다른 에이전트)의 보다 개선된 시나리오들에서, 사용자(109)는 오픈 코스 상에서 조종장치 및 제어 속도로 편안할 수 있으나, 복잡한 코스 상의 장애물들을 통과 또는 회피하는 것에 대해 덜 자신할 수 있으며; 따라서 시스템은 능동적 회피를 필요로 하는 상황들 또는 장애물들을 통과하는 것을 직면할 때 플래너(305)의 중재를 유도하도록 구성될 수 있다.
적어도 일 실시예에서, 단일 사용자(109)가 다수의 에이전트들(104)(차량들(104) 및/또는 액세서리들(105)을 포함할 수 있는)을 제어하는 것이 가능할 수 있다. 예를 들어, 사용자(109)는 일련의 다른 에이전트들이 상기 에이전트를 따르도록 구성되는 동안 하나의 에이전트(104)를 제어할 수 있다. 다른 실시예들에서, 사용자(109) 명령들은 그들이 공동으로(예컨대, 모든 변경 방향 또는 속도를 동시에) 반응하도록 다수의 에이전트들(104)에 걸쳐 복제될 수 있다. 보다 복잡한 시나리오에서, 사용자(109)는 에이전트들(104)의 그룹에 상위-레벨 명령들을 제공할 수 있다. 레이싱 게임의 경우, 예를 들어, 그러한 제어 하의 다수의 차량들(104)은 코스에서 멀어지는 다른 사용자의 차량(104)에 크래쉬하는 것과 같이, 사용자(109)의 고-레벨 목표-지향적 방향에 반응할 수 있다. 그러한 명령들에 반응하여, 에이전트들(104)은 타깃 차량을 부분적으로 또는 완전히 둘러싸기 위해 및 코스에서 멀어지는 타깃 차량을 함께 푸시하기 위해 타깃 차량(104) 주위에 그들 자신을 위치시킬 수 있다. 이들 경우들에서, 일제히 동작하는 다수의 에이전트들(104)에 의해 보조를 맞춰 또는 차례로 실행되는 동작들의 세트들이 있을 수 있다.
적어도 일 실시예에서, 차량(104)의 제어가 단일 사용자(109), 단일 AI 플래너(305)에 의해 유지되는지 또는 다수의 사용자들(109) 또는 사용자들(109) 및 플래너들(305)의 조합 사이에 공동으로 보유되는지에 관계없이, 중재기(304)는 차량(104)을 위해 의도되는 독립된 및 가능성 있게 독립적인 명령들을, 그것들 중에서 선택하고/하거나 그것들을 차량(104)에 대한 그 교대로 배열하면서, 조정한다. 행동의 많은 측면들은 차량(104)을 제어하는 AI 플래너(305)에 부여될 수 있다. 예를 들어, 구동 제어 및 전략에 관한 기법들 외에, AI 플래너들(305)은 그들의 일반적인 행동에 작용하는 개인 특성들을 구현할 수 있다. 예를 들어, AI 플래너들(305)은 구동가능한 표면(601)에서 멀어지는 다른 차량들(104)에 힘을 가하는 것을 향해 기울어지는 공격적인 운전자들, 또는 대안적으로, 충돌을 회피하고 대신 다른 사용자들(109)의 회피와 관련된 코스를 찾는 것에 중점을 두는 공격적인 운전자들을 가장할 수 있다. 적어도 일 실시예에서, 그러한 AI 방식들은 구동가능한 표면(601) 상에서 발생하는 특정한 이벤트들과 공동으로 또는 의도된 특유의 배치와 조화하여, 메시지들을 예를 들어, 다른 운전자들을 도발하기 위한 다른 사용자들(109)에 개시할 수 있다.
적어도 일 실시예에서, 보조 제어에 대한 몇몇 역량은 그들 자신의 차량들(104) 상에 존재한다. 예를 들어, 호스트 디바이스(108)의 도움이 없어도, 적어도 일 실시예에서, 차량들(104)은 사용자(109)로부터의 능동적 조종장치를 요구하지 않고 커브들 및 턴들을 통해 구동가능한 표면(601) 상에서 그것들의 상대적인 측면 위치를 유지하는 역량을 가질 수 있다. 이와 유사하게, 차량들(104)은 트랙 식별(예를 들어, 트랙 구획(602) 상의 판독가능한 형태로 부호화되는)의 일부로서 규정되는 속도들에 따라 코스 전체에 걸쳐 그것들의 속도를 조정하는 역량을 가질 수 있다. 또한 구획들(602) 상에 부호화되는 정보의 인식을 통해 위치 측정에 대한 동일한 수단에 의해, 차량들(104)이 그것들이 코스에 남아있을지 또는 그외 정보에 대한 검출의 그것들의 필드 내 그러한 상기 정보의 부재에 의해 코스 상에 남지 않을지를 결정하는 것이 가능하다. 그러한 경우들에서, 적어도 일 실시예에서, 그러한 제어가 구동가능한 표면(601) 상에서 위치 측정될 때 차량(104)의 총 역량들의 서브세트로 제한될 수 있더라도, 사용자(109)가 차량(104)을 제어하는 것이 여전히 가능할 수 있다. 몇몇 실시예들에서, 사용자(109) 제어에 대한 차량(104)의 반응은 종래 원격-제어 차의 반응과 유사할 수 있다.
다른 실시예들에서, 호스트 디바이스(108)는 실제 게임플레이 이외의 다른 방법들로 게임을 제어할 수 있다. 예를 들어, 호스트 디바이스(108)는 소프트웨어에서 정의되는 바와 같이 물리적 환경에서 작동하는 차량들(104)의 다양한 피처들을 제어할 수 있다. 이들 피처들은 예를 들어, 성능 특성들 및 차량 역량들을 포함할 수 있다. 차량-기반 게임의 계속 진행 중인 예에서, 예를 들어, 차량의 가속 프로파일, 최고 속도, 핸들링 및 차량의 성능의 다른 물리적 측면들은 실제 세계에서 그것을 위해 존재하는 물리적 제한들에 의해 좌우되는 대신 소프트웨어로 통제될 수 있다. 적어도 일 실시예에서, 시스템은 그 정의들이 물리적 및 가상 공간들 양자에서 게임플레이의 결과들을 야기하는 방법을 고려한다.
가상 환경에서의 에이전트들 간 차이들
에이전트(104)의 역량들 및 행동의 중요한 측면들을 제어하기 위한 소프트 알고리즘들 능력은 에이전트들(104)에 걸친 상기 역량들 및 행동의 차이들을 동일한 하드웨어로 돌리는 기회를 제공한다. 제조 단순함 및 비용 전망으로부터 하드웨어 설계의 일관성의 이점들을 고려할 때, 동일한 빌딩 에이전트들(104)의 혜택들이 사업적 관점으로부터 불러내어질 수 있다. 본 발명은 소프트웨어-기반 수단을 통해 그 차이들을 제어함으로써 그룹에서의 개개의 에이전트들(104) 사이의 어느 정도의 대조를 부여하는 능력을 제공하는 것에 있어서의 특유의 이점들을 제공하는 한편, 하드웨어의 일관성을 유지하고 그렇게 함으로써 제조 비용을 절감한다.
예를 들어, 본 명세서에 설명되는 바와 같이 레이싱 또는 경쟁하는 구동 환경에서 경쟁하도록 적응되는 차량들(104)인 에이전트들의 맥락에서, 동일한 하드웨어 구성요소들로 차량들(104)을 제조하는 것이 바람직할 수 있고, 이는 차량들(104)이 구동, 행동, 및 반응하는 방법의 차이들을 가능하게 한다. 예를 들어, 하나의 차량(104)은 고 성능 스포츠카와 같이 수행하도록 의도될 수 있는 한편 다른 차량은 좋지 않은 가속 그러나 고 관성을 갖는 대형 트럭 또는 타이트한 선회 반지름을 갖는 경량 소형 차량 등일 수 있다. 그러한 차이들은 상이한 바디들 또는 차대 상에 딱 맞는 커버들에 의해 시각적으로 제시될 수 있거나 제시되지 않을 수 있다(그러나 이는 단지 겉치레에 불과할 수 있고, 적어도 일 실시예에서, 임의의 의미 있는 방법들로 차량의 수행 특성들에 물리적으로 영향을 주지 않는다). 소프트웨어에서, 그러한 특성들은 물리적 에이전트들의 기본 역량들이 동일한 시스템을 구현하기 위해, 용이하게 차량들(104)로 돌려질 수 있는 한편, 차량들(104)은 가상 공간에서의 차량들로 돌려진 특성들에 따라 수행 및 반응한다.
상기 설명된 바와 같이, 물리적 및 가상 환경들(201, 202)의 결합의 공생 특성은 주로 또는 전적으로 가상 환경(202)에서 존재하기 위해 차량들(104)의 의도된 (가장된) 물리적 차이들의 통제하는 역학 관계를 가능하게 한다. 예를 들어, 동일한 중량 및 역량의 두 차량들이 물리적 환경에 제공된다면, 소프트웨어를 통해 돌려지는 바와 같이 그 차량들(104)의 행동은 물리적 세계에서, 질량, 동력, 기동성, 및 기타의 매우 상이한 특성들을 가장할 수 있다. 적어도 일 실시예에서, 본 발명의 시스템은 물리적 환경(201)에서 차량들(104)의 이동 및 행동을 제어하기 위해 가상 환경(202)에서의 차량 표현들(204) 및 그것들의 상호작용들의 물리학들을 사용한다.
예를 들어, 동일한 또는 유사한 물리적 이동성 프로파일들을 가지는 두 차량들(104)은 그것들의 중량, 가속도, 기동 역량들 및 유사한 계량이 물리적 세계에서 서로 동일하거나 비교할 만하도록, 제공될 수 있다. 차량들(104) 간 주요 차이는 가상 환경(202)에서, 하나는 장갑 탱크(느리고 매우 무거운)를 표현하도록 의도되고 다른 것은 세단형 자동차(빠르고 가벼운)을 표현한다는 것이다. 적어도 일 실시예에서, 몇몇 시각적 대조는 대응하는 가상 표현들(204)의 특성들의 차이를 강화하기 위해 물리적 차량들(104)에 대해 이루어질 수 있고; 예를 들어, 차대 상의 바디 커버들은 가상 특성들의 차이를 반영하기 위해 상이한 마킹들, 디자인들, 및/또는 색상들을 가질 수 있다.
이제 도 4를 참조하면, 일 실시예에 따라, 물리적 환경(201)에서의 차량들(104R, 104S) 상의 바디 커버들이 가상 환경(202)에서의 대응하는 차량 표현들(204R, 204S)의 특성들의 차이를 반영하기 위해 사용되고, 그에 따라 물리적 및 가상 환경들(201, 202) 사이의 관계를 강화하는 예가 도시된다. 차량(104S)은 그것을 탱크처럼 보이게 만드는 커버가 주어지는 한편, 차량(104R)은 그것이 세단용 차량처럼 보이게 만들어진다. 적어도 일 실시예에서, 차량 표현들(204R, 204S)은 물리적 차량들(104R, 104S)이 실제로, 질량 및 크기에 있어 비교할 만하다 하더라도, 탱크와 같은 실물 크기의 무거운 장갑 차량이 실물 크기의 자동차보다 몇 배로 클 수 있다는 사실을 반영하고 가장하는 방식으로 서로 상호작용하도록 구성된다. 도 4에 도시된 양 차량들(104R, 104S)이 그것들의 상호작용들의 일관성을 유지하기 위해, 물리적 환경(201)에서 작동할 수 있지만, 충돌 시 통제하는 이동 바디 역학 관계는 가상 환경(202)에서 정의되는 것들이다.
도 4의 예에서, 차량(104R)(세단용 차량을 표현하는)은 그것이 차량(104S)(탱크를 표현하는)과 충돌하게 하는 경로 상에서 고속으로 이동하고 있다. 상기 설명된 바와 같이, 물리적 및 가상 환경들(201, 202)은 서로 단단하게 결합될 수 있다. 두 개의 물리적 차량들(104R, 104S)의 질량 특성들이 동일하거나 거의 유사하기 때문에, 뉴턴 메커닉들은 위치(2)에서의 충돌이 위치(3)에 도시된 바와 같은 결과를 야기할 수 있다는 것을 좌우할 수 있고, 여기서 차량(104S)(탱크를 표현하는)은 밀어내지고 회전되며 차량(104R)(세단용 차량을 표현하는)은 충돌이 차량(104S)로의 에너지 전달을 수반했기 때문에, 비록 감소된 속도이기는 하나, 그것의 프리-크래쉬 헤딩과 유사한 코스 상에서 계속하여 이동한다. 그러나, 적어도 일 실시예에서, 시스템은 가상 환경(202)에서의 두 차량들의 표현들(204R, 204S)로 돌려지는 특성들과 일관성을 유지하며, 따라서 물리적 환경(201)에서의 두 차량들(104R, 104S)의 충돌의 결과들이 가상 환경(202)에서의 충돌의 물리학을 따르도록 인위적으로 만들어진다. 구체적으로, 차량 표현(204S)의 질량이 차량 표현(204R)의 질량보다 상당히 크기 때문에, 차량 표현(204R)(세단용 차량)이 차량 표현(204S)(탱크)에 대한 반응을 효과적으로 살피는 한편, 차량 표현(204S)의 가속도 및 위치에 거의 효과를 미치지 않는, 위치(4)에 도시된 결과가 발생한다. 물리적 환경(201)의 위치(5)에 도시된 바와 같이, 물리적 차량들(104R, 104S)이 대응하는 차량 표현들(204R, 204S)의 궤도를 따르도록 인위적으로 만들어지고, 그에 따라 물리적 공간에 대한 가장을 확장한다.
그 후, 본질적으로, 그러한 급격히 상이한 질량을 갖는 차량 표현들(204)을 가지는, 그러한 두 차량들(104) 사이의 충돌에 있어서, 차량(104R)은 차량 표현(204S)의 관성이 상호작용을 지배하기 때문에 스피드 및 헤딩의 상당히 더 큰 변경을 경험한다. 실제 차량들(104R, 104S) 간 충돌의 실제 물리학들에 따르면, 그 결과는 동일한 충돌일 수 있으며, 세단은 자동차 및 장갑 군용 차량 간 질량 차이들을 고려하면 현실적이지 않을 수 있는 방법으로 탱크를 밀어낸다. 따라서, 적어도 일 실시예에서, 가상 공간에서의 차량들로 돌려지는 차이들을 유지하기 위해, 충돌의 결과들은 가상 환경에서의 상호작용들을 통제하는 물리학 및 소프트웨어에서 정의되는 차량 파라미터들에 의해 좌우된다.
따라서, 적어도 일 실시예에서, 충돌 시 특정 세부사항들 및 이벤트들의 순서는 가상 환경(202)에서의 움직임을 통제하는 알고리즘들에 따라 결정된다. 적어도 일 실시예에서, 일관성은 물리적 및 가상 환경들 사이에서 유지된다. 그러한 일관성을 강행하기 위한 하나의 가능한 접근은 차량들(104)이 차량 표현들(204)이 그러한 것과 같이 동일한(또는 유사한) 방식으로 충돌 이벤트를 통해 이동하게 하기 위해, 가상 환경(202)에서의 충돌의 결과들을 결정하는 알고리즘들이 물리적 환경(201)에서의 차량들(104)의 제어에 직접 작용하는 것을 가능하게 하는 것이다. 적어도 일 실시예에서, 본 발명의 시스템은 가상 환경(202)에서 일어나는 이벤트들 및 물리적 환경(201)에서 일어나는 이벤트들 사이에 원하는 정도의 동등성을 유지하기 위해, 가상 및 물리적 환경들(202, 201) 사이의 우선순위에 관한 프로토콜들을 시행하며; 이러한 방식으로, 본 발명의 시스템은 상기 설명된 바와 같이, 이벤트들의 양-방향 작용을 제공한다.
따라서, 적어도 일 실시예에서, 물리적 환경(201)에서의 차량들(104R, 104S)은 가상 환경(202)에서의 그것들의 상대들과 함께 동시에 반응한다. 그렇게 함으로써 차량들(104R, 104S)은 가상 환경(202)에서 정의되는 파라미터들에 따라 및 가상 환경(202)에서의 그러한 파라미터들에 적용되는 바와 같은 물리학 법칙들에 따라 수행하고 반응한다.
이러한 특정한 예에서, 충돌은 가상 및 실제 환경들(202, 201) 양자에서 발생한다. 가상 환경(202)에서의 차량 표현들(204)에 부과되는 질량 특성들이 물리적 차량들(204)의 질량 특성들에 매칭하지 않기 때문에, 충돌의 결과는 두 환경들에서 상이할 수 있다. 여기서, 작동 프로토콜은 가상 환경(202) 내에서 결정되는 바와 같은 충돌의 물리학에 우선권을 주었고; 물리적 차량들(104)은 그 물리학에 따라 반응하도록 만들어졌다. 그러나, 다른 상황들에서, 물리적 환경(201)의 행동들 및 물리학에 우선권을 주는 것, 및 가상 환경(202)이 그에 따라 조정되게 하는 것이 바람직할 수 있다.
도 4에 도시된 예가 종래 뉴턴 물리학에 대한 가상 파라미터들의 애플리케이션을 설명하지만, 해당 기술분야의 통상의 기술자는 규칙들의 임의의 세트가 충돌 시 가상 바디들의 움직임 또는 그 외 실제 세계의 물리학에 의해 좌우되는 이동의 임의의 다른 측면을 통제하도록 정의될 수 있다. 다른 인스턴스들은 예를 들어, 구동가능한 표면(601)의 대응하는 부분들을 통해 구동하는 물리적 차량들(104)이 관성; 또는 물리적 구동가능한 표면(601)이 평평하게 유지됨에도 불구하고 마치 높아지는 것처럼 차량 속도 및 가속력이 감소되는 경우 가장된 경사들에 따라 조종하거나 정지하고 이동하는 능력을 잃게 하는, 가상 환경(202)의 부분들에서의 마찰이 없는 표면들을 포함할 수 있다. 많은 유형들의 가상의 힘은 인위적으로 도입될 수 있고 단지 실제-세계 물리학에 따라 작용하는 실제 세계의 힘일 수 있는 것과 다르게 차량들(104)의 움직임에 작용할 수 있다. 이러한 방식으로, 본 발명의 시스템은 물리학의 실제-세계 법칙들을 따르지 않으나, 다른 규칙들을 따를 수 있는 행동들을 가장하고 구현할 수 있다.
에러 정정 및 트랙 정보
가상 및 물리적 환경들(202, 201)이 서로를 반영하는 것들로서 작동하도록 의도되는 상황들(즉, 여기서 물리학 및 역학 관계는 항상 동일한 결과들을 각각 산출하고 매칭하는 것으로 의미된다)에서도, 에러들이 가상 및 물리적 환경들(202, 201)에서의 이벤트들 사이에 차이성을 야기하면서, 도입될 수 있는 상황들이 있을 수 있다.
예를 들어, 원형 코스 주위를 구동하기 시작하는 차량(104)의 움직임을 모델링할 때, 차량(104)의 가속도, 차대 기하학적 구조 및 질량, 코스 조정, 바퀴들 및 구동가능한 표면(601) 사이의 마찰 및 기타와 같은 측면들에 관한 실제 및 모델링된 근사치 간 차이들은 에러들을 도입할 수 있다. 정정이 없다면, 그러한 에러들은 악화될 수 있다. 결과적으로, 물리적 환경(201)에서 발생하는 이벤트들 및 가상 환경(202)에서의 이벤트들 간 동등성을 설정 및 유지하는 프로토콜들이 없다면, 두 이벤트들은 가능성 있게 빠르게 나뉠 것이다.
적어도 일 실시예에서, 시스템은 물리적 또는 가상 환경들을 위하여 정정되어야 하는지를 명시하는 시행되는 우선순위 기법에 기초하여, 그러한 에러들을 정정하도록 구성될 수 있다. 예를 들어, 적어도 일 실시예에서, 본 발명의 시스템은 물리적 및 가상 환경들 사이에 유지되는 동등성을 보장하는 프로토콜들을 확립할 수 있다. 이러한 프로토콜들이 양 환경들에 걸쳐 차량들(104)의 제어 및 위치 측정을 통제하는 프로세스들의 검토를 통해 두 환경들 간 동등성을 보장하도록 작동하는 방법을 이해하는 것이 가장 편리할 수 있다.
구동가능한 표면(601) 상의 단일 차량(104)의 기본 경우를 고려하면, 처음에, 차량(104)이 트랙 레이아웃의 특성 또는 그것의 코스 상의 그것의 위치에 관한 정보를 작동가능하지 않을 것이 전적으로 예상된다. 또한 가상 환경(202)에서 발생하는 이벤트들을 제어하는 호스트 디바이스(108)가 차량(104)이 있는 구동가능한 표면(601) 또는 그 위의 차량(104)의 현재 위치에 관한 정보를 가지지 않을 것이 가능하다.
적어도 일 실시예에서, 직접 입력에 의해 또는 호스트 디바이스(108)가 차량(104)을 포함하는 구동가능한 표면(601)의 디지털 사진과 같은, 그것을 결정하는 것을 가능하게 하는 수단을 통해, 사용자(109)가 셋업 프로세스의 일부로서 트랙 및 위치 정보를 제공하는 것을 가능하게 하는 수단이 제공된다. 사용자(109)가 구동가능한 표면(601) 상의 그러한 트랙 정보 또는 차량 위치를 제공하는 것 또는 그외 동작에 앞서 그러한 정보를 제공하는 것을 가능하게 하지 않는 본 발명의 실시에에서, 트랙 및 위치를 확립하기 위한 정보는 차량(104) 그 자신에 의해 수집될 수 있다. 구체적으로, 차량(104)은 그것이 구동가능한 표면(601)의 특정 구획(602)의 식별 및 구획(602) 상의 차량(104)의 위치의 식별에 관한 데이터를 판독하기에 충분한 거리에 대한 코스를 따라 구동할 수 있다. 차량(104)이 이 정보를 획득하면, 정보는 호스트 디바이스(108)에 전달되고, 이는 특유의 구획(602) 식별을 구획(602) 및 위치 식별에 매칭하기 위한 구획들(602)의 색인을 참조하기 위해 그것을 사용한다. 그렇게 함으로써 호스트 디바이스(108)는 구동가능한 표면(601) 상의 차량(104)의 위치의 근사치를 생성한다.
호스트 디바이스(108)에 의한 구획(602)의 식별은 차량(104)의 작동가능한 제한들에 관한 데이터의 세트를 추가로 산출한다. 이러한 데이터는 위치 측정 정보의 조합(예컨대, 레이스 트랙의 경우, 트랙의 중심선으로부터의 그것의 수평 오프셋 및 트랙을 따르는 차량(104)의 위치) 및 트랙의 다양한 섹션들을 따라 최대 허용가능한 속도들 또는 회전이 트랙 상의 교차점들에서 허용되는지와 같은 작동 제한들에 관한 데이터일 수 있다. 차량(104)에 그러한 데이터를 제공하는 것의 혜택은 그것이 차량(104)이 낮을 레벨로, 코스 상의 그것의 측면 위치를 유지하는 것 및 코스 기하학적 구조의 변화에 반응하여 그것의 속도를 조정하는 것과 같은, 호스트 디바이스(108)로부터의 명령들과 관계없이 작동하는 몇몇 능력을 유지하는 것을 가능하게 하는 것이다.
구획(602) 및 차량(104) 위치가 식별되면, 호스트 디바이스(108)는 물리적 공간에서의 차량(104)의 위치에 의해 확립되는 초기 상태로부터 계속 진행 중인 기초로 차량(104)의 위치를 추적하기 위한 모션 모델을 채용할 수 있다. 차량(104)의 실제 위치 및 가상 환경(202)에서의 모션 모델에 의해 예측되는 위치 간 차이들을 산출하는 에러의 위에서 언급된 원인들을 인식하여, 물리적 환경(201)에서의 차량(104)은 호스트 디바이스(108)와의 정기적인 통신을 통해 그 위치의 업데이트들을 제공할 수 있다. 업데이트 데이터는 예를 들어, 도로피스 ID 및 위치ID에 관한 현재 정보, 뿐만 아니라 트랙 상의 차량(104)의 정확한 측면 위치와 같은 직접 위치에 관한 현재 정보를 포함할 수 있다. 가상 환경(202)을 업데이트하는 역할을 하는 계산들을 위한 입력들로서 또는 직접 이러한 데이터를 사용하여, 호스트 디바이스(108)는 물리적 환경(201)에서의 차량(104)의 이동 및 가상 환경(202)에서의 대응하는 차량 표현(204)의 이동 사이의 일관성을 유지한다.
설명된 실시예에서, 업데이트들은 물리적 차량(104)의 움직임의 특성들에 기초하고 가상 모델에 제공되기 때문에, 물리적 차량(104)의 움직임은 대응하는 차량 표현(204)의 움직임을 통해 우선권을 갖는다. 다른 실시예들은 역순 프로토콜로 작동할 수 있다. 따라서, 가상 차량 표현(204)의 움직임이 우선권을 가질 수 있고, 업데이트들은 물리적 차량(104)이 그것의 통신원의 움직임에 매칭하고 있는 것을 보장하도록 이루어질 수 있다. 그러한 상황들은 차량(104) 또는 차량들(104)의 실황 동작이 아닌 시나리오들 또는 심지어 가상 환경(202)에서 전개되는 이벤트들이 모델 모션에 기초하는 시나리오들을 포함할 수 있다는 것이 인식될 수 있다. 예는 이전에 플레이된 게임에서의 차량 움직임들 및 상호작용들이 그 다음 리-플레이를 위해 저장되고 캡쳐되는 것일 수 있다. 물리적 차량들(104)이 원래 게임플레이에서 우선권들 가졌다 하더라도, 물리적 환경(201)에서의 그러한 게임플레이를 재현하는 것은 대응하는 물리적 차량(104) 또는 차량들(104)을 인도하는 가상 형태로 기록된 이벤트들을 리플레이하는 것을 수반할 수 있다.
중간 상태들
가상 및 물리적 환경들(202, 201) 사이의 양-방향 작용을 유지하는 본 발명의 적어도 일 실시예에서, 물리적 및 가상 간 차이들이 나타날 때, 우선권은 상황들 및 임의의 주어진 상황에서 우선권의 할당이 기본 구조 및 게임플레이의 목표들을 지원하는 방법에 의존할 수 있다. 다른 실시예들에서, 우선권은 한 측면 또는 다른 측면에 할당될 수 있는 것이 아니라, 시스템이 부분적으로 한 측면 또는 다른 측면이 별도로 좌우할 수 있는 것 사이의 상태에서의 그것들 간의 절충점을 찾을 수 있다. 그러한 경우들에서, 양 가상 및 물리적 환경들(202, 201)에서의 행동 및 움직임은 절충 상태를 따르기 위해 조정될 수 있다.
게임플레임의 캡쳐 및 저장
적어도 일 실시예에서, 동등한 두 상태들, 즉 물리적 상태 및 가상 상태의 유지는 게임플레이 또는 전체 게임들의 캡쳐, 저장, 분산, 및/또는 그 다음 재현을 가능하게 한다. 호스트 디바이스(108)가 가상 환경(202)에 매칭하기 위해 물리적 환경(201)을 조정하는 능력(상태 출현 및 우선권의 차이들이 가상 환경(202)에 주어질 때)은 또한 가상 환경(202)에서 발생하고 물리적 환경(201)에서 직접 복제되는 이벤트들 및 동작들의 진행으로서 기록되거나 완전히 제작되고 리플레이되는 플레이의 순서들을 구동하는 것 또는 과거 게임들을 재현하는 것에 적용될 수 있다. 적어도 일 실시예에서, 실황으로 플레이되는 게임의 진행 동안 또는 기록된 게임 시나리오의 재현 시, 동작은 이벤트들의 나레이션을 제공하는 해설자에 의해 동반될 수 있다. 예를 들어, 이벤트들이 물리적 환경(201)에서 발생하는 동안, 가상 환경(202)에서의 조정된 시퀀스들은 자동 해설자가 게임플레이에서의 동작의 변화 상태에 관한 관련 정보(뿐만 아니라 색상 해설)를 제공하는 것을 가능하게 할 수 있다.
가상 액세서리
도 1과 관련하여 상기 설명된 바와 같이, 에이전트들(104)은 직접 사용자 제어 또는 AI 플래너(305)의 제어 또는 그것들의 몇몇 조합에 관계없이, 다수의 형태들을 취할 수 있다. 적어도 일 실시예에서, 가상 액세서리(106)는 물리적 공간에서의 디지털 방식으로 렌더링된 요소를 구현하기 위해, 제공될 수 있다.
이제 도 5를 참조하면, 본 발명의 맥락에서 레이싱 및 슈팅 게임에서 구현되는 가상 액세서리(106)의 예가 도시된다. 이러한 경우, 가상 액세서리(106)는 능동적으로 조준되고 발포된 포탑포(503)를 표현한다. 게임 공간에서의 다른 에이전트들과 유사하게, 가상 액세서리(106)는 물리적 및 가상 환경들(201, 202) 양자에서의 존재를 유지한다. 그러나, 물리적 존재에 대해, 호스트 디바이스는 액세서리(106)의 렌더링을 제공한다. 도 5에서, 포탑(503)의 도시는 태블릿(504)(임의의 다른 전자 디바이스가 사용될 수 있더라도, iPad와 같은)에 의해 제공되고, 이는 가상 환경(202)에서의 그것의 존재(501)에 대응하는 상태에서 및 그 위치에 포탑포(503)를 디스플레이한다.
에이전트들이 매체 상에 프린트되는 구동가능한 표면(601) 상에서 작동하는, 적어도 일 실시예에서, 가장 액세서리(106)는 매체 상에 표시되는 배향 및/또는 지정된 위치에 태블릿(504)의 배치를 통해 게임플레이로 통합될 수 있다. 대안적으로, 임의의 배치가 물리적 게임 공간에 관련하여 허용될 수 있다.
적어도 일 실시예에서, 태블릿(504)에는 호스트 가상 액세서리(106)에 사용될 수 있는 후방 카메라가 장착될 수 있다. 태블릿(504)의 배치 동안, 카메라는 비디오 상에서 전환될 수 있고 기록할 수 있다. 태블릿(504)이 위치됨에 따라, 물리적 게임 공간의 이동 관점은 게임 공간의 다른 요소들에 관한 태블릿의 위치 및 배향이 추정될 수 있는 입력 데이터를 제공한다. 이러한 접근은 위치 및 배향에 관한 태블릿(504)의 배치 상의 제한을 제거한다.
적어도 일 실시예에서, 가상 액세서리(106)의 렌더링은 그것이 덮어씌운 프린트된 매체의 그러한 부분의 배경 이미지를 배경으로 행해질 수 있다. 이것은 태블릿(504)에 직접 매체의 커버 부분의 이미지를 제공하는 호스트 디바이스(108)에 의해 또는 배치 동안 그것 옆의 풋프린트 영역의 이미지를 취하는 태블릿(504)에 의해 성취될 수 있다. 후자의 경우, 이러한 접근은 가상 액세서리(106)가 프린트된 매체의 기하학적 제한들에 의해 정의되는 것과 같은 게임 공간을 넘는 배치를 위해 의도된다면 유용하다.
게임플레이로의 그것의 통합에 관한 가상 액세서리(106)의 기능은 다른 에이전트들(104)과 유사하다. 도 5에 도시된 시나리오에서, 차량 표현(204T)은 가상 환경(102)에서의 포탑포 표현(501) 가까이 지나고; 상응하여, 물리적 차량(104T)은 물리적 환경(201)에서의 가상 액세서리(106)(태블릿(504)) 상에 렌더링되는 포탑포(503)를 지난다. 차량 표현(204T)이 포탑포 표현(501)의 발포 라인으로 지남에 따라, 포탑포 표현(501)이 차량 표현(204T)과의 충돌을 야기하면서, 발사된다. 적어도 일 실시예에서, 가상 환경(202)에서의 게임플레이를 디스플레이하는 디바이스 상에서 관찰되면, 풀 샷 및 충돌이 보인다. 물리적 환경(201)에서의 동일한 동작을 보는 관측자들에 대해, 포탑포(503)로부터의 발사의 렌더링은 가상 액세서리(106), 이 경우 태블릿(504)의 스크린에 제한될 수 있다. 그러나, 가상 및 물리적 게임 환경들(202, 201) 사이에 유지되는 동등성에 따라, 피격된 차량(104T) 및 차량 표현(204T)의 결과는 동일할 수 있으며, 가상 차량 표현(204T)은 손상을 경험할 수 있고, 이 인스턴스에서, 제어의 손실이 코스에서 멀어진 그것의 순전(veering)을 유도할 수 있다. 물리적 환경(201)에서의 대응하는 차량(104)은 사운드들을 통해, 및/또는 LED들 및/또는 다른 수단을 밝힘으로써 충격을 디스플레이하는 역량을 가질 수 있다. 또한, 차량(104T)의 이동 및 행동은 가상 환경(202)에서 보여지는 바와 같이 제어의 결과적인 손실을 반영한다.
본 발명은 가능한 실시예들에 관해 특히 상세하게 설명되었다. 해당 기술분야의 통상의 기술자들은 본 발명이 다른 실시예들에서 실시될 수 있다는 것을 이해할 것이다. 먼저, 구성요소들의 특정한 명명, 용어들의 대문자화, 속성들, 데이터 구조들, 또는 임의의 다른 프로그래밍 또는 구조적 측면은 필수적이거나 중요하지 않고, 본 발명 또는 그 피처들을 구현하는 메커니즘들은 상이한 명칭들, 형식들, 또는 프로토콜들을 가질 수 있다. 또한, 시스템은 설명된 바와 같이, 하드웨어 및 소프트웨어의 조합을 통해, 또는 전적으로 하드웨어 요소들로, 또는 전적으로 소프트웨어 요소들로 구현될 수 있다. 또한, 본 명세서에 설명된 다양한 시스템 구성요소들 사이의 기능의 특정한 분배는 단지 예시적이고, 필수적이지 않으며; 단일 시스템 구성요소에 의해 수행되는 기능들은 대신 다수의 구성요소들에 의해 수행될 수 있으며, 다수의 구성요소들에 의해 수행되는 기능들은 단일 구성요소에 의해 대신 수행될 수 있다.
다양한 실시예들에서, 본 발명은 단독으로 또는 임의의 조합으로, 상기-설명된 기술들을 수행하기 위한 시스템 또는 방법으로서 구현될 수 있다. 다른 실시예에서, 본 발명은 컴퓨팅 디바이스 또는 다른 전자 디바이스에서의 프로세서가 상기-설명된 기술들을 수행하게 하기 위한, 매체 상에 인코딩되는, 컴퓨터 프로그램 코드 및 비일시적 컴퓨터-판독가능한 저장 매체를 포함하는 컴퓨터 프로그램 제품으로서 구현될 수 있다.
설명에서의 "일 실시예" 또는 "실시예"에 대한 언급은 실시예들과 관련하여 특정한 피처, 구조, 또는 특성이 본 발명의 적어도 일 실시예에 포함되는 것을 의미한다. 설명의 다양한 위치들에서의 문구 "적어도 일 실시예에서"의 출현은 반드시 동일한 실시예에 대한 모든 참조일 필요는 없다.
상기 내용의 몇몇 부분들은 컴퓨팅 디바이스의 메모리 내 데이터 비트들 상의 동작들의 상징적인 표현들 및 알고리즘들에 관하여 제시된다. 이들 알고리즘의 설명들 및 표현들은 해당 기술분야의 다른 기술자들에게 데이터 프로세싱 기술분야들의 기술자들의 작업의 본질을 가장 효과적으로 전달하기 위해 데이터 프로세싱 기술분야들의 기술자들에 의해 설명되는 수단이다. 알고리즘은 여기서, 및 일반적으로, 원하는 결과로 유도하는 단계들(지시들)의 자가-일관 순서인 것으로 생각된다. 단계들은 물리량들의 물리적 조작들을 요구하는 것들이다. 보통, 반드시는 아니더라도, 이러한 양들은 저장, 전달, 조합, 비교 및 그외 조작될 수 있는 전자, 자기 또는 광학 신호들의 형태를 취한다. 이러한 신호들을 비트들, 값들, 요소들, 부호들, 문자들, 용어들, 숫자들, 또는 기타로 언급하는 것은, 주로 일반적인 용법의 이유들로, 때때로 편리하다. 게다가, 또한 물리량들의 물리적 조작들을 요구하는 단계들의 특정 배열들을 일반성을 잃지 않고, 모듈들 또는 코드 디바이스들로 언급하는 것이 때때로 편리하다.
그러나, 모든 이들 및 유사한 용어들이 적절한 물리량들과 연관될 것이고 단지 이들 수량들에 적용되는 편리한 라벨들이라는 것이 생각되어야 한다. 다음 논의로부터 명백해지는 바와 같이 명시적으로 다르게 언급되지 않으면, 설명 전체에 걸쳐, "프로세싱하는" 또는 "컴퓨팅하는" 또는 "계산하는" 또는 "디스플레이하는" 또는 "결정하는"과 같은 용어들을 이용하는 논의들은 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 모듈 및/또는 디바이스의 동작 및 프로세스들을 나타내고, 이는 컴퓨터 시스템 메모리들 또는 레지스터들 또는 그외 다른 정보 저장, 전송 또는 디스플레이 디바이스들 내 물리(전자)량들로 표현되는 데이터를 조작하고 변환한다.
본 발명의 특정 측면들은 알고리즘의 형태로 본 명세서에 설명되는 프로세스 단계들 및 지시들을 포함한다. 본 발명의 프로세스 단계들 및 지시들이 소프트웨어, 펌웨어 및/또는 하드웨어에서 구현될 수 있고, 소프트웨어에서 구현될 때, 다양한 운영 시스템들에 의해 사용되는 상이한 플랫폼들에서 동작되고 그것들 상에 존재하기 위해 다운로드될 수 있다는 것이 언급되어야 한다.
본 발명은 또한 본 명세서에서의 동작들을 수행하기 위한 장치에 관한 것이다. 이 장치는 특히 요구된 목적들을 위해 구성될 수 있고, 또는 그것은 컴퓨팅 디바이스에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨팅 디바이스를 포함할 수 있다. 그러한 컴퓨터 프로그램은 이에 제한되지는 않으나, 플로피 디스크들, 광 디스크들, CD-ROM들, 자기-광 디스크들, 판독-전용 메모리들(ROM들), 랜덤 액세스 메모리들(RAM들), EPROM들, EEPROM들, 플래쉬 메모리, 고체 상태 드라이브들, 자기 또는 광 카드들, 애플리케이션 특정 직접 회로들(ASIC들)을 포함하는 임의의 유형의 디스크 또는 컴퓨터 시스템 버스에 각각 결합되고, 전자 지시들을 저장하기에 적합한 임의의 유형의 매체와 같은, 컴퓨터 판독가능한 저장 매체에 저장될 수 있다. 또한, 본 명세서에서 언급되는 컴퓨팅 디바이스들은 단일 프로세서를 포함할 수 있고 또는 증가된 컴퓨팅 역량을 위해 다수의 프로세서 설계들을 채용하는 아키텍처들일 수 있다.
본 명세서에 제시되는 알고리즘들 및 디스플레이들은 임의의 특정한 컴퓨팅 디바이스, 가상화 시스템, 또는 다른 장치와 본질적으로 관련되지 않는다. 다양한 범용 시스템들은 또한 본 명세서에서의 교시들에 따라 프로그램들과 함께 사용될 수 있고, 또는 필요한 방법 단계들을 수행하기 위한 보다 전문화된 장치를 구성하는 것이 편리한 것으로 드러날 수 있다. 다양한 이들 시스템들을 위해 필요한 구조는 본 명세서에 제공되는 설명으로부터 명백해질 것이다. 또한, 본 발명은 임의의 특정한 프로그래밍 언어를 참조하여 설명되지 않는다. 다양한 프로그래밍 언어들이 본 명세서에서 설명되는 바와 같이 본 발명의 교시들을 구현하는데 사용될 수 있다는 것, 및 특정한 언어들에 대한 상기 임의의 언급들이 본 발명의 최상의 모드 및 이네이블먼트의 개시를 위해 제공된다는 것이 이해될 것이다.
따라서, 다양한 실시예들에서, 본 발명은 소프트웨어, 하드웨어, 및/또는 컴퓨터 시스템, 컴퓨팅 디바이스, 또는 다른 전자 디바이스 또는 그것들의 임의의 조합 또는 복수를 제어하기 위한 다른 요소들로서 구현될 수 있다. 그러한 전자 디바이스는 해당 기술분야에 잘 알려진 기술들에 따라, 예를 들어, 프로세서, 입력 디바이스(키보드, 마우스, 터치패드, 트랙패드, 조이스틱, 트랙볼, 마이크로폰, 및/또는 그것들의 임의의 조합), 출력 디바이스(스크린, 스피커, 및/또는 기타와 같은), 메모리, 롱-텀 저장장치(자기 저장장치, 광 저장장치, 및/또는 기타와 같은), 및/또는 네트워크 연결을 포함할 수 있다. 그러한 전자 디바이스는 휴대용 또는 비휴대용일 수 있다. 본 발명을 구현하기 위해 사용될 수 있는 전자 디바이스들의 예들은: 모바일 폰, 개인 디지털 보조기, 스마트폰, 키오스크, 서버 컴퓨터, 기업 컴퓨팅 디바이스, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 소비자 전자 디바이스, 텔레비젼, 셋-탑 박스, 또는 기타를 포함한다. 본 발명을 구현하기 위한 전자 디바이스는 예를 들어: 리눅스; 워싱턴, 레드먼드의 마이크로소프트사로부터 이용가능한 마이크로소프트 윈도우즈; 캘리포니아, 쿠퍼티노의 애플사로부터 이용가능한 Mac OS X, 캘리포니아, 쿠퍼티노의 애플사로부터 이용가능한 iOS, 및/또는 디바이스 상에서 사용하기 위해 적응되는 임의의 다른 운영 시스템과 같은, 임의의 운영 시스템을 사용할 수 있다.
본 발명이 제한된 수의 실시예들에 관하여 설명되었지만, 상기 설명의 혜택을 가지는, 해당 기술분야의 통상의 기술자들은 본 명세서에 설명된 바와 같이 본 발명의 범위를 벗어나지 않는 다른 실시예들이 고안될 수 있다는 것을 인식할 것이다. 또한, 명세서에서 사용되는 언어는 주로 가독성 및 지시 목적들을 위해 선택되었고, 본 발명의 청구 대상을 기술하거나 제한하기 위해 선택되지 않았다는 것이 언급되어야 한다. 따라서, 본 발명의 개시 내용은 본 발명의 범위에 대해 예시적이나, 제한적이지 않은 것으로 의도되고, 이는 청구항들에 제시된다.

Claims (30)

  1. 복수의 물리적 에이전트들로서, 상기 물리적 에이전트들은 서로 상호작용할 수 있고, 각각의 물리적 에이전트는:
    신호들을 수신하고;
    수신된 상기 신호들에 반응하여 물리적 환경에서 동작들을 수행하며;
    물리적 환경에서의 상기 물리적 에이전트의 상태를 표시하는 신호들을 송신하도록 적응되는, 상기 복수의 물리적 에이전트;
    적어도 하나의 컨트롤러로서, 상기 물리적 에이전트들 중 적어도 하나를 제어하기 위한 사용자 입력을 수신하도록 적응되고, 상기 물리적 에이전트들 중 적어도 하나를 제어하기 위한 신호들을 송신하도록 더 적응되는, 상기 적어도 하나의 컨트롤러; 및
    호스트 디바이스로서:
    상기 물리적 에이전트들의 상기 물리적 상태를 표시하는 신호들을 수신하고;
    상기 물리적 에이전트들에 의해 취해질 동작들을 명시하는 신호들을 송신하고;
    서로 상호작용할 수 있는, 상기 물리적 에이전트들의 가상 표현들을 저장하며;
    상기 물리적 에이전트들의 상기 물리적 상태들 및 상기 물리적 에이전트들의 대응하는 저장된 상기 가상 표현들의 상기 상태들 간 실질적인 동등성을 유지하도록 적응되는, 상기 호스트 디바이스를 포함하는 시스템.
  2. 청구항 1에 있어서,
    상기 물리적 에이전트들의 상기 물리적 상태들 및 대응하는 저장된 상기 가상 표현들의 상기 상태들 간 실질적인 동등성을 유지하는 상기 호스트 디바이스는:
    상기 물리적 에이전트들의 상기 물리적 상태들을 표시하는 수신된 신호들에 기초하여 저장된 상기 가상 표현들의 상기 상태들을 조정하는 동작;
    상기 가상 표현들 간 상호작용들에 기초하여 저장된 상기 가상 표현들의 상기 상태들을 조정하는 동작; 및
    상기 물리적 에이전트들이 그것들의 물리적 상태들을 저장된 상기 가상 표현들의 상기 상태들로 행동하도록 변경하게 하기 위한 신호들을 송신하는 동작을 포함하는, 시스템.
  3. 청구항 2에 있어서,
    유사한 물리적 특성들을 가지는 두 개의 물리적 에이전트들에 대해, 상기 두 개의 물리적 에이전트들의 상기 가상 표현들은 서로 실질적으로 상이한 적어도 하나의 특성을 가지고;
    상기 물리적 에이전트들의 상기 가상 표현들 간 상기 상호작용은 상기 적어도 하나의 특성의 실질적인 차이를 반영하는, 시스템.
  4. 청구항 2에 있어서,
    유사한 질량을 가지는 두 개의 물리적 에이전트들에 대해, 상기 두 개의 물리적 에이전트들의 상기 가상 표현들은 서로 실질적으로 상이한 질량을 가지고;
    상기 물리적 에이전트들의 상기 가상 표현들 간 상기 상호작용은 질량의 실질적인 차이를 반영하는, 시스템.
  5. 청구항 1에 있어서,
    상기 물리적 에이전트들의 상기 물리적 상태들 및 대응하는 저장된 상기 가상 표현들의 상기 상태들 간 실질적인 동등성을 유지하는 상기 호스트 디바이스는:
    상기 가상 표현들 간 상호작용들에 기초하여 저장된 상기 가상 표현들의 상기 상태들을 조정하는 동작; 및
    상기 물리적 에이전트들이 그것들의 물리적 상태들을 저장된 상기 가상 표현들의 상기 상태들로 행동하도록 변경하게 하기 위한 신호들을 송신하는 동작을 포함하는, 시스템.
  6. 청구항 5에 있어서,
    유사한 물리적 특성들을 가지는 두 개의 물리적 에이전트들에 대해, 상기 두 개의 물리적 에이전트들의 상기 가상 표현들은 서로 실질적으로 상이한 적어도 하나의 특성을 가지고;
    상기 물리적 에이전트들의 상기 가상 표현들 간 상기 상호작용은 상기 적어도 하나의 특성의 실질적인 차이를 반영하는, 시스템.
  7. 청구항 1에 있어서,
    상기 물리적 에이전트들의 상기 물리적 상태들 및 대응하는 저장된 상기 가상 표현들의 상기 상태들 간 실질적인 동등성을 유지하는 상기 호스트 디바이스는:
    상기 물리적 에이전트들의 상기 물리적 상태들을 표시하는 수신된 신호들에 기초하여 저장된 상기 가상 표현들의 상기 상태들을 조정하는 동작을 포함하는, 시스템.
  8. 청구항 1에 있어서,
    상기 물리적 에이전트들은 모바일 에이전트들을 포함하고, 각각의 모바일 에이전트는:
    상기 모바일 에이전트에 원동력을 부여하도록 적응되는, 추진 메커니즘;
    상기 모바일 에이전트의 위치를 검출하도록 적응되는, 센서;
    모바일 무선 트랜스시버; 및
    상기 추진 메커니즘, 상기 센서, 및 상기 모바일 무선 송수신기에 작동가능하게 결합되는 마이크로컨트롤러로서, 상기 마이크로컨트롤러는 상기 모바일 에이전트의 이동을 제어하도록 적응되는, 상기 마이크로컨트롤러를 포함하는, 시스템.
  9. 청구항 8에 있어서,
    표면 상의 위치들을 표시하는 복수의 기계-판독가능한 코드들을 가지는 구동가능한 표면을 더 포함하고;
    상기 모바일 에이전트들은 상기 구동가능한 표면을 따라 이동하도록 적응되는 차량들을 포함하고, 상기 모바일 에이전트의 위치를 검출하는 각각의 모바일 에이전트의 상기 센서는 상기 차량이 상기 표면을 따라 이동함에 따라 상기 기계-판독가능한 코드들을 검출하는 상기 센서를 포함하는, 시스템.
  10. 청구항 1에 있어서,
    상기 호스트 디바이스는 무선 트랜스시버를 포함하고,
    신호들을 수신하는 상기 호스트 디바이스는 신호들을 수신하는 상기 무선 트랜스시버를 포함하며;
    신호들을 송신하는 상기 호스트 디바이스는 신호들을 송신하는 상기 무선 트랜스시버를 포함하는, 시스템.
  11. 청구항 1에 있어서,
    각각의 컨트롤러는:
    모바일 컴퓨팅 디바이스;
    스마트폰;
    태블릿 컴퓨터;
    데스크탑 컴퓨터;
    랩탑 컴퓨터;
    비디오 게임 콘솔; 및
    키오스크(kiosk)로 이루어진 그룹으로부터 선택되는 적어도 하나를 포함하고,
    상기 호스트 디바이스는:
    모바일 컴퓨팅 디바이스;
    스마트폰;
    태블릿 컴퓨터;
    데스크탑 컴퓨터;
    랩탑 컴퓨터;
    비디오 게임 콘솔; 및
    키오스크로 이루어진 그룹으로부터 선택되는 적어도 하나를 포함하는, 시스템.
  12. 청구항 1에 있어서,
    상기 물리적 환경 내에 위치할 수 있는, 액세서리를 더 포함하고;
    상기 호스트 디바이스는 상기 액세서리의 가상 표현을 저장하고 상기 액세서리는 상기 물리적 에이전트들의 상기 가상 표현들의 상태에 영향을 미칠 수 있으며;
    물리적 에이전트의 상기 가상 표현 및 상기 액세서리의 상기 가상 표현 간 상호작용에 반응하여, 상기 호스트 디바이스는 상기 물리적 에이전트가 그것의 물리적 상태를 상기 상호작용의 결과를 반영하도록 변경하게 하기 위한 신호를 송신하는, 시스템.
  13. 청구항 1에 있어서,
    상기 물리적 환경 내에 위치할 수 있고 액세서리 에이전트의 역학적 표현을 디스플레이하도록 적응되는, 모바일 컴퓨팅 디바이스를 더 포함하고;
    상기 호스트 디바이스는 상기 액세서리 에이전트의 가상 표현을 저장하고, 상기 액세서리 에이전트의 상기 가상 표현은 상기 물리적 에이전트들의 가상 표현들과 상호작용할 수 있으며;
    상기 액세서리 에이전트의 상기 가상 표현 및 물리적 에이전트의 상기 가상 표현 간 상호작용에 반응하여, 상기 호스트 디바이스는 상기 물리적 에이전트가 그것의 물리적 상태를 상기 상호작용의 결과를 반영하도록 변경하게 하기 위한 신호를 송신하는, 시스템.
  14. 청구항 14에 있어서,
    적어도 하나의 컨트롤러는 상기 액세서리 에이전트를 제어하기 위한 사용자 입력을 수신하도록 적응되고, 상기 액세서리 에이전트를 제어하기 위한 신호들을 송신하도록 더 적응되며;
    상기 호스트 디바이스는 상기 액세서리 에이전트를 제어하기 위한 신호를 수신하는 것에 반응하여 상기 액세서리 에이전트의 저장된 상기 가상 표현의 상기 상태를 조정하는, 시스템.
  15. 청구항 14에 있어서,
    상기 액세서리 에이전트는 무기를 포함하고, 상기 액세서리 에이전트의 상기 가상 표현은 물리적 에이전트의 가상 표현에 발포할 수 있는, 시스템.
  16. 청구항 1에 있어서,
    상기 적어도 하나의 물리적 에이전트의 상기 가상 표현은 무기를 포함하고, 상기 물리적 에이전트의 상기 가상 표현은 다른 물리적 에이전트의 가상 표현에 발포할 수 있고;
    발포된 에이전트의 가상 표현에 반응하여:
    상기 호스트 디바이스는 상기 가상 표현이 마치 발포된 것처럼 반응하게 하며;
    상기 호스트 디바이스는 대응하는 상기 물리적 에이전트가 그것의 물리적 상태를 마치 발포된 것처럼 반응하도록 변경하게 하기 위한 신호를 송신하는, 시스템.
  17. 청구항 1에 있어서,
    적어도 두 개의 컨트롤러들은 통상의 물리적 에이전트를 제어하도록 구성되는, 시스템.
  18. 청구항 1에 있어서,
    상기 물리적 에이전트들 중 적어도 하나를 자동 방식으로 제어하도록 적응되는, 자동 컴퓨팅 시스템을 더 포함하고;
    상기 물리적 에이전트들 중 적어도 하나는 상기 자동 컴퓨팅 시스템으로부터 신호들을 수신하고 수신된 상기 신호들에 반응하여 상기 물리적 환경에서 동작들을 수행하도록 적응되고, 상기 물리적 에이전트는 상기 자동 컴퓨팅 시스템에 의해 제어되지 않는 적어도 하나의 물리적 에이전트와 상호작용할 수 있는, 시스템.
  19. 청구항 1에 있어서,
    상기 물리적 에이전트들 중 적어도 하나를 제어하기 위한 신호들을 송신하는 상기 적어도 하나의 컨트롤러는 인터넷을 통해 신호들을 송신하는 상기 적어도 하나의 컨트롤러를 포함하는, 시스템.
  20. 청구항 1에 있어서,
    상기 물리적 에이전트들의 상기 가상 표현들의 상기 상태를 표시하는 상기 호스트 디바이스로부터 신호들을 수신하도록 적응되고, 수신된 상기 신호들에 기초하여 상기 물리적 에이전트들의 역학적 표현을 디스플레이하도록 더 적응되는, 적어도 하나의 디스플레이 디바이스를 더 포함하는, 시스템.
  21. 청구항 1에 있어서,
    상기 물리적 에이전트의 상기 물리적 상태 및 대응하는 저장된 상기 가상 표현의 상기 상태 간 실질적인 동등성을 유지하는 상기 호스트 디바이스는:
    위치를 표시하는 물리적 에이전트로부터 신호를 수신하는 동작; 및
    상기 물리적 에이전트의 표시된 상기 위치로 행동하도록 상기 물리적 에이전트의 저장된 가상 표현의 위치를 조정하는 동작을 포함하는, 시스템.
  22. 청구항 1에 있어서,
    상기 물리적 에이전트의 상기 물리적 상태 및 대응하는 저장된 상기 가상 표현의 상기 상태 간 실질적인 동등성을 유지하는 상기 호스트 디바이스는:
    위치를 표시하는 물리적 에이전트로부터 신호를 수신하는 동작; 및
    상기 물리적 에이전트의 저장된 가상 표현의 위치와 상이한 위치를 표시하는 수신된 상기 신호에 반응하여, 상기 물리적 에이전트가 그것의 위치를 상기 물리적 에이전트의 저장된 상기 가상 표현의 위치로 행동하도록 변경하게 하기 위한 신호를 송신하는 동작을 포함하는, 시스템.
  23. 로봇 시스템 내의 물리적 에이전트들을 제어하기 위한 모바일 컴퓨팅 디바이스들을 사용하기 위한 방법으로서, 상기 물리적 에이전트들은 서로 상호작용할 수 있고, 상기 방법은, 호스트 디바이스에서:
    물리적 환경에서의 상기 물리적 에이전트들의 상기 물리적 상태를 표시하는 신호들을 수신하는 단계;
    상기 물리적 환경에서의 상기 물리적 에이전트들에 의해 취해질 물리적 동작들을 명시하는 신호들을 송신하는 단계;
    상기 물리적 에이전트들의 가상 표현들을 저장하는 단계로서, 상기 물리적 에이전트들의 상기 가상 표현들은 서로 상호작용할 수 있는, 상기 저장하는 단계; 및
    상기 물리적 에이전트들의 상기 물리적 상태들 및 상기 물리적 에이전트들의 대응하는 저장된 상기 가상 표현들의 상기 상태들 간 실질적인 동등성을 유지하는 단계를 수행하는 것을 포함하고,
    상기 물리적 에이전트들은 사용자-작동 컨트롤러들로서 동작하는 모바일 컴퓨팅 디바이스들로부터 수신되는 신호들에 반응하여 물리적 동작들을 수행하도록 더 적응되는, 방법.
  24. 청구항 23에 있어서,
    상기 물리적 에이전트의 상기 물리적 상태 및 대응하는 저장된 상기 가상 표현의 상기 상태 간 실질적인 동등성을 유지하는 단계는:
    상기 물리적 에이전트들의 상기 물리적 상태를 표시하는 수신된 신호들에 기초하여 저장된 상기 가상 표현들의 상기 상태를 조정하는 단계;
    상기 가상 표현들 간 상호작용들에 기초하여 저장된 상기 가상 표현들의 상기 상태를 조정하는 단계; 및
    상기 물리적 에이전트들이 그것들의 물리적인 상태를 저장된 상기 가상 표현들의 상기 상태로 행동하도록 변경하게 하기 위한 신호들을 송신하는 단계를 포함하는, 방법.
  25. 청구항 23에 있어서,
    상기 물리적 에이전트의 상기 물리적 상태 및 대응하는 저장된 상기 가상 표현의 상기 상태 간 실질적인 동등성을 유지하는 단계는:
    상기 가상 표현들 간 상호작용들에 기초하여 저장된 상기 가상 표현들의 상기 상태를 조정하는 단계; 및
    상기 물리적 에이전트들이 그것들의 물리적인 상태를 저장된 상기 가상 표현들의 상기 상태로 행동하도록 변경하게 하기 위한 신호들을 송신하는 단계를 포함하는, 방법.
  26. 청구항 23에 있어서,
    상기 물리적 에이전트의 상기 물리적 상태 및 대응하는 저장된 상기 가상 표현의 상기 상태 간 실질적인 동등성을 유지하는 단계는:
    상기 물리적 에이전트들의 상기 물리적 상태를 표시하는 수신된 신호들에 기초하여 저장된 상기 가상 표현들의 상기 상태를 조정하는 단계를 포함하는, 방법.
  27. 로봇 시스템 내의 물리적 에이전트들을 제어하기 위한 모바일 컴퓨팅 디바이스들을 사용하기 위한 컴퓨터 프로그램 제품으로서, 상기 물리적 에이전트들은 서로 상호작용할 수 있고, 상기 컴퓨터 프로그램 제품은:
    비-일시적 컴퓨터-판독가능한 저장 매체; 및
    호스트 디바이스에서 적어도 하나의 프로세서가:
    물리적 환경에서의 상기 물리적 에이전트들의 상기 물리적 상태를 표시하는 신호들을 수신하는 단계;
    상기 물리적 환경에서의 상기 물리적 에이전트들에 의해 취해질 물리적 동작들을 명시하는 신호들을 송신하는 단계;
    서로 상호작용할 수 있는 상기 물리적 에이전트들의 가상 표현들을 저장하는 단계; 및
    상기 물리적 에이전트들의 상기 물리적 상태들 및 상기 물리적 에이전트들의 대응하는 저장된 상기 가상 표현들의 상기 상태들 간 실질적인 동등성을 유지하는 단계를 수행하게 하도록 구성되는, 상기 매체 상에 인코딩되는, 컴퓨터 프로그램 코드를 포함하고,
    상기 물리적 에이전트들은 사용자-작동 컨트롤러들로서 동작하는 모바일 컴퓨팅 디바이스들로부터 수신되는 신호들에 반응하여 물리적 동작들을 수행하도록 더 적응되는, 컴퓨터 프로그램 제품.
  28. 청구항 27에 있어서,
    적어도 하나의 프로세서가 상기 물리적 에이전트의 상기 물리적 상태 및 대응하는 저장된 상기 가상 표현의 상기 상태 간 실질적 동등성을 유지하게 하도록 구성되는 상기 컴퓨터 프로그램 코드는 적어도 하나의 프로세서가:
    상기 물리적 에이전트들의 상기 물리적 상태를 표시하는 수신된 신호들에 기초하여 저장된 상기 가상 표현들의 상기 상태를 조정하는 단계;
    상기 가상 표현들 간 상호작용들에 기초하여 저장된 상기 가상 표현들의 상기 상태를 조정하는 단계; 및
    상기 물리적 에이전트들이 그것들의 물리적 상태를 저장된 상기 가상 표현들의 상기 상태로 행동하도록 변경하게 하기 위한 신호들을 송신하는 단계를 수행하게 하도록 구성되는 컴퓨터 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
  29. 청구항 24에 있어서,
    적어도 하나의 프로세서가 상기 물리적 에이전트의 상기 물리적 상태 및 대응하는 저장된 상기 가상 표현의 상기 상태 간 실질적 동등성을 유지하게 하도록 구성되는 상기 컴퓨터 프로그램 코드는 적어도 하나의 프로세서가:
    상기 가상 표현들 간 상호작용들에 기초하여 저장된 상기 가상 표현들의 상기 상태를 조정하는 단계; 및
    상기 물리적 에이전트들이 그것들의 물리적 상태를 저장된 상기 가상 표현들의 상기 상태로 행동하도록 변경하게 하기 위한 신호들을 송신하는 단계를 수행하게 하도록 구성되는 컴퓨터 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
  30. 청구항 24에 있어서,
    적어도 하나의 프로세서가 상기 물리적 에이전트의 상기 물리적 상태 및 대응하는 저장된 상기 가상 표현의 상기 상태 간 실질적 동등성을 유지하게 하도록 구성되는 상기 컴퓨터 프로그램 코드는 적어도 하나의 프로세서가:
    상기 물리적 에이전트들의 상기 물리적 상태를 표시하는 수신된 신호들에 기초하여 저장된 상기 가상 표현들의 상기 상태를 조정하는 단계를 수행하게 하도록 구성되는 컴퓨터 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
KR1020157007769A 2012-08-27 2013-08-09 하나 이상의 모바일 컴퓨팅 디바이스들을 갖는 로봇 시스템의 통합 KR101793189B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261693687P 2012-08-27 2012-08-27
US61/693,687 2012-08-27
PCT/US2013/054388 WO2014035640A1 (en) 2012-08-27 2013-08-09 Integration of a robotic system with one or more mobile computing devices

Publications (2)

Publication Number Publication Date
KR20150046302A true KR20150046302A (ko) 2015-04-29
KR101793189B1 KR101793189B1 (ko) 2017-11-02

Family

ID=50184133

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157007769A KR101793189B1 (ko) 2012-08-27 2013-08-09 하나 이상의 모바일 컴퓨팅 디바이스들을 갖는 로봇 시스템의 통합

Country Status (10)

Country Link
EP (1) EP2888712A4 (ko)
JP (2) JP6067120B2 (ko)
KR (1) KR101793189B1 (ko)
CN (1) CN104662578B (ko)
AU (1) AU2013309312B2 (ko)
CA (1) CA2882099C (ko)
DE (1) DE112013004190T5 (ko)
GB (1) GB2519903A (ko)
HK (2) HK1207459A1 (ko)
WO (1) WO2014035640A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210010992A (ko) * 2018-05-16 2021-01-29 보이저 이노베이션즈 홀딩스 프로프라이어터리 리미티드 이벤트와 관련된 결과를 결정하는 시스템 및 방법

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2482119B (en) 2010-07-19 2013-01-23 China Ind Ltd Racing vehicle game
CN106292356B (zh) * 2015-06-09 2019-03-29 联想(北京)有限公司 一种机器人控制方法及电子设备
DE102015121892A1 (de) * 2015-12-15 2017-06-22 Viessmann Modelltechnik Gmbh Fahrregler für eine Modelleisenbahn, Regelvorrichtung und Modelleisenbahn
CA3213027A1 (en) * 2016-02-02 2017-08-10 Deka Products Limited Partnership Modular electro-mechanical agent
CN106474743B (zh) * 2016-12-28 2022-05-06 赵红领 智能轨道扫码竞速玩具车的控制方法
US10686883B2 (en) * 2017-07-07 2020-06-16 Hewlett Packard Enterprise Development Lp Bluetooth low energy devices
CN107368029B (zh) * 2017-08-24 2019-08-27 关磊 重力赛车射击系统
US11780084B2 (en) 2018-01-16 2023-10-10 Sony Interactive Entertainment Inc. Robotic device, control method for robotic device, and program
WO2019142228A1 (ja) 2018-01-16 2019-07-25 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および画像生成方法
JP6961723B2 (ja) 2018-01-16 2021-11-05 株式会社ソニー・インタラクティブエンタテインメント 移動体および移動体制御方法
CN108854070A (zh) * 2018-06-15 2018-11-23 网易(杭州)网络有限公司 游戏中的信息提示方法、装置及存储介质
CN112423945B (zh) 2018-08-10 2023-11-24 川崎重工业株式会社 信息处理装置、机器人操作系统以及机器人操作方法
CN109782737A (zh) * 2019-01-28 2019-05-21 平安科技(深圳)有限公司 无人车模拟测试方法和系统
GB201906813D0 (en) * 2019-05-16 2019-06-26 Roboraca Ltd Metaverse
KR102324845B1 (ko) * 2019-10-02 2021-11-11 (주)케이시크 사용자 게임 연계 자율주행 방법 및 시스템
CN117915990A (zh) * 2021-08-30 2024-04-19 乐高公司 用于可移动现实世界对象的增强现实的系统和方法
WO2023186290A1 (en) * 2022-03-30 2023-10-05 Telefonaktiebolaget Lm Ericsson (Publ) A computer software module arrangement, a circuitry arrangement, an arrangement and a method for providing a virtual display for simultaneous display of representations of real life objects at different physical locations

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10244A (en) * 1853-11-15 Improvement in uniting shovel-blades to the handle-straps
JP2001022264A (ja) * 1999-07-12 2001-01-26 Sony Corp シミュレーション装置
US8160994B2 (en) * 1999-07-21 2012-04-17 Iopener Media Gmbh System for simulating events in a real environment
DE69937058T2 (de) * 1999-10-26 2008-05-29 Sony France S.A. Verfahren und System zur Agentsübertragung für einen Roboter
US6491566B2 (en) * 2001-03-26 2002-12-10 Intel Corporation Sets of toy robots adapted to act in concert, software and methods of playing with the same
GB2385238A (en) * 2002-02-07 2003-08-13 Hewlett Packard Co Using virtual environments in wireless communication systems
US7090576B2 (en) 2003-06-30 2006-08-15 Microsoft Corporation Personalized behavior of computer controlled avatars in a virtual reality environment
US7704119B2 (en) * 2004-02-19 2010-04-27 Evans Janet E Remote control game system with selective component disablement
US20060223637A1 (en) * 2005-03-31 2006-10-05 Outland Research, Llc Video game system combining gaming simulation with remote robot control and remote robot feedback
US8287372B2 (en) * 2006-09-28 2012-10-16 Mattel, Inc. Interactive toy and display system
KR100842566B1 (ko) * 2007-02-01 2008-07-01 삼성전자주식회사 휴대단말기의 움직임을 이용하여 로봇을 제어하기 위한방법 및 장치
GB2449694B (en) * 2007-05-31 2010-05-26 Sony Comp Entertainment Europe Entertainment system and method
US20090265642A1 (en) * 2008-04-18 2009-10-22 Fuji Xerox Co., Ltd. System and method for automatically controlling avatar actions using mobile sensors
CN101732858B (zh) * 2008-11-11 2013-10-30 盛乐信息技术(上海)有限公司 现实与虚拟结合的联网游戏系统及实现方法
DK2435149T3 (en) * 2009-05-28 2015-09-21 Anki Inc Distributed system for autonomous control of toy cars

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210010992A (ko) * 2018-05-16 2021-01-29 보이저 이노베이션즈 홀딩스 프로프라이어터리 리미티드 이벤트와 관련된 결과를 결정하는 시스템 및 방법

Also Published As

Publication number Publication date
DE112013004190T5 (de) 2015-07-16
AU2013309312B2 (en) 2017-04-20
AU2013309312A1 (en) 2015-03-05
JP6067120B2 (ja) 2017-01-25
EP2888712A1 (en) 2015-07-01
CA2882099C (en) 2017-10-24
HK1207460A1 (en) 2016-01-29
WO2014035640A1 (en) 2014-03-06
GB201503471D0 (en) 2015-04-15
EP2888712A4 (en) 2016-09-28
CN104662578A (zh) 2015-05-27
JP2017080455A (ja) 2017-05-18
JP2015533534A (ja) 2015-11-26
CN104662578B (zh) 2019-01-01
JP6154057B2 (ja) 2017-06-28
GB2519903A (en) 2015-05-06
HK1207459A1 (en) 2016-01-29
KR101793189B1 (ko) 2017-11-02
CA2882099A1 (en) 2014-03-06

Similar Documents

Publication Publication Date Title
KR101793189B1 (ko) 하나 이상의 모바일 컴퓨팅 디바이스들을 갖는 로봇 시스템의 통합
US10874952B2 (en) Virtual representation of physical agent
US9067145B2 (en) Virtual representations of physical agents
EP3592445B1 (en) Gameplay ride vehicle systems and methods
US20200254353A1 (en) Synchronized motion simulation for virtual reality
CN109478340B (zh) 模拟系统、处理方法以及信息存储介质
WO2018012395A1 (ja) シミュレーションシステム、処理方法及び情報記憶媒体
US9555337B2 (en) Method for tracking physical play objects by virtual players in online environments
JP6719308B2 (ja) シミュレーションシステム及びプログラム
US20060223637A1 (en) Video game system combining gaming simulation with remote robot control and remote robot feedback
JP6957218B2 (ja) シミュレーションシステム及びプログラム
US20190105572A1 (en) Drivable vehicle augmented reality game
US9550129B2 (en) Multiplayer game platform for toys fleet controlled by mobile electronic device
JP2014150958A (ja) ゲームシステム及びプログラム
KR101473422B1 (ko) 완구 구동 시스템 및 완구 제어용 애플리케이션
JP6974780B2 (ja) ゲームプログラム、コンピュータ、及びゲームシステム
JP6901541B2 (ja) ゲームプログラム、コンピュータ、及びゲームシステム
JP2021053421A (ja) ゲームプログラム、コンピュータ、及びゲームシステム

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
GRNT Written decision to grant