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

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

Info

Publication number
KR102374592B1
KR102374592B1 KR1020210113137A KR20210113137A KR102374592B1 KR 102374592 B1 KR102374592 B1 KR 102374592B1 KR 1020210113137 A KR1020210113137 A KR 1020210113137A KR 20210113137 A KR20210113137 A KR 20210113137A KR 102374592 B1 KR102374592 B1 KR 102374592B1
Authority
KR
South Korea
Prior art keywords
animation
motion
character
response packet
client device
Prior art date
Application number
KR1020210113137A
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 KR1020210113137A priority Critical patent/KR102374592B1/ko
Application granted granted Critical
Publication of KR102374592B1 publication Critical patent/KR102374592B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)

Abstract

온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법이 개시된다.
본 발명의 캐릭터 애니메이션을 구현하는 방법은 클라이언트 장치를 통해 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법에 관한 것으로서, 사용자로부터 플레이어 캐릭터가 제1 동작 내지 제 n 동작을 연속적으로 수행하도록 하는 동작 실행 명령을 입력받는 단계; 상기 동작 실행 명령에 대한 요청 패킷을 동작인 게임 서버로 전송하고, 제1 동작에 대응되는 기 저장된 제1 동작 애니메이션을 재생하는 단계; 상기 게임 서버로부터, 상기 제1 동작 애니메이션 및 상기 제1 동작에 대하여 반응하는 대상 캐릭터의 제1 리액션 실행 명령에 대응되는 제1 리액션 애니메이션이 통합된 애니메이션을 포함하는 제1 응답 패킷을 수신하는 단계; 및 상기 제1 응답 패킷이 수신되면, 상기 통합된 애니메이션 중 상기 제1 동작 애니메이션의 기 재생된 부분을 제외한 나머지 부분을 이어서 재생하는 단계;를 포함하고, 상기 나머지 부분을 이어서 재생하는 단계는 상기 수신된 제1 응답 패킷에 상기 동작 실행 명령 중 상기 제1 동작에 이은 제2 동작에 대응되는 고유 값이 포함되었는지 여부를 판단하고, 상기 제2 동작에 대응되는 고유 값이 포함된 경우 상기 통합된 애니메이션의 재생이 종료된 후 상기 제2 동작에 대응되는 기 저장된 제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 동작 내지 제 n 동작을 연속적으로 수행하도록 하는 동작 실행 명령을 입력받는 단계, 상기 동작 실행 명령에 대한 요청 패킷을 동작인 게임 서버로 전송하고, 제1 동작에 대응되는 기 저장된 제1 동작 애니메이션을 재생하는 단계, 상기 동작인 게임 서버로부터, 상기 제1 동작 애니메이션 및 상기 제1 동작에 대하여 반응하는 대상 캐릭터의 제1 리액션 실행 명령에 대응되는 제1 리액션 애니메이션이 통합된 애니메이션을 포함하는 제1 응답 패킷을 수신하는 단계 및, 상기 제1 응답 패킷이 수신되면, 상기 통합된 애니메이션 중 상기 제1 동작 애니메이션의 기 재생된 부분을 제외한 나머지 부분을 이어서 재생하는 단계를 포함하고, 상기 나머지 부분을 이어서 재생하는 단계는 상기 수신된 제1 응답 패킷에 상기 동작 실행 명령 중 상기 제1 동작에 이은 제2 동작에 대응되는 고유 값이 포함되었는지 여부를 판단하고, 상기 제2 동작에 대응되는 고유 값이 포함된 경우 상기 통합된 애니메이션의 재생이 종료된 후 상기 제2 동작에 대응되는 기 저장된 제2 동작 애니메이션을 재생한다.
이때, 상기 방법은 상기 동작인 게임 서버로부터, 제2 동작 애니메이션 및 상기 제2 동작에 대하여 반응하는 대상 캐릭터의 제2 리액션 실행 명령에 대응되는 제2 리액션 애니메이션이 통합된 애니메이션을 포함하는 제2 응답 패킷을 수신하는 단계를 더 포함할 수 있다.
또한, 상기 제1 응답 패킷은 상기 통합된 애니메이션의 재생이 종료된 후 제2 동작 애니메이션의 재생시점까지의 간격을 설정하는 듀레이션(duration) 값을 포함할 수 있다.
또한, 상기 나머지 부분을 이어서 재생하는 단계는 상기 제2 동작 애니메이션의 재생이 종료된 후 상기 제2 응답 패킷을 수신한 경우, 상기 제1 응답 패킷 및 제2 응답 패킷에 각각 포함된 고유 값을 비교하여 서로 일치하면, 상기 제2 응답 패킷에 포함된 제2 동작 애니메이션을 재생하지 않도록 하여 상기 제2 동작 애니메이션의 중복 재생을 방지할 수 있다.
또한, 상기 나머지 부분을 이어서 재생하는 단계는 상기 제2 동작 애니메이션이 재생되기 전에 상기 동작인 게임 서버로부터 상기 플레이어 캐릭터 및 대상 캐릭터 중 적어도 하나의 이동 명령 패킷 또는 사망 패킷을 수신하는 경우 상기 제2 동작 애니메이션의 재생을 취소할 수 있다.
또한, 상기 나머지 부분을 이어서 재생하는 단계는 상기 제2 동작 애니메이션이 재생되는 도중 상기 동작인 게임 서버로부터 상기 플레이어 캐릭터 및 대상 캐릭터 중 적어도 하나의 이동 명령 패킷 또는 사망 패킷을 수신하는 경우 상기 제2 동작 애니메이션의 나머지 부분의 재생 속도를 기본 속도보다 빠르게 조절할 수 있다.
한편, 본 발명의 일 실시 예에 따른 온라인 게임상에서의 캐릭터 애니메이션을 구현하기 위한 서버는 상기 캐릭터 애니메이션의 구현을 위한 프로그램을 저장하는 적어도 하나 이상의 메모리, 상기 프로그램을 실행함으로써, 클라이언트 장치로부터 플레이어 캐릭터가 제1 동작 내지 제n 동작을 연속적으로 수행하도록 하는 동작 실행 명령에 대한 요청 패킷을 수신하면, 상기 클라이언트 장치가 제1 동작에 대응되는 기 저장된 제1 동작 애니메이션을 재생하도록 제어하고, 상기 제1 동작 애니메이션 및 상기 제1 동작에 대하여 반응하는 대상 캐릭터의 제1 리액션 실행 명령에 대응되는 제1 리액션 애니메이션이 통합된 애니메이션을 포함하는 제1 응답 패킷을 상기 클라이언트 장치로 전송하며, 상기 제1 응답 패킷을 수신한 클라이언트 장치가 상기 통합된 애니메이션 중 상기 제1 동작 애니메이션의 기 재생된 부분을 제외한 나머지 부분을 이어서 재생하도록 제어하는 프로세서를 포함하고, 상기 프로세서는 상기 수신된 제1 응답 패킷에 상기 연속동작 명령 중 상기 제1 동작에 이은 제2 동작에 대응되는 고유 값이 포함되었는지 여부를 판단하고, 상기 제2 동작에 대응되는 고유 값이 포함된 경우 상기 통합된 애니메이션의 재생이 종료된 후 상기 제2 동작에 대응되는 기 저장된 제2 동작 애니메이션을 재생하도록 제어한다.
이때, 상기 프로세서는 제2 동작 애니메이션 및 상기 제2 동작에 대하여 반응하는 대상 캐릭터의 제2 리액션 실행 명령에 대응되는 제2 리액션 애니메이션이 통합된 애니메이션을 포함하는 제2 응답 패킷을 상기 제1 응답 패킷에 이어 순차적으로 상기 클라이언트 장치로 전송하도록 제어할 수 있다.
또한, 상기 제1 응답 패킷은 상기 통합된 애니메이션의 재생이 종료된 후 제2 동작 애니메이션의 재생시점까지의 간격을 설정하는 듀레이션(duration) 값을 포함할 수 있다.
또한, 상기 프로세서는 상기 클라이언트 장치가 상기 제2 동작 애니메이션의 재생이 종료된 후 상기 제2 응답 패킷을 수신한 경우, 상기 제1 응답 패킷 및 제2 응답 패킷에 각각 포함된 고유 값을 비교하여 서로 일치하면, 상기 제2 응답 패킷에 포함된 제2 동작 애니메이션을 재생하지 않도록 하여 상기 제2 동작 애니메이션의 중복 재생을 방지하도록 제어할 수 있다.
또한, 상기 프로세서는 상기 클라이언트 장치가 상기 제2 동작 애니메이션이 재생되기 전에 상기 플레이어 캐릭터 및 대상 캐릭터 중 적어도 하나의 이동 명령 패킷 또는 사망 패킷을 수신하는 경우 상기 제2 동작 애니메이션의 재생을 취소하도록 제어할 수 있다.
또한, 상기 프로세서는 상기 클라이언트 장치가 상기 제2 동작 애니메이션이 재생되는 도중 상기 플레이어 캐릭터 및 대상 캐릭터 중 적어도 하나의 이동 명령 패킷 또는 사망 패킷을 수신하는 경우 상기 제2 동작 애니메이션의 나머지 부분의 재생 속도를 기본 속도보다 빠르게 조절하도록 제어할 수 있다.
이상과 같은 본 발명의 다양한 실시 예에 따르면, 온라인 게임 서비스에 있어서, 통신이 느리거나 속도가 불규칙한 환경에서도 캐릭터 애니메이션의 끊김이 최소화됨으로써 게이머의 부정적 플레이 경험을 개선할 수 있게 된다.
본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 온라인 게임상에서의 캐릭터 애니메이션 구현을 위한 시스템의 구성요소를 설명하기 위한 도면,
도 2 내지 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(Non-Player Character), 다른 사용자의 플레이어 캐릭터 등 적어도 하나의 다른 캐릭터(대상 캐릭터)와 상호작용(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 동작을 연속적으로 수행하기도 한다. 이때, 제1 동작이 종료된 후 곧바로 제2 동작이 자동적으로 수행되게 된다.
예를 들어, 클라이언트 장치(200-1 ~ 200-n)로부터 입력된 플레이어 캐릭터의 특정 동작이 몬스터 등 특정 NPC에 대한 연속 공격 스킬인 경우, 플레이어 캐릭터가 몬스터를 기 설정된 횟수만큼 연속적으로 공격하는 동작 애니메이션이 순차적으로 재생될 수 있다. 재생되는 동작 애니메이션은 연속 공격 스킬에 따라 동일한 공격이 n번 반복되거나 서로 다른 종류의 제1 공격 내지 제n 공격이 연속되는 등의 다양한 조합의 애니메이션을 포함할 수 있다.
플레이어 캐릭터의 연속 동작 중 제n 동작에 대응되는 제n 동작 애니메이션에 이어서, 플레이어 캐릭터의 제n 동작에 대하여 반응하는 상호작용 캐릭터의 리액션 애니메이션이 재생될 수 있다. 예를 들어, 플레이어 캐릭터가 연속 공격 스킬에 의해 상호작용 캐릭터를 공격하는 제1 내지 제n 공격 애니메이션이 재생될 때마다 상호작용 캐릭터가 공격 스킬에 의해 피격되거나 이를 방어하는 동작을 나타내는 애니메이션이 재생될 수 있다.
이때, n 값은 기 설정된 반복 횟수 또는 NPC의 H.P가 0이 되어 사망할 때까지 카운트되는 정해지지 않은 수일 수 있다.
이에 따라, 느린 네트워크 환경에서는 응답 패킷의 수신이 얼마나 지연되는지에 따라 상호작용 캐릭터의 리액션이 끊기거나 한꺼번에 밀렸던 리액션이 표시되는 등 적절히 동기화가 되지 못하는 문제가 발생할 수 있다.
따라서, 상술한 바와 같이 동작하는 시스템(1000) 하에서 상호작용하는 캐릭터간 움직임을 효과적으로 동기화하는 방법을 도 2를 참조하여 구체적으로 설명하도록 한다.
도 2는 본 발명의 일 실시 예에 따른 클라이언트 장치에서의 캐릭터 애니메이션의 구현 방법을 간략히 설명하기 위한 흐름도이다.
이하에서는, 설명의 편의를 위해 플레이어 캐릭터의 동작 실행 명령은 대상캐릭터 중 하나인 특정 NPC를 공격하기 위해 칼을 휘두르는 공격 스킬의 실행 명령이라고 가정하며, 공격 스킬의 실행에 따라 플레이어 캐릭터가 제1 공격 내지 제n 공격을 연속적으로 수행하며, 플레이어 캐릭터의 공격 대상인 특정 NPC의 리액션 실행 명령은 수행되는 플레이어 캐릭터의 공격에 의해 피격되어 휘청거리는 피격 리액션이라고 가정한다. 다만, 특정 NPC의 리액션 실행 명령 중 적어도 하나는 플레이어 캐릭터의 공격을 방어하는 방어 리액션의 실행 명령일 수도 있다.
다만, 설명의 편의를 위해 대상 캐릭터가 특정 NPC임으로 가정할 뿐, 특정 NPC 외에 다른 플레이어의 캐릭터도 본 발명에 적용될 수 있음은 물론이다.
또한, 이하의 클라이언트 장치(200)는 상술한 복수의 클라이언트 장치(200-1 ~ 200-n) 중 어느 하나를 가정한다.
먼저, 클라이언트 장치(200) 상에서 사용자로부터, 플레이어 캐릭터의 특정 NPC에 대한 제1 공격 내지 제n 공격을 연속적으로 수행하도록 하는 연속 공격 스킬 실행 명령을 수신한다(S210).
연속 공격 스킬 실행 명령의 수신을 위해, 클라이언트 장치(200)는 각종 사용자 명령을 입력받을 수 있는 사용자 인터페이스(User Interface)(미도시)를 포함할 수 있다. 이때, 사용자 인터페이스는 키보드, 마우스, 터치 디스플레이 패널 등 사용자와 클라이언트 장치(200) 간에 인터랙션을 수행할 수 있는 다양한 입력 장치를 포함할 수 있다.
이후, 연속 공격 스킬 실행 명령에 대한 요청 패킷을 온라인 게임 서버(100)로 전송하고, 연속 공격 스킬 중 제1 공격에 대응되는 기 저장된 제1 공격 애니메이션을 재생한다(S220). 이때, 재생되는 제1 공격 애니메이션은 클라이언트 장치(200)의 메모리 등 저장부에 기 저장되어 있을 수 있다.
즉, 클라이언트 장치(200)는 연속 공격 스킬 실행 명령을 입력받으면 연속 공격 스킬을 구성하는 제1 공격 내지 제n 공격에 각각 대응되는 공격 애니메이션을 메모리로부터 읽어들여 게임 화면이 표시되는 디스플레이(미도시)를 통해 재생할 수 있다.
한편, 온라인 게임 서버(100)는 클라이언트 장치(200)로부터 연속 공격 스킬 실행 명령에 대한 요청 패킷을 수신하면, 이에 대한 응답 패킷으로서 제1 공격 내지 제n 공격에 대한 명령패킷을 순차적으로 클라이어트 장치(200)로 전송하게 된다.
이에 따라, 클라이언트 장치(200)는 요청 패킷을 온라인 게임 서버(100)로 전송한 후, 온라인 게임 서버(100)로부터 제1 공격 애니메이션 및 제1 공격에 대하여 반응하는 NPC의 피격 리액션 실행 명령에 대응되는 피격 애니메이션이 통합된 애니메이션을 포함하는 제1 응답 패킷을 수신한다(S230).
즉, 온라인 게임 서버(100)는 연속 공격 스킬 실행 명령에 따라 첫 번째로 재생되는 제1 공격 애니메이션과 이에 대하여 피격되는 NPC의 피격 애니메이션을 하나로 통합한 제1 통합 애니메이션을 생성하고, 생성된 제1 통합 애니메이션을 응답 패킷에 포함시켜 클라이언트 장치(200)로 전송할 수 있다. 이때, 제1 내지 제n 공격 애니메이션 및 NPC의 피격 애니메이션은 온라인 게임 서버(100)에 기 저장되어 있을 수 있다.
예를 들어, 제1 공격의 지속 시간(duration), 즉 제1 공격의 스킬에 따라 칼을 휘두른 후 NPC가 피격되기까지의 시간이 3초이고, 피격 동작의 지속 시간, 즉 NPC가 피격되어 휘청거리는 시간이 2초라고 가정할 수 있다. 이때, 온라인 게임 서버(100)는 플레이어 캐릭터가 제1 공격을 실행하도록 하는 제1 공격 명령 패킷과 NPC가 피격 리액션을 실행하도록 하는 피격 리액션 명령 패킷을 하나로 패키지화하여 제1 공격 애니메이션(3초) 및 피격 애니메이션(2초)을 통합한 총 5초의 재생 시간을 갖는 제1 통합 애니메이션을 생성할 수 있다.
이와 같이 생성된 제1 통합 애니메이션을 포함하는 제1 응답 패킷이 클라이언트 장치(200)로 전송될 수 있다.
이하의 실시 예는 모두 이와 같은 가정에 따라 기술하도록 한다.
이후, 제1 응답 패킷이 수신되면, 제1 통합 애니메이션 중 제1 공격 애니메이션의 기 재생된 부분을 제외한 나머지 부분을 이어서 재생한다(S240).
즉, 클라이언트 장치(200)에 제1 응답 패킷이 수신된 시점을 기준으로 하여, 제1 통합 애니메이션 중 클라이언트 장치(200)에서 재생된 제1 공격 애니메이션을 제외한 나머지 부분이 이어서 재생될 수 있다.
구체적으로 예를 들면, 클라이언트 장치(200)에서 기 저장된 제1 공격 애니메이션이 2초 간 재생된 시점에 제1 응답 패킷이 수신된 경우, 제1 응답 패킷에 포함된 제1 통합 애니메이션 중에서 기 재생된 2초를 제외한 제1 공격 애니메이션의 나머지 미재생 구간(1초)과 NPC의 피격 애니메이션을 이어서 재생할 수 있다.
또는, 실시 예에 따라 클라이언트 장치(200)에서 기 저장된 제1 공격 애니메이션이 2초 간 재생된 시점에 제1 응답 패킷이 수신된 경우, 나머지 미재생 구간(1초)을 그대로 재생하고, 제1 응답 패킷에 포함된 제1 통합 애니메이션 중에서 NPC의 피격 애니메이션만 이어서 재생할 수도 있다.
즉, 요청 패킷의 전송 시간 및 제1 응답 패킷의 수신 시간의 차(패킷 지연 시간)가 제1 공격 애니메이션의 재생 시간 미만인 조건을 만족하는 경우에는 제1 공격 애니메이션의 기 재생된 부분을 제외한 나머지 부분을 온라인 게임 서버(100)로부터 수신한 제1 통합 애니메이션에서 이어서 재생하게 된다.
한편, 제1 통합 애니메이션의 재생이 종료된 후 클라이언트 장치(200)는 온라인 게임 서버(100)로부터 차 회의 제2 응답 패킷이 수신되기 전이라도 제2 응답 패킷을 기다리지 않고도 기 저장된 제2 공격 애니메이션을 미리 재생하면 제2 응답 패킷의 지연에 따른 리스크를 최소화할 수 있다.
다만, NPC가 플레이어 캐릭터의 공격에 의해 사망하거나 플레이어 캐릭터가 이동되는 이벤트가 발생하는 경우에는 제2 공격 애니메이션이 재생될 필요가 없으므로 이러한 이벤트의 발생은 온라인 게임 서버(100)가 클라이언트 장치(200)로 알려주어야 할 필요가 있다. 온라인 게임 서버(100)로서는 이벤트의 발생 시기를 예측할 수는 없으나 적어도, 플레이어 캐릭터의 현재 공격 이후 차 회의 공격이 실행되는지 여부는 알 수 있으므로 이러한 정보를 미리 응답 패킷에 넣어 클라이언트 장치(200)로 전송할 수 있다.
이를 위하여, 온라인 게임 서버(100)는 제1 응답 패킷에 현재의 제1 공격의 고유 값, 차 회인 제2 공격의 고유 값 및 제1 통합 애니메이션의 재생이 종료된 후 제2 공격 애니메이션의 재생시점까지의 간격을 설정하는 듀레이션(duration) 값을 포함시켜 클라이언트 장치(200)로 전송할 수 있다.
이에 따라, 클라이언트 장치(200)는 수신된 제1 응답 패킷에 연속 공격 스킬 실행 명령 중 제1 공격에 이은 제2 공격에 대응되는 고유 값이 포함되었는지 여부를 판단하고, 제2 공격에 대응되는 고유 값이 포함된 경우 제1 통합 애니메이션의 재생이 종료된 후 제2 공격에 대응되는 기 저장된 제2 공격 애니메이션을 재생할 수 있다.
예를 들어, 연속 공격 스킬이 제1 공격 내지 제5 공격으로 이루어진다고 가정할 때, 제1 공격은 'a', 제2 공격은 'b', 제3 공격은 'c', 제4 공격은 'd', 제5 공격은 'e'의 고유 값을 가질 수 있다. 따라서, 연속 공격 스킬 실행 명령에 대한 요청 패킷은 제1 공격 내지 제5 공격의 고유 값 'a' 내지 'e'를 포함하게 된다.
이때, 응답 패킷 역시 현재의 제1 공격에 대응되는 고유 값 'a'와 차 회의 제2 공격에 대응되는 고유 값 'b' 및 제2 공격의 실행 시점을 설정하는 듀레이션 값을 포함하게 된다. 예를 들어, 제2 공격의 듀레이션 값이 1초의 간격을 가지도록 설정된 값인 경우, 제1 통합 애니메이션의 재생이 종료된 시점으로부터 1초 후에 제2 공격이 실행될 수 있다.
각 공격에 대응되는 고유 값은 응답 패킷 내 연속 공격 스킬에 대한 데이터가 포함되는 시퀀스(sequence) 필드 내에 캡슐 단위로 포함될 수 있다.
클라이언트 장치(200)는 제1 통합 애니메이션의 재생이 종료된 이후, 온라인 게임 서버(100)로부터 제2 공격의 듀레이션 값에 대응되는 1초 후에도 제2 공격에 대한 명령 패킷인 제2 응답 패킷이 수신되지 않은 경우라 하더라도, 이미 수신한 제1 응답 패킷에 제2 공격의 고유 값인 'b'가 포함되어 있는지 여부를 확인하고, 고유 값 'b'가 포함되어 있다면 제2 공격의 듀레이션 값에 대응되는 1초 후에 제2 공격 애니메이션을 재생할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 제1 통합 애니메이션 재생 이후에 연속되는 공격 애니메이션의 구현 방법을 추가적으로 설명하기 위한 흐름도이다.
S240 단계 이후, 온라인 게임 서버(100)로부터, 제2 공격 애니메이션 및 제2 공격에 대하여 반응하는 NPC의 피격 리액션 실행 명령에 대응되는 피격 애니메이션이 통합된 제2 통합 애니메이션을 포함하는 제2 응답 패킷을 수신할 수 있다(S310).
이 경우에도 제1 공격 애니메이션 및 이에 따른 피격 애니메이션의 재생 방법과 마찬가지로, 제2 응답 패킷이 수신되면, 제2 응답 패킷 내 제2 통합 애니메이션 중 제2 공격 애니메이션의 기 재생된 부분을 제외한 나머지 부분을 이어서 재생할 수 있다(S320).
또한, 제1 응답 패킷을 수신한 때와 마찬가지로, 제2 응답 패킷 내 제3 공격의 고유 값인 'c'가 포함되었는지 여부를 판단하고, 고유 값 'c'가 포함된 경우 제2 통합 애니메이션의 재생이 종료된 후 제3 공격에 대응되는 기 저장된 제3 공격 애니메이션을 재생할 수 있다.
또한, 본 발명의 일 실시 예에 따르면, 클라이언트 장치(200)는 온라인 게임 서버(100)로부터 제2 응답 패킷을 수신하기 전에 제2 공격 애니메이션의 재생이 종료된 이후, 제2 공격에 대한 명령을 수행하는 제2 응답 패킷을 수신하더라도, 제1 및 제2 응답 패킷 내 포함된 고유 값을 서로 비교하여 일치하면, 제2 응답 패킷에 포함된 제2 공격 애니메이션을 재생하지 않도록 하여 제2 공격 애니메이션의 중복 재생이 이루어지지 않도록 할 수 있다.
한편, 듀레이션 값을 가지고 있는 공격 명령은 연속 공격 스킬 실행 중 NPC의 사망, 이동 등의 이벤트 발생에 의해 언제든지 취소될 수 있다. 따라서, 온라인 게임 서버(100)로부터 NPC 사망 패킷 또는 플레이어 캐릭터의 이동 패킷 등 이벤트 발생 패킷을 수신하는 경우에 있어서 공격 애니메이션의 재생을 제어하는 방법을 도 4를 참조하여 구체적으로 설명하도록 한다.
도 4는 본 발명의 일 실시 예에 따른 NPC의 사망 등 이벤트 발생 패킷을 수신하는 경우에 있어서 공격 애니메이션의 재생을 제어하는 방법을 설명하기 위한 흐름도이다.
클라이언트 장치(200)로 제1 응답 패킷이 수신되면(S410), 제1 통합 애니메이션의 재생 이후에 기 저장된 제2 공격 애니메이션을 재생할 지 여부를 판단하기 위하여 제1 응답 패킷 내 제2 공격에 대응되는 고유 값이 포함되는지 여부를 판단할 수 있다(S420).
만약, 제2 공격에 대응되는 고유 값이 포함되지 않는 경우(S420:N), 제2 공격이 존재하지 않는다는 의미이므로, 제2 동작 애니메이션을 재생하지 않는다(S450).
제2 공격에 대응되는 고유 값이 포함되는 경우(S420:Y), 제1 통합 애니메이션의 재생이 종료된 후 듀레이션 값에 대응되는 시간 이후 제2 공격 애니메이션을 재생하게 된다. 다만, 제2 공격 애니메이션을 재생하기 전에 NPC나 플레이어 캐릭터의 사망 패킷, 이동 명령 패킷 등 제2 공격의 실행이 불가능한 이벤트 발생 패킷을 수신하는 경우(S430:Y), 제2 공격 애니메이션의 재생을 취소할 수 있다(S440).
제2 공격 애니메이션이 재생이 시작된 이후, 상술한 이벤트 발생 패킷을 수신한 경우(S430:N), 재생 중인 제2 공격 애니메이션의 나머지 부분의 재생 속도를 기본 속도보다 빠르게 조절할 수 있다(S460). 제2 공격 애니메이션의 재생이 빠르게 종료된 직후에는 발생된 이벤트에 대응되는 애니메이션을 재생할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 온라인 게임상에서의 캐릭터 애니메이션을 구현하기 위한 서버의 구성을 간략히 설명하기 위한 블록도이다.
본 발명의 서버(100)는 통신부(110), 메모리(120) 및 프로세서(130)를 포함한다. 다만, 서버(100)의 구성요소가 전술한 예에 한정되는 것은 아니다. 예를 들어, 서버(100)는 전술한 구성 요소보다 더 많은 구성 요소를 포함하거나 더 적은 구성 요소를 포함할 수 있다. 뿐만 아니라, 통신부(110), 메모리(120) 및 프로세서(130)가 하나의 칩(Chip) 형태로 구현될 수도 있다.
통신부(110)는 클라이언트 장치(200)와 네트워크를 통해 각종 신호를 송수신할 수 있다. 서버(100)는 통신부(110)를 통해 동시접속한 다수의 클라이언트 장치(200-1 ~ 200-n)들로 하여금 온라인 게임을 실행할 수 있도록, 게임 소프트웨어를 포함하는 각종 데이터를 제공하고 함께 게임을 실행하는 다른 사용자들의 상태 정보와 게임 내 각종 변수에 관한 정보를 공유할 수 있도록 한다.
특히, 통신부(110)를 통해 본 발명을 구현하기 위한 요청 패킷 및 응답 패킷 등 각종 데이터를 송수신할 수 있다.
메모리(120)는 온라인 게임 서비스의 제공에 필요한 프로그램 및 데이터를 저장하는 구성이다. 일 실시 예에서, 메모리(120)는 서버(100)가 송수신하는 신호에 포함된 제어 정보 또는 데이터를 저장할 수 있으며, 플레이어 캐릭터 및/또는 NPC의 동작 애니메이션 및 리액션 애니메이션을 저장할 수 있다. 메모리(120)는 롬(ROM), 램(RAM), 하드디스크, CD-ROM 및 DVD 등과 같은 저장 매체 또는 저장 매체들의 조합으로 구성될 수 있으며, 복수 개일 수도 있다. 일 실시 예에 따르면, 메모리(120)는 전술한 본 발명의 실시 예들인 서버(100)의 동작을 수행하기 위한 프로그램, 예를 들어 캐릭터 애니메이션의 구현을 위한 프로그램 등을 저장할 수 있다.
프로세서(130)는 상술한 본 발명의 실시 예에 따라 서버(100)가 동작하는 일련의 과정을 제어할 수 있다. 예를 들면, 일 실시 예에 따른 서버(100)의 동작을 수행하도록 서버(100)의 구성요소들을 제어할 수 있으며, 이로부터 클라이언트 장치(200)를 간접적으로 제어할 수도 있다.
프로세서(130)는 복수 개일 수 있으며, 프로세서(130)는 메모리(120)에 저장된 프로그램을 실행함으로써 서버(100)의 동작을 수행할 수 있다.
일 실시 예에서, 프로세서(130)는 클라이언트 장치(200)로부터 플레이어 캐릭터가 제1 동작 내지 제n 동작을 연속적으로 수행하도록 하는 동작 실행 명령에 대한 요청 패킷을 수신하면, 클라이언트 장치(200)가 제1 동작에 대응되는 기 저장된 제1 동작 애니메이션을 재생하도록 제어하고, 제1 동작 애니메이션 및 제1 동작에 대하여 반응하는 NPC(Non-Player Character)의 제1 리액션 실행 명령에 대응되는 제1 리액션 애니메이션이 통합된 애니메이션을 포함하는 제1 응답 패킷을 클라이언트 장치로 전송하며, 상기 제1 응답 패킷을 수신한 클라이언트 장치(200)가 상기 통합된 애니메이션 중 상기 제1 동작 애니메이션의 기 재생된 부분을 제외한 나머지 부분을 이어서 재생하도록 제어할 수 있다.
특히, 일 실시 예에 따르면, 프로세서(130)는 수신된 제1 응답 패킷에 연속동작 명령 중 제1 동작에 이은 제2 동작에 대응되는 고유 값이 포함되었는지 여부를 판단하고, 제2 동작에 대응되는 고유 값이 포함된 경우 통합된 애니메이션의 재생이 종료된 후 제2 동작에 대응되는 기 저장된 제2 동작 애니메이션을 재생하도록 제어할 수 있다.
또한, 일 실시 예에 따르면, 프로세서(130)는 제2 동작 애니메이션 및 제2 동작에 대하여 반응하는 NPC의 제2 리액션 실행 명령에 대응되는 제2 리액션 애니메이션이 통합된 애니메이션을 포함하는 제2 응답 패킷을 제1 응답 패킷에 이어 순차적으로 클라이언트 장치(200)로 전송하도록 제어할 수 있다.
또한, 일 실시 예에 따르면, 프로세서(130)는 클라이언트 장치(200)가 제2 동작 애니메이션의 재생이 종료된 후 제2 응답 패킷을 수신한 경우, 제1 응답 패킷 및 제2 응답 패킷에 각각 포함된 고유 값을 비교하여 서로 일치하면, 제2 응답 패킷에 포함된 제2 동작 애니메이션을 재생하지 않도록 하여 제2 동작 애니메이션의 중복 재생을 방지하도록 제어할 수 있다.
또한, 일 실시 예에 따르면, 프로세서(130)는 클라이언트 장치(200)가 제2 동작 애니메이션이 재생되기 전에 플레이어 캐릭터 및 NPC 중 적어도 하나의 이동 명령 패킷 또는 사망 패킷을 수신하는 경우 제2 동작 애니메이션의 재생을 취소하도록 제어할 수 있다.
또한, 일 실시 예에 따르면, 프로세서(130)는 클라이언트 장치(200)가 제2 동작 애니메이션이 재생되는 도중 플레이어 캐릭터 및 NPC 중 적어도 하나의 이동 명령 패킷 또는 사망 패킷을 수신하는 경우 제2 동작 애니메이션의 나머지 부분의 재생 속도를 기본 속도보다 빠르게 조절하도록 제어할 수 있다.
이상과 같은 본 발명의 다양한 실시 예에 따르면, 온라인 게임 서비스에 있어서, 통신이 느리거나 속도가 불규칙한 환경에서도 캐릭터 간 상호작용의 시점이 정확히 일치되도록 함으로써 캐릭터 애니메이션의 끊김이 최소화됨으로써 게이머의 부정적 플레이 경험을 개선할 수 있게 된다.
한편, 상술한 다양한 실시 예에 따른 캐릭터 애니메이션 구현 방법은 프로그램으로 구현되어 다양한 기록 매체에 저장될 수 있다. 즉, 각종 프로세서에 의해 처리되어 상술한 캐릭터 애니메이션 구현 방법을 실행할 수 있는 컴퓨터 프로그램이 기록 매체에 저장된 상태로 사용될 수도 있다.
일 예로, ⅰ) 사용자로부터 플레이어 캐릭터가 제1 동작 내지 제n 동작을 연속적으로 수행하도록 하는 동작 실행 명령을 입력받는 단계, ⅱ) 동작 실행 명령에 대한 요청 패킷을 온라인 게임 서버로 전송하고, 제1 동작에 대응되는 기 저장된 제1 동작 애니메이션을 재생하는 단계, ⅲ) 온라인 게임 서버로부터, 제1 동작 애니메이션 및 제1 동작에 대하여 반응하는 NPC의 제1 리액션 실행 명령에 대응되는 제1 리액션 애니메이션이 통합된 애니메이션을 포함하는 제1 응답 패킷을 수신하는 단계 및, ⅳ) 제1 응답 패킷이 수신되면, 통합된 애니메이션 중 제1 동작 애니메이션의 기 재생된 부분을 제외한 나머지 부분을 이어서 재생하되, 수신된 제1 응답 패킷에 동작 실행 명령 중 제1 동작에 이은 제2 동작에 대응되는 고유 값이 포함되었는지 여부를 판단하고, 제2 동작에 대응되는 고유 값이 포함된 경우 통합된 애니메이션의 재생이 종료된 후 제2 동작에 대응되는 기 저장된 제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: 클라이언트 장치 1000: 온라인 게임 시스템
2000: 네트워크

