KR20200092899A - 온라인 멀티 플레이어 게임에서 플레이어의 게임 플레이를 복제하기 위한 방법 및 시스템 - Google Patents

온라인 멀티 플레이어 게임에서 플레이어의 게임 플레이를 복제하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20200092899A
KR20200092899A KR1020200009520A KR20200009520A KR20200092899A KR 20200092899 A KR20200092899 A KR 20200092899A KR 1020200009520 A KR1020200009520 A KR 1020200009520A KR 20200009520 A KR20200009520 A KR 20200009520A KR 20200092899 A KR20200092899 A KR 20200092899A
Authority
KR
South Korea
Prior art keywords
player
game
machine
game state
state data
Prior art date
Application number
KR1020200009520A
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 KR20200092899A publication Critical patent/KR20200092899A/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/86Watching games played by other players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of 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/45Controlling the progress of the video 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
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • A63F13/497Partially or entirely replaying previous game actions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/58Controlling game characters or game objects based on the game progress by computing conditions of game characters, e.g. stamina, strength, motivation or energy level
    • 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/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

데이터 통신 네트워크에서 리플리케이터 머신이 멀티 플레이어 게임의 매치에서 플레이어의 게임 플레이의 복제를 생성하기 위해, 플레이어 머신 및 게임 서버를 포함한다. 매치는 게임의 상태를 상세히 나타내는 게임 상태 데이터를 포함한다. 플레이어 머신은 플레이어 머신으로부터 게임 상태 데이터, 및 매치 중에 그리고 매치와 관련하여 플레이어 머신 상에서 이루어진 입력을 상세히 나타내지만 게임 서버에서는 이용할 수 없는 입력 정보를 획득한다. 입력 정보는 게임 상태 데이터에서보다 업데이트 빈도가 높은 위치와 관련되어 있다. 획득된 게임 상태 데이터 및 입력 정보에 기초하여 플레이어의 게임 플레이의 시각적 복제가 생성된다(306).

Description

