US20110300947A1
2011-12-08
13/212,567
2011-08-18
A desktop client in a desktop multi-person network game system is provided. The desktop client is divided into the client platform and the game entity; when a game changes, it is only needed to change a game logic and a game protocol in the game entity.
Get notified when new applications in this technology area are published.
A63F2300/402 » CPC further
Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network Communication between platforms, i.e. physical link to protocol
A63F9/24 IPC
Games not otherwise provided for Games using electronic circuits not otherwise provided for
A63F13/30 » CPC main
Video games, i.e. games using an electronically generated display having two or more dimensions Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
This application is a continuation of International Application No. PCT/CN2009/075664 filed on Dec. 17, 2009. This application claims the benefit and priority of CN 200910078409.4, filed Feb. 20, 2009. The entire disclosures of each of the above applications are incorporated herein by reference.
The present disclosure relates to network communication fields, and to a desktop client, client platform, and game entity in a desktop multi-person network game system.
This section provides background information related to the present disclosure which is not necessarily prior art.
With the development of Internet, more and more users communicate with each other on the Internet. Desktop multi-person network games are provided for the users, and in the desktop multi-person network game, the game is directly running on the desktop without any running window displayed on the desktop. In order to enable users to play a multi-person game on the Internet, conventional desktop multi-person network games are usually configured based on a Client/Server (C/S) structure including a desktop client and a game server, as shown in FIG. 1. The game server is configured to decode data flows from the desktop client, verify whether the data flows is legal, process a game key logic, update data, such as game state and player information etc., and send new data to the desktop client through a Transmission Control Protocol (TCP) or a User Datagram Protocol (UDP). The desktop client is configured to respond to a user operation, execute a game client logic, decode an executing result into a binary flow, send the binary flow to the game server through the TCP or the UDP, update game output according to the data returned by the game server, and return updated game output to the user, referring to FIG. 2.
Since the desktop client in the conventional approach is developed separately for each game, when the game changes, the desktop client cannot be compatible with the changed game and needs to be developed again, thereby increasing the development period and development costs, which is difficult to meet the requirements of rapid development, publication and application of desktop multi-person network game products.
This section provides a general summary of the disclosure, and is not a comprehensive disclosure of its full scope or all of its features.
Various embodiments provide a desktop multi-person network game system to reduce development period and development costs of the desktop multi-person network game system.
A various embodiment provides a desktop client in a desktop multi-person network game system, and the desktop client includes: a client platform and a game entity; wherein
Another various embodiment provides a client platform in a desktop multi-person network game system, and the client platform includes:
Other various embodiments provide a game entity in a desktop multi-person network game system, and the game entity includes:
In various embodiments, the desktop client is divided into the client platform and the game entity; when a game changes, it is only necessary to change the game logic and the game protocol in the game entity, and is not necessary to redesign the client platform, thereby reducing the development period and development costs, and meeting the requirements of rapid development, publication and application of desktop game products.
Further areas of applicability will become apparent from the description provided herein. The description and specific examples in this summary are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure.
The drawings described herein are for illustrative purposes only of selected embodiments and not all possible implementations, and are not intended to limit the scope of the present disclosure.
FIG. 1 is a schematic diagram illustrating a structure of a conventional desktop multi-person game system;
FIG. 2 is a schematic diagram illustrating an operation of a conventional desktop client;
FIG. 3 is a schematic diagram illustrating a structure of a desktop multi-person game system according to various embodiments;
FIG. 4 is a flowchart illustrating interaction between a client platform and a game entity according to various embodiments; and
FIG. 5 is a schematic diagram illustrating a structure of a client platform and a game entity according to various embodiments.
Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings.
In order to make the object, technical solutions and merits of the present invention clearer, the present invention will be illustrated in detail hereinafter with reference to the accompanying drawings and examples. It should be understood that the examples described herein are only used to explain the present invention, but not used to limit the present invention.
Reference throughout this specification to “one embodiment,” “an embodiment,” “specific embodiment,” or the like in the singular or plural means that one or more particular features, structures, or characteristics described in connection with an embodiment is included in at least one embodiment of the present disclosure. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment,” “in a specific embodiment,” or the like in the singular or plural in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
In various embodiments, a desktop client is divided into a client platform and a game entity. When a game changes, it is only necessary to change a game logic and a game protocol in the game entity, and it is not necessary to redesign the client platform, so as to reduce the development period and development costs.
FIG. 3 is a schematic diagram illustrating a structure of a desktop multi-person game system according to various embodiments. In order to be convenient for description, only parts related to various embodiments are shown:
In various embodiments, the game output includes characters, images, sound and so on, and further includes physical output, e.g. game handle shake.
The game entity 16 configures a game logic and a game protocol, receives the operation command of the user forwarded by the client platform 14, generates the game output data according to the game logic, transmits the game output data to the client platform 14, and exchanges information with the game server 12 through the data channel established by the client platform 14.
The client platform 14 communicates with the game server 12 through the TCP/UDP.
In various embodiments of the present invention, in order to enable different games to communicate with the game server 12 through the data channel established by the same client platform to reduce the development workload of the client platform 14, the client platform 14 communicates with different game entities through a uniform communication protocol. The uniform communication protocol may be self-designed, or a conventional communication protocol is adopted, e.g. a JavaScript Object Notation (JSON) protocol.
The JSON protocol adopts a flexible data exchange format, is easy to read and write, and is easily parsed and generated by a machine. The JSON protocol adopts a text format independent with languages, but adopts habits of C language family including C, C++, C#, Java, JavaScript, Perl and Python, and thus becomes an ideal data exchange language.
FIG. 4 is a flowchart illustrating interaction between the client platform 14 and the game entity 16 according to an example of the present invention, which is described as follows.
FIG. 5 is a schematic diagram illustrating a structure of a client platform and a game entity according to various embodiments. In order to be convenient for description, only parts related to various embodiments are shown.
A game engine 142 loads and operates the game entity 16, receives an operation command of a user, and forwards the operation command to the game entity 16.
A game logic/protocol processing unit 162 receives the operation command of the user forwarded by the game engine 142, invokes a corresponding game processing logic in a game logic unit 164, generates game output data, and transmits the game output data to the client platform 14.
The game engine 142 executes the game output data after receiving the game output data transmitted by the game logic 162, e.g. draws a game interface and adjusts game sound, and outputs a game output result to the user.
An application interface unit 144 provides an application interface for the game entity 16 to implement functions which cannot be implemented by the game entity 16.
As an embodiment, the application interface unit 144 may provide four types of application interfaces, which include:
The game logic/protocol processing unit 162 invokes a corresponding application interface provided by the application interface unit 144, triggers the game engine 142 to execute a corresponding operation, e.g. change the inside state of the game, or communicate with the game server 12 through the application interface provided by the application interface unit 144, and transmits related information.
The network communication unit 146 implements the communication between the client platform 14 and the game server 12 through the TCP or UDP, and communicates with the game entity 16 through the application interface provided by the application interface unit 144.
The game logic unit 164 configures a game processing logic, e.g. a motion mode, motion direction, and position of a game role, drawing parameters of a graphical interface and so on.
The game processing logic generally includes the following:
The game protocol unit 164 configures a game operation protocol.
In various embodiments, the game operation protocol is a rule for decoding and encoding a command corresponding to the protocol. The information transmitted between the game server 12 and the game entity 16 is a series of original byte flows, and in the byte flows corresponding to different commands, the meanings of one byte is different from that of another byte. Therefore, each command corresponds to a protocol to determine a rule for decoding and encoding the command. For example, in a game logging protocol, an account number and password for logging are encoded into byte flows, after the byte flows are processed through a network protocol between the client platform 14 and the game entity 16 which is configured in a network protocol unit 168, e.g. the JSON protocol, the application interface provided by the application interface unit 144 is invoked, and the byte flows is transmitted to the game server 12 through the network communication unit 146.
The game server 12 transmits a message to the game entity 16 through the network communication unit 146, the network protocol unit 168 invokes the application interface provided by the application interface unit 144, receives the message transmitted by the network communication unit 146, and decodes the protocol through the game protocol unit 166. The game logic/protocol processing unit 162 triggers the game engine 142 according to the decoded message to execute corresponding game output, or communicates with the game server 12.
One skilled in the art would understand that all or part of steps in the method provided by the embodiments can be implemented by instructing related hardware by a program, the program may be stored in a readable memory of a computer, and above method steps are included when the program is operated. The memory includes a ROM/RAM, a disk, a Compact Disc (CD) and so on.
In various embodiments, the desktop client is divided into the client platform and the game entity. When the game changes, it is only necessary to change the game logic and the game protocol in the game entity, but it is not necessary to redesign the client platform, thereby reducing the development period and development costs, and meeting the requirements of rapid development, publication and application of desktop game products.
The foregoing description of the embodiments has been provided for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure. Individual elements or features of a particular embodiment are generally not limited to that particular embodiment, but, where applicable, are interchangeable and can be used in a selected embodiment, even if not specifically shown or described. The same may also be varied in many ways. Such variations are not to be regarded as a departure from the disclosure, and all such modifications are intended to be included within the scope of the disclosure.
1. A desktop client in a desktop multi-person network game system, comprising a client platform and a game entity, wherein
the client platform is configured to establish a data channel between a game server and the game entity, load and operate the game entity, forward an operation command of a user to the game entity, receive and execute game output data transmitted by the game entity, and provide an application interface for the game entity; and
the game entity is configured to configure a game logic and a game protocol, receive the operation command of the user forwarded by the client platform, generate the game output data according to the game logic, transmit the game output data to the client platform, and exchange information with the game server through the data channel.
2. The desktop client of claim 1, wherein the client platform comprises:
a game engine configured to load and operate the game entity, receive the operation command of the user, forward the operation command to the game entity, receive and execute the game output data transmitted by the game entity, and output a game output result to the user;
an application interface unit configured to provide the application interface for the game entity; and
a network communication unit configured to implement communication between the client platform and the game server, and communicate with the game entity through the application interface provided by the application interface unit.
3. The desktop client of claim 1, wherein the game entity comprises:
a game logic unit configured to configure a game processing logic;
a game protocol unit configured to configure a game operating protocol;
a network protocol unit configured to configure a communication protocol between the client platform and the game entity; and
a game logic/protocol processing unit configured to receive the operation command of the user forwarded by the client platform, invoke the game processing logic in the game logic unit, generate the game output data, transmit the game output data to the client platform, invoke the application interface provided by the client platform, trigger the client platform to execute a corresponding operation, communicate with the game server through the application interface provided by the client platform.
4. The desktop client of claim 1, wherein the client platform is configured to communicate with different game entities through a uniform communication protocol.
5. The desktop client of claim 4, wherein the client platform is configured to communicate with different game entities through a JSON protocol.
6. The desktop client of claim 1, wherein the application interface comprises:
an interface for directly operating a game desktop window;
an interface for communicating with a service logic;
a special interface for a game or a module; and
an application interface for direct communication between the game entity and the game server.
7. A client platform in a desktop multi-person network game system, comprising:
a game engine configured to load and operate a game entity, receive an operation command of a user, forward the operation command to the game entity, receive and execute game output data transmitted by the game entity, and output a game output result to the user;
an application interface unit configured to provide an application interface for the game entity; and
a network communication unit configured to implement communication between the client platform and a game server, and communicate with the game entity through the application interface provided by the application interface unit.
8. The client platform of claim 7, wherein the application interface comprises:
an interface for directly operating a game desktop window;
an interface for communicating with a service logic;
a special interface for a game or a module; and
an application interface for direct communication between the game entity and the game server.
9. The client platform of claim 7, wherein the client platform is configured to communicate with different game entities through a uniform communication protocol.
10. The client platform of claim 9, wherein the client platform is configured to communicate with different game entities through a JSON protocol.
11. A game entity in a desktop multi-person network game system, comprising:
a game logic unit configured to configure a game processing logic;
a game protocol unit configured to configure a game operating protocol;
a network protocol unit configured to configure a communication protocol between a client platform and the game entity; and
a game logic/protocol processing unit configured to receive an operation command of a user forwarded by the client platform, invoke the game processing logic in the game logic unit, generate game output data, transmit the game output data to the client platform, invoke an application interface provided by the client platform, trigger the client platform to execute a corresponding operation, communicate with a game server through the application interface provided by the client platform.
12. The game entity of claim 11, wherein the game entity and other game entity are configured to communicate with the client platform through a uniform communication protocol.
13. The game entity of claim 12, wherein the uniform communication protocol is a JSON protocol.