<SimpleGame | User's Guide | DisplaySystem>
Excerpted from StandardGame, GameStates, and Multithreading (A New Way of Thinking):
“StandardGame extends AbstractGame and intends to implement all necessary functionality that your “Game” will need. Support includes client/server division without a change in any code, GameSettings as an alternative to the PropertiesIO system that the other games provide, inherent (forced) multithreading in your game as StandardGame manages the OpenGL thread for you, ability to directly interject necessary invocations into the OpenGL thread using the GameTaskQueueManager, shadow support, reinitialization of the graphical context (if settings change for example), and everything else a typical “Game” provides that all games need. However, with all of the aspects that StandardGame does provide, it does not force anything extra on you as the non-necessary items should be put into your GameStates and managed there instead of the “Game” itself. This process helps to abstract into aspects of your game and get the game process started ASAP to kill the long-standing problem in jME of the “lagged startup” because there’s just so much junk you’re trying to load that you sit with a black screen for a while until everything is ready to show.”