U.S. patent application number 13/253588 was filed with the patent office on 2013-02-28 for packet based game non-player character server, method for providing non-player character, and game system using the same.
This patent application is currently assigned to KANG MIN SOHN. The applicant listed for this patent is BYEONG HEON CHO, WON TAEK HWANG, YONG UN OH, KANG MIN SOHN. Invention is credited to BYEONG HEON CHO, WON TAEK HWANG, YONG UN OH, KANG MIN SOHN.
Application Number | 20130053151 13/253588 |
Document ID | / |
Family ID | 46272442 |
Filed Date | 2013-02-28 |
United States Patent
Application |
20130053151 |
Kind Code |
A1 |
SOHN; KANG MIN ; et
al. |
February 28, 2013 |
PACKET BASED GAME NON-PLAYER CHARACTER SERVER, METHOD FOR PROVIDING
NON-PLAYER CHARACTER, AND GAME SYSTEM USING THE SAME
Abstract
The present invention relates to a packet based artificial
intelligence game NPC server, method for providing an artificial
intelligence NPC, and game system thereof which are applied to
various on-line games on the basis of packet information without
source code correction, using data obtained in each game server,
and provides: storing game information specialized for each game
server; receiving game packet data from the game server;
interpreting the game packet data to convert the interpreted game
packet data into metadata; storing a protocol header and parameter
information of the metadata; receiving the protocol header and
parameter information to generate data and action of an NPC
according to a command (protocol header) of the metadata; and
delivering the generated data and action of an NPC to the game
server.
Inventors: |
SOHN; KANG MIN; (Daejeon,
KR) ; HWANG; WON TAEK; (Seoul, KR) ; CHO;
BYEONG HEON; (Seoul, KR) ; OH; YONG UN;
(Seoul, KR) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
SOHN; KANG MIN
HWANG; WON TAEK
CHO; BYEONG HEON
OH; YONG UN |
Daejeon
Seoul
Seoul
Seoul |
|
KR
KR
KR
KR |
|
|
Assignee: |
SOHN; KANG MIN
Daejeon
KR
HWANG; WON TAEK
Seoul
KR
SOGWARE
Daejeon
KR
OH; YONG UN
Seoul
KR
CHO; BYEONG HEON
Seoul
KR
|
Family ID: |
46272442 |
Appl. No.: |
13/253588 |
Filed: |
October 5, 2011 |
Current U.S.
Class: |
463/42 |
Current CPC
Class: |
G07F 17/32 20130101 |
Class at
Publication: |
463/42 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Foreign Application Data
Date |
Code |
Application Number |
Aug 31, 2011 |
KR |
10-2011-0088060 |
Claims
1. A packet based game Non-Player Character (NPC) server
comprising: a network communication processing unit receiving game
packet data from a plurality of game servers and delivering action
and data of an NPC to the game servers; a packet metadata
processing unit interpreting the game packet data received from the
network communication processing unit into a metadata format of
protocol header and parameter information, according to a
predefined command; a data metadata processing unit converting the
parameter information received from the packet metadata processing
unit into a metadata format of structure information; an internal
data structure processing unit storing the converted parameter data
delivered from the data metadata processing unit; a game
information metadata processing unit storing game information which
is specialized for each of the game servers, in a metadata format;
and an artificial intelligence algorithm processing unit receiving
data, based on the protocol header which is received from the
packet metadata processing unit, from the internal data structure
processing unit and receiving the game information from the game
information metadata processing unit to deliver the data and action
of the NPC to the packet metadata processing unit.
2. The packet based game NPC server of claim 1, further comprising
a knowledge database (DB) accumulating and storing a plurality of
processed input and output values from the artificial intelligence
algorithm processing unit.
3. The packet based game NPC server of claim 1, wherein the game
information of the game information metadata processing unit
comprises one or more of a game map, a village location, a monster
position, and item information.
4. The packet based game NPC server of claim 1, wherein the game
packet data comprises one or more of a communication protocol,
identification (ID), a command, and parameter information.
5. A method for providing an artificial intelligence Non-Player
Character (NPC) comprises: storing game information specialized for
each game server; receiving game packet data from the game server;
interpreting the game packet data to convert the game packet data
into metadata; storing protocol header and parameter information of
the metadata; receiving the parameter information and game
information to generate data and action of an NPC according to a
command (protocol header) of the metadata; and delivering the
generated data and action of the NPC to the game server.
6. The method of claim 5, further comprising storing the data and
action of the NPC to build a database of the data and action.
7. The method of claim 5, further comprising determining a type of
the game server on the basis of information of the game server
which is comprised in the game packet data.
8. A game system comprising: at least two or more game servers
providing different games, respectively; and an NPC server
converting a protocol header of each of the game servers into
metadata and previously stores the metadata, analyzing game packet
data delivered from a specific game server to determine parameter
information and action of a user character with the previously
stored metadata, and providing an NPC, which takes an intelligent
action corresponding to the user character's action, to a
corresponding game server.
9. The game system of claim 8, wherein the NPC sever comprises a
knowledge DB, and builds a database of an action pattern of the NPC
which is provided to the game server.
Description
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority to Korean Patent
Application No. 10-2011-0088060 filed on Aug. 31, 2011 and all the
benefits accruing therefrom under 35 U.S.C. .sctn.119, the contents
of which are incorporated by reference in their entirety.
BACKGROUND
[0002] The present invention relates to a packet based game
Non-Player Character (NPC) server, method for providing an NPC, and
game system thereof, and more particularly, to a packet based game
NPC server, method for providing artificial intelligence NPC, and
game system thereof which are applied to various online games on
the basis of packet information without source code correction,
using data obtained in each game server.
[0003] Online gaming is an industry that advances quickly at home
and abroad, and in particular, Korea is recognized internationally
for having highly advanced online gaming server technology.
[0004] Currently, in addition to the rapid progress being made in
the Korean game industry, many advances have been made in terms of
value and technology. Among them, the expedient development and
growth of online games has resulted in the online game industry
establishing a solid foothold as one of the major entertainment
industries, where a quarter of the Korean population enjoys online
games.
[0005] In addition to such progress, games are rapidly becoming a
form of cultural content, and the requirements of game users are
becoming more diversified.
[0006] Currently, an NPC server is included in a game server group,
and is essential for games requiring users to play characters other
than themselves, such as a Massively Multiplayer Online Role
Playing Game (MMORPG).
[0007] Most large MMORPGs have a separated NPC server, and small
and medium Multiplayer Online (MO) games have a server including an
AI module.
[0008] However, as shown in FIG. 1, a related art game server 1
includes a PNC server 2 corresponding to the game server 1, and a
game protocol header file 4 is used, because the game server 1 and
NPC server 2 is required to smoothly communicate with each other.
Here, a client 3 should be implemented with the same game protocol
header file 4 because the client 3 accessing each game server 1 can
communicate only when the game protocol header files are the
same.
[0009] Accordingly, even when implementing various games, an NPC
server corresponding to each game should be provided. Thus, much
labor, cost, and time are needed whenever an NPC server is
implemented.
[0010] Moreover, the action pattern of NPCs in games restrictively
shows a nearly fixed pattern due to technical or existing
infrastructural limitations despite the requirements of the
users.
[0011] This simple action pattern of NPCs becomes a factor that
deters modern advanced users from having the motivation to become
immersed in a game. In order to keep users who have accessed a game
in the game, it is not enough to simply have other users who have
the same position as the users in the game.
[0012] That is, since users cannot always be connected to a game,
there should be NPCs existing in a virtual world in an online game
that interact with users. NPCs with AI which can make them smarter
or appear smarter can provide continuous enjoyment to users.
[0013] Accordingly, the provision of an NPC having various action
patterns is required.
SUMMARY
[0014] The present invention provides a packet based game NPC
server, a method for providing an artificial intelligence NPC, and
a game system using the same, which acquire data information and
network protocol of various game servers and provide a
corresponding NPC to each game server, not depending on a specific
game.
[0015] The present invention also provides a packet based game NPC
server, a method for providing an artificial intelligence NPC, and
a game system using the same, which provides an NPC having various
action patterns through repetitive responses to various users on
another game.
[0016] The technical objects of the invention are not limited to
the aforesaid.
[0017] According to an embodiment, a packet based game NPC server
includes: a network communication processing unit receiving game
packet data from a plurality of game servers and delivering action
and data of a Non Player Character (NPC) to each of the game
servers; a packet metadata processing unit interpreting the game
packet data received from the network communication processing unit
into a metadata format of protocol header and parameter
information, according to a predefined command; a data metadata
processing unit converting the parameter information received from
the packet metadata processing unit into a metadata format of
structure information; an internal data structure processing unit
storing the converted parameter data delivered from the data
metadata processing unit; a game information metadata processing
unit storing game information specialized for each of the game
servers; and an artificial intelligence algorithm processing unit
receiving data according to the protocol header which is received
from the packet metadata processing unit, and receiving the game
information from the game information metadata processing unit to
deliver data and action of the NPC to the packet metadata
processing unit.
[0018] The packet based game NPC server may further include a
knowledge DB which accumulates and stores a plurality of processed
input and output values from the artificial intelligence algorithm
processing unit.
[0019] The game information of the game information metadata
processing unit may include one or more of a game map, a village
location, a monster position, and item information.
[0020] The game packet data may include one or more of a
communication protocol, an ID, a command, and a parameter
information.
[0021] According to another embodiment, a method for providing an
artificial intelligence NPC includes: storing game information
specialized for each game server; receiving game packet data from
the game server; interpreting the game packet data to convert the
interpreted game packet data into metadata; storing protocol header
and parameter information of the metadata; receiving the protocol
header and parameter information to generate data and action of an
NPC according to a command (protocol header) of the metadata; and
delivering the generated data and action of an NPC to the game
server.
[0022] The method for providing an artificial intelligence NPC may
further include storing and databasing the data and action of an
NPC.
[0023] The method for providing an artificial intelligence NPC may
further include determining a type of the game server on the basis
of information of the game server which is comprised in the game
packet data.
[0024] According to yet another embodiment, a game system includes
at least two or more game servers providing different games,
respectively; and an NPC server converting a protocol header of
each of the game servers into metadata and previously stores the
metadata, analyzing game packet data delivered from a specific game
server to determine parameter information and action of a user
character with the previously stored metadata, and providing an
NPC, which takes an intelligent action corresponding to the user
character's action to the corresponding game server.
[0025] The NPC sever may include a knowledge DB, and store and
databases an action pattern of the NPC provided to the game
server.
BRIEF DESCRIPTION OF THE DRAWINGS
[0026] Embodiments can be understood in more detail from the
following description taken in conjunction with the accompanying
drawings, in which:
[0027] FIG. 1 is a view illustrating a coupling aspect of a typical
NPC server and game server;
[0028] FIG. 2 is a block diagram illustrating a packet based NPC
server according to an embodiment of the present invention;
[0029] FIG. 3 is a view illustrating an example of FSM;
[0030] FIG. 4 is a view illustrating a game system using a packet
based NPC server according to an embodiment of the present
invention; and
[0031] FIG. 5 is a flow chart illustrating a method of providing an
artificial intelligence NPC according to an embodiment of the
present invention.
DETAILED DESCRIPTION OF EMBODIMENTS
[0032] Preferred embodiments of the present invention will be
described below in more detail with reference to the accompanying
drawings. Like elements in drawings are indicated with like
reference numerals throughout as far as possible. Moreover,
detailed descriptions related to well-known functions or
configurations will be ruled out in order not to unnecessarily
obscure subject matters of the present invention.
[0033] FIG. 2 is a view illustrating a packet based Non Player
Character (NPC) server according to an embodiment of the present
invention, and an NPC server 100 includes a network communication
processing unit 110, a packet metadata processing unit 120, a data
metadata processing unit 130, an internal data structure processing
unit 140, a game information metadata processing unit 150, an
artificial intelligence algorithm processing unit 160, and a
knowledge DB 170.
[0034] The network communication processing unit 110 communicates
with a game server 10 and receives game packet data of the game
server 10. In this case, the game packet data may be received as
the raw binary data, include one or more of a communication
protocol, an ID, a command (protocol header), and parameter
information, and have a different length in a game packet data
according to the game server 10.
[0035] The accessed game server can be seen through the
communication protocol.
[0036] The packet metadata processing unit 120 interprets a
metadata format of protocol header and parameter information using
the game packet data and predefined command which are received from
the network communication processing unit 110. In this case, a game
packet header file of the game server 10 is converted into metadata
(XML) and stored according to the predefined command.
[0037] For example, as shown in [Table 1], the game packet header
file (See (a) of Table 1) planned in the game server 1 is received
in the packet metadata processing unit 120, and then is stored in
the same format as the packet metadata (See (b) of Table 1).
TABLE-US-00001 TABLE 1 (a) (b) struct pk_move <packet name=
"PK_MOVE" data= "04 00" > { <parameter name= "ID" type= "INT"
/> int protocol; <parameter name= "POS_X" int id; type=
"FLOAT" /> float pos_x <parameter name= "POS_Y" float pos_y
type= "FLOAT" /> float pos_z <parameter name= "POS_Z" };
type= "FLOAT" /> </packet>
[0038] As described above, the packet metadata processing unit 120
may confirm the packet name of the received game packet data, using
the stored packet metadata (See (b) of Table 1).
[0039] Herein, the game packet data may include information of the
game packet header in a binary format.
[0040] For example, when a header of received packet data is "04
00", the packet metadata processing unit 120 can see the name of
the packet PK_MOVE being a protocol header of the game server 10,
and interpret the name as POS_X, POS_Y, and POS_Z in a float type
being parameter information.
[0041] The data metadata processing unit 130 converts parameter
information received from the packet metadata processing unit 120
into a metadata format of structure information.
[0042] The internal data structure processing unit 140 stores the
converted parameter data delivered from the data metadata
processing unit 130. In this case, the internal data structure
processing unit 140 may generate and manage a data structure such
as an array, a list, and a map.
[0043] The game information metadata processing unit 150 stores
game information which is specialized for each game server, in a
metadata format. In this case, the game information may include one
or more of a game map, a village location, a monster position, and
item information, but include all information needed to provide a
game. That is, the category of game information is not limited
thereto.
[0044] The artificial intelligence algorithm processing unit 160
receives data according to a protocol header received from the
packet metadata processing unit 120 from the internal data
structure processing unit 140 and receives game information from
the game information metadata processing unit 150 to deliver data
and action of an NPC to the packet metadata processing unit 120. In
this case, a game logic of the artificial intelligence algorithm
processing unit 160 according to an embodiment of the present
invention is constructed in the Finite State Machine (FSM) format,
but is not limited to the FSM algorithm.
[0045] Herein, the FSM is a regulation based system in which a
finite number of states are connected in a graph that is controlled
by the transition between the states.
[0046] For example, as shown in FIG. 3, a state of a character is
classified into several categories, and the state changes according
to the change of environments. More particularly, when finding an
enemy during movement, the character chases, approaches, and then
attack the enemy. When the battle is ended after the attack, the
character moves to find another enemy.
[0047] An NPC has various roles and acts more intelligently due to
the game information delivered in this method.
[0048] The knowledge DB 170 accumulates and stores a plurality of
processed input and output values from the artificial intelligence
algorithm processing unit 160. In this case, the knowledge DB 170
stores data and output action according to the command (protocol
header) and parameter information of game packet data input from
the game server 10.
[0049] The packet based intelligence game NPC server configured as
described above, as shown in FIG. 4, forms a game system by
including: at least two or more game servers 11 and 12 which are
provides different games, respectively; and an NPC server 100 which
converts a protocol header of each of the game servers into
metadata and previously stores the metadata, analyzes game packet
data delivered from a specific game server to determine parameter
information and action of a user character with the metadata, and
provides an NPC taking an intelligent action corresponding to the
user character's action to the corresponding game server.
[0050] The game servers 11 and 12 each deliver information on the
movement of a user character directed by a user in the NPC server
100, and the NPC server 100 provides an NPC intelligently
responding to the user character's movement.
[0051] Thus, a database of action patterns of a new NPC
corresponding to each of the game servers 11 and 12 can be
built.
[0052] Accordingly, cost and time taken to develop NPC servers
corresponding to the game servers 11 and 12 can be reduced, and the
action pattern of the NPC corresponding to the movements of a user
character for each game server is diversified.
[0053] FIG. 5 is a flow chart showing a method of providing an
artificial intelligence NPC according to an embodiment of the
present invention. First, a game information metadata processing
unit 150 stores game information specialized for each game server
(S11). In this case, the game information specialized for each game
server includes a game map, a village location, a monster position,
and item information, which may represent features of each game
server well but be not limited thereto.
[0054] A network communication processing unit 110 receives game
packet data from the game server 10 (S12).
[0055] A packet metadata processing unit 120 analyzes the game
packet data and converts the analyzed game packet data into
metadata (S13). Herein, the game packet data includes a protocol
header (command) and parameter information (type and data of the
parameter).
[0056] Also, the packet metadata processing unit 120 can determine
what protocol header and parameter information of what game server
the analyzed game packet data is, only when metadata according to a
protocol header file of each game server is previously stored.
[0057] The packet metadata processing unit 120 delivers and stores
the converted protocol header to the artificial intelligence
algorithm processing unit 160, and the data metadata processing
unit 130 stores parameter information of metadata in an internal
data structure processing unit 140 (S14).
[0058] The artificial intelligence algorithm processing unit 160
receives the parameter information stored in the internal data
structure processing unit 140 and the game information stored in a
game information metadata processing unit 150 to generate data and
action of an NPC according to a command (protocol header) of the
metadata received from the packet metadata processing unit 12
(S15). That is, data is given suitably for the situation to
generate an NPC and act, using parameter information changing
according to the action of a user character of the game server
10.
[0059] For example, when a user character approaches close to an
NPC, the NPC receives a parameter on a movement coordinate and
movement command of the user character, and generates data such as
an action and movement coordinate corresponding to the parameter on
a movement coordinate and movement command of a user character.
[0060] Moreover, when a user character attacks an NPC, the NPC
receives a parameter such as used weapon type and attack command of
the user character, and generates data (attack) corresponding to
the weapon type and attack command of the user character.
[0061] In this way, the data and action of an NPC generated in the
artificial intelligence algorithm processing unit 160 are stored
and managed in the knowledge DB 170. The same pattern in the
artificial intelligence algorithm processing unit 160 on the basis
of accumulated activities and data of the NPC may be processed by
reflecting the accumulated data to be provided in various action
patterns.
[0062] The artificial intelligence algorithm processing unit 160
may have a logic implemented with a huge if-else or switch-case
statement, and provide action patterns in more various cases
according to various responding patterns of users. That is, the
same output does not respond to the same input, but different
output may be induced from the accumulated data to generate a more
practical action pattern (which cannot be expected by a user)
despite the same input.
[0063] Finally, the data and action of an NPC generated in the
artificial intelligence algorithm processing unit 160 are delivered
to the packet metadata processing unit 120. The packet metadata
processing unit 120 converts the delivered data and action of an
NPC in a packet format to be determined by a game server and then
delivers the converted data and action to the game server through
the network communication processing unit 110 (S16).
[0064] Accordingly, an NPC with various action patterns can be
provided by sharing the action patterns of NPCs corresponding to
various games.
[0065] The packet based artificial intelligence game NPC server and
artificial intelligence NPC provision method are not limited to
operation methods and configurations of embodiments described
above. The above embodiments may be configured to have various
modifications by selectively combining all or several of the
embodiments.
[0066] As described above, the present invention can reduce cost
and time taken to develop a number of NPC servers by providing NPCs
of a plurality of game servers using one NPC server.
[0067] And also, an NPC with various action patterns can be
provided by sharing the action patterns of NPCs corresponding to
various games.
[0068] Although the packet based game NPC server, method for
providing an NPC, and game system have been described with
reference to the specific embodiments, they are not limited
thereto. Therefore, it will be readily understood by those skilled
in the art that various modifications and changes can be made
thereto without departing from the spirit and scope of the present
invention defined by the appended claims.
* * * * *