Skip to content
git-parth-chPublic

About

Labyrinth is a flutter based cross-platform, massively multiplayer interactive fiction engine that uses time-decay algorithms to crowdsource branching narratives into a single canonical timeline and an infinite multiverse of alternate realities.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

Labyrinth

Note: This application is currently under active development and is considered a Minimum Viable Product (MVP). It is not yet ready for production use.

Labyrinth is a cross-platform mobile application built with Flutter that revolutionizes collaborative storytelling. It allows users to read, branch, and contribute to continuously evolving stories in a multiverse-style reading experience.

Core Features (MVP)

  • Discover Feed: Explore trending, new, and highly-rated story branches.
  • Reading Canvas: An immersive, distraction-free reading experience. No UI chrome, usernames, or timestamps while reading—the text is the interface.
  • Creator Studio: Contribute to the story! Features a strict 250-word limit per branch, live word-count tracking, and automated draft saving.
  • Multiverse Map: Visualize the complex, branching structure of a story and navigate between alternate timelines.
  • Offline Support: Smart read-ahead caching and offline draft saving powered by Hive.
  • Deep Linking: Every story node and crossroad has a unique labyrinth:// deep link for easy sharing.
  • Material 3 Design: Fully adaptive UI supporting system dark mode and Android 12+ dynamic wallpaper colors.

Tech Stack

  • Framework: Flutter & Dart
  • State Management: Riverpod (flutter_riverpod)
  • Routing: GoRouter (Shell routing & deep-link configuration)
  • Local Storage: Hive (NoSQL database for caching & drafts)
  • Networking: REST API Integration (via http / custom API Service)
  • Theming: Material 3 & Dynamic Colors

Getting Started

Because this project relies heavily on code generation for routing, state management, and data models, you must run the build runner before launching the app.

  1. Clone the repository
  2. Install dependencies:
    flutter pub get
  3. Run code generation:
    dart run build_runner build -d
  4. Run the app:
    flutter run

Version Control Notes

  • The .metadata file in the root directory is automatically generated by Flutter. It should be committed to GitHub. It tracks project properties and is required for the flutter upgrade command to properly update your Android and iOS build folders in the future.
  • Generated Dart files (*.g.dart, *.freezed.dart) are strictly ignored. If you encounter missing file errors, simply run the build runner command listed above.

About

Labyrinth is a flutter based cross-platform, massively multiplayer interactive fiction engine that uses time-decay algorithms to crowdsource branching narratives into a single canonical timeline and an infinite multiverse of alternate realities.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages