Cờ Gánh Dân Gian Việt Nam Online — AdvCaro

Bạn: 8
Lượt đi: Bạn
Máy: 8
Huỳnh Lê Duy Linh

Nhật ký phát triển (Devlog) - Tác giả: Huỳnh Lê Duy Linh

Chào mọi người, bài viết này mình dành để chia sẻ về lý do tại sao mình lại cất công phục dựng Cờ Gánh - một trò chơi dân gian gần như đã rơi vào quên lãng - lên nền tảng web hiện đại. Cùng khám phá những nét tinh hoa trí tuệ của người Việt nhé!

Cờ Gánh: Ký ức tuổi thơ trên nền đất và sự hồi sinh trên màn hình số

Nhắc tới Cờ Gánh (Vietnamese Ganh Chess), chắc hẳn thế hệ 8x, 9x đời đầu ở các vùng quê miền Trung (đặc biệt là Quảng Nam, Quảng Ngãi) sẽ thấy cay khóe mắt. Ngày xưa làm gì có smartphone hay máy tính bảng, bàn cờ tụi mình thường được vẽ ngoệch ngoạc trên cát hoặc nền gạch, quân cờ thì chia ra phe "sỏi trắng" và "mảnh sành". Trò chơi này có luật siêu đơn giản, ai cũng có thể học trong vài phút, nhưng để thắng được mấy ông cụ đầu đình thì đúng là "bài toán thế kỷ".

Khác với sự phổ biến của Cờ Tướng hay Cờ Vua, Cờ Gánh mang đậm nét mộc mạc của làng quê Việt. Mỗi khi rảnh rỗi hay giờ ra chơi, chỉ cần 16 viên sỏi và vài nét vẽ là đã có một đấu trường trí tuệ nảy lửa. Khi bắt tay xây dựng AdvCaro Ecosystem, mình tự nhủ: "Tại sao mình có Caro, có Cờ Vua, mà lại bỏ quên tinh hoa trí tuệ của người Việt?". Và thế là tựa game Cờ Gánh ra đời trên nền tảng HTML5, hỗ trợ chơi thẳng trên trình duyệt mà không cần cài đặt.

Luật chơi Cờ Gánh: Không "ăn" đè, mà "Gánh" và "Chẹt"

Bàn Cờ Gánh bao gồm 16 ô giao điểm (4x4). Mỗi bên sở hữu 8 quân cờ được xếp ở hai phía đối diện. Nếu bạn quen chơi Cờ Vua hay Cờ Tướng, bạn sẽ hơi ngợp ở vài ván đầu. Trong Cờ Gánh, bạn không "đá" quân đối phương ra khỏi bàn để loại bỏ chúng, mà bạn thu phục chúng (chuyển màu). Trò chơi kết thúc khi một bên biến toàn bộ 16 quân trên bàn thành màu của mình.

Để giành chiến thắng, người chơi phải vận dụng 2 đòn thế cơ bản nhất:

Thuật toán Minimax: Nỗi đau đầu của Lập Trình Viên

Viết giao diện bàn cờ thì dễ, nhưng viết Bot AI cho Cờ Gánh thì đúng là ác mộng. Không có một thư viện mã nguồn mở nào hỗ trợ bộ môn này. Trong khi Cờ Vua có Stockfish, Cờ Tướng có Fairy-Stockfish, thì Cờ Gánh hoàn toàn là con số 0 tròn trĩnh trên bản đồ AI thế giới.

Để tạo ra một đối thủ máy (Bot) đủ thông minh để chơi với người dùng, mình đã phải tự tay code thuật toán Minimax kết hợp Alpha-Beta Pruning. Vấn đề lớn nhất là Hàm đánh giá (Evaluation function) của Cờ Gánh cực kỳ "chuối". Trong Cờ Vua, nếu bạn hơn Hậu, bạn gần như chắc thắng. Nhưng trong Cờ Gánh, bạn có thể đang chiếm 12 quân, đối thủ chỉ còn 4 quân, nhưng chỉ cần bạn đi sai một nước, đối thủ lập tức lật ngược thế cờ và gánh lại toàn bộ quân của bạn. Số lượng quân trên bàn không bao giờ phản ánh sức mạnh thực sự!

Hiện tại, Bot AI của hệ thống đã đạt mức tính toán sâu (depth) khoảng 4-5 bước. Một mẹo nhỏ xương máu cho anh em khi đánh với Bot: Đừng tham Gánh! Đôi khi Bot cố tình "thả thính" mở đường cho bạn gánh 2 quân, chỉ để nước sau nó gánh ngược lại bạn 4 quân. Hãy ưu tiên phòng thủ 4 góc bàn cờ và khu vực trung tâm trước khi bung đội hình ra tấn công ồ ạt.

❓ Hỏi nhỏ đáp khẽ (FAQ) Về Cờ Gánh

1. Cờ Gánh AdvCaro có chơi mượt trên điện thoại không?

Hoàn toàn mượt mà! Mình đã tối ưu toàn bộ giao diện bằng CSS Grid và Flexbox, đảm bảo bàn cờ co giãn cực tốt trên màn hình dọc của smartphone. Mọi người chỉ cần mở bằng Safari hay Chrome trên điện thoại iOS/Android là có thể vuốt chạm, kéo thả vi vu mà không giật lag.

2. Trò chơi này có luật hoà (Draw) không?

Theo luật cổ truyền, Cờ Gánh rất hiếm khi có kết quả hòa vì tổng số quân trên bàn luôn là 16. Trò chơi thường kết thúc dứt điểm khi một bên mất sạch quân. Tuy nhiên, nếu hai người chơi đi lặp lại một thế cờ quá 3 lần (vòng lặp vô tận do không ai chịu nhường), ván đấu có thể được xử hòa.

3. Sắp tới có cập nhật tính năng gì mới cho Cờ Gánh không?

Chắc chắn rồi. Mục tiêu lớn tiếp theo của hệ sinh thái AdvCaro là bổ sung hệ thống Multi-player (Chơi trực tuyến với người thật qua WebSocket), hệ thống xếp hạng (Elo Rating) và bảng vàng Leaderboard. Các bạn hãy tiếp tục ủng hộ để mình có thêm động lực thức đêm gõ code nhé!

Bí Kíp Cờ Gánh

Đọc để nắm vững chiến thuật đánh bại mọi đối thủ

Khám Phá Tất Cả Bài Viết