KR101517927B1 - 동적 장애가 없는 네트워크 게임 시스템 및 그 처리 방법 - Google Patents

동적 장애가 없는 네트워크 게임 시스템 및 그 처리 방법 Download PDF

Info

Publication number
KR101517927B1
KR101517927B1 KR1020147027383A KR20147027383A KR101517927B1 KR 101517927 B1 KR101517927 B1 KR 101517927B1 KR 1020147027383 A KR1020147027383 A KR 1020147027383A KR 20147027383 A KR20147027383 A KR 20147027383A KR 101517927 B1 KR101517927 B1 KR 101517927B1
Authority
KR
South Korea
Prior art keywords
npc
field
role
view
cast
Prior art date
Application number
KR1020147027383A
Other languages
English (en)
Other versions
KR20140121901A (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 KR20140121901A publication Critical patent/KR20140121901A/ko
Application granted granted Critical
Publication of KR101517927B1 publication Critical patent/KR101517927B1/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/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • 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
    • 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/55Controlling game characters or game objects based on the game progress
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • 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/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

동적 장애가 없는 네트워크 게임 시스템용 처리 방법이 제공된다. 예시적인 일 방법에 있어서, 비-플레이어 제어 캐릭터 (NPC)가 게임 맵상에서 사용자 배역을 짧은 범위 인터랙션의 타겟으로 선택하면, 회전 각도 "C=N x a"가 결정된다. 상기의 공식에서 "N"은 상기와 같은 선택 이전에 상기 사용자 배역과의 짧은 거리 범위의 인터랙션을 갖는 모든 NPC 배역의 전체 개수를 뜻하며, "a"는 기준 각도를 뜻한다. 상기 NPC 배역의 목적지 포인트는 현재의 포인트로부터 상기 사용자 배역 주위에서 "C" 만큼의 각도로 상기 NPC 배역을 회전시켜 계산될수 있다. 상기 목적지 포인트에 정적 장애가 있을 때, 상기목적지포인트는 지정된 각도를 현재 각도 "C"에 추가하는 방법으로 재계산될수 있다. 정적 장애가 없을 때, 상기 NPC 배역은 상기 목적지 포인트로 이동될 수 있다.

Description

동적 장애가 없는 네트워크 게임 시스템 및 그 처리 방법 {network game system without dynamic obstructions and processing method thereof}
본 출원은 발명의 명칭을 "동적 장애가 없는 네트워크 게임 시스템 및 그 처리 방법"으로 하여 2012년 8월 17일 출원된 중국 특허 출원 번호 201210293556.5 의 우선권을 주장하는 것으로서, 동 출원의 내용은 본 명세서에 전체적으로 참조되어 있다
본 발명은 컴퓨터 데이터 처리 기술에 관한 것이며, 보다 구체적으로는 동적 장애가 없는 네트워크 게임 시스템과 그 처리 방법에 관한 것이다.
"온라인 게임"이라 불리는 네트워크 게임은 전송 매개물로서 인터넷, 처리 단말기로서 게임 서버 및 사용자 장치 (예를 들어 컴퓨터, 스마트폰, 타블릿), 정보 교환 윈도우즈로서 게임 클라이언트 단말기 또는 웹페이지를 이용하는 지속 가능성 다자간 온라인 게임(sustainable multiplayer online game)이다. 네트워크 게임은 오락, 레크리에이션 (recreation), 통신 및 가상 목표 달성 (accomplishing virtual achievements) 등과 같은 다양한 목적을 실현하도록 구성된다.
기존의 네트워크 게임 시스템은 배역 (roles)들사이에 두가지 중요한 인터랙션모드 (interaction mode), 즉 사용자들사이의 인터랙티브 경쟁 모드 (interactive competition mode) 및 사용자와 환경사이의 인터랙티브 경쟁 모드를 갖는다.
사용자 (PVP: Player VS Player, 즉 사용자 대 사용자)들사이의 인터랙티브 경쟁 모드는 사용자들사이의 경쟁을 뜻한다. 네트워크 게임 시스템은 PVP 모드에서 인터랙션 명령 (interaction instructions) 및 데이터를 처리하기 위하여 PVP와 관련된 처리 시스템을 갖출 필요가 있다.
사용자와 환경 (PVE: Player VS Environment, 즉 사용자 대 환경) 사이의 인터랙티브 경쟁 모드는 사용자와 비-플레이어 제어 캐릭터 (NPC: Non-Player-controlled Character) 사이에서 이루어지는 인터랙티브 경쟁을 의미한다. NPC는 네트워크 게임 시스템내의 NPC 시스템에 의하여 제어된다. 상기 NPC 시스템은 인공 지능 (AI) 모듈을 구비한다. 상기 AI 모듈은 게임 내에서 NPC의 제어 로직 (logic)에 해당하며, 게임 내의 NPC가 독립적인 인공 지능 능력을 갖도록 한다. 사용자 배역과 NPC 배역은 대화, 서비스 획득, 전투 등과 같은 게이밍 인터랙션 (gaming interaction)을 가질수 있다.
기존의 네트워크 게임 시스템, 특히 킹덤 워즈 (Kingdom Wars) 유형의 네트워크 게임 시스템은 PVP 모드를 기초로 할수 있다. 그러나, 배역 성장의 요구를 충족시키기 위하여 네트워크 게임 내에 풍부한 PVE 모드가 제공될 필요가 있다. PVE 모드의 작동 (running) 및 처리에는 우수한 사용자 경험이 필요하다.
배역들사이의 장애에 대한 방법을 기초로 하여, 기존의 네트워크 게임 시스템은 동적 장애를 갖는 네트워크 게임 시스템과, 동적 장애가 없는 네트워크 게임 시스템으로 나눌수 있다.
동적 장애를 갖는 네트워크 게임 시스템에 있어서, 배역 모델은 고정 전경 (fixed landscapes) (즉, 산, 바위, 집 등)에 의하여 방해될 뿐만아니라, 다른 배역 모델들에 의해서도 방해를 받는다. 이와 같은 배역 모델은 시뮬레이티드 (simulated) 2차원 (2-dimentional) 또는 3차원 (3-dimentional) 배역 이미지이다. 예를 들면, 배역 모델은 2차원 네트워크 게임에서 2차원 이미지이며, 3차원 네트워크 게임에서는 3차원 이미지이다.
동적 장애가 없는 네트워크 게임 시스템에 있어서, 배역 모델은 고정 전경에 의하여 방해받을 수 있지만, 다른 동적 배역 모델들에 의하여 방해를 받을 필요가 없다.
킹덤 워즈 네트워크 게임에는, 게임에 참여하는 수많은 배역들이 있을 수 있다. 픽쳐 (picture) 내에서 배역 모델의 위치를 명확하게 하고, 그리고 뛰어난 픽쳐 작동 경험 (good picture operation experience)을 사용자에게 제공하기 위하여, 네트워크 게임 시스템에 의하여 제어되는 배역 모델들은 짧은 범위의 인터랙션 동안에 시각적으로 서로 겹치는 것을 방지할 필요가 있다. 예를 들면, 짧은 범위의 인터랙션은 공격 인터랙션 (attacking interactions)이 될수 있으며, 상기 공격 인터랙션에서 NPC는 사용자 배역 또는 다른 대화 인터랙션 등을 공격할 수 있다.
동적 장애를 갖는 네트워크 게임 시스템에 있어서, 게임 시스템은 배역 모델들사이에 동적 장애 정보의 실시간 계산을 위하여 특수한 장애 알고리즘 (algorithm)을 갖는다. 이에 따라, 배역 모델들이 시각적으로 서로 겹칠 수 있는 확률은 낮다. 따라서, 작동 경험 (operation experience)이 우수하다. 그러나, 동적 장애 정보의 실시간 계산이 필요하기때문에, 중앙 처리 장치 (CPU, central processing unit) 비용 (overhead) 및 저장 리소스 (resource) 비용을 포함한 서버 시스템 비용이 높아진다.
동적 장애가 없는 네트워크 게임 시스템에 있어서, 동적 장애 정보가 실시간으로 계산될 필요가 없기때문에, 시스템의 비용은 동적 장애를 갖는 네트워크 게임 시스템과 비교하여 상대적으로 낮다. 이에 따라, PVP 모드를 위주로 하고, PVE 모드를 보조로 하는 기존의 대규모 킹덤 워즈 네트워크 게임은 일반적으로 동적 장애가 없는 게임이다.
동적 장애가 없는 기존의 네트워크 게임 시스템에서, 사용자 배역 및 NPC 배역사이에서 짧은 범위의 인터랙션이 이루어지는 동안에 발생하는 배역 모델들의 겹침 문제를 줄이기 위하여, 그리고 사용자에게 우수한 시각 경험을 제공하기 위하여, NPC 시스템의 AI 모듈은 배역들사이의 상대적인 좌표 위치들을 실시간으로 검출 및 계산하고, NPC 배역의 좌표들을 동적으로 조정할 필요가 있다. 상기와 같은 실시간 검출 및 계산을 위한 방법은 다음과 같은 구체적인 단계들을 포함한다.
예를 들면, NPC 배역은 (x1, y1)의 현재 좌표와, "r1"의 반경을 가지며, 사용자 배역은 (x2, y2)의 현재 좌표와, "r2"의 반경을 갖는다. NPC 배역 및 사용자 배역 (사용자 배역을 NPC 배역이 공격하는 경우) 사이에 발생할 짧은 범위의 인터랙션을 위한 반경은 "ar"이다. NPC 배역이 공격 타겟 (즉, 타겟 배역)을 가질 때, NPC 배역 및 사용자 배역사이의 좌표 포인트들사이의 거리 's'는 NPC 배역의 구동 클록 사이클 (driving clock cycle)이 도착될 때마다 계산된다.
만약 s>r1+r2+ar이라면, NPC 배역은 타겟 배역의 방향으로 계속하여 이동하고, 관측 시야 필드 (field) 내에 있는 모든 배역들에 "이동" 메시지 패킷을 전송하게 된다.
만약 s<r1+r2+ar이라면, NPC 배역은 이동하는 것을 즉시 멈추고, 관측 시야 필드 내에 있는 모든 배역들에 "이동 중지" 메시지 패킷을 전송한다.
동일한 사용자 배역을 공격하는 또 다른 NPC 배역은 다른 NPC 배역 모델들과 겹치는 것을 피하기 위하여, 이동할지 또는 이동하지 않을지에 대하여 다른 NPC로부터 받은 메시지 패킷에 따라 그 자신의 위치를 동적으로 계산하고, 조정할수 있다.
따라서, 동적 장애가 없는 기존의 네트워크 게임 시스템에서, 사용자 배역과 NPC 배역사이의 짧은 범위의 인터랙션 동안에 배역 모델들의 겹침 확률을 줄이기 위하여, 각각의 NPC 배역은 구동 클록 사이클이 도착할 때마다, 실시간 및 복잡한 (complex) 동적 계산을 수행할 필요가 있다. 즉, 각각의 NPC 배역은 그 자신과 공격 타겟 (즉, 타겟 배역) 사이의 거리를 계산할 필요가 있을 뿐만아니라, s의 길이에 따라 해당하는 메시지 패킷을 전송할지를 결정하고, 그리고 다른 NPC 배역의 이동하는 상황에 따라, 그 자신의 좌표 위치를 재계산하기 위하여, 다른 NPC 배역으로부터 메시지 패킷을 수신하게 된다. 이때, 계산양이 엄청나게 클수 있으며, CPU 비용, 저장 장치 비용, 대역폭 비용 등과 같은, 큰 금액의 시스템 비용이 발생한다. 특히, 규모가 큰 네트워크 게임 시스템에 있어서, 서버 내의 NPC 배역의 수는 일반적으로 수 만개 이상이 될수 있다. 그 결과, NPC 배역들을 구동하는 NPC 시스템의 비용이 매우 커지게 된다.
본 발명은 상기한 기존 발명의 문제점을 해결하여, 동적 장애가 없는 네트워크 게임 시스템과 그 처리 방법을 제공하는 것을 그 과제로 한다.
상기한 과제를 달성하기 위하여 본 발명의 일 실시예에 의한 동적 장애가 없는 네트워크 게임 시스템용 처리 방법은, 게임을 플레이하는 사용자에 해당하는 사용자 배역을 갖는 게임의 맵 상에서, 비-플레이어 제어 캐릭터 (NPC) 배역의 짧은 범위 인터랙션 상태를 모니터링하는 단계; 와
상기 비-플레이어 제어 캐릭터 (NPC) 배역이 상기 사용자 배역을 짧은 범위 인터랙션의 타겟으로 선택할 때, 상기 비-플레이어 제어 캐릭터 (NPC) 배역이 상기 사용자 배역을 상기 타겟으로 선택하기 이전에, 상기 사용자 배역과의 짧은 범위의 인터랙션을 갖는 모든 비-플레이어 제어 캐릭터 (NPC) 배역들의 전체 개수 "N"을 결정하는 단계; 와
"a"를 지정된 기준 각도로 할 때, 회전 각도 “C”를 "C=N x a"의 수식에 의하여 결정하는 단계; 와
위치 할당 작동 (operation)을 수행하는 단계; 를 포함하여 구성되며,
상기 위치 할당 작동은,
상기 사용자 배역의 현재 좌표 포인트를 서클의 중심으로서 이용하는 방법으로, 상기 비-플레이어 제어 캐릭터 (NPC) 배역의 현재 좌표 포인트로부터 지정된 방향으로 상기 회전 각도 "C" 만큼 시뮬레이티드 회전한 후에, 상기 비-플레이어 제어 캐릭터 (NPC) 배역의 목적지 좌표 포인트를 계산하는 단계; 와
상기 맵상에 상기 목적지 좌표 포인트에 정적 장애가 있는지의 여부를 결정하는 단계; 와
상기 정적 장애가 있을 때, 상기 위치 할당 작동을 반복적으로 수행하기 위하여, 지정된 각도를 상기 현재 회전 각도 "C"에 추가하여 새로운 회전 각도 "C"를 계산하는 단계; 와
상기 정적 장애가 없을 때, 상기 사용자 배역과의 짧은 범위의 인터랙션을 수행하기 위하여, 상기 비-플레이어 제어 캐릭터 (NPC) 배역을 상기 목적지 좌표 포인트로 이동시키는 단계; 를 포함하는 것을 특징으로 한다.
본 발명에 의하는 경우, 사용자 배역을 짧은 거리의 인터랙션의 타겟으로 구비하는 모든 NPC 배역들은 소정의 거리 범위 내에 위치할 수 있으며, 상기 구성에서 거리 범위는 NPC 배역 및 사용자 배역 사이의 짧은 범위의 인터랙션에 대한 유효 인터랙션 범위를 뜻한다. 이에 따라, NPC 배역 모델 및 사용자 배역 모델은 서로 겹치지 않는다. 그리고, NPC 배역 모델은 사용자 배역 주위에 균일하게 분포될수 있기때문에, NPC 배역 모델들사이에 겹칠수 있는 확률이 현저히 낮아진다. 따라서, 희망하는 PVE (또는 플레이어 대 환경) 시각적 경험이 사용자들에게 제공될수 있다. 그리고, 공개된 방법 및 시스템들은 단순하며, NPC 배역들사이에 실시간 및 복잡한 동적 인터랙티브 계산을 필요로 하지 않는다. 이에 따라, 게임 시스템 비용이 줄어든다.
다음의 도면들은 공개된 다양한 실시형태들에 따른 예시적인 목적을 설명하기 위한 예시에 불과할 뿐이고, 공개된 내용의 범위를 한정하고자 하는 것은 아니다.
도 1a는 공개된 다양한 실시형태들에 따라 동적인 장애가 없는 네트워크 게임 시스템의 예시적인 처리 방법을 도시하는 도면이다.
도 1b는 공개된 다양한 실시형태들에 따라 동적인 장애가 없는 네트워크 게임 시스템의 예시적인 처리 방법에서 목적지 좌표 포인트의 계산을 도시하는 도면이다.
도2는 공개된 다양한 실시형태들에 따라 동적 장애가 없는 예시적인 네트워크 게임 시스템의 구조를 도시하는 도면이다.
도3은 공개된 다양한 실시형태들에 따라 NPC 배역 및 사용자 배역 사이에서 짧은 범위의 인터랙션 동안에 NPC 배역을 위한 위치 할당 작동을 개략적으로 도시하는 도면이다.
도4는 공개된 다양한 실시형태들에 따라 예시적인 처리 방법에 있어서 사용자 배역과 짧은 범위의 인터랙션을 갖는 모든 NPC 배역들을 위한 위치 할당 작동을 개략적으로 도시하는 도면이다.
도 5a는 공개된 다양한 실시형태들에 따라 시야 범위(field-of-view range) 영역 (field-of-view regions)을 분류 및 분할하는 작동을 개략적으로 도시하는 도면이다.
도 5b는 공개된 다양한 실시형태들에 따라 동적 장애가 없는 네트워크 게임 시스템의 예시적인 처리 방법에 있어서, 그의 시야 검색(field-of-view search) (field-of-vide search) 및 조정을 도시하는 도면이다.
도 5c는 공개된 다양한 실시형태들에 따라 동적 장애가 없는 네트워크 게임 시스템의 예시적인 처리 방법에서, 시야 리스트 (field-of-view list)에서 시야 검색(field of view search) 및 배역 오브젝트 (role-object) 개수를 유지하는 단계를 도시하는 도면이다.
도6은 공개된 다양한 실시형태들에 따라 동적 장애가 없는 또 다른 예시적인 네트워크 게임 시스템을 도시하는 구조도이다.
도7은 공개된 특정된 실시형태들을 포함하는 예시적인 환경을 도시하는 도면이다.
도8은 공개된 실시형태들에 일치하는 예시적인 서버를 도시하는 도면이다.
첨부된 도면이 도시된 본 발명의 예시적인 실시형태들을 상세히 설명하면 다음과 같다.
도7은 공개된 다양한 실시형태들에 따라 동적 장애가 없는 예시적인 네트워크 게임 시스템과 그의 예시적인 처리 방법을 포함하는 예시적인 환경 (700)을 도시하는 도면이다. 도7에 도시된 바와 같이, 상기 환경 (700)은 서버 (704), 단말기 (706) 및 통신 네트워크 (702)로 구성되어 있다. 상기 서버 (704) 및 단말기 (706)는 정보 교환을 위하여, 네트워크를 통한 데이터 전송, 네트워크 게임 동안에 웹페이지를 통한 정보 교환을 위하여 통신 네트워크 (702)를 통하여 연결될수 있다. 단지 한개의 단말기 (706)와 한개의 서버 (704)가 환경 (700) 내에 도시되어 있지만, 임의의 개수의 단말기 (706) 또는 서버 (704)가 포함될수 있으며, 다른 장치들도 또한 포함될 수 있다.
통신 네트워크 (702)는 네트워크 연결을 서버 (704) 및 단말기 (706)에게 제공하기 위하여 또는 복수 개의 서버 (704) 또는 단말기 (706)들에 제공하기 위하여, 임의의 적합한 유형의 통신 네트워크를 포함할수 있다. 예를 들면, 통신 네트워크 (702)는 유선 또는 무선의 인터넷 또는 다른 유형의 컴퓨터 네트워크 또는 이동 통신 네트워크를 포함한다.
본 명세서에 기재된 단말기는 개인용 컴퓨터 (PC: Personal computer), 워크 스테이션 (work station) 컴퓨터, 손에 쥐는 유형의 컴퓨팅 (hand-held computing) 장치 (타블릿), 이동형 단말기 (이동 전화기 또는 스마트폰) 또는 임의의 다른 사용자측 컴퓨팅 장치 (user-side computing device)들과 같은 특정된 컴퓨팅 능력 (예를 들면, 게임 프로그램을 작동)을 갖는 임의의 적합한 사용자 단말기 또는 사용자 장치를 뜻한다.
본 명세서에 기재된 바와 같이, 서버는 특정된 서버 기능들, 즉 네트워크 게임 시스템 내에서 네트워크 게임 서버로서 작용하는 기능을 제공하기 위하여 구성되는 하나 또는 그 이상의 서버 컴퓨터이다. 이와 같은 서버는 컴퓨터 프로그램들을 병렬로 처리하기 위한 한 개 또는 그 이상의 프로세서들을 구비하고 있다.
서버 (704) 및/또는 단말기 (706)는 임의의 적합한 컴퓨팅 플랫폼 (platform)상에서 구현될수 있다. 도8은 서버 (704) 및/또는 단말기 (706)를 구현할수 있는 예시적인 컴퓨팅 시스템 (800)을 도시하는 도면이다. 도8에 도시된 바와 같이, 상기의 예시적인 컴퓨터 시스템 (800)은 프로세서 (802), 저장 매개물 (804), 모니터 (806), 통신 모듈 (808), 데이터 베이스 (810), 주변 장치 (812) 및 장치들을 상호 연결하기 위한 한 개 또는 그 이상의 버스 (bus) (814)로 이루어진다. 이 경우, 특정된 장치들이 생략될 수도 있고, 다른 장치들이 포함될 수도 있다.
상기 프로세서 (802)는 임의의 적합한 프로세서 또는 프로세서들을 포함할 수 있다. 더 나아가, 상기 프로세서 (802)들은 멀티-스레드 (multi-thread) 또는 병렬 처리를 위한 복수 개의 코어 (core)들을 구비한다. 저장 매개물 (804)은 ROM, RAM과 같은 메모리 모듈, 플래시 메모리 모듈, CD-ROM, U-disk, 제거 가능 하드 디스크 등과 같은 대용량 저장 장치들로 구성된다. 저장 매개물 (804)은 프로세서 (802)에 의하여 실행될 때, 다양한 프로세스들을 실행하기 위한 컴퓨터 프로그램들을 저장하고 있다.
상기 모니터 (806)는 웹페이지 내용, 네트워크 게임 장면 등과 같은 정보를 디스플레이하기 위한 디스플레이 장치들을 구비하고 있다. 상기 통신 모듈 (808)은 통신 네트워크 (702)를 통하여 연결을 하기 위한 네트워크 장치들로 구성된다. 상기 데이터 베이스 (810)은 특정된 데이터를 저장하기 위한, 그리고 데이터 베이스 검색 등과 같이 저장된 데이터 상에서 특정된 작동을 실행하기 위한, 한 개 또는 그 이상의 데이터 베이스를 구비하고 있다.
더 나아가, 상기 주변 장치 (812)는 키보드 및 마우스와 같은 I/O 장치들로 구성된다. 상기 단말기 (706)의 상기 주변 장치 (812)는 플레이어로서 네트워크 게임 내에 참가하는 것과 같이 특정된 작동 동안에 사용자가 정보를 입력할 때 사용될수 있다.
작동 과정 중에 있어서, 상기 단말기 (706)는 인터넷 또는 다른 데이터 베이스 작동을 통하여 데이터 전송 또는 정보 교환과 같은 특정된 액션을 서버 (704)가 실행하도록 한다. 상기 서버 (704)는 이와 같은 액션 및 작동들을 위한 구조 및 기능들을 제공하도록 구성된다. 보다 구체적으로, 상기 서버 (704) 및 단말기 (706)는 게이밍 인터랙션 (예를 들면, 사용자 배역과 NPC 배역 사이)을 실시하기 위한 네트워크 게임 시스템을 구성할 수 있다.
다양한 실시형태에서, 공개된 방법 및 시스템에 관련된 네트워크 게임 시스템의 사용자 장치와 같은 단말기는 상기 단말기 (706)를 구비할수 있으며, 이와 반면에 공개된 방법 및 시스템에 관련된 네트워크 게임 시스템의 서버는 상기 서버 (704)를 구비할 수 있다.
도 1a는 공개된 다양한 실시형태들에 따라 동적 장애가 없는 네트워크 게임의 예시적인 처리 방법을 도시하는 도면이다. 상기의 예시적인 방법은 네트워크 게임 시스템, 즉 단말기 및/또는 서버 및 단말기에 의하여 실행될수 있다. 일 실시형태에 있어서, 예시적인 방법은 단말기의 사용자와 상호 작용하기 위하여, 네트워크 게임 시스템의 서버에 의하여 실행될 수 있다.
도 1a를 참조하면, 단계 101에서, NPC 배역의 짧은 범위 인터랙션 상태가 게임 장면의 맵상에서 모니터링된다. NPC 배역이 사용자 배역을 짧은 범위의 인터랙션의 타겟으로 선택한 이후에, 다음의 단계들이 실시될수 있다. 사용자 배역은 사용자 제어 배역, 즉 게임 운영자 (game operator)의 배역이 될수 있다. 짧은 범위의 인터랙션은 게임 배역 (사용자 배역 및/또는 NPC 배역)등의 사이에서의 짧은 범위의 명령 (command) 인터랙션을 뜻한다. 예를 들면, 사용자 배역을 공격하는 NPC 배역이 짧은 범위의 인터랙션의 유형이 될수 있다. 짧은 범위의 인터랙션은 배역의 공격에 한정될 뿐아니라, 배역들사이 또는 액션의 다른 인터랙션들사이에서의 대화 (dialogue)와 같은 다른 짧은 범위의 인터랙션에도 한정된다.
단계 102에서, 전체 개수 "N"은 NPC 배역이 사용자 배역을 짧은 범위의 인터랙션의 타겟으로 선택하기 이전에, 사용자 배역과의 짧은 범위의 인터랙션을 갖는 모든 배역들에 의해 결정된다. 시뮬레이티드 회전 각도 “C”는 "C=N x c"의 수식에 의하여 결정될수 있으며 (라디안 값), 상기 공식에서 "a"는 지정된 기준 각도 (라디안 값)를 뜻한다. 본 명세서에서, 별도의 정의가 없으면, 용어 "시뮬레이티드 회전 각도 "C"는 "회전 각도 "C"를 뜻한다.
일 실시형태에 있어서, 전체 개수 "N"을 결정할 때 사용되는 모든 배역 (예를 들면, 단계 102에서 설명)은 NPC 배역들을 포함할수 있다. 또 다른 실시형태에 있어서, 전체 개수 "N"을 결정할 때 사용되는 "모든 배역"은 NPC 배역 및/또는 네트워크 게임 내에서의 다른 배역들을 포함할수 있으며, 이와 같은 것들은 네트워크 게임의 계획 (scheme)에 의하여 결정될수 있으며, 본 발명의 개시에 의하여 한정되는 것은 아니다.
단계 103에서, 위치 할당 작동이 수행된다. 보다 구체적으로는, 사용자 배역의 현재 좌표 포인트를 서클의 중심으로 이용하여, NPC 배역의 목적지 좌표 포인트는 시뮬레이티드 회전 작용에서 NPC 배역의 현재 좌표 포인트로부터 지정된 방향으로 회전 각도 "C" 만큼 회전한 이후에 계산될수 있다. 맵에서 목적지 좌표 포인트에 임의의 정적 장애가 있는지의 여부가 회전 이후에 결정될수 있다. 만약 정적 장애가 있으면, 지정된 각도를 현재 회전 각도 "C"에 추가하는 방법으로 새로운 회전 각도 "C"가 계산될수 있으며, 위치 할당 작동이 반복 실시된다. 만약 정적 장애가 없으면, NPC 배역은 목적지 좌표 포인트로 이동되도록 명령을 받을수 있고 (즉, 이동될수 있고), 타겟 사용자 배역 (즉, 짧은 범위 인터랙션의 타겟으로 선택된 사용자 배역)과 짧은 범위 인터랙션을 수행하도록 명령받을수 있다. 상기 지정된 방향은 시계 반대 방향 또는 시계 방향이 될 수 있다.
본 개시의 명세서에 있어서, 별도 기재가 없으면, NPC 배역의 목적지 좌표 포인트의 계산 동안, 그리고 맵상에 목적지 좌표 포인트에 임의의 정적 장애가 있는지의 여부를 결정하기 이전에, 회전 각도 C에 의한 NPC 배역의 회전은 시뮬레이티드 회전 작용이 될 수 있다.
도2는 공개된 다양한 실시형태들에 따라 동적 장애물이 없는 예시적인 네트워크 게임 시스템을 도시하는 구조를 도시하는 도면이다. 도2에 도시된 바와 같이, 동적 장애가 없는 네트워크 게임 시스템 (200)은 상태 모니터링 모듈 (201), 시뮬레이티드 회전 각도 결정 모듈 (202) 및/또는 위치 할당 모듈 (203)로 구성된다. 이 경우, 또한 다른 요소들도 포함될 수 있다.
상기 상태 모니터링 모듈 (201)은 게임 장면의 맵상에서 NPC 배역의 짧은 범위 인터랙션 상태를 모니터링하도록 구성된다. NPC 배역이 사용자 배역을 짧은 범위 인터랙션의 타겟으로 선택한 이후에, 시뮬레이티드 회전 각도 결정 모듈 (202) 및 위치 할당 모듈 (203)이 트리거될 수 있다.
상기 시뮬레이티드 회전 각도 결정 모듈 (202)은 시뮬레이티드 회전 각도 "C=N x a"를 결정하도록 구성되며, 상기 공식에서 N는 NPC 배역이 사용자 배역을 짧은 범위의 인터랙션으로서 선택하기 이전에, 사용자 배역과 짧은 범위의 인터랙션을 갖는 모든 배역들의 전체 개수를 뜻한다. 그리고, "a"는 지정된 기준 각도이다.
상기 위치 할당 모듈 (203)은 위치 할당 작동을 수행하도록 구성된다. 보다 구체적으로, 사용자 배역의 현재 좌표 포인트를 서클의 중심으로서 이용하여, NPC 배역의 목적지 좌표 포인트는 NPC 배역의 현재 좌표 포인트로부터 지정된 방향으로 회전 각도 "C" 만큼 회전한 이후에 계산될수 있다. 회전 이후에, 맵상의 목적지 좌표 포인트에 임의의 정적 장애가 있는지가 결정된다.
만약 임의의 정적 장애가 있으면, 지정된 각도를 현재 회전 각도 "C"에 추가하는 방법으로 계산될수 있으며, 위치 할당 작동이 반복적으로 실시된다. 만약 정적 장애가 없으면, NPC 배역은 목적지 좌표 포인트로 이동하고, 타겟 사용자 배역과 짧은 범위의 인터랙션을 수행하도록 명령을 받을수 있다. (즉, 사용자 배역이 짧은 범위 인터랙션의 타겟으로 선택된다).
개시된 다양한 실시형태들에 따른 처리 방법은 네트워크 게임 시스템 내에서 NPC 배역들을 주로 처리하고, 이에 따라 본 명세서에 기재된 모듈들은 NPC 시스템의 AI 모듈의 일부로서 네트워크 게임 시스템의 NPC 시스템 내에 설정될수 있 다. 개시된 다양한 실시형태에 따라 동적 장애가 없는 네트워크 게임 시스템의 다른 처리 모듈들에 대해서는, 동적 장애가 없는 기존의 네트워크 게임 시스템의 해당 모듈들이 사용될 수 있다.
개시된 다양한 실시형태들에 따라, 기준 각도 "a"는π/m의 형태로 될수 있으며, 상기의 공식에서 "m"은 양의 정수가 될 수 있다, 추가된 지정된 각도 역시 π/m의 형태가 될 수 있으며, 추가된 지정된 각도는 기준 각도와 동일할 수 있거나 또는 기준 각도와 다를 수 있다. 일 실시형태에 있어서, 기준 각도 "a" 및 추가된 지정된 각도는 약 π/4가 될 수 있다.
도3은 개시된 다양한 실시형태들에 따라 NPC 배역과 사용자 배역 사이의 짧은 범위의 인터랙션 동안에 NPC 배역을 위한 위치 할당 작동을 개략적으로 도시하는 도면이다. 도3을 참조하면, 점선 원 (301) 및 점선 원 (302)은 사용자 배역의 좌표 포인트를 중심으로 하여 동심원적으로 각각 배치되어 있다. 점선 원 (301)의 반경은 사용자 배역 모델의 반경 "r1" 및 NPC 배역 모델의 반경 "r2"의 합에 해당한다.
점선 원 (302)의 반경은 소정의 인터랙션 범위를 가지며, 점선 원 (302) 및 점선 원 (301) 사이의 반경 차이는 NPC 배역 및 사용자 배역 사이의 짧은 범위의 인터랙션을 위한 유효한 인터랙션 범위에 해당한다. 예를 들면, 공격 인터랙션에 있어서, 점선 원 (302) 과 점선 원 (301) 사이의 반경 차이는 NPC 배역의 유효 공격 범위에 해당한다. NPC 배역 (예를 들면, 단계 101에서 설명)의 짧은 범위 인터랙션이 모니터링될 수 있다.
NPC 배역이 사용자 배역 (310)을 짧은 범위의 인터랙션의 타겟으로 선택할 때, 예를 들면, NPC 배역 (311)이 사용자 배역 (310)을 도3에서 도시된 짧은 범위의 인터랙션의 타겟으로 선택하면, 단계 102가 수행될 수 있다.
단계 102에서, 만약 NPC 배역 (311)이 사용자 배역 (310)과의 짧은 범위의 인터랙션을 갖는 제1 NPC 배역이면, 예를 들면, 만약 NPC 배역 (311)이 사용자 배역 (310)을 공격하는 제1 NPC 배역이면, 전체 개수 "N"는 제로, 즉 N=0이 된다. 따라서, 회전 각도는 C=N x a = 0이다.
단계 103에서, 사용자 배역 (310)을 공격하는 첫번째 배역인 NPC 배역 (311)은 시뮬레이티드 회전을 수행하지 않는다. 대신에, NPC 배역 (311)의 현재 좌표 포인트는 NPC 배역 (311)의 목적지 좌표 포인트로서 직접 기능을 수행한다. 다음으로, 맵상의 목적지 좌표 포인트에 정적 장애가 있는지의 여부가 결정될수 있다. 상기 정적 장애는 배역 모델의 방해될수 있는 게임 시스템의 맵상에서 고정 전경이 될수 있다. 예를 들면, 만약 목적지 좌표 포인트에 정적 장애 (산, 바위, 집 등)가 있으면, 목적지 좌표 포인트에 정적 장애가 있는 것이다. 만약 목적지 좌표 포인트에서 정적 장애 항목 (item)이 없으면, 목적지 좌표 포인트에서는 정적 장애가 존재하지 않는 것이다.
만약 목적지 좌표 포인트에 정적 장애가 없으면, NPC 배역 (311)은 타겟 사용자 배역 (310) (즉, 짧은 범위의 인터랙션의 타겟으로 선택된 사용자 배역 (310))과의 짧은 범위의 인터랙션을 위하여, 목적지 좌표 포인트로 이동할 것을 명령받는다. NPC 배역 (311)이 사용자 배역 (310)을 공격하는 첫번째 NPC 배역이기때문에, NPC 배역 (311)의 현재 좌표 포인트는 NPC 배역 (311)의 목적지 좌표 포인트로서 이미 기능을 할수 있다. 따라서, NPC 배역 (311)이 이동할 필요가 없게 된다. 따라서, NPC 배역 (311)은 현재 좌표 포인트에서 사용자 배역 (310)을 공격하게 된다.
만약 목적지 좌표 포인트에 정적 장애가 있으면, 새로운 회전 각도 "C"를 계산하기 위하여, 지정된 각도가 현재 회전 각도 "C" (즉, 현재로서는 C=0)에 더해질수 있다. 예를 들면, 지정된 각도는 π/4가 될수 있다. 따라서, 새로운 각도 C = π/4이며, 단계103이 반복적으로 실행될 수 있다.
단계 103에서, 사용자 배역의 현재 좌표 포인트를 원의 중심으로 이용하고, 그리고 현재 좌표 포인트로부터 지정된 방향으로 회전 각도 "C" 만큼의 시뮬레이티드 회전 이후에, NPC 배역의 목적지 좌표 포인트를 계산하는 것은 다음과 같이 단계 131 내지 133을 포함한다.
도 1b 및 도3을 참조하면, 단계 131에서, 사용자 배역 (310)의 현재 좌표 포인트를 원점으로 이용하는 방법으로, 각도 "A"가 결정될수 있다 (라디안 값). 상기 각도 "A"는 연결선 (사용자 배역 (310)과 NPC 배역 (311)을 연결)과 지도 기준 선 (일반적으로 수평 선) 사이에 형성된 각도이다.
단계 132에서, 각도 "A"를 기준으로 이용하는 방법으로, 각도 "B" (라디안 값)을 계산하기 위하여, NPC 배역 (311)은 지정된 방향 (예를 들면, 상기 지정된 방향은 시계 반대 방향이 될수도 있고, 시계 방향일수도 있다)으로 회전 각도 "C" 만큼 시뮬레이티드 회전을 한다.
단계 133에서, NPC 배역 (311)의 목적지 좌표 포인트의 "x" 및 "y" 좌표가 계산된다. 이 경우, 상기 계산은, "x" 좌표 = 사용자 배역의 "x" 좌표 + (NPC 배역 모델 반경 "r1" + 사용자 배역 모델 반경 "r2" + NPC 배역의 짧은 범위 인터랙션의 유효 거리 "s1") x cos(B); 및 "y" 좌표 = 사용자 배역의 "y" 좌표 + (NPC 배역 모델 반경 "r1" + 사용자 배역 모델 반경 "r2" + NPC 배역의 짧은 범위 인터랙션의 유효 거리 "s1") x sine(B); 의 수식에 의하여 수행된다.
NPC 배역의 짧은 범위의 인터랙션의 유효 거리 "s1"는 NPC 배역의 짧은 범위의 인터랙션의 유효 거리 범위로부터 선택된 값일 수 있다. 일 실시형태에 있어서, 공격 인터랙션을 위하여, 유효 거리 "s1"이 최적으로 선택될 수 있다. 예를 들면, 특정된 NPC 배역의 최대 유효 공격 거리가 약 20cm 미만이면, "s1"은 최대 유효 공격 거리의 약 70% 내지 90%의 범위로부터 무작위로 선택되는 값이 될 수 있다. 상기 소정의 NPC 배역의 최대 유효 공격 거리가 약 20cm보다 크다면, "s1"은 최대 유효 공격 거리의 약 35% 내지 45%의 범위로부터 무작위로 선택되는 값일 수 있다.
상기 목적지 좌표 포인트의 "x" 및 "y" 좌표들이 계산된 이후에, NPC 배역 (311)은 상기 목적지 좌표 포인트로 이동하도록 명령 받을수 있다. NPC 배역 (311)의 이동 프로세스 동안에, 사용자 배역 (310) 역시 이동했을수 있다. 따라서, 상기 목적지 좌표 포인트로의 NPC 배역 (311)의 이동은 상기 목적지 좌표 포인트 (즉, NPC 배역 (311)의 포인트)와 사용자 배역 (310)의 현재 좌표 포인트 사이의 거리가 NPC 배역 (311)의 짧은 범위 인터랙션의 최대 유효 거리 (예를 들면, NPC 배역 (311)의 최대 유효 공격 거리)보다 큰지 결정하는 단계를 더 포함한다.
만약 NPC 배역 (311)의 목적지 좌표 포인트와 사용자 배역 (310)의 현재 좌표 포인트 사이의 거리가 NPC 배역 (311)의 짧은 범위 인터랙션의 최대 유효 거리보다 크지 않으면, NPC 배역 (311)은 목적지 좌표 포인트를 향하여 계속 이동한다. 만약 NPC 배역 (311)의 목적지 좌표 포인트와 사용자 배역 (310)의 현재 좌표 포인트 사이의 거리가 NPC 배역 (311)의 짧은 범위의 인터랙션의 최대 유효 거리보다 더 크면, NPC 배역 (311)의 짧은 범위의 인터랙션의 유효 거리 "s1"는 감소될수 있다.
예를 들면, 만약 NPC 배역 (311)의 짧은 범위의 인터랙션의 최대 유효 거리가 약 20cm 미만이면, "s1"은 최대 유효 공격 거리의 약 1% 내지 8%의 범위로부터 무작위로 선택되는 값일수 있다. 만약 NPC 배역 (311)의 짧은 범위의 인터랙션의 최대 유효 거리가 약 20cm보다 더 크면, "s1"이 최대 유효 공격 거리의 약 20% 내지 35%의 범위로부터 무작위로 선택되는 값일수 있다. "s1"이 감소된 이후에, 목적지 좌표 포인트의 "x" 및 "y" 좌표들은 새로운 목적지 좌표 포인트를 얻기 위하여 재계산되며, 그리고 NPC 배역 (311)은 상기 새로운 목적지 좌표의 방향으로 이동하도록 명령된다.
일 실시형태에 있어서, 단계 103에서, 목적지 좌표 포인트에 정적 장애가 있을 때, 현재 회전 각도 "C"가 약 2π인지가 추가로 결정된다 (즉, 현재 시뮬레이티드 회전이 대략 완전한 원형 (full circle)인지가 결정된다). 만약 현재 회전 각도 "C"가 약 2π이면, NPC배역 (311)의 사용자 배역 (310)과의 짧은 거리의 인터랙션의 관계는 취소될수 있다 (예를 들면, NPC 배역 (311)의 사용자 배역 (310)과의 공격 인터랙션의 관계가 취소될수 있다). 만약 현재 회전 각도 "C"가 약 2π가 아니면, 단계 103을 반복 실시하기 위하여, 새로운 회전 각도 "C"를 얻기 위하여 상기 지정된 각도가 상기 회전 각도 "C"에 추가될 수 있다.
일 실시예에 있어서, NPC 배역 (311)이 목적지 좌표 포인트에 성공적으로 이동한후 사용자 배역 (310)과의 짧은 범위의 인터랙션을 수행한다. (예를 들면, NPC 배역 (311)이 사용자 배역 (310)을 공격하기 시작한다). 만약 새로운 NPC 배역이 사용자 배역을 짧은 범위의 인터랙션의 타겟으로 선택하면 (예를 들면, 사용자 배역 (310)을 공격 타겟으로 선택하면), 본 발명에서 개시된 다양한 실시형태에 설명된 단계 102 및 103이 새로운 NPC 배역에 대하여 수행될수 있다. 그러나, 새로운 NPC 배역 (311)에 대하여, 전체 개수 "N" (즉, 새로운 NPC 배역이 사용자 배역을 짧은 범위의 인터랙션의 타겟으로 선택하기 이전에, 사용자 배역과의 짧은 범위의 인터랙션을 갖는 모든 배역들의 "N")은 더 이상 "0"이 될수 없고, 이에 따라 최초 회전 각도 "C"도 더 이상 "0"이 될 수 없다.
도4는 개시된 다양한 실시형태에 따라 예시적인 처리 방법에서 사용자 배역과의 짧은 범위의 인터랙션을 갖는 모든 NPC 배역들에 대한 위치 할당 작동을 개략적으로 도시하는 도면이다. 도4를 참조하면, 사용자 배역 (310)을 짧은 범위의 인터랙션의 타겟으로 갖는 모든 NPC 배역 (예를 들면, 도4에 도시된 NPC 배역 (311 내지 316)들 각각에 대하여, 단계 102 및 103이 실시될 수 있다. 이에 따라, 사용자 배역 (310)을 짧은 범위의 인터랙션의 타겟으로 갖는 모든 NPC 배역들은, NPC 배역들과 사용자 배역 (310) 사이의 짧은 범위의 인터랙션 (예를 들면, 사용자 배역 (310)을 공격)을 위한 유효 인터랙션 범위 내, 즉 점선 원 (302)과 점선 원 (301) 사이에 위치할수 있다. 이에 따라, NPC 배역 모델들 및 사용자 배역 모델들은 서로 겹치지 않는다. 그리고, NPC 배역 모델들은 사용자 배역 (310) 주위에 균일하게 분포될수 있기때문에, NPC 배역 모델들 사이에 겹칠 확률이 상당히 낮아질 수 있다.
따라서, 본 명세서에 기재된 바와 같이, 소정의 PVE 시각적 경험이 사용자에게 제공될수 있다. 만약 NPC 배역 모델이 상대적으로 크면 (도4에서 NPC 배역 (316)), NPC 모델들사이에 부분적으로 겹치는 부분이 있을수 있지만, 전체적인 PVE 시각적 경험은 영향을 받지 않게 된다. 일반적으로, NPC 배역 모델들 및 사용자 배역 모델들은 네트워크 게임 내에 있는 NPC 배역 및 사용자 배역에 해당하는 2차원 및 3차원 이미지에 해당한다. 일반적으로, 배역 모델 들은 2차원 네트워크 게임 내에서 2차원 이미지이며, 3차원 네트워크 게임 내에서는 3차원 이미지이다. 개시된 다양한 실시형태들에 있어서, 본 개시는 2차원 네트워크 게임 및 3차원 네트워크 게임들에 적용될 수 있다.
따라서, 개시된 다양한 실시형태들에 따른 처리 방법이 단순해 질수 있으며, 기존의 기술에서 존재하던 NPC 배역들사이에 존재하던 실시간 및 복잡한 동적 인터랙티브 계산을 필요로 하지 않는다. 이에 따라, 네트워크 게임 시스템 비용을 줄일수 있게 된다.
사용자 배역과 NPC 배역 사이의 좌표 포인트들사이의 특정된 연결 선은 맵 기준 선에 비례하여 큰 각도 "A"를 가질수 있다. 예를 들면, 각도 "A"는 약 2π가 될수 있다. 만약 NPC 배역이 시계 반대 방향으로 회전 각도 "C" 만큼 더 회전한다면, 연결 선은 맵 기준 선에 비례하여 약 2π이상의 각도를 가질수 있다. 따라서, 일 실시형태에 있어서, 만약 기준 각도 "a" 및 추가된 지정된 각도 모두 π/m이 되며, 단계 102는 다음 단계들을 더 포함한다.
즉, 전체 개수 "N"을 결정한 이후에, 그리고 회전 각도 "C"를 결정하기 이전에, "C=N x a"를 이용하여, N mod M을 계산하는 단계와, 상기의 공식에서 M=2π/a, 그리고, 모듈로 (modulo)를 "N"로 할당하는 단계와, "C=N x a"를 이용하여 "C"를 결정하는 단계를 더 포함한다.
본 개시에 있어서, NPC 배역은 네트워크 게임 시스템 내의 NPC 시스템에 의하여 구동될수 있다. 일 실시형태에 있어서, 네트워크 게임 시스템 비용을 진일보로 줄이기 위하여, 특히, NPC 시스템 비용을 줄이기 위하여, 상기에 설명한 본 개시에 의한 방법은 진일보로 다음 단계를 포함한다.
즉, 네트워크 게임 시스템 서버의 현재 부하 조건을 모니터링하는 단계와, 모니터링된 현재 부하 조건에 따라 NPC 배역을 위한 NPC 시스템의 클록 틱 (clock tick) 간격을 동적으로 줄이는 단계를 더 포함한다. 네트워크 게임 시스템 서버의 현재 부하가 더 클수록, NPC 배역의 이에 따라 조정된 클록 틱 간격이 더 길어진다.
구체적인 일 실시형태에 있어서, 틱 단위 (tick unit)는 약 20ms의 시간 간격이다. NPC 배역을 위한 클록 틱 간격은 틱 단위의 정수배가 될수 있으며, 현재 부하 조건에 따라 조정될 수 있다.
예를 들면, 표 1은 다양한 길이를 갖는 클록 틱 간격의 장점과 단점을 보여준다.
클록 틱 간격 단점 장점
클록 틱 간격이 길다 낮은 NPC 디스플레이 정밀도, 예를 들면 NPC 배역 모델 이동, NPC의 생각 시간 지속 기간 및 상태 모드 전환 (transition)이 "느려 (slow)" 진다. 사용자를 위한 PVE 경험이 나쁘다. 시스템 CPU 비용이 낮다.
클록 틱 간격이 짧다 시스템 CPU 비용이 높다. 높은 NPC 디스플레이 정밀도, 예를 들면NPC 배역 모델 이동, NPC의 생각 시간 지속 기간 및 상태 모드 전환 (transition)이 "빨라 (quick)" 진다. 사용자를 위한 PVE 경험이 우수하다.
상기 표 1에서, NPC 상태 모드 전환은 네트워크 게임의 기술적인 계획에 따라 결정될수 있다. 예를 들면, 네트워크 게임 시스템에 있어서, NPC 상태 모드는 예를 들면 "순찰 모드", "공격 모드", "추적 모드", 귀환 모드", 직선 순찰 모드" 등을 포함할수 있다. NPC 배역은 AI 로직에 따라 모드를 변화시킬수 있고, 이에 따라 게임 내에서 생생한 배역 모델 이미지와 상태를 보여줄수 있다.
상기의 개시된 다양한 실시형태들에 따라, 네트워크 게임 시스템 서버의 모니터링된 현재 부하 조건에 따라 클록 틱 간격을 동적으로 조정하는 방법으로, NPC 시스템의 융통성을 개선할수 있다. NPC 시스템은 CPU 비용 및 PVE 경험의 효과사이에서 동적으로 균형을 잡을수 있으며, NPC 시스템을 간접적인 방법으로 안정화시킬수 있으며, 전체 네트워크 게임 시스템의 작동 안정성을 얻을수 있다.
네트워크 게임 시스템 비용을 진일보로 줄이기 위하여, 일 실시형태에 따른 방법은 다음 단계를 더 포함한다.
즉, NPC 배역의 시야 범위(field-of-view range) 내에서 배역 오브젝트(role object)을 시야 검색(field-of-view search)하는 단계와, 검색 결과에 따라 시야 리스트(field-of-view list) 내의 상기 배역 오브젝트(role object)들의 개수를 유지하는 단계를 더 포함한다.
그리고, 상기 시야 리스트(field-of-view list) 내의 배역 오브젝트(role object)들의 개수에 따라 시야 검색(field-of-view search)을 트리거하기 위하여 NPC 배역의 이동 거리 및 관측 거리 검색 범위를 동적으로 조정하는 단계를 더 포함한다. NPC의 시야 리스트(field-of-view list)에 상기 배역 오브젝트(role object)들이 많을수록, 상기 배역 오브젝트(role object)들의 증가에 따라 조정된 이동 거리와 시야 검색(field-of-view search)을 트리거하기 위한 NPC의 시야 검색(field-of-view search) 범위가 줄어든다.
상기에 설명된 시야 검색(field-of-view search) 및 동적 조정 단계들은 게임의 계획에 따라 처리 방법의 임의의 적합한 단계들이 실시되는 동안 또는 단계들 사이에서 수행될수 있으며, 이들 내용은 본 개시에 한정되지 않는다. 시야 검색(field-of-view search)으로부터 얻어지는 검색 결과는 임의의 적합한 단계들에 사용될수 있으며, 이들 내용은 본 개시에 한정되지 않는다. 본 실시형태에 있어서, 검색 결과는 NPC 배역의 짧은 범위 인터랙션 상태를 모니터링하거나 전체 개수 "N"을 결정하는데 사용될수 있다.
예를 들면, 표 2는 시야 검색(field-of-view search)을 트리거하기 위한 NPC 배역의 다양한 이동 거리의 장점 및 단점을 설명한다.
이동 거리 단점 장점
이동 거리가 짧다 NPC 배역의 관측 시야 내의 배역들 및 오브젝트들이 "지연 (delay)" 된다. 사용자를 위한 PVE 경험이 나쁘다. 시스템 CPU 비용이 낮다.
이동 거리가 길다 시스템 CPU 비용이 높다. NPC 배역의 관측 시야 내의 배역들 및 오브젝들이 더 살아있는것 같이 보인다. 사용자를 위한 PVE가 우수하다.
도 5b에 도시된 바와 같이, 일 실시형태에 있어서, 시야 검색(field-of-view search)을 트리거하기 위하여 이동 거리 및 시야 검색(field-of-view search) 범위의 조정을 달성하는 것은 구체적으로 다음의 단계 141 내지 143을 포함할수 있다.
단계 141은, 도 5a에 도시된 바와 같이, 제1 레벨 시야 범위 영역(field-of-view range region)(예를 들면, 도 5a에 도시된 크기 3 x 3 영역 블록에 해당하며, 상기 블록에서 각 영역 블록의 크기는 예를 들면 약 32미터 x 32미터가 될수 있다) 및 제2 레벨 시야 범위 영역(field-of-view range region )(예를 들면, 2 x 2 또는 n x n개의 그리드 블록 영역 블록들이 도 5a에 도시된 바와 같이, 크기 3 x 3 영역 블록들로 진일보로 분할된다)이 게임 맵상에 분할되는 단계이다. 이 경우, 상기 제1 레벨 시야 범위 영역(field-of-view range region) 영역의 크기는 제2 레벨 시야 범위 영역(field-of-view range region )의 크기의 정수배가 될 수 있다.
단계 142는, NPC 배역이 제1 레벨 시야 범위 영역(field-of-view range region)을 가로지르면, 제1 레벨 시야 범위 영역(field-of-view range region)에서의 배역 오브젝트(role object) (예를 들면, 다음 NPC 배역 및 사용자 배역)들에 대하여 디폴트 (default)로서 시야 검색(field-of-view search)을 실시하는 단계이다.
단계 143는, NPC 배역의 시야 검색(field-of-view search) 이후마다, 검색 결과에 따라, 시야 리스트(field-of-view list) 내의 배역 오브젝트(role object)의 개수를 유지하는 단계이다. 만약 시야 리스트(field-of-view list) 내의 배역 오브젝트(role object)들의 개수가 지정된 문턱 값을 초과하지 않는 경우라면, NPC 배역이 제1 레벨 시야 범위 영역(field-of-view range region)을 가로지르는 경우 제1 레벨 시야 범위 영역(field-of-view range region) 내의 배역 오브젝트(role object)들에 대하여 시야 검색(field-of-view search)이 실시된다. 만약 시야 리스트(field-of-view list) 내의 배역 오브젝트(role object)들의 개수가 지정된 문턱 값을 초과하는 경우라면, NPC 배역이 제2 레벨 시야 범위 영역(field-of-view range region )을 가로지르면, 제2 레벨 시야 범위 영역(field-of-view range region ) 내의 배역 오브젝트(role object)들에 대하여 시야 검색(field-of-view search)이 실시된다.
도 5c에 도시된 바와 같이, NPC 배역의 시야 범위(field-of-view range) 내의 배역 오브젝트(role object)들의 시야 검색(field-of-view search) 및 검색 결과에 따른 시야 리스트(field-of-view list) 내의 배역 오브젝트(role object)의 개수를 유지하는 과정은 다음의 단계 1431 내지 1434를 포함한다.
단계 1431에서, NPC 배역의 시야 범위(field-of-view range) 내의 모든 배역 오브젝트(role object)들이 검색된다.
단계 1432에서, 검색된 배역 오브젝트(role object) 각각의 유형이 결정된다.
단계 1433에서, 배역 오브젝트(role object)의 유형 및 배역 오브젝트(role object)의 각 유형에 대한 사전에 설정된 관측 시야 포함 관계 정보 (preset field-of-view inclusion relationship information)에 따라, NPC 배역의 시야 리스트(field-of-view list)에 각 배역 오브젝트(role object)들을 추가할지가 결정된다.
단계 1434에서, 최초의 시야 리스트(field-of-view list)에 존재하나, 새로운 관측 영역 범위에서 검색되지 않은 배역 오브젝트(role object)들은 삭제된다.
아래의 표 3은 배역 오브젝트(role object)의 각각의 유형에 대한 예시적이고, 구체적인 사전 설정 관측 시야 포함 관계 정보를 보여준다.
배역 사용자 배역 제1 레벨 NPC 배역 제2 레벨 NPC 배역 제3 레벨 NPC 배역
사용자 배역 관측 시야에 쌍방향 (two-way)을 포함시킨다. 관측 시야에 쌍방향 (two-way)을 포함시킨다. 관측 시야에 쌍방향 (two-way)을 포함시킨다. 관측 시야에 쌍방향 (two-way)을 포함시키거나, 관측 시야에 사용자 배역 일방향(one-way)을 포함시킨다.
제1 레벨 NPC 배역 관측 시야에 쌍방향 (two-way)을 포함시킨다. 관측 시야에 쌍방향 (two-way)을 포함시킨다.
X

X
제2 레벨 NPC 배역 관측 시야에 쌍방향 (two-way)을 포함시킨다.
X

X

X
제3 레벨 NPC 배역 관측 시야에 쌍방향 (two-way)을 포함시키거나, 관측 시야에 사용자 배역 일방향(one-way)을 포함시킨다.

X


X


X
상기 표 3에 보인 바와 같이, 구체적인 일 실시형태에 있어서, NPC 배역이 다른 레벨들로 분류될수 있다. 서로 다른 레벨의 NPC 배역들에 대한 관측 시야 포함 관계 정보는 다음 1) 내지 4)와 같이 서로 다를수 있다.
1) 사용자 배역 및 사용자 배역은 서로 대칭적인 관계를 가지며, 각각 다른 관측 시야에 포함될수 있다. 사용자 배역 및 제1 레벨 PC 배역은 서로 대칭적인 관계를 가지며, 각각 다른 관측 시야에 포함될수 있다. 사용자 배역 및 제2 레벨 NPC 배역은 서로 대칭적인 관계를 가지며, 각각 다른 관측 시야에 포함될수 있다. 사용자 배역 및 제3 레벨 NPC 배역은 서로 대칭적인 관계를 가지며, 각각 다른 관측 시야에 포함될수 있다. 그러나, 제3 레벨의 NPC 배역들의 시야 리스트(field-of-view list)가 찼을 때, 제3 레벨 NPC 만이 사용자 배역의 관측 시야에 포함될수 있다.
2) 제1 레벨 NPC 배역 및 사용자 배역은 서로 대칭적인 관계를 가지며, 다른 관측 시야 각각에 포함될수 있다. 제1 레벨 NPC 배역 및 제1 레벨 NPC 배역은 서로 대칭적인 관계를 가지며, 각각 다른 관측 시야 포함될수 있다. 제1 레벨의 NPC 배역 및 제2 레벨의 NPC 배역 또는 제3 레벨 NPC 배역은 서로에 대하여 가시성을 가질수 없으며, 이에 따라 각각 다른 관측 시야에 포함될수 없다.
3) 제2 레벨 NPC 배역 및 사용자 배역은 서로 대칭적인 관계를 가지며, 각각 다른 관측 시야에 포함될수 있다. 제2 레벨 NPC 배역 및 제1 레벨 NPC 배역 또는 제2 레벨의 NPC 배역 또는 제3 레벨 NPC 배역은 서로에 대하여 가시성을 가질수 없으며, 이에 따라 각각 다른 관측 시야에 포함될수도 없다.
4) 제3 레벨 NPC 배역 및 사용자 배역은 서로 대칭적인 관계를 가지며, 각각 다른 관측 시야에 포함될수 있다. 그러나, 제3 레벨 NPC 배역의 시야 리스트(field-of-view list)가 찼을 때, 제3 레벨 NPC 배역만이 사용자 배역의 관측 시야 내에 포함될수 있다. 제3 레벨 NPC 배역 및 제1 레벨 NPC 배역 또는 제2 레벨NPC 배역 또는 제3 레벨 NPC 배역은 서로에 대하여 가시성을 가지지 못하며, 이에 따라 각각 다른 관측 시야 내에 포함될수 없다.
상기의 실시형태들에 개시된 바와 같이, 배역 오브젝트(role object)의 각 유형에 대한 사전 설정 관점 시야 포함 관계는 다음과 같은 (1) 내지 (3)의 장점을 갖는다.
(1) 문턱 값에 도달하는 시야 리스트(field-of-view list)의 확률이 감소될수 있으며, 여기서 문턱 값은 제2 레벨 시야 범위 영역(field-of-view range region )을 가로지르는 시야 검색(field-of-view search)을 트리거하기 위한 지정된 문턱값을 뜻한다. 이에 따라, 이동 과정에 있어서 시야 검색(field-of-view search)의 빈도 (frequency)가 감소될수 있다. 관측 시야 알고리즘의 소모가 감소될수 있으며, 이에 따라 CPU 소모가 줄어들수 있다.
(2) 제3 레벨 NPC 배역의 시야 리스트(field-of-view list)가 찰 때, 사용자 배역이 제3 레벨 NPC 배역을 볼수 없고, 이에 따라 임무를 받을수 없는 상황을 방지하기 위하여, 제3 레벨 NPC 배역만이 사용자 배역의 관측 시야 내에 포함될수 있다.
(3) NPC 배역의 시야 리스트(field-of-view list) 내에 다른 배역들이 없을 때, AI 로직 작동이 중지되며, 이에 따라 CPU의 소모를 줄일 수 있다.
상기에 공개된 방법들에 의하면, 도6에 도시된 바와 같이, 개시된 다양한 실시형태들에 따른 네트워크 시스템은 상태 모니터링 모듈 (201), 시뮬레이티드 회전 각도 결정 모듈 (202) 및 위치 할당 모듈 (203) (도2를 참조)로 구성되며, 부하 모니터링 및 조정 모듈 (204)을 진일보로 포함할수 있다.
부하 모니터링 및 조정 모듈 (204)은 네트워크 게임 시스템 서버의 현재 부하 조건을 모니터링하고, 모니터링된 부하 조건에 따라 NPC 배역에 대한 NPC 시스템의 클록 틱 간격을 동적으로 조정할수 있도록 구성되며, 상기 구성에서 네트워크 게임 시스템 서버의 현재 부하가 클수록, NPC 배역에 대한 조정된 클록 틱 간격이 길어지게 된다.
네트워크 게임 시스템은 시야 검색(field-of-view search) 모듈 (205)을 진일보로 포함할 수 있다. 상기 시야 검색(field-of-view search) 모듈 (205)은 NPC 배역의 시야 범위(field-of-view range) 내의 배역 오브젝트(role object)들에 대한 시야 검색(field-of-view search)을 수행하고, 검색 결과에 따라 시야 리스트(field-of-view list) 내의 배역 오브젝트(role object)들의 개수를 유지하도록 구성된다. 또한, 상기 관측 검색 모듈 (205)은 시야 리스트(field-of-view list) 내의 배역 오브젝트(role object)들의 개수에 따라, 시야 검색(field-of-view search)을 트리거하기 위하여 NPC 배역의 이동 거리 및 시야 검색(field-of-view search) 범위를 동적을 조정하도록 구성된다. NPC 배역의 시야 리스트(field-of-view list) 내의 배역 오브젝트(role object)들의 개수가 클수록, 시야 검색(field-of-view search)을 트리거하기 위하여 NPC의 조정된 이동 거리 및 시야 검색(field-of-view search) 범위는 줄어들게 된다.
추가로, 네트워크 게임 시스템 비용을 진일보로 줄이기 위하여, 상기의 개시된 방법에 따른 일 실시형태는 다음의 단계들을 진일보로 포함할수 있다.
맵 상의 임의의 두개의 좌표 포인트 사이의 거리 "S"를 네트워크 게임 시스템에 의하여 계산을 하는 과정에 있어서, 상기 두개의 좌표 포인트를 연결하는 선을 직삼각형의 빗변으로 이용하고, 그리고 상기 두개의 좌표 포인트를 직삼각형의 각각의 예각 꼭지점으로 이용하여, 직삼각형을 그리는 단계; 상기 직삼각형의 밑변과 높이의 길이를 결정하는 단계; 및 수식 "S=A + B/2"를 이용하여, 상기 거리 "S"를 계산하는 단계; 를 포함한다. 이 경우, 상기 단계에서 "A"는 상기 밑변과 높이중 긴 변의 길이를 뜻하며, "B"는 상기 밑변과 높이중 짧은 변의 길이를 뜻한다.
일반적으로 두개의 좌표 포인트 사이의 거리를 계산할 때 “
Figure 112014092623416-pct00001
"의 공식이 사용된다. 그러나, 제곱 계산 및 근 (root) 계산 둘 다 많은 CPU 부하의 증가를 가져오게 된다. 따라서, 상기 거리 “S”를 계산하기 위하여 상기 수식 "S=A+B/2"을 이용하기 때문에, CPU 부하를 개선할수 있다.
상기에 공개한 방법과 같이, 수식 "S=A+B/2"를 이용하는 계산 방법을 이용하면, 상기와 같이 계산한 두개의 좌표 포인트 사이의 거리는 특정된 오류를 가질수 있지만, 최대 오류가 약 12% 미만일수 있으며, 평균 오류는 약 5%에 불과할수 있다. 이와 같은 오류의 범위는 네트워크 게임 시스템상에서 허용이 가능하며, 픽쳐 및 게임 작동 경험에 큰 영향을 끼치지 않는다. 상기와 같은 장점은 추가 또는 분할 작용에 의하여 소모되는 CPU 비용을 줄일수 있으며, 이에 따라 시스템 자원이 절약될수 있다.
지금까지의 실시형태들은 예시적인 목적으로만 제공되었다. 개시된 이와 같은 실시형태들에 대한 다른 어플리케이션, 장점, 변경, 수정 또는 등가물들은 당업자에 자명하며, 본 개시의 범위 내에 있다.
200: 동적 장애가 없는 네트워크 게임 시스템
201: 상태 모니터링 모듈 202: 시뮬레이티드 회전 각도 결정 모듈
203: 위치 할당 모듈 204: 부하 모니터링 및 조정 모듈
205: 시야 검색(field-of-view search) 모듈
700: 환경 702: 통신 네트워크
704: 서버 706: 단말기
800: 시스템 802: 프로세서
804: 저장장치매개물 806:모니터
808: 통신
810: 데이터베이스 812: 주변장치
814: 버스