온라인 멀티 플레이어 게임에서 플레이어의 게임 플레이를 복제하기 위한 방법 및 시스템{METHODS AND SYSTEMS FOR REPLICATING GAMEPLAY OF A PLAYER IN AN ONLINE MULTIPLAYER GAME}
본 개시는 일반적으로 플레이어가 게임을 경험하는 것과 일치하는 방식으로 온라인 멀티 플레이어 게임에서 경기 중인 플레이어의 게임 플레이(gameplay)를 복제(replicate)하기 위한 방법, 시스템 및 장치에 관한 것이다.
오늘날 온라인 멀티 플레이어 게임은 전 세계 수많은 사람들한테 엔터테인먼트의 원천이다. 멀티 플레이어 게임은 게임을 하는 것만 아니라 다른 사람들이 게임을 하는 것을 관람하는 것을 포함하여 다양한 방식으로 즐길 수 있다.
다른 사람들이 게임을 하는 것을 관람할 때, 특히 관람객이 특정 플레이어의 관점을 볼 수 있는 구현에서, 게임을 하는 플레이어의 경험을 최대한 관람객에게 보여주는 것이 중요하다.
하지만 때로는 관람객에게 보여지는 플레이어의 게임 플레이의 묘사가 플레이어가 로컬 플레이어 컴퓨터에서 본 것과 완전히 일치하지 않을 수 있다.
상기를 고려하여, 종래기술에 대한 하나 이상의 개선 또는 대안을 제공하는 것, 예를 들어, 플레이어 머신과 게임 서버에 과도한 리소스와 컴퓨팅 파워를 요구하지 않으면서, 현재 사용 가능한 기술로 생성된 복제(replication)보다 더 정확하고 세부적인 플레이어 게임 플레이의 복제를 생성하는 방법을 제공하는 등, 위에서 설명한 문제와 이슈 중 적어도 일부를 해결하는 것이 목적이다. 오늘날 대부분의 구현에서, 멀티 플레이어 게임의 상태가 업데이트되는 빈도는 서버 측과 플레이어 측이 다를 수 있다. 또한 게임 중 플레이어에게 표시되는 내용과 해당 플레이어의 게임 플레이를 관람하는 관람객에게 보여지는 내용이 다를 수 있다. 가장 일반적으로는, 플레이어의 뷰가 업데이트되는 빈도가 해당 플레이어의 게임 플레이의 표현이 업데이트되는 빈도보다 현저히 높다. 플레이어 머신에서 게임 상태가 로컬로 업데이트되는 빈도와 관람객에게 표시되는 플레이어의 게임 플레이의 표현이 업데이트되는 빈도에 있어서 그 업데이트 빈도가 다른 이유는 업데이트 빈도를 높이려면 더 많은 리소스와 컴퓨팅 파워가 필요하기 때문이다.
본 개시에서 일 태양의 실시예에 따르면, 멀티 플레이어 게임의 매치에서 플레이어의 게임 플레이의 복제 또는 표현을 생성하는 방법은 데이터 통신 네트워크에서 리플리케이터 머신에 의해 제공되고 수행된다. 데이터 통신 네트워크는 게임 서버 및 플레이어 머신을 더 포함하고, 플레이어는 플레이어 머신에서 플레이하고, 게임은 게임 서버에서 호스팅되고, 매치는 게임 상태를 상세히 나타내는 게임 상태 데이터를 포함한다. 이 방법은 플레이어 머신으로부터, 게임 상태 데이터, 및 매치 동안 그리고 매치와 관련하여 플레이어 머신 상에서 이루어진 입력을 상세히 나타내며 게임 서버에서는 이용할 수 없는 입력 정보를 획득하는 단계를 포함한다. 상기 입력 정보는 게임 상태 데이터보다 업데이트 빈도가 높은 위치와 관련된다. 이 방법은 획득된 게임 상태 데이터에 기초하여 플레이어의 게임 플레이의 시각적 복제를 생성하는 단계를 더 포함한다.
본 개시에서 다른 태양의 실시예에 따르면, 멀티 플레이어 게임의 매치에서 플레이어의 게임 플레이의 복제를 생성하기 위한 리플리케이터 머신이 제공되고 데이터 통신 네트워크에서 동작 가능하다. 데이터 통신 네트워크는 플레이어 머신 및 게임 서버를 포함하고, 플레이어는 플레이어 머신 상에서 플레이하고, 매치는 게임 서버에서 호스팅되고, 매치는 게임 상태를 상세히 나타내는 게임 상태 데이터를 포함한다. 리플리케이터 머신(replicator machine)은 프로세싱 회로 및 메모리를 포함하고, 상기 메모리는 상기 프로세싱 회로에 의해 실행 가능한 명령들을 포함하며, 이에 의해 리플리케이터 머신은 게임 상태 데이터, 및 매치 동안에 그리고 매치와 관련하여 플레이어 머신 상에 이루어진 입력을 상세히 설명하지만 게임 서버에서는 이용할 수 없는 입력 정보를 플레이어 머신으로부터 획득하도록 동작한다. 상기 입력 정보는 게임 상태 데이터보다 업데이트 빈도가 높은 위치와 관련된다. 리플리케이터 머신은 획득된 게임 상태 데이터 및 입력 정보에 기초하여 플레이어의 게임 플레이의 시각적 복제를 생성하도록 추가로 동작한다.
다른 양태에 따르면, 컴퓨터 프로그램 및 캐리어가 또한 제공되며, 그 세부 사항은 청구범위 및 상세한 설명에 기재될 것이다.
리플리케이터 머신이 게임 상태 데이터 및 매치 중에 매치와 관련하여 플레이어 머신 상에서 이루어진 입력을 상세히 설명하고 그리고 게임 상태보다 높은 업데이트 빈도의 위치와 관련된 추가 입력 정보를 얻음으로써, 플레이어 머신에서 플레이어의 게임 플레이의 향상된 시각적 복제가 가능해진다. 예를 들어, 보다 정확하게 예를 들어 플레이어의 마우스 움직임을 표시할 수 있다. 이 해결책의 추가적인 잠재적 특징 및 이점은 아래의 상세한 설명에서 명백해질 것이다.
본 해결책에 대해 예시적인 실시예와 첨부 도면을 참조하여 보다 상세히 설명할 것이며, 여기서:
도 1a는 업데이트 빈도가 높은 게임 플레이를 개략적으로 나타낸 것이다.
도 1b는 업데이트 빈도가 낮은 게임 플레이를 개략적으로 나타낸 것이다.
도 2는 일 실시예에 따른 방법의 단계들을 개략적으로 도시한다.
도 3은 본 방법을 수행하기 위한 본 개시의 실시예에 따른 시스템을 도시한 개략적인 블록도이다.
간단히 설명하면, 본 개시는 온라인 멀티 플레이어 게임의 매치에서의 플레이어의 게임 플레이를 복제하기 위한 방법 및 시스템에 관한 것으로, 여기서 매치는 게임 서버 상에 호스팅 될 수 있고 게임의 상태를 상세히 나타내는 게임 상태 데이터를 포함한다. 이 방법은 플레이어 머신으로부터 게임 상태 데이터를 획득하는 단계, 및 게임 상태 데이터에 기초하여, 매치 중에 플레이어의 게임 플레이의 시각적 복제 또는 표현을 생성하는 단계를 포함한다.
본 개시에서의 교시는 과도한 추가 리소스 및 컴퓨팅 파워를 요구하지 않으면서 멀티 플레이어 게임에 의해 자동으로 생성되는 것보다 플레이어의 게임 플레이의 더 상세하고 정확한 복제 및/또는 표현을 생성하기 위해 주로 사용된다. 이는 주로 플레이어 머신에 관계되지만, 게임 서버와도 관련이 있다. 이러한 복제 및/또는 표현은 일반적으로 플레이어의 게임 플레이를 나타내는 비디오 스트림의 형태로 관람객에게 보여 질 수 있다.
"게임 상태 데이터"라는 용어는 일반적으로 온라인 게임에서 매치의 상태를 나타내는 데이터를 의미한다. 매치에 대한 모든 게임 상태 데이터가 확보되면, 해당 경기 상태 데이터를 사용하여 해당 매치의 이벤트들을 재생성할 수 있다. 이러한 게임 상태 데이터는 게임의 매치에 있는 각 플레이어의 플레이어 머신에 게임 상태 데이터를 전송하는 것을 담당하는 게임 서버 상에서, 그리고 각 플레이어 머신 상에서 이용 가능하다. 게임 서버와 플레이어 머신에서 게임 상태 데이터가 이용 가능하지만, 특히 플레이어 머신에서 플레이어에 의해 이루어진 입력에 관한 데이터에 있어서는 이용 가능한 데이터의 양에 차이가 있을 수 있다. 일반적으로, 게임 서버는 플레이어 머신의 플레이어에 의한 모든 입력에 대한 상태 데이터를 포함하지 않고 단지 일부만 포함하지만, 플레이어의 입력에 기초하여 업데이트되어야 하는 게임 상태 정보에 관한 데이터를 포함한다. 이해되는 바와 같이, 게임 내의 각 플레이어는 각자의 플레이어 머신에서 입력 정보를 생성할 것이고, 각 플레이어 머신은 일반적으로 각각의 플레이어 머신 상에서의 플레이어의 입력에 관해 게임 서버에서 이용 가능한 것보다 더 상세한 입력 정보를 포함할 것이다. 일부 실시예에서, 플레이어 머신 상에서 플레이어에 의해 이루어진 입력은 각각의 플레이어 머신의 입력 정보로 간주되는데, 이는 플레이어 머신의 게임 상태 데이터와 상이할 수 있다.
본 방법은 플레이어 머신으로부터의 데이터를 사용하여 플레이어 머신 상의 플레이어의 게임 플레이를 재생성한다. 일부 실시예에서, 본 방법은 게임 서버가 아닌 플레이어 머신으로부터의 게임 상태 데이터만을 사용하는 것을 포함한다. 일부 실시예에서, 본 방법은 생성된 복제 또는 표현의 정확도를 추가로 증가시키기 위해 플레이어 머신으로부터 입력 정보를 획득하는 단계를 더 포함한다.
전술한 게임 상태 데이터는 많은 다른 방식으로 표현될 수 있다. 일부 실시예에서, 플레이어 머신으로부터 획득된 게임 상태 데이터는 게임 상태를 완전히 정확하게 나타내면서 가능한 적은 데이터를 차지하는 방식으로 표현된다. 일부 실시예들에서, 모든 게임 상태 데이터는 가능한 적은 데이터를 차지하는 방식으로 표현된다.
온라인 게임의 매치에서 플레이어가 게임 내 캐릭터를 왼쪽으로 이동시키는 버튼을 누르면, 그 버튼의 누름은 플레이어 머신의 입력 정보가 된다. 이러한 데이터는 게임 서버가 아닌 플레이어 머신에서만 이용 가능하다. 또한, 게임 상태를 나타내는 일부 데이터는 대응하는 게임 내 캐릭터의 위치가 변경되었음을 반영하기 위해 입력 정보에 기초하여 업데이트 될 필요가 있을 것이다. 이러한 게임 상태 데이터는 게임 서버가 대응하는 게임 상태 정보를 업데이트할 수 있고, 그로 인해 게임 서버 및 플레이어 머신 모두에서 게임 상태 정보가 이용 가능하도록 플레이어 머신에서 게임 서버로 전송될 필요가 있을 것이다. 일부 실시예에서, 게임 상태 데이터는 비시각적 데이터이고, 즉 플레이어 게임 플레이의 자동 생성된 표현과 다르며, 게임 서버 및 플레이어 머신과 같은 관련 엔티티 사이에서 비시각적으로 전송될 수 있는 데이터이다. 일부 실시예에서, 게임 상태 데이터는 비-비디오(non-video) 데이터를 포함한다. 일부 실시예에서, 게임 상태 데이터는 비시각적 데이터만 포함한다. 일부 실시예들에서, 게임 상태 데이터는 비-비디오 데이터만을 포함한다.
플레이어 머신의 게임 상태 데이터는 플레이어가 관련 입력 장치와 상호 작용하는 즉시 플레이어 머신에서 로컬로 게임 상태 정보를 업데이트하는데 사용되고, 이어서 게임 서버로 전송된다. 그러면 게임 서버는 대응하는 관련 게임 상태 데이터를 서버 측에서 업데이트할 것이고, 여기서 게임 상태 데이터는 온라인 멀티 플레이어 게임에서 경기되고 있는 매치의 현재 상태를 나타내는 데이터이다. 대부분의 실시예에서, 이러한 데이터는 컴퓨터 코드의 필드로 표현되며, 이는 플레이어 입력에 대한 응답으로 플레이어 머신에서 온라인 멀티 플레이어 게임에 의해 자동으로 생성 및 업데이트된다. 일부 실시예들에서, 플레이어 머신의 입력 정보는 플레이어 머신으로부터 게임 서버로 전송되지 않는다.
도 1a는 플레이어 머신의 스크린(10)에서 마우스 움직임(100)을 나타내는 예를 도시하며, 여기서 마우스 움직임은 플레이어 머신에서 수행되는 입력의 일 유형이고, 마우스 움직임은 도면에서 점선(100)으로 표시되어 있다. 플레이어의 게임 플레이를 나타내는 게임 상태 데이터의 업데이트 빈도가 낮은 솔루션에서 이용 가능한 위치들을 나타내는 게임 상태 데이터는 위치 110, 120, 130으로 표시된다. 업데이트 빈도가 높은 솔루션에서 표현된 추가 위치들은 원(150)으로 표시되어 있다. 도 1에서 원의 개수가 많아서 모든 원이 참조 번호를 갖지는 않지만, 각각의 원은 업데이트 빈도가 더 높은 실시예에서 표현된 마우스 위치를 나타낸다. 도 1에 도시된 예에서, 업데이트 빈도가 높은 실시예에서 마우스 위치(110, 120, 130, 150)는 업데이트 빈도가 낮은 실시예에서 마우스 위치(110, 120, 130)의 10 배이다.
업데이트 빈도가 낮은 실시예에서 이용 가능한 마우스 위치(110, 120, 130)에만 기초하여 표현이 이루어진다면, 그 표현은 플레이어가 마우스 움직임을 수행할 때 실제로 본 것을 정확히 나타내지 않을 것이다. 도 1b는 업데이트 빈도가 낮은 표현의 일 예를 도시하는데, 여기서 점선(200)은 관람객이 보는 마우스 움직임(A)을 나타낸다. 도 1a에 제시된 예에 있어서, 도 1a에서 플레이어의 마우스 움직임의 표현은 위치(110)에서 시작하여 중간 위치(120)를 지나면서 위치(130)에서 종료된다. 도 1b에서, 제 1 위치(210)는 시작 위치로 보이고, 위치(230)는 종료 위치로 보이며, 마우스 움직임은 중간 위치(220)를 지나간다. 일부 실시예에서, 플레이어 머신으로부터의 입력 정보는 특정 시점에서의 마우스 움직임의 위치에 관한 정보를 포함할 것이다. 일부 실시예들에서, 입력 정보는 특정 위치 이전 및/또는 이후의 마우스 움직임의 방향을 나타내는 방향 정보를 더 포함한다.
알 수 있는 바와 같이, 플레이어의 마우스 움직임의 결과적인 시각적 표현은 도 1a 및 도 1b에서 매우 다르다. 도 1b에 도시된 것은 플레이어가 마우스를 단지 오른쪽으로만 움직인 것처럼 보이기 때문에 플레이어가 마우스를 어떻게 움직였는지에 대해 부정확한 그림을 그리므로 관람객을 혼란스럽게 할 수도 있다. 그러나, 도 1a의 보다 상세한 버전에 도시된 바와 같이, 이는 사실과 거리가 멀고, 플레이어는 실제로 스크린의 대부분을 가로질러 마우스를 움직였고, 실제로는 좌측 상단 코너로 움직였다가 우측으로 다시 이동했다.
이러한 데이터는 플레이어가 관련 입력 장치와 상호 작용하는 즉시 플레이어 머신 상에서 게임 상태 데이터를 로컬로 업데이트하는 데 사용되고, 이어서 게임 서버로 전송된다. 게임 서버는 그 대응하는 관련 게임 상태 데이터 정보를 서버 측에서 업데이트할 것이고, 여기서 게임 상태 데이터는 온라인 멀티 플레이어 게임에서 경기되는 매치의 현재 상태를 나타내는 정보이다. 대부분의 실시예에서, 이러한 데이터는 컴퓨터 코드의 필드로 표현되며, 이는 플레이어 입력에 대한 응답으로 플레이어 머신에서 온라인 멀티 플레이어 게임에 의해 자동으로 생성 및 업데이트된다.
도 1a에서와 같이 플레이어 머신으로부터의 게임 상태 데이터 및/또는 입력 정보를 함께 사용하는 경우와 비교하여, 도 1b에서와 같이 게임 서버의 게임 상태 데이터만을 사용할 때는 게임 플레이의 상이한 표현이 얻어지는 한가지 이유는, 일부 실시예에서 게임 서버의 게임 상태 데이터는 게임 상태 정보의 업데이트를 포함할 필요만 있을 뿐, 게임 상태 정보의 업데이트를 필요하게 하였거나 또는 생성시킨 것에 관한 정보는 필요하지 않다는 것이다. 예를 들어, 도 1에서, 업데이트 빈도가 낮은 실시예에서 이용 가능한 마우스 위치(110, 120, 130)는 플레이어가 게임 서버의 게임 상태 정보의 업데이트를 필요하게 만드는 동작을 수행한 위치를 나타낼 수 있다(예를 들어, 플레이어가 자신의 무기를 위치 110에서 발사하고, 그 다음 위치 120에서 발사하고, 그 다음 위치 130에서 발사했을 수 있다). 총의 발사는 게임 상태 데이터의 업데이트를 필요하게 하는 정보, 예를 들어 플레이어의 무기에 남아있는 탄약을 구체적으로 묘사하는 데이터를 구성할 수 있다. 그러나, 위치(110, 120 및 130)에 도달하기 위해 플레이어에 의해 수행된 특정 움직임에 관한 정보는 게임 서버가 알아야 할 필요는 없으나, 반면 플레이어 머신은 플레이어의 입력 정보에 대한 정보를 받아야 하고, 따라서 이를 리플리케이터 머신에 제공할 수도 있다.
본 해결책은 자동 생성된 복제보다 더 상세하게 플레이어 머신에 표시되는 것을 묘사하는 복제(replication)를 생성하는 방법을 제공하다. 이것은 플레이어 머신에 표시된 내용을 실제로 전송하기 보다는 플레이어 머신에 표시된 내용을 재생성하기 위해서, 플레이어 머신으로부터의 게임 상태 데이터, 및 잠재적으로는 플레이어 머신의 입력 정보를 사용함으로써 가능해진다. 일부 실시예에서, 복제를 생성하기 위해 사용되는 플레이어 머신으로부터의 입력 정보는 게임의 상태와 관련된 플레이어 머신 상에서 플레이어에 의해 생성된 임의의 데이터이며, 이러한 데이터는 플레이어로부터의 입력에 기초하여 게임에 의해 자동으로 생성된다. 게임 상태와 관련된 데이터, 즉 게임 상태 데이터는 일반적으로 플레이어 머신에서 게임 서버로 전송되고 다시 게임 서버에서 게임 중에 있는 각각의 다른 플레이어로 전송되어 각 플레이어의 해당 플레이어 머신 상의 게임 상태를 업데이트하게 하는 임의의 데이터이다. 일부 실시예에서, 이러한 데이터는 플레이어 입력에 기초하고 자동으로 생성된다. 이해되는 바와 같이, 게임 안의 각 플레이어는 입력 정보 및 게임 상태 데이터를 생성할 것이고, 각각의 다른 플레이어는 다른 입력 정보 및 게임 상태 데이터를 생성할 것이다.
도 2는 데이터 통신 네트워크에서 수행되는, 플레이어의 게임 플레이를 복제하는 방법의 실시예의 방법 단계들을 도시한다. 데이터 통신 네트워크는 온라인 멀티 플레이어 게임의 매치를 호스팅하는 게임 서버와 적어도 하나의 플레이어 머신을 포함한다. 리플리케이터 머신은 플레이어 머신에 연결되어 있고, 플레이어 머신은 게임 서버에 연결되어 있다. 일부 실시예에서, 리플리케이터 머신은 게임 서버에 직접 연결되지 않으며, 이는 게임 서버와 리플리케이터 머신 사이에 활성화된 연결이 없다는 것을 의미한다. 대부분의 실시예에서, 네트워크는 복수의 플레이어 머신을 포함하고, 각각의 플레이어 머신은 적어도 한 명의 각 플레이어와 관련된다. 일부 실시예들에서, 데이터 통신 네트워크는 게임에 참여하는 각각의 플레이어를 위한 하나의 플레이어 머신을 포함한다. 플레이어 머신은 본 발명이 관련된 온라인 멀티 플레이어 게임을 실행할 수 있는 임의의 장치, 예를 들어 컴퓨터일 수 있다. 본 방법은 데이터 통신 네트워크에서 리플리케이터 머신에 의해 수행될 수 있으며, 여기서 리플리케이터 머신은 플레이어 머신과는 다르다. 일부 실시예에서, 리플리케이터 머신은 플레이어 머신과 다른 장치에 있다. 일부 실시예에서, 리플리케이터 머신은 플레이어 머신과 동일한 장치에 있지만, 예를 들어 프로세서 코어 및 그래픽 리소스의 면에서 플레이어 머신과는 다른 리소스를 사용한다. 일부 실시예에서, 리플리케이터 머신은 플레이어 머신과 게임 서버 모두와 다른 장치에 있다. 일부 실시예들에서, 본 방법은 리플리케이터 머신과 각각의 플레이어 머신 사이, 그리고 각각의 플레이어 머신과 게임 서버 사이의 활성 연결을 필요로한다. 일부 실시예에서, 리플리케이터 머신은 데이터 통신 네트워크의 클라우드 환경에서 호스팅되는 클라우드 솔루션이다.
예시적인 실시예에서, 온라인 게임의 매치는 플레이 되고 있는 라이브 게임이고, 플레이어 머신은 게임 서버에 연결되고, 그리고 리플리케이터 머신은 플레이어 머신에 연결된다. 일부 실시예에서, 리플리케이터 머신은 게임 서버에 직접 연결되지 않고, 이러한 실시예에서는 게임 서버로부터 데이터를 얻을 수 없다. 그러나, 플레이어 머신이 게임 서버에 연결되어 있기 때문에, 이는 그러한 실시예의 리플리케이터 머신이 게임 서버 자체에 직접 연결되지 않더라도, 플레이어 머신이 게임 서버에서 데이터를 가져오는 한, 여전히 플레이어 머신을 통해 게임 서버로부터의 데이터를 얻을 수 있다는 것을 의미한다. 일부 실시예에서, 매치 중에 플레이어에 의해 이루어진 입력을 포함하는 입력 정보와 같이, 플레이어 머신에 관련된 특정 정보는 게임 서버가 아닌 플레이어 머신에서만 이용 가능하지만, 게임의 상태를 나타내는 게임 상태 정보는 게임 서버와 플레이어 컴퓨터 모두에서 이용 가능하다.
일부 실시예에서, 리플리케이터 머신은 플레이어 머신뿐만 아니라 게임 서버에 연결된다. 그러한 실시예들에서, 리플리케이터 머신은 게임 서버로부터 일부 정보를 그리고 플레이어 머신으로부터 일부 정보를 획득할 수 있다. 일부 실시예들에서, 플레이어 머신으로부터 획득된 정보는 매치 동안 플레이어 머신 상에 이루어진 입력 정보를 상세히 설명하는 입력 정보와 같이, 게임 서버 상에서는 이용 가능하지 않은 게임의 매치와 관련된 정보이다.
일부 실시예에서, 본 방법은 플레이 되고 있는 라이브 게임에서 플레이어 게임 플레이의 복제를 생성하는 데 사용될 수 있고, 이어서 진행 중인 게임에서 플레이어 게임 플레이의 복제를 연속적으로 생성하는 단계를 포함할 수 있다. 일부 실시예들에서, 본 방법은 이미 플레이 된 멀티 플레이어 게임의 매치를 분석(즉 매치의 다시 보기)하는 단계, 및 그 매치에서 플레이어 게임 플레이의 복제를 생성하되, 다시 보기에서는 이용할 수 없는 플레이어 머신의 게임 상태 데이터를 사용하기 때문에 더 자세히 플레이어 게임 플레이의 복제를 생성하는 단계를 포함한다. 본 방법이 이미 플레이 된 매치에 적용되는 실시예에서, 복제의 기초가 되는 데이터의 양은 전형적으로 사전에 정해진다.
본 방법은 플레이어 머신으로부터 게임 상태 데이터를 획득하는 단계(302), 그리고 그 획득된 게임 상태 데이터에 기초하여, 매치 동안의 플레이어 게임 플레이의 복제 또는 표현을 생성하는 단계를 포함한다. 일부 실시예에서, 플레이어 머신으로부터 게임 상태 데이터를 얻는 단계(302)는 플레이어 머신 상의 모든 게임 상태 데이터를 얻는 것을 포함하는데, 이는 플레이어 입력에 의해 생성된 임의의 게임 상태 데이터를 포함한다. 일부 실시예들에서, 본 방법은 플레이어 머신으로부터 입력 정보를 획득하는 단계를 더 포함하고, 이 입력 정보는 매치에서 플레이어 머신 상에서 이루어진 입력들을 포함한다. 일부 실시예에서, 입력 정보는 매치 중에 플레이어 머신에서 이루어진 모든 입력을 포함한다. 본 방법은 획득된 게임 상태 데이터에 기초하여 플레이어의 게임 플레이의 복제 또는 표현을 생성하는 단계(306)를 더 포함한다. 플레이어 머신의 입력 정보를 포함하는 실시예에서, 복제 또는 표현을 생성하는 단계(306)는 플레이어 머신의 입력 정보에 더 기초할 수 있다.
일부 실시예들에서, 본 방법은 게임 서버로부터 게임 상태 데이터를 획득하는 단계(304)를 더 포함하고, 상기 게임 플레이의 복제 또는 표현의 생성(306)은 게임 서버로부터 획득된 게임 상태 데이터뿐만 아니라 플레이어 머신으로부터 획득된 게임 상태 데이터에 더 기초한다. 일부 실시예에서, 플레이어의 게임 플레이의 복제를 생성하는 데 필요한 대부분의 게임 상태 데이터는 게임 서버에서 이용 가능하고, 이러한 실시예에서, 플레이어 머신으로부터 게임 상태 데이터를 얻는 단계(302)는 게임 서버에서 이용 가능하지 않은 플레이어 머신로부터의 게임 상태 데이터를 얻는 것만을 포함할 수 있다. 일부 실시예들에서, 게임 서버 상에서 이용 가능한 모든 게임 상태 데이터가 획득될 수 있고, 그리고 플레이어 머신으로부터 모든 게임 상태 데이터가 획득될 수 있으며, 여기서 서버의 게임 상태 데이터와 플레이어 머신의 게임 상태 데이터 사이에 충돌하는 정보가 있는 경우, 플레이어 머신으로부터의 게임 상태 데이터가 사용될 수 있다.
정확한 복제를 생성하는 데 필요한 데이터의 많은 부분은 서버 상의 게임 상태 데이터로 이용 가능한 것이 일반적이며, 이 경우 서버의 게임 상태 데이터가 이용 가능할 때는 이를 사용하고, 플레이어 머신의 게임 상태 데이터가 나타내는 정보를 게임 서버에서 이용하 수 없는 경우에만 플레이어 머신의 게임 상태 데이터를 사용하는 것이 더 유리할 수 있다.
본 방법은 플레이어의 게임 플레이의 복제를 포함하는 비디오 스트림을 생성하는 단계(308)를 더 포함할 수 있다. 일부 실시예에서, 이러한 비디오 스트림은 온라인 멀티 플레이어 게임의 게임 내 클라이언트를 위한 비디오 스트림일 수 있다.
비디오 스트림이 생성되는 실시예에서, 본 방법은 비디오 스트림을 관련 엔티티 및/또는 장치로 전송하는 단계(310)를 더 포함할 수 있다. 이러한 엔티티 및/또는 장치는 게임 내 클라이언트일 수 있고, 또는 비디오 스트림을 수신할 수 있는 임의의 다른 장치일 수 있다.
여기서 기술된 방법(들) 및 동작은 이들을 수행할 수 있는 임의의 장치, 예를 들어 도 3에 예시된 바와 같이, 하나 이상의 장치를 포함하고 처리 회로(301), 예를 들어, 하나 이상의 프로세서, 및 예를 들어 메모리(302)를 포함하는 하나 이상의 장치를 포함하는 시스템(300)에 의해 수행될 수 있다. 따라서, 상기 장치(들)는 상기 방법(들) 및 동작들을 수행하도록 구성된 데이터 처리 장치(들) 또는 컴퓨터(들)에 대응할 수 있다. 실현되어야 하는 시스템(300) 또는 그 장치(들)는 전형적으로 예를 들어, 시스템(300) 내에서 및/또는 시스템으로 및/또는 시스템으로부터의 통신을 수행하는 데 관여하도록 구성된 입력/출력(I/O) 수단 또는 회로, 그리고 예를 들어 상기 시스템이 포함되거나 및/또는 그와 함께 동작하도록 구성되고, 그리고 일반적으로 온라인 어플리케이션이 함께 사용되는 것과 동일한 네트워크인 네트워크 내에서 정보를 전송 및/또는 수신하는 데에 관여하는 다른 유닛 및/또는 장치들을 포함한다. 일부 실시예에서, 본 명세서의 방법을 수행하는 장치 또는 장치들은 일 그룹의 네트워크 노드일 수 있으며, 이 방법을 수행하기 위한 기능은 네트워크의 서로 다른 물리적 또는 가상의 노드에 걸쳐 분산된다. 다시 말해, 시스템(300)은 클라우드 솔루션일 수 있고, 즉 시스템(300)은 데이터 통신 네트워크에 분산될 수 있는 클라우드 컴퓨팅 리소스로 배치될 수 있다.
상기 시스템(300) 및/또는 상기 처리 회로(301)에서 구동되고, 즉 그에 의해 실행되어 시스템이 상기 방법(들) 및 동작을 수행하게 하는 컴퓨터 판독 가능 코드 및/또는 컴퓨터 판독 가능 코드 수단을 포함하는 컴퓨터 프로그램이 있을 수 있다. 다시 말해서, 코드가 실행될 때, 시스템은 상기 방법(들) 및 동작을 수행하게 한다. 컴퓨터 프로그램은 메모리(302) 내에 로딩되거나 및/또는 저장되는 것과 같이 메모리 내에 포함될 수 있다. 컴퓨터 프로그램을 포함하는 캐리어가 더 있을 수 있고, 이 캐리어는 전자 신호, 광 신호, 무선 신호 또는 컴퓨터 판독 가능 저장 매체 중 하나 일 수 있다. 캐리어는 예를 들어 컴퓨터 프로그램이 메모리(302)에 로딩될 수 있게 하기 위해 컴퓨터 프로그램의 중간 저장 및/또는 운송을 위한 것일 수 있다.
상기 설명은 복수의 특수한 점들을 포함하지만, 이들은 본 개시에서 기술한 개념의 범위를 제한하는 것이 아니라 단지 기술한 개념의 일부 예시적인 실시예의 설명을 제공하는 것으로 해석되어야 한다. 여기서 기술한 개념의 범위는 당업자에게 명백한 다른 실시예들을 전부 포함하며, 여기서 기술한 개념의 범위가 그에 따라 제한되어서는 아니 된다. 어느 요소를 단수로 언급한 것은 명시적으로 언급되지 않는 한, "하나만"을 의미하는 것이 아니라 "하나 이상"을 의미하는 것이다. 당해 분야에서 통상의 기술을 가진 자에게 알려진 상기의 실시예들의 요소에 대한 모든 구조적 및 기능적 등가물은 원용에 의해 본 개시에 통합되고 그로 인해 본 개시에 포함되는 것이다. 또한, 장치 또는 방법이 여기에 포함되기 위해서 본 개시에서 기술한 개념에 의해 해결하고자 하는 각각의 모든 문제를 해결할 필요는 없다. 예시적인 도면에서, 파선은 일반적으로 파선 내의 특징이 선택적이라는 것을 나타낸다.

Claims (12)

  1. 플레이어 머신과 게임 서버를 포함하는 데이터 통신 네트워크에서 리플리케이터 머신(replicator machine)에 의해 수행되며 멀티 플레이어 게임의 매치에서의 플레이어의 게임 플레이의 복제를 생성하기 위한 방법으로서, 플레이어는 플레이어 머신 상에서 경기를 하고, 매치는 게임 서버 상에 호스팅되고, 매치는 게임의 상태를 상세히 나타내는 게임 상태 데이터를 포함하며, 상기 방법은:
    플레이어 머신으로부터, 게임 상태 데이터, 및 매치 중에 그리고 매치와 관련하여 플레이어 머신 상에서 이루어지는 입력을 상세히 나타내지만 게임 서버 상에서는 이용할 수 없는 입력 정보를 획득하는 단계(302) - 상기 입력 정보는 게임 상태 데이터에서보다 업데이트 주기가 더 높은 위치들과 관련이 되어 있음; 및
    획득된 게임 상태 데이터 및 입력 정보에 기초하여, 플레이어의 게임 플레이의 시각적 복제를 생성하는 단계(306)를 포함하는, 방법.
  2. 제 1 항에 있어서, 상기 게임 상태 데이터는 비시각적 게임 상태 데이터만을 포함하는, 방법.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 입력 정보는 특정 시점에서의 마우스 움직임의 위치에 관한 정보를 포함하는, 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 입력 정보는 특정 위치 전 및/또는 후에 마우스 이동 방향을 나타내는 방향 정보를 더 포함하는, 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    게임 서버로부터 게임 상태 데이터를 획득하는 단계(305)를 더 포함하고, 상기 시각적 복제를 생성하는 단계는 플레이어 머신과 서버 모두로부터의 게임 상태 데이터에 더 기초하는, 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 상기 플레이어 머신으로부터 게임 상태 데이터를 얻는 단계는 플레이어 머신 상에서 이용 가능한 모든 게임 상태 데이터를 얻는 단계를 포함하는, 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    플레이어의 게임 플레이의 복제를 포함하는 비디오 스트림을 생성하는 단계(308)를 더 포함하는, 방법.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    플레이어 머신이 게임 서버에 연결되고,
    리플리케이터 머신이 플레이어 머신에 연결되고, 그리고
    상기 리플리케이터 머신은 게임 서버에 연결되어 있지 않은, 방법.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서, 상기 리플리케이터 머신이 상기 데이터 통신 네트워크에 분산된 클라우드 컴퓨팅 리소스로서 배치되는, 방법.
  10. 플레이어 머신 및 게임 서버를 포함하는 데이터 통신 네트워크에서 동작 가능하며, 멀티 플레이어 게임의 매치에서 플레이어의 게임 플레이의 복제를 생성하기 위한 리플리케이터 머신으로서, 플레이어는 플레이어 머신에서 경기를 하고, 매치는 게임 서버에서 호스팅되며, 매치는 게임의 상태를 상세히 나타내는 게임 상태 데이터를 포함하고, 상기 리플리케이터 머신은:
    처리 회로; 및
    상기 처리 회로에 의해 실행 가능한 명령들을 포함하는 메모리를 포함하고, 상기 시스템은:
    플레이어 머신으로부터, 게임 상태 데이터, 및 매치 중에 그리고 매치와 관련되어 플레이어 머신 상에서 이루어지는 입력을 상세히 나타내지만 게임 서버 상에서는 이용할 수 없는 입력 정보를 획득하고 - 상기 입력 정보는 게임 상태 데이터에서보다 업데이트 주기가 더 높은 위치들과 관련이 되어 있음; 그리고
    획득된 게임 상태 데이터 및 입력 정보에 기초하여, 플레이어의 게임 플레이의 시각적 복제를 생성하도록 동작 가능한, 리플리케이터 머신.
  11. 제 10 항에 따른 리플리케이터 머신에서 실행되는 컴퓨터 판독 가능 코드 수단을 포함하는 컴퓨터 프로그램으로서, 상기 컴퓨터 판독 가능 코드 수단이 시스템에서 실행될 때 리플리케이터 머신이 다음의 단계를 수행하도록 하는, 컴퓨터 프로그램:
    플레이어 머신으로부터, 게임 상태 데이터, 및 매치 중에 그리고 매치와 관련하여 플레이어 머신 상에서 이루어지는 입력을 상세히 나타내지만 게임 서버 상에서는 이용할 수 없는 입력 정보를 획득하는 단계 - 상기 입력 정보는 게임 상태 데이터에서보다 업데이트 주기가 더 높은 위치들과 관련이 되어 있음; 및
    획득된 게임 상태 데이터 및 입력 정보에 기초하여, 플레이어의 게임 플레이의 시각적 복제를 생성하는 단계.
  12. 제 11 항에 따른 컴퓨터 프로그램을 포함하는 캐리어로서, 상기 캐리어는 전자 신호, 광 신호, 무선 신호 또는 컴퓨터 판독 가능 저장 매체 중 하나인, 캐리어.
