Game gần như miễn nhiễm ảnh hưởng bởi những yếu tố tác động từ thế giới và môi trường bên ngoài. Bởi lẽ đơn cử như tình hình đại dịch Covid 19 hoành hành khắp thế giới thời gian vừa qua; số lượng người chơi game, đầu tư vào game, thậm chí “ăn ngủ cùng game” đã đẩy mức doanh thu ngành Game liên tục phá vỡ những kỉ lục do chính nó tạo ra về lợi nhuận. Tất cả những điều đó cho thấy sức mạnh ảnh hưởng và khả năng phát triển không giới hạn của Game là lớn đến như thế nào.
GIỚI THIỆU ĐỀ TÀI
Lý do chọn đề tài
Như những gì đã tìm hiểu và nghiên cứu thông tin cơ bản về Game trong “Lời
Mở Đầu”, nhóm chúng tôi nhận thức rõ tầm quan trọng và tiềm lực phát triển vô hạn của Game trong cuộc sống và trong tương lai
Mặc dù sinh viên ngành Công nghệ Thông tin đã học nhiều môn chuyên ngành và tham gia phát triển một số sản phẩm công nghệ, nhưng hầu hết các sản phẩm họ tạo ra chỉ là ứng dụng hoặc trang web, mà chưa có sản phẩm nào liên quan đến Game.
Người làm IT cần phải theo kịp sự phát triển nhanh chóng của công nghệ, linh hoạt thích nghi với những biến đổi của ngành Họ nên khám phá nhiều lĩnh vực trong IT để "tiến hóa" và luôn kiểm soát được những gì mình muốn thực hiện.
Trong tương lai, lĩnh vực xây dựng Web và App có thể giảm sút, nhưng ngành Game vẫn sẽ phát triển mạnh mẽ và nhanh chóng Việc lựa chọn phát triển game không chỉ giúp sinh viên như chúng tôi xây dựng nền tảng vững chắc mà còn tạo cơ hội để thích nghi, mở rộng kiến thức và rèn luyện tư duy logic, từ đó chuẩn bị tốt hơn cho những thay đổi trong tương lai Điều này sẽ giúp chúng tôi có một môi trường ngành nghề hoàn thiện và toàn diện hơn.
Một trong những lý do chúng tôi quyết định xây dựng game cho học phần này là vì tính linh hoạt trong quá trình phát triển Khác với cấu trúc cứng nhắc của website hay yêu cầu phức tạp của ứng dụng, việc tạo ra game cho phép chúng tôi tự do sáng tạo và áp dụng tư duy logic của mình Hơn nữa, giao diện đồ họa và trải nghiệm người dùng trong game được chú trọng đặc biệt, mang đến những trải nghiệm thú vị và hấp dẫn cho người chơi Đề tài mà chúng tôi chọn là xây dựng game bắn súng 2D.
Trò chơi thường yêu cầu nhiều thời gian và nguồn lực đầu tư do đồ họa cao và tính năng phức tạp Tuy nhiên, việc tập trung vào tính năng và trải nghiệm sẽ tạo ra những tương tác hấp dẫn với các khối dữ liệu cứng nhắc Chính vì lý do này, trải nghiệm chơi game sẽ trở thành một điều không thể bỏ lỡ.
Game không chỉ là phương tiện giải trí mà còn là công cụ để nhà thiết kế truyền đạt ý tưởng và quan điểm trong thế giới ảo Qua việc điều khiển các yếu tố tương tác và kể câu chuyện, game giúp tiếp cận đối tượng mục tiêu hiệu quả Quá trình xây dựng game đầy thách thức và thú vị, yêu cầu áp dụng kiến thức toán học và vật lý Đây là cách tuyệt vời để rèn luyện kiên nhẫn và phát triển tư duy linh hoạt trong giải quyết vấn đề.
Mục tiêu đề tài
Báo cáo này tổng hợp toàn bộ nội dung và quá trình thực hiện dự án "Xây dựng game bắn súng 2D", bao gồm các vấn đề liên quan Nhóm chúng tôi sẽ phân tích sâu các khía cạnh thiết kế, kiến thức và kỹ thuật, cũng như quá trình phối hợp, nhằm cung cấp cho người đọc cái nhìn tổng quan và chi tiết về công việc xây dựng, phát triển và vận hành game.
Giới hạn và phạm vi đề tài
Sản phẩm của đề tài "Xây dựng game bắn súng 2D" được thiết kế bằng công cụ Godot và lập trình tính năng thông qua Visual Studio Code.
Các tài liệu liên quan sử dụng các phần mềm thuộc Microsoft Office để tạo lập: báo cáo, sơ đồ usecase,
Cơ sở dữ liệu sử dụng nền tảng PhpAdmin để tạo lập, thiết kế sơ đồ Database Relationship.
Kết quả dự kiến đạt được
Tìm hiểu chi tiết quy trình xây dưunjg và phát triển một Game Đề tài: Xây dựng game bắn súng 2D
Tìm hiểu chi tiết về công cụ Godot
Xây dựng và phát triển “game bắn súng 2D” đáp ứng các yêu cầu cơ bản
PHÂN TÍCH YÊU CẦU
Yêu cầu về kiến thức
II.1.1 Quy trình xây dựng Game Đề tài dự án “Xây dựng game bắn súng 2D” là dự án thiết kế game đầu tiên mà nhóm chúng em tự thực hiện Vậy nên, việc tìm hiểu, nghiên cứu chi tiết về quy trình để xây dựng và phát triển một game là vô cùng quan trọng Đó là khung kiến thức nền tảng giúp nhóm vạch rõ kế hoạch, thời gian, công đoạn và các phần cần thực hiện để tạo nên một sản phẩm hoàn chỉnh theo mong muốn; đảm bảo mọi công việc và vấn đề có liên quan logic, không bị thiếu sót hay bị dư thừa
Vậy, về cơ bản, quy trình sản xuất game có thể được gói trong 3 giai đoạn chính như sau:
Giai đoạn tiền kỳ đóng vai trò quan trọng, là nền tảng cho toàn bộ quá trình phát triển game Trong giai đoạn này, các công việc cần thực hiện bao gồm việc phát triển ý tưởng và lên kế hoạch chi tiết cho dự án.
+ Bàn luận và thống nhất cốt truyện hoàn chỉnh
+ Xây dựng tuyến nhân vật phù hợp với cốt truyện
+ Thiết kế thử thách, vạch ra cách hoạt động của game
Trong giai đoạn tiền kỳ của dự án game bắn súng 2D, game designer đóng vai trò chủ chốt trong việc thực hiện và chịu trách nhiệm chính Họ cần tổng hợp các ý tưởng và phương pháp thực hiện thành một tài liệu chi tiết, giúp các thành viên khác trong nhóm dễ dàng tham gia vào quá trình phát triển.
Để hiện thực hóa ý tưởng một cách hiệu quả, cần tuân thủ 16 giai đoạn quan trọng, bám sát yêu cầu ban đầu nhằm tránh chệch hướng Việc này giúp giảm thiểu tối đa các sửa chữa không cần thiết.
Giai đoạn sản xuất là thời điểm tốn nhiều thời gian và tài nguyên nhất trong quá trình phát triển game, đòi hỏi tối ưu hóa và giảm thiểu sai sót Trong giai đoạn này, các nhiệm vụ thiết kế đồ họa như Modeling, Animation, Texturing, Lighting và FX được thực hiện đồng thời với lập trình Những người lập trình game và nghệ sĩ kỹ thuật đóng vai trò quan trọng, đảm bảo sự liên kết giữa các công đoạn và xử lý lỗi phát sinh trong suốt quá trình phát triển.
Cuối giai đoạn sản xuất, bộ phận kiểm thử game sẽ thực hiện kiểm tra liên tục và phản hồi về các vấn đề cần khắc phục Một sản phẩm hoàn thiện phải đảm bảo tính ổn định, đầy đủ các tính năng yêu cầu và không có lỗi.
Giai đoạn hậu kỳ của một trò chơi thường thuộc về bộ phận Marketing của nhà phát hành, nơi đội ngũ Truyền thông hoạt động mạnh mẽ để quảng bá trò chơi Trong giai đoạn này, các tựa game sẽ được giới thiệu trên nhiều nền tảng như báo chí, tạp chí, blog và các kênh review của youtuber, streamer Đồng thời, nhà phát triển game tiếp tục cải thiện sản phẩm, khắc phục lỗi phát sinh từ phản hồi của người chơi sau khi ra mắt bản dùng thử Việc này không chỉ giúp sửa chữa các vấn đề mà còn cho phép nhà phát hành giới thiệu thêm tính năng mới nhằm thu hút và giữ chân người chơi.
II.1.2 Kiến thức về Godot
II.1.2.1 Đối tượng tham gia hệ thống Đề tài: Xây dựng game bắn súng 2D
Godot Engine là nền tảng phát triển game mã nguồn mở, lý tưởng cho các nhà phát triển game đa nền tảng Với giao diện thân thiện và nhiều tính năng nổi bật, Godot Engine đã thu hút sự chú ý của nhiều lập trình viên.
II.1.2.2 Vì sao là Godot ?
Hiện nay, nhiều Engine đã nổi bật trong việc hỗ trợ thiết kế và phát triển game, giúp rút ngắn thời gian và công sức cho nhà sản xuất Trong số đó, Unity Engine là một lựa chọn phổ biến, đặc biệt trong lĩnh vực xây dựng game bắn súng 2D.
Unity Engine là một nền tảng phát triển trò chơi mạnh mẽ và linh hoạt, được sử dụng phổ biến trong ngành công nghiệp game và giảng dạy lập trình Những ưu điểm nổi bật của Unity góp phần tạo nên sức hấp dẫn mạnh mẽ của nó.
Unity cho phép phát triển trò chơi trên nhiều nền tảng như PC, smartphone, tablet và thiết bị VR, giúp giải quyết vấn đề xung đột và không tương thích giữa game và thiết bị người dùng Nhờ vào chất lượng game, ưu điểm này của Unity giúp trò chơi nhanh chóng tiếp cận và thu hút số lượng người chơi lớn.
Unity sở hữu một cộng đồng lớn mạnh, bao gồm lập trình viên, nhà thiết kế và game thủ, điều này tạo điều kiện thuận lợi cho người mới Nhờ vào sự nổi tiếng và tính năng hỗ trợ của Unity, người dùng dễ dàng tìm kiếm tài liệu, nhận sự hỗ trợ và giải đáp thắc mắc trong quá trình sử dụng.
Asset Store của Unity là một nguồn tài nguyên phong phú cho các nhà phát triển game, cung cấp nhiều tài nguyên, script và plug-in, giúp tăng tốc quá trình thiết kế và phát triển game hiệu quả hơn.
Unity là một nền tảng dễ học, được đánh giá cao bởi các lập trình viên nhờ giao diện thân thiện và khả năng hỗ trợ nhiều ngôn ngữ lập trình như C# và JavaScript, giúp người mới bắt đầu nhanh chóng nắm bắt và phát triển kỹ năng lập trình.
Để thu hút game thủ ngay từ cái nhìn đầu tiên, việc render chất lượng cao là rất quan trọng trong phát triển game Unity cung cấp một hệ thống render mạnh mẽ, giúp các nhà thiết kế dễ dàng tạo ra hình ảnh sắc nét và ấn tượng, bất kể họ đang phát triển trò chơi 2D hay 3D Trong bài viết này, chúng ta sẽ khám phá cách xây dựng game bắn súng 2D với sự hỗ trợ của Unity.
Yêu cầu về kĩ thuật
Để thực hiện xây dựng và phát triển dự án “xây dựng game bắn súng 2D”, yêu cầu về kĩ thuật cần có đối với nhóm thực hiện bao gồm:
+ Kĩ thuật sử dụng Godot
+ Kĩ thuật lập trình ngôn ngữ GDscript
+ Kĩ thuật xử lý hình ảnh, thiết kế đồ họa cơ bản
+ Kĩ thuật thiết kế mô hình design pattern cho code flow sử dụng ESC
+ Kĩ thuật design về procedural dungeon generator.
Yêu cầu về tài nguyên
Dưới đây là hệ thống phân cấp tệp tài nguyên của dự án “Xây dựng game bắn súng 2D”:
Hình 9 Hệ thống phân cấp tệp Đề tài: Xây dựng game bắn súng 2D
Res:// - là directory hiện tại
Assets: tổng hợp các tài nguyên
Sound: tài nguyên âm thanh nền và sound effect
Sprites: tài nguyên hình ảnh
Visual effects: tài nguyên hiệu ứng hình ảnh
Scenes: tổng hợp các cánh trong game
Srcipts: tổng hợp các thành phần đoạn mã của game
Components: tổng hợp các đoạn mã theo thuộc tính
Player components: đoạn mã chỉ phục vụ player
Enemy components: đoạn mã chỉ phục vụ cho enemy
Enemy_player components: đoạn mã sử dụng cho cả player và enemy
Gun components: đoạn mã sử dụng cho vũ khí
Map components: đoạn mã để tạo map
Systems: hệ thống chương trình chính của game.
Yêu cầu về nhân sự
Dự án không yêu cầu quy mô lớn và tập trung vào nhóm sinh viên thực hiện học phần, do đó, không cần một hệ thống nhân sự phức tạp như trong các công ty Tuy nhiên, các thành viên cần đóng góp tích cực và có đủ năng lực để đảm bảo các quy trình xây dựng và phát triển game được thực hiện đúng cách.
Trong quá trình xây dựng game bắn súng 2D, vai trò và nhiệm vụ của từng thành viên được xác định rõ ràng thông qua tài liệu “Phân công công việc” Bên cạnh đó, các biên bản cuộc họp “Meeting Minutes” cũng ghi nhận vai trò và công việc của từng nhân sự trong các giai đoạn phát triển.
Yêu cầu về đồ họa, âm thanh
Hoạch định ban đầu là “game bắn súng 2D” – vậy đồ họa trong game là đồ họa 2D
Thiết kế đồ họa cần nổi bật và dễ quan sát các đối tượng trong màn chơi, đồng thời đảm bảo độ phân giải rõ nét, không bị mờ hay lỗi Việc kết hợp yếu tố mỹ thuật vào thiết kế giúp thu hút người chơi thông qua giao diện và hình ảnh đẹp mắt.
Âm thanh trong game bao gồm âm thanh nền, âm thanh thao tác, âm thanh di chuyển của nhân vật, âm thanh tấn công của nhân vật và âm thanh tấn công của kẻ địch Điều này đảm bảo rằng tất cả các tương tác trong game đều có âm thanh phù hợp Người chơi có thể điều chỉnh âm lượng, bật hoặc tắt âm thanh theo ý muốn, tạo ra trải nghiệm chơi game tối ưu.
Các hiệu ứng âm thanh được nhóm tìm từ các nguồn trên Internet và ghép với tương tác trong game.
Yêu cầu về hiệu suất
II.6.1 Các nguyên tắc thiết kế game nhằm đảm bảo hiệu suất
Nguyên tắc 1: Thiết kế giao diện game chặt chẽ và dễ sử dụng
Thiết kế giao diện game đóng vai trò quan trọng trong việc thu hút người chơi ngay từ lần tiếp xúc đầu tiên Bố cục hợp lý giúp người dùng dễ dàng tiếp cận thông tin cần thiết, trong khi thiết kế kém có thể khiến người chơi khó khăn trong việc tìm kiếm nội dung mong muốn, dẫn đến sự nhàm chán nhanh chóng.
Trước khi thiết kế game bắn súng 2D, nhóm chúng em đã xác định các khung giao diện phổ biến và chuyển đổi chúng thành giao diện thực tế Việc này giúp tổ chức và phân chia nội dung game một cách hiệu quả, đảm bảo trải nghiệm người chơi được tối ưu hóa.
Nguyên tắc 2: Game phải được sử dụng một cách mượt mà
Để đảm bảo các cử chỉ và hành động của nhân vật chính cũng như kẻ thù diễn ra mượt mà, nhóm thực hiện đã quyết định phát triển cơ chế điều khiển kết hợp giữa nút bấm trên bàn phím và thao tác chuột, nhằm mang đến trải nghiệm thao tác dễ dàng và thuận tiện nhất cho người chơi.
Nguyên tắc 3: Cách cài đặt game phải dễ dàng
Công cụ Godot mang lại nhiều ưu điểm, giúp việc cài đặt và chơi game trên đa nền tảng trở nên dễ dàng Người chơi chỉ cần chọn nền tảng mong muốn và thực hiện build game một cách nhanh chóng.
Hệ thống sẽ tự động build cho người chơi một file exe, chỉ việc thực hiện click double vào và game sẽ tự động được build và hoạt động.
THỰC HIỆN THIẾT KẾ
Phân tích đề tài
III.1.1 Khái niệm game Side Scroller
Game Side-Scrolling, hay còn gọi là Side-Scroller, là một thuật ngữ phổ biến trong thiết kế trò chơi điện tử, có nghĩa là “trượt phía bên hông” Trong loại trò chơi này, góc máy quay được đặt ở bên hông nhân vật chính, cho phép người chơi quan sát từ bên cạnh Khi nhân vật di chuyển, thường theo các hướng trái, phải, lên, xuống, cảnh vật xung quanh cũng thay đổi theo hành trình của nhân vật Do đặc điểm này, các trò chơi dạng side-scroller thường chỉ cho phép nhân vật di chuyển theo chiều ngang và chiều dọc, dẫn đến việc thiết kế game thường theo định dạng này.
2 chiều: 2D Đây cũng là định dạng của game mà nhóm chúng em thiết kế Đề tài: Xây dựng game bắn súng 2D
Một số tựa game kinh điển mà hầu như bất cứ ai cũng đã từng thấy, từng chơi được thiết kế theo Side-Scroller có thể kể đến:
Game bắn súng 2D mà nhóm xây dựng và phát triển cũng là một tựa game tương tự
III.1.2 Cách chơi Đề tài: Xây dựng game bắn súng 2D
Mục tiêu của trò chơi là người chơi nhập vai vào nhân vật "nhà thám hiểm", điều khiển nhân vật bằng các phím trên bàn phím để né tránh đòn tấn công từ kẻ thù Đồng thời, người chơi sử dụng chuột máy tính để định hướng vũ khí và nhấp chuột trái để tấn công, tiêu diệt kẻ địch.
Nhân vật sẽ tấn công quái vật cho đến khi quái vật hết máu và bị tiêu diệt, qua đó người chơi sẽ được công nhận đã hoàn thành ải và nhận thưởng hoặc điểm kinh nghiệm Nếu nhân vật bị tấn công quá nhiều và mất hết máu, người chơi sẽ phải lặp lại ải đó cho đến khi chiến thắng hoặc có thể chọn ngừng trò chơi.
Xác định yêu cầu trò chơi
III.2.1 Giao tiếp hệ thống
Game bắn súng 2D do nhóm thiết kế phải có hệ thống đáp ứng đầy đủ chức năng của một game Trong đó:
Để đảm bảo trải nghiệm di chuyển nhân vật mượt mà, các nút điều khiển cần được liên kết chặt chẽ với thời gian delay tối thiểu, hạn chế tình trạng giật lag và nhầm lẫn chức năng giữa các phím Ưu tiên sử dụng 4 phím mũi tên trên bàn phím cho việc di chuyển, bên cạnh đó có thể sử dụng 4 phím ký tự W, A, S, D.
Để tối ưu hóa trải nghiệm chơi game, việc liên kết chuột điều hướng vũ khí và tấn công là rất quan trọng, đảm bảo độ trễ thấp và không bị giật lag Khi di chuyển chuột, con trỏ sẽ chỉ hướng đến vị trí mong muốn, và người chơi có thể nhấn chuột trái để bắn một phát hoặc giữ chuột trái để bắn liên tục.
III.2.2 Giao tiếp về điều khiển
Các điều khiển trong game cần phải đầy đủ, chính xác và dễ sử dụng, nhằm mang lại trải nghiệm thoải mái cho người chơi mà không gây cảm giác gượng ép khi thao tác và tương tác.
Các điều khiển cần có một hệ thống quản lý rõ ràng, liên kết chặt chẽ với nhau, đảm bảo phục vụ đầy đủ các chức năng khi người dùng tham gia chơi game.
III.2.3 Giao tiếp về giao diện Đề tài: Xây dựng game bắn súng 2D
Giao diện game cần sử dụng hình ảnh sắc nét, mượt mà và nổi bật, đồng thời phải dễ nhìn để tránh gây khó chịu hay nhức mỏi cho người chơi Điều này không chỉ thu hút người chơi mà còn kéo dài thời gian trải nghiệm với cảm giác thoải mái và tận hưởng.
Giao diện game cần được thiết kế với sự sắp xếp hợp lý các nút điều khiển như chuyển tiếp trang, màn chơi, lựa chọn nền và điều chỉnh âm thanh Điều này không chỉ đảm bảo tính khoa học mà còn kết hợp tính thẩm mỹ, giúp người chơi dễ dàng tương tác mà không cảm thấy rối rắm hay thừa thãi.
Một lưu ý quan trọng nữa là giao diện cần phải phù hợp với kích cỡ màn hình và độ phân giải màn hình của nhiều thiết bị khác nhau.
Kịch bản trò chơi (cốt truyện)
Game bắn súng 2D là một trò chơi side-scrolling hấp dẫn, xoay quanh nhân vật Jackson - một nhà thám hiểm đầy nhiệt huyết Với niềm đam mê khám phá thế giới và tìm kiếm kho báu, Jackson bắt đầu cuộc hành trình phiêu lưu của mình.
Trong những chuyến thám hiểm đầy thử thách, Jackson không chỉ tìm kiếm kho báu và tiền thưởng mà còn phải đối mặt với những quái vật hung tợn canh giữ Nhiệm vụ sống sót của anh trở nên khẩn cấp, buộc anh phải tiêu diệt những sinh vật này để tích lũy kinh nghiệm và đạt được kho báu mà mình mong muốn.
Khi game khởi động, người dùng sẽ được đưa đến giao diện Menu, nơi có thể điều chỉnh âm thanh bằng cách bật/tắt hoặc tăng/giảm âm lượng Nếu không muốn thay đổi, người chơi chỉ cần nhấn nút Play để chuyển sang giao diện chọn màn chơi.
Các màn chơi được sắp xếp từ dễ đến khó, với màn đã vượt qua được đánh dấu tích "xanh" và màn chưa vượt qua được khoanh "đỏ" Nhân vật Jackson sẽ đứng ở màn chơi chưa vượt qua, ngay sau màn khó nhất mà người chơi đã hoàn thành Người chơi cần vượt qua từng màn theo cấp độ và có thể chọn lại các màn đã hoàn thành hoặc nhấn "Play" để bắt đầu màn chơi chưa vượt qua gần nhất.
Khi bắt đầu màn chơi trong game bắn súng 2D, người chơi sẽ điều khiển nhân vật Jackson bằng các phím mũi tên hoặc các phím A, D, W, S để di chuyển trái, phải, lên và xuống Ngoài ra, Jackson có khả năng thay đổi hướng súng theo con trỏ chuột, cho phép bắn một phát hoặc bắn liên tục tùy theo thao tác của người chơi.
Kẻ địch trong trò chơi sẽ di chuyển và bắn đạn vào Jackson, khiến anh va phải và mất máu dần dần Khi máu của nhân vật chính cạn kiệt, hệ thống sẽ thông báo "Lose", dẫn đến việc thua ải và đưa người chơi trở lại giao diện chọn màn, nơi Jackson sẽ đứng ở màn vừa thua.
Khi Jackson sống sót qua màn chơi và tiêu diệt thành công quái vật, anh sẽ nhận được kho báu phần thưởng của ải đó Hệ thống sẽ thông báo “Win” và đưa người chơi trở lại giao diện chọn màn Tại đây, Jackson sẽ đứng ở màn chơi tiếp theo và có thể tiếp tục hành trình thám hiểm của mình.
Sơ đồ quan hệ giữa các lớp
Hình 12 Sơ đồ quan hệ giữa các lớp
Class Main: Đây là class để xử lý tiến trình bắt đầu game cũng như kết thúc game, (tiến trình chọn màn chơi, thay đổi cài đặt âm thanh)
Class EnemyMove: Đây là class xử lý di chuyển của Enemy
Class GameController: Đây là class lưu trữ các enemy và xử lý random
Enemy Đề tài: Xây dựng game bắn súng 2D
Class GamePlayController: Đây là class dùng để xử lý di chuyển nhân vật, kích hoạt Laze và các xử lý va chạm với enemy, máu, kho báu thưởng…
Class EnemyState : Đây là class dùng để xử lý va chạm của enemy, xử lý số điểm, gây sát thương…
Class Laze: Là class để xử lý vũ khí, xử lý bay của viên đạn cũng như xử lý va chạm với Enemy.
Thiết kế đặc tả chức năng
Để nắm rõ yêu cầu của đề tài, nhóm nghiên cứu đề xuất thiết kế các biểu đồ mô tả cách thức hoạt động và quy trình xử lý liên quan.
III.5.1 Biểu đồ Use-case i III.5.1.1 Biểu đồ Use-case tổng quát i
Hình 13 Biểu đồ Use-case tổng quát i III.5.1.2 Đặc tả Use-case
III.5.1.2.a Đặc tả Use-case “Play Game”
Tên use-case: Play Game Đề tài: Xây dựng game bắn súng 2D
Người sử dụng: Người chơi
Mục đích: use-case này là chức năng chơi game – cũng là chức năng sử dụng chính của sản phẩm được xây dựng và phát triển
Yêu cầu đặc biệt: Không có
Trạng thái hệ thống trước khi bắt đầu thực hiện Use-case
Hệ thống hiển thị ở màn hình giao diện chính – giao diện menu game
Trạng thái hệ thống sau khi Use-case được thực hiện
Hệ thống hiển thị ra màn hình chơi game chính Điểm mở rộng: Không có
Người chơi chọn màn chơi có độ khó vượt quá phạm vi cho phép (nhảy bước màn chơi mà không theo thứ tự)
III.5.1.2.b Đặc tả Use-case “Help”
Tên use-case: Help Game
Người sử dụng: Người chơi
Mục đích: use-case này là chức năng cung cấp các thông tin về game
Các yêu cầu đặc biệt: Không có
Hành động của tác nhân Phản ứng của hệ thống
1 Người chơi vào ứng dụng Hệ thống đưa ra giao diện chính
2 Người chơi nhấn vào button
Hệ thống hiển thị ra màn hình chọn màn chơi
3 Người chơi nhấn chọn màn chơi thích hợp
Hệ thống hiển thị ra màn hình chơi game
Hành động của tác nhân Phản ứng của hệ thống
1 Người chơi vào ứng dụng Hệ thống đưa ra giao diện chính
2 Người chơi nhấn vào button
Hệ thống hiển thị ra màn hình giới thiệu thông tin về game, giới thiệu các chức năng trong game (phần chính) Đề tài: Xây dựng game bắn súng 2D
Trạng thái hệ thống trước khi bắt đầu thực hiện Use-case
Hệ thống hiển thị ở màn hình giao diện chính – giao diện menu game
Trạng thái hệ thống sau khi Use-case được thực hiện
Hệ thống hiển thị ra màn hình giới thiệu các thông tin về game Điểm mở rộng: Không có
Hành động lỗi: Không có
III.5.1.2.c Đặc tả Use-case “Exit”
Người sử dụng: Người chơi
Mục đích: use-case này là chức năng thoát khỏi game
Các yêu đặc biệt: Không có
Trạng thái hệ thống trước khi bắt đầu thực hiện Use-case
Hệ thống hiển thị ở màn hình giao diện chính – giao diện menu game
Trạng thái hệ thống sau khi Use-case được thực hiện
Hệ thống tắt tiến trình game, quay về màn hình Desktop Điểm mở rộng: Không có
Hành động lỗi: Không có.
PHÁT TRIỂN
Xác Định Công Nghệ và Ngôn Ngữ Lập Trình
Trong giai đoạn này, chúng tôi đã tập trung vào việc chọn công nghệ và ngôn ngữ lập trình cho dự án, với sự lựa chọn Godot Engine và GDScript Quyết định này dựa trên các yếu tố như hiệu suất, tính linh hoạt, khả năng tương thích đa nền tảng, cộng đồng hỗ trợ lớn và khả năng phát triển tùy chỉnh theo yêu cầu dự án.
Xây Dựng Cơ Sở Hạ Tầng của Game
Trong quá trình phát triển cơ sở hạ tầng cho trò chơi, nhóm chúng tôi đã xây dựng các module quan trọng như quản lý tài nguyên, quản lý đối tượng và hệ thống cấp độ trong Godot Engine Chúng tôi cũng đã tập trung vào tối ưu hóa để đảm bảo trò chơi hoạt động mượt mà trên nền tảng 2D, đồng thời có khả năng mở rộng dễ dàng cho các phiên bản trong tương lai.
Phát Triển Gameplay và Tính Năng Tương Tác
Đề tài: Xây dựng game bắn súng 2D
Phần này trình bày quá trình hiện thực hóa ý tưởng gameplay và tính năng tương tác trong game bắn súng 2D Nhóm phát triển đã sử dụng GDScript và công cụ Godot để xây dựng các hệ thống di chuyển, tấn công và tính năng đối tượng tương tác, nhằm mang đến một trải nghiệm chơi game độc đáo và hấp dẫn.
Tạo Đồ Họa và Âm Thanh
Thành viên thiết kế đồ họa và âm thanh đã sử dụng Godot Engine để phát triển các yếu tố đồ họa và âm thanh cho trò chơi Nhờ khả năng tích hợp tài nguyên đa phương tiện trực tiếp vào Godot, chúng tôi đã tạo ra các đối tượng với hiệu ứng và âm thanh, giúp trò chơi trở nên sinh động và hấp dẫn hơn.
KIỂM THỬ VÀ SỬA CHỮA
Xác định các chức năng cần kiểm thử bao gồm
Chức năng cài đặt: âm lượng, nhạc, sfx: Đề tài: Xây dựng game bắn súng 2D
Chức năng tạm dừng và bắt đầu chơi:
Chức năng trang chủ: Đề tài: Xây dựng game bắn súng 2D
Chức năng di chuyển của nhân vật:
Chức năng tấn công của nhân vật:
Các yêu cầu phi chức năng của người chơi: Đề tài: Xây dựng game bắn súng 2D
Quái Sâu: sau đây là bảng kiểm thử sau khi test game play
Quái Boss: sau đây là bảng kiểm thử sau khi test game play Đề tài: Xây dựng game bắn súng 2D
Quái muỗi: sau đây là bảng kiểm thử sau khi test game play
Quái Gấu: sau đây là bảng kiểm thử sau khi test game play
V.1.1.c.Đối với UI: Đề tài: Xây dựng game bắn súng 2D
Kiểm thử phản hồi button setting:
Kiểm thử phản hồi button trang chủ:
Kiểm thử đối với map: Đề tài: Xây dựng game bắn súng 2D
V.1.1.d.Kiểm thử đối với thuật toán
Chúng em đã thử nghiệm các tính năng trong game và nhận được kết quả tích cực Mặc dù có một số lỗi nhỏ, nhưng chúng em đã khắc phục thành công những vấn đề này.
V.1.1.e.Kiểm thử đối với hiệu năng
Chúng em đã tiến hành thử nghiệm game bắn súng 2D trên nhiều cấu hình máy khác nhau và nhận được những đánh giá tích cực về hiệu suất Cấu hình mạnh cho thấy khả năng xử lý mượt mà, mang đến trải nghiệm chơi game thú vị và hấp dẫn.
64 Đối với các cấu hình yếu hơn: Đề tài: Xây dựng game bắn súng 2D
QUẢN LÝ DỰ ÁN
Đưa ra lịch trình và quản lý tiến độ
1 Xác định các công việc cần thực hiện để hoàn thành dự án, bao gồm:
Thiết kế và tạo hình các nhân vật và môi trường trong game:
Sáng Tạo Ý Tưởng: Họp nhóm để đề xuất ý tưởng và thiết kế cơ bản cho nhân vật và môi trường dựa trên yêu cầu của dự án
Bắt đầu quá trình thiết kế nhân vật bằng cách vẽ phác thảo tay để nắm bắt hình dạng, trang phục và các đặc điểm nổi bật Hãy tìm kiếm cảm hứng từ các trò chơi tương tự và theo dõi xu hướng hiện tại trong ngành công nghiệp để nâng cao ý tưởng sáng tạo của bạn.
Tạo Hình và Animation: Chuyển các phác thảo thành hình ảnh số và tạo animation để xem trước cách nhân vật di chuyển và tương tác trong game
Mô Hình Hóa Môi Trường: Sử dụng công cụ mô hình hóa để tạo các khối cơ bản và mô hình hóa các đối tượng trong môi trường
2 Xây dựng cơ chế bắn súng, di chuyển và va chạm cho nhân vật
3 Xử lý hình ảnh, âm thanh và hiệu ứng đặc biệt
4 Thiết kế và xây dựng các cấp độ và giao diện người dùng
5 Kiểm thử, sửa lỗi và tối ưu hóa game
6 Lập lịch trình thực hiện công việc trên và phân chia thời gian cho từng giai đoạn của dự án
7 Theo dõi tiến độ thực hiện các công việc và so sánh với kế hoạch ban đầu để đảm bảo tuân thủ lịch trình Điều chỉnh lịch trình nếu cần thiết để đáp ứng yêu cầu và mục tiêu của dự án.
Quản lý nguồn lực
1 Xác định các nguồn lực cần thiết để xây dựng game bắn súng 2D, bao gồm: Máy tính và phần mềm phát triển Godot
Thư viện đồ họa và âm thanh
Công cụ thiết kế và biên tập hình ảnh, âm thanh Đề tài: Xây dựng game bắn súng 2D
2 Quản lý và sử dụng hiệu quả các nguồn lực trên suốt quá trình dự án
3 Đảm bảo rằng các nguồn lực được cung cấp đúng thời điểm và đáp ứng được yêu cầu của dự án.
Quản lý nhân lực
1 Xác định và cấp phát nhiệm vụ cho các thành viên trong nhóm phát triển game bắn súng 2D:
Nhân viên thiết kế và tạo hình
2 Đảm bảo rằng các thành viên có đủ kỹ năng và tư duy để thực hiện công việc của mình
3 Theo dõi và hỗ trợ các thành viên trong quá trình làm việc, giải quyết các vấn đề phát sinh và tăng cường sự hợp tác trong nhóm.
Quản lý rủi ro
1 Xác định và đánh giá các rủi ro có thể xảy ra trong quá trình xây dựng game bắn súng 2D:
Lỗi phần mềm và xử lý không chính xác
Thời gian phát triển kéo dài hơn dự kiến
Sự cạnh tranh từ các game khác trên thị trường
2 Phát triển các biện pháp phòng ngừa và ứng phó với rủi ro, đảm bảo rằng dự án không bị ảnh hưởng nghiêm trọng bởi các sựcố không mong muốn Điều này có thể bao gồm sau:
Thực hiện kiểm tra và kiểm tra liên tục để phát hiện lỗi phần mềm và sửa chữa chúng kịp thời
Thiết lập các mốc kiểm tra tiến độ để đảm bảo rằng dự án không chậm tiến độ quá nhiều
Nghiên cứu thị trường và đối thủ để hiểu và đáp ứng được sự cạnh tranh trong ngành công nghiệp game Đề tài: Xây dựng game bắn súng 2D
Quản lý tài nguyên tài chính
1 Xác định và quản lý nguồn tài chính cần thiết để thực hiện dự án xây dựng game bắn súng 2D
2 Theo dõi và kiểm soát chi phí, đảm bảo sử dụng tài nguyên tài chính một cách hiệu quả và đáp ứng được yêu cầu của dự án
3 Đề xuất các nguồn tài chính bổ sung nếu cần thiết và lập kế hoạch nguồn tài chính cho các giai đoạn tiếp theo của dự án Đề tài: Xây dựng game bắn súng 2D