# Lô Tô Online — Product Requirements Document (PRD) --- ## 1. Vision Mang trải nghiệm **Lô Tô truyền thống miền Nam** lên nền tảng Zalo Mini App với phong cách hoài niệm tuổi thơ: giấy cũ ố vàng, rổ tre, túi vải đen đựng số, hạt gạo đặt lên vé. Người chơi tự tay bấm đặt hạt gạo — đúng sai tự chịu, giữ nguyên cảm giác hồi hộp của Lô Tô đời thực. **MVP đầu tiên** sẽ chạy trên **web (mobile-first)** để thử nghiệm, sau đó chuyển sang **Zalo Mini App** khi ổn định. --- ## 2. Target Users | Persona | Mô tả | |---|---| | Người Việt 20–45 tuổi | Lớn lên với Lô Tô, muốn hoài niệm | | Nhóm bạn / gia đình | Chơi giải trí online cùng nhau | | Casual gamer | Thích game đơn giản, may rủi, vui nhộn | --- ## 3. Core Game Rules (Lô Tô truyền thống) ### 3.1 Vé Lô Tô - Bảng **3 hàng × 9 cột** = 27 ô - Mỗi hàng có đúng **5 ô số** + 4 ô trống - Số từ **1–90**, mỗi cột chứa số thuộc hàng chục tương ứng (cột 1: 1–9, cột 2: 10–19, …, cột 9: 80–90) - Mỗi vé có **15 số** duy nhất, không trùng ### 3.2 Lượt chơi 1. Hệ thống **lắc túi vải** → **bốc 1 viên số** ngẫu nhiên (1–90, không lặp) 2. Hiển thị animation bốc số + **đọc số bằng giọng miền Nam** 3. Người chơi có **1–5 giây** (cài đặt khi tạo phòng) để **tự bấm đặt hạt gạo** vào ô tương ứng 4. Hết thời gian highlight → người hô đọc số tiếp, **không chờ** ai 5. Người chơi vẫn có thể **đặt muộn** (theo trí nhớ) bất cứ lúc nào ### 3.3 Điều kiện "Kinh" (Thắng) - Hoàn thành **1 hàng ngang** (5/5 ô số trong hàng đều có hạt gạo) - Hô **"Kinh!"** → hệ thống verify ### 3.4 Verify & Phạt | Trường hợp | Kết quả | |---|---| | Tất cả hạt gạo đúng ô đã bốc | ✅ **Thắng** — nhận tiền thưởng từ tất cả người thua. Nếu có nhiều người cùng Kinh đúng ở một lượt, tiền thưởng được **chia đều** | | Có ≥1 hạt gạo đặt nhầm ô (ô chưa được bốc) | ❌ **Phạt** — đền bằng **mức cược của phòng** cho **mỗi** người chơi còn lại | ### 3.5 Kết thúc ván - Khi có người **kinh hợp lệ** → ván kết thúc (hoặc kết thúc lượt bốc hiện tại để xét những người kinh cùng lúc) - Hoặc khi bốc hết 90 số mà chưa ai kinh → hoà (trả lại cược) --- ## 4. Features ### 4.1 Lobby & Phòng chơi | Feature | Chi tiết | |---|---| | Lobby công khai | Danh sách phòng đang chờ, lọc theo mức cược | | Tạo phòng | Chủ phòng cài đặt: mức cược, thời gian highlight (1–5s), số người (2–8) | | Vào phòng | Click vào phòng trong lobby | | Chờ & sẵn sàng | Tất cả sẵn sàng → bắt đầu | | Rời phòng | Rời giữa chừng = bỏ cuộc, mất cược | ### 4.2 Gameplay | Feature | Chi tiết | |---|---| | Lắc túi vải | Animation túi vải đen mềm mại + vật lý khi lắc | | Bốc số | Animation tay rút viên số từ túi ra | | Đọc số | Giọng đọc miền Nam truyền thống | | Đặt hạt gạo | Click vào ô trên vé → hạt gạo rơi xuống (animation) | | Đặt muộn | Vẫn bấm được sau khi hết highlight | | Hô kinh | Nút hô kinh khi nghĩ mình hoàn thành hàng | | Verify | Hệ thống kiểm tra → thắng hoặc phạt | ### 4.3 Economy (Hệ thống tiền tệ) | Feature | Chi tiết | |---|---| | Đơn vị tiền | **"Đồng"** (xu ảo) | | Nhận đồng miễn phí | Sự kiện hàng ngày, nhiệm vụ, hoạt động | | Nạp tiền | Mua đồng bằng tiền thật (IAP / Zalo Pay) | | Cược | Đặt cược khi vào phòng | | Thắng | Nhận cược từ tất cả người chơi thua | | Phạt kinh sai | Trả mức cược × số người chơi còn lại | ### 4.4 Profile & Xếp hạng | Feature | Chi tiết | |---|---| | Đăng nhập Zalo | Dùng Zalo account, lấy avatar + tên | | Profile | Tổng đồng, số ván thắng/thua, tỷ lệ thắng | | Lịch sử chơi | Danh sách ván đã chơi, kết quả, thời gian | | Bảng xếp hạng | Theo tổng đồng kiếm được | ### 4.5 Social (Trong phòng) | Feature | Chi tiết | |---|---| | Chat | Nhắn tin trong phòng chơi | | Reactions / Emoji | Gửi emoji nổi lên màn hình | ### 4.6 Audio | Feature | Chi tiết | |---|---| | Giọng đọc số | Giọng miền Nam, đọc từng số theo kiểu lô tô | | Nhạc nền | Vui tươi, gợi hoài niệm tuổi thơ | | SFX — đặt hạt gạo | Tiếng gạo rơi nhẹ | | SFX — đợi | Tiếng hò reo nhỏ, xì xào khi đợi | | SFX — kinh | La lên, pháo hoa, reo hò | | SFX — kinh sai | Tiếng thở dài, ồ tiếc nuối | --- ## 5. Art Direction (Phong cách hoài niệm) | Yếu tố | Chi tiết | |---|---| | **Nền** | Giấy cũ ố vàng, texture gỗ mộc | | **Vé lô tô** | Giấy carton cũ, viền tròn, chữ in mờ kiểu cũ | | **Túi số** | Vải đen mềm, animation vật lý khi lắc | | **Viên số** | Bi gỗ tròn, khắc số đỏ | | **Hạt gạo** | Hạt gạo trắng thật, có bóng đổ nhẹ | | **Rổ tre** | Đựng các viên số đã bốc | | **Font** | Handwritten / retro Việt Nam | | **Màu chủ đạo** | Nâu gỗ, vàng ố, đỏ đất, xanh lá cũ | --- ## 6. Platform & Technical Constraints | Hạng mục | Chi tiết | |---|---| | **MVP platform** | Web (mobile-first), responsive cho điện thoại | | **Production platform** | Zalo Mini App | | **Multiplayer** | Real-time (WebSocket) | | **Min players** | 2 | | **Max players** | 8 | | **Target device** | Mobile only | --- ## 7. Out of Scope (v1) - Tablet / Desktop optimized layout - Tournament mode - Friend list / invite via Zalo - Spectator mode - AI bot players - Multiple vé per player --- ## 8. Success Metrics | Metric | Target | |---|---| | Prototype hoàn chỉnh | Full gameplay + multiplayer + animation + audio | | Latency bốc số → hiện | < 200ms | | Animation FPS | ≥ 30fps trên mid-range phone | | Ván chơi trung bình | 3–8 phút |