This is a low level system that has no direct impact on gameplay; however, it does allow the player to mod the game and share mods with friends. Every gameplay element of the game including missions, ships, and even citizens can be expressed as XML. A facility to import images and mesh data at runtime allow custom artwork to also be brought in.
The base element of the Heathen system is the ‘Instanced Object’ element from which all gameplay objects are derived. This element defines a globally unique ID a parent ID a world position and rotation and a local scale as well as a commonality and base values. Instanced objects also reference a native and mod resource path which can be set to override the default appearance of standard elements or to allow custom elements to use standard assets.
The serialization subsystem also provides the tools for a single scene approach - meaning that all aspects of the game are serialized and loaded seamlessly on demand, thus negating any need for loading screens aside from the initial boot sequence. Players can define their own events, ships, factions, systems, etc in a serialized form that is then loaded at run time in the same manner as standard resources.
Note that for efficiency standard assets are stored in a Unity resource database and are not directly accessible to the end-user; a facility for exporting the serialized files and pre-building mod directories will be provided in game as well as editor tools in game for common elements such as ships and events.
It is important to note that as this is highly dependent on the final form of the game it will be held to the last phase of development and may not be released on day 1.
Importing & ExportingEdit
Custom models and texturesEdit