KR102318171B1 - 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버 - Google Patents

온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버 Download PDF

Info

Publication number
KR102318171B1
KR102318171B1 KR1020210113138A KR20210113138A KR102318171B1 KR 102318171 B1 KR102318171 B1 KR 102318171B1 KR 1020210113138 A KR1020210113138 A KR 1020210113138A KR 20210113138 A KR20210113138 A KR 20210113138A KR 102318171 B1 KR102318171 B1 KR 102318171B1
Authority
KR
South Korea
Prior art keywords
animation
time
integrated
reaction
motion
Prior art date
Application number
KR1020210113138A
Other languages
English (en)
Inventor
양희일
Original Assignee
티니스튜디오 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 티니스튜디오 주식회사 filed Critical 티니스튜디오 주식회사
Priority to KR1020210113138A priority Critical patent/KR102318171B1/ko
Application granted granted Critical
Publication of KR102318171B1 publication Critical patent/KR102318171B1/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/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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/65Methods for processing data by generating or executing the game program for computing the condition of a game character

Abstract

클라이언트 장치를 통해 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법이 개시된다. 본 발명의 캐릭터 애니메이션을 구현하는 방법은 사용자로부터 제1 플레이어 캐릭터의 제1 동작 실행 명령을 입력받는 단계, 제1 동작 실행 명령에 대한 요청 패킷을 온라인 게임 서버로 전송하는 단계, 온라인 게임 서버로부터, 제1 동작 실행 명령에 대응되는 제1 동작 애니메이션 및 제1 동작 실행 명령에 대하여 반응하는 특정 NPC(Non-Player Character)의 제1 리액션 애니메이션이 통합된 제1 통합 애니메이션을 포함하는 클라이언트 응답 패킷을 수신하는 단계, 클라이언트 응답 패킷이 수신되면, 제1 통합 애니메이션의 재생을 시작하는 단계, 온라인 게임 서버로부터, 타 클라이언트 장치로부터 입력받은 제2 플레이어 캐릭터의 제2 동작 실행 명령에 대응되는 제2 동작 애니메이션 및 제2 동작 실행 명령에 대하여 반응하는 특정 NPC의 제2 리액션 애니메이션이 통합된 제2 통합 애니메이션을 포함하는 타 클라이언트 응답 패킷을 수신하는 단계 및, 타 클라이언트 응답 패킷이 수신되면, 제2 통합 애니메이션의 재생을 더 시작하는 단계를 포함하고, 클라이언트 응답 패킷은 온라인 게임 서버가 클라이언트 장치로부터 제1 동작 실행 명령에 대한 요청 패킷을 수신한 시점을 기록한 제1 타임 스탬프(time stamp), 제1 동작 애니메이션의 재생 시점으로부터 제1 리액션 애니메이션의 재생 시점까지의 시간 간격으로 기 설정된 제1 듀레이션(duration) 값을 포함하고, 타 클라이언트 응답 패킷은 온라인 게임 서버가 타 클라이언트 장치로부터 제2 동작 실행 명령에 대한 요청 패킷을 수신한 시점을 기록한 제2 타임 스탬프 및, 제2 동작 애니메이션의 재생 시점으로부터 제2 리액션 애니메이션의 재생 시점까지의 시간 간격으로 기 설정된 제2 듀레이션 값을 포함하며, 제2 통합 애니메이션의 재생을 시작하는 단계는 제1 타임 스탬프에 제1 듀레이션 값이 더해진 시점과 제2 타임 스탬프에 제2 듀레이션 값이 더해진 시점을 서로 비교하고, 제1 타임 스탬프에 제1 듀레이션 값이 더해진 시점이 제2 타임 스탬프에 제2 듀레이션 값이 더해진 시점보다 앞서는 경우, 제2 동작 애니메이션의 재생이 종료된 후 제2 리액션 애니메이션의 재생을 연기하고, 재생 중인 제1 통합 애니메이션의 재생이 완료되면 제2 리액션 애니메이션의 재생을 시작하는 것을 특징으로 한다.

Description

