Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf

41 0 0
Tài liệu đã được kiểm tra trùng lặp
Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trang 1

ĐẠI HỌC BÁCH KHOA HÀ NỘI

ĐỒ ÁN TỐT NGHIỆPThiết kế xây dựng trò chơi 2D trên Unity

NGUYỄN HỒ TUẤN TRUNG

Ngành Công nghệ thông tin

Giảng viên hướng dẫn: TS Nguyễn Văn Hiên

Chữ kí GVHD

HÀ NỘI, 08/2023

Trang 2

LỜI CAM KẾT

Họ và tên sinh viên: Nguyễn Hồ Tuấn Trung

Điện thoại liên lạc: 0973331969

Email: trung.nht210077p@sis.hust.edu.vn

Lớp: Lớp LT-BK-CNTT01-K66

Hệ đào tạo: Hệ vừa làm vừa học

Tôi – Nguyễn Hồ Tuấn Trung – cam kết Đồ án Tốt nghiệp (ĐATN) là công trìnhnghiên cứu của bản thân tôi dưới sự hướng dẫn của TS Nguyễn Văn Hiên Các kết

quả nêu trong ĐATN là trung thực, là thành quả của riêng tôi, không sao chép theobất kỳ công trình nào khác Tất cả những tham khảo trong ĐATN – 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 xin hoàn toàn chịu trách nhiệmvới dù chỉ một sao chép vi phạm quy chế của nhà trường.

Hà Nội, ngàythángnăm

Tác giả ĐATN

Nguyễn Hồ Tuấn Trung

Trang 3

Tôi cũng muốn gửi lời cảm ơn đến bạn bè, đồng nghiệp và gia đình đã luôn ởbên cạnh tôi, cổ vũ, động viên và chia sẻ những ý kiến quý báu Sự ủng hộ khôngđiều kiện của các bạn là nguồn động viên to lớn giúp tôi vượt qua mọi thách thức.

Không thể thiếu sự cảm ơn đến các nhóm và cá nhân đã cung cấp dữ liệu, hìnhảnh và tài liệu hỗ trợ cho dự án của tôi Đóng góp của các bạn đã làm cho sản phẩmcủa tôi trở nên phong phú và hấp dẫn hơn.

Cuối cùng, tôi xin gửi lời cảm ơn chân thành đến tất cả những người đã dànhthời gian thử nghiệm và đóng góp ý kiến cho trò chơi của chúng tôi Những đónggóp này đã giúp tôi hoàn thiện và nâng cao chất lượng sản phẩm.

Một lần nữa, tôi xin chân thành cảm ơn tất cả những người đã đóng góp và ủnghộ tôi trong suốt quá trình thực hiện dự án làm game này.

Trang 4

TÓM TẮT NỘI DUNG ĐỒ ÁN

Dự án làm game này tập trung vào việc phát triển một trò chơi phiêu lưu hấp dẫndành cho nền tảng di động Trò chơi được thiết kế với mục tiêu mang lại trải nghiệmgiải trí và thách thức cho người chơi Dự án bao gồm các giai đoạn quan trọng nhưthiết kế concept, phát triển gameplay, đồ họa và âm thanh, kiểm thử và tối ưu hóa.Game có một cốt truyện độc đáo, đưa người chơi vào một thế giới huyền bí vớinhiều thử thách khác nhau Người chơi sẽ phải hoàn thành các màn chơi thông quaviệc điều khiển nhân vật khéo léo với tư duy logic Cách tiếp cận phiêu lưu và giảiquyết vấn đề của người chơi sẽ ảnh hưởng đến kết quả và trải nghiệm chơi game.

Dự án cũng tập trung vào việc tạo ra giao diện người dùng thân thiện và trựcquan Người chơi có thể dễ dàng tương tác với trò chơi thông qua các nút trên mànhình cảm ứng Đồ họa và âm thanh được thiết kế để tạo ra một môi trường hấp dẫnvà thú vị cho người chơi.

Trong quá trình phát triển, dự án đã trải qua các giai đoạn kiểm thử và tối ưuhóa để đảm bảo trò chơi hoạt động mượt mà trên thiết bị di động Sự đóng góp củangười chơi thử nghiệm đã giúp tôi phát triển trò chơi một cách toàn diện và đápứng được mong đợi của người chơi.

Kết quả là một trò chơi giải đố thú vị, mang lại niềm vui và thách thức cho ngườichơi Dự án đã đạt được mục tiêu thiết lập ban đầu và tôi tự hào về sản phẩm cuốicùng mà tôi đã tạo ra.

Sinh viên thực hiện

(Ký và ghi rõ họ tên)

Trang 5

MỤC LỤC

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI 1

1.1 Giới thiệu về trò chơi và mục tiêu dự án 1

2.2.1 Biểu đồ use case tổng quát 3

2.2.2 Biểu đồ use case chức năng tạm dừng game 3

2.2.3 Biểu đồ use case chức năng cài đặt game 4

2.2.4 Biểu đồ use case chức năng Vào màn chơi - chơi game 4

2.3 Đặc tả chức năng 5

2.3.1 Đặc tả use case vào màn chơi - chơi game 5

2.3.2 Đặc tả use case tạm dừng game 5

2.3.3 Đặc tả use case cài đặt game 5

2.4 Yêu cầu phi chức năng 6

Trang 6

3.1.5 Giao diện cơ bản của Unity 11

3.2 Giới thiệu về ngôn ngữ C Sharp 15

3.3 Giới thiệu Visual Studio 16

3.4 Giới thiệu các công cụ quản lý mã nguồn 17

3.4.1 Git lap 17

3.4.2 Source Tree 17

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG 19

4.1 Thiết kế trò chơi 19

4.1.1 Mô tả cách trò chơi hoạt động, quy tắc và cơ chế chơi 19

4.1.2 Phác thảo giao diện người dùng 20

Trang 7

DANH MỤC HÌNH VẼ

Hình 2.1 Biểu đồ Use Case tổng quát 3

Hình 2.2 Biểu đồ Use Case tạm dừng trong game 3

Hình 2.3 Biểu đồ Use Case chức năng cài đặt game 4

Hình 2.4 Biểu đồ use case chức năng Vào màn chơi - Kết quả chơi 4

Hình 3.1 Unity là gì? 7

Hình 3.2 Main Menu Scene 9

Hình 3.3 Tổng quan giao diện của Unity 12

Hình 3.4 Scene View trong Unity 12

Hình 3.5 Game View trong Unity 13

Hình 3.6 Hierarchy trong Unity 13

Hình 3.7 Inspector trong Unity 14

Hình 3.8 Inspector trong Unity 15

Hình 3.9 Hình ảnh Visual Studio 16

Hình 3.10 Hình ảnh Gitlap 17

Hình 3.11 Hình ảnh Source Tree 18

Hình 4.1 Các nút điều khiển quả bóng 19

Hình 4.2 Giao diện của màn hình chính 20

Hình 4.3 Giao diện trong màn chơi 20

Hình 4.9 Một số các Object trong game 24

Hình 4.10 Demo Ball và giao diện ingame 25

Trang 9

DANH MỤC TỪ VIẾT TẮTĐATN Đồ án tốt nghiệp

SFX Hiệu ứng âm thanh (Sound Effects)TLTK Tài liệu tham khảo

UI Giao diện người dùng (User Interface)

Trang 10

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI1.1 Giới thiệu về trò chơi và mục tiêu dự án

Trò chơi là một phần không thể thiếu trong cuộc sống hiện đại, mang lại niềmvui và thư giãn cho hàng triệu người trên khắp thế giới Dự án "Red Ball" ra đời vớimục tiêu đem đến cho người chơi một trải nghiệm độc đáo và thú vị qua lối chơiđơn giản nhưng gây nghiện.

Mục tiêu chính của dự án "Red Ball" là tạo ra một trò chơi giải trí hấp dẫn, tháchthức và dễ chơi Tôi mong muốn mang đến cho người chơi cảm giác hồi hộp khiđiều khiển quả bóng đỏ đi qua những thử thách đa dạng.

1.2 Đặt vấn đề và lý do chọn đề tài

Trong thế giới game đa dạng ngày nay, việc tạo ra một trò chơi độc đáo và nổibật là một thách thức lớn "Red Ball" được lựa chọn với ý định đánh bại thách thứcnày thông qua việc kết hợp yếu tố hành động nhanh nhẹn, lối chơi sáng tạo và thiếtkế màn chơi đa dạng.

Trò chơi "Red Ball" được lựa chọn vì tích hợp một loạt yếu tố mà tôi tin rằng sẽthu hút người chơi Tính đơn giản và dễ chơi của trò chơi sẽ thuận tiện cho nhiềungười chơi, bao gồm cả những người mới bắt đầu Đồng thời, việc thiết kế mànchơi đa dạng và thú vị sẽ giữ cho người chơi luôn có sự tò mò và hứng thú trongsuốt quá trình chơi.

