Desktop Client, Client Platform And Game Entity In Desktop Multi-Person Network Game System
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.
Latest TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED Patents:
- VIDEO PROCESSING METHOD AND APPARATUS
- DATA TRANSMISSION METHOD AND APPARATUS, STORAGE MEDIUM, ELECTRONIC DEVICE, AND PRODUCT
- IMMERSIVE MEDIA DATA PROCESSING METHOD AND APPARATUS, DEVICE, STORAGE MEDIUM, AND PROGRAM PRODUCT
- Intelligent commentary generation and playing methods, apparatuses, and devices, and computer storage medium
- Method and apparatus for using virtual item, computer device, and storage medium
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.
FIELDThe 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.
BACKGROUNDThis 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
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.
SUMMARYThis 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
-
- the client platform 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 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.
Another various embodiment provides a client platform in a desktop multi-person network game system, and the client platform includes:
-
- 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.
Other various embodiments provide a game entity in a desktop multi-person network game system, and the game entity includes:
-
- 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.
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.
Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings.
DETAILED DESCRIPTIONIn 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.
-
- a game server 12 processes a game rule, manages user information and parses a communication protocol between the game server 12 and a game entity 16;
- a client platform 14 establishes a data channel between the game server 12 and the game entity 16, loads and operates the game entity 16, forwards an operation command of a user to the game entity 16, receives and executes game output data transmitted by the game entity 16, outputs a executing result to the user, and provide an application interface for the game entity 16 to implement functions which cannot be implemented by the game entity 16 itself.
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.
-
- 1) A user inputs an operation command through a mouse, a keyboard or a game handle.
- 2) The client platform receives the operation command of the user.
- 3) The client platform forwards the operation command of the user to the game entity.
- 4) The game entity processes the operation command of the user according to a corresponding game logic, and generates game output data.
- 5) The game entity transmits the game output data to the client platform.
- 6) The client platform updates a game output according to the game output data of the game entity, e.g. draws a game image, and issues a game music adjusting instruction and a game handle shake instruction.
- 7) The client platform transmits the updated game output to the user. In this way, the game client may display the drawn game image and play the adjusted music, or the game handle is triggered to shake.
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:
-
- a first type of application interface, which is used to directly operate a game desktop window, e.g. change the size of the window, stick the window on the top, hide or display the window and so on;
- a second type of application interface, which is used to communicate with a related service logic, e.g. obtain information of a related service logic such as a QQ pet, open a chat window and so on;
- a third type of application interface, which is a specific application interface specially used to a certain game or module, e.g. visit and invite a friend in a friend system;
- a fourth type of application interface, which is specially used to make the game entity directly communicate with the game server 12.
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:
-
- transmitting a message to the game server 12;
- updating game output, e.g. image output, sound output and physical output such as game handle shake;
- changing the inside state of the game.
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.
Claims
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.
Type: Application
Filed: Aug 18, 2011
Publication Date: Dec 8, 2011
Applicant: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED (Shenzhen City)
Inventors: Bijian Guo (Shenzhen City), Shengfu Tang (Shenzhen City), Jiasheng Tang (Shenzhen City)
Application Number: 13/212,567
International Classification: A63F 9/24 (20060101);