KR1020200009520A 2019-01-25 2020-01-23 온라인 멀티 플레이어 게임에서 플레이어의 게임 플레이를 복제하기 위한 방법 및 시스템 KR20200092899A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE1950092-5 2019-01-25
SE1950092A SE1950092A1 (en) 2019-01-25 2019-01-25 Methods and systems for replicating gameplay of a player in an online multiplayer game

Publications (1)

Publication Number Publication Date
KR20200092899A true KR20200092899A (ko) 2020-08-04

Family

ID=72049019

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200009520A KR20200092899A (ko) 2019-01-25 2020-01-23 온라인 멀티 플레이어 게임에서 플레이어의 게임 플레이를 복제하기 위한 방법 및 시스템

Country Status (2)

Country Link
KR (1) KR20200092899A (ko)
SE (1) SE1950092A1 (ko)

Also Published As

Publication number Publication date
SE1950092A1 (en) 2020-07-26

Similar Documents

Publication Publication Date Title
US20210146262A1 (en) Interactive gameplay playback system
JP6310073B2 (ja) 描画システム、制御方法、及び記憶媒体
EP3807766B1 (en) Shadow tracking of real-time interactive simulations for complex system analysis
US20230321532A1 (en) Game picture display methods and apparatuses, device and storage medium
CN111744177B (zh) 游戏数据处理方法和装置、存储介质和电子设备
CN111228824A (zh) 游戏观战方法、装置、计算机可读介质及电子设备
CN104998412A (zh) 一种单机游戏实现方法及装置
JP2016116638A (ja) ゲーム処理システム、ゲーム処理方法、およびゲーム処理プログラム
JP6379107B2 (ja) 情報処理装置並びにその制御方法、及びプログラム
US20150156278A1 (en) Methods and systems for bandwidth-efficient remote procedure calls
US20240187251A1 (en) Interactive videogame verification using cryptographically protected transaction records
CA2918725C (en) Information processing apparatus, control method, program, and recording medium
CN114073100B (zh) 数字内容的映射视图
KR20200092899A (ko) 온라인 멀티 플레이어 게임에서 플레이어의 게임 플레이를 복제하기 위한 방법 및 시스템
CN111921193A (zh) 游戏数据处理方法及相关设备
CN115779441A (zh) 增益虚拟物品发送方法、装置、移动终端和存储介质
JP2018200675A (ja) データ生成装置およびアプリケーション実行装置
CN111773680B (zh) 虚拟角色的位置校验方法、装置、电子设备和存储介质
CN109381859B (zh) 用于主端游戏机中的控制电路
Mishra et al. Comparative Study of Cloud and Non-Cloud Gaming Platform: Apercu
JP6314274B1 (ja) データ生成装置およびアプリケーション実行装置
JP2017056188A (ja) 情報処理システム及び情報処理プログラム
CN116920366A (zh) 数据处理方法、装置、计算机程序产品、设备及存储介质
CN116832446A (zh) 虚拟角色控制方法、装置及电子设备
CN118071896A (zh) 动画帧处理方法、装置、电子设备及存储介质