JGN still active?

Hi,

Is JGN still active? I went to the website, or at least what I thought was the website, and it said it's been archived due to inactivity.



I want to weigh the pro's and con's of JGN and Darkstar before using either one of these projects for my game. The impression that I got was that Project Darkstar is a pretty heavyweight game server with many feature for scalability and persistence. Where as, JGN is a lightweight and fast game server with less features for scalability and persistence. Is this a fair appraisal?



Just looking for some advice on these two projects really. Is Darkstar a total beast to work with? Am I going to have to reinvent the wheel writing lots of persistence code if I use JGN? And also, this is very VERY important, has one got a clear advantage over the other when it comes to handling physics data?



It will be interesting to see what people say.



Thanks.

I’d say your assessment that JGN vs DS  = light- vs heavy-weight is fairly correct. JGN is also active, you probably just looked in the wrong place… I think darkfrog just recently changed hosting… or something. In any case:



Here is a thread of a comparison between JGN and Darkstar.



Concerning persistence, JGN does not handle that for you at all, so you’d have to handle that differently. On the positive side, it takes complete care of physics synchronization between server and client, so that part is great.



More info on JGN in the wiki.

JGN was archived because we really don’t use java.net for anything since I host the forum and wiki elsewhere.  The forum is the primary place to see that it’s still active.  I’ve been really busy for a while and kine has been picking up the slack lately:



http://forum.captiveimagination.com/index.php/board,4.0.html



The reason persistence was never built as a feature of JGN was that it really has nothing to do with networking…it’s cool that Darkstar provides that for you, but it’s my opinion that it should be left up to the developer to decide how they want to persist and restore data.



As far as scalability I think JGN has more potential for scaling than Darkstar (or at least as much), but is a little bit more of a manual process to accomplish.

Thanks, for the advice. I think, after reading into it a bit more, my game will be more like an MMORPG than any other type of networked game, and although it will probably never reach 1000's of concurrent users (it probably won't even reach 10's of users :P) I think that the architecture of Darkstar matches my needs better. Anyway, it doesn't hurt to dream of making the next WoW :wink:



I like the philosophy behind JGN, it would be great if there was a hybrid engine between the two!

There is an extension to add MMO capabilities to JGN, I just have haven't made it public yet.

That sounds really good^^

I can't wait to see your work

darkfrog said:

There is an extension to add MMO capabilities to JGN, I just have haven't made it public yet.


Does this have any chance of becoming public before galaxies beyond comes out?  :)

BTW I am still more interested of jSeamless OpenGL renderer.. that would be awsome.. So if you have to choose what to work on, I vote for jSeamless

It may appear before GB is released, but unfortunately I haven't had any time to develop anything but non-game code for quite a while.



jSeamless is taking the majority of my time these days as the demand is high and when I'm not writing supporting projects that are leveraging it, I'm working on features and additions.  jSeamless 2.0 reference alpha is in the repository now using ICEFaces, but an OpenGL version will definitely be coming with 2.0.  One of the reasons I made the decision to work on 2.0 was the complexity in 1.0 to create implementations…2.0 is a complete re-architecting of the system to simplify significantly and make it much easier to write implementations.



Anyway, though I think the MMO functionality of JGN will be much more flexible (not to mention faster) than Darkstar, for now if you need a framework to maintain that stuff for you Darkstar is probably your best bet.  However, since JGN is designed with flexibility in mind, there's nothing keeping you from designing an MMO with JGN now, it's just going to take a little bit more manual coding than you would otherwise have to do.

OK, I've just realized that I haven't got a clue how to link JME with Darkstar lol! I can see why JGN is simpler now :wink:



I don't understand how the server runs a JME application. It will need a copy of the scenegraph to do things like collision detection and updating NPC's etc? The way I see a networked game working is this: The server holds a copy of the scenegraph and runs the non-client game logic like controlling NPC's, spawning creatures, changing the weather etc. When a client connects they receive messages from the server every time-step describing the area of the world they can "see" and, at each time-step send the users state to the server to be included in the servers scenegraph which will be sent out to other clients in the area. Is that about right?



If thats the case I'm not sure how the server holds the JME scenegraph and runs the game logic against it without rendering anything. Do you just simply switch off the renderer on the server somehow?



I hope this makes sense :stuck_out_tongue:

You might have a look at Project Snowman (https://project-snowman.dev.java.net/).  It is an example of Darkstar and jME being used together and the source code is readily available.  So is the current dev version of Project Wonderland, I believe.

By the way, there is also a branch of Darkstar that is being worked on to support pluggable transport layer:



http://www.projectdarkstar.com/index.php?option=com_smf&Itemid=120&topic=665.msg4737#msg4737



So you can plug in JGN, or your own custom networking code on top of Darkstar.


renanse said:

You might have a look at Project Snowman (https://project-snowman.dev.java.net/).  It is an example of Darkstar and jME being used together and the source code is readily available. 


project-snowman is an awesome JME/Darkstar example, and it's maven friendly too. Thanks to Renanse and the rest of the guys who worked on it.

Thanks for the advice, but I'm still confused  :expressionless:



It seems like the project snowman (awesome project by the way!) detaches the objects from the scene-graph in order for the server to perform tasks on them. It seems like the server doesn't hold the scene-graph at all! If I wanted the server to perform physics operations on an object how could I do that? ODE is kinda built into the JME scene-graph so wouldn't I need JME to be running on the server?



Thanks.

So you can plug in JGN, or your own custom networking code on top of Darkstar.


Sure, but it's like adding a V8 engine to a Mini...you might be able to make it fit, but it's just not made for that kind of performance and would likely tear itself apart. ;)

You can always multi-node cluster lots of minis… or did you mean Darkstar is the V8 and JGN is the mini?  :stuck_out_tongue:

yunspace said:

You can always multi-node cluster lots of minis.... or did you mean Darkstar is the V8 and JGN is the mini?  :P


You very funny.  :P
darkfrog said:

It may appear before GB is released, but unfortunately I haven't had any time to develop anything but non-game code for quite a while.

jSeamless is taking the majority of my time these days as the demand is high and when I'm not writing supporting projects that are leveraging it, I'm working on features and additions.  jSeamless 2.0 reference alpha is in the repository now using ICEFaces, but an OpenGL version will definitely be coming with 2.0.  One of the reasons I made the decision to work on 2.0 was the complexity in 1.0 to create implementations....2.0 is a complete re-architecting of the system to simplify significantly and make it much easier to write implementations.

Anyway, though I think the MMO functionality of JGN will be much more flexible (not to mention faster) than Darkstar, for now if you need a framework to maintain that stuff for you Darkstar is probably your best bet.  However, since JGN is designed with flexibility in mind, there's nothing keeping you from designing an MMO with JGN now, it's just going to take a little bit more manual coding than you would otherwise have to do.

I wonder how you get the time for all this  :?

…I don't sleep. 

Downloads aren't currently available from Google Code and I try to download from the links in the forum and the links are dead.



Link to DL? I'm getting ready to wire my latest hair-brained-scheme for networking.



I guess I'll just SVN it.

SVN is preferred as I never build new JARs after I switched hosting options.