KR102325311B1 - 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법 및 장치, 및 저장 매체 - Google Patents

게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법 및 장치, 및 저장 매체 Download PDF

Info

Publication number
KR102325311B1
KR102325311B1 KR1020207001126A KR20207001126A KR102325311B1 KR 102325311 B1 KR102325311 B1 KR 102325311B1 KR 1020207001126 A KR1020207001126 A KR 1020207001126A KR 20207001126 A KR20207001126 A KR 20207001126A KR 102325311 B1 KR102325311 B1 KR 102325311B1
Authority
KR
South Korea
Prior art keywords
game
client
content
round
manipulation
Prior art date
Application number
KR1020207001126A
Other languages
English (en)
Other versions
KR20200018641A (ko
Inventor
룽화 쿵
창쑹 류
Original Assignee
텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 filed Critical 텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Publication of KR20200018641A publication Critical patent/KR20200018641A/ko
Application granted granted Critical
Publication of KR102325311B1 publication Critical patent/KR102325311B1/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/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • 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
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • 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/493Resuming a game, e.g. after pausing, malfunction or power failure
    • 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/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5372Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for tagging characters, objects or locations in the game scene, e.g. displaying a circle under the character controlled by the player
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72427User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting games or graphical animations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Optics & Photonics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법 및 장치, 및 저장 매체가 개시된다. 이러한 방법은, 게임 애플리케이션의 제1 클라이언트가 게임 애플리케이션의 게임을 실행할 때, 제1 클라이언트 상의 제1 조작 명령어, 제1 클라이언트에 로그인하는데 사용되는 제1 계정 번호, 제1 계정 번호 및 제2 계정 번호를 포함하는 게임에 참가하는 계정 번호들을 검출하는 단계; 및 제1 조작 명령어에 따라, 게임에서의 제1 계정 번호에 대응하는 제1 조작 객체에 의해 실행되는, 제1 조작 명령어에 대응하는, 제1 조작 객체를 결정하는 단계; 제1 조작 객체가 제1 조작을 실행할 때 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠를 결정하는 단계, 및 제1 콘텐츠와 동일한 시간에 디스플레이될 필요가 있는 제2 콘텐츠를 취득하는 단계- 제2 콘텐츠는 게임에서의 제2 계정 번호의 제2 조작 객체가 제2 조작을 실행할 때 제2 클라이언트 상에 디스플레이될 필요가 있는 콘텐츠임 -; 및 제1 클라이언트 상에서 제1 콘텐츠 및 제2 콘텐츠를 동시에 디스플레이하는 단계를 포함한다.

Description

게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법 및 장치, 및 저장 매체
<관련 출원>
본 출원은 2017년 7월 24일(월요일)자로 중국 특허청에 출원되고 발명의 명칭이 "METHOD AND APPARATUS FOR SYNCHRONOUSLY DISPLAYING GAME CONTENT"인 중국 특허 출원 제201710610002.6호에 대한 우선권을 주장하며, 이는 그 전체가 본 명세서에 참조로 원용된다.
<기술의 분야>
본 출원은 인터넷 분야에, 그리고 구체적으로는, 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법 및 장치 및 저장 매체에 관련된다.
사람들은 멀티미디어 기술의 개발 및 무선 네트워크들의 대중화와 함께 엔터테인먼트의 점점 더 많은 선택들과 직면한다. 예를 들어, 사람들은 핸드헬드 미디어 디바이스들로 온라인으로 게임을 플레이한다. 불릿 헬 게임들, 어드벤처 게임들, 시뮬레이션 게임들, 롤-플레잉 게임들, 캐주얼 게임들과 같은 다양한 타입들의 게임들이 존재한다.
대부분의 타입들의 게임들은 동일한 시간에 다수의 플레이어들에 의해 온라인으로 플레이될 수 있다. 그러나, 불릿 헬 게임들은 독립형 게임들이고 다수의 플레이어들에 의해 온라인으로 플레이될 수 없다.
본 출원의 실시예들은 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법 및 장치 및 저장 매체를 제공한다.
본 출원의 실시예들의 양태에 따르면, 단말 디바이스에 적용되는, 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법이 제공되고, 이는,
게임 애플리케이션의 제1 클라이언트 상에서, 게임 애플리케이션의 게임의 라운드가 제1 클라이언트 상에서 실행되는 경우에, 제1 조작 명령어를 검출하는 단계- 제1 클라이언트 상에서 제1 계정이 로그인되고, 게임의 라운드에 참가하는 계정들은 제1 계정 및 제2 계정을 포함하고, 제2 계정은 게임 애플리케이션의 제2 클라이언트 상에서의 로그인을 위해 구성됨 -; 제1 조작 명령어에 따라, 제1 조작 명령어에 대응하는 그리고 게임의 라운드에서 제1 계정에 대응하는 제1 조작 객체에 의해 수행되는 제1 조작을 결정하는 단계; 제1 조작 객체가 제1 조작을 수행하는 경우에 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠를 결정하는 단계, 및 제1 콘텐츠와 동시에 디스플레이될 제2 콘텐츠를 획득하는 단계- 제2 콘텐츠는 게임의 라운드에서 제2 계정에 대응하는 제2 조작 객체가 제2 조작을 수행하는 경우에 제2 클라이언트 상에 디스플레이될 필요가 있는 콘텐츠임 -; 및 제1 클라이언트 상에서 제1 콘텐츠 및 제2 콘텐츠를 동시에 디스플레이하는 단계를 포함한다.
본 출원의 실시예들의 다른 양태에 따르면, 프로세서 및 이러한 프로세서에 접속되는 메모리를 포함하는, 게임 콘텐츠를 동기식으로 디스플레이하기 위한 장치가 추가로 제공되고, 이러한 메모리는 머신 판독가능 명령어 유닛을 저장하고, 이러한 머신 판독가능 명령어 유닛은,
게임 애플리케이션의 제1 클라이언트 상에서, 게임 애플리케이션의 게임의 라운드가 제1 클라이언트 상에서 실행되는 경우에, 제1 조작 명령어를 검출하도록 구성되는 검출 유닛- 제1 클라이언트 상에서 제1 계정이 로그인되고, 게임의 라운드에 참가하는 계정들은 제1 계정 및 제2 계정을 포함하고, 제2 계정은 게임 애플리케이션의 제2 클라이언트 상에서의 로그인을 위해 구성됨 -;
제1 조작 명령어에 따라, 제1 조작 명령어에 대응하는 그리고 게임의 라운드에서 제1 계정에 대응하는 제1 조작 객체에 의해 수행되는 제1 조작을 결정하도록 구성되는 응답 유닛;
제1 조작 객체가 제1 조작을 수행하는 경우에 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠를 결정하도록, 그리고 제1 콘텐츠와 동시에 디스플레이될 제2 콘텐츠를 획득하도록 구성되는 제1 획득 유닛- 제2 콘텐츠는 게임의 라운드에서 제2 계정에 대응하는 제2 조작 객체가 제2 조작을 수행하는 경우에 제2 클라이언트 상에 디스플레이될 필요가 있는 콘텐츠임 -; 및
제1 클라이언트 상에서 제1 콘텐츠 및 제2 콘텐츠를 동시에 디스플레이하도록 구성되는 디스플레이 유닛을 포함한다.
본 출원은, 저장된 프로그램을 포함하는, 저장 매체를 추가로 제공하고, 이러한 프로그램은 전술한 방법을 수행하도록 실행된다.
본 출원은, 메모리, 프로세서, 및 메모리 상에 저장되는 그리고 프로세서 상에서 실행될 수 있는 컴퓨터 프로그램을 포함하는, 전자 장치를 추가로 제공하고, 이러한 프로세서는 전술한 방법을 수행하기 위해 이러한 컴퓨터 프로그램을 실행하도록 구성된다.
본 명세서에 설명되는 첨부 도면들은 본 출원의 추가의 이해를 제공하고 본 출원의 일부분을 형성하는데 사용된다. 본 출원의 예시적인 실시예들 및 그것의 설명들은 본 출원을 설명하는데 사용되고, 본 출원에 대한 임의의 부적절한 제한을 구성하는 것은 아니다. 첨부 도면들에서:
도 1은 본 출원의 실시예에 따라 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법의 하드웨어 환경의 개략도이다.
도 2는 본 출원의 실시예에 따라 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법의 흐름도이다.
도 3은 본 출원의 실시예에 따른 게임 화면의 개략도이다.
도 4는 본 출원의 실시예에 따른 게임 화면의 개략도이다.
도 5는 본 출원의 실시예에 따른 게임 서비스 아키텍처의 개략도이다.
도 6은 본 출원의 실시예에 따른 게임 화면의 개략도이다.
도 7은 본 출원의 실시예에 따라 실행되는 게임의 개략도이다.
도 8은 본 출원의 실시예에 따라 실행되는 게임의 개략도이다.
도 9는 본 출원의 실시예에 따라 게임 콘텐츠를 동기식으로 디스플레이하기 위한 장치의 개략도이다.
도 10은 본 출원의 실시예에 따른 단말의 구조 블록도이다.
해당 분야에서의 기술자가 본 출원의 해결책들을 보다 양호하게 이해하게 하기 위해, 다음은 본 출원의 실시예들에서의 첨부 도면들을 참조하여 본 출원의 실시예들에서의 기술적 해결책들을 명확하고 완전하게 설명한다. 명백히, 설명되는 실시예들은 본 출원의 실시예들의 전부가 아니라 단지 일부이다. 창조적 노력없이 본 출원의 실시예들에 기초하여 해당 분야에서의 통상의 기술자에 의해 획득되는 다른 모든 실시예들은 본 출원의 보호 범위 내에 있을 것이다.
본 출원의 명세서, 청구항들, 및 첨부 도면들에서, "제1(first)", "제2(second)" 등이라는 용어들은 유사한 객체들 사이를 구별하기 위해 의도되는 것이고 반드시 구체적인 순서 또는 시퀀스를 표시하는 것은 아니다. 이러한 방식으로 칭해지는 데이터는 본 명세서에 설명되는 본 출원의 실시예들이 본 명세서에 도시되거나 또는 설명되는 순서를 제외한 순서들로 구현될 수 있도록 적절한 상황들에서 교환가능하다. 또한, "포함하다(include, contain)"라는 용어들 및 그의 임의의 다른 변형은 비-배타적 포함을 커버하는 것을 의미하고, 예를 들어, 단계들 또는 유닛들의 열거를 포함하는 프로세스, 방법, 시스템, 제품, 또는 디바이스가 반드시 그러한 유닛들에 제한되는 것은 아니고, 명백하게 열거되지 않은 또는 이러한 프로세스, 방법, 시스템, 제품, 또는 디바이스에 고유한 다른 유닛들을 포함할 수 있다.
먼저, 본 출원의 실시예들의 설명들에서 나타나는 일부 용어들이 다음과 같이 설명된다:
MMORPG는 Massive Multiplayer Online Role-Playing Game의 약어이다.
RTS는 Real-Time Strategy Game의 약어이고, 하나의 타입의 전략 게임이다. 공통 턴-기반 전략 게임보다는 오히려 RTS가 실시간으로 플레이된다. 또한, 플레이어는 군대에 명령하는 RTS에서의 장군을 종종 플레이한다.
NPC는 Non-Player-Controlled Character의 약어이다.
TCP는 Transmission Control Protocol의 약어이다. TCP는 접속-지향이고, 신뢰할 수 있고, 바이트 스트림-기반인 수송 레이어 통신 프로토콜이며, IETF RFC793에 의해 정의된다.
UDP는 User Datagram Protocol에 대한 줄임말이다. UDP는 OSI(open system interconnection) 참조 모델에서의 무접속 수송 레이어 프로토콜이고, 단순하고 신뢰할 수 없는 트랜잭션-지향 정보 전달 서비스를 제공한다. IETF RFC768은 UDP에 대한 공식적 사양이다. IP 패킷에서의 UDP의 프로토콜 번호는 17이다.
불릿 헬 게임은 스크롤 슈터 게임의 시각적 설명이다. 플레이어는 불릿 헬 게임을 승리하기 위해 양호한 눈-손 조정을 갖고 캐릭터의 이동을 기술적으로 제어할 필요가 있다. 불릿 헬 게임에서의 스크린은 종종 불릿들의 커튼들로 채워진다. 불릿 헬 게임들의 복합 불릿 커튼들 및 다수의 적 AI(artificial intelligence) 유닛들과 같은 일부 특성들로 인해, 다수의 문제점들이 불릿 헬 게임의 멀티플레이어 온라인 게임으로의 변환에서 해결될 필요가 있다. 예를 들어, 게임의 라운드가 게임에서 생성될 필요가 있다. 다수의 플레이어들이 생성된 게임의 라운드에 추가될 필요가 있다. 동일한 게임의 라운드에서의 다른 참가자들의 게임 플레이에 관련된 콘텐츠가 국부적으로 디스플레이될 필요가 있다. 조작자들의 일관된 게임 거동 및 일관된 AI 거동이 상이한 단말들 상에서 보장될 필요가 있다. 참가자들은 서로 통신할 필요가 있고, 적시의 정보 송신이 보장될 필요가 있다.
본 출원의 일부 실시예들에서는, 다음의 동기식 디스플레이 해결책들이 제공된다.
해결책 1. MMORPG 게임들에서 C/S 동기화 모드를 사용함
C/S 동기화 모드의 주요 특징은 게임 로직이 서버 단에서 실행된다는 점이다. 클라이언트들은 플레이어들의 조작들을 수집하고 이러한 조작들을 서버에 전송하는 것을 담당한다. 서버는 게임의 실행 결과들을 클라이언트들에게 고정 프레임 레이트로 또는 이벤트 트리거 모드로 브로드캐스트하고, 클라이언트들은 다음으로 이러한 실행 결과들을 플레이한다. 클라이언트들은 일반적으로 플레이어의 이동, 스킬 캐스팅 및 다른 조작들에 대해 일부 제한된 예측들을 행한다. 그러나, 최종 결과들은 서버에 의존한다. 따라서, 이러한 예측들은 추가 래그들을 포함할 수 있다.
전술한 해결책은 MMORPG와 같은 멀티플레이어 게임들에 적용가능하다. 이러한 타입의 게임에서는, 동일한 스크린 상에 다수의 사람들이 존재한다. 도 3에 도시되는 바와 같이, 조작 버튼들에 의해 조작될 수 있고, 비교적 적은 수의 조작들을 가지며, 매우 낮은 조작 레이턴시를 요구하지 않는 캐릭터 A, 캐릭터 B, 캐릭터 C 등이 존재한다.
해결책 2 RTS 또는 MOBA 게임들에서 프레임 동기화 모드를 사용함
프레임 동기화 모드의 주요 특징은, 게임 로직이 모든 클라이언트들 상에서 실행되고, 서버가 프레임들에서 클라이언트로부터 입력들(게임 조작들에 관련된 입력)을 수신하고 이러한 입력들을 클라이언트에게 브로드캐스트한다는 점이다. 클라이언트들 상의 게임 로직은 서버에 의해 제공되는 프레임들에 따라 구동된다. 클라이언트의 게임 알고리즘은 신중히 설계되어, 서버에 의해 전달되는 동일한 프레임을 입력하는 것에 의해 동일한 실행 결과들이 획득될 수 있다. 일부 게임들은 각각의 프레임의 입력에서의 레이턴시에 의해 야기되는 경험 열화를 감소시키기 위해 조작들에 대해 일부 예측들을 또한 행한다.
전술한 해결책은 몇몇 클라이언트들을 수반하고 다수의 유닛들을 갖는 게임들에 적용가능하다. 이러한 타입의 게임은 조작들 대신에 전략에 초점을 맞춘다. 도 4에 도시되는 바와 같이, 캐릭터 F 및 캐릭터 G가 포함되고 조작 버튼들에 의해 조작될 수 있다.
전술한 해결책 1에서는, 다음의 기술적 문제점들이 존재한다:
(1) 해결책 1에서, 게임 로직은 서버 상에서 실행된다. 이러한 서버는 과부하를 견딘다. C/S 모드에서의 단일 게임 서버는 종종 수천 명의 플레이어들을 지원할 수 있다, 즉, 비교적 낮은 지원 용량을 갖는다. 그러나, 불릿 헬 게임은 복합 불릿 커튼들 및 다수의 유닛들을 갖고, 따라서 거대한 양의 계산을 요구한다.
(2) 해결책 1에서, 모든 유닛들의 이동들, 스킬들, 및 드롭들과 같은 다양한 게임 이벤트들의 동기화로 인해 높은 네트워크 트래픽이 생성된다. 특히, 모바일 게임들에 대해, 플레이어들이 종종 모바일 네트워크들 상에서 게임들을 플레이하기 때문에 트래픽 소비의 비용이 높다. 그러나, 불릿 헬 게임은 복합 불릿 커튼들 및 다수의 적 AI 유닛들을 갖고, 따라서 거대한 양의 데이터가 동기화될 필요가 있다.
(3) 해결책 1에서, 플레이어들의 조작 입력들이 계산을 위해 서버에 먼저 전송되기 때문에 특정 레이턴시가 존재한다. 이러한 레이턴시는 정밀한 제어를 요구하는 불릿 헬 게임들에 대해 수용불가능하다.
전술한 해결책 2에서는, 다음의 기술적 문제점들이 존재한다:
(1) 해결책 2는 게임 알고리즘의 설계에 대해 높은 요건들을 갖는다.
(2) 해결책 2에서는 높은 조작 레이턴시가 존재한다. 이러한 조작 레이턴시는 정밀한 제어를 요구하는 불릿 헬 게임들에 대해 수용불가능하다.
전술한 기술적 문제점들을 해결하기 위해, 본 출원은 해결책 3을 추가로 제공한다. 이러한 해결책 3에서는, 불릿 헬 게임들에 대한 게임 조작들에 따라 클라이언트 상에 게임 디스플레이가 직접 제공된다. 현재, 웹-기반 불릿 헬 게임들에 대한 실시간 동일-스크린 게임플레이에 대한 선례는 존재하지 않는다. 본 출원에서는, 이러한 게임플레이를 충족시키는 동기식 디스플레이 해결책이 다양한 혁신적 설계들을 사용하여 구현된다. 본 출원의 실시예들에 따르면, 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법의 방법 실시예가 제공된다.
이러한 실시예에서, 게임 콘텐츠를 동기식으로 디스플레이하기 위한 전술한 방법은 도 1에 도시되는 단말(104) 및 서버(102)에 의해 형성되는 하드웨어 환경에 적용될 수 있다. 도 1에 도시되는 바와 같이, 서버(102)는 네트워크를 통해 단말(104)에 접속된다. 이러한 네트워크는, 이에 제한되는 것은 아니지만, 광역 네트워크, 대도시 영역 네트워크, 또는 로컬 영역 네트워크를 포함한다. 단말(104)은 PC, 모바일 폰, 및 태블릿 컴퓨터에 제한되는 것은 아니다. 본 출원의 이러한 실시예에서의 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법은 서버(102) 및 단말(104)에 의해 함께 수행될 수 있다. 단말(104)이 본 출원의 이러한 실시예에서의 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법을 수행할 때, 이러한 방법은 단말(304) 상에 설치되는 클라이언트에 의해 대안적으로 수행될 수 있다. 다음은 도 2를 참조하여 상세한 설명들을 제공한다.
도 2는 본 출원의 실시예에 따라 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법의 흐름도이다. 도 2에 도시되는 바와 같이, 이러한 방법은 다음의 단계들을 포함할 수 있다:
단계 S202: 게임 애플리케이션의 제1 클라이언트 상에서, 게임 애플리케이션의 게임의 라운드가 제1 클라이언트 상에서 실행되는 경우에, 제1 조작 명령어를 검출함- 제1 클라이언트 상에서 제1 계정이 로그인되고, 게임의 라운드에 참가하는 계정들은 제1 계정 및 제2 계정을 포함하고, 제2 계정은 게임 애플리케이션의 제2 클라이언트 상에서의 로그인을 위해 구성됨 -.
이러한 게임 애플리케이션은 불릿 헬 게임, 어드벤처 게임, 시뮬레이션 게임, 롤-플레잉 게임, 캐주얼 게임 또는 다른 게임일 수 있다. 이러한 구현들은 본 출원에서 제공되는 방법을 사용하여 상이한 타입들의 게임들이 구현될 때 기본적으로 동일하고, 불릿 헬 게임이 후속 설명을 위한 예로서 사용된다.
제1 클라이언트는 제1 단말 상에 게임 애플리케이션의 설치 패키지를 설치하는 것에 의해 형성되는 게임 클라이언트이다. 제1 조작 명령어는 제1 단말 상에서 제1 조작자의 조작(예를 들어, 키 조작, 터치 조작, 제스처 조작 등)에 의해 생성되는 명령어이다.
제1 계정 및 제2 계정은 게임 애플리케이션에서 허용되는 게임 계정들, 예를 들어, 게임 애플리케이션에서 적용되는 계정들, 인스턴트 메시징 계정들, Weibo 계정들, 소셜 네트워킹 계정들 등이다. 제1 계정은 제1 클라이언트 상에서 제1 조작자에 의해 사용되는 계정이고, 제2 계정은 제2 클라이언트 상에서 제2 조작자에 의해 사용되는 계정이다. 제1 조작자 및 제2 조작자는 동일한 시간에 동일한 게임의 라운드에 참가하는 게임 참가자들이다. 제1 조작자는 제1 단말 상의 로컬 게임 참가자이고, 제2 조작자는 일반적으로 제1 조작자 이외의 게임 참가자이고, 한 명 이상의 제2 조작자가 존재할 수 있다.
제2 클라이언트는 제2 조작자의 제2 단말 상에 설치되고, 게임의 라운드는 제2 클라이언트 상에서 동기식으로 실행된다.
단계 S204: 제1 조작 명령어에 응답하여 게임의 라운드에서의 제1 계정의 제1 조작 객체를 제어하여 제1 조작을 수행함.
전술한 단계 S204가 수행될 때, 제1 조작 명령어에 대응하는 그리고 게임의 라운드에서의 제1 계정에 대응하는 제1 조작 객체에 의해 수행되는 제1 조작이 제1 조작 명령어에 따라 결정된다.
제1 조작 객체는 게임 애플리케이션에서의 플레이어 캐릭터이다. 이러한 플레이어 캐릭터는 롤-플레잉 게임에서 플레이어에 의해 제어되는 캐릭터이다. 대부분의 플레이어 캐릭터들은 게임 스토리에서의 키 캐릭터들 또는 주요 캐릭터들이다.
제1 조작 명령어는 제1 단말 상에서 조작에 의해 생성되는 명령어, 예를 들어, 터치 스크린 상에서 좌측 또는 우측 스와이핑에 의해 생성되는 명령어이다. "좌측 또는 우측 스와이핑(swiping left or right)"은 제1 조작 객체에게 좌측 또는 우측으로 이동하라고 명령하기 위해 구성된다(즉, 제1 조작). 제1 조작 객체는 제1 조작 명령어에 응답하여 제어되어 좌측 또는 우측으로 이동한다.
단계 S206: 제1 조작이 수행되는 경우에 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠를 제1 클라이언트 상에서 국부적으로 획득하고, 제1 콘텐츠와 동시에 디스플레이될 제2 콘텐츠를 획득함- 제2 콘텐츠는 게임의 라운드에서의 제2 계정의 제2 조작 객체가 제2 조작을 수행하는 경우에 제2 클라이언트 상에 디스플레이될 필요가 있는 콘텐츠임 -. 제1 콘텐츠가 획득되는 경우, 제1 조작 객체에 의해 수행되는 제1 조작이 제1 클라이언트 상에서 제1 콘텐츠를 디스플레이한다는 점이 결정된다.
제1 클라이언트 상에 디스플레이되는 게임 화면은 3개의 부분들을 주로 포함할 수 있다. 제1 부분은 조작자의 조작을 받아들이지 않는 게임 장면들에 관련된 콘텐츠이다. 제2 부분은 제1 조작자(즉, 제1 계정)의 조작에 관련된 콘텐츠(즉, 제1 콘텐츠)이다. 제1 콘텐츠는 제1 조작자의 조작과 함께 변경된다. 제3 부분은 제2 조작자(즉, 제2 계정)의 조작에 관련된 콘텐츠(즉, 제2 콘텐츠)이다. 제2 콘텐츠는 제2 조작자의 조작과 함께 변경된다. 제1 콘텐츠는 제1 조작에 대응한다. 제2 콘텐츠는 제2 조작에 대응한다. 제1 콘텐츠 및 제2 콘텐츠가 동시에 디스플레이되는 것은 제1 조작 및 제2 조작이 동일한 시간에 수행되는 점을 의미한다.
제1 콘텐츠 및 제2 콘텐츠만이 게임에서의 조작자의 조작 때문에 게임에서 변경되는 콘텐츠이다. 제1 콘텐츠 및 제2 콘텐츠 중 어느 것도 이러한 변경 콘텐츠를 위해 사용되는 렌더링 또는 디스플레이 모드를 포함하지 않는다. 제1 콘텐츠는 게임의 라운드에서의 제1 조작 객체의 속성 정보를 포함한다. 이러한 속성 정보는, 예를 들어, 위치 정보, 제1 조작 객체가 히트되는지에 관한 정보, 및 제1 조작 객체를 히트하는 효과에 관한 정보이다. 단말 디바이스 상의 제1 클라이언트는 다른 단말 디바이스 상의 제2 클라이언트에 제1 조작에 관련된 속성 변경 정보를 전송하고, 다른 단말 디바이스 상의 제2 클라이언트는 이러한 속성 변경 정보에 따라 제1 콘텐츠를 결정한다. 이러한 속성 변경 정보는 이동 방향, 이동 거리 등을 포함할 수 있다. 이에 대응하여, 제2 콘텐츠는 게임의 라운드에서의 제2 조작 객체의 속성 정보를 포함한다. 이러한 속성 정보는, 예를 들어, 위치 정보, 제2 조작 객체가 히트되는지에 관한 정보, 및 제2 조작 객체를 히트하는 효과에 관한 정보이다.
제1 클라이언트 상에서 국부적으로 제1 콘텐츠를 획득하는 것은, 제1 단말이, 제1 조작 명령어에 따라, 제1 조작 객체에 의해 수행될 필요가 있는 제1 조작을 결정하고, 게임 화면 프레임의 유닛에서, 제1 조작을 수행하는 프로세스에서 각각의 게임 화면 프레임에 디스플레이될 필요가 있는 제1 콘텐츠를 계산하는 것이다.
예를 들어, 이동 조작에 대해, 제1 조작 객체의 이동 동안, 제1 단말은 각각의 게임 화면 프레임에서 제1 조작 객체의 위치, 제1 조작 객체의 외부 액션 형태 등을 계산한다.
다른 예를 들어, 슈팅 조작에 대해, 제1 조작 객체에 의한 슈팅 동안, 제1 단말은 각각의 게임 화면 프레임에서 각각의 불릿의 위치, 불릿의 렌더링 효과, 불릿이 게임 AI를 히트하는지, 게임 AI에 히트하는 효과 등을 계산한다.
제1 콘텐츠를 획득하기 위한 전술한 방법에서, 이러한 계산은 제1 단말 상에서 국부적으로 수행되어, 슈터 게임들의 고속 템포, 복합 불릿 커튼들, 및 다수의 적 AI 유닛들과 같은 특징들을 충족시킨다. 예를 들어, 서버 측 상에서 계산이 수행되면, 제1 단말의 로컬 조작-관련 정보는 서버에 송신될 필요가 있고, 서버는 계산을 수행하고(서버가 모든 단말들의 디스플레이 콘텐츠를 계산하면, 서버는 과도하게 과한 컴퓨팅 부하를 견디고 매우 낮은 컴퓨팅 효율을 가짐), 제1 단말은 다음으로 서버에 의해 전달되는 디스플레이 콘텐츠를 수신한다. 송신을 위한 시간 비용 및 서버에 의한 계산을 위한 시간 비용 양자 모두가 높아서, 높은 디스플레이 레이턴시를 초래한다. 슈터 게임들은 실시간 디스플레이를 고도로 요구한다. 따라서, 디스플레이될 필요가 있는 제1 콘텐츠가 제1 단말 상에서 국부적으로 계산될 때 전술한 문제점들이 해결된다.
제1 콘텐츠와 동시에 디스플레이될 필요가 있는 제2 콘텐츠는 동기화 서버 또는 제2 단말로부터 획득될 수 있다. 일부 레이턴시가 존재하더라도, 제1 단말 상의 로컬 제1 조작자는 크게 영향을 받지 않는다. 동일한 시간에, 제1 조작자는 동료(제2 조작자)의 관련 게임 장면을 관찰할 수 있어, 제1 조작자 및 제2 조작자가 게임에서 협력하는 것을 편리하게 한다.
제1 콘텐츠를 획득하기 위한 방법은 제1 콘텐츠와 동시에 디스플레이될 필요가 있는 제2 콘텐츠를 획득하는데 사용될 수 있다. 이러한 방식으로, 단말들이 일관된 게임 화면 콘텐츠를 갖는 것이 보장될 수 있고, 그렇게 함으로써 게임 참가자들의 게임 경험을 개선한다.
단계 S208: 제1 클라이언트 상에서 제1 콘텐츠 및 제2 콘텐츠를 동시에 디스플레이함.
위에 설명된 단계 S202 내지 단계 S208에서, 게임 애플리케이션의 제1 클라이언트가 게임 애플리케이션의 게임의 라운드를 실행할 때, 제1 조작 명령어는 제1 클라이언트 상에서 검출되고, 게임의 라운드에서의 제1 계정의 제1 조작 객체는 제1 조작을 수행하도록 제어된다. 제1 클라이언트는 제1 조작이 수행되는 경우에 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠를 국부적으로 획득하고, 제1 콘텐츠와 동시에 디스플레이될 제2 콘텐츠를 획득하여, 게임의 라운드에서의 제1 계정의 제1 콘텐츠 및 제2 계정의 제2 콘텐츠가 제1 클라이언트 상에서 동시에 디스플레이된다. 이것은 관련 분야에서 동일한 게임의 라운드에서의 다른 조작자들의 게임 콘텐츠가 국부적으로 디스플레이될 수 없다는 기술적 문제점을 해결하고, 그렇게 함으로써 게임 콘텐츠의 동기식 디스플레이의 기술적 효과를 달성한다.
이러한 동기식 디스플레이 해결책의 특징들은 다음과 같다. 불릿 커튼에 의한 이동 및 히트가 국부적으로 계산될 수 있어 독립형 게임에서의 것과 유사한 핸들을 리드 유닛에 제공할 수 있다. 또한, 팀 동료들의 이동 조작들 및 히트하는 효과들은 시뮬레이션된 디스플레이를 위해 서버를 통해 국부적으로 동기화된다. 통신 메시지들은 트래픽을 제어하기 위해 차단, 조합, 압축, 및 다른 방식으로 처리된다. 메시지 동기화의 낮은 레이턴시 및 신뢰성을 보장하기 위해 멀티-채널 통신이 사용된다. 또한, 2개의 클라이언트들이 동일한 레벨들, AI 객체 거동들, 드롭들 등을 갖는 것을 보장하기 위해 일관성 알고리즘이 사용된다. 따라서, 인터넷 상의 상이한 포인트들에 있는 플레이어들이 더블-플레이어 모드에서 불릿 헬 게임들을 플레이할 때, 플레이어들은 독립형 게임에서와 같이 원활한 핸들을 경험할 수 있고 팀 동료들과 나란히 교전을 즐길 수 있다.
설명들은 도 2 및 도 5를 참조하여 아래에 제공된다.
본 출원의 게임 아키텍처가 도 5에 도시된다. 클라이언트들은 게임들을 플레이하기 위해 TCP 모드에서 각각의 게임 서버들에 접속한다. 더블-플레이어 모드(즉, 온라인 게임 모드)에서, 클라이언트는 서버 매치메이킹(서버 상호작용)을 통해(또는 친구를 초대하는 것에 의해) 팀 동료를 찾는다. 게임 서버들은 더블-플레이어 게임의 현재 라운드에 대한 동기화 서버 및 게임 공간을 할당한다. 양쪽 클라이언트들은 플레이하기 위해 동일한 시간에 UDP 모드에서 동기화 서버에 접속한다. 게임 로직은 클라이언트들 상에서 주로 실행되고, 대부분의 동기화 메시지들은 동기화 서버를 통해 송신된다. 일부 중요한 메시지들(예를 들어, 재개 추론)이 처리되고, TCP에서 클라이언트들에 접속되는 게임 서버들을 통해 중계되고, DB(database)에 저장된다. 게임이 끝날 때, 양쪽 당사자들은 게임 서버들에 결과들을 보고하고, 게임 서버들은 게임의 라운드에 대한 최종 결제를 행한다.
단계 S202에서 제공되는 기술적 해결책에서, 게임 애플리케이션의 게임의 라운드가 게임 애플리케이션의 제1 클라이언트 상에서 실행되는 경우, 제1 조작 명령어가 제1 클라이언트 상에서 검출된다.
게임 애플리케이션의 게임의 라운드가 게임 애플리케이션의 제1 클라이언트 상에서 실행될 때, 게임의 라운드는 제1 클라이언트가 게임 서버에 의해 전달되는 명령어 정보를 수신하는 경우에 명령어 정보의 명령어에 따라 제1 클라이언트 상에서 실행된다. 유사하게, 제2 클라이언트에 대해, 수신된 명령어 정보에 따라 제2 클라이언트 상에서 동일한 라운드의 게임이 실행된다.
명령어 정보는 제1 클라이언트 및 제2 클라이언트에게 동일한 순간에 게임의 라운드를 실행하라고 명령하기 위해 구성된다. 명령어 정보는 추가로 제1 클라이언트 및 제2 클라이언트에게 동일한 순간에 비-플레이어 제어 객체에 관련된 이벤트들을 수행하라고 명령하기 위해 구성된다.
제1 조작자가 제1 단말 상에서 게임 조작을 수행할 때, 제1 단말은 게임 조작의 검출된 신호에 따라 제1 조작 명령어를 생성하고, 제1 조작 명령어를 제1 클라이언트에 전송한다.
유사하게, 제2 클라이언트에 대해, 제2 조작자가 제2 단말 상에서 게임 조작을 수행할 때, 제2 단말은 게임 조작의 검출된 신호에 따라 제2 조작 명령어를 생성하고, 제2 조작 명령어를 제2 클라이언트에 전송한다.
게임 애플리케이션에서, 제1 조작 및 제2 조작에 관련된 속성 변경 정보는 동기화 서버를 통해 제1 클라이언트와 제2 클라이언트 사이에 교환되고, 동기화 서버에 접속되는 UDP 채널을 통해 구체적으로 송신된다.
단계 S204에서 제공되는 기술적 해결책에서, 게임의 라운드에서의 제1 계정의 제1 조작 객체는 제1 조작을 수행하도록 제1 조작 명령어에 응답하여 제어된다.
제1 조작을 수행하는 프로세스에서, 제1 단말은 제1 조작의 시작부터 끝까지 제1 클라이언트 상에서 게임 화면들을 렌더링 및 디스플레이하는 것을 수행할 필요가 있다.
제1 조작은 논리 프레임의 유닛에서 몇몇 서브-조작들로 분할될 수 있고, 논리 프레임은 서브-조작에 대응한다. 게임에서의 제1 조작에 관련된 객체 또는 제1 조작 객체는 상태를 갖는다. 이러한 상태는 속성을 사용하여 설명될 수 있어, 2개의 인접한 논리 프레임들의 서브-조작들의 상태들 사이의 차이는 속성 변경 정보를 사용하여 설명될 수 있다.
예를 들어, 제1 조작 객체가 이동 조작을 수행할 때, 제1 논리 프레임에서, 제1 조작 객체의, 제1 조작 객체의 현재 위치와 이전 논리 프레임에서의 제1 조작 객체의 위치 사이의 위치 속성 변경량을 설명하기 위해 구성되는, 속성 변경 정보가 제2 단말 상의 제2 클라이언트에게 전송된다.
구체적으로, 제1 클라이언트는 위치 속성 변경량을 국부적으로 계산하고, 데이터 송신 채널에서 동기화 서버에 제2 속성 변경 정보(위치 속성 변경 정보를 포함함)를 송신한다. 동기화 서버는 제2 속성 변경 정보를 제2 클라이언트에 전달한다. 제2 속성 변경 정보는 제1 조작 객체의 위치 속성의 변경 및/또는 슈팅 조작에 관련된 속성의 변경을 설명하기 위해 구성되는 정보이다.
유사하게, 제2 클라이언트는 위치 속성 변경량을 또한 국부적으로 계산하고, 제1 속성 변경 정보(계산된 위치 속성 변경 정보를 포함함)를 데이터 송신 채널에서 동기화 서버에 송신한다. 동기화 서버는 제1 속성 변경 정보를 제1 클라이언트에 전달한다. 제1 속성 변경 정보는 제2 조작 객체의 위치 속성의 변경 및/또는 슈팅 조작에 관련된 속성의 변경을 설명하기 위해 구성되는 정보이다.
단계 S206에서 제공되는 기술적 해결책에서, 제1 조작이 수행되는 경우에 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠가 제1 클라이언트 상에서 국부적으로 획득되고, 제1 콘텐츠와 동시에 디스플레이될 제2 콘텐츠가 획득된다. 제2 콘텐츠는 게임의 라운드에서의 제2 계정의 제2 조작 객체가 제2 조작을 수행하는 경우에 제2 클라이언트 상에 디스플레이될 필요가 있는 콘텐츠이다.
(1) 제1 콘텐츠의 획득에 관한 사항
제1 조작이 수행되는 경우에 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠를 제1 클라이언트 상에서 국부적으로 획득하는 것은, 제1 조작이 제1 조작 객체의 위치 속성을 변경하는 조작인 경우에 제1 조작 객체의 위치 속성이 변경된 후에 제1 조작 객체가 위치되는 위치를 표시하기 위해 구성되는 제1 콘텐츠를 제1 클라이언트 상에서 국부적으로 결정하는 것; 또는, 제1 조작이 제1 조작 객체의 슈팅 조작인 경우에 슈팅에 관련된 콘텐츠를 표시하기 위해 구성되는 제1 콘텐츠를 제1 클라이언트 상에서 국부적으로 결정하는 것 중 적어도 하나를 포함한다.
예를 들어, 제1 조작 객체의 이동 조작에 대해, 논리 프레임들 사이의 미리 설정된 시간 간격 및 미리 설정된 객체 이동 속도에 따라 그리고 제1 조작자의 조작 방향을 고려하여, 제1 조작 객체가 각각의 논리 프레임에서 이동할 수 있는 거리 및 이동 후의 제1 조작 객체의 위치가 제1 단말 상에서 국부적으로 결정된다. 제1 콘텐츠는 이동 후의 제1 조작 객체의 위치를 보여주기 위한 콘텐츠를 적어도 포함한다.
다른 예를 들어, 슈팅 조작에 대해, 논리 프레임들사이의 미리 설정된 시간 간격 및 미리 설정된 불릿 이동 속도에 따라 그리고 제1 조작자의 조작 방향을 고려하여, 불릿이 각각의 논리 프레임에서 이동할 수 있는 거리 및 이동 후의 불릿의 위치가 제1 단말 상에서 국부적으로 결정된다. 제1 콘텐츠는 이동 이후의 불릿의 위치를 보여주기 위한 콘텐츠를 적어도 포함하고, AI가 히트되는지 및 AI를 히트하는 효과에 관련된 콘텐츠를 또한 포함한다.
(2) 제2 콘텐츠의 획득에 관한 사항
전술한 내용은 제2 클라이언트가 제1 속성 변경 정보를 어떻게 전송하는지를 설명하였다. 제1 클라이언트가 제1 콘텐츠와 동시에 디스플레이될 필요가 있는 제2 콘텐츠를 획득할 때, 동기화 서버를 통해 제2 클라이언트에 의해 전달되는 제1 속성 변경 정보는 데이터 송신 채널에서 수신된다. 제1 속성 변경 정보는 게임의 라운드에서의 제2 조작을 수행하는 제2 조작 객체에 의해 야기되는 속성 변경을 설명하기 위해 구성된다. 제2 조작은 제2 클라이언트 상에서 검출되는 제2 조작 명령어에 의해 트리거되는 조작이다. 제2 콘텐츠는 제1 속성 변경 정보에 따라 제1 클라이언트 상에서 국부적으로 결정된다.
예를 들어, 제2 조작 객체의 이동 조작에 대해, 현재 순간에서의 제2 조작 객체의 위치는 이전 순간에서의 제2 조작 객체의 위치 및 제1 속성 변경 정보에 따라 결정될 수 있다. 제1 속성 변경 정보는 제2 조작 객체의 이동의 단위 거리들의 방향 및 수량을 구체적으로 포함할 수 있다.
단계 S208에서 제공되는 기술적 해결책에서, 제1 콘텐츠 및 제2 콘텐츠는 제1 클라이언트 상에 동시에 디스플레이된다. 제1 단말은 제1 속성 변경 정보에 따라 결정되는 제2 콘텐츠를 디스플레이를 위해 제1 클라이언트의 게임 화면 상에 중첩시키고, 제1 클라이언트의 게임 화면은 제1 콘텐츠를 디스플레이하는 화면이다.
제1 조작 객체의 게임 거동과 제2 조작 객체의 것 사이를 구별하기 위해, 제1 속성 변경 정보에 따라 결정되는 제2 콘텐츠가 디스플레이를 위해 제1 클라이언트의 게임 화면 상에 중첩될 때, 중첩된 제2 콘텐츠는 제2 디스플레이 모드에서 제1 클라이언트의 게임 화면 상에 디스플레이될 수 있는 한편 제1 콘텐츠는 제1 디스플레이 모드에서 제1 클라이언트의 게임 화면 상에 디스플레이되고, 제1 디스플레이 모드는 제2 디스플레이 모드와 상이하다.
도 6에 도시되는 바와 같이, 제1 클라이언트의 게임 화면은 좌측에 도시되고, 제2 클라이언트의 게임 화면은 우측에 도시된다. 리드 유닛(제1 클라이언트 상의 제1 조작 객체 또는 제2 클라이언트 상의 제2 조작 객체)은 정상 모드로 디스플레이되고, 아군 유닛(제1 클라이언트 상의 제2 조작 객체 또는 제2 클라이언트 상의 제1 조작 객체)은 반투명 모드(도 6에서 점선으로 표시됨)로 디스플레이된다.
(3) 접속해제 후에 게임에 재진입하는 방법
게임 애플리케이션의 제1 클라이언트가 게임 애플리케이션의 게임의 라운드를 실행한 후에, 제1 클라이언트는 제1 클라이언트가 접속해제되고 다시 접속되는 경우에 제2 클라이언트로부터 게임의 라운드의 현재 진행 시간을 획득하고, 게임의 라운드의 복수의 참조 시간 마크들에서, 현재 진행 시간에 인접하는 그리고 도달한 타겟 참조 시간 마크를 결정하고, 참조 시간 마크들은 게임의 라운드의 진행 시간에서의 미리 식별된 순간들이다. 게임의 라운드는 제1 클라이언트 상에서 재로딩되고, 재로딩된 게임의 라운드의 게임 화면은 제1 화면으로부터 제2 화면으로 업데이트되고, 제1 화면은 게임의 라운드에서 타겟 참조 시간 마크에서의 게임 화면이고, 제2 화면은 게임의 라운드에서 현재 진행 시간에서의 게임 화면이다.
접속해제의 다양한 원인들이 존재할 수 있다. 예를 들어, 클라이언트가 예외로 인해 턴 오프되고, 사용자가 클라이언트를 턴 오프하고, 사용자가 게임을 빠져나가고, 네트워크가 중단된다.
제1 클라이언트가 접속해제되고 다음으로 다시 접속될 때, 제1 클라이언트는 제2 클라이언트로부터 현재 진행 시간을 획득하고, 다음으로 진행 시간에 따라 참조 시간 마크(즉, 타겟 참조 시간 마크)를 계산한다. 이러한 시간 마크는 현재 진행 시간 전이다. 현재 시간 마크와 드러나지 않은 타겟 참조 시간 마크 사이의 차이가 결정되고, 현재 시간 마크의 속성 정보가 타겟 참조 시간 마크의 차이 및 속성 정보에 따라 결정된다. 제1 클라이언트는 이러한 참조 마크로부터 시작하여 급속 계산을 수행한다. 컴퓨팅 속도는 (클라이언트의 성능에 의존하여) 정상 게임 속도의 50 내지 100 배이고, 제2 클라이언트의 현재 진행 시간을 따라 잡는다. 이러한 프로세스는 접속해제 및 재접속 로직에 포함된다. 접속해제 및 재접속 프로세스가 완료될 때, 제1 클라이언트 및 제2 클라이언트는 동일한 시간 마크에 있고, 게임 화면을 디스플레이하기 시작하고, 정상 게임 프로세스에 진입한다.
도 7에 도시되는 바와 같이, 본 출원에서, 게임은 복수의 시간 마크들이 있는 랜덤 참조 분리 방법을 사용하여 임의의 참조 시간 마크(예를 들어, 마크 1 및 마크 2)로부터 계산될 수 있다.
게임이 시작할 때, 게임 진행의 시작 순간은 서버에 의해 전달되는 정보(예를 들어, 시작 난수)에 따라 결정된다. 각각의 시간 마크에 대한 랜덤 참조가 게임의 시작에서 랜덤 참조로부터 계산된다. 마크 1로부터 시작하여 랜덤 레벨 및 난수 참조가 생성되고, 로컬 리소스들을 사용하여 레벨 장면들(예를 들어, mob 1 내지 mob N)이 생성된다. 클라이언트(예를 들어, 제1 클라이언트)가 접속해제되고 다음으로 재접속될 때, 클라이언트는 팀 동료(제2 클라이언트)로부터 현재 게임 진행 시간을 획득하고, 이러한 시간에 따라 최근 랜덤 참조 시간 값(마크 2)을 계산하고, 이러한 시간 참조로부터 현재 게임 시간까지 게임 장면(예를 들어, 팀 동료의 위치)을 계산하고, 다음으로 정상 속도로 게임을 시작한다(즉, 게임을 재개하고, 추적기들로 AI를 공격하고, 사망 아이템들을 드롭하는 등). 너무 길지도 너무 짧지도 않은, 적절한 간격이 참조 시간 마크들 사이에 추천된다.
예를 들어, Plane Wars의 더블-플레이어 게임의 라운드는 약 20개의 레벨들로 분할될 수 있고, 각각의 레벨은 약 2분 길이이다. 이러한 시간 간격을 사용하여 정의되는 시간 마크들은 적절하다. 게임에서 클라이언트가 접속해제되고 다음으로 재접속될 때마다, 이러한 계산은 현재 레벨의 시작으로부터 역방향으로 수행되고, 현재 레벨에서의 임의의 시점은 약 1초 내에 계산될 수 있다. 이러한 방식으로, 접속해제의 영향은 플레이어들에게 인지불가능하다.
게임에서의 객체들이 상이한 클라이언트들 상에서 일관된 거동들을 갖는 것이 요구되고, 이는 객체들의 거동들이 동일한 게임의 라운드에서 복수의 플레이어들의 클라이언트들 상에서 일관될 필요가 있다는 점을 의미한다. 예를 들어, 동일한 레벨 시퀀스가 사용된다. 동일한 레벨 장면들이 제공된다. 동일한 NPC가 동일한 시간에 나타난다. 동일한 NPC는 동일한 AI 거동을 갖고, 이것이 사망할 때 동일한 아이템을 드롭한다.
랜덤 레벨 및 난수 참조가 생성되기 전에, 게임 서버는 게임의 시작에서 모든 클라이언트들에게 동일한 시작 난수를 전달한다. 클라이언트들은, 이러한 난수로부터 시작하는 동일한 의사-랜덤 재귀 알고리즘(예를 들어, LCG 의사-랜덤 알고리즘 또는 다른 유사한 알고리즘)을 사용하여, 게임에서 모듈들의 실행을 위해 요구되는 랜덤 숫자 값들(즉, 난수 참조 마크들)을 생성한다. 모듈들 사이의 간섭을 회피하기 위해, 각각의 모듈은 초기 랜덤 값으로부터 변환되는 값을 참조로서 사용한다.
클라이언트들은 동일한 알고리즘 및 동일한 초기 입력 난수를 사용하여 게임에서 일관된 거동을 가질 수 있고, 접속해제가 발생하더라도 게임을 재시작하고 게임의 일관성을 보장할 수 있다.
(4) 클라이언트들 사이의 통신에 관한 사항
게임 애플리케이션의 제1 클라이언트가 게임 애플리케이션의 게임의 라운드를 실행할 때, 제2 클라이언트에 전송될 메시지 세트는 전송되기 전에 제1 클라이언트 상에서 처리된다. 이러한 처리는, 메시지 세트에서 제1 메시지들을 전처리하는 단계- 전처리는 메시지 세트에서의 동일한 타입의 복수의 제1 메시지들을 제2 메시지로 대체하는 것을 포함하고, 제2 메시지는 동일한 타입의 복수의 제1 메시지를 표현하기 위해 구성됨 -; 전처리된 메시지 세트에서의 모든 메시지들을 메시지 패킷으로 패킷화하는 단계; 및 메시지 패킷을 압축하는 단계를 포함한다.
제2 속성 변경 정보가 데이터 송신 채널에서 동기화 서버에 송신되기 전에, 이러한 방법은 추가로, 속성 변경 정보를 송신하는 제1 메시지들을 전처리하는 단계- 전처리하는 단계는 동일한 타입의 복수의 제1 메시지들로부터 제2 메시지를 생성하는 단계를 포함하고, 제2 메시지는 동일한 타입의 복수의 제1 메시지들을 표현하기 위해 구성됨 -; 모든 제2 메시지들을 메시지 패킷으로 패킷화하는 단계; 및 메시지 패킷을 압축하는 단계를 포함한다.
도 5 및 도 8에 도시되는 바와 같이, TCP 접속 및 UDP 접속 양자 모두를 사용하는 통신 방법이 본 출원에서 사용된다. TCP 채널은 (클라이언트와 게임 서버 사이에 주로 송신되는) 게임 제어 정보를 송신하고, 레벨 진행 및 일부 키 메시지들, 예를 들어, 게임의 시작/끝, (더블-플레이어 결제 및 안티-치팅 판단을 위해 구성되는) 전투 결과들, 및 전투에서의 재개 추론을 보고하기 위해 구성된다. 이러한 메시지들은 게임 서버에 의해 구현될 필요가 있는 플레이어 리소스들의 소비 또는 게임 상태의 변경에 관련된다. 예를 들어, 게임의 시작에서, 게임 서버는 동기화 서버를 클라이언트들에 배정하고, TCP 채널을 통해 모니터링을 수행하고, 더블-플레이어 전투를 생성하고, 더블-플레이어 2차 매칭을 수행한다. 최종적으로, 글로벌 서버는 더블-플레이어 글로벌 매칭을 수행한다. 게임에서의 진행 정보는 TCP 채널을 통해 다른 게임 서버들에 송신된다.
도 8에서의 TGW는 Tencent Gateway의 약어이다. TGW는 멀티-네트워크 통합 액세스를 구현하고, 외부 네트워크 요청을 전달하고, 자동 부하 균형화를 지원하는 시스템이다.
UDP 채널은 클라이언트와 동기화 서버 사이의 접속이다. 동기화 서버는 UDP 모드에서 고속 및 저-레이턴시 메시지 전달 서비스를 제공한다. UDP 채널에는 2개의 타입들의 메시지들이 존재한다. 하나의 타입의 메시지들은 신뢰할 수 없는 송신 모드에서 송신되고, 위치 동기화 메시지, HP(health power) 동기화 메시지, 스킬 거동 메시지, 및 아이템 성능 메시지와 같은 동기화 메시지들을 주로 포함한다. 이러한 동기화 메시지들의 공통 특징은 이러한 메시지들이 중간에서 손실되는 경우에 후속 메시지들로 대체된다는 점이다. 따라서, 이러한 메시지들은 재송신될 필요가 없고, 대신에 빠르게 전달된다. 이것은 이러한 메시지들이 손실의 경우에 재송신과 같은 조작들에 의해 야기되는 네트워크 혼잡 없이 피어 클라이언트에 보다 빠르게 도달할 수 있다는 점을 보장한다. 또한, 몇몇 메시지들(예를 들어, 공간의 시작/끝, 진행 저장, 및 키 이벤트들의 협업적 중재)이 피어 클라이언트에 정확하게 송신될 필요가 있다. 이러한 메시지들은 신뢰할 수 있는 UDP 모드에서 송신된다. 신뢰할 수 있는 UDP 송신은 메시지의 시퀀스 번호 및 수신기로부터의 확인응답을 사용하여 주로 구현되고, 데이터 메시지는 동기화 서버에서 버퍼링되어, 더블-플레이어 공간이 관리될 수 있다.
메시지들이 TCP 또는 UDP에서 송신될 때, 이러한 메시지들은 처리될 필요가 있다. 메시지들의 트래픽은 동기 메시지들을 차단하고, 동기 메시지들을 조합하고, 복수의 패킷들을 조합하고, 패킷들을 압축하는 것에 의해 추가로 감소될 수 있다.
메시지들은 논리 프레임들에서 송신된다. 초 당 논리 프레임들의 수량은 약 10 내지 14개이다. 동일한 프레임에서, 복수의 관련 이벤트들이 연속적으로 발생하면, 메시지 차단 및 메시지 조합이 적용될 수 있다.
메시지 차단에서, 동일한 객체의 메시지들 중 하나가 이전 메시지를 대체할 수 있으면, 이전 메시지는 폐기될 수 있다. 예를 들어, 동일한 프레임에서의 리드 유닛의 이동 메시지들에 대해, 마지막 좌표 위치만이 전송될 필요가 있다. 일단 HP가 소진되면 동일한 게임 객체가 사망하고, 사망 메시지만이 전송될 필요가 있다.
메시지 조합에서, 동일한 객체의 메시지들이 중첩 관계를 가지면, 복수의 메시지들이 하나의 메시지로 조합될 수 있다. 동일한 게임 객체의 복수의 HP 추론들의 메시지들이 존재하면, 복수의 HP 추론들은 하나의 추론으로 조합될 수 있다. HP 추론들이 추가된다.
복수의 패킷들의 조합에서, 복수의 상이한 이벤트들이 동일한 프레임에서 발생하고, 이벤트들은 송신을 위해 비교적 큰 데이터 패킷으로 조합된다. 단일의 복수의 큰 패킷들의 송신은 복수의 작은 패킷들의 송신보다 양호하다.
패킷 압축에서, 송신될 각각의 패킷은 패킷의 크기를 추가로 감소시키기 위해 알고리즘을 사용하여 압축되고, 그렇게 함으로써 트래픽을 감소시킨다.
Plane Wars의 더블-플레이어 게임플레이에서, 전술한 처리 후에, 각각의 클라이언트의 트래픽은 약 1 KB/S로 제어될 수 있다. 이러한 방식으로, 더블-플레이어 게임은 2G 네트워크에서도 정상적으로 플레이될 수 있다.
해결책 1과 비교하여, 본 출원의 해결책 3은 다음의 차이들을 갖는다:
(1) 해결책 1에서, 게임 로직은 서버 상에서 실행된다. 이러한 서버는 과부하를 견딘다. C/S 모드에서의 단일 게임 서버는 종종 수천 명의 플레이어들을 지원할 수 있다, 즉, 비교적 낮은 지원 용량을 갖는다. 그러나, 불릿 헬 게임은 복합 불릿 커튼들 및 다수의 유닛들을 갖고, 따라서 거대한 양의 계산을 요구한다. 따라서, 해결책 3에서, 게임 로직은 로컬 클라이언트 상에서 실행되고, 그렇게 함으로써 게임 서버 상의 부하를 감소시킨다.
(2) 해결책 1에서, 모든 유닛들의 이동들, 스킬들, 및 드롭들과 같은 다양한 게임 이벤트들의 동기화로 인해 높은 네트워크 트래픽이 생성된다. 특히, 모바일 게임들에 대해, 플레이어들이 종종 모바일 네트워크들 상에서 게임들을 플레이하기 때문에 트래픽 소비의 비용이 높다. 그러나, 불릿 헬 게임은 복합 불릿 커튼들 및 다수의 적 AI 유닛들을 갖고, 따라서 거대한 양의 데이터가 동기화될 필요가 있다. 해결책 3에서의 메시지 송신 방법을 사용하여 트래픽 소비가 감소될 수 있다.
(3) 해결책 1에서, 플레이어들의 조작 입력들이 계산을 위해 서버에 먼저 전송되기 때문에 특정 레이턴시가 존재한다. 이러한 레이턴시는 정밀한 제어를 요구하는 불릿 헬 게임들에 대해 수용불가능하다. 해결책 3에서, 게임 응답들은 국부적으로 행해지고, 그렇게 함으로써 레이턴시 문제점들을 회피한다.
본 출원의 해결책 2 및 해결책 3은 다음의 차이들을 갖는다:
(1) 게임 알고리즘의 설계에 대해, 해결책 2는 높은 요건들을 갖는 한편 해결책 3은 비교적 낮은 요건들을 갖는다.
(2) 해결책 2에서는 높은 조작 레이턴시가 존재한다. 이러한 조작 레이턴시는 정밀한 제어를 요구하는 불릿 헬 게임들에 대해 수용불가능하다. 해결책 3에서, 게임 응답들은 국부적으로 행해지고, 그렇게 함으로써 레이턴시 문제점들을 회피한다.
분석으로부터 알 수 있는 바와 같이, 본 출원의 해결책 3은 다음의 이점을 갖는다.
(1) 게임 알고리즘 로직이 클라이언트 상에서 실행되고, 일관성 알고리즘이 클라이언트들 상에서 게임의 일관성을 보장하는데 사용되고, 서버들의 높은 내구 성능이 유지된다.
(2) 불릿 헬 게임들은 정교한 핸들을 제공할 필요가 있다. 해결책 3에서, 리드 유닛의 조작들은 현재 클라이언트 상에서 실시간으로 계산되어, 독립형 게임에서의 것과 유사한 조작 경험을 제공한다.
(3) 네트워크 접속이 불안정하고 트래픽 비용이 높은 모바일 네트워크들에 대해, 모바일 네트워크들에 적합한 멀티-채널 동기 통신 방법이 설계되고, 그렇게 함으로써 메시지들의 레이턴시가 가능한 한 낮고 일부 메시지들의 신뢰성 요건들이 충족되는 것을 보장한다. 또한, 트래픽이 최적화된다.
실시예로서, Plane Wars가 설명을 위한 예로서 사용된다.
도 6은 Plane Wars의 모바일 더블-플레이어 게임플레이를 도시한다. 도 6에서, 리드 유닛(실선으로 도시되는 평면)은 현재 클라이언트 상에서 플레이어에 의해 제어되는 평면(즉, 제1 조작 객체)이다. 리드 유닛, 리드 유닛에 의해 발사되는 불릿 커튼, 리드 유닛에 의해 운반되는 애완동물, 및 애완동물에 의해 발사되는 불릿 커튼은 모두 리드 유닛의 클라이언트에 의해 실시간으로 계산되어 효과들을 생산한다. 이러한 효과들은 게임 인터페이스에서 즉시 디스플레이된다. 이러한 경우, 플레이어는 게임을 독립형 게임인 것처럼 플레이한다. 어떠한 레이턴시도 없다면, 플레이어는 전투기를 급속하게 이동시켜 적 평면들에 의해 발사되는 불릿 커튼들을 기피하고 접근하는 적 평면들에서 빠르게 그리고 정밀하게 발사할 수 있다.
도 6에서, 아군 유닛(점선으로 도시되는 평면)은 친구 플레이어에 의해 제어되고 네트워크를 통해 동기식으로 디스플레이되는 전투기이다. 리드 유닛과의 시각적 간섭을 회피하기 위해, 아군 유닛에 의해 발사되는 불릿 커튼 및 아군 유닛에 의해 운반되는 애완동물은 반투명하게 디스플레이되고, 리드 유닛의 플레이어에 의해 제어될 수 없다. 그러나, 게임 화면에서, 리드 유닛의 플레이어는 친구 플레이어에 의해 적 유닛을 공격하는 효과들을 관찰할 수 있고, 그렇게 함으로써 즐거운 그리고 협력적인 게임 경험을 제공한다.
적 유닛들, 적 유닛들에 의해 발사되는 불릿 커튼들, 및 다양한 드롭들은 클라이언트 알고리즘의 설계를 통해 클라이언트들 상에서 고도로 일관된다. 이러한 콘텐츠는 2개의 클라이언트들 사이에 동기식으로 송신되지 않을 수 있다.
본 출원의 실시예들에서, 클라이언트 레벨 일관성 알고리즘은 리드 유닛의 국부화 제어 및 히트 계산과 조합되고, 거동 효과들은 팀 동료의 클라이언트에 동기화되어, 정밀한 제어를 요구하고 다수의 게임 객체들 및 복합 게임 로직 조작들을 갖는 불릿 헬 게임들을 위한 웹-기반 동일-스크린 실시간 게임 프로세스에 대한 해결책을 구현하고, 그렇게 함으로써 성능과 트래픽 사이의 최적의 균형을 찾으면서 충분한 플레이어 경험을 구현한다.
본 출원에서, 슈터 게임은 단지 설명을 위한 예로서 사용된다. 다른 타입들의 게임들에 대해, 본 출원의 실시예들에서의 기술적 해결책은 게임에서의 동기식 디스플레이 및 더 낮은 네트워크 요건들을 보장하기 위해 또한 사용될 수 있다. 구체적인 구현은 슈터 게임들의 것과 유사하고, 본 명세서에서 다시 설명되지 않는다.
간단한 설명을 위해, 전술한 방법 실시예들은 일련의 액션 조합들로서 표현된다. 그러나, 본 출원에 따르면, 일부 단계들이 다른 순서들로 또는 동시에 수행될 수 있기 때문에, 본 출원이 설명된 순서의 액션들에 제한되는 것은 아니라는 점이 해당 분야에서의 기술자에 의해 인정되어야 한다. 또한, 본 명세서에 설명되는 모든 실시예들은 일부 실시예들이고, 관련 액션들 및 모듈들이 본 출원에서 반드시 요구되는 것은 아니라는 점이 해당 분야에서의 기술자에 의해 인정되어야 한다.
구현들의 전술한 설명을 통해, 전술한 실시예들에서의 방법들은 소프트웨어 플러스 필요한 범용 하드웨어 플랫폼에 의해 구현될 수 있고, 분명히 하드웨어에 의해 또한 구현될 수 있지만, 다수의 경우들에서, 소프트웨어 구현은 예시적이라는 점이 해당 분야에서의 기술자에게 명백하다. 이러한 이해에 기초하여, 본 출원의 기술적 해결책들이 본질적으로 또는 기존 기술에 기여하는 부분이 소프트웨어 제품의 형태로 구현될 수 있다. 이러한 컴퓨터 소프트웨어 제품은 (ROM(read-only memory)/RAM(random access memory), 자기 디스크 또는 광 디스크와 같은) 저장 매체에 저장되고, (모바일 폰, 컴퓨터, 서버, 또는 네트워크 디바이스일 수 있는) 단말 디바이스에게 본 출원의 실시예들에서 설명되는 방법들을 수행하라고 명령하기 위한 몇몇 명령어들을 포함한다.
본 출원의 실시예에 따르면, 게임 콘텐츠를 동기식으로 디스플레이하기 위한 전술한 방법을 구현하도록 구성되는 게임 콘텐츠를 동기식으로 디스플레이하기 위한 장치가 추가로 제공된다. 도 9는 본 출원의 실시예에 따라 게임 콘텐츠를 동기식으로 디스플레이하기 위한 장치의 개략도이다. 도 9에 도시되는 바와 같이, 이러한 장치는 검출 유닛(92), 응답 유닛(94), 제1 획득 유닛(96), 및 디스플레이 유닛(98)을 포함할 수 있다.
검출 유닛(92)은, 게임 애플리케이션의 제1 클라이언트 상에서, 게임 애플리케이션의 게임의 라운드가 제1 클라이언트 상에서 실행되는 경우에, 제1 조작 명령어를 검출하도록 구성되고, 제1 클라이언트 상에서 제1 계정이 로그인되고, 게임의 라운드에 참가하는 계정들은 제1 계정 및 제2 계정을 포함하고, 제2 계정은 게임 애플리케이션의 제2 클라이언트 상에서의 로그인을 위해 구성된다.
이러한 게임 애플리케이션은 불릿 헬 게임, 어드벤처 게임, 시뮬레이션 게임, 롤-플레잉 게임, 캐주얼 게임 또는 다른 게임일 수 있다. 이러한 구현들은 본 출원에서 제공되는 방법을 사용하여 상이한 타입들의 게임들이 구현될 때 기본적으로 동일하고, 불릿 헬 게임이 후속 설명을 위한 예로서 사용된다.
제1 클라이언트는 제1 단말 상에 게임 애플리케이션의 설치 패키지를 설치하는 것에 의해 형성되는 게임 클라이언트이다. 제1 조작 명령어는 제1 단말 상에서 제1 조작자의 조작(예를 들어, 키 조작, 터치 조작, 제스처 조작 등)에 의해 생성되는 명령어이다.
제1 계정 및 제2 계정은 게임 애플리케이션에서 허용되는 게임 계정들, 예를 들어, 게임 애플리케이션에서 적용되는 계정들, 인스턴트 메시징 계정들, Weibo 계정들, 소셜 네트워킹 계정들 등이다. 제1 계정은 제1 클라이언트 상에서 제1 조작자에 의해 사용되는 계정이고, 제2 계정은 제2 클라이언트 상에서 제2 조작자에 의해 사용되는 계정이다. 제1 조작자 및 제2 조작자는 동일한 시간에 동일한 게임의 라운드에 참가하는 게임 참가자들이다. 제1 조작자는 제1 단말 상의 로컬 게임 참가자이고, 제2 조작자는 일반적으로 제1 조작자 이외의 게임 참가자이고, 한 명 이상의 제2 조작자가 존재할 수 있다.
제2 클라이언트는 제2 조작자의 제2 단말 상에 설치되고, 게임의 라운드는 제2 클라이언트 상에서 동기식으로 실행된다.
응답 유닛(94)은, 제1 조작 명령어에 따라, 제1 조작 명령어에 대응하는 그리고 게임의 라운드에서 제1 계정에 대응하는 제1 조작 객체에 의해 수행되는 제1 조작을 결정하도록 구성된다.
제1 조작 객체는 게임 애플리케이션에서의 플레이어 캐릭터이다. 이러한 플레이어 캐릭터는 롤-플레잉 게임에서 플레이어에 의해 제어되는 캐릭터이다. 대부분의 플레이어 캐릭터들은 게임 스토리에서의 키 캐릭터들 또는 주요 캐릭터들이다.
제1 조작 명령어는 제1 단말 상에서 조작에 의해 생성되는 명령어, 예를 들어, 터치 스크린 상에서 좌측 또는 우측 스와이핑에 의해 생성되는 명령어이다. "좌측 또는 우측 스와이핑(swiping left or right)"은 제1 조작 객체에게 좌측 또는 우측으로 이동하라고 명령하기 위해 구성된다(즉, 제1 조작). 제1 조작 객체는 제1 조작 명령어에 응답하여 제어되어 좌측 또는 우측으로 이동한다.
제1 획득 유닛(96)은 제1 조작 객체가 제1 조작을 수행하는 경우에 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠를 결정하도록, 그리고 제1 콘텐츠와 동시에 디스플레이될 제2 콘텐츠를 획득하도록 구성되고, 제2 콘텐츠는 게임의 라운드에서 제2 계정에 대응하는 제2 조작 객체가 제2 조작을 수행하는 경우에 제2 클라이언트 상에 디스플레이될 필요가 있는 콘텐츠이다.
제1 클라이언트 상에 디스플레이되는 게임 화면은 3개의 부분들을 주로 포함할 수 있다. 제1 부분은 조작자의 조작을 받아들이지 않는 게임 장면들에 관련된 콘텐츠이다. 제2 부분은 제1 조작자(즉, 제1 계정)의 조작에 관련된 콘텐츠(즉, 제1 콘텐츠)이다. 제1 콘텐츠는 제1 조작자의 조작과 함께 변경된다. 제3 부분은 제2 조작자(즉, 제2 계정)의 조작에 관련된 콘텐츠(즉, 제2 콘텐츠)이다. 제2 콘텐츠는 제2 조작자의 조작과 함께 변경된다.
제1 콘텐츠 및 제2 콘텐츠만이 게임에서의 조작자의 조작 때문에 게임에서 변경되는 콘텐츠이다. 제1 콘텐츠 및 제2 콘텐츠 중 어느 것도 이러한 변경 콘텐츠를 위해 사용되는 렌더링 또는 디스플레이 모드를 포함하지 않는다.
제1 클라이언트 상에서 국부적으로 제1 콘텐츠를 획득하는 것은, 제1 단말이, 제1 조작 명령어에 따라, 제1 조작 객체에 의해 수행될 필요가 있는 제1 조작을 결정하고, 게임 화면 프레임의 유닛에서, 제1 조작을 수행하는 프로세스에서 각각의 게임 화면 프레임에 디스플레이될 필요가 있는 제1 콘텐츠를 계산하는 것이다.
예를 들어, 이동 조작에 대해, 제1 조작 객체의 이동 동안, 제1 단말은 각각의 게임 화면 프레임에서 제1 조작 객체의 위치, 제1 조작 객체의 외부 액션 형태 등을 계산한다.
다른 예를 들어, 슈팅 조작에 대해, 제1 조작 객체에 의한 슈팅 동안, 제1 단말은 각각의 게임 화면 프레임에서 각각의 불릿의 위치, 불릿의 렌더링 효과, 불릿이 게임 AI를 히트하는지, 게임 AI에 히트하는 효과 등을 계산한다.
제1 콘텐츠를 획득하기 위한 전술한 방법에서, 이러한 계산은 제1 단말 상에서 국부적으로 수행되어, 슈터 게임들의 고속 템포, 복합 불릿 커튼들, 및 다수의 적 AI 유닛들과 같은 특징들을 충족시킨다. 예를 들어, 서버 측 상에서 계산이 수행되면, 제1 단말의 로컬 조작-관련 정보는 서버에 송신될 필요가 있고, 서버는 계산을 수행하고(서버가 모든 단말들의 디스플레이 콘텐츠를 계산하면, 서버는 과도하게 과한 컴퓨팅 부하를 견디고 매우 낮은 컴퓨팅 효율을 가짐), 제1 단말은 다음으로 서버에 의해 전달되는 디스플레이 콘텐츠를 수신한다. 송신을 위한 시간 비용 및 서버에 의한 계산을 위한 시간 비용 양자 모두가 높아서, 높은 디스플레이 레이턴시를 초래한다. 슈터 게임들은 실시간 디스플레이를 고도로 요구한다. 따라서, 디스플레이될 필요가 있는 제1 콘텐츠가 제1 단말 상에서 국부적으로 계산될 때 전술한 문제점들이 해결된다.
제1 콘텐츠와 동시에 디스플레이될 필요가 있는 제2 콘텐츠는 게임 서버 또는 제2 단말로부터 획득될 수 있다. 일부 레이턴시가 존재하더라도, 제1 단말 상의 로컬 제1 조작자는 크게 영향을 받지 않는다. 동일한 시간에, 제1 조작자는 동료(제2 조작자)의 관련 게임 장면을 관찰할 수 있어, 제1 조작자 및 제2 조작자가 게임에서 협력하는 것을 편리하게 한다.
제1 콘텐츠를 획득하기 위한 방법은 제1 콘텐츠와 동시에 디스플레이될 필요가 있는 제2 콘텐츠를 획득하는데 사용될 수 있다. 이러한 방식으로, 단말들이 일관된 게임 화면 콘텐츠를 갖는 것이 보장될 수 있고, 그렇게 함으로써 게임 참가자들의 게임 경험을 개선한다.
디스플레이 유닛(98)은 제1 클라이언트 상에서 제1 콘텐츠 및 제2 콘텐츠를 동시에 디스플레이하도록 구성된다.
이러한 실시예에서의 검출 유닛(92)은 본 출원의 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법에서의 단계 S202를 수행하도록 구성될 수 있고, 이러한 실시예에서의 응답 유닛(94)은 본 출원의 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법에서의 단계 S204를 수행하도록 구성될 수 있고, 이러한 실시예에서의 제1 획득 유닛(96)은 본 출원의 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법에서의 단계 S206을 수행하도록 구성될 수 있고, 이러한 실시예에서의 디스플레이 유닛(98)은 본 출원의 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법에서의 단계 S208을 수행하도록 구성될 수 있다.
전술한 모듈들 및 대응하는 단계들에 의해 구현되는 예들 및 애플리케이션 시나리오들은 게임 콘텐츠를 동기식으로 디스플레이하기 위한 전술한 방법에 개시되는 내용과 동일하지만 이에 제한되는 것은 아니다. 이러한 장치의 일부분으로서, 전술한 모듈들은 도 1에 도시되는 하드웨어 환경에서 실행될 수 있거나, 소프트웨어에 의해 구현될 수 있거나, 또는 하드웨어에 의해 구현될 수 있다.
전술한 모듈들을 사용하여, 게임 애플리케이션의 제1 클라이언트가 게임 애플리케이션의 게임의 라운드를 실행할 때, 제1 조작 명령어는 제1 클라이언트 상에서 검출되고, 게임의 라운드에서의 제1 계정의 제1 조작 객체는 제1 조작을 수행하도록 제어된다. 제1 클라이언트는 제1 조작이 수행되는 경우에 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠를 국부적으로 획득하고, 제1 콘텐츠와 동시에 디스플레이될 제2 콘텐츠를 획득하여, 게임의 라운드에서의 제1 계정의 제1 콘텐츠 및 제2 계정의 제2 콘텐츠가 제1 클라이언트 상에서 동시에 디스플레이된다. 이것은 관련 분야에서 동일한 게임의 라운드에서의 다른 조작자들의 게임 콘텐츠가 국부적으로 디스플레이될 수 없다는 기술적 문제점을 해결하고, 그렇게 함으로써 게임 콘텐츠의 동기식 디스플레이의 기술적 효과를 달성한다.
본 출원의 검출 유닛이 게임 애플리케이션의 제1 클라이언트 상에서 게임 애플리케이션의 게임의 라운드를 실행할 때, 제1 클라이언트가 게임 서버에 의해 전달되는 명령어 정보를 수신하는 경우에 명령어 정보의 명령어에 따라 제1 클라이언트 상에서 게임의 라운드가 실행된다. 유사하게, 제2 클라이언트에 대해, 수신된 명령어 정보에 따라 제2 클라이언트 상에서 동일한 라운드의 게임이 실행된다.
제1 획득 유닛은 제2 클라이언트에 의해 전달되는 제1 속성 변경 정보를 획득하도록 구성되는 획득 모듈- 제1 속성 변경 정보는 게임의 라운드에서 제2 조작을 수행하는 제2 조작 객체에 의해 야기되는 속성 변경을 설명하기 위해 구성되고, 제2 조작은 제2 클라이언트 상에서 검출되는 제2 조작 명령어에 의해 트리거되는 조작임 -; 및 제1 속성 변경 정보에 따라 제1 클라이언트 상에서 제2 콘텐츠를 결정하도록 구성되는 결정 모듈을 포함한다.
디스플레이 유닛은 제1 속성 변경 정보에 따라 결정되는 제2 콘텐츠를 디스플레이를 위해 제1 클라이언트의 게임 화면 상에 중첩시키도록 추가로 구성되고, 제1 클라이언트의 게임 화면은 제1 콘텐츠를 디스플레이하는 화면이다. 디스플레이 유닛은, 제1 콘텐츠가 제1 디스플레이 모드에서 제1 클라이언트의 게임 화면 상에 디스플레이되는 동안 제2 디스플레이 모드에서 제1 클라이언트의 게임 화면 상에 중첩된 제2 콘텐츠를 디스플레이하도록 구성되는 디스플레이 모듈을 포함하고, 제1 디스플레이 모드는 제2 디스플레이 모드와 상이하다.
전술한 내용은 제2 클라이언트가 제1 속성 변경 정보를 어떻게 전송하는지를 설명하였다. 제1 클라이언트가 제1 콘텐츠와 동시에 디스플레이될 필요가 있는 제2 콘텐츠를 획득할 때, 동기화 서버를 통해 제2 클라이언트에 의해 전달되는 제1 속성 변경 정보는 데이터 송신 채널에서 수신된다. 제1 속성 변경 정보는 게임의 라운드에서 제2 조작을 수행하는 제2 조작 객체에 의해 야기되는 속성 변경을 설명하기 위해 구성되고, 제2 조작은 제2 클라이언트 상에서 검출되는 제2 조작 명령어에 의해 트리거되는 조작이다. 제2 콘텐츠는 제1 속성 변경 정보에 따라 제1 클라이언트 상에서 국부적으로 결정된다.
예를 들어, 제2 조작 객체의 이동 조작에 대해, 현재 순간에서의 제2 조작 객체의 위치는 이전 순간에서의 제2 조작 객체의 위치 및 제1 속성 변경 정보에 따라 결정될 수 있다. 제1 속성 변경 정보는 제2 조작 객체의 이동의 단위 거리들의 방향 및 수량을 구체적으로 포함할 수 있다.
획득 모듈은, 데이터 송신 채널에서, 동기화 서버를 통해 제2 클라이언트에 의해 전달되는 제1 속성 변경 정보를 수신하도록 추가로 구성되고, 데이터 송신 채널은 동기화 서버에 접속되는 그리고 UDP를 사용하여 데이터를 송신하는 채널이다.
본 출원의 제1 획득 유닛이 제1 조작이 수행되는 경우에 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠를 제1 클라이언트 상에서 국부적으로 획득하는 것은, 제1 조작이 제1 조작 객체의 위치 속성을 변경하는 조작인 경우에 제1 조작 객체의 위치 속성이 변경된 후에 제1 조작 객체가 위치되는 위치를 표시하기 위해 구성되는 제1 콘텐츠를 제1 클라이언트 상에서 국부적으로 결정하는 것; 및 제1 조작이 제1 조작 객체의 슈팅 조작인 경우에 슈팅에 관련된 콘텐츠를 표시하기 위해 구성되는 제1 콘텐츠가 제1 클라이언트 상에서 국부적으로 결정되는 것 중 적어도 하나를 포함한다.
예를 들어, 제1 조작 객체의 이동 조작에 대해, 논리 프레임들 사이의 미리 설정된 시간 간격 및 미리 설정된 객체 이동 속도에 따라 그리고 제1 조작자의 조작 방향을 고려하여, 제1 조작 객체가 각각의 논리 프레임에서 이동할 수 있는 거리 및 이동 후의 제1 조작 객체의 위치가 제1 단말 상에서 국부적으로 결정된다. 제1 콘텐츠는 이동 후의 제1 조작 객체의 위치를 보여주기 위한 콘텐츠를 적어도 포함한다.
다른 예를 들어, 슈팅 조작에 대해, 논리 프레임들사이의 미리 설정된 시간 간격 및 미리 설정된 불릿 이동 속도에 따라 그리고 제1 조작자의 조작 방향을 고려하여, 불릿이 각각의 논리 프레임에서 이동할 수 있는 거리 및 이동 후의 불릿의 위치가 제1 단말 상에서 국부적으로 결정된다. 제1 콘텐츠는 이동 이후의 불릿의 위치를 보여주기 위한 콘텐츠를 적어도 포함하고, AI가 히트되는지 및 AI를 히트하는 효과에 관련된 콘텐츠를 또한 포함한다.
제1 획득 유닛이 제1 조작이 수행되는 경우 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠를 제1 클라이언트 상에서 국부적으로 획득한 후, 제1 획득 유닛은 데이터 송신 채널에서 동기화 서버에 제2 속성 변경 정보를 송신하고, 게임 서버는 제2 속성 변경 정보를 제2 클라이언트에 전달하도록 구성되고, 제2 속성 변경 정보는 위치 속성의 변경 및/또는 슈팅 조작에 관련된 속성의 변경을 설명하기 위해 구성되는 정보이고, 데이터 송신 채널은 동기화 서버에 접속되고 UDP를 사용하여 데이터를 송신하는 채널이다.
본 출원의 장치는 추가로, 제1 클라이언트가 접속해제되는 경우에 제2 클라이언트로부터 게임의 라운드의 현재 진행 시간을 획득하도록 구성되는 제2 획득 유닛 게임의 라운드의 복수의 참조 시간 마크들에서, 현재 진행 시간에 인접하는 그리고 도달한 타겟 참조 시간 마크를 결정하도록 구성되는 결정 유닛- 참조 시간 마크들은 게임의 라운드의 진행 시간에서의 미리 식별된 순간들임 -; 및 제1 클라이언트 상에서 게임의 라운드를 재로딩하도록, 그리고 재로딩된 게임의 라운드의 게임 화면을 제1 화면으로부터 제2 화면으로 업데이트하도록 구성되는 로딩 유닛- 제1 화면은 게임의 라운드에서 타겟 참조 시간 마크에서의 게임 화면이고, 제2 화면은 게임의 라운드에서 현재 진행 시간에서의 게임 화면임 -을 포함한다.
게임 애플리케이션의 제1 클라이언트가 게임 애플리케이션의 게임의 라운드를 실행할 때, 본 출원의 장치는 전송하기 전에 제2 클라이언트에게 전송될 메시지 세트를 처리할 필요가 있다. 이러한 처리는, 메시지 세트에서 제1 메시지들을 전처리하는 단계- 전처리는 메시지 세트에서의 동일한 타입의 복수의 제1 메시지들을 제2 메시지로 대체하는 것을 포함하고, 제2 메시지는 동일한 타입의 복수의 제1 메시지를 표현하기 위해 구성됨 -; 전처리된 메시지 세트에서의 모든 메시지들을 메시지 패킷으로 패킷화하는 단계; 및 메시지 패킷을 압축하는 단계를 포함한다.
본 출원의 실시예들에서, 클라이언트 레벨 일관성 알고리즘은 리드 유닛의 국부화 제어 및 히트 계산과 조합되고, 거동 효과들은 팀 동료의 클라이언트에 동기화되어, 정밀한 제어를 요구하고 다수의 게임 객체들 및 복합 게임 로직 조작들을 갖는 불릿 헬 게임들을 위한 웹-기반 동일-스크린 실시간 게임 프로세스에 대한 해결책을 구현하고, 그렇게 함으로써 성능과 트래픽 사이의 최적의 균형을 찾으면서 충분한 플레이어 경험을 구현한다.
전술한 모듈들 및 대응하는 단계들에 의해 구현되는 예들 및 애플리케이션 시나리오들은 게임 콘텐츠를 동기식으로 디스플레이하기 위한 전술한 방법에 개시되는 내용과 동일하지만 이에 제한되는 것은 아니다. 전술한 모듈들은, 도 1에 도시되는 하드웨어 환경에서, 이러한 장치의 일부분으로서 실행될 수 있고, 소프트웨어를 사용하여 구현될 수 있거나, 또는 하드웨어를 사용하여 구현될 수 있다. 이러한 하드웨어 환경은 네트워크 환경을 포함한다.
본 출원의 실시예에 따르면, 게임 콘텐츠를 동기식으로 디스플레이하기 위한 전술한 방법을 구현하도록 구성되는 서버 또는 단말(즉, 전자 장치)이 추가로 제공된다.
도 10은 본 출원의 실시예에 따른 단말의 구조 블록도이다. 도 10에 도시되는 바와 같이, 단말은 하나 이상의(도면에 하나만 도시됨) 프로세서(1001), 메모리(1003) 및 송신 장치(1005)(예를 들어, 전술한 실시예에서의 전송 장치)를 포함할 수 있다. 도 10에 도시되는 바와 같이, 단말은 입력/출력 디바이스(1007)를 추가로 포함할 수 있다.
메모리(1003)는 소프트웨어 프로그램 및 모듈, 예를 들어, 본 출원의 실시예들에서 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법 및 장치에 대응하는 프로그램 명령어/모듈을 저장하도록 구성될 수 있다. 프로세서(1001)는 메모리(1003)에 저장된 소프트웨어 프로그램 및 모듈을 실행하는 것에 의해 다양한 기능 애플리케이션들 및 데이터 처리를 수행한다, 즉, 게임 콘텐츠를 동기식으로 디스플레이하기 위한 전술한 방법을 구현한다. 메모리(1003)는 고속 RAM을 포함할 수 있고, 비-휘발성 메모리, 예를 들어, 하나 이상의 자기 저장 장치, 플래시 메모리, 또는 다른 비-휘발성 고체-상태 메모리를 추가로 포함할 수 있다. 일부 예들에서, 메모리(1003)는 프로세서(1001)로부터 원격으로 배치되는 메모리를 추가로 포함할 수 있다. 원격 메모리는 네트워크를 통해 단말에 접속될 수 있다. 네트워크의 예들은, 이에 제한되는 것은 아니지만, 인터넷, 인트라넷, 로컬 영역 네트워크, 모바일 통신 네트워크, 및 이들의 조합을 포함한다.
송신 장치(1005)는 네트워크를 사용하여 데이터를 수신하도록 또는 전송하도록 구성되고, 프로세서와 메모리 사이에 데이터를 송신하도록 추가로 구성될 수 있다. 네트워크의 구체적인 예들은 유선 네트워크 및 무선 네트워크를 포함한다. 예에서, 송신 장치(1005)는, 케이블을 사용하여 다른 네트워크 디바이스 및 라우터에 접속될 수 있는, NIC(network interface controller)를 포함하여, 인터넷 또는 로컬 영역 네트워크와 통신한다. 사례에서, 송신 장치(1005)는 RF(radio frequency) 모듈이고, 이러한 RF 모듈은 무선 방식으로 인터넷과 통신하도록 구성된다.
구체적으로, 메모리(1003)는 애플리케이션 프로그램을 저장하도록 구성된다.
프로세서(1001)는, 송신 디바이스(1005)를 통해 메모리(1003)에 저장된 애플리케이션 프로그램을 호출하여, 게임 애플리케이션의 제1 클라이언트 상에서, 게임 애플리케이션의 게임의 라운드가 제1 클라이언트 상에서 실행되는 경우에, 제1 조작 명령어를 검출하는 단계- 제1 클라이언트 상에서 제1 계정이 로그인되고, 게임의 라운드에 참가하는 계정들은 제1 계정 및 제2 계정을 포함하고, 제2 계정은 게임 애플리케이션의 제2 클라이언트 상에서의 로그인을 위해 구성됨 -; 제1 조작 명령어에 응답하여 게임의 라운드에서의 제1 계정의 제1 조작 객체를 제어하여 제1 조작을 수행하는 단계; 제1 조작이 수행되는 경우에 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠를 제1 클라이언트 상에서 국부적으로 획득하고, 제1 콘텐츠와 동시에 디스플레이될 제2 콘텐츠를 획득하는 단계- 제2 콘텐츠는 게임의 라운드에서의 제2 계정의 제2 조작 객체가 제2 조작을 수행하는 경우에 제2 클라이언트 상에 디스플레이될 필요가 있는 콘텐츠임 -; 및 제1 클라이언트 상에서 제1 콘텐츠 및 제2 콘텐츠를 동시에 디스플레이하는 단계를 수행할 수 있다.
프로세서(1001)는 추가로, 제2 클라이언트에 의해 전달되는 제1 속성 변경 정보를 획득하는 단계- 제1 속성 변경 정보는 게임의 라운드에서 제2 조작을 수행하는 제2 조작 객체에 의해 야기되는 속성 변경을 설명하기 위해 구성되고, 제2 조작은 제2 클라이언트 상에서 검출되는 제2 조작 명령어에 의해 트리거되는 조작임 -; 및 제1 속성 변경 정보에 따라 제1 클라이언트 상에서 국부적으로 제2 콘텐츠를 결정하는 단계를 수행하도록 구성된다.
본 출원의 실시예들에서는, 게임 애플리케이션의 제1 클라이언트가 게임 애플리케이션의 게임의 라운드를 실행할 때, 제1 조작 명령어는 제1 클라이언트 상에서 검출되고, 게임의 라운드에서의 제1 계정의 제1 조작 객체는 제1 조작을 수행하도록 제어된다. 제1 클라이언트는 제1 조작이 수행되는 경우에 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠를 국부적으로 획득하고, 제1 콘텐츠와 동시에 디스플레이될 제2 콘텐츠를 획득하여, 게임의 라운드에서의 제1 계정의 제1 콘텐츠 및 제2 계정의 제2 콘텐츠가 제1 클라이언트 상에서 동시에 디스플레이된다. 이것은 관련 분야에서 동일한 게임의 라운드에서의 다른 조작자들의 게임 콘텐츠가 국부적으로 디스플레이될 수 없다는 기술적 문제점을 해결하고, 그렇게 함으로써 게임 콘텐츠의 동기식 디스플레이의 기술적 효과를 달성한다.
이러한 실시예에서의 특정 예에 대해, 게임 콘텐츠를 동기식으로 디스플레이하기 위한 전술한 방법 및 게임 콘텐츠를 동기식으로 디스플레이하기 위한 장치에 설명되는 예들을 참조한다. 상세사항들은 이러한 실시예에서 설명되지 않는다.
해당 분야에서의 통상의 기술자는 도 10에 도시되는 구조가 예시적이기만 하다는 점을 이해할 수 있다. 단말은 (안드로이드 폰 또는 iOS 폰과 같은) 스마트폰, 태블릿 컴퓨터, 팜톱 컴퓨터, MID(mobile Internet device), 또는 PAD와 같은 단말 디바이스일 수 있다. 도 10은 전술한 전자 장치의 구조에 대한 제한을 구성하는 것은 아니다. 예를 들어, 단말은 도 10에 도시되는 것들보다 더 많은 또는 더 적은 (네트워크 인터페이스 및 디스플레이 장치와 같은) 컴포넌트들을 추가로 포함할 수 있거나, 또는 도 10에 도시되는 것과 상이한 구성을 가질 수 있다.
해당 분야에서의 통상의 기술자는 실시예들에서의 방법들의 단계들의 전부 또는 일부가 단말 디바이스에 관련된 하드웨어를 명령하는 것에 의한 프로그램에 의해 구현될 수 있다는 점을 이해할 수 있다. 이러한 프로그램은 컴퓨터 판독가능 저장 매체에 저장될 수 있고, 이러한 저장 매체는 플래시 드라이브, ROM, RAM, 자기 디스크, 광 디스크 등일 수 있다.
본 출원의 실시예는 저장 매체를 추가로 제공한다. 이러한 실시예에서, 저장 매체는 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법의 프로그램 코드를 실행하도록 구성될 수 있다.
이러한 실시예에서, 저장 매체는 전술한 실시예들에서 도시되는 네트워크 상의 복수의 네트워크 디바이스들 중 적어도 하나에 위치될 수 있다.
이러한 실시예에서, 저장 매체는 다음의 단계들을 수행하기 위해 구성되는 프로그램 코드를 저장하도록 구성된다:
S11: 게임 애플리케이션의 제1 클라이언트 상에서, 게임 애플리케이션의 게임의 라운드가 제1 클라이언트 상에서 실행되는 경우에, 제1 조작 명령어를 검출함- 제1 클라이언트 상에서 제1 계정이 로그인되고, 게임의 라운드에 참가하는 계정들은 제1 계정 및 제2 계정을 포함하고, 제2 계정은 게임 애플리케이션의 제2 클라이언트 상에서의 로그인을 위해 구성됨 -.
S12: 제1 조작 명령어에 따라, 제1 조작 명령어에 대응하는 그리고 게임의 라운드에서 제1 계정에 대응하는 제1 조작 객체에 의해 수행되는 제1 조작을 결정함.
S13: 제1 조작 객체가 제1 조작을 수행하는 경우에 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠를 결정하고, 제1 콘텐츠와 동시에 디스플레이될 제2 콘텐츠를 획득함- 제2 콘텐츠는 게임의 라운드에서 제2 계정에 대응하는 제2 조작 객체가 제2 조작을 수행하는 경우에 제2 클라이언트 상에 디스플레이될 필요가 있는 콘텐츠임 -.
S14: 제1 클라이언트 상에서 제1 콘텐츠 및 제2 콘텐츠를 동시에 디스플레이함.
저장 매체는 다음의 단계를 수행하기 위해 구성되는 프로그램 코드를 저장하도록 추가로 구성된다.
S21: 제2 클라이언트에 의해 전달되는 제1 속성 변경 정보를 획득함- 제1 속성 변경 정보는 게임의 라운드에서의 제2 조작을 수행하는 제2 조작 객체에 의해 야기되는 속성 변경을 설명하기 위해 구성되고, 제2 조작은 제2 클라이언트 상에서 검출되는 제2 조작 명령어에 의해 트리거되는 조작임 -.
S22: 제1 속성 변경 정보에 따라 제1 클라이언트 상에서 국부적으로 제2 콘텐츠를 결정함.
이러한 실시예에서의 특정 예에 대해, 게임 콘텐츠를 동기식으로 디스플레이하기 위한 전술한 방법 및 게임 콘텐츠를 동기식으로 디스플레이하기 위한 장치에 설명되는 예들을 참조한다. 상세사항들은 이러한 실시예에서 설명되지 않는다.
이러한 실시예에서, 저장 매체는, 이에 제한되는 것은 아니지만, 프로그램 코드를 저장할 수 있는 USB 플래시 드라이브, ROM, RAM, 이동식 하드 디스크, 자기 디스크, 또는 광 디스크와 같은 매체를 포함할 수 있다.
본 출원의 선행 실시예들의 시퀀스 번호들은 단지 설명 목적을 위한 것이고 실시예들의 선호도를 표시하는 것은 아니다.
전술한 실시예들에서의 집적 유닛이 소프트웨어 기능 유닛의 형태로 구현되고 독립 제품으로서 판매되거나 또는 사용될 때, 이러한 집적 유닛은 전술한 컴퓨터-판독가능 저장 매체에 저장될 수 있다. 이러한 이해에 기초하여, 본 출원의 기술적 해결책들이 본질적으로, 또는 기존 기술에 기여하는 부분이, 또는 기술적 해결책들의 전부 또는 일부가 소프트웨어 제품의 형태로 구현될 수 있다. 이러한 컴퓨터 소프트웨어 제품은 저장 매체에 저장되고 하나 이상의 컴퓨터 디바이스(개인용 컴퓨터, 서버, 네트워크 디바이스 등일 수 있음)에게 본 출원의 실시예들에서 설명되는 방법들의 단계들의 전부 또는 일부를 수행하라고 명령하는 몇몇 명령어들을 포함한다.
본 출원의 전술한 실시예들에서, 실시예들의 설명들은 각각의 초점들을 갖는다. 실시예에서 상세히 설명되지 않은 부분에 대해서는, 다른 실시예들에서의 관련 설명들을 참조한다.
본 출원에서 제공되는 몇몇 실시예들에서, 개시되는 클라이언트는 다른 방식들로 구현될 수 있다는 점이 이해되어야 한다. 예를 들어, 설명된 장치 실시예들은 단지 예시적이다. 예를 들어, 유닛 분할은 단지 논리적 기능 분할이고, 실제 구현 동안 다른 분할일 수 있다. 예를 들어, 복수의 유닛들 또는 컴포넌트들이 조합되거나 또는 다른 시스템에 집적될 수 있거나, 또는 일부 특징들이 무시되거나 또는 수행되지 않을 수 있다. 또한, 디스플레이되는 또는 논의되는 상호 결합들 또는 직접 결합들 또는 통신 접속들은 일부 인터페이스들을 사용하여 구현될 수 있다. 유닛들 또는 모듈들 사이의 간접 결합들 또는 통신 접속들은 전자적, 기계적, 또는 다른 형태들로 구현될 수 있다.
개별 부분들로서 설명되는 유닛들은 물리적으로 개별일 수 있거나 또는 그렇지 않을 수 있고, 유닛들로서 디스플레이되는 부분들은 물리적 유닛들일 수 있거나 또는 그렇지 아닐 수 있고, 하나의 위치에 위치될 수 있거나, 또는 복수의 네트워크 유닛들 상에 분산될 수 있다. 이러한 유닛들의 일부 또는 전부는 실시예들의 해결책들의 목적들을 달성하도록 실제 요건들에 따라 선택될 수 있다.
또한, 본 출원의 실시예들에서의 기능 유닛들이 하나의 처리 유닛 내로 집적될 수 있거나, 또는 이러한 유닛들 각각이 단독으로 물리적으로 존재할 수 있거나, 또는 2개 이상의 유닛들이 하나의 유닛 내로 집적된다. 이러한 집적 유닛은 하드웨어의 형태로 구현될 수 있거나, 또는 소프트웨어 기능 유닛의 형태로 구현될 수 있다.
전술한 설명들은 단지 본 출원의 일부 구현들이고, 해당 분야에서의 통상의 기술자는 본 출원의 원리로부터 벗어나지 않고 몇몇 개선들 및 수정들을 추가로 행할 수 있다. 이러한 개선들 및 수정들은 본 출원의 보호 범위 내에 속하는 것으로서 고려되도록 또한 의도된다.

Claims (15)

  1. 단말 디바이스에 적용되는, 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법으로서,
    게임 애플리케이션의 제1 클라이언트 상에서, 상기 게임 애플리케이션의 게임의 라운드가 상기 제1 클라이언트 상에서 실행되는 경우에, 제1 조작 명령어를 검출하는 단계- 상기 제1 클라이언트는 상기 단말 디바이스 상에 설치되고, 상기 제1 클라이언트 상에서 제1 계정이 로그인되고, 게임의 라운드에 참가하는 계정들은 상기 제1 계정 및 제2 계정을 포함하고, 상기 제2 계정은 상기 게임 애플리케이션의 제2 클라이언트 상에서의 로그인을 위해 구성되고, 상기 제2 클라이언트는 제2 단말 디바이스 상에 설치됨 -;
    상기 제1 조작 명령어에 따라, 상기 제1 조작 명령어에 대응하는 그리고 게임의 라운드에서 상기 제1 계정에 대응하는 제1 조작 객체에 의해 수행되는 제1 조작을 결정하는 단계; 상기 제1 조작 객체가 상기 제1 조작을 수행하는 경우에 상기 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠를 결정하는 단계, 및 상기 제1 콘텐츠와 동시에 디스플레이될 제2 콘텐츠를 획득하는 단계- 상기 제2 콘텐츠는 게임의 라운드에서 상기 제2 계정에 대응하는 제2 조작 객체가 제2 조작을 수행하는 경우에 상기 제2 클라이언트 상에 디스플레이될 필요가 있는 콘텐츠이고, 상기 제1 콘텐츠와 동시에 디스플레이될 제2 콘텐츠를 획득하는 단계는:
    상기 제2 클라이언트에 의해 전달되는 제1 속성 변경 정보를 획득하는 단계 - 데이터 송신 채널에서, 동기화 서버를 통해 상기 제2 클라이언트에 의해 전달되는 상기 제1 속성 변경 정보를 수신하는 단계를 포함하고, 상기 데이터 송신 채널은 상기 동기화 서버에 접속되고 UDP(User Datagram Protocol)를 사용하여 데이터를 송신하는 채널이고, 상기 제1 속성 변경 정보는 게임의 라운드에서 상기 제2 조작을 수행하는 상기 제2 조작 객체에 의해 야기되는 속성 변경을 설명하기 위해 구성되고, 상기 제2 조작은 상기 제2 클라이언트 상에서 검출되는 제2 조작 명령어에 의해 트리거되는 조작임 -; 및
    상기 제1 속성 변경 정보에 따라 상기 제1 클라이언트 상에서 상기 제2 콘텐츠를 결정하는 단계
    를 포함함 -; 및
    상기 제1 클라이언트 상에서 상기 제1 콘텐츠 및 상기 제2 콘텐츠를 동시에 디스플레이하는 단계 - 상기 제1 속성 변경 정보에 따라 결정되는 상기 제2 콘텐츠를 디스플레이를 위해 상기 제1 클라이언트의 게임 화면 상에 중첩시키는 단계를 포함하고, 상기 제1 클라이언트의 게임 화면은 상기 제1 콘텐츠를 디스플레이하는 화면임 -
    를 포함하고,
    상기 제1 속성 변경 정보에 따라 결정되는 상기 제2 콘텐츠를 디스플레이를 위해 상기 제1 클라이언트의 게임 화면 상에 중첩시키는 단계는,
    상기 제1 콘텐츠가 제1 디스플레이 모드에서 상기 제1 클라이언트의 게임 화면 상에 디스플레이되는 동안 제2 디스플레이 모드에서 상기 제1 클라이언트의 게임 화면 상에 상기 중첩된 제2 콘텐츠를 디스플레이하는 단계- 상기 제1 디스플레이 모드는 투명도 또는 선의 타입(line type)들의 관점에서 상기 제2 디스플레이 모드와 상이함 -를 포함하는 방법.
  2. 제1항에 있어서, 상기 제1 조작 객체가 상기 제1 조작을 수행하는 경우에 상기 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠를 결정하는 단계는,
    상기 제1 조작이 상기 제1 조작 객체의 위치 속성을 변경하는 조작인 경우에 상기 제1 조작 객체의 위치 속성이 변경된 후에 상기 제1 조작 객체가 위치되는 위치를 표시하기 위해 구성되는 제1 콘텐츠를 상기 제1 클라이언트 상에서 결정하는 단계; 및
    상기 제1 조작이 상기 제1 조작 객체의 슈팅 조작인 경우에 슈팅에 관련된 콘텐츠를 표시하기 위해 구성되는 제1 콘텐츠를 상기 제1 클라이언트 상에서 결정하는 단계 중 적어도 하나를 포함하는 방법.
  3. 제2항에 있어서, 상기 제1 조작이 수행되는 경우에 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠가 상기 제1 클라이언트 상에서 획득된 후에, 상기 방법은 추가로,
    상기 데이터 송신 채널에서 상기 동기화 서버에 제2 속성 변경 정보를 송신하는 단계- 상기 동기화 서버는 상기 제2 속성 변경 정보를 상기 제2 클라이언트에 전달하도록 구성되고, 상기 제2 속성 변경 정보는 상기 위치 속성의 변경 및/또는 상기 슈팅 조작에 관련된 속성의 변경을 설명하기 위해 구성되는 정보임 -를 포함하는 방법.
  4. 제1항에 있어서, 게임 애플리케이션의 게임의 라운드가 상기 게임 애플리케이션의 제1 클라이언트 상에서 실행되는 것은,
    명령어 정보의 명령어에 따라 상기 명령어 정보가 상기 제1 클라이언트 상에서 수신되는 경우에 상기 제1 클라이언트 상에서 게임의 라운드를 실행하는 단계- 상기 명령어 정보는 상기 제1 클라이언트 및 상기 제2 클라이언트에게 동일한 순간에 게임의 라운드를 실행하라고 명령하기 위해 구성되고, 상기 명령어 정보는 추가로 상기 제1 클라이언트 및 상기 제2 클라이언트에게 동일한 순간에 비-플레이어 제어 객체에 관련된 이벤트들을 수행하라고 명령하기 위해 구성됨 -를 포함하는 방법.
  5. 제1항에 있어서, 게임 애플리케이션의 게임의 라운드가 상기 게임 애플리케이션의 제1 클라이언트 상에서 실행되고 상기 제1 클라이언트가 접속해제되는 경우에, 상기 방법은 추가로,
    상기 제2 클라이언트로부터 게임의 라운드의 현재 진행 시간을 획득하는 단계;
    게임의 라운드의 복수의 참조 시간 마크들에서, 상기 현재 진행 시간에 인접하는 그리고 도달한 타겟 참조 시간 마크를 결정하는 단계- 상기 참조 시간 마크들은 게임의 상기 라운드의 진행 시간에서의 미리 식별된 순간들임 -; 및
    상기 제1 클라이언트 상에서 게임의 라운드를 재로딩하는 단계, 및 상기 재로딩된 게임의 라운드의 게임 화면을 제1 화면으로부터 제2 화면으로 업데이트하는 단계- 상기 제1 화면은 게임의 라운드에서 상기 타겟 참조 시간 마크에서의 게임 화면이고, 상기 제2 화면은 게임의 라운드에서 상기 현재 진행 시간에서의 게임 화면임 -를 포함하는 방법.
  6. 제3항에 있어서, 상기 데이터 송신 채널에서 상기 동기화 서버에 제2 속성 변경 정보를 송신하는 단계 전에, 상기 방법은 추가로,
    상기 속성 변경 정보를 송신하는 제1 메시지들을 전처리하는 단계- 상기 전처리하는 단계는 동일한 타입의 복수의 제1 메시지들로부터 제2 메시지를 생성하는 단계를 포함하고, 상기 제2 메시지는 상기 동일한 타입의 복수의 제1 메시지들을 표현하기 위해 구성됨 -;
    모든 상기 제2 메시지들을 메시지 패킷으로 패킷화하는 단계; 및
    상기 메시지 패킷을 압축하는 단계를 포함하는 방법.
  7. 프로세서 및 상기 프로세서에 접속되는 메모리를 포함하는, 게임 콘텐츠를 동기식으로 디스플레이하기 위한 장치로서, 상기 메모리는 머신 판독가능 명령어 유닛을 저장하고, 상기 머신 판독가능 명령어 유닛은,
    게임 애플리케이션의 제1 클라이언트 상에서, 상기 게임 애플리케이션의 게임의 라운드가 상기 제1 클라이언트 상에서 실행되는 경우에, 제1 조작 명령어를 검출하도록 구성되는 검출 유닛- 상기 제1 클라이언트 상에서 제1 계정이 로그인되고, 게임의 라운드에 참가하는 계정들은 상기 제1 계정 및 제2 계정을 포함하고, 상기 제2 계정은 상기 게임 애플리케이션의 제2 클라이언트 상에서의 로그인을 위해 구성됨 -;
    상기 제1 조작 명령어에 따라, 상기 제1 조작 명령어에 대응하는 그리고 게임의 라운드에서 상기 제1 계정에 대응하는 제1 조작 객체에 의해 수행되는 제1 조작을 결정하도록 구성되는 응답 유닛;
    상기 제1 조작 객체가 상기 제1 조작을 수행하는 경우에 상기 제1 클라이언트 상에 디스플레이될 필요가 있는 제1 콘텐츠를 결정하도록, 그리고 상기 제1 콘텐츠와 동시에 디스플레이될 제2 콘텐츠를 획득하도록 구성되는 제1 획득 유닛- 상기 제2 콘텐츠는 게임의 라운드에서 상기 제2 계정에 대응하는 제2 조작 객체가 제2 조작을 수행하는 경우에 상기 제2 클라이언트 상에 디스플레이될 필요가 있는 콘텐츠이고, 상기 제1 획득 유닛은:
    상기 제2 클라이언트에 의해 전달되는 제1 속성 변경 정보를 획득하도록 구성되는 획득 모듈 - 상기 제2 클라이언트에 의해 전달되는 상기 제1 속성 변경 정보를 획득하는 것은 데이터 송신 채널에서, 동기화 서버를 통해 상기 제2 클라이언트에 의해 전달되는 상기 제1 속성 변경 정보를 수신하는 것을 포함하고, 상기 데이터 송신 채널은 상기 동기화 서버에 접속되고 UDP(User Datagram Protocol)를 사용하여 데이터를 송신하는 채널이고, 상기 제1 속성 변경 정보는 게임의 라운드에서 상기 제2 조작을 수행하는 상기 제2 조작 객체에 의해 야기되는 속성 변경을 설명하기 위해 구성되고, 상기 제2 조작은 상기 제2 클라이언트 상에서 검출되는 제2 조작 명령어에 의해 트리거되는 조작임-; 및
    상기 제1 속성 변경 정보에 따라 상기 제1 클라이언트 상에서 상기 제2 콘텐츠를 결정하도록 구성되는 결정 모듈
    을 포함함 -; 및
    상기 제1 클라이언트 상에서 상기 제1 콘텐츠 및 상기 제2 콘텐츠를 동시에 디스플레이하도록, 그리고 상기 제1 속성 변경 정보에 따라 결정되는 상기 제2 콘텐츠를 디스플레이를 위해 상기 제1 클라이언트의 게임 화면 상에 중첩시키도록 구성되는 디스플레이 유닛 - 상기 제1 클라이언트의 게임 화면은 상기 제1 콘텐츠를 디스플레이하는 화면임 -을 포함하고,
    상기 디스플레이 유닛은,
    상기 제1 콘텐츠가 제1 디스플레이 모드에서 상기 제1 클라이언트의 게임 화면 상에 디스플레이되는 동안 제2 디스플레이 모드에서 상기 제1 클라이언트의 게임 화면 상에 상기 중첩된 제2 콘텐츠를 디스플레이하도록 구성되는 디스플레이 모듈- 상기 제1 디스플레이 모드는 투명도 또는 선의 타입들의 관점에서 상기 제2 디스플레이 모드와 상이함 -을 포함하는, 장치.
  8. 제7항에 있어서, 상기 장치는 추가로,
    상기 제1 클라이언트가 접속해제되는 경우에 상기 제2 클라이언트로부터 게임의 라운드의 현재 진행 시간을 획득하도록 구성되는 제2 획득 유닛;
    게임의 라운드의 복수의 참조 시간 마크들에서, 상기 현재 진행 시간에 인접하는 그리고 도달한 타겟 참조 시간 마크를 결정하도록 구성되는 결정 유닛- 상기 참조 시간 마크들은 게임의 상기 라운드의 진행 시간에서의 미리 식별된 순간들임 -; 및
    상기 제1 클라이언트 상에서 게임의 라운드를 재로딩하도록, 그리고 상기 재로딩된 게임의 라운드의 게임 화면을 제1 화면으로부터 제2 화면으로 업데이트하도록 구성되는 로딩 유닛- 상기 제1 화면은 게임의 라운드에서 상기 타겟 참조 시간 마크에서의 게임 화면이고, 상기 제2 화면은 게임의 라운드에서 상기 현재 진행 시간에서의 게임 화면임 -을 포함하는 장치.
  9. 저장된 컴퓨터 프로그램을 포함하는, 컴퓨터 판독 가능 저장 매체로서, 상기 컴퓨터 프로그램은 제1항 내지 제6항 중 어느 한 항에 따른 방법을 수행하도록 실행되는 컴퓨터 판독 가능 저장 매체.
  10. 전자 장치로서, 메모리, 프로세서, 및 상기 메모리 상에 저장되는 그리고 상기 프로세서 상에서 실행될 수 있는 컴퓨터 프로그램을 포함하고, 상기 프로세서는 제1항 내지 제6항 중 어느 한 항에 따른 방법을 수행하기 위해 상기 컴퓨터 프로그램을 실행하도록 구성되는 전자 장치.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR1020207001126A 2017-07-24 2018-07-24 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법 및 장치, 및 저장 매체 KR102325311B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710610002.6 2017-07-24
CN201710610002.6A CN107423015B (zh) 2017-07-24 2017-07-24 游戏内容的同步显示方法和装置
PCT/CN2018/096805 WO2019020006A1 (zh) 2017-07-24 2018-07-24 游戏内容的同步显示方法、装置及存储介质

Publications (2)

Publication Number Publication Date
KR20200018641A KR20200018641A (ko) 2020-02-19
KR102325311B1 true KR102325311B1 (ko) 2021-11-12

Family

ID=60430264

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207001126A KR102325311B1 (ko) 2017-07-24 2018-07-24 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법 및 장치, 및 저장 매체

Country Status (6)

Country Link
US (1) US11266913B2 (ko)
EP (1) EP3660656A4 (ko)
JP (1) JP7169338B2 (ko)
KR (1) KR102325311B1 (ko)
CN (1) CN107423015B (ko)
WO (1) WO2019020006A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423015B (zh) 2017-07-24 2018-07-20 腾讯科技(深圳)有限公司 游戏内容的同步显示方法和装置
CN108159691B (zh) * 2017-12-06 2020-07-14 北京像素软件科技股份有限公司 游戏状态同步方法及系统
CN108057241A (zh) * 2017-12-12 2018-05-22 苏州蜗牛数字科技股份有限公司 一种竞技类型游戏服务器系统及其交互方法
CN109276883B (zh) * 2018-09-14 2022-05-31 网易(杭州)网络有限公司 游戏信息的同步方法、服务端、客户端、介质及电子设备
CN109481935A (zh) * 2018-12-17 2019-03-19 网易(杭州)网络有限公司 游戏数据处理方法及装置
CN109718540B (zh) * 2018-12-26 2023-02-28 网易(杭州)网络有限公司 游戏中的漂移效果的实现方法、装置、设备及存储介质
CN111381666B (zh) * 2018-12-27 2023-08-01 北京右划网络科技有限公司 基于滑动手势的控制方法、装置,终端设备及存储介质
CN109889656B (zh) * 2018-12-29 2021-04-20 深圳Tcl新技术有限公司 一种数据读取方法、装置、设备及存储介质
CN109758766B (zh) * 2019-01-14 2021-10-22 腾讯科技(深圳)有限公司 一种角色状态同步的方法以及相关装置
WO2020191040A1 (en) * 2019-03-18 2020-09-24 Google Llc Timing compensation and correlation of input with frames in a video game application
CN110162255B (zh) * 2019-05-30 2021-06-01 腾讯科技(深圳)有限公司 单机程序的运行方法、装置、设备及存储介质
CN110639206A (zh) * 2019-09-20 2020-01-03 北京代码乾坤科技有限公司 游戏数据同步方法、装置、存储介质及处理器
CN111045946A (zh) * 2019-12-12 2020-04-21 珠海豹趣科技有限公司 一种游戏测试的方法、装置及电子设备
CN111701232B (zh) * 2020-06-15 2023-04-25 网易(杭州)网络有限公司 游戏画面的处理方法、装置及电子装置
CN111917866B (zh) * 2020-07-29 2021-08-31 腾讯科技(深圳)有限公司 一种数据同步的方法、装置、设备及存储介质
CN111953782A (zh) * 2020-08-14 2020-11-17 上海曼恒数字技术股份有限公司 一种多通道数据的同步方法、装置、介质及设备
CN112306321B (zh) * 2020-10-30 2022-03-11 腾讯科技(深圳)有限公司 一种信息展示方法、装置、设备及计算机可读存储介质
CN113181633B (zh) * 2021-03-26 2024-02-13 百果园技术(新加坡)有限公司 一种游戏数据同步方法、系统及装置
CN113101639A (zh) * 2021-04-19 2021-07-13 网易(杭州)网络有限公司 游戏中的目标攻击方法、装置和电子设备
CN113521727A (zh) * 2021-07-22 2021-10-22 网易(杭州)网络有限公司 一种游戏重连方法、装置、设备及存储介质
CN113633989A (zh) * 2021-08-13 2021-11-12 网易(杭州)网络有限公司 游戏对象的显示控制方法、装置和电子设备
CN114225388B (zh) * 2021-12-23 2023-11-07 深圳市注能科技有限公司 机器人游戏系统和游戏方法
CN114491684B (zh) * 2022-01-07 2022-09-06 广州三七极耀网络科技有限公司 终端设备协同显示方法、系统、终端设备及介质
CN115129290A (zh) * 2022-07-20 2022-09-30 北京达佳互联信息技术有限公司 数据同步方法、装置、电子设备及计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6159458B1 (ja) * 2016-09-30 2017-07-05 株式会社コロプラ ゲームプログラム、方法、および情報処理装置

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3422596B2 (ja) * 1995-07-07 2003-06-30 インターナショナル・ビジネス・マシーンズ・コーポレーション オブジェクトの表示方法
KR100422096B1 (ko) * 2000-11-09 2004-03-10 시노조익 주식회사 온라인 게임의 데이터 처리시스템 및 그 처리방법
JP2003199060A (ja) * 2001-12-26 2003-07-11 Bellsystem 24 Inc スポーツ映像配信システムおよび映像処理システム
WO2006058408A1 (en) * 2004-09-21 2006-06-08 Timeplay Entertainment Corporation System, method and handheld controller for multi-player gaming
WO2006043473A1 (ja) * 2004-10-21 2006-04-27 Mediaseek Inc. 同期通信方法および同期通信装置
KR20060083051A (ko) * 2005-01-14 2006-07-20 엘지전자 주식회사 네트워크 게임의 입출력 기반 게임동기화 방법 및 이를위한 이동통신단말기
US20060236247A1 (en) * 2005-04-15 2006-10-19 General Electric Company Interface to display contextual patient information via communication/collaboration application
CN100441256C (zh) * 2005-06-19 2008-12-10 珠海市西山居软件有限公司 一种网络游戏系统及其实现方法
JP4350722B2 (ja) 2006-05-22 2009-10-21 株式会社スクウェア・エニックス 通信ゲームシステム、及びゲームの進行方法
CN1945587A (zh) * 2006-10-27 2007-04-11 北京金山软件有限公司 一种网络游戏中玩家乘坐交通工具的实现方法及系统
US8650253B2 (en) * 2008-02-06 2014-02-11 Sony Online Entertainment Llc System and method for integrating ancillary content into applications
US8734256B2 (en) * 2008-09-15 2014-05-27 Panasonic Avionics Corporation System and method for hosting multiplayer games
US9723319B1 (en) * 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding
JP2014517749A (ja) * 2011-06-14 2014-07-24 エンパイア テクノロジー ディベロップメント エルエルシー 現実の状況からのシミュレーションの開始
US9868062B2 (en) * 2012-03-13 2018-01-16 Sony Interactive Entertainment America Llc System, method, and graphical user interface for controlling an application on a tablet
US9174085B2 (en) * 2012-07-31 2015-11-03 John Paul Foley Exercise system and method
CN102968549B (zh) * 2012-10-17 2016-01-20 北京大学 基于智能移动终端设备的多人在线交互方法与系统
CN103902546A (zh) * 2012-12-25 2014-07-02 腾讯科技(深圳)有限公司 一种游戏音乐的处理方法和客户端
US10712936B2 (en) * 2013-03-18 2020-07-14 Lenovo (Beijing) Co., Ltd. First electronic device and information processing method applicable to first or second electronic device comprising a first application
US9674236B2 (en) * 2013-12-12 2017-06-06 Samsung Electronics Co., Ltd. Method for syncronized real-time sharing the display of ordered lists of content
CN106457045A (zh) * 2014-01-21 2017-02-22 I/P解决方案公司 用于在大尺寸显示系统上描绘具有用户可选图标的入口的方法和系统
CN104007946B (zh) * 2014-05-12 2017-03-29 可牛网络技术(北京)有限公司 多个用户的显示画面的展示方法和装置
CN105530536B (zh) * 2014-09-28 2020-03-31 阿里巴巴集团控股有限公司 提供媒体关联信息的方法及装置
CN105183338B (zh) * 2015-07-20 2019-02-01 西安拾忆信息科技有限公司 对象处理方法
CN105511778A (zh) * 2015-11-25 2016-04-20 网易(杭州)网络有限公司 一种控制多个游戏画面显示的交互方法及装置
CN105487802B (zh) * 2015-11-30 2020-03-31 努比亚技术有限公司 屏幕投影管理方法、装置和系统
CN106303743B (zh) * 2016-08-10 2019-05-28 乐蜜有限公司 一种直播画面显示方法、装置及电子设备
CN106341427A (zh) * 2016-11-17 2017-01-18 腾讯科技(深圳)有限公司 一种基于移动终端的对象扫描方法及移动终端
JP6471774B2 (ja) * 2017-07-04 2019-02-20 株式会社セガゲームス 情報処理システム及び動画再生方法
CN107423015B (zh) * 2017-07-24 2018-07-20 腾讯科技(深圳)有限公司 游戏内容的同步显示方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6159458B1 (ja) * 2016-09-30 2017-07-05 株式会社コロプラ ゲームプログラム、方法、および情報処理装置

Also Published As

Publication number Publication date
EP3660656A1 (en) 2020-06-03
KR20200018641A (ko) 2020-02-19
WO2019020006A1 (zh) 2019-01-31
JP2020528314A (ja) 2020-09-24
JP7169338B2 (ja) 2022-11-10
CN107423015B (zh) 2018-07-20
US20200155946A1 (en) 2020-05-21
CN107423015A (zh) 2017-12-01
EP3660656A4 (en) 2020-10-28
US11266913B2 (en) 2022-03-08

Similar Documents

Publication Publication Date Title
KR102325311B1 (ko) 게임 콘텐츠를 동기식으로 디스플레이하기 위한 방법 및 장치, 및 저장 매체
US10004989B2 (en) Methods and apparatus for hiding latency in network multiplayer games
US11975266B2 (en) Attribute value restoration method and apparatus, storage medium, and electronic device
EP2044984A1 (en) Method for adjusting character ability value and server for controlling the same
WO2021135623A1 (zh) 虚拟道具的控制方法和装置、存储介质及电子设备
US11229842B2 (en) Method and apparatus for synchronously playing animation, storage medium, and electronic apparatus
CN111298430A (zh) 虚拟道具控制方法和装置、存储介质及电子装置
CN107998654B (zh) 加速度的调整方法和装置、存储介质、电子装置
EP2994830A1 (en) Information processing apparatus, control method and program
CN108310771A (zh) 任务的执行方法和装置、存储介质、电子装置
CN112691376B (zh) 虚拟对象的控制方法和装置、存储介质及电子设备
CN111589121A (zh) 信息的显示方法和装置、存储介质、电子装置
US11364440B2 (en) Computer video game application performance result
KR20220044589A (ko) 가상 조작 객체 제어 방법 및 기기, 저장 매체, 그리고 전자 기기
CN111202978B (zh) 虚拟道具的获取方法和装置、存储介质及电子装置
CN112107856B (zh) 命中反馈方法、装置和存储介质及电子设备
WO2023226565A1 (zh) 虚拟角色的追寻方法和装置、存储介质、设备和程序产品
CN111195432B (zh) 对象显示方法和装置、存储介质及电子装置
WO2023077926A1 (zh) 虚拟角色的控制方法和装置、存储介质及电子设备
CN111135566A (zh) 虚拟道具的控制方法和装置、存储介质及电子装置
CN113827962B (zh) 虚拟对象的显示方法、装置和存储介质及电子设备
CN114011054A (zh) 游戏中网络延迟处理方法、装置和电子设备
Vu 360 Gunner-A 2D platformer to evaluate network latency compensation
CN117482529A (zh) 账号匹配方法和装置、存储介质及电子设备
CN111111208A (zh) 目标应用的启动方法和装置、存储介质及电子装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)