Tổng quan nghiên cứu

Thị trường trò chơi điện tử toàn cầu đang chứng kiến bước tăng trưởng vượt bậc với mức doanh thu đạt 159,3 tỷ USD vào năm 2020 và tăng tốc đạt mức 196 tỷ USD vào năm 2022, thu hút gần 3,2 tỷ người chơi trên khắp thế giới. Tại Việt Nam, số liệu thống kê từ các tổ chức nghiên cứu thị trường ghi nhận 94% người trưởng thành tham gia chơi game trên các thiết bị kỹ thuật số, trong đó có đến 85% sử dụng thiết bị di động. Mặc dù ngành game Việt Nam đã đạt được những thành tựu nhất định với hơn 1 tỷ lượt tải toàn cầu ở một số sản phẩm tiêu biểu và 4 huy chương vàng thể thao điện tử tại SEA Games 31, thị trường trong nước vẫn đối mặt với thực trạng thiếu hụt trầm trọng các trò chơi chiến thuật theo lượt nguyên bản có chiều sâu học thuật.

Nghiên cứu này tập trung giải quyết bài toán thiết kế và hiện thực hóa một bản thử nghiệm trò chơi đấu bài chiến thuật 2D theo lượt tích hợp trí tuệ nhân tạo đối kháng, lấy cảm hứng từ chuẩn mực của trò chơi thẻ bài quốc tế với hơn 23,6 tỷ lá bài đã được phát hành trên toàn cầu. Mục tiêu trọng tâm là xây dựng môi trường game chuẩn mực trên hệ điều hành máy tính với độ phân giải 1280x720, áp dụng các mẫu thiết kế phần mềm hiện đại nhằm giải quyết bài toán bùng nổ trạng thái và xây dựng thuật toán cây trò chơi hỗ trợ ra quyết định thông minh. Phạm vi nghiên cứu được thực hiện tại Trường Đại học Bách Khoa thuộc Đại học Quốc gia Thành phố Hồ Chí Minh, hoàn thiện vào tháng 09 năm 2022. Giá trị học thuật và thực tiễn của công trình thể hiện qua việc chuẩn hóa quy trình phát triển game từ khâu xử lý dữ liệu cấu hình JSON, quản lý vòng lặp theo lượt đến giải pháp tối ưu hóa bộ nhớ cho thuật toán tìm kiếm cục bộ, đóng góp một nền tảng tham chiếu đáng tin cậy cho các kỹ sư phần mềm trong nước.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Nghiên cứu được xây dựng trên nền tảng của lý thuyết trò chơi tổng bằng không giữa hai đối thủ, lý thuyết cây trò chơi và các mẫu kiến trúc công nghệ phần mềm hướng đối tượng. Ba trụ cột lý thuyết và khái niệm cốt lõi bao gồm:

  • Không gian trạng thái và Cây trò chơi: Trong thể loại chiến thuật theo lượt, toàn bộ tiến trình thi đấu được trừu tượng hóa thành một cây đồ thị có hướng. Nút gốc đại diện cho trạng thái khởi đầu của bàn chơi, các nút nhánh biểu thị các trạng thái kế tiếp sinh ra từ chuỗi hành động hợp lệ, và các nút lá đại diện cho trạng thái kết thúc trận đấu.
  • Giải thuật Minimax và Hàm đánh giá Heuristic: Thuật toán Minimax đóng vai trò nền tảng giúp tác tử máy tính đưa ra quyết định tối ưu dựa trên việc giả định đối thủ luôn lựa chọn phương án bất lợi nhất cho mình. Hàm đánh giá Heuristic tính toán điểm số cục bộ tại mỗi nút lá thông qua việc lượng hóa các chỉ số tài nguyên như lượng máu của thẻ chiến đấu, số lượng thẻ năng lượng gắn kèm, quy mô hàng dự bị và số thẻ bài thưởng còn lại.
  • Mẫu kiến trúc MVC và Mẫu thiết kế Command: Mô hình Model-View-Controller phân tách rõ ràng giữa cấu trúc dữ liệu ván đấu, giao diện hiển thị đồ họa và bộ điều phối trung gian. Kết hợp cùng mô hình Command, mỗi tương tác của người chơi được đóng gói thành một đối tượng hành động độc lập, hỗ trợ trực tiếp cơ chế hoàn tác và tái thực thi trạng thái.

Phương pháp nghiên cứu

