XSG Overview
Magnetar Extensible Scene Graph (XSG) is a structured collection of domain specific languages that can be used to fully describe a game or simulation.
The scene graph is made up of nodes that or organized by a structure graph that
include the entities, functions and behaviours that make up the game or
simulation. The scene graph handles large amounts of information and reflects
changes as they are made to the scene. Each player in a multiplayer game
or simulation shares the scene graph, with changes being reflected to other
members using the scene graph. Nodes can be grouped together, so that changes
applied to a group are reflected in all of the members of that group.
The domain specific languages that make up the XSG are described using:
- A structure graph made up of structure nodes.
- Functional elements that can be attached to any structure nodes, and
provide lighting, fog, and other effects for the scene.
- Entity nodes attached to leaf structure nodes, meaning those at the end of branches.
- Behaviour models and scripts
This technique is based on the work of LI Qi-cheng, WANG Gui-ping, and ZHOU
Feng as presented in the paper High-extensible scene graph framework based on
component techniques.
Magnetar XSG is the core of our game and simulation standards initiative. It
fuses existing standards, current research and new ideas to provide a
well defined, carefully constructed framework suitable for creating many different
genres and styles of games
and simulations.
Magnetar XSG is organised into domains, each of which addresses a different aspects of
the game or simulation. For example, the XScenario component is used to
record the structure of the scenario. It describes the map, defines the
positions of the entities in the world, defines starting conditions, entity
behaviours, goals, etc. The XLobby component has no concern with the
scenario. XLobby is in charge of
helping gamers find each other, chat with each other, and play games together.
Separating
the individual concerns into domains has a few advantages.
- The organisation of each component is not influenced by other components, so that each piece can
be organised in a manner that suits the individual piece.
- People concerned with only one aspect of the project (say scenario
design) only see information relevant to that aspect.
- Changes to one aspect of the project do not affect the rest of the project, making it easier to extend or change individual pieces.
The Magnetar XSG is a component-based method of describing all of the
domains that makes up a game or simulation. It is based on research
and existing standards, combined to make a strong framework for game and
simulation development. The scene graph is designed to be easily
extensible with a core base of code that does not need to change, and a method
for extending that core that does not affect how the core behaves.