NEON SURVIVORS v1.1 — full-featured bullet-heaven survivor game

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)
This commit is contained in:
neon-survivors-dev
2026-08-23 07:01:22 +00:00
commit 796880375e
26 changed files with 7447 additions and 0 deletions
+122
View File
@@ -0,0 +1,122 @@
# 📊 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 ~$50300 hoặc commission $5002000) |
| A2 | **Âm nhạc/nhạc stage** | Loop generative 1 track duy nhất → nghe chán sau 10 phút. Cần 35 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 23 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** (3050 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í 48 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" (24 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 (B5B7)
└─ 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 48 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)
1. **D2** Viewport culling + object pool cho Particle/Proj (perf)
2. **D1** Gamepad API + remap phím
3. **A3** Stage system: 2 biome mới + Endless mode + difficulty grade (data-driven sẵn)
4. **B2** Khung achievements + popup + gắn unlock (dùng luôn điều kiện cond của nhân vật)
5. **D3** Seeded RNG + **Daily Challenge** (seed theo ngày UTC, lưu best local)
6. **A4** Tutorial tương tác (mốc: di chuyển → lên cấp → chọn → mở rương → gặp trùm)
7. **C5** Run history + trang stats
8. **D6** Export/import save code (base64)
9. **D8** Props phá được (đèn đá rơi vàng/chicken)
10. **D4** Fullscreen + PWA manifest
> Nói "làm phase 1" (hoặc liệt kê số) là tôi triển khai tiếp.