VNG Prompt To Play 2026 · Summer Puzzle Jam

Shell Tide

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.

Cơ chế: Pathfinding Nhóm item: Sinh vật biển Scope: Web · 24 giờ AI: Rule-based + OpenAI tùy chọn
Board theo prototype Preview + combo + rescue

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 Level: Nhật ký Giải cứu & Coach Cove

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õ.

Motivation

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.

Coach Cove

Một hub nhỏ trên map

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”.

Before / After

Bãi cát khô → vùng biển dịu lại

Map final build có đủ 10 node playable; mỗi 3 level có restoration và Level 10 là cinematic gate.

Story Unlock

Coach gặp qua câu chuyện

Cá Heo ở đầu bãi; Rùa tại hố thủy triều; Cá Voi ở cổng ra biển.

Daily

Coach-of-the-day

Daily node là Future Vision/mock; final build tập trung đủ 10 node playable, chest, coach unlock và gate.

Saved Chapter Maps

Các map JSON trong project

Chạy local map editor server để GDD tải danh sách map trong assets/maps/.

Web Background Loop

Nền bãi biển cuộn dọc không có đường nối

Đâ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ướcThực hiệnKết quả
1. Cắt headGiữ 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ạchCắ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-pongLậ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.

Cách sử dụng trên trang cover

  1. Gắn class cover-page cho thẻ <body>.
  2. Giữ hai lớp background trong 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.
  3. Giữ kích thước hiển thị cùng tỉ lệ 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-positionbackground-size.
  4. Không áp dụng class này cho các trang GDD con hoặc gameplay board; chúng dùng nền và layout riêng.

File liên quan

  • 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.
🐬 Cá Heo · Active 1 2 🎁 5 🐢 9 🐋 Tide Bond 6/8 · Rùa mở sau Level 5
Map TechQuyết địnhNghiệm thu
FoundationChapter 16:9, HTML overlay node, native scroll.Không bake node/lock/reward vào ảnh.
Coach stateactiveCoach, tideBond, nextCoach, guaranteedUnlockLevel.Reload giữ đúng state; offline vẫn hiển thị.
Reward clarityNode 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.
AccessibilityCoach không chỉ phân biệt bằng màu; dùng silhouette, icon và text.Đọc được grayscale, keyboard và screen reader.