VNG Prompt To Play 2026 · Summer Puzzle Jam

Shell Tide

Một puzzle game web lấy core từ Ô ăn quan: rải vật phẩm theo vòng, đọc đường đi, tạo chuỗi capture. Phiên bản jam chuyển bối cảnh sang bãi biển mùa hè, dùng vỏ sò, sao biển và ốc làm ngôn ngữ gameplay.

Cơ chế chọn: Pathfinding Nhóm item: Sinh vật biển Nền tảng: Web browser Phạm vi: vertical slice polished trong 96h
Board theo prototype Chỉ dùng board cơ bản
->
v
<-
^

Design hook: Người chơi drag từ một ô thủy triều, chọn trái/phải, rải từng món mùa hè quanh board. Nếu sau điểm dừng là một ô trống rồi tới ô có item, người chơi capture toàn bộ ô đó.

Mức độ bám đề

Bản GDD này được viết riêng cho đề Prompt To Play 2026: thể loại Puzzle, chủ đề mùa hè bãi biển, chạy trên web browser, có video gameplay tối đa 3 phút và đủ linh hoạt để nhận mảnh ghép bí mật sáng 11/07.

Cơ chế đã chọn

Pathfinding

Người chơi dự đoán route của item quanh board, điểm dừng cuối và capture chain. Đây là pathfinding dạng puzzle nhẹ, không phải điều khiển nhân vật chạy đường.

Nhóm item đã chọn

Sinh vật biển

Vỏ sò là item thường, sao biển là item mục tiêu giá trị cao, ốc là item đặc biệt dùng cho blocker/score hoặc objective phụ.

Phạm vi chạy trên browser

Prototype HTML Canvas

Playable nên dựa trên prototype hiện có: drag input, board 2 hàng + 2 house, preview route, panel win/lose và vài level handcrafted.

Concept

Shell Tide giữ DNA Ô ăn quan nhưng đổi bối cảnh sang bãi biển: đưa sao biển và các sinh vật biển nhỏ về vùng nước an toàn trước khi thủy triều lên.

Pitch ngắn

Ô ăn quan gặp puzzle thủy triều mùa hè

Người chơi drag vỏ sò từ một ô thủy triều, nhìn chúng nhảy qua các hồ nước nông, rồi sắp xếp capture kiểu empty-then-rich để đưa sao biển về vùng an toàn trước khi hết Tide Turns.

Cảm giác người chơi

"Mình thấy con sóng sẽ đáp ở đâu"

Niềm vui chính là dự đoán được đường rải, tạo một ô trống đúng chỗ, rồi ăn được cụm sao biển lớn trong vài giây.

Trụ cột chủ đề

Đưa sinh vật biển về vùng nước an toàn

Người chơi đang giúp các sinh vật biển nhỏ quay về vùng nước an toàn trước khi thủy triều đổi hướng. Cảm giác chủ đạo là "dọn đường và gom bạn biển" nhẹ nhàng, không phải mô phỏng cứu hộ nghiêm túc.

Tông cảm xúc

Không khí bãi biển tươi sáng

Màu trời xanh, cát vàng, nước biển trong, UI tròn vừa phải, hiệu ứng sóng và âm thanh vỏ sò nhẹ.

Điều kiện thắng

Đưa sao biển về nơi an toàn

Mỗi level yêu cầu capture đủ sao biển trong số lượt giới hạn. Score phụ đến từ vỏ sò và ốc.

Khung câu chuyện

Tide Turns tạo áp lực

Mỗi lượt là một nhịp thủy triều. Khi hết lượt, nước lên và các hồ thủy triều bị xáo trộn, tạo fail state dễ hiểu mà không cần timer thật.

Kỹ thuật hấp dẫn người chơi

Các kỹ thuật rút từ nhóm game puzzle thành công được áp dụng ở mức vừa đủ cho bản jam: tăng flow, tạo khoảnh khắc "à ha", nhưng không biến game thành vòng lặp thao túng.

Tetris

Random công bằng

Dùng "túi thủy triều" cho item sinh ra: trong mỗi túi nhỏ luôn có đủ vỏ sò, sao biển và ốc theo tỷ lệ định sẵn. Người chơi vẫn bất ngờ, nhưng không thấy game cố tình chơi xấu.

Candy Crush