Nghiên cứu áp dụng phương pháp thực nghiệm phát triển phần mềm kết hợp đánh giá định lượng thuật toán trên môi trường máy tính tiêu chuẩn.

  • Nguồn dữ liệu và Cỡ mẫu: Toàn bộ hệ thống quy tắc, thuộc tính Pokemon, chỉ số sát thương, khắc chế hệ nguyên tố và cấu trúc bộ bài 60 lá được trích xuất và chuẩn hóa từ bộ luật chuẩn quốc tế. Cỡ mẫu thực nghiệm bao gồm 120 kịch bản thi đấu mô phỏng được phân bổ trên 3 cấp độ tiến hóa của thẻ bài nhằm kiểm thử tính toàn vẹn của logic trò chơi và độ ổn định của trí tuệ nhân tạo.
  • Phương pháp chọn mẫu: Nghiên cứu sử dụng kỹ thuật chọn mẫu có chủ đích, tập trung vào việc tinh giản các quy tắc ngẫu nhiên phức tạp của thẻ bài vật lý để chuyển hóa thành các cấu trúc dữ liệu JSON xác định, đảm bảo mỗi ván đấu khởi đầu người chơi luôn rút đủ tối thiểu 1 Pokemon cơ bản trong 7 lá bài đầu tiên.
  • Phương pháp phân tích và Lý do lựa chọn: Công nghệ lập trình C++ kết hợp khung giao diện Cocos2d-x và thư viện RapidJSON được lựa chọn làm công cụ thực thi cốt lõi. C++ được biên dịch trực tiếp sang mã máy, cho phép kiểm soát việc cấp phát và giải phóng bộ nhớ thủ công tuyệt đối, loại bỏ hoàn toàn hiện tượng nghẽn tài nguyên do bộ thu gom rác tự động của các ngôn ngữ bậc cao khác gây ra khi duyệt đệ quy cây trò chơi. Quá trình nghiên cứu và tối ưu giải thuật diễn ra liên tục trong thời gian 6 tháng trước khi bảo vệ hội đồng chuyên môn vào tháng 09 năm 2022.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Quá trình kiểm thử và đo đạc hiệu năng của bản thử nghiệm đã mang lại 4 kết quả định lượng nổi bật:

  1. Tối ưu hóa bộ nhớ vượt trội qua cơ chế hoàn tác: Việc áp dụng mẫu thiết kế Command kết hợp cơ chế hoàn tác đã giảm 65% dung lượng bộ nhớ RAM tiêu thụ trong quá trình máy tính tìm kiếm nước đi so với phương pháp sao chép toàn bộ đối tượng bàn cờ ở mỗi nút duyệt.
  2. Độ trễ phản hồi thuật toán đạt chuẩn thời gian thực: Trí tuệ nhân tạo Minimax kết hợp thuật toán duyệt theo chiều sâu DFS và hàm Heuristic đạt thời gian ra quyết định trung bình dưới 1,2 giây cho mỗi lượt đi, duy trì tốc độ khung hình hiển thị ổn định ở mức 60 khung hình/giây trên màn hình chuẩn 1280x720.
  3. Chuẩn hóa logic khởi tạo ván đấu đạt độ tin cậy tuyệt đối: Cơ chế loại bỏ tính ngẫu nhiên khi phân phối 7 lá bài đầu trận giúp tỷ lệ ván đấu hợp lệ đạt 100%, cắt giảm 28% thời gian thiết lập bàn cờ ban đầu so với quy trình xào bài lặp lại của game thẻ bài vật lý truyền thống.
  4. Cải thiện tốc độ nạp tài nguyên đồ họa: Hệ thống quản lý tài nguyên tập trung ResourcePool kết hợp định dạng tệp giao diện Cocos Studio giúp giảm 45% thời gian chuyển đổi giữa màn hình chính và màn hình trận đấu, triệt tiêu 100% hiện tượng lỗi phát sinh do nạp trùng lặp hình ảnh SpriteSheet.

Thảo luận kết quả

Hiệu năng ấn tượng của hệ thống bắt nguồn trực tiếp từ việc kết hợp chặt chẽ giữa ngôn ngữ C++ hiệu năng cao và giải pháp đường ống xử lý hành động. Trong các trò chơi chiến lược thời gian thực, có tới khoảng 60% thời gian xử lý của bộ vi xử lý được dành riêng cho các phép toán tìm đường của máy tính. Đối với trò chơi chiến lược theo lượt, độ phức tạp chuyển dịch sang bài toán bùng nổ tổ hợp các nhánh trạng thái. Bằng cách không nhân bản cây trạng thái mà chỉ cập nhật biến đổi cục bộ rồi lập tức hoàn tác sau khi đánh giá Heuristic, chương trình đã giải phóng đáng kể áp lực tính toán lên phần cứng.

Dữ liệu thực nghiệm của nghiên cứu có thể được trực quan hóa thông qua hai công cụ phân tích cụ thể:

  • Bảng so sánh chi phí bộ nhớ: Thể hiện mức tiêu hao tài nguyên RAM giữa phương pháp Deep Clone truyền thống tiêu tốn khoảng 45 MB cho 1.000 trạng thái so với phương pháp Command Undo chỉ tiêu tốn 15,7 MB trên cùng một độ sâu cây Minimax.
  • Biểu đồ cột đo thời gian phản hồi: Biểu diễn thời gian xử lý của thuật toán tăng từ 0,05 giây ở độ sâu 1 lên 0,35 giây ở độ sâu 3 và chạm ngưỡng 1,18 giây ở độ sâu 5, chứng minh tính khả thi của việc triển khai thuật toán cục bộ trên máy tính cá nhân phổ thông.

So với các nghiên cứu AI lý thuyết vốn chỉ chạy trên môi trường dòng lệnh trừu tượng, đề tài đã tích hợp thành công thuật toán vào một giao diện đồ họa 2D hoàn chỉnh với hệ thống quản lý sự kiện và vòng lặp theo lượt độc lập.

Đề xuất và khuyến nghị

Dựa trên kết quả thực nghiệm của bản nguyên mẫu, 4 khuyến nghị kỹ thuật được đề xuất nhằm nâng cấp toàn diện hệ thống trò chơi và trí tuệ nhân tạo:

  1. Nâng cấp thuật toán cắt tỉa Alpha-Beta Pruning và tìm kiếm cây Monte Carlo: Nhóm kỹ thuật thuật toán AI cần tích hợp giải thuật cắt tỉa nhánh Minimax kết hợp mô phỏng ngẫu nhiên Monte Carlo nhằm gia tăng độ sâu duyệt cây lên 7 cấp, nâng tỷ lệ chiến thắng của máy tính lên trên 75% khi đối đầu với người chơi có kinh nghiệm trong lộ trình 3 tháng tới.
  2. Mở rộng kho thẻ bài và cơ chế hiệu ứng đặc biệt: Nhóm thiết kế Gameplay và Cơ sở dữ liệu cần hoàn thiện cấu trúc JSON để hỗ trợ 100% các loại thẻ hỗ trợ Supporter, thẻ sàn đấu Stadium cùng các trạng thái bất lợi như Ngủ, Độc, Bỏng trong thời hạn 6 tháng, gia tăng chiều sâu chiến thuật cho sản phẩm.
  3. Ứng dụng mô hình học tăng cường sâu (Deep Reinforcement Learning): Phòng nghiên cứu AI học thuật nên triển khai mô hình mạng nơ-ron Q-Network tự đối đầu qua 10.000 trận đấu mô phỏng để tự động hiệu chỉnh hệ số trọng số của hàm Heuristic trong vòng 9 tháng, thay thế cho việc gán trọng số tĩnh bằng tay.
  4. Tối ưu hóa giao diện đa nền tảng và phát hành di động: Nhóm phát triển phần mềm đa nền tảng cần chuyển đổi giao diện từ chuẩn 1280x720 sang cơ chế co giãn linh hoạt trên tỉ lệ màn hình 16:9 và 19.5:9 của hệ điều hành Android và iOS trong vòng 12 tháng, tiếp cận trực tiếp 85% tệp khách hàng tiềm năng tại thị trường nội địa.

Đối tượng nên tham khảo luận văn

Nội dung và kiến trúc mã nguồn của luận văn mang lại giá trị thực tiễn cho 4 nhóm đối tượng trọng tâm:

  1. Sinh viên và học viên cao học ngành Khoa học Máy tính: Tài liệu cung cấp ví dụ mẫu trực quan về cách chuyển đổi lý thuyết cây trò chơi, thuật toán Minimax và các cấu trúc dữ liệu đồ thị phức tạp thành mã nguồn C++ chạy thực tế trong một ứng dụng đồ họa tương tác.
  2. Lập trình viên và Nhà phát triển game độc lập: Luận văn mang đến giải pháp kiến trúc phần mềm hoàn chỉnh kết hợp giữa MVC và Command Pattern, giúp tiết kiệm tới 40% thời gian thiết kế khung sườn vòng lặp game theo lượt và giảm thiểu tối đa các lỗi xung đột logic khi mở rộng tính năng mới.
  3. Kỹ sư nghiên cứu Trí tuệ nhân tạo ứng dụng: Các nhà nghiên cứu có thể sử dụng môi trường bàn cờ và bộ nạp dữ liệu RapidJSON của đề tài như một môi trường giả lập chuẩn để thử nghiệm các thuật toán học máy, học tăng cường hoặc đối sánh hiệu năng giữa các giải thuật tìm kiếm cục bộ.
  4. Giảng viên và Cơ sở đào tạo lập trình phần mềm: Công trình là một giáo trình tham khảo giá trị cho các học phần Đồ họa trò chơi, Trí tuệ nhân tạo cơ sở và Kiến trúc phần mềm nâng cao, kết nối trực tiếp giữa lý thuyết hàn lâm và bài toán phát triển sản phẩm công nghệ hoàn chỉnh.

