A Christ-centered arrow puzzle game with faith-based themes, where players tap directional vines to slide them off a grid in Snake-like movement. Body segments follow as a queue, and blocked vines animate back with scriptural encouragement.
"God's grace is endlessโtry again!"
- ๐ Snake-Like Movement: Vines slide in head direction with body segments following as queue
- ๐ Grace System: 3 Grace per level (4 for Transcendent) with faith-based messaging
- ๐ Module Structure: 5 modules with 15 levels each, unlocking the parables of Jesus
- ๐จ Adaptive Themes: Light/dark mode with watercolor faith garden aesthetics
- ๐ฏ Strategic Depth: Dynamic blocking where clearing one vine unblocks others
- ๐ฑ Cross-Platform: iOS & Android support with 60 FPS performance
- Flutter: 3.24+ (Installation Guide)
- Dart: 3.0+
- Platform Tools: Xcode (iOS) or Android SDK (Android)
-
Clone the repository
git clone https://github.com/eng618/parable-bloom.git cd parable-bloom -
Install dependencies
flutter pub get
-
Run the app
task run
This project uses Taskfile to manage development workflows. It is highly recommended to install it:
brew install go-taskCommon commands:
task setup: Initial project setup (dependencies, etc.)task run: Run the web applicationtask test:all: Run all tests across all modules (vianx)task validate: Full project health check (lint, test, build vianx)nx run parable-bloom:build: Build specific projectnx run-many -t test: Run tests across all projects
iOS Development:
# Install iOS dependencies (precache + pod install)
task setupAndroid Development:
# Accept Android licenses
flutter doctor --android-licensesCore Loop:
- Tap directional vines on the grid
- Slide in head direction with body following as queue
- Clear all vines to "bloom" the level
- Progress through modules unlocking the parables of Jesus
Difficulty Tiers:
- ๐ฑ Seedling: Gentle introduction (9x9 grids)
- ๐ฟ Nurturing: Growing complexity (9x12 grids)
- ๐ณ Flourishing: Full bloom challenges (12x16 grids)
- โจ Transcendent: Eternal harmony (16x20 grids, 4 Grace)
parable-bloom/
โโโ apps/
โ โโโ parable-bloom/ # Flutter application
โ โ โโโ lib/ # Flutter source code
โ โ โโโ assets/ # Game assets & levels
โ โ โโโ test/ # Platform tests
โ โ โโโ android/ios/... # Platform-specific code
โ โโโ parable-bloom-site/ # Next.js marketing and policy site
โโโ tools/
โ โโโ level-builder/ # Go-based level generation tools
โโโ scripts/ # Workspace-wide utility scripts
โโโ documentation/
โ โโโ GAME_DESIGN.md # Game design document
โ โโโ ARCHITECTURE.md # Technical architecture
โโโ nx.json # Nx workspace configuration
# Run all tests (Flutter + Tools)
task test:allMulti-platform Release:
task release:web
task release:android
task release:iosSingle Component Builds (with caching):
task build:all # Builds Flutter web, Level Builder, and Next.js site- ๐ฎ Game Design Document - Complete mechanics, features, and design philosophy
- ๐๏ธ Architecture Guide - State management, persistence, and Firebase roadmap
- ๐ API Reference - Generated API docs
- ๐ Release Process - Automated release and deployment guide
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project follows the Flutter Style Guide. Run:
# Format and fix issues across all modules
task validate:fix
# Check for issues without fixing
task validateThis project is licensed under the MIT License - see the LICENSE file for details.
- Flutter & Flame: Amazing open-source frameworks powering this game
- Faith Community: For inspiration and devotional guidance
- Game Dev Community: For sharing knowledge and best practices
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: ParableBloom@garciaericn.com
Made with โค๏ธ and Flutter