온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버 {METHOD FOR REALIZING ANIMATION OF GAME-CHARACTER IN ONLINE GAME AND SERVER FOR REALIZING THE SAME}
본 발명은 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버로, 더욱 상세하게는 다중 사용자 환경에서 캐릭터 애니메이션을 자연스럽게 구현하기 위한 방법 및 이를 위한 서버에 관한 것이다.
차세대 성장 엔진으로 주목받고 있는 온라인 게임은 간단한 조작 방법에 의해 쉽게 즐길 수 있는 캐쥬얼 아케이드 게임에서부터, 각자의 플레이어 캐릭터를 생성하여 온라인 게임 내의 공간에서 자유롭게 이동하면서 퀘스트를 수행하고 캐릭터를 육성하는 높은 자유도를 갖는 롤플레잉 게임에 이르기까지 매우 다양하다.
그 가운데, 수천 내지 수만의 동시접속자를 자랑하는 MMORPG(Massively Multiplayer Online Role Playing Game)는 혼자서는 수행하기 어려운 퀘스트 등이 존재하여 다른 게이머들과 함께 협업 플레이를 하기도 하고, 퀘스트 수행 과정에서 다양한 NPC(Non-Player Character)를 만나게 된다.
따라서 MMORPG 서비스에서는 게이머들이 온라인 게임 내에서 조작하는 플레이어 캐릭터들 사이의 인터랙션, 또는 플레이어 캐릭터와 NPC 사이의 인터랙션 등 게임 내에서 다양한 인터랙션이 발생하게 된다.
MMORPG의 특성상 이러한 인터랙션은 실시간으로 이루어지고 보여져야 하므로, 기존의 MMORPG 서비스는 게임에 따라 1초에 수 회에서 수십 회에 걸쳐 현 상태를 서버와 다른 클라이언트에 공유함으로써 캐릭터의 움직임을 여러 유저들이 동일하게 볼 수 있도록 동기화하는 방식을 주로 사용한다.
그러나, 네트워크 환경이 서로 다른 복수의 클라이언트로부터 동일한 특정 캐릭터와 관련된 조작 명령이 입력되는 경우, 패킷 지연에 따라 각각의 조작 명령에 따른 특정 캐릭터의 애니메이션이 순차적으로 재생되지 않고 재생 순서가 뒤바뀌는 역전 현상이 빈번히 발생하여 충분한 서비스 품질의 확보가 어렵다는 한계가 존재하였다.
이러한 한계는 물리적으로 상호 통신속도가 느릴 수 밖에 없는 먼 지역에 있는 유저와의 게임 플레이 경험을 부정적으로 만들어 여러 국가가 함께 플레이하는 MMORPG 서비스를 어렵게 하는 주요 원인이 되고 있다.
따라서, 느리거나 불안정한 네트워크 환경에서도 온라인 게임 내 캐릭터의 움직임이 자연스럽게 순차적으로 이루어지도록 온라인 게임 서비스를 효율적으로 운영하기 위한 방안의 마련이 필요하다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 온라인 게임 서비스에 있어서, 통신이 느리거나 속도가 불규칙한 환경에서도 서로 다른 복수의 클라이언트로부터의 조작 명령과 관련된 캐릭터의 움직임이 순차적으로 자연스럽게 이루어지도록 구현하는 방법 및 이를 위한 서버를 제공하는 데에 있다.
본 발명이 해결하고자 하는 과제가 상술한 과제로 제한되는 것은 아니며, 언급되지 아니한 과제들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 클라이언트 장치를 통해 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법은 사용자로부터 제1 플레이어 캐릭터의 제1 동작 실행 명령을 입력받는 단계, 상기 제1 동작 실행 명령에 대한 요청 패킷을 온라인 게임 서버로 전송하는 단계, 상기 온라인 게임 서버로부터, 상기 제1 동작 실행 명령에 대응되는 제1 동작 애니메이션 및 상기 제1 동작 실행 명령에 대하여 반응하는 특정 NPC(Non-Player Character)의 제1 리액션 애니메이션이 통합된 제1 통합 애니메이션을 포함하는 클라이언트 응답 패킷을 수신하는 단계, 상기 클라이언트 응답 패킷이 수신되면, 상기 제1 통합 애니메이션의 재생을 시작하는 단계, 상기 온라인 게임 서버로부터, 타 클라이언트 장치로부터 입력받은 제2 플레이어 캐릭터의 제2 동작 실행 명령에 대응되는 제2 동작 애니메이션 및 상기 제2 동작 실행 명령에 대하여 반응하는 상기 특정 NPC의 제2 리액션 애니메이션이 통합된 제2 통합 애니메이션을 포함하는 타 클라이언트 응답 패킷을 수신하는 단계 및, 상기 타 클라이언트 응답 패킷이 수신되면, 상기 제2 통합 애니메이션의 재생을 더 시작하는 단계를 포함하고, 상기 클라이언트 응답 패킷은 상기 온라인 게임 서버가 상기 클라이언트 장치로부터 상기 제1 동작 실행 명령에 대한 요청 패킷을 수신한 시점을 기록한 제1 타임 스탬프(time stamp), 상기 제1 동작 애니메이션의 재생 시점으로부터 상기 제1 리액션 애니메이션의 재생 시점까지의 시간 간격으로 기 설정된 제1 듀레이션(duration) 값을 포함하고, 상기 타 클라이언트 응답 패킷은 상기 온라인 게임 서버가 상기 타 클라이언트 장치로부터 상기 제2 동작 실행 명령에 대한 요청 패킷을 수신한 시점을 기록한 제2 타임 스탬프 및, 상기 제2 동작 애니메이션의 재생 시점으로부터 상기 제2 리액션 애니메이션의 재생 시점까지의 시간 간격으로 기 설정된 제2 듀레이션 값을 포함하며, 상기 제2 통합 애니메이션의 재생을 시작하는 단계는 상기 제1 타임 스탬프에 상기 제1 듀레이션 값이 더해진 시점과 상기 제2 타임 스탬프에 상기 제2 듀레이션 값이 더해진 시점을 서로 비교하고, 상기 제1 타임 스탬프에 상기 제1 듀레이션 값이 더해진 시점이 상기 제2 타임 스탬프에 상기 제2 듀레이션 값이 더해진 시점보다 앞서는 경우, 상기 제2 동작 애니메이션의 재생이 종료된 후 제2 리액션 애니메이션의 재생을 연기하고, 상기 재생 중인 제1 통합 애니메이션의 재생이 완료되면 상기 제2 리액션 애니메이션의 재생을 시작하는 것을 특징으로 한다.
이때, 상기 제2 통합 애니메이션의 재생을 시작하는 단계는 상기 제1 타임 스탬프에 상기 제1 듀레이션 값이 더해진 시점이 상기 제2 타임 스탬프에 상기 제2 듀레이션 값이 더해진 시점보다 앞서는 경우, 상기 제2 동작 애니메이션의 재생이 종료된 후 제2 리액션 애니메이션의 재생을 연기하고, 상기 재생 중인 제1 통합 애니메이션 중 상기 제1 리액션 애니메이션의 재생 속도를 기본 속도보다 빠르게 조절하는 것을 특징으로 한다.
또한, 상기 제2 통합 애니메이션의 재생을 시작하는 단계는 상기 제1 타임 스탬프에 상기 제1 듀레이션 값이 더해진 시점이 상기 제2 타임 스탬프에 상기 제2 듀레이션 값이 더해진 시점보다 앞서는 경우, 상기 제2 동작 애니메이션의 재생이 종료된 후 제2 리액션 애니메이션의 재생을 연기하고, 상기 재생 중인 제1 통합 애니메이션 중 상기 제1 리액션 애니메이션의 일부 내지 전부를 생략하고 상기 제2 리액션 애니메이션의 재생을 시작하는 것을 특징으로 한다.
또한, 상기 제2 동작 실행 명령은 상기 특정 NPC에 대한 상기 제2 플레이어 캐릭터의 공격 스킬 실행 명령이고, 상기 제2 리액션 애니메이션은 상기 특정 NPC가 상기 제2 플레이어 캐릭터의 공격 스킬에 의해 피격되어 사망하는 애니메이션인 것을 특징으로 한다.
한편, 본 발명의 일 실시 예에 따른 클라이언트 장치를 통해 온라인 게임상에서의 캐릭터 애니메이션을 구현하기 위한 서버는 상기 캐릭터 애니메이션의 구현을 위한 프로그램을 저장하는 적어도 하나 이상의 메모리, 상기 프로그램을 실행함으로써, 클라이언트 장치로부터 제1 플레이어 캐릭터의 제1 동작 실행 명령에 대한 요청 패킷을 수신하면, 상기 제1 동작 실행 명령에 대응되는 제1 동작 애니메이션 및 상기 제1 동작 실행 명령에 대하여 반응하는 특정 NPC(Non-Player Character)의 제1 리액션 애니메이션이 통합된 제1 통합 애니메이션을 포함하는 클라이언트 응답 패킷을 상기 클라이언트 장치로 전송하고, 상기 클라이언트 응답 패킷을 수신한 상기 클라이언트 장치가 상기 제1 통합 애니메이션의 재생을 시작하도록 제어하고, 타 클라이언트 장치로부터 입력받은 제2 플레이어 캐릭터의 제2 동작 실행 명령에 대응되는 제2 동작 애니메이션 및 상기 제2 동작 실행 명령에 대하여 반응하는 상기 특정 NPC의 제2 리액션 애니메이션이 통합된 제2 통합 애니메이션을 포함하는 타 클라이언트 응답 패킷을 수신하면, 상기 제2 통합 애니메이션의 재생을 더 시작하도록 제어하는 프로세서를 포함하고, 상기 클라이언트 응답 패킷은 상기 서버가 상기 클라이언트 장치로부터 상기 제1 동작 실행 명령에 대한 요청 패킷을 수신한 시점을 기록한 제1 타임 스탬프(time stamp), 상기 제1 동작 애니메이션의 재생 시점으로부터 상기 제1 리액션 애니메이션의 재생 시점까지의 시간 간격으로 기 설정된 제1 듀레이션(duration) 값을 포함하고, 상기 타 클라이언트 응답 패킷은 상기 서버가 상기 타 클라이언트 장치로부터 상기 제2 동작 실행 명령에 대한 요청 패킷을 수신한 시점을 기록한 제2 타임 스탬프 및, 상기 제2 동작 애니메이션의 재생 시점으로부터 상기 제2 리액션 애니메이션의 재생 시점까지의 시간 간격으로 기 설정된 제2 듀레이션 값을 포함하며, 상기 프로세서는 상기 제1 타임 스탬프에 상기 제1 듀레이션 값이 더해진 시점이 상기 제2 타임 스탬프에 상기 제2 듀레이션 값이 더해진 시점보다 앞서는 경우, 상기 제2 동작 애니메이션의 재생이 종료된 후 제2 리액션 애니메이션의 재생을 연기하고, 상기 재생 중인 제1 통합 애니메이션의 재생이 완료되면 상기 제2 리액션 애니메이션의 재생을 시작하도록 제어하는 것을 특징으로 한다.
이때, 상기 프로세서는 상기 제1 타임 스탬프에 상기 제1 듀레이션 값이 더해진 시점이 상기 제2 타임 스탬프에 상기 제2 듀레이션 값이 더해진 시점보다 앞서는 경우, 상기 제2 동작 애니메이션의 재생이 종료된 후 제2 리액션 애니메이션의 재생을 연기하고, 상기 재생 중인 제1 통합 애니메이션 중 상기 제1 리액션 애니메이션의 재생 속도를 기본 속도보다 빠르게 조절하도록 제어하는 것을 특징으로 한다.
또한, 상기 프로세서는 상기 제1 타임 스탬프에 상기 제1 듀레이션 값이 더해진 시점이 상기 제2 타임 스탬프에 상기 제2 듀레이션 값이 더해진 시점보다 앞서는 경우, 상기 제2 동작 애니메이션의 재생이 종료된 후 제2 리액션 애니메이션의 재생을 연기하고, 상기 재생 중인 제1 통합 애니메이션 중 상기 제1 리액션 애니메이션의 일부 내지 전부를 생략하고 상기 제2 리액션 애니메이션의 재생을 시작하도록 제어하는 것을 특징으로 한다.
또한, 상기 제2 동작 실행 명령은 상기 특정 NPC에 대한 상기 제2 플레이어 캐릭터의 공격 스킬 실행 명령이고, 상기 제2 리액션 애니메이션은 상기 특정 NPC가 상기 제2 플레이어 캐릭터의 공격 스킬에 의해 피격되어 사망하는 애니메이션인 것을 특징으로 한다.
이상과 같은 본 발명의 다양한 실시 예에 따르면, 온라인 게임 서비스에 있어서, 통신이 느리거나 속도가 불규칙한 환경에서도 서로 다른 복수의 클라이언트로부터의 조작 명령과 관련된 캐릭터의 움직임이 순차적으로 자연스럽게 이루어지도록 하여 게이머의 부정적 플레이 경험을 개선할 수 있게 된다.
본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 온라인 게임상에서의 캐릭터 애니메이션 구현을 위한 시스템의 구성요소를 설명하기 위한 도면,
도 2는 본 발명의 일 실시 예에 따른 클라이언트 장치에서의 캐릭터 애니메이션의 구현 방법을 간략히 설명하기 위한 흐름도,
도 3은 본 발명의 일 실시 예에 따른 NPC의 리액션 애니메이션의 역전 현상을 설명하기 위한 순서도,
도 4는 본 발명의 일 실시 예에 따른 클라이언트 장치에 있어서 타임 스탬프를 이용한 작업 정렬 방법을 설명하기 위한 흐름도,
도 5는 본 발명의 일 실시 예에 따른 서버의 구성을 간략히 설명하기 위한 블록도이다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 발명의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어일 수 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조 번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명하도록 한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성 요소를 모두 도시하고 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 '제1', '제2' 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성 요소들을 서로 구별하기 위하여 사용하는 것이며, 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안될 것이다. 일 예로, 이러한 서수와 결합된 구성 요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한 해석되어서는 안된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다름을 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, '포함하다' 또는 '구성하다' 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 발명의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한 어떤 부분이 어떤 구성 요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있다는 것을 의미한다.
이하, 첨부된 도면을 참조하여 본 발명을 더욱 구체적으로 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 온라인 게임상에서의 캐릭터 애니메이션 구현을 위한 시스템의 구성요소를 설명하기 위한 도면이다.
본 발명의 온라인 게임상에서의 캐릭터 애니메이션 구현을 위한 온라인 게임 시스템(1000)은 온라인 게임 서버(100) 및 클라이언트 장치(200-1 ~ 200-n)를 포함한다.
온라인 게임 서버(100)는 네트워크(2000)를 통해 다수의 클라이언트 장치(200-1 ~ 200-n)와 연결된다.
이러한 온라인 게임 서버(100)는 동시접속한 다수의 클라이언트 장치(200-1 ~ 200-n)들로 하여금 온라인 게임을 실행할 수 있도록, 게임 소프트웨어를 포함하는 각종 데이터를 제공하고 함께 게임을 실행하는 다른 사용자들의 상태 정보와 게임 내 각종 변수에 관한 정보를 공유할 수 있도록 한다.
이때, 온라인 게임 서버(100)가 제공하는 온라인 게임은 바람직하게는 각 클라이언트 장치(200-1 ~ 200-n)가 각자 자신의 플레이어 캐릭터를 조작하여 온라인 게임 내의 공간인 "맵" 상에서 자유롭게 이동하면서 퀘스트를 수행하고 때로는, 다른 플레이어 캐릭터와 파티를 구성하여 협업 플레이를 하는 형태의 MMORPG(Massively Multiplayer Online Role Playing Game)일 수 있다.
다만, 온라인 게임 서버(100)가 제공하는 온라인 게임은 MMORPG에 한정되지 않으며 다른 캐릭터와 인터랙션을 수행하는 다양한 방식의 게임을 포함할 수 있다.
여기서, 플레이어 캐릭터는 온라인 게임 화면 상에 등장하여 사용자의 조작에 따라 게임 내에서 일정한 행동을 하게 되며, 맵은 사용자가 운용하는 캐릭터가 활동하는 게임 상의 가상 공간을 의미한다. 맵은 게임의 종류에 따라 실제 세계의 지상, 숲, 산속, 도시, 하늘, 바닷속 또는 우주 공간 등 다양한 종류, 크기 및 형태로 표현되어 제공될 수 있다. 즉, 맵은 특정한 공간을 지칭하지 않으며 게임의 종류에 따른 어떤 형태의 가상 공간도 의미할 수 있다.
클라이언트 장치(200-1 ~ 200-n)는 네트워크(2000)를 통해 온라인 게임 서버(100)에 접속하여 사용자의 가상의 게임 캐릭터인 플레이어 캐릭터를 조작하기 위한 장치로, 바람직하게는 개인용 컴퓨터(Psersonal Computer)로 구현될 수 있으나, 네트워크(2000)를 통해 온라인 게임 서버(100)에 접속할 수 있는 것이라면 스마트폰이나 타블렛 등의 하드웨어일 수도 있다.
이러한 클라이언트 장치(200-1 ~ 200-n)는 온라인 게임상에서의 캐릭터 애니메이션을 구현하기 위한 방법을 실현하는데 필요한 프로그램 및 사용자 정보, 게임 정보 등을 저장하기 위한 메모리(미도시)를 포함할 수 있으며, 프로세서(미도시)에 의해 전반적인 동작이 제어될 수 있다.
이때, 메모리는 HDD(Hard Disk Drive), SSD(Solid State Drive), DRAM 메모리, SRAM 메모리, FRAM 메모리 및 플래시 메모리 중 하나로 구현될 수 있으며, 이 밖에도 다양한 형태의 데이터를 기록 가능한 저장 장치로 구현될 수 있다.
네트워크(2000)는 온라인 게임 서버(100)와 적어도 하나의 클라이언트 장치(200-1 ~ 200-n) 사이에 통신을 제공한다. 네트워크(2000)는 통신 및 통신망과 동일한 의미로 사용될 수 있으며, 본 발명의 네트워크(2000)는 유선 및 무선 네트워크를 모두 포함한다. 또한, 네트워크(2000)는 근거리 네트워크 및 원거리 광역 네트워크를 모두 포함할 수 있다.
클라이언트 장치(200-1 ~ 200-n)는 사용자 인터페이스(User Interface)를 통해 각 사용자로부터 플레이어 캐릭터가 NPC, 다른 사용자의 플레이어 캐릭터 등 적어도 하나의 다른 캐릭터(대상 캐릭터)와 상호작용(interaction)을 하기 위한 특정 동작을 수행하도록 하는 동작 실행 명령을 입력받을 수 있으며, 입력된 동작 실행 명령을 수행하도록 요청하는 요청 패킷을 온라인 게임 서버(100)로 전송할 수 있다.
여기서, 특정 동작은 공격, 대화, 거래, 도발, 치유, 특정 스킬(skill) 등 상호작용하는 캐릭터로부터 리액션(피격, 방어, 대화, 거래, 공격 등)을 이끌어낼 수 있는 다양한 동작을 포함한다.
이때, 클라이언트 장치(200-1 ~ 200-n)는 플레이어 캐릭터의 특정 동작에 대응하여 상호작용 캐릭터가 어떤 리액션을 취하게 될지 모르므로 온라인 게임 서버(100)로부터 상호작용 캐릭터의 리액션 애니메이션을 포함한 데이터를 수신하여야 한다.
온라인 게임 서버(100)는 클라이언트 장치(200-1 ~ 200-n)로부터 요청 패킷을 수신하면, 상호작용 캐릭터가 해당 특정 동작에 대하여 기 설정된 리액션을 보이도록 하는 리액션 실행 명령을 수행하고, 리액션 실행 명령에 대응되는 상호작용 캐릭터의 리액션 애니메이션 데이터를 클라이언트 장치(200-1 ~ 200-n)의 요청 패킷에 대한 응답 패킷에 포함하여 클라이언트 장치(200-1 ~ 200-n)로 전송할 수 있다.
클라이언트 장치(200-1 ~ 200-n)는 온라인 게임 서버(100)로부터 응답 패킷을 수신하고, 응답 패킷에 포함된 상호작용 캐릭터의 리액션 애니메이션 데이터에 따라 플레이어 캐릭터의 특정 동작에 따른 상호작용 캐릭터의 리액션 애니메이션을 재생할 수 있다.
예를 들어, 클라이언트 장치(200-1 ~ 200-n)로부터 입력된 플레이어 캐릭터의 특정 동작이 몬스터 등 특정 NPC에 대한 공격 스킬인 경우, 플레이어 캐릭터가 몬스터를 공격하는 동작 애니메이션이 재생될 수 있다. 재생되는 동작 애니메이션은 공격 스킬에 따라 칼을 휘두르거나 공격마법을 시전하는 등의 다양한 애니메이션을 포함할 수 있다.
플레이어 캐릭터의 동작 애니메이션에 이어서, 플레이어 캐릭터의 공격 스킬에 대하여 반응하는 상호작용 캐릭터의 리액션 애니메이션이 재생될 수 있다. 예를 들어, 상호작용 캐릭터에 공격 스킬에 의해 피격되거나 이를 방어하는 동작을 나타내는 애니메이션이 재생될 수 있다.
다만, 느린 네트워크 환경에서 서로 다른 클라이언트 장치(200-1 ~ 200-n)의 제1 내지 제n 플레이어 캐릭터가 동일한 상호작용 캐릭터에 대하여 특정 동작이 실행되도록 하는 명령이 입력되는 경우, 통신 지연 상태에 따라 상호작용 캐릭터의 리액션 애니메이션의 재생 순서가 역전되는 문제가 발생될 수 있다.
따라서, 상술한 바와 같이 동작하는 시스템(1000) 하에서 상호작용하는 캐릭터의 리액션 애니메이션의 순서를 효과적으로 배치하는 방법을 도 2 내지 도 4를 참조하여 구체적으로 설명하도록 한다.
도 2는 본 발명의 일 실시 예에 따른 클라이언트 장치에서의 캐릭터 애니메이션의 구현 방법을 간략히 설명하기 위한 흐름도이다.
이하에서는, 설명의 편의를 위해 클라이언트 장치는 제1 클라이언트 장치(200-1)로, 타 클라이언트 장치는 제2 클라이언트 장치(200-2)를 가리키는 것으로 가정한다.
또한, 제1 플레이어 캐릭터는 제1 클라이언트 장치(200-1)의 제1 사용자 계정의 캐릭터, 제2 플레이어 캐릭터는 제2 클라이언트 장치(200-2)의 제2 사용자 계정의 캐릭터라고 가정한다.
또한, 클라이언트 응답 패킷 및 타 클라이언트 응답 패킷은 각각 제1 클라이언트 응답 패킷 및 제2 클라이언트 응답 패킷으로 혼용될 수 있다.
또한, 제1 및 제2 플레이어 캐릭터의 제1 및 제2 동작 실행 명령은 각각 특정 NPC를 공격하기 위해 칼을 휘두르는 제1 및 제2 공격 스킬의 실행 명령이라고 가정하며, 제1 플레이어 캐릭터의 공격 대상인 특정 NPC의 제1 리액션 실행 명령은 칼에 의해 피격되어 휘청거리는 제1 리액션의 실행 명령, 제2 플레이어 캐릭터의 공격 대상인 특정 NPC의 제2 리액션 실행 명령은 칼에 의해 피격되어 사망하는 제2 리액션의 실행 명령이라고 가정한다.
다만, 설명의 편의를 위해 대상 캐릭터가 특정 NPC임으로 가정할 뿐, 특정 NPC 외에 다른 플레이어의 캐릭터도 본 발명에 적용될 수 있음은 물론이다.
먼저, 제1 클라이언트 장치(200-1)의 제1 사용자로부터 제1 플레이어 캐릭터의 특정 NPC에 대한 제1 공격 스킬 실행 명령을 수신한다(S210).
제1 공격 스킬 실행 명령의 수신을 위해, 제1 클라이언트 장치(200-1)는 각종 사용자 명령을 입력받을 수 있는 사용자 인터페이스(User Interface)(미도시)를 포함할 수 있다. 이때, 사용자 인터페이스는 키보드, 마우스, 터치 디스플레이 패널 등 사용자와 클라이언트 장치(200-1) 간에 인터랙션을 수행할 수 있는 다양한 입력 장치를 포함할 수 있다.
이후, 제1 공격 스킬 실행 명령에 대한 요청 패킷을 온라인 게임 서버(100)로 전송한다(S220).
이후, 온라인 게임 서버(100)로부터, 제1 공격 스킬 실행 명령에 대응되는 제1 공격 스킬 애니메이션 및 제1 공격 스킬 실행 명령에 대하여 반응하는 특정 NPC의 제1 피격 애니메이션이 통합된 제1 통합 애니메이션을 포함하는 제1 클라이언트 응답 패킷을 수신한다(S230).
즉, 온라인 게임 서버(100)는 제1 공격 스킬 실행 명령에 대응되는 제1 공격 스킬 애니메이션과 이에 대하여 피격되는 특정 NPC의 제1 피격 애니메이션을 하나로 통합한 제1 통합 애니메이션을 생성하고, 생성된 제1 통합 애니메이션을 응답 패킷에 포함시켜 제1 클라이언트 장치(200-1)로 전송할 수 있다. 이때, 제1 공격 스킬 애니메이션 및 특정 NPC의 제1 피격 애니메이션은 온라인 게임 서버(100)에 기 저장되어 있을 수 있다.
예를 들어, 제1 공격 스킬 동작의 지속 시간(duration), 즉 제1 공격 스킬에 따라 칼을 휘두른 후 특정 NPC가 피격되기까지의 시간이 3초이고, 피격 동작의 지속 시간, 즉 특정 NPC가 피격되어 휘청거리는 시간이 2초라고 가정할 수 있다. 이때, 온라인 게임 서버(100)는 제1 플레이어 캐릭터가 제1 공격 스킬을 실행하도록 하는 제1 공격 스킬 명령 패킷과 특정 NPC가 제1 피격 리액션을 실행하도록 하는 제1 피격 리액션 명령 패킷을 하나로 패키지화하여 제1 공격 스킬 애니메이션(3초) 및 제1 피격 애니메이션(2초)을 통합한 총 5초의 재생 시간을 갖는 제1 통합 애니메이션을 생성할 수 있다.
이와 같이 생성된 제1 통합 애니메이션을 포함하는 제1 클라이언트 응답 패킷이 제1 클라이언트 장치(200-1)로 전송될 수 있다.
이하의 실시 예는 모두 이와 같은 가정에 따라 기술하도록 한다.
이후, 제1 클라이언트 장치(200-1)는 제1 클라이언트 응답 패킷이 수신되면 제1 통합 애니메이션의 재생을 시작한다(S240).
한편, 동일한 특정 NPC에 대하여 복수의 플레이어가 동시간대에 공격을 수행하는 경우를 가정할 수 있다. 즉, 제1 클라이언트 장치(200-1)에서 제1 공격 스킬 실행 명령이 입력된 후, 제2 클라이언트 장치(200-2)의 제2 사용자로부터 동일한 특정 NPC에 대한 제2 플레이어 캐릭터의 제2 공격 스킬 실행 명령이 입력될 수 있다.
이때, 제1 클라이언트 장치(200-1)는 온라인 게임 서버(100)로부터, 제2 클라이언트 장치(200-2)로부터 입력받은 제2 플레이어 캐릭터의 제2 공격 스킬 실행 명령에 대응되는 제2 공격 스킬 애니메이션 및 제2 공격 스킬 실행 명령에 대하여 반응하는 특정 NPC의 제2 피격 애니메이션이 통합된 제2 통합 애니메이션을 포함하는 제2 클라이언트 응답 패킷을 수신할 수 있다(S250).
제1 클라이언트 장치(200-1)로 제2 클라이언트 응답 패킷이 수신되면, 상술한 제1 통합 애니메이션의 재생에 더하여 제2 통합 애니메이션의 재생을 더 시작할 수 있다(S260).
이와 같은 방식으로, 제1 클라이언트 장치(200-1)는 제1 플레이어 캐릭터의 제1 공격 스킬 애니메이션 및 그에 따른 특정 NPC의 제1 피격 애니메이션, 제2 플레이어 캐릭터의 제2 공격 스킬 애니메이션 및 그에 따른 특정 NPC의 제2 피격 애니메이션을 순차적으로 재생할 수 있다.
그러나, 응답 패킷의 수신 지연 시간 및 공격 스킬 동작의 지속 시간에 따라서는, 제1 클라이언트 장치(200-1)에서 재생되는 특정 NPC의 제1 피격 애니메이션 및 제2 피격 애니메이션의 재생이 역전되는 현상이 발생될 수 있다. 이때, 제1 공격 스킬 명령보다 후에 입력된 제2 공격 스킬 명령에 의해 특정 NPC가 사망하게 되는 이벤트가 발생하는 경우, 제2 피격 애니메이션은 특정 NPC가 죽는 모습을 표현하는 애니메이션에 해당하게 된다. 따라서, 상술한 역전 현상에 따르면 특정 NPC가 죽는 애니메이션이 재생된 후 산 상태에서 단순히 피격되는 애니메이션이 또다시 재생되는 부자연스러운 현상이 발생되는 문제가 있다.
이와 관련한 구체적인 내용은 도 3을 참조하여 설명하도록 한다.
도 3은 본 발명의 일 실시 예에 따른 NPC의 리액션 애니메이션의 역전 현상을 설명하기 위한 순서도이다.
도 3을 참조하면, 먼저 제1 클라이언트 장치(200-1)가 제1 사용자로부터 제1 공격 스킬 실행 명령을 입력받는다(S305). 이때, 제1 공격 스킬 실행 명령이 입력되는 시점은 서버(100)를 기준으로 0초라고 가정하며, 이하 도 3에 표시되는 모든 시점은 서버(100)를 기준으로 한 시점일 수 있다.
이때, 제1 클라이언트 장치(200-1)는 제1 공격 스킬 실행 명령에 대한 요청 패킷을 온라인 게임 서버(100)로 전송한다(S310).
전송되는 요청 패킷의 지연 시간에 따라, 온라인 게임 서버(100)에 요청 패킷이 수신되는 시점은 서버(100)를 기준으로 0.1초일 수 있다.
온라인 게임 서버(100)는 제1 공격 스킬 실행 명령에 대응되는 제1 공격 스킬 애니메이션 및 제1 공격 스킬 실행 명령에 대하여 반응하는 특정 NPC의 제1 피격 애니메이션이 통합된 제1 통합 애니메이션을 포함하는 제1 클라이언트 응답 패킷을 생성하고, 생성된 제1 클라이언트 응답 패킷을 제1 클라이언트 장치(200-1) 및 제2 클라이언트 장치(200-2)에 각각 전송할 수 있다(S315).
이때, 온라인 게임 서버(100)는 제1 클라이언트 응답 패킷에, 온라인 게임 서버(100)가 제1 클라이언트 장치로부터 제1 공격 스킬 실행 명령에 대한 요청 패킷을 수신한 시점을 기록한 제1 타임 스탬프(time stamp) 및 제1 공격 스킬 애니메이션의 재생 시점으로부터 제1 피격 애니메이션의 재생 시점까지의 시간 간격으로 기 설정된 제1 듀레이션(duration) 값을 포함시킬 수 있다.
이때, 제1 타임 스탬프는 요청 패킷을 수신한 시점인 0.1초일 수 있다. 또한, 제1 듀레이션은 제1 공격 스킬 동작의 지속 시간이라고 이해될 수 있으며, 여기서 제1 공격 스킬 동작의 지속 시간이 4초이므로 제1 듀레이션 값은 4초일 수 있다.
한편, 제1 클라이언트 응답 패킷은 네트워크 상태에 따라 제1 클라이언트 장치(200-1)보다 제2 클라이언트 장치(200-2)에 먼저 수신될 수 있다. 이때, 제1 클라이언트 장치(200-1)에 제1 클라이언트 응답 패킷이 수신되는 시점은 1.2초이고, 제2 클라이언트 장치(200-2)에 제1 클라이언트 응답 패킷이 수신되는 시점은 0.2초일 수 있다. 즉, 제1 클라이언트 장치(200-1)가 제2 클라이언트 장치(200-2)보다 제1 클라이언트 응답 패킷의 수신 시점이 1초 더 지연될 수 있다.
제2 클라이언트 장치(200-2)는 제1 클라이언트 응답 패킷이 수신된 0.2초부터 제1 클라이언트 응답 패킷에 포함된 제1 통합 애니메이션을 재생할 수 있으며, 이에 따라 제1 통합 애니메이션 중 제1 공격 스킬 애니메이션이 재생되는 시점 역시 0.2초가 된다(S320).
제1 공격 스킬 동작의 지속 시간 즉, 제1 듀레이션이 4초이므로 제1 공격 스킬 애니메이션 역시 4초간 재생될 수 있으며, 이에 따라 제1 공격 스킬 애니메이션의 재생 종료 시점은 4.2초(0.2초+4초)가 될 수 있다.
한편, 제2 클라이언트 장치(200-2)의 제2 사용자 역시 동일한 특정 NPC에 대하여 제2 공격 스킬 실행 명령을 입력할 수 있다(S325). 이때, 제2 공격 스킬 실행 명령이 입력된 시점은 1초라고 가정할 수 있다.
제2 클라이언트 장치(200-2)는 제2 공격 스킬 실행 명령에 대한 요청 패킷을 온라인 게임 서버(100)로 전송할 수 있다(S330). 전송되는 요청 패킷의 지연 시간에 따라, 온라인 게임 서버(100)에 요청 패킷이 수신되는 시점은 서버(100)를 기준으로 1.1초일 수 있다.
온라인 게임 서버(100)는 제2 공격 스킬 실행 명령에 대응되는 제2 공격 스킬 애니메이션 및 제2 공격 스킬 실행 명령에 대하여 반응하는 특정 NPC의 제2 피격 애니메이션이 통합된 제2 통합 애니메이션을 포함하는 제2 클라이언트 응답 패킷을 생성하고, 생성된 제2 클라이언트 응답 패킷을 제1 클라이언트 장치(200-1) 및 제2 클라이언트 장치(200-2)에 각각 전송할 수 있다(S335).
제1 클라이언트 장치(200-1)는 제1 클라이언트 응답 패킷이 수신된 1.2초부터 제1 클라이언트 응답 패킷에 포함된 제1 통합 애니메이션을 재생할 수 있으며, 이에 따라 제1 통합 애니메이션 중 제1 공격 스킬 애니메이션이 재생되는 시점 역시 1.2초가 된다(S340).
제1 공격 스킬 동작의 지속 시간 즉, 제1 듀레이션이 4초이므로 제1 공격 스킬 애니메이션 역시 4초간 재생될 수 있으며, 이에 따라 제1 공격 스킬 애니메이션의 재생 종료 시점은 5.2초(1.2초+4초)가 될 수 있다.
한편, 제2 클라이언트 응답 패킷이 제1 클라이언트 장치(200-1) 및 제2 클라이언트 장치(200-2)에 수신되는 시점은 각각 1.3초일 수 있다. 이때, 제1 클라이언트 장치(200-1)에서 제1 클라이언트 응답 패킷이 수신되는 시점과 제2 클라이언트 응답 패킷이 수신되는 시점의 간격(점선 표시)은 0.1초이며, 제2 클라이언트 장치(200-2)에서 제1 클라이언트 응답 패킷이 수신되는 시점과 제2 클라이언트 응답 패킷이 수신되는 시점의 간격(점선 표시)은 1.1초일 수 있다.
제1 클라이언트 장치(200-1) 및 제2 클라이언트 장치(200-2)는 제2 클라이언트 응답 패킷에 포함된 제2 통합 애니메이션을 각각 재생할 수 있으며, 이에 따라 제2 통합 애니메이션 중 제2 공격 스킬 애니메이션이 각각 재생되는 시점 역시 1.3초가 된다(S345).
제2 공격 스킬 동작의 지속 시간 즉, 제2 듀레이션이 3.5초이므로 제2 공격 스킬 애니메이션 역시 3.5초간 재생될 수 있으며, 이에 따라 제2 공격 스킬 애니메이션의 재생 종료 시점은 4.8초(1.3초+3.5초)가 될 수 있다.
제2 클라이언트 장치(200-2)의 경우, 제1 공격 스킬 애니메이션의 재생 종료 시점인 4.2초에 제1 피격 애니메이션의 재생을 시작할 수 있으며(S350), 제2 공격 스킬 애니메이션의 재생 종료 시점인 4.8초에 제2 피격 애니메이션의 재생을 시작할 수 있다(S355).
따라서, 제2 클라이언트 장치(200-2)에서는 제1 피격 애니메이션 및 제2 피격 애니메이션의 역전 현상이 발생하지 않는다.
반면, 제1 클라이언트 장치(200-1)의 경우, 제2 공격 스킬 애니메이션의 재생 종료 시점인 4.8초에 제2 피격 애니메이션의 재생을 시작할 수 있으며(S355), 제1 공격 스킬 애니메이션의 재생 종료 시점인 5.2초에 제1 피격 애니메이션의 재생을 시작할 수 있다(S360). 이때, 제2 피격 애니메이션의 재생 시점이 제1 피격 애니메이션의 재생 시점보다 0.4초 앞서는 역전 현상이 발생하게 된다.
따라서, 제1 공격 스킬 실행 명령보다 후속 명령인 제2 공격 스킬 실행 명령에 따라, 상호작용하는 특정 NPC가 사망하게 되는 이벤트가 발생하는 경우 상호작용하는 특정 NPC가 사망하는 모습이 표현되는 제2 피격 애니메이션이 재생된 후, 해당 특정 NPC가 살아있는 상태에서 단순히 피격되는 모습이 표현되는 제1 피격 애니메이션이 재생되게 되므로 해당 특정 NPC의 애니메이션이 부자연스럽게 나타나는 문제가 발생하게 된다.
이와 같은 문제를 해결하기 위하여, 응답 패킷으로부터 수신한 타임 스탬프를 이용하여 제1 및 제2 피격 애니메이션의 재생 순서를 정렬할 수 있다. 이와 관련한 구체적인 방법은 도 4를 참조하여 설명하도록 한다.
도 4는 본 발명의 일 실시 예에 따른 클라이언트 장치에 있어서 타임 스탬프를 이용한 작업 정렬 방법을 설명하기 위한 흐름도이다.
먼저, 온라인 게임 서버(100)로부터 수신한 제1 클라이언트 응답 패킷에 포함된 제1 타임 스탬프(ts)에 제1 듀레이션(dr) 값이 더해진 시점과 제2 클라리언트 응답 패킷에 포함된 제2 타임 스탬프(ts)에 제2 듀레이션(dr) 값이 더해진 시점을 서로 비교할 수 있다.
이를 위해, 제1 타임 스탬프(ts)에 제1 듀레이션(dr) 값을 더한 값(제1 ts + 제1 dr 값)과 제2 타임 스탬프(ts)에 제2 듀레이션(dr) 값을 더한 값(제2 ts + 제2 dr 값)을 산출할 수 있다(S410).
예를 들어, 도 3에 도시된 실시 예에서, 제1 ts는 0.1초, 제1 dr 값은 4초이므로, 제1 ts + 제1 dr 값은 4.1이다. 또한, 제2 ts는 1.1초, 제2 dr 값은 3.5초이므로, 제2 ts + 제2 dr 값은 4.6이다.
이후, 제1 타임 스탬프(ts)에 제1 듀레이션(dr) 값이 더해진 시점이 제2 타임 스탬프(ts)에 제2 듀레이션(dr) 값이 더해진 시점보다 앞서는지 여부를 판단할 수 있다.
이를 위해, '제1 ts + 제1 dr 값'과 '제2 ts + 제2 dr 값'을 서로 비교할 수 있다. '제1 ts + 제1 dr 값'이 '제2 ts + 제2 dr 값'보다 작은 경우(S420:Y), 상호작용하는 특정 NPC의 제1 및 제2 피격 애니메이션이 역전된 경우에 해당하며 이때에는 제2 공격 스킬 애니메이션의 제2 듀레이션 종료 후 상호작용하는 특정 NPC의 제2 피격 애니메이션을 재생하지 않고 연기할 수 있다(S430).
도 3에 도시된 실시 예에서, '제1 ts + 제1 dr 값'인 4.1이 '제2 ts + 제2 dr 값'인 4.6보다 작으므로, 상호작용하는 특정 NPC의 제1 및 제2 피격 애니메이션이 역전된 경우라고 판단할 수 있다.
만일, '제1 ts + 제1 dr 값'이 '제2 ts + 제2 dr 값'보다 큰 경우(S420:N), 상호작용하는 특정 NPC의 제1 및 제2 피격 애니메이션이 역전되지 않은 경우이므로, 제2 공격 스킬 애니메이션의 제2 듀레이션 종료 시점에 곧바로 제2 피격 애니메이션의 재생을 시작할 수 있다(S460).
제2 피격 애니메이션의 재생이 연기된 상태에서, 제1 통합 애니메이션의 재생이 완료되었는지 여부를 판단한다(S440). 제1 통합 애니메이션의 재생이 완료되기 전까지는 제2 피격 애니메이션의 재생을 연기하고(S440:N), 제1 통합 애니메이션의 재생이 완료된 경우에만(S440:Y) 제2 피격 애니메이션의 재생을 시작할 수 있다(S450). 이 때, 상호작용하는 특정 NPC의 제1 피격 애니메이션의 재생이 완료된 후, 곧바로 제2 피격 애니메이션이 재생될 수 있다.
한편, 본 발명의 일 실시 예에 따르면, 제2 피격 애니메이션의 재생이 연기되는 상태에서, 재생 중인 제1 통합 애니메이션 중 제1 피격 애니메이션의 재생 속도를 기본 속도보다 빠르게 조절할 수 있다. 예를 들어, 3초 동안 지속되는 제1 피격 애니메이션의 재생 속도를 기본 속도보다 2배 빠르게 조절하여 1.5초동안 제1 피격 애니메이션이 모두 재생되도록 할 수 있다.
또한, 본 발명의 다른 실시 예에 따르면, 제2 피격 애니메이션의 재생이 연기되는 상태에서, 재생 중인 제1 통합 애니메이션 중 제1 피격 애니메이션의 일부 내지 전부를 생략하여 1 피격 애니메이션의 재생을 빠르게 완료시킬 수 있다. 예를 들어, 제1 피격 애니메이션이 상호작용하는 해당 특정 NPC가 제1 공격 스킬에 의해 45° 만큼 뒤로 젖혀지도록 표현되는 애니메이션인 경우, 20° 만큼 뒤로 젖혀지는 구간까지만 재생하고 나머지 부분을 생략한 후 제2 피격 애니메이션을 재생할 수 있다.
이에 따라, 제1 공격 스킬 실행 명령보다 나중에 입력된 타 클라이언트 장치(200-2)로부터의 제2 공격 스킬 실행 명령에 의해 NPC가 사망하는 경우 등, 제1 및 제2 피격 애니메이션의 역전 현상에 의해 NPC가 부자연스럽게 표현되는 문제를 해결할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 서버의 구성을 간략히 설명하기 위한 블록도이다.
본 발명의 서버(100)는 통신부(110), 메모리(120) 및 프로세서(130)를 포함한다. 다만, 서버(100)의 구성요소가 전술한 예에 한정되는 것은 아니다. 예를 들어, 서버(100)는 전술한 구성 요소보다 더 많은 구성 요소를 포함하거나 더 적은 구성 요소를 포함할 수 있다. 뿐만 아니라, 통신부(110), 메모리(120) 및 프로세서(130)가 하나의 칩(Chip) 형태로 구현될 수도 있다.
통신부(110)는 클라이언트 장치(200-1 ~ 200-n)와 네트워크를 통해 각종 신호를 송수신할 수 있다. 서버(100)는 통신부(110)를 통해 동시접속한 다수의 클라이언트 장치(200-1 ~ 200-n)들로 하여금 온라인 게임을 실행할 수 있도록, 게임 소프트웨어를 포함하는 각종 데이터를 제공하고 함께 게임을 실행하는 다른 사용자들의 상태 정보와 게임 내 각종 변수에 관한 정보를 공유할 수 있도록 한다.
특히, 통신부(110)를 통해 본 발명을 구현하기 위한 요청 패킷 및 응답 패킷 등 각종 데이터를 송수신할 수 있다.
메모리(120)는 온라인 게임 서비스의 제공에 필요한 프로그램 및 데이터를 저장하는 구성이다. 일 실시 예에서, 메모리(120)는 서버(100)가 송수신하는 신호에 포함된 제어 정보 또는 데이터를 저장할 수 있으며, 플레이어 캐릭터 및/또는 NPC의 동작 애니메이션 및 리액션 애니메이션을 저장할 수 있다. 메모리(120)는 롬(ROM), 램(RAM), 하드디스크, CD-ROM 및 DVD 등과 같은 저장 매체 또는 저장 매체들의 조합으로 구성될 수 있으며, 복수 개일 수도 있다. 일 실시 예에 따르면, 메모리(120)는 전술한 본 발명의 실시 예들인 서버(100)의 동작을 수행하기 위한 프로그램, 예를 들어 캐릭터 애니메이션의 구현을 위한 프로그램 등을 저장할 수 있다.
프로세서(130)는 상술한 본 발명의 실시 예에 따라 서버(100)가 동작하는 일련의 과정을 제어할 수 있다. 예를 들면, 일 실시 예에 따른 서버(100)의 동작을 수행하도록 서버(100)의 구성요소들을 제어할 수 있으며, 이로부터 클라이언트 장치(200-1 ~ 200-n)를 간접적으로 제어할 수도 있다.
프로세서(130)는 복수 개일 수 있으며, 프로세서(130)는 메모리(120)에 저장된 프로그램을 실행함으로써 서버(100)의 동작을 수행할 수 있다.
일 실시 예에서, 프로세서(130)는 클라이언트 장치(200-1)로부터 제1 플레이어 캐릭터의 제1 동작 실행 명령에 대한 요청 패킷을 수신하면, 제1 동작 실행 명령에 대응되는 제1 동작 애니메이션 및 제1 동작 실행 명령에 대하여 반응하는 NPC의 제1 리액션 애니메이션이 통합된 제1 통합 애니메이션을 포함하는 클라이언트 응답 패킷을 클라이언트 장치(200-1)로 전송할 수 있으며, 클라이언트 응답 패킷을 수신한 클라이언트 장치(200-1)가 제1 통합 애니메이션의 재생을 시작하도록 제어할 수 있다.
또한, 프로세서(130)는 타 클라이언트 장치(200-2)로부터 제2 플레이어 캐릭터의 제2 동작 실행 명령에 대한 요청 패킷을 수신하면, 제2 동작 실행 명령에 대응되는 제2 동작 애니메이션 및 제2 동작 실행 명령에 대하여 반응하는 NPC의 제2 리액션 애니메이션이 통합된 제2 통합 애니메이션을 포함하는 타 클라이언트 응답 패킷을 클라이언트 장치(200-1)로 전송할 수 있으며, 타 클라이언트 응답 패킷을 수신한 클라이언트 장치(200-1)가 제2 통합 애니메이션의 재생을 시작하도록 제어할 수 있다.
이때, 프로세서(130)는 서버(100)가 클라이언트 장치(200-1)로부터 제1 동작 실행 명령에 대한 요청 패킷을 수신한 시점을 기록한 제1 타임 스탬프, 제1 동작 애니메이션의 재생 시점으로부터 제1 리액션 애니메이션의 재생 시점까지의 시간 간격으로 기 설정된 제1 듀레이션 값을 클라이언트 응답 패킷에 포함시킬 수 있다.
또한, 프로세서(130)는 서버(100)가 타 클라이언트 장치(200-2)로부터 제2 동작 실행 명령에 대한 요청 패킷을 수신한 시점을 기록한 제2 타임 스탬프, 제2 동작 애니메이션의 재생 시점으로부터 제2 리액션 애니메이션의 재생 시점까지의 시간 간격으로 기 설정된 제2 듀레이션 값을 타 클라이언트 응답 패킷에 포함시킬 수 있다.
특히, 프로세서(130)는 클라이언트 장치(200-1)가 제1 타임 스탬프에 제1 듀레이션 값이 더해진 시점과 제2 타임 스탬프에 제2 듀레이션 값이 더해진 시점을 서로 비교하고, 제1 타임 스탬프에 제1 듀레이션 값이 더해진 시점이 제2 타임 스탬프에 제2 듀레이션 값이 더해진 시점보다 앞서는 경우, 제2 동작 애니메이션의 재생이 종료된 후 제2 리액션 애니메이션의 재생을 연기하고, 재생 중인 제1 통합 애니메이션의 재생이 완료되면 제2 리액션 애니메이션의 재생을 시작하도록 제어할 수 있다.
또한, 일 실시 예에 따르면, 프로세서(130)는 클라이언트 장치(200-1)가 제1 타임 스탬프에 제1 듀레이션 값이 더해진 시점이 제2 타임 스탬프에 제2 듀레이션 값이 더해진 시점보다 앞서는 경우, 제2 동작 애니메이션의 재생이 종료된 후 제2 리액션 애니메이션의 재생을 연기하고, 재생 중인 제1 통합 애니메이션 중 제1 리액션 애니메이션의 재생 속도를 기본 속도보다 빠르게 조절하도록 제어할 수 있다.
또한, 일 실시 예에 따르면, 프로세서(130)는 클라이언트 장치(200-1)가 제1 타임 스탬프에 제1 듀레이션 값이 더해진 시점이 제2 타임 스탬프에 제2 듀레이션 값이 더해진 시점보다 앞서는 경우, 제2 동작 애니메이션의 재생이 종료된 후 제2 리액션 애니메이션의 재생을 연기하고, 재생 중인 제1 통합 애니메이션 중 제1 리액션 애니메이션의 일부 내지 전부를 생략하고 제2 리액션 애니메이션의 재생을 시작하도록 제어할 수 있다.
이상과 같은 본 발명의 다양한 실시 예에 따르면, 온라인 게임 서비스에 있어서, 통신이 느리거나 속도가 불규칙한 환경에서도 서로 다른 복수의 클라이언트로부터의 조작 명령과 관련된 캐릭터의 움직임이 순차적으로 자연스럽게 이루어지도록 하여 게이머의 부정적 플레이 경험을 개선할 수 있게 된다.
한편, 상술한 다양한 실시 예에 따른 캐릭터 애니메이션 구현 방법은 프로그램으로 구현되어 다양한 기록 매체에 저장될 수 있다. 즉, 각종 프로세서에 의해 처리되어 상술한 캐릭터 애니메이션 구현 방법을 실행할 수 있는 컴퓨터 프로그램이 기록 매체에 저장된 상태로 사용될 수도 있다.
일 예로, ⅰ) 사용자로부터 제1 플레이어 캐릭터의 제1 동작 실행 명령을 입력받는 단계, ⅱ) 제1 동작 실행 명령에 대한 요청 패킷을 온라인 게임 서버로 전송하는 단계, ⅲ) 온라인 게임 서버로부터, 제1 동작 실행 명령에 대응되는 제1 동작 애니메이션 및 제1 동작 실행 명령에 대하여 반응하는 특정 NPC의 제1 리액션 애니메이션이 통합된 제1 통합 애니메이션을 포함하는 클라이언트 응답 패킷을 수신하는 단계, ⅳ) 클라이언트 응답 패킷이 수신되면, 제1 통합 애니메이션의 재생을 시작하는 단계, ⅴ) 온라인 게임 서버로부터, 타 클라이언트 장치로부터 입력받은 제2 플레이어 캐릭터의 제2 동작 실행 명령에 대응되는 제2 동작 애니메이션 및 제2 동작 실행 명령에 대하여 반응하는 특정 NPC의 제2 리액션 애니메이션이 통합된 제2 통합 애니메이션을 포함하는 타 클라이언트 응답 패킷을 수신하는 단계, ⅵ) 타 클라이언트 응답 패킷이 수신되면, 제2 통합 애니메이션의 재생을 더 시작하는 단계를 수행하고, 제2 통합 애니메이션의 재생을 더 시작하는 단계에서, 제1 타임 스탬프에 제1 듀레이션 값이 더해진 시점과 제2 타임 스탬프에 제2 듀레이션 값이 더해진 시점을 서로 비교하고, 제1 타임 스탬프에 제1 듀레이션 값이 더해진 시점이 제2 타임 스탬프에 제2 듀레이션 값이 더해진 시점보다 앞서는 경우, 제2 동작 애니메이션의 재생이 종료된 후 제2 리액션 애니메이션의 재생을 연기하고, 재생 중인 제1 통합 애니메이션의 재생이 완료되면 제2 리액션 애니메이션의 재생을 시작하도록 하는 상술한 각 단계를 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
상술한 실시 예에서는 "서버"라는 표현을 사용하였으나, 분산 컴퓨팅 환경에서는 기능이나 부하를 다수의 서버로 분할하여 처리하는 것이 일반적이므로 "서버"는 반드시 단일한 하드웨어 구성요소를 지칭하지 아니하며, 기능적으로 구분되는 서버군을 포함할 수 있다.
또한, 상술한 실시 예에서는 "네트워크"라는 표현을 사용하였으나, 이때 네트워크는 거리와 규모에 따라서는 LAN(Local Area Network), WAN(Wide Area Network), 접속경로의 특징에 따라서는 인트라넷, VPN(Virtual Private Network), 접속방식에 따라서는 와이브로, WiFi, 이동통신망과 같이 지칭되는 다양한 네트워크 연결방식을 모두 포함하는 광의의 개념으로 해석되어야 한다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 서버 110: 통신부
120: 입력부 130: 메모리
200-1 ~ 200-n: 클라이언트 장치 1000: 온라인 게임 시스템
2000: 네트워크

