I’m curious if anyone has any experience using jgroups www.jgroups.org for gaming purposes. I’m getting set work on a fps and was wondering what the performance/limitations of using jgroups might be?
Not sure how useful it is, but here at work they used to use jgroups for interhost communication. They’ve moved to their own home grown stuff because jgroups was percieved as having plenty of bugs and short-sighted view of networks.
Kev
- As it stands, looking through their site and google, I wouldn’t trust their TCP-on-UDP protocol as far as I could throw it. That stuff is especially difficult to do right and until you get some trustworthy positive evidence that they’ve implemented a perfect TCP instance then it’s not worth even thinking about
(bear in mind that the perf tests on their website are IMHO irrelevant, since they use a JVM that is known to be almost pathologically broken for NIO networking - that JVM has so many critical networking bugs that you’d have to check tens or hundreds of bug reports on sun.com to verify that the perf wasn’t being skewed by some bug that has since been fixed. The tests themselves are also not exactly well-designed to proof anything especially useful; it’s hard writing really good perf tests )
-
Everthing else it does is pretty trivial stuff you could write yourself pretty quickly assuming you’ve already learnt how to do netwrokign etc in java to a competent level. If you are writing a multiplayer-FPS then this is knowledge you will have to pick up anyway. OTOH if you were writing a business-app that had to be ready very soon and had mild performance reqs, jgroups might be perfect.
-
If you still need to learn everything in 2, jgroups looks like a good place to go reading docs and API’s. They appear to have some fairly good architectural design in there, and just by reading all the docs and following the examples you’ll probably pick up a lot of useful concepts. Just don’t expect it to be usable in your actual game.
-
…but if in 6 months time you have a working 16-player FPS using jgroups and it’s fluid and accurate, we’d love to hear about it
since I don’t believe anyone’s seriously tried it for a game all the way through to completion, yet, so we’re short on data