mirror of
https://github.com/tiennm99/try-bmad.git
synced 2026-06-06 18:13:31 +00:00
docs: add success criteria and product scope to PRD
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
---
|
||||
stepsCompleted: ['step-01-init', 'step-02-discovery', 'step-02b-vision', 'step-02c-executive-summary']
|
||||
stepsCompleted: ['step-01-init', 'step-02-discovery', 'step-02b-vision', 'step-02c-executive-summary', 'step-03-success']
|
||||
inputDocuments:
|
||||
- '_bmad-output/brainstorming/brainstorming-session-2026-04-12-001.md'
|
||||
workflowType: 'prd'
|
||||
@@ -30,3 +30,63 @@ This project prioritizes craft over novelty. Rather than adding twists or unique
|
||||
- **Complexity:** Low — single-player, no backend, no auth, localStorage only
|
||||
- **Project Context:** Greenfield — new project from scratch
|
||||
- **Tech Stack:** Svelte + Vanilla JS + Tailwind CSS + Vite + GitHub Pages
|
||||
|
||||
## Success Criteria
|
||||
|
||||
### User Success
|
||||
|
||||
- Player can slide tiles in all 4 directions with responsive, satisfying feedback
|
||||
- Merge mechanics match the original exactly (leading-edge order, once-per-move rule)
|
||||
- Tile spawning follows the original's 90/10 probability split
|
||||
- Game feels smooth — animations at original timing (100ms slide, 200ms pop/bounce)
|
||||
- Score and best score tracked accurately across sessions
|
||||
- Playable on both desktop (keyboard) and mobile (touch/swipe)
|
||||
|
||||
### Business Success
|
||||
|
||||
Not applicable — this is a personal exploration/learning project with no business metrics. Success is measured by:
|
||||
- Completing a fully functional 2048 clone
|
||||
- Learning Svelte, Tailwind, and Vite through hands-on building
|
||||
- Deploying a playable game to GitHub Pages
|
||||
|
||||
### Technical Success
|
||||
|
||||
- Clean Svelte component architecture (App, Grid, Tile, ScoreBoard, GameMessage)
|
||||
- Game logic separated from UI (pure JS module, testable independently)
|
||||
- All CSS animations matching original timings
|
||||
- Responsive layout (500px desktop, 280px mobile)
|
||||
- localStorage persistence working correctly (game state + best score)
|
||||
|
||||
### Measurable Outcomes
|
||||
|
||||
- All original 2048 mechanics faithfully reproduced (merge rules, spawn rules, win/lose detection)
|
||||
- Game playable end-to-end: start → play → win/lose → restart
|
||||
- "Keep playing" mode works after reaching 2048
|
||||
- No visual glitches during slide/merge/spawn animations
|
||||
- Game state survives page refresh
|
||||
|
||||
## Product Scope
|
||||
|
||||
### MVP - Minimum Viable Product
|
||||
|
||||
- 4x4 grid with tile sliding and merging
|
||||
- Score and best score display
|
||||
- Keyboard input (arrows)
|
||||
- Win/lose detection with overlays
|
||||
- New Game button
|
||||
- Basic tile colors matching original
|
||||
|
||||
### Growth Features (Post-MVP)
|
||||
|
||||
- Touch/swipe input for mobile
|
||||
- Full animation suite (slide, pop, bounce, score float)
|
||||
- localStorage persistence (game state + best score)
|
||||
- Responsive design (desktop + mobile)
|
||||
- WASD and Vim key support
|
||||
- "Keep playing" mode after winning
|
||||
|
||||
### Vision (Future)
|
||||
|
||||
- Deploy to GitHub Pages
|
||||
- Tile glow effects on 128+ values
|
||||
- Polish: exact color matching, font sizing tiers, overlay fade timing
|
||||
|
||||
Reference in New Issue
Block a user