Node kế tiếp luôn hé lộ reward
Chest, restoration, coach unlock hoặc gate được preview. Không dùng dấu hỏi giả để ép click.
VNG Prompt To Play 2026 · Summer Puzzle Jam
Puzzle game web lấy core Ô ăn quan: rải vật phẩm theo vòng, đọc đường sóng, tạo ô trống then chốt và cứu sao biển bằng capture chain. Bản GDD ưu tiên “one more level”, 10 màn vertical slice và Tide Coach progression Cá Heo → Rùa Biển → Cá Voi.
Design hook: Người chơi chạm một hố sao, thấy hai đường sóng trái/phải, STOP và cụm có thể capture rung sáng. Khi commit, sao biển rải theo FLOW và Xoáy hút cụm vào Vùng Nước An Toàn; Tide Coach chỉ xuất hiện đúng lúc để giúp người chơi tự nhìn ra nước hay.
Map vừa cho thấy bãi biển được cứu, vừa làm progression coach dễ hiểu: coach hiện tại, Tide Bond, lần gặp tiếp theo và reward kế cận luôn rõ.
Chest, restoration, coach unlock hoặc gate được preview. Không dùng dấu hỏi giả để ép click.
Hiện coach đang đồng hành, bond hiện tại, mốc mở sớm và milestone bảo đảm: “Rùa 6/8 · chắc chắn gặp sau Level 5”.
Map final build có đủ 10 node playable; mỗi 3 level có restoration và Level 10 là cinematic gate.
Cá Heo ở đầu bãi; Rùa tại hố thủy triều; Cá Voi ở cổng ra biển.
Daily node là Future Vision/mock; final build tập trung đủ 10 node playable, chest, coach unlock và gate.
Chạy local map editor server để GDD tải danh sách map trong assets/maps/.
Đây là background cho trang cover GDD/web, không phải runtime map, collision source hoặc ảnh board. Cơ chế dùng một ảnh đầu trang có mép nước và một tile cát lặp theo trục dọc. Tile được ghép sand-flipped → sand-source; vì hàng đầu, hàng giữa và hàng cuối trùng pixel với nhau, CSS có thể repeat-y vô hạn mà không tạo dải tối.
| Bước | Thực hiện | Kết quả |
|---|---|---|
| 1. Cắt head | Giữ 720px đầu của ảnh bãi biển gốc 1920×1080, bỏ 360px đáy có vignette tối. | loop-head.png 1920×720 có biển xuất hiện đúng một lần. |
| 2. Lấy cát sạch | Cắt vùng y=500–719; vùng này không còn foam ở mép trái và chưa chạm vignette tối. | sand-source.png 1920×220. |
| 3. Ping-pong | Lật dọc bản cát rồi ghép sand-flipped ở trên sand-source. | sand-loop-tile.png 1920×440; đầu/cuối tile khớp nhau. |
| 4. Lặp CSS | Đặt tile ở ngay dưới head và dùng repeat-y. | Trang dài bao nhiêu cũng chỉ lặp nền cát sạch. |
cover-page cho thẻ <body>.summer-seedline-gdd.css: layer biển không lặp ở center top, nền cát 1920×1080 lặp theo trục Y.16:9: cả layer biển và nền cát dùng 100vw 56.25vw. Nếu cắt lại asset, phải cập nhật đồng thời background-position và background-size.assets/backgrounds/loopable-1920x1080/shell-tide-bg-loop-02-scroll-1920x1080.webp: nền cát runtime, lặp trực tiếp theo trục Y.assets/backgrounds/loopable-1920x1080/shell-tide-bg-loop-sea-top-1920x1080.png: overlay biển trong suốt, chỉ vẽ một lần ở đầu trang.assets/backgrounds/loopable-1920x1080/shell-tide-bg-loop-layered.manifest.json: manifest render order, crop metadata và preview QA.assets/backgrounds/archive/legacy-looping-20260711/: bản baked/intermediate cũ được giữ lại để đối chiếu hoặc tái sinh layer.summer-seedline-gdd.css: khai báo body.cover-page; summer-seedline-gdd.html: nơi kích hoạt class.| Map Tech | Quyết định | Nghiệm thu |
|---|---|---|
| Foundation | Chapter 16:9, HTML overlay node, native scroll. | Không bake node/lock/reward vào ảnh. |
| Coach state | activeCoach, tideBond, nextCoach, guaranteedUnlockLevel. | Reload giữ đúng state; offline vẫn hiển thị. |
| Reward clarity | Node cho biết chest, coach, gate hoặc restoration trước khi click. | Player nhận ra reward kế tiếp trong một giây. |
| Accessibility | Coach không chỉ phân biệt bằng màu; dùng silhouette, icon và text. | Đọc được grayscale, keyboard và screen reader. |