Khung game chung
Quy tắc áp dụng cho mọi game mẫu: phân loại, lượt chơi, vòng đời phiên chơi, tính điểm, quay thưởng, màn kết quả và hợp đồng giữa game với nền tảng.
Mục tiêu
| Mục tiêu | Chỉ số đo | Ngưỡng MVP |
| Mọi game cắm vào nền tảng theo một cách | Số thay đổi phía nền tảng khi thêm game mẫu mới | 0 — chỉ cần build đúng hợp đồng ở mục Hợp đồng |
| Kết quả không bị sửa từ phía client | Lượt trúng sinh từ điểm/kết quả client gửi mà chưa qua kiểm tra server | 0 |
| Người chơi biết kết quả ngay sau phiên | Thời gian từ sự kiện end đến hiện màn kết quả | ≤ 2 giây ở p95 |
| Không mất lượt vì lỗi hệ thống | Phiên Bỏ dở do lỗi nền tảng mà không được trả lượt | 0 |
Ngoài phạm vi
Phân loại game
Mỗi game mẫu gắn đủ 3 trục khi vào thư viện (Quản lý game).
Theo thiết bị
| Mô hình | Thiết bị | Kênh (data-platform) | Game mẫu |
| A · Chỉ điện thoại | Điện thoại người chơi; desktop với web | web · app · zalo | 1, 2, 7, 8 |
| B · Booth | Kiosk đứng hoặc TV + nút arcade | kiosk · tv | 1, 2 |
| C · TV + điện thoại làm tay cầm | TV hiển thị, điện thoại quét QR để điều khiển | TV: tv · ĐT: zalo/web | 4, 6, 9 |
| D · TV + webcam | TV + camera + máy tính có GPU | tv | 3, 5, 10 |
Yêu cầu riêng từng kênh: Activation offline · Website & mobile · Zalo Mini App.
Theo tương tác
1 người · 2 người · nhiều người — so sánh và quy tắc phòng ở Chế độ chơi. Mỗi người trong phòng có phiên chơi riêng và tiêu lượt chơi riêng.
Theo cơ chế
| May mắn | Kỹ năng | Kiến thức |
| Ví dụ | Vòng quay, cào thẻ, lật thẻ | Bứt tốc 10 giây, Chạm chớp nhoáng, Cáo gom lộc | Đố vui về dịch vụ FPT |
| Kết quả do ai quyết | Server, ngay khi người chơi bấm (hoạt cảnh chỉ diễn lại kết quả) | Client đo điểm, server kiểm tra | Server chấm từng câu trả lời |
| Điểm | Không có | Có | Có (số câu đúng, thời gian) |
| Kiểu trao quà dùng được | Quay may mắn | Ngưỡng điểm · Xếp hạng · Quay may mắn | Ngưỡng điểm · Xếp hạng · Quay may mắn |
Pháp lý Chương trình trao quà ngẫu nhiên có thể là "khuyến mại mang tính may rủi" phải đăng ký với Sở Công Thương / Bộ Công Thương trước khi chạy. Cần pháp chế xác nhận từng cơ chế — xem Q-GAME-01.
Lượt chơi
Số lượng từng nguồn cấu hình trong Campaign. Trang này quy định cơ chế chung.
| Nguồn | Cấp khi | Hết hạn | Ví dụ |
| Mặc định | Lần đầu trong ngày người chơi mở game của campaign | Mốc reset kế tiếp | 3 lượt/người/ngày |
| Chia sẻ | Nền tảng kênh xác nhận chia sẻ thành công (Zalo share, link giới thiệu) | Mốc reset kế tiếp | +1, tối đa 1 lần/ngày |
| Nhiệm vụ | Hoàn thành nhiệm vụ cấu hình: theo dõi OA, check-in booth, cài Hi FPT, mời bạn chơi lần đầu | Hết campaign | Check-in booth +1 |
| Nhân viên cấp | Nhân viên booth cấp tại điểm activation cho SĐT cụ thể, có lý do | Hết ngày của điểm activation | Khách ký hợp đồng Internet tại booth +2 |
| Mã | Quy tắc | Ví dụ |
| BR-GAME-01 | Lượt gắn với người chơi + campaign, không gắn thiết bị hay kênh. Cùng SĐT chơi trên Zalo và kiosk dùng chung một quỹ lượt | Còn 1 lượt, chơi trên Zalo xong → kiosk báo hết lượt |
| BR-GAME-02 | Mốc reset lượt mặc định: 00:00 giờ Việt Nam (UTC+7). Lượt mặc định không cộng dồn sang ngày sau | Còn 2 lượt lúc 23:59 → 00:00 về lại 3, không thành 5 |
| BR-GAME-03 | Tiêu lượt theo thứ tự hết hạn sớm nhất trước; cùng hạn thì lượt mặc định trước | Có 1 mặc định + 1 nhiệm vụ → tiêu mặc định trước |
| BR-GAME-04 | Trừ lượt tại thời điểm server mở phiên chơi (sự kiện start), nguyên tử — hai thiết bị cùng mở phiên với lượt cuối thì chỉ một được mở | |
| BR-GAME-05 | Tổng lượt cộng thêm (chia sẻ + nhiệm vụ + nhân viên cấp) có trần mỗi ngày: 5 lượt/người/ngày | |
| BR-GAME-06 | Nhân viên booth cấp lượt: tối đa 3 lượt/SĐT/ngày và 50 lượt/nhân viên/ngày; mỗi lần cấp ghi nhật ký (ai, cho SĐT nào, lý do) | Chi tiết gian lận nội bộ: Chống gian lận |
Vòng đời phiên chơi
- Người chơi đã định danh SĐT và đồng ý xử lý dữ liệu (Dữ liệu cá nhân).
- Game tải xong, gửi
ready. Nền tảng hiện số lượt còn + hướng dẫn.
- Người chơi bấm "Chơi ngay" → game gửi
start → server kiểm tra campaign Đang chạy, còn lượt, không bị chặn → trừ lượt, tạo phiên Đang chơi, trả mã phiên + seed.
- Đếm ngược 3-2-1, chơi. Game gửi
progress định kỳ (game kỹ năng) hoặc answer từng câu (game kiến thức).
- Hết giờ / hết mạng / hết câu → game gửi
end kèm điểm và nhật ký sự kiện.
- Server kiểm tra kết quả (mục Tính điểm). Hợp lệ → Hoàn thành; không → Không hợp lệ.
- Phiên Hoàn thành → quay thưởng theo kiểu trao quà của campaign (mục Quay thưởng).
- Nền tảng hiện màn kết quả, rồi màn sau chơi (chơi lại, nhận thêm lượt, bảng xếp hạng, quà của tôi).
Đang chơi→Hoàn thành·Bỏ dở·Không hợp lệ
| Từ | Sang | Ai / điều kiện | Lượt |
| — | Đang chơi | Server, khi nhận start hợp lệ | Trừ 1 |
| Đang chơi | Hoàn thành | Server, nhận end và kiểm tra đạt | — |
| Đang chơi | Không hợp lệ | Server, kiểm tra không đạt (vượt trần điểm, sai seed, sai thời lượng…) | Không trả |
| Đang chơi | Bỏ dở | Người chơi thoát; hoặc quá thời lượng tối đa mà chưa có end | Không trả |
| Đang chơi | Bỏ dở (lỗi hệ thống) | Server lỗi; game gửi error; mất kết nối quá hạn ở game realtime | Trả lại 1 |
| Mã | Quy tắc | Ví dụ |
| BR-GAME-07 | Mỗi người chơi chỉ có 1 phiên Đang chơi trong một campaign tại một thời điểm. Mở phiên mới khi còn phiên cũ → phiên cũ thành Bỏ dở | Mở 2 tab cùng chơi → tab trước bị dừng |
| BR-GAME-08 | Thời lượng tối đa của phiên = thời lượng game cấu hình + 30 giây. Quá hạn mà không có end → Bỏ dở | Bứt tốc 10 giây: sau 40 giây chưa nhận end → Bỏ dở |
| BR-GAME-09 | Mất mạng sau khi đã có kết quả: client giữ end và gửi lại khi có mạng trong thời lượng tối đa; kiosk theo Activation offline | "Mất kết nối. Kết quả của bạn vẫn được lưu" |
| BR-GAME-10 | Campaign chuyển Tạm dừng / Kết thúc: không mở phiên mới; phiên Đang chơi được chơi hết và quay thưởng nếu kết thúc trong thời lượng tối đa | |
Tính điểm & kiểm tra kết quả
Nguyên tắc: client chỉ báo, server quyết. Không quay thưởng từ điểm chưa qua kiểm tra.
| Cơ chế | Client gửi | Server kiểm tra |
| May mắn | Chỉ start và thao tác bấm | Không nhận kết quả từ client. Server quay, trả kết quả để game diễn hoạt cảnh |
| Kỹ năng | Điểm cuối + nhật ký sự kiện (mốc thời gian từng thao tác) + chữ ký phiên | Đúng mã phiên/seed; thời lượng thực trong khoảng cho phép; điểm ≤ trần lý thuyết theo thời lượng; tần suất thao tác ≤ trần game (vd. 20 lần chạm/giây); điểm tính lại từ nhật ký khớp điểm gửi |
| Kiến thức | Mã câu + đáp án đã chọn + thời điểm, từng câu | Server giữ đáp án đúng, chấm từng câu; câu trả lời đến sau hạn giờ câu = sai |
| Mã | Quy tắc | Ví dụ |
| BR-GAME-11 | Mỗi phiên có seed do server cấp; mọi yếu tố ngẫu nhiên trong game (vị trí vật phẩm, thời điểm tín hiệu) sinh từ seed để server tái dựng được | Chạm chớp nhoáng: thời điểm đổi màu 5 vòng lấy từ seed |
| BR-GAME-12 | Đáp án đúng của câu hỏi không gửi xuống client trước khi người chơi trả lời câu đó | |
| BR-GAME-13 | Mỗi game mẫu khai báo trong manifest: trần điểm theo thời lượng, trần tần suất thao tác, thời lượng min/max — server dùng để kiểm tra | Cáo gom lộc 60s: trần đội game tính trần điểm |
| BR-GAME-14 | Phiên vi phạm một kiểm tra → Không hợp lệ, không quay thưởng, ghi lý do; người chơi thấy "Chưa trúng lần này" (không tiết lộ lý do) | Ngưỡng cảnh báo, chặn người chơi: Chống gian lận |
Quay thưởng
Campaign chọn 1 kiểu trao quà cho mỗi game (Campaign). Engine quay chọn quà trong cơ cấu giải và tồn khả dụng — xem Kho quà (BR-QUA-02 → 04).
| Kiểu trao quà | Thời điểm quay | Điều kiện được quay | Hợp cơ chế |
| Quay may mắn | Ngay khi phiên Hoàn thành (game may mắn: ngay khi bấm) | Phiên Hoàn thành | Cả 3 |
| Ngưỡng điểm | Ngay khi phiên Hoàn thành | Điểm ≥ ngưỡng. Nhiều ngưỡng → quà theo ngưỡng cao nhất đạt được | Kỹ năng, kiến thức |
| Ngưỡng + may mắn | Ngay khi phiên Hoàn thành | Điểm ≥ ngưỡng thì được quay trong cơ cấu giải | Kỹ năng, kiến thức |
| Xếp hạng | Khi chốt bảng xếp hạng (cuối ngày / cuối campaign) | Thuộc top N; mỗi người chỉ xét điểm cao nhất | Kỹ năng, kiến thức |
| Kết quả trận | Khi phòng kết thúc | Thắng / thua / hoà — xem Chế độ chơi | 2 người, nhiều người |
| Mã | Quy tắc | Ví dụ |
| BR-GAME-15 | Mỗi phiên chơi sinh tối đa 1 lượt trúng (trừ kiểu xếp hạng, xét theo người chứ không theo phiên) | |
| BR-GAME-16 | Ngưỡng điểm đạt nhưng quà của ngưỡng đã hết → hạ xuống quà của ngưỡng thấp hơn còn tồn; hết cả → "chưa trúng" | Đạt ngưỡng áo nhưng hết áo → nhận voucher 20.000đ |
| BR-GAME-17 | Kiểu xếp hạng: kết quả chốt sau khi rà soát nhật ký top N; công bố và cấp phát sau tối đa 24 giờ kể từ khi chốt | |
| BR-GAME-18 | Kết quả quay được ghi trước khi trả về client; client tải lại trang thấy đúng kết quả cũ, không quay lại | |
Màn kết quả & sau chơi
Bố cục, microcopy theo Mẫu màn hình game. Bảng dưới chỉ quy định nội dung nghiệp vụ.
| Trường hợp | Hiện gì | CTA |
| Trúng quà digital | Điểm (nếu có), tên quà, mã, HSD, điều kiện dùng | Lưu vào quà của tôi · Chơi lại |
| Trúng quà vật lý | Điểm, tên quà, QR nhận quà ≥ 320px trên kiosk, nơi nhận + hạn nhận | Quà của tôi · Chơi lại |
| Chưa trúng | Điểm, lời động viên, khoảng cách tới ngưỡng gần nhất (kiểu ngưỡng) | Chơi lại (còn lượt) · Nhận thêm lượt (hết lượt) |
| Mã | Quy tắc | Ví dụ |
| BR-GAME-19 | Màn kết quả trên kiosk/TV che SĐT dạng 09•••••123 | |
| BR-GAME-20 | Kiosk: màn kết quả tự về attract sau 15 giây; thời gian chờ của QR nhận quà kéo dài tới 30 giây | |
| BR-GAME-21 | Hết lượt: chỉ hiện các nguồn lượt mà campaign bật và người chơi còn nhận được hôm nay | Đã chia sẻ hôm nay → ẩn "Chia sẻ nhận thêm lượt" |
Bảng xếp hạng cá nhân
| Mã | Quy tắc | Ví dụ |
| BR-GAME-22 | Phạm vi campaign × game, theo ngày (mặc định) hoặc cả campaign. Mỗi người 1 dòng = điểm cao nhất, chỉ tính phiên Hoàn thành | "Top hôm nay" trên booth |
| BR-GAME-23 | Điểm hoà: ai đạt trước (thời điểm end sớm hơn) xếp trên | |
| BR-GAME-24 | Game có độ trễ thiết bị ảnh hưởng điểm: bảng tách theo kênh (booth riêng, điện thoại riêng) | Chạm chớp nhoáng |
| BR-GAME-25 | Hiển thị tên hiển thị + SĐT che; không hiện SĐT đầy đủ ở bất kỳ kênh nào | Lan · 09•••••123 |
| BR-GAME-26 | Người chơi luôn thấy hạng của mình kể cả ngoài top hiển thị (top 10 trên điện thoại, top 5 trên booth) | "Bạn đang hạng 248" |
Hợp đồng game ↔ nền tảng
Mức nghiệp vụ: tên sự kiện và dữ liệu mang theo. Định dạng kỹ thuật do đội kỹ thuật chốt link đặc tả SDK game khi có.
Nền tảng truyền cho game khi khởi tạo
- Kênh (
data-platform), theme (orange · blue · green), skin/asset của campaign.
- Giá trị tham số trong miền cho phép — Quản lý game.
- Tên hiển thị, số lượt còn. Không truyền SĐT đầy đủ cho game.
Sự kiện game gửi nền tảng
| Sự kiện | Khi nào | Mang theo | Nền tảng làm gì |
ready | Tải xong asset | Phiên bản game | Bỏ màn chờ tải, hiện hướng dẫn + nút chơi |
start | Người chơi bấm bắt đầu | — | Kiểm tra lượt, mở phiên, trả mã phiên + seed (+ kết quả quay với game may mắn) |
progress | Định kỳ 5 giây, game kỹ năng | Điểm tạm, nhật ký đoạn mới | Lưu để khôi phục, phát hiện bất thường sớm |
answer | Mỗi câu, game kiến thức | Mã câu, đáp án, thời điểm | Chấm, trả đúng/sai |
pause / resume | Người chơi tạm dừng, app chuyển nền | — | Dừng đồng hồ game; vẫn tính vào thời lượng tối đa của phiên |
end | Kết thúc theo luật | Điểm cuối, nhật ký sự kiện, chữ ký | Kiểm tra, quay thưởng, trả kết quả |
quit | Người chơi thoát giữa chừng | Điểm tạm | Phiên → Bỏ dở |
error | Game lỗi không chơi tiếp được (thiếu quyền camera/micro, FPS thấp) | Mã lỗi | Phiên → Bỏ dở (lỗi hệ thống), trả lượt; hiện .ds-ops cho nhân sự nếu ở booth |
Nền tảng gửi game: begin (kèm seed — bắt đầu đếm ngược), result (kết quả kiểm tra + quay — game diễn hoạt cảnh cuối), abort (phiên bị thay, kiosk tự reset, phiên bản game bị tắt khẩn).
Ranh giớiMàn đăng ký, hướng dẫn chung, màn kết quả, nhận quà, sau chơi do nền tảng vẽ. Game chỉ vẽ màn chuẩn bị riêng (căn chỉnh camera, ghép tay cầm) và màn chơi.
Ngoại lệ & lỗi
| Tình huống | Hệ thống xử lý | Thông báo hiển thị |
| Người chơi bị chặn | Không mở phiên — xem Khách hàng | microcopy cho người bị chặn |
| Từ chối quyền camera/micro | Chuyển chế độ thay thế nếu game có (vd. giữ nút để bay); không thì error, trả lượt | Hướng dẫn mở quyền |
| Server quay thưởng lỗi | Thử lại; quá 10 giây → giữ phiên Hoàn thành chờ quay, báo kết quả qua "Quà của tôi" và SMS/ZNS | "Đang xác nhận kết quả, bạn sẽ nhận thông báo trong ít phút" |
Tiêu chí nghiệm thu
AC-GAME-01Cho người chơi còn 1 lượt, khi gửi start đồng thời từ 2 thiết bị, thì đúng 1 phiên được mở, thiết bị kia nhận "hết lượt".
AC-GAME-02Cho game Bứt tốc 10 giây, khi client gửi end với 400 lần chạm, thì phiên thành Không hợp lệ và không sinh lượt trúng.
AC-GAME-03Cho game kỹ năng, khi điểm gửi lên khác điểm tính lại từ nhật ký sự kiện, thì phiên Không hợp lệ.
AC-GAME-04Cho game đố vui, khi xem toàn bộ dữ liệu client nhận được trước lúc trả lời câu N, thì không có đáp án đúng của câu N.
AC-GAME-05Cho game may mắn, khi người chơi tải lại trang sau lúc bấm quay, thì thấy đúng kết quả đã quay và lượt không bị trừ thêm.
AC-GAME-06Cho phiên Đang chơi quá thời lượng tối đa mà không có end, thì phiên thành Bỏ dở và lượt không được trả.
AC-GAME-07Cho game gửi error vì thiếu quyền camera, thì phiên Bỏ dở (lỗi hệ thống) và người chơi được trả 1 lượt.
AC-GAME-08Cho người chơi đạt điểm ngưỡng, khi phiên Hoàn thành, thì màn kết quả hiện trong ≤ 2 giây với tên quà và hướng dẫn nhận.
AC-GAME-09Cho bảng xếp hạng ngày, khi một người chơi 5 phiên, thì bảng chỉ có 1 dòng của người đó với điểm cao nhất.
AC-GAME-10Cho campaign chuyển Tạm dừng khi có phiên Đang chơi, thì phiên đó vẫn được nộp end và quay thưởng; phiên mới bị từ chối.
Câu hỏi mở
| # | Câu hỏi | Hỏi ai | Hạn | Trả lời |
| Q-GAME-01 | Cơ chế nào phải đăng ký / thông báo khuyến mại với Sở Công Thương (may mắn thuần, ngưỡng + may mắn, xếp hạng)? Thời gian chuẩn bị hồ sơ bao lâu trước khi chạy? | Pháp chế | | |
| Q-GAME-02 | Phiên Bỏ dở do người chơi thoát có trả lượt không? Đề xuất hiện tại: không. | FCM | | |
| Q-GAME-03 | Lượt chia sẻ / nhiệm vụ hết hạn khi nào — reset hằng ngày hay giữ tới hết campaign? | FCM | | |
| Q-GAME-04 | Phiên Không hợp lệ: báo người chơi lý do hay hiện "chưa trúng"? | FCM / Chống gian lận | | |
| Q-GAME-05 | Danh sách nhiệm vụ MVP (theo dõi OA, check-in booth, cài Hi FPT…) và hệ thống nào xác nhận hoàn thành? | FCM / Tích hợp | | |
| Q-GAME-06 | Game 7 (Cáo gom lộc) chấm điểm phía máy cho tải lớn — chấp nhận mức kiểm tra nhật ký sau (không chặn tức thì) cho kiểu xếp hạng? | Kỹ thuật | | |
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 |