Claims (14)

  1. 게임을 플레이하는 사용자에 해당하는 사용자 배역을 갖는 게임의 맵 상에서, 비-플레이어 제어 캐릭터 (NPC) 배역의 짧은 범위 인터랙션 상태를 모니터링하는 단계; 와
    상기 비-플레이어 제어 캐릭터 (NPC) 배역이 상기 사용자 배역을 짧은 범위 인터랙션의 타겟으로 선택할 때, 상기 비-플레이어 제어 캐릭터 (NPC) 배역이 상기 사용자 배역을 상기 타겟으로 선택하기 이전에, 상기 사용자 배역과의 짧은 범위의 인터랙션을 갖는 모든 비-플레이어 제어 캐릭터 (NPC) 배역들의 전체 개수 "N"을 결정하는 단계; 와
    "a"를 지정된 기준 각도로 할 때, 회전 각도 “C”를 "C=N x a"의 수식에 의하여 결정하는 단계; 와
    위치 할당 작동 (operation)을 수행하는 단계; 를 포함하여 구성되며,
    상기 위치 할당 작동은,
    상기 사용자 배역의 현재 좌표 포인트를 서클의 중심으로서 이용하는 방법으로, 상기 비-플레이어 제어 캐릭터 (NPC) 배역의 현재 좌표 포인트로부터 지정된 방향으로 상기 회전 각도 "C" 만큼 시뮬레이티드 회전한 후에, 상기 비-플레이어 제어 캐릭터 (NPC) 배역의 목적지 좌표 포인트를 계산하는 단계; 와
    상기 맵상에 상기 목적지 좌표 포인트에 정적 장애가 있는지의 여부를 결정하는 단계; 와
    상기 정적 장애가 있을 때, 상기 위치 할당 작동을 반복적으로 수행하기 위하여, 지정된 각도를 상기 현재 회전 각도 "C"에 추가하여 새로운 회전 각도 "C"를 계산하는 단계; 와
    상기 정적 장애가 없을 때, 상기 사용자 배역과의 짧은 범위의 인터랙션을 수행하기 위하여, 상기 비-플레이어 제어 캐릭터 (NPC) 배역을 상기 목적지 좌표 포인트로 이동시키는 단계; 를 포함하는 것을 특징으로 하는 동적 장애가 없는 네트워크 게임 시스템용 처리 방법.
  2. 제1항에 있어서,
    상기 비-플레이어 제어 캐릭터 (NPC) 배역의 목적지 좌표 포인트를 계산하는 단계는,
    상기 사용자 배역이 상기 현재의 좌표 포인트를 원점 (origin)으로 이용하여, 상기 사용자 배역 및 상기 비-플레이어 제어 캐릭터 (NPC) 배역의 연결 선 및 맵 기준 선 사이에 형성된 각도 "A"를 결정하는 단계; 와
    상기 각도 "A"를 기준으로 이용하여, 상기 지정된 방향으로, 상기 회전 각도 "C" 만큼, 상기 비-플레이어 제어 캐릭터 (NPC) 배역의 시뮬레이티드 회전한 후에, 각도 "B"를 결정하는 단계; 와
    상기 비-플레이어 제어 캐릭터 (NPC) 배역의 목적지 좌표 포인트의 "x" 및 "y" 좌표를 계산하는 단계; 를 더 포함하되,
    상기의 단계에서,
    "x" 좌표 = 사용자 배역의 "x" 좌표 + (r1 + r2 + s1) x cos(B); 및
    "y" 좌표 = 사용자 배역의 "y" 좌표 + (r1 + r2 + s1) x sine(B)이며,
    상기 공식에서 "r1"은 비-플레이어 제어 캐릭터 (NPC) 배역 모델 반경이며, "r2"는사용자 배역 모델 반경이며, 그리고 "s1"은 상기 비-플레이어 제어 캐릭터 (NPC) 배역의 짧은 범위의 인터랙션의 유효 거리를 뜻하며, 상기 비-플레이어 제어 캐릭터 (NPC) 배역의 짧은 범위의 인터랙션의 유효 거리 범위로부터 선택되는 값인 것을 특징으로 하는 동적 장애가 없는 네트워크 게임 시스템용 처리 방법.
  3. 제2항에 있어서,
    상기 비-플레이어 제어 캐릭터 (NPC) 배역을 상기 목적지 좌표 포인트로 이동시키는 단계는,
    상기 배역의 목적지 좌표 포인트와 상기 사용자 배역의 현재 좌표 포인트 사이의 거리가 상기 비-플레이어 제어 캐릭터 (NPC) 배역의 짧은 범위의 인터랙션의 최대 유효 거리보다 큰지를 결정하는 단계; 와
    상기 목적지 좌표 포인트 및 상기 사용자 배역의 현재 좌표 포인트 사이의 거리가 상기 최대 유효 거리보다 크지 않으면, 상기 비-플레이어 제어 캐릭터 (NPC) 배역을 상기 목적지 좌표 포인트로 이동시키는 단계; 와
    상기 목적지 좌표 포인트 및 상기 사용자 배역의 현재 좌표 포인트 사이의 거리가 상기 최대 유효 거리보다 크면, 새로운 목적지 좌표 포인트를 얻기 위하여 그리고 상기 비-플레이어 제어 캐릭터 (NPC) 배역을 상기 새로운 목적지 좌표 포인트로 이동시키기 위하여, 상기 "S1"을 감소시킨후 상기 목적지 좌표 포인트의 "x" 및 "y" 좌표를 재계산하는 단계; 를 더 포함하는 것을 특징으로 하는 동적 장애가 없는 네트워크 게임 시스템용 처리 방법.
  4. 제2항에 있어서,
    상기 기준 각도 "a" 및 상기 추가된 지정된 각도는 “π/m”의 형태를 하고 있으며, 상기의 형태에서 "m"은 양의 정수이며,
    상기 전체 개수 "N"을 결정하는 단계 이후에, 그리고 상기 회전 각도 "C"를 결정하는 단계 이전에, "N mod M"의 모듈로 (modulo) 계산을 하는 단계; 와
    상기 계산에서 "M=2π/a"이며 상기 계산은 상기 모듈로를 "N"로 할당하기 위한 것이며, 그리고 "C=N x a"를 이용하여 상기 회전 각도 "C"를 계산하는 단계; 를 더 포함하는 것을 특징으로 하는 동적 장애가 없는 네트워크 게임 시스템용 처리 방법.
  5. 제4항에 있어서,
    상기 목적지 좌표 포인트에 정적 장애가 있을 때, 그리고 상기의 새로운 회전 각도 "C"를 계산하는 단계 이전에,
    상기 현재 회전 각도 "C"가 2π인지를 결정하는 단계;와
    상기 현재의 회전 각도 "C"가 2π일 때, 상기 NPC 배역의 사용자 배역과의 짧은 범위의 인터랙션의 관계를 취소하는 단계;와
    상기 현재 회전 각도 "C"가 2π가 아닐 때, 상기 위치 할당 작동을 반복적으로 실시하기 위하여, 상기 지정된 각도를 상기 현재의 회전 각도 "C"에 추가하는 방법으로 새로운 회전 각도 "C"를 계산하는 단계; 를 더 포함하는 것을 특징으로 하는 동적 장애가 없는 네트워크 게임 시스템용 처리 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 네트워크 게임 시스템의 서버의 현재 부하를 모니터링하는 단계;와
    상기 모니터링된 부하 조건에 따라 상기 비-플레이어 제어 캐릭터 (NPC) 배역에 대한 클록 틱 간격을 동적으로 계산하는 단계; 를 더 포함하며,
    상기 현재의 부하가 클수록, 상기 현재 부하의 증가에 따라 조정된 클록 틱 간격이 더 길어지는 것을 특징으로 하는 동적 장애가 없는 네트워크 게임 시스템용 처리 방법.
  7. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 비-플레이어 제어 캐릭터 (NPC) 배역의 시야 범위(field-of-view range) 내에서 배역 오브젝트(role object)들을 시야 검색(field-of-view search) 하는 단계;와
    상기 시야 검색(field-of-view search) 결과에 따라 시야 리스트(field-of-view list) 내의 상기 배역 오브젝트(role object)들의 개수를 유지시키는 단계; 와
    상기 시야 리스트(field-of-view list) 내의 상기 배역 오브젝트(role object)들의 개수에 따라, 상기 시야 검색(field-of-view search)을 트리거하기 위하여 상기 비-플레이어 제어 캐릭터 (NPC) 배역의 이동 거리 및 시야 검색(field-of-view search) 범위를 동적으로 조정하는 단계; 를 더 포함하며,
    상기 시야 리스트(field-of-view list) 내의 상기 배역 오브젝트(role object)들의 개수가 많을수록, 상기 시야 리스트(field-of-view list) 내의 배역 오브젝들의 개수의 증가에 따라 조정된 이동 거리 및 시야 검색 범위(field-of-view search range)가 더 작아지는 것을 특징으로 하는 동적 장애가 없는 네트워크 게임 시스템용 처리 방법.
  8. 제1항 내지 제5항 중 어느 한 항에 있어서,
    제1 레벨 시야 범위 영역(field-of-view range region)들과 제2 레벨 시야 범위 영역(field-of-view range region)들을 상기 게임 장면의 맵상에 분할하되, 상기 제1 레벨 시야 범위 영역(field-of-view range region) 각각의 크기는 상기 제2 레벨 시야 범위 영역(field-of-view range region) 영역의 정수배인 단계; 와,
    상기 비-플레이어 제어 캐릭터 (NPC) 배역이 상기 제1 레벨 시야 범위(field-of-view range) 영역을 가로지를 때, 제1 레벨 시야 범위(field-of-view range) 영역에서 배역 오브젝트(role object)들을 디폴트 (default)로서 시야 검색(field-of-view search)하는 단계; 와
    상기 시야 검색(field-of-view search) 이후마다, 상기 시야 검색(field-of-view search) 결과에 따라 시야 리스트(field-of-view list) 내의 상기 배역 오브젝트(role object)들의 개수를 유지시키는 단계; 와
    상기 시야 리스트(field-of-view list) 내의 상기 배역 오브젝트(role object)들의 개수가 지정된 문턱 값을 초과하는지를 결정하는 단계; 와
    상기 시야 리스트(field-of-view list) 내의 상기 배역 오브젝트(role object)들의 개수가 상기 지정된 문턱 값을 초과하지 않으면서 상기 비-플레이어 제어 캐릭터 (NPC) 배역이 그 결과로 한 개의 제1 레벨 시야 범위 영역(field-of-view range region)을 가로지를때, 상기 한개의 제1 레벨 시야 범위 영역(field-of-view range region) 내에서 상기 배역 오브젝트(role object)들에 대한 상기 시야 검색(field-of-view search)을 실시하는단계; 와
    상기 시야 리스트(field-of-view list) 내의 상기 배역 오브젝트(role object)들의 개수가 상기 지정된 문턱 값을 초과하면서 상기 비-플레이어 제어 캐릭터 (NPC) 배역이 그 결과 한 개의 제2 레벨 시야 범위 영역(field-of-view range region)을 가로지를 때, 상기 한 개의 제2 레벨 시야 범위 영역(field-of-view range region) 내에서 상기 배역 오브젝트(role object)들에 대하여 상기 시야 검색(field-of-view search)을 실시하는 단계; 를 더 포함하는 것을 특징으로 하는 동적 장애가 없는 네트워크 게임 시스템용 처리 방법.
  9. 제7항에 있어서,
    상기 배역 오브젝트(role object)를 상기 시야 검색(field-of-view search) 방법으로 검색하고, 상기 시야 리스트(field-of-view list) 내의 상기 배역 오브젝트(role object)의 개수를 유지시키는 단계는,
    상기 비-플레이어 제어 캐릭터 (NPC) 배역의 시야 범위(field-of-view range) 내에서 모든 배역 오브젝트(role object)들을 검색하는 단계; 와
    상기 검색된 배역 오브젝트(role object)들 각각의 유형을 결정하는 단계; 와
    상기 검색된 배역 오브젝트(role object) 각각의 유형과 사전 설정된 관점 시야 포함 관계 정보에 따라, 상기 비-플레이어 제어 캐릭터 (NPC) 배역의 시야 리스트(field-of-view list) 내에 상기 관점 오브젝을 포함시킬지를 결정하는 단계; 와
    최초의 시야 리스트(field-of-view list) 내에는 존재하지만, 새로운 시야 범위(field-of-view range) 내에서 검색되지 않는 배역 오브젝트(role object)들을 삭제하는 단계; 를 더 포함하는 것을 특징으로 하는 동적 장애가 없는 네트워크 게임 시스템용 처리 방법.
  10. 제8항에 있어서,
    상기 배역 오브젝트(role object)를 상기 시야 검색(field-of-view search) 방법으로 검색하고, 상기 시야 리스트(field-of-view list) 내의 상기 배역 오브젝트(role object)의 개수를 유지시키는 단계는,
    상기 비-플레이어 제어 캐릭터 (NPC) 배역의 시야 범위(field-of-view range) 내에서 모든 배역 오브젝트(role object)들을 검색하는 단계; 와
    상기 검색된 배역 오브젝트(role object)들 각각의 유형을 결정하는 단계; 와
    상기 검색된 배역 오브젝트(role object) 각각의 유형과 사전 설정된 관점 시야 포함 관계 정보에 따라, 상기 비-플레이어 제어 캐릭터 (NPC) 배역의 시야 리스트(field-of-view list) 내에 상기 관점 오브젝을 포함시킬지를 결정하는 단계; 와
    최초의 시야 리스트(field-of-view list) 내에는 존재하지만, 새로운 시야 범위(field-of-view range) 내에서 검색되지 않는 배역 오브젝트(role object)들을 삭제하는 단계; 를 더 포함하는 것을 특징으로 하는 동적 장애가 없는 네트워크 게임 시스템용 처리 방법.
  11. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 맵상의 두 개의 좌표 포인트들 사이의 거리 "S"를 계산하기 위하여,
    상기 두 개의 좌표 포인트를 연결하는 선을 직삼각형의 빗변으로서 이용하고, 상기 두개의 좌표 포인트들을 상기 직삼각형의 예각꼭지점들로 이용하여 상기 직삼각형을 그리는 단계; 와
    상기 직삼각형의 밑변과 높이의 길이를 결정하는 단계; 와
    "S=A + B/2"를 이용하여, 상기 거리 "S"를 계산하는 단계; 를 포함하되,
    상기 단계에서 "A"는 상기 밑변과 높이 중 긴 변의 길이를 뜻하며, "B"는 상기 밑변과 높이 중 짧은 변의 길이를 뜻하는 것을 특징으로 하는 동적 장애가 없는 네트워크 게임 시스템용 처리 방법.
  12. 시뮬레이티드 회전 각도 결정 모듈과;
    위치 할당 모듈과;
    게임 장면의 맵상에서 비-플레이어 제어 캐릭터 (NPC) 배역의 짧은 범위 인터랙션 상태를 모니터링하고, 상기 비-플레이어 제어 캐릭터 (NPC) 배역이 사용자 배역의 짧은 범위의 인터랙션의 타겟으로 선택한 이후에, 상기 시뮬레이티드 회전 각도 결정 모듈 및 위치 할당 모듈을 트리거하도록 구성되는 상태 모니터링 모듈; 을 포함하며,
    상기 시뮬레이티드 회전 각도 결정 모듈은 회전 각도 “C”를 "C=N x a"의 수식에 의하여 결정하도록 구성되며, 상기의 수식에서 "N"은 상기 비-플레이어 제어 캐릭터 (NPC) 배역이 상기 사용자 배역을 타겟으로 선택하기 이전에 상기 사용자 배역과의 짧은 범위 인터랙션을 갖는 모든 배역들의 전체 개수를 뜻하며, "a"는 지정된 기준 각도를 뜻하며; 그리고
    상기 위치 할당 모듈은 위치 할당 작동을 수행하도록 구성되며,
    상기 위치 할당 작동은,
    상기 사용자 배역의 현재 좌표 포인트를 서클의 중심으로 이용하는 방법으로, 상기 비-플레이어 제어 캐릭터 (NPC) 배역의 현재 좌표 포인트로부터 지정된 방향으로, 상기 회전 각도 "C" 만큼 시뮬레이티드 회전 이후에, 상기 비-플레이어 제어 캐릭터 (NPC) 배역의 목적지 좌표 포인트를 계산하는 단계; 와
    상기 맵상의 목적지 좌표 포인트에 정적 장애가 있는지를 결정하는 단계;를 포함하며,
    상기 정적 장애가 있는 경우에는, 상기 위치 할당 작동을 반복적으로 실시하기 위하여, 지정된 각도를 상기 회전 각도 "C"에 추가하여 새로운 회전 각도 "C"가 계산되며,
    상기 정적 장애가 없는 경우에는, 상기 사용자 배역과의 상기 짧은 범위의 인터랙션을 수행하기 위하여 상기 비-플레이어 제어 캐릭터 (NPC) 배역은 상기 목적지 좌표 포인트로 이동하는 것을 특징으로 하는 동적 장애가 없는 네트워크 게임 시스템.
  13. 제12항에 있어서,
    상기 네트워크 게임 시스템의 서버의 현재 부하를 모니터링하고, 상기 모니터링된 현재 부하에 따라 상기 비-플레이어 제어 캐릭터 (NPC) 배역에 대한 클록 틱 간격을 동적으로 조정하도록 구성되는 부하 모니터링 및 조정모듈;을 더 포함하며,
    상기 현재 부하가 클수록, 상기 현재 부하의 증가에 따라 조정된 클록 틱 간격이 더 길어지는 것을 특징으로 하는 동적 장애가 없는 네트워크 게임 시스템.
  14. 제12항에 있어서,
    상기 비-플레이어 제어 캐릭터 (NPC) 배역의 시야 범위(field-of-view range) 내에서 배역 오브젝트(role object)들을 시야 검색(field-of-view search)을 수행하고, 상기 검색 결과에 따라 시야 리스트(field-of-view list) 내의 상기 배역 오브젝트(role object)의 개수를 유지시키고, 그리고 상기 시야 리스트(field-of-view list) 내의 상기 배역 오브젝트(role object)들의 개수에 따라 상기 시야 검색(field-of-view search)을 트리거하기 위하여 상기 비-플레이어 제어 캐릭터 (NPC) 배역의 이동 거리 및 시야 검색(field-of-view search) 범위를 동적으로 조정하도록 구성되는 시야 검색(field-of-view search) 모듈; 을 더 포함하고,
    상기 시야 리스트(field-of-view list) 내의 상기 배역 오브젝트(role object)들의 개수가 많을수록, 상기 시야 리스트(field-of-view list) 내의 배역 오브젝트(role object)들의 개수의 증가에 따라 조정된 이동 거리 및 시야 검색(field-of-view search) 범위가 줄어드는 것을 특징으로 하는 동적 장애가 없는 네트워크 게임 시스템.

