Game Design Discussion

I have been tracking the forum for some time now, many users were wondering how to implement a seperation of game logic, data & business logic and network/input/output handling.



Rollingmadness http://www.tukano.it/documents/rollmadness.pdf had a very good step-by-step guide how a game implementation would look like for jme2. The game logic implementation used in there (using trigger systems) is now somewhat deprecated and replaced by autonomous controls in jme3 that can be (idealy) combined together like building blocks.



I believe this post http://hub.jmonkeyengine.org/2011/02/13/monkeyzone-a-jme3-game-from-the-core/ is very good for catching the basics of how to do it in jm3.

I know the game is far from complete, but roaming through the source code, the game & network logic seems to be done more or less.



So for anyone working on a bigger game project: I recommend reading the documentation about Controlling Game Logics, the RollingMadness guide and the blog post about MonkeyZone. I think that could give you some ideas to get going!



I hope we get a pseudo - UML Diagram for MonkeyZone in the future, which will explain the basic classes, the basic connections and the basic control flow / trigger flow between these classes.

1 Like
nego said:
Rollingmadness http://www.tukano.it/documents/rollmadness.pdf had a very good step-by-step guide how a game implementation would look like for jme2. The game logic implementation used in there (using trigger systems) is now somewhat deprecated and replaced by autonomous controls in jme3 that can be (idealy) combined together like building blocks.

Actually that game is written in jME3, and most of the features used are supported in the current version. I think you're confusing parts of the code that he actually wrote himself, the trigger system, user interface API, and scene loader. Note that this document isn't really a tutorial, its more of a development log, so it isn't designed to take advantage of all jME3's features.
For example, we use Nifty GUI now to handle the interface, but it did not exist back then. His use of "GameStages" somewhat mirrors the AppStates which also did not exist back then.
1 Like

Also notice we start putting stronger emphasis on these aspects in the documentation:

https://wiki.jmonkeyengine.org/legacy/doku.php/jme3#documentation_for_advanced_users



But yes, MonkeyZone is also meant as an example and we will extend the documentation on that too, possibly even with a guided tour through a jMP template? :smiley: For starters I tried to javadoc most methods in MonkeyZone so that it becomes apparent how things work after reading the article as you found out yourself :slight_smile:

1 Like

@Momoko_Fan:

thx for clarification! Yeah i know it isnt a one-size-fits all solution, but it inspired me a little and showed me how to do things in jme. Sry i thought PhysicsNodes and not existing controls were in jme2 :wink:



@normen:

I like it were it is going, a good doc is a solid foundation of every project! The documenters are really doing good job :wink: