A modular questline management system built with TypeScript and React. Easily define, manage, and visualize complex quest dependencies for games or gamified applications.
Note
Check out the wiki for detailed documentation on how to use and extend the quest system.
- Composable Questlines: Define quests and dependencies using a flexible schema.
- Recursive Logic: Supports complex, nested requirements and cascading quest states.
- Validation & Testing: Built-in guidelines for robust quest logic and UI testing.
- Responsive UI: Works seamlessly across desktop and mobile devices.
- Browse and interact with questlines in the UI.
- Add or modify quests by editing files in
components/quests/. - All quest logic is defined in TypeScript for type safety and maintainability.
- Navigate Questlines: Browse questlines in the left sidebar
- View Quest Details: Click any quest to see comprehensive information
- Track Progress: Monitor completion percentages and statistics
- Explore Dependencies: Use the dependency graph to understand quest relationships
- Submit Solutions: Use the submission info to get your solutions recognized globally
- Create a new TypeScript file in
components/quests/ - Define your questline following the schema
- Export it as a named export
- Import and add to the main data array in
all_quests.tsx
- Locate the appropriate questline file
- Update quest data following schema guidelines
- Ensure all validation passes
- Test complex logic conditions and recursive scenarios thoroughly
- Dependency Testing: Verify requirement chains work as expected
- Logic Testing: Test all boolean conditions with various quest states
- Recursive Must Requirement Testing: Test cascading failure scenarios thoroughly, including deep chains
- Edge Case Testing: Test unusual combinations of quest states
- UI Testing: Ensure changes display correctly in all views
- Mobile Testing: Verify responsive behavior on mobile devices
- Performance Testing: Test system performance with complex recursive scenarios
This project is licensed under the MIT License - see the LICENSE file for details.
Tip
For technical support or questions about quest design, please refer to the comprehensive examples above or examine the existing quest files in the codebase with help from the below guide.