Với niềm đam mê và nhiệt huyết, tôi hy vọng rằng trò chơi "Red Ball" sẽ manglại cho người chơi những giờ phút vui vẻ và thú vị, và đồng thời, đóng góp mộtphần nhỏ vào thế giới game đa dạng và phong phú.

Trang 11

CHƯƠNG 2 KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU2.1 Khảo sát hiện trạng

2.1.1 Mục tiêu khảo sát

Chúng ta cần xác định các yếu tố quan trọng như lối chơi ưa thích, độ khó mongmuốn và các tính năng đáng chú ý mà người chơi mong muốn thấy trong trò chơi.Nhờ vào sự tham gia chân thành của người tham gia khảo sát, chúng tôi có thể tạora trải nghiệm chơi game tốt nhất dựa trên những thông tin đáng giá này Bên cạnhđó, độ tuổi, giới tính của người chơi cũng là một yếu tố quan trọng.

2.1.2 Phương Pháp Khảo Sát

Tôi đã sử dụng một bộ câu hỏi đa dạng tạo bằng Google Form để đánh giá ýkiến của người chơi về các khía cạnh của trò chơi Câu hỏi trong khảo sát bao gồm:•Lối chơi yêu thích: Người chơi được yêu cầu chọn lối chơi yêu thích, ví dụ như

hành động, giải đố, phiêu lưu, v.v.

•Độ khó mong muốn: Xác định mức độ khó mà người chơi cảm thấy thoải máihoặc thách thức.

•Tính năng ưa thích: Người chơi đề xuất những tính năng mà họ muốn thấytrong trò chơi, ví dụ như chế độ chơi đa người, cửa hàng ảo, cấp độ tùy chỉnh,v.v.

2.1.3 Kết quả khảo sát

Kết quả từ khảo sát cung cấp cái nhìn sâu rộng về sự mong đợi và nguyện vọngcủa người chơi Những thông tin này đã đóng góp quan trọng vào quá trình thiết kếvà phát triển trò chơi "Red Ball" Tôi đã áp dụng các phản hồi và ý kiến từ khảo sátđể tạo ra một trò chơi phù hợp với mong muốn của người chơi và đồng thời đảmbảo trải nghiệm chơi game thú vị và đa dạng.

Trang 12

CHƯƠNG 2 KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU

2.2 Tổng quan chức năng2.2.1 Biểu đồ use case tổng quát

Hình 2.1: Biểu đồ Use Case tổng quát

2.2.2 Biểu đồ use case chức năng tạm dừng game

Hình 2.2: Biểu đồ Use Case tạm dừng trong game

Trang 13

CHƯƠNG 2 KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU

2.2.3 Biểu đồ use case chức năng cài đặt game

Hình 2.3: Biểu đồ Use Case chức năng cài đặt game

2.2.4 Biểu đồ use case chức năng Vào màn chơi - chơi game

Hình 2.4: Biểu đồ use case chức năng Vào màn chơi - Kết quả chơi

Trang 14

CHƯƠNG 3 CÔNG NGHỆ SỬ DỤNG

Project (Dự án): Trong cửa sổ này, bạn có thể thấy tất cả các tài nguyên của dự

án, chẳng hạn như hình ảnh, âm thanh, các tệp mã nguồn, và nhiều thứ khác Điềunày giúp bạn quản lý tất cả các tài nguyên của trò chơi.

Inspector (Thanh kiểm tra): Cửa sổ Inspector hiển thị chi tiết các thông tin về

Game Object đang làm việc, kể cả những component được đính kèm và thuộc tínhcủa nó.

Bạn có thể điều chỉnh, thiết lập mọi thông số và chức năng của Game Objectthông qua cửa sổ Inspector.

Mọi thuộc tính thể hiện trong Inspector đều có thể dễ dàng tuỳ chỉnh trực tiếpmà không cần thông qua một kịch bản định trước.

Các thiết lập của từng component được đặt trong menu Các bạn có thể clickchuột phải, hoặc chọn icon hình bánh răng nhỏ để xuất hiện menu.

Ngoài ra Inspector cũng thể hiện mọi thông số Import Setting của asset đanglàm việc như hiển thị mã nguồn của Script, các thông số animation,

Hình 3.7: Inspector trong Unity

Toolbar (Thanh công cụ): Thanh công cụ nằm ở phía trên cùng của giao diện,

Trang 15

CHƯƠNG 3 CÔNG NGHỆ SỬ DỤNG

cung cấp các công cụ và chức năng phổ biến như lưu dự án, phát triển trò chơi, vàquản lý các sơ đồ.

