-
Notifications
You must be signed in to change notification settings - Fork 1
Product Description
PathKit is an all-in-one virtual GM Screen for the TTRPG Pathfinder 2e. Our project aims to eliminate the need for multiple notebooks and applications by offering a one-stop-shop solution for all game data, including NPC backstories, encounters, and shop information.
- Physics based dice roller
- GM customization options to all input
- Create Exploration or Encounter modes
- Add players/NPCS/Beasts/Shops
- Integrated search engine
- Notes Feature
- Apply damage to parties based on rolls with a button (shown in prototype demo)
- Take links from PathBuilder to easily add Player builds
- Tablet view (user can swipe between each portion of the screen, left/middle/right)
-
Locally Hosted: PathKit should not require a server login at this time, and should be hosted locally.
-
Performance: Information needs to be available instantly to the user.
-
Usability: UI Design should be intuitive and provide concise feedback for a better user experience.
-
Input Validation: PathKit should prevent invalid user input in its many customization features.
-
Technology: PathKit is instantiated using Tauri, a Rust based wrapper that builds an Executable from a React Vite Instance.
-
Documentation: Extensive documentation should cover how Users will set up their instance of PathKit, including instructions for running a local storage instance.
-
Minimum Viable Product (MVP): Create an MVP before looking at stretch goals that may improve functionality of the product. We have a tight timeline for production and need to stay on task.
- MVC architecture system with a React, Node.js, MariaDB Stack
- React instance front-end: We chose React for its familiarity and flexibility to be used across different devices, such as laptops and tablets, simultaneously.
- MariaDB: MariaDB is an excellent open source option with faster caching than standard MySQL, and it has become a built-in industry standard. It is also compatible with Dockerized instances and Tauri deployment.
- Tauri: We may package everything in a Tauri instance for easy installation, or explore a wrapper for a packaged install depending on further research.
- Node.js: Node.js is the standard way to communicate with servers when using React.
- Unity: Unity is the all-in-one game engine that will allow for easy implementation and maintenance of the physics-based dice roller.
| Likelihood | Impact | Evidence | Steps | Plan | Mitigation |
|---|---|---|---|---|---|
| High | High | The project relies on multiple APIs, tauri container, and complex technologies such as physics-based dice rolling, which can introduce technical dependencies and complexities. | Conduct a thorough technical feasibility analysis, identify potential dependencies and risks, establish clear communication channels with API providers, ensure proper documentation and version management. | Regular monitoring and testing of APIs and other dependencies, proactive communication with API providers, and conducting technical reviews and audits. | Have contingency plans in place for alternative APIs or technologies, and allocate additional resources or expertise to resolve technical dependencies promptly. |
| Medium | High | Integrating different components such as APIs, dockerized container, and complex front-end functionality can be challenging and may require significant effort and coordination. | Conduct thorough integration testing, establish clear communication channels among team members, ensure proper documentation of integration processes, and conduct regular reviews and testing. | Regular monitoring and testing of integrated components, tracking and addressing any integration-related issues or errors reported by users or team members. | Have contingency plans in place for handling integration challenges, allocate additional resources or expertise to resolve integration issues promptly, and prioritize critical functionality. |
| Medium | Medium | The project involves fully customizable user information, which can introduce complexities in managing and implementing customization options effectively. | Conduct thorough requirements gathering, design clear and scalable customization options, involve user feedback in the customization process, and maintain proper documentation. | Regular monitoring and testing of customization options, gathering user feedback, and addressing customization-related issues or errors reported by users. | Develop a robust and scalable customization framework, prioritize customization options based on project scope and timeline, and provide proper documentation and support for users to manage their customizations effectively. |
| Medium | High | The success of the project depends on user acceptance and adoption of the GM Screen by the target audience, which can be influenced by factors such as user preferences, ease of use, and familiarity with the system. | Conduct thorough user research and testing, involve target users in the design and development process, provide user-friendly and intuitive UI/UX, and offer proper documentation and support. | Gather user feedback, conduct user acceptance testing, and track user adoption and engagement metrics. | Continuously engage with users for feedback and improvements, provide user training and onboarding support, and address any usability or adoption challenges promptly. |
| High | Medium | Projects with complex functionalities and customization options are prone to scope creep, where additional features or requirements may be added during the development process, leading to increased complexity and timeline delays. | Establish clear project scope and requirements, conduct regular scope reviews, involve stakeholders in the decision-making process, and prioritize requirements based on project goals and timeline. | Conduct regular scope reviews, track changes in project requirements, and communicate any scope changes or additions with stakeholders. | Follow a change control process to manage scope changes effectively, prioritize requirements based on project goals and timeline. |
We will benefit from two main points of engagement:
-
When the front-end is prototyped we should ask users to test it for us to ensure high quality UX design. Lee has several friends that GM Pathfinder games, and they have kindly offered their feedback when needed for this. Luke has a friend that also GMs Pathfinder games he can consult. This should be prior to Alpha release to avoid issues.
-
When Beta-Release is finalized, we will want these same users to test the complete system by playing a one-shot short game with the product. (Perhaps the team will have to help by playing another round on Roll 20?)