KR1020147027383A 2012-08-17 2013-08-16 동적 장애가 없는 네트워크 게임 시스템 및 그 처리 방법 KR101517927B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201210293556.5 2012-08-17
CN201210293556.5A CN103593546B (zh) 2012-08-17 2012-08-17 一种无动态阻挡网络游戏系统及其处理方法
PCT/CN2013/081663 WO2014026647A1 (en) 2012-08-17 2013-08-16 Network game system without dynamic obstructions and processing method thereof

Publications (2)

Publication Number Publication Date
KR20140121901A KR20140121901A (ko) 2014-10-16
KR101517927B1 true KR101517927B1 (ko) 2015-05-07

Family

ID=50083684

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147027383A KR101517927B1 (ko) 2012-08-17 2013-08-16 동적 장애가 없는 네트워크 게임 시스템 및 그 처리 방법

Country Status (9)

Country Link
US (1) US9149724B2 (ko)
EP (1) EP2839441B1 (ko)
JP (1) JP5767760B2 (ko)
KR (1) KR101517927B1 (ko)
CN (1) CN103593546B (ko)
CO (1) CO7061044A2 (ko)
MY (1) MY173985A (ko)
PH (1) PH12014501916B1 (ko)
WO (1) WO2014026647A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957224B (zh) * 2014-05-21 2019-11-19 腾讯科技(深圳)有限公司 一种在线游戏中的人物移动方法和系统
CN104606886B (zh) * 2014-12-25 2017-10-17 珠海金山网络游戏科技有限公司 一种分布式无碰撞移动规划的方法
JP6661275B2 (ja) * 2015-03-05 2020-03-11 株式会社バンダイナムコエンターテインメント プログラムおよびサーバシステム
CN104915117B (zh) * 2015-06-16 2017-03-22 深圳市腾讯计算机系统有限公司 控制与虚拟目标进行交互的方法和装置
KR101921642B1 (ko) 2015-08-24 2018-11-23 금오공과대학교 산학협력단 염료감응형 태양전지 및 그 제조방법
JP5887458B1 (ja) * 2015-11-04 2016-03-16 株式会社Cygames プレイヤの移動履歴に基づいてノンプレイヤキャラクタの経路探索を行うゲームシステム等
CN107042018B (zh) 2016-02-05 2018-09-18 腾讯科技(深圳)有限公司 控制对象的空间位置确定方法和装置
CN106110656B (zh) * 2016-07-07 2020-01-14 网易(杭州)网络有限公司 在游戏场景计算路线的方法和装置
KR101999827B1 (ko) * 2016-09-02 2019-07-12 주식회사 겜프스 전투게임 제공 장치 및 방법
US20190262714A1 (en) * 2016-10-31 2019-08-29 Capcom Co., Ltd. Game system and method for controlling game system
CN106503477B (zh) * 2016-11-24 2018-09-07 腾讯科技(深圳)有限公司 虚拟对象的控制方法及相关装置
JP6850884B2 (ja) * 2017-01-05 2021-03-31 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 情報処理方法及び装置
CN107480544A (zh) * 2017-08-07 2017-12-15 成都牵牛草信息技术有限公司 统计列表操作权限授权方法
CN108434739B (zh) * 2018-01-30 2019-03-19 网易(杭州)网络有限公司 游戏场景中虚拟资源的处理方法及装置
CN108920069B (zh) * 2018-06-13 2020-10-23 网易(杭州)网络有限公司 一种触控操作方法、装置、移动终端和存储介质
US10606345B1 (en) * 2018-09-25 2020-03-31 XRSpace CO., LTD. Reality interactive responding system and reality interactive responding method
CN109865286B (zh) * 2019-02-20 2023-02-28 网易(杭州)网络有限公司 游戏中的信息处理方法、装置及存储介质
CN110052030B (zh) * 2019-04-26 2021-10-29 腾讯科技(深圳)有限公司 虚拟角色的形象设置方法、装置及存储介质
CN111111187B (zh) * 2019-11-28 2023-07-14 玩心(北京)网络科技有限公司 基于网格的在线游戏寻路方法和装置
JP2021194464A (ja) * 2020-06-18 2021-12-27 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲーム処理方法、およびゲームシステム
CN112396697B (zh) * 2020-11-20 2022-12-06 上海莉莉丝网络科技有限公司 游戏地图内区域生成方法、系统及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040116186A1 (en) 2002-12-13 2004-06-17 Kwang-Hyun Shim Distance based distributed online game server system
CN101990074A (zh) 2009-08-03 2011-03-23 康佳集团股份有限公司 带音频播放功能的电视机
CN110107151A (zh) 2019-06-03 2019-08-09 吴宋位 一种内嵌式门把手及其应用的门锁

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000308759A (ja) * 1999-04-27 2000-11-07 Konami Co Ltd ビデオゲームのキャラクタを制御する方法、ビデオゲーム装置、及び記録媒体
JP3505705B2 (ja) * 1999-11-30 2004-03-15 株式会社光栄 記録媒体及びゲーム装置
JP3795856B2 (ja) * 2002-12-09 2006-07-12 株式会社スクウェア・エニックス ビデオゲーム装置、ビデオゲームの進行制御方法、プログラム及び記録媒体
GB2409417A (en) * 2003-12-22 2005-06-29 Nokia Corp Online gaming with spectator interaction
JP3911511B2 (ja) * 2004-12-21 2007-05-09 株式会社光栄 キャラクタ集団移動制御プログラム、記憶媒体及びゲーム装置
JP2006314705A (ja) * 2005-05-16 2006-11-24 Nintendo Co Ltd ゲームプログラムおよびゲーム装置
JP4534231B2 (ja) * 2005-09-08 2010-09-01 株式会社コーエーテクモゲームス ネットワークゲームシステム,クライアント機器,サーバ機器,キャラクタ管理プログラムおよびキャラクタ管理プログラムを記憶した記憶媒体
CN1990074B (zh) * 2005-12-28 2011-04-13 腾讯科技(深圳)有限公司 一种网络游戏中的物体运动控制方法
JP4177381B2 (ja) * 2006-03-01 2008-11-05 株式会社スクウェア・エニックス 画像生成方法、画像生成装置、および画像生成プログラム
JP4125760B2 (ja) * 2006-03-15 2008-07-30 株式会社スクウェア・エニックス ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム
CN1987881A (zh) * 2006-12-22 2007-06-27 北京金山软件有限公司 在游戏中分配非玩家控制角色的方法及装置
US20080231627A1 (en) * 2007-03-20 2008-09-25 Robert Allen Shearer Using Ray Tracing to Enhance Artificial Intelligence Character Behavior
CN101071515A (zh) * 2007-06-25 2007-11-14 北京金山软件有限公司 一种在服务器端实现三维游戏碰撞检测的方法
JP5350660B2 (ja) * 2008-03-27 2013-11-27 株式会社ソニー・コンピュータエンタテインメント ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
US9579576B2 (en) * 2008-07-22 2017-02-28 Daybreak Game Company Llc System and method for providing persistent character personalities in a simulation
JP5514483B2 (ja) * 2009-07-28 2014-06-04 株式会社カプコン ゲームプログラム、記録媒体、及びコンピュータ装置
JP5584566B2 (ja) * 2010-09-15 2014-09-03 株式会社カプコン ゲームプログラム、およびゲーム装置
CN102136025A (zh) * 2010-12-31 2011-07-27 北京像素软件科技股份有限公司 非玩家控制角色的智能控制方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040116186A1 (en) 2002-12-13 2004-06-17 Kwang-Hyun Shim Distance based distributed online game server system
CN101990074A (zh) 2009-08-03 2011-03-23 康佳集团股份有限公司 带音频播放功能的电视机
CN110107151A (zh) 2019-06-03 2019-08-09 吴宋位 一种内嵌式门把手及其应用的门锁