Play Controls (Các nút điều khiển chơi): Bạn có thể nhấn vào các nút Play,

Pause, và Stop để thực hiện việc chạy và kiểm tra trò chơi của mình trong Editor.

Hình 3.8: Inspector trong Unity

3.2 Giới thiệu về ngôn ngữ C Sharp

C Sharp là một ngôn ngữ lập trình mạnh mẽ, linh hoạt và đa năng, thích hợp choviệc phát triển đa dạng loại ứng dụng, từ các ứng dụng máy tính đến game và ứngdụng di động Ngôn ngữ Lập Trình Hướng Đối Tượng: C Sharp được thiết kế chủyếu để hỗ trợ lập trình hướng đối tượng (OOP) Điều này có nghĩa là bạn có thể tạocác lớp, đối tượng, và tương tác giữa chúng để tổ chức và quản lý mã nguồn mộtcách hiệu quả.

Đa Dạng Ứng Dụng: C Sharp được sử dụng rộng rãi trong phát triển ứng dụngđa dạng, từ ứng dụng Windows cho máy tính, ứng dụng di động, ứng dụng web,đến các ứng dụng trò chơi.

Sự An Toàn Về Kiểu Dữ Liệu: C Sharp có kiểm tra kiểu dữ liệu mạnh mẽ, giúptránh các lỗi phổ biến liên quan đến kiểu dữ liệu trong quá trình biên dịch và thựcthi.

Tích Hợp Tốt Với Công Cụ Phát Triển Microsoft: C Sharp được tích hợp mạnhmẽ với các công cụ phát triển của Microsoft như Visual Studio, giúp tạo ra môitrường phát triển mạnh mẽ và dễ dàng sử dụng.

Cú Pháp Đơn Giản: Cú pháp của C Sharp được thiết kế để dễ đọc và dễ hiểu,giúp người lập trình tập trung vào việc giải quyết vấn đề thay vì mất thời gian vớicú pháp phức tạp.

Xử Lý Ngoại Lệ: C Sharp cung cấp cơ chế xử lý ngoại lệ để quản lý và xử lý cáctình huống không mong muốn trong quá trình thực thi chương trình.

Phát Triển Ứng Dụng Game: C Sharp cũng được sử dụng rộng rãi trong pháttriển game, đặc biệt là trong Unity, một môi trường phát triển trò chơi phổ biến.

Hỗ Trợ Cộng Đồng Lớn: C Sharp có một cộng đồng phát triển lớn và nhiều tàiliệu học tập, giúp bạn dễ dàng tìm kiếm giải pháp cho các vấn đề cụ thể.

Trang 16

CHƯƠNG 3 CÔNG NGHỆ SỬ DỤNG

Hình 3.9: Hình ảnh Visual Studio

3.3 Giới thiệu Visual Studio

Visual Studio là một môi trường phát triển tích hợp (IDE) mạnh mẽ được pháttriển bởi Microsoft Nó cung cấp một loạt các công cụ và tài nguyên để hỗ trợ việcphát triển ứng dụng đa năng, bao gồm ứng dụng di động, web, máy tính và cả game.Visual Studio hỗ trợ Unity một cách rất mạnh mẽ Unity là một nền tảng phát triểngame phổ biến, và Visual Studio được tích hợp chặt chẽ với nó để cung cấp môitrường lập trình tốt nhất cho việc phát triển game trong Unity Dưới đây là một sốcách mà Visual Studio hỗ trợ Unity:

Tích Hợp Mượt Mà: Khi bạn cài đặt Unity, bạn có thể dễ dàng liên kết nó

với Visual Studio làm trình biên tập mã mặc định Điều này giúp bạn mở cáctệp mã và tài nguyên trong Unity bằng cách sử dụng Visual Studio.•Debugging Mạnh Mẽ: Visual Studio cho phép bạn debug mã của mình trong

Unity một cách hiệu quả Bạn có thể thực hiện debugging theo dõi và xembiến, hàm và lớp trong quá trình thực thi game.

Tích Hợp Source Control: Visual Studio hỗ trợ tích hợp các hệ thống quản

lý phiên bản như Git cho dự án Unity của bạn Điều này giúp bạn theo dõi lịchsử thay đổi, hợp nhất mã và quản lý phiên bản dễ dàng.

Công Cụ Unity: Visual Studio cung cấp các công cụ đặc biệt dành cho Unity

như Console, Animator và Hierarchy Điều này giúp bạn dễ dàng đặt dấu chỗlỗi, tìm kiếm và chỉnh sửa các thành phần trong Unity.

