SessionZero/Requirements and Specifications.md

5.8 KiB

SessionZero Requirements Specification

1. Executive Summary

1.1 Vision

A lightweight, flexible Virtual Tabletop (VTT) application that simplifies virtual tabletop roleplaying game management through an intuitive, game system-agnostic platform.

1.2 Project Objectives

  • Develop a user-friendly VTT alternative to complex existing platforms
  • Create a versatile tool supporting multiple roleplaying game systems through a more hands on, agnostic, and manual approach to game rules
  • Establish an open-source application with sustainable monetization potential

2. Market and Audience

2.1 Target Users

  • Casual tabletop RPG players
  • Game Masters seeking streamlined management tools
  • Role-playing groups desiring an intuitive and simple virtual play experience

3. Technical Architecture

3.1 Platform Support

  • Primary Platforms: Windows, Linux
  • Future Expansion: macOS support

3.2 Development Stack

Client

  • Technologies: Godot Engine .NET 4.4, SQLLite
  • Language(s): C#, gdscript

Server

  • Technologies: ASP.NET, PosgreSQL
  • Language(s): C#, HTML/CSS, JavaScript

4. Feature Requirements

4.1 Core Functionality (Alpha Release)

4.1.1 Character Management

  • Fully customizable character sheet creation
    • Flexible custom attribute system
    • Ability to add, modify, and remove attributes
    • Support for various RPG system structures due to nature of manual creation
  • Character Sheet Templates
    • Default D&D-style character sheet template
    • Customizable template creation and editing
    • Shareable custom character sheet formats
  • Comprehensive Character Details
    • Integrated inventory management system
    • Detailed player notes and documentation sections
    • Attribute tracking and modification
    • Background and character history storage

4.1.2 Game Session Management (Normal User)

  • Session Creation and Configuration
    • Create new game sessions
    • Customize character sheet templates for the session
    • Invite players via unique session links or codes
  • Session Management Tools
    • Player role assignment (Game Master, Player)
    • Access control and permissions
    • Session settings and configuration

4.1.3 Game Master Session Capabilities

  • Player Management
    • View and edit player character sheets
    • Manage player inventories
    • Add and track player status effects
    • Create private GM notes for players
  • NPC Management
    • Create and maintain NPC databases
    • Detailed NPC character sheets
    • NPC tracking and manipulation
  • Item Management
    • Comprehensive item database
    • Create, edit, and distribute items
    • Track item locations and distributions
  • Game Session Tools
    • Turn order tracking
    • Dynamic attribute manipulation
    • Party management system
    • Session-wide status tracking
  • Communication
    • In-game chat management
    • Private messaging capabilities

4.1.4 Player Session Capabilities

  • Character Sheet Interaction
    • Real-time character sheet management
    • View and update personal character details
    • Inventory management
  • Communication
    • In-game chat participation
    • View other players' status (limited by GM permissions)
    • Basic interaction tools

4.1.5 Server/Backend

  • Database
  • Users and authentication
  • p2p(?) for sessions
  • Multiple sessions can run on a single backend (Scalable for many users and sessions)
  • Friends
  • Online status
  • Messaging

4.2 Future Considerations (FC)

4.2.1 Grid and Token System

  • Visual Game World Representation
    • Tile-based world mapping
    • Token creation and management
    • Visual representation of characters, NPCs, and items
    • Real-time token movement and interaction

4.2.2 Marketplace Features

  • Plugin Marketplace
    • Community-developed plugins
    • Verified and user-rated plugins
    • Easy installation and management
  • Asset Marketplace
    • Character sheet templates
    • Token artwork packs
    • Item database expansions
    • NPC/Monster database collections
  • Monetization and Sharing
    • Free and premium assets
    • Creator attribution and compensation model

4.2.3 Advanced Plugin Support

  • Plugin Architecture
    • Standardized plugin development framework
    • API for deep application integration
    • Performance and security considerations
  • Plugin Types
    • Game system adaptors
    • Custom UI/UX enhancements
    • Advanced game management tools
    • Automation and dice rolling systems

4.3 Extensibility and Integration

  • Modular design to support future expansions
  • (FC) Plugin API for third-party development

5. User Experience Design

5.1 Design Principles

  • Minimize interface complexity
  • Emulate physical tabletop interaction
  • Achieve zero learning curve beyond game system
  • Prioritize intuitive interface design

5.2 Accessibility Considerations

  • Future multi-language support
  • Clean, minimalist user interface

6. Monetization Strategy

6.1 Open-Source Commitment

  • Core application remains fully open-source
  • Potential Revenue Streams:
    1. Premium hosting service
    2. Community asset marketplace commissions
    3. Donation and sponsorship model
    4. Optional advanced feature packages

7. Development Timeline

7.1 Alpha Release

  • Target Completion: November 2025
  • Focus: Essential character and game management functionality
  • Minimum Viable Product (MVP) approach

7.2 Potential Expansion Phases

  • Grid system implementation
  • Plugin ecosystem development
  • Asset marketplace creation
  • Extended platform support

8. Technical Constraints

  • Self-hostable backend infrastructure
  • System-agnostic design
  • No RPG system royalty dependencies
  • Lightweight, high-performance architecture

9. Risk Mitigation Strategies

  • Modular, extensible architecture
  • Flexible character sheet system
  • Community-driven development model

10. Success Evaluation Metrics

  • User adoption rates
  • Community engagement levels
  • Usability feedback
  • Performance and stability indicators