-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Zach Love edited this page May 14, 2022
·
2 revisions
This wiki is meant to provide background information, define the goals and structure of the platform, and serve as a quickstart guide for new contributors.
Daddy's Dungeon Tools is designed to be the de-facto supplement to your Dungeons and Dragons 5th Edition campaigns. It is inspired by the following D&D tools:
- 5e Tools - An excellent reference compendium for 5th edition
- Adventurer's Codex - A character sheet and campaign management tool
- Foundry VTT - A self-hosted virtual tabletop platform
- Roll20 - The most popular campaign management toolset
- D20 Pro - An alternative virtual tabletop platform
- Rolisteam - Virtual tabletop desktop application
- D&D Beyond - Official campaign management, reference, and virtual tabletop platform
- Beyond Tabletop - Campaign management webapp, also uses firebase!
- Obsidian Portal - Campaign management webapp
The goal of ddtools
is to take the "pen and paper" out of "pen and paper roleplay" by providing an all-in-one platform for managing your characters, running campaigns, balancing loot and xp, and playing through both roleplay and combat encounters.
-
ddtools
is not an automated Game Master. It is meant to simplify the process of running/playing campaigns by performing tedious actions (such as calculating damage rolls with many modifiers) automatically. - The platform should be as extensible as possible, provide the maximum number of options to its users, and be equally useful in both standard 5th Edition campaigns and fully custom homebrews.
- It should support custom items, equipment, weapons, spells, classes, and races.
- As such, interactions between classes, feats, spells, equipment, items, skills, and cantrips should never be hardcoded, and the DM/GM should be able to override interactions and attributes as needed.
- The platform should provide easily-accessible and accurate reference to all 5e information without enabling metagaming.
The platform is split into two parts:
-
ddtools-types
is a public npm package that provides Typescript interfaces and definitions for common elements, such as spell components or saving throws.- It is essentially just a collection of typescript definitions with minimal functionality.
-
ddtools-web
importsddtools-types
as a npm dependency and defines functionality that uses those interfaces.
ddtools-web
is a React JS single-page application (SPA).
- For our language, we use Typescript, which is JavaScript with static type syntax.
- Google Firebase provides all backend infrastructure and database management.
- We are using the following Firebase services:
- Authentication - Enables user accounts and secure log-in
- Firestore Database - The main database, used to store sensitive info
- Storage and Hosting - The platform that
ddtools-web
is hosted on - Functions - Grants more control over the platform and database
- For the frontend, we are using the Chakra UI CSS component library with Framer Motion for animations and transitions.
For more information, see the Getting Started page.