Compare commits

..

16 Commits

5 changed files with 80 additions and 82 deletions

View File

@@ -1,9 +1,3 @@
<!--
Hey you! Yeah, you! What are ya, a web developer or something? Think my website sucks? Well, you're in luck! I'm always looking for feedback and improvements. If you have any suggestions, ideas, or just want to chat, hit me up at chrisbell@bellsworne.com. Happy adventuring!
© 2025 Bellsworne LLC. All rights reserved.
-->
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
@@ -33,74 +27,70 @@ Hey you! Yeah, you! What are ya, a web developer or something? Think my website
<main> <main>
<section class="hero"> <section class="hero">
<h1>About SessionZero</h1> <h1>About SessionZero</h1>
<p class="tagline">A free, open-source, and offline-first TTRPG companion for any game system.</p> <p class="tagline">A free, open-source, and system-agnostic TTRPG companion app.</p>
</section> </section>
<section class="content"> <section class="content">
<p>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 <strong>completely data-driven</strong> with user-generated content.</p> <p>SessionZero is built to be a flexible companion for any tabletop RPG system you want to run, whether that's a popular game or your own homebrew creation. The goal is simple: give you full control over your game data without getting in your way.</p>
<h2>Features</h2> <p>Your data should always belong to you. SessionZero is built around three principles: it works with any game system, it runs offline on your own device, and it's completely open source under the AGPL-3.0 license.</p>
<h2>How SessionZero Works</h2>
<div class="feature-detail"> <div class="feature-detail">
<h3>Offline-First, No Strings Attached</h3> <h3>Works With Any Game System</h3>
<p>By default, SessionZero works completely offline. Your data is stored locally on your machine. No account required. No phoning home. You have total ownership over your data.</p> <p>SessionZero uses something called Datapacks, which are basically packages that contain everything needed to play a specific game system, or just simply additional content that can be used anywhere. Think of them like expansion packs, but for the rules and content of your game. A Datapack includes things like character sheet templates, session templates, items, monsters, and whatever else the game needs. You can download Datapacks others have made, or create your own for any system you want to play.</p>
</div> </div>
<div class="feature-detail"> <div class="feature-detail">
<h3>Build Your Own Universe</h3> <h3>Runs Offline on Your Device</h3>
<p>You're the architect. Create templates for character sheets, define custom stats, and build your own collections (Datasets) of items, spells, monsters, or anything else your game needs. All data is stored in a human-readable format (SZF) that you can easily export, share, and back up.</p> <p>Everything lives on your device by default. Your characters, your notes, your campaigns, all stored locally. If you want to run a live game with friends online, you have two options: set up your own self-hosted server, or join an already established server that someone else is running. There's no company-run service in the middle, which means you're not dependent on anyone else to keep your games running.</p>
</div> </div>
<div class="feature-detail"> <div class="feature-detail">
<h3>Run Your Game, Your Way</h3> <h3>Live Sessions With Your Group</h3>
<p>Use SessionZero for your private, offline session notes, or host a live online game for your friends. As a Game Master, you can manage NPCs, track turns, and make real-time updates to character sheets. Players can join with their own characters and keep private session journals.</p> <p>SessionZero allows you to connect to a host via P2P using a direct IP address or using a room code generated by a small signaling server (yes, that too is self-hostable!) that can be sent to players.</p>
<p>When you're running a game, SessionZero helps you manage the session. Game Masters can track turn order, control NPCs, and update player information in real time. Players joining your game can keep their own private notes, view shared campaign information, and see updates as they happen. There's also a chat feature for quick communication during play.</p>
</div> </div>
<div class="feature-detail"> <div class="feature-detail">
<h3>Open Source and Transparent</h3> <h3>Open Source and Community-Driven</h3>
<p>SessionZero is open-source software. We believe in the right to see what's going on behind the scenes and contribute to the project. No AI chatbots, no ads, no bloat. We promise.</p> <p>The entire project is open source, which means anyone can look at the code, suggest changes, or build their own version. There's no tracking, no premium features locked behind paywalls, and no corporate interests. It's built by and for TTRPG lovers.</p>
</div> </div>
<h2>The SessionZeroDB</h2> <h2>Sharing Custom Content</h2>
<p>SessionZero includes access to the <strong>SessionZeroDB</strong>, a free online repository of user-created templates and datasets. When online, the application can automatically find and download required content for you.</p> <p>The SessionZeroDB is a content repository where users can download or share Datapacks.</p>
<h2>Online Play & Pricing</h2> <p>The goal is to make the repository self-hostable so that anyone can host one. Inside SessionZero you'll be able to list all the sources where you want to pull packages from. Optionally, repositories can allow being indexed by the official master repository so that their contents are visible and can be pulled from just the main source.</p>
<p>The core SessionZero application is, and always will be, <strong>free</strong>. For online play, you have two options:</p> <h2>Who This Is For</h2>
<div class="pricing-tier">
<h3>Self-Hosted Server (Free)</h3>
<p>For those who like to be in control, you can host our open-source server backend yourself. This allows you to create and join online sessions for free with your friends. You can connect to any unofficial server and never need to connect to the official servers or pay a fee.</p>
</div>
<div class="pricing-tier">
<h3>Official SessionZero Servers (Subscription)</h3>
<p>For convenience, you can connect to the official SessionZero servers. Hosting and joining sessions on the official servers requires a simple monthly subscription that helps us maintain the service and continue development.</p>
</div>
<h2>Who Is This For?</h2>
<ul> <ul>
<li>Players who want total control over their character sheets and game data</li> <li>Players and GMs who want complete control over their character sheets, notes, and game data.</li>
<li>Game Masters who want to run any system whether it's a popular RPG, niche indie game, or their own homebrew content</li> <li>Anyone frustrated with apps that are bloated, restrictive, or constantly trying to sell you something.</li>
<li>Anyone who's tired of apps that feel bloated, hard to learn, restrictive, or designed to constantly sell you something</li> <li>People who prefer tools that respect their privacy and don't require an internet connection.</li>
<li>Developers or hobbyists interested in tinkering with an open platform for tabletop gaming.</li>
</ul> </ul>
<h2>The Bottom Line</h2>
<p>SessionZero is about freedom, flexibility, and respecting your game. It's not here to sell you a bunch of digital add-ons or lock your data in a vault. It's a tool built to help you play.</p> <h2>What SessionZero is <em>NOT</em></h2>
<div class="cta-section"> <p>SessionZero is <b>not</b> a replacement for your official rulebooks or published modules. It's a companion tool for managing characters and sessions using content you create or source yourself. There's no monetization of user content, no digital storefront, and no official content sales by design. SessionZero's objective is helping you organize and play the games you already own or create yourself.</p>
<h3>Ready to Get Started?</h3> </section>
<p><a href="https://web.sessionzero.app" class="cta-button">Open SessionZero</a></p>
<p class="cta-subtitle"><em>No account required. No installation needed. Just start playing.</em></p> <section class="pricing-preview">
<h2>Ready to get started?</h2>
<div class="pricing-content">
<p>SessionZero is currently in development, but you can visit the Git repo to get the latest development build or view the source code!</p>
<p><a class="learn-more-link" href="https://git.bellsworne.tech/Bellsworne/SessionZero-Client">Get SessionZero →</a></p>
</div> </div>
</section> </section>
</main> </main>
<footer> <footer>
<p>&copy; 2025 Bellsworne LLC. | Made with ❤️ by <a href="https://bellsworne.com/tech">Bellsworne Tech</a> | <a href="https://blog.sessionzero.app">Blog</a></p> <p>&copy; 2025 Bellsworne LLC. | Made with ❤️ by <a href="https://bellsworne.com/tech">Bellsworne Tech</a> | <a href="https://blog.sessionzero.app">Blog</a></p>
<a href="https://www.buymeacoffee.com/bellsworne"><img src="https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=&slug=bellsworne&button_colour=5b89b3&font_colour=ffffff&font_family=Cookie&outline_colour=ffffff&coffee_colour=FFDD00" /></a>
</footer> </footer>
</div> </div>
</body> </body>

