KR20090021172A - 게임 장치들을 연결하는 방법 및 장치 판독가능 매체 - Google Patents

게임 장치들을 연결하는 방법 및 장치 판독가능 매체 Download PDF

Info

Publication number
KR20090021172A
KR20090021172A KR1020087030868A KR20087030868A KR20090021172A KR 20090021172 A KR20090021172 A KR 20090021172A KR 1020087030868 A KR1020087030868 A KR 1020087030868A KR 20087030868 A KR20087030868 A KR 20087030868A KR 20090021172 A KR20090021172 A KR 20090021172A
Authority
KR
South Korea
Prior art keywords
game
game devices
features
devices
feature
Prior art date
Application number
KR1020087030868A
Other languages
English (en)
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 KR20090021172A publication Critical patent/KR20090021172A/ko

Links

Images

Classifications

    • A63F13/12
    • 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/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • 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/70Game security or game management aspects
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/552Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5526Game data structure
    • A63F2300/5533Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5586Details of game data or player data management for enforcing rights or rules, e.g. to prevent foul play
    • 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/609Methods for processing data by generating or executing the game program for unlocking hidden game elements, e.g. features, items, levels

Abstract

게임 장치들을 함께 연결하는 방법이 설명되는데, 이 방법은 서로 다른 특징 세트를 갖는 장치들 사이에서 다수 참가 게임을 가능하게 한다. 장치는 몇개의 게임 장치로부터 데이터를 수신하고 각 게임 장치가 어느 특징을 필요로 하는지 결정한다. 이 필요한 특징들은 특정 장치에서 보유되지 않지만 다른 장치들의 하나 이상에 의해 보유된다. 각 게임 장치에 의해 필요한 특정 특징들에 관한 코드는 각 게임 장치로 전송된다.
게임 장치, 다수 참가 게임, 필요한 특징, 특징 세트

Description

