Its a high level networking API that lets you create values that are "shared" across multiple processes. You post updates to your lcoal copy and they get propegtaed to other copies. It also contains ashared Mutex type thing called a Token which is necessary for coordinating such updates.

Got a question about Java and game programming? Just new to the Java Game Development Community? Try my FAQ. Its likely you'll learn something!

Yesterday I registered a sourceforge project. When it comes alive, I'll checkin my HeadQuarter system, which allows a similar handling of data, just on a more abstract level than a byte buffer. Maybe someone is finding it useful as well.

HQ is a framework that allows to define realtime shared data systems. It is built around the networking unit called ObjectBus which in turn relies on NIO.

HQ introduces and implements a notion of 'identity', which is a key term in distributet systems.

The main idea of HQ is to divide an objects being into several facettes and maintain each of the facettes seperately in a subsystem. 'Seperately' means that each facette may use its own protocol and distribution scheme. All facettes are interconnected by the corresponding 'identity'.

Currently defined subsystems are

location - handles distribution of spatial data

registry - handles hierarchic objects relations, can be used for groupings, squads, inventories, type systems and such

property - handles object attributes

time - common meaning of 'time' (! VERY important!)

stuff - chat, messaging...

The implemented subsystems are related to JSDT bc. updates are communicated transparantly. The protocols used can be problem specific. E.g. a server may decide NOT to distribute certain spatial data everywhere (bc. of visibility limitations), whereas structural changes are always distributed.

HQ allows to create different clients that are only concerned about certain aspects of the whole environment. Think of a radar screen application which might only be interested in spatial data, but not in object properties or relations (radars are not very smart to that respect )

Of course, HQ is not as mature as JSDT is and there are still a lot of things to do. But game prototypes like FlyingGuns and JPilot show that it is reliable and allows for very smart data management and extremely low bandwidth needs.

Still, ObjectBus and its tools are available all the time, so there is an easy way just to communicate simple, custom messages like game events.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org