Claims (12)

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

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
KR102374592B1 true KR102374592B1 (ko) 2022-03-16

Family

ID=80937646

Family Applications (1)

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

Country Status (1)

Country Link
KR (1) KR102374592B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150083531A (ko) * 2014-01-10 2015-07-20 (주)스마일게이트엔터테인먼트 게임 캐릭터 연속 타격 제어 방법 및 장치
KR20150103199A (ko) * 2013-01-29 2015-09-09 소니 컴퓨터 엔터테인먼트 아메리카 엘엘씨 네트워크 멀티플레이어 게임의 레이턴시를 숨기기 위한 방법 및 장치
JP6255526B1 (ja) * 2017-06-14 2017-12-27 株式会社 ディー・エヌ・エー 情報処理装置、ゲームプログラム、及び、情報処理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150103199A (ko) * 2013-01-29 2015-09-09 소니 컴퓨터 엔터테인먼트 아메리카 엘엘씨 네트워크 멀티플레이어 게임의 레이턴시를 숨기기 위한 방법 및 장치
KR20150083531A (ko) * 2014-01-10 2015-07-20 (주)스마일게이트엔터테인먼트 게임 캐릭터 연속 타격 제어 방법 및 장치
JP6255526B1 (ja) * 2017-06-14 2017-12-27 株式会社 ディー・エヌ・エー 情報処理装置、ゲームプログラム、及び、情報処理方法

