Trong đồ án này, nhóm thực hiện sẽ áp dụng các công nghệ và phương pháp lập trình hiện đại để phát triển một tròchơi đầy sáng tạo và hấp dẫn.. Tổng quan đề đề tài1.1.1 Lý do chọn đề tài
Trang 1BỘ CÔNG THƯƠNGTRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI: XÂY DỰNG GAME SUNNY LAND
Trang 2LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành và sự tri ân sâu sắc đối với các thầy côcủa trường Đại học Điện Lực, đặc biệt là các thầy cô khoa Công Nghệ ThôngTin của trường đã tạo điều kiện cho em thực hiện đồ án Và em cũng xin chânthành cám ơn cô Đinh Thu Khánh đã nhiệt tình hướng dẫn em hoàn thành tốt đồ
án tốt nghiệp
Trong quá trình thực tập, cũng như là trong quá trình làm đồ án tốt nghiệp,khó tránh khỏi sai sót, rất mong các thầy, cô bỏ qua Đồng thời, do trình độ lýluận cũng như kinh nghiệm thực tiễn còn hạn chế nên bài báo cáo không thểtránh khỏi những thiếu sót, em rất mong nhận được ý kiến đóng góp thầy, cô để
em học thêm được nhiều kinh nghiệm và sẽ hoàn thành tốt hơn đồ án tốtnghiệp sắp tới Em xin chân thành cảm ơn!
Sinh viên thực hiệnMạnh
VŨ ĐỨC MẠNH
Trang 3LỜI MỞ ĐẦU
Trong thời đại công nghệ phát triển nhanh chóng như hiện nay, ngành côngnghiệp game đã trở thành một lĩnh vực vô cùng phát triển và thu hút sự chú ýcủa đông đảo giới trẻ trên toàn thế giới Game không chỉ là một phương tiện giảitrí mà còn là công cụ để phát triển tư duy, sáng tạo và khả năng giải quyết vấn
đề Chính vì vậy, việc phát triển các trò chơi điện tử có ý nghĩa quan trọng trongviệc cung cấp những trải nghiệm hấp dẫn và bổ ích cho người chơi
Đồ án "Xây dựng game Sunny Land" được thực hiện với mục tiêu nghiêncứu và áp dụng các kiến thức về lập trình game, đồ họa máy tính và thiết kế giaodiện người dùng Game Sunny Land là một trò chơi phiêu lưu với những câu đố,thử thách và những nhiệm vụ thú vị, mang đến cho người chơi một thế giới đầymàu sắc và những giờ phút giải trí thư giãn Trong đồ án này, nhóm thực hiện sẽ
áp dụng các công nghệ và phương pháp lập trình hiện đại để phát triển một tròchơi đầy sáng tạo và hấp dẫn
Thông qua đồ án này, em hy vọng sẽ góp phần vào sự phát triển của ngànhcông nghiệp game tại Việt Nam, đồng thời nâng cao kỹ năng lập trình, tư duylogic và khả năng làm việc nhóm Chúng tôi xin chân thành cảm ơn sự hướngdẫn, hỗ trợ của các thầy cô giáo và các bạn đồng môn trong suốt quá trình thựchiện đồ án
Trang 4CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Tổng quan đề đề tài
1.1.1 Lý do chọn đề tài
Trong thời đại số hóa và sự phát triển mạnh mẽ của công nghệ, ngànhcông nghiệp game không chỉ đơn thuần là một lĩnh vực giải trí, mà còn trở thànhmột công cụ mạnh mẽ để giáo dục, rèn luyện kỹ năng và kích thích sáng tạo.Việc lựa chọn xây dựng game Sunny Land cho đồ án của mình xuất phát từmong muốn mang đến một sản phẩm không chỉ hấp dẫn về mặt chơi game, màcòn có giá trị về mặt trải nghiệm và học hỏi
Đề tài này được chọn vì em nhận thấy nhu cầu của người chơi hiện naykhông chỉ dừng lại ở việc tìm kiếm một trò chơi giải trí thông thường mà còn làmột không gian có thể khám phá, học hỏi và phát triển tư duy Game SunnyLand sẽ là một sự kết hợp hoàn hảo giữa yếu tố giải trí và giáo dục, khi ngườichơi không chỉ đối mặt với các thử thách mà còn có cơ hội rèn luyện kỹ nănggiải quyết vấn đề, tư duy logic và khả năng làm việc dưới áp lực
Một lý do quan trọng nữa là việc áp dụng các công nghệ tiên tiến tronglập trình game sẽ giúp em phát triển những kỹ năng lập trình chuyên sâu, từ việcthiết kế đồ họa 2D, tạo ra các mô hình nhân vật, đến việc xây dựng các hệ thốngvật lý và logic trong game Bằng cách này, chúng tôi không chỉ muốn tạo ra mộttrò chơi thú vị, mà còn mong muốn khám phá những tiềm năng sáng tạo của bảnthân trong lĩnh vực công nghệ
Cuối cùng, sự khác biệt và độc đáo của Sunny Land không chỉ đến từ cốttruyện, nhân vật hay môi trường trong game, mà còn ở chỗ chúng tôi mongmuốn game này sẽ có thể thu hút một đối tượng người chơi đa dạng, từ nhữngngười yêu thích sự thư giãn đến những ai muốn thử thách bản thân qua các câu
đố, nhiệm vụ trong thế giới Sunny Land
Trang 51.1.2 Mục tiêu và phạm vi đề tài
Mục tiêu: Mô tả chi tiết quá trình thực tập quản trị dự án phần mềm game
Sunny Land, bao gồm các giai đoạn: khảo sát hiện trạng, xác lập dự án, xâydựng kế hoạch quản trị dự án, triển khai dự án và đánh giá kết quả Chia sẻnhững kinh nghiệm và bài học học được trong quá trình thực tập Đề xuất một
số giải pháp để cải thiện hiệu quả quản trị dự án phần mềm game trong tươnglai
Phạm vi đề tài: Phần mềm làm game Unity và dòng game Sunny Land
mang yếu tố hành động, phiêu lưu trải nghiệm
1.1.4 Bố cục đề tài
Gồm 3 mấy chương:
Chương 1: Tổng quan đề tài
Chương 2: Phân tích và thiết kế game
Chương 3: Cài đặt và thử nghiệm
1.1.5 Đặc điểm chính của dự án
Trang 6Mục tiêu: Xây dựng một game platformer 2D với đồ họa đẹp mắt, âm
thanh sống động và đường hấp dẫn, đáp ứng nhu cầu giải trí đa dạng của ngườidùng
Công nghệ: Unity, C# và các công cụ hỗ trợ khác như Photoshop (thiết
kế đồ họa), Visual Studio (lập trình) và Audacity (xử lý âm thanh)
Khai báo nền tảng phát triển: Trò chơi ban đầu được phát triển trên nền
tảng PC với khả năng mở rộng sang thiết bị di động (Android và iOS)
1.1.6 Các tính năng chính của trò chơi
Lối chơi: Người chơi sẽ điều khiển vật chính vượt qua các chướng ngại
vật, thu thập vật phẩm (đồng xu, sức mạnh), và đối mặt với kẻ thù trên quá trìnhkhám phá thế giới Sunny Land
Đồ họa: Phong cách pixel art được thiết kế với sự chăm chút, tạo ra
không gian sống động, dễ nhìn nhưng không gây phiền toái
Âm thanh: Nhạc nền vui tươi, hiệu ứng âm thanh sống động mang đến
trải nghiệm chân thực cho người chơi
Độ khó: Trò chơi được thiết kế với nhiều cấp độ, từ dễ đến khó, giúp
người chơi cảm thấy thử thách và không ngừng tiến trình
1.1.7 Ý nghĩa của dự án
Học thuật: Dự án này giúp sinh viên ứng dụng các kiến thức đã học, từ
kỹ thuật lập trình, thiết kế đồ họa đến quản lý dự án
Kinh tế: Trò chơi Sunny Land có tiềm năng phát triển thành sản phẩm
thương mại, góp phần tạo doanh thu nếu được phát triển chính thức
Xã hội: Trò chơi mang đến những phút giây giải trí lành mạnh cho người
chơi, đồng thời khuyến khích sự sáng tạo trong ngành công nghiệp game
1.1.8 Thử thách trong quá trình thực thi
Đồ họa và hiệu suất: Nghệ thuật pixel đồ họa tối ưu hóa để phù hợp với
các phần cứng cấu hình khác nhau mà không ảnh hưởng đến chất lượng
Trò chơi logic: Phát triển các tính năng như AI của kẻ thù, tương tác giữa
các đối tượng trong trò chơi Yêu cầu kỹ năng lập trình cao
Trang 7Kiểm tra: Đảm bảo trò chơi hoạt động mượt mà, không có lỗi, đặc biệt là
trên các thiết bị và độ phân giải khác nhau
1.1.9 Nội dung nghiên cứu của dự án
Dự án Sunny Land tập trung vào việc phát triển một trò chơi platformerchất lượng cao 2D, với các công cụ nghiên cứu nội dung có thể như sau:
1.1.9.1 Phân tích trường trò chơi và người dùng đối tượng
Xu hướng thị trường: Nghiên cứu các yếu tố ảnh hưởng đến thị trường
trò chơi điện tử hiện nay, đặc biệt là game platformer dòng Tìm hiểu về mức độphổ biến của trò chơi 2D, nhu cầu của người chơi và cách trải nghiệm tối ưu củangười dùng
Hành vi người chơi: Khảo sát các đặc điểm mà người chơi ưa thích, như
đồ họa, lối chơi, âm thanh và độ khó, từ đó xác định hình các yếu tố chính cần
có trong trò chơi Sunny Land
Đối thủ cạnh tranh: Đánh giá các trò chơi cùng thể loại trên thị trường
như Mario, Hollow Knight hay Celeste, để rút ra bài học về thiết kế, đường chơi
và cách tiếp cận người dùng
1.1.9.2 Ứng dụng công nghệ và công cụ phát triển game
Unity Engine: Hỗ trợ tìm hiểu các tính năng nổi bật của Unity trong phát
triển trò chơi, bao gồm công cụ thiết kế giao diện, quản lý vật lý và đa dạng nềntảng hỗ trợ
Ngôn ngữ C#: Nghiên cứu cách sử dụng C# để thiết lập các tính năng
như điều khiển nhân vật, tương tác giữa các đối tượng và quản lý trò chơi logic
Tài nguyên đồ họa: Phân tích và ứng dụng các tài nguyên pixel art từ
Unity Asset Store, kết hợp với các phần mềm như Photoshop để tùy chỉnh vàthiết kế
1.1.9.3 Thiết kế lối chơi và trải nghiệm người dung
Logic trò chơi: Nghiên cứu cách xây dựng các yếu tố gameplay chính
xác, như di chuyển nhân vật, vượt chướng ngại vật, thu thập vật phẩm, và đốiđầu với kẻ thù Tối ưu hóa các cơ chế này để đảm bảo trò chơi mượt mà và hấpthụ
Trang 8Người dùng trải nghiệm (UX): Phân chia cách chơi tương tác với trò
chơi, từ giao diện chính đến các tính năng trong quá trình chơi Tập trung vàoviệc tạo trải nghiệm đơn giản nhưng cuốn cuốn, đảm bảo tính thân thiện vớingười dùng
Hệ thống cấp độ: Thiết kế các cấp độ với độ khó tăng dần, tích hợp các
yếu tố bất ngờ để duy trì đột phá thú vị cho người chơi
1.1.9.4 Âm thanh và hiệu ứng
Nhạc nền: Nghiên cứu cách sử dụng âm nhạc để tạo ra không khí vui vẻ
và phù hợp với từng bối cảnh trong trò chơi
Hiệu ứng âm thanh: Phân tích các loại hiệu ứng như bước chân, tiếng
nhảy, thu thập vật phẩm, và tương tác với kẻ thù để tăng tính chân thực và hấpdẫn
1.1.9.5 Hiệu suất hóa tối ưu và kiểm tra
Hiệu suất trò chơi: Nghiên cứu cách tối ưu hóa trò chơi để hoạt động
mượt mà trên các phần cứng cấu hình khác nhau, bao gồm các công việc giảmtải tài nguyên, tối ưu mã nguồn và quản lý đối tượng
Kiểm tra chất lượng: Nghiên cứu các phương pháp kiểm tra thử nghiệm,
từ kiểm tra chức năng (thử nghiệm chức năng) đến kiểm tra hiệu năng (thửnghiệm hiệu suất), nhắm mục tiêu đảm bảo sản phẩm hoàn thiện trước khi pháthành
1.1.9.6 Triển khai và mở rộng
Phát hành hành động trên PC: Nghiên cứu các yêu cầu kỹ thuật và quy
trình để phát hành trò chơi trên nền tảng PC, bao gồm Steam và các nền tảngphân phối khác
Khả năng mở rộng: Đề xuất cách xuất bản mở rộng trò chơi lên các nền
tảng di động (Android, iOS) hoặc phát triển thêm các phiên bản mới với tínhnăng và nội dung phong phú hơn
1.2 Tìm hiểu phần mềm Unity
Trang 9Unity là một trong những công cụ phát triển trò chơi phổ biến và mạnh
mẽ nhất hiện nay Việc sử dụng Unity không chỉ giúp tạo ra trò chơi SunnyLand với chất lượng cao mà còn mang lại cơ hội học hỏi về công nghệ hàng đầutrong ngành công nghiệp game Nội dung nghiên cứu phần mềm Unity tập trungvào các cạnh sau:
1.2.1 Giới thiệu chung về Unity
Lịch sử phát triển: Unity được phát triển bởi Unity Technologies, ra mắt
lần đầu vào năm 2005 Đây là nền tảng phát triển trò chơi nền tảng hỗ trợ tạo tròchơi 2D, 3D, ảo thực tế (VR) và thực tế tăng cường (AR)
Đặc điểm hỗ trợ nổi bật: Unity cung cấp môi trường phát triển hợp lý
(IDE) với giao diện trực quan, hệ thống kéo tiện ích và hỗ trợ cài đặt bằng C#
1.2.2 Các tính năng chính của Unity
Đa nền tảng:
Unity hỗ trợ phát triển trò chơi cho nhiều nền tảng, bao gồm PC, Mac,Android, iOS, WebGL và tất cả các thiết bị chơi game như PlayStation, Xbox,Nintendo Switch
Điều này giúp trò chơi Sunny Land có khả năng mở rộng và tiếp cậnngười chơi trên toàn cầu
Trang 10Unity hỗ trợ đồ họa 2D và 3D với công cụ mạnh mẽ để thiết kế độ sáng,bóng mờ và hiệu ứng đặc biệt.Đối với Sunny Land, phong cách pixel art 2Dđược thiết kế thông qua hệ thống Sprite Renderer và Animation Editor.
Trình quản lý tài nguyên (Quản lý tài sản):
Unity có một Cửa hàng tài sản phong phú, nơi các nhà phát triển có thểmua hoặc tải về các tài nguyên (nhân vật, nền tảng, âm thanh, hiệu ứng) phục vụcho dự án
Đối với Sunny Land, các tài nguyên chính như SunnyLand Asset Packđược tích hợp từ Unity Asset Store
Hệ thống âm thanh:
Unity hỗ trợ quản lý và tích hợp âm thanh thông qua Audio Listener, AudioSource và Audio Mixer Các tính năng này giúp thêm nhạc nền và hiệu ứng âmthanh vào trò chơi
Công cụ kiểm tra:
Unity có tích hợp Chế độ chơi để kiểm tra trò chơi trực tiếp trong môitrường phát triển Người dùng có thể dễ dàng kiểm tra và tối ưu hóa các tínhnăng của trò chơi mà không cần xuất bản
Dễ dàng kiểm tra và tối ưu hóa các tính năng của trò chơi mà không cầnxuất bản
1.2.3 Lập trình trong Unity
Ngôn ngữ C#: Unity use C# làm chương trình cài đặt ngôn ngữ chính.
Đây là một ngôn ngữ hiện đại, mạnh mẽ và dễ tiếp cận cho người mới bắt đầu
Trang 11Tầm quan trọng của API: Unity cung cấp hệ thống API phong phú để
quản lý đối tượng, xử lý sự kiện, quản lý giao diện người dùng và thực hiện cáchành động trong trò chơi
System ScriptableObject: Hỗ trợ lưu trữ dữ liệu một cách linh hoạt và
tái sử dụng giữa các đối tượng trong trò chơi
1.2.4 Các công cụ thiết kế trong Unity
Scene View: Giao diện được phép thiết kế và bố trí các đối tượng trong
họa tài nguyên, tạo hiệu ứng cho nhân vật và bối cảnh
1.2.6 Ứng dụng thực tế của Unity trong dự án
Phát triển giao diện người dùng (UI): Bộ công cụ giao diện người dùng
Unity được sử dụng để thiết kế menu màn hình, điều khiển nút và các giao diệnkhác
Trang 12Hiệu suất tối ưu: Sử dụng các công cụ như Profiler để phát hiện và giải
quyết các vấn đề liên quan đến hiệu suất của trò chơi
Triển khai nền tảng nền tảng: Với Unity, Sunny Land có thể dễ dàng
xuất bản bản cho PC và mở rộng các nền tảng khác trong tương lai
1.3.1.3 Phân tích yêu cầu
Xác định các chức năng yêu cầu (gameplay, đồ họa, âm thanh) và chứcnăng (hiệu suất, khả năng mở rộng)
Trang 13Phân tích nhu cầu của người chơi đối tượng để tối ưu hóa trải nghiệm.
Xây dựng các sprite, chuyển động khung hình và hiệu ứng hình ảnh
1.3.2.3 Thiết kế âm thanh
Select nhạc nền phù hợp với bối cảnh trò chơi (nhẹ nhàng, vui tươi)
Tạo hoặc sử dụng các âm thanh phản ứng như nhảy, thu thập vật phẩm, vàhung bạo
1.3.3 Phát triển
1.3.3.1 Xây dựng lối chơi
Lập trình các chức năng chính của trò chơi bằng C#:
Điều khiển nhân vật chuyển, nhảy và tương tác với môi trường
Quản lý tiền thù, vật cản và vật phẩm trong trò chơi
Xây dựng logic tính điểm và tiến trình
1.3.3.2 Phát triển giao diện người dung
Trang 14Tạo các màn hình chính như Menu, Pause, Game Over.
Giao diện tối ưu hóa để thân thiện và dễ sử dụng với người chơi
1.3.4.1 Kiểm tra chức năng
Đảm bảo tất cả các tính năng như di chuyển, nhảy, thu thập vật phẩm vàtương tác đều hoạt động chính xác
1.3.4.2 Kiểm tra hiệu suất
Đo tốc độ khung hình (FPS), dung lượng bộ nhớ sử dụng và hiệu suất khichạy trên các máy cấu hình khác nhau
1.3.4.3 Kiểm tra trải nghiệm người dung
Thu thập ý kiến kiến trúc của người dùng thử nghiệm để điều chỉnh độkhó, giao diện và các tính năng
1.3.4.4 Kiểm tra lỗi và sửa lỗi
Phát triển và giải quyết lỗi logic, đồ họa hoặc âm thanh để đảm bảo tròchơi chạy mượt mà
1.3.5 Phát hành
Chuẩn bị tài liệu: Tạo trò chơi hướng dẫn tài liệu và báo cáo tổng dự án.
Trang 15Phát hành động trên nền tảng: Đưa trò chơi lên phân phối nền tảng như
Steam hoặc itch.io để tiếp cận người chơi
Trang 16CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ GAME
2.1Phân tích yêu cầu
2.1.1 Tính năng chính
Gameplay: Nhân vật chính di chuyển, nhảy, thu thập đồng xu và vượt
chướng ngại vật
Camera: Theo dõi nhân vật chính như trong mã backFollow.cs.
Kẻ địch: Các đối tượng di chuyển như đại bàng (sử dụng eagleRe.cs) Tương tác: Các đối tượng như cân quay tổ (sử dụng crank.cs).
2.1.2 Công cụ và tài nguyên
Phần mềm: Unity (phiên bản 202x), Visual Studio, Photoshop.
Tài nguyên: Sunnyland Asset Pack từ Unity Asset Store.
2.1.3 Đối tượng
Người chơi: Trẻ em, người yêu thích game 2D platformer.
Môi trường: Hoạt động trên máy tính và có thể triển khai trên di động 2.2 Thiết kế hệ thống
Tổng quan Game bao gồm các thành phần:
Nhân vật chính: Di chuyển, nhảy, va chạm với môi trường.
Kẻ địch: Chuyển động dựa trên quy tắc đặt sẵn.
Camera: Theo dõi vị trí nhân vật.
2.3 Triển khai