neon-survivors-dev 796880375e 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)
2026-08-23 07:01:22 +00:00

🌃 NEON SURVIVORS

Một game survivor / bullet-heaven hoàn chỉnh (lấy cảm hứng từ Vampire Survivors), viết thuần bằng HTML5 Canvas + JavaScript — không cần cài đặt, không asset ngoài, không internet, mọi thứ từ đồ họa đến âm thanh đều được sinh tự động bằng code.

genre offline


▶️ Cách chạy

Cách 1 — mở thẳng file: nhấp đúp vào index.html (Chrome / Edge / Firefox).

Cách 2 — qua local server (khuyến nghị cho mobile LAN):

cd 2dsurvivor
python3 -m http.server 8080     # hoặc: npx serve .
# mở http://localhost:8080

🎮 Điều khiển

Hành động Desktop Mobile
Di chuyển WASD / Phím mũi tên Kéo ngón tay trên màn hình (joystick ảo)
Tấn công Tự động — cứ việc né! Tự động
Tạm dừng Esc / P Nút hệ thống
Chọn nâng cấp Chuột / 14 Chạm

Tính năng

Gameplay

  • 11 vũ khí riêng biệt (đũa phép, roi, phi đao, quả cầu quay, rìu, hào quang, thiên lôi, cầu lửa, băng tinh, thánh giá, 🧨 mìn hẹn giờ) — mỗi vũ khí 8 cấp với bảng nâng cấp riêng.
  • 11 dạng tiến hóa: (mìn → 💣 Vườn Pháo Hoa) vũ khí đầy cấp + sở hữu passive tương ứng → mở Rương Báu Vật (rơi từ quái Tinh Anh & Trùm) để tiến hóa (VD: Đũa Phép + Siêu Dẫn ⇒ 🌟 Bão Thần Tín).
  • 13 vật phẩm bị động (sát thương, giáp, HP, hồi máu, hồi chiêu, diện tích, tốc đạn, thời gian, di chuyển, nam châm, may mắn, tham lam, tuệ tăng).
  • 10 nhân vật mở khóa dần (thêm 🏹 Hana chí-mạng & 🧱 Bram diện-tích), kèm 🎨 skin màu mua bằng vàng.
  • Đạo quái theo phút: 8 loại quái thường (đuổi, bắn, bay lượn, húc, chia màn…), quái Tinh Anh định kỳ, và 4 Trùm lớn ở phút 5/10/19: 🐺 Sói Đầu Lớn → 💀 Pháp Sư Xương → 👹 Quái Vật Địa Ngục → ⚰ Tử Thần. Hạ Tử Thần ở phút 19 để chiến thắng.
  • Hiệu ứng trạng thái: cháy, làm chậm, đóng băng (kèm sát thương vỡ băng), choáng, đẩy lùi, hút máu.
  • Chí mạng, số sát thương nổi, hạt hiệu ứng, rung màn hình, mũi tên chỉ trùm ngoài màn hình.

Tiến trình & tùy chọn

  • Meta-progression: vàng tích lũy vĩnh viễn, cửa hàng 12 nâng cấp vĩnh viễn (có hồi sinh, bốc lại…).
  • Lưu tự động bằng localStorage (khóa neon_survivors_v1), kèm nút xóa dữ liệu.
  • Tùy chọn đầy đủ: âm lượng chung/nhạc/SFX, rung màn hình, số sát thương, chất lượng hạt (Thấp/Vừa/Cao), hiện FPS, tự tạm dừng khi mất tiêu điểm, ngôn ngữ Việt/Anh chuyển tức thì, fullscreen, remap phím di chuyển.
  • Bách khoa toàn thư (Codex): xem toàn bộ vũ khí/passive/quái/trùm/nhân vật + điều kiện mở khóa.
  • Màn hình tổng kết: thời gian, kills, vàng, cấp độ, kỷ lục cá nhân.
  • Chơi được trên desktop lẫn mobile (joystick ảo), responsive theo DPR; cài được như app (PWA).

🆕 Phase 1 — thương mại hóa

  • 3 biome: 🪦 Nghĩa Địa Neon → ❄️ Hang Băng (mở ở mốc 10 phút) → 🌋 Vực Magma (mở sau 1 thắng); mỗi biome có bảng quái, kế hoạch trùm, palette và hệ số HP/vàng riêng.
  • Chế độ Vô tận (∞) + 4 bậc độ khó (I → 💀): HP/sát thương tăng, vàng thưởng tăng.
  • Thử thách hôm nay: seed theo ngày UTC — cả thế giới chơi cùng 1 màn (nhân vật/stage cố định), lưu kỷ lục ngày.
  • 🏆 23 thành tựu gắn tiến trình thật, popup vàng + tab riêng trong Codex.
  • 💎 Đèn pha lê phá được rơi quanh bản đồ → xu + gà.
  • 📜 Lịch sử 20 ván gần nhất + tổng hợp (tỉ lệ thắng, nhân vật chủ lực).
  • 💾 Xuất/Nhập save dạng mã base64 (chuyển máy).
  • Tutorial tương tác lần đầu chơi + mẹo trùm.
  • Gamepad (stick trái/D-pad/A/Start), perf: viewport culling + object pool particle.
  • 🥇 Bảng xếp hạng: scaffold Cloudflare Worker KV (server/lb-worker.js + wrangler.toml) — điền URL vào Tuỳ chọn là tự submit/top; chữ ký checksum chống sửa tay (client↔worker khớp 100%).

🔓 Gợi ý mở khóa

Nhân vật Điều kiện
Mira Diệt tổng cộng 500 quái
Bolt Sống sót đến phút 10
Luna Kiếm tổng cộng 2.000 vàng
Rook Hạ trùm đầu tiên (phút 5)
Nyx Sống sót đến phút 15
Sera Thắng 1 ván
Vane Diệt tổng cộng 5.000 quái

🧪 Kiểm thử (dành cho dev)

node test/integrity.js

Bộ test headless kiểm tra tính toàn vẹn dữ liệu (tiến hóa, bảng spawn, song ngữ VN/EN, bảng stat) và mô phỏng 2.5 phút chiến đấu thật trong sandbox VM: bắn, chết, rớt đồ, lên cấp, mở rương tiến hóa, não AI của cả 4 trùm, i-frame và dòng chết.

📁 Cấu trúc

index.html          entry point
css/style.css       theme neon tối
js/
  util.js           toán học, RNG, spatial grid broadphase
  i18n.js           từ điển VI/EN
  save.js           localStorage meta-progression
  audio.js          tổng hợp SFX + nhạc nền generative (WebAudio)
  data.js           TOÀN BỘ nội dung: vũ khí/passive/quái/trùm/cửa hàng
  entities.js       Player / Enemy / Proj / Pickup / Particle…
  systems.js        spawn director, AI, combat, pickups, level-up, chest
  render.js         vẽ canvas (nhân vật vector, hiệu ứng, vignette)
  ui.js             menu / HUD / modal DOM
  game.js           vòng lặp, trạng thái, input, camera
test/integrity.js   bộ test headless

Chúc bạn sống sót qua phút thứ 19! ⚰️🔥

S
Description
NEON SURVIVORS — bullet-heaven survivor game (vanilla JS): 11 weapons + evolutions, 10 characters, skins, 3 biomes + endless + grades, achievements, daily challenge, Cloudflare leaderboard worker, PWA
Readme
139 KiB
Languages
JavaScript 87.6%
CSS 9.1%
HTML 3.3%