You are on page 1of 10

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

ĐỒ ÁN TỐT NGHIỆP
Xây dựng game nông trại 3D: Plowman’s Paradise

VŨ XUÂN NHẬT
nhat.vx187191@sis.hust.edu.vn

Ngành Công nghệ thông tin và truyền thông


Chuyên ngành Hệ thống thông tin

Giảng viên hướng dẫn: TS. Trịnh Anh Phúc

Chữ kí GVHD

Trường: Công nghệ Thông tin và Truyền thông

HÀ NỘI, 10/2023
LỜI CẢM ƠN

Đầu tiên, em xin gửi lời cảm ơn tới giảng viên, TS. Trịnh Anh Phúc vì suốt thời
gian qua đã đồng hành, giúp đỡ em hoàn thành đề tài đúng thời gian quy định.
Em cũng xin cảm ơn các thầy, cô đã giảng dạy, chỉ bảo em trong suốt thời gian
em học tập tại Đại học Bách Khoa Hà Nội.
Cuối cùng, em xin cảm ơn gia đình, bạn bè, người thân đã luôn giúp đỡ, chia sẻ
tất cả những khó khăn.
Trân trọng,
Vũ Xuân Nhật.
TÓM TẮT NỘI DUNG ĐỒ ÁN

Ngày nay khi đời sống của con người ngày càng nhiều áp lực, theo đó nhu cầu
giải tỏa căng thẳng ngày một tăng cao. Và thứ rất nhiều người tìm đến để giải tỏa
những căng thẳng đó là trò chơi. Nhưng trên thị trường hiện nay có lẽ vẫn không
có nhiều những trò chơi có thể đáp ứng trọn vẹn nhu cầu này của người dùng. Vị
vậy em quyết định phát triển một trò chơi nông trại 3D có tên Plowman’s Paradise
để cố gắng giải quyết vấn đề này.
Khi tham gia trò chơi Plowman’s Paradise, người chơi sẽ được trải nghiệm cuộc
sống đồng quê yên bình với những hoạt động làm nông hết sức nhẹ nhàng, dễ chịu
mà vẫn đủ thỏa mãn người chơi.
Trò chơi Plowman’s Paradise sẽ được xây dựng dựa trên nền tảng 3D hàng đầu
hiện nay là Unity và sẽ được phát hành miễn phí trên cửa hàng itch.io sau khi hoàn
thành.
Đồ án tốt nghiệp sau khi hoàn thành hoàn toàn có thể sẽ mang lại những giá trị
giải trí to lớn đối với cộng đồng người chơi và những đóng góp không nhỉ tới cộng
đồng lập trình trò chơi.
Sinh viên thực hiện
(Ký và ghi rõ họ tên)
MỤC LỤC

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

1.1 Đặt vấn đề............................................................................................ 1

1.2 Khảo sát một số game nông trại trên thị trường........................................ 1

1.2.1 Stardew Valley........................................................................... 1

1.2.2 Hay Day .................................................................................... 2

1.3 Mục tiêu và phạm vi đề tài..................................................................... 3

1.4 Định hướng giải pháp............................................................................ 3

1.5 Bố cục đồ án ........................................................................................ 3

CHƯƠNG 2. PHÂN TÍCH YÊU CẦU...................................................... 4

2.1 Thiết kế trò chơi ................................................................................... 4

2.1.1 Bối cảnh trò chơi........................................................................ 4

2.1.2 Nội dung chính trò chơi .............................................................. 4

2.1.3 Thiết kế chi tiết trò chơi .............................................................. 6

2.2 Tổng quan chức năng ............................................................................ 13

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

2.2.2 Biểu đồ Use case phân rã chức năng Bắt đầu trò chơi mới.............. 14

2.2.3 Biểu đồ Use Case phân rã chức năng Tiếp tục trò chơi................... 15

2.3 Đặc tả chức năng .................................................................................. 16

2.3.1 Đặc tả use case dọn chướng ngại vật ............................................ 17

2.3.2 Đặc tả use case Quốc đất ............................................................ 17

2.3.3 Đặc tả use case Gieo hạt ............................................................. 18

2.3.4 Đặc tả use case Tưới cây............................................................. 18

2.3.5 Đặc tả use case Thu hoạch .......................................................... 19

