JGN 2.0 Beta 1 Released

FYI:



http://www.captiveimagination.com/forum/index.php/topic,94.0.html

nice, might be time to rip out my networking code and give this a try.

If you happen to find anything missing that you previously had or new features you'd like to see feel free to let me know.  I'm starting to run out of ideas for new features to stick into JGN so fresh ideas are always appreciated. :wink:

darkfrog,



Is it possible to give a bit of explanation at a high level of what your JGN covers?

JGN is an actively developed project so there are many things "on the horizon" that still have yet to be implemented, but it's primary objective is to fulfill ANY and ALL networking needs for game developers.  Object synchronization support in JGN is still moderately limited in implementation.  However, the capabilities are there to either be extended on your own or if you feel the desire to contribute it back to the project it is welcome.  There are hundreds of features in JGN currently and I would suggest taking a look at the project itself if you want to see the extent to which it covers.  It's like asking someone to explain how much jME covers for game development. I will give a brief overview of features though (incomplete I'm sure):


  • UDP / TCP support at a high-level - you don't have to worry about how either works, just tell it which one you want to use (or both)

  • Messaging framework - the basic premise of JGN is to communicate via "Message" objects which are simply beans that are persisted across the network

  • Listeners and Events - on a server or client you can add listeners that will be invoked when a message is received

  • Shared Objects - a recent feature that allows you to create a bean and it can be registered as a SharedObject and will synchronized over the network to all connected clients.  Changes are detected and streamed

  • Synchronization - high level abstraction from 2D, 3D, and Physics synchronization, you simply register your objects that need to be synchronized and at what priority and JGN will keep the object in-sync

  • Encryption and Compression

  • Fast - can send receive nearly 1 million messages / second

  • Efficient - a custom serialization and communication system was written in order to minimize network traffic and increase the speed at which data is sent.



I'm currently developing a MMORPG game with it if that gives any added credibility. ;)

Need further information get it from the forums:
http://forum.captiveimagination.com

ok, cool… that helps.

To say it in short…if you need networking in yor game…use this. No reason to reenvent the wheel once more.

Besides it's very well written, the code is clean and well documented.



Not like some spagetthi you might smack together in a haste because you want to spent more time modeling/graphicing/making gameplay etc.

I doubt that anyone can write their own network engine this focused with all the other tasks need to be done in a game.

Seriously…theres absolutely NO reason to use your own crap (sorry).

We all fear the day when we have to implement network into our code and everyone who has ever tried

can tell you with good reason.



If you want to save months of developing and possible years debugging it after…use jgn.



Edit :Oh and I did I say it takes about 10 minutes to learn ?




hehe…thanks Baune.  :wink:

You started paying people now darkfrog?  :stuck_out_tongue:

You catch on quick. :wink:

darkfrog said:

You catch on quick. ;)


huh.. wah?!  What's going on... [there is no drooling smiley  :(]
Baune said:

...
No reason to reenvent the wheel once more.
...
I doubt that anyone can write their own network engine this focused with all the other tasks need to be done in a game.
Seriously..theres absolutely NO reason to use your own crap (sorry).
...


yeah, it's enough that darkfrog reinvented it, rewrote it while focused on other tasks and now even uses his own crap  XD

Well I'd say that's right on target…if you ever cared to look at it for a minute you would see that I'm right.

i was just talking about your statement and how you contradict yourself :stuck_out_tongue:

Actually it wasn't a contradiction.  His statement was valid.  I didn't technically re-invent the wheel here anyway.  Much of what JGN does has never been done before and further has never been put together in an easy to use library.  Sure you can go directly to Java's communications API, but this is a wrapper around that and provides a very nice abstraction from the complexities of NIO.