Quản lý game
Thư viện game mẫu: nhận build, kiểm thử, duyệt phiên bản, khai báo tham số cấu hình, skin theo theme, kênh hỗ trợ và ngân hàng câu hỏi — để campaign chọn game mà không cần lập trình.
Mục tiêu
| Mục tiêu | Chỉ số đo | Ngưỡng MVP |
| Dựng campaign không cần lập trình | Campaign phải sửa code game để chạy | 0 — mọi khác biệt đi qua tham số và skin |
| Campaign đang chạy không bị thay đổi ngầm | Lần game đổi hành vi giữa campaign mà không có người duyệt | 0 |
| Game mới lên thư viện có kiểm soát | Thời gian từ nhận build đến phát hành (không lỗi chặn) | ≤ 5 ngày làm việc |
| Không phát hành game chưa thử trên kênh | Phiên bản phát hành thiếu biên bản kiểm thử của kênh được bật | 0 |
Ngoài phạm vi
- Lập trình game, công cụ dựng game kéo-thả.
- Chọn game, đặt giá trị tham số, cơ cấu giải cho từng đợt — làm ở Campaign.
- Vòng đời phiên chơi, tính điểm, hợp đồng sự kiện — Khung game.
- Luật, màn hình từng game — 10 game mẫu.
Thư viện game mẫu
Thư viện khởi tạo bằng 10 game mẫu; luật và rủi ro từng game ở 10 game mẫu. Bảng dưới chỉ là thông tin quản lý.
| # | Game mẫu | Cơ chế | Chế độ | Mô hình thiết bị | Độ sẵn sàng | Đợt |
| 1 | Bứt tốc 10 giây | Kỹ năng | 1 người | A · B | Sẵn sàng | MVP |
| 2 | Chạm chớp nhoáng | Kỹ năng | 1 người | A · B | Sẵn sàng | MVP |
| 3 | FPT Signal Hunt | Kỹ năng | 1 người | D | Cần kiểm thử | Đợt 2 |
| 4 | Cáo Goalkeeper | Kỹ năng | 1 người | C | Phụ thuộc mạng | Đợt 2 |
| 5 | FPT Air Kick | Kỹ năng | 1 người | D | Thử nghiệm | Thử 1 điểm |
| 6 | Cáo đối đầu | Kỹ năng + may mắn | 2 người | C | Phụ thuộc mạng | Đợt 2 |
| 7 | Cáo gom lộc | Kỹ năng | Nhiều người | A (+TV) | Sẵn sàng | MVP |
| 8 | Cáo bay bằng giọng nói | Kỹ năng | 1 người | A | Thử nghiệm | Thử nghiệm |
| 9 | Cây lời chúc | Không thắng thua | Nhiều người | C | Sẵn sàng | MVP |
| 10 | Photobooth | Không thắng thua | 1 nhóm | D | Sẵn sàng | Đợt 2 |
Phân loại theo cơ chế, chế độ, mô hình: Khung game. Đợt phát hành chốt ở Lộ trình. Vòng quay, lật thẻ, cào thẻ, đố vui chưa có trong 10 game mẫu — xem Q-QLG-01.
Vai trò & quyền
Tên vai trò lấy đúng theo Vai trò người dùng.
| Vai trò | Xem thư viện | Tải build / sửa game mẫu | Duyệt phát hành | Bật / tắt | Ngân hàng câu hỏi |
| Quản trị hệ thống | ✓ | ✓ | ✓ (không duyệt bản mình tải lên) | ✓ | ✓ |
| Quản lý campaign | ✓ (chỉ bản Đã phát hành) | — | — | — | ✓ tạo / sửa bộ câu hỏi |
| Người duyệt | ✓ | — | ✓ duyệt bộ câu hỏi | — | Duyệt |
| Nhân viên booth | — | — | — | — | — |
| Người xem báo cáo | ✓ | — | — | — | — |
Đội game / đối tác bên ngoài không có tài khoản quản trị : gửi build qua Quản trị hệ thống. Xem Q-QLG-02.
User stories
| Mã | Là… | Tôi muốn… | Để… | Ưu tiên |
| US-QLG-01 | Quản trị hệ thống | tải lên build game kèm manifest | thêm game mới không sửa nền tảng | Must |
| US-QLG-02 | Quản trị hệ thống | ghi kết quả kiểm thử theo từng kênh | chỉ bật kênh đã thử đạt | Must |
| US-QLG-03 | Quản trị hệ thống | khai báo tham số, giá trị mặc định và miền cho phép | campaign chỉnh mà không phá game | Must |
| US-QLG-04 | Quản lý campaign | xem game nào chạy được trên kênh và thiết bị của mình | chọn đúng game cho sự kiện | Must |
| US-QLG-05 | Quản lý campaign | chọn skin theo theme orange / blue / green và thay ảnh trong khung cho phép | game hợp chương trình (Tết, bóng đá, Hi FPT) | Must |
| US-QLG-06 | Quản lý campaign | xem trước game với tham số và skin đã chọn | thấy đúng cái người chơi sẽ thấy | Must |
| US-QLG-07 | Quản trị hệ thống | tắt khẩn một phiên bản lỗi | chặn thiệt hại khi game bị lợi dụng | Must |
| US-QLG-08 | Quản lý campaign | tạo bộ câu hỏi đố vui về dịch vụ FPT, nhập từ file | dùng lại cho nhiều campaign | Should |
| US-QLG-09 | Quản lý campaign | được báo khi game mẫu có phiên bản mới | chủ động nâng cấp cho campaign sau | Could |
Ưu tiên theo MoSCoW: Must · Should · Could · Won't (đợt này).
Luồng chính
Thêm game mới / phiên bản mới
- Đội game / đối tác bàn giao gói build (web bundle) + manifest: tên, cơ chế, chế độ, mô hình thiết bị, kênh hỗ trợ, tham số (mặc định, miền), trần điểm và tần suất thao tác, sự kiện hỗ trợ, skin, ghi chú thay đổi.
- Quản trị hệ thống tải lên → hệ thống kiểm tra tự động: manifest đủ trường, dung lượng gói, đủ 3 theme, phát đủ sự kiện bắt buộc trong chạy thử tự động → phiên bản Nháp.
- Kiểm thử thủ công trên từng kênh khai báo theo checklist (mục Quy tắc) → ghi biên bản đạt/không đạt từng kênh → Đang kiểm thử.
- Đủ biên bản cho ít nhất 1 kênh → gửi duyệt → Chờ duyệt.
- Quản trị hệ thống khác người tải lên duyệt → Đã phát hành; chỉ kênh có biên bản đạt được bật.
- Campaign mới thấy phiên bản này. Campaign cũ giữ phiên bản đã gắn (BR-QLG-05).
Cấu hình game cho campaign
- Quản lý campaign chọn game mẫu → hệ thống gắn phiên bản Đã phát hành mới nhất hỗ trợ đủ kênh của campaign.
- Đặt giá trị tham số trong miền cho phép, chọn theme và skin, (đố vui) chọn bộ câu hỏi.
- Xem trước trên khung từng kênh → lưu vào campaign; duyệt cùng campaign — Campaign.
Màn hình
| Màn | Thành phần chính | Hành động | Ghi chú |
| Thư viện game | Thẻ game: ảnh, tên, cơ chế, chế độ, kênh (biểu tượng), phiên bản phát hành mới nhất, trạng thái bật/tắt; lọc theo kênh, mô hình, chế độ | Mở chi tiết, thêm game mẫu | Quản lý campaign chỉ thấy game bật |
| Chi tiết game mẫu | Mô tả, link luật ở 10 game mẫu, danh sách phiên bản, campaign đang dùng từng phiên bản | Tải phiên bản mới, bật/tắt game | |
| Chi tiết phiên bản | Manifest, bảng tham số, skin theo theme, ma trận kênh × kết quả kiểm thử, ghi chú thay đổi, lịch sử trạng thái | Ghi biên bản, gửi duyệt, duyệt / từ chối, tắt khẩn | |
| Xem trước | Khung kênh (kiosk 1080×1920, TV 1920×1080, mobile 390×844), chọn theme, tham số | Chơi thử — không trừ lượt, không quay thưởng thật | Dùng chung từ Campaign |
| Ngân hàng câu hỏi | Danh sách bộ câu hỏi: tên, chủ đề, số câu, trạng thái, campaign đang dùng | Tạo, nhập file, gửi duyệt, ngừng dùng | |
| Chi tiết bộ câu hỏi | Bảng câu: nội dung, đáp án, đáp án đúng, độ khó, giải thích | Thêm, sửa, xoá câu khi chưa duyệt | |
Mẫu khung kênh: Kênh triển khai (UI).
Quy tắc nghiệp vụ
Phiên bản & phát hành
| Mã | Quy tắc | Ví dụ |
| BR-QLG-01 | Số phiên bản dạng MAJOR.MINOR.PATCH, tăng dần, không tải lại số đã có | 1.2.0 → 1.2.1 |
| BR-QLG-02 | Gói build sau khi tải lên là bất biến; sửa gì cũng là phiên bản mới | |
| BR-QLG-03 | Người duyệt phát hành khác người tải lên | |
| BR-QLG-04 | Chỉ bật kênh có biên bản kiểm thử đạt. Biên bản theo checklist ra mắt ở Mẫu màn hình game + mục kiểm thử riêng: phát đủ sự kiện, server bắt được điểm vượt trần, chạy khi "Giảm chuyển động", (kiosk) chạy khi mất mạng | Game 8 chưa thử micro trên Zalo iOS → không bật Zalo |
| BR-QLG-05 | Campaign gắn một phiên bản cố định khi tạo. Phiên bản mới không tự áp dụng; đổi phiên bản = sửa campaign, đi lại luồng duyệt campaign | Campaign Tết chạy 1.2.0; ra 1.3.0 → Tết vẫn 1.2.0 |
| BR-QLG-06 | Không đổi phiên bản của campaign Đang chạy, trừ bản vá bảo mật cùng MAJOR.MINOR do Quản trị hệ thống áp, có ghi nhật ký và báo quản lý campaign | 1.2.0 → 1.2.1 vá lỗi điểm |
| BR-QLG-07 | Gói build: dung lượng ≤ 5 MB (Zalo Mini App có giới hạn gói), ảnh WebP, font subset, không tải tài nguyên từ máy chủ ngoài danh sách cho phép | |
Tham số & skin
| Mã | Quy tắc | Ví dụ |
| BR-QLG-08 | Mỗi tham số khai báo: tên hiển thị, kiểu (số / chọn / bật-tắt / danh sách), mặc định, min–max hoặc danh sách giá trị, đơn vị, có ảnh hưởng tính điểm hay không | Thời lượng: số, mặc định 10, 5–20, giây, có |
| BR-QLG-09 | Campaign chỉ đặt giá trị trong miền cho phép; ngoài miền bị chặn khi lưu | Bứt tốc: thời lượng 30s bị chặn (max 20) |
| BR-QLG-10 | Tham số an toàn (trần tần suất thao tác, trần điểm) không cho campaign sửa — chỉ đổi bằng phiên bản mới | Giới hạn 20 lần chạm/giây |
| BR-QLG-11 | Mỗi phiên bản phải có skin cho đủ 3 theme orange · blue · green. Campaign thay ảnh chỉ ở các ô manifest cho phép (nền, vật phẩm, khung ảnh), theo kích thước và dung lượng quy định | Ô "nền sân": WebP 1080×1920, ≤ 300 KB |
| BR-QLG-12 | Ảnh thay thế phải giữ logo FPT Telecom đúng chuẩn (≥ 150px ngang, đúng bản màu/âm bản) và không dùng màu lì xì cho UI | Theo Nền tảng thiết kế |
Bật/tắt & ngân hàng câu hỏi
| Mã | Quy tắc | Ví dụ |
| BR-QLG-13 | Tắt game mẫu: ẩn khỏi campaign mới; campaign đang dùng chạy tiếp | |
| BR-QLG-14 | Tắt khẩn phiên bản: mọi campaign dùng bản đó ngừng mở phiên mới ngay (≤ 1 phút); hệ thống báo quản lý campaign liên quan; campaign tự chuyển Tạm dừng | Phát hiện lỗi cộng điểm bất thường |
| BR-QLG-15 | Không xoá phiên bản đã từng gắn campaign; chỉ Ngừng dùng | Giữ để đối soát, tái dựng phiên |
| BR-QLG-16 | Câu hỏi: 2–4 đáp án, đúng 1 đáp án đúng, nội dung ≤ 120 ký tự, đáp án ≤ 40 ký tự | |
| BR-QLG-17 | Bộ câu hỏi phải duyệt trước khi gắn campaign; sửa bộ Đã duyệt = tạo bản mới, campaign đang chạy giữ bản cũ | Giá gói cước đổi → tạo bản mới |
| BR-QLG-18 | Số câu trong bộ ≥ 3 × số câu mỗi phiên, để mỗi phiên rút ngẫu nhiên khác nhau | Phiên 5 câu → bộ ≥ 15 câu |
| BR-QLG-19 | Đáp án đúng chỉ server đọc được — Khung game BR-GAME-12 | |
Trường dữ liệu
Game mẫu
| Trường | Kiểu | Bắt buộc | Ràng buộc | Ghi chú |
| Mã game | Chuỗi | ✓ | Duy nhất, GAME-01 | |
| Tên | Chuỗi | ✓ | ≤ 40 ký tự | Hiện cho người chơi |
| Mô tả ngắn | Văn bản | ✓ | ≤ 200 ký tự | |
| Cơ chế | Chọn | ✓ | May mắn · Kỹ năng · Kiến thức · Không thắng thua | |
| Chế độ | Chọn nhiều | ✓ | 1 người · 2 người · Nhiều người | |
| Mô hình thiết bị | Chọn nhiều | ✓ | A · B · C · D | |
| Ảnh đại diện | Ảnh | ✓ | WebP, 4:3, ≤ 300 KB | |
| Trạng thái | Chọn | ✓ | Bật · Tắt | |
Phiên bản game
| Trường | Kiểu | Bắt buộc | Ràng buộc | Ghi chú |
| Số phiên bản | Chuỗi | ✓ | BR-QLG-01 | |
| Gói build | Tệp | ✓ | BR-QLG-07 | Bất biến |
| Nguồn | Chuỗi | ✓ | Đội game nội bộ / tên đối tác | |
| Kênh hỗ trợ | Chọn nhiều | ✓ | kiosk · tv · web · app · zalo | Kênh bật = kênh có biên bản đạt |
| Tham số | Danh sách | — | BR-QLG-08 | |
| Trần kiểm tra | Nhóm số | Game kỹ năng | Trần điểm theo thời lượng, trần thao tác/giây, thời lượng min–max | Server dùng — Khung game |
| Skin | Nhóm tệp | ✓ | Đủ 3 theme, ô thay thế được | BR-QLG-11 |
| Sức chứa phòng, tối thiểu bắt đầu | Số | 2 / nhiều người | | Chế độ chơi |
| Biên bản kiểm thử | Danh sách | ✓ để phát hành | Kênh, thiết bị thử, người thử, ngày, đạt/không, tệp đính kèm | |
| Ghi chú thay đổi | Văn bản | ✓ | ≤ 1.000 ký tự | |
| Người tải lên, người duyệt, lúc | Tham chiếu, thời điểm | ✓ | BR-QLG-03 | |
Câu hỏi
| Trường | Kiểu | Bắt buộc | Ràng buộc | Ghi chú |
| Bộ câu hỏi | Tham chiếu | ✓ | | Bộ có: tên, chủ đề (Internet, FPT Play, Camera…), bản, trạng thái |
| Nội dung | Văn bản | ✓ | BR-QLG-16 | |
| Ảnh | Ảnh | — | WebP, ≤ 200 KB | |
| Đáp án | Danh sách | ✓ | 2–4 | |
| Đáp án đúng | Chỉ số | ✓ | Đúng 1 | Không gửi client |
| Độ khó | Chọn | ✓ | Dễ · Vừa · Khó | Tham số game có thể rút theo tỉ lệ độ khó |
| Giải thích | Văn bản | — | ≤ 200 ký tự | Hiện sau khi trả lời — cơ hội giới thiệu sản phẩm |
Trạng thái phiên bản game
Nháp→Đang kiểm thử→Chờ duyệt→Đã phát hành→Ngừng dùng·Tắt khẩn
Chưa có trong Thuật ngữ — cần bổ sung. Bộ câu hỏi dùng: Nháp → Chờ duyệt → Đã duyệt → Ngừng dùng.
| Từ | Sang | Ai / điều kiện |
| — | Nháp | Quản trị hệ thống tải lên, qua kiểm tra tự động |
| Nháp | Đang kiểm thử | Quản trị hệ thống ghi biên bản đầu tiên |
| Đang kiểm thử | Chờ duyệt | Có ≥ 1 kênh đạt |
| Chờ duyệt | Đã phát hành | Quản trị hệ thống khác người tải lên duyệt |
| Chờ duyệt | Đang kiểm thử | Bị từ chối, có lý do |
| Đã phát hành | Ngừng dùng | Quản trị hệ thống; không còn campaign Đang chạy dùng bản này |
| Đã phát hành | Tắt khẩn | Quản trị hệ thống, có lý do — BR-QLG-14 |
| Tắt khẩn | Đã phát hành | Quản trị hệ thống mở lại, có lý do |
Ngoại lệ & lỗi
| Tình huống | Hệ thống xử lý | Thông báo hiển thị |
| Manifest thiếu trường / sai định dạng | Từ chối tải lên | Danh sách trường lỗi |
| Gói quá dung lượng hoặc gọi máy chủ ngoài danh sách | Từ chối tải lên | "Gói 7,2 MB vượt giới hạn 5 MB" |
Chạy thử tự động không thấy sự kiện end | Giữ Nháp, không cho gửi kiểm thử | "Game không phát sự kiện end" |
| Campaign chọn kênh mà phiên bản không hỗ trợ | Không cho chọn game đó; gợi ý game khác | "Cáo bay chưa hỗ trợ Zalo" |
| Tắt game mẫu khi có campaign Chờ duyệt dùng nó | Cho tắt; cảnh báo danh sách campaign bị ảnh hưởng | Danh sách campaign + người phụ trách |
| File câu hỏi sai định dạng | Nhập phần hợp lệ khi người dùng xác nhận | Bảng dòng lỗi + lý do, tải về được |
Tiêu chí nghiệm thu
AC-QLG-01Cho campaign gắn phiên bản 1.2.0, khi phát hành 1.3.0, thì campaign vẫn chạy 1.2.0 và người chơi nhận đúng build 1.2.0.
AC-QLG-02Cho phiên bản do tài khoản A tải lên, khi A bấm duyệt, thì hệ thống chặn.
AC-QLG-03Cho phiên bản chỉ có biên bản đạt cho web, khi phát hành, thì campaign có kênh zalo không chọn được phiên bản đó.
AC-QLG-04Cho tham số thời lượng miền 5–20, khi quản lý campaign nhập 30, thì không lưu được và hiện miền cho phép.
AC-QLG-05Cho phiên bản đang dùng ở 3 campaign Đang chạy, khi Tắt khẩn, thì trong ≤ 1 phút cả 3 không mở được phiên mới và 3 quản lý campaign nhận thông báo.
AC-QLG-06Cho gói build thiếu skin theme green, khi tải lên, thì bị từ chối kèm lý do.
AC-QLG-07Cho xem trước game, khi chơi thử, thì không trừ lượt, không tạo lượt trúng, không trừ tồn quà.
AC-QLG-08Cho file 50 câu hỏi có 3 câu thiếu đáp án đúng, khi nhập, thì nhập 47 câu và trả 3 dòng lỗi.
AC-QLG-09Cho bộ câu hỏi Đã duyệt đang dùng ở campaign Đang chạy, khi sửa 1 câu, thì tạo bản mới ở trạng thái Nháp và campaign giữ bản cũ.
Câu hỏi mở
| # | Câu hỏi | Hỏi ai | Hạn | Trả lời |
| Q-QLG-01 | MVP có game may mắn (vòng quay, lật thẻ, cào thẻ) và đố vui không? 10 game mẫu chưa có, nhưng Thuật ngữ lấy ví dụ "Vòng quay, Đố vui". | FCM / Đội game | | |
| Q-QLG-02 | Có cần vai trò riêng "Quản lý game" (đội game nội bộ) thay vì dùng Quản trị hệ thống? Đối tác có được tài khoản tải build không? | PM / IT | | |
| Q-QLG-03 | Ai sở hữu ngân hàng câu hỏi: marketing FCM hay sản phẩm? Ai duyệt nội dung giá cước? | FCM | | |
| Q-QLG-04 | Giới hạn dung lượng gói Zalo Mini App thực tế? Nền tảng là một Mini App chứa nhiều game hay mỗi game một gói? | Kỹ thuật / Zalo | | |
| Q-QLG-05 | Bản vá bảo mật có được áp cho campaign Đang chạy không cần duyệt lại (BR-QLG-06)? | FCM / Người duyệt | | |
| Q-QLG-06 | Đợt phát hành của từng game mẫu (cột Đợt) — chốt ở Lộ trình. | PM | | |
Lịch sử thay đổi
| Bản | Ngày | Người sửa | Nội dung |
| 0.1 | 2026-11-11 | PM | Nháp khởi tạo |