Chuỗi phản ứng nhìn đã mắt

Một move tốt nên có ripple: rải item, tạo ô trống, capture, rồi kéo sinh vật về nơi an toàn bằng splash rõ ràng. Phần thưởng hình ảnh phải lớn hơn nỗ lực một thao tác.

Portal 2

Tutorial vô hình

Mỗi level đầu chỉ dạy một ý tưởng qua bố cục board. Không cần pop-up dài: đặt objective, ô trống và cụm sao biển sao cho hướng đi đúng tự nhiên lọt vào mắt người chơi.

It Takes Two

Đổi vị nhẹ theo chapter

Mỗi vùng biển thêm một twist nhỏ rồi dùng nó trong 3-5 level: dòng nước, khóa cát, ốc nặng, gate thủy triều. Không đổi core sow/capture, chỉ đổi bài toán đọc đường.

Human: Fall Flat

Cho phép lời giải thông minh

Level không nên chỉ có một nước đúng tuyệt đối. Nếu người chơi tìm được route lạ để gom sao biển nhanh hơn, hãy coi đó là mastery chứ không phải lỗi cần khóa lại.

Đạo đức UX

Near-miss có kiểm soát

Có thể tạo vài màn suýt thắng còn 1 lượt để khuyến khích chơi lại, nhưng bản jam không dùng lives, paywall hay ép mua booster. Mục tiêu là tiếc vui, không phải bào mòn người chơi.

AI Agent Integration

Vì gamejam tập trung vào OpenAI và agent AI, Shell Tide dùng agent như một phần của puzzle loop: agent đọc board, giải thích chiến lược, tạo quest và mô phỏng đối thủ, thay vì chỉ là chatbot đứng ngoài game.

MVP Agent

Tide Coach Agent

Trong lúc chơi, agent quan sát board hiện tại và đưa hint theo 3 mức. Agent không giải hộ, chỉ giúp người chơi học cách đọc đường rải, ô trống then chốt và cụm sao biển có giá trị.

  • Mức 1: "Hãy tìm một move tạo ô trống gần sao biển."
  • Mức 2: highlight 2-3 ô đáng chú ý trên board.
  • Mức 3: mô tả chiến lược tổng quát, nhưng không chỉ thẳng nước đi.
Post-Level

Phân tích sau thắng/thua

Sau mỗi level, Tide Coach tóm tắt một điểm học được để game có cảm giác thông minh hơn mà không làm nặng core gameplay.

  • "Nước đi tốt nhất của bạn là turn 3 vì tạo được ô trống then chốt."
  • "Bạn thua vì dùng hết lượt trước khi gom sao biển gần xô phải."
  • "Có một route khác có thể clear trong 4 lượt."
Character Agents

AI Rescue Crew

Thay vì một assistant chung chung, người chơi có thể chọn "bạn biển" agent có tính cách và kỹ năng khác nhau. Đây là lớp presentation rất rõ cho video demo: người xem thấy agent AI đang sống trong game.

  • Sò Nhỏ: dạy tutorial, nói đơn giản, phù hợp người mới.
  • Sao Biển: tập trung objective, nhắc còn thiếu bao nhiêu sao biển.
  • Ốc Già: phân tích route sâu hơn, gợi ý combo và chain capture.

Hướng phát triển sau jam: mở thêm agent bằng progression, cosmetic hoặc IAP, miễn là agent mới không bán lời giải trực tiếp.

Content Agent

Tide Architect Agent

Một agent có nhân cách riêng trong menu, chuyên tạo Daily Puzzle / Jam Puzzle bằng cách trò chuyện với người chơi và nhận seed + constraint.

  • Level phải thắng được trong X lượt.
  • Level có ít nhất một chain capture.
  • Level có một route thông minh cho người chơi giỏi.
  • Không dùng random để ép thua.

Sau khi tạo màn, game có thể ghi: "Level này được thiết kế bởi Tide Architect Agent". Đây là bằng chứng mạnh rằng AI không chỉ nói chuyện, mà còn tạo nội dung chơi được.

PvP Mode

AI Rival Ghost

Agent chơi cùng level và để lại ghost strategy. Người chơi có thể thấy AI clear trong 5 lượt, bấm xem từng bước hoặc đấu điểm với AI trên cùng board.

Đây là hướng mở rộng thành mode PvP riêng: nhẹ hơn multiplayer thật, nhưng vẫn tạo cảm giác cạnh tranh và có đối thủ thông minh.

96h Scope

Ưu tiên triển khai

Bản jam 96h nên ưu tiên Tide Coach Agent + phân tích sau level + một demo Tide Architect tạo quest. AI Rescue Crew có thể làm bằng 3 personality prompt khác nhau; AI Rival Ghost nên để dưới dạng mode preview hoặc showcase trong video.

Core Mechanics

Luật phải giữ được core sow/capture, nhưng đổi từ "seed" sang item biển để phù hợp đề bài và đủ chắc để polish trong 96 giờ.

Hệ thống Luật bản jam Vì sao phù hợp
Ô thủy triều Board gồm 10 ô thủy triều nhỏ và 2 xô biển lớn hai bên. Người chơi chỉ bắt đầu move từ ô thủy triều thường. Giữ cấu trúc quen thuộc của prototype và Ô ăn quan, đồng thời đọc được ngay trên màn hình nhỏ.
Sow Move Drag từ một cup sang trái hoặc phải. Tất cả item trong cup được rải từng món theo vòng board. Một input chính, hợp web browser và video demo 3 phút.
Capture Chain Sau khi rải xong, nếu ô kế tiếp trống và ô sau đó có item, capture toàn bộ ô có item. Chuỗi có thể tiếp tục nếu pattern lặp lại. Đây là điểm khác biệt lớn nhất: người chơi thắng bằng dự đoán, không phải match màu đơn giản.
Túi thủy triều Khi cần refill hoặc tạo level mới, item được lấy từ túi cân bằng thay vì random thuần túy: mỗi túi đảm bảo có ít nhất một sao biển và không quá nhiều ốc liên tiếp. Học từ Tetris: random vẫn có bất ngờ, nhưng người chơi tin rằng thất bại đến từ quyết định của mình, không phải vận rủi vô lý.
Soft Assist Nếu người chơi drag lệch nhưng hướng rõ ràng, game snap về hướng trái/phải gần nhất và luôn hiện preview trước khi thả. Học từ Wall Kick và error prevention: giảm bực vì input, giữ sự khó ở bài toán route/capture.
Sao biển Sao biển thay vai trò item mục tiêu. Capture sao biển tăng objective progress và tạo burst visual lớn. Bám nhóm "Sinh vật biển", có hình dạng dễ nhận ra và phù hợp chủ đề đưa sinh vật biển về vùng nước an toàn.
Ốc biển Ốc là item phụ: có thể tính điểm cao hơn vỏ sò, hoặc làm "vỏ nặng" cần capture để phá obstacle. Thêm chiều sâu mà không cần hệ thống mới phức tạp.
Dòng nước mũi tên Một số cup có mũi tên dòng nước đổi hướng đường rải khi item đi qua. Giữ layer puzzle pathfinding từ prototype, nhưng diễn giải bằng dòng nước mùa hè.
Khóa cát Một số cup bị cát lấp. Mỗi lần item rơi vào sẽ giảm lock; hết lock thì cup mở lại. Blocker đơn giản, dễ implement và dễ hiểu bằng animation.

Sinh vật biển & thuộc tính gameplay

Hệ item của Shell Tide được thiết kế để mở rộng giống Candy Crush: mỗi sinh vật có hình dáng dễ nhận, vai trò trên board, cách tác động tới sow/capture và thời điểm unlock riêng. Bản jam chỉ cần 3 loại chính, nhưng schema đã chừa chỗ cho các sinh vật biển khác.

Base Token
Sprite vỏ sò

Vỏ sò

Vai trò: item thường dùng để rải đường, tạo nhịp đọc board và lấp ô cho capture chain.

Gameplay: score thấp, không tính objective, mỗi lần rơi vào khóa cát sẽ giảm 1 durability. Đây là "kẹo thường" của game.

Rescue Target
Sprite sao biển

Sao biển

Vai trò: objective chính. Người chơi cần đưa đủ sao biển về vùng nước an toàn để clear level.

Gameplay: capture tăng rescue progress, score cao hơn vỏ sò, tạo splash lớn. Nếu nằm trong capture chain dài, sao biển có thể cộng thêm Tide Charge cho booster nhẹ.