Similar Documents

Publication Publication Date Title
US10960308B2 (en) Restoring gameplay by replaying past inputs
US10307673B2 (en) Network game system for executing event in network game
US8696469B2 (en) Interactive asynchrounous computer game infrastructure
KR101707639B1 (ko) 네트워크 멀티플레이어 게임의 레이턴시를 숨기기 위한 방법 및 장치
EP1704903B1 (en) Message output device, message control method, program, and information recording medium
US8444492B2 (en) Inter-game interactive hybrid asynchronous computer game infrastructure with social networking
US8496531B2 (en) Interactive hybrid asynchronous computer game infrastructure with dynamic difficulty adjustment
US9675885B2 (en) Game system, a controlling method of the game system thereof, and a non-transitory computer-readable storage medium thereof
US10994207B2 (en) Massively single-playing online game
US20130344940A1 (en) Detecting game play-style convergence and changing games
JP5555454B2 (ja) ゲーム装置、ゲームサーバ、ゲームプログラム
KR20090119923A (ko) 네트워크 게임시스템, 서버, 부정행위 방지방법, 부정행위 검출방법 및 정보기록매체
JP2007075607A (ja) ガードコンディションシステム
WO2022242021A1 (zh) 多人在线对战程序中的消息发送方法、装置、终端及介质
WO2022062146A1 (zh) 游戏副本的展示方法及装置、存储介质
KR102318171B1 (ko) 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버
JP2015223319A (ja) ゲームプログラムおよびゲームシステム
KR102374592B1 (ko) 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버
JP2003210846A (ja) ゲームシステム、ゲーム制御方法およびその記録媒体ならびにコンピュータプログラム
KR102365155B1 (ko) 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버
JP2002282533A (ja) ゲームプログラム、ゲームプログラムを記録した記録媒体、ロールプレイングゲームにおける物語展開処理方法及びゲーム装置
US11642592B2 (en) Server device, method for controlling the same, computer-readable recording medium and game system
WO2024087935A1 (zh) 虚拟对象的控制方法、装置、设备、介质及产品
WO2023231557A1 (zh) 虚拟对象的互动方法、装置、设备、存储介质及程序产品
KR20240028861A (ko) 캐릭터 제어 장치 및 캐릭터 제어 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant