KR20140094422A - 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법 및 그 시스템 - Google Patents

로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법 및 그 시스템 Download PDF

Info

Publication number
KR20140094422A
KR20140094422A KR1020130119248A KR20130119248A KR20140094422A KR 20140094422 A KR20140094422 A KR 20140094422A KR 1020130119248 A KR1020130119248 A KR 1020130119248A KR 20130119248 A KR20130119248 A KR 20130119248A KR 20140094422 A KR20140094422 A KR 20140094422A
Authority
KR
South Korea
Prior art keywords
frame
shot
attack
signal
character
Prior art date
Application number
KR1020130119248A
Other languages
English (en)
Other versions
KR101488653B1 (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 KR20140094422A publication Critical patent/KR20140094422A/ko
Application granted granted Critical
Publication of KR101488653B1 publication Critical patent/KR101488653B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/027Speed or phase control by the received code signals, the signals containing no special synchronisation information extracting the synchronising or clock signal from the received signal spectrum, e.g. by using a resonant or bandpass circuit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 게임서버를 통하여 통신망으로 상호 연결된 로컬 클라이언트와 하나 이상의 리모트 클라이언트에 공통으로 구현되는 온라인 게임 가상공간에서, 로컬 클라이언트의 조작자에 의해 입력된 공격신호에 의한 공격 캐릭터의 타격 프레임 출력과 상기 공격신호의 대상이 되는 피격 캐릭터의 피격 프레임 출력을 동기화시키는 방법으로서, (a) 상기 공격신호가 입력된 로컬 클라이언트가 상기 공격신호 입력에 대한 공격입력신호를 상기 게임서버로 전송하는 단계; (b) 상기 공격입력 신호를 전송받은 게임서버가 상기 공격신호에 대한 상기 공격 캐릭터의 공격 프레임 출력을 개시하도록 하는 공격개시 신호를 상기 로컬 클라이언트와 리모트 클라이언트에 전송하는 단계; (c) 상기 공격개시 신호를 전송받은 로컬 클라이언트와 리모트 클라이언트가 상기 공격신호에 대한 공격 캐릭터의 공격 프레임 출력을 개시하고, 동시에 상기 로컬 클라이언트가 상기 타격 프레임 출력 시에 상기 피격 캐릭터의 피격 프레임이 출력되도록 하는 피격예약신호를 생성하여 상기 게임서버로 전송하는 단계; (d) 상기 피격예약신호를 전송받은 게임서버가 상기 피격예약신호에 따라서 상기 피격 캐릭터의 피격 프레임이 출력되도록 하는 피격실행신호를 상기 로컬 클라이언트와 리모트 클라이언트로 전송하는 단계; (e) 상기 피격실행신호를 전송받은 로컬 클라이언트와 리모트 클라이언트가 상기 피격실행신호에 따라서 상기 피격 캐릭터의 피격 프레임을 출력하는 단계; 를 포함하는 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임의 동기화 방법에 관한 것이다. 본 발명에 따르면, 로컬 클라이언트와 리모트 클라이언트에서 타격 프레임과 피격 프레임이 동기화될 수 있는 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법 및 그 시스템을 제공할 수 있다.

Description

로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법 및 그 시스템{METHOD AND SYSTEM FOR SYNCHRONIZING GAME OBJECT INFOMATION BETWEEN LOCAL CLIENT AND REMOTE CLIENT}
본 발명은 프레임 동기화 방법 및 그 시스템에 관한 것으로, 보다 상세하게는 로컬 클라이언트와 리모트 클라이언트에서 공격 캐릭터의 타격 프레임과 피격 캐릭터의 피격 프레임이 동기화될 수 있는 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법 및 그 시스템에 관한 것이다.
본 발명은 프레임 동기화 방법 및 그 시스템에 관한 것이다.
게임서버를 통해 통신망으로 상호 연결된 로컬 클라이언트와 리모트 클라이언트에서 온라인 게임의 가상공간이 구현되고 그 가상공간에서 구동되는 캐릭터들간의 공격 및 피격에 대한 프레임을 동기화 시킬 필요가 있다.
도 1은 종래의 액션 게임을 구성하는 동작을 공격과 피격으로 나누어 설명하기 위한 표이다.
일반적으로, 액션 게임을 구현하기 위해서는 전투 동작을 크게 공격과 피격으로 나누어 도 1과 같은 형태로 구성한다(상기의 동작은 앞으로 서술할 기술을 설명하고자 만든 하나의 예일 뿐, 실제 게임에서는 위의 각 동작 별로 무기와 스킬에 따라 포즈와 프레임 수에 변화를 준 다양한 변형이 존재할 수 있다).
상기 공격과 피격을 나누어 구성한다는 것은 공격자가 취하는 공격 동작의 종류에 따라 피격자의 피격 동작을 표시한다는 것으로서, 액션 게임이 요구하는 빠른 조작과 응답의 확보를 위해서는 공격자가 취하는 공격 동작의 타격 프레임에 맞추어 피격자가 취하는 피격 동작의 피격 프레임을 일치시켜야 한다. 액션 게임은 이러한 동작 사이의 상성과 전후관계, 타이밍을 재는 것을 기본 메커니즘으로 하는데, 한 사람이 하는 싱글 플레이 게임, 혹은 2~4인 정도의 사람이 한 대의 게임 머신을 사용하는 콘솔 게임에서는 이러한 히트 프레임 일치, 상성, 전후관계, 타이밍 등과 관련된 문제를 해결하는 데 별다른 어려움이 없으나 온라인 멀티플레이에서는 이러한 액션성의 확보와 서버-클라이언트 및 복수 클라이언트 사이의 상태를 일치시키는 것이 서로 대치되는 상황이 되어 많은 어려움을 일으킨다.
온라인 멀티플레이에서 이러한 타격과 피격을 처리하는 종래의 기술은 이러한 어려움을 해결하는 데 두 가지 방법을 사용한다. 그것은 클라이언트 주도 동기화, 그리고 서버 주도 동기화로, 대기-공격-피격의 과정을 통해 각각의 방식을 해설하면 다음과 같다.
도 2는 종래의 프레임 동기화 기술 중 클라이언트 주도 동기화를 설명하기 위한 설명도이다.
종래의 클라이언트 주도 동기화 기술은 도 2에 도시된 바와 같이, 입력을 기준으로 동기화하는 방식으로, 공격신호가 입력된 로컬 클라이언트는 게임서버로 공격신호를 전송한 뒤, 게임서버는 이를 리모트 클라이언트에 전송하고, 로컬 클라이언트는 입력받은 공격신호에 따라, 리모트 클라이언트는 게임서버로부터 전송받은 공격신호에 따라 공격 캐릭터의 공격 동작을 출력한다. 이 때 로컬 클라이언트에서는 공격 캐릭터의 타격 프레임과 공격신호의 대상이 되는 피격 캐릭터의 피격 프레임을 일치시켜 출력하고, 타격 프레임과 피격 프레임이 일치되는 히트 프레임이 출력되는 시점에 피격 캐릭터에 대한 피격신호를 한 번 더 게임서버로 전송한다. 그 다음 상기 게임서버가 리모트 클라이언트에 전송받은 피격신호를 전송함으로써 리모트 클라이언트에서 피격 캐릭터에 대한 피격 프레임이 출력되는 방법이다.
이러한 기존의 클라이언트 주도 동기화 방법은 로컬 클라이언트에서 액션 처리를 담당하기 때문에 조작에 대한 반응이 빨라 액션성이 좋고, 플레이어는 조작과 관련된 스트레스를 덜 받고, 컴퓨터의 사양이나 서버 상황과 관계 없이 자신의 조작이 캐릭터에 반영되는 것을 바로 확인할 수 있다는 장점이 있다.
그러나 클라이언트 주도 동기화 방법은 로컬 클라이언트에서는 공격 캐릭터의 타격 프레임과 피격 캐릭터의 피격 프레임이 일치되지만, 리모트 클라이언트에서는 타격 프레임과 피격 프레임이 어긋날 뿐만 아니라, 게임서버에서 중간에 다른 사건이 발생되는 경우에는 타격 프레임과 피격 프레임의 불일치는 물론, 같은 게임을 하는 플레이어들끼리 특정 시점에서 전혀 다른 결과로 게임을 하는 상황을 보여줄 수 있다.
즉, 상기 기존의 클라이언트 주도 동기화 방법은 로컬 클라이언트에서의 조작자의 조작을 우선하여 로컬 클라이언트에서는 공격 캐릭터의 타격 프레임과 피격 프레임이 일치될 뿐, 리모트 클라이언트에서의 공격 캐릭터의 타격 프레임과 피격 프레임은 일치되지 않는 상황이 생길 수 있고, 로컬 클라이언트와 리모트 클라이언트 사이의 동기화 역시 일치되지 않는 시점이 생긴다.
도 3는 종래의 프레임 동기화 기술 중 서버 주도 동기화를 설명하기 위한 설명도이다.
종래의 서버 주도 동기화기술은 도 3에 도시된 바와 같이, 서버 주도 동기화는 입력이 아닌, 서버-클라이언트 사이를 오가는 신호인 패킷을 기준으로 동기화하는 방식으로, 공격신호가 입력된 로컬 클라이언트는 게임서버로 공격신호를 전송한 뒤, 게임서버는 이를 로컬 클라이언트와 리모트 클라이언트에 전송하고, 로컬 클라이언트와 리모트 클라이언트는 각각 서버로부터 받은 공격신호에 따라 공격 캐릭터의 공격 동작을 출력한다. 로컬 클라이언트는 공격 동작의 타격 프레임에서 다시 서버에 피격 요청신호를 전송하고, 그 다음 서버는 피격을 판정한 뒤 피격신호를 로컬 클라이언트와 리모트 클라이언트에 전송함으로써 로컬 클라이언트와 리모트 클라이언트가 각각 서버로부터 받은 피격신호에 따라 피격 캐릭터의 피격 프레임을 출력하는 방법이다.
이러한 기존의 서버 주도 동기화 방법은 서버에서 액션 처리를 담당하기 때문에 특정 액션과 관련된 클라이언트 모두가 동시에 다른 상태를 유지하는 경우가 없으며, 동기화 시점도 정확하다는 장점이 있다.
그러나 모든 입력에 대해 서버와의 통신을 대기해야 하기 때문에 조작에 대한 반응이 늦고, 액션성이 떨어지며, 동기화를 기다리느라 유저의 조작에 응답하지 않는 경우도 생긴다.
즉, 상기 기존의 서버 주도 동기화 방법은 서버의 신호를 우선하여 클라이언트가 서버의 지시대로 캐릭터의 동작 프레임을 출력하기 때문에 액션 게임이 요구하는 빠른 조작과 응답에 부합하지 못한다는 곤란한 문제가 있다.
이 외에도 본 발명의 배경이 되는 기술로서 대한민국 공개특허공보 제10-2007-0064893호 및 대한민국 공개특허공보 제10-2008-0025233호 등의 동기화 방법이 개시되어 있다.
그러나, 상기 공개특허공보에 의한 동기화 방법에서도 게임 상에서 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 간의 동기화 구현 기술 관한 내용은 포함되어 있지 못한 실정이다.
참고로, 배경기술에서의 용어와 본 발명의 내용에서의 용어는 서로 영향을 미치지 않는 것으로 한다.
상술한 문제점을 해결하기 위해 안출된 본 발명의 목적은 공격신호가 입력된 로컬 클라이언트에서 공격신호를 게임서버에 전송하고, 게임서버는 로컬 클라이언트의 공격신호를 로컬 클라이언트를 비롯한 리모트 클라이언트에 전송하여 게임서버의 승인을 받은 각각의 클라이언트는 해당 캐릭터의 공격동작을 표현하며, 로컬 클라이언트는 공격동작을 표현하는 동안 사전에 피격 예약 신호를 다시 게임서버로 보내고, 게임서버는 피격을 확인한 뒤 피격실행신호를 로컬 클라이언트와 리모트 클라이언트에 전송, 로컬 클라이언트와 리모트 클라이언트는 타격 프레임까지 대기했다가 피격 프레임을 타격 프레임과 동시에 출력되도록 함으로써, 로컬 클라이언트와 리모트 클라이언트에서 타격 프레임과 피격 프레임을 일치시켜 동기화될 수 있도록 하는 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법 및 그 시스템을 제공하기 위한 것이다.
또한, 본 발명의 다른 목적은 공격 캐릭터의 타격 프레임으로부터 소정의 프레임 수 이전 프레임인 지정 프레임을 특정하고 로컬 클라이언트와 리모트 클라이언트에서 지정 프레임으로부터 상기 소정의 프레임 수 이후에 해당되는 타격 프레임에 피격 프레임이 출력되도록 함으로써, 플레이어의 조작에 대응하여 네트워크 지연의 영향을 최소화시키면서 타격 프레임과 피격 프레임을 일치시켜 동기화하도록 하는 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법 및 그 시스템을 제공하기 위한 것이다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 따르면, 본 발명은 게임서버를 통하여 통신망으로 상호 연결된 로컬 클라이언트와 하나 이상의 리모트 클라이언트에 공통으로 구현되는 온라인 게임 가상공간에서, 로컬 클라이언트의 조작자에 의해 입력된 공격신호에 의한 공격 캐릭터의 타격 프레임 출력과 상기 공격신호의 대상이 되는 피격 캐릭터의 피격 프레임 출력을 동기화시키는 방법으로서, (a) 상기 공격신호가 입력된 로컬 클라이언트가 상기 공격신호 입력에 대한 공격입력신호를 상기 게임서버로 전송하는 단계; (b) 상기 공격입력 신호를 전송받은 게임서버가 상기 공격신호에 대한 상기 공격 캐릭터의 공격 프레임 출력을 개시하도록 하는 공격개시 신호를 상기 로컬 클라이언트와 리모트 클라이언트에 전송하는 단계; (c) 상기 공격개시 신호를 전송받은 로컬 클라이언트와 리모트 클라이언트가 상기 공격신호에 대한 공격 캐릭터의 공격 프레임 출력을 개시하고, 동시에 상기 로컬 클라이언트가 상기 타격 프레임 출력 시에 상기 피격 캐릭터의 피격 프레임이 출력되도록 하는 피격예약신호를 생성하여 상기 게임서버로 전송하는 단계; (d) 상기 피격예약신호를 전송받은 게임서버가 상기 피격예약신호에 따라서 상기 피격 캐릭터의 피격 프레임이 출력되도록 하는 피격실행신호를 상기 로컬 클라이언트와 리모트 클라이언트로 전송하는 단계; (e) 상기 피격실행신호를 전송받은 로컬 클라이언트와 리모트 클라이언트가 상기 피격실행신호에 따라서 상기 피격 캐릭터의 피격 프레임을 출력하는 단계; 를 포함한다.
이때, 상기 (c) 단계에서 상기 로컬 클라이언트는, 상기 공격신호에 의한 공격 캐릭터의 타격 프레임 출력시로부터 소정의 프레임 수 이전 프레임을 지정 프레임으로 특정하고, 상기 지정 프레임이 특정된 때 상기 피격예약신호를 상기 게임서버로 전송하는 것을 특징으로 한다.
또한, 상기 (d) 단계에서의 피격실행신호에는 상기 피격예약신호에 포함된 정보가 포함된 것을 특징으로 한다.
또한, 상기 (e) 단계에서 상기 피격실행신호를 전송받은 로컬 클라이언트와 리모트 클라이언트 각각은 상기 피격예약신호 정보에 따라 상기 공격 캐릭터의 지정 프레임으로부터 상기 소정의 프레임 수 이후에 해당되는 상기 공격 캐릭터의 타격 프레임 출력 시에 피격 프레임을 출력함으로써, 상기 타격 프레임과 피격 프레임의 출력을 일치시켜 동기화하는 것을 특징으로 한다.
또한, 상기 (c) 단계에서의 상기 소정의 프레임 수는, 상기 로컬 클라이언트 및 리모트 클라이언트와 상기 게임서버 사이의 데이터 송수신 상에 발생되는 레이턴시(latency) 정보에 따라 기 설정되는 것을 특징으로 한다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 다른 특징에 따르면 본 발명은 게임서버를 통하여 통신망으로 상호 연결된 로컬 클라이언트와 하나 이상의 리모트 클라이언트에 공통으로 구현되는 온라인 게임 가상공간에서, 로컬 클라이언트의 조작자에 의해 입력된 공격신호에 의한 공격 캐릭터의 타격 프레임 출력과 상기 공격신호의 대상이 되는 피격 캐릭터의 피격 프레임 출력을 동기화시키는 프레임 동기화 시스템으로서, 상기 공격신호가 입력된 로컬 클라이언트가 상기 공격신호 입력에 대한 공격입력신호를 상기 게임서버로 전송하고, 상기 공격입력 신호를 전송받은 게임서버가 상기 공격신호에 대한 상기 공격 캐릭터의 공격 프레임 출력을 개시하도록 하는 공격개시 신호를 상기 로컬 클라이언트와 리모트 클라이언트에 전송하며, 상기 공격개시 신호를 전송받은 로컬 클라이언트와 리모트 클라이언트가 상기 공격 캐릭터의 공격 프레임 출력을 개시하고, 동시에 상기 로컬 클라이언트가 상기 타격 프레임 출력 시에 상기 피격 캐릭터의 피격 프레임이 출력되도록 하는 피격예약신호를 생성하여 상기 게임서버로 전송하고, 상기 피격예약신호를 전송받은 게임서버가 상기 피격예약신호에 따라서 상기 피격 캐릭터의 피격 프레임이 출력되도록 하는 피격실행신호를 상기 로컬 클라이언트와 리모트 클라이언트로 전송하며, 상기 피격실행신호를 전송받은 로컬 클라이언트와 리모트 클라이언트가 상기 피격실행신호에 따라서 상기 피격 캐릭터의 피격 프레임을 출력하는 것을 특징으로 한다.
이때, 상기 로컬 클라이언트가 생성하는 피격예약신호는, 상기 공격 캐릭터의 공격 프레임 출력 개시시부터 상기 타격 프레임까지 출력되는 상기 공격 캐릭터의 공격 프레임 중 상기 타격 프레임으로부터 소정의 프레임 수 이전 프레임인 지정 프레임을 특정하고, 상기 피격 프레임이 상기 지정 프레임으로부터 상기 소정의 프레임 수 이후에 출력되도록 하는 예약신호인 것을 특징으로 한다.
또한, 상기 게임서버가 전송하는 상기 피격실행신호에는 상기 피격예약신호에 포함된 정보가 포함된 것을 특징으로 한다.
또한, 상기 피격실행신호를 전송받은 로컬 클라이언트와 리모트 클라이언트 각각은 상기 피격예약신호 정보에 따라 상기 공격 캐릭터의 지정 프레임으로부터 상기 소정의 프레임 수 이후에 해당되는 상기 공격 캐릭터의 타격 프레임 출력 시에 피격 프레임을 출력함으로써, 상기 타격 프레임과 피격 프레임의 출력을 일치시켜 동기화하는 것을 특징으로 한다.
또한, 상기 소정의 프레임 수는 상기 로컬 클라이언트 및 리모트 클라이언트와 상기 게임서버 사이의 데이터 송수신 상에 발생되는 레이턴시(latency) 정보에 따라 기 설정되는 것을 특징으로 한다.
이상 살펴본 바와 같은 본 발명에 따르면, 로컬 클라이언트와 리모트 클라이언트에서 타격 프레임과 피격 프레임이 동기화될 수 있는 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법 및 그 시스템을 제공할 수 있다.
또한, 본 발명에 따르면 플레이어의 조작에 대응하여 네트워크 지연의 영향을 최소화시키면서 타격 프레임과 피격 프레임을 정확하게 동기화 시키는 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법 및 그 시스템을 제공할 수 있다.
도 1 내지 도 3은 종래의 프레임 동기화 기술을 설명하기 위한 도면이다.
도 4는 본 발명의 바람직한 실시예에 따른 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법 그 시스템에 관한 플로우 차트이다.
도 5은 본 발명의 바람직한 실시예에 따른 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법 및 그 시스템에서의 신호처리 과정을 나타내기 위한 흐름도이다.
도 6는 본 발명에 따른 프레임 동기화 기술을 설명하기 위한 설명도이다.
도 7는 본 발명의 바람직한 실시예에 따른 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 시스템에 관한 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 본 발명의 실시예들에 의하여 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법 및 시스템을 설명하기 위한 도면들을 참고하여 본 발명에 대해 설명하도록 한다.
도 4는 본 발명의 바람직한 실시예에 따른 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법 그 시스템에 관한 플로우 차트이고, 도 5은 본 발명의 바람직한 실시예에 따른 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법 및 그 시스템에서의 신호처리 과정을 나타내기 위한 흐름도이며, 도 6는 본 발명에 따른 프레임 동기화 기술을 설명하기 위한 설명도이고, 도 7는 본 발명의 바람직한 실시예에 따른 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 시스템에 관한 블록도이다.
이하는 본 발명에 따른 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법에 관해 먼저 설명한 후 그 시스템에 관해 설명하도록 한다.
로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법
본 발명의 바람직한 실시예에 따른 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법은 게임서버(Game Server, 10)를 통하여 통신망(40)으로 상호 연결된 로컬 클라이언트(Local Client, 20)와 하나 이상의 리모트 클라이언트(Remote Client, 30)에 공통으로 구현되는 온라인 게임 가상공간에서, 로컬 클라이언트(20)의 조작자에 의해 입력된 공격신호에 의한 공격 캐릭터의 타격 프레임 출력과 상기 공격신호의 대상이 되는 피격 캐릭터의 피격 프레임 출력을 동기화시키는 방법에 관한 것으로서, 상기 공격 캐릭터에 대한 공격신호가 입력된 로컬 클라이언트(20)가 상기 공격신호가 입력되었다는 사실에 대한 공격입력신호를 게임서버(10)로 전송하는 (a) 단계(S10)와, 상기 공격입력신호를 전송받은 게임서버(10)가 상기 공격신호에 대한 공격 캐릭터의 공격 프레임 출력 개시를 알리는 공격개시신호를 로컬 클라이언트(20)와 리모트 클라이언트(30)에 전송하는 (b) 단계(S20)와, 상기 공격개시 신호를 전송받은 로컬 클라이언트(20)와 리모트 클라이언트(30)가 공격 캐릭터의 공격 프레임 출력을 개시하고 동시에 로컬 클라이언트(20)는 상기 타격 프레임 출력 시에 상기 피격 캐릭터의 피격 프레임이 출력되도록 하는 피격예약신호를 생성하여 게임서버(10)로 전송하는 (c) 단계(S30)와, 상기 피격예약신호를 전송받은 게임서버(10)가 피격예약신호에 따라서 피격 캐릭터의 피격 프레임이 출력되도록 하는 피격실행신호를 로컬 클라이언트와 리모트 클라이언트에 전송하는 (d) 단계(S40), 및 상기 피격실행신호를 전송받은 로컬 클라이언트(20)와 리모트 클라이언트(30)가 전송받은 피격실행신호에 따라서 피격 캐릭터의 피격 프레임을 출력하는 (e) 단계(S50)를 포함한다.
이때, 상기 로컬 클라이언트(20)와 리모트 클라이언트(30)는 통신망(40)으로 상기 게임서버(10)와 각각 연결되고, 상기 로컬 클라이언트(20)와 리모트 클라이언트(30)에서 공통으로 구현되는 가상공간에서 상기 로컬 클라이언트(20)의 조작자에 의해 조작되는 캐릭터와 상기 리모트 클라이언트(30)의 조작자에 의해 조작되는 캐릭터 또는 상기 가상공간을 통해 상기 로컬 클라이언트와 리모트 클라이언트에서 공유되는 캐릭터들의 동작이 구현된다.
상기 로컬 클라이언트(20)와 리모트 클라이언트(30)의 구분은 각 클라이언트의 조작자들에 의해 조작되는 캐릭터들 중 다른 캐릭터에 대한 공격 내지 가격 등의 동작 주체가 되는 캐릭터의 조작자가 조작하는 클라이언트를 로컬 클라이언트(20)로, 그 이외의 클라이언트를 리모트 클라이언트(30)로 정의한다.
예컨대, 제1 클라이언트, 제2 클라이언트 및 제3 클라이언트의 3개의 클라이언트가 상기 게임서버(10)를 통해 통신망으로 연결되고 공통으로 구현되는 가상 공간에서 상기 제1 내지 제3 클라이언트의 조작자 중 제1 클라이언트의 조작자가 제1 클라이언트에 의해 구동되는 캐릭터(공격 캐릭터)를 조작하여 다른 캐릭터(피격 캐릭터)를 대상으로 상기 공격 동작이 구현되는 경우, 상기 제1 클라이언트가 상기 로컬 클라이언트에 대응되고 상기 제2 클라이언트와 제3 클라이언트가 상기 리모트 클라이언트에 대응되게 된다. 이때, 상기 공격 캐릭터의 피격 캐릭터에 대한 공격 동작 프레임(즉, 타격 프레임)과 그에 대응한 피격캐릭터의 피격 동작 프레임(즉, 피격 프레임)이 상기 제1 내지 제3 클라이언트에서 동기화되어 출력되도록 하는 프레임 동기화 방법에 관한 것이다.
즉, 상기 제1 내지 제3 클라이언트가 공통의 가상공간을 공유하며 그 가상공간에서 각각의 클라이언트에 의해 구동되는 캐릭터들 간에 이루어지는 상호 동작이 각 클라이언트에서 동기화되어 출력되도록 하는 프레임 동기화 방법에 관한 것이다.
즉, 상기 로컬 클라이언트(20)의 조작자에 의해 입력된 공격신호에 의한 공격 캐릭터(즉, 상기 로컬 클라이언트의에 의해 구동되는 캐릭터)의 동작 프레임, 즉 타격 프레임의 출력과 상기 공격신호의 대상이 되는 피격 캐릭터(이때, 상기 피격 캐릭터는 일반적으로 상기 리모트 클라이언트에 의해 구동되는 캐릭터)의 상기 공격신호에 대응되는 피격 프레임의 출력이 상기 로컬 클라이언트(20)와 리모트 클라이언트(30)에서 일치된 상태로 동기화될 수 있도록 하는 프레임 동기화 방법에 관한 것이다.
본 발명에 따른 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법은 구체적으로 다음과 같다.
먼저, 상기 공격신호가 입력된 로컬 클라이언트(20)가 상기 공격신호 입력에 대한 공격입력신호를 상기 게임서버(10)로 전송한다(S10, (a) 단계).
즉, 로컬 클라이언트(20) 조작자에 의해 로컬 클라이언트(20)에서 구동되는 캐릭터(즉, 공격 캐릭터)의 공격신호가 입력된 경우, 로컬 클라이언트(20)가 상기 공격신호가 입력되었다는 사실에 대한 공격입력신호를 게임서버(10)로 전송한다.
그 다음, 상기 공격입력신호를 전송받은 게임서버(10)가 상기 공격신호에 대한 상기 공격 캐릭터의 공격 프레임 출력을 개시하도록 하는 공격개시 신호를 상기 로컬 클라이언트(20)와 리모트 클라이언트(30)에 전송한다(S20, (b) 단계).
즉, 상기 게임서버(10)는 상기 로컬 클라이언트(20)와 리모트 클라이언트(30)가 상기 공격신호에 따라서 상기 공격 캐릭터의 공격 프레임 출력이 개시되도록 하는 공격개시신호를 전송한다.
이때, 상기 공격 캐릭터의 공격 프레임에는 공격 준비에 관한 프레임부터 피격 캐릭터를 타격하는 타격 프레임 및 타격 후 동작에 대한 프레임 등이 포함될 수 있을 것이다.
그 다음, 상기 공격개시 신호를 전송받은 로컬 클라이언트(20)와 리모트 클라이언트(30)가 상기 공격신호에 대한 공격 캐릭터의 공격 프레임 출력을 개시하고, 동시에 상기 로컬 클라이언트(20)가 상기 타격 프레임 출력 시에 상기 피격 캐릭터의 피격 프레임이 출력되도록 하는 피격예약신호를 생성하여 상기 게임서버(10)로 전송한다(S30, (c) 단계).
즉, 상기 공격개시 신호를 전송받은 로컬 클라이언트(20)와 리모트 클라이언트(30)는 상기 공격신호 입력 후 상기 공격개시신호를 전송받은 때 상기 공격 캐릭터의 상기 공격신호에 대응하는 공격 프레임의 출력을 개시한다.
동시에 상기 로컬 클라이언트(20)는 상기 공격신호에 대한 공격 캐릭터의 공격 프레임 중 상기 피격 캐릭터를 타격하는 타격 프레임의 출력 시에 상기 피격 캐릭터의 피격 프레임이 출력되도록 하는 피격예약신호를 생성하고 상기 게임서버(10)로 전송한다.
이때, 상기 (c) 단계에서 상기 로컬 클라이언트(20)는, 상기 공격신호에 의한 공격 캐릭터의 타격 프레임 출력시로부터 소정의 프레임 수 이전 프레임을 지정 프레임으로 특정하고, 상기 지정 프레임이 특정된 때 상기 피격예약신호를 상기 게임서버로 전송한다.
이때, 상기 피격예약신호는 상기 공격 캐릭터의 공격 프레임 출력 개시시부터 상기 타격 프레임까지 출력되는 상기 공격 캐릭터의 공격 동작, 즉 공격 프레임 중 상기 타격 프레임으로부터 소정의 프레임 수 이전 프레임인 지정 프레임을 특정하고, 상기 피격 프레임이 상기 지정 프레임으로부터 상기 소정의 프레임 수 이후에 출력되도록 하는, 즉 상기 지정 프레임으로부터 상기 소정의 프레임 수 이후에 해당되는 상기 공격 캐릭터의 타격 프레임에 상기 피격 캐릭터의 피격 프레임을 일치시켜 출력되도록 하는 피격예약신호이다.
즉, 상기 공격개시신호를 전송받은 로컬 클라이언트가 상기 공격 캐릭터의 공격동작으로부터 상기 공격신호에 의한 공격 캐릭터의 타격 프레임까지의 프레임들 중 상기 타격 프레임으로부터 소정의 프레임 수 이전 프레임인 지정 프레임을 특정하고, 상기 지정 프레임으로부터 상기 소정의 프레임 수 이후에 해당되는 상기 공격 캐릭터의 타격 프레임에 상기 피격 캐릭터의 피격 프레임을 일치시켜 출력되도록 하는 피격예약신호를 발생시킨다(도 6에 표시된 1, 3-1 및 3-2 부분 참조).
예컨대, 상기 공격신호로부터 상기 공격 캐릭터의 타격 프레임까지의 프레임이 10개의 프레임으로 구성된다면 상기 공격신호가 입력된 시점으로부터 10번째 프레임이 상기 타격 프레임이 된다. 이때, 상기 타격 프레임으로부터 5번째 이전 프레임을 지정 프레임으로 지정한다면, 상기 공격신호의 대상이 되는 피격 캐릭터의 피격 프레임이 공격 캐릭터의 타격 프레임과 일치하는 시점은 상기 지정 프레임으로부터 5번째 프레임 뒤가 되는 셈이다. 로컬 클라이언트는 피격 캐릭터의 피격 동작 중 피격 프레임을 공격 캐릭터의 타격 동작 중 타격 프레임과 일치시켜 출력되도록 하는 피격예약신호를 발생시킨다. 이는, 상기 지정 프레임으로부터 5번째 이후에 출력되는 상기 공격 캐릭터의 공격 프레임이 바로 타격 프레임이 되므로 상기 공격 캐릭터의 타격 프레임과 상기 피격 캐릭터의 피격 프레임이 동시에 출력되어 동기화될 수 있도록 하기 위함이다.
상기 피격예약신호를 발생한 로컬 클라이언트(20)는 상기 피격예약신호를 상기 게임서버(10)로 전송한다.
그 다음, 상기 피격예약신호를 전송받은 게임서버(10)가 상기 피격예약신호에 따라서 상기 피격 캐릭터의 피격 프레임이 출력되도록 하는 피격실행신호를 상기 로컬 클라이언트(20)와 리모트 클라이언트(30)로 전송한다(S40, (d) 단계).
이때, 상기 피격예약신호를 전송받은 게임서버(10)는 상기 공격 캐릭터의 공격신호에 대한 피격 가능여부를 확인한 후 피격 가능한 경우에만 상기 피격실행신호를 전송하는 것이 바람직하다. 즉, 피격이 불가능한 경우, 즉 상기 공격 캐릭터의 공격신호가 피격 캐릭터의 피격 동작을 발생시키지 않는 경우, 예컨대 공격신호가 칼을 이용한 찌르기 동작인 경우 칼의 찌르기 동작이 피격 캐릭터에 영향을 미치지 않도록 입력된 경우 등은 피격 캐릭터의 피격 프레임 출력이 불필요한 경우이므로, 게임서버(10)는 피격 가능여부를 확인한 후 피격실행신호를 전송하도록 할 것이다.
다만, 본 명세서에서는 상기 공격 캐릭터의 공격신호가 피격 캐릭터에 대하여 피격 가능한 경우만을 전제로 하도록 한다.
상기 피격실행신호에는 상기 피격예약신호에 포함된 정보가 함께 포함된다.
그 다음, 상기 피격실행신호를 전송받은 로컬 클라이언트(20)와 리모트 클라이언트(30)가 상기 피격실행신호에 따라서 상기 피격 캐릭터의 피격 프레임을 출력한다(S50, (e) 단계).
즉, 피격실행신호를 전송받은 로컬 클라이언트(20)와 리모트 클라이언트(30)는 상기 피격예약신호에 따라서 공격 캐릭터의 타격 프레임 출력 시에 피격 캐릭터의 피격 프레임이 출력되도록 한다.
이때, 상기 피격실행신호를 전송받은 로컬 클라이언트(20)와 리모트 클라이언트(30) 각각은 상기 피격예약신호 정보에 따라 상기 공격 캐릭터의 지정 프레임으로부터 상기 소정의 프레임 수 이후에 상기 공격 캐릭터의 타격 프레임 출력 시에 피격 프레임을 출력하게 된다.
즉, 상기 피격실행신호를 전송받은 로컬 클라이언트(20) 및 리모트 클라이언트(30) 각각은 상기 피격실행신호에 포함된 피격예약신호 정보에 따라 상기 공격 캐릭터의 지정 프레임으로부터 상기 소정의 프레임 수 이후에 해당되는 상기 공격 캐릭터의 타격 프레임 출력 시에 피격 프레임을 출력함으로써, 즉 상기 소정의 프레임 수 이후에 해당되는 상기 공격 캐릭터의 타격 프레임에 상기 피격 캐릭터의 피격 프레임을 출력하여 상기 피격 캐릭터의 피격 프레임이 상기 공격 캐릭터의 타격 프레임과 동시에 출력되도록 함으로써, 상기 타격 프레임과 피격 프레임의 출력을 일치시켜 동기화되도록 한다.
이때, 상기 지정 프레임의 특정은 상기 로컬 클라이언트(20) 및 리모트 클라이언트(30)와 상기 게임서버(10) 사이의 데이터 송수신 상에 발생되는 레이턴시(LATENCY)에 따라 상기 지정 프레임을 다르게 지정하도록 하는 것이 바람직하다.
이는, 상기 레이턴시가 크게 발생되는 통신망 상황에서 상기 소정의 프레임 수를 적게 설정하여 상기 지정 프레임이 히트 프레임으로부터 매우 근접해 있도록 지정된 경우, 상기 레이턴시로 인하여 공격 캐릭터의 타격 프레임 출력 시에 피격 캐릭터의 피격 프레임을 일치시켜 출력하는 동기화가 불가능해질 수 있기 때문이다.
즉, 상기 로컬 클라이언트(20)에서의 상기 피격예약신호 발생시, 상기 지정 프레임을 지정하도록 하는 상기 소정의 프레임 수는 상기 로컬 클라이언트와 리모트 클라이언트 및 게임서버 사이의 통신망 상태에 따라 미리 설정되어 로컬 클라이언트(20)에 그 정보가 저장될 수 있도록 함으로써, 타격 프레임과 피격 프레임 간의 동기화가 통신망에서의 레이턴시 영향에도 불구하고 정확히 이루어질 수 있도록 할 수 있다.
또한, 게임서버(10)가 통신망의 상태에 따라서 상기 지정 프레임을 지정하도록 하는 상기 소정의 프레임 수 정보를 갱신하고, 갱신된 소정의 프레임 수 정보를 상기 로컬 클라이언트(또는 상기 로컬 클라이언트 및 리모트 클라이언트)에 전송하여 기 설정되어 있는 소정의 프레임 수 정보를 새로이 갱신되도록 함으로써, 불안정한 통신망 상에서도 타격 프레임과 피격 프레임의 동기화가 탄력적으로 이루어질 수 있도록 할 수 있다.
상기 공격입력신호에는 상기 공격신호에 의한 동작 주체가 되는 공격 캐릭터, 상기 공격신호의 대상이 되는 피격 캐릭터에 대한 정보, 상기 공격신호에 의한 상기 공격 캐릭터의 공격동작 정보, 상기 공격신호에 의한 상기 피격 캐릭터의 피격동작 정보, 상기 공격동작 정보에 해당되는 상기 공격 캐릭터의 타격 프레임까지의 공격 프레임 수 정보, 및 상기 피격동작 정보에 해당되는 상기 피격 캐릭터의 피격 프레임 수 정보가 포함되는 것이 바람직하다. 이때, 상기 소정의 프레임 수는 상기 공격 프레임 수 정보 및 상기 레이턴시(latency) 정보에 따라 기 설정되는 것이 바람직하다.
상기 공격신호에 의한 동작 주체가 되는 공격 캐릭터와 피격 캐릭터에 대한 정보는 상기 공격신호에 의해 공격 프레임이 출력되는 공격 캐릭터와 상기 공격신호에 의해 피격되는 피격 캐릭터 자체에 대한 정보를 포함한다. 이때, 그 공격 캐릭터와 피격 캐릭터 각각의 현재 상태정보(예컨대, 현재 에너지 상태, 현재 사용하는 무기 정보 등을 포함함)를 더 포함할 수 있다.
상기 공격신호에 의한 공격 캐릭터의 공격동작 정보는, 예컨대, 상기 공격 캐릭터의 공격동작으로서 제1 공격동작(예컨대, 일반 공격), 제2 공격동작(예컨대, 강한 공격)이 있는 경우 입력된 공격신호가 상기 제1 내지 제2 공격동작 중 어느 공격동작에 대한 신호인지에 관한 정보를 의미할 수 있다.
상기 피격 캐릭터의 피격동작 정보는 상기 공격 캐릭터의 각각의 공격동작에 대응되는 피격 캐릭터의 피격동작에 대한 정보를 의미한다. 예컨대 일반공격에 대응하는 보통 피격 동작은 물론, 일반공격에 연속으로 세 번이나 강한 공격에 피격되었을 경우에는 날아가거나 다운되는 피격 동작이 출력되어야 하기 때문이다.
상기 공격동작 정보에 해당되는 공격 프레임 수 정보는 상기 예에서 제1 공격동작은 15개의 프레임으로 구성되고 이 중 10번째 프레임이 타격 프레임이고, 제2 공격동작은 25개의 프레임으로 구성되고 이 중 20번째 프레임이 타격 프레임인 경우, 상기 로컬 클라이언트가 상기 입력된 공격신호를 표현하는 상기 공격 캐릭터의 공격 동작 중 타격 프레임에 대한 정보를 의미하므로, 제 1공격동작의 경우는 10번째 프레임, 제 2공격동작의 경우는 20번째 프레임이 타격 프레임이 된다.
이때, 상기 소정의 프레임 수는 상기 공격 프레임 수 정보에 따라 기 설정되어 상기 로컬 클라이언트(20)에 저장되는 것이 바람직하다.
즉, 상기의 예에서 제1 공격 동작의 경우 15개의 공격동작 프레임 중 10번째 프레임이 타격 프레임인 점을 고려할 때, 상기 소정의 프레임 수는 최대 10프레임에서 최소 0에 근접하게 기 설정될 수 있으나, 타격 프레임으로부터 5번째 이전 프레임을 지정 프레임으로 특정하는 것이 네트워크 회선의 지연을 고려한 피격 프레임과의 동기화에 가장 적절한 경우에는 상기 소정의 프레임 수는 5로 기 설정되어 제1 공격 동작의 5프레임에 피격 예약신호를 발생할 수 있다.
또한, 상기의 예에서 제2 공격 동작의 경우 25개의 공격동작 프레임 중 20번째 프레임이 타격 프레임인 점을 고려할 때, 상기 소정의 프레임수는 최대 20프레임에서 최소 0에 근접하게 기 설정될 수 있으나, 타격 프레임으로부터 8번째 이전 프레임을 지정 프레임으로 특정하는 것이 네트워크 회선의 지연을 고려한 피격 프레임과의 동기화에 가장 적절한 경우에는 상기 소정의 프레임 수는 8로 기 설정되어 제2 공격 동작의 12프레임에 피격 예약신호를 발생할 수 있다.
이때, 상기 피격 캐릭터에는 리모트 클라이언트의 조작자에 의해 구동되는 캐릭터뿐만 아니라 상기 가상공간 상에서 함께 존재하는 캐릭터나 기타 물건 또는 아이템 등이 포함될 수 있다.
이하는 본 발명에 따른 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 시스템에 관해 설명하도록 한다.
로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 시스템
본 발명에 따른 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 시스템은 로컬 클라이언트(20), 게임서버(10) 및 리모트 클라이언트(30)가 통신망(40)에 의해 상호 연결되도록 구성된다.
즉, 본 발명에 따른 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 시스템은 게임서버를 통하여 통신망으로 상호 연결된 로컬 클라이언트와 하나 이상의 리모트 클라이언트에 공통으로 구현되는 온라인 게임 가상공간에서, 로컬 클라이언트의 조작자에 의해 입력된 공격신호에 의한 공격 캐릭터의 타격 프레임 출력과 상기 공격신호의 대상이 되는 피격 캐릭터의 피격 프레임 출력을 동기화시키는 프레임 동기화 시스템에 관한 것이다.
이때, 상기 로컬 클라이언트(20)는 상기 공격신호를 입력받고 상기 입력받은 공격신호에 대한 공격입력신호를 상기 게임서버(10)로 전송한다,
또한, 상기 게임서버(10)는 상기 공격입력 신호를 전송받아 상기 공격신호에 대한 상기 공격 캐릭터의 공격 프레임 출력을 개시하도록 하는 공격개시 신호를 상기 로컬 클라이언트와 리모트 클라이언트에 전송한다.
이때, 상기 공격개시 신호를 전송받은 로컬 클라이언트와 리모트 클라이언트는 상기 공격 캐릭터의 공격 프레임 출력을 개시하고, 동시에 상기 로컬 클라이언트가 상기 타격 프레임 출력 시에 상기 피격 캐릭터의 피격 프레임이 출력되도록 하는 피격예약신호를 생성하여 상기 게임서버로 전송한다.
또한, 상기 피격예약신호를 전송받은 게임서버는 상기 피격예약신호에 따라서 상기 피격 캐릭터의 피격 프레임이 출력되도록 하는 피격실행신호를 상기 로컬 클라이언트와 리모트 클라이언트로 전송한다.
이때, 상기 피격실행신호를 전송받은 로컬 클라이언트와 리모트 클라이언트는 상기 피격실행신호에 따라서 상기 피격 캐릭터의 피격 프레임을 출력한다.
상기 피격실행신호에는 상기 피격예약신호에 포함된 정보가 포함될 것이다.
이때, 상기 로컬 클라이언트(20)는, 상기 공격신호에 의한 공격 캐릭터의 타격 프레임 출력시로부터 소정의 프레임 수 이전 프레임을 지정 프레임으로 특정하고, 상기 지정 프레임이 특정된 때 상기 피격예약신호를 상기 게임서버로 전송한다.
또한, 상기 피격실행신호를 전송받은 로컬 클라이언트와 리모트 클라이언트 각각은 상기 피격예약신호 정보에 따라 상기 공격 캐릭터의 지정 프레임으로부터 상기 소정의 프레임 수 이후에 해당되는 상기 공격 캐릭터의 타격 프레임 출력 시에 피격 프레임을 출력함으로써, 상기 타격 프레임과 피격 프레임의 출력을 일치시켜 동기화되도록 한다.
상기 소정의 프레임 수는, 상기 로컬 클라이언트 및 리모트 클라이언트와 상기 게임서버 사이의 데이터 송수신 상에 발생되는 레이턴시(latency) 정보에 따라 기 설정될 것이다.
본 발명에 따른 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 시스템에 관한 보다 구체적인 설명은 상술한 로컬 클라이언트와 리모트 클라이언트에서의 프레임 동기화 방법에서 설명된 바와 같으므로 생략하기로 한다
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10: 게임서버 20: 로컬 클라이언트
30: 리모트 클라이언트 40: 통신망
S10: 공격입력신호 전송 단계
S20: 공격개시신호 전송 단계
S30: 공격프레임 출력 및 피격예약신호 전송 단계
S40: 피격실행신호 전송 단계
S50: 피격 프레임 출력 단계

Claims (10)

  1. 게임서버를 통하여 통신망으로 상호 연결된 로컬 클라이언트와 하나 이상의 리모트 클라이언트에 공통으로 구현되는 온라인 게임 가상공간에서, 로컬 클라이언트의 조작자에 의해 입력된 공격신호에 의한 공격 캐릭터의 타격 프레임 출력과 상기 공격신호의 대상이 되는 피격 캐릭터의 피격 프레임 출력을 동기화시키는 방법으로서,
    (a) 상기 공격신호가 입력된 로컬 클라이언트가 상기 공격신호 입력에 대한 공격입력신호를 상기 게임서버로 전송하는 단계;
    (b) 상기 공격입력 신호를 전송받은 게임서버가 상기 공격신호에 대한 상기 공격 캐릭터의 공격 프레임 출력을 개시하도록 하는 공격개시 신호를 상기 로컬 클라이언트와 리모트 클라이언트에 전송하는 단계;
    (c) 상기 공격개시 신호를 전송받은 로컬 클라이언트와 리모트 클라이언트가 상기 공격신호에 대한 공격 캐릭터의 공격 프레임 출력을 개시하고, 동시에 상기 로컬 클라이언트가 상기 타격 프레임 출력 시에 상기 피격 캐릭터의 피격 프레임이 출력되도록 하는 피격예약신호를 생성하여 상기 게임서버로 전송하는 단계;
    (d) 상기 피격예약신호를 전송받은 게임서버가 상기 피격예약신호에 따라서 상기 피격 캐릭터의 피격 프레임이 출력되도록 하는 피격실행신호를 상기 로컬 클라이언트와 리모트 클라이언트로 전송하는 단계;
    (e) 상기 피격실행신호를 전송받은 로컬 클라이언트와 리모트 클라이언트가 상기 피격실행신호에 따라서 상기 피격 캐릭터의 피격 프레임을 출력하는 단계; 를 포함하는 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법.
  2. 제 1 항에 있어서,
    상기 (c) 단계에서 상기 로컬 클라이언트는,
    상기 공격신호에 의한 공격 캐릭터의 타격 프레임 출력시로부터 소정의 프레임 수 이전 프레임을 지정 프레임으로 특정하고, 상기 지정 프레임이 특정된 때 상기 피격예약신호를 상기 게임서버로 전송하는 것을 특징으로 하는 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법.
  3. 제 1 항에 있어서,
    상기 (d) 단계에서의 피격실행신호에는 상기 피격예약신호에 포함된 정보가 포함된 것을 특징으로 하는 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법.
  4. 제 3 항에 있어서,
    상기 (e) 단계에서 상기 피격실행신호를 전송받은 로컬 클라이언트와 리모트 클라이언트 각각은 상기 피격예약신호 정보에 따라 상기 공격 캐릭터의 지정 프레임으로부터 상기 소정의 프레임 수 이후에 해당되는 상기 공격 캐릭터의 타격 프레임 출력 시에 피격 프레임을 출력함으로써, 상기 타격 프레임과 피격 프레임의 출력을 일치시켜 동기화하는 것을 특징으로 하는 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법.
  5. 제 2 항에 있어서,
    상기 (c) 단계에서의 상기 소정의 프레임 수는,
    상기 로컬 클라이언트 및 리모트 클라이언트와 상기 게임서버 사이의 데이터 송수신 상에 발생되는 레이턴시(latency) 정보에 따라 기 설정되는 것을 특징으로 하는 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법.
  6. 게임서버를 통하여 통신망으로 상호 연결된 로컬 클라이언트와 하나 이상의 리모트 클라이언트에 공통으로 구현되는 온라인 게임 가상공간에서, 로컬 클라이언트의 조작자에 의해 입력된 공격신호에 의한 공격 캐릭터의 타격 프레임 출력과 상기 공격신호의 대상이 되는 피격 캐릭터의 피격 프레임 출력을 동기화시키는 프레임 동기화 시스템으로서,
    상기 공격신호가 입력된 로컬 클라이언트가 상기 공격신호 입력에 대한 공격입력신호를 상기 게임서버로 전송하고,
    상기 공격입력 신호를 전송받은 게임서버가 상기 공격신호에 대한 상기 공격 캐릭터의 공격 프레임 출력을 개시하도록 하는 공격개시 신호를 상기 로컬 클라이언트와 리모트 클라이언트에 전송하며,
    상기 공격개시 신호를 전송받은 로컬 클라이언트와 리모트 클라이언트가 상기 공격 캐릭터의 공격 프레임 출력을 개시하고, 동시에 상기 로컬 클라이언트가 상기 타격 프레임 출력 시에 상기 피격 캐릭터의 피격 프레임이 출력되도록 하는 피격예약신호를 생성하여 상기 게임서버로 전송하고,
    상기 피격예약신호를 전송받은 게임서버가 상기 피격예약신호에 따라서 상기 피격 캐릭터의 피격 프레임이 출력되도록 하는 피격실행신호를 상기 로컬 클라이언트와 리모트 클라이언트로 전송하며,
    상기 피격실행신호를 전송받은 로컬 클라이언트와 리모트 클라이언트가 상기 피격실행신호에 따라서 상기 피격 캐릭터의 피격 프레임을 출력하는 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 시스템.
  7. 제 6 항에 있어서,
    상기 로컬 클라이언트가 생성하는 피격예약신호는,
    상기 공격 캐릭터의 공격 프레임 출력 개시시부터 상기 타격 프레임 까지 출력되는 상기 공격 캐릭터의 공격 프레임 중 상기 타격 프레임으로부터 소정의 프레임 수 이전 프레임인 지정 프레임을 특정하고, 상기 피격 프레임이 상기 지정 프레임으로부터 상기 소정의 프레임 수 이후에 출력되도록 하는 예약신호인 것을 특징으로 하는 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 시스템.
  8. 제 6 항에 있어서,
    상기 게임서버가 전송하는 상기 피격실행신호에는 상기 피격예약신호에 포함된 정보가 포함된 것을 특징으로 하는 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 시스템.
  9. 제 8 항에 있어서,
    상기 피격실행신호를 전송받은 로컬 클라이언트와 리모트 클라이언트 각각은 상기 피격예약신호 정보에 따라 상기 공격 캐릭터의 지정 프레임으로부터 상기 소정의 프레임 수 이후에 해당되는 상기 공격 캐릭터의 타격 프레임 출력 시에 피격 프레임을 출력함으로써, 상기 타격 프레임과 피격 프레임의 출력을 일치시켜 동기화하는 것을 특징으로 하는 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 시스템.
  10. 제 7 항에 있어서,
    상기 소정의 프레임 수는 상기 로컬 클라이언트 및 리모트 클라이언트와 상기 게임서버 사이의 데이터 송수신 상에 발생되는 레이턴시(latency) 정보에 따라 기 설정되는 것을 특징으로 하는 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 시스템.
KR20130119248A 2013-01-22 2013-10-07 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법 및 그 시스템 KR101488653B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130007110 2013-01-22
KR20130007110 2013-01-22

Publications (2)

Publication Number Publication Date
KR20140094422A true KR20140094422A (ko) 2014-07-30
KR101488653B1 KR101488653B1 (ko) 2015-02-05

Family

ID=51740186

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130119248A KR101488653B1 (ko) 2013-01-22 2013-10-07 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR101488653B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050012596A (ko) * 2003-07-26 2005-02-02 (주)이진공작 클라이언트 시스템의 동작 동기화 장치와 방법 및 이를이용한 통신망을 통한 상호 작용 시스템 및 게임방법
KR20050068360A (ko) * 2003-12-30 2005-07-05 (주) 인터미라지 네트워크 게임에서의 동기화 방법 및 그 방법이 구현된게임 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체
KR100829810B1 (ko) * 2006-09-15 2008-05-19 엔에이치엔(주) 온라인 게임에서 게임 캐릭터 정보 동기화 방법 및 시스템
KR101099519B1 (ko) * 2010-02-12 2011-12-28 주식회사 블루사이드 데이터타입 분류에 따른 캐릭터정보 동기화 방법

Also Published As

Publication number Publication date
KR101488653B1 (ko) 2015-02-05

Similar Documents

Publication Publication Date Title
CN106375314B (zh) 一种游戏同步方法、游戏客户端及游戏服务器
KR101707639B1 (ko) 네트워크 멀티플레이어 게임의 레이턴시를 숨기기 위한 방법 및 장치
US11229842B2 (en) Method and apparatus for synchronously playing animation, storage medium, and electronic apparatus
US9893974B2 (en) Synchronization of data for colliding bodies
JP2015231539A (ja) シミュレーション方法およびシステム
US20200376380A1 (en) Information processing apparatus, information processing method, and recording medium
US10051084B2 (en) Methods and systems for bandwidth-efficient remote procedure calls
CN111054065A (zh) 虚拟道具的控制方法和装置、存储介质及电子装置
JP2008228943A (ja) プログラム、情報記憶媒体及びゲーム装置
JP5017381B2 (ja) ゲームシステム及びゲーム端末
CN109873876B (zh) 一种分布式虚拟环境的交互和计算负载均衡分配的方法
CN107551545B (zh) 一种虚拟直播游戏的方法、电子设备及存储介质
KR101488653B1 (ko) 로컬 클라이언트와 리모트 클라이언트에서의 타격 프레임과 피격 프레임 동기화 방법 및 그 시스템
JP5519130B2 (ja) プログラム、ゲーム機
KR101528491B1 (ko) 게임서버 기준에 의한 로컬 클라이언트와 리모트 클라이언트에서의 프레임 동기화 방법 및 그 시스템
CN112604286A (zh) 一种游戏技能同步执行方法及装置
JP2016039876A (ja) システム、サーバ装置、および、プログラム
CN111729312A (zh) 位置同步方法、装置及设备
KR101488698B1 (ko) 게임서버 기준에 의한 로컬 클라이언트와 리모트 클라이언트에서의 프레임 동기화 방법 및 그 시스템
US10874945B2 (en) Multi-character interaction scenario
CN111905368B (zh) 游戏中虚拟道具控制方法、装置、设备及存储介质
US20220377313A1 (en) Information processing apparatus, information processing method, and program
CN108415749B (zh) 显示处理方法、介质、装置和计算设备
Cecin et al. A peer-to-peer simulation technique for instanced massively multiplayer games
JP2016041238A (ja) システム、サーバ装置、および、プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20180111

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200108

Year of fee payment: 6