



















Preview text:
lOMoAR cPSD| 59416725
Trường Đại học Phenikaa
Bài tập lớn môn học Kỹ thuật phần mềm
Đề tài: “Trò chơi đặt bomb vượt ải trên nền tảng Godot” Nhóm: 8
Nguyễn Ngọc Thanh – 20010986 Lê Trung Hiếu – 22010482 Nguyễn Duy Trường - 21011883 lOMoAR cPSD| 59416725 Hà Nội, 22/02/2024 Lời cam kết
Họ và tên nhóm sinh viên:
- Nguyễn Ngọc Thanh – 20010986 - Lê Trung Hiếu - 22010482
- Nguyễn Duy Trường - 21011883
Điện thoại liên lạc:0335877874
Email: 20010986@st.phenikaa-uni.edu.vn
Lớp: Kĩ thuật phần mềm N01 Hệ đào tạo: Chính quy
Tôi/Chúng tôi cam kết Bài tập lớn (BTL) là công trình nghiên cứu của bản thân/nhóm
tôi. Các kết quả nêu trong BTL là trung thực, là thành quả của riêng tôi, không sao
chép theo bất kỳ công trình nào khác. Tất cả những tham khảo trong BTL – bao gồm
hình ảnh, bảng biểu, số liệu, và các câu từ trích dẫn – đều được ghi rõ ràng và đầy đủ
nguồn gốc trong danh mục tài liệu tham khảo. Tôi/chúng tôi xin hoàn toàn chịu trách
nhiệm với dù chỉ một sao chép vi phạm quy chế của nhà trường.
Hà Nội, ngày 22 tháng 02 năm 2024
Tác giả/nhóm tác giả BTL
Họ và tên sinh viên
PHÂN CÔNG CÔNG VIỆC 1 lOMoAR cPSD| 59416725 Thành viên % Đóng góp Vai trò Nguyễn Ngọc Thanh 34%
Quản lý và điều hành dự án, phân công công việc, giám sát tiến độ,
đảm bảo chất lượng sản phẩm.
Lập trình di chuyển của nhân vật và giao diện của trò chơi Lê Trung Hiếu 33%
Thiết kế và lập trình Main Menu, các vật phẩm hỗ trợ trong game,
độ khó và hiệu ứng âm thanh của game Nguyễn
Thiết kế và lập trình hoàn thiện các bản đồ, khu vực các màn trong Duy Trường 33% game 2 lOMoAR cPSD| 59416725 Mở đầu
Trong thời đại công nghệ ngày nay, việc phát triển các trò chơi điện tử đã trở thành một lĩnh vực
hấp dẫn và đầy tiềm năng. Với sự phát triển không ngừng của công nghệ, các nhà phát triển game đã có cơ
hội tiếp cận vào nền tảng và công cụ mạnh mẽ để tạo ra những trải nghiệm giải trí độc đáo và hấp dẫn.
Trong bối cảnh này, Godot, một nền tảng phát triển game mã nguồn mở, đã trở thành một lựa chọn phổ
biến cho các nhà phát triển game độc lập và doanh nghiệp.
Trong báo cáo này, chúng tôi sẽ giới thiệu về một tựa game đặt bomb được phát triển trên nền tảng
Godot. Dựa trên tựa game tuổi thơ “Bomb Online” của thế hệ 8x, 9x Việt Nam, nhóm chúng tôi đã quyết
định đặt tên cho tựa game là “Bùm Bùm”, game này mang lại một trải nghiệm thú vị và hấp dẫn cho người
chơi thông qua cơ chế gameplay đầy sáng tạo. Chúng tôi sẽ đi sâu vào việc mô tả cách tựa game này được
phát triển, các tính năng nổi bật, cũng như những thách thức mà nhóm phát triển đã đối mặt trong quá trình xây dựng sản phẩm.
Chúng tôi hy vọng rằng báo cáo này sẽ mang lại cái nhìn tổng quan và chi tiết về quá trình phát
triển một tựa game đặt bomb trên nền tảng Godot, đồng thời góp phần bổ sung vào sự hiểu biết và khám
phá trong lĩnh vực phát triển game hiện đại.
Cuối cùng, chúng tôi xin chân thành cảm ơn thầy Trịnh Thanh Bình đã hướng dẫn bọn em trong quá
trình thực hiện dự án lần này. 3 lOMoAR cPSD| 59416725 Mục lục
Lời cam kết ................................................................................................................................................ 1
Mở đầu ........................................................................................................................................................ 3
Mục lục ....................................................................................................................................................... 4
Danh mục các từ viết tắt ......................................................................................................................... 6
Danh mục thuật ngữ ................................................................................................................................ 7
Chương 1 Giới thiệu đề tài ..................................................................................................................... 8
1.1 Đặt vấn đề .............................................................................................................................................. 8
1.2 Mục tiêu và phạm vi đề tài ..................................................................................................................... 8
1.3 Định hướng giải pháp ........................................................................................................................... 9
Chương 2 Giới thiệu nền tảng/Công nghệ sử dụng ........................................................................ 10
2.1 Khái quát về Godot 4.2: ....................................................................................................................... 10
2.2 Khái quát về Github:............................................................................................................................ 10
2.3 Khái quát về Figma: ............................................................................................................................ 11
2.4 Khái quát về Draw.io ........................................................................................................................... 12
Chương 3 Định hướng giải pháp ........................................................................................................ 12
3.1 Sử dụng hệ thống vật lý của Godot ..................................................................................................... 12
3.2 Thiết Kế Cấu Trúc Mô-đun và Tái Sử Dụng Mã Nguồn ................................................................... 13
3.3 Sử Dụng Hệ Thống Animation của Godot ......................................................................................... 13
3.4 Tối Ưu Hóa Hiệu Năng và Tài Nguyên .............................................................................................. 15
3.5 Đánh Giá Liên Tục và Sửa Lỗi ........................................................................................................... 16
Chương 4 Kiến trúc Hệ thống ............................................................................................................. 17
4.1 Asset ................................................................................................................................................... 17 4 lOMoAR cPSD| 59416725
4.2 Main Menu ........................................................................................................................................ 18
4.3 Scenes và Scripts ............................................................................................................................... 18
4.4 Sprites ................................................................................................................................................ 18
4.5 Liên kết giữa các thư mục và tệp ..................................................................................................... 19
Chương 5 Triển khai ............................................................................................................................. 20
5.1 Triển khai kỹ thuật............................................................................................................................... 20
5.2 Quá trình phát triển ............................................................................................................................. 25
Chương 6 Xây dựng Test Plan và Kiểm thử .................................................................................... 27
6.1 Test Plan ............................................................................................................................................... 27
6.2 Chiến lược kiểm thử ............................................................................................................................ 31
6.3 Defect Tracking: .................................................................................................................................. 33
6.4 Test Deliverables .................................................................................................................................. 33
Chương 7 Kết luận và hướng phát triển ........................................................................................... 34
7.1 Kết luận ................................................................................................................................................ 34
7.2 Hướng phát triển ................................................................................................................................. 35
TÀI LIỆU THAM KHẢO .................................................................................................................... 35 5 lOMoAR cPSD| 59416725
Danh mục các từ viết tắt
Integrated Development Environment IDE
Môi trường tích hợp dùng để viết code CNTT Công nghệ thông tin BTL Bài tập lớn SV Sinh viên User Interface UI Giao diện người dùng 6 lOMoAR cPSD| 59416725
Danh mục thuật ngữ Player
Nhân vật mà người chơi điều khiển TileMap
một vùng định nghĩa khu vực diễn ra các hoạt động của trò chơi Box
Thùng: có tác dụng cản đường và có thể bị phá hủy bởi bom Mob
Các quái vật trong trò chơi 7 lOMoAR cPSD| 59416725
Chương 1 Giới thiệu đề tài
1.1 Đặt vấn đề
Trò chơi đặt bomb đã trở thành một thể loại kinh điển trong ngành công nghiệp game, từ những ngày
đầu của các máy console cổ điển cho đến những thiết bị di động hiện đại. Sự kết hợp giữa yếu tố chiến thuật,
tốc độ phản xạ, và cảm giác căng thẳng khi đối mặt với thời gian là những yếu tố đã tạo nên sức hấp dẫn
đặc biệt của thể loại này. Tuy nhiên, mặc dù đã có nhiều tựa game đặt bomb phổ biến trên thị trường, việc
phát triển một trò chơi đặt bom độc đáo và thu hút vẫn đặt ra nhiều thách thức.
Trong bối cảnh này, nền tảng Godot nổi lên như một công cụ mạnh mẽ cho các nhà phát triển game
độc lập và nhóm phát triển nhỏ. Sự linh hoạt và tính năng mã nguồn mở của Godot cung cấp một môi trường
lập trình thuận tiện cho việc thực hiện các ý tưởng sáng tạo và phát triển các tựa game độc đáo. Tuy nhiên,
việc tận dụng được tiềm năng của Godot trong việc phát triển một tựa game đặt bomb vẫn đòi hỏi sự hiểu
biết sâu sắc về cả yếu tố gameplay lẫn kỹ thuật.
Trong báo cáo này, chúng tôi sẽ đặt vấn đề về việc phát triển một tựa game đặt bomb trên nền tảng
Godot. Chúng tôi sẽ tập trung vào các thách thức và cơ hội trong việc thiết kế và triển khai gameplay, đồng
thời xem xét về cách mà Godot có thể hỗ trợ các nhà phát triển vượt qua những thách thức này. Bên cạnh
đó, chúng tôi cũng sẽ phân tích về cách tựa game này có thể đáp ứng được nhu cầu và mong muốn của
người chơi hiện đại, từ đó tạo ra một trải nghiệm giải trí thú vị và đáng nhớ.
Qua đó, báo cáo sẽ cung cấp cái nhìn tổng quan và chi tiết về quá trình phát triển game trên nền tảng
Godot, đồng thời nhấn mạnh vai trò của việc hiểu biết về đối tượng người chơi và sự linh hoạt của công
nghệ trong việc tạo ra những trải nghiệm game độc đáo và hấp dẫn.
1.2 Mục tiêu và phạm vi đề tài
Mục tiêu của đề tài : Mục tiêu chính của đề tài này là thực hiện việc lập trình và phát triển
một tựa game đặt bom trên nền tảng Godot. Chúng tôi đặt ra các mục tiêu cụ thể như sau:
• Hoàn thành việc lập trình các tính năng cơ bản của tựa game, bao gồm di chuyển nhân vật, đặt bom và xử lý va chạm.
• Tạo ra một giao diện người dùng đơn giản và thân thiện để người chơi có thể tương tác và điều
khiển trò chơi một cách dễ dàng.
• Áp dụng các kỹ thuật và công nghệ trong Godot để tạo ra hiệu ứng đồ họa và âm thanh độc đáo,
tạo nên trải nghiệm chơi game đa dạng và sống động.
• Kiểm thử và điều chỉnh tựa game để đảm bảo tính ổn định và trải nghiệm chơi game tốt nhất cho người chơi.
Phạm vi của đề tài : Phạm vi của đề tài tập trung vào các khía cạnh lập trình và phát triển tựa
game đặt bom trên nền tảng Godot, bao gồm: lOMoAR cPSD| 59416725
• Xác định và triển khai các tính năng cơ bản của tựa game, như hệ thống di chuyển, quản lý bom, và cơ chế va chạm.
• Thiết kế và xây dựng các màn chơi và cấu trúc level để cung cấp cho người chơi trải nghiệm đa dạng và thú vị.
• Tập trung vào việc tối ưu hóa mã nguồn và tài nguyên để đảm bảo hiệu suất cao và tương thích trên nhiều nền tảng.
• Không đi sâu vào phân tích lý do hoặc kết quả của trò chơi, mà tập trung vào quá trình lập trình
và phát triển công nghệ.
1.3 Định hướng giải pháp
Trong quá trình phát triển tựa game đặt bom trên nền tảng Godot, chúng tôi đã xác định một số giải
pháp cụ thể để đảm bảo tính hoàn thiện và hiệu quả của sản phẩm. Dưới đây là một số hướng tiếp cận mà chúng tôi đã áp dụng:
1. Sử Dụng Cơ Chế Hệ Thống Nền Tảng Godot:
Tận dụng các tính năng và công cụ có sẵn trong Godot, như hệ thống vật lý và hệ thống Animation,
để giảm thiểu thời gian và công sức cần thiết cho việc phát triển các tính năng cơ bản của trò chơi.
2. Kiểm Thử Liên Tục và Sửa Lỗi:
• Áp dụng quy trình kiểm thử liên tục để phát hiện và sửa lỗi sớm trong quá trình phát triển.
• Sử dụng các công cụ kiểm thử tích hợp sẵn trong Godot và tạo ra các bộ kiểm thử tự động để đảm
bảo tính ổn định và chất lượng của trò chơi.
3. Tối Ưu Hóa Hiệu Năng và Tài Nguyên:
• Tối ưu hóa mã nguồn và tài nguyên để đảm bảo hiệu suất cao và tiêu thụ tài nguyên ít nhất có thể trên nhiều nền tảng.
• Sử dụng công cụ Profiling trong Godot để phân tích và tối ưu hóa hiệu năng của tựa game.
Bằng cách áp dụng những định hướng giải pháp này, chúng tôi hy vọng có thể đạt được mục tiêu lập
trình và phát triển tựa game đặt bom trên nền tảng Godot một cách hiệu quả và thành công. 9 lOMoAR cPSD| 59416725
Chương 2 Giới thiệu nền tảng/Công nghệ sử dụng
2.1 Khái quát về Godot 4.2:
Godot là một trình tạo trò chơi miễn phí và mã nguồn mở, được phát triển bởi một cộng đồng các
nhà phát triển phần mềm. Được phát hành lần đầu vào năm 2014, Godot đã trở thành một trong những công
cụ phổ biến cho việc phát triển trò chơi đa nền tảng. Dự án này được phát triển bởi Juan Linietsky và Ariel
Manzur, với mục tiêu cung cấp một giải pháp linh hoạt, dễ sử dụng và mạnh mẽ cho các nhà phát triển trò chơi.
Các tính năng chính của Godot bao gồm:
• Mã nguồn mở và miễn phí: Godot được phát hành theo giấy phép MIT, cho phép người dùng sử
dụng, sửa đổi và phân phối miễn phí.
• Đa nền tảng: Godot hỗ trợ phát triển trên nhiều nền tảng như Windows, macOS, Linux, Android,
iOS và các nền tảng console như Nintendo Switch.
• Ngôn ngữ lập trình đa dạng: Người dùng có thể lập trình trò chơi bằng nhiều ngôn ngữ như
GDScript (một ngôn ngữ tương tự Python được tối ưu cho Godot), C#, và C++.
• Trình chỉnh sửa tích hợp: Godot đi kèm với một trình chỉnh sửa trò chơi tích hợp, hỗ trợ tạo và
quản lý tất cả các tài nguyên cần thiết cho trò chơi.
• Đồ họa và âm thanh: Godot cung cấp một loạt các công cụ và tính năng để xử lý đồ họa và âm
thanh trong trò chơi, bao gồm hỗ trợ cho các hiệu ứng đồ họa 2D và 3D, âm thanh và animation.
• Cộng đồng và tài liệu: Godot có một cộng đồng lớn và nhiệt tình, cung cấp tài liệu đầy đủ và hỗ
trợ thông qua diễn đàn, wiki và các kênh trò chuyện trực tuyến.
Nhờ những tính năng và ưu điểm này, Godot đã trở thành một trong những lựa chọn phổ biến cho
các nhà phát triển trò chơi độc lập và cả các studio lớn.
2.2 Khái quát về Github:
GitHub là một nền tảng dịch vụ lưu trữ mã nguồn và quản lý dự án phổ biến nhất trên thế giới. Được
ra mắt vào năm 2008, GitHub nhanh chóng trở thành trung tâm của cộng đồng phát triển phần mềm mã nguồn mở và cộng tác.
Dưới đây là một số điểm chính về GitHub: 10 lOMoAR cPSD| 59416725
• Lưu trữ mã nguồn: GitHub cho phép các nhà phát triển lưu trữ mã nguồn của dự án của họ trên
các kho (repositories) được quản lý trên nền tảng của GitHub. Mỗi kho chứa tất cả các tệp tin, code,
hình ảnh và tài liệu liên quan đến dự án.
• Quản lý phiên bản: GitHub cung cấp các tính năng quản lý phiên bản giúp theo dõi và kiểm soát
sự thay đổi của mã nguồn theo thời gian. Nhờ vào hệ thống kiểm soát phiên bản, các nhà phát triển
có thể dễ dàng so sánh và quay lại các phiên bản trước đó của mã nguồn.
• Cộng tác và xã hội hóa: GitHub cho phép các nhà phát triển cùng làm việc trên cùng một dự án
một cách dễ dàng thông qua tính năng nhánh (branching) và yêu cầu kéo (pull request). Điều này
giúp tăng cường tính cộng tác và kiểm soát chất lượng của mã nguồn.
• Công cụ hỗ trợ: GitHub cung cấp một loạt các công cụ hỗ trợ cho quản lý dự án như theo dõi vấn
đề (issue tracking), bảng giao việc (project boards), wiki, và hệ thống báo cáo.
• Cộng đồng lớn mạnh: GitHub có một cộng đồng lớn và đa dạng với hàng triệu nhà phát triển trên
toàn thế giới. Cộng đồng này không chỉ cung cấp sự hỗ trợ kỹ thuật mà còn là nơi để chia sẻ kiến thức và kinh nghiệm.
• Phát triển mở và dễ dàng tích hợp: GitHub hỗ trợ mô hình phát triển mở (open source) và cung
cấp API mạnh mẽ cho phép tích hợp với các dịch vụ và công cụ khác.
Tóm lại, GitHub không chỉ là một nền tảng lưu trữ mã nguồn mà còn là một cộng đồng và một hệ
sinh thái phát triển phần mềm mở rộng.
2.3 Khái quát về Figma:
Figma là một công cụ thiết kế giao diện người dùng (UI) và trải nghiệm người dùng (UX) dựa trên
web, cho phép các nhà thiết kế tạo ra và cộng tác trên các thiết kế từ xa. Nó đã nhanh chóng trở thành một
trong những công cụ phổ biến nhất trong lĩnh vực thiết kế UI/UX, nhất là trong các dự án cần tính tương
tác cao và cần phối hợp nhóm.
Dưới đây là một số điểm chính về Figma:
• Giao diện trực quan và đa nền tảng: Figma được xây dựng dựa trên công nghệ web, cho phép
truy cập từ bất kỳ trình duyệt web nào mà không cần cài đặt phần mềm. Điều này giúp các nhà thiết
kế dễ dàng truy cập và làm việc từ bất kỳ đâu và trên bất kỳ thiết bị nào.
• Cộng tác thời gian thực: Figma cho phép nhiều người dùng làm việc trên cùng một thiết kế cùng
một lúc, với khả năng xem các thay đổi được áp dụng ngay lập tức. Điều này tạo điều kiện thuận lợi
cho việc phối hợp và đánh giá từ nhiều người dùng trong dự án.
• Tính tương tác cao: Figma không chỉ là một công cụ thiết kế giao diện tĩnh mà còn cho phép tạo
ra các prototype tương tác, với khả năng thêm các kích hoạt, chuyển động và tính năng tương tác.
Thư viện và component tái sử dụng: Figma cho phép người dùng tạo ra và quản lý các thư viện
và component, giúp tiết kiệm thời gian và đảm bảo tính nhất quán trong thiết kế.
• Tích hợp dễ dàng: Figma tích hợp tốt với các công cụ và dịch vụ khác như Slack, Jira, và nhiều
công cụ quản lý dự án khác. 11 lOMoAR cPSD| 59416725
• Bảo mật và quản lý quyền truy cập: Figma cung cấp các tính năng bảo mật như quản lý quyền
truy cập và mã hóa dữ liệu để đảm bảo an toàn cho thông tin và thiết kế của người dùng.
Tóm lại, Figma là một công cụ thiết kế giao diện người dùng mạnh mẽ, linh hoạt và dễ sử dụng,
giúp các nhà thiết kế làm việc hiệu quả và phối hợp tốt trong các dự án thiết kế.
2.4 Khái quát về Draw.io
Draw.io là một công cụ vẽ sơ đồ trực tuyến miễn phí, được sử dụng để tạo ra các biểu đồ, sơ đồ, và
các đồ thị khác. Nó cung cấp một giao diện trực quan và dễ sử dụng cho việc tạo ra các loại biểu đồ phổ
biến như sơ đồ luồng công việc, sơ đồ tổ chức, sơ đồ mạng, và nhiều loại biểu đồ khác.
Dưới đây là một số điểm chính về Draw.io:
• Miễn phí và mã nguồn mở: Draw.io là một dự án mã nguồn mở và miễn phí. Người dùng có thể
truy cập và sử dụng nó mà không cần phải trả phí.
• Trực tuyến và đa nền tảng: Draw.io hoạt động hoàn toàn trên web, không yêu cầu cài đặt bất kỳ
phần mềm nào. Điều này cho phép người dùng truy cập và làm việc từ bất kỳ thiết bị nào có kết nối internet.
• Giao diện dễ sử dụng: Draw.io cung cấp một giao diện trực quan và dễ sử dụng, với nhiều công cụ
vẽ và tùy chọn định dạng để tạo ra các biểu đồ phức tạp.
• Hỗ trợ đa dạng loại biểu đồ: Draw.io hỗ trợ nhiều loại biểu đồ khác nhau như sơ đồ luồng công
việc, sơ đồ tổ chức, sơ đồ UML, sơ đồ mạng, và nhiều loại biểu đồ khác.
• Lưu trữ và chia sẻ dễ dàng: Draw.io cho phép người dùng lưu trữ và chia sẻ biểu đồ của mình
thông qua các tài liệu lưu trữ trực tuyến như Google Drive, Dropbox, hoặc lưu trữ trực tiếp trên máy tính.
• Tích hợp với các dịch vụ khác: Draw.io có thể tích hợp với các dịch vụ lưu trữ và quản lý dự án
như Google Drive, Microsoft OneDrive, và GitHub.
Tóm lại, Draw.io là một công cụ vẽ sơ đồ trực tuyến miễn phí, dễ sử dụng và đa nền tảng, được sử
dụng rộng rãi trong các dự án tạo biểu đồ và sơ đồ.
Chương 3 Định hướng giải pháp
Trong quá trình phát triển tựa game đặt bom trên nền tảng Godot, chúng tôi đã chọn các phương pháp
và chiến lược phù hợp để đảm bảo tính hoàn thiện và hiệu quả của sản phẩm. Dưới đây là những điểm chính
trong định hướng giải pháp của chúng tôi:
3.1 Sử dụng hệ thống vật lý của Godot
Godot cung cấp một hệ thống vật lý mạnh mẽ và linh hoạt, cho phép chúng tôi mô phỏng các phản
ứng vật lý chân thực cho nhân vật và các vật thể trong game. Chúng tôi sử dụng tính năng này để tạo ra các 12 lOMoAR cPSD| 59416725
phản ứng đa dạng và thú vị khi nhân vật di chuyển, đặt bom và tương tác với môi trường, bao gồm: Các
nhân vật người chơi điều khiển – còn gọi là “Người chơi”, “Player” bị chặn lại bởi tường, nếu chạm vào
các quái vật thì sẽ bị sát thương và bị trừ máu.
• Player có thể di chuyển theo các hướng: Lên, xuống, trái, phải
• Người chơi có thể đặt bom tại vị trí mình đang đứng để phá các tường và tiêu diệt các quái vật trong màn chơi.
3.2 Thiết Kế Cấu Trúc Mô-đun và Tái Sử Dụng Mã Nguồn
Chúng tôi đã chia tựa game thành các mô-đun nhỏ và độc lập, từ đó tạo điều kiện cho việc quản lý
và tái sử dụng mã nguồn một cách hiệu quả. Mỗi mô-đun tập trung vào một phần cụ thể của trò chơi như
màn ảnh (scene), mã thiết lập (script), đồ họa (sprite), Main menu và các tư liệu (asset) của trò chơi.
Hình 3.1 cấu trúc thư mục của trò chơi
3.3 Sử Dụng Hệ Thống Animation của Godot
Để tạo ra các hiệu ứng đồ họa linh hoạt và sống động, chúng tôi đã sử dụng hệ thống Animation tích
hợp sẵn trong Godot. Việc này cho phép chúng tôi tạo ra các hoạt cảnh và chuyển động mượt mà cho nhân
vật, bom, và các hiệu ứng khác trong game. 3.3.1 Nhân vật
Animation của nhân vật bao gồm các ảnh chuyển động được thực hiện gần kề nhau và lặp lại vòng
lặp trong 1 giây khi thực hiện hành động ứng với hoạt ảnh:
Tĩnh (idle): Khi nhân vật không làm gì
Hình 3.2 Chuyển động tĩnh của nhân vật
• Đi xuống (Walk down): Khi nhân vật đi xuống 13 lOMoAR cPSD| 59416725
Hình 3.3 Chuyển động đi xuống của nhân vật
Đi lên (Walk up): Khi nhân vật đi lên:
Hình 3.4 Chuyển động đi lên của nhân vật
• Đi ngang (Walk side): Khi nhân vật đi ngang
Hình 3.5 Chuyển động đi ngang của nhân vật 3.3.2 Bom Bom phát nổ
Hình 3.6 Hiệu ứng bom phát nổ Bom tĩnh
Hình 3.7 Bom ở trạng thái tĩnh
3.3.3 Hiệu ứng nổ
Trung tâm vụ nổ (epicenter) 14 lOMoAR cPSD| 59416725
Hình 3.8 Trung tâm vụ nổ Tia phát nổ (beam)
Hình 3.9 Tia phát nổ 3.3.4 Thùng
Trạng thái mặc định
Hình 3.10 Thùng ở trạng thái mặc định
Trạng thái đang cháy (khi bị bom nổ trúng)
Hình 3.11 Thùng đang bị cháy
3.3.5 Quái (mob)
Hình 3.12 Quái vật
3.4 Tối Ưu Hóa Hiệu Năng và Tài Nguyên
Với mục tiêu đảm bảo trải nghiệm chơi game mượt mà và không gây giật lag, chúng tôi đã tiến hành
tối ưu hóa mã nguồn và tài nguyên của tựa game. Việc này bao gồm việc giảm thiểu số lượng cuộc gọi hàm
không cần thiết, quản lý bộ nhớ một cách hiệu quả, và sử dụng các kỹ thuật tối ưu hóa hình ảnh. 15 lOMoAR cPSD| 59416725
3.5 Đánh Giá Liên Tục và Sửa Lỗi
Trong quá trình phát triển, chúng tôi đã thực hiện kiểm thử liên tục để phát hiện và sửa lỗi sớm.
Bằng cách sử dụng các công cụ kiểm thử tích hợp trong Godot và tạo ra các bộ kiểm thử tự động, chúng tôi
đã đảm bảo tính ổn định và chất lượng của trò chơi.
Chúng tôi sẽ trình bày chi tiết quá trình kiểm thử ở phần về sau của báo cáo này. 16 lOMoAR cPSD| 59416725
Chương 4 Kiến trúc Hệ thống
Hình 4.1 Sơ đồ cấu trúc của game Bùm Bùm 4.1 Asset
Đây là thư mục chứa các tài nguyên như môi trường và các vật phầm trong game.
Hình 4.2 Hình nền một màn của game 17 lOMoAR cPSD| 59416725 4.2 Main Menu
Đây là thư mục chứa main menu chính của trò chơi và các box cài đặt, thiết lập của trò chơi.
Hình 4.3 main menu của trò chơi 4.3 Scenes và Scripts
Hai thư mục này có cầu trúc giống nhau đều là: • Explosion • Bomb • Box • Main • Mob • Player
nhưng mỗi file đều chứa các tệp khác nhau.
• Ở thư mục scenes chứa các tệp có đuôi .tscn dùng để lập trình Front-end của game, thiết lập
giao diện và UI của trò chơi.
• Ở thư mục Script chứa các đoạn mã bằng ngôn ngữ Godotscript với vai trò như phần Back-
end của trò chơi, có tác dụng thiết lập các thông số của nhân vật, điều khiển di chuyển của
nhân vật, và tương tác của nhân vật với các yếu tố khác trong game cũng như tương tác lần
nhau của các yếu trống trong game 4.4 Sprites
Đây là thư mục chứa các tệp để xây dựng mô hình người chơi, quái vật, thùng.... 18 lOMoAR cPSD| 59416725
4.5 Liên kết giữa các thư mục và tệp
Game của chúng ta sẽ có file Main Menu được liên kết tới màn chơi đàu tiên của game qua nút
“New game”. ở trong file scene của màn chơi sẽ bao gồm các yếu tố của trò chơi như player, tileMap, box
và mob...; các yếu tố này được gọi là các “node” .Các node có thể được kết nối với một file script riêng của nó.
Hình 4.4 Cấu trúc các node trong 1 scene 19