Claims (8)

  1. 클라이언트 장치를 통해 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법에 있어서,
    사용자로부터 제1 플레이어 캐릭터의 제1 동작 실행 명령을 입력받는 단계;
    상기 제1 동작 실행 명령에 대한 요청 패킷을 온라인 게임 서버로 전송하는 단계;
    상기 온라인 게임 서버로부터, 상기 제1 동작 실행 명령에 대응되는 제1 동작 애니메이션 및 상기 제1 동작 실행 명령에 대하여 반응하는 대상 캐릭터의 제1 리액션 애니메이션이 통합된 제1 통합 애니메이션을 포함하는 클라이언트 응답 패킷을 수신하는 단계;
    상기 클라이언트 응답 패킷이 수신되면, 상기 제1 통합 애니메이션의 재생을 시작하는 단계;
    상기 온라인 게임 서버로부터, 타 클라이언트 장치로부터 입력받은 제2 플레이어 캐릭터의 제2 동작 실행 명령에 대응되는 제2 동작 애니메이션 및 상기 제2 동작 실행 명령에 대하여 반응하는 상기 대상 캐릭터의 제2 리액션 애니메이션이 통합된 제2 통합 애니메이션을 포함하는 타 클라이언트 응답 패킷을 수신하는 단계; 및
    상기 타 클라이언트 응답 패킷이 수신되면, 상기 제2 통합 애니메이션의 재생을 더 시작하는 단계;를 포함하고,
    상기 클라이언트 응답 패킷은,
    상기 온라인 게임 서버가 상기 클라이언트 장치로부터 상기 제1 동작 실행 명령에 대한 요청 패킷을 수신한 시점을 기록한 제1 타임 스탬프(time stamp), 상기 제1 동작 애니메이션의 재생 시점으로부터 상기 제1 리액션 애니메이션의 재생 시점까지의 시간 간격으로 기 설정된 제1 듀레이션(duration) 값을 포함하고,
    상기 타 클라이언트 응답 패킷은,
    상기 온라인 게임 서버가 상기 타 클라이언트 장치로부터 상기 제2 동작 실행 명령에 대한 요청 패킷을 수신한 시점을 기록한 제2 타임 스탬프 및, 상기 제2 동작 애니메이션의 재생 시점으로부터 상기 제2 리액션 애니메이션의 재생 시점까지의 시간 간격으로 기 설정된 제2 듀레이션 값을 포함하며,
    상기 제2 통합 애니메이션의 재생을 시작하는 단계는,
    상기 제1 타임 스탬프에 상기 제1 듀레이션 값이 더해진 시점과 상기 제2 타임 스탬프에 상기 제2 듀레이션 값이 더해진 시점을 서로 비교하고, 상기 제1 타임 스탬프에 상기 제1 듀레이션 값이 더해진 시점이 상기 제2 타임 스탬프에 상기 제2 듀레이션 값이 더해진 시점보다 앞서는 경우, 상기 제2 동작 애니메이션의 재생이 종료된 후 제2 리액션 애니메이션의 재생을 연기하고, 상기 재생 중인 제1 통합 애니메이션의 재생이 완료되면 상기 제2 리액션 애니메이션의 재생을 시작하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 제2 통합 애니메이션의 재생을 시작하는 단계는,
    상기 제1 타임 스탬프에 상기 제1 듀레이션 값이 더해진 시점이 상기 제2 타임 스탬프에 상기 제2 듀레이션 값이 더해진 시점보다 앞서는 경우, 상기 제2 동작 애니메이션의 재생이 종료된 후 제2 리액션 애니메이션의 재생을 연기하고, 상기 재생 중인 제1 통합 애니메이션 중 상기 제1 리액션 애니메이션의 재생 속도를 기본 속도보다 빠르게 조절하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 제2 통합 애니메이션의 재생을 시작하는 단계는,
    상기 제1 타임 스탬프에 상기 제1 듀레이션 값이 더해진 시점이 상기 제2 타임 스탬프에 상기 제2 듀레이션 값이 더해진 시점보다 앞서는 경우, 상기 제2 동작 애니메이션의 재생이 종료된 후 제2 리액션 애니메이션의 재생을 연기하고, 상기 재생 중인 제1 통합 애니메이션 중 상기 제1 리액션 애니메이션의 일부 내지 전부를 생략하고 상기 제2 리액션 애니메이션의 재생을 시작하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 제2 동작 실행 명령은,
    상기 대상 캐릭터에 대한 상기 제2 플레이어 캐릭터의 공격 스킬 실행 명령이고,
    상기 제2 리액션 애니메이션은,
    상기 대상 캐릭터가 상기 제2 플레이어 캐릭터의 공격 스킬에 의해 피격되어 사망하는 애니메이션인 것을 특징으로 하는 방법.
  5. 클라이언트 장치를 통해 온라인 게임상에서의 캐릭터 애니메이션을 구현하기 위한 서버에 있어서,
    상기 캐릭터 애니메이션의 구현을 위한 프로그램을 저장하는 적어도 하나 이상의 메모리;
    상기 프로그램을 실행함으로써, 클라이언트 장치로부터 제1 플레이어 캐릭터의 제1 동작 실행 명령에 대한 요청 패킷을 수신하면, 상기 제1 동작 실행 명령에 대응되는 제1 동작 애니메이션 및 상기 제1 동작 실행 명령에 대하여 반응하는 대상 캐릭터의 제1 리액션 애니메이션이 통합된 제1 통합 애니메이션을 포함하는 클라이언트 응답 패킷을 상기 클라이언트 장치로 전송하고, 상기 클라이언트 응답 패킷을 수신한 상기 클라이언트 장치가 상기 제1 통합 애니메이션의 재생을 시작하도록 제어하고, 타 클라이언트 장치로부터 입력받은 제2 플레이어 캐릭터의 제2 동작 실행 명령에 대응되는 제2 동작 애니메이션 및 상기 제2 동작 실행 명령에 대하여 반응하는 상기 대상 캐릭터의 제2 리액션 애니메이션이 통합된 제2 통합 애니메이션을 포함하는 타 클라이언트 응답 패킷을 수신하면, 상기 제2 통합 애니메이션의 재생을 더 시작하도록 제어하는 프로세서;를 포함하고,
    상기 클라이언트 응답 패킷은,
    상기 서버가 상기 클라이언트 장치로부터 상기 제1 동작 실행 명령에 대한 요청 패킷을 수신한 시점을 기록한 제1 타임 스탬프(time stamp), 상기 제1 동작 애니메이션의 재생 시점으로부터 상기 제1 리액션 애니메이션의 재생 시점까지의 시간 간격으로 기 설정된 제1 듀레이션(duration) 값을 포함하고,
    상기 타 클라이언트 응답 패킷은,
    상기 서버가 상기 타 클라이언트 장치로부터 상기 제2 동작 실행 명령에 대한 요청 패킷을 수신한 시점을 기록한 제2 타임 스탬프 및, 상기 제2 동작 애니메이션의 재생 시점으로부터 상기 제2 리액션 애니메이션의 재생 시점까지의 시간 간격으로 기 설정된 제2 듀레이션 값을 포함하며,
    상기 프로세서는,
    상기 제1 타임 스탬프에 상기 제1 듀레이션 값이 더해진 시점이 상기 제2 타임 스탬프에 상기 제2 듀레이션 값이 더해진 시점보다 앞서는 경우, 상기 제2 동작 애니메이션의 재생이 종료된 후 제2 리액션 애니메이션의 재생을 연기하고, 상기 재생 중인 제1 통합 애니메이션의 재생이 완료되면 상기 제2 리액션 애니메이션의 재생을 시작하도록 제어하는 것을 특징으로 하는 서버.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 제1 타임 스탬프에 상기 제1 듀레이션 값이 더해진 시점이 상기 제2 타임 스탬프에 상기 제2 듀레이션 값이 더해진 시점보다 앞서는 경우, 상기 제2 동작 애니메이션의 재생이 종료된 후 제2 리액션 애니메이션의 재생을 연기하고, 상기 재생 중인 제1 통합 애니메이션 중 상기 제1 리액션 애니메이션의 재생 속도를 기본 속도보다 빠르게 조절하도록 제어하는 것을 특징으로 하는 서버.
  7. 제5항에 있어서,
    상기 프로세서는,
    상기 제1 타임 스탬프에 상기 제1 듀레이션 값이 더해진 시점이 상기 제2 타임 스탬프에 상기 제2 듀레이션 값이 더해진 시점보다 앞서는 경우, 상기 제2 동작 애니메이션의 재생이 종료된 후 제2 리액션 애니메이션의 재생을 연기하고, 상기 재생 중인 제1 통합 애니메이션 중 상기 제1 리액션 애니메이션의 일부 내지 전부를 생략하고 상기 제2 리액션 애니메이션의 재생을 시작하도록 제어하는 것을 특징으로 하는 서버.
  8. 제5항에 있어서,
    상기 제2 동작 실행 명령은,
    상기 대상 캐릭터에 대한 상기 제2 플레이어 캐릭터의 공격 스킬 실행 명령이고,
    상기 제2 리액션 애니메이션은,
    상기 대상 캐릭터가 상기 제2 플레이어 캐릭터의 공격 스킬에 의해 피격되어 사망하는 애니메이션인 것을 특징으로 하는 서버.
KR1020210113138A 2021-08-26 2021-08-26 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버 KR102318171B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210113138A KR102318171B1 (ko) 2021-08-26 2021-08-26 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210113138A KR102318171B1 (ko) 2021-08-26 2021-08-26 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버

Publications (1)

Publication Number Publication Date
KR102318171B1 true KR102318171B1 (ko) 2021-10-28

Family

ID=78232533

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210113138A KR102318171B1 (ko) 2021-08-26 2021-08-26 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버

Country Status (1)

Country Link
KR (1) KR102318171B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117046103A (zh) * 2023-07-18 2023-11-14 广州三七极梦网络技术有限公司 游戏战斗处理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007301047A (ja) * 2006-05-09 2007-11-22 Aruze Corp ゲーム装置、及び、ゲームサーバ
KR20080069682A (ko) * 2006-02-17 2008-07-28 가부시키가이샤 코나미 데지타루 엔타테인멘토 게임서버장치, 게임서비스방법 및 프로그램을 기록한 컴퓨터 판독 가능한 정보기록매체
KR20150103199A (ko) * 2013-01-29 2015-09-09 소니 컴퓨터 엔터테인먼트 아메리카 엘엘씨 네트워크 멀티플레이어 게임의 레이턴시를 숨기기 위한 방법 및 장치
JP6255526B1 (ja) * 2017-06-14 2017-12-27 株式会社 ディー・エヌ・エー 情報処理装置、ゲームプログラム、及び、情報処理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080069682A (ko) * 2006-02-17 2008-07-28 가부시키가이샤 코나미 데지타루 엔타테인멘토 게임서버장치, 게임서비스방법 및 프로그램을 기록한 컴퓨터 판독 가능한 정보기록매체
JP2007301047A (ja) * 2006-05-09 2007-11-22 Aruze Corp ゲーム装置、及び、ゲームサーバ
KR20150103199A (ko) * 2013-01-29 2015-09-09 소니 컴퓨터 엔터테인먼트 아메리카 엘엘씨 네트워크 멀티플레이어 게임의 레이턴시를 숨기기 위한 방법 및 장치
JP6255526B1 (ja) * 2017-06-14 2017-12-27 株式会社 ディー・エヌ・エー 情報処理装置、ゲームプログラム、及び、情報処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117046103A (zh) * 2023-07-18 2023-11-14 广州三七极梦网络技术有限公司 游戏战斗处理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US10960308B2 (en) Restoring gameplay by replaying past inputs
US11185778B2 (en) Computer-readable non-transitory recording medium, game system, and method for controlling a game system
US10307673B2 (en) Network game system for executing event in network game
US10004989B2 (en) Methods and apparatus for hiding latency in network multiplayer games
US8696469B2 (en) Interactive asynchrounous computer game infrastructure
US9675885B2 (en) Game system, a controlling method of the game system thereof, and a non-transitory computer-readable storage medium thereof
EP1704903B1 (en) Message output device, message control method, program, and information recording medium
US10994207B2 (en) Massively single-playing online game
TW202245892A (zh) 虛擬獎勵資源的分配方法、裝置、電子設備、計算機可讀儲存媒體及計算機程式産品
TWI818351B (zh) 多人在線對戰程式中的消息發送方法、裝置、終端及媒體
CN112691376B (zh) 虚拟对象的控制方法和装置、存储介质及电子设备
WO2022062146A1 (zh) 游戏副本的展示方法及装置、存储介质
JP2014150912A (ja) プログラム及びゲーム装置
WO2021143318A1 (zh) 虚拟操作对象的控制方法和装置、存储介质及电子装置
KR102318171B1 (ko) 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버
JP2021098111A5 (ko)
CN112604286B (zh) 一种游戏技能同步执行方法及装置
KR102374592B1 (ko) 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버
KR102365155B1 (ko) 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버
WO2023231557A1 (zh) 虚拟对象的互动方法、装置、设备、存储介质及程序产品
CN116637369A (zh) 游戏处理方法、装置及电子设备
JP2023060951A (ja) プログラム及び情報処理システム
JP2022125598A (ja) ゲームシステム及びプログラム

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant