Sponsored by: Magnetar Games

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.