First of all, I hope this is the right board for this announcement. I was wondering if I should post here or in contributions, but I’m not actually going to commit something to SVN, so here we are:
After trying multiple times over the past six months, I managed to develop a synchronization framework for the jMonkeyEngine that I am finally content with. For lack of a better name, I call it mirrormonkey.
Mirrormonkey is a framework aimed at small-scale projects with few developers, where resource consumption is of less concern than actually getting something done with hobbyist-effort. It is designed to contain a vast amount of features while being as easy to learn and use as humanly possible. This has led to a mostly declarative approach.
- Multiple update frequencies and reliabilities can be declared for each field of the entity classes
- Automated tracking of hash values of synchronized fields to prevent any unnecessary serialization costs and network trafic
- Bidirectional field synchronization (but: Clients may NOT create new entities)
- Bidirectional, asynchronous RMI and RMI-Broadcasts
- Identity-aware reference injection: If synchronized fields, RMI parameters and results are entities, then they can be substituted for the correct entity references without any user interference
- Automated extrapolation
- Field virtualization: Tired of declaring intermediate fields for your sync framework to access and then keeping track of the references? Override getter and setter, add an annotation and you're set.
0.17 has now been released. It contains all the modules, but no commons classes yet. You can find further information on the project page. Alternatively, you can visit these direct links:
Warning: This thread contains documentation that is really, really old. Most of the API - especially the core module - has been completely redesigned. For current documentation, please check out the trac wiki linked above.