Heavy Bonus
Sprite ốc biển

Ốc biển

Vai trò: item nặng tạo bài toán timing: nên capture để lấy điểm hay dùng nó phá khóa cát.

Gameplay: score cao, khi rơi vào khóa cát giảm 2 durability. Trong level khó, ốc có thể là objective phụ hoặc điều kiện mở gate.

Future Unlock
Sprite cua cát

Cua cát

Vai trò: sinh vật phá cát, phù hợp chapter có nhiều sand locks.

Gameplay: khi được capture sẽ xóa hoặc làm yếu khóa cát ở ô liền kề. Khi được rải xuống board, cua không đổi luật sow nhưng tạo lựa chọn route để dọn đường.

Future Unlock
Sprite sứa biển

Sứa biển

Vai trò: sinh vật liên quan dòng nước, dùng cho level pathfinding nâng cao.

Gameplay: khi capture có thể kích hoạt một pulse đổi hướng current arrow gần nhất trong 1 lượt. Chỉ unlock sau khi người chơi đã hiểu preview route.

Rare Reward
Sprite ngọc trai

Ngọc trai

Vai trò: item hiếm dùng làm reward trong chest node hoặc level bonus.

Gameplay: không cần xuất hiện nhiều trên board. Khi capture, ngọc trai nhân score hoặc nạp booster, tạo cảm giác phần thưởng mà không phá core objective.

Asset Pack

Sprite sinh vật v1

Sprite pack đã được generate theo style map concept tại assets/creatures/shell-tide-creatures-sheet.png. Runtime có thể đọc từng PNG riêng qua assets/creatures/shell-tide-creatures.manifest.json hoặc qua trường asset.path trong data/shell-tide-creatures.json.

Thuộc tính Mô tả thiết kế Ví dụ áp dụng
role Vai trò chính của item trong level: thường, objective, blocker breaker, score bonus, current modifier hoặc rare reward. Sao biển là objective; ốc biển là heavy bonus; cua cát là sand breaker.
sowBehavior Cách item cư xử khi được rải. Mặc định mọi sinh vật vẫn đi từng ô theo luật Ô ăn quan để core không vỡ. Vỏ sò, sao biển, ốc đều dùng normal sow; sứa biển chỉ tạo hiệu ứng sau capture, không tự đổi đường khi đang rải.
captureEffect Hiệu ứng khi item bị capture theo pattern empty-then-rich. Đây là nơi tạo khác biệt kiểu Candy Crush. Sao biển tăng rescue progress; cua cát phá sand lock lân cận; ngọc trai nhân score.
objectiveValue Giá trị đóng góp vào objective level. Không phải item nào cũng cần tính objective. Sao biển = 1 rescue; ốc biển chỉ tính objective ở level bonus; vỏ sò thường = 0.
unlockChapter Chapter đầu tiên sinh vật xuất hiện. Mỗi chapter chỉ nên thêm 1 sinh vật hoặc 1 twist để player học kịp. Chapter 1: vỏ sò, sao biển, ốc. Chapter 2: cua cát. Chapter 3: sứa biển. Chest node: ngọc trai.
readability Mỗi sinh vật phải khác nhau bằng silhouette trước, màu sắc sau. Không dùng hai item có hình dáng quá giống nhau trong cùng chapter. Sao biển hình sao, ốc dạng xoắn, cua có càng, sứa có tua, ngọc trai là viên tròn phát sáng.

Core Loop

Loop vẫn cần ngắn, nhưng scope 96 giờ cho phép thêm onboarding, juice, map progression và QA mobile thay vì chỉ dừng ở demo thô.

Đọc board

Nhìn objective: cần cứu bao nhiêu sao biển và còn mấy lượt thủy triều.

Preview

Tap/drag cup để thấy route trái/phải và điểm dừng cuối.

Sow

Thả drag để rải vỏ sò, sao biển, ốc quanh các ô thủy triều.

Capture

Ăn cụm item bằng pattern empty-then-rich, cộng điểm, objective và splash chain nếu capture nối tiếp.

Clear level

Đủ sao biển thì clear level, mở level sau hoặc quay video highlight.

Level Design

MVP nên có 6-8 level handcrafted, không cần procedural generation. Mỗi level dạy một ý tưởng mới.