Tùy Chỉnh Môi Trường: Có thể tùy chỉnh môi trường lập trình của mình

trong Visual Studio để phù hợp với cách bạn làm việc với Unity.

Trang 19

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG4.1 Thiết kế trò chơi

4.1.1 Mô tả cách trò chơi hoạt động, quy tắc và cơ chế chơi.Tên trò chơi: Ball Adventure.

Core loop: Play level - Colect Coin - Buy SkinMàn hình: Ngang.

Hệ điều hành: Android.

Di chuyển: Sử dụng hai nút bấm phí bên trái màn hình để di chuyển sang trái

sang phải Sử dụng nút mũi tên hướng lên trên ở bên phải màn hình để nhảy.

Hình 4.1: Các nút điều khiển quả bóng

Tấn công: Nhảy lên đầu kẻ địch để đánh bại chúng.

Tính điểm: Điểm tính theo số vàng ăn được Vàng sẽ rơi ra từ kẻ địch bị đánh

bại Vàng cũng sẽ xuất hiện trong màn chơi.

Điều kiện chiến thắng: Ball đến được cổng chiến thắng ở điểm cuối màn chơi.Điều kiện thua: Ball bị kẻ địch đánh bại, nga xuông hô hoăc bi gai đâm.Màn chơi: Xây dựng màn chơi, đầy đủ đối tượng chính, đối tượng phản diện,

môi trường Có điểm đầu điểm cuối.

Trang 20

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

4.1.2 Phác thảo giao diện người dùng

Hình 4.2: Giao diện của màn hình chính

Hình 4.3: Giao diện trong màn chơi

Trang 21

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

4.2 Phát triển trò chơi4.2.1 Thiết kế nhân vật

Tên nhân vật Mô tả

4.2.2 Thiết kế môi trường

Môi trường sẽ theo theme Hiện tại sẽ thiết kế theme mùa xuân, cây xanh tươitốt, ánh nắng tươi sáng.

Tên môi trường Mô tả

Trang 22

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

Hình 4.5: Mô tả môi trường của game

4.2.3 Thiết kế các lớp

JoinStick Dùng để di chuyển nhân vật

Ball Lập trình cho Ball di chuyển, Nhảy nhót, Die.Enemy Class cha cho các loại enemy Di chuyển, HP, dieGameController Pause game, Resume game

Settings On/Off Music SFX

Level Tính level, quản lý trạng thái level

Bảng 4.3: Bảng mô tả các lớp

4.2.4 Thiết kế màn chơi

Hình 4.6: Level 1

Trang 23

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

Hình 4.7: Level 2

Hình 4.8: Level Boss

4.2.5 Cơ sở dữ liệu

Thông tin màn chơi: Lưu trữ thông tin về cấp độ hiện tại.

Cài đặt tuỳ chọn: Lưu trữ cài đặt tuỳ chọn của người chơi đã thiết lập Bao gồm

âm thanh, hiệu ứng.

Dữ liệu tiền tệ: Lưu thông tin về tiền tệ, về hệ thông mua sắm trong game.4.2.6 Object

Mỗi Object có chức năng riêng, để Ball có thể tương tác trong level.

Trang 24

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

Cọc gỗ chỉ đường Cọc gỗ, gắn mũi tên Dùng để chỉ hướng đi cho BallNước Dùng để tạo sông hồ Ball nhảy xuống là diey.Bập bênh Như bập bênh ngoài công viên.

Vòng quay gỗ Tự động quay theo tốc độ set sẵn Vị trí sẽ cố định khi xếp map.Chông gai Đặt dưới đất Ball nhảy vào, chạm vào là die.

Răng cưa Tự động quay theo tốc độ set sẵn Vị trí sẽ cố định khi xếp map.Vàng Xuất hiện trong các level, thu thập sẽ cộng tiền để mua skin.

Tên âm thanh Mô tả

Nhạc nền Nhạc nền sẽ phát xuyên suốt trong gameBall Jump Âm thanh khi Ball nhảy.

Ball Die Âm thanh khi Ball Die.Win/Lose Âm thanh khi Win/Lose

Coin Âm thanh khi Ball ăn vàng.

Bảng 4.5: Bảng mô tả các âm thanh

4.3 Kết quả đạt được

Xây dựng nhân vật Ball: Nhân vật có thể di chuyển trái phải và nhảy Khi va

chạm với vật cản sẽ dừng lại Va vào địch hoặc chông/gai hay rơi xuống nước sẽ hisinh.

Ngày đăng: 29/05/2024, 18:30