Java Game Server Framework Discussion

Started by
2 comments, last by congcoi123 3 years, 11 months ago

Hi folks,

I'm developing a small framework for making online games in Java. It supports UDP and TCP transports, bases on NIO for high performance and uses MsgPack library for compressing data. I know it needs a lot of effort to improve, so please take a look and let me know. You can check out the project by the link below, I appreciate all your help.

https://github.com/congcoi123/tenio

first glimpse …

I also created some small client projects for this framework in different languages: C++ (based on Cocos2dx), Java (based on Libgdx), C# (based on Unity) and Javascript (based on Phaserjs) for testing Websocket communication. Those projects were used to create a small game name "Gold Miner Online":

So, if you have any questions, don't hesitate to let me know. Thanks so much and have a nice day!

I'm a simple man

Advertisement

Thanks for sharing!

What particular goals do you have with this library, and how are they different from the other libraries that exist?

enum Bool { True, False, FileNotFound };

@hplus0603

Hi hplus0603,

Thanks for your question.

In the beginning, this framework is aimed to make the turn-based card games. But now, I'm trying to make it:

  • Can deal with MMORPG games (I believe that Java technology is suited for that, the problem is how to implement solutions)
  • Can make smooth communication between server instances (Ensure for horizontal scale)

I also give a lot of time to research other frameworks and libraries. I can not compare the performance, ability to process, etc, because I don't know how to do that. In my opinion, my framework has some features:

  • Quickly set up (I choose Java because its full-support ecosystem)
  • Easy to use (I try to make everything by events to make those are easier to understand and clear)
  • I think the unpredictable part is of network communication, so I try to compress messages as small as possible for fast transferring.
  • Easy to learn (Because it is easy to use, I think it is also easy to learn and the other developers can use or reuse some part of source code for their projects)

I'm a simple man

This topic is closed to new replies.

Advertisement