# SessionZero Data System ## Layout Data is seperated into 3 main chunks; systems, games, and datasets. Each of these work together but hold varying information. The flow goes as such: 1. Create a System i. Define a character template ii. Define data templates 2. Create a Dataset i. Reference an existing system for availible templates ii. Create data instances based on the availible templates 3. Create a Game i. 'Install' an existing system ii. 'Install' various datasets that use the same system iii. Install plugins (future feature) iv. Create a character from the system template ### System: - Character Template - Data templates ```text author.system_name/ - system.sz (A TOML file with metadata) - character_template.szt (sessionzero template file) - templates/ - template_name.szt ``` Example `system.sz` file ```toml id = "szcore" display_name = "SZ Core System" version = "1.0" description = """ A simple core system to base others off of """ ``` Example `character_template.szt` file ```toml template_type = "character" ``` ### Games: - System - Plugins - Datasets - Player Data - Character Instances - Gamestate/Data ### Datasets: - Reference to a System and its templates - Data Instance