View File

@@ -1,7 +1,7 @@
# SessionZero Design Doc # SessionZero Design Doc
***© Bellsworne LLC 2025*** ***© Bellsworne LLC 2025***
***Last modified by Christopher Bell on July 14th 2025*** ***Last modified by Christopher Bell on August 14th 2025***
## About SessionZero ## About SessionZero
@@ -73,7 +73,7 @@ SessionZero uses a custom, human-readable data format called SZF for all data ty
SessionZero is **FREE**. No account or subscription fees are required for the core application. SessionZero is **FREE**. No account or subscription fees are required for the core application.
### Open Source ### Open Source
SessionZero is first and foremost **open-source software**. We believe in the right to see what's going on behind the scenes. SessionZero is first and foremost **open-source software**.
### Offline-First ### Offline-First
By default, SessionZero works **completely offline**. Your data is stored locally on your machine. No account required. No phoning home. By default, SessionZero works **completely offline**. Your data is stored locally on your machine. No account required. No phoning home.
@@ -85,11 +85,9 @@ No AI chatbots, no ads, no bloat. We promise.
All SessionZero accounts are created and managed on the official SessionZero servers, which is always free. 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 lets you choose which server to connect to. This is where the self-host option comes in: For hosting and playing in online game sessions, the application uses Godot's built in peer-to-peer networking capability:
* **Self-Hosted Server (Free):** Host our open-source server backend yourself. This allows you to create and join online sessions without a subscription.
* **Official Session Servers (Subscription):** For convenience, connect to the official SessionZero servers. Access for hosting and joining sessions requires a monthly subscription.
## Technical Details ## Technical Details
- **Client:** Avalonia C# - **Client:** Godot C#
- **Server:** ASP.NET, PostgreSQL - **Backend (for accounts and SessionZeroDB):** ASP.NET, PostgreSQL

