I. Giới thiệu về Báo cáo Đồ án Game Meow Knight
Báo cáo đồ án game Meow Knight là một dự án phần mềm toàn diện từ Trường Đại học Công nghệ Thông tin, Đại học Quốc gia Thành phố Hồ Chí Minh. Được thực hiện bởi sinh viên Nguyễn Tuấn Kiệt dưới sự hướng dẫn của giảng viên Trần Thị Hồng Yến, dự án này tập trung vào phát triển một game 2D Rogue-lite với đồ họa pixel độc đáo. Thời gian thực hiện kéo dài từ tháng 2 đến tháng 6 năm 2022, cho phép sinh viên áp dụng các kiến thức lập trình hướng đối tượng (OOP) và phân tích thiết kế hướng đối tượng (OOAD) vào thực tiễn phát triển game. Mục đích chính là kết hợp giữa việc nâng cao kỹ năng lập trình và tạo ra một sản phẩm game thú vị cho người chơi.
1.1. Mục đích và Mục tiêu Dự án
Dự án Meow Knight được thực hiện nhằm để sinh viên hiểu sâu hơn về lập trình hướng đối tượng và các design patterns. Mục tiêu chính là không chỉ cải thiện kỹ năng lập trình mà còn tạo ra một game hấp dẫn có khả năng tiếp cận rộng rãi. Qua việc phát triển game, sinh viên học được cách tổ chức code hiệu quả, quản lý các đối tượng game phức tạp, và áp dụng các nguyên tắc thiết kế phần mềm chuyên nghiệp vào môi trường Godot Engine.
1.2. Công nghệ và Công cụ Sử dụng
Godot Engine được lựa chọn làm nền tảng phát triển chính vì tính thân thiện với những lập trình viên mới bắt đầu và kiến trúc hướng đối tượng. Godot cung cấp các công cụ mạnh mẽ để tạo đồ họa 2D pixel, quản lý vòng lặp game, xử lý vật lý, và triển khai hệ thống AI cho các nhân vật. Sự lựa chọn này giúp sinh viên vừa có thể tập trung vào logic game vừa có thể học hỏi từ một engine chuyên nghiệp.
II. Đặc điểm Chính của Game Meow Knight
Game Meow Knight là một 2D Rogue-lite action game với những đặc điểm nổi bật riêng biệt. Thể loại Rogue-lite mang lại trải nghiệm chơi game đầy thách thức với hai nguyên tắc cốt lõi: Random Dungeon Generation (RDG) và Permadeath. Game sử dụng đồ họa pixel ấn tượng kết hợp với gameplay hành động sôi động, tạo nên một sản phẩm độc đáo. Cấu trúc game được thiết kế để cân bằng giữa tính ngẫu nhiên và flow của trò chơi, đảm bảo mỗi lần chơi đều mang lại trải nghiệm khác biệt nhưng vẫn công bằng và hấp dẫn với người chơi.
2.1. Hệ thống Sinh Ngẫu nhiên Dungeon
Random Dungeon Generation trong Meow Knight được triển khai thông qua kỹ thuật pre-creating nhiều bản đồ sẵn có thay vì sử dụng thuật toán sinh động. Các bản đồ được sắp xếp ngẫu nhiên, kẻ thù xuất hiện tại các vị trí ngẫu nhiên, và kho báu được phân phối một cách bất định. Phương pháp này giúp duy trì cân bằng game trong khi vẫn cung cấp tính tái chơi cao và trải nghiệm mới cho người chơi ở mỗi lần bắt đầu game mới.
2.2. Cơ chế Permadeath và Thách thức Game
Permadeath là yếu tố hình phạt cốt yếu trong game, buộc người chơi phải cẩn thận trong mỗi quyết định. Khi nhân vật bị đánh bại, tất cả tiến độ sẽ bị xóa sạch bất kể đã tiến đến đâu. Mục tiêu cuối cùng của Meow Knight là người chơi phải vượt qua tất cả các thách thức để đánh bại Boss cuối cùng. Cơ chế này tạo ra căng thẳng và hứng thú cao khi chơi game.
III. Thiết kế và Cấu trúc Hệ thống Game
Thiết kế hệ thống Meow Knight được xây dựng dựa trên các nguyên tắc Object-Oriented Design với các thành phần chính gồm: Core Game Loop, Use Case Models, Data Design, và Interface Design. Báo cáo đồ án bao gồm chi tiết về vòng lặp game chính, các sơ đồ use case cho từng thực thể trong game từ Player, các loại Enemy (Blue Slime, Orange Slime, Green Frog, Blue Frog, One-Eye Bat, Slime Knight, Frog Wizard, Bad Bat) cho đến Boss chính Meow Knight. Mỗi thành phần được mô hình hóa rõ ràng để đảm bảo tính toàn vẹn và dễ bảo trì của hệ thống.
3.1. Vòng Lặp Game và Luồng Xử lý Chính
Core Game Loop là trái tim của Meow Knight, xử lý việc cập nhật trạng thái game, render đồ họa, và xử lý input từ người chơi. Vòng lặp này được lặp lại liên tục để tạo ra trảm chiếc. Nó quản lý sự tương tác giữa Player và các Enemy, xử lý va chạm, cập nhật HP/MP, và kiểm tra điều kiện thắng/thua. Thiết kế tốt của Game Loop đảm bảo game chạy mượt mà, phản ứng nhanh với người chơi, và cải thiện trải nghiệm chơi game tổng thể.
3.2. Thiết kế Giao diện và Hệ thống UI
Interface Design của Meow Knight bao gồm nhiều thành phần UI quan trọng như Title Screen, Main Menu, Status UI (hiển thị HP & MP), Coins Counter, Shop Window, và Confirm Dialog. Mỗi UI được thiết kế để cung cấp thông tin rõ ràng và dễ sử dụng cho người chơi. Hệ thống giao diện tích hợp được thiết kế để hỗ trợ người chơi theo dõi trạng thái nhân vật, quản lý mua bán vật phẩm, và điều hướng các menu game một cách trực quan và hiệu quả.
IV. Kết luận và Ý nghĩa Đồ án
Báo cáo đồ án Meow Knight đại diện cho một nỗ lực toàn diện trong việc áp dụng các kiến thức lập trình chuyên nghiệp vào phát triển game thực tế. Dự án này không chỉ cho phép sinh viên thực hành lập trình hướng đối tượng mà còn hiểu được quy trình phát triển phần mềm từ A đến Z, từ phân tích yêu cầu, thiết kế, lập trình, cho đến kiểm thử. Tất cả tài nguyên trong game được sử dụng với sự cho phép hoặc được tạo bởi tác giả, với các ghi công chi tiết được liệt kê trong game. Dự án này có thể được mở rộng thêm trong Đồ án 2 và Luận văn tốt nghiệp với các tính năng phức tạp hơn.
4.1. Những Kỹ năng Đạt được Qua Dự án
Thông qua việc phát triển Meow Knight, sinh viên đã tiếp cận được design patterns, architecture patterns, quản lý state management, xử lý collision detection, và tối ưu performance trong Godot. Ngoài ra, dự án cũng giúp sinh viên hiểu rõ về cycle life của object, inheritance, polymorphism, và cách tổ chức code một cách chuyên nghiệp. Các kỹ năng này là nền tảng quan trọng cho sự phát triển sự nghiệp trong lĩnh vực phát triển game và phần mềm.
4.2. Hướng Phát triển Tương lai
Dự án Meow Knight có tiềm năng phát triển cao hơn với việc bổ sung các tính năng mới như multiplayer mode, advanced AI, procedural generation, và mobile optimization. Sinh viên có thể sử dụng trải nghiệm từ dự án này để tiến hành Đồ án 2 với scope lớn hơn và Luận văn tốt nghiệp với các nghiên cứu sâu hơn. Sự lặp lại và cải tiến liên tục sẽ giúp tạo ra một sản phẩm game chuyên nghiệp và có chất lượng cao.