KR20120135117A - 개별 클라이언트 컴퓨팅 디바이스들을 통해 2차원 또는 3차원으로 표현되는 가상 공간의 싱글 인스턴스를 제공하는 것 - Google Patents

개별 클라이언트 컴퓨팅 디바이스들을 통해 2차원 또는 3차원으로 표현되는 가상 공간의 싱글 인스턴스를 제공하는 것 Download PDF

Info

Publication number
KR20120135117A
KR20120135117A KR1020120059389A KR20120059389A KR20120135117A KR 20120135117 A KR20120135117 A KR 20120135117A KR 1020120059389 A KR1020120059389 A KR 1020120059389A KR 20120059389 A KR20120059389 A KR 20120059389A KR 20120135117 A KR20120135117 A KR 20120135117A
Authority
KR
South Korea
Prior art keywords
virtual space
client computing
dimensional representation
computing platform
users
Prior art date
Application number
KR1020120059389A
Other languages
English (en)
Other versions
KR101905909B1 (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 KR20120135117A publication Critical patent/KR20120135117A/ko
Application granted granted Critical
Publication of KR101905909B1 publication Critical patent/KR101905909B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Digital Computer Display Output (AREA)

Abstract

개별 클라이언트 컴퓨팅 디바이스들 상에 적어도 2차원 또는 3차원으로 동시에 표현될 수 있는 가상 공간의 싱글 인스턴스가 제공될 수 있다. 가상 공간의 제시를 용이하게 하는 데 이용되는 가상 공간 정보는 가상 공간이 2차원 또는 3차원으로 표현될지에 관해 불가지론자(agnostic)일 수 있다. 즉, 동일한 가상 공간 정보는 임의의 주어진 클라이언트 컴퓨팅 플랫폼에 의해 제시된 가상 공간 표현들의 차원수에 상관없이 하나 이상의 클라이언트 컴퓨팅 플랫폼에 전송될 수 있다. 개별적인 클라이언트 컴퓨팅 플랫폼들에서 개별적인 클라이언트 컴퓨팅 플랫폼들과 연관된 하나 이상의 메트릭에 기초하여 가상 공간 표현을 2차원 또는 3차원으로 제시할지에 관해 결정이 행해질 수 있다. 이러한 메트릭은 하나 이상의 프로세서들의 계산력, 통신 대역폭, 스크린 사이즈, 및/또는 다른 메트릭을 포함할 수 있다.

Description

개별 클라이언트 컴퓨팅 디바이스들을 통해 2차원 또는 3차원으로 표현되는 가상 공간의 싱글 인스턴스를 제공하는 것{PROVIDING A SINGLE INSTANCE OF A VIRTUAL SPACE REPRESENTED IN EITHER TWO DIMENSIONS OR THREE DIMENSIONS VIA SEPARATE CLIENT COMPUTING DEVICES}
본 발명은 사용자들이 그들이 인터페이스하는 가상 공간의 차원수에 상관없이 서로 상호작용할 수 있도록 개별 클라이언트 컴퓨팅 디바이스들을 통해 가상 공간의 싱글 인스턴스(single instance)의 2차원 또는 3차원 제시(presentation)를 가능하게 함으로써 가상 공간의 접근성을 넓히는 것에 관한 것이다.
종래에는, 가상 공간들(예를 들어, 가상 세계들, 비디오 게임들, 및/또는 다른 가상 공간들)이 2차원 또는 3차원으로, 그러나 둘다로는 아니라, 표현된다. 3차원으로 표현되는 가상 공간은 저출력 디바이스들(low-powered devices)의 사용자들을 제외할 수 있어, 유능한 하드웨어를 갖는 것들만이 이러한 가상 공간에서 풍부한 경험(rich experience)을 할 수 있게 한다. 다른 한편으로, 2차원으로 표현되는 가상 공간은 저출력 디바이스들을 갖는 사용자들의 포함을 허용하지만, 더 유능한 디바이스들을 갖는 사용자들의 경험을 희생시키고, 가상 공간의 전반적인 풍부함을 제한한다.
발명의 일 양태는 개별 클라이언트 컴퓨팅 디바이스들을 통한 가상 공간의 싱글 인스턴스의 2차원 또는 3차원 제시를 가능하게 하는 시스템 및 방법에 관한 것이다. 이것은 가상 공간의 접근성을 넓힐 수 있다. 결과로서, 사용자들은 그들이 인터페이스하는 가상 공간의 차원수와 상관없이 서로 상호작용할 수 있을 수 있다. 다른 비-한정적인 예로서, 단일 사용자는 클라이언트 컴퓨팅 디바이스 상의 가상 공간의 인스턴스의 3차원 표현을 액세스할 수 있고, 덜 복잡한 클라이언트 컴퓨팅 디바이스(예를 들어, 모바일 디바이스) 상의 가상 공간의 인스턴스의 2차원 표현을 액세스할 수 있다.
시스템은 가상 공간 서버를 포함할 수 있다. 가상 공간 서버는 하나 이상의 통신 채널들을 통해 하나 이상의 클라이언트 컴퓨팅 플랫폼들과 통신하도록 구성될 수 있다. 가상 공간 서버는 하나 이상의 컴퓨터 프로그램 모듈들을 실행하도록 구성될 수 있다. 컴퓨터 프로그램 모듈들은 가상 공간 모듈, 사용자 모듈, 경로 결정 모듈, 및/또는 다른 모듈들 중 하나 이상을 포함할 수 있다.
가상 공간 모듈은 가상 공간의 인스턴스를 구현하고 가상 공간의 시각적 표현들을 결정하도록 구성될 수 있다. 이러한 표현들의 제시를 가능하게 하도록 구성되는 가상 공간 정보가 그 다음에 사용자들에의 제시를 위해 가상 공간 서버로부터 하나 이상의 클라이언트 컴퓨팅 플랫폼들로 통신될 수 있다. 주어진 클라이언트 컴퓨팅 플랫폼에 대해 결정되어 전송된 가상 공간 정보는 주어진 클라이언트 컴퓨팅 플랫폼을 통해 사용자에 의해 제어되는 사용자 캐릭터(user character)에 대응하고 및/또는 그를 포함할 수 있다.
사용자 모듈은 시스템의 사용자들과 연관된 하나 이상의 사용자 프로필들을 액세스 및/또는 관리하도록 구성될 수 있다. 사용자 프로필은 예를 들어, 가상 공간 내의 사용자들을 식별하는 정보, 가상 공간 계정 정보, 가상 공간 이용 정보, 및/또는 사용자들에 관련된 다른 정보를 포함할 수 있다. 하나 이상의 사용자 프로필은 가상 공간 서버에 의해 저장된 정보, 하나 이상의 클라이언트 컴퓨팅 플랫폼, 및/또는 다른 저장 위치들을 포함할 수 있다.
경로 결정 모듈은 가상 공간의 2차원 표현을 보는 사용자들과 연관된 사용자 캐릭터들이 가상 공간의 3차원 표현에서 따를 경로들을 결정하도록 구성될 수 있다. 경로 결정 모듈은 아래 더 설명된다.
클라이언트 컴퓨팅 플랫폼들 중 개별적인 것들은 하나 이상의 컴퓨터 프로그램 모듈들을 실행하도록 구성될 수 있다. 컴퓨터 프로그램 모듈들은 통신 모듈, 차원수 결정 모듈, 제시 모듈, 목적지 모듈, 및/또는 다른 모듈들 중 하나 이상을 포함할 수 있다.
통신 모듈은 예를 들어 가상 공간 서버로부터 가상 공간 정보를 수신하도록 구성될 수 있다. 통신 모듈은 시스템의 하나 이상의 컴포넌트들에 정보를 전송하도록 구성될 수 있다.
차원수 결정 모듈은 주어진 클라이언트 컴퓨팅 플랫폼, 사용자 선호도들, 사용자 선택가능한 설정들, 및/또는 다른 인자들과 연관된 하나 이상의 메트릭에 기초하여 2차원 또는 3차원으로 가상 공간 표현을 제시할지를 결정하도록 구성될 수 있다. 이러한 메트릭은 예를 들어, 주어진 클라이언트 컴퓨팅 플랫폼의 계산력, 주어진 클라이언트 컴퓨팅 플랫폼과 연관된 통신 대역폭, 주어진 클라이언트 컴퓨팅 플랫폼과 연관된 스크린 사이즈 및/또는 주어진 클라이언트 컴퓨팅 플랫폼과 연관된 다른 메트릭들 또는 특징들을 포함할 수 있다.
제시 모듈은 주어진 클라이언트 컴퓨팅 플랫폼을 통해 가상 공간 표현의 제시를 용이하게 하도록 구성될 수 있다. 일부 구현들에 따르면, 가상 공간 표현은 차원수 결정 모듈의 결정에 기초하여 2차원 또는 3차원으로 제시될 수 있다.
목적지 모듈은 주어진 클라이언트 컴퓨팅 플랫폼과 연관된 사용자 캐릭터를 위한 엔드 포인트 선택(end-point selection)을 수신하도록 구성될 수 있다. 엔드 포인트는 사용자 캐릭터를 위한 가상 공간 내의 공간적 목적지일 수 있다. 목적지 모듈은 클라이언트 컴퓨팅 플랫폼을 통해 사용자에게 제시되는 인터페이스를 통해 엔드 포인트 선택을 수신할 수 있다. 엔드 포인트 선택은 좌표, 장소, 좋아하는 장소들의 세트, 다른 사용자 캐릭터의 위치, 객체(이동 및/또는 고정), 및/또는 가상 공간 내의 위치를 표시하는 다른 정보를 포함할 수 있다. 엔드 포인트 선택은 아래 더 설명되는 바와 같이, 가상 공간의 3차원 표현에서 이러한 사용자 캐릭터를 위한 하나 이상의 경로를 결정하기 위해 가상 공간 서버의 경로 결정 모듈에 의해 이용될 수 있다.
가상 공간 서버의 경로 결정 모듈을 다시 참조하면, 그것은 사용자 캐릭터들이 가상 공간의 3차원 표현에서 따를 하나 이상의 경로를 결정하도록 구성될 수 있다. 경로들은 가상 공간의 2차원 표현들을 보는 사용자들과 연관된 사용자 캐릭터들에 대해 결정될 수 있다. 일부 구현들에서, 하나 이상의 경로들의 개별적인 것들은 클라이언트 컴퓨터 플랫폼의 목적지 모듈에 의해 수신된 엔드 포인트 선택, 사용자 설정들, 가상 공간 내의 사용자 관계들, 사용자에 의한 지난 이용 패턴들에 기초하여, 및/또는 다른 정보에 기초하여, 자동으로 결정될 수 있다. 주어진 경로는 정적, 동적, 및/또는 확률적으로 선택될 수 있다.
가상 공간 정보는 가상 공간이 2 또는 3 차원으로 표현될지에 관해 불가지론자(agnostic)일 수 있다. 즉, 동일한 가상 공간 정보는 클라이언트 컴퓨터 플랫폼(들)에 의해 제시된 가상 공간 표현들의 차원수와 상관없이 하나 이상의 클라이언트 컴퓨터 플랫폼에 전송될 수 있다. 이와 같이, 가상 공간의 2차원 표현들 및 3차원 표현들의 사용자들은 가상 공간의 싱글 인스턴스에서 상호작용하고 참여할 수 있다. 더욱 구체적으로, 가상 공간의 2차원 표현의 사용자들은 가상 공간의 2차원 표현 내에서 가상 공간의 3차원 표현의 사용자들과 상호작용할 수 있게 될 수 있다. 반대로, 가상 공간의 3차원 표현의 사용자들은 가상 공간의 3차원 표현 내에서 가상 공간의 2차원 표현의 사용자들과 상호작용할 수 있게 될 수 있다.
본 기술의 이들 및 다른 특징들, 및 특성들과, 구조의 관련 요소들의 기능들 및 동작의 방법들 및 부분들의 결합 및 제조의 경제성들은, 모두 본 명세서의 일부를 형성하는, 첨부 도면들을 참조하여 다음의 설명 및 첨부된 청구항들의 고려시 더욱 명백하게 될 것이고, 여기서 동일한 참조 번호들은 다양한 도면들에서 대응하는 부분들을 지정한다. 그러나, 도면들은 오직 예시 및 설명의 목적을 위한 것이고, 본 발명의 제한들의 정의로서 의도되지 않는다는 것을 명백히 이해할 것이다. 명세서 및 청구항들에서 이용되는 바와 같이, 단수 형태("a", "an" 및 "the")는 문맥이 달리 분명하게 지시하지 않는 한 복수 지시대상들(referents)을 포함한다.
도 1은 하나 이상의 구현들에 따라, 클라이언트 컴퓨팅 플랫폼들을 통해 2차원 또는 3차원으로 가상 공간의 싱글 인스턴스를 제시하기 위해 구성된 시스템을 도시한다.
도 2는 하나 이상의 구현들에 따라, 클라이언트 컴퓨팅 플랫폼들을 통해 2차원 또는 3차원으로 가상 공간의 싱글 인스턴스를 제시하기 위한 방법을 도시한다.
도 1은 하나 이상의 구현들에 따라, 클라이언트 컴퓨팅 플랫폼들을 통해 2차원 또는 3차원으로 가상 공간의 싱글 인스턴스를 제시하기 위해 구성된 시스템(100)을 도시한다. 이러한 가상 공간의 예들은 가상 세계, 비디오 게임, 소셜 게임, 및/또는 다른 가상 공간들을 포함할 수 있다. 본 발명은 본원에서 가상 공간의 2 및 3 차원 표현들의 문맥에서 설명되지만, 이것은 한정인 것으로 의도되지 않고 가상 공간의 다른 표현들이 고려된다는 것을 알 것이다. 예를 들어, 가상 공간은 텍스트 포맷(textual format)으로 표현될 수 있다. 일부 구현들에서, 시스템(100)은 가상 공간 서버(102)를 포함할 수 있다. 가상 공간 서버(102)는 클라이언트/서버 아키텍처에 따른 하나 이상의 클라이언트 컴퓨팅 플랫폼들(104)과 통신하도록 구성될 수 있다. 사용자들은 클라이언트 컴퓨팅 플랫폼(104)을 통해 시스템(100) 및/또는 가상 공간에 액세스할 수 있다.
가상 공간 서버(102)는 하나 이상의 컴퓨터 프로그램 모듈들을 실행하도록 구성될 수 있다. 컴퓨터 프로그램 모듈들은 가상 공간 모듈(106), 사용자 모듈(108), 경로 결정 모듈(110), 및/또는 다른 모듈들 중 하나 이상을 포함할 수 있다.
가상 공간 모듈(106)은 가상 공간의 인스턴스를 구현하고 가상 공간의 시각적 표현들을 결정하도록 구성될 수 있다. 이러한 표현들의 제시를 가능하게 하도록 구성되는 가상 공간 정보가 그 다음에 사용자들에게 제시를 위해 가상 공간 서버(102)로부터 클라이언트 컴퓨팅 플랫폼들(104)로 (예를 들어, 스트리밍을 통해, 객체/위치 데이터를 통해, 및/또는 다른 정보를 통해) 통신될 수 있다. 가상 공간 정보는 가상 공간이 2 또는 3 차원들로 표현될 것인지에 관해 불가지론자일 수 있다는 것은 주목할 만하다. 즉, 동일한 가상 공간 정보는 클라이언트 컴퓨팅 플랫폼들(104)에 의해 제시되는 가상 공간 표현들의 차원수에 상관없이 클라이언트 컴퓨팅 플랫폼들(104)에 전송될 수 있다. 주어진 클라이언트 컴퓨팅 플랫폼(104)에 대해 결정되어 전송되는 가상 공간 정보는 주어진 클라이언트 컴퓨팅 플랫폼(104)을 통해 사용자에 의해 제어되는 사용자 캐릭터에 대응하고 및/또는 그를 포함할 수 있다. 주어진 클라이언트 컴퓨팅 플랫폼(104)에 대해 결정되어 전송되는 가상 공간 정보는 가상 공간의 위치(예를 들어, 표현의 뷰(view)가 취해지는 위치, 표현이 도시하는 위치, 및/또는 다른 위치들), 줌 비율, 객체들의 차원수, 관점, 및/또는 뷰 파라미터들에 대응할 수 있다. 뷰 파라미터들 중 하나 이상은 사용자에 의해 선택가능할 수 있다.
가상 공간의 인스턴스는, 사용자들에게 가상 공간의 표현들을 제시하는 클라이언트 컴퓨팅 플랫폼(104)을 통해 사용자들에 의해 액세스가능한 시뮬레이션된 공간을 포함할 수 있다. 시뮬레이션된 공간은 토포그래피(topography)를 갖고, 하나 이상의 사용자들에 의한 진행중인 실시간 상호작용을 표현하고, 및/또는 토포그래피 내의 이동(locomotion)이 가능한 토포그래피 내에 배치되는 하나 이상의 객체들을 포함할 수 있다. 일부 경우들에서, 토포그래피는 2차원 토포그래피일 수 있다. 다른 경우들에서, 토포그래피는 3차원 토포그래피일 수 있다. 토포그래피는 시뮬레이션된 공간의 차원들, 및/또는 시뮬레이션된 공간에 대해 "타고난(native)" 객체들 또는 표면의 표면 특징들을 포함할 수 있다. 일부 경우들에서, 토포그래피는 적어도 시뮬레이션된 공간의 상당 부분 사이로 퍼지는(run through) 표면(예를 들어, 지표면)을 기술할 수 있다. 일부 경우들에서, 토포그래피는 그 안에 배치된 하나 이상의 보디들을 갖는 볼륨(예를 들어, 그 안에 배치된 하나 이상의 천체들(celestial bodies)을 갖는 중력이 없는 공간(gravity-deprived space)의 시뮬레이션)을 기술할 수 있다. 게임의 인스턴스는 동기성, 비동기성, 및/또는 반-동기성일 수 있다.
가상 공간의 표현들 및/또는 그와 연관된 가상 공간 정보가 가상 공간 모듈(106)에 의해 결정되는 방식에 관한 위의 설명은 한정하는 것으로 의도되지 않는다. 가상 공간 모듈(106)은 가상 공간을 더 제한되거나, 또는 더 풍부한 방식으로 표현하도록 구성될 수 있다. 예를 들어, 가상 공간에 대해 결정된 표현들은 가상 공간 내의 주어진 장소에 이벤트를 도시하는 그래픽의 제한된 세트로부터 선택될 수 있다. 표현들은 비교적 일반적인 그래픽을 넘어서, 장소의 현재 상태의 상세들을 기술하는 부가적인 콘텐츠(예를 들어, 텍스트, 오디오, 미리 저장된 비디오 콘텐츠, 및/또는 다른 콘텐츠)를 포함할 수 있다. 예를 들어, 표현은 대립되는 상대들의 텍스트 설명을 갖는 일반적인 배틀 그래픽(generic battle graphic)을 포함할 수 있다. 가상 공간 내의 개별 장소들의 다른 표현들이 고려된다.
가상 공간 모듈(106)에 의해 실행되는 가상 공간의 인스턴스(들) 내에서, 사용자들은 가상 공간과 및/또는 서로 상호작용하기 위해 가상 공간 내의 캐릭터들, 객체들, 시뮬레이션된 물리적인 현상(예를 들어, 바람, 비, 지진, 및/또는 다른 현상), 및/또는 다른 요소들을 제어할 수 있다. 사용자 캐릭터들은 아바타들을 포함할 수 있다. 본원에 이용된 바와 같이, "사용자 캐릭터"라는 용어는 개별 사용자를 표현하는 가상 공간에 제시되는 객체(또는 객체들의 그룹)를 가리킬 수 있다. 사용자 캐릭터는 그것이 연관되는 사용자에 의해 제어될 수 있다. 사용자 제어형 요소(들)는 가상 공간(예를 들어, 가상 공간의 비-사용자 캐릭터들 및/또는 가상 공간의 다른 객체들)을 통해 이동하고 그와 상호작용할 수 있다. 주어진 사용자에 의해 제어되고 및/또는 그와 연관되는 사용자 제어형 요소들은 주어진 사용자에 의해 생성되고 및/또는 커스터마이즈(customize)될 수 있다. 사용자는 사용자가 가상 공간 내에서 (예를 들어, 사용자 캐릭터 또는 다른 사용자 제어형 요소, 및/또는 다른 아이템들의 조작에 의해) 이용할 수 있는 가상 제품 및/또는 가상 통화(virtual currency)의 "인벤토리(inventory)"를 가질 수 있다.
사용자들은 가상 공간에서 이용가능한 사용자 제어형 요소들 중 하나 이상을 제어함으로써 가상 공간의 인스턴스에 참여할 수 있다. 제어는 클라이언트 컴퓨팅 플랫폼들(104)을 통해 사용자들에 의해 제어 입력들 및/또는 커맨드 입력들을 통해 발휘(exercise)될 수 있다. 사용자들은 가상 공간 내에서 교환되는 통신들을 통해 서로 상호작용할 수 있다. 이러한 통신들은 텍스트 채트, 인스턴트 메시지들, 프라이빗 메시지들(private messages), 음성 통신들, 및/또는 다른 통신들 중 하나 이상을 포함할 수 있다. 통신들은 그들 각각의 클라이언트 컴퓨팅 플랫폼들(104)을 통해 사용자들에 의해 수신되고 입력될 수 있다. 통신들은 가상 공간 서버(102)를 통해(예를 들어, 가상 공간 모듈(106)을 통해) 적절한 사용자들로 및 그로부터 라우팅될 수 있다.
사용자 모듈(108)은 시스템(100)의 사용자들과 연관되는 하나 이상의 사용자 프로필들을 액세스 및/또는 관리하도록 구성될 수 있다. 하나 이상의 사용자 프로필들은 가상 공간 서버(102), 클라이언트 컴퓨팅 플랫폼들(104) 중 하나 이상, 및/또는 다른 저장 위치들에 의해 저장되는 정보를 포함할 수 있다. 사용자 프로필들은 예를 들어, 가상 공간 내에서 사용자들을 식별하는 정보(예를 들어, 사용자명 또는 핸들(handle), 번호, 식별자, 및/또는 다른 식별 정보), 보안 로그인 정보(예를 들어, 로그인 코드 또는 패스워드), 가상 공간 계정 정보, 가입 정보, 가상 통화 계좌 정보(예를 들어, 사용자에 예금이 있는 통화와 관련됨), 관계 정보(예를 들어, 게임에서 사용자들 사이의 관계들과 관련된 정보), 가상 공간 이용 정보, 사용자들과 연관된 데모그래픽 정보, 가상 공간 내의 사용자들 사이의 상호작용 히스토리, 사용자들에 의해 진술된 정보, 사용자들의 구입 정보, 사용자들의 브라우징 히스토리, 사용자와 연관된 클라이언트 컴퓨팅 플랫폼 식별부호(client computing platform identification), 사용자와 연관된 전화 번호, 및/또는 사용자들과 관련된 다른 정보를 포함할 수 있다.
경로 결정 모듈(110)은 가상 공간의 2차원 표현의 사용자들과 연관된 사용자 캐릭터들이 가상 공간의 3차원 표현에서 따를 하나 이상의 경로들을 결정하도록 구성될 수 있다. 경로 결정 모듈(110)은 아래 더 설명된다.
클라이언트 컴퓨팅 플랫폼들(104) 중 개별적인 것들은 하나 이상의 컴퓨터 프로그램 모듈들을 실행하도록 구성될 수 있다. 컴퓨터 프로그램 모듈들은 통신 모듈(112), 차원수 결정 모듈(114), 제시 모듈(116), 목적지 모듈(118), 및/또는 다른 모듈들 중 하나 이상을 포함할 수 있다.
통신 모듈(112)은 가상 공간 정보를 수신하도록 구성될 수 있다. 가상 공간 정보는 가상 공간 서버(102) 및/또는 시스템(100)의 다른 컴포넌트들로부터 수신될 수 있다. 가상 공간 정보는 개별적인 클라이언트 컴퓨팅 플랫폼들(104)에서 가상 공간의 표현의 제시를 용이하게 하도록 구성될 수 있다. 이와 같이, 가상 공간 정보는 가상 공간의 뷰들, 객체/위치 정보, 및/또는 가상 공간의 제시를 용이하게 하는 데 적절한 다른 정보를 포함할 수 있다. 통신 모듈(112)은 가상 공간 서버(102)를 포함하는 시스템(100)의 하나 이상의 컴포넌트들에 정보를 전송하도록 구성될 수 있다.
차원수 결정 모듈(114)은 주어진 클라이언트 컴퓨팅 플랫폼(104), 사용자 선호도들, 사용자 선택가능한 설정들, 및/또는 다른 인자들과 연관된 하나 이상의 메트릭에 기초하여 2차원 또는 3차원으로 가상 공간 표현을 제시할지를 결정하도록 구성될 수 있다. 이러한 메트릭은 예를 들어, 주어진 클라이언트 컴퓨팅 플랫폼(104)의 계산력, 주어진 클라이언트 컴퓨팅 플랫폼(104)과 연관된 통신 대역폭, 주어진 클라이언트 컴퓨팅 플랫폼(104)과 연관된 스크린 사이즈 및/또는 주어진 클라이언트 컴퓨팅 플랫폼(104)과 연관된 다른 메트릭들 또는 특징들을 포함할 수 있다.
통신 대역폭이 메트릭인 일부 구현들에 따르면, 결정 모듈(114)은 주어진 클라이언트 컴퓨팅 플랫폼(104)과 연관된 네트워크 접속의 하나 이상의 특성을 검출하도록 구성될 수 있다. 일부 구현들에서, 가상 공간 서버(102)의 하나 이상의 컴퓨터 프로그램 모듈들(예를 들어, 가상 공간 모듈(106))이 주어진 클라이언트 컴퓨팅 플랫폼(104)과 연관된 네트워크 접속의 하나 이상의 특성을 검출하도록 구성될 수 있다. 이러한 특성들은 대역폭(즉, 데이터 전송 속도)이 서비스 제공자에 의해 계량되는지(meter), 데이터 전송의 품질이 서비스 제공자에 의해 계량되는지, 주어진 클라이언트 컴퓨팅 플랫폼(104)과 연관된 접속의 유형, 및/또는 네트워크 접속과 연관된 다른 특성들을 포함할 수 있다. 접속들의 유형들의 예들은 셀룰러, WiFi, 및/또는 다른 유형들의 접속들을 포함할 수 있다. 일부 구현들에서, 가상 공간 서버(102)는 네트워크 접속의 하나 이상의 특성들을 보상하기 위해 주어진 클라이언트 컴퓨팅 플랫폼(104)에 전송되는 데이터의 양 및/또는 속도를 동적으로 및/또는 정적으로 조절하도록 구성될 수 있다. 예를 들어, 가상 공간 서버(102)는 대역폭 사용을 줄이기 위해서 특정 클라이언트 컴퓨팅 플랫폼(104)에 더 적은 데이터를 전송할 수 있다. 일부 구현들에서, 클라이언트 컴퓨팅 플랫폼(104)은 가상 공간 서버(102)에 의해 전송된 데이터의 일부를 무시할 수 있다.
위에서 언급한 바와 같이, 클라이언트 컴퓨팅 플랫폼(104)에 의해 수신된 가상 공간 정보는 가상 공간이 2 또는 3 차원들로 표현될 것인지에 관해 불가지론자일 수 있다. 즉, 동일한 가상 공간 정보는 클라이언트 컴퓨팅 플랫폼(들)(104)에 의해 제시되는 가상 공간 표현들의 차원수에 상관없이 하나 이상의 클라이언트 컴퓨팅 플랫폼들(104)에 전송될 수 있다. 이와 같이, 가상 공간의 2차원 표현들 및 3차원 표현들의 사용자들이 가상 공간의 싱글 인스턴스에서 상호작용하고 참여할 수 있다. 더욱 구체적으로, 가상 공간의 2차원 표현의 사용자들은 가상 공간의 2차원 표현 내의 가상 공간의 3차원 표현의 사용자들과 상호작용할 수 있게 될 수 있다. 반대로, 가상 공간의 3차원 표현의 사용자들은 가상 공간의 3차원 표현 내의 가상 공간의 2차원 표현의 사용자들과 상호작용할 수 있게 될 수 있다.
주어진 클라이언트 컴퓨팅 플랫폼(104)에 의해 제시되는 가상 공간 표현들의 차원수를 결정하기 위해 본원에 설명된 방식들은 제한하는 것으로 의도되지 않고 다른 방식들이 고려된다는 것을 알 것이다. 예를 들어, 일부 구현들에서, 주어진 클라이언트 컴퓨팅 플랫폼(104)의 하나 이상의 하드웨어 디바이스들은 가상 공간 표현의 차원수를 결정할 수 있다. 이것은 비록 동일한 방송이 둘다에 의해 수신되었을지라도, 흑백 텔레비전 수상기들이 흑백으로 방송을 제시하고 컬러 텔레비전 수상기들이 컬러로 방송을 제시하는 컬러 텔레비전 방송과 대략 유사할 수 있다.
제시 모듈(116)은 클라이언트 컴퓨팅 플랫폼(104)을 통해 가상 공간 표현의 제시를 용이하게 하도록 구성될 수 있다. 이러한 제시는 클라이언트 컴퓨팅 플랫폼(104)과 연관된 디스플레이 디바이스와 함께 수행될 수 있다. 일부 구현들에 따르면, 가상 공간 표현은 차원수 결정 모듈(114)의 결정에 기초하여 2차원 또는 3차원으로 제시될 수 있다. 위에서 논의한 바와 같이, 가상 공간 표현의 차원수에 관한 결정은 차원수 결정 모듈(114) 이외의 수단에 의해 실현될 수 있다.
목적지 모듈(118)은 주어진 클라이언트 컴퓨팅 플랫폼(104)과 연관된 사용자 캐릭터에 대한 엔드 포인트 선택을 수신하도록 구성될 수 있다. 엔드 포인트는 사용자 캐릭터에 대한 가상 공간 내의 공간적 목적지일 수 있다. 목적지 모듈(118)은 클라이언트 컴퓨팅 플랫폼(104)을 통해 사용자에게 제시되는 인터페이스를 통해 엔드 포인트 선택을 수신할 수 있다. 엔드 포인트 선택은 좌표, 장소, 좋아하는 장소들의 세트, 다른 사용자 캐릭터의 위치, 객체(이동 및/또는 고정), 및/또는 가상 공간 내의 위치를 표시하는 다른 정보를 포함할 수 있다. 엔드 포인트 선택 및/또는 그와 연관된 정보는 클라이언트 컴퓨팅 플랫폼(104)으로부터 가상 공간 서버(102)에 통신될 수 있다. 엔드 포인트 선택은 아래 더 설명되는 바와 같이, 가상 공간의 3차원 표현에서 이러한 사용자 캐릭터에 대한 하나 이상의 경로를 결정하기 위해 가상 공간 서버(102)의 경로 결정 모듈(110)에 의해 이용될 수 있다.
가상 공간 서버(102)의 경로 결정 모듈(110)을 다시 참조하면, 그것은 사용자 캐릭터들이 가상 공간의 3차원 표현에서 따를 하나 이상의 경로를 결정하도록 구성될 수 있다. 경로들은 가상 공간의 2차원 표현들을 보는 사용자들과 연관된 사용자 캐릭터들에 대해 결정될 수 있다. 일부 구현들에서, 하나 이상의 경로들 중 개별적인 것들은 클라이언트 컴퓨팅 플랫폼(104)의 목적지 모듈(118)에 의해 수신된 엔드 포인트 선택, 사용자 설정들, 가상 공간 내의 사용자 관계들, 사용자에 의한 지난 사용 패턴들, 및/또는 다른 정보에 기초하여, 자동으로 결정될 수 있다. 주어진 경로는 정적, 동적, 및/또는 확률적으로 선택될 수 있다.
일부 구현들에서, 가상 공간 서버(102), 클라이언트 컴퓨팅 플랫폼들(104), 및/또는 외부 리소스들(120)은 하나 이상의 전자 통신 링크를 통해 동작가능하게 링크될 수 있다. 예를 들어, 이러한 전자 통신 링크들은 적어도 부분적으로, 인터넷 및/또는 다른 네트워크들과 같은 네트워크를 통해, 구축될 수 있다. 이것은 한정하는 것으로 의도되지 않고, 이 개시의 범위는 가상 공간 서버(102), 클라이언트 컴퓨팅 플랫폼들(104), 및/또는 외부 리소스들(120)이 일부 다른 통신 매체를 통해 동작가능하게 링크될 수 있는 구현들을 포함한다는 것을 알 것이다.
외부 리소스들(120)은 시스템(100)의 외부의 가상 공간들의 정보의 소스들, 호스트들 및/또는 제공자들, 시스템(100)에 참여하는 외부 엔티티들, 및/또는 다른 리소스들을 포함할 수 있다. 일부 구현들에서, 본원에서 외부 리소스들(120)에 의해 제공되는 기능의 일부 또는 전부가 시스템(100)에 포함되는 리소스들에 의해 제공될 수 있다.
주어진 클라이언트 컴퓨팅 플랫폼(104)은 전자 스토리지(122), 하나 이상의 프로세서(124), 및/또는 다른 컴포넌트들을 포함할 수 있다. 클라이언트 컴퓨팅 플랫폼(104)은 네트워크 및/또는 다른 컴퓨팅 플랫폼들과의 정보의 교환을 가능하게 하기 위해 통신 라인들, 또는 포트들을 포함할 수 있다. 도 1의 클라이언트 컴퓨팅 플랫폼(104)의 도해는 한정하는 것으로 의도되지 않는다. 클라이언트 컴퓨팅 플랫폼(104)은 본원에서 클라이언트 컴퓨팅 플랫폼(104)에 의해 제공되는 기능을 제공하기 위해 함께 동작하는 복수의 하드웨어, 소프트웨어, 및/또는 펌웨어 컴포넌트들을 포함할 수 있다. 비한정적인 예에 의하여, 주어진 클라이언트 컴퓨팅 플랫폼(104)은 데스크톱 컴퓨터, 랩톱 컴퓨터, 핸드헬드 컴퓨터, 넷북(NetBook), 스마트폰, 게이밍 콘솔(gaming console), 및/또는 다른 컴퓨팅 플랫폼들 중 하나 이상을 포함할 수 있다.
전자 스토리지(122)는 전자적으로 정보를 저장하는 전자 저장 매체를 포함할 수 있다. 전자 스토리지(122)의 전자 저장 매체는 예를 들어, 포트(예를 들어, USB 포트, 파이어와이어 포트 등) 또는 드라이브(예를 들어, 디스크 드라이브 등)를 통해 클라이언트 컴퓨팅 플랫폼(104)에 착탈식으로 접속가능한 착탈식 스토리지 및/또는 클라이언트 컴퓨팅 플랫폼(104)과 일체로(즉, 실질적으로 비-착탈식) 제공되는 시스템 스토리지 중 하나 또는 둘다를 포함할 수 있다. 전자 스토리지(122)는 광학적으로 판독가능한 저장 매체(예를 들어, 광학 디스크들 등), 자기적으로 판독가능한 저장 매체(예를 들어, 자기 테이프, 자기 하드 드라이브, 플로피 드라이브 등), 전기 전하 기반 저장 매체(electrical charge-based storage media)(예를 들어, EEPROM, RAM 등), 고체 상태 저장 매체(예를 들어, 플래시 드라이브 등), 및/또는 다른 전자적으로 판독가능한 저장 매체 중 하나 이상을 포함할 수 있다. 전자 스토리지(122)는 하나 이상의 가상 저장 리소스들(예를 들어, 크라우드 스토리지(cloud storage), 가상 사설 네트워크, 및/또는 다른 가상 저장 리소스들)을 포함할 수 있다. 전자 스토리지(122)는 소프트웨어 알고리즘들, 프로세서(124)에 의해 결정된 정보, 클라이언트 컴퓨팅 플랫폼(104)으로부터 수신된 정보, 가상 공간 서버(102)로부터 수신된 정보, 및/또는 클라이언트 컴퓨팅 플랫폼(104)이 본원에 설명된 바와 같이 기능하도록 할 수 있는 다른 정보를 저장할 수 있다.
프로세서(들)(124)는 클라이언트 컴퓨팅 플랫폼(104)에서의 정보 처리 능력들을 제공하도록 구성될 수 있다. 이와 같이, 프로세서(124)는 디지털 프로세서, 아날로그 프로세서, 정보를 처리하도록 설계된 디지털 회로, 정보를 처리하도록 설계된 아날로그 회로, 상태 머신, 및/또는 정보를 전자적으로 처리하기 위한 다른 메커니즘들 중 하나 이상을 포함할 수 있다. 프로세서(124)가 도 1에서 단일 엔티티로서 도시되지만, 이것은 오직 예시의 목적을 위한 것이다. 일부 구현들에서, 프로세서(124)는 복수의 프로세싱 유닛들을 포함할 수 있다. 이들 프로세싱 유닛들은 동일한 디바이스 내에 물리적으로 배치될 수 있거나, 또는 프로세서(124)는 합동하여 동작하는 복수의 디바이스들의 프로세싱 기능을 표현할 수 있다. 프로세서(124)는 모듈들(112, 114, 116, 118) 및/또는 다른 모듈들을 실행하도록 구성될 수 있다. 프로세서(124)는 소프트웨어; 하드웨어; 펌웨어; 소프트웨어, 하드웨어, 및/또는 펌웨어의 일부 결합; 및/또는 프로세서(124)에서의 처리 능력들을 구성하기 위한 다른 메커니즘들에 의해 모듈들(112, 114, 116, 118) 및/또는 다른 모듈들을 실행하도록 구성될 수 있다.
모듈들(112, 114, 116, 및 118)은 도 1에서 단일 프로세싱 유닛 내에 함께 배치되는 것으로서 예시되지만, 프로세서(124)가 복수의 프로세싱 유닛들을 포함하는 구현들에서, 모듈들(112, 114, 116, 및/또는 118) 중 하나 이상은 다른 모듈들로부터 떨어져서 배치될 수 있다는 것을 알아야 한다. 아래 설명되는 상이한 모듈들(112, 114, 116, 및/또는 118)에 의해 제공되는 기능의 설명은 예시의 목적을 위한 것이고, 한정하는 것으로 의도되지 않으며, 모듈들(112, 114, 116, 및/또는 118) 중 임의의 것은 설명된 것보다 더 많거나 더 적은 기능을 제공할 수 있다. 예를 들어, 모듈들(112, 114, 116, 및/또는 118) 중 하나 이상은 제거될 수 있고, 그의 기능의 일부 또는 전부가 모듈들(112, 114, 116, 및/또는 118) 중 다른 것들에 의해 제공될 수 있다. 다른 예로서, 프로세서(124)는 모듈들(112, 114, 116, 및/또는 118) 중 하나에 의해 아래에서 제공되는 기능의 일부 또는 전부를 수행할 수 있는 하나 이상의 부가적인 모듈들을 실행하도록 구성될 수 있다.
가상 공간 서버(102)는 전자 스토리지(126), 하나 이상의 프로세서(128), 및/또는 다른 컴포넌트들을 포함할 수 있다. 가상 공간 서버(102)는 네트워크 및/또는 다른 컴퓨팅 플랫폼들과의 정보의 교환을 가능하게 하기 위해 통신 라인들, 또는 포트들을 포함할 수 있다. 도 1의 가상 공간 서버(102)의 도해는 한정하는 것으로 의도되지 않는다. 가상 공간 서버(102)는 본원에서 가상 공간 서버(102)에 의해 제공되는 기능을 제공하기 위해 함께 동작하는 복수의 하드웨어, 소프트웨어, 및/또는 펌웨어 컴포넌트들을 포함할 수 있다. 예를 들어, 가상 공간 서버(102)는 가상 공간 서버(102)로서 함께 동작하는 컴퓨팅 플랫폼들의 크라우드(cloud)에 의해 구현될 수 있다.
전자 스토리지(126)는 전자적으로 정보를 저장하는 전자 저장 매체를 포함할 수 있다. 전자 스토리지(126)의 전자 저장 매체는 예를 들어, 포트(예를 들어, USB 포트, 파이어와이어 포트 등) 또는 드라이브(예를 들어, 디스크 드라이브 등)를 통해 가상 공간 서버(102)에 착탈식으로 접속가능한 착탈식 스토리지 및/또는 가상 공간 서버(102)와 일체로(즉, 실질적으로 비-착탈식) 제공되는 시스템 스토리지 중 하나 또는 둘다를 포함할 수 있다. 전자 스토리지(126)는 광학적으로 판독가능한 저장 매체(예를 들어, 광학 디스크들 등), 자기적으로 판독가능한 저장 매체(예를 들어, 자기 테이프, 자기 하드 드라이브, 플로피 드라이브 등), 전기 전하 기반 저장 매체(예를 들어, EEPROM, RAM 등), 고체 상태 저장 매체(예를 들어, 플래시 드라이브 등), 및/또는 다른 전자적으로 판독가능한 저장 매체 중 하나 이상을 포함할 수 있다. 전자 스토리지(126)는 하나 이상의 가상 저장 리소스들(예를 들어, 크라우드 스토리지, 가상 사설 네트워크, 및/또는 다른 가상 저장 리소스들)을 포함할 수 있다. 전자 스토리지(126)는 소프트웨어 알고리즘들, 프로세서(128)에 의해 결정된 정보, 가상 공간 서버(102)로부터 수신된 정보, 클라이언트 컴퓨팅 플랫폼들(104)로부터 수신된 정보, 및/또는 가상 공간 서버(102)가 본원에 설명된 바와 같이 기능하도록 할 수 있는 다른 정보를 저장할 수 있다.
프로세서(들)(128)는 가상 공간 서버(102)에서의 정보 처리 능력들을 제공하도록 구성될 수 있다. 이와 같이, 프로세서(128)는 디지털 프로세서, 아날로그 프로세서, 정보를 처리하도록 설계된 디지털 회로, 정보를 처리하도록 설계된 아날로그 회로, 상태 머신, 및/또는 정보를 전자적으로 처리하기 위한 다른 메커니즘들 중 하나 이상을 포함할 수 있다. 프로세서(128)가 도 1에서 단일 엔티티로서 도시되지만, 이것은 오직 예시의 목적을 위한 것이다. 일부 구현들에서, 프로세서(128)는 복수의 프로세싱 유닛들을 포함할 수 있다. 이들 프로세싱 유닛들은 동일한 디바이스 내에 물리적으로 배치될 수 있거나, 또는 프로세서(128)는 합동하여 동작하는 복수의 디바이스들의 프로세싱 기능을 표현할 수 있다. 프로세서(128)는 모듈들(106, 108, 110) 및/또는 다른 모듈들을 실행하도록 구성될 수 있다. 프로세서(128)는 소프트웨어; 하드웨어; 펌웨어; 소프트웨어, 하드웨어, 및/또는 펌웨어의 일부 결합; 및/또는 프로세서(128)에서의 처리 능력들을 구성하기 위한 다른 메커니즘들에 의해 모듈들(106, 108, 110) 및/또는 다른 모듈들을 실행하도록 구성될 수 있다.
모듈들(106, 108, 및 110)은 도 1에서 단일 프로세싱 유닛 내에 함께 배치되는 것으로서 예시되지만, 프로세서(128)가 복수의 프로세싱 유닛들을 포함하는 구현들에서, 모듈들(106, 108, 및/또는 110) 중 하나 이상은 다른 모듈들로부터 떨어져서 배치될 수 있다는 것을 알아야 한다. 아래 설명되는 상이한 모듈들(106, 108, 및/또는 110)에 의해 제공되는 기능의 설명은 예시의 목적을 위한 것이고, 한정하는 것으로 의도되지 않으며, 모듈들(106, 108, 및/또는 110) 중 임의의 것은 설명된 것보다 더 많거나 더 적은 기능을 제공할 수 있다. 예를 들어, 모듈들(106, 108, 및/또는 110) 중 하나 이상은 제거될 수 있고, 그의 기능의 일부 또는 전부가 모듈들(106, 108, 및/또는 110) 중 다른 것들에 의해 제공될 수 있다. 다른 예로서, 프로세서(128)는 모듈들(106, 108, 및/또는 110) 중 하나에 의해 아래에서 제공되는 기능의 일부 또는 전부를 수행할 수 있는 하나 이상의 부가적인 모듈들을 실행하도록 구성될 수 있다.
도 2는 하나 이상의 구현들에 따라, 클라이언트 컴퓨팅 플랫폼들을 통해 2차원 또는 3차원으로 가상 공간의 싱글 인스턴스를 제시하기 위한 방법(200)을 도시한다. 아래 제시되는 방법(200)의 동작들은 예시인 것으로 의도된다. 일부 구현들에서, 방법(200)은 설명되지 않은 하나 이상의 부가적인 동작들에 의해, 및/또는 논의된 동작들 중 하나 이상 없이 달성될 수 있다. 부가적으로, 방법(200)의 동작들이 도 2에 예시되고 아래 설명되는 순서는 한정하는 것으로 의도되지 않는다.
일부 구현들에서, 방법(200)은 하나 이상의 프로세싱 디바이스들(예를 들어, 디지털 프로세서, 아날로그 프로세서, 정보를 처리하도록 설계된 디지털 회로, 정보를 처리하도록 설계된 아날로그 회로, 상태 머신, 및/또는 정보를 전자적으로 처리하기 위한 다른 메커니즘들)에서 구현될 수 있다. 하나 이상의 프로세싱 디바이스들은 전자 저장 매체에 전자적으로 저장된 명령어들에 응답하여 방법(200)의 동작들의 일부 또는 전부를 실행하는 하나 이상의 디바이스를 포함할 수 있다. 하나 이상의 프로세싱 디바이스들은 방법(200)의 동작들 중 하나 이상의 실행을 위해 구체적으로 설계되도록 하드웨어, 펌웨어, 및/또는 소프트웨어를 통해 구성되는 하나 이상의 디바이스를 포함할 수 있다.
동작(202)에서, 가상 공간 정보는 가상 공간 서버(102)로부터 복수의 클라이언트 컴퓨팅 플랫폼(104)으로 제공될 수 있다. 가상 공간 정보는 복수의 클라이언트 컴퓨팅 플랫폼들 중 개별적인 것들이 복수의 클라이언트 컴퓨팅 플랫폼들 중 개별적인 것들과 연관된 사용자들에게 가상 공간 표현을 제공할 수 있게 하도록 구성될 수 있다. 도 2는 가상 공간을 2차원으로 제시할 수 있는 클라이언트 컴퓨팅 플랫폼(104A)에 의해, 그리고 가상 공간을 3차원으로 제시할 수 있는 클라이언트 컴퓨팅 플랫폼(104B)에 의해 수신되는 가상 공간 정보를 도시한다. 두 클라이언트 컴퓨팅 플랫폼(104A) 및 클라이언트 컴퓨팅 플랫폼(104B)에 의해 수신되는 가상 공간 정보는 동일할 수 있다. 일부 구현들에서, 동작(202)은 가상 공간 서버(102)의 사용자 모듈(106) 및/또는 개별적인 클라이언트 컴퓨팅 플랫폼들(104)의 통신 모듈(112)을 통해 수행될 수 있다.
동작(204A)에서, 클라이언트 컴퓨팅 플랫폼(104A)과 연관된 메트릭들에 기초하여 가상 공간을 2 또는 3 차원들로 제시할지에 관해 클라이언트 컴퓨팅 플랫폼(104A)에서 결정이 행해질 수 있다. 동작(204B)에서, 클라이언트 컴퓨팅 플랫폼(104B)과 연관된 메트릭들에 기초하여 가상 공간을 2 또는 3 차원들로 제시할지에 관해 클라이언트 컴퓨팅 플랫폼(104B)에서 결정이 행해질 수 있다. 동작들(204A 및 204B)은 일부 구현들에 따라, 클라이언트 컴퓨팅 플랫폼(104A) 및 클라이언트 컴퓨팅 플랫폼(104B) 각각의 차원수 결정 모듈(114)에 의해 수행될 수 있다.
동작(206A)에서, 2차원 가상 공간 표현이 클라이언트 컴퓨팅 플랫폼(104A)을 통해 제시될 수 있고, 동작(206B)에서, 3차원 가상 공간 표현이 클라이언트 컴퓨팅 플랫폼(104B)을 통해 제시될 수 있다. 동작들(206A 및 206B)은 일부 구현들에 따라, 클라이언트 컴퓨팅 플랫폼(104A) 및 클라이언트 컴퓨팅 플랫폼(104B) 각각의 제시 모듈(116)에 의해 수행될 수 있다.
동작(208)에서, 클라이언트 컴퓨팅 플랫폼(104A)과 연관된 사용자 캐릭터의 위치 정보가 클라이언트 컴퓨팅 플랫폼(104A)으로부터 가상 공간 서버(102)에 통신될 수 있다. 일부 구현들에서, 동작(208)은 클라이언트 컴퓨팅 플랫폼(104A)의 통신 모듈(112)에 의해 수행될 수 있다.
동작(210)에서, 클라이언트 컴퓨팅 플랫폼(104A)과 연관된 사용자 캐릭터의 위치 정보는 가상 공간 서버(102)로부터 클라이언트 컴퓨팅 플랫폼(104B)에 통신될 수 있다. 동작(208)은 일부 구현들에 따라, 가상 공간 서버(102)의 사용자 모듈(106)에 의해 및/또는 클라이언트 컴퓨팅 플랫폼(104B)의 통신 모듈(112)에 의해 수행될 수 있다.
동작(212)에서, 클라이언트 컴퓨팅 플랫폼(104A)과 연관된 사용자 캐릭터는 클라이언트 컴퓨팅 플랫폼(104B)에서 3차원 가상 공간 표현으로 제시될 수 있다. 동작(212)은 일부 구현들에서, 클라이언트 컴퓨팅 플랫폼(104B)의 제시 모듈(116)에 의해 수행될 수 있다.
동작(214)에서, 클라이언트 컴퓨팅 플랫폼(104B)과 연관된 사용자 캐릭터의 위치 정보가 클라이언트 컴퓨팅 플랫폼(104B)으로부터 가상 공간 서버(102)에 통신될 수 있다. 일부 구현들에서, 동작(214)은 클라이언트 컴퓨팅 플랫폼(104B)의 통신 모듈(112)에 의해 수행될 수 있다.
동작(216)에서, 클라이언트 컴퓨팅 플랫폼(104B)과 연관된 사용자 캐릭터의 위치 정보는 가상 공간 서버(102)로부터 클라이언트 컴퓨팅 플랫폼(104A)에 통신될 수 있다. 동작(216)은 일부 구현들에 따라, 가상 공간 서버(102)의 사용자 모듈(106)에 의해 및/또는 클라이언트 컴퓨팅 플랫폼(104A)의 통신 모듈(112)에 의해 수행될 수 있다.
동작(218)에서, 클라이언트 컴퓨팅 플랫폼(104B)과 연관된 사용자 캐릭터는 클라이언트 컴퓨팅 플랫폼(104A)에서 2차원 가상 공간 표현으로 제시될 수 있다. 동작(218)은 일부 구현들에서, 클라이언트 컴퓨팅 플랫폼(104A)의 제시 모듈(116)에 의해 수행될 수 있다.
본 발명은 현재 가장 실제적이고 바람직한 구현들인 것으로 고려되는 것에 기초하여 예시의 목적으로 상세하게 설명되었지만, 이러한 상세는 오직 그 목적을 위한 것이고 발명이 개시된 구현들로 한정되지 않고, 반대로 첨부된 청구항들의 사상 및 범위 내에 있는 수정들 및 등가의 배열들을 커버하도록 의도된다는 것을 이해할 것이다. 예를 들어, 본 발명은, 가능한 정도로, 임의의 구현의 하나 이상의 특징들이 임의의 다른 구현의 하나 이상의 특징들과 결합될 수 있다는 것을 고려한다는 것을 이해할 것이다.
102: 가상 공간 서버
104: 클라이언트 컴퓨팅 플랫폼
106: 가상 공간 모듈
108: 사용자 모듈
110: 경로 결정 모듈
112: 통신 모듈
114: 차원수 결정 모듈
116: 제시 모듈
118: 목적지 모듈
120: 외부 리소스들
122: 전자 스토리지
124: 프로세서
126: 전자 스토리지
128: 프로세서

Claims (25)

  1. 클라이언트 컴퓨팅 플랫폼들을 통해 2차원 또는 3차원으로 가상 공간의 싱글 인스턴스(single instance)를 제시(present)하는 방법으로서,
    클라이언트 컴퓨팅 플랫폼에서 가상 공간 정보를 수신하는 단계 - 상기 가상 공간 정보는 상기 클라이언트 컴퓨팅 플랫폼이 상기 클라이언트 컴퓨팅 플랫폼과 연관된 사용자에게 제시를 위해 가상 공간의 표현(representation)을 제공할 수 있게 하도록 구성됨 - ;
    상기 클라이언트 컴퓨팅 플랫폼에서, 상기 클라이언트 컴퓨팅 플랫폼과 연관된 하나 이상의 메트릭에 기초하여 2차원 또는 3차원으로 가상 공간 표현을 제시할지를 결정하는 단계 - 상기 가상 공간의 2차원 표현의 사용자들은 상기 가상 공간의 상기 2차원 표현 내에서 상기 가상 공간의 3차원 표현의 사용자들과 상호작용할 수 있게 되고, 상기 가상 공간의 상기 3차원 표현의 사용자들은 상기 가상 공간의 상기 3차원 표현 내에서 상기 가상 공간의 상기 2차원 표현의 사용자들과 상호작용할 수 있게 됨 - ; 및
    상기 클라이언트 컴퓨팅 플랫폼을 통해서, 상기 결정에 기초하여 2차원 또는 3차원으로 상기 가상 공간 표현을 제시하는 단계
    를 포함하는 가상 공간의 싱글 인스턴스 제시 방법.
  2. 제1항에 있어서, 상기 가상 공간은 가상 세계 및/또는 비디오 게임 중 하나 또는 둘다를 포함하는 가상 공간의 싱글 인스턴스 제시 방법.
  3. 제1항에 있어서, 상기 클라이언트 컴퓨팅 플랫폼과 연관된 상기 하나 이상의 메트릭은 상기 클라이언트 컴퓨팅 플랫폼의 계산력, 상기 클라이언트 컴퓨팅 플랫폼과 연관된 통신 대역폭, 또는 상기 클라이언트 컴퓨팅 플랫폼과 연관된 스크린 사이즈 중 하나 이상을 포함하는 가상 공간의 싱글 인스턴스 제시 방법.
  4. 제1항에 있어서, 상기 가상 공간의 상기 2차원 표현의 사용자들과 연관된 사용자 캐릭터들(user characters)은 상기 가상 공간의 상기 3차원 표현에서 하나 이상의 미리 결정된 경로들을 따르는 가상 공간의 싱글 인스턴스 제시 방법.
  5. 제4항에 있어서, 상기 하나 이상의 미리 결정된 경로들 중 개별적인 것들은 상기 가상 공간의 상기 3차원 표현에서 정적인 가상 공간의 싱글 인스턴스 제시 방법.
  6. 제4항에 있어서, 상기 하나 이상의 미리 결정된 경로들 중 개별적인 것들은 상기 가상 공간의 상기 3차원 표현에서 동적인 가상 공간의 싱글 인스턴스 제시 방법.
  7. 제4항에 있어서, 상기 하나 이상의 미리 결정된 경로들 중 개별적인 것들은 확률적으로 결정되는 가상 공간의 싱글 인스턴스 제시 방법.
  8. 제4항에 있어서, 상기 클라이언트 컴퓨팅 플랫폼에서, 상기 가상 공간의 상기 2차원 표현에서 엔드 포인트 선택(end-point selection)을 수신하는 단계를 더 포함하고, 상기 하나 이상의 미리 결정된 경로들 중 개별적인 것들은 상기 엔드 포인트 선택에 기초하여 결정되는 가상 공간의 싱글 인스턴스 제시 방법.
  9. 2차원 또는 3차원으로 가상 공간의 싱글 인스턴스를 제시하는 시스템으로서,
    컴퓨터 프로그램 모듈들을 실행하도록 구성되는 하나 이상의 프로세서들을 포함하고, 상기 컴퓨터 프로그램 모듈들은,
    가상 공간 정보를 수신하도록 구성되는 통신 모듈 - 상기 가상 공간 정보는 가상 공간의 표현의 제시를 용이하게 하도록 구성됨 - ;
    상기 시스템과 연관된 하나 이상의 메트릭에 기초하여 2차원 또는 3차원으로 상기 가상 공간 표현을 제시할지를 결정하도록 구성되는 차원수 결정 모듈 - 상기 가상 공간의 2차원 표현의 사용자들은 상기 가상 공간의 상기 2차원 표현 내에서 상기 가상 공간의 3차원 표현의 사용자들과 상호작용할 수 있게 되고, 상기 가상 공간의 상기 3차원 표현의 사용자들은 상기 가상 공간의 상기 3차원 표현 내에서 상기 가상 공간의 상기 2차원 표현의 사용자들과 상호작용할 수 있게 됨 - ; 및
    상기 차원수 결정 모듈의 상기 결정에 기초하여 2차원 또는 3차원으로 상기 가상 공간 표현의 제시를 용이하게 하도록 구성되는 제시 모듈을 포함하는
    가상 공간의 싱글 인스턴스 제시 시스템.
  10. 제9항에 있어서, 상기 가상 공간은 가상 세계 및/또는 비디오 게임 중 하나 또는 둘다를 포함하는 가상 공간의 싱글 인스턴스 제시 시스템.
  11. 제9항에 있어서, 상기 시스템과 연관된 상기 하나 이상의 메트릭은 상기 하나 이상의 프로세서들의 계산력, 상기 시스템과 연관된 통신 대역폭, 또는 상기 시스템과 연관된 스크린 사이즈 중 하나 이상을 포함하는 가상 공간의 싱글 인스턴스 제시 시스템.
  12. 제9항에 있어서, 상기 가상 공간의 상기 2차원 표현의 사용자들과 연관된 사용자 캐릭터들은 상기 가상 공간의 상기 3차원 표현에서 하나 이상의 미리 결정된 경로들을 따르는 가상 공간의 싱글 인스턴스 제시 시스템.
  13. 제12항에 있어서, 상기 하나 이상의 미리 결정된 경로들 중 개별적인 것들은 상기 가상 공간의 상기 3차원 표현에서 정적인 가상 공간의 싱글 인스턴스 제시 시스템.
  14. 제12항에 있어서, 상기 하나 이상의 미리 결정된 경로들 중 개별적인 것들은 상기 가상 공간의 상기 3차원 표현에서 동적인 가상 공간의 싱글 인스턴스 제시 시스템.
  15. 제12항에 있어서, 상기 하나 이상의 미리 결정된 경로들 중 개별적인 것들은 확률적으로 결정되는 가상 공간의 싱글 인스턴스 제시 시스템.
  16. 제12항에 있어서, 상기 가상 공간의 상기 2차원 표현에서 엔드 포인트 선택을 수신하도록 구성되는 목적지 모듈을 더 포함하고, 상기 하나 이상의 미리 결정된 경로들 중 개별적인 것들은 상기 엔드 포인트 선택에 기초하여 결정되는 가상 공간의 싱글 인스턴스 제시 시스템.
  17. 적어도 2차원 또는 3차원으로 표현할 수 있는 가상 공간의 싱글 인스턴스를 제공하는 방법으로서,
    복수의 클라이언트 컴퓨팅 플랫폼에 가상 공간 정보를 제공하는 단계를 포함하고, 상기 가상 공간 정보는 상기 복수의 클라이언트 컴퓨팅 플랫폼 중 개별적인 것들이 상기 복수의 클라이언트 컴퓨팅 플랫폼 중 상기 개별적인 것들과 연관된 사용자들에게 가상 공간 표현을 제공할 수 있게 하도록 구성되고,
    주어진 클라이언트 컴퓨팅 플랫폼에 대해, 상기 가상 공간은 상기 주어진 클라이언트 컴퓨팅 플랫폼과 연관된 하나 이상의 메트릭에 기초하여 2차원 또는 3차원으로 표현되고,
    상기 가상 공간의 2차원 표현의 사용자들은 상기 가상 공간의 상기 2차원 표현 내에서 상기 가상 공간의 3차원 표현의 사용자들과 상호작용할 수 있게 되고, 상기 가상 공간의 상기 3차원 표현의 사용자들은 상기 가상 공간의 상기 3차원 표현 내에서 상기 가상 공간의 상기 2차원 표현의 사용자들과 상호작용할 수 있게 되는
    가상 공간의 싱글 인스턴스 제공 방법.
  18. 제17항에 있어서, 상기 가상 공간은 가상 세계 및/또는 비디오 게임 중 하나 또는 둘다를 포함하는 가상 공간의 싱글 인스턴스 제공 방법.
  19. 제17항에 있어서, 상기 주어진 클라이언트 컴퓨팅 플랫폼과 연관된 상기 하나 이상의 메트릭은 상기 주어진 클라이언트 컴퓨팅 플랫폼의 계산력, 상기 주어진 클라이언트 컴퓨팅 플랫폼과 연관된 통신 대역폭, 또는 상기 클라이언트 컴퓨팅 플랫폼의 스크린 사이즈 중 하나 이상을 포함하는 가상 공간의 싱글 인스턴스 제공 방법.
  20. 제17항에 있어서, 상기 가상 공간이 2차원 또는 3차원으로 표현되어 있는지에 관한 결정이 상기 복수의 클라이언트 컴퓨팅 플랫폼 중 개별적인 것들에서 행해지는 가상 공간의 싱글 인스턴스 제공 방법.
  21. 제17항에 있어서, 상기 가상 공간을 2차원으로 표현하는 상기 복수의 클라이언트 컴퓨팅 플랫폼 중 개별적인 것들에 대해, 상기 가상 공간의 상기 2차원 표현의 사용자들과 연관된 사용자 캐릭터들이 상기 가상 공간의 상기 3차원 표현에서 따르는 하나 이상의 경로를 결정하는 단계를 더 포함하는 가상 공간의 싱글 인스턴스 제공 방법.
  22. 제21항에 있어서, 상기 하나 이상의 경로들 중 개별적인 것들은 정적인 가상 공간의 싱글 인스턴스 제공 방법.
  23. 제21항에 있어서, 상기 하나 이상의 경로들 중 개별적인 것들은 동적인 가상 공간의 싱글 인스턴스 제공 방법.
  24. 제21항에 있어서, 상기 하나 이상의 경로들 중 개별적인 것들은 확률적으로 선택되는 가상 공간의 싱글 인스턴스 제공 방법.
  25. 제21항에 있어서, 상기 하나 이상의 경로들 중 개별적인 것들은 상기 가상 공간의 상기 2차원 표현의 사용자에 의해 수신되는 엔드 포인트 선택에 기초하여 결정되는 가상 공간의 싱글 인스턴스 제공 방법.
KR1020120059389A 2011-06-02 2012-06-01 개별 클라이언트 컴퓨팅 디바이스들을 통해 2차원 또는 3차원으로 표현되는 가상 공간의 싱글 인스턴스를 제공하는 것 KR101905909B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/151,873 US8799788B2 (en) 2011-06-02 2011-06-02 Providing a single instance of a virtual space represented in either two dimensions or three dimensions via separate client computing devices
US13/151,873 2011-06-02

Publications (2)

Publication Number Publication Date
KR20120135117A true KR20120135117A (ko) 2012-12-12
KR101905909B1 KR101905909B1 (ko) 2018-10-08

Family

ID=46583846

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120059389A KR101905909B1 (ko) 2011-06-02 2012-06-01 개별 클라이언트 컴퓨팅 디바이스들을 통해 2차원 또는 3차원으로 표현되는 가상 공간의 싱글 인스턴스를 제공하는 것

Country Status (5)

Country Link
US (1) US8799788B2 (ko)
EP (1) EP2530652A1 (ko)
JP (1) JP6073076B2 (ko)
KR (1) KR101905909B1 (ko)
CN (1) CN102855209B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799788B2 (en) 2011-06-02 2014-08-05 Disney Enterprises, Inc. Providing a single instance of a virtual space represented in either two dimensions or three dimensions via separate client computing devices
JP6101267B2 (ja) 2011-08-18 2017-03-22 アザーヴァース デジタル インコーポレーテッドUtherverse Digital, Inc. 仮想世界の相互作用のシステムおよび方法
US9560131B2 (en) * 2013-06-14 2017-01-31 Disney Enterprises, Inc. Efficient synchronization of behavior trees using network significant nodes
US9658737B2 (en) 2013-08-16 2017-05-23 Disney Enterprises, Inc. Cross platform sharing of user-generated content
US10771514B2 (en) 2015-11-12 2020-09-08 Disney Enterprises, Inc. Systems and methods for facilitating the sharing of user-generated content of a virtual space
US10086276B2 (en) 2015-12-03 2018-10-02 Disney Enterprises, Inc. Systems and methods for procedural game content generation via interactive non-player game entities
EP3632086B1 (en) * 2017-05-23 2023-08-09 Constructive Labs Server system for processing a virtual space
US11189068B2 (en) * 2019-12-13 2021-11-30 Square Enix Ltd. Macro-based electronic map editing

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3284866B2 (ja) * 1996-02-05 2002-05-20 日本電信電話株式会社 3次元仮想空間内での任意画面抽出システム
JP3257459B2 (ja) * 1997-08-07 2002-02-18 日本電信電話株式会社 共有仮想空間簡易2次元インタフェース実現方法及びそのインタフェースを持つクライアントシステム、並びに、そのインタフェースプログラムを格納した記憶媒体
JP2001033269A (ja) * 1999-07-23 2001-02-09 Nippon Telegr & Teleph Corp <Ntt> 3次元道案内画像提示方法、3次元道案内画像提示装置及び3次元道案内画像提示プログラムを記録した記録媒体
JP2003346183A (ja) * 2002-05-28 2003-12-05 Canon Inc 3dコンテンツサービスシステム
JP2004070522A (ja) * 2002-08-02 2004-03-04 Canon Inc 画像再生装置及び方法
US7454715B2 (en) * 2003-02-04 2008-11-18 Microsoft Corporation Open grid navigational system
GB2404546B (en) * 2003-07-25 2005-12-14 Purple Interactive Ltd A method of organising and displaying material content on a display to a viewer
JP4437677B2 (ja) * 2004-03-01 2010-03-24 三菱電機株式会社 景観表示装置
JP4307310B2 (ja) * 2004-03-31 2009-08-05 任天堂株式会社 ゲーム装置及びゲームプログラム
MX2007004772A (es) * 2004-10-22 2007-10-08 Vidiator Entpr Inc Metodo y sistema para mensajeria grafica en 3d para dispositivos moviles.
US9205329B2 (en) * 2006-07-25 2015-12-08 Mga Entertainment, Inc. Virtual world electronic game
US8675017B2 (en) * 2007-06-26 2014-03-18 Qualcomm Incorporated Real world gaming framework
JP5448021B2 (ja) * 2007-06-29 2014-03-19 株式会社セガ レーシングゲーム装置のプログラム、そのプログラムを格納した記録媒体、及びレーシングゲーム装置
JP2009037336A (ja) * 2007-07-31 2009-02-19 Dowango:Kk コミュニケーションサーバ装置および方法
JP5440827B2 (ja) * 2008-04-30 2014-03-12 株式会社セガ ゲーム装置、キャラクタの移動制御方法
US8066571B2 (en) * 2008-06-09 2011-11-29 Metaplace, Inc. System and method for enabling characters to be manifested within a plurality of different virtual spaces
CN106131178A (zh) * 2008-12-05 2016-11-16 社会传播公司 实时内核
US20100153858A1 (en) * 2008-12-11 2010-06-17 Paul Gausman Uniform virtual environments
JP4726965B2 (ja) * 2009-01-22 2011-07-20 任天堂株式会社 入力処理プログラムおよび入力処理装置
JP4913178B2 (ja) * 2009-06-15 2012-04-11 任天堂株式会社 オブジェクト移動制御プログラムおよび情報処理装置
US20110077080A1 (en) * 2009-09-30 2011-03-31 Syed Ashraf Meer 3D Gaming client for interactive musical video games inventor(s)
US8799788B2 (en) 2011-06-02 2014-08-05 Disney Enterprises, Inc. Providing a single instance of a virtual space represented in either two dimensions or three dimensions via separate client computing devices

Also Published As

Publication number Publication date
CN102855209B (zh) 2017-03-01
JP2012252695A (ja) 2012-12-20
EP2530652A1 (en) 2012-12-05
JP6073076B2 (ja) 2017-02-01
CN102855209A (zh) 2013-01-02
US8799788B2 (en) 2014-08-05
KR101905909B1 (ko) 2018-10-08
US20120311463A1 (en) 2012-12-06

Similar Documents

Publication Publication Date Title
KR101905909B1 (ko) 개별 클라이언트 컴퓨팅 디바이스들을 통해 2차원 또는 3차원으로 표현되는 가상 공간의 싱글 인스턴스를 제공하는 것
US10086280B2 (en) System and method for determining in-game capabilities based on device information
US10159903B1 (en) System and method for enhanced video of game playback
US8595091B1 (en) System and method for gifting virtual currency within a virtual space of a social network
US10536494B2 (en) Establishing a social application layer
US10843086B2 (en) System and method for cross-platform party formation
US10218793B2 (en) System and method for rendering views of a virtual space
US10290030B1 (en) System and method for adjusting the user cost associated with purchasable virtual items
US20120290948A1 (en) System and method for providing a virtual space with individualized maps
US8998726B1 (en) System and method for associating a user to a shard based on third party latency
US9093259B1 (en) Collaborative musical interaction among avatars
US10265628B2 (en) System and method for facilitating communication between affiliated players in an online game via communication mediums external to the online game
US10099134B1 (en) System and method to better engage passive users of a virtual space by providing panoramic point of views in real time

Legal Events

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