게임 장치들을 연결하는 방법 및 장치 판독가능 매체{TRANSFER OF FEATURES BETWEEN GAMING DEVICES}
게이머가 네트워크를 통해 다른 게이머와 게임을 할 수 있게 하는 Xbox 360TM과 같은 게임 컨솔이 개발되었다. 게임을 실행하는 소프트웨어가 개별 게임 컨솔에 상존하더라고 게임은 서버에 의해 제어되는 것이 일반적이다. 일군의 게이머들이 네트워크를 통해 함께 게임을 하기 위해서 (라이브 게임 또는 온라인 게임이라고도 함), 각 게이머는 게임을 위한 라이센스를 가져야 하고 (예컨대, 게임이 디스크로 구입되거나 다운로드될 때 입수) 각 게이머는 그 게임에 대해 동일한 특징들(features)을 가져야 한다. 게이머가 서로 다른 특징 세트를 가지는 경우, 이들은 온라인 게임을 함께 할 수 없는데, 그 이유는 자신들의 게임 컨솔이 해석할 수 없는 데이터를 수신하게 될 것이기 때문이다. 이 문제는 게이머들이 예컨대 소액지불을 통해 게임을 위해 추가적인 레벨, 무기 등을 구입하는 능력의 증가에 의해 더욱 악화된다.
다음은 본 발명의 기본적인 이해를 제공하기 위해 단순화된 본 발명의 요약을 제시한다. 이 요약은 본 발명의 포괄적인 개관이 아니며 본 발명의 핵심적인/중요한 요소들을 식별하거나 본 발명의 범위를 상술하지 않는다. 유일한 목적은 이하에서 제공되는 상세한 설명에 대한 서두로서 여기 설명된 몇가지 개념을 간단한 형태로 제공하는 것이다.
서로 다른 특징 세트들을 갖는 장치들 사이에서 여러 사람이 게임할 수 있게 하는 게임 장치들을 함께 연결하는 방법이 설명된다. 장치는 여러 개의 게임 장치로부터 데이터를 수신하고 각 게임 장치가 어떤 특징을 필요로 하는지 결정한다. 이 필요한 특징들은 특정 장치에서는 보유되지 않지만 하나 이상의 다른 장치들에 의해 보유되는 것들이다. 각 게임 장치에 의해 요구되는 특정 특징들에 대한 코드가 게임 장치들 각각에 전송된다.
본 발명은 첨부 도면을 참조하여 이하의 상세한 설명으로부터 더 잘 이해될 것이다.
도 1은 게임 장치들의 네트워크의 개략도이다.
도 2는 서버의 동작의 흐름도의 일예이다.
도 3 및 도 4는 도 2의 흐름도의 단계들의 더 구체적인 흐름도의 예이다.
도 5는 게임 세계에서 많은 캐릭터들의 가상 위치를 도시한다.
도 6은 특징들의 전송을 제한하는 방법의 흐름도의 예이다.
도 7은 도 2의 흐름도의 한 단계의 더 구체적인 흐름도의 예이다.
도 8은 컨솔의 개략도이다.
도 9는 데이터 소거에 대한 흐름도의 예이다.
도 10은 서버의 개략도이다.
도 11은 게임 장치의 다른 네트워크의 개략도이다.
첨부도면에서 동일한 부재번호는 동일한 요소를 나타내는 것으로 사용된다.
첨부 도면과 관련하여 아래 제공된 상세한 설명은 본 예들의 설명으로서 제공되는 것이며 본 예가 구성되거나 이용될 수 있는 유일한 형태를 나타내기 위한 것이 아니다. 본 설명은 본 예의 기능 및 본 예를 구성하고 동작시키는 단계들의 시퀀스를 설명한다. 그러나, 동일한 또는 균등한 기능 및 시퀀스는 다른 예에 의해 달성될 수도 있다.
상기한 바와 같이, 서로 다른 특징 세트(feature sets)를 갖는 게이머들은 현재 온라인 게임을 함께 하지 못하는데, 그것은 자신들의 게임 컨솔이 해석할 수 없는 데이터를 수신하게 될 것이기 때문이다. 잘못 매칭된 특징 세트들의 문제는 추가 레벨, 무기 등과 같은 추가 특징을 구매하는 게이머들의 능력의 증가, 및 자신들의 지정 특징들 (예컨대, 아바타, 사용자 지정 전달수단(vehicle), 사용자 지정 지형(landscape) 등)을 생성하는 게이머들의 능력의 증가에 의해 더욱 악화된다. 게이머들이 추가 소프트웨어 특징들을 구매하는 것 이외에, 게이머들은 자신의 게임 장치 (예컨대, 총 등)를 위한 추가적인 주변기기를 구입할 수도 있다.
도 1은 게임 장치의 네트워크(100)의 개략도이다. 이 네트워크는 서버(102) (예컨대, Xbox Live® 서버)를 통해 함께 연결된 4개의 게임 장치(101) (예컨대, Xbox 360TM)를 포함한다. 각 게임 장치는 컨솔(103), 디스플레이(104), 및 제어기(105)를 포함한다. 연결은 유선 또는 무선, 직접 또는 간접연결 (예컨대, 인터넷을 통해)일 수 있다. 네트워크는 더 많거나 더 적은 장치들을 포함할 수 있고 각 장치는 이에 연결된 하나 이상의 제어기를 가질 수 있고 이때 서로 다른 사용자들이 서로 다른 제어기들을 이용하여 동일한 게임을 한다. 서버(102)의 동작은 도 2를 참조하여 설명될 수 있다. 서버는 각 게임 장치(103)로부터 게임에 참가하려는 요청을 수신하고 (단계 201) 이 요청에 응답하여 서버는 당해 게임에 대한 특성(attribute) 정보에 대해 각 게임 장치를 폴링(polling)한다. 특성 정보는 레벨, 무기, 아바타 및 게임의 다른 특징에 대한 세부사항을 포함할 수 있다 (단계 202). 특성 정보를 수신하면, 서버는 각 장치에 의해 보유된 특징 세트에서의 차이점을 결정하고 (단계 203) 필요한 특징들을 각 컨솔에 전달하여 이들이 공통의 특징 세트를 갖도록 한다 (단계 204). 일단 각 게임 장치가 동일한 특징 세트를 가지면, 게임이 시작될 수 있다 (도 2에 도시되지 않음).
일예에서, 공통 스크립트 언어가 특징들을 전송하기 위해 사용될 수 있다. 다른 예에서, XML (extensible mark-up language)이 게임 장치들 사이에서 특성 정보를 공유하기 위한 인터페이스로서 사용될 수 있다.
일부 상황에서, 예컨대 게이머들이 자신의 특징들 (예컨대 새로운 개인 아바타)을 생성한 경우나 게이머들이 제3자의 소프트웨어 또는 하드웨어 (예컨대, 총, 핸들 등)을 구입한 경우, 서버는 필요한 코드를 갖지 않는 게임 장치에 그 필요한 코드를 배포할 수 있게 되기 위한 필요한 코드를 갖지 않고 있을 수 있다. 이러한 상황에서, (도 3 및 도 4에 도시된 바와 같이), 서버는 먼저 차이점을 식별할 수 있고 (단계 203a) 다음에 어떤 코드를 보유하지 않는지를 식별할 수 있다 (단계 203b). 어떤 코드가 필요한지 식별한 후에 (단계 203b), 상기한 바와 같이, 서버는 그 코드를 보유하는 게임 장치로부터 서버에서 보유되지 않은 코드를 업로드하고 (단계 204a) 필요한 모든 장치로 차이점을 전송한다 (단계 204b). 특징들이 게이머에 의해 생성된 경우, 이들은 표준 라이브러리로부터의 부특징들(sub-features)로부터 만들어질 수 있고 또는 이들은 전적으로 새로울 수 있고 게임에 임포트될 수 있도록 표준 데이터 포맷으로 되어 있을 수 있다 (예컨대 아바타 또는 다른 시각 정보를 위한 JPEG). 새로운 하드웨어가 게이머에 의해 구입된 경우, 코드는 그 하드웨어에 대한 새로운 특징 (예컨대, 총에 대한 이미지) 또는 다른 파라미터들의 디스플레이에 관한 것일 수 있다. 이 코드는, 다른 게이머들이 다른 호환가능한 하드웨어 (예컨대, 다른 총과 같은 다른 주변기기)를 가지고 있는 경우, 다른 게이머들이 아마도 제한된 기능을 가지고 하드웨어의 기능을 가질 수 있게 하는 이 하드웨어에 대한 제어 정보, 드라이버 또는 에뮬레이터를 포함할 수 있다.
이것은 다른 특징 세트를 갖는 게임 장치들이 게이머들이 다수당사자(multi-party) 게임을 할 수 있도록 함께 연결될 수 있게 한다. 차이점만을 전송함으로써, 데이터 전송은 최소화되고 이것은 호스트와 게임 장치 사이의 전송에 기인한 지연을 최소화시킨다. 이 방법은 자기 지정 또는 제3자 특징들이 게임 장치들 사이에서 공유될 수 있게 한다.
임의의 게임이 시작되기 전에 이 특징들을 게임 장치들에 전송함으로써, 이 방법은 게임 장치들과 서버 사이의 낮은 데이터 전송속도 연결에 의해 기인할 수 있는 문제점들을 피한다. 대신에, 필요할 때 (예컨대, 게임 장치들 중 하나만이 새로운 레벨이나 무기에 대한 필요한 특성을 가지는 경우, 새로운 레벨로 들어갈 때 또는 새로운 무기가 사용되기 시작할 때) 차별적인 특징들이 서버에 의해 게임 장치로 다운로드되면, 불량 네트워크 연결은 결국 컨솔에 의한 올바른 디스플레이를 표현할 때 지연을 초래할 것이다.
새로운 게임 장치가 게임 시작 후 (즉, 도 2에 도시된 바와 같이 차이점의 초기 전송 후) 게임에 연결하도록 요청하거나 원래 장치들 중 하나가 차단되고 그후에 재연결하도록 요청하면 (예컨대, 이 차단이 계획되지 않은 경우), 서버는 단지 그 참여한 장치(joining device)를 폴링하고 (단계 202처럼) 다른 장치들에 대해 설정된 공통의 특징 세트와 데이터를 비교할 수 있다 (단계 202-204). 서버는 그후 참여한 장치와 공통 특징 세트 사이의 차이점을 식별하고 임의의 필요한 코드를 참여한 장치로 전송할 수 있다. 참여한 장치가 공통 특징 세트의 일부가 아닌 특징을 가지면, 코드는 모든 다른 장치로 전송될 것이다.
장치의 폴링 (단계 202)은 임의의 게임 장치가 추가적인 특징을 획득했는지 결정하기 위해 게임 중에 주기적으로 반복될 수 있다 (예컨대 5분마다 또는 트리거에 응답하여). 이런 상황에서, 새로운 차이점이 식별될 경우에만 (단계 203) 코드 전송이 일어날 것이다 (단계 204).
일부 상황에서, 게임 장치와 서버 사이의 대역폭이 제한되어 있어서, 모든 추가 특징 정보를 게임 장치에 전송하는 것이 불가능할 수도 있다. 이 상황에서, 특정 특징 (예컨대, 새로운 무기)에 관한 코드는 이 특징에 관한 기본적인 설명적 특성을 포함하는 더 작은 크기의 파일로 대체될 수 있다 (예컨대, 다각형 모델, 애니메이션, 텍스처(texture) 등이 완전한 형태로 전송될 수 없다). 이것은 개체의 기능이 이 특징을 정상적인 것으로서 사용하고 볼 수 있을 소유자에 대해서는 원래 상태를 그대로 유지할 수 있게 하는 한편, 다른 게임 장치들은 그 특징이 사용되고 있을 때 그것의 단순화된 버전 또는 표준 그래픽을 디스플레이할 수 있을 뿐이다.
일예에서, 동일한 개체 (또는 다른 특징)의 몇가지 다른 품질의 모델이 존재할 수 있는데, 여기서 각 모델은 특징에 대한 서로 다른 LOD (level of detail)를 제공한다. 예컨대, 전달수단(vehicle)은 3번 모델화될 수 있는데, 한번은 근접 보기를 위해 고도로 상세하게, 한번은 보통으로 상세하게, 한번은 원거리 보기를 위해 덜 상세하게 모델화될 수 있다. 따라서 덜 상세한 모델은 고품질 모델보다 더 적은 다각형, 텍스처, 애니메이션 및 일반적인 세부사항을 가질 것이고, 중간 품질은 이들 둘 사이에 해당할 것이다. 저품질 모델은 따라서 네트워크를 통해 다른 게임 장치로 전송하기 훨씬 더 쉬운 더 작은 블록의 데이터이다. 어느 특징 코드가 장치들 사이에서 전송될 필요가 있는지 결정한 후에 (단계 203), 서버는 (단계 204의 일부로서) 각 게임 장치에 대한 이용가능한 대역폭을 평가하고 허용가능한 타임프레임 (예컨대, 최대 지연 시간이 미리 정해질 수 있다) 내에 최고품질의 버전의 임의의 특징 코드를 전송하는 것이 가능한지 결정할 수 있다. 높은 LOD 모델이 허용가능한 시간에 전송될 수 없는 경우에, 서버는 중간 LOD 코드 버전이 전송 될 수 있는지 결정할 수 있고 그렇지 않으면 서버로의 제한된 대역폭 연결을 갖는 게임 장치로 낮은 LOD 특징 코드를 전송할 것이다. 각 특징에 대해 3개의 LOD 버전보다 많거나 적을 수 있고 한 특징의 LOD 버전 수는 그 특징의 성질에 의존할 수 있다. 예컨대, 칼은 작아서 하나의 LOD만을 필요로 할 수 있고 (근접으로만 보일 수 있으므로) 반면에 비행기는 예컨대 5개 필요할 수 있다 (다양한 거리에서의 관측을 위해). 서로 다른 LOD의 전송은 특징들의 원 소유자들이 자신들에게 정상적으로 보이는 디스플레이를 갖는 특징을 사용할 수 있게 하는 한편, 다른 게임 장치는 새로운 특징들을 이해하고 이들을 디스플레이하고 게이머가 이 특징들과 상호작용할 수 있게 하겠지만 이들은 그래픽에 있어서 품질이 떨어질 수 있다.
감소된 품질의 특징이 게임 장치로 전송되는 상황에서, 이것은 예컨대 게임이 진행되고 있는 동안에 백그라운드에서 고품질의 LOD 버전을 전송함으로써 자동적으로 업그레이드될 수 있다. 이로 인해 모든 게임 장치는, 연결에서 대역폭 제한이 있을 때 즉각적인 사용에 대한 신속한 솔루션을 제공하는 한편, 결국에는 필요한 각 특징의 최고품질의 LOD 버전을 수신하게 될 것이다.
일부 상황에서, 예컨대 어떤 게임이 다수의 게이머에 의해 진행될 때 (예컨대, 다중접속역할수행 온라인게임 (MMORPG: massively multiplayer online role-playing game), 게이머들이 끊임없이 게임에 참가하고 떠나기 때문에, 게임이 시작하거나 게임 중에 정지하기 전에 (예컨대 레이싱 시뮬레이터 드라이브 게임에서 새로운 레이스의 시작 전) 모든 특징을 전송하는 것이 불가능할 수 있다. 또한, 상당수의 게이머의 경우, 각 게임 장치에 의해 보유된 특성의 차이점이 매우 클 수 있다 (예컨대, 수백만명의 게이머 각각이 자신들의 지정 아바타를 가질 수 있다). 이러한 상황에서, 게임 장치들 사이의 특징들의 전송은 소정의 파라미터에 따라 제한될 수 있고 제한 방법의 예들은 도 5를 참조하여 아래에 설명된다.
도 5는 게임 세계에서의 많은 캐릭터들(501-504)의 가상 위치를 도시하는데, 여기서 각 캐릭터는 게임 장치에 의해 제어된다. 장치들 사이의 특성에서의 차이점들을 결정하고 이 차이점들을 특정 게임 장치에 전송할 때 (단계 203 및 204), 게임 세계에서 특정 장치의 게임 캐릭터에 근접한 캐릭터를 갖는 게임 장치들에 관한 그 차이점들만이 그 장치로 전송된다. 도 5에 도시된 예에서, 영역(505)은 제1 게임 장치에 의해 제어되는 특정 캐릭터(501)의 위치 주위로 정의된다. 영역(505) 내에서 임의의 캐릭터를 제어하는 게임 장치들과 제1 게임 장치 사이의 특징에서의 차이점에 대한 코드는 제1 게임 장치로 전송되지만, 영역(505) 외부의 캐릭터를 제어하고 있는 다른 게임 장치들과 제1 게임 장치 사이의 차이점에 대한 코드는 제1 게임 장치로 전송되지 않는다. 제2 영역(506)은 제2 게임 장치에 의해 제어되는 다른 캐릭터(502)의 위치 주위로 정의된다. 제2 영역(506) 내의 캐릭터를 제어하고 있는 다른 게임 장치와 제2 게임 장치 사이의 특징에서의 차이점에 대한 코드는 제2 게임 장치로 전송된다.
이 방법의 흐름도의 예가 도 6에 도시된다. 서버는 특성 정보에 대해 특정 게임을 하는 모든 장치를 폴링하고 (단계 601), 각 장치에 대해, 그 장치와 연관된 장치들의 서브세트(subset)를 식별하는데 (단계 602), 예컨대 도 5의 예에서 제1 게임 장치와 연관된 장치들의 서브세트는 영역(505) 내에 위치한 캐릭터들을 제어 하는 모든 장치들을 포함한다. 서버는 특정 장치와 서브세트의 다른 멤버들 사이의 특성에서의 차이점을 식별한다 (단계 603). 이 두 단계 (단계 602-603)는 각 장치에 대해 반복되고 서버는 이 장치와 서브세트 내의 다른 장치들 사이의 특징에서의 식별된 차이점 (단계 603)과 연관된 코드를 각 장치로 전송한다 (단계 604).
상기 방법 단계들의 순서는 예시적인 것이며 서버가 게임에서 한 장치와 다른 장치들 사이의 모든 차이점을 식별하고 서브세트 등에 기초하여 이 차이점을 여과할 수 있음이 이해될 수 있을 것이다.
이 방법은 서버에 의해 주기적으로, 예컨대 30초 마다 또는 캐릭터들이 게임 내에서 이동하여 특정 장치와 연관된 장치의 서브세트가 변할 때마다 구현될 수 있다. 이 결과, 이 방법은 소량의 코드가 각 게임 장치로 거의 연속적으로(quasi-continuously) 전송됨에 따라 서버에 의해 거의 연속적으로 구현될 수 있다.
게임 장치가 둘 이상의 캐릭터를 제어하는 경우, 이 게임 장치와 연관된 서브세트가 다수의 서브세트의 합을 포함할 수 있고, 여기서 각 캐릭터와 연관된 것이 제어된다.
상기 방법에 따라, 제1 게임 장치 (캐릭터(501) 제어)가 특징 세트 A, B 및 C를 보유하고 제2 게임 장치 (캐릭터(502) 제어)가 특징 세트 A, B, C 및 D를 보유하면, 특징 D에 관한 코드는 서버에 의해 제1 게임 장치로 전송될 것이다. 그러나, 제3 게임 장치 (캐릭터(503) 제어)가 특징 세트 A, B, C 및 E를 보유하면, 특징 E에 관한 코드는 서버에 의해 제2 게임 장치로 전송되지만 (캐릭터(503)가 영역(506) 내에 있으므로) 제1 게임 장치로 전송되지 않을 것이고 (캐릭터(503)가 영 역(505) 내에 없으므로) 이로 인해 제1 및 제2 게임 장치에 의해 보유된 특징들 사이에서 불일치가 생긴다. 그러나, 제1 게임 장치는 캐릭터(503)가 캐릭터(501)에 가깝지 않으므로 제1 게임 장치가 제3 게임 장치에 의해 보유된 특징들 중 임의의 것을 디스플레이하거나 사용할 필요가 없을 것이기 때문에 적절히 동작할 수 있을 것이다. 결과적으로, 게임 장치들 사이의 특징의 전송 (예컨대 단계 604)은 특정 특징의 소유 및/또는 제어와 같은 하나 이상의 파라미터에 의해 제한될 수 있다. 이것이 아래에서 더 구체적으로 설명된다.
동일한 게임을 하는 게임 장치들 사이의 정보의 전달을 제한함으로써, 게임 장치들과 서버 사이의 불량 네트워크 연결에 기인한 지연이 최소화될 수 있다.
장치들의 서브세트를 식별하기 위해 사용되는 영역의 크기는 (상술됨) 하나 이상의 소정의 파라미터에 따라서 가변적일 수 있다. 영역의 크기는 특정 장치에 대해 고정될 수 있고 또는 동적으로 가변적일 수 있다. 일예에서, 영역의 크기는 특정 게임 장치와 서버 사이의 연결부의 데이터 전송속도에 따라 가변적일 수 있다. 게임 장치가 서버에 대한 높은 데이터 전송속도 연결을 갖는 경우, 이 장치에 대한 영역은 더 클 수 있다. 다른 예에서, 영역의 크기는 게이머에 의해 지불되는 서비스 레벨에 의존할 수 있다 (예를 들면, 더 많은 비용을 요구하는 더 높은 서비스 레벨은 더 큰 영역을 제공할 수 있다). 또다른 예에서, 영역의 크기는 전송될 데이터의 양에 의존할 수 있어서, 서버로부터 게임 장치로의 데이터의 전송을 위한 목표 데이터 전송속도가 있다. 이러한 목표 데이터 전송속도를 이용하여, 영역의 크기는 전송될 특징 코드의 양에 따라 변할 것이다 (예를 들면, 새로운 특징을 갖 는 캐릭터의 밀도에 따라). 목표 데이터 전송속도의 사용은 서버와 게임 장치 사이의 링크의 사용의 효율을 증가시킬 수 있다. 다른 예에서, 이 영역은 소정 수의 게임 장치 (예컨대 10개의 게임 장치)에 대한 특징 세트들이 비교되도록 변경될 수 있다. 단일 장치가 각각이 게임 세계에서 서로 다른 캐릭터를 제어하기 위해 서로 다른 게이머에 의해 사용되는 다수의 제어기를 가질 수 있기 때문에 캐릭터들과 게임 장치들 사이의 1:1 관계가 없을 수 있음이 이해될 수 있을 것이다.
다른 예에서, 둘 이상의 영역은 각 장치와 연관된 장치들의 복수의 서브세트를 결정하기 위해 각 캐릭터 주위에서 정의될 수 있다. 예를 들면, 제1 게임 장치 (캐릭터(501) 제어)는 제1 영역(505) 내에서 캐릭터를 제어하는 모든 장치를 포함하는 제1 연관 서브세트 및 제2 영역(507) 내에 있지만 제1 영역(505) 내에 없는 캐릭터를 제어하는 모든 장치를 포함하는 제2 연관 서브세트를 가질 수 있다. 특징의 제1 게임 장치로의 전송 (이 장치와 제1 및 제2 연관 서브세트 각각에 있는 장치들 사이의 차이점에 기초)은 서로 다른 파라미터에 따라 제한될 수 있다. 예컨대, 제1 장치와 제1 연관 서브세트 내의 장치들 사이의 차이점에 관한 모든 코드는 제1 장치로 전송될 수 있지만, 제1 장치와 제2 연관 서브세트 내의 장치들 사이의 아바타 (또는 다른 디스플레이) 차이점에 관한 코드만이 제1 장치로 전송될 수 있다. 이것은 제1 장치가 제2 영역(507) (제1 영역(505) 제외)에서 각 캐릭터 (또는 아이템)를 올바르게 디스플레이할 수 있게 하겠지만, 제1 장치는 다른 차이점, 예컨대 소유된 레벨의 차이, 무기, 세기 등에서의 차이를 수신하지 않을 것이다. 다른 예에서, 저해상도 아바타 코드는 제2 영역(507)에서 캐릭터들에 대해 전송될 수 있고 고해상도 아바타 코드는 제1 영역(505)에서 캐릭터들에 대해 전송될 수 있다. 프로그레시브 다운로드 기술은 더 낮은 품질의 이미지를 먼저 다운로드 후 계속하여 데이터를 더 다운로드하여 디스플레이되는 이미지의 품질을 향상시키도록 사용될 수 있다.
다른 예에서, 상기한 바와 같이, 특징 코드는 다수의 상이한 품질 버전으로 존재할 수 있다. 일예에서, 높은 LOD 코드는 제1 영역(505)에서 위치한 특징들에 대해 전송될 수 있고 낮은 LOD 코드는 제2 영역(507)에서 그 특징들에 대해 전송될 수 있다. 프로그레시브 다운로드 또는 다른 기술은 연결을 통한 이용가능한 용량이 있으면 영역(507)에서 특징들에 대한 높은 LOD 코드를 다음에 다운로드하도록 사용될 수 있다.
다른 예에서, 다수의 영역이 정의될 수 있고 각 영역은 어느 특징이 전송되는지에 대해 상이한 소정의 규칙을 가질 수 있다 (예컨대, 서로 다른 LOD, 서로 다른 종류의 특징 등).
상기 설명에서, 전송될 특징 세트가 캐릭터들의 위치에 기초하여 결정되었다 (도 5에 도시). 이에 추가하여 또는 이 대신에, 특징들은 한 특징의 LOE (level of effect)에 따라 전송될 수 있다. LOE는 LOD (상술됨)와 유사하지만 코드의 크기보다는 개체의 효과의 레벨 (또는 정도)을 커버한다. 예를 들면, 3개의 다른 무기 유형, 즉, 칼, 탱크 및 폭탄을 고려해보자. 칼은 근접하여서만 볼 수 있는 작은 개체이다. 이것은 작은 LOE를 가지는데, 즉 이것은 국부적으로 사용될 수 있을 뿐인 반면, 탱크는 멀리서 보고 들을 수 있으며 또한 먼 거리로부터 사물을 공격할 수 있기 때문에 높은 LOE를 갖는다. 마지막으로, 폭탄은 비록 먼 거리에 있을 수 있지만 (그래서 보이지 않을 수 있다) 여전히 캐릭터에 영향을 미칠 수 있기 때문에 훨씬 더 큰 LOE를 갖는 물리적으로 작은 특징일 수 있다. 높은 LOE를 갖는 장치는 낮은 LOE를 갖는 것보다 캐릭터로부터 더 멀리 위치할 수 있더라도 (특징 코드가 전송될 필요가 없는 경우) 특징 코드가 전송되도록 요구할 수 있다. 따라서 도 5에 도시된 예에서, 제1 게임 장치 (캐릭터(501) 제어)는 제1 영역(505) 내의 캐릭터를 제어하는 모든 장치를 포함하는 제1 연관 서브세트, 및 훨씬 더 큰 영역 (예컨대, 제2 영역(507)) 내에 위치하는 높은 LOE를 갖는 특징을 제어하는 모든 장치를 포함하는 제2 연관 서브세트를 가질 수 있다.
다른 예에서, 정의될 수 있는 다수의 영역 (상술됨)은 특징 크기에 따라 (특징의 다음 전송을 위한) 장치의 서브세트를 결정하기 위해 사용될 수 있다 (상기한 바와 같이 LOD 및/또는 LOE를 사용하는 것 이외에 또는 대신에). 예컨대, 상기 칼과 같은 작은 특징은 제1 영역에 관계하면 전송될 수 있고 더 먼 거리에서 보일 수 있는 더 큰 장치는 제2 영역(507)에 있을 때 특징 코드가 전송되게 할 수 있다.
게임 장치들 사이의 특징의 전송은 전송될 특징의 종류에 기초하여 우선순위가 정해질 수 있다. 이 우선순위는 여기 설명된 임의의 다른 기술들과 무관하게 또는 관련하여 동작할 수 있다. 예를 들면, 전송할 가장 높은 우선순위의 특징 데이터는 캐릭터가 두발달린 로봇, 네발짐승, 장갑차, 새 등인지에 따를 수 있다. 다음 우선순위는 그 캐릭터에 의해 수행되는 임의의 개체에 대한 유사한 정보와 기본 기능일 수 있고, 다음 우선순위는 그 캐릭터의 특별한 움직임에 대한 애니메이 션이다. 이 다음에는 낮은 LOD 텍스처, 더 높은 레벨의 모델 세부사항 및 더 높은 LOD 텍스처가 뒤따를 수 있다. 이러한 우선순위를 이용함으로써, 수신 게임 장치는 먼저 게임에서 개체에 대한 가장 중요한 특징 정보와 다음에 전달되는 애니메이션이나 개체의 특정사항에 대한 덜 중요한 정보를 얻는다.
상기 방법에서, 특징에 관한 코드는 하나 이상의 게임 장치가 특정 특징을 보유할 때 서버 또는 게임 장치와 다른 게임 장치 사이에 전송된다. 이것은 다른 특징들을 갖는 게이머들이 게임에 함께 참여할 수 있게 하는 반면, 특히 특징들이 지불되었거나 획득된 것인 경우 수신 게임 장치에 의해 상기 전송된 특징의 다음 사용을 제어할 필요가 있을 수 있다. 많은 새로운 무기를 구입한 게이머는, 다른 게이머들이 그 무기를 비용지불할 필요없이 다음에 사용할 수 있다면 (예컨대, 이 무기를 구입한 게이머와 게임하지 않을 때), 그 무기를 구입하지 않은 다른 게이머들과 게임하고 싶지 않을 것이다. 결과적으로, 특징들이 소유권 정보로 태그를 붙이는 것이 유리할 수 있다.
특징에 관한 코드가 소유권 정보로 태그될 수 있는 많은 다른 방법이 있다. 제1 예에서, 코드는 암호화될 수 있는 삽입된 소유권 정보를 포함할 수 있다. 소유권 정보는 게이머와 연관된 식별자 (예컨대, 게이머태그, 계좌/가입 번호 등) 또는 게임 장치와 연관된 식별자 (예컨대, 특정 게임 장치에 대한 유일한 ID) 또는 일군의 또는 일 카테고리의 게이머와 연관된 식별자를 포함할 수 있다. 특징들은 일부 상황에서 식별된 소유자가 게임에 참가하고 있을 때 사용을 위해 가능해질 수 있다 (서버 또는 게임 장치에 의해). 이것은 게임 장치들 사이에서 전송되는 암호 코드와 소유자에 의해 보유되고 있는 암호키에 의해 달성될 수 있다. 게임 장치의 사용은 수신 게임 장치가 암호키에 액세스할 수 있는 상황으로만 제한될 수 있다. 다른 예에서, 소유권 정보는 소유권 세부사항을 포함하지 않을 수 있지만 대신에 소유권의 추가 변경이 허용되지 않음 (예컨대, 특징이 변동성 자산으로서 차용중임)을 나타낼 수 있다. 이와 같이 특징 코드가 다른 게임 장치로 전송될 수 있는 동안에 소유자의 프라이버시가 손상받지 않은 채 유지된다. 소유권 정보가 이와 같이 플래그되는 경우, 게임 세션의 종료시에 또는 다른 적당한 시간에 특징 코드가 버려지고 영구히 보유되지 않을 수 있다. 암호화 및/또는 디지털 서명의 사용은 소유권 정보의 위조를 방지할 수 있다. 디지털 권한 관리 (Digital Rights Management) 방법이 코드의 복사를 방지하는 데 사용될 수 있다.
제2 예에서, 각 게이머 또는 게임 장치는 이 게이머 또는 장치에 의해 소유된 특징의 연관된 인벤토리(inventory)를 가질 수 있다. 각 특징은 개체에 보안 첨부되거나 개체 내에서 암호화된 고유 ID를 가질 수 있다. 이 ID는 특징을 인벤토리에 링크하기 위해 사용될 수 있다. 인벤토리는 게임 장치나 서버에서 저장될 수 있고 위조를 방지하기 위해 암호화될 수 있다. 또한, 서버 또는 게임 장치는 저장된 인벤토리에 대해 특징들을 체크함으로써 게임에 참가하고 있는 사람에 의해 소유되지 않는 특징들의 사용을 방지할 수 있다.
제3 예에서, 서버는 게임의 특징에 대한 중앙 소유권 레지스터를 유지할 수 있다. 이 레지스터는 장치로 다운로드된 임의의 특징을 가능하게 하기 전에 서버와 게임 장치에 의해 체크될 수 있다 (예컨대, 단계 204 또는 604). 이러한 중앙 레지스터의 사용은 더 안전하기 때문에 유리할 수 있다. 레지스터는 소유권의 임의의 전송을 기록할 수 있다. 이런 식으로 레지스터를 이용하면, 데이터의 실제 크기를 확장하여 게임 장치들 사이에서 데이터를 전송할 때 전송하기에 더 커지지 않게 하고서도, 보유된 데이터 양이 원격으로 확장될 수 있다 (예컨대, 특징의 수명에서 전체 소유권 이력 및/또는 키 이벤트 리스트를 포함함으로써). 다른 예에서, 게이머/게임 장치와 연관된 중앙 레지스터 및 개별 인벤토리가 사용될 수 있다.
개체 또는 다른 특징의 소유권의 이전은 게임 내에서 (아래 설명됨) 또는 게임 외부에서 (예컨대, 웹 판매/경매 사이트를 통해) 발생할 수 있다. 이전이 게임 외부에서 발생하는 경우, 이전은 게이머들이 게임 세계에서 만나야만 효력을 나타낼 수 있다. 이 점에서 소유권 태그 (또는 예컨대 레지스터에서 다른 소유권 정보)가 업데이트될 수 있다.
서버 및/또는 게임 장치는 식별자가 위조된 경우 또는 잘못된 식별자가 특징 데이터로 삽입된 경우 개체나 특징을 거부하도록 구성될 수 있다. 또한, 개체는 다른 상황이나 기준에 따라 자동적으로 제거 또는 추가될 수 있다. 일예에서, 개체가 웹 판매 사이트를 통해 다른 사람에게 팔리면, 이 개체는 일단 판매자와 구매자가 게임 세계에서 만나면 자동적으로 추가될 수 있다. 이 개체는 구매자와 판매자 사이의 거래에 이어, 사전에 일시적으로 제거/중지되었을 수 있다. 다른 예에서, 구매자가 아이템/특징의 소유권이 이전된 후에 지불을 이행하지 않으면, 판매자는 판매자와 구매자 사이의 분쟁이 해결될 때까지 특징의 제어의 제거를 요청할 수 있다. 또다른 예에서, 한 아이템이 절도의 허용된 경계를 넘어선 게임에서 도난당할 수 있는 방법이 있을 수 있어서 이 아이템이 상황이 해결될 때까지 중지나 불능 (예컨대, 중재자에 의해)될 필요가 있을 수 있다. 다른 예에서, "결함있는" 또는 "부정한" 아이템들 (무슨 이유에서든지)은 정정되거나 모두 제거될 때까지 사용이 중지될 수 있다. 또다른 예에서, 게임 세계로 들어갔을지 모르는 그리고 게이머, 중재자 또는 다른 제어 당사자에 의해 "바람직하지 않는" 것으로 간주된 아이템도 게임으로부터 중지, 삭제 또는 제거될 수 있다.
상기한 바와 같이, 게임 장치들 사이의 특징의 전송은 일부 상황에서 (예컨대, 단계 604에서) 특정 특징의 소유권과 같은 하나 이상의 파라미터에 의해 제한될 수 있다. 도 7은 이러한 제한을 포함하는 단계 202의 흐름도의 예를 더 구체적으로 도시한다. 이 장치들은 특성 정보에 대해 폴링되고 (단계 202a) 특성 정보에서 식별된 각 특징에 대해 폴링되고, 각 특징의 소유권이 체크된다 (단계 202b). 수신된 특성 정보는 그후 여과되어 (단계 202c) 특성 정보가 수신된 장치나 그 장치에서 로그인된 (또는 임의의 다른 방식으로 연관된) 게이머에 의해 소유되지 않은 임의의 특징에 대한 참조를 제거한다. 결과적으로 다음 단계들에서 (예컨대, 도 2 또는 도 6), 차이점의 비교는 장치/게이머에 의해 소유된 특성에만 관계하고 따라서 특징에 관한 코드의 전송 (단계 204 또는 604에서)은 마찬가지로 제한된다.
도 5와 관련하여 상술된 특정 예에서, 제1 게임 장치 (캐릭터(501) 제어)는 특징 A, B 및 C를 소유하고 제2 게임 장치 (캐릭터(502) 제어)는 특징 A, B, C 및 D를 소유하고, 제3 게임 장치 (캐릭터(503) 제어)는 특징 A, B, C 및 E를 소유한 다. 결과적으로, 특징 D에 관한 코드는 서버에 의해 제1 게임 장치로 전송될 것이고 특징 E에 관한 코드는 서버에 의해 제2 게임 장치로 전송될 것이다. 이로 인해 제1 게임 장치가 특징 A-D를 보유하지만 특징 A-C만을 소유하고 제2 게임 장치는 특징 A-E를 보유하지만 특징 A-D를 소유한다. 제1 및 제2 게임 장치에 의해 보유된 특징이 동일하지 않더라도, 제1 게임 장치가 제2 게임 장치에 의해 소유된 모든 특징을 보유하고 (제2 게임 장치는 제1 게임 장치와 연관된 영역(505)에 있다) 또한 그 역이 성립하기 때문에 (제1 게임 장치는 제2 게임 장치와 연관된 영역(506)에 있다) 특징의 추가 전송을 위한 요건은 없다.
상기 설명이 게임 내의 캐릭터에 관한 것이지만, 상기 방법은 전달수단(vehicle)과 같은 게임 내의 다른 제어가능한 개체, 또는 건물, 경치 등과 같은 다른 사용자 정의 개체에도 적용가능하다.
상기 예가 영역과 소유권에 의해 제한되는 특징 코드의 전송을 나타내지만, 2개의 필터가 개별적으로 구현될 수 있고 (예컨대 소유권에 대해서만 여과함으로써) 특징 코드의 전송이 LOD, LOE 등을 포함한 임의의 적절한 파라미터를 이용하여 여과될 수 있다.
특징들을 소유권 정보로 태그하는 것 이외에 (예컨대, 상기한 바와 같이 코드에서 또는 인벤토리/레지스터를 통해), 이들은 더 일시적일 수 있는 (예컨대, 소유자와 다를 수 있는 제어 장치/게이머의 아이덴티티) 다른 정보 (예컨대, 사용 범위, 타임스탬프 등)로 태그될 수 있다. 예컨대, 특징들은 어느 장치가 제한된 시간 동안 특징을 사용할 수 있는지를 상술하는 정보로 태그될 수 있다. 이것은 특 징의 제어가 소유 장치 (예컨대, 소유자 또는 소유권이 게임 장치보다 게이머에 링크되는 경우 소유자가 연관되는 장치)로부터 다른 장치로 게임 동안에 전송될 수 있도록 사용될 수 있다 (예컨대, 새로운 무기가 다른 캐릭터에 의해 게임 세계에서 취해지는 경우). 이러한 애플리케이션은 아래에 상술되어 있다. 이 특징은 상기한 바와 같이 소유권 정보와 동일한 방식으로 또는 다른 방식으로 다른 정보로 태그될 수 있다. 특히, 위조에 대한 염려가 덜할 수 있기 때문에 정보가 일시적이고 미래에 어느 시점에 만료되는 경우에 이 정보를 암호화할 필요가 없을 수 있다. 제어 엔티티(entity)와 소유 엔티티가 서로 다른 경우, 소유 엔티티가 특정 시간동안 특정 특징을 사용하지 않고 있음을 서버가 체크할 필요가 있을 수 있다. 이러한 예에서, 특징 코드의 전송은 소유권 및 제어에 의해 제한될 수 있다 (특히 영역에 의해 제한되는 경우).
상기한 방법을 이용하여 게임 장치로 전송된 특징은 다음 게임에서 장치에 의해 다른 방법으로 사용될 수 있다. 제1 예에서, 특징 코드는 디스플레이가 수신 장치에서 올바로 표현됨을 보장하기 위해 사용될 수 있다 (예컨대, 다른 게이머에 의해 구입된 새로운 무기의 이미지를 올바로 디스플레이하기 위해). 다른 예에서, 장치는 게임에서 수신된 모든 특징을 사용할 수 있을 수 있고, 예컨대 새로운 무기가 다른 게이머에 의해 구입되고 관련 코드가 장치로 전송되면, 새로운 무기는 게임을 하는 모든 사람에게 이용가능할 수 있다. 새로운 특징이 새로운 하드웨어 (예컨대, 새로운 총)에 관한 것인 경우, 코드는 다른 게임 장치가 기존의 제어기 또는 다른 주변기기를 사용하여 그 하드웨어를 에뮬레이트할 수 있도록 사용될 수 있다. 특징들이 사용될 수 있는 방식은 서버에 의해 특정되거나 대안으로 특징 코드 내에서 특정될 수 있다.
특징이 모든 장치에 의한 완전한 사용을 위해 이용가능하지 않는 경우, 특징의 제어는 게임 중에 변경하도록 될 수 있다 (예컨대, 캐릭터가 아이템을 훔치거나/빌리거나/빌려주면). 이러한 상황에서, 특징과 연관된 제어 태그는 다른 장치가 이 특징을 완전히 사용 (제한된 시간 동안)하는 반면 소유 장치는 사용하지 않도록 변경될 수 있다. 상기한 바와 같이, 인벤토리 또는 중앙 레지스터는 제어 (및 소유권)를 기록하도록 제어 태그에 더하여 또는 그를 대신하여 사용될 수 있다. 그러므로, 제어의 이전은 인벤토리, 레지스터 또는 임의의 다른 적절한 수단에 의해 기록될 수 있다. 이러한 제어의 이전은 소유자와 장치를 제어하는 게이머 사이의 소액지불이 수반될 수 있다. 예컨대 소액지불 또는 다른 특징에 대한 댓가로 특징이 게임 세계에서 팔리거나 교환되게 하는 것이 더 가능할 수 있고, 이러한 상황에서 소유권 정보는 업데이트될 수 있다 (예컨대, 소유권 태그, 인벤토리, 레지스터 등에서).
게임 내에서 특징의 사용은 광고/판매 윈도우에 링크될 수 있어서, 제1 게임 장치에 의해 제어되는 캐릭터가 다른 특징 (예컨대, 새로운 무기)을 소유하는 캐릭터에 의해 접근/공격받으면, 윈도우는 이 다른 특징에 대한 세부사항을 제공하는 것으로 나타날 수 있다 (예컨대, "무기 X를 이용하여 공격받았다" 또는 "새로운 기술 Y를 갖는 캐릭터에 의해 공격받았다" 등). 세부사항은 특징, 및 상점 (예컨대, 서버에 의해 운영되는 상점) 또는 현재 소유자로부터 그 특징을 구입할 링크/버튼 (예컨대 소액지불에 대한 보상으로)에 대한 설명을 포함할 수 있다 (예컨대, "무기 X를 이용하여 공격받았다. 무기 X를 구입하겠는가?").
각 게이머에 의해 소유된 특징 세트에서의 차이점에 대한 정보는 예컨대 업그레이드 (또는 특징) 리스트의 형태로 각 게이머에게 디스플레이를 위해 이용가능할 수 있다. 이것은 게이머가 동일한 게임에 참가하는 다른 게이머에 의해 보유된 특징을 검토할 수 있게 하고 그들이 업그레이드를 원하는지, 게임을 계속하기를 원하는지 결정할 수 있게 할 것이다. 이 리스트는 특징들이 제한된 기간 동안 예컨대 시험으로서 구입되거나 빌릴 수 있도록 링크를 포함할 수 있다. 인벤토리 정보는 장치들이 서버에 연결될 때 (예컨대, 게임에 연결하도록 요청을 수신하기 전) 모든 장치를 폴링함으로써 (단계 202에서처럼) 서버에 의해 수집될 수 있고 이것은 장치들이 게임에 참가한다고 결정하기 전에 정보가 게이머에게 디스플레이되게 할 수 있을 것이다.
상기 예에서, 다른 게임 장치에 의해 보유된 특징 세트에서의 차이점이 공통의 특징 세트를 제공하기 위해 장치에 전송된다. 그러나, 다른 예에서, 이 장치들 중 임의의 것에 의해 소유되지 않은 특징은 서버에 의해 예컨대 소정 갯수의 게임 (예컨대 한 게임)에 대해 또는 제한된 시간 동안 (예컨대, 24시간 동안) 이 특징의 시험의 일부로서 각 장치로 전송될 수 있다. 이러한 상황에서, 광고/판매 윈도우 (상술됨)는 시험 기간 동안 또는 종료시에 특징을 구입하는 게이머의 쉽고 빠른 방법을 제공하기 위해 게임 장치의 디스플레이를 통해 게이머에게 제공될 수 있다 (예컨대 게임 종료시에 또는 24시간 시험 기간의 종료 무렵).
장치가 특징을 소유하지 않더라도 이 장치가 서버로부터 수신된 모든 특징을 사용할 수 있는 경우 또는 장치가 소유하지 않은 특징을 제어하는 경우, 이 특징의 실제 소유자가 게임에 참가하는 것을 중지하면, 이 특징은 게임이 완료될 때까지 게임에 참가하는 다른 장치에 대해 계속 이용가능할 수 있다. 게임 장치가 우연히 단절되면 (그리고 짧은 시간 내에 다시 참가할 수 있으면) 이것은 특징들의 양산을 감소시킬 수 있고 (이것은 게임 경험을 손상시킬 수 있다) 특징 코드의 전송을 최소화할 수 있다. 다른 예에서, 특징의 소유자가 그만두자마자, 서버는 특징의 사용을 불능화시키는 신호를 모든 장치에 보낼 수 있다.
상기한 바와 같이, 추가 특징 데이터를 수신한 후에, 이 데이터는 예컨대 컨솔(103) 내부의 메모리(801) (도 8에 도시) 또는 외부 메모리에서 게임 장치에서 저장된다. 도 8은 컨솔(103)의 개략도를 더 구체적으로 도시한다. 이 컨솔은 메모리(801)에 연결된 프로세서(802), 디스플레이 I/O(803), 제어기 I/O(804), 및 네트워크 인터페이스(805)를 포함한다. 메모리(801)는 프로세서(802)가 상기 방법 단계들 일부 또는 전부를 수행하게 할 명령어를 저장하도록 구성된다. 메모리는 또한 수신된 특징 데이터를 저장하기 위해 사용될 수 있다 (상술됨). 수신된 특징 데이터 (네트워크 인터페이스(805)를 통해 네트워크 상에서)는 사용자에 의해 입력된 명령어에 응답하여 삭제될 때까지 (즉, 예컨대 제어기 I/O(804)를 통해 수신된 신호에 응답한 수동 삭제) 또는 자동적으로 삭제될 때까지 게임 장치에 의해 보유될 수 있다. 다운로드된 특징들은 게임 종료시에, 세션 종료시에, 장치가 스위치 오프될 때 (또는 대기상태로 될 때), 소정 시간 후에 (예컨대, 특징의 비사용의 24 시간 후에) 또는 임의의 다른 적절한 지점에서 삭제될 수 있다. 다른 예에서, 신호는 특징의 소유자가 그만둘 때 서버로부터 수신될 수 있고 이 신호는 관련 특징의 자동 삭제를 트리거할 수 있다. 이 트리거는 다른 예에서 소유 게임 장치로부터 수신될 수 있다. 다른 예에서, 가득찬 게임 장치 (내부 및/또는 외부)와 연관된 메모리 양이 임계값 레벨에 도달할 때 (예컨대, 메모리가 90%에 도달할 때 또는 100MB 자유 메모리만 있을 때 등등) 코드가 삭제될 수 있다.
데이터의 소거에 대한 흐름도의 일예가 도 9에 도시된다. 메모리를 소거하는 트리거가 게임 장치에 의해 수신된다 (단계 901). 이 트리거는 장치 외부로부터 (예컨대 서버로부터 또는 다른 게임 장치로부터) 수신되거나 또는 장치내에서 생성될 수 있다 (예컨대 채워진 메모리 양이 임계값을 초과할 때 또는 제어기 등으로의 입력에 응답하여). 그러면, 장치는 이 장치에 코드가 저장되어 있지만 그 장치나 연관된 게이머가 그 특징을 소유하고 있지는 않은 게임의 모든 특징을 식별하고 (단계 902), 이 식별된 특징들 중에서 현재 게임 플레이 중 누구에 의해서도 소유되지 않은 모든 특징이 식별되고 (단계 903), 이 나머지 식별된 특징에 관한 코드가 삭제된다 (단계 904). 게임이 이미 정지한 경우, 현재 게임 플레이 중인 장치/게이머가 없으므로 단계 903은 어떠한 특징도 여과해내지 않을 것이다.
상기 설명은 도 1에 도시되고 도 10에 더 구체적으로 도시된 바와 같이 서버(102)에 의해 연결된 게임 장치(101)의 네트워크에 관한 것이다. 서버(102)는 프로세서(1001), 메모리(1002), 및 네트워크 인터페이스(1003)를 포함한다. 메모리(1002)는 게임의 특징에 대한 코드 및/또는 프로세서가 여기 설명된 방법들 중 임의의 것의 하나 이상의 단계를 수행할 명령어를 저장하도록 구성될 수 있다. 그러나, 상기 방법은 도 11에 도시된 바와 같이 서버에 의한 제어없이 상호연결된 게임 장치들(101)의 네트워크(1100)에 적용될 수 있다. 이 게임 장치들은 서로 직접 연결될 수 있고 (예컨대, 네트워크를 통해, 직접 링크를 통해 등등) 또는 예컨대 P2P (peer-to-peer) 네트워크에서 다른 중간 장치들 (예컨대, 다른 게임 장치들)을 통해 서로 연결될 수 있다. 이러한 네트워크에서, 게임 장치들 중 하나는 호스트로서 작용할 수 있고 특징의 전송을 제어할 수 있다 (예컨대, 방법 단계 202-204를 수행). 어떤 게임 장치는 호스트로서 작용하도록 무작위로 식별될 수 있고 또는 호스트는 소정의 기준, 예컨대 먼저 게임에 참가하거나 참가 요청하는 것, 가장 큰 특징 세트를 갖는 것, 다른 장치들에 대해 가장 큰 차이점을 갖는 것에 기초하여 선택될 수 있다. 식별된 호스트가 단절되거나 게임에 참가하는 것을 중지하면, 다른 장치들 중 하나가 호스트가 된다. 어떤 게임 장치가 호스트로서 작용하는 경우, 이들은 모든 특징에 대한 코드를 보유할 수 없고 따라서 도 3 및 도 4에 도시된 바와 같이 다른 게임 장치들로부터 코드를 업로드할 필요가 있을 수 있다.
상기 방법들에서, 차이 계산은 호스트 (예컨대, 서버 또는 게임 장치)에 의해 중앙에서 수행된다. 그러나, 이 방법들은 분산 방식으로 수행될 수 있고 (서버가 존재하든지 안하든지), 각 게임 장치는 자신이 무슨 특징 데이터를 필요로 하는지를 결정하고 적절한 코드를 보유하는 게임 장치로부터 또는 서버로부터 (존재한다면) 그것을 요청한다 (예컨대, 각 게임 장치가 단계 202-204를 수행한다).
다른 예에서, 도 11에 도시된 게임 장치(101)는 어느 게임 장치도 지배적이 지 않은 P2P 시나리오에서 동작할 수 있다. 각 게임 장치는 표준 P2P 기술을 이용하여 서로간에 복잡한 병렬 네트워킹 메시에서 특징 데이터를 통신하고 전송할 수 있다. 일구현예에서, 제1 게임 장치는 그 특징 세트 리스트를 컴파일할 수 있고 이 리스트를 다음 게임 장치로 전송할 수 있으며, 그 다음 게임 장치는 이 리스트를 분석하여 자신이 어떤 추가의 특징들을 보유하고 있는지 또한 자신이 이전 게임 장치의 특징들 중 어느 것을 보유하지 않는지를 그 리스트에 기록(note)한다. 그 다음, 이 리스트는 각 게임 장치로 전송될 수 있고, 이어서 각 수신 게임 장치는 상기와 같이 리스트에 주석을 붙인다. 모든 게임 장치에 의해 주석이 붙여진 후, 이 리스트는 다시 제1 게임 장치로 전달된다. 이 시점에서, 시스템 내의 각 게임 장치는 다른 게임 장치들이 어느 특징들을 보유하고 있고 자신이 보유하는 특징 데이터를 어느 게임 장치들이 필요로 하는지 알고 있다. 게임 장치들은 그후 필요한 특징 데이터를 이를 필요로 하는 다른 게임 장치들로 스트리밍할 수 있다.
이 P2P 시나리오의 다른 예에서, 각 게임 장치는 보유하는 특징들의 리스트를 네트워크 내의 다른 게임 장치들 각각에 전송한다. 네트워크에 있는 다른 게임 장치들 각각으로부터 리스트를 수신한 후, 임의의 게임 장치는 어느 게임 장치들로 자신이 보유하는 코드가 전송될 필요가 있는지 결정할 수 있다. 이 코드는 그후 이 특징들을 필요로 하는 다른 게임 장치들로 스트리밍될 수 있다. 이와 달리, 게임 장치들은 수신된 리스트를 이용하여 네트워크 내의 특정의 다른 게임 장치에 특징 데이터를 요청할 수 있다 (특징 데이터를 먼저 요청하지 않고 게임 장치들로 스트리밍되게 하기 보다는). 특징 세트들에서의 차이점에 관한 코드가 게임 장치들 사이에서 나중에 전송될 수 있도록 특징 세트들에 관한 데이터가 P2P 네트워크에서 게임 장치들 사이에서 공유될 수 있는 다른 방법들이 있을 수 있다.
상기 예에서, 게임에 관한 코드는 게임 장치에서 실행된다. 그러나 코드가 서버에서 실행되어도, 상기 방법들이 적용가능하다. 이러한 상황에서, 서버는 각 게임 장치와 연관된 특성 (또는 인벤토리)을 체크하고 게임 장치들로 차이점들을 다운로드하는 대신에, 서버는 게임에 참가하는 모든 장치가 특정 게임에 연결된 장치들 중 임의의 장치에 의해 소유된 모든 특징에 액세스할 수 있게 한다.
상기 예들이 동일 게임에 참가하는 다수의 게임 장치들에 관한 것이지만, 상기 방법들은 별개의 게임 세계에 함께 참가하도록 사용될 수 있다. 일예에서, 2개의 별개의 게임 세계에서 개체/특징/업그레이드 중 일부 사이에서 오버랩이 있을 수 있다. 예를 들면, A 세계는 총 및 칼을 가질 수 있지만, B 세계는 총과 폭탄을 가질 수 있다. 따라서, 칼과 폭탄의 개념은 각각의 세계에만 알려질 수 있지만 총은 공통적일 수 있고 따라서 두 게임 세계가 연결되는 경우 의미있게 전송될 수 있다. 이러한 상황에서, XML은 한 세계, 또는 총, 칼 또는 폭탄 중 어느 것에 대한 것이든 그 데이터를 내보내기(export) 위해 사용될 수 있고, 수신 세계는 이로부터 수신 세계에서 이해되는 개체와 관련된 데이터만을 취할 수 있다. 따라서, 상기 주어진 예에서, A 세계는 모든 총과 칼을 상술하는 XML을 전송할 수 있지만 B 세계는 수신된 XML 데이터로부터 총에 대한 데이터만 취하고 칼에 대한 데이터는 무시할 수 있다. XML은 사용될 수 있는 한가지 가능한 메커니즘이고 다른 것이 이와 달리 사용될 수 있다.
상기 설명에서, 특징들은 특정 게이머들 또는 어떤 게이머가 연관된 게임 장치들을 이용하여 식별된다. 다른 예에서, 일군의 또는 일 카테고리의 게이머들과 연관된 식별자가 사용될 수 있다. 일군의 또는 일 카테고리의 게이머들과 연관된 이러한 식별자의 사용은 특징들이 예컨대 게임 세계 또는 게임 커뮤니티 내에서 특정 팀, 랭크 또는 성취레벨과 연관되게 할 수 있다. 이러한 특징들은 특정 군 또는 카테고리의 게이머들과 연관된 특권을 포함할 수 있다.
본 예들이 게임 장치들의 네트워크에서 구현되는 것으로서 여기 설명되고 예시되었지만, 여기 설명된 시스템은 한정하기 위한 것이 아니라 일예로서 제공된다. 당업자라면 이해할 수 있는 바와 같이, 본 예들은 임의 갯수의 게임 장치를 갖는 다양한 서로 다른 종류의 네트워크에서의 애플리케이션에 적합하다. 이 네트워크들은 게임 전용일 필요가 없고 게임 장치들은 많은 다른 기능을 수행할 수 있다 (이하에서 설명됨).
여기 설명된 방법들은 저장 매체에서 기계 판독 형태로 소프트웨어에 의해 수행될 수 있다. 이 소프트웨어는 방법 단계들이 임의의 적절한 순서로 또는 동시에 수행될 수 있도록 병렬 프로세서 또는 직렬 프로세서에서의 실행을 위해 적절할 수 있다.
이것은 소프트웨어가 가치있는 별개의 거래가능한 상품일 수 있음을 의미한다. 원하는 기능을 수행하기 위하여, "덤(dumb)" 또는 표준 하드웨어에서 실행되거나 이를 제어하는 소프트웨어를 포함하도록 의도된다 (따라서 소프트웨어가 본질적으로 레지스터의 기능을 정의하고, 따라서 표준 하드웨어와 조합되기 전에도, 레 지스터로 명명될 수 있다). 유사한 이유로, 원하는 기능을 수행하기 위하여, 실리콘 칩을 설계하기 위해 사용되거나 범용 프로그래머블 칩을 구성하기 위해 사용되는 HDL (hardware description language) 소프트웨어와 같은 하드웨어의 구성을 "설명하는" 또는 정의하는 소프트웨어를 포함하도록 의도된다.
당업자라면 프로그램 명령어를 저장하기 위해 사용된 저장 장치가 네트워크를 통해 분산될 수 있음을 알 것이다. 예를 들면, 원격 컴퓨터는 소프트웨어로서 설명된 프로세스의 일예를 저장할 수 있다. 로컬 또는 터미널 컴퓨터는 원격 컴퓨터에 액세스하여 프로그램을 실행할 소프트웨어의 일부나 전부를 다운로드할 수 있다. 다른 방법으로, 로컬 컴퓨터는 필요한 소프트웨어의 일부를 다운로드할 수 있고 또는 로컬 터미널에서 일부 소프트웨어 명령어를 실행하고 일부는 원격 컴퓨터 (또는 컴퓨터 네트워크)에서 실행할 수 있다. 당업자라면 당업자에게 알려진 종래의 기술을 이용함으로써 모든 또는 일부 소프트웨어 명령어가 DSP와 같은 전용 회로, 프로그래머블 로직 어레이 등에 의해 수행될 수 있음을 알 수 있을 것이다.
'게임 장치'와 '게임 컨솔'이라는 용어는 전용 게임 컨솔 (예컨대, Xbox®, Xbox360TM 등), 컴퓨터, PDA, 및 이동 전화를 포함하여 사용자가 게임할 수 있는 임의의 장치를 가리키는 것으로 여기서 사용된다. 위에 도시된 게임 장치가 컨솔, 디스플레이 및 제어기를 포함하지만, 이것은 예일 뿐이며 일부/모든 기능이 통합될 수 있고 (예컨대, 휴대용 게임 장치로) 또는 장치가 모든 특징을 포함하지 않을 수있다 (예컨대, 컨솔은 비록 게임을 디스플레이하기 위해 사용되지만 게임 장치 자 체의 일부가 아닌 텔레비전에 연결될 수 있다).
'특징'이라는 용어는 아이템 (예컨대 무기, 소유물, 전달수단 등), 백그라운드/환경 (예컨대, 건물, 인테리어, 지형 등), 음악, 아바타, 모델, 텍스처, 애니메이션, 다른 능력/방법, 게임 레벨 및 업그레이드를 포함하는 게임의 임의의 양태를 가리키기 위해 여기서 사용된다. 능력/방법은 훈련, 경험, 구매, 고용, 절도, 프로모션 등을 통해 얻을 수 있는 전술적인 명령, 조치 등을 포함할 수 있다. 능력/방법이 경험, 훈련 또는 프로모션을 통해 달성되는 경우, 이 능력/방법은 일군의 게이머와 연관될 수 있다 (상술됨).
'컴퓨터'라는 용어는 명령어를 실행할 수 있도록 처리 능력을 갖는 임의의 장치를 가리키는 데 이용된다. 당업자라면 이러한 처리 능력이 많은 다른 장치에 포함되고 따라서 '컴퓨터'라는 용어가 PC, 서버, 이동 전화, PDA (personal digital assitant), 및 많은 다른 장치를 포함한다는 것을 이해할 것이다.
상기 방법들 중 임의의 것의 사상 및 개별 양태들은 독립적으로 또는 임의의 조합으로 사용될 수 있다. 상기 예들이 조합하여 사용된 사상을 나타내는 경우, 이것은 예일 뿐이며 이들이 구현할 수 있는 방식으로 임의의 한정을 의미하는 것이 아니다.
여기 주어진 임의의 범위나 장치 값은 당업자라면 알 수 있는 바와 같이 추구하는 효과를 상실하지 않고서 확장 또는 변경될 수 있다.
여기 설명된 방법들의 단계들은 임의의 적절한 순서로 또는 적용가능한 경우 동시에 수행될 수 있다. 방법들 내의 단계들의 반복 (예컨대, 도 6에서 단계 603 에서 단계 602로 다시 반복)은 일예일 뿐이며 다양한 방식으로 구현될 수 있다 (예컨대, 도 6에서 단계 604에서 단계 602로 다시 반복).
바람직한 실시예에 대한 상기 설명은 예시적으로 주어진 것이며 당업자에 의해 다양한 수정이 이루어질 수 있음은 물론이다. 상기 명세서, 예 및 데이터는 본 발명의 바람직한 실시예의 구조 및 사용에 대한 완전한 설명을 제공한다. 본 발명의 다양한 실시예가 어느 정도 특정하게 또는 하나 이상의 개별 실시예를 참조하여 위에서 설명되었지만, 당업자라면 본 발명의 사상 또는 범위에 벗어남없이 개시된 실시예들에 대한 다양한 변경을 가할 수 있을 것이다.

Claims (19)

  1. 다수 참가 게임(multi-party game)을 가능하게 하기 위해 게임 장치들(101)을 함께 연결하는 방법에 있어서,
    복수의 게임 장치로부터 데이터를 수신하는 단계 -상기 데이터는 상기 복수의 게임 장치 각각과 연관된 게임의 특징(feature)들을 상술함-;
    상기 복수의 게임 장치 중 제1 장치와 연관된 하나 이상의 필요한 특징들을 결정하는 단계 -필요한 특징은 상기 복수의 게임 장치 중 하나와 연관되지만 상기 복수의 게임 장치 중 상기 제1 장치와 연관되지 않은 특징을 포함함-;
    상기 복수의 게임 장치 중 상기 제1 장치로 상기 필요한 특징들에 관한 코드를 전송하는 단계; 및
    상기 복수의 게임 장치 각각에 대해, 상기 결정하는 단계 및 상기 전송하는 단계를 반복하는 단계
    를 포함하는 게임 장치 연결 방법.
  2. 제1항에 있어서,
    코드를 전송하는 상기 단계 전에,
    상기 게임(801; 1002)의 특징들에 관한 코드의 저장소에 액세스하는 단계;
    상기 필요한 특징들 각각에 관한 상기 코드가 상기 저장소에 저장되어 있는지 결정하는 단계; 및
    저장되어 있지 않으면, 상기 복수의 게임 장치 중 하나에 상기 코드를 요청하는 단계를 더 포함하는 게임 장치 연결 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 복수의 게임 장치 중 상기 제1 장치로 상기 필요한 특징들에 관한 코드를 전송하는 상기 단계는,
    소정의 파라미터들에 따라 상기 필요한 특징들을 여과(filtering)하는 단계; 및
    상기 복수의 게임 장치 중 상기 제1 장치로 상기 여과된 필요한 특징들에 관한 코드를 전송하는 단계를 포함하는 게임 장치 연결 방법.
  4. 제3항에 있어서,
    소정의 파라미터들에 따라 상기 필요한 특징들을 여과하는 상기 단계는,
    소정의 파라미터들에 따라 상기 복수의 게임 장치 중 상기 제1 장치와 연관된 상기 복수의 게임 장치의 서브세트를 식별하는 단계; 및
    여과된 필요한 특징들이 상기 복수의 게임 장치의 상기 서브세트 중 하나와 연관되지만 상기 복수의 게임 장치 중 상기 제1 장치와 연관되지 않은 하나 이상의 특징들을 포함하도록 상기 필요한 특징들을 여과하는 단계를 포함하는 게임 장치 연결 방법.
  5. 제4항에 있어서,
    상기 복수의 게임 장치 중 상기 제1 장치와 연관된 상기 복수의 게임 장치의 서브세트를 식별하는 상기 단계는,
    상기 복수의 게임 장치 각각에 의해 제어되는 게임 내의 개체들에 대한 게임 위치를 결정하는 단계;
    소정의 파라미터들에 기초하여 상기 복수의 게임 장치 중 상기 제1 장치에 의해 제어되는 개체에 대한 게임 위치 주위의 영역을 정의하는 단계;
    상기 영역과 함께 위치한 임의의 개체들을 식별하는 단계; 및
    상기 복수의 게임 장치 중에서, 상기 식별된 개체들을 제어하는 하나 이상의 게임 장치를 결정하는 단계를 포함하는 게임 장치 연결 방법.
  6. 제4항 또는 제5항에 있어서,
    상기 소정의 파라미터들은 상기 복수의 게임 장치 중 상기 제1 장치로의 연결의 데이터 전송속도, 및 상기 복수의 게임 장치 중 상기 제1 장치로의 목표 데이터 전송속도 중 하나 이상을 포함하는 게임 장치 연결 방법.
  7. 제3항에 있어서,
    소정의 파라미터들에 따라 상기 필요한 특징들을 여과하는 상기 단계는,
    상기 필요한 특징들 각각에 대한 소유권 정보를 결정하는 단계; 및
    상기 복수의 게임 장치 중 하나 또는 상기 복수의 게임 장치 중 하나와 연관 된 게이머에 의해 소유되지 않은 임의의 특징들을 제거하기 위해 상기 필요한 특징들을 여과하는 단계를 포함하는 게임 장치 연결 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    필요한 특징에 관한 상기 코드는 소유권 정보를 포함하는 게임 장치 연결 방법.
  9. 제8항에 있어서,
    상기 소유권 정보는 게임 장치, 게이머 또는 일군의 게이머를 식별하는 게임 장치 연결 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    복수의 게임 장치로부터 데이터를 수신하는 상기 단계 전에,
    상기 게임에 참가하려는 상기 복수의 게임 장치 각각으로부터의 요청을 수신하는 단계; 및
    상기 복수의 게임 장치 각각에 데이터를 요청하는 단계를 더 포함하고, 상기 데이터는 상기 복수의 게임 장치 각각과 연관된 게임의 특징들을 상술하는 게임 장치 연결 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    소정의 규칙에 따라 상기 복수의 게임 장치 중 하나의 수신 게임 장치에 의한 상기 필요한 특징들의 사용을 가능하게 하는 단계를 더 포함하는 게임 장치 연결 방법.
  12. 장치 실행가능한 명령어를 갖는 하나 이상의 장치 판독가능한 매체에 있어서,
    상기 명령어들은,
    복수의 게임 장치(101)로부터 데이터를 수신하는 단계 -상기 데이터는 상기 복수의 게임 장치 각각과 연관된 게임의 특징들을 상술함-;
    상기 복수의 게임 장치 중 제1 장치와 연관된 하나 이상의 필요한 특징들을 결정하는 단계 -필요한 특징은 상기 복수의 게임 장치 중 하나와 연관되지만 상기 복수의 게임 장치 중 상기 제1 장치와 연관되지 않은 특징을 포함함-;
    상기 복수의 게임 장치 중 상기 제1 장치로 상기 필요한 특징들에 관한 코드를 전송하는 단계; 및
    상기 복수의 게임 장치 각각에 대해 상기 결정하는 단계 및 상기 전송하는 단계를 반복하는 단계
    를 포함하는 단계들을 수행하는 하나 이상의 장치 판독가능한 매체.
  13. 다수 참가 게임을 가능하게 하기 위해 복수의 게임 장치(101)를 함께 연결하는 방법에 있어서,
    상기 복수의 게임 장치 중 제1 장치에서,
    상기 복수의 게임 장치 중 상기 제1 장치와 연관된 게임의 특징들을 상술하는 데이터를 원격 장치로 전송하는 단계;
    필요한 특징들의 세트에 관한 코드를 수신하는 단계 -필요한 특징은 상기 복수의 게임 장치 중 다른 장치와 연관되지만 상기 복수의 게임 장치 중 상기 제1 장치와 연관되지 않은 특징을 포함함-; 및
    상기 수신된 코드를 저장하는 단계
    를 포함하는 게임 장치 연결 방법.
  14. 제13항에 있어서,
    상기 게임의 특징들을 상술하는 데이터를 전송하는 단계 전에,
    상기 게임에 참가하려는 요청을 상기 원격 장치로 전송하는 단계; 및
    상기 원격 장치로부터 데이터 요청을 수신하는 단계를 더 포함하고, 상기 데이터는 상기 복수의 게임 장치 중 상기 제1 장치와 연관된 게임의 특징들을 상술하는 게임 장치 연결 방법.
  15. 제13항 또는 제14항에 있어서,
    수신된 코드를 소거(purge)하도록 트리거(trigger)를 수신하는 단계;
    각 필요한 특징에 대한 소유권 정보를 결정하는 단계; 및
    상기 원격 장치에 연결된 임의의 게임 장치들 또는 상기 원격 장치에 연결된 상기 게임 장치들 중 임의의 것과 연관된 게이머들에 의해 소유되지 않는 임의의 필요한 특징들에 관한 수신된 코드를 삭제하는 단계를 더 포함하는 게임 장치 연결 방법.
  16. 제13항 내지 제15항 중 어느 한 항에 있어서,
    상기 필요한 특징들의 세트에 관한 상기 코드가 상기 원격 장치로부터 수신되는 게임 장치 연결 방법.
  17. 제13항 내지 제16항 중 어느 한 항에 있어서,
    상기 필요한 특징들의 세트에 관한 상기 코드는 상기 복수의 게임 장치 중 하나 이상으로부터 수신되는 게임 장치 연결 방법.
  18. 제17항에 있어서,
    상기 원격 장치는 상기 복수의 게임 장치 중 하나인 게임 장치 연결 방법.
  19. 제13항 내지 제18항 중 어느 한 항에 있어서,
    상기 원격 장치는 서버(102)를 포함하는 게임 장치 연결 방법.
KR1020087030868A 2006-06-20 2007-04-30 게임 장치들을 연결하는 방법 및 장치 판독가능 매체 KR20090021172A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/425,258 2006-06-20
US11/425,258 US20070293319A1 (en) 2006-06-20 2006-06-20 Transfer of Features Between Gaming Devices

Publications (1)

Publication Number Publication Date
KR20090021172A true KR20090021172A (ko) 2009-02-27

Family

ID=38833721

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087030868A KR20090021172A (ko) 2006-06-20 2007-04-30 게임 장치들을 연결하는 방법 및 장치 판독가능 매체

Country Status (7)

Country Link
US (1) US20070293319A1 (ko)
EP (1) EP2036021A1 (ko)
JP (1) JP2009540920A (ko)
KR (1) KR20090021172A (ko)
CN (1) CN101473341A (ko)
RU (1) RU2008150478A (ko)
WO (1) WO2007149147A1 (ko)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080004094A1 (en) * 2006-06-30 2008-01-03 Leviathan Entertainment, Llc Method and System to Provide Inventory Management in a Virtual Environment
US20100100446A1 (en) * 2007-03-14 2010-04-22 Kim Hyong-Suk Method for advertising using mobile multiplayer game and system thereof
US8713181B2 (en) * 2007-08-03 2014-04-29 International Business Machines Corporation Method for transferring inventory between virtual universes
US8140982B2 (en) * 2007-11-08 2012-03-20 International Business Machines Corporation Method and system for splitting virtual universes into distinct entities
US20090178143A1 (en) * 2008-01-07 2009-07-09 Diginome, Inc. Method and System for Embedding Information in Computer Data
US20090175521A1 (en) * 2008-01-07 2009-07-09 Diginome, Inc. Method and System for Creating and Embedding Information in Digital Representations of a Subject
US7921128B2 (en) * 2008-02-05 2011-04-05 International Business Machines Corporation Method and system for merging disparate virtual universes entities
US8137199B2 (en) * 2008-02-11 2012-03-20 Microsoft Corporation Partitioned artificial intelligence for networked games
US9754234B2 (en) * 2008-02-15 2017-09-05 International Business Machines Corporation Tracking of shared inventory in a virtual universe
US8539364B2 (en) * 2008-03-12 2013-09-17 International Business Machines Corporation Attaching external virtual universes to an existing virtual universe
JP4569654B2 (ja) * 2008-03-26 2010-10-27 ブラザー工業株式会社 デバイス
US20090327094A1 (en) * 2008-06-30 2009-12-31 Microsoft Corporation Platform independent ecosystem for creation, consumption and trade of user-generated digital content
US8446414B2 (en) * 2008-07-14 2013-05-21 Microsoft Corporation Programming APIS for an extensible avatar system
US20120246585A9 (en) * 2008-07-14 2012-09-27 Microsoft Corporation System for editing an avatar
US8384719B2 (en) * 2008-08-01 2013-02-26 Microsoft Corporation Avatar items and animations
US8276084B2 (en) * 2009-06-01 2012-09-25 International Business Machines Corporation Peer-to-peer based content delivery in a virtual universe
US20100331084A1 (en) * 2009-06-24 2010-12-30 Aperture Investments Llc System and method for a wrap-around gaming experience
US9251318B2 (en) 2009-09-03 2016-02-02 International Business Machines Corporation System and method for the designation of items in a virtual universe
US8788952B2 (en) * 2009-09-03 2014-07-22 International Business Machines Corporation System and method for locating missing items in a virtual universe
US8326855B2 (en) * 2009-12-02 2012-12-04 International Business Machines Corporation System and method for abstraction of objects for cross virtual universe deployment
KR20130018708A (ko) * 2010-03-05 2013-02-25 브래스 몽키, 인크. 웹 브라우저에서의 양방향 통신 및 컨텐츠의 제어를 하기 위한 시스템 및 방법
US9269233B2 (en) 2010-07-21 2016-02-23 Bally Gaming, Inc. Poker game system and system with a secondary award feature having an expected value dependent on the ranking of a primary game outcome
US20130198273A1 (en) 2010-10-16 2013-08-01 James Charles Vago Methods, devices, and systems for video gaming
US8613648B2 (en) 2010-11-02 2013-12-24 Wms Gaming Inc. Multi-game video poker machine and system with asymmetrically accessible customization features
US20120311504A1 (en) * 2011-06-03 2012-12-06 Van Os Marcel Extensible architecture for navigating a hierarchy
EP2574382B1 (en) * 2011-09-29 2019-05-15 Sony Interactive Entertainment Europe Limited Video game assistance system and method
US20130104025A1 (en) * 2011-10-20 2013-04-25 Microsoft Corporation Enabling immersive search engine home pages
JP5986371B2 (ja) * 2011-12-01 2016-09-06 任天堂株式会社 ゲームシステム、ゲーム装置、ゲームプログラムおよびゲーム制御方法
CN104011700B (zh) 2012-02-14 2016-10-26 英派尔科技开发有限公司 基于云的游戏系统中的负载平衡
JP5529923B2 (ja) * 2012-06-04 2014-06-25 株式会社コナミデジタルエンタテインメント ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム、情報処理装置
JP5529924B2 (ja) * 2012-06-04 2014-06-25 株式会社コナミデジタルエンタテインメント ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム、情報処理装置
US9037725B2 (en) * 2012-10-18 2015-05-19 Bigpoint Inc. Online game system, method, and computer-readable medium
US20140113727A1 (en) * 2012-10-18 2014-04-24 Bigpoint Inc. Online game system, method, and computer-readable medium
US9358467B2 (en) 2013-07-22 2016-06-07 Empire Technology Development Llc Game load management
US9694280B2 (en) * 2013-11-15 2017-07-04 Sony Interactive Entertainment America Llc Systems and methods for providing cross platform access to interactive content
US10478723B2 (en) 2014-06-30 2019-11-19 Microsoft Technology Licensing, Llc Track based play systems
US10518188B2 (en) 2014-06-30 2019-12-31 Microsoft Technology Licensing, Llc Controlling physical toys using a physics engine
US10537821B2 (en) 2014-06-30 2020-01-21 Microsoft Technology Licensing, Llc Interactive play sets
US10369477B2 (en) 2014-10-08 2019-08-06 Microsoft Technology Licensing, Llc Management of resources within a virtual world
US9696757B2 (en) * 2014-10-08 2017-07-04 Microsoft Corporation Transfer of attributes between generations of characters
US10594688B2 (en) * 2015-03-09 2020-03-17 Cross Match Technologies, Inc. Privacy-enhanced biometrics-secret binding scheme
US10733415B1 (en) 2015-06-08 2020-08-04 Cross Match Technologies, Inc. Transformed representation for fingerprint data with high recognition accuracy
US10456672B2 (en) * 2016-05-19 2019-10-29 Google Llc Methods and systems for facilitating participation in a game session
JP6614462B2 (ja) * 2017-10-06 2019-12-04 株式会社セガゲームス プログラム及び情報処理装置
WO2019074952A2 (en) 2017-10-10 2019-04-18 Google Llc GAMING PROFILING BASED ON DISTRIBUTED SAMPLE WITH GAME AND MEASUREMENT METADATA, AND GAME API PLATFORM SUPPORTING THIRD CONTENT
US11140207B2 (en) 2017-12-21 2021-10-05 Google Llc Network impairment simulation framework for verification of real time interactive media streaming systems
WO2019182752A1 (en) 2018-03-22 2019-09-26 Google Llc Methods and systems for rendering and encoding content for online interactive gaming sessions
US11077364B2 (en) * 2018-04-02 2021-08-03 Google Llc Resolution-based scaling of real-time interactive graphics
CN115253276A (zh) 2018-04-02 2022-11-01 谷歌有限责任公司 交互式云游戏的方法、设备和系统
EP4345731A1 (en) 2018-04-10 2024-04-03 Google LLC Memory management in gaming rendering
CN112204529A (zh) 2018-11-16 2021-01-08 谷歌有限责任公司 用于复杂系统分析的实时交互式仿真的影子追踪
US11571626B2 (en) 2020-11-02 2023-02-07 Microsoft Technology Licensing, Llc Software ownership validation of optical discs using secondary device
JP2024003390A (ja) * 2022-06-27 2024-01-15 任天堂株式会社 システム、プログラム、方法、および情報処理装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828843A (en) * 1996-03-21 1998-10-27 Mpath Interactive, Inc. Object-oriented method for matching clients together with servers according to attributes included in join request
US5772512A (en) * 1996-07-31 1998-06-30 Clutchability, L.L.C. Electronic football game
KR20000037507A (ko) * 2000-04-29 2000-07-05 강서규 컴퓨터와 인터넷을 활용한 종합 오락서비스 '멀티방'사업모델
US20030014513A1 (en) * 2000-12-27 2003-01-16 Ruths Derek Augustus Samuel System and method for collaborative data resource representation
JP4280901B2 (ja) * 2002-02-05 2009-06-17 株式会社セガ 音声チャットシステム
US20040002382A1 (en) * 2002-06-27 2004-01-01 Inventec Appliances Corp. Method enabling mobile telephone game playing capability on wireless networks
US20040068724A1 (en) * 2002-08-30 2004-04-08 Gardner Richard Wayne Server processing for updating dataset versions resident on a wireless device
KR20040042121A (ko) * 2002-11-13 2004-05-20 주식회사 엔씨소프트 온 라인 게임의 제공 방법 및 장치
JP4073885B2 (ja) * 2003-06-17 2008-04-09 任天堂株式会社 ゲームシステム、ゲーム装置およびゲームプログラム
WO2005020129A2 (en) * 2003-08-19 2005-03-03 Bandalong Entertainment Customizable avatar and differentiated instant messaging environment
US20060183550A1 (en) * 2005-02-08 2006-08-17 Gagner Mark B Information transfer to gaming machines

Also Published As

Publication number Publication date
CN101473341A (zh) 2009-07-01
RU2008150478A (ru) 2010-06-27
JP2009540920A (ja) 2009-11-26
EP2036021A1 (en) 2009-03-18
WO2007149147A1 (en) 2007-12-27
US20070293319A1 (en) 2007-12-20

Similar Documents

Publication Publication Date Title
KR20090021172A (ko) 게임 장치들을 연결하는 방법 및 장치 판독가능 매체
JP6298613B2 (ja) ゲームシステム、ゲーム制御方法、及びゲーム制御プログラム
US20150024852A1 (en) Platform for associating characteristics of a digital asset with multiple media sources
JP6599080B2 (ja) ゲームシステム、ゲーム制御方法、及びゲーム制御プログラム
JP6398001B2 (ja) ゲームセッションのリプレイの間の新タイムラインのスポーン
US11192033B1 (en) Systems and methods for providing and using proof of in-game participation by unique digital articles
US11813532B2 (en) Systems and methods for player-initiated proof of in-game participation by unique digital articles
JP2021189475A (ja) コンピュータシステム及びデジタル著作物取引制御方法
US11571625B2 (en) Systems and methods for gated in-game access based on collections of unique digital articles
US11192036B1 (en) Systems and methods for tokenizing and sharing moments in a game
JP6317705B2 (ja) ゲームサービス方法、ゲームサービス方法を実行するためのプログラムが記録されているコンピュータで読み取り可能な記録媒体、及びゲームサービスシステム
KR101487077B1 (ko) 게임 시스템 및 그 제어 방법
US11457277B2 (en) Context-based action suggestions
JP6677752B2 (ja) ゲームシステム、ゲーム制御方法、及びゲーム制御プログラム
KR101229728B1 (ko) 온라인 게임에서 친구 초대 방법 및 서버
JP2020124516A (ja) ゲーム制御プログラム、ゲームシステム、及びゲーム制御方法
KR101178325B1 (ko) 온라인 게임의 팀 플레이 제어 방법 및 시스템
KR20130037778A (ko) 캐릭터 이전 서비스를 제공하는 방법 및 캐릭터 이전 장치
KR101183731B1 (ko) 아이템 사용 서비스 제공 방법 및 서버
JP7174913B2 (ja) ゲームプログラム、サーバ装置およびゲームシステム
JP7245368B2 (ja) ゲーム制御プログラム、ゲームシステム、及びゲーム制御方法
US20230122894A1 (en) Point management program, point management system, and point management method
Bergquist Economics in the Small and Independent Game Industry
CN117138349A (zh) 安全匹配、资产转移和可用性重新配置平台
CN116943192A (zh) 一种技能获取控制方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid