
# ZenTap Development Plan (Flutter + Flame)

## 📦 Development Environment

- **Framework**: Flutter with Flame game engine
- **IDE**: Visual Studio Code with Git integration and Copilot
- **Version Control**: Self-hosted Git server
- **Color Scheme Reference**: See `SCHEME_COLORS.md` for branding and UI colors

---

## 🚧 Project Phases and Tasks

### Phase 1: Project Initialization
**Goal**: Set up the project, environment, and dependencies

- [x] Create a new Flutter project with Flame integration
- [x] Set up `.gitignore` and push initial commit to Git server
- [x] Add and link `SCHEME_COLORS.md`
- [x] Configure basic folder structure: `/assets`, `/audio`, `/images`, `/game`, `/ui`, `/utils`
- [x] Add initial dependencies in `pubspec.yaml`:
  - `flame`
  - `flutter_bloc` or `provider` (using `flutter_bloc`)
  - `audioplayers` or `just_audio` (using `just_audio`)
  - `flutter_vibrate` (using `vibration`)

---

### Phase 2: Basic Game Structure
**Goal**: Build the main game loop and structure

- [x] Create main `ZenTapGame` class extending `FlameGame`
- [x] Add tap detection and response logic
- [x] Create main menu screen with "Play" and "Zen Mode" buttons
- [x] Implement navigation between menu and game scene
- [x] Use colors from `SCHEME_COLORS.md` for UI and background

---

### Phase 3: Bubble Pop Mode (MVP)
**Goal**: Implement the first interactive game mode

- [x] Design tappable bubble component with:
  - Animation on tap
  - Pop sound effect
  - Particle effects
- [x] Add score counter ("Relaxation Points")
- [x] Include game timer or infinite mode
- [x] Integrate background music

#### 🎨 Audio-Visual Asset List
- [x] Bubble popping sound (using system sounds as placeholder)
- [x] Ambient background music (loop) (framework implemented, placeholder)
- [x] Bubble sprite or animation sheet (procedural generation)
- [x] Pop animation particles

---

### Phase 4: UI and UX Polish
**Goal**: Enhance user experience and interface

- [x] Add relaxing background animations (e.g. flowing gradient)
- [x] Create settings menu (toggle music, haptics)
- [x] Add simple tutorial overlay
- [x] Use vibration on tap (optional toggle)

---

### Phase 5: Zen Mode
**Goal**: Create a no-score, purely aesthetic interaction mode

- [x] Disable score and timer
- [x] Enable fluid background animations
- [x] Allow users to freely interact with bubbles/slime
- [ ] Include option to switch music track or visual theme

#### 🎨 Additional Assets
- [ ] Alternative ambient track(s)
- [ ] Theme background images or color palettes
- [ ] Slime or sand textures

---

### Phase 6: Monetization and Settings
**Goal**: Add non-intrusive monetization and user customization

- [ ] Integrate optional rewarded ads (e.g. for unlocking themes)
- [x] Implement donation button
- [x] Store user settings locally (theme, sound, haptics)

---

### Phase 7: Final Testing & Polish
**Goal**: Stabilize the app and prepare for release

- [ ] Test across multiple devices
- [ ] Optimize asset sizes
- [ ] Finalize all UI with color scheme
- [ ] Conduct user feedback test sessions

---

### Phase 8: Release Preparation
**Goal**: Prepare store listing and deployment pipeline

- [ ] Create app icon and feature graphic
- [ ] Draft store listing text and screenshots
- [ ] Build signed release APK
- [ ] Push release to Git server and tag version

---

## 🧾 Notes

- Update the asset list in each phase
- Use `SCHEME_COLORS.md` consistently for all UI and theme decisions
- Focus on low-latency, smooth animations for all interactions
