KR20150024345A - 인터렉티브 게임플레이를 위한 시스템들 및 방법들 - Google Patents

인터렉티브 게임플레이를 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR20150024345A
KR20150024345A KR20147036202A KR20147036202A KR20150024345A KR 20150024345 A KR20150024345 A KR 20150024345A KR 20147036202 A KR20147036202 A KR 20147036202A KR 20147036202 A KR20147036202 A KR 20147036202A KR 20150024345 A KR20150024345 A KR 20150024345A
Authority
KR
South Korea
Prior art keywords
server
game
data store
user
data
Prior art date
Application number
KR20147036202A
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 KR20150024345A publication Critical patent/KR20150024345A/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
    • A63F9/00Games not otherwise provided for
    • A63F9/24Electric games; Games using electronic circuits not otherwise provided for
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3202Hardware aspects of a gaming system, e.g. components, construction, architecture thereof
    • G07F17/3204Player-machine interfaces
    • 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
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3202Hardware aspects of a gaming system, e.g. components, construction, architecture thereof
    • G07F17/3223Architectural aspects of a gaming system, e.g. internal configuration, master/slave, wireless communication
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/326Game play aspects of gaming systems
    • G07F17/3272Games involving multiple players
    • G07F17/3276Games involving multiple players wherein the players compete, e.g. tournament

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명의 분야는 플레이어들로 하여금 공통된 인터렉티브 게임에 참여하도록 하는 인터렉티브 게임 시스템들 및 방법들에 관한 것이며, 관련된 서버들, 디바이스들 및 컴퓨터 프로그램 제품들, 및 이들의 사용에 관한 것이다. 인터렉티브 게임 플레이를 가능하게 하는 시스템이 개시되며, 이는: 제1 어플리케이션 프로그래밍 인터페이스(API)를 이용하여 제1 컴퓨팅 디바이스와 통신 하도록 구성되는 제1 서버를 포함하며, 상기 제1 서버는 제1 데이터 저장소를 포함하고; 제2 API를 이용하여 제2 컴퓨팅 디바이스와 통신하도록 구성되는 제2 서버를 포함하며, 상기 제2 서버는 제2 데이터 저장소를 포함하며; 그리고 상기 제1 서버 및 제2 서버와 통신하는 제3 서버를 포함하며, 상기 제3 서버는 제3 데이터 저장소를 포함하며; 상기 제1 서버, 제2 서버 및 제3 서버는 제1 컴퓨팅 디바이스 및 제2 컴퓨팅 디바이스로 하여금 인터렉티브 게임에 참여하도록 하기 위해 제1 데이터 저장소, 제2 데이터 저장소 및 제3 데이터 저장소를 동기화한다. 크로스 플랫폼 게이밍을 가능하게 하는 것은 페이스북 API, Android API 또는 iOS API를 사용한다.

Description

인터렉티브 게임플레이를 위한 시스템들 및 방법들{SYSTEMS AND METHODS FOR INTERACTIVE GAMEPLAY}
본 발명의 기술분야는 플레이어들로 하여금 공통된 인터렉티브(interactive) 게임에 참여하는 것을 가능하게 하는 인터렉티브 게임 시스템들 및 방법들, 및 관련된 서버들, 디바이스들 및 컴퓨터 프로그램 제품들, 그리고 이들의 사용들에 관한 것이다.
소셜 네트워크 내에서의 다수의 플레이어들 사이의 인터렉티브 비디오 게임은 점점 더 인기를 얻고 있다. 예를 들어, 본 출원의 양수인(assignee)은 페이스북(등록상표) 상에서 플레이 될 수 있는 인기 있는 게임인 Bubble Witch Saga TM의 창작자이다. Bubble Witch Saga에서, 특정한 플레이어는 증가하는 난이도의 도전에 직면한다. 플레이어는 플레이어의 소셜 네트워크 내의 다른 유저들과 함께, 이들이 동일한 Bubble Witch Saga 게임을 플레이 할 수 있도록, 인터렉티브 게임에 참여할 수 있다. 각각의 플레이어가 페이스북에 로그인하고 Bubble Witch Saga를 시작할 때, 플레이어는 각 플레이어의 상태(스코어, 레벨 등), 현재시간에 플레이 하고 있는 플레이어들의 이름들, 최근에 게임에 참가한 플레이어들의 이름들과 같은, 게임 내의 다른 플레이어들에 대한 현재 정보를 제공받을 것이다. 이 상황에서의 플랫폼은 페이스북 환경일 것이며, 여기서 각각의 플레이어는 페이스북을 통해 웹 브라우저를 사용하여 게임에 액세스(access)하고 상기 게임은 페이스북 환경 내에서 어플리케이션 프로그래밍 인터페이스들(API's)을 이용하여 각각의 플레이어의 웹 브라우저와 통신하는 서버에 의해 가능하게 된다.
선행 기술의 시스템들의 한 가지 한계는 플레이어들이 동일한 플랫폼을 사용하는 경우에만 공통된 인터렉티브 비디오 게임에 참여할 수 있다는 점이다. 현재, 페이스북 환경 및 'iOS' 환경(Apple 사에서 만들고 이들에 의해 운영되며, iPhone(등록상표) 및 iPad(등록상표)를 포함하는 모바일 디바이스들에서 사용되는 운영 체제) 및 다른 모바일 디바이스들에서 사용되는 Android(등록상표) 기반의 환경과 같은, 서로 다른 플랫폼들로부터 공통 인터렉티브 게임에 참여하는 것은 가능하지 않다. 유저가 네트워크 접속을 갖지 않을 때 공통된 인터렉티브 게임에 참여하는 것 또한 가능하지 않다.
필요한 것은 서로 다른 플랫폼들의 유저들에 의해 액세스될 수 있는 게임플레이 시스템이다. 더 필요한 것은 유저가 네트워크 접속을 잃었을 때에도 계속하고 일단 상기 유저가 네트워크 접속을 되찾으면 동기화하는 플레이를 할 수 있게 하는 게임플레이 시스템이다.
GB2454989B(도면 6의 선행 기술 참조)는 온라인 게임 서버(1)에서, 메인 게임이 아닌 서브 게임이 온라인 게임 시스템의 클라이언트 단말기(21-2N) 상에서 실행될 때 이용될 데이터에 대한 업데이트 동작에 부합되도록, 업데이터가 저장 섹션에 저장된 적어도 하나의 게임 프로그램 및 게임 데이터를 서버(1)에 대해 업데이트하는 것을 개시한다. 상기 업데이트된 데이터들은 상기 클라이언트 단말기(21-2N)에서 이용될 수 있는 공유 라이브러리 포맷(shared library format)에 저장된다. 송신기(transmitter)는 업데이트된 데이터 부분을 포함하는 업데이트된 데이터를 상기 클라이언트 단말기(21-2N)로 송신한다. 상기 클라이언트 단말기(21-2N)에서, 리라이터(rewriter)는 메모리 내에 저장된 클라이언트에 대한 적어도 하나의 게임 프로그램 및 게임 데이터를 리라이트(rewrite)한다. 플레이어에 의한 사양 연산 입력(specification operational input)이 있는 경우에는, 제어기(controller)는 상기 온라인 게임 서버(1)와 통신을 수행함이 없이, 클라이언트(21-2N) 내에 저장된 업데이트된 데이터를 이용하여 온라인 게임의 서브 게임 부분의 진행을 제어한다. 서브 게임은 서버(1)와의 통신을 이용하여 일반적으로 실행되는 온라인 게임에 대한 튜토리얼 모드(tutorial mode)일 수 있다. 그러므로 상기 온라인 게임은 통신 트래픽 로드(communication traffic load)를 줄이는 것을 돕는, 온라인 플레이 및 오프라인 플레이를 갖는다. 온라인 게임 시스템(4)을 구성하는 온라인 게임 서버(1) 및 복수의 클라이언트 단말기들(21 내지 2N) 각각은 인터넷과 같은 통신 네트워크(3)에 접속되어 있다.
본 발명의 제1 양상에 따르면, 인터렉티브 게임플레이를 가능하게 하는 시스템이 제공되고, 상기 시스템은:
제1 어플리케이션 프로그래밍 인터페이스(API)를 이용하여 제1 컴퓨팅 디바이스와 통신 하도록 구성되는 제1 서버와, 상기 제1 서버는 제1 데이터 저장소를 포함하고;
제2 API를 이용하여 제2 컴퓨팅 디바이스와 통신 하도록 구성되는 제2 서버와, 상기 제2 서버는 제2 데이터 저장소를 포함하고; 그리고
상기 제1 서버 및 제2 서버와 통신하는 제3 서버를 포함하고, 상기 제3 서버는 제3 데이터 저장소를 포함하고;
상기 제1 서버, 제2 서버 및 제3 서버들은 상기 제1 컴퓨팅 디바이스 및 제2 컴퓨팅 디바이스로 하여금 인터렉티브 게임에 참여하는 것을 가능하게 하기 위해 상기 제1 데이터 저장소, 제2 데이터 저장소 및 제3 데이터 저장소를 동기화하도록 구성되는 것을 특징으로 하는 시스템이다.
상기 시스템은 상기 시스템의 제1 API가 페이스북(facebook) API인 시스템일 수 있다.
상기 시스템은 상기 시스템의 제2 API가 Android API인 시스템일 수 있다.
상기 시스템은 상기 시스템의 제2 API가 iOS API인 시스템일 수 있다.
상기 시스템은 상기 시스템의 제1 컴퓨팅 디바이스가 데스크탑 컴퓨터인 시스템일 수 있다.
상기 시스템은 상기 시스템의 제1 컴퓨팅 디바이스가 모바일 디바이스인 시스템일 수 있다.
상기 시스템은 상기 시스템의 제3 데이터 저장소가 인터렉티브 게임에 대한 데이터 구조를 포함하는 시스템일 수 있다.
상기 시스템은 상기 시스템의 상기 데이터 구조가 게임 내의 복수의 플레이어들에 대한 정보를 포함하는 시스템일 수 있다.
본 발명의 제2 양상에 따르면, 인터렉티브 게임플레이의 방법이 제공되고, 상기 방법은:
제1 컴퓨팅 디바이스 상에서 게임을 디스플레이하는 단계와, 상기 제1 컴퓨팅 디바이스는 제1 데이터 구조를 포함하는 제1 데이터 저장소를 포함하고;
제1 어플리케이션 프로그래밍 인터페이스(API)를 이용해서 상기 제1 컴퓨팅 디바이스와 제1 서버 사이의 통신을 확립하는(establishing) 단계와, 상기 제1 서버는 제1 서버 데이터 구조를 포함하는 제1 서버 데이터 저장소를 포함하고;
제2 컴퓨팅 디바이스 상에서 게임을 디스플레이하는 단계와, 상기 제2 컴퓨팅 디바이스는 제2 데이터 구조를 포함하는 제2 데이터 저장소를 포함하고;
제2 API를 이용해서 상기 제2 컴퓨팅 디바이스와 제2 서버 사이의 통신을 확립하는 단계와, 상기 제2 서버는 제2 서버 데이터 구조를 포함하는 제2 서버 데이터 저장소를 포함하고;
상기 제1 API를 이용해서 상기 제1 데이터 구조와 상기 제1 서버 데이터 구조를 동기화하는 단계와;
상기 제1 서버 데이터 구조와 상기 제2 서버 데이터 구조를 동기화하는 단계와; 그리고
상기 제2 API를 이용해서 상기 제2 서버 데이터 구조와 상기 제2 데이터 구조를 동기화하는 단계를 포함한다.
상기 방법은 상기 제1 API가 페이스북 API인 방법일 수 있다.
상기 방법은 상기 제2 API가 Android API인 방법일 수 있다.
상기 방법은 상기 제2 API가 iOS API인 방법일 수 있다.
상기 방법은 상기 제1 컴퓨팅 디바이스가 데스크탑 컴퓨터인 방법일 수 있다.
상기 방법은 상기 제1 컴퓨팅 디바이스가 모바일 디바이스인 방법일 수 있다.
상기 방법은 상기 제1 서버 데이터 구조와 상기 제2 서버 데이터 구조를 동기화하는 상기 단계는 제3 서버에서 수행되는 방법일 수 있다.
상기 방법은 상기 제3 서버가 마스터 게임 데이터 구조(master game data structure)를 포함하는 방법일 수 있다.
본 발명의 제3 양상에 따르면, 멀티플레이어 인터렉티브 게임을 플레이하는 것에 대한 멀티플레이어 인터렉티브 게임 서버 시스템이 제공되고, 상기 시스템은:
상기 인터렉티브 게임의 상태에 관한 제1 데이터 저장소를 포함하는 제1 서버와, 상기 제1 서버는, 제1 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 인터렉티브 게임에 참여하도록 동작 가능한 제1 컴퓨팅 플랫폼의 제1의 복수의 디바이스들과 통신 하도록 구성되고;
상기 인터렉티브 게임의 상태에 관한 제2 데이터 저장소를 포함하는 제2 서버와, 상기 제2 서버는, 상기 제1 어플리케이션 프로그래밍 인터페이스와 다른 제2 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 인터렉티브 게임에 참여하도록 동작 가능한, 상기 제1 컴퓨팅 플랫폼과 다른, 제2 컴퓨팅 플랫폼의 제2의 복수의 디바이스들과 통신하도록 구성되고, 그리고
상기 인터렉티브 게임의 상태에 관한 제3 데이터 저장소를 포함하는 제3 서버를 포함하고, 상기 제3 서버는 상기 제1 서버 및 상기 제2 서버와 통신하도록 배열되고,
상기 제1, 제2 및 제3 서버들은, 동기화되었을 때, 상기 제1 데이터 저장소, 상기 제2 데이터 저장소 및 상기 제3 데이터 저장소 모두, 동기화된 게임 상태에 관련되도록 상기 제1 데이터 저장소, 상기 제2 데이터 저장소 및 상기 제3 데이터 저장소를 동기화하도록 배열된다.
본 발명의 상기 제3 양상의 추가적인 양상들은 청구항 22 내지 77에 기술된다.
한 가지 이점(advantage)은, 상기 제1 서버는, 제1 어플리케이션 프로그래밍 인터페이스를 이용해서, 제1 컴퓨팅 플랫폼의 제1의 복수의 디바이스 들과 통신하도록 구성되고, 상기 제2 서버는, 제1 어플리케이션 프로그래밍 인터페이스와 다른 제2 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 제1 컴퓨팅 플랫폼과 다른 제2 컴퓨팅 플랫폼의 제2의 복수의 디바이스들과 통신하도록 구성되기 때문에, 상기 제1 및 제2 서버들은 자신들을 2개의 서로 다른 컴퓨팅 플랫폼들과 통신을 유지하는 복잡성 없이 개별적으로 유지되고 업그레이드될 수 있다는 점이다. 추가의 이점은, 상기 제1 및 제2 서버들이 서로 다른 컴퓨팅 플랫폼들과 통신하도록 전용(dedicated)되기 때문에, 각각은 더 특수화될 수 있고 그러므로 이들이 통신하는 디바이스들과 더 즉각적인 응답으로 통신할 수 있다는 점이다. 추가의 이점은, 상기 서버들과 통신하는 디바이스들의 유저들에 의해 경험 되는 성능을 향상시키는, 계산 자원들이 많이 요구될 때 디바이스들과 통신하는 것이 우선권을 갖도록, 디바이스들과 통신하는 것보다 낮은 우선순위의 임무로서 게임 상태 동기화가 발생할 수 있다는 점이다. 추가의 이점은, 상기 시스템은 2개의 서로 다른 컴퓨터 플랫폼 사이에 다중 유저(multiuser) 인터렉티브 게임을 제공한다는 점이다. 상기 시스템은, 그러므로, 향상된 아키텍처(architecture)를 갖는바, 속도의 향상 및 시스템의 안정성이 있고, 상기 시스템은 새로운 방식으로 동작한다.
본 발명의 제4 양상에 따르면, 멀티플레이어 인터렉티브 게임 서버 시스템 내의 멀티플레이어 인터렉티브 게임의 상태를 동기화하는 방법이 제공되고, 상기 시스템은:
상기 인터렉티브 게임의 상태에 관한 제1 데이터 저장소를 포함하는 제1 서버와, 상기 제1 서버는, 제1 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 인터렉티브 게임에 참여하도록 동작 가능한 제1 컴퓨팅 플랫폼의 제1의 복수의 디바이스들과 통신하도록 구성되고;
상기 인터렉티브 게임의 상태에 관한 제2 데이터 저장소를 포함하는 제2 서버와, 상기 제2 서버는, 상기 제1 어플리케이션 프로그래밍 인터페이스와 다른 제2 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 인터렉티브 게임에 참여하도록 동작 가능한 상기 제1 컴퓨팅 플랫폼과 다른 제2 컴퓨팅 플랫폼의 제2의 복수의 디바이스들과 통신하도록 구성되고, 그리고
상기 인터렉티브 게임의 상태에 관한 제3 데이터 저장소를 포함하는 제3 서버와, 상기 제3 서버는, 상기 제1 서버 및 상기 제2 서버와 통신 하도록 배열되고, 상기 방법은 동기화되었을 때, 제1 데이터 저장소, 제2 데이터 저장소 및 제3 데이터 저장소 모두 동기화된 게임 상태에 관련되도록:
(i) 상기 제1 서버상의 상기 제1 데이터 저장소와 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계,
(ii) 상기 제2 서버상의 상기 제2 데이터 저장소와 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계, 그리고
(iii) 상기 제1 서버상의 상기 제1 데이터 저장소와 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계를 포함한다.
단계 (iii)은 동기화된 게임 상태에 관한 상기 제2 데이터 저장소 내의 데이터가 상기 제1 데이터 저장소로 이동(migrate)하는 것을 보장한다.
본 발명의 제4 양상의 추가적인 양상들은 청구항 제79항 내지 제81항에 기술된다.
한 가지 이점은, 상기 제1 서버는, 제1 어플리케이션 프로그래밍 인터페이스를 이용해서, 제1 컴퓨팅 플랫폼의 제1의 복수의 디바이스들과 통신하도록 구성되고, 상기 제2 서버는, 상기 제1 어플리케이션 프로그래밍 인터페이스와 다른 제2 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 제1 컴퓨팅 플랫폼과 다른 제2 컴퓨팅 플랫폼의 제2의 복수의 디바이스들과 통신 하도록 구성되고, 상기 제1 및 제2 서버들은 자신들을 2개의 서로 다른 컴퓨팅 플랫폼들과의 통신을 유지하는 복잡성 없이, 개별적으로 유지되고 업그레이드될 수 있다. 추가적인 이점은, 상기 제1 및 제2 서버들이 서로 다른 컴퓨팅 플랫폼들과의 통신 전용이기 때문에, 각각은 더 특수화될 수 있고 그러므로 이들이 통신하는 상기 디바이스들과 더 즉각적인 응답으로 통신할 수 있다는 점이다. 추가적인 이점은, 계산 자원들이 더 많이 요구될 때, 디바이스들과의 통신이 우선권을 가질 수 있고, 이는 서버들과 통신하는 디바이스들의 유저들에 의해 경험되는 성능을 향상시키도록, 게임 상태 동기화가 디바이스들과의 통신 하는 것보다 더 낮은 우선순위의 임무로 발생할 수 있다는 점이다. 상기 시스템은, 그러므로 향상된 아키텍처를 가지며, 상기 방법은 속도 및 시스템의 안정성의 증가를 가져오고, 상기 방법은 상기 시스템이 새로운 방식으로 동작하는 결과를 낳는다.
본 발명의 상기 제1, 제2, 제3 또는 제4 양상들 중 어느 하나에 따른 시스템 또는 방법의 사용이 제공된다.
본 발명의 제5 양상에 따르면, 본 발명의 상기 제3 양상에 따른 시스템의 상기 제1의 복수의 디바이스들 중의 한 디바이스가 제공되고, 상기 디바이스는 제1 서버와 통신하도록 구성되고, 상기 디바이스는 상기 디바이스 상의 인터렉티브 게임을 실행하도록 동작 가능한 어플리케이션을 포함하고, 상기 어플리케이션은 상기 디바이스 상에, 인터렉티브 게임의 상태에 관한 상기 디바이스의 유저에 대한 데이터 구조를 생성하고 저장하도록 구성된다.
본 발명의 상기 제5 양상의 추가적인 양상들은 청구항 제83항 내지 제95항에 기술된다.
본 발명의 제5 양상에 더 따르면, 비일시적 저장 매체 상에 구현된 컴퓨터 프로그램 제품(computer program product embodied on a non-transient storage medium)이 제공되고, 상기 컴퓨터 프로그램 제품은 본 발명의 제3 양상에 따르면 시스템의 상기 제1의 복수의 디바이스들 중의 한 디바이스 상에서 실행되도록 동작 가능하고, 상기 디바이스는 상기 제1 서버와 통신하도록 구성되고, 상기 디바이스는 상기 디바이스 상의 인터렉티브 게임을 실행하도록 동작 가능한 컴퓨터 프로그램 제품을 포함하고, 상기 컴퓨터 프로그램 제품은 상기 인터렉티브 게임의 상태에 관한 상기 디바이스의 유저에 대한 데이터 구조를 상기 디바이스 상에 생성하고 저장하도록 구성된다.
본 발명의 제6 양상에 따르면, 멀티플레이어 멀티플 인터렉티브 게임 서버 시스템이 제공되고, 상기 시스템은:
복수의 인터렉티브 게임들의 상태들에 관한 제1 데이터 저장소를 포함하는 제1 서버와, 상기 제1 서버는, 제1 어플리케이션 프로그래밍 인터페이스를 이용해서, 복수의 인터렉티브 게임들에 참여하도록 동작 가능한 제1 컴퓨팅 플랫폼의 제1의 복수의 디바이스들과 통신하도록 구성되고;
복수의 인터렉티브 게임들의 상태들에 관한 제2 데이터 저장소를 포함하는 제2 서버와, 상기 제2 서버는, 상기 제1 어플리케이션 프로그래밍 인터페이스와 다른 제2 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 복수의 인터렉티브 게임들에 참여하도록 동작 가능한 상기 제1 컴퓨팅 플랫폼과 다른 제2 컴퓨팅 플랫폼의 제2의 복수의 디바이스들과 통신하도록 구성되고, 그리고
상기 복수의 인터렉티브 게임들의 상태들에 관한 제3 데이터 저장소를 포함하는 제3 서버를 포함하고, 상기 제3 서버는 상기 제1 서버 및 상기 제2 서버와 통신하도록 배열되고,
동기화되었을 때, 제1 데이터 저장소, 제2 데이터 저장소 및 제3 데이터 저장소 모두 상기 복수의 인터렉티브 게임들의 동기화된 상태들에 관련될 수 있도록, 상기 제1, 제2 및 제3 서버들은 상기 제1 데이터 저장소를 동기화하도록 배열되는 것을 특징으로 하는 시스템이다.
본 발명의 제7 양상에 따르면, 멀티플레이어 멀티플 인터렉티브 게임 서버 시스템 내의 복수의 멀티플레이어 인터렉티브 게임들의 상태를 동기화하는 방법이 제공되고, 상기 시스템은:
상기 복수의 인터렉티브 게임들의 상태들에 관한 제1 데이터 저장소를 포함하는 제1 서버와, 상기 제1 서버는, 제1 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 복수의 인터렉티브 게임들에 참여하도록 동작 가능한 제1 컴퓨팅 플랫폼의 제1의 복수의 디바이스들과 통신하도록 구성되고;
상기 복수의 인터렉티브 게임들의 상태들에 관한 제2 데이터 저장소를 포함하는 제2 서버와, 상기 제2 서버는, 상기 제1 어플리케이션 프로그래밍 인터페이스와 다른 제2 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 복수의 인터렉티브 게임들에 참여하도록 동작 가능한 상기 제1 컴퓨팅 플랫폼과 다른 제2 컴퓨팅 플랫폼의 제2의 복수의 디바이스들과 통신 하도록 구성되고, 그리고
상기 복수의 인터렉티브 게임들의 상태들에 관한 제3 데이터 저장소를 포함하는 제3 서버를 포함하고, 상기 제3 서버는 상기 제1 서버 및 상기 제2 서버와 통신하도록 배열되고, 상기 방법은, 동기화되었을 때, 제1 데이터 저장소, 제2 데이터 저장소 및 제3 데이터 저장소 모두가 상기 복수의 인터렉티브 게임들의 동기화된 상태와 관련되도록:
(i) 상기 제1 서버상의 상기 제1 데이터 저장소와 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계,
(ii) 상기 제2 서버상의 상기 제2 데이터 저장소와 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계, 그리고
(iii) 상기 제1 서버상의 상기 제1 데이터 저장소와 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계를 포함한다.
본 발명의 제8 양상에 따르면, 본 발명의 상기 제1, 제2, 제3 및 제4 양상들 중 어느 하나에 따른 제1 서버가 제공된다. 그러한 제1 서버의 사용이 제공된다.
본 발명의 제9 양상에 따르면, 본 발명의 상기 제1, 제2, 제3 및 제4 양상들 중 어느 하나에 따른 제2 서버가 제공된다. 그러한 제2 서버의 사용이 제공된다.
본 발명의 제10 양상에 따르면, 본 발명의 상기 제1, 제2, 제3 및 제4 양상들 중 어느 하나에 따른 제3 서버가 제공된다. 그러한 제3 서버의 사용이 제공된다.
본 개시에서, "서버"는, 통상의 기술자(one skilled in the art)에게 명확한 것처럼, 단일의 위치에 있는 단일의 서버, 단일의 위치에 있는 서버들의 그룹, 다수의 위치들에 있는 서버들의 그룹, 또는 많은 위치들 또는 클라우드(Cloud)에 있는 가상의 서버와 같은 예시를 포함하도록 넓게 해석되어야 한다.
발명의 상기 양상들 및 다른 양상들은, 단지 예시의 방식에 의해, 다음의 도면들을 참조하여, 이제 기술될 것이다:
도 1은 선행 기술인 인터렉티브 게임 시스템의 블럭도이다.
도 2는 서로 다른 여러가지 플랫폼들의 컴퓨팅 디바이스들에 의한 인터렉티브 게임을 가능하게 하는 시스템의 일 실시예(embodiment)를 도시한다.
도 3은 다양한 데이터 구조들(data structures)과 함께 도 2에 대한 실시예를 도시한다.
도 4는 새 인터렉티브 게임 세션(interactive game session)을 생성하는 실시예를 도시한다.
도 5a 및 5b는 인터렉티브 게임에 새 플레이어를 추가하는 실시예를 도시한다.
도 6은 선행 기술 문헌번호 GB2454989B에 따른 온라인 게임 시스템의 구성(configuration)의 일 예를 도시하는 블럭도이다.
도 7은 필드들 및 서브-필드들의 예들을 도시한 테이블이다.
도 8은 맵의 경로(path)의 일 예를 도시하고, 각각의 게임 레벨이 경로 상의 장소(place)로서 표현되고, 게임 내의 각각의 유저의 현재 레벨이 경로 상의 이들의 장소에 의해 표현된다.
도 9는 유저 및 친구들에 의해 달성되는 레벨 번호들의 리스트를 제공하는 스크린의 예를 도시한다.
도 10은 친구에 의해 보내진 생명(life)을 수신하도록 하는 제안의 예이다.
도 11은 고정된 개수의 새로운 생명들을 유저가 구매할 수 있는 예를 도시한다.
도 12는 친구가 다음 에피소드 또는 게임 레벨을 언락(unlock) 하는 것을 돕는 것이 가능한 예를 도시한다.
도 13은 페이스북 상의 게임에 관한 뉴스피드의 예를 도시한다.
도 14는 스마트폰 텍스트 메세지 서비스 내의 게임 어플리케이션에 대한 다운로드 링크의 예를 도시한다.
도 15a는 게임을 플레이하는 것을 시작하기 전에 유저가 페이스북에 접속할 지 또는 하지 않을지의 선택을 제공받는 예를 도시한다.
도 15b는 게임을 플레이하는 것을 시작하기 전에 유저가 페이스북으로부터 로그아웃 할지 또는 하지 않을지의 선택을 제공받는 예를 도시한다.
예시들에서, 방법 및 장치들은 다수의 플랫폼들을 통해 인터렉티브 게임플레이를 가능하게 하는 것에 대해 개시된다.
도 1은 예시적인 컴퓨팅 디바이스들(30 및 40)이 네트워크(10)를 통해 서버(20)와 결합 되어있는 선행 기술의 시스템을 도시한다. 컴퓨팅 디바이스들(30 및 40) 각각은 데스크탑, 노트북, 서버, 모바일 디바이스, 또는 네트워크 접속을 갖는 디바이스의 어떤 다른 종류든지 될 수 있다. 네트워크(10)는 LAN, WAN, 인터넷, 또는 네트워크의 어떤 다른 종류든지 될 수 있다. 컴퓨팅 디바이스들(30 및 40)과 서버(20) 각각은 유선 연결들(이더넷, DSL, 케이블 모뎀들, 또는 다른 알려진 유선 연결들과 같은) 또는 무선 연결들(802.11, CDMA, EDGE, EV-DO, 또는 다른 알려진 무선 연결들과 같은)을 이용해서 네트워크(10)와 결합된다. 특히, 이 선행 기술의 시스템에 있어서, 컴퓨팅 디바이스(30 및 40), 및 서버(20) 사이의 모든 통신은 HTTP 또는 API와 같은, 공통된 프로토콜을 이용해서 발생한다.
도 2는 본 발명의 한 실시예를 도시한다. 컴퓨팅 디바이스(130)는 네트워크(100)를 통해 서버(122)와 결합된다. 컴퓨팅 디바이스(140)는 네트워크(100)를 통해 서버(124)와 결합된다.
이 예시에서, 컴퓨팅 디바이스(130)는, 페이스북 환경과 같은 제1 플랫폼에서 실행하는 PC이다. 서버(122)는 컴퓨팅 디바이스(130)와 같은, 상기 제1 플랫폼을 실행하는 컴퓨팅 디바이스들과 통신하도록 구성된다. 예를 들어, 서버(122)는 페이스북 API들을 이용해서 상기 제1 플랫폼을 실행하는 컴퓨팅 디바이스들과 통신하도록 구성될 수 있다.
컴퓨팅 디바이스(140)는, iPhone 어플리케이션 또는 Android(등록상표) 어플리케이션과 같은 제2 플랫폼을 실행하는 모바일 디바이스이다. 서버(124)는, 컴퓨팅 디바이스(140)와 같은, 상기 제2 플랫폼을 실행하는 컴퓨팅 디바이스들과 통신 하도록 구성된다. 예를 들어, 서버(124)는 등록 상표가 붙은(proprietary) API를 이용해서 상기 제2 플랫폼을 이용하는 컴퓨팅 디바이스들과 통신하도록 구성될 수 있다. 서버(122 및 124)들은 서버(120)와 결합된다.
이 실시예에서, 유저 A(컴퓨팅 디바이스(130)의 유저) 및 유저 B(컴퓨팅 디바이스(140)의 유저)들은 함께 인터렉티브 게임을 플레이할 수 있다. 이제 도 3을 참조하면, 도 2에서와 동일한 구조들이 도시된다. 컴퓨팅 디바이스(130)는 유저 A에 대한 데이터 구조(201)를 생성하고 저장하며, 컴퓨팅 디바이스(140)는 유저 B에 대한 데이터 구조(301)를 생성하고 저장한다. 서버(122)는 유저 A에 대한 데이터 구조(202)를 생성하고 저장하며, 서버(124)는 유저 B에 대한 데이터 구조(302)를 생성하고 저장한다. 서버(120)는 유저 A에 대한 데이터 구조(203)를 생성하고 저장하며 유저 B에 대한 데이터 구조(303)를 생성하고 저장한다. 이 데이터 구조들의 각각은, 도 7의 테이블 내에 도시된 필드들 및 서브-필드들의 예와 같은, 공통 필드들 및 서브-필드들을 포함한다.
선택적으로, 데이터 구조들(202, 203, 302 및 303)은, MySQL 데이터베이스와 같은, 데이터베이스 내의 테이블들 일 수 있고, 키(key)는 데이터 구조 ID, 게임 ID 또는 유저 ID이다. 데이터 구조(202)를 저장하는 데이터베이스는 서버(122) 상에서 실행할 수 있고, 데이터 구조(302)를 저장하는 데이터베이스는 서버(124) 상에서 실행할 수 있고, 그리고 데이터 구조들(203 및 303)을 저장하는 데이터베이스 또는 데이터베이스들은 서버(120)에서 실행할 수 있다. 선택적으로, 데이터 구조들(201 및 301)은, 각각 컴퓨팅 디바이스(130 및 140) 상에서 실행되는 데이터베이스들 내의 테이블들일 수 있다.
이제 도 4를 참조하면, 한 실시예 내의 인터렉티브 게임의 시작이 이제 논의될 것이다. 이 예시에서, 컴퓨팅 디바이스(130)는, 유저 A의 명령에 의해, 서버(122)로 메시지를 보냄에 의해 새 게임이 생성되어야 한다고 요청하고, 그리고 컴퓨팅 디바이스(130)는 데이터 구조(201)를 생성한다(단계 400). 서버(122)는 이후에 새 게임 ID 및 데이터 구조(202)를 생성한다(단계 405). 서버(122)는 새 게임 ID가 생성되었고 데이터 구조(202)가 생성되었음을 메시지로 서버(120)에 보낸다(단계 410). 서버(120)는 이후에 데이터 구조(203)를 생성하고 필드들 및 서브-필드들을 덧붙인다(populate)(단계 415). 서버들(120 및 122)은 데이터 구조(203 및 202)를 아래에 기술된 동기화 과정을 이용해서 동기화한다(단계 420). 서버(122) 및 컴퓨팅 디바이스(130)는 아래에 기술된 동기화 과정을 이용해서 데이터 구조(202 및 201)를 동기화한다(단계 425).
이제 도 5a 및 5b를 참조하면, 도 4를 참조하여 이전에 기술된, 인터렉티브 게임에 추가적인 플레이어를 추가하는 것이 이제 기술될 것이다. 이 예시에서, 컴퓨팅 디바이스(130)는, 유저 A의 명령에 의해, 유저 B를 상기 인터렉티브 게임에 초대하도록 서버(122)에 요청을 제출한다(단계 450). 서버(122)는 유저 B를 초대하도록 서버(120)에 요청을 제출한다(단계 455). 서버(120)는 이후에 게임에 참여하도록 하는 요청을 유저 B에게 보낸다. 이 요청은 이메일, SMS 또는 MMS 텍스트 메시지, 유저 B와 관련된 컴퓨팅 디바이스 상에 실행되는 어플리케이션에 직접 보내지는 API, 또는 다른 통신 메커니즘에 의할 수 있다. 유저 B는 이후에 컴퓨팅 디바이스(140)를 이용해서 상기 요청을 승인한다(단계 465). 상기 승인은 웹 링크를 선택하는 것이나, 이메일에 의해 응답하는 것, SMS 또는 MMS 텍스트 메시지에 의해 응답하는 것, 어플리케이션 내의 버튼을 선택하는 것, 또는 어떤 다른 통신 메커니즘에 의해서든지 이루어질 수 있다. 컴퓨팅 디바이스(140)는 상기 승인을 서버(124)에 송신한다(단계 470). 서버(124)는 상기 승인을 서버(120)에 송신한다(단계 475). 서버(120)는 데이터 구조(303)를 생성하고 데이터 구조(203)를 업데이트 한다(단계 480). 서버(120 및 122)들은 데이터 구조들(203 및 202)을 동기화한다(단계 485). 서버(122) 및 컴퓨팅 디바이스(130)는 데이터 구조들(202 및 201)을 동기화한다(단계 490). 서버(124)는 데이터 구조(303)에 기반해서 데이터 구조(302)를 생성하고, 컴퓨팅 디바이스(140)는 데이터 구조(302)에 기반해서 데이터 구조(301)를 생성한다(단계 495).
이 예시에서, 서버(122)는 제1 API(페이스북 API와 같은)를 이용해서 컴퓨팅 디바이스(130)와 통신하고, 그리고 서버(124)는 제2 API(iPhone 또는 Android 디바이스와 사용하도록 디자인된 등록 상표가 붙은 API와 같은 경우가 될 수 있을 것이다)를 이용해서 컴퓨팅 디바이스(140)와 통신한다. 서버들(122 및 124)은 상기 제1 및 제2 API들을 각각 이용해서, 또는 제3 API 또는 프로토콜(서버 상호간 통신에 대한 API와 같은)을 이용해서 서버(120)와 통신할 수 있다.
동기화 프로세스의 한 실시예가 이제 논의될 것이다. 지금까지 기술된 실시예들에서, 데이터 구조들(201, 202 및 203)은 유저 A에 대응하고, 데이터 구조들(301, 302 및 303)은 유저 B에 대응한다. 선택적으로, 서버(120)는 유저 A 및 유저 B가 참여한 게임에 대해 마스터 게임 데이터 구조(400)를 생성하고 저장할 수 있다. 마스터 게임 데이터 구조(400)는 데이터 구조들(201, 202, 203, 301, 302 및 303)에 대해 이전에 기술된 것과 동일한 필드들 및 서브-필드들을 포함할 수 있다.
게임 플레이 동안, 유저 A는 컴퓨팅 디바이스(130)와 인터렉션할 것(interact)이고 유저 B는 컴퓨팅 디바이스(140)와 인터렉션 할 것이다. 컴퓨팅 디바이스(130)는 로컬 어플리케이션(135)(도시되지 않음)을 실행하고 컴퓨팅 디바이스(140)는 로컬 어플리케이션(145)(도시되지 않음)을 실행한다. 로컬 어플리케이션(135)은 유저 A가 게임을 통해 진행함에 따라 데이터 구조(201)를 업데이트 할 것이다. 로컬 어플리케이션(145)은 유저 B가 게임을 통해 진행함에 따라 데이터 구조(301)를 업데이트 할 것이다. 유저 A 및 유저 B는 필연적으로 동시에 플레이 할 필요는 없다.
유저 A가 게임을 플레이하는 상황에서, 주기적으로(예를 들어 1분에 1번과 같은, 또는 다른 예시에서 매 100ms 마다) 컴퓨팅 디바이스(130)는 서버(122)로 동기화 요청을 보낸다. 이 요청은 타임스탬프를 포함한다. 만약 이 타임스탬프가 데이터 구조(202)의 타임스탬프보다 나중의 시간을 표시하면, 데이터 구조(202)는, 변화된 필드들 및 서브-필드들에 대해 데이터 구조(201)로부터의 데이터로 오버라이트 되고(written over) 데이터 구조(202)의 타임스탬프 필드는 컴퓨팅 디바이스(130)로부터의 처음 요청에 있는 타임스탬프로 업데이트 된다. 그러나, 만약 데이터 구조들(201 및 202)의 "다른 플레이어들" 필드 및 서브-필드들이 매칭되지 않을 때, 이 미스매칭(mismatching)은 지난 동기화 이벤트 이후에 다른 플레이어들의 상태가 변화된 경우에만 발생할 것이고, 이 경우에는 데이터 구조(202)는 "다른 플레이어들"에 대한 더 최근의 데이터를 포함할 것이기 때문에, 데이터 구조(201)의 "다른 플레이어들" 필드 및 서브 필드들이 데이터 구조(202)로부터의 데이터로 오버라이트될(overwritten) 것이다.
주기적으로, 서버(122)는 서버(120)로 동기화 요청을 보낸다. 만약 데이터 구조(202)의 타임스탬프가 데이터 구조(203)의 타임스탬프보다 나중의 시간을 표시할 경우, 데이터 구조(203)는 변경된 필드들 및 서브-필드들에 대해 데이터 구조(202)로부터의 데이터로 오버라이트 되고 데이터 구조(203)의 타임스탬프 필드는 데이터 구조(202)의 타임스탬프로 업데이트 된다. 그러나, 만약 데이터 구조들(202 및 203)의 "다른 플레이어들" 필드 및 서브-필드가 매칭 되지 않을 경우, 데이터 구조(203)가 "다른 플레이어들"에 대한 더 최근의 데이터를 포함하는 경우인, 이 미스매칭은 지난 동기화 이벤트 이후에 다른 플레이어들의 상태가 변화된 경우에만 발생하기 때문에, 데이터 구조(202)의 "다른 플레이어들" 필드 및 서브-필드들은 데이터 구조(203)로부터의 데이터로 오버라이트 될 것이다.
만약 데이터 구조(203)의 타임스탬프가 마스터 게임 데이터 구조(400)의 타임스탬프보다 나중의 시간을 표시할 경우, 마스터 게임 데이터 구조(400)는 변경된 필드들 및 서브-필드들에 대해 데이터 구조(203)로부터의 데이터로 오버라이트 될 것이고 상기 마스터 게임 데이터 구조(400)의 타임스탬프 필드는 데이터 구조(203)의 타임스탬프로 업데이트 될 것이다. 그러나, 만약 마스터 게임 데이터 구조(400)와 데이터 구조(203)의 필드들 및 서브-필드들이 매칭 되지 않을 경우, 마스터 게임 데이터 구조(400)가 "다른 플레이어들"에 대한 더 최근의 데이터를 포함하는 경우인, 지난 동기화 이벤트 이후에 다른 플레이어들의 상태가 변화한 경우에만 이 미스매칭이 발생할 것이기 때문에, 데이터 구조(203)의 "다른 플레이어들" 필드 및 서브-필드들은 마스터 게임 데이터 구조(400)로부터의 데이터로 오버라이트 될 것이다.
디바이스(130), 서버(122)와 서버(120) 사이의 동기화 프로세스는 유저 A의 상태의 변화를 기준으로 지금까지 기술되었다. 동일한 변화가 데이터 구조(301, 302, 303) 및 마스터 게임 데이터 구조(400)에서 유저 B의 상태의 변화를 기준으로 발생할 수 있다는 것이 통상의 기술자에 의해 이해될 수 있을 것이다.
유저 A에 대한 데이터 구조의 변화들은 이제 유저 B에 관련된 데이터 구조들로 전파될 것이다. 주기적으로, 서버(120)는 마스터 게임 데이터 구조(400)와 데이터 구조(303)의 타임스탬프 필드들을 비교한다. 만약 마스터 게임 데이터 구조(400)의 타임스탬프가 데이터 구조(303)의 타임스탬프보다 나중의 시간일 경우, 데이터 구조(303)는 변경된 "다른 플레이어들" 필드 및 서브-필드들에 대해 마스터 게임 데이터 구조(400)로부터의 데이터로 오버라이트 될 것이고 데이터 구조(303)의 타임스탬프는 데이터 구조(400)의 타임스탬프로 업데이트 될 것이다.
주기적으로, 서버(120)는 서버(124)로 동기화 요청을 보낸다. 상기 요청은 데이터 구조(303)로부터의 타임스탬프를 포함한다. 만약 이 타임스탬프가 데이터 구조(302) 내의 타임스탬프보다 나중의 시간을 표시할 경우, 데이터 구조(302)는 변경된 "다른 플레이어들" 필드 및 서브-필드들에 대해 데이터 구조(303)로부터의 데이터로 오버라이트 된다.
주기적으로, 서버(124)는 컴퓨팅 디바이스(140)로 동기화 요청을 보낸다. 상기 요청은 데이터 구조(302)로부터의 타임스탬프를 포함한다. 만약 이 타임스탬프가 데이터 구조(301) 내의 타임스탬프보다 나중의 시간을 표시할 경우, 데이터 구조(301)는 변경된 "다른 플레이어들" 필드 및 서브-필드들에 대해 데이터 구조(302)로부터의 데이터로 오버라이트 된다.
그러므로, 유저 A 및 유저 B는 이 동기화 프로세스를 통해 인터렉티브 게임에 참여할 수 있음이 이해될 것이다.
"비행기 모드"를 가능하게 하는 실시예가 이제 기술될 것이다. 만약 유저 B가 컴퓨팅 디바이스(140) 상에서 네트워크(100)로의 접속을 잃을 경우(예를 들어, 만약 컴퓨팅 디바이스(140)가 비행기 상에 있거나 WiFi 또는 셀룰러 폰 접속을 잃은 경우에서 발생할 수 있는 것과 같이), 유저 B는 로컬 어플리케이션(145)을 이용해서 컴퓨팅 디바이스(140) 상에서 게임을 계속해서 플레이 할 수 있다. 로컬 어플리케이션(145)은 데이터 구조(301)를 계속해서 업데이트 한다. 컴퓨팅 디바이스(140)가 네트워크(100)로의 접속을 다시 얻고; 컴퓨팅 디바이스(140)는 위에 기술된 동기화 프로세스를 시작한다. 이러한 방식으로, 유저 A는 유저 B가 네트워크(100)에 접속되지 않은 동안에 변경이 발생되더라도 유저 B의 상태의 변경들을 알 수 있다.
상기 실시예들은 2명의 유저들, 유저 A 및 유저 B에 대해 기술되었지만, 상기 실시예들은 어떤 수의 플레이어들이든지 수용할 수 있음은 통상의 기술자에 의해 이해될 것이다. 유사하게, 2개의 서로 다른 플랫폼들을 이용해서 2개의 컴퓨팅 디바이스들, 컴퓨팅 디바이스(130 및 140)에 대해 상기 실시예들이 기술되었지만, 상기 실시예들은 어떤 수의 서로 다른 플랫폼들을 이용한 어떤 수의 컴퓨팅 디바이스들 이든지 수용할 수 있음은 통상의 기술자에 의해 이해될 것이다.
추가로, 앞에 기술된 사항은 본 발명의 특정한 실시예들에 관한 것이고, 이 실시예들의 변경들은 본 발명의 원칙들 및 정신으로부터 벗어남이 없이 이루어질 수 있음과 본 발명의 범위는 첨부된 청구항들에 의해 정의될 것임이 통상의 기술자에 의해 이해될 것이다.
멀티-플랫폼 게임들을 구축하는 것(Building Multi-Platform Games)
특별히 3개의 플랫폼들이 게임이 플레이되는 것에 대한 사람들이 기대하는 방식을 바꾸고 있다. 이 3개의 플랫폼들은 동시에 성장하고 있고, 새로운 입력 가능성들을 제공한다. 지금까지, 게임들은 이 모든 새로운 입력 가능성들을 흡수하지 않았다.
제1 플랫폼은 페이스북이다. 통상의 기술자는 이 문서에서 페이스북이 언급된 곳에서, 다른 소셜 네트워크 플랫폼들 또한 사용될 수 있음을 이해할 것이다. 페이스북 게임은 당신의 친구들과 당신이 플레이하는 게임인, 소셜 게임일 수 있다. 페이스북 상에서 게임을 플레이 하는 사람들은 게임에 액세스(access)하기 위해 지불하지 않기를 기대하기 때문에, 페이스북 상의 유료 게임을 출시하는 것(예를 들어, 처음 플레이 하기 위해서)은 드물거나 생각할 수 없는 것이다. 페이스북 게임은, 퍼스널 컴퓨터로부터와 같이, 페이스북으로 로그인하고 난 후(자동적으로 또는 수동적으로), 인터넷상에서 플레이 될 수 있다.
제2 플랫폼은 스마트폰들이다. 스마트폰들의 사용은 언제나 연속적이지만은 않다. 예를 들어, 당신은 버스에서 5분 동안 스마트폰을 사용할 수 있고, 이후에 연결되는 열차에서 20분 동안 스마트폰을 사용할 수 있다. 상기 사용은 많은 시작 및 정지를 가질 수 있다. 오피스 데스크 또는 홈 데스크에서 전통적인 방식으로 일하는 누군가와는 다르다. 예를 들어, 스마트폰은 iOS 플랫폼 또는 Android 플랫폼 상일 수 있다.
제3 플랫폼은 태블릿들이다. 태블릿이 무엇인가? 태블릿은 모바일 디바이스로서 및 비-모바일 디바이스로서 기능할 수 있다. 태블릿은 퍼스널 컴퓨터의 대체물일 수 있다. 유저는 퍼스널 컴퓨터상에서, 태블릿 상에서, 그리고 다른 모바일 디바이스 상에서 게임을 이용하는 것 사이에 끊김없는 경험(seamless experience)을 원할 수 있다. 예를 들어, 태블릿은 iOS 플랫폼 상이거나, Android 플랫폼 상일 수 있다.
3개 모두(또는 그 이상)에서와 같은 복수의 위의 플랫폼들 상에서 동작하는 게임은, 연결되고 완전히-동기화된 끊김없는 경험(connected fully-synchronized seamless experience)을 제공한다. 그러므로, 멀티-플랫폼 게임들은 중요하다. 멀티-플랫폼 게임들에 대한 주된 기준(key criteria)들은: 이들이 무료이고, 이들이 사회적이고, 정지-시작 사용이 가능하고, 끊김없는 경험이 제공된다는 점이다. 그러한 게임들은 예를 들어, 모바일 환경 또는 비-모바일 환경에서, "어디에서나 플레이 된다". 그러한 게임들은 온라인 또는 오프라인상에서도 플레이 된다.
상기 게임은 정지-시작 방식으로 사용되었을 때, 그리고 단지 짧은 구간들에 대해 사용되었을 때에도 재미있어야 한다. 한 예시에서, 게임은 부분들 또는 레벨들로 구성되고, 이들 각각은 예를 들어, 1분과 5분 사이에서, 약 3분 동안 실행한다. 한 예시에서, 만약 한 게임 레벨에서, 최소한의 스코어를 기록함에 의해서와 같이 성공적인 경우, 유저가 이 레벨에서 다음 레벨로 진행할 수 있도록, 게임은 레벨들로 구조화된다. 한 예시에서, 게임은 약 200 레벨들을 갖는다. 유저가 도달한 레벨, 그리고 유저의 친구들이 도달한 레벨들을 유저가 볼 수 있도록 스크린이 디바이스 상에 제공된다. 스크린은 맵 상의 경로를 보여주고, 각각의 레벨은 경로 상의 장소로 표현되고, 유저 각각의 게임 내의 현재 레벨은 상기 경로 상의 이들의 장소에 의해 표현된다. 한 예가 도 8에 도시된다. 유저 또는 친구의 위치는 사진(페이스북 상의 유저의 프로필 사진과 같은)을 포함하는 표현을 포함할 수 있다. 스크린은 유저 및 친구들에 의해 성취된 레벨 번호들의 리스트를 제공할 수 있다. 한 예가 도 9에 도시된다. 스크린은 주어진 레벨에서 유저 및 유저의 친구들에 의해 성취된 스코어들을 도시하도록 제공될 수 있고, 이는 유저의 현재 레벨 또는 유저에 의해 완료된 레벨들로 제한될 수 있다.
한 비즈니스 모델이 레벨들 사이의 진행에 기반해서 제공된다. 각각의 유저는 게임 내의 생명들의 시작 수(starting number of lives)(예를 들어, 5개)를 제공받는다. 만약 유저가 레벨에 대한 최소 스코어 또는 다른 타겟을 충족하는 데 실패하면, 이들은 생명을 잃는다. 이들이 생명을 모두 써버리면, 다음 옵션들이 제공된다. 이들은 나중에 돌아올 수 있고(예를 들어, 30분 후, 또는 내일) 새 생명들을 자동으로 얻을 수 있다. 새 생명은 유저가 게임을, 예를 들어, 30분과 같이, 특정한 시간 동안 플레이 한 후에 자동으로 제공된다. 이들은, 만약 초대된 친구가 게임에 참여하면, 친구들을 초대하고 새 생명들을 얻을 수 있다. 유저들은 상업광고(예를 들어, 소요시간에 있어, 15초 또는 30초)를 보거나, 광고를 보고, 하나 또는 그 이상의 새 생명들을 받을 수 있다. 유저들은 이들의 친구들에게 이들에게 생명들을 보내 달라고 요청할 수 있다. 이들은, 친구에게 생명에 대한 요청이 보내짐과 함께 또는 보내짐 없이, 친구에 의해 보내진 생명을 받을 수 있다. 한 예가 도 10에 도시된다. 이들은 고정된 수의 새 생명들을 구매할 수 있다. 한 예가 도 11에 도시된다. 또는 이들은, 상당히 더 비싼, 무제한의 생명들을 구매할 수 있다.
게임은 출시 후에(post-launch) 최적화될 수 있다. 예를 들어, 만약 너무 많은 유저들이 특정한 레벨을 지나 진행하는 것을 실패하고 있다는 점이 분명하면, 상기 레벨을 통과하기 위한 최소 스코어는 낮춰질 수 있다. 최적화된 게임은 어플리케이션 스토어로부터 어플리케이션 업데이트로서 제공된다. 한 대안에서, 유저의 게임 상태가 서버와 동기화될 때, 게임은 각각의 게임 레벨을 통과하기 위해 필요한 스코어들의 개정된 데이터 파일을 모바일 디바이스로 보내는 서버에 의해 최적화될 수 있고, 디바이스 상에서 실행되고 있는 어플리케이션은 각각의 레벨을 통과하기 위해 필요한 디바이스 상에 저장된 스코어들의 이전의 파일을 각각의 레벨을 통과하기 위해 필요한 스코어들의 개정된 파일로 대체한다.
게임은 만약 미리 결정된 숫자만큼의 시도 이후에 유저가 레벨을 통과하는 것을 실패하면 게임의 레벨이 통과되었는지 여부를 결정하는데 사용되는 기준(criterion)이 변경되도록 제공될 수 있다. 예를 들어, 만약 사용자가 레벨을 통과하는 데 성취되어야 하는 최소 스코어가 100인 것이 처음의 기준인 경우, 만약 유저가 상기 레벨을 통과하는 것을 10번 실패한 이후에는 최소 스코어 75로 이 기준이 변경된다. 다른 예시는 공-이동 게임(ball-moving game)에서, 기준은 4개의 채색된 공들을 일렬로 하는 것을 요구하는 것으로부터 3개의 채색된 공들을 일렬로 하는 것을 요구하는 것으로, 성취하기 더 쉽게 변경될 수 있다.
게임에 친구들을 초대할 때(예를 들어, 페이스북을 통해), 친구는 상기 초대를 페이스북 어플리케이션을 실행하고 있는 상기 친구의 스마트폰상의 통지로서 수신할 수 있다. 상기 통지에서, 선택 가능한 아이콘 또는 선택 가능한 아이템이 제공된다. 선택 가능한 아이콘 또는 선택 가능한 아이템을 선택하는 것은 상기 친구를 스마트폰에 대한 어플리케이션 스토어로, 상기 어플리케이션에 대한 다운로드 페이지로 이끌고, 그곳에서 상기 친구는 상기 게임 어플리케이션을 다운로드할 수 있다. 나중에, 상기 친구는 그의 친구들을 상기 게임에 초대할 수 있고, 이는 그가 다운로드한 게임 어플리케이션에 포함된 기능이다.
만약 게임이 모바일로 사용 가능하게 되었다(mobile-enabled)면, 통지들(예를 들어 실행되고 있는 게임 어플리케이션 내에서 "Roland가 다음 에피소드를 잠금 해제하도록 도우세요" - 예를 들어 도 12 참고), 뉴스 피드(예를 들어 게임 어플리케이션으로부터 페이스북으로, 예를 들어 "Sandra가 Candy Crush saga에서 100레벨을 통과했습니다" 를 페이스북 상의 Sandra의 뉴스피드로. 예시를 위해 도 13 참고) 및 타임 라인(예를 들어, 페이스북 내의 게임-관련 메시지들의 연대표, 예를 들어, 활동 로그에서), 그리고 북마크들은, 퍼스널 컴퓨터들 및 모바일 디바이스들로 보내진다.
비-모바일 디바이스의 페이스북 상의 멀티-플랫폼 게임의 플레이어인 어떤 유저든, 만약 이들이 모바일 디바이스를 갖고 있고 이들이 이 모바일 디바이스 상에서 페이스북에 액세스하면, 이들은 상기 게임으로의 링크를 모바일 디바이스 상의 페이스북에서 보게 되고, 이는 이들을 모바일 디바이스 어플리케이션 스토어로, 상기 모바일 디바이스에 대한 게임을 유저가 다운로드할 수 있는 곳인 스크린으로 이끈다.
"모바일로 보내기" 기능은 비-모바일 디바이스의 페이스북 내에서 제공되고, 이는 예를 들어, 짧은 메시지 서비스(SMS)와 같은 텍스트 메시지 서비스를 이용해서 스마트폰에 게임 어플리케이션에 대한 다운로드 링크를 보내도록 동작 가능하다. 예를 들어 도 14 참고.
플랫폼들을 통한 멀티-플랫폼 게임 상태의 동기화가 존재한다. 그래서 예를 들어, 만약 유저가 비-모바일 디바이스의 게임상에서 주어진 레벨(예를 들어, 레벨 10)에 있는 경우, 유저가 모바일 디바이스(예를 들어, 스마트폰) 상에 게임을 설치할 때, 이들은 모바일 디바이스 상에서 게임을 플레이 하기 시작할 때 이미 게임 내의 동일한 레벨에 있다. 이들은 모바일 디바이스(예를 들어, 스마트폰) 상에서 게임에 대해 가장 낮은 레벨에서 시작할 필요가 없다. 유저는 동기화가 발생하게 하기 위해서 페이스북에 로그인할 필요가 있다. 또한, 게임은 모바일 디바이스 상에서, 비-모바일 디바이스 상에서와 정확히 동일하게, 또는 실질적으로 동일하게 나타난다.
한 플랫폼에서 얻어진 게임 특징들은 다른 플랫폼들에서도 제공된다. 그래서, 예를 들어 만약 한 게임 특징(예를 들어, 더 큰 정확도(greater accuracy)를 제공하는 슈팅에서의 높은 정밀도(high precision))이 한 플랫폼에서 구매된 경우, 이 특징은 다른 플랫폼상의 상기 게임을 유저가 다운로드하고 플레이할 때에도 제공된다. 만약 유저가 다수의 플랫폼들에 대해 상기 게임을 이미 다운로드했고, 그리고 이후에 한 플랫폼에서 상기 특징을 구매해도, 예를 들어 상기 특징이 상기 다수의 플랫폼들에 제공되는 것처럼, 상기 특징이 제공된다.
상기 유저 또는 유저의 친구들이 게임을 플레이하고 있는 플랫폼 또는 플랫폼들과 상관없이, 게임 최고 스코어 테이블, 또는 유저 및 유저의 친구들 각각이 도달한 레벨을 보여주는 게임 테이블은, 상기 유저가 게임 내의 유저의 진행상황 및 유저의 친구들의 진행상황을 볼 수 있도록, 업데이트 될 수 있다(예를 들어, 실시간으로).
페이스북 특징들은 게임에 통합될 수 있다. 그래서 예를 들어, 게임의 선물 특징은 선물을 보내기 위해 페이스북(예를 들어, 페이스북에 의해 컨트롤되는 메시징 시스템)을 이용해서 친구에게 보내질 수 있다. 선물 되돌리기를 제공하는 답장은 친구에 의해 다시 보내질 수 있다. 페이스북 팝-업 스크린은 모바일 디바이스 상에서 상기 게임 어플리케이션이 실행중일 때 제공될 수 있다.
한 플랫폼상에서, 유저는 게임을 플레이하는 것을 시작하기 전에 페이스북에 접속할 지 접속하지 않을지에 대한 옵션을 제공받을 수 있다. 도 15a를 예시로 참고. 한 플랫폼에서, 유저는 게임을 플레이하는 것을 시작하기 전에 페이스북으로부터 로그아웃 할지 하지 않을지에 대한 옵션을 제공받을 수 있다. 도 15b를 예시로 참고. 그래서 만약 플레이어가 페이스북에 접속되지 않은 상태로 플레이하기를 원하면, 이들은 그렇게 할 수 있다.
모바일 게임에서 고려할 4개의 가능성들이 있다. 유저가 페이스북에 접속해 있는가 (예/아니오)? 유저가 데이터 접속을 갖고 있는가 (예/아니오)? 추가적인 가능성들은, 예를 들어 유저가 나중에 페이스북에 접속하기를 결정하면, 또는 만약 데이터 접속 상태가 불가능에서 가능으로 변화하면 무엇이 일어나는지? 와 같은, 상기 4개의 가능성들 사이의 변화를 포함한다. 예를 들어, 유저가 모바일 상에서 접속이 끊긴 방식으로 당분간 플레이한 경우, 그리고 유저가 데이터 접속을 갖는 유저의 퍼스널 컴퓨터상에서 게임을 또한 진행했지만, 유저가 유저의 모바일 디바이스 상의 게임에서 더 많이 진행한 경우, 그리고 이후에 유저가 접속이 끊긴 데이터로부터 접속된 데이터로 모바일 디바이스를 스위치(switch)한 경우이다. 무엇이 일어나는가? 통상의 기술자는, 멀티-플랫폼 게임 상태 동기화 때문에, 이 질문들에 대한 해결책이 이 문서에 개시되어 있음을 이해할 것이다.
예를 들어, 유저가 페이스북에 접속해 있지 않고, 이들이 생명을 모두 써버린 경우, 페이스북 상의 게임에 친구들을 초대함에 의해 더 많은 생명들을 얻을 수 있도록, 이들은 페이스북에 접속할 기회를 제공받는다.
모바일 디바이스 터치 스크린상에서, 슈팅 기능과 같은, 스크린상의 어느 곳이든 터치하는 것이 게임 내의 기능을 실행하도록, 게임 내에 "슈팅하기 위해 어느 곳이든 터치하는(touch anywhere to shoot)" 기능이 제공된다.
멀티-플랫폼 게임 내에서, 게임 메뉴 옵션들 내의 동일한 아이콘들이 게임이 제공되는 모든 플랫폼들을 통해 사용된다.
멀티-플랫폼 게임플레이 시스템 내의 플랫폼의 한 예시는 스마트 TV 플랫폼이다.
주어진 플랫폼의 기능성은 이 플랫폼에 대한 상기 게임으로 통합된다. 예를 들어, 원 클릭 등록 프로세스(one click registration process)(예를 들어, 페이스북을 통해)는, 당신의 친구들을 초대하거나(예를 들어, 페이스북을 통해), 게임 내에서 도움을 당신의 친구들에게 요청하거나, 예를 들어, 게임 내에서 친구들을 돕기 위해 게임 내의 한 특징의 선물을 친구들에게 보냄에 의해, 게임 내에서 당신의 친구들을 돕는 것을 제공한다. 예를 들어, "좋아요" 버튼은 페이스북 플랫폼의 게임 내에 제공될 수 있다.
많은 레벨들과 함께 출시되고, 그리고 출시 이후에 추가적인 레벨들이 개발되고 플레이어들이 이용 가능하게 되는 멀티 플랫폼 게임이 제공된다. 이는, 예를 들어, 상기 게임이 인기 있는 경우 행해질 수 있다. 대안적으로(alternatively), 만약 게임이 인기가 없는 경우, 출시 이후에 어떤 레벨들도 추가되지 않을 수 있다. 레벨들 사이의 진행은 출시 이후에 최적화될 수 있다. 예를 들어, 레벨들 사이의 진행에 대한 최소 스코어는 출시 후에 조절될 수 있다. 예를 들어, 만약 레벨이 너무 쉬운 경우라면 최소 스코어는 상승될 수 있고, 또는 레벨이 너무 어려운 경우 최소 스코어는 줄어들 수 있다. 만약 출시 이후 새 레벨들이 제공되는 경우, 이 레벨들은 어플리케이션 스토어로부터 다운로드 가능한 게임 어플리케이션의 새 버전에 의해 제공될 수 있다.
멀티 플랫폼 게임에서, 페이스북 기능성이 거의 수정 없이 또는 전혀 수정 없이 복수의 게임 프로그램들 내에서 사용될 수 있도록, 페이스북 기능성은 표준화(standardized) 또는 모듈화(modularized)될 수 있다.
멀티 플랫폼 게임에서, 모든 게임 플랫폼들을 통해 유효한 표준화된 데이터베이스 내에서 모든 유저 데이터가 홀드(hold)될 수 있다.
멀티 플랫폼 게임 시스템에서, 모든 게임 플랫폼들을 통해, 그리고 모든 게임들에 대해 유효한 표준화된 데이터베이스 내에 모든 유저 데이터가 홀드된다.
모바일 디바이스 플랫폼 내에서, 게임을 실행하고 있는 모바일 디바이스 상에서 아이콘 또는 유저가 선택가능한 옵션은 만약 유저에 의해 동기화 프로세스를 시작하도록 선택된 경우 제공될 수 있다. 한 가지 이점은, 유저가 최신의 스코어 테이블 또는 지도를 수신할 수 있다는 점이다. 한 가지 이점은, 만약 데이터 접속이 간헐적인(intermittent) 경우, 하지만 좋은 데이터 접속이 일어난 경우, 유저는 향상된 데이터 접속의 이점을 취하기 위해 동기화 프로세스를 시작할 수 있다.
게임 상태 동기화는, 유저가 게임 내의 한 레벨을 완성함에 의하는 것과 같이, 이벤트에 의해 트리거될 수 있다. 게임 상태 동기화는 예를 들어, 서버로부터와 같이 모바일 디바이스 또는 비-모바일 디바이스로 푸시(push)될 수 있다.
인터렉티브 게임플레이를 가능하게 하기 위한 시스템
인터렉티브 게임플레이를 가능하게 하기 위한 시스템이 제공되고, 상기 시스템은:
제1 어플리케이션 프로그래밍 인터페이스(API)를 이용해서 제1 컴퓨팅 디바이스와 통신하도록 구성되는 제1 서버와, 상기 제1 서버는 제1 데이터 저장소를 포함하고;
제2 API를 이용해서 제2 컴퓨팅 디바이스와 통신하도록 구성되는 제2 서버와, 상기 제2 서버는 제2 데이터 저장소를 포함하고; 그리고
상기 제1 서버 및 제2 서버와 통신하는 제3 서버를 포함하고, 상기 제3 서버는 제3 데이터 저장소를 포함하며;
상기 제1, 제2 및 제3 서버들은 상기 제1 컴퓨팅 디바이스 및 제2 컴퓨팅 디바이스로 하여금 인터렉티브 게임에 참여하는 것을 가능하게 하도록 상기 제1 데이터 저장소, 제2 데이터 저장소 및 제3 데이터 저장소를 동기화하도록 구성된다.
인터렉티브 게임플레이를 가능하게 하기 위한 시스템이 제공되고, 상기 시스템은:
제1 어플리케이션 프로그래밍 인터페이스(API)를 이용해서 제1 컴퓨팅 디바이스와 통신 하도록 구성되는 제1 서버와, 상기 제1 서버는 제1 데이터 저장소를 포함하고;
상기 제1 API와 다른 제2 API를 이용해서 제2 컴퓨팅 디바이스와 통신하도록 구성되는 제2 서버와, 상기 제2 서버는 제2 데이터 저장소를 포함하고; 그리고
상기 제1 서버 및 제2 서버와 통신 하는 제3 서버를 포함하고, 상기 제3 서버는 제3 데이터 저장소를 포함하고;
상기 제1 서버, 제2 서버 및 제3 서버들은 상기 제1 컴퓨팅 디바이스 및 제2 컴퓨팅 디바이스가 인터렉티브 게임에 참여하도록 상기 제1 데이터 저장소, 제2 데이터 저장소 및 제3 데이터 저장소를 동기화하도록 구성된다.
상기 시스템은 제1 API가 페이스북 API인 시스템일 수 있다.
상기 시스템은 제2 API가 Android API인 시스템일 수 있다.
상기 시스템은 제1 API가 페이스북 API이고 제2 API는 Android API인 시스템일 수 있다.
상기 시스템은 제2 API가 iOS API인 시스템일 수 있다.
상기 시스템은 제1 API는 페이스북 API이고 제2 API는 iOS API인 시스템일 수 있다.
상기 시스템은 제1 컴퓨팅 디바이스가 데스크탑 컴퓨터인 시스템일 수 있다.
상기 시스템은 제1 컴퓨팅 디바이스가 모바일 디바이스인 시스템일 수 있다.
상기 시스템은 제3 데이터 저장소가 인터렉티브 게임에 대한 데이터 구조를 포함하는 시스템일 수 있다.
상기 시스템은 제3 데이터 저장소가 인터렉티브 게임에 대한 데이터 구조를 포함하고 상기 데이터 구조는 게임 내의 복수의 플레이어들에 대한 정보를 포함하는 시스템일 수 있다.
인터렉티브 게임플레이의 방법
인터렉티브 게임플레이의 방법이 제공되고, 상기 방법은:
제1 컴퓨팅 디바이스 상에 게임을 디스플레이하고, 상기 제1 컴퓨팅 디바이스는 제1 데이터 구조를 포함하는 제1 데이터 저장소를 포함하고;
제1 API를 이용해서 상기 제1 컴퓨팅 디바이스와 제1 서버 사이의 통신을 확립하고, 상기 제1 서버는 제1 서버 데이터 구조를 포함하는 제1 서버 데이터 저장소를 포함하고;
제2 컴퓨팅 디바이스 상에 게임을 디스플레이하고, 상기 제2 컴퓨팅 디바이스는 제2 데이터 구조를 포함하는 제2 데이터 저장소를 포함하고;
제2 API를 이용해서 상기 제2 컴퓨팅 디바이스와 제2 서버 사이의 통신을 확립하는 것을 포함하고, 상기 제2 서버는 제2 서버 데이터 구조를 포함하는 제2 서버 데이터 저장소를 포함하고;
상기 제1 데이터 구조와 상기 제1 서버 데이터 구조를 제1 API를 이용해서 동기화하고;
상기 제1 서버 데이터 구조와 상기 제2 서버 데이터 구조를 동기화하고; 그리고
상기 제2 서버 데이터 구조와 상기 제2 데이터 구조를 제2 API를 이용해서 동기화한다.
인터렉티브 게임플레이의 방법이 제공되고, 상기 방법은:
(i) 제1 컴퓨팅 디바이스 상에 게임을 디스플레이하고, 상기 제1 컴퓨팅 디바이스는 제1 데이터 구조를 포함하는 제1 데이터 저장소를 포함하고;
(ii) 제1 어플리케이션 프로그래밍 인터페이스(API)를 이용해서 상기 제1 컴퓨팅 디바이스와 제1 서버 사이의 통신을 확립하고, 상기 제1 서버는 제1 서버 데이터 구조를 포함하는 제1 서버 데이터 저장소를 포함하고;
(iii) 제2 컴퓨팅 디바이스 상에 게임을 디스플레이하고, 상기 제2 컴퓨팅 디바이스는 상기 제1 데이터 구조와 다른 제2 데이터 구조를 포함하는 제2 데이터 저장소를 포함하고;
(iv) 상기 제1 API와 다른 제2 API를 이용해서 상기 제2 컴퓨팅 디바이스와 제2 서버 사이의 통신을 확립하고, 상기 제2 서버는 상기 제1 서버 데이터 구조와 다른 제2 서버 데이터 구조를 포함하는 제2 서버 데이터 저장소를 포함하고;
(v) 상기 제1 API를 이용해서 상기 제1 데이터 구조와 상기 제1 서버 데이터 구조를 동기화하고;
(vi) 상기 제1 서버 데이터 구조와 상기 제2 서버 데이터 구조를 동기화하고;
(vii) 상기 제2 API를 이용해서 상기 제2 서버 데이터 구조와 상기 제2 데이터 구조를 동기화하는 단계들을 포함한다.
상기 방법은 제1 API가 페이스북 API인 방법일 수 있다.
상기 방법은 제2 API가 Android API인 방법일 수 있다.
상기 방법은 제1 API가 페이스북 API이고 상기 제2 API가 Android API인 방법일 수 있다.
상기 방법은 제2 API가 iOS API인 방법일 수 있다.
상기 방법은 제1 API가 페이스북 API이고 제2 API가 iOS API인 방법일 수 있다.
상기 방법은 제1 컴퓨팅 디바이스가 데스크탑 컴퓨터인 방법일 수 있다.
상기 방법은 제1 컴퓨팅 디바이스가 모바일 디바이스인 방법일 수 있다.
상기 방법은 제1 서버 데이터 구조와 제2 서버 데이터 구조를 동기화하는 단계가 제3 서버상에서 수행되는 방법일 수 있다.
상기 방법은 제1 서버 데이터 구조와 제2 서버 데이터 구조를 동기화하는 단계가 제3 서버상에서 수행되고 상기 제3 서버는 마스터 게임 데이터 구조를 포함하는 방법일 수 있다.
주석(note)
위에 참조된 배열들은 단지 본 발명의 원칙들에 대한 어플리케이션의 묘사일 뿐이라는 것이 이해될 것이다. 많은 변형들 및 대안적인 배열들이 본 발명의 정신 및 범위에서 벗어남이 없이 고안될 수 있다. 본 발명이 도면들에 도시되고 본 발명의 가장 실용적이고 선호되는 예시(들)인 것으로 현재 여겨지는 것들과 연결되어 특정하게 그리고 상세하게 위에 완전히 기술된 반면에, 통상의 기술자에게, 많은 변형들이 본 발명의 원칙들 및 개념들로부터 벗어남이 없이, 본 문서에서 제시되었듯이, 이루어질 수 있다는 것이 명백할 것이다.
개념들(concepts)
본 개시에서, 다수의 개념들이, 개념들 'A-J'로서 기술된다. 다음은 이 개념들을 정의하는 데에 도움이 될 것이다. 상기 개념들의 양상들은 조합될 수 있다.
A. 인터렉티브 게임플레이를 가능하게 하기 위한 시스템
인터렉티브 게임플레이를 가능하게 하기 위한 시스템이 제공되고, 상기 시스템은:
제1 어플리케이션 프로그래밍 인터페이스(API)를 이용해서 제1 컴퓨팅 디바이스와 통신 하도록 구성되는 제1 서버와, 상기 제1 서버는 제1 데이터 저장소를 포함하고;
제2 API를 이용해서 제2 컴퓨팅 디바이스와 통신 하도록 구성되는 제2 서버와, 상기 제2 서버는 제2 데이터 저장소를 포함하고; 그리고
상기 제1 서버 및 제2 서버와 통신 하는 제3 서버를 포함하고, 상기 제3 서버는 제3 데이터 저장소를 포함하고;
상기 제1 서버, 제2 서버 및 제3 서버들은 상기 제1 컴퓨팅 디바이스 및 제2 컴퓨팅 디바이스가 인터렉티브 게임에 참여하는 것을 가능하게 하도록 상기 제1 데이터 저장소, 제2 데이터 저장소 및 제3 데이터 저장소를 동기화하도록 구성된다.
위의 시스템은 추가적으로 다음의 어떤 것이든, 단독으로 또는 조합으로 포함할 수 있다:
제1 API는 페이스북 API이다.
제2 API는 Android API이다.
제2 API는 Android API이다.
제2 API는 iOS API이다.
제2 API는 iOS API이다.
제1 컴퓨팅 디바이스는 데스크탑 컴퓨터이다.
제1 컴퓨팅 디바이스는 모바일 디바이스이다.
제3 데이터 저장소는 인터렉티브 게임에 대한 데이터 구조이다.
데이터 구조는 게임 내의 복수의 플레이어들에 대한 정보를 포함한다.
어떤 양상은 개념 C에 따른다.
이 개념의 어떤 양상의 사용
B. 인터렉티브 게임플레이의 방법
인터렉티브 게임플레이의 방법이 제공되고, 상기 방법은:
제1 컴퓨팅 디바이스 상에 게임을 디스플레이하고, 상기 제1 컴퓨팅 디바이스는 제1 데이터 구조를 포함하는 제1 데이터 저장소를 포함하고;
제1 어플리케이션 프로그래밍 인터페이스를 이용해서 상기 제1 컴퓨팅 디바이스와 제1 서버 사이에 통신을 확립하고, 상기 제1 서버는 제1 서버 데이터 구조를 포함하는 제1 서버 데이터 저장소를 포함하고;
제2 컴퓨팅 디바이스 상에 게임을 디스플레이하고, 상기 제2 컴퓨팅 디바이스는 제2 데이터 구조를 포함하는 제2 데이터 저장소를 포함하고;
제2 API를 이용해서 상기 제2 컴퓨팅 디바이스와 제2 서버 사이의 통신을 확립하는 것을 포함하고, 상기 제2 서버는 제2 서버 데이터 구조를 포함하는 제2 서버 데이터 저장소를 포함하고;
상기 제1 API를 이용해서 상기 제1 데이터 구조 및 제1 서버 데이터 구조를 동기화하고;
상기 제1 서버 데이터 구조와 상기 제2 서버 데이터 구조를 동기화하고; 그리고
상기 제2 API를 이용해서 상기 제2 서버 데이터 구조와 상기 제2 데이터 구조를 동기화한다.
위의 방법은 추가적으로 다음의 어떤 것을, 단독으로 또는 조합으로 포함한다:
제1 API는 페이스북 API이다.
제2 API는 Android API이다.
제2 API는 Android API이다.
제2 API는 iOS API이다.
제2 API는 iOS API이다.
제1 컴퓨팅 디바이스는 데스크탑 컴퓨터이다.
제1 컴퓨팅 디바이스는 모바일 디바이스이다.
제1 서버 데이터 구조와 제2 서버 데이터 구조를 동기화하는 단계는 제3 서버 상에서 수행된다.
제3 서버는 마스터 게임 데이터 구조를 포함한다.
어떤 양상은 개념 D에 따른다.
이 개념의 어떤 양상의 사용.
개념 B의 어떤 양상에 따라 제1 컴퓨팅 디바이스가 더 제공된다.
개념 B의 어떤 양상에 따라 제2 컴퓨팅 디바이스가 더 제공된다.
C. 멀티플레이어 인터렉티브 게임을 플레이하는 것에 대한 멀티플레이어 인터렉티브 게임 서버 시스템
멀티플레이어 인터렉티브 게임을 플레이하기 위한 멀티플레이어 인터렉티브 게임 서버 시스템이 제공되고, 상기 시스템은:
상기 인터렉티브 게임의 상태에 관한 제1 데이터 저장소를 포함하는 제1 서버와, 상기 제1 서버는, 제1 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 인터렉티브 게임에 참여하도록 동작 가능한 제1 컴퓨팅 플랫폼의 제1의 복수의 디바이스들과 통신 하도록 구성되고;
상기 인터렉티브 게임의 상태에 관한 제2 데이터 저장소를 포함하는 제2 서버와, 상기 제2 서버는, 상기 제1 어플리케이션 프로그래밍 인터페이스와 다른 제2 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 제1 컴퓨팅 플랫폼과 다른, 상기 인터렉티브 게임에 참여하도록 동작 가능한 제2 컴퓨팅 플랫폼의 제2의 복수의 디바이스들과 통신하도록 구성되고, 그리고
상기 인터렉티브 게임의 상태에 관한 제3 데이터 저장소를 포함하는 제3 서버와, 상기 제3 서버는 상기 제1 서버 및 상기 제2 서버와 통신하도록 배열되고,
상기 제1, 제2 및 제3 서버들은, 동기화 되었을 때, 상기 제1 데이터 저장소, 제2 데이터 저장소 및 제3 데이터 저장소들 모두 동기화된 게임 상태에 관련되도록, 상기 제1 데이터 저장소, 제2 데이터 저장소 및 제3 데이터 저장소를 동기화하도록 배열된다.
위의 시스템은 추가적으로 다음의 어떤 것을, 단독으로 또는 조합으로 포함할 수 있다:
제3 데이터 저장소는 멀티플레이어 인터렉티브 게임에 대한 데이터 구조를 포함한다.
데이터 구조는 게임 내의 복수의 플레이어들에 대한 정보를 포함한다.
제1 서버는 제1 데이터 저장소를 생성하고 저장하도록 동작 가능하다.
제1 서버는 새 게임이 생성되어야 한다고 요청하는 제1의 복수의 디바이스들 중 한 디바이스의 유저에 응답하여 제1 데이터 저장소를 생성하고 저장하도록 동작 가능하다.
제1 서버는 새 게임이 생성되어야 한다고 요청하는 제1의 복수의 디바이스들 중 한 디바이스의 유저에 응답하여 제1 데이터 저장소를 생성하고 저장하도록 동작 가능하고, 이는 새 게임 ID 및 데이터 구조를 생성하는 것을 포함한다.
제1 서버는 새 게임이 생성되어야 한다고 요청하는 제1의 복수의 디바이스들 중 한 디바이스의 유저에 응답하여 제1 데이터 저장소를 생성하고 저장하도록 동작 가능하고, 이는 새 게임 ID 및 데이터 구조를 생성하는 것을 포함하고, 상기 제1 서버는 새 게임 ID 및 데이터 구조가 생성되었다는 메시지를 제3 서버로 보내고, 상기 제3 서버는 상기 메시지에 응답하여 대응하는 데이터 구조를 생성하고, 대응하는 데이터 구조를 덧붙인다.
제1 데이터 저장소는 제1 서버상에서 실행할 수 있는 데이터베이스 내의 하나 또는 그 이상의 테이블들을 포함한다.
제2 서버는 제2 데이터 저장소를 생성하고 저장하도록 동작 가능하다.
제2 서버는 인터렉티브 게임으로 제2의 복수의 디바이스들 중 한 디바이스의 유저를 초대하도록 제1 서버에 요청을 보내는 제1의 복수의 디바이스들 중 상기 디바이스의 유저에 응답하여, 제2 데이터 저장소를 생성하고 저장하도록 동작 가능하고, 상기 제1 서버는 이 요청을 제3 서버로 보내고, 제3 서버는 이 요청을 제2의 복수의 디바이스들 중 상기 디바이스의 유저에게 보내고, 제2의 복수의 디바이스들 중 상기 디바이스의 상기 유저는 상기 제2 서버로 승인 행동(acceptance action)을 보냄에 의해 상기 요청을 승인한다.
상기 제2 데이터 저장소는 제2 서버상에서 실행될 수 있는 데이터베이스 내의 하나 또는 그 이상의 테이블들을 포함한다.
제3 서버는 제3 데이터 저장소를 생성하고 저장하도록 동작 가능하다.
제3 데이터 저장소는 제1 데이터 저장소 및 제2 데이터 저장소를 포함하는 마스터 게임 데이터 저장소를 포함한다.
제3 데이터 저장소는 제3 서버상에서 실행될 수 있는 데이터베이스 내의 하나 또는 그 이상의 테이블들을 포함한다.
제1 서버는 게임 동안 진행되는 제1의 복수의 디바이스들 중 한 디바이스의 유저에 응답하여 제1 데이터 저장소를 업데이트하도록 구성된다.
제1 서버는 제1의 복수의 디바이스들 중 한 디바이스로부터 동기화 요청을 수신하도록 구성되고, 상기 동기화 요청은 타임스탬프를 포함하고, 상기 제1 서버는 만약 동기화 요청의 타임스탬프가 제1 데이터 저장소의 타임스탬프보다 나중일 경우, 상기 동기화 요청으로부터의 데이터로 상기 제1 데이터 저장소를 업데이트하도록 구성된다.
제1 서버는 제3 서버로 동기화 요청을 보내도록 구성되고, 상기 동기화 요청은 타임스탬프를 포함하고, 상기 제3 서버는 만약 상기 동기화 요청의 타임스탬프가 상기 제3 데이터 저장소의 타임스탬프보다 나중일 경우 상기 동기화 요청으로부터의 데이터로 상기 제3 데이터 저장소를 업데이트 하도록 구성된다.
상기 제3 서버는, 만약 제1 데이터 저장소 및 제3 데이터 저장소 내의 인터렉티브 게임의 다른 유저들의 데이터가 매칭되지 않을 경우, 멀티-플랫폼 게임의 다른 유저들의 데이터에 관해 제1 데이터 저장소를 업데이트하는 것에 대해 제1 서버로 데이터를 보내도록 배열된다.
제2 서버는 게임을 통해 진행하는 제2의 복수의 디바이스들 중 한 디바이스의 유저에 응답하여 제2 데이터 저장소를 업데이트하도록 구성된다.
제2 서버는 제2의 복수의 디바이스들 중 한 디바이스로부터의 동기화 요청을 수신하도록 구성되고, 상기 동기화 요청은 타임스탬프를 포함하고, 상기 제2 서버는 만약 동기화 요청의 타임스탬프가 제2 데이터 저장소의 타임스탬프보다 나중일 경우 동기화 요청으로부터의 데이터로 제2 데이터 저장소를 업데이트 하도록 구성된다.
제2 서버는 제3 서버로 동기화 요청을 보내도록 구성되고, 동기화 요청은 타임스탬프를 포함하고, 상기 제3 서버는 만약 상기 동기화 요청의 타임스탬프가 상기 제3 데이터 저장소의 타임스탬프보다 나중일 경우 상기 동기화 요청으로부터의 데이터로 상기 제3 데이터 저장소를 업데이트 하도록 구성된다.
만약 제2 데이터 저장소와 제3 데이터 저장소 내의 인터렉티브 게임의 다른 유저들의 데이터가 매칭되지 않는 경우, 제3 서버는 멀티-플랫폼 게임의 다른 유저들의 데이터에 대해 제2 데이터 저장소를 업데이트하는 제2 서버로 데이터를 보내도록 배열된다.
유저는 유저가 네트워크 접속을 가지고 있지 않을 때에도 인터렉티브 게임을 플레이할 수 있다.
유저는 네트워크 접속을 가지고 있지 않을 때에도 인터렉티브 게임을 플레이할 수 있고, 그리고 상기 게임의 게임 상태는 상기 유저가 네트워크 접속을 다시 얻은 이후에 동기화된다.
상기 시스템은 연결된 완전히-동기화된 끊김없는 경험을 인터렉티브 게임의 플레이어들에 대해 제공한다.
상기 시스템은 다음의 것들 중 하나, 또는 그 이상, 또는 모두가 제공되는 인터렉티브 게임을 제공한다: 게임은 시작하는 사람들에 대해 무료이고, 게임은 사회적이고, 정지-시작 사용이 게임 내에서 가능하고, 그리고 끊김없는 경험이 게임 내에 제공된다.
상기 시스템은 모바일 환경 및 비-모바일 환경에서 플레이 될 수 있는 인터렉티브 게임을 제공한다.
상기 시스템은 온라인 및 오프라인에서 플레이 될 수 있는 인터렉티브 게임을 제공한다.
상기 시스템은 복수의 레벨들을 포함하는 인터렉티브 게임을 제공한다.
상기 시스템은 복수의 레벨들을 포함하는 인터렉티브 게임을 제공하고, 각각의 레벨들은 1분과 5분 사이로 실행된다.
상기 시스템은 복수의 레벨들을 포함하는 인터렉티브 게임을 제공하고, 유저는 한 레벨에서 다음 레벨로 최소 스코어를 기록함에 의해 진행할 수 있다.
상기 시스템은 유저가 도달한 레벨 및 소셜 네트워크 내의 유저의 친구들에 의해 도달된 레벨들을 보여주는 스크린을 제공하는 인터렉티브 게임을 제공한다.
도달된 레벨들은 지도의 경로 상의 대응하는 장소들에 의해 표시된다.
유저 또는 친구의 위치는 페이스북 상의 유저 또는 친구의 프로필 사진과 같은 사진을 포함하는 표현을 포함한다.
상기 스크린은 유저 및 소셜 네트워크 내의 유저의 친구들에 의해 성취된 레벨 번호들의 리스트를 제공한다.
상기 스크린은 유저 및 유저의 친구들이 게임을 플레이하고 있는 플랫폼 또는 플랫폼들과 상관없이 제공된다.
유저는 소셜 네트워크상의 친구로 하여금 인터렉티브 게임에 참여하도록 초대할 수 있고, 상기 친구는 소셜 네트워크(예를 들어, 페이스북) 어플리케이션을 실행하고 있는 그의 모바일 디바이스 상의 통지로서 상기 초대를 수신할 수 있다.
선택 가능한 아이콘 또는 선택 가능한 아이템이 상기 통지 내에 제공되고, 선택 가능한 아이콘 또는 선택 가능한 아이템을 선택하는 것은 친구를, 친구가 게임 어플리케이션을 다운로드할 수 있는 곳인, 모바일 디바이스에 대한 어플리케이션 스토어로, 어플리케이션에 대한 다운로드 페이지로 이끈다.
유저는 소셜 네트워크상의 친구로 하여금 인터렉티브 게임에 참여하도록 초대할 수 있고, 상기 유저는 만약 인터렉티브 게임에 상기 친구가 참여하는 경우 새로운 생명들을 수신한다.
유저는 만약 상기 유저가 상업광고 또는 광고를 보는 경우 인터렉티브 게임 내의 새로운 생명들을 수신한다.
유저는 소셜 네트워크 내의 친구에 의해 보내진 생명을 수신할 수 있다.
유저는 게임 내의 새로운 생명들을 구매할 수 있다.
인터렉티브 게임은 출시 후에 어플리케이션 업데이트 내의 업데이트된 어플리케이션의 개정을 통해 최적화 될 수 있고, 상기 어플리케이션 업데이트는 설치되었을 때 인터렉티브 게임의 동기화된 상태를 변경하지 않는다.
인터렉티브 게임은 출시 후에 인터렉티브 게임의 각각의 레벨을 통해 진행하기 위해 필요한 최소 스코어들의 업데이트된 파일의 개정을 통해 최적화될 수 있다.
인터렉티브 게임은 모바일에서 가능하게 되고, 상기 시스템은 하나 또는 그 이상의, 퍼스널 컴퓨터들 및 모바일 디바이스들로의 통지들, 뉴스 피드, 타임 라인 및 북 마크들을 보내도록 구성된다.
비-모바일 디바이스의 소셜 네트워크 상의 인터렉티브 게임의 플레이어인 어떤 유저든, 만약 이들이 모바일 디바이스를 갖고 있고 이들이 소셜 네트워크에 이 모바일 디바이스로 액세스하면, 이들은 모바일 디바이스의 소셜 네트워크 내에서 게임으로의 링크를 보게 되고, 이는 모바일 디바이스 어플리케이션 스토어로, 유저가 모바일 디바이스에 대한 게임을 다운로드 할 수 있는 곳으로 이끈다.
비-모바일 디바이스의 소셜 네트워크 상의 인터렉티브 게임의 플레이어인 어떤 유저는, 비-모바일 디바이스의 소셜 네트워크 내에서 "모바일로 보내기" 기능을 제공받고, 이는 예를 들어, 텍스트 메시지 서비스를 이용해서, 스마트폰으로 인터렉티브 게임 어플리케이션에 대한 다운로드 링크를 보내도록 동작 가능하다.
제1의 복수의 디바이스들 중 한 디바이스의 유저는, 상기 제2의 복수의 디바이스들 내의 디바이스를 이용해서 상기 유저가 등록된 소셜 네트워크에 로그인할 때, 상기 제2의 복수의 디바이스들 중 상기 디바이스로부터 상기 인터렉티브 게임에 참여할 기회를 제공받고, 상기 유저의 게임 레벨은 제1의 복수의 디바이스들 중 상기 디바이스를 이용하고, 제2의 복수의 디바이스들 중 상기 디바이스를 이용하고, 이는 동기화 과정 동안 동기화된다.
게임 특징들은 동기화 과정 동안 동기화된다.
인터렉티브 게임 내의 한 특징의 선물은 소셜 네트워크 내의 친구에게 유저에 의해 보내질 수 있다.
유저는 인터렉티브 게임을 플레이하기 전에 소셜 네트워크에 연결할지 하지 않을지를 결정할 수 있다.
만약 유저가 상기 인터렉티브 게임을 플레이하는 동안 소셜 네트워크에 접속하지 않았고, 이들이 게임 내의 생명을 모두 써버린 경우, 유저는, 이들이 소셜 네트워크 내의 이들의 친구들로부터 더 많은 생명들을 요청할 수 있도록, 소셜 네트워크에 접속할 기회를 제공받는다.
게임이 제공되는 모든 플랫폼들을 통해 사용되는 아이콘들은 각각의 플랫폼에서 동일하다.
한 플랫폼은 스마트 TV 플랫폼이다.
주어진 플랫폼의 기능성은 이 플랫폼에 대한 인터렉티브 게임으로 통합된다.
기능성은 소셜 네트워크 플랫폼의 원 클릭 등록 프로세스를 포함한다.
소셜 네트워크 플랫폼에 대한 기능성은, 이들이 거의 수정 없이 또는 전혀 수정 없이 다른 인터렉티브 게임의 코딩에 사용될 수 있도록, 인터렉티브 게임에 대해 표준화된 또는 모듈화된 형태로 코딩된다.
이 개념의 어떤 양상의 사용.
D, 멀티플레이어 인터렉티브 게임 서버 시스템 내의 멀티플레이어 인터렉티브 게임의 상태를 동기화하는 방법
멀티플레이어 인터렉티브 게임 서버 시스템 내의 멀티플레이어 인터렉티브 게임의 상태를 동기화하는 방법이 제공되고, 상기 시스템은:
상기 인터렉티브 게임의 상태에 관한 제1 데이터 저장소를 포함하는 제1 서버와, 상기 제1 서버는, 제1 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 인터렉티브 게임에 참여하도록 동작 가능한 제1 컴퓨팅 플랫폼의 제1의 복수의 디바이스들과 통신하도록 구성되고;
상기 인터렉티브 게임의 상태에 관한 제2 데이터 저장소를 포함하는 제2 서버와, 상기 제2 서버는, 상기 제1 어플리케이션 프로그래밍 인터페이스와 다른 제2 어플리케이션 프로그래밍 인터페이스를 이용해서, 제1 컴퓨팅 플랫폼과 다른, 상기 인터렉티브 게임에 참여하도록 동작 가능한 제2 컴퓨팅 플랫폼의 제2의 복수의 디바이스들과 통신 하도록 구성되고, 그리고
상기 인터렉티브 게임의 상태에 관한 제3 데이터 저장소를 포함하는 제3 서버를 포함하고, 상기 제3 서버는 상기 제1 서버 및 상기 제2 서버와 통신하도록 배열되고, 상기 방법은, 동기화되었을 때, 상기 제1 데이터 저장소, 상기 제2 데이터 저장소 및 상기 제3 데이터 저장소 모두 동기화된 게임 상태에 관련되도록:
(i) 상기 제1 서버상의 상기 제1 데이터 저장소와 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계,
(ii) 상기 제2 서버상의 상기 제2 데이터 저장소와 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계, 그리고
(iii) 상기 제1 서버상의 상기 제1 데이터 저장소와 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계를 포함한다.
위의 시스템은 추가적으로 다음의 어떤 것이든, 단독으로 또는 조합하여 포함할 수 있다:
제3 데이터 저장소는 멀티플레이어 인터렉티브 게임에 대한 데이터 구조를 포함한다.
데이터 구조는 게임 내의 복수의 플레이어들에 대한 정보를 포함한다.
위의 양상들의 어떤 것이든 시스템에 적용되었을 때 개념 C의 어떤 양상들에 따른다.
이 개념의 어떤 양상들에 따르는 사용.
E. 디바이스
디바이스가 제공되고, 상기 디바이스는 개념 C의 어떤 양상에 따르는 시스템의 제1의 복수의 디바이스들이고, 상기 디바이스는 제1 서버와 통신하도록 구성되고, 상기 디바이스는 상기 디바이스상의 인터렉티브 게임을 실행하도록 동작 가능한 어플리케이션을 포함하고, 상기 어플리케이션은 상기 인터렉티브 게임의 상태에 관한 상기 디바이스의 유저에 대한 데이터 구조를 상기 디바이스 상에 생성하고 저장하도록 구성된다.
위의 디바이스는 추가적으로 다음의 어떤 것이든, 단독으로 또는 조합으로 포함한다:
상기 디바이스상의 데이터 구조는 데이터베이스 내의 하나 또는 그 이상의 테이블들을 포함한다.
상기 디바이스상의 데이터 구조는 디바이스상에서 실행 가능한 데이터베이스 내의 하나 또는 그 이상의 테이블들을 포함한다.
상기 디바이스는 상기 제1 서버로 메시지를 보냄에 의해 인터렉티브 게임을 시작하도록 동작 가능하고, 상기 디바이스는 이후에 상기 디바이스상의 데이터 구조를 생성한다
상기 디바이스는 동기화된 게임 상태에 관해 제1 데이터 서버 데이터로부터 수신하도록, 그리고 디바이스상의 데이터 구조 내의 데이터를 저장하도록 더 동작 가능하다.
상기 디바이스는 상기 인터렉티브 게임에 참여하도록 제2의 복수의 디바이스들 중 한 디바이스의 유저를 초대하도록 제1 서버에 요청을 보내도록 동작 가능하다.
상기 디바이스는 상기 인터렉티브 게임에 참여하도록 제2의 복수의 디바이스들 중 한 디바이스의 유저를 초대하도록 제1 서버에 요청을 보내도록 동작 가능하고, 그리고 상기 인터렉티브 게임에 참여하는 제2의 복수의 디바이스들 중 상기 디바이스의 유저에 응답하여 상기 디바이스는 제1 데이터 서버 데이터로부터 동기화된 게임 상태에 관하여 수신하도록, 그리고 디바이스 상의 데이터 구조 내의 데이터를 저장하도록 구성된다.
상기 디바이스는 상기 인터렉티브 게임을 통해 진행하는 상기 디바이스상의 게임을 플레이하는 유저에 응답하여 상기 디바이스상의 데이터 구조를 업데이트하도록 구성된다.
상기 디바이스는 상기 디바이스가 상기 제1 서버와 접속해 있지 않은 경우에도 상기 인터렉티브 게임을 통해 진행하는 상기 디바이스상의 게임을 플레이하는 유저에 응답하여 상기 디바이스 상의 데이터 구조를 업데이트하도록 구성된다.
상기 디바이스는 제1 서버로 동기화 요청을 보내도록 구성되고, 상기 동기화 요청은 인터렉티브 게임의 상기 디바이스의 유저의 진행의 현재 상태를 포함하고, 타임스탬프를 포함한다.
상기 디바이스는 상기 제1 서버로부터 상기 게임의 다른 플레이어들에 관한 업데이트된 데이터를 수신하도록 구성되고, 동기화 요청에 응답하여, 데이터 구조 내의 업데이트된 데이터를 저장하도록 구성된다.
상기 디바이스는 모바일 디바이스이고, 상기 디바이스는 만약 유저에 의해 선택된 경우 동기화 프로세스를 시작하는 아이콘 또는 유저가 선택 가능한 옵션을 디스플레이한다.
상기 디바이스는, 미리 정의된 이벤트의 발생에 응답하여, 자동적으로 동기화 프로세스를 시작하도록 구성된다.
상기 이벤트는 유저에 의한 게임 내의 레벨의 완성이다.
비-일시적 저장 매체에 구현된 컴퓨터 프로그램 제품이 더 제공되고, 상기 컴퓨터 프로그램 제품은 개념 C의 어떤 양상에 따라 시스템의 제1의 복수의 디바이스들 내의 디바이스상에서 실행되도록 동작 가능하고, 상기 디바이스는 제1 서버와 통신하도록 구성되고, 상기 컴퓨터 프로그램 제품은 디바이스 상에서 실행될 때 디바이스상의 인터렉티브 게임을 제공하고, 상기 컴퓨터 프로그램 제품은 인터렉티브 게임의 상태에 관한 디바이스의 유저에 대한 데이터 구조를 디바이스 상에 생성하고 저장하도록 구성된다.
F. 멀티플레이어 멀티플 인터렉티브 게임 서버 시스템
멀티플레이어 멀티플 인터렉티브 게임 서버 시스템이 제공되고, 상기 시스템은:
복수의 인터렉티브 게임들의 상태들에 관한 제1 데이터 저장소를 포함하는 제1 서버와, 상기 제1 서버는, 제1 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 복수의 인터렉티브 게임들에 참여하도록 동작 가능한 제1 컴퓨팅 플랫폼의 제1의 복수의 디바이스들과 통신하도록 구성되고;
복수의 인터렉티브 게임들의 상태들에 관한 제2 데이터 저장소를 포함하는 제2 서버와, 상기 제2 서버는, 상기 제1 어플리케이션 프로그래밍 인터페이스와 다른 제2 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 제1 컴퓨팅 플랫폼과 다른, 복수의 인터렉티브 게임들에 참여하도록 동작 가능한 제2 컴퓨팅 플랫폼의 제2의 복수의 디바이스들과 통신 하도록 구성되고, 그리고
상기 복수의 인터렉티브 게임들의 상태들에 관한 제3 데이터 저장소를 포함하는 제3 서버를 포함하고, 상기 제3 서버는 상기 제1 서버 및 상기 제2 서버와 통신 하도록 배열되고,
상기 제1, 제2 및 제3 서버들은, 동기화되었을 때, 상기 제1 데이터 저장소, 상기 제2 데이터 저장소 및 상기 제3 데이터 저장소 모두 복수의 인터렉티브 게임들의 동기화된 상태들에 관련되도록, 상기 제1 데이터 저장소, 상기 제2 데이터 저장소 및 상기 제3 데이터 저장소를 동기화하도록 배열된다.
위의 시스템은 추가적으로 다음의 어떤 것이든지, 단독으로 또는 조합으로 포함할 수 있다:
개념 C의 어떤 양상들이든지.
G. 멀티플레이어 멀티플 인터렉티브 게임 서버 시스템 내의 복수의 멀티플레이어 인터렉티브 게임들의 상태를 동기화하는 방법
멀티플레이어 멀티플 인터렉티브 게임 서버 시스템 내의 복수의 멀티플레이어 인터렉티브 게임들의 상태를 동기화하는 방법이 제공되고, 상기 방법은:
복수의 인터렉티브 게임들의 상태들에 관한 제1 데이터 저장소를 포함하는 제1 서버와, 상기 제1 서버는, 제1 어플리케이션 프로그래밍 인터페이스를 이용해서, 복수의 인터렉티브 게임들에 참여하도록 동작 가능한 제1 컴퓨팅 플랫폼의 제1의 복수의 디바이스들과 통신 하도록 구성되고;
상기 복수의 인터렉티브 게임들의 상태들에 관한 제2 데이터 저장소를 포함하는 제2 서버와, 상기 제2 서버는, 상기 제1 어플리케이션 프로그래밍 인터페이스와 다른, 제2 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 제1 컴퓨팅 플랫폼과 다른, 상기 복수의 인터렉티브 게임들에 참여하도록 동작 가능한 제2 컴퓨팅 플랫폼의 제2의 복수의 디바이스들과 통신 하도록 구성되고, 그리고
상기 복수의 인터렉티브 게임들의 상태들에 관한 제3 데이터 저장소를 포함하는 제3 서버를 포함하고, 상기 제3 서버는 상기 제1 서버 및 상기 제2 서버와 통신 하도록 배열되고, 상기 방법은, 동기화 되었을 때, 상기 제1 데이터 저장소, 상기 제2 데이터 저장소 및 상기 제3 데이터 저장소 모두 상기 복수의 인터렉티브 게임들의 동기화된 상태들과 관련되도록:
(i) 상기 제1 서버상의 상기 제1 데이터 저장소와 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계,
(ii) 상기 제2 서버상의 상기 제2 데이터 저장소와 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계, 그리고
(iii) 상기 제1 서버상의 상기 제1 데이터 저장소와 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계를 포함한다.
위의 방법은 추가적으로 다음의 어떤 것이든지, 단독으로 또는 조합으로 포함할 수 있다:
개념 C 또는 D의 어떤 양상들이든지.
H. 제1 서버
개념 A, B, C 또는 D의 어떤 양상에 따른 제1 서버가 제공된다. 그러한 서버의 사용가 제공된다.
I. 제2 서버
개념 A, B, C 또는 D의 어떤 양상에 따른 제2 서버가 제공된다. 그러한 서버의 사용가 제공된다.
J. 제3 서버
개념 A, C 또는 D의 어떤 양상에 따른 제2 서버가 제공된다. 그러한 서버의 사용가 제공된다.
주석(note)
위에 참조된 배열들은 단지 본 발명의 원칙들에 대한 어플리케이션의 묘사일 뿐이라는 것이 이해될 것이다. 많은 변형들 및 대안적인 배열들이 본 발명의 정신 및 범위에서 벗어남이 없이 고안될 수 있다. 본 발명이 도면들에 도시되고 본 발명의 가장 실용적이고 선호되는 예시(들)인 것으로 현재 여겨지는 것들과 연결되어 특정하게 그리고 상세하게 위에 완전히 기술된 반면에, 통상의 기술자에게, 많은 변형들이 본 발명의 원칙들 및 개념들로부터 벗어남이 없이, 본 문서에서 제시되었듯이, 이루어질 수 있다는 것이 명백할 것이다.

Claims (107)

  1. 인터렉티브 게임플레이(interactive gameplay)를 가능하게 하기 위한 시스템으로서:
    제1 어플리케이션 프로그래밍 인터페이스(API)를 이용하여 제1 컴퓨팅 디바이스와 통신하도록 구성되는 제1 서버와, 상기 제1 서버는 제1 데이터 저장소를 포함하고;
    제2 API를 이용하여 제2 컴퓨팅 디바이스와 통신하도록 구성되는 제2 서버와, 상기 제2 서버는 제2 데이터 저장소를 포함하고; 그리고
    상기 제1 서버 및 제2 서버와 통신하는 제3 서버를 포함하고, 상기 제3 서버는 제3 데이터 저장소를 포함하며;
    상기 제1 서버, 제2 서버 및 제3 서버들은 상기 제1 컴퓨팅 디바이스 및 제2 컴퓨팅 디바이스가 인터렉티브 게임(interactive game)에 참여하는 것을 가능하게 하도록, 상기 제1 데이터 저장소, 제2 데이터 저장소 및 제3 데이터 저장소를 도기화(synchronize)하도록 구성되는 것을 특징으로 하는 시스템.
  2. 제 1항에 있어서,
    상기 제1 API는 페이스북(Facebook) API인 것을 특징으로 하는 시스템.
  3. 제 1항에 있어서,
    상기 제2 API는 Android API인 것을 특징으로 하는 시스템.
  4. 제 2항에 있어서,
    상기 제2 API는 Android API인 것을 특징으로 하는 시스템.
  5. 제 1항에 있어서,
    상기 제2 API는 iOS API인 것을 특징으로 하는 시스템.
  6. 제 2항에 있어서,
    상기 제2 API는 iOS API인 것을 특징으로 하는 시스템.
  7. 제 1항에 있어서,
    상기 제1 컴퓨팅 디바이스는 데스크탑 컴퓨터인 것을 특징으로 하는 시스템.
  8. 제1항에 있어서,
    상기 제1 컴퓨팅 디바이스는 모바일 디바이스인 것을 특징으로 하는 시스템.
  9. 제1항에 있어서,
    상기 제3 데이터 저장소는 인터렉티브 게임에 대한 데이터 구조(data structure)를 포함하는 것을 특징으로 하는 시스템.
  10. 제 9항에 있어서,
    상기 데이터 구조는 게임 내의 복수의 플레이어들에 대한 정보를 포함하는 것을 특징으로 하는 시스템.
  11. 인터렉티브 게임플레이의 방법에 있어서:
    제1 컴퓨팅 디바이스 상에서 게임을 디스플레이하는 단계와, 상기 제1 컴퓨팅 디바이스는 제1 데이터 구조를 포함하는 제1 데이터 저장소를 포함하고;
    제1 어플리케이션 프로그래밍 인터페이스를 이용해서 상기 제1 컴퓨팅 디바이스와 제1 서버 사이의 통신을 확립(establish)하는 단계와, 상기 제1 서버는 제1 서버 데이터 구조를 포함하는 제1 서버 데이터 저장소를 포함하고;
    제2 컴퓨팅 디바이스 상에서 게임을 디스플레이하는 단계와, 상기 제2 컴퓨팅 디바이스는 제2 데이터 구조를 포함하는 제2 데이터 저장소를 포함하고;
    제2 API를 이용해서 상기 제2 컴퓨팅 디바이스와 제2 서버 사이의 통신을 확립하는 단계와, 상기 제2 서버는 제2 서버 데이터 구조를 포함하는 제2 서버 데이터 저장소를 포함하고;
    제1 API를 이용해서 상기 제1 데이터 구조와 상기 제1 서버 데이터 구조를 동기화하는 단계와;
    상기 제1 서버 데이터 구조와 상기 제2 서버 데이터 구조를 동기화하는 단계와;
    상기 제2 API를 이용해서 상기 제2 서버 데이터 구조와 상기 제2 데이터 구조를 동기화하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제 11항에 있어서,
    상기 제1 API는 페이스북 API인 것을 특징으로 하는 방법.
  13. 제 11항에 있어서,
    상기 제2 API는 Android API인 것을 특징으로 하는 방법.
  14. 제 12항에 있어서,
    상기 제2 API는 Android API인 것을 특징으로 한느 방법,
  15. 제 11항에 있어서,
    상기 제2 API는 iOS API인 것을 특징으로 하는 방법.
  16. 제 12항에 있어서,
    상기 제2 API는 iOS API인 것을 특징으로 하는 방법.
  17. 제 11항에 있어서,
    상기 제1 컴퓨팅 디바이스는 데스크탑 컴퓨터인 것을 특징으로 하는 방법.
  18. 제 11항에 있어서,
    상기 제1 컴퓨팅 디바이스는 모바일 디바이스인 것을 특징으로 하는 방법.
  19. 제 11항에 있어서,
    상기 제1 서버 데이터 구조와 상기 제2 서버 데이터 구조를 동기화하는 상기 단계는 제3 서버에 의해 수행되는 것을 특징으로 하는 방법.
  20. 제 19항에 있어서,
    상기 제3 서버는 마스터 게임 데이터 구조를 포함하는 것을 특징으로 하는 방법.
  21. 멀티플레이어 인터렉티브 게임을 플레이하기 위한 멀티플레이어 인터렉티브 게임 서버 시스템에 있어서, 상기 시스템은:
    상기 인터렉티브 게임의 상태에 관한 제1 데이터 저장소를 포함하는 제1 서버와, 상기 제1 서버는, 제1 어플리케이션 프로그래밍 인터페이스를 이용하여, 상기 인터렉티브 게임에 참여하도록 동작하는 제1 컴퓨팅 플랫폼의 제1의 복수의 디바이스들과 통신하도록 구성되고;
    상기 인터렉티브 게임의 상태에 관한 제2 데이터 저장소를 포함하는 제2 서버와, 상기 제2 서버는, 상기 제1 어플리케이션 프로그래밍 인터페이스와 다른 제2 어플리케이션 프로그래밍 인터페이스를 이용하여, 상기 제1 컴퓨팅 플랫폼과 다른, 상기 인터렉티브 게임에 참여하도록 동작하는 제2 컴퓨팅 플랫폼의 제2의 복수의 디바이스들과 통신하도록 구성되고; 그리고
    상기 인터렉티브 게임의 상태에 관한 제3 데이터 저장소를 포함하는 제3 서버와, 상기 제3 서버는 상기 제1 서버 및 상기 제2 서버와 통신하도록 배열되고;
    동기화되었을 때, 상기 제1 데이터 저장소, 상기 제2 데이터 저장소 및 상기 제3 데이터 저장소 모두는 동기화된 게임 상태에 관련되도록, 상기 제1, 제2 및 제3 서버들은 상기 제1 데이터 저장소, 상기 제2 데이터 저장소 및 상기 제3 데이터 저장소를 동기화하도록 배열되는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  22. 제 21항에 있어서,
    상기 제3 데이터 저장소는 상기 멀티플레이어 인터렉티브 게임에 대한 데이터 구조를 포함하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  23. 제 22항에 있어서,
    상기 데이터 구조는 게임 내의 복수의 플레이어들에 대한 정보를 포함하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  24. 제 21항 내지 제 23항 중 어느 한 항에 있어서,
    상기 제1 서버는 상기 제1 데이터 저장소를 생성하고 저장하도록 동작 가능한 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  25. 제 24항에 있어서,
    상기 제1 서버는 상기 제1의 복수의 디바이스들 중 한 디바이스의 유저가 새 게임이 생성되어야 한다고 요청하는 것에 응답하여 상기 제1 데이터 저장소를 생성하고 저장하도록 동작 가능한 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  26. 제 25항에 있어서,
    상기 제1 서버는 상기 제1의 복수의 디바이스들 중 한 디바이스의 유저가 새 게임이 생성되어야 한다고 요청하는 것에 응답하여 상기 제1 데이터 저장소를 생성하고 저장하도록 동작 가능하며, 새 게임 ID 및 데이터 구조를 생성하는 것을 포함하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  27. 제 26항에 있어서,
    상기 제1 서버는 상기 제1의 복수의 디바이스들 중 한 디바이스의 유저가 새 게임이 생성되어야 한다고 요청하는 것에 응답하여 상기 제1 데이터 저장소를 생성하고 저장하도록 동작 가능하고, 새 게임 ID 및 데이터 구조를 생성하는 것을 포함하고, 상기 제1 서버는 상기 새 게임 ID 및 데이터 구조가 생성되었다는 메시지를 상기 제3 서버에 전송하며, 상기 제3 서버는 상기 메시지에 응답하여 대응되는 데이터 구조를 생성하며, 대응하는 데이터 구조를 덧붙이는(populating) 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  28. 제 21항 내지 제 27항 중 어느 한 항에 있어서,
    상기 제1 데이터 저장소는 상기 제1 서버상에서 실행할 수 있는 데이터베이스 내의 하나 또는 그 이상의 테이블들을 포함하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  29. 제 21항 내지 제 28항 중 어느 한 항에 있어서,
    상기 제2 서버는 상기 제2 데이터 저장소를 생성하고 저장하도록 동작 가능한 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  30. 제 29항에 있어서,
    상기 제2 서버는 상기 제1의 복수의 디바이스들 중의 상기 디바이스의 상기 유저가 상기 제1 서버로 하여금 상기 제2의 복수의 디바이스들 중 한 디바이스의 유저를 상기 인터렉티브 게임으로 초대하도록 하는 요청을 제출하는 것에 응답하여 상기 제2 데이터 저장소를 생성하고 저장하도록 동작하고, 상기 제1 서버는 상기 제3 서버로 이 요청을 전송하고, 상기 제3 서버는 상기 제2의 복수의 디바이스들 중 상기 디바이스의 상기 유저에게 이 요청을 전송하며, 그리고 상기 제2의 복수의 디바이스들 중 상기 디바이스의 상기 유저는 상기 제2 서버로 승인 행동(acceptance action)을 전송함에 의해 상기 요청을 승인하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  31. 제 29항에 있어서,
    상기 제2 데이터 저장소는 상기 제2 서버상에서 실행할 수 있는 데이터베이스 내의 하나 또는 그 이상의 테이블들을 포함하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  32. 제 21항 내지 제 30항 중 어느 한 항에 있어서,
    상기 제3 서버는 상기 제3 데이터 저장소를 생성하고 저장하도록 동작 가능한 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  33. 제 32항에 있어서,
    상기 제3 데이터 저장소는 상기 제1 데이터 저장소 및 상기 제2 데이터 저장소를 포함하는 마스터 게임 데이터 저장소를 포함하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  34. 제 32항 내지 제 33항 중 어느 한 항에 있어서,
    상기 제3 데이터 저장소는 상기 제3 서버상에서 실행할 수 있는 데이터베이스 내의 하나 또는 그 이상의 테이블들을 포함하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  35. 제 21항 내지 제 34항 중 어느 한 항에 있어서,
    상기 제1 서버는 상기 게임을 진행하는 상기 제1의 복수의 디바이스들 중의 한 디바이스의 유저에 응답하여 상기 제1 데이터 저장소를 업데이트하도록 구성되는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  36. 제 21항 내지 제 35항 중 어느 한 항에 있어서,
    상기 제1 서버는 상기 제1의 복수의 디바이스들 중의 한 디바이스로부터 동기화 요청을 수신하도록 구성되고, 상기 동기화 요청은 타임스탬프를 포함하고, 상기 제1 서버는 만약 상기 동기화 요청의 상기 타임스탬프가 상기 제1 데이터 저장소의 타임스탬프보다 늦을 경우 상기 동기화 요청으로부터의 데이터로 상기 제1 데이터 저장소를 업데이트하도록 동작하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  37. 제 21항 내지 제 36항 중 어느 한 항에 있어서,
    상기 제1 서버는 상기 제3 서버로 동기화 요청을 송신하도록 구성되고, 상기 동기화 요청은 타임스탬프를 포함하고, 상기 제3 서버는 만약 상기 동기화 요청의 상기 타임스탬프가 상기 제3 데이터 저장소의 타임스탬프보다 늦을 경우 상기 동기화 요청으로부터의 데이터로 상기 제3 데이터 저장소를 업데이트하도록 구성되는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  38. 제 21항 내지 제 37항 중 어느 한 항에 있어서,
    상기 제3 서버는, 만약 상기 제1 데이터 저장소 내 및 상기 제3 데이터 저장소 내의 상기 인터렉티브 게임의 다른 유저들의 데이터가 매칭되지 않을 경우, 상기 멀티-플랫폼 게임의 다른 유저들의 데이터에 관해 상기 제1 데이터 저장소를 업데이트하도록 상기 제1 서버로 데이터를 전송하도록 배열되는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  39. 제 21항 내지 제 38항 중 어느 한 항에 있어서,
    상기 제2 서버는 상기 게임을 진행하는 상기 제2의 복수의 디바이스들 중 한 디바이스의 유저에 응답하여 상기 제2 데이터 저장소를 업데이트 하도록 구성되는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  40. 제 21항 내지 제 39항 중 어느 한 항에 있어서,
    상기 제2 서버는 상기 제2의 복수의 디바이스들 중 한 디바이스로부터 동기화 요청을 수신하도록 구성되고, 상기 동기화 요청은 타임스탬프를 포함하고, 상기 제2 서버는 만약 상기 동기화 요청의 상기 타임스탬프가 상기 제2 데이터 저장소의 타임스탬프보다 늦을 경우 상기 동기화 요청으로부터의 데이터로 상기 제2 데이터 저장소를 업데이트하도록 구성되는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  41. 제 21항 내지 제 40항 중 어느 한 항에 있어서,
    상기 제2 서버는 상기 제3 서버로 동기화 요청을 송신하도록 구성되고, 상기 동기화 요청은 타임스탬프를 포함하고, 상기 제3 서버는 만약 상기 동기화 요청의 상기 타임스탬프가 상기 제3 데이터 저장소의 타임스탬프보다 늦을 경우 상기 동기화 요청으로부터의 데이터로 상기 제3 데이터 저장소를 업데이트하도록 구성되는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  42. 제 21항 내지 제 41항 중 어느 한 항에 있어서,
    만약 상기 제2 데이터 저장소 및 상기 제3 데이터 저장소의 상기 인터렉티브 게임의 다른 유저들의 상기 데이터가 매칭되지 않을 경우, 상기 제3 서버는 상기 멀티-플랫폼 게임의 다른 유저들의 데이터에 관해 상기 제2 데이터 저장소를 업데이트하는 것에 대해 상기 제2 서버로 데이터를 전송하도록 배열되는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  43. 제 21항 내지 제 42항 중 어느 한 항에 있어서,
    유저가 네트워크 접속을 갖고 있지 않은 때에도 상기 인터렉티브 게임을 유저가 플레이할 수 있는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  44. 제 43항에 있어서,
    유저가 네트워크 접속을 갖고 있지 않은 때에도 상기 인터렉티브 게임을 유저가 플레이할 수 있고, 상기 유저가 네트워크 접속을 다시 얻은 후에 상기 인터렉티브 게임의 게임 상태가 동기화되는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  45. 제 21항 내지 제 44항 중 어느 한 항에 있어서,
    상기 시스템은 상기 인터렉티브 게임의 플레이어들에 대해 접속된 완전-동기화된 끊김없는(connected fully-synchronized seamless) 경험을 제공하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  46. 제 21항 내지 제 45항 중 어느 한 항에 있어서,
    상기 시스템은:
    상기 게임은 스타터들(starters)에 대해서 무료이고, 상기 게임은 사회적(social)이고, 정지-시작의 사용(stop-start use)이 게임상에서 가능하고, 끊김없는 경험(seamless experience)이 게임상에서 제공되는 것들 중 하나, 또는 그 이상, 또는 모두가 제공되는 인터렉티브 게임을 제공하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  47. 제 21항 내지 제 46항 중 어느 한 항에 있어서,
    상기 시스템은 상기 게임이 모바일 환경상에서 그리고 비-모바일 환경상에서 플레이될 수 있는 인터렉티브 게임을 제공하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  48. 제 21항 내지 제 47항 중 어느 한 항에 있어서,
    상기 시스템은 상기 게임이 온라인 및 오프라인에서 플레이 될 수 있는 인터렉티브 게임을 제공하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  49. 제 21항 내지 제 48항 중 어느 한 항에 있어서,
    상기 시스템은 복수의 레벨들을 포함하는 인터렉티브 게임을 제공하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  50. 제 49항에 있어서,
    상기 시스템은 복수의 레벨들을 포함하는 인터렉티브 게임을 제공하고, 레벨들의 각각은 1분과 5분 사이로 실행되는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  51. 제 49항에 있어서,
    상기 시스템은 복수의 레벨들을 포함하는 인터렉티브 게임을 제공하고, 유저는 최소 스코어를 기록함에 의해 한 레벨에서 다음 레벨로 진행할 수 있는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  52. 제 21항 내지 제 51항 중 어느 한 항에 있어서,
    상기 시스템은 소셜 네트워크 상에서 유저가 도달한 레벨 그리고 상기 유저의 친구들이 도달한 레벨들을 보여주는 스크린을 제공하는 인터렉티브 게임을 제공하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  53. 제 52항에 있어서,
    도달된 상기 레벨들은 지도의 경로상의 대응하는 장소들에 의해 표시되는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  54. 제 53항에 있어서,
    유저 또는 친구의 위치는 상기 유저 또는 친구의 페이스북 상의 프로필 사진과 같은 사진을 포함하는 표현을 포함하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  55. 제 52항에 있어서,
    상기 스크린은 상기 소셜 네트워크 상에서 상기 유저 및 상기 유저의 친구들에 의해 성취된 레벨 번호들의 리스트를 제공하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  56. 제 52항 내지 제 55항 중 어느 한 항에 있어서,
    상기 스크린은 상기 유저 및 상기 유저의 친구들이 어떤 플랫폼 또는 플랫폼들 상에서 상기 게임을 플레이하고 있는지와 상관없이 제공되는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  57. 제 21항 내지 제 51항 중 어느 한 항에 있어서,
    유저는 상기 인터렉티브 게임에 참여하도록 소셜 네트워크상의 친구를 초대할 수 있고, 상기 친구는 소셜 네트워크(예를 들어, 페이스북) 어플리케이션을 실행하고 있는 상기 친구의 모바일 디바이스 상의 통지(notification)로서 초대를 수신할 수 있는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  58. 제 57항에 있어서,
    선택 가능한 아이콘 또는 선택 가능한 아이템이 상기 통지 상에서 제공되고, 상기 선택 가능한 아이콘 또는 선택 가능한 아이템을 선택하는 것은 상기 모바일 디바이스에 대한 어플리케이션 스토어, 및 상기 어플리케이션에 대한 다운로드 페이지로 상기 친구를 이끌고, 상기 친구는 상기 다운로드 페이지에서 상기 게임 어플리케이션을 다운로드 할 수 있는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  59. 제 21항 내지 제 58항 중 어느 한 항에 있어서,
    유저는 상기 인터렉티브 게임에 참여하도록 소셜 네트워크상의 친구를 초대할 수 있고, 그리고 상기 유저는 만약 상기 친구가 상기 인터렉티브 게임에 참여하면 상기 게임상에서 새로운 생명들(new lives)을 수신하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  60. 제 21항 내지 제 59항 중 어느 한 항에 있어서,
    유저는 만약 상기 유저가 상업광고(commercial) 또는 광고(advertisement)를 보는 경우 상기 인터렉티브 게임 상에서 새로운 생명들을 수신하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  61. 제 21항 내지 제 60항 중 어느 한 항에 있어서,
    유저는 소셜 네트워크상에서 친구에 의해 보내진 생명을 수신할 수 있는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  62. 제 21항 내지 제 61항 중 어느 한 항에 있어서,
    유저는 상기 게임상에서 새로운 생명들을 구매할 수 있는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  63. 제 21항 내지 제 62항 중 어느 한 항에 있어서,
    상기 인터렉티브 게임은 어플리케이션 업데이트상에서 업데이트된 어플리케이션의 제공을 통해 출시(launch) 후에 최적화 가능하며(optimizable), 설치된 때의 상기 어플리케이션 업데이트는 상기 인터렉티브 게임의 동기화된 상태를 변경하지 않는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  64. 제 21항 내지 제 62항 중 어느 한 항에 있어서,
    상기 인터렉티브 게임은 상기 인터렉티브 게임의 레벨 각각을 통해 진행하도록 요구되는 최소 스코어들의 업데이트된 파일을 제공함을 통해 출시 후에 최적화 가능한 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  65. 제 21항 내지 제 64항 중 어느 한 항에 있어서,
    상기 인터렉티브 게임은 모바일에 의해 가능하게 되며(mobile-enabled), 상기 시스템은:
    개인 컴퓨터들 및 모바일 디바이스들로 통지들, 뉴스 피드, 타임 라인 및 북마크들 중 하나 또는 그 이상을 보내도록 구성되는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  66. 제 21항 내지 제 65항 중 어느 한 항에 있어서,
    비-모바일 디바이스의 소셜 네트워크상의 상기 인터렉티브 게임의 플레이어인 어떤 유저든지, 만약 상기 유저가 모바일 디바이스를 갖고 상기 유저가 이 모바일 디바이스 상에서 상기 소셜 네트워크에 액세스(access) 하는 경우, 이후에 상기 유저는 상기 모바일 디바이스 상의 상기 소셜 네트워크에서 상기 게임으로의 링크를 보게 되고, 이는 상기 모바일 디바이스 어플리케이션 스토어로 상기 유저를 이끌며, 상기 유저가 상기 모바일 디바이스에 대한 상기 게임을 다운로드할 수 있는 스크린으로 상기 유저를 이끄는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  67. 제 21항 내지 제 66항 중 어느 한 항에 있어서,
    상기 제1의 복수의 디바이스들 중 한 디바이스의 유저는, 상기 유저가 상기 제2의 복수의 디바이스들 중 한 디바이스를 이용하여 등록된 소셜 네트워크에 로그인 할 때, 상기 비-모바일 디바이스 상의 상기 소셜 네트워크에서 "모바일로 전송" 기능을 제공받으며, 상기 기능은 예를 들어, 텍스트 메시지 서비스(text message service) 등 스마트폰으로 인터렉티브 게임 어플리케이션에 대한 다운로드 링크를 보내도록 동작 가능한 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  68. 제 21항 내지 제 67항 중 어느 한 항에 있어서,
    상기 제1의 복수의 디바이스들 중 한 디바이스의 유저는, 상기 유저가 상기 제2의 복수의 디바이스들 중 한 디바이스를 이용하여 등록된 소셜 네트워크에 로그인할 때, 상기 제2의 복수의 디바이스들 내의 상기 디바이스로부터 상기 인터렉티브 게임에 참여할 기회를 제공받고, 상기 제1의 복수의 디바이스들 중 상기 디바이스를 이용하는 상기 유저의 게임 레벨, 및 상기 제2의 복수의 디바이스들 중 상기 디바이스를 이용하는 것은 동기화 동안 동기화되는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  69. 제 21항 내지 제 68항 중 어느 한 항에 있어서,
    게임의 특징들은 동기화 동안 동기화되는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  70. 제 21항 내지 제 69항 중 어느 한 항에 있어서,
    상기 인터렉티브 게임 내의 한 특징의 선물(gift of a feature)은 소셜 네트워크 내에서 친구에게 보내질 수 있는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  71. 제 21항 내지 제 70항 중 어느 한 항에 있어서,
    유저는 상기 인터렉티브 게임을 플레이하기 전에 소셜 네트워크로 접속할지 또는 하지 접속하지 않을지를 결정할 수 있는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  72. 제 21항 내지 제 71항 중 어느 한 항에 있어서,
    만약 유저가 상기 인터렉티브 게임을 플레이하는 동안 소셜 네트워크에 접속되지 않은 경우에, 상기 유저가 상기 게임 내에서 생명들을 다 써버린 경우, 상기 유저가 상기 소셜 네트워크 내의 상기 유저의 친구들로부터 더 많은 생명들을 요청할 수 있도록, 상기 유저는 상기 소셜 네트워크에 접속할 기회를 제공받는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  73. 제 21항 내지 제 72항 중 어느 한 항에 있어서,
    상기 게임이 제공되는 모든 플랫폼들을 통해 사용되는 아이콘들은 플랫폼 각각 내에서 동일한 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  74. 제 21항 내지 제 73항 중 어느 한 항에 있어서,
    플랫폼은 스마트 TV 플랫폼인 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  75. 제 21항 내지 제 74항 중 어느 한 항에 있어서,
    주어진 플랫폼의 기능성은 그 플랫폼에 대한 상기 인터렉티브 게임으로 통합되는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  76. 제 75항에 있어서,
    기능성은 소셜 네트워크 플랫폼 내의 원 클릭 등록 프로세스(one click registration process)를 포함하는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  77. 제 75항에 있어서,
    소셜 네트워크 플랫폼에 대한 기능성은, 약간의 수정 또는 미 수정(little or no modification)으로 다른 인터렉티브 게임들을 코딩하는 데에 사용될 수 있도록, 상기 인터렉티브 게임에 대한 표준화된(standardized) 또는 모듈화된(modularized) 형태로 코딩되는 것을 특징으로 하는 멀티플레이어 인터렉티브 게임 서버 시스템.
  78. 멀티플레이어 인터렉티브 게임 서버 시스템 내의 멀티플레이어 인터렉티브 게임의 상태를 동기화하는 방법에 있어서, 상기 시스템은:
    상기 인터렉티브 게임의 상태에 관한 제1 데이터 저장소를 포함하는 제1 서버와, 상기 제1 서버는, 제1 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 인터렉티브 게임에 참여하도록 동작가능한 제1 컴퓨팅 플랫폼의 제1의 복수의 디바이스들과 통신하도록 구성되고;
    상기 인터렉티브 게임의 상태에 관한 제2 데이터 저장소를 포함하는 제2 서버와, 상기 제2 서버는, 상기 제1 어플리케이션 프로그래밍 인터페이스와 다른 제2 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 인터렉티브 게임에 참여하도록 동작가능한 상기 제1 컴퓨팅 플랫폼과 다른 제2 컴퓨팅 플랫폼의 제2의 복수의 디바이스들과 통신하도록 구성되고,
    상기 인터렉티브 게임의 상태에 관한 제3 데이터 저장소를 포함하는 제3 서버와, 상기 제3 서버는 상기 제1 서버 및 상기 제2 서버와 통신하도록 배열되며, 상기 방법은, 동기화되었을 때, 상기 제1 데이터 저장소, 상기 제2 데이터 저장소 및 상기 제3 데이터 저장소는 모두 동기화된 게임 상태에 관련되도록:
    (i) 상기 제1 서버상의 상기 제1 데이터 저장소와 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계,
    (ii) 상기 제2 서버상의 상기 제2 데이터 저장소와 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계,
    (iii) 상기 제1 서버상의 상기 제1 데이터 저장소와 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계를 포함하는 것을 특징으로 하는 방법.
  79. 제 78항에 있어서,
    상기 제3 데이터 저장소는 상기 멀티플레이어 인터렉티브 게임에 대한 데이터 구조를 포함하는 것을 특징으로 하는 방법.
  80. 제 79항에 있어서,
    상기 데이터 구조는 상기 게임 내의 복수의 플레이어들에 대한 정보를 포함하는 것을 특징으로 하는 방법.
  81. 제 78항 내지 제 80항 중 어느 한 항에 있어서,
    제 21항 내지 제 77항 중 어느 한 항의 시스템에 적용되는 것을 특징으로 하는 방법.
  82. 제 21항 내지 제 77항 중 어느 한 항에 있어서,
    디바이스는 상기 제1 서버와 통신하도록 구성되고, 상기 디바이스는 상기 디바이스 상의 상기 인터렉티브 게임을 실행하도록 동작 가능한 어플리케이션을 포함하며, 상기 어플리케이션은 상기 인터렉티브 게임의 상태에 관한 상기 디바이스의 유저에 대한 데이터 구조를 디바이스 상에 생성하고 저장하도록 구성되는 것을 특징으로 하는 시스템의 상기 제1의 복수의 디바이스들 중의 한 디바이스.
  83. 제 82항에 있어서,
    상기 디바이스 상의 상기 데이터 구조는 데이터베이스 내의 하나 또는 그 이상의 테이블들을 포함하는 것을 특징으로 하는 디바이스.
  84. 제 83항에 있어서,
    상기 디바이스 상의 상기 데이터 구조는 상기 디바이스 상에서 실행될 수 있는 데이터베이스 내의 하나 또는 그 이상의 테이블들을 포함하는 것을 특징으로 하는 디바이스.
  85. 제 82항 내지 제 84항 중 어느 한 항에 있어서,
    상기 디바이스는 상기 제1 서버로 메시지를 보냄에 의해 상기 인터렉티브 게임을 시작하도록 동작 가능하고, 상기 디바이스는 이후에 상기 디바이스 상에 상기 데이터 구조를 생성하는 것을 특징으로 하는 디바이스.
  86. 제 85항에 있어서,
    상기 디바이스는 동기화된 게임 상태에 관한 상기 제1 데이터 서버로부터 수신하도록 더 동작 가능하고, 상기 디바이스 상에 상기 데이터 구조 내의 상기 데이터를 저장하도록 더 동작 가능한 것을 특징으로 하는 디바이스.
  87. 제 82항 내지 제 86항 중 어느 한 항에 있어서,
    상기 디바이스는 상기 인터렉티브 게임에 참여하기 위해 상기 제2의 복수의 디바이스들 중 한 디바이스의 유저를 초대하도록 상기 제1 서버에 요청을 보내도록 동작 가능한 것을 특징으로 하는 디바이스.
  88. 제 87항에 있어서,
    상기 디바이스는 상기 인터렉티브 게임에 참여하기 위해 상기 제2의 복수의 디바이스들 중 한 디바이스의 유저를 초대하도록 상기 제1 서버에 요청을 보내도록 동작 가능하고, 그리고 상기 인터렉티브 게임에 참여하는 상기 제2의 복수의 디바이스들 중 상기 디바이스의 상기 유저에 응답하여, 상기 디바이스는 상기 제1 데이터 서버로부터 동기화된 게임 상태에 관한 데이터를 수신하며, 상기 디바이스 상의 상기 데이터 구조 내에 상기 데이터를 저장하도록 구성되는 것을 특징으로 하는 디바이스.
  89. 제 82항 내지 제 88항 중 어느 한 항에 있어서,
    상기 디바이스는 상기 인터렉티브 게임을 통해 진행하는 상기 디바이스 상의 상기 게임을 플레이하는 유저에 응답하여 상기 디바이스 상의 상기 데이터 구조를 업데이트하도록 구성되는 것을 특징으로 하는 디바이스.
  90. 제 82항 내지 제 88항 중 어느 한 항에 있어서,
    상기 디바이스는, 상기 디바이스가 상기 제1 서버와 접속되어 있지 않더라도, 상기 인터렉티브 게임을 통해 진행하는 상기 디바이스 상의 상기 게임을 플레이하는 유저에 응답하여 상기 디바이스 상의 상기 데이터 구조를 업데이트 하도록 구성되는 것을 특징으로 하는 디바이스.
  91. 제 82항 내지 제 89항 중 어느 한 항에 있어서,
    상기 디바이스는 상기 제1 서버로 동기화 요청을 보내도록 구성되고, 상기 동기화 요청은 상기 인터렉티브 게임 내의 상기 디바이스의 유저의 진행의 상기 현태 상태, 및 타임스탬프를 포함하는 것을 특징으로 하는 디바이스.
  92. 제 91항에 있어서,
    상기 디바이스는, 상기 동기화 요청에 응답하여, 상기 제1 서버로부터 상기 게임의 다른 플레이어들에 관한 업데이트된 데이터를 수신하도록 구성되며, 상기 데이터 구조 내의 상기 업데이트된 데이터를 저장하도록 구성되는 것을 특징으로 하는 디바이스.
  93. 제 82항 내지 제 92항 중 어느 한 항에 있어서,
    상기 디바이스는 모바일 디바이스이고, 상기 디바이스는 만약 유저에 의해 선택되면 동기화 프로세스를 시작하는 아이콘 또는 유저 선택가능 옵션(user selectable option)을 디스플레이하는 것을 특징으로 하는 디바이스.
  94. 제 82항 내지 제 93항 중 어느 한 항에 있어서,
    상기 디바이스는 미리 정의된 이벤트의 발생에 응답하여 동기화 프로세스를자동적으로 시작하도록 구성되는 것을 특징으로 하는 디바이스.
  95. 제 94항에 있어서,
    상기 이벤트는 유저에 의한 게임 내의 한 레벨의 완성인 것을 특징으로 하는 디바이스.
  96. 비일시적 저장 매체(non-transient storage medium) 상에 구현된 컴퓨터 프로그램 제품(computer program product)으로서,
    상기 컴퓨터 프로그램 제품은 제 21항 내지 제 77항 중 어느 한 항의 시스템의 상기 제1의 복수의 디바이스들 중 한 디바이스 상에서 실행되도록 동작 가능하고,
    상기 컴퓨터 프로그램 제품은 상기 디바이스 상에서 실행될 때 상기 디바이스 상의 상기 인터렉티브 게임을 제공하고,
    상기 컴퓨터 프로그램 제품은 상기 인터렉티브 게임의 상태에 관한 상기 디바이스의 한 유저에 대한 데이터 구조를 상기 디바이스 상에 생성하고 저장하도록 구성되는 것을 특징으로 하는 비일시적 저장 매체 상에 구현된 컴퓨터 프로그램 제품.
  97. 멀티플레이어 멀티플 인터렉티브 게임 서버 시스템(multiplayer multiple interactive game server system)에 있어서:
    복수의 인터렉티브 게임의 상태들에 관한 제1 데이터 저장소를 포함하는 제1 서버와, 상기 제1 서버는, 제1 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 복수의 인터렉티브 게임에 참여하도록 동작 가능한, 제1 컴퓨팅 플랫폼의 제1의 복수의 디바이스들과 통신하도록 구성되고;
    복수의 인터렉티브 게임의 상태들에 관한 제2 데이터 저장소를 포함하는 제2 서버와, 상기 제2 서버는, 상기 제1 어플리케이션 프로그래밍 인터페이스와 다른 제2 어플리케이션 프로그래밍 인터페이스를 이용해서, 상기 복수의 인터렉티브 게임에 참여하도록 동작 가능한, 상기 제1 컴퓨팅 플랫폼과 다른 제2 컴퓨팅 플랫폼의 제2의 복수의 디바이스들과 통신하도록 구성되고;
    상기 복수의 인터렉티브 게임들의 상태들에 관한 제3 데이터 저장소를 포함하는 제3 서버를 포함하고, 상기 제3 서버는 상기 제1 서버 및 상기 제2 서버와 통신하도록 배열되고,
    상기 제1, 제2 및 제3 서버들은, 동기화되었을 때, 상기 제1 데이터 저장소, 상기 제2 데이터 저장소 및 상기 제3 데이터 저장소 모두 상기 복수의 인터렉티브 게임들의 동기화된 상태들에 관련되도록, 상기 제1 데이터 저장소, 상기 제2 데이터 저장소 및 상기 제3 데이터 저장소와 동기화하도록 배열되는 것을 특징으로 하는, 멀티플레이어 멀티플 인터렉티브 게임 서버 시스템.
  98. 제 97항에 있어서,
    상기 시스템은 제 21항 내지 제 77항 중 어느 한 항의 시스템을 포함하는 것을 특징으로 하는, 멀티플레이어 멀티플 인터렉티브 게임 서버 시스템.
  99. 멀티플레이어 멀티플 인터렉티브 게임 서버 시스템 내의 복수의 멀티플레이어 인터렉티브 게임들의 상태를 동기화하는 방법에 있어서:
    상기 복수의 인터렉티브 게임들의 상태들에 관한 제1 데이터 저장소를 포함하는 제1 서버와, 상기 제1 서버는, 제1 어플리케이션 프로그래밍 인터페이스를 이용하여, 상기 복수의 인터렉티브 게임들에 참여하도록 동작가능한 제1 컴퓨팅 플랫폼의 제1의 복수의 디바이스들과 통신하도록 구성되고;
    상기 복수의 인터렉티브 게임들의 상태들에 관한 제2 데이터 저장소를 포함하는 제2 서버와, 상기 제2 서버는, 상기 제1 어플리케이션 프로그래밍 인터페이스와 다른 제2 어플리케이션 프로그래밍 인터페이스를 이용하여, 상기 복수의 인터렉티브 게임들에 참여하도록 동작가능한 상기 제1 컴퓨팅 플랫폼과 다른 제2 컴퓨팅 플랫폼의 제2의 복수의 디바이스들과 통신하도록 구성되고; 그리고
    상기 복수의 인터렉티브 게임들의 상태들에 관한 제3 데이터 저장소를 포함하는 제3 서버와, 상기 제3 서버는 상기 제1 서버 및 상기 제2 서버와 통신하도록 배열되고, 상기 방법은 동기화되었을 때, 상기 제1 데이터 저장소, 상기 제2 데이터 저장소 및 상기 제3 데이터 저장소 모두 상기 복수의 인터렉티브 게임들의 동기화된 상태들과 관련되는 것을 특징으로 하는:
    (i) 상기 제1 서버상의 상기 제1 데이터 저장소와 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계,
    (ii) 상기 제2 서버상의 제2 데이터 저장소와 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계, 그리고
    (iii) 상기 제1 서버상의 상기 제1 데이터 저장소 및 상기 제3 서버상의 상기 제3 데이터 저장소를 동기화하는 단계,
    들을 포함하는 것을 특징으로 하는 방법.
  100. 제 99항에 있어서,
    상기 시스템은 제 21항 내지 제 77항 중 어느 한 항의 시스템을 포함하는 것을 특징으로 하는 방법.
  101. 제 1항 내지 제 81항 중 어느 한 항에 있어서,
    시스템 또는 방법의 사용.
  102. 제 1항 내지 제 81항 중 어느 한 항에 있어서,
    제1 서버.
  103. 제 1항 내지 제 81항 중 어느 한 항에 있어서,
    제2 서버.
  104. 제 1항 내지 제 10항 또는 제 21항 내지 제 81항 중 어느 한 항에 있어서,
    제3 서버.
  105. 제 1항 내지 제 81항 중 어느 한 항에 있어서,
    제1 서버의 사용.
  106. 제 1항 내지 제 81항 중 어느 한 항에 있어서,
    제2 서버의 사용.
  107. 제 1항 내지 제 10항 또는 제 21항 내지 제 81항 중 어느 한 항에 있어서,
    제3 서버의 사용.
KR20147036202A 2012-05-23 2013-05-23 인터렉티브 게임플레이를 위한 시스템들 및 방법들 KR20150024345A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US13/479,107 US9017170B2 (en) 2012-05-23 2012-05-23 Method and apparatus for interactive gameplay across multiple computing platforms
US13/479,107 2012-05-23
US201261701907P 2012-09-17 2012-09-17
US61/701,907 2012-09-17
GBGB1305767.4A GB201305767D0 (en) 2012-05-23 2013-03-28 System and method for interactive gameplay
GB1305767.4 2013-03-28
PCT/EP2013/060641 WO2013174933A1 (en) 2012-05-23 2013-05-23 Systems and methods for interactive gameplay

Publications (1)

Publication Number Publication Date
KR20150024345A true KR20150024345A (ko) 2015-03-06

Family

ID=48444992

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20147036202A KR20150024345A (ko) 2012-05-23 2013-05-23 인터렉티브 게임플레이를 위한 시스템들 및 방법들

Country Status (7)

Country Link
US (2) US9017170B2 (ko)
EP (1) EP2847743A1 (ko)
JP (1) JP2015524677A (ko)
KR (1) KR20150024345A (ko)
CN (1) CN104508714A (ko)
GB (1) GB201305767D0 (ko)
WO (1) WO2013174933A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150111643A1 (en) * 2012-05-23 2015-04-23 King.Com Limited Systems and methods for interactive gameplay
US9751011B2 (en) * 2012-05-25 2017-09-05 Electronics Arts, Inc. Systems and methods for a unified game experience in a multiplayer game
WO2014041202A1 (en) 2012-09-17 2014-03-20 King.Com Limited A method for implementing a computer game
US10828558B2 (en) 2013-02-19 2020-11-10 King.Com Ltd. Video game with spreading tile backgrounds for matched tiles
US9592441B2 (en) 2013-02-19 2017-03-14 King.Com Ltd. Controlling a user interface of a computer device
US9079097B2 (en) 2013-02-19 2015-07-14 King.Com Ltd. Video game with replaceable tiles having selectable physics
US9937418B2 (en) 2013-06-07 2018-04-10 King.Com Ltd. Computing device, game, and methods therefor
US9446313B2 (en) * 2014-03-12 2016-09-20 King.Com Ltd. Device, game and control methods therefor
JP6218178B2 (ja) * 2014-03-18 2017-10-25 株式会社コナミデジタルエンタテインメント ゲームシステム、記憶制御装置、及びプログラム
US9492734B2 (en) 2014-04-14 2016-11-15 Boulding Blocks LLC Multi-dimensional puzzle
US20150375122A1 (en) * 2014-06-26 2015-12-31 King.Com Limited Systems and methods for controlling multiple accounts
KR102248745B1 (ko) * 2014-08-29 2021-05-07 삼성전자주식회사 디스플레이 장치, 서버, 및 콘텐츠 제공 방법
CN105119918B (zh) * 2015-08-21 2019-01-08 腾讯科技(深圳)有限公司 实现应用跨平台交互的方法及终端设备
CN105597322A (zh) * 2015-12-22 2016-05-25 北京奇虎科技有限公司 一种数据处理的方法和装置
CN105810035A (zh) * 2016-03-16 2016-07-27 深圳市育成科技有限公司 情景互动式认知教学系统及其教学方法
GB2551323B (en) 2016-06-08 2021-02-10 Companion Ltd System providing a shared environment
US10974139B2 (en) * 2017-11-09 2021-04-13 Disney Enterprises, Inc. Persistent progress over a connected device network and interactive and continuous storytelling via data input from connected devices
CN109011568B (zh) * 2018-08-24 2020-02-14 苏州玩友时代科技股份有限公司 游戏地图的分配方法及系统
CN110876852B (zh) * 2018-09-06 2023-09-26 深圳市贰陆陆科技有限公司 微服务的网络游戏数据处理方法及系统
EP3870322A4 (en) * 2018-10-22 2022-08-03 Sony Interactive Entertainment LLC DATA MODEL FOR UNIFORM DATA PLATFORM
CN111375200B (zh) * 2018-12-28 2021-05-28 广州市百果园网络科技有限公司 智能配置游戏资源方法、系统及计算机存储介质、设备
US11020660B2 (en) * 2019-02-21 2021-06-01 Sony Interactive Entertainment LLC Transactional memory synchronization between multiple sessions of a video game
JP7464452B2 (ja) 2019-05-23 2024-04-09 株式会社ポケモン ゲームプログラム、方法、情報処理装置
CN110856008B (zh) * 2019-11-25 2021-12-03 广州虎牙科技有限公司 直播互动方法、装置、系统、电子设备及存储介质
WO2021146650A1 (en) * 2020-01-17 2021-07-22 Adventure Games, Inc Interactive cloud-based gaming methodology and architecture
US11715345B2 (en) * 2021-02-24 2023-08-01 DraftKings, Inc. Systems and methods for using a non-regulated device to generate data objects via a regulated device
CN113368502B (zh) * 2021-05-27 2024-01-30 江苏视博云信息技术有限公司 一种云游戏的管理方法、装置及存储介质
CN113440863B (zh) * 2021-07-19 2024-05-10 网易(杭州)网络有限公司 多人在线游戏的处理方法及装置、电子设备、存储介质
CN113589982A (zh) * 2021-07-29 2021-11-02 北京字跳网络技术有限公司 一种资源播放方法、装置、电子设备和存储介质

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU702015B2 (en) * 1995-09-13 1999-02-11 Micro Forte Pty Limited Communication system and method
US6050898A (en) * 1996-05-15 2000-04-18 Vr-1, Inc. Initiating and scaling massive concurrent data transaction
US6763371B1 (en) * 1999-05-10 2004-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for collaborative communication in a communication network
WO2000068864A1 (en) * 1999-05-10 2000-11-16 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus in a communication network
US20010044339A1 (en) * 2000-02-17 2001-11-22 Angel Cordero Multi-player computer game, system and method
US7988559B2 (en) 2001-03-08 2011-08-02 Igt Computerized gaming system, method and apparatus
US6837789B2 (en) * 2000-04-05 2005-01-04 Ods Properties, Inc. Systems and methods for cross-platform access to a wagering interface
EP1187421A3 (en) * 2000-08-17 2004-04-14 FusionOne, Inc. Base rolling engine for data transfer and synchronization system
US6947761B2 (en) * 2000-11-22 2005-09-20 Leap Wireless International Inc. Method and system for improving the efficiency of state information transfer over a wireless communications network
US20030177187A1 (en) * 2000-11-27 2003-09-18 Butterfly.Net. Inc. Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications
US6581075B1 (en) * 2000-12-28 2003-06-17 Nortel Networks Limited System and method for database synchronization
JP3578344B2 (ja) * 2001-03-27 2004-10-20 コナミ株式会社 ネットワークサーバシステムにおけるゲーム用データの送受信方法、ネットワークサーバシステム、及びプログラム
JP4173447B2 (ja) * 2001-10-24 2008-10-29 ビーイーエイ システムズ, インコーポレイテッド データ同期
US8597116B2 (en) 2002-03-12 2013-12-03 Igt Virtual player tracking and related services
JP2004046302A (ja) * 2002-07-08 2004-02-12 Nec Corp 複数の情報機器間におけるデータ同期方法、当該方法を実行する情報処理装置、および当該方法を実行するためのプログラム
US7415711B2 (en) 2003-08-01 2008-08-19 Microsoft Corporation System and method for a transport independent gaming API for mobile devices
CN1913943B (zh) * 2003-09-18 2013-01-02 图尔宾公司 控制对大型多人在线角色扮演游戏的访问的系统和方法
JP2005234633A (ja) * 2004-02-17 2005-09-02 Sony Corp サービスの拡張方法
JP2006326144A (ja) * 2005-05-30 2006-12-07 Aruze Corp ゲームシステム、並びにゲーム機
US8241129B2 (en) * 2005-06-20 2012-08-14 Microsoft Corporation Setting up on-line game sessions out of a game context
JP3968758B2 (ja) * 2005-09-08 2007-08-29 株式会社光栄 ネットワークゲームシステム,クライアント機器,サーバ機器,キャラクタ管理プログラムおよびキャラクタ管理プログラムを記憶した記憶媒体
JP2007082626A (ja) * 2005-09-20 2007-04-05 Aruze Corp 遊技システムおよび遊技管理サーバ
US8799512B2 (en) * 2005-10-19 2014-08-05 Qwest Communications International Inc. Cross-platform support for a variety of media types
US8484564B1 (en) * 2006-03-07 2013-07-09 Google Inc. Method, system, and graphical user interface for personalized online sports team charts
CN101063989A (zh) * 2006-04-26 2007-10-31 珠海市西山居软件有限公司 一种可显示即时战报的大规模pk战斗网络游戏系统
JP4408929B2 (ja) 2007-11-22 2010-02-03 株式会社スクウェア・エニックス オンラインゲームシステム
WO2010006187A2 (en) * 2008-07-11 2010-01-14 Bally Gaming, Inc. Integration gateway
US8444490B2 (en) * 2008-12-15 2013-05-21 Tetris Online, Inc. Interactive asynchronous game offline play architecture
WO2010075070A1 (en) * 2008-12-15 2010-07-01 Tetris Online, Inc. Interactive asynchronous computer game infrastructure
US8108468B2 (en) 2009-01-20 2012-01-31 Disney Enterprises, Inc. System and method for customized experiences in a shared online environment
JP2011034175A (ja) * 2009-07-30 2011-02-17 Yamatake Corp トランザクション制御装置、トランザクション処理方法およびプログラム
US8290920B2 (en) * 2009-09-30 2012-10-16 Zynga Inc. System and method for remote updates
US20110136577A1 (en) * 2009-12-09 2011-06-09 M5 Systems Llc Game manager with multi-platform api components
US9682324B2 (en) * 2010-05-12 2017-06-20 Activision Publishing, Inc. System and method for enabling players to participate in asynchronous, competitive challenges
US9636584B2 (en) * 2010-06-24 2017-05-02 Zynga Inc. Mobile device interface for online games
US8287341B1 (en) * 2010-10-14 2012-10-16 Zynga Inc. Asynchronous interactive game play
US20120165100A1 (en) * 2010-12-23 2012-06-28 Alcatel-Lucent Canada Inc. Crowd mobile synchronization
US20120244950A1 (en) * 2011-03-27 2012-09-27 Edwin Braun System and method for cross-platform and cross-game virtual asset creation and management
US8348765B1 (en) * 2011-05-24 2013-01-08 Zynga Inc. Online asynchronous game with player-matching mechanic
US9289686B2 (en) * 2011-07-28 2016-03-22 Zynga Inc. Method and system for matchmaking connections within a gaming social network
US20130045803A1 (en) * 2011-08-21 2013-02-21 Digital Harmony Games, Inc. Cross-platform gaming between multiple devices of multiple types
US9224259B1 (en) * 2011-09-02 2015-12-29 Zynga Inc. Conflict resolution in asynchronous multiplayer games
US20130190094A1 (en) * 2012-01-19 2013-07-25 Eyal Ronen Asynchronous Team-Based Game
US9141682B1 (en) * 2013-03-25 2015-09-22 Amazon Technologies, Inc. Resolving conflicts within saved state data

Also Published As

Publication number Publication date
US20130316832A1 (en) 2013-11-28
EP2847743A1 (en) 2015-03-18
WO2013174933A1 (en) 2013-11-28
JP2015524677A (ja) 2015-08-27
US20140287839A1 (en) 2014-09-25
CN104508714A (zh) 2015-04-08
US9017170B2 (en) 2015-04-28
GB201305767D0 (en) 2013-05-15

Similar Documents

Publication Publication Date Title
KR20150024345A (ko) 인터렉티브 게임플레이를 위한 시스템들 및 방법들
US20150111643A1 (en) Systems and methods for interactive gameplay
US10722803B2 (en) Integrated chat and game play platform
US11731054B1 (en) Multilayer framework architecture and user interface for video gaming applications
US10155163B2 (en) Methods, systems, and products for control of gaming applications
US20140038721A1 (en) Method and system for facilitating online social interactions via cooperative gameplay
KR20120081368A (ko) 모바일 플랫폼에서의 채팅을 통한 게임 초대 방법
KR20180098311A (ko) 멀티플레이어 게임 세션들을 관리하기 위한 방법 및 시스템
US20180353860A1 (en) Communication system, server, and information-processing method
JP6140107B2 (ja) ゲームシステム及び通信ゲームの処理方法
US10471350B2 (en) Persistent game sessions with multiplayer support
CN113260433A (zh) 用于启动直接游戏玩法的动态界面
US20200179814A1 (en) Communication system, server, and information-processing method
CN114341830A (zh) 基于上下文的动作建议
JP2015221208A (ja) オンラインゲームにおけるプレイヤの協力の容易化
US11210332B2 (en) Mapped views of digital content
KR101633400B1 (ko) 모바일 게임을 위한 하이브리드 앱 기반의 대전서비스 제공방법 및 이를 위한 컴퓨터로 판독가능한 기록매체
KR20120012678A (ko) 게임 진행 정보 제공을 위한 시스템, 이를 위한 서버, 이를 위한 단말, 이를 위한 방법 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록 매체
JP2014008240A (ja) ゲームシステム、端末装置、ゲーム制御方法およびプログラム
WO2024055811A1 (zh) 消息显示方法、装置、设备、介质及程序产品
KR101189973B1 (ko) 온라인 게임에서 친구 정보 제공 방법 및 서버
CN117643728A (zh) 用于游戏对局中互动的方法和装置、计算设备及存储介质
CN115309304A (zh) 一种会话消息显示方法、装置、存储介质及计算机设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application