Also Published As

Publication number Publication date
EP2839441B1 (en) 2018-05-23
CO7061044A2 (es) 2014-09-19
JP2015515304A (ja) 2015-05-28
WO2014026647A1 (en) 2014-02-20
EP2839441A4 (en) 2015-12-30
CN103593546B (zh) 2015-03-18
US9149724B2 (en) 2015-10-06
US20140073435A1 (en) 2014-03-13
KR20140121901A (ko) 2014-10-16
EP2839441A1 (en) 2015-02-25
CN103593546A (zh) 2014-02-19
PH12014501916A1 (en) 2014-11-24
JP5767760B2 (ja) 2015-08-19
MY173985A (en) 2020-03-02
PH12014501916B1 (en) 2014-11-24

Similar Documents

Publication Publication Date Title
KR101517927B1 (ko) 동적 장애가 없는 네트워크 게임 시스템 및 그 처리 방법
WO2018130135A1 (zh) 一种控制模拟对象寻路的方法、装置及服务器
EP2425602B1 (en) Position tracking in a virtual world
JP6864753B2 (ja) オブジェクト移動方法及び装置並びに記憶媒体、電子装置
WO2022184128A1 (zh) 虚拟对象的技能释放方法、装置、设备及存储介质
JP2022533919A (ja) 仮想キャラクタの制御方法並びにそのコンピュータ機器、コンピュータプログラム、及び仮想キャラクタの制御装置
US20220096928A1 (en) Method and apparatus for displaying picture of virtual environment, device, and medium
KR20230145430A (ko) 가상 환경에서의 좌표축 표시 방법 및 장치, 그리고 단말기 및 매체
US20230031217A1 (en) Screen generation method and apparatus, computer device, storage medium and program product
CN111389007A (zh) 一种游戏控制方法、装置、计算设备及存储介质
CN110090447B (zh) 碰撞体堆叠方法、生成方法、装置、设备及存储介质
CN114307150A (zh) 虚拟对象之间的互动方法、装置、设备、介质及程序产品
CN111359204A (zh) 一种手机游戏场景的渲染方法、装置及移动终端
KR102680014B1 (ko) 가상 환경의 픽처를 디스플레이하는 방법 및 장치, 디바이스, 그리고 매체
CN116603239B (zh) 数据处理方法、装置及相关设备
CN112587924A (zh) 游戏ai的躲避方法、装置、存储介质及计算机设备
CN114768260A (zh) 游戏中虚拟角色的数据处理方法、装置以及电子设备
CN118059497A (zh) 虚拟对象的控制方法、装置、设备、介质及产品
CN117931327A (zh) 虚拟对象的显示方法、装置、设备及存储介质
CN116059640A (zh) 虚拟角色的控制方法、装置、设备及存储介质
CN105635262A (zh) 一种基于云存储的保障数据连续性方法、服务器和系统

Legal Events

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

Payment date: 20180326

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190418

Year of fee payment: 5