KR101148114B1 - Packet based game npc server, method for providing npc, and game system thereof - Google Patents
Packet based game npc server, method for providing npc, and game system thereof Download PDFInfo
- Publication number
- KR101148114B1 KR101148114B1 KR1020110088060A KR20110088060A KR101148114B1 KR 101148114 B1 KR101148114 B1 KR 101148114B1 KR 1020110088060 A KR1020110088060 A KR 1020110088060A KR 20110088060 A KR20110088060 A KR 20110088060A KR 101148114 B1 KR101148114 B1 KR 101148114B1
- Authority
- KR
- South Korea
- Prior art keywords
- game
- npc
- processing unit
- server
- packet
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Abstract
Description
본 발명은 패킷기반 게임 NPC 서버, 인공지능 NPC 제공방법 및 이를 이용한 게임 시스템에 관한 것으로, 더욱 상세하게는 각 게임서버에서 얻어진 데이터를 이용하여 소스 코드의 수정없이 패킷 정보를 기반으로 다양한 온라인 게임에 적용하는 패킷기반 게임 NPC 서버, 인공지능 NPC 제공방법 및 이를 이용한 게임 시스템에 관한 것이다.
The present invention relates to a packet-based game NPC server, an artificial intelligence NPC providing method, and a game system using the same, and more particularly, to various online games based on packet information without modification of source code using data obtained from each game server. The present invention relates to a packet-based game NPC server, an artificial intelligence NPC providing method, and a game system using the same.
온라인 게임은 국내뿐만 아니라 해외에서도 빠르게 발전하고 있는 분야로 특히 국내 온라인 게임 서버 기술은 세계에서 인정하는 높은 기술 수준을 보유하고 있는 분야이다. Online games are rapidly developing in Korea as well as abroad. In particular, domestic online game server technology has a high technology level recognized by the world.
현재 한국게임 산업의 비약적 발전과 더불어 게임 산업은 수많은 가치와 기술적 발전을 이루어 오고 있다. 그 중에서도 온라인 게임의 발전은 급속도로 성장하여 인구의 1/4이 온라인 게임을 즐기는 엔터테인트먼트 사업으로서 확고한 위치를 가지고 있다. In addition to the rapid development of the Korean game industry, the game industry has made numerous values and technological developments. Among them, the development of online games is growing rapidly, and a quarter of the population has a firm position as an entertainment business that enjoys online games.
이러한 발전과 더불어 게임은 하나의 문화 컨텐츠로 급속하게 성장하고 있고 게임을 바라보는 유저들의 요구도 점점 더 다양화되고 있다. With these developments, games are rapidly growing into a cultural content, and the demands of users watching the game are becoming more and more diversified.
현재, NPC서버는 게임 서버군에 포함되며, MMORPG(Massively Multiplayer Online Role Playing Game)와 같이 사용자외 다른 캐릭터들이 요구되는 게임의 경우 NPC 서버가 필수적이다. Currently, the NPC server is included in the game server group, the NPC server is essential for games that require other characters than the user, such as Massively Multiplayer Online Role Playing Game (MMORPG).
대부분 대형 MMORPG의 경우 NPC서버가 분리되어 있으며, 중소형 MO(Multiplayer Online)게임의 경우에는 AI모듈이 서버에 포함되어 있다.Most large MMORPGs have separate NPC servers, and in the case of small and medium-sized multiplayer online games, AI modules are included in the server.
그러나, 도 1과 같이, 기존의 게임서버(1)와 NPC 서버(2)는 서로 통신이 원활히 이루어져야 하므로 게임 프로토콜 헤더파일(4)을 이용하여 각 게임서버(1)에 대응하는 NPC 서버(2)를 각각 구비하였다. 이때, 각 게임서버(1)에 접속하는 클라이언트(3)도 게임 프로토콜 헤더파일(4)이 일치되어야 통신할 수 있으므로 동일한 게임 프로토콜 헤더파일(4)로 구현되어야 한다. However, as shown in FIG. 1, since the existing game server 1 and the
따라서, 다양한 게임을 구현할 때도 이에 대응하는 NPC 서버를 구비하여야 하므로 NPC 서버를 구현할 때마다 인력, 비용, 및 시간이 많이 소요된다. Therefore, when implementing various games, it is necessary to have an NPC server corresponding to this, so each manpower, cost, and time are required to implement the NPC server.
또한, 사용자들의 요구 속에서도 기술적인 측면에서 혹은 기존 인프라의 한계에 의해서 게임 속 NPC들의 행동 패턴은 거의 정해진 패턴을 제한적으로 보여주고 있다. In addition, despite the needs of users, the behavioral patterns of NPCs in games show a limited pattern in terms of technology or limitations of the existing infrastructure.
이러한 단순한 NPC들의 행동 패턴은 요즘의 고급화된 사용자들에게 있어서 게임의 몰입을 위한 동기 부여에 장애 요소가 되고 있다. 게임 상에 접속하는 사용자들을 붙잡아 두려면 사용자들과 동등한 위치에 있는 게임상의 다른 사용자들만으로는 부족하다. The behavioral patterns of these simple NPCs are a barrier to motivation for immersion in games for today's advanced users. To keep users connected to the game, it is not enough for other users in the game to be in the same position as the users.
즉, 사용자들이 항상 게임 상에 접속하여 있을 수 없으므로 온라인상의 가상 세계 안에 존재하면서 사용자들과 상호 작용을 하는 NPC들이 있어야 하며 좀 더 똑똑하거나 똑똑하게 보이는 AI를 가진 NPC들이 있어야 사용자들에게 지속적인 즐거움을 제공할 수가 있다. In other words, because users cannot always be connected to the game, there must be NPCs that exist in the virtual world online and interact with them, and there must be NPCs with AIs that look smarter or smarter. I can provide it.
따라서, 다양한 행동패턴을 갖는 NPC의 제공이 요구된다.
Therefore, it is required to provide an NPC having various behavior patterns.
본 발명은 특정게임에 종속되지 않고, 다양한 게임서버의 네트워크 프로토콜 및 데이터 정보를 획득하되, 하나의 NPC 서버로 각 게임서버에 해당하는 NPC를 제공하는 패킷기반 게임 NPC 서버, 인공지능 NPC 제공방법 및 이를 이용한 게임 시스템을 제공하기 위한 것이다. The present invention does not depend on a specific game, but obtains network protocol and data information of various game servers, and provides a packet-based game NPC server, an artificial intelligence NPC providing NPC corresponding to each game server as one NPC server and It is to provide a game system using the same.
또한, 타게임에서의 다양한 사용자와의 반복되는 대응을 통해 다양한 행동패턴을 갖는 NPC를 제공하는 패킷기반 게임 NPC 서버, 인공지능 NPC 제공방법 및 이를 이용한 게임 시스템을 제공하기 위한 것이다.In addition, to provide a packet-based game NPC server, an artificial intelligence NPC providing method and a game system using the same to provide an NPC having a variety of behavior patterns through repeated correspondence with various users in other games.
본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않는다.
The technical problems to be achieved by the present invention are not limited to the technical problems mentioned above.
상기 과제를 달성하기 위한 본 발명의 패킷기반 게임 NPC 서버는 복수개의 게임서버에 NPC를 제공하는 하나의 NPC서버에 있어서, 복수개이 게임서버로부터 게임 패킷데이터를 수신하고, 게임서버로 NPC(Non Player Character)의 행동 및 데이터를 전달하는 네트워크 통신 처리부; 상기 네트워크 통신 처리부에서 수신한 게임 패킷데이터와 기정의된 명령을 통해 메타데이터 형식의 프로토콜 헤더와 파라미터 정보로 해석하는 패킷 메타데이터 처리부; 상기 패킷 메타 데이터 처리부로부터 수신받은 파라미터 정보를 메타데이터형태의 구조체 정보로 변환하는 데이터 메타데이터 처리부; 상기 데이터 메타 데이터 처리부에서 전달받은 변환된 파라미터 데이터를 저장하는 내부 자료구조 처리부; 상기 게임서버별 특화된 게임정보를 메타데이터 형태로 저장하는 게임정보 메타데이터 처리부; 상기 패킷 메타데이터 처리부로부터 수신받은 프로토콜 헤더에 따른 데이터를 상기 내부 자료구조 처리부로부터 수신하고, 게임정보를 게임정보 메타데이터 처리부로부터 수신하여 NPC의 행동 및 데이터를 패킷 메타데이터 처리부에 전달하는 인공지능 알고리즘 처리부; 및 상기 인공지능 알고리즘 처리부에서 처리된 NPC의 행동 및 데이터를 축적하여 저장하는 지식DB;를 포함할 수 있다.Packet-based game NPC server of the present invention for achieving the above object is a single NPC server for providing NPC to a plurality of game servers, a plurality of game packet data received from the game server, NPC (Non Player Character to the game server) Network communication processing unit for transmitting the behavior and data of); A packet metadata processing unit for interpreting the game packet data received by the network communication processing unit into a protocol header and parameter information in a metadata format through a predefined command; A data metadata processing unit for converting parameter information received from the packet metadata processing unit into structure information in the form of metadata; An internal data structure processing unit which stores the converted parameter data received from the data metadata processing unit; A game information metadata processing unit configured to store game information specialized for each game server in the form of metadata; AI algorithm that receives data according to the protocol header received from the packet metadata processing unit from the internal data structure processing unit, receives game information from the game information metadata processing unit, and delivers NPC behavior and data to the packet metadata processing unit. Processing unit; And a knowledge DB for accumulating and storing the behavior and data of the NPC processed by the artificial intelligence algorithm processing unit.
삭제delete
또한, 상기 게임정보 메타데이터 처리부의 게임정보는 게임맵, 마을위치, 몬스터 위치, 및 아이템 정보 중 어느 하나 이상을 포함할 수 있다.The game information of the game information metadata processor may include at least one of a game map, a village location, a monster location, and item information.
또한, 상기 게임 패킷데이터는 통신 프로토콜, 아이디, 명령, 및 파라미터정보 중 어느 하나 이상을 포함할 수 있다.In addition, the game packet data may include any one or more of a communication protocol, an ID, a command, and parameter information.
상기 과제를 달성하기 위한 다른 본 발명의 인공지능 NPC 제공방법은, 복수개의 게임서버에 NPC를 제공하는 하나의 NPC서버를 제공하는 방법에 있어서, 게임서버별 특화된 게임정보가 게임 정보 메타 처리부에 저장되는 단계; 네트워크 통신 처리부를 통해 게임서버로부터 게임 패킷데이터를 수신받는 단계; 패킷 메타데이터 처리부는 상기 게임 패킷데이터를 해석하여 메타데이터로 변환하는 단계; 상기 패킷 메타데이터 처리부는 상기 메타데이터의 파라미터 정보 및 프로토콜 헤더를 인공지능 알고리즘 처리부에 전달하여 저장하는 단계; 상기 인공지능 알고리즘 처리부는 상기 파라미터 정보 및 게임정보를 수신하여 메타데이터의 명령(프로토콜 헤더)에 따른 NPC의 행동 및 데이터를 생성하는 단계; 및 상기 패킷 메타데이터 처리부는 상기에서 생성된 NPC의 행동 및 데이터를 게임서버로 전달하는 단계;를 포함할 수 있다.Another method for providing an artificial intelligence NPC according to the present invention for achieving the above object is a method for providing one NPC server for providing an NPC to a plurality of game servers, wherein game information specific to each game server is stored in a game information meta processing unit. Becoming; Receiving game packet data from a game server through a network communication processor; A packet metadata processing unit converting the game packet data into metadata; Transmitting, by the packet metadata processing unit, parameter information of the metadata and a protocol header to an artificial intelligence algorithm processing unit; Receiving, by the artificial intelligence algorithm processing unit, the parameter information and the game information to generate behavior and data of the NPC according to a command (protocol header) of metadata; And transmitting, by the packet metadata processor, the behavior and data of the generated NPC to a game server.
구체적으로, 상기 NPC의 행동 및 데이터는 저장하여 데이터베이스화하는 단계;를 더 포함할 수 있다.Specifically, the behavior and data of the NPC may be stored and databased.
또한, 상기 게임 패킷데이터에 포함된 게임서버의 정보를 통해 게임 서버의 종류를 파악할 수 있다. In addition, the type of the game server can be determined through the information of the game server included in the game packet data.
상기 과제를 달성하기 위한 다른 본 발명의 게임 시스템은, 복수개의 게임서버에 NPC를 제공하는 하나의 NPC서버를 포함하는 게임 시스템에 있어서, 각각 다른 게임을 제공하는 적어도 두 개 이상의 게임서버; 및 상기 각 게임서버의 프로로콜 헤더를 메타데이터로 변환하여 미리 저장하고, 특정 게임서버로부터 전달받은 게임 패킷데이터를 분석하여 기저장된 메타데이터로 사용자 캐릭터의 행동 및 파라미터 정보를 파악하고, 각 사용자 캐릭터의 행동에 대응되는 지능적 행동을 취하는 NPC를 해당 게임서버에 제공하는 NPC 서버;를 포함할 수 있다. Another game system of the present invention for achieving the above object is a game system comprising one NPC server for providing an NPC to a plurality of game servers, at least two or more game servers each providing a different game; And converts the protocol header of each game server into metadata and stores the metadata in advance, analyzes game packet data received from a specific game server, and grasps user character behavior and parameter information from the stored metadata. And an NPC server that provides an NPC that takes an intelligent action corresponding to the character's behavior to a corresponding game server.
구체적으로, 상기 NPC 서버는 지능DB를 포함하며, 상기 게임서버에 제공하는 NPC의 행동패턴을 저장하여 데이터베이스화할 수 있다.
Specifically, the NPC server includes an intelligent DB, and may store and database the behavior pattern of the NPC provided to the game server.
이상에서 설명한 바와 같이 본 발명은 하나의 NPC서버를 이용하여 복수개의 게임서버의 NPC를 제공함으로써, 다수개의 NPC 서버를 개발하는데 소요되는 비용 및 시간을 절감하는 효과가 있다. As described above, the present invention provides an NPC of a plurality of game servers using one NPC server, thereby reducing the cost and time required to develop a plurality of NPC servers.
또한, 본 발명은 다양한 게임에 대응되는 NPC의 행동 패턴을 공유함으로써 다양한 행동패턴을 갖는 NPC를 제공하는 효과가 있다.
In addition, the present invention has the effect of providing an NPC having a variety of behavior patterns by sharing the behavior patterns of the NPC corresponding to the various games.
도 1은 종래의 NPC서버와 게임섭의 결합모습을 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 패킷기반 게임 NPC 서버를 나타낸 블록도이다.
도 3은 FSM의 예시를 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 패킷기반 게임 NPC 서버를 이용한 게임 시스템을 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 인공지능 NPC 제공방법을 나타낸 흐름도이다. 1 is a view showing a combination of a conventional NPC server and game sup.
2 is a block diagram illustrating a packet-based game NPC server according to an embodiment of the present invention.
3 is a diagram illustrating an example of an FSM.
4 is a diagram illustrating a game system using a packet-based game NPC server according to an embodiment of the present invention.
5 is a flowchart illustrating a method of providing an artificial intelligence NPC according to an embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다. 도면들 중 동일한 구성요소들은 가능한 어느 곳에서든지 동일한 부호로 표시한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention. Like elements in the figures are denoted by the same reference numerals wherever possible. In addition, detailed descriptions of well-known functions and configurations that may unnecessarily obscure the subject matter of the present invention will be omitted.
도 2는 본 발명의 실시예에 따른 패킷기반 NPC(Non Player Character) 서버를 나타낸 도면으로서, NPC 서버(100)는 네트워크 통신처리부(110), 패킷 메타데이터 처리부(120), 데이터 메타데이터 처리부(130), 내부 자료구조 처리부(140), 게임정보 메타데이터 처리부(150), 인공지능 알고리즘 처리부(160), 및 지식DB(170)를 포함한다.2 is a diagram illustrating a packet-based non-player character (NPC) server according to an embodiment of the present invention, the
네트워크 통신 처리부(110)는 게임서버(10)와 통신하여 게임서버(10)의 게임 패킷데이터를 수신한다. 이때, 게임 패킷데이터는 바이너리 형태의 Raw 데이터로 수신되며, 통신 프로토콜, 아이디, 명령(프로토콜 헤더), 및 파라미터 정보 중 어느 하나 이상을 포함할 수 있으며, 게임서버(10)에 따라 게임 패킷데이터의 길이가 상이할 수 있다. The network
통신 프로토콜을 통해 접속되는 게임서버를 알 수 있음이 바람직하다.It is desirable to know a game server connected through a communication protocol.
패킷 메타데이터 처리부(120)는 네트워크 통신처리부(110)에서 수신한 게임 패킷데이터와 기정의된 명령을 통해 메타 데이터 형식의 프로토콜 헤더와 파라미터 정보를 해석한다. 이때, 기정의된 명령은 각 게임서버(10)의 게임 패킷 헤더 파일을 메타데이터(XML)로 변환하여 저장된다.The packet
예를 들어 [표 1]과 같이 게임서버(1)에서 설계된 (a)게임 패킷 헤더 파일이 패킷 메타데이터 처리부(120)에서 수신하면 (b)패킷 메타데이터와 같은 형태로 저장된다. For example, when the (a) game packet header file designed by the game server 1 is received by the packet
{{
int protocol; int protocol;
int id; int id;
float pos_x float pos_x
float pos_y float pos_y
float pos_z float pos_z
};};
<parameter name="ID" type="INT"/> <parameter name = "ID" type = "INT" />
< <
parameterparameter
namename
="= "
POSPOS
_X" _X "
typetype
="= "
FLOATFLOAT
"/>"/>
<parameter name="POS_Y" type="FLOAT"/> <parameter name = "POS_Y" type = "FLOAT" />
<parameter name="POS_Z" type="FLOAT"/> <parameter name = "POS_Z" type = "FLOAT" />
</packet></ packet>
상기와 같이 저장된 (b)패킷 메타데이터를 통해 패킷 메타데이터 처리부(120)는 수신되는 게임 패킷데이터를 통해 패킷의 이름을 확인 할 수 있다. As described above, the
여기서, 게임 패킷데이터는 바이너리 형태로 게임 패킷 헤더의 정보를 포함하는 것이 바람직하다. Here, the game packet data preferably includes the information of the game packet header in binary form.
예컨대, 패킷 메타데이터 처리부(120)는 수신되는 게임 패킷데이터의 헤더에 "04 00"이 수신되면 게임서버(10)의 프로토콜 헤더인 PK_MOVE라는 패킷의 이름을 알 수 있으며, 파라미터 정보인 Float 타입의 POS_X, POS_Y, POS_Z로 해석한다. For example, when "04 00" is received in the header of the received game packet data, the packet
데이터 메타데이터 처리부(130)는 패킷 메타 데이터 처리부(120)로부터 수신받은 파라미터 정보를 메타데이터 형태의 구조체 정보로 변환한다.The
내부 자료구조 처리부(140)는 데이터 메타 데이터 처리부(130)에서 전달받은 변환된 파라미터 데이터를 저장한다. 이때, 내부 자료구조 처리부(140)는 array, list, 및 map 등과 같은 자료구조를 생성하여 관리할 수 있다. The internal
게임정보 메타데이터 처리부(150)은 게임서버별 특화된 게임정보를 메타데이터 형태로 저장한다. 이때, 게임정보는 게임맵, 마을위치, 몬스터 위치, 및 아이템 정보 중 어느 하나 이상을 포함하는 것이 바람직하나, 게임을 제공하기위한 필요한 정보는 모두 포함될 수 있음으로, 게임정보의 카테고리를 한정하지 아니한다. The game
인공지능 알고리즘 처리부(160)는 패킷 메타데이터 처리부로(120)부터 수신받은 프로토콜 헤더에 따른 데이터를 상기 내부 자료구조 처리부(140)로부터 수신하고, 게임정보를 게임정보 메타데이터 처리부(150)로부터 수신하여 NPC의 행동 및 데이터를 패킷 메타데이터 처리부(120)에 전달한다. 이때, 본 발명의 실시예에 따른 인공지능 알고리즘 처리부(160)의 게임로직은 FSM(Finite State Machine) 형태로 구성하나 FSM 알고리즘으로 한정하지는 아니한다. The AI
여기서, FSM은 상태들 간의 전이에 의해 통제되는 그래프 내에 유한 개의 상태들이 연결되어 있는 규칙 기반 시스템이다. Here, the FSM is a rule-based system in which finite states are connected in a graph controlled by transitions between states.
예컨대, 도 3과 같이 캐릭터의 상태를 여러 가지로 나누고, 환경의 변환에 따라 상태가 변화하게 된다. 더욱 상세하게는, 이동중 적을 발견하게 되면, 적을 추적하게되고, 추적하여 적에게 접근을 하게 되면 공격을 하게 된다. 공격 후 전투가 종료 되면 다른 적을 찾아 이동하게 된다. For example, as shown in FIG. 3, the state of the character is divided into various states, and the state changes as the environment changes. More specifically, if you find an enemy on the move, you will track the enemy, and if you track and approach the enemy, you will attack. When the battle is over after the attack, you will find another enemy and move on.
이러한 식으로 전달받은 게임 정보에 따라서 NPC의 역할은 다양해지고 더 지능적으로 동작한다. Depending on the game information received in this way, the role of the NPC is diversified and works more intelligently.
지식DB(170)는 인공지능 알고리즘 처리부(160)에서 처리된 입력값 및 출력값을 축적하여 저장한다. 이때, 지식DB(170)는 게임서버(10)에서 입력된 게임 패킷데이터의 파라미터 정보 및 명령(프로토콜 헤더)에 따른 출력 행동 및 데이터를 저장하여 반복된 액션의 경우 인공지능 알고리즘 처리부(160)에 제공하여 NPC에 다양한 행동패턴을 제공할 수 있다.The
상기와 같이 구성된 패킷기반 인공지능 게임 NPC 서버는 도 4와 같이 각각 다른 게임을 제공하는 적어도 두 개 이상의 게임서버(11, 12)와 기 각 게임서버의 프로토콜 헤더를 메타데이터로 변환하여 미리 저장하고, 특정 게임서버로부터 전달받은 게임 패킷데이터를 분석하여 기저장된 메타데이터로 사용자 캐릭터의 행동 및 파라미터 정보를 파악하고, 각 사용자 캐릭터의 행동에 대응되는 지능적 행동을 취하는 NPC를 해당 게임서버에 제공하는 NPC 서버(100)를 포함하여 게임 시스템을 형성한다. The packet-based AI game NPC server configured as described above converts protocol headers of at least two or
각 게임서버(11, 12)는 NPC 서버(100)에 사용자가 지시하는 사용자 캐릭터의 움직임에 대한 정보를 전달하고, NPC 서버(100)는 각 사용자 캐릭터의 움직임에 대하여 지능적으로 대처하는 NPC를 제공한다. Each
이로써, 각 게임서버(11, 12)에 대응하는 새로운 NPC의 행동 패턴을 DB화할 수 있다. As a result, the behavior pattern of the new NPC corresponding to each
따라서, 각 게임서버(11, 12)에 대응하는 NPC 서버를 개발하는데 소요되는 비용 및 시간을 절감하는 효과가 있으며, 각 게임서버 사용자 캐릭터의 움직임에 대응하는 NPC의 행동 패턴이 다양화된다.Therefore, there is an effect of reducing the cost and time required to develop the NPC server corresponding to each game server (11, 12), the behavior pattern of the NPC corresponding to the movement of each game server user character is diversified.
도 5는 본 발명의 실시예에 따른 인공지능 NPC 제공방법을 나타낸 흐름도로써, 먼저, 게임서버별 특화된 게임정보를 게임정보 메타데이터 처리부(150)에 저장한다(S11). 이때, 게임서버별 특화된 게임정보는 각 게임서버의 특징을 잘 살릴수 있는 게임맵, 마을의 위치, 몬스터위치, 및 아이템 정보들을 포함하고 있으나 이를 한정하지는 아니한다. 5 is a flowchart illustrating a method for providing an artificial intelligence NPC according to an embodiment of the present invention. First, game information for each game server is stored in the game information metadata processing unit 150 (S11). At this time, the specialized game information for each game server includes, but is not limited to, a game map, a town location, a monster location, and item information that can make good use of the characteristics of each game server.
이어서, 네트워크 통신 처리부(110)를 통해 게임서버(10)로부터 게임 패킷데이터를 수신받는다(S12). Subsequently, the game packet data is received from the
이어서, 패킷 메타데이터 처리부(120)는 게임 패킷데이터를 해석하여 메타데이터로 변환한다(S13). 이때, 게임 패킷데이터는 프로토콜 헤더(명령) 및 파라미터 정보(파라미터의 종류 및 파라미터의 데이터)를 포함하고 있다. Subsequently, the packet
또한, 패킷 메타데이터 처리부(120)은 각 게임서버의 프로토콜 헤더파일에 따른 메타데이터가 미리 저장되어 있어야 패킷 메타데이터 처리부(120)이 해석한 게임 패킷데이터가 어떤 게임서버의 어떤 프로토콜 헤더와 파라미터 정보인지를 파악할 수 있다. In addition, the packet
이어서, 패킷 메타데이터 처리부(120)는 변환된 프로토콜 헤더를 인공지능 알고리즘 처리부(160)에 전달하여 저장하고, 데이터 메타데이터 처리부(130)는 메타데이터의 파라미터 정보를 내부 자료구조 처리부(140)에 저장한다(S14).Subsequently, the packet
이어서, 인공지능 알고리즘 처리부(160)은 내부 자료구조 처리부(140)에 저장된 파라미터 정보 및 게임정보 메타데이터 처리부(150)에 저장된 게임정보를 수신하여, 패킷 메타데이터 처리부(12)로부터 수신한 메타데이터의 명령(프로토콜 헤더)에 따라 NPC의 행동 및 데이터를 생성한다(S15). 즉, 게임서버(10)의 사용자 캐릭터의 행동에 따라 변화되는 파라미터 정보를 이용하여 상황에 맞게 NPC를 생성하고 행동할 수 있도록 데이터를 부여한다. Subsequently, the AI
예컨대, 사용자 캐릭터가 NPC에 인접하여 다가올 때, 사용자 캐릭터의 이동 명령과 이동되는 좌표 파라미터를 수신하게 되고, NPC는 사용자 캐릭터의 이동 명령과 이동되는 좌표 파라미터에 대응되는 행동과 이동좌표와 같은 데이터를 생성하게 된다. For example, when the user character approaches the NPC, the user's character receives a movement command and a coordinate parameter to be moved, and the NPC receives data such as behavior and movement coordinates corresponding to the movement command and the coordinate parameter to be moved. Will be created.
또한, 사용자 캐릭터가 NPC를 공격할 때, 사용자 캐릭터의 공격 명령과 사용되는 무기종류와 같은 파라미터를 수신하게 되고, NPC는 사용자 캐릭터의 공격 명령과 무기종류에 대응되는 데이터(공격)를 생성하게 된다.In addition, when the user character attacks the NPC, the user receives parameters such as the attack command of the user character and the weapon type used, and the NPC generates data (attack) corresponding to the attack command and the weapon type of the user character. .
이와 같이, 인공지능 알고리즘 처리부(160)에서 생성된 NPC의 행동 및 데이터는 지식DB(170)에 데이터베이스화하여 관리하며, 축적된 NPC의 행동 및 데이터 패턴을 통해 인공지능 알고리즘 처리부(160)에서 동일한 패턴의 경우 축적된 데이터를 반영 가공하여 다양한 행동패턴으로 제공할 수 있음이 바람직하다.As such, the behavior and data of the NPC generated by the artificial intelligence
인공지능 알고리즘 처리부(160)의 로직은 거대한 if-else 또는 switch-case 문장으로 구현할 수 있는데, 다양한 사용자의 대응 패턴을 통해 더 다양한 케이스의 행동패턴을 제공할 수 있다. 즉, 동일한 입력에 대하여 동일한 출력으로 대응하는 것이 아니라, 그 동안 축적된 데이터로부터 같은 입력이지만 다른 출력으로 유도하여 보다 현실적인(사용자가 예측하지 않은 행동을 하는) 행동 패턴을 생성할 수 있다.The logic of the AI
마지막으로, 인공지능 알고리즘 처리부(160)에서 생성된 NPC의 행동 및 데이터를 패킷 메타데이터 처리부(120)에 전달하고, 패킷 메타데이터 처리부(120)는 전달받은 NPC의 행동 및 데이터를 게임서버가 이해할수 있는 패킷 형태로 변환하여 네트워크 통신 처리부(110)를 통해 게임서버로 전달한다(S16).Finally, the NPC behavior and data generated by the AI
따라서, 다양한 게임에 대응되는 NPC의 행동 패턴을 공유함으로써 다양한 행동패턴을 갖는 NPC를 제공하는 효과가 있다Therefore, there is an effect of providing an NPC having various behavior patterns by sharing the behavior patterns of the NPC corresponding to various games.
상기와 같은 패킷기반 인공지능 게임 NPC 서버 및 인공지능 NPC 제공방법은 위에서 설명된 실시예들의 구성과 작동 방식에 한정되는 것이 아니다. 상기 실시예들은 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 다양한 변형이 이루어질 수 있도록 구성될 수도 있다.
The packet-based AI game NPC server and the AI NPC providing method are not limited to the configuration and operation of the embodiments described above. The above embodiments may be configured such that various modifications may be made by selectively combining all or part of the embodiments.
10 : 게임서버 110 : 네트워크 통신 처리부
120 : 패킷 메타데이터 처리부 130 : 데이터 메타데이터 처리부
140 : 자료구조 처리부 150 : 게임정보 메타데이터 처리부
160 : 인공지능 알고리즘 처리부 170 : 지식DB10: game server 110: network communication processing unit
120: packet metadata processing unit 130: data metadata processing unit
140: data structure processing unit 150: game information metadata processing unit
160: artificial intelligence algorithm processing unit 170: knowledge DB
Claims (9)
복수개의 게임서버로부터 게임 패킷데이터를 수신하고, 각 게임서버로 NPC(Non Player Character)의 행동 및 데이터를 전달하는 네트워크 통신 처리부;
상기 네트워크 통신 처리부에서 수신한 게임 패킷데이터와 기정의된 명령을 통해 메타데이터 형식의 프로토콜 헤더와 파라미터 정보로 해석하는 패킷 메타데이터 처리부;
상기 패킷 메타 데이터 처리부로부터 수신받은 파라미터 정보를 메타데이터형태의 구조체 정보로 변환하는 데이터 메타데이터 처리부;
상기 데이터 메타 데이터 처리부에서 전달받은 변환된 파라미터 데이터를 저장하는 내부 자료구조 처리부;
상기 게임서버별 특화된 게임정보를 메타데이터 형태로 저장하는 게임정보 메타데이터 처리부;
상기 패킷 메타데이터 처리부로부터 수신받은 프로토콜 헤더에 따른 데이터를 상기 내부 자료구조 처리부로부터 수신하고, 게임정보를 게임정보 메타데이터 처리부로부터 수신하여 NPC의 행동 및 데이터를 패킷 메타데이터 처리부에 전달하는 인공지능 알고리즘 처리부; 및
상기 인공지능 알고리즘 처리부에서 처리된 NPC의 행동 및 데이터를 축적하여 저장하는 지식DB;를 포함하는 패킷기반 게임 NPC 서버.
In one NPC server that provides a non-player character (NPC) to a plurality of game servers,
A network communication processor configured to receive game packet data from a plurality of game servers, and to transfer behavior and data of a non player character (NPC) to each game server;
A packet metadata processing unit for interpreting the game packet data received by the network communication processing unit into a protocol header and parameter information in a metadata format through a predefined command;
A data metadata processing unit for converting parameter information received from the packet metadata processing unit into structure information in the form of metadata;
An internal data structure processing unit which stores the converted parameter data received from the data metadata processing unit;
A game information metadata processing unit configured to store game information specialized for each game server in the form of metadata;
AI algorithm that receives data according to the protocol header received from the packet metadata processing unit from the internal data structure processing unit, receives game information from the game information metadata processing unit, and delivers NPC behavior and data to the packet metadata processing unit. Processing unit; And
Packet based game NPC server comprising a; knowledge DB for accumulating and storing the behavior and data of the NPC processed by the artificial intelligence algorithm processing unit.
상기 게임정보 메타데이터 처리부의 게임정보는 게임맵, 마을위치, 몬스터 위치, 및 아이템 정보 중 어느 하나 이상을 포함하는 패킷기반 게임 NPC 서버.
The method according to claim 1,
The game information of the game information metadata processing unit is a packet-based game NPC server including any one or more of the game map, village location, monster location, and item information.
상기 게임 패킷데이터는 통신 프로토콜, 아이디, 명령, 및 파라미터정보 중 어느 하나 이상을 포함하는 패킷기반 게임 NPC 서버.
The method according to claim 1,
The game packet data packet based game NPC server including any one or more of a communication protocol, ID, command, and parameter information.
게임서버별 특화된 게임정보가 게임 정보 메타 처리부에 저장되는 단계;
네트워크 통신 처리부를 통해 게임서버로부터 게임 패킷데이터를 수신받는 단계;
패킷 메타데이터 처리부는 상기 게임 패킷데이터를 해석하여 메타데이터로 변환하는 단계;
상기 패킷 메타데이터 처리부는 상기 메타데이터의 파라미터 정보 및 프로토콜 헤더를 인공지능 알고리즘 처리부에 전달하여 저장하는 단계;
상기 인공지능 알고리즘 처리부는 상기 파라미터 정보 및 게임정보를 수신하여 메타데이터의 명령(프로토콜 헤더)에 따른 NPC의 행동 및 데이터를 생성하는 단계; 및
상기 패킷 메타데이터 처리부는 상기에서 생성된 NPC의 행동 및 데이터를 게임서버로 전달하는 단계;를 포함하는 인공지능 NPC 제공방법.
In the method for providing one NPC server providing a non-player character (NPC) to a plurality of game servers,
Storing game-specific game information for each game server in a game information meta processor;
Receiving game packet data from a game server through a network communication processor;
A packet metadata processing unit converting the game packet data into metadata;
Transmitting, by the packet metadata processing unit, parameter information of the metadata and a protocol header to an artificial intelligence algorithm processing unit;
Receiving, by the artificial intelligence algorithm processing unit, the parameter information and the game information to generate behavior and data of the NPC according to a command (protocol header) of metadata; And
The packet metadata processing unit for transmitting the behavior and data of the generated NPC to the game server; artificial intelligence NPC providing method comprising a.
상기 NPC의 행동 및 데이터는 저장하여 데이터베이스화하는 단계;를 더 포함하는 인공지능 NPC 제공방법.
The method according to claim 5,
And storing the database and storing the behavior and data of the NPC.
상기 게임 패킷데이터에 포함된 게임서버의 정보를 통해 게임 서버의 종류가 파악되는 인공지능 NPC 제공방법.
The method according to claim 5,
An artificial intelligence NPC providing method of identifying the type of game server through the information of the game server included in the game packet data.
각각 다른 게임을 제공하는 적어도 두 개 이상의 게임서버; 및
상기 각 게임서버의 프로로콜 헤더를 메타데이터로 변환하여 미리 저장하고, 특정 게임서버로부터 전달받은 게임 패킷데이터를 분석하여 기저장된 메타데이터로 사용자 캐릭터의 행동 및 파라미터 정보를 파악하고, 각 사용자 캐릭터의 행동에 대응되는 지능적 행동을 취하는 NPC를 해당 게임서버에 제공하는 NPC 서버;를 포함하는 게임 시스템.
In a game system comprising one NPC server providing a non-player character (NPC) to a plurality of game servers,
At least two game servers each providing a different game; And
The protocol header of each game server is converted into metadata and stored in advance, and the game packet data received from a specific game server is analyzed to grasp the behavior and parameter information of the user character from the stored metadata, and each user character. And an NPC server that provides an NPC that takes an intelligent action corresponding to the action of the game server.
상기 NPC 서버는 지능DB를 포함하며, 상기 게임서버에 제공하는 NPC의 행동패턴을 저장하여 데이터베이스화하는 게임 시스템.The method according to claim 8,
The NPC server includes an intelligent DB, the game system for storing and database the behavior pattern of the NPC provided to the game server.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110088060A KR101148114B1 (en) | 2011-08-31 | 2011-08-31 | Packet based game npc server, method for providing npc, and game system thereof |
PCT/KR2011/006896 WO2013032055A1 (en) | 2011-08-31 | 2011-09-16 | Packet-based game npc server, method for providing artificial intelligence npc, and game system using same |
US13/253,588 US20130053151A1 (en) | 2011-08-31 | 2011-10-05 | Packet based game non-player character server, method for providing non-player character, and game system using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110088060A KR101148114B1 (en) | 2011-08-31 | 2011-08-31 | Packet based game npc server, method for providing npc, and game system thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101148114B1 true KR101148114B1 (en) | 2012-05-22 |
Family
ID=46272442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110088060A KR101148114B1 (en) | 2011-08-31 | 2011-08-31 | Packet based game npc server, method for providing npc, and game system thereof |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130053151A1 (en) |
KR (1) | KR101148114B1 (en) |
WO (1) | WO2013032055A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015186886A1 (en) * | 2014-06-03 | 2015-12-10 | 에스케이플래닛 주식회사 | Multiplayer game system, and apparatus and method for providing multiplayer game of same |
KR20160080351A (en) * | 2014-12-29 | 2016-07-08 | 동서대학교산학협력단 | NPC decision making modelling method in dynamic terrain analysis by prospect theory |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9821230B2 (en) | 2011-11-08 | 2017-11-21 | Zynga Inc. | Data-driven state machine for user interactive displays |
US9463386B1 (en) * | 2011-11-08 | 2016-10-11 | Zynga Inc. | State machine scripting in computer-implemented games |
CN104133667B (en) | 2013-11-29 | 2017-08-01 | 腾讯科技(成都)有限公司 | Realize method, device and the artificial intelligence editing machine of artificial intelligence behavior |
US10848430B2 (en) | 2016-12-30 | 2020-11-24 | Intel Corporation | Flexible packet processing |
CN112774200B (en) * | 2021-01-22 | 2023-05-09 | 北京字跳网络技术有限公司 | Character interaction control method, character interaction control device, computer equipment and storage medium |
CN117018616A (en) * | 2023-08-25 | 2023-11-10 | 广州市玄武无线科技股份有限公司 | Role and environment interaction control method based on GPT |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100102903A (en) * | 2009-03-12 | 2010-09-27 | 한국전자통신연구원 | Online game quality assurance system and method |
KR20100119233A (en) * | 2009-04-30 | 2010-11-09 | 한국전자통신연구원 | Method and apparatus for controlling difficulty levels of game |
KR20110061418A (en) * | 2009-12-01 | 2011-06-09 | 한국전자통신연구원 | Game grammar based packet capture analyzing apparatus for game testing and its method |
KR20110064566A (en) * | 2009-12-08 | 2011-06-15 | 한국전자통신연구원 | Apparatus, system and method for analyzing packet |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110070706A (en) * | 2009-12-18 | 2011-06-24 | 한국전자통신연구원 | Device for providing virtual client managing module, apparatus for managing virtual client, and method for testing a game by using virtual client managing module |
-
2011
- 2011-08-31 KR KR1020110088060A patent/KR101148114B1/en active IP Right Grant
- 2011-09-16 WO PCT/KR2011/006896 patent/WO2013032055A1/en active Application Filing
- 2011-10-05 US US13/253,588 patent/US20130053151A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100102903A (en) * | 2009-03-12 | 2010-09-27 | 한국전자통신연구원 | Online game quality assurance system and method |
KR20100119233A (en) * | 2009-04-30 | 2010-11-09 | 한국전자통신연구원 | Method and apparatus for controlling difficulty levels of game |
KR20110061418A (en) * | 2009-12-01 | 2011-06-09 | 한국전자통신연구원 | Game grammar based packet capture analyzing apparatus for game testing and its method |
KR20110064566A (en) * | 2009-12-08 | 2011-06-15 | 한국전자통신연구원 | Apparatus, system and method for analyzing packet |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015186886A1 (en) * | 2014-06-03 | 2015-12-10 | 에스케이플래닛 주식회사 | Multiplayer game system, and apparatus and method for providing multiplayer game of same |
KR20160080351A (en) * | 2014-12-29 | 2016-07-08 | 동서대학교산학협력단 | NPC decision making modelling method in dynamic terrain analysis by prospect theory |
KR101692539B1 (en) * | 2014-12-29 | 2017-01-17 | 동서대학교 산학협력단 | NPC decision making modelling method in dynamic terrain analysis by prospect theory |
Also Published As
Publication number | Publication date |
---|---|
WO2013032055A1 (en) | 2013-03-07 |
US20130053151A1 (en) | 2013-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101148114B1 (en) | Packet based game npc server, method for providing npc, and game system thereof | |
JP6405478B1 (en) | Distributed ledger device and distributed ledger method for adjustment of blockchain-based game difficulty | |
AU2007304834B2 (en) | Decentralised multi-user online environment | |
CN101674261B (en) | System and method for playing online game or webpage game through real-time communication software | |
CN105848743B (en) | Information processing unit, information processing system, program, recording medium | |
US9898700B2 (en) | Method, apparatus, and artificial intelligence server for determining artificial intelligence behavior | |
US10881966B2 (en) | Networked game system | |
US20140157246A1 (en) | Building cross-platform asynchronous games | |
CN104133825A (en) | Method and device for matching client user | |
CN103961874B (en) | Video-game processing unit and the computer readable storage medium for storing video-game processing routine | |
CN103166957A (en) | Data interaction method between virtual game and true environment game | |
JP5735088B1 (en) | GAME CONTROL METHOD, COMPUTER AND CONTROL PROGRAM | |
CN101772366A (en) | Game system, terminal device and computer program | |
CN110102047B (en) | Game operation processing method and device, and game effect display method and device | |
KR100483288B1 (en) | A method for providing an on-line game which systematically maintains a monster's aggro points against a player character and a system thereof | |
WO2023024762A1 (en) | Artificial intelligence object control method and apparatus, device, and storage medium | |
US20030199319A1 (en) | Method and system for enhanced role playing and computer-user interaction | |
KR100895199B1 (en) | System and method for setting a character's moving path in virtual space world | |
CN114047918A (en) | Task processing method, device, equipment, storage medium and product | |
KR20070071849A (en) | Server system using joint memory | |
KR20050078757A (en) | System and method for alternating game characters, game server(or game devices) and recording medium | |
KR20130109722A (en) | Character management method and server | |
WO2024021771A1 (en) | Information transmission method and apparatus, and storage medium, electronic device and program product | |
US20130244792A1 (en) | Game environment utilizing a lock free memory system | |
KR100406325B1 (en) | Method for transmitting data using viewport list in online game and computer readable recording medium materializing the method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
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: 20150305 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160510 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170601 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180510 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20190617 Year of fee payment: 8 |