Câu hỏi thường gặp

Tại sao nghiên cứu lại ưu tiên sử dụng ngôn ngữ C++ thay vì C# hay Python để phát triển trò chơi và AI?
C++ được biên dịch trực tiếp sang mã máy và cung cấp quyền kiểm soát phân bổ bộ nhớ thủ công, giúp loại bỏ hoàn toàn các quãng ngắt của bộ thu gom rác tự động. Điều này giúp hệ thống xử lý nhanh chóng hàng nghìn phép toán đệ quy trong cây trò chơi Minimax và duy trì tốc độ khung hình 60 FPS ổn định trên giao diện đồ họa.

Mô hình thiết kế Command đóng vai trò quyết định như thế nào trong việc vận hành thuật toán Minimax?
Mô hình Command đóng gói mọi thao tác chơi thành các đối tượng hành động có khả năng tự đảo ngược trạng thái. Khi thuật toán AI cần thử nghiệm hàng nghìn nước đi giả định trên cây trò chơi, hệ thống chỉ cần gọi hàm hoàn tác để đưa bàn cờ về trạng thái gốc, tiết kiệm tới 65% dung lượng RAM so với việc nhân bản toàn bộ bàn cờ.

Hàm Heuristic trong luận văn tính toán điểm số trạng thái bàn cờ dựa trên những tiêu chí nào?
Hàm Heuristic lượng hóa giá trị cục bộ dựa trên 4 yếu tố chính: tổng lượng máu còn lại của Pokemon chiến đấu, số lượng thẻ năng lượng hợp lệ đã gắn, chênh lệch số lượng Pokemon trên hàng ghế dự bị tối đa 5 vị trí, và tỷ lệ rút cạn 6 lá bài thưởng của đối phương so với người chơi.

Việc loại bỏ cơ chế xào bài ngẫu nhiên đầu ván mang lại lợi ích gì cho hệ sinh thái game?
Cơ chế này đảm bảo thuật toán phân phối bài luôn cấp phát ít nhất 1 lá Pokemon cơ bản trong 7 lá đầu tay cho cả người chơi và máy tính. Giải pháp giúp nâng tỷ lệ ván đấu hợp lệ lên 100%, xóa bỏ hoàn toàn thời gian chờ đợi xào bài lại và đảm bảo tính công bằng tuyệt đối cho môi trường thi đấu đơn.

Hệ thống dữ liệu thẻ bài JSON trong đề tài có thể mở rộng cho các tựa game thẻ bài khác không?
Cấu trúc DataManager và định dạng JSON trong luận văn được thiết kế dạng module hóa hoàn toàn. Lập trình viên có thể tùy biến các trường chỉ số tấn công, lượng máu, thuộc tính năng lượng và các hành động ghi đè mà không cần can thiệp hay biên dịch lại mã nguồn lõi của hệ thống trò chơi.

Kết luận

  • Nghiên cứu đã hiện thực hóa thành công bản thử nghiệm trò chơi đấu bài chiến thuật 2D theo lượt trên độ phân giải 1280x720, tích hợp tác tử máy tính thông minh có khả năng phân tích và ra quyết định chuẩn xác.
  • Kiến trúc phần mềm kết hợp hoàn hảo giữa mô hình MVC và Command Pattern, xử lý triệt để bài toán quản lý luồng sự kiện và giảm 65% chi phí cấp phát bộ nhớ khi AI duyệt cây trạng thái.
  • Giải thuật Minimax kết hợp hàm đánh giá Heuristic đạt tốc độ phản hồi trung bình dưới 1,2 giây, bảo đảm trò chơi vận hành mượt mà ở tần số 60 khung hình/giây.
  • Toàn bộ cấu trúc thẻ bài và tham số trận đấu được module hóa thông qua chuẩn định dạng JSON, mở ra tiềm năng mở rộng không giới hạn cho các hệ thống quy tắc phức tạp hơn.
  • Lộ trình nâng cấp trong 12 tháng tới sẽ tập trung vào việc áp dụng thuật toán Alpha-Beta Pruning, tích hợp mạng nơ-ron học tăng cường và đóng gói sản phẩm lên các nền tảng di động phổ thông.

Các nhà phát triển và nhóm nghiên cứu phần mềm quan tâm đến mã nguồn kiến trúc vòng lặp game theo lượt và thuật toán Minimax trong đề tài có thể ứng dụng ngay mô hình này để rút ngắn thời gian phát triển các dự án trò chơi chiến thuật trong tương lai.