phần mở đầu, em đề cập đến lý do chọn đề tài và mục tiêu của dự án. Mục tiêu chính là tạo ra một 2D Game Engine đơn giản dễ sử dụng với người mới bắt đầu tiếp xúc với lập trình game, có thể đáp ứng việc phát triển các game 2D và có hiệu suất ổn định, tiêu thụ ít tài nguyên máy tính. Đối tượng sử dụng dự án này là các bạn sinh viên mới bắt đầu học lập trình game và đã có kiến thức về ngôn ngữ Java, đồng thời còn được ứng dụng trong việc giảng dạy lập trình game của các thầy cô, giảng viên đại học. Trong chương Tổng quan, em trình bày về các Game Engine hiện có trên thị trường và xem xét các tính năng và khuyết điểm của những Game Engine đã được nghiên cứu.
Phần Cơ sở lý thuyết và phương pháp nghiên cứu trình bày cơ sở lý thuyết, lí luận, giả thiết khoa học và phương pháp nghiên cứu đã được sử dụng trong khóa luận. Em cũng mô tả ngôn ngữ lập trình và công nghệ được sử dụng trong dự án, cùng với kiến trúc tổng quan của sản phẩm. Chương Kết quả trình bày các tính năng của sản phẩm, bao gồm tính năng dễ hiểu và dễ sử dụng đối với người mới bắt đầu, hiệu suất ổn định, tiêu thụ ít tài nguyên máy tính, giao diện đơn giản và dễ sử dụng. Em cũng trình bày về thử nghiệm thực tế của hai game mẫu là Mario và Cờ vua, cùng đánh giá hiệu suất, độ ổn định và phân tích thiết kế hệ thống.
Cuối cùng, trong phần Kết luận, em tổng kết kết quả đạt được từ dự án và đề xuất hướng phát triển tiếp theo cho NiceEngine. Lý do chọn đề tài Lý do chọn đề tài này xuất phát từ nhận thức về sự phát triển mạnh mẽ của ngành công nghiệp game và sự quan tâm ngày càng tăng của đại chúng đối với lĩnh vực này. Trong thời đại công nghệ số hiện nay, game không chỉ đơn thuần là một hình thức giải trí, mà còn trở thành một phương tiện truyền tải thông điệp, tạo ra trải nghiệm tương tác đa dạng và mang lại lợi ích trong việc giáo dục, phát triển kỹ năng và thúc đẩy sự sáng tạo. Tuy nhiên, tại Việt Nam, tỷ lệ sinh viên đi theo ngành phát triển game vẫn khá thấp trong số các ngành lập trình khác.
Có nhiều nguyên nhân dẫn đến tình trạng này. Trước hết, cái nhìn vẫn còn thiếu thiện cảm về ngành game tại Việt Nam. Đồng thời, độ phức tạp và khó hiểu của quá trình phát triển game so với các loại hình khác trong cùng nhóm ngành cũng là một nguyên nhân đáng kể. Ngoài ra, cộng đồng phát triển game tại Việt Nam còn chưa đủ lớn và phát triển, thiếu sự hỗ trợ và giao lưu giữa các nhà phát triển.
Một yếu tố quan trọng khác là sự khó tiếp cận vào các công cụ và Game Engine phục vụ cho phát triển game hiện tại trên thị trường. Mặc dù có nhiều tính năng tốt, nhưng những công cụ này đòi hỏi tài nguyên máy tính cao, gây khó khăn cho người mới bắt đầu và sinh viên khi tiếp cận và sử dụng. Thực tế, ngay trong trường đại học Công nghệ thông tin - ĐHQG TPHCM, môn "Nhập môn phát triển Game" đã trở thành một cơn ác mộng đối với các sinh viên, đặc biệt là các anh chị khóa 2018 trở về trước, khi môn học này vẫn còn là một môn bắt buộc. Mục tiêu của dự án Từ những lý do trên, chúng em quyết định phát triển một 2D Game Engine mà đơn giản, dễ sử dụng đối với những sinh viên mới bắt đầu tiếp xúc với ngành lập trình 2 game, giao diện thân thiện, ngoài ra cũng cần đáp ứng những yêu cầu về hiệu suất ổn định và ngốn ít tài nguyên máy tính.
Đối tượng hướng đến Đối tượng sử dụng dự án này là các thầy/cô giảng dạy lập trình game, có thể giúp cho các bạn sinh viên dễ dàng hình dung về quá trình lập trình ra một game như thế nào. Ngoài ra, dự án còn hướng tới các bạn sinh viên có niềm đam mê, yêu thích, đang bắt đầu tìm hiểu về ngành lập trình game và đã có nền tảng về ngôn ngữ lập trình Java. Và cuối cùng, dự án cũng hướng tới những người muốn tiếp xúc và phát triển game 2D đơn giản khi mà kiến thức, kinh nghiệm chưa có nhiều hoặc tài nguyên máy tính hạn chế. Phạm vi nghiên cứu Phạm vi nghiên cứu của dự án tập trung vào việc phát triển một 2D Game Engine đơn giản và dễ sử dụng, đáp ứng nhu cầu của đối tượng mục tiêu.
Cụ thể, phạm vi nghiên cứu bao gồm: 1. Xây dựng 2D Game Engine: Đề tài tập trung vào việc xây dựng một 2D Game Engine mới. Công cụ này sẽ cho phép người dùng tạo ra các trò chơi 2D đơn giản bằng cách sử dụng các tính năng và công cụ được cung cấp. Phạm vi nghiên cứu bao gồm thiết kế kiến trúc của Game Engine, xây dựng các thành phần cốt lõi như quản lý đối tượng, xử lý va chạm, điều khiển hình ảnh và âm thanh.
Hỗ trợ ngôn ngữ lập trình Java: 2D Game Engine được phát triển sẽ hỗ trợ ngôn ngữ lập trình Java. Người dùng có thể sử dụng ngôn ngữ này để lập trình và điều khiển các thành phần trong trò chơi. Tối ưu hóa hiệu suất và tiêu thụ tài nguyên: Một trong những mục tiêu quan trọng của dự án là tối ưu hóa hiệu suất và tiêu thụ tài nguyên của 2D Game Engine. Công cụ sẽ được thiết kế để hoạt động một cách ổn định và hiệu quả 3 trên các máy tính có cấu hình thấp, giúp người dùng với tài nguyên hạn chế vẫn có thể trải nghiệm và phát triển trò chơi một cách mượt mà.
Tài liệu hướng dẫn và ví dụ: Phạm vi nghiên cứu cũng bao gồm việc tạo ra tài liệu hướng dẫn và ví dụ cho 2D Game Engine. Tài liệu này sẽ giúp người dùng hiểu rõ cách sử dụng công cụ, các tính năng và cú pháp lập trình, cũng như cung cấp các ví dụ và dự án mẫu để họ có thể tham khảo và tạo ra các trò chơi của riêng mình. Phạm vi nghiên cứu được giới hạn trong việc xây dựng 2D Game Engine và các chức năng cơ bản liên quan. Các khía cạnh phát triển game phức tạp hơn như kỹ thuật 3D, trí tuệ nhân tạo, mạng lưới và đa người chơi sẽ không được điều tra sâu trong đề tài này.
Thông qua phạm vi nghiên cứu này, dự án nhằm cung cấp một công cụ hữu ích và dễ sử dụng cho đối tượng mục tiêu, giúp họ tiếp cận và phát triển các trò chơi 2D đơn giản trong môi trường Java một cách thuận tiện và hiệu quả. Giới thiệu sơ lược về Game Engine Game Engine là một phần mềm đặc biệt được sử dụng để xây dựng và thiết kế trò chơi điện tử. Nó cung cấp cho các nhà phát triển game những công cụ và nguyên liệu cần thiết để tạo ra trò chơ. Game Engine giúp đơn giản hóa quá trình phát triển game bằng cách cung cấp một nền tảng và các tính năng đã được xây dựng sẵn, từ đó giảm thiểu việc viết mã lặp đi lặp lại và tăng tốc độ phát triển.
Lợi ích của việc sử dụng Game Engine bao gồm: • Tạo ra game mà hạn chế hoặc không cần sử dụng lập trình: Game Engine cung cấp các công cụ và giao diện đồ họa trực quan, cho phép các nhà phát triển game thiết kế và tạo ra trò chơi mà không cần có kiến thức lập trình sâu. Điều này mở ra cơ hội cho nhiều người có đam mê trò chơi nhưng không có kỹ năng lập trình để thực hiện ý tưởng của mình. • Tiết kiệm thời gian, công sức và tiền bạc: Game Engine giúp giảm thiểu thời gian và công sức cần thiết để xây dựng một trò chơi từ đầu. Các tính năng và công cụ sẵn có trong Game Engine giúp tăng tốc độ phát triển và giảm thiểu việc phải viết lại mã nguồn từ đầu.
Điều này giúp giảm chi phí phát triển và tạo điều kiện thuận lợi hơn cho việc phát triển trò chơi. • Đồ họa chân thực: Game Engine cung cấp các công cụ và khả năng xử lý đồ họa mạnh mẽ, cho phép tạo ra các hiệu ứng hình ảnh chân thực, đẹp mắt và sống động trong trò chơi. Điều này giúp nâng cao trải nghiệm của người chơi và tạo ra sự hấp dẫn đối với trò chơi. • Hỗ trợ đa nền tảng: Một lợi ích quan trọng của Game Engine là khả năng phát triển trò chơi cho nhiều nền tảng khác nhau.
Game Engine cho phép viết mã một lần và triển khai trò chơi trên các nền tảng khác nhau như PC, điện thoại di động, máy tính bảng, console và nhiều hơn nữa. Điều này giúp tiết kiệm thời gian và công sức cho việc phát triển đa nền tảng và mở rộng tầm với của trò chơi. 5 Với những lợi ích trên, Game Engine đã trở thành một công cụ quan trọng trong ngành công nghiệp game, giúp các nhà phát triển tạo ra những trò chơi độc đáo và hấp dẫn. Các thành phần có trong một Game Engine Một Game Engine bao gồm các thành phần quan trọng để hỗ trợ quá trình phát triển trò chơi.
Các thành phần này là những yếu tố cốt lõi của một Game Engine và cung cấp các tính năng và công cụ cần thiết cho việc xây dựng và thiết kế trò chơi. Dưới đây là một số thành phần chính trong một Game Engine: • Đồ họa và động học (Graphics and Animation): Đây là thành phần quan trọng trong Game Engine, bao gồm công nghệ đồ họa để hiển thị đồ họa, cảnh quan và hiệu ứng trong trò chơi. Nó cung cấp các công cụ và khả năng để tạo ra các hình ảnh chân thực, các hiệu ứng đặc biệt và các hoạt cảnh động. • Vật lý (Physics): Thành phần vật lý trong Game Engine giúp mô phỏng và xử lý các luật vật lý trong trò chơi.
Nó bao gồm tính toán va chạm, trọng lực, độ ma sát và các hiệu ứng vật lý khác. Thành phần này giúp tạo ra các phản ứng và tương tác vật lý chân thực giữa các đối tượng trong trò chơi. • Âm thanh (Audio): Thành phần âm thanh trong Game Engine cung cấp khả năng phát âm thanh, nhạc nền và hiệu ứng âm thanh trong trò chơi. Nó cho phép chơi các tệp âm thanh, kiểm soát âm lượng và tạo ra các hiệu ứng âm thanh đặc biệt để tăng trải nghiệm của người chơi.
• Điều khiển (Input): Thành phần điều khiển trong Game Engine quản lý việc nhận và xử lý các tương tác từ người chơi.