DEV Community

Aceld
Aceld

Posted on • Edited on

10. Application Case Study using the Zinx Framework

[Zinx]

<1.Building Basic Services with Zinx Framework>
<2. Zinx-V0.2 Simple Connection Encapsulation and Binding with Business>
<3.Design and Implementation of the Zinx Framework's Routing Module>
<4.Zinx Global Configuration>
<5.Zinx Message Encapsulation Module Design and Implementation>
<6.Design and Implementation of Zinx Multi-Router Mode>
<7. Building Zinx's Read-Write Separation Model>
<8.Zinx Message Queue and Task Worker Pool Design and Implementation>
<9. Zinx Connection Management and Property Setting>

[Zinx Application - MMO Game Case Study]

<10. Application Case Study using the Zinx Framework>
<11. MMO Online Game AOI Algorithm>
<12.Data Transmission Protocol: Protocol Buffers>
<13. MMO Game Server Application Protocol>
<14. Building the Project and User Login>
<15. World Chat System Implementation>
<16. Online Location Information Synchronization>
<17. Moving position and non-crossing grid AOI broadcasting>
<18. Player Logout>
<19. Movement and AOI Broadcast Across Grids>


MMO-GAME Source Code

https://github.com/aceld/zinx/tree/master/zinx_app_demo/mmo_game


As of the previous chapter, the core functionalities of the Zinx framework have been completed. This chapter will build a server-side application using Zinx.

The server-side application, as an application-level project within the Zinx framework, will leverage the foundation constructed in the previous chapters to develop a functional application.

10.1 Introduction to the Application Case

The application scenario involves an MMO (Massively Multiplayer Online) game, which includes a server-side demo with a Unity3D client. This demo implements the fundamental modules of an MMO game, such as AOI (Area Of Interest) based broadcasting within the interest range, global chat, and player position synchronization. The basic functionalities are depicted in Figure 10.1.

Figure 10.1

Figure 10.1

The diagram depicts three game players: Player_1, Player_2, and Player_3. The game features the functionality where, when one of the players moves, the other players can observe their relative movement and changes in positional coordinates. Furthermore, when a player engages in text-based communication, other players are able to see the global chat messages.

Please note that the client program is obtained from a third-party network resource and is not an original creation. The executable program can be downloaded from the following address: https://github.com/aceld/zinx/tree/master/zinx_app_demo/mmo_game/game_client
The provided address offers an executable program rather than the source code. This program is only compatible with the Windows platform. The content of this chapter relies solely on the usage of client-side interfaces to test the functionalities of the Zinx framework. It does not encompass commercial game development or possess equivalent capabilities of a commercial game. Regarding client logic implementation and code implementation, this chapter neither holds the authority nor the obligation to provide explanations.

*This game application case is not intended for enterprise-level game development but rather serves to encompass all interfaces of the Zinx framework. Its purpose is to utilize the Zinx framework built step by step in the previous chapters and demonstrate its practical application. Readers who have alternative application server scenarios are also welcome to leverage the Zinx framework for developing other types of application servers. *


Author:
discord: https://discord.gg/xQ8Xxfyfcz
zinx: https://github.com/aceld/zinx
github: https://github.com/aceld
aceld's home: https://yuque.com/aceld

Top comments (0)