2.3.6 Đặc tả use case Mua vật phẩm..................................................... 19


2.3.7 Đặc tả use case Bán vật phẩm...................................................... 20

2.3.8 Đặc tả use case Ngủ ................................................................... 20

2.3.9 Đặc tả use case Trò chuyện ......................................................... 21

2.3.10 Đặc tả use case tặng quà ........................................................... 21

2.3.11 Đặc tả use case Cho gà ăn ......................................................... 22

2.3.12 Đặc tả use case Ấp trứng........................................................... 22

2.4 Biểu đồ tuần tự của hệ thống.................................................................. 23

2.4.1 Biểu đồ tuần tự Quốc đất ............................................................ 23

2.4.2 Biểu đồ tuần tự Gieo hạt ............................................................. 24

2.4.3 Biểu đồ tuần tự Tưới nước........................................................... 25

2.4.4 Biểu đồ tuần tự Thu hoạch .......................................................... 26

2.4.5 Biểu đồ tuần tự Mua vật phẩm..................................................... 27

2.4.6 Biểu đồ tuần tự Bán vật phẩm ..................................................... 28

2.4.7 Biểu đồ tuần tự Ngủ ................................................................... 29

2.4.8 Biểu đồ tuần tự Trò chuyện ......................................................... 30

2.4.9 Biểu đồ trình tự tặng quà cho NPC .............................................. 31

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

3.1 Ngôn ngữ lập trình C# và Mono frameWork............................................ 32

3.1.1 Giới thiệu .................................................................................. 32

3.1.2 Lý do lựa chọn ........................................................................... 32

3.2 Công cụ hỗ trợ phát triển trò chơi Unity .................................................. 33

3.2.1 Giới thiệu .................................................................................. 33

3.2.2 Tổng quan về các thành phần trong unity...................................... 33

3.2.3 Lý do lựa chọn ........................................................................... 34

3.3 Công nghệ NavMesh............................................................................. 34

3.3.1 Giới thiệu .................................................................................. 34

ii
3.3.2 Các khái niệm cơ bản trong NavMesh .......................................... 34

3.3.3 Lý do lựa chọn ........................................................................... 35

CHƯƠNG 4. THIẾT KẾ, TRIỂN KHAI VÀ ĐÁNH GIÁ HỆ THỐNG .... 36

4.1 Thiết kế kiến trúc.................................................................................. 36

4.1.1 Các đặc tính cơ bản của OOP ...................................................... 36

4.2 Thiết kế chi tiết..................................................................................... 37

4.2.1 Thiết kế giao diện ...................................................................... 37

4.2.2 Thiết kế lớp ............................................................................... 40

4.2.3 Thiết kế cơ sở dữ liệu ................................................................. 41

4.3 Xây dựng ứng dụng............................................................................... 43

4.3.1 Thư viện và công cụ sử dụng....................................................... 43

4.3.2 Kết quả đạt được ........................................................................ 44

4.3.3 Minh họa các chức năng chính .................................................... 44

4.4 Kiểm thử.............................................................................................. 47

4.4.1 Kịch bản kiểm thử...................................................................... 47

4.4.2 Kết quả kiểm thử........................................................................ 48

4.5 Triển khai ............................................................................................ 49

CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................. 50

5.1 Kết luận ............................................................................................... 50

5.2 Hướng phát triển................................................................................... 50

TÀI LIỆU THAM KHẢO......................................................................... 51


DANH MỤC HÌNH VẼ

Hình 2.1 Nông trại . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4


