Welcome to Intelligent System Design Language! ā
Intelligent System Design Language (ISDL) is a custom programming language that enables you to create professional Virtual Tabletop Systems in hours, not months. It generates modern Foundry VTT systems compatible with Foundry V12 and V13 using cutting-edge web technologies.
ISDL provides both a VS Code extension and CLI tool for development, featuring syntax highlighting, intelligent validation, autocomplete, and seamless GitHub integration for publishing and sharing your systems.
⨠Key Features ā
šØ Modern User Interface ā
- Vue 3 + Vuetify powered reactive character sheets for smooth, responsive gameplay
- Source-side Theming - declare colors, fonts, borders, and sizing as
theme { }tokens (system-wide or per-field), with a sidecar SCSS escape hatch for bespoke atmosphere - Advanced DataTables with search, filter, sort, and drag-drop functionality - perfect for managing inventories and spell lists
- Edit vs Play Mode toggle for clear distinction between character building and gameplay
- Responsive Design optimized for desktop and tablet use
ā” Enhanced Active Effects ā
- Visual Editor integration for creating effects through the familiar Foundry interface
- Smart Targeting with automatic field detection and validation
- Condition Management with built-in status effect handling
š² Intelligent Game Mechanics ā
- Smart Dice Operations - multiply a d4 by 2 and get a d8, because that makes sense for tabletop games
- Enhanced Roll System showing detailed breakdowns with labeled components
- Crit & Fumble Flags - detect critical hits/fumbles by threshold or mark them yourself, with automatic green/red chat-card highlighting
- Dice Pool Inspection - count successes, detect specific faces, keep highest/lowest, and walk individual dice - perfect for World of Darkness, EZD6, and Shadowrun-style pools
- Keywords & Documentation - define game mechanics that auto-generate player reference journals
- Status Effects - conditional states with automatic application and visual indicators
- Conditional Visibility - show Ki trackers only for Monks, spell slots only for casters, etc.
- Resource Management with automatic token bar integration and damage application
š Seamless Publishing & Sharing ā
- GitHub Integration - authenticate, publish systems, and manage releases directly from VS Code
- Automated Versioning with semantic version detection based on your ISDL changes
- Gist Sharing for quick collaboration and system prototypes
- Quality Releases with auto-generated installation instructions and changelogs
š ļø Developer Experience ā
- VS Code Extension with full language support, syntax highlighting, and intelligent autocomplete
- CLI Tool for build automation and CI/CD integration
- Real-time Validation catching errors as you type
- Minimal Setup Needed so you can get started easily
š Quick Start ā
Ready to create your first system? Choose your preferred development environment:
š VS Code Extension (Recommended) ā
- Install the ISDL extension from the VS Code marketplace
- Create a new
.isdlfile and start coding with full intellisense support - Use
Ctrl+Shift+PāISDL: Generateto create your Foundry system - Connect to GitHub for easy publishing and sharing
š Learn More ā
šŖ Start Here:
- Getting Started - Installation and your first system
- Your First System - Complete step-by-step tutorial
š Core Concepts:
- Documents - Actors, items, pages, and sections
- Fields - All available field types and properties
- Theming & Styles - Colors, fonts, borders, and sizing from source
- Keywords & Journals - Game mechanics and automatic documentation
- Basic Logic - Variables, math, conditions, simple actions
- Advanced Logic - Functions, loops, complex automation
- Interactivity - User prompts, events, system integration
š Quick Reference:
- Recipes - Copy-paste solutions for typical RPG mechanics
- Logic Reference - Complete syntax and function reference
š Integration & Sharing:
- GitHub Integration - Publishing and sharing systems
- Config - System configuration and metadata
- Examples - Real system examples
šÆ Design Philosophy ā
1: Programming made easy, but still light programming ā
Systems like Simple World Building, Custom System Builder, and Sandbox all offer a no-code click based way to build out small lightweight systems.
ISDL is not nearly as complicated as developing a full Foundry system from scratch, but it is still a programming language. Basic familiarity with scripting languages as Javascript will be useful.
2: Do what makes sense ā
There are a lot of options and customization available, but if you use the default syntax it should provide a reasonable default.
When working with Datatypes like a list of Die size choices, most languages would reject self.DieSize += 1 - adding 1 to a string doesn't make sense for most languages. For ISDL, we raise the value to the next die size, because that's what makes sense for Tabletop games. Multiply a d4 by 2? Now you have a d8.
3: Just enough Typing ā
Some programming languages have no typing, meaning you can pass a number to something that expects a string and the function will have to deal with it - or error. Even simple typos can error.
Other languages provide fully enforced typing which protects you from these mistakes, but can add a lot of extra work doing type conversions and checks.
ISDL provides just enough typing to protect yourself from things like typos and errors, without requiring a ton of extra work.
Let's go! ā
Ready to start your system development?