View File

@@ -1,9 +1,3 @@
<!--
Hey you! Yeah, you! What are ya, a web developer or something? Think my website sucks? Well, you're in luck! I'm always looking for feedback and improvements. If you have any suggestions, ideas, or just want to chat, hit me up at chrisbell@bellsworne.com. Happy adventuring!
© 2025 Bellsworne LLC. All rights reserved.
-->
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
@@ -26,21 +20,20 @@ Hey you! Yeah, you! What are ya, a web developer or something? Think my website
<a href="about.html">About</a> <a href="about.html">About</a>
<a href="https://blog.sessionzero.app">Blog</a> <a href="https://blog.sessionzero.app">Blog</a>
</div> </div>
Future </div>
</nav> </nav>
</header> </header>
<main> <main>
<section class="hero"> <section class="hero">
<h1>SessionZero</h1> <h1>SessionZero</h1>
<p class="tagline">Open Source TTRPG Tools, Built for You</p> <p class="tagline">A TTRPG companion that gets out of your way</p>
<p style="margin-top:2rem; color:var(--neutral-medium); font-size:1.1rem;"> <p style="margin-top:2rem; color:var(--neutral-medium); font-size:1.1rem;">
SessionZero is a free, open-source, and offline-first companion for any tabletop RPG. SessionZero is a free and open-source companion application for any tabletop RPG needs.
</p> </p>
<p>⚠️ SessionZero is still in development, but you can try it out as it grows! ⚠️</p> <a href="about.html">Learn more →</a>
<a href="https://web.sessionzero.app">Open SessionZero</a>
</section> </section>
<section class="features"> <section class="features">
@@ -48,43 +41,60 @@ Hey you! Yeah, you! What are ya, a web developer or something? Think my website
<div class="feature-grid"> <div class="feature-grid">
<div class="feature-card"> <div class="feature-card">
<h3>Truly Open</h3> <h3>Truly Open</h3>
<p>SessionZero is 100% open source. Inspect, modify, and contribute to the code. No secrets, no hidden fees—just community-driven software.<br> <p>SessionZero is 100% FOSS (Free and Open Source Software). Inspect, modify, and contribute to the code. No secrets, just community-driven software.</p>
<span style="color:var(--accent-color);">Transparency and freedom.</span></p>
</div> </div>
<div class="feature-card"> <div class="feature-card">
<h3>Completely Data-Driven</h3> <h3>Completely Data-Driven</h3>
<p>Everything is user-generated: items, NPCs, monsters, and more. Build your own datasets and templates for any system.<br> <p>Everything is user-generated: items, NPCs, monsters, and more. Build your own datasets and templates for any system.
<span style="color:var(--accent-color);">Total flexibility, no limits.</span></p> </p>
</div> </div>
<div class="feature-card"> <div class="feature-card">
<h3>Offline-First, Always Yours</h3> <h3>Offline-First, Always Yours</h3>
<p>SessionZero works fully offline by default. All your data stays on your device unless you choose otherwise.<br> <p>SessionZero works fully offline by default. All your data stays on your device unless you choose otherwise.</p>
<span style="color:var(--accent-color);">No account required.</span></p>
</div> </div>
</div> </div>
</section> </section>
<section class="open-source-highlight"> <section class="features">
<h2>Forever Open Source</h2> <h2>Main Features</h2>
<div class="open-source-content"> <div class="feature-grid">
<p>SessionZero is built by and for the community. The code is public, the roadmap is open, and your ideas shape the project. Fork it, contribute, or just use it, your choice.</p> <div class="feature-card">
<p> <h3>Datapacks</h3>
<a href="https://github.com/bellsworne/sessionzero" class="learn-more-link">View the code on GitHub →</a> <p>The foundation of the app. A Datapack (.szp file) is a user-generated, self-contained archive that bundles all the rules, templates, and datasets (items, spells, monsters) for a specific TTRPG system or module. Create, import, and share content easily.</p>
</p> </div>
<div class="feature-card">
<h3>Characters</h3>
<p>Create and manage your TTRPG characters using flexible, user-defined Templates. All your character data is stored locally as an Instance, giving you total control and ownership over your heroes, no matter the game system.</p>
</div>
<div class="feature-card">
<h3>Sessions</h3>
<p>Set up a campaign using a user-defined Session Template. GMs can manage NPCs, track turn order, and update character sheets in real-time. Players can join a shared session or use the app privately for offline notes and journals.</p>
</div>
</div> </div>
</section> </section>
<section class="pricing-preview"> <section class="pricing-preview">
<h2>Free Forever</h2> <h2>Ready to get started?</h2>
<div class="pricing-content"> <div class="pricing-content">
<p>The core app is <strong>free forever</strong> and open source. Use it offline, create and manage your own content, and download from the community. Want to host or join online games? Self-host for free, or use our official servers with a subscription for extra convenience.</p> <p>SessionZero is currently in development, but you can visit the Git repo to get the latest development build or view the source code!</p>
<p><a href="about.html" class="learn-more-link">Learn more about features and pricing</a></p> <p><a class="learn-more-link" href="https://git.bellsworne.tech/Bellsworne/SessionZero-Client">Get SessionZero</a></p>
</div>
</section>
<section class="pricing-preview">
<h2>Support Development of SessionZero!</h2>
<div class="pricing-content">
<p>SessionZero is currently being developed by a single developer (me!) in my spare time from work and other life duties. This project is a massive undertaking with all of the complex systems all while trying to keep the whole thing open-source and future-proof.</p>
<p>If you want to help out and can spare a few bucks, you can donate using my `Buy Me A Coffee` page! Any and all donations are a huge help, and could even help bring this passion project to life even faster. Thank you!</p>
<p>~ Chris Bell, Developer of SessionZero</p>
<a href="https://www.buymeacoffee.com/bellsworne"><img src="https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=&slug=bellsworne&button_colour=5b89b3&font_colour=ffffff&font_family=Cookie&outline_colour=ffffff&coffee_colour=FFDD00" /></a>
</div> </div>
</section> </section>
</main> </main>
<footer> <footer>
<p>&copy; 2025 Bellsworne LLC. | Made with ❤️ by <a href="https://bellsworne.com/tech">Bellsworne Tech</a> | <a href="https://blog.sessionzero.app">Blog</a></p> <p>&copy; 2025 Bellsworne LLC. | Made with ❤️ by <a href="https://bellsworne.com/tech">Bellsworne Tech</a> | <a href="https://blog.sessionzero.app">Blog</a></p>
<a href="https://www.buymeacoffee.com/bellsworne"><img src="https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=&slug=bellsworne&button_colour=5b89b3&font_colour=ffffff&font_family=Cookie&outline_colour=ffffff&coffee_colour=FFDD00" /></a>
</footer> </footer>
</div> </div>
</body> </body>

View File

@@ -119,7 +119,7 @@ h1 {
padding: 0.75rem 1.5rem; padding: 0.75rem 1.5rem;
border-radius: 4px; border-radius: 4px;
transition: background-color 0.2s ease; transition: background-color 0.2s ease;
min-width: 70%; min-width: 40%;
} }
.hero a:hover { .hero a:hover {
@@ -258,7 +258,7 @@ a:hover {
.learn-more-link { .learn-more-link {
display: inline-block; display: inline-block;
background-color: var(--accent-color); background-color: var(--primary-color);
color: var(--button-text) !important; color: var(--button-text) !important;
padding: 0.75rem 1.5rem; padding: 0.75rem 1.5rem;
border-radius: 4px; border-radius: 4px;
@@ -268,7 +268,7 @@ a:hover {
} }
.learn-more-link:hover { .learn-more-link:hover {
background-color: var(--primary-color); background-color: var(--secondary-color);
color: var(--button-text) !important; color: var(--button-text) !important;
} }