3.8 KiB
SessionZero Design Doc
© Bellsworne LLC 2025
Last modified by Christopher Bell on August 14th 2025
About SessionZero
SessionZero is a free and open-source TTRPG "companion" application for managing characters, templates, data, and game sessions. It allows you to utilize any TTRPG system by being completely data-driven with user-generated content.
Features
SessionZero at its core is all about managing and creating data. Everything from sets of items or NPCs to characters themselves are all user-generated pieces of content that can be used throughout the application.
Data Types
The client allows you to Create, View, Manage, Import & Export, and even Download various data types:
Datasets
Datasets are flexible collections of user-defined data, such as items, NPCs, or monsters.
- The type and content are completely arbitrary and user-defined.
- Datasets contain "entries" with custom fields and values.
- Entries can be linked throughout SessionZero, including in Character Templates.
Characters
Characters are made up of two parts: The Template and the Character instance.
Template
The template is the blueprint for a character sheet and is completely user-defined. It allows you to:
- Create sections with custom fields (e.g., text, numbers, booleans).
- Set default values for fields.
- Define calculated values using formulas.
- Reference entries from one or more Datasets.
- Create special list-based sections for things like inventories or spellbooks.
Character (Instance)
This is an instance of a character created from a template. You choose a template, fill in the values, and all calculated fields populate automatically.
Game Sessions
SessionZero offers a simple yet robust system for managing game sessions. You can manage player characters, handle resources via datasets, use a turn tracker, and more.
The application supports several modes:
Default (Offline) Mode
By default, SessionZero works completely offline.
- You have total ownership over your locally stored session data.
- Manually manage characters for your players or use it for your own session notes.
Online Player
Connect to a SessionZero server to join sessions hosted by others.
- Access your character sheet, in-game chat, and session notes.
- All data updates in real-time.
- Keep private notes in your personal journal for each session.
Online Game Master
Host an online session and invite others to join.
- Set a character template for the session.
- Manage all session data (NPCs, items, etc.).
- Make real-time updates to character sheets.
- Use tools like in-game chat, commands, and a turn tracker.
SessionZeroDB
SessionZeroDB is an online repository of user-created SZF data. When enabled, the application can automatically find and download required datasets and templates.
SZF (SessionZero Format)
SessionZero uses a custom, human-readable data format called SZF for all data types. For more details, read the SZF Docs.
Philosophy
Free
SessionZero is FREE. No account or subscription fees are required for the core application.
Open Source
SessionZero is first and foremost open-source software.
Offline-First
By default, SessionZero works completely offline. Your data is stored locally on your machine. No account required. No phoning home.
No BS
No AI chatbots, no ads, no bloat. We promise.
Online Accounts & Server Connections
All SessionZero accounts are created and managed on the official SessionZero servers, which is always free.
For hosting and playing in online game sessions, the application uses Godot's built in peer-to-peer networking capability:
Technical Details
- Client: Godot C#
- Backend (for accounts and SessionZeroDB): ASP.NET, PostgreSQL