Level 1

Lần cứu đầu tiên

Dạy drag trái/phải và capture 1-2 sao biển. Không blocker.

Level 2

Dàn ô trống

Người chơi phải tạo ô trống trước, rồi mới capture được cụm lớn.

Level 3

Dòng nước đổi hướng

Thêm dòng nước đổi hướng để route pathfinding rõ hơn.

Level 4

Khóa cát

Cup bị cát lấp cần item rơi vào 1-2 lần để mở.

Level 5

Bonus từ ốc

Ốc cho điểm phụ, tạo lựa chọn giữa clear objective nhanh hoặc score cao.

Level 6

Chuỗi thủy triều lớn

Level cuối cho video: nhiều capture liên tiếp, particle burst và win screen rõ.

Level 7

Lời giải đường tắt

Board có ít nhất hai route thắng: một route an toàn đủ objective và một route lạ tạo chain lớn cho người chơi tinh mắt.

Level 8

Suýt thắng công bằng

Màn thử thách có thể khiến người chơi thiếu 1 lượt nếu bỏ qua preview, nhưng luôn có lời giải rõ khi đọc lại board. Không dùng random để ép thua.

Map Level

Player đi qua các màn theo kiểu saga map: một đường ven biển uốn lượn, mỗi node là một level ngắn, có rương, gate thủy triều và milestone cứu sinh vật biển.

Concept map Beach Tide Rescue với đường level ven biển, hồ thủy triều, rương, gate và node cứu sao biển.
Concept map cho level-select: ảnh nền dùng để tạo cảm giác saga map, còn node button runtime nên đọc từ data/shell-tide-level-map.json.
Saga Path

Đường ven biển một chiều

Player đi lần lượt qua các node như Candy Crush: thắng level thì mở node tiếp theo, luôn thấy vài màn kế tiếp để có cảm giác tiến triển.

Chapter

Vùng biển theo cụm

Mỗi 10-15 level là một vùng: Bãi Cát Sáng, Hồ Thủy Triều, Rạn Sao Biển, Bến Hoàng Hôn. Mỗi vùng thêm một mechanic hoặc item biển mới.

Gate

Cổng thủy triều

Gate mở bằng số sao tích lũy hoặc milestone cứu sinh vật biển. Đây là pacing tool, không phải paywall.

Node Types

Loại màn chơi

  • Normal: dạy và luyện core sow/capture.
  • Hard: ít lượt hơn, nhiều current arrows hoặc sand locks.
  • Rescue: objective tập trung vào sao biển hoặc sinh vật biển mắc kẹt.
  • Chest: thưởng booster/cosmetic sau một cụm thắng.
Meta Light

Bãi biển được phục hồi

Sau mỗi chapter, một góc bãi biển sạch hơn: tide pool trong lại, sao biển quay về lagoon, quầy kem mở đèn. Chỉ là reward visual nhẹ cho bản jam.

Jam Scope

Prototype vừa đủ

Trong 96h nên có 24-36 node map, 2 chapter ngắn, 2 gate, 2 chest và 8-12 level thật sự được tune kỹ. Vẫn không cần live ops hay map dài.

Định hướng Visual & UX

Ưu tiên rõ, vui, dễ quay video. Không cần asset cầu kỳ nếu HTML/CSS/canvas thể hiện được game feel.

Board

Layout khăn biển

  • Hai xô biển lớn ở trái/phải thay house.
  • 10 ô thủy triều nằm thành hai hàng giống `seedline-prototype.html`.
  • Board tập trung vào đường rải vòng ngoài, ô trống và cụm item cần capture.
Độ dễ đọc

Hình dáng trước màu sắc

  • Vỏ sò: tròn/shell nhỏ màu kem.
  • Sao biển: hình sao vàng, luôn là objective item.
  • Ốc: token xoắn màu coral, dùng cho bonus hoặc lock.
Feedback

Vệt sóng theo route

Khi rải item, vệt sóng nhỏ chạy theo route. Capture kéo item vào xô và tạo splash.

Aha Moment

Nhấn mạnh ô trống then chốt

Khi preview tạo được pattern empty-then-rich, ô trống phát sáng nhẹ và cụm sẽ capture rung một nhịp. Người chơi tự thấy lời giải, không cần text dạy bài.

