Paul Speed 6cb691592d Fixed two potential race conditions in the DefaultClient.
In one case, closing a client while it was already closing on
another thread (say because the server is shutting down and
you are exiting at the same time) would cause an NPE if you
caught it just right.  Now the thing checking and setting the
connection state is synchronized to avoid the race.

The other more subtle one was caused by sending out the 'connected'
event before the services were all started.  It's quite common for
application code to start doing stuff when the 'connected' event comes
through like sending messages and stuff.  If the services hadn't been
fully started then even the serializers might not be registered yet...
and that = bad.

Now the client doesn't send the 'connected' event until the services
are started.  This should be safe and one could argue that it's more
'correct' but there is some small chance that it screws up certain
use-cases.  However, if a real use-case comes up that's not solved by
a service then we can always add some kind of prestarted event.
2015-12-26 17:56:31 -05:00
2015-11-11 22:48:00 +01:00
2015-07-04 18:58:12 +02:00
2014-03-23 14:53:02 +01:00
2014-03-23 14:53:02 +01:00
2015-01-23 20:01:09 -05:00
2015-04-30 09:57:46 -04:00
2015-08-25 00:39:03 -04:00

jMonkeyEngine

Build Status

jMonkeyEngine is a 3D game engine for adventurous Java developers. Its open source, cross platform and cutting edge. And it is all beautifully documented. The 3.0 branch is the latest stable version of the jMonkeyEngine 3 SDK, a complete game development suite. We'll be frequently submitting stable 3.0.x updates until the major 3.1 version arrives.

The engine is used by several commercial game studios and computer-science courses. Here's a taste:

jME3 Games Mashup

Getting started

Go to http://hub.jmonkeyengine.org/downloads/ to download the jMonkeyEngine SDK. Read the wiki for a complete install guide. Power up with some SDK Plugins and AssetPacks and you are off to the races. At this point you're gonna want to join the forum so our tribe can grow stronger.

Note: The master branch on GitHub is a development version of the engine and is NOT MEANT TO BE USED IN PRODUCTION, it will break constantly during development of the stable jME versions!

Technology Stack

  • Java
  • NetBeans Platform
  • Gradle

Plus a bunch of awesome libraries & tight integrations like Bullet, Blender, NiftyGUI and other goodies.

Documentation

Did you miss it? Don't sweat it, here it is again.

Contributing

Read our contribution guide.

License

New BSD (3-clause) License. In other words, you do whatever makes you happy!

Description
A complete 3D game development suite written purely in Java.
Readme 844 MiB
Languages
Java 95.4%
C++ 2.5%
GLSL 1.5%
C 0.3%
HTML 0.2%