Hình 2.2 Nhà của người chơi . . . . . . . . . . . . . . . . . . . . . . . . 5
Hình 2.3 Chuồng gà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Hình 2.4 Làng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Hình 2.5 Nhân vật chính David . . . . . . . . . . . . . . . . . . . . . . . 6
Hình 2.6 Nhân vật Jeff . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Hình 2.7 Nhân vật Ben . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Hình 2.8 Các chướng ngại vật . . . . . . . . . . . . . . . . . . . . . . . . 8
Hình 2.9 Khay thức ăn cho gà . . . . . . . . . . . . . . . . . . . . . . . . 9
Hình 2.10 Lồng ấp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Hình 2.11 Xem tình trạng của gà . . . . . . . . . . . . . . . . . . . . . . . 9
Hình 2.12 Các giai đoạn sinh trưởng của gà . . . . . . . . . . . . . . . . . 10
Hình 2.13 Quá trình sinh trưởng của cây bắp cải . . . . . . . . . . . . . . 10
Hình 2.14 Các loại rau quả . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Hình 2.15 Cửa hàng của Jeff . . . . . . . . . . . . . . . . . . . . . . . . . 11
Hình 2.16 Giỏ đồ bán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Hình 2.17 Trò chuyện với Ben . . . . . . . . . . . . . . . . . . . . . . . . 12
Hình 2.18 Tặng quà cho Jeff . . . . . . . . . . . . . . . . . . . . . . . . . 12
Hình 2.19 Biểu đồ Use Case tổng quát . . . . . . . . . . . . . . . . . . . 13
Hình 2.20 Biểu đồ Use Case phân rã chức năng bắt đầu trò chơi mới . . . 14
Hình 2.21 Biểu đồ Use Case phân rã chức năng Tiếp tục trò chơi . . . . . 15
Hình 2.22 Biểu đồ trình tự Quốc đất . . . . . . . . . . . . . . . . . . . . . 23
Hình 2.23 Biểu đồ trình tự Gieo hạt . . . . . . . . . . . . . . . . . . . . . 24
Hình 2.24 Biểu đồ trình tự Tưới nước . . . . . . . . . . . . . . . . . . . . 25
Hình 2.25 Biểu đồ trình tự Thu hoạch . . . . . . . . . . . . . . . . . . . . 26
Hình 2.26 Biểu đồ trình tự Mua vật phẩm . . . . . . . . . . . . . . . . . . 27
Hình 2.27 Biểu đồ trình tự Bán vật phẩm . . . . . . . . . . . . . . . . . . 28
Hình 2.28 Biểu đồ trình tự Ngủ . . . . . . . . . . . . . . . . . . . . . . . 29
Hình 2.29 Biểu đồ trình tự Trò chuyện . . . . . . . . . . . . . . . . . . . 30
Hình 2.30 Biểu đồ trình tự Tặng quà cho NPC . . . . . . . . . . . . . . . 31

Hình 4.1 Thiết kế màn hình tiêu đề . . . . . . . . . . . . . . . . . . . . . 38


Hình 4.2 Thiết kế giao diện người dùng . . . . . . . . . . . . . . . . . . 38
Hình 4.3 Thiết kế giao diện Túi đồ . . . . . . . . . . . . . . . . . . . . . 39
Hình 4.4 Thiết kế giao diện Cửa hàng . . . . . . . . . . . . . . . . . . . 39

v
Hình 4.5 Thiết kế giao diện Xác nhận mua hàng . . . . . . . . . . . . . 40
Hình 4.6 Biểu đồ lớp liên quan đến chức năng di chuyển và góc nhìn
của người chơi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Hình 4.7 Một phần sơ đồ thực thể liên kết . . . . . . . . . . . . . . . . . 42
Hình 4.8 Ví dụ về lưu trữ dữ liệu sử dụng ScriptableObject . . . . . . . 42
Hình 4.9 Ví dụ về lưu trữ dữ liệu vào trực tiếp đối tượng trên Sence . . . 43
Hình 4.10 Màn hình tiêu đề . . . . . . . . . . . . . . . . . . . . . . . . . 45
Hình 4.11 Màn hình bắt đầu trò chơi . . . . . . . . . . . . . . . . . . . . 45
Hình 4.12 Màn hình làm ruộng . . . . . . . . . . . . . . . . . . . . . . . 46
Hình 4.13 Màn hình mua vật phẩm . . . . . . . . . . . . . . . . . . . . . 46
Hình 4.14 Màn hình thu hoạch . . . . . . . . . . . . . . . . . . . . . . . . 47

vi
DANH MỤC BẢNG BIỂU

Bảng 2.1 Các loại dụng cụ của trò chơi . . . . . . . . . . . . . . . . . . 8

Bảng 4.1 Danh sách thư viện và công cụ sử dụng. . . . . . . . . . . . . 44


Bảng 4.2 Thông tin project. . . . . . . . . . . . . . . . . . . . . . . . . . 44
Bảng 4.3 Kết quả kiểm thử . . . . . . . . . . . . . . . . . . . . . . . . . 49

vii

You might also like