Âm thanh

Âm thanh bãi biển nhẹ

Âm click vỏ sò, pop sao biển, tiếng sóng nhẹ khi chain dài. Tắt được nếu cần demo yên tĩnh.

HUD

Bộ đếm Tide Turns

Moves được gọi là Tide Turns. Hết lượt là thủy triều lên và fail state.

Quy tắc chủ đề

Chủ đề cứu sinh vật biển xuất hiện trong gameplay như thế nào

  • Objective text dùng động từ nhẹ: "dẫn đường", "gom", "đưa về nhà", "đưa sao biển về nơi an toàn".
  • Win state là sinh vật biển nhảy về hồ nước an toàn hoặc xô nước, không phải bị "ăn".
  • Fail state là "thủy triều lên" hoặc "sóng xáo trộn các hồ thủy triều", tránh cảm giác sinh vật bị hại.
  • Capture animation nên là dòng nước hút item về nơi an toàn, không dùng hiệu ứng phá hủy.

Kế hoạch production 96h

Kế hoạch này tối ưu cho game jam dài hơn: prototype chắc trong ngày đầu, mở rộng level và map ở giữa, polish + QA + video ở cuối.

Khung thời gian Kết quả Vai trò AI
Giờ 0-12 Chốt luật, reskin prototype, định nghĩa item biển, objective, 8 level đầu và schema board state cho agent đọc. Sinh level data, rà edge cases, viết prompt tính cách cho Tide Coach / Sò Nhỏ / Sao Biển / Ốc Già.
Giờ 12-32 Canvas playable chắc: drag, preview route, soft assist, animation sow, capture chain, objective và nút gọi hint 3 mức. Implement/refactor JS, tạo smoke checks cho route/capture/refill và kết nối Tide Coach với board state.
Giờ 32-52 Map progression: 24-36 node, 2 chapter, gate, chest, tutorial vô hình, level đường tắt và post-level analysis. Tạo/tune level matrix, kiểm tra đường thắng, độ khó từng cụm và chất lượng phân tích sau thắng/thua.
Giờ 52-68 Visual mùa hè: background bãi biển, token item, panel win/fail, particles, âm thanh nhẹ và UI chọn AI Rescue Crew. Gợi ý hướng CSS/canvas, chỉnh UI text, đề xuất timing hiệu ứng và microcopy theo từng agent.
Giờ 68-80 Tích hợp mảnh ghép bí mật, giữ core sow/capture không bị vỡ, thêm Tide Architect Agent tạo Jam Puzzle showcase. Patch biến thể mechanic, test regression các level cũ và kiểm tra constraint level do agent đề xuất.
Giờ 80-92 QA mobile browser, tune near-miss công bằng, giảm thao tác gây bực, tối ưu performance và dựng preview AI Rival Ghost. Chạy checklist, ghi lỗi theo mức độ, ưu tiên fix lỗi ảnh hưởng agent demo, video và submission.
Giờ 92-96 Quay video gameplay 3 phút, đóng gói submission, sửa lỗi cuối, nhấn mạnh Tide Coach và Tide Architect trong demo. Viết ghi chú submission, checklist, script QA cuối và đoạn thuyết minh "OpenAI agent trong gameplay".

Chiến lược cho mảnh ghép bí mật

Mảnh ghép bí mật chưa biết, nên design cần có các điểm gắn sẵn mà không phá core.

Nếu mảnh ghép xoay quanh item

Token bãi biển mới

Thêm item bí mật như ngọc trai, cua nhỏ hoặc chai thư vào cup data. Nó có thể là objective hoặc bonus score.

Nếu mảnh ghép xoay quanh luật chơi

Biến thể thủy triều

Thêm rule như mỗi 2 lượt đổi mũi tên dòng nước, hoặc một cup bị khóa bởi sóng. Không thay core sow/capture.

Nếu mảnh ghép xoay quanh chủ đề

Lớp visual

Đổi skin theo chapter/event, thêm mission text và objective một lần cho level mà không đổi engine.

Giới hạn thiết kế

Không overbuild trước 11/07

Trước khi BTC công bố mảnh ghép bí mật, chỉ build core loop, data-driven levels và item rendering đủ linh hoạt. Không khóa design vào một meta lớn hoặc một mechanic phụ khó gỡ.