Vanilla JS + Canvas, zero dependencies, offline-first PWA. Gameplay: - 11 weapons x8 levels + 11 evolutions (chest-based), incl. timed mines - 13 passives, crit system with directional hit-sparks & hit-stop - 10 characters w/ unique mods + unlock conditions, gold cosmetic skins - 3 biomes (Neon Graveyard / Frozen Hollow / Magma Rift) each with own spawn tables, boss plans and music flavor; Endless mode + surges; 4 difficulty grades; breakable crystal-lamp props - Elite random affixes (Swift/Sturdy/Volatile), 4 bosses, win flow - Achievements (23) w/ gold rewards, run history, daily seeded challenge Tech: - Cinematic canvas main-menu scene, game-feel FX suite (trails, muzzle, status tints, low-HP pulse), viewport culling + particle pooling - WebAudio synth SFX + generative per-biome soundtrack - Gamepad support, remappable keys, touch joystick, fullscreen - i18n VI/EN, localStorage saves w/ export-import codes - Cloudflare Workers leaderboard scaffold (KV) w/ signed submits - Headless integrity test-suite (node test/integrity.js)
6.8 KiB
6.8 KiB
📊 GAP ANALYSIS — Thương mại hóa NEON SURVIVORS
Trạng thái đánh giá: bản hiện tại (v1.0 — core loop hoàn chỉnh, playable end-to-end). Mục tiêu: trả lời "thiếu gì để bán được tiền / lên store".
1. Điểm mạnh sẵn có (không phải làm lại)
| Hạng mục | Trạng thái |
|---|---|
| Core loop | ✅ Hoàn chỉnh: bắn tự động, XP, level-up choice, chest/evolution, boss, win/lose |
| Nội dung nền | 10 vũ khí + 10 tiến hóa, 13 passive, 8 nhân vật, 8 loại quái, 4 trùm |
| Meta progression | Vàng vĩnh viễn + 12 nâng cấp shop + unlock nhân vật theo thành tích |
| Kỹ thuật | Không dependency, offline-first, WebAudio tự sinh, test headless, dev tools |
| Platform-ready | Touch + desktop, responsive DPR, i18n VI/EN, localStorage |
→ Đây là mức "vertical slice tốt". Khoảng cách tới sản phẩm thương mại nằm ở các nhóm dưới.
2. Khoảng trống — xếp theo độ chặn đường kinh doanh
🔴 Nhóm A — CHẶN BÁN (bắt buộc có trước khi thu tiền)
| # | Thiếu | Vì sao chặn | Effort |
|---|---|---|---|
| A1 | Art thật thay programmer-art | Emoji + hình vector là chuẩn prototype. Store screenshot/video quyết định 80% conversion. Đây là điểm yếu lớn nhất | Lớn (asset pack ~$50–300 hoặc commission $500–2000) |
| A2 | Âm nhạc/nhạc stage | Loop generative 1 track duy nhất → nghe chán sau 10 phút. Cần 3–5 track (menu/stage/boss) + stingers thắng/thua | Trung ($20 license pack hoặc commission) |
| A3 | Đủ nội dung để chơi lại (replayability) | 1 stage duy nhất × 20 phút × cùng timeline mỗi lần = người chơi hết việc sau 2–3 giờ. Genre chuẩn cần ≥3 stage + endless + độ khó leo thang | Trung — code sẵn chỗ cắm (SPAWN_TABLE/BOSSES là data) |
| A4 | Tutorial onboarding | Hiện 1 dòng toast. Người mới không hiểu evolution/chest/meta → churn ngay phút đầu | Nhỏ |
| A5 | Pháp lý: Privacy Policy, EULA, tuổi (IARC), kiểm tra trùng tên "Neon Survivors" | Store từ chối duyệt nếu thiếu; trademark trùng bị gỡ | Nhỏ (giấy tờ) + phí nền tảng |
🟠 Nhóm B — QUYẾT ĐỊNH DOANH THU (chọn mô hình thì làm)
Tùy mô hình:
Premium (Steam, $4.99 — mô hình của chính Vampire Survivors):
| # | Thiếu | Ghi chú |
|---|---|---|
| B1 | Steam wrapper (Tauri/Electron) + Steamworks: achievements, cloud save, overlay | Cần tài khoản Steam partner ($100/app) |
| B2 | Achievements hệ thống trong game (30–50 thành tựu gắn unlock) | Hiện chưa có khung achievement |
| B3 | DLC pipeline: bộ nhân vật/stage/cosmetic bán thêm | Cần tách data content khỏi code (đang hard-code JS) |
| B4 | Mod support (Workshop) | VS sống dai nhờ mod; yêu cầu data-driven + sandbox loader |
F2P (mobile/web portal):
| # | Thiếu | Ghi chú |
|---|---|---|
| B5 | Rewarded ads (xem quảng cáo: hồi sinh, x2 vàng, reroll thêm) | Nguồn thu chính F2P; tích AdMob/AppLovin |
| B6 | IAP: gói khởi đầu, skin nhân vật/vũ khí, bỏ quảng cáo | Cần cosmetic system (hiện không có skin layer) |
| B7 | Daily quests + daily login + mission chain | Retention D1/D7 |
| B8 | Battle pass mùa (nếu đủ scale) | Chỉ làm khi có DAU |
🟡 Nhóm C — GIỮ NGƯỜI CHƠI & VẬN HÀNH
| # | Thiếu | Ghi chú |
|---|---|---|
| C1 | Leaderboard (daily-seeded run, global + bạn bè) | Cần backend nhẹ — hợp nhất: Cloudflare Workers + KV/D1 (đang dùng CF tunnel sẵn) |
| C2 | Cloud save / account | Cùng backend ở trên; cần chống sửa save (checksum/signed) |
| C3 | Analytics funnel (install→phút 5→churn), remote config để tune balance không cần update | Tự host hoặc PostHog/Firebase |
| C4 | Crash reporting (Sentry), profiling budget 60fps mobile low-end | |
| C5 | Run history / stats cá nhân theo nhân vật-stage, best từng loại | |
| C6 | Live-ops cadence: cập nhật nhân vật/vũ khí 4–8 tuần/lần | Quy trình, không phải code |
🟢 Nhóm D — CHẤT LƯỢNG & TIỆN NGHI (nâng cấp dần)
| # | Thiếu | Ghi chú |
|---|---|---|
| D1 | Gamepad support + remap phím | Genre này kỳ vọng cao; Gamepad API |
| D2 | Viewport culling + object pooling | Hiện render mọi entity kể cả ngoài màn hình; GC pressure do tạo object liên tục — quan trọng cho mobile low-end |
| D3 | Seeded RNG | Math.random hiện tại — chặn daily-challenge/replay/anti-cheat |
| D4 | Fullscreen toggle, khóa hướng ngang mobile, PWA manifest | |
| D5 | Accessibility: colorblind palette, giảm motion, chữ to | |
| D6 | Save slot + export/import code | |
| D7 | Bản dịch thêm (ES/PT-BR/ZH/JA...) — khung i18n sẵn | |
| D8 | Interactive props trong trận (đèn phá rơi vàng, bẫy môi trường) | Genre-standard juice |
3. Roadmap đề xuất
PHASE 1 — "Store-ready core" (2–4 tuần dev)
├─ D2 culling + pooling (perf mobile)
├─ D1 gamepad + D4 fullscreen/PWA
├─ A4 tutorial tương tác run đầu
├─ A3 stage #2/#3 (biome + boss riêng) + Endless + Difficulty grade
├─ B2 khung achievements (30 cái) — dùng chung cho Steam sau này
├─ C5 run history
└─ D3 seeded RNG (chuẩn bị daily)
PHASE 2 — "Thu tiền được" (song song art/audio)
├─ A1+A2 art pack + soundtrack
├─ A5 pháp lý + chọn model (premium vs F2P)
├─ Steam build (B1) HOẶC mobile build (B5–B7)
└─ C3 analytics + remote config
PHASE 3 — "Sống lâu"
├─ C1+C2 leaderboard/cloud-save (Cloudflare Workers)
├─ B3 DLC / B8 pass
├─ B4 mod support
└─ C6 live-ops nhịp 4–8 tuần
Chi phí nền tảng tham khảo: Steam $100/app · Google Play $25 một lần · Apple $99/năm · Web portal (Poki/CrazyGames): miễn phí, chia doanh thu quảng cáo.
4. Tôi có thể code NGAY trong repo này (không cần asset ngoài)
- D2 Viewport culling + object pool cho Particle/Proj (perf)
- D1 Gamepad API + remap phím
- A3 Stage system: 2 biome mới + Endless mode + difficulty grade (data-driven sẵn)
- B2 Khung achievements + popup + gắn unlock (dùng luôn điều kiện cond của nhân vật)
- D3 Seeded RNG + Daily Challenge (seed theo ngày UTC, lưu best local)
- A4 Tutorial tương tác (mốc: di chuyển → lên cấp → chọn → mở rương → gặp trùm)
- C5 Run history + trang stats
- D6 Export/import save code (base64)
- D8 Props phá được (đèn đá rơi vàng/chicken)
- D4 Fullscreen + PWA manifest
Nói "làm phase 1" (hoặc liệt kê số) là tôi triển khai tiếp.