1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phát triển ứng dụng game thủ thành 2D sử dụng thuật toán tìm đường đi ngắn nhất.

108 1 0

Đ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

Thông tin cơ bản

Tiêu đề Phát triển ứng dụng game thủ thành 2D sử dụng thuật toán tìm đường đi ngắn nhất.
Tác giả Nguyễn Quang An
Người hướng dẫn ThS. Nguyễn Thị Thanh Tâm
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Công Nghệ Đa Phương Tiện
Thể loại Đồ án tốt nghiệp đại học
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 108
Dung lượng 25,45 MB

Nội dung

Trước đây, vào những năm đầu có sự xuất hiện của trò chơi điện tử, mọi ngườithường phải mua những bộ máy chơi game hay những chiếc máy tính cồng kénhkhông có khả năng di động dé có thé t

Trang 1

BO THONG TIN VÀ TRUYEN THONG HỌC VIỆN CONG NGHỆ BƯU CHÍNH VIỄN THONG

ĐỎ ÁN TÓT NGHIỆP ĐẠI HỌC

PHÁT TRIÊN ỨNG DỤNG GAME THỦ THÀNH 2D SỬ

DỤNG THUẬT TOÁN TIM DUONG ĐI NGAN NHẤT

Người hướng dẫn: ThS Nguyễn Thị Thanh Tâm Sinh viên thực hiện: Nguyễn Quang An

Lớp: DI9PTDPT

Hệ đào tạo: Đại học chính quy

Hà Nội, 11/2023

Trang 2

Đồ án tốt nghiệp đại học Danh mục các bang

BO THONG TIN VÀ TRUYEN THONG

HỌC VIEN CONG NGHỆ BƯU CHÍNH VIỄN THONG

ĐỎ ÁN TÓT NGHIỆP ĐẠI HỌC

Người hướng dẫn: ThS Nguyễn Thi Thanh Tâm Sinh viên thực hiện: Nguyễn Quang An

Lớp: DI9PTDPT

Hệ đào tạo: Đại học chính quy

Hà Nội, 11/2023

Trang 3

Đồ án tốt nghiệp đại học Danh mục các bang

HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIÊN THONG CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA ĐA PHƯƠNG TIỆN Độc lập — Tự do — Hanh phúc

DE TÀI DO AN TOT NGHIỆP ĐẠI HỌC

Họ và tên sinh viên: Nguyễn Quang An

Lớp: DI9PTDPT Khoá: 2019-2023 Ngành đào tạo: Công Nghệ Đa Phương Tiện Hệ đào tạo: Đại học chính quy

1 Tên đồ án/khoá luận tốt nghiệp: Phát triển ứng dụng game thủ thành 2D sử dụng

thuật toán tìm đường đi ngắn nhất

2 Lý do chọn đề tài:

Giải trí là một nhu cầu thiết thực đối với mỗi người, nhất là trong bối cảnh xãhội như hiện nay, những hoạt động giải trí trong thời gian ngăn (10 - 30p) là cầnthiết dé mọi người có khoảng thời gian vui vẻ và giải tỏa áp lực giữa những giờlàm việc, học tập căng thăng hoặc đơn giản là giết thời gian cho việc chờ đợi haynhững lúc rảnh rỗi, nhàm chán Sự phát triển nhanh chóng của các thiết bị thôngminh cầm tay nhỏ gọn đi kèm với sự nổi lên của các trò chơi điện tử trên các thiết

bị đó đang mở ra nhiều cơ hội cho lĩnh vực trò chơi điện tử phát triển nhanh chónghơn bao giờ hết

Trước đây, vào những năm đầu có sự xuất hiện của trò chơi điện tử, mọi ngườithường phải mua những bộ máy chơi game hay những chiếc máy tính cồng kénhkhông có khả năng di động dé có thé trải nghiệm những tựa game yêu thích thì hiệnnay, những trò chơi mới có thể được chơi ngay trên chính những chiếc điện thoạithông minh cam tay rất phổ biến với rất nhiều thé loại khác nhau nhằm phục vụ

nhiều đối tượng người sử dụng Trong số đó, những dòng game mang thé loại

chiến thuật thuộc dòng mid-core nhận được rất nhiều sự quan tâm của người sửdụng với các số liệu thống kê rất khả quan về lượng người chơi gắn bó, khả năng

tạo ra dòng tiền cho nhà phát triển và cơ hội thành công của các trò chơi mang thểloại này cũng tương đối cao, có thé kế đến nhiều tựa game đang thịnh hành trên thị

Trang 4

Đồ án tốt nghiệp đại học Danh mục các bang

trường như: Clash Royale, Clash of Clans (Supercell), Kingdom Rush (Ironhide

Games), Plants vs zombies(EA), Các tựa game vừa nêu trên du ra mắt đã lâu

nhưng vẫn có một lượng người chơi đông đảo.

Đối với thê loại game này, đối tượng người chơi nhằm đến thường là nhữngngười chơi đã có kinh nghiệm với các thé loại game midcore, yêu thích các dòng

game chiến thuật đặc biệt là đặt trụ thủ thành

Với những lý do trên, em đã lựa chọn đề tài “ Phát triển ứng dụng game thủthành 2D sử dụng thuật toán tìm đường đi ngắn nhất.” Điểm đặc biệt của sản pham

là ứng dụng thêm thuật toán tìm đường đi ngắn nhất BFS để tính toán đường cho

kẻ địch từ vị trí bắt đầu đến kết thúc Khác với các trò chơi thủ thành khác trên thị

trường hiện nay, khi một màn chơi sẽ có 1 đường di có định từ đầu đến cuối cho kẻđịch thì sản phẩm của em sẽ chia bản đồ màn chơi thành 1 ma trận các ô vuông vàđường đi kẻ địch sẽ là các ô vuông liên tiếp nhau theo 4 hướng lên xuống trái phảiđược tính toán dựa trên cách sắp xếp trụ bảo vệ và các vật can có san Chi tiết về

cách chơi được giới thiệu ở link sau:

https://docs.google.com/document/d/

17_Au_jltwpTG1K7GeLc2 YWtnGqtZHRUeFzRPdc83fr0/edit?usp=sharing

Nội dung chính của đ án:

Đồ án được chia làm các chương như sau:

Chương 1: Tổng quan về dé tai

e Giới thiệu về dé tài, mục tiêu và ý nghĩa của việc phát triển trò chơi chiến thuật

2D.

Chương 2 : Công nghệ sử dụng

e Giới thiệu về các loại công nghệ và ngôn ngữ lập trình được sử dụng trong qua

trình phát triển (lich sử ra đời, các tinh năng nồi bật, lý do lựa chọn)Chương 3: Phân tích và thiết kế tiền sản xuất

e Xây dựng tài liệu thiết kế (GDD) mô tả các yêu cầu của trò chơi, bao gồm cốt

truyện, gameplay, hình ảnh, âm thanh, nhân vật và các tính năng khác.

Trang 5

5.

6.

Đồ án tốt nghiệp dai học Danh mục các bang

Thiết kế hệ thống trò chơi, bao gồm biểu đồ use case, biểu đồ lớp cho các đốitượng trong trò chơi, và biểu đồ tuần tự cho các tương tác chính

Xác định và nêu chi tiết nguyên lý va cách sử dụng thuật toán tìm đường đingắn nhất trong trò chơi

Chương 4: Thuật toán tìm kiếm đường đi ngắn nhất

Cơ sở lý thuyết của các thuật toán tìm đường đi ngắn nhất phổ biến trong phát

triển trò chơi

Phân tích và đánh giá ưu và nhược điểm của các loại thuật toán,

Kết luận và chọn ra thuật toán tối ưu cho ứng dụng

Chương 5: Phát triển ứng dụng game thủ thành chiến thuật 2D

Mô tả chỉ tiết quá trình phát triển các tính năng quan trọng của trò chơi, baogồm cách ứng dụng thuật toán tìm đường đi ngắn nhất dé điều hướng đối tượng

Trang 6

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc

Hà Nội, ngày — thang 12 năm 2023

NHAN XÉT CUA GIÁO VIÊN HƯỚNG DAN

ĐỎ ÁN/KHÓA LUẬN TÓT NGHIỆP ĐẠI HỌC

Tên đề tài: Phát triển ứng dụng game thủ thành 2D sử dụng thuật toán tìm đường đi

ngăn nhất.

Sinh viên: Nguyễn Quang An MSV: BI9DCPT002 Lớp: D19PTDPT

Giáo viên hướng dẫn: ThS Nguyễn Thị Thanh Tâm

Nơi công tác : Học viện Công nghệ Bưu chính Viễn thông

NỘI DUNG NHAN XÉT

Trang 7

LỜI CÁM ƠN

Trước tiên, em xin gửi lời cảm ơn chân thành đến giảng viên hướng dẫn của em,

cô Nguyễn Thị Thanh Tâm, người đã luôn tạo điều kiện và hỗ trợ em trong suốt quátrình thực hiện dự án Những kiến thức, hướng dẫn và góp ý của cô đã giúp em hoàn

thành được sản phâm một cách hoàn chỉnh nhất

Đồng thời, xin cảm ơn các anh chị, bạn bè, người thân đã chia sẻ những kinhnghiệm quý giá và cung cấp những hình ảnh, tài nguyên, tư liệu quan trọng đã hỗ trợ

em rất nhiều trong quá trình xây dựng sản phẩm

Cuối cùng, em xin được gửi lời cảm ơn tới toàn thể thầy cô giáo đã và đang công

tác tại Học viện Công nghệ Bưu Chính Viễn thông nói chung và các thầy cô trongkhoa Đa Phương Tiện nói riêng đã tận tình chỉ bảo và truyền đạt lại cho em và các bạnsinh viên những kiến thức quý báu làm hành trang dé có thé phát triển trên con đường

tri thức trong tương lai.

Nguyễn Quang An - BI9DCPT002 i

Trang 8

LOI CAM KET

Em xin cam đoan rằng Đồ an Tốt nghiệp này là công trình nghiên cứu của bản

thân em dưới sự hướng dẫn của ThS Nguyễn Thị Thanh Tâm Các phần trình bày và

kết quả nêu trong đồ án tốt nghiệp là trung thực, là thành quả của riêng em và không

sử dụng hay sao chép theo bất kỳ công trình nào khác Mọi nguồn tài liệu tham khảo

trong đồ án tốt nghiệp (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 Em xin

hoàn toàn chịu trách nghiệm với dù chỉ một sao chép vi phạm quy chế của nhà trường

Ha Nội, ngày 03 thang 11 năm 2023

Người thực hiện

Nguyễn Quang An

Nguyễn Quang An - BI9DCPT002 ii

Trang 9

Đồ án tốt nghiệp đại học Mục lục

MỤC LỤC

CHƯƠNG 1 CƠ SỞ LÝ THUYET VÀ NEN TANG CÔNG NGHỆ SỨ

In c1 ::(A,||:-1-1

1.1.2 Game d6 họa 2.5D là Ì2 -¿- 5c + S1 E2 1EE11211211111211211 111211 11111 1 111 111k

I9) .-.-4141a4444AAA.AÁ Ô 29 1.2.3 Các đặc tính cơ bản của Q L2 111112231111 12231 111110211 1111103 111g ng vn ng

1.3.1 Téng 010077

1.3.3 Các thành phan quan trong cơ bản cho việc phát triển ứng dụng game trong

IS 0003 da LdẢ

(in

1.8.3 SOUTC€ TTT€ Lọ ng n1 1111 111k 3)

Nguyễn Quang An - BI9DCPT002 iv

Trang 10

Đồ án tốt nghiệp đại học Mục lục

2.1.1 Biéu đồ Use Case tổng quát +: 2 ©s SE SE E19 12E121121121121121121121121121111 1111111111111.

2.1.2 Bảng mô tả các chức năng chính trong se Case - 5c 2 3223211121111 Ervre

2.1.4 Biéu dé lop thiét ké chi 1n ẽ 5

2.1.4.b Biéu đồ lớp thiết kế cho thực thé kẻ địch và các đối tượng liên quan -s

2.1.5 Dac ta CHUC NANG ee ẢỒÔ€£Ởd£ÓĐ®Ồ®ỔỒỶỶŸ

3.2.1 Thuật toán BFS (Breadth-First Searcl)) c2 2c 3213211211151 111 1111111111112 1 11101 11 1 1x HH

3.2.2 hở no 1

3.2.2.a Giới thiệu tóm tắt cc+cc22ttttttHnHH tren

3.2.2.0 s 011i 1 3.2.3 Thuat toan Dijkstra a

3.2.3.a Giới thiệu tóm tt eeccceecccsssesessseesesssnecessnneeeesnneceessneessnnseecssnmeecesnesecsnneesesnneeeesnneeessen

3.2.3.b Luồng hoạt động cơ bản 5c 6s EEE211271711211111111 1111211211111 0111 re

3.2.4 Thuật toán Bellman-FFord - - << + 21111622311 111 1911111129311 1291111110211 111g 11g 1g vn

k6 NG uốn aA

3.2.5 Phân tích ưu nhược điểm by 3700/7011

Nguyễn Quang An - BI9DCPT002 iv

Trang 11

Đồ án tốt nghiệp đại học Mục lục

3.3.1 Bài tốn Gat ra - -. - 1111112311111 29 111110 11g KTS 1 EEHgưy

4.1.2 Chuẩn bị tài nguyên -¿- 2-52 1 2E E12 12112112111211211111211 111111101 1101111210111 re

4.1.3.a Giao diện chính chính 2 E2 2221111 1293118111953 81 531111183511 11183 11kg vn ket

CN HU AC) it 2ì0ii9::5Ä 2/0 0n 'iẳỶỎỠỎŨỒỖỮ

6n uc nh

4.1.3.c Lớp GameManaØ€T - - - - c1 TH TH HH HH HH ki

4.3 Kết quả đạt được và đánh giá -: 5c s9 E1 E12112112211211211 111211 T1 11 11 1011011 ru

sen - ƠỎ.

Nguyễn Quang An - BI9DCPT002 Vv

Trang 12

Đồ án tốt nghiệp đại học Mục lục

DANH MỤC CÁC BANG

BANG 2.1 Mô tả các chức năng chính trong S€CaS€ - 2 222 1321112 11511115111 Ekrrrke

BANG 3.1 So sánh ưu và nhược điểm của 3 loại thuật toán tìm đường ngắn nhất phố

AK

Nguyễn Quang An - BI9DCPT002 vi

Trang 13

Đồ án tốt nghiệp đại học Danh mục hình vẽ

DANH MỤC CÁC HÌNH VỀ

Hình 1.1 Minh hoạ trò chơi điện tử trên thiết bị đi 50277

Hình 1.3.Giao diện tựa game Boom Beach - +11 32211191112 111911191119 11 01111 HH ng Hư

Hình 1.4 Giao diện tựa game Plants vs ZOrmbI€S c2 3321112111391 11511111 5811181151111 1 ke

Hình 1.6 Giao diện trang web Unity Asset S†OTC - . - T0 1n St SH SH TH 111111111111 81 1k Hưku Hình 1.7 Giao diện trang web Google APIs for nIfy - - + SH ng ng nành

Hình 1.10 Mô tả vòng đời của | ứng dụng xây dựng trên nIfy - -. 25 + * +2 xssvsseerssereee

Hinh 1.11 NgOn ngtt CH eee

Hình 1.13 Logo phần mềm Bilenider 2-5 656 S9SEEESE£EEE£EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEErkrrrrre,

Hình 1.14 Giao diện làm việc trong Blender(Ver 3.3) - - c1 1S v1 111111111111 11 1g như

Hinh 1.15 Framework Dotween 218

Hình 1.16 Phần mềm quan lý phiên bản Qit c.cecccececcseescssescsessesessessesessesssessessssesesssesesetseeessees

Hình 1.17 Logo dịch vụ Github - c 1121111111211 1211 1181111311101 1 0111 011 011111 H1 ng HH kg Hy rg

Hình 2.5 Bản đỗ level (1 ¿- 2-52 2S E2EEEXEE1EE18112112112112112111111 2111111111111 rre

Hình 3.1 Lưu đồ cơ bản thuật toán BFS ¿25+ 222v 2222122211122

Hình 3.4 Lưu đồ thuật toán ứng dụng BFS vào hệ thống tìm đường đi ngắn nhất trong

tO COL e((d4ä433

Nguyễn Quang An - BI9DCPT002 Viii

Trang 14

Đồ án tốt nghiệp đại học Danh mục hình vẽ

Hình 4.7 Đường di chuyền của kẻ địch cập nhật theo vị trí người chơi đặt

Hình 4.11 Ví dụ cho việc lớp cây con ghi đẻ lại lên phương thức Attack() có hành vi

[4.1400 ⁄00810ãv 0i 0P ea

Hình 4.13 Dữ liệu tĩnh của lớp cây Pea Shooter được lưu trong Scriptable ObJect asset

Hình 4.14 Ví dụ sử dụng PlayerPref lưu dt liệu người dùng trong SCTIpE . 52-5 +5<<<<<++

Hình 4.16 Quá trình rig humanoid cho nhân vật zombIe - ¿5c 22c 33221322 %2E+2E+sexssseeses

Nguyễn Quang An - BI9DCPT002 Viii

Trang 15

Đồ án tốt nghiệp đại học Mớ đầu

MỞ ĐẦU

Giải trí là một nhu cầu thiết thực đối với mỗi người, nhất là trong bối cảnh xã hộinhư hiện nay, những hoạt động giải trí trong thời gian ngắn (10 - 30p) là cần thiết dé

mọi người có khoảng thời gian vui vẻ và giải tỏa áp lực giữa những giờ làm việc, học

tập căng thăng hoặc đơn giản là giết thời gian cho việc chờ đợi hay những lúc rảnh rỗi,nhàm chán Sự phát triển nhanh chóng của các thiết bị thông minh cầm tay nhỏ gọn đikèm với sự nỗi lên của các trò chơi điện tử trên các thiết bi đó đang mở ra nhiều cơ hộicho lĩnh vực trò chơi điện tử phát triển nhanh chóng hơn bao giờ hết

Trong những năm gần đây, những dòng game mang thể loại chiến thuật thuộcnhận được rất nhiều sự quan tâm của người sử dụng với các số liệu thống kê rất khả

quan về lượng người chơi gắn bó, khả năng tạo ra dòng tiền cho nhà phát triển và co

hội thành công của các trò chơi mang thể loại này cũng tương đối cao, có thé kế đến

nhiều tựa game đang thịnh hành trên thị trường như: Clash Royale, Clash of Clans

(Supercell), Kingdom Rush (Ironhide Games), Plants vs zombies(EA), Các tựa

game vừa nêu trên dù ra mắt đã lâu nhưng vẫn có một lượng người chơi đông đảo Đốivới thê loại game này, đối tượng người chơi nhằm đến thường là những người chơi đã

có kinh nghiệm với các thê loại game casual và midcore, yêu thích các dòng game

chiến thuật đặc biệt là đặt trụ thủ thành

Với mong muốn được tạo ra một trò chơi đáp ứng được nhu cầu hiện nay củangười dùng, em sẽ xây dựng một ứng dụng trò chơi theo thé loại đặt trụ thủ thành

(tower-defense) với đồ họa 2.5D chạy trên nền tảng điện thoại thông minh Trò chơi

được thiết kế với mục tiêu mang lại trải nghiệm giả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

1 Đặt vấn đề

Hiện nay, trên thị trường có rất nhiều game chiến thuật chạy trên các nên tảng điện

thoại thông minh; và thực tế đã có rất nhiêu con game đã thành công rực rỡ, đạt được

nhiều thành tựu về số lượng tải, lượt chơi, doanh thu, Tuy nhiên, theo quan sát của

cá nhân em, dòng game này vẫn còn rất nhiều các khía cạnh khác để có thể tiếp tục

khai thác( cơ chế gameplay, đồ hoạ, 7) nhằm tao ra một san phẩm tiềm năng có thé

đáp ứng được nhu cau của đa số người choi yêu thích dòng game này

Với những yếu tố đã nêu cùng với mong muốn nghiên cứu và phát triển một sảnphẩm game hoàn chỉnh phục vụ đồ án tốt nghiệp này đã đặt ra một van dé: Lam thénào để tạo ra một sản phẩm game chiến thuật thủ thành chất lượng, hấp dẫn và thu hút

được sự quan tâm của nhiều người chơi?

Trên thực tế, đòng game chiến thuật thủ thành không chỉ đòi hỏi kỹ năng lập trình

và thiết kế đồ họa, cơ chế mà còn phải đảm bảo được tính hấp dẫn, sáng tạo, tương

thích với nhiều thiết bị khác nhau Nếu giải quyết được van dé này, chúng ta có thé tạoNguyễn Quang An - BI9DCPT002 1

Trang 16

Đồ án tốt nghiệp đại học Mớ đầu

ra một sản phẩm game chiến thuật thủ thành đạt chất lượng cao, thu hút được sự quan

tâm của người chơi và có thể mang lại lợi nhuận từ những con game của mình Trongnhững phân tiếp theo của đồ án tốt nghiệp này,em sẽ tập trung vao việc nghiên cứu và

phát triển một game chiến thuật thủ thành hoàn chỉnh dé giải quyết van đề trên.

2 Mục tiêu nghiên cứu

Trong phần này, em sẽ trình bày về mục tiêu và phạm vi của đề tài với game

chiến thuật thủ thành nhằm có một cái nhìn tong quan về các sản phẩm game chiến

thuật thủ thành hiện tại và việc đánh giá các hạn chế của chúng

Thị trường đang chứng kiến nhiều sản phẩm game chiến thuật thủ thành đa dạng

về cốt truyện, đồ họa, âm thanh, tính năng và gameplay Tuy nhiên, sau khi phân tích

và đánh giá, chúng em nhận thấy rằng vẫn tồn tại một số hạn chế cụ thể:

Hạn chế về chiều sâu chiến thuật và trải nghiệm người chơi: Các game chiến thuậtthủ thành hiện tại chưa thực sự đáp ứng được mong đợi về chiều sâu trong chiến thuật

và trải nghiệm của người chơi Có thể thiếu tính tương tác và sự linh hoạt trong việcxây dựng và bảo vệ thành trì, gây hạn chế trong việc thực hiện chiến lược vả quản lý

tải nguyên.

Hạn chế về độ khó và cảm giác thách thức: Một sỐ game chiến thuật thủ thành có

thé qua dé hoặc quá khó, không cân nhắc đúng mức độ thách thức phù hợp cho người

chơi Điều này có thé gây cảm giác mat hứng thú hoặc thiếu sự hứng khởi dé tiếp tục

chơi.

Hạn chế về đa dạng và sáng tạo: Các sản phẩm game hiện tại chưa đáp ứng được

nhu cầu của người chơi về đa dạng và sự sáng tạo trong cốt truyện, tính năng, bảo vệ,

v.v Điều này có thé gây cảm giác nhàm chán khi chơi lâu dai

Dựa trên những hạn chế trên, mục tiêu của dự án là xây dựng một sản phẩm game

chiến thuật thủ thành có độ sâu chiến lược cao, mang lại trải nghiệm thú vị và cảm

giác thách thức phù hợp cho người chơi.

3 Phạm vỉ nghiên cứu

Đồ án tập trung vào việc phân tích, nghiên cứu các thuật toán phù hợp, xây dựng

và phát triển ứng dụng trò chơi thể loại thủ thành chiến thuật theo lượt trên nền tảng

thiết bi android sử dụng công cụ phát triển Unity với

5 Bố cục đồ án

Đồ án gồm tat cả 6 chương, mỗi chương có các phan nho hon tap trung trinh

bay một nội dung cụ thé liên quan đến sản pham cuối cùng Các phan tiếp theo của báo cáo dé án tốt nghiệp này được tô chức như sau:

Nguyễn Quang An - BI9DCPT002 2

Trang 17

Đồ án tốt nghiệp đại học Mớ đầu

Chương 2 sẽ giới thiệu sơ lược những công nghệ, công cụ hỗ trợ trong quá

trình xây dựng và phát triển sản phẩm và lý do lựa chọn những công nghệ đó

bao gồm: Ngôn ngữ C#, Unity Engine, phần mềm tích hợp môi trường Rider,

phần mềm xử lý chuyên đồ họa 3D Blender va framework hỗ trợ hiển thị animation DOTween v2 cùng với bộ quản lý mã nguồn Git, Github, SourceTree

Chương 3 chương này sẽ có nhiệm vụ trình bày các tài liệu phân tích thiết kế

chi tiết hệ thống với các biểu đồ thé nhằm xây dựng và trực quan hóa các mối quan hệ và mục đích của các thành phần hệ thống trong hệ thống, giúp có cái

nhìn tổng quát về cau trúc của hệ thống trước khi tiến hành xây dựng phần mềm.

Ngoài ra, phần này cũng trình bày các tài liệu thiết kế tiền sản xuất của sản pham bao gồm kịch bản 1 trang, kịch ban 10 trang.

Trong chương 4, em sẽ đi sâu vào trình bày các thuật toán nhằm giải quyết

bài toán tìm đường đi ngắn nhất cho tựa game; đưa ra các lý thuyết nền tảng của

3 thuật toán phổ biến nhất cho phát triển sản phẩm game, đánh giá ưu và nhược

điểm của từng thuật toán và cuối dùng đưa ra quyết định sẽ triển khai thuật toán

nào dựa trên các phân tích.

Chương 5 sẽ trình bày về các bước chỉ tiết trong quá trình thực hiện xây

dựng và nêu ra một số khó khăn trong quá trình cùng với cách giải quyết van dé

tương ứng.

Chương 6 trình bày và đánh giá các kết quả sản phẩm, đưa ra đánh giá về một số các yếu tố cả về làm tốt và chưa được Cuối cùng là đưa ra các hướng

phát triển tiếp theo dé b6 sung và hoàn thiện sản phẩm.

Nguyễn Quang An - BI9DCPT002 3

Trang 18

cung cấp trải nghiệm giải trí hoặc giáo dục cho người chơi thông qua các thiết bị điện

tử đi kèm với các giao diện tương tác Game có thể được chơi trên nhiều nền tảng khácnhau như máy tính, điện thoại di động, console (máy chơi game), hoặc các thiết bị điện

tử khác Các game có thé bao gồm nhiều thé loại và mức độ phức tap, từ những trò chơi đơn giản cho đến các trò chơi có đồ họa phức tạp, cốt truyện sâu sắc và yêu cầu chiến thuật cao.

Trên các thiết bị điện thoại thông minh hiện nay, do bị giới hạn về phần cứng vàcác tương tác giữa người dùng và thiết bị nên các phần mềm game trên điện thoại sẽ có

một số hạn chế và ít phức tạp được như trên các nền tảng thiết bị chơi game khác như

máy tính, máy chơi game chuyên dụng: nhưng số lượng game hiện nay trên nền tảng

thiết bị di động thông minh cũng rất đa dạng và có các cơ chế riêng biệt dựa trên đặc

thù của thiết bị Một số các thể loại game pho bién duoc nhiéu người choi trên các

thiết bị điện thoại thông minh hiện nay như:

Nguyễn Quang An - BI9DCPT002 4

Trang 19

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

e Hyper Casual: những game có các tương tác đơn giản và dé chơi, nhắm đến

nhiều đối tượng người chơi

e Game hành động: những game liên quan đến thử thách vật lý,, hoặc lối chơi

nhanh, tập trung vào việc chiến đấu với đối thủ qua các đòn tấn công, kỹ năng

và phát triển nhân vật

e Game giải đố: những game yêu cầu kỹ năng logic, chiến lược, hoặc giải quyết

van đề

e Game Nhập Vai (RPG - Role-Playing Games): Có cốt truyện sâu sắc, người

chơi thường đóng vai một nhân vật và tham gia vào cuộc phiêu lưu, chiến đấu,

và phát triển kỹ năng của nhân vật theo tiến trình game

1.1.2 Game đồ họa 2.5D là gì?

Game 2.5D là một thuật ngữ được sử dung dé mô tả loại game kêt hợp giữa các

yếu tô 2D và 3D Trong game 2.5D, thường có sự sử dụng của hình ảnh, đồ họa, và

cách diễn đạt không gian trong game một cách đặc biệt dé tạo ra ấn tượng về sự sâu

rộng của không gian 3D nhưng vẫn giữ lại cảm giác chơi game 2D truyền thống

Một số đặc điểm của game 2.5D bao gồm:

Góc nhìn chơi game: Thường là từ trên cao hoặc từ một góc độ có định, giúp

người chơi có thé nhìn thấy cả môi trường xung quanh và các chi tiết 3D nhưng di

chuyên hoặc tương tác với đối tượng trong một mặt phẳng

Cách xử lý vật lý: Thường là sử dụng các kỹ thuật vật lý 3D để tạo ra cảm giácchuyên động, va chạm, và tương tác giữa các đối tượng trong game

Mục tiêu: Game 2.5D thường nhằm tận dụng cảm giác không gian rộng lớn của

3D nhưng vẫn giữ được độ thú vị và sự dé dang chơi của game 2D.

1.1.3 Thể loại game chiến thuật thủ thành theo lượt

Game chiên thuật thủ thành theo lượt là một dạng game chiên thuật, trong đó

người chơi phải tính toán và xây dựng cơ sở thủ thành của mình và chiến đấu chống lại

kẻ địch Đặc điểm chính của thé loại này là sự kết hợp giữa yếu tố chiến thuật (tư duychiến lược) và việc xây dựng cơ sở (xây thành, tạo ra các hệ thống phòng thủ) Trongquá trình chơi, người chơi thường có thể điều chỉnh và nâng cấp cơ sở của mình đểchống lại những đợt tấn công từ đối thủ

Các đặc điểm nỗi bật của thê loại game thủ thành theo lượt:

Nguyễn Quang An - BI9DCPT002 5

Trang 20

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

e Chiến thuật: Người chơi cần có chiến lược phù hợp để xây dung và bảo vệ cơ

sở khỏi tấn công của đối thủ

e Xây dựng: Tính cơ bản của thé loại này là việc xây dựng và phát triển cơ sở,

bao gồm việc xây tường, trạm phòng thủ, và tối ưu hóa cấu trúc để tăng cường

khả năng phòng thủ.

e Lượt chơi: Trò chơi diễn ra theo lượt, người chơi có thời gian cố định dé thực

hiện các hành động của mình trước khi đối thủ tiến hành lượt tiếp theo

Một số tựa game nỗi tiếng thé loại này trên có thể ké đến như:

a Clash of Clans

Một trong những tựa game chiến thuật xây dựng căn cứ và tấn công hàng đầu trên

di động Người chơi xây dựng làng, huấn luyện quân lính và tham gia vào các cuộc tấncông nhằm đánh bại người chơi khác hoặc NPC Những tựa game này thường có cau

trúc phòng thủ chiến lược, giao diện đơn giản nhưng có chiều sâu với việc quản lý tài

Trang 21

c Plants vs Zombies

Tựa game kết hop giữa yêu tô thủ thành và game casual Người choi sử dung cácloại cây dé ngăn chan các dot tan công cua zombie

Đặc điểm: Gameplay đơn giản nhưng có chiều sâu trong việc xây dựng chiến

thuật, có yếu tố hài hước và đồ họa độc đáo, khác biệt

One te one:

Nguyễn Quang An - B19DCPT002

Trang 22

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

1.2 Kiến trúc lập trình hướng đối tượng

Kiên trúc OOP (Object-Oriented Programming) là một phương pháp lập trình

hướng đối tượng Nó tập trung vào việc mô hình và trừu tượng hóa các đối tượng trong

thế giới thực thành các đối tượng trong chương trình Trong OOP, các đối tượng được

xem như là các thực thé, mỗi thực thé có các thuộc tinh và phương thức riêng biệt

_ 1.2.1 Object ; Ộ

Đôi tượng trong OOP bao gôm 2 thành phân chính:

e Thuộc tính (Attribute): là những thông tin, đặc điểm của đối tượng.

e Phương thức (Method): là những hành vi mà đối tượng có thê thực hiện.

Ví dụ thực tế về đối tượng là smartphone Đối tượng này sẽ có:

e Thuộc tính: màu sắc, bộ nhớ, hệ điều hành

e Phương thức: gọi điện, chụp ảnh, nhắn tin, ghi 4m

1.2.2 Class

Lớp là sự trừu tượng hóa của đối tượng Những đối tượng có những đặc tính tương

tự nhau sẽ được tập hợp thành một lớp Lớp cũng sẽ bao gồm 2 thông tin là thuộc tính

và phương thức Một đối tượng sẽ được xem là một thực thể của lớp.

1.2.3 Các đặc tính cơ bản của OOP

a Tính đóng gói (Encapsulation)

Tính đóng gói cho phép che giấu thông tin và những tính chat xử lý bên trong củađối tượng Các đối tượng khác không thể tác động trực tiếp đến đữ liệu bên trong vàlàm thay đổi trạng thái của đối tượng mà bắt buộc phải thông qua các phương thức

công khai do đối tượng đó cung cấp

Tính chất này giúp tăng tính bảo mật cho đối tượng và tránh tình trạng dữ liệu bị

hư hỏng ngoài ý muốn

b Tính kế thừa (Inheritance)

Đây là tinh chat đặc trưng nhất và được sử dụng nhiều cho việc thiết kế các hệthống Tính kế thừa cho phép xây dựng một lớp mới (lớp con), kế thừa và tái sử dụngcác thuộc tính, phương thức dựa trên lớp cũ (lớp cha) đã có trước đó Các lớp Con kếthừa toàn bộ thành phần của lớp Cha và không cần phải định nghĩa lại Lớp Con có thé

mở rộng các thành phan ké thừa hoặc bé sung những thành phan mới

Vị dụ:

e Lớp Cha là smartphone, có các thuộc tính: màu sắc, bộ nhớ, hệ điều hành .

e Các lớp Con là iPhone, Samsung, Oppo cũng có các thuộc tinh: màu sắc, bộ

nhớ và hệ điều hành .Nguyễn Quang An - BI9DCPT002 8

Trang 23

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

c Tinh đa hình (Polymorphism)

Tính đa hình trong lập trình OOP cho phép các đối tượng khác nhau thực thi

chức năng giống nhau theo những cách khác nhau.Tính đa hình giúp tăng khả năng tái

sử dụng, linh hoạt, và trừu tượng hóa code.

Vi dụ, một biến có kiểu Shape có thể tham chiếu đến một đối tượng Rectanglehoặc Square, một hàm có thé được ghi đè (override) ở các lớp con để thực hiện các

chức năng khác nhau, một phương thức có thé được nạp chồng (overload) dé có thé

nhận số lượng các tham số khác nhau

d Tính trừu tượng (Abstraction)

Tính trừu tượng được thực hiện bằng cách sử dụng các lớp trừu tượng và phương

thức trừu tượng Một lớp trừu tượng là một lớp mà không thể tạo ra đối tượng của nótrực tiếp, nhưng chỉ có thê sử dụng nó đề tạo các lớp con Một phương thức trừu tượng

là một phương thức mà không có thân hàm, chỉ có khai báo, và được kế thừa bởi cáclớp con để triển khai

Tính trừu tượng giúp giảm sự phức tạp của một chương trình bằng cách tập trung

vào các khái niệm trừu tượng chính thay vì chi tiết bên trong của đối tượng Nó cũng

giúp cải thiện tính tái sử dụng mã, vì các đối tượng có thé được tạo ra dựa trên các lớptrừu tượng và các phương thức trừu tượng có thể được sử dụng để triển khai các lớpcon khác nhau mà không cần phải viết lại một đoạn mã tương tự

1.3 Giới thiệu về phần mềm Unity

1.3.1 Tông quan về Unity ; Ộ ; Unity là một trình giúp phát trién game và ứng dụng đa nên tảng được phat triên

bởi Unity Technologies Unity cho phép người dùng phát triển các trò chơi trên nhiềunền tảng như Windows, macOS, Linux, Android, 1OS, Xbox, PlayStation, NintendoSwitch và nhiều hơn nữa Unity được sử dụng phô biến trong ngành công nghiệp game

dé phát triển các trò chơi 2D và 3D

Nguyễn Quang An - BI9DCPT002 9

Trang 24

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

< unity

Hinh 1.5 Logo phan mém Unity

Unity được thiết kế dé cung cấp cho các nhà phat triên một môi trường làm việc

linh hoạt va dé sử dụng, bao gồm một bộ công cụ đồ họa, một bộ công cụ lập trình vàmột bộ công cụ hỗ trợ game đa nên tảng Ngoài ra, Unity cũng cung cấp cho các nhàphát triển một thư viện phong phú của các công cụ và tải liệu học tập dé giúp họ pháttriển các trò chơi đa dạng và phức tạp

Với Unity, các nhà phát triên có thê tạo ra các trò chơi với đô họa ân tượng, hiệu

ứng âm thanh, hệ thống vật lý, các tính năng AI và đa dạng các cơ chế gameplay khác

nhau Ngoài ra, Unity cũng hỗ trợ các công nghệ mới như VR và AR, cho phép người

dùng tạo ra các trò chơi trải nghiệm thực tế ảo và thực tế tăng cường Việc sử dụngUnity nhằm phát triển ứng dụng game có rất nhiều lợi thế:

Đa Nền Tang: Unity cho phép phát triển trên nhiều nền tang từ iOS, Android

đến Windows, macOS và các thiết bị VR/AR như Oculus Rift, HTC Vive

Đồ Họa và Hiệu Ứng: Hỗ trợ đồ họa 2D và 3D, với khả năng tạo ra các hiệu

ứng đa dạng như ánh sáng, bóng, đồ bóng, hiệu ứng hấp dẫn

Cộng Đồng: Unity có cộng đồng lớn mạnh, cung cấp tài liệu, hướng dẫn và các

tài nguyên miễn phí hoặc trả phí để hỗ trợ cho việc phát triển và học hỏi dễ dàng

Scripting Linh Hoạt: Sử dụng ngôn ngữ lập trình C# cùng với cấu trúc

Object-Component giúp người dùng có thể linh hoạt tạo ra các script cho các đối tượng

trong Unity

Asset Store: Cửa hang chứa các tài nguyên san có đa dạng như 3D models,

textures, scripts, plugins dap ứng nhiều yêu cầu người sử dung và giúp tăng tốc

quá trình xây dựng và phát triển game.

Nguyễn Quang An - BI9DCPT002 10

Trang 25

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

0 Lsox] MORE MOUNTAIN JUTONG GAMES L DEN

DeepVoice AI - Text To Poly Universal Pack RENIX i Playmaker DOTween Pro

*xw+** ° 9) xw*w*++* on Odin Inspector and Seri *ww##% (292) | | (8342) wok tok ke (339 8185) keke wk (785) | | (6606)

Hinh 1.6 Giao dién trang web Unity Asset Store

e Được hỗ trợ bởi Google: có nhiều gói công cụ và APIs hỗ trợ từ Google, cho

phép người dùng tích hợp các tính năng và dịch vụ của Google vào trò chơi của

họ, như Google Play Games Services, Firebase, AdMob, ARCore và nhiêu hơn

nữa.

Google APIs for Unity Q search @ Language ~

Build your game in Unity

Unity is a game engine used by developers to produce engaging 2D or 3D cross-platform games Google's

official packages for Unity extend the default capabilities of Unity, allowing your games to fully realize their

potential within the Google ecosystem

Q Advertising am Android @ AR

Tools to monetize your games Optimize your games for Android, Build augmented reality experiences that

seamlessly blend the digital and physical worlds °É'

» Firebase )b Google Play » Tools

The tools and infrastructure you need to improve APIs to interface with the Google Play Store General tools for working in Unity.

your games, and grow your business.

mz”

Create immersive cross-platform virtual reality

experiences.

Hình 1.7 Giao diện trang web Google APIs for Unity

e Unity có nhiều tính năng va công cu mạnh mẽ, cho phép người dùng tạo ra các

trò chơi mobile hấp dẫn và chất lượng cao, như Enlighten, Universal Render

Pipeline, Shader Graph, Cinemachine, Timeline, Particle System, Animation,

UI, Scriptable ObJects.

Bên cạnh những ưu điểm trên, việc sử dung unity cũng con 1 số hạn chế như là

ứng dụng phát triển bằng Unity có thê tốn nhiều tài nguyên hệ thống, đòi hỏi kỹ nănglập trình và hiểu biết kỹ thuật cao dé tối ưu và việc tối ưu hóa cho nhiều nên tảng thiết

bị có thé là một thách thức lớn kể cả đối với những người chuyên nghiệp

Nguyễn Quang An - BI9DCPT002 11

Trang 26

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

1.3.2 Lịch sử ra đời và phát triển ;

Unity ra đời vào năm 2005, khi ba nhà phat triên trò choi người Dan Mach là

David Helgason, Joachim Ante va Nicholas Francis quyét định tạo ra một công cụ dé

phát triển trò chơi cho Mac OS X Ho đặt tên cho công cụ là Unity, với ý nghĩa là sự

thống nhất giữa các nhà làm game và các nền tảng Unity được công bé lần dau tiên tại

hội nghị Apple’s Worldwide Developers Conference vào năm 2005, và nhận được giải

thưởng Best Use of Mac OS X Graphics.

Sau đó, Unity được mở rộng dé hỗ trợ nhiều nền tang khác, bao gồm Windows,Linux, Web, iOS, Android, Console, VR, AR và nhiều hơn nữa Unity cting lién tuc

cập nhật va nâng cap các tính năng và công nghệ của minh, dé đáp ứng nhu cầu và xu

hướng của ngành công nghiệp trò chơi Hiện nay, Unity đã phát hành phiên ban

2020.3, với nhiều cải tiến và sửa lỗi

Unity đã trở thành một trong những công cụ phát triển trò chơi phố biến và ưachuộng nhất hiện nay, bởi vì nó có nhiều ưu điểm như khả năng hỗ trợ đa nền tảng, dễ

sử dụng, mạnh mẽ, linh hoạt và có một cộng đồng lớn và năng động Unity đã được sử

dụng dé tạo ra nhiều tựa game nồi tiếng và thành công, như Pokemon GO, Call of

Duty: Mobile, Monument Valley, Temple Run, Angry Birds, Subway Surfers và nhiều

hơn nữa Theo thống kê của Unity, một nửa số trò chơi trên tất cả các nền tảng được

tạo ra dựa trên Unity, và 55% game mobile mới được thiết kế bằng Unity Unity hiện

là nền tảng tạo nội dung 3D thời gian thực hàng đầu thế giới

1.3.3 Các thành phần quan trọng cơ bản cho việc phát triển ứng dụng game

trong Unity

1.3.3.a Tổng quan về giao diện làm việc co ban

Nguyễn Quang An - BI9DCPT002 12

Trang 27

z z

Đồ an tot nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

ds

1 Cira sé Scene

Phan nay phan hiển thị các đối tượng trong scenes một cách trực quan, có thể lựa

chọn các đối tượng, kéo thả, phóng to, thu nhỏ, xoay các đối tượng; ngoai ra, người

dùng có thê thiết lập một sé thong số như hién thị ánh sáng, âm anh, cách nhìn 2D hay

3D

Khung nhìn Scene là nơi bố trí các Gameobject như cây cối, cảnh quan, enemy,player, camera trong game Sự bố trí hoạt cảnh là một trong những tính năng quantrọng và tiện lợi nhất của Unity

2 Cửa số Hierarchy

Tab hierarchy là nơi hiển thị các Gameobject trong Scenes hiện hành Khi các đốitượng được thêm hoặc xóa trong Scenes, tương ứng với các đối tượng đó trong cửa số

Hierarchy.

Tương tự trong tab Project, Hierarchy cũng có một thanh tim kiếm giúp quan ly và

thao tác với các Gameobject hiệu quả hơn đặc biệt là với các dự án lớn.

3 Cửa số Game

Đây là màn hình demo Game, là góc nhìn từ camera trong game.

Thanh công cụ trong cửa số game cung cấp các tùy chỉnh về độ phân giải màn

hình, thông số (stats), gizmos, tùy chọn bật tắt các component

4 Cửa số Project

Đây là cửa số explorer của Unity, hiển thị thông tin của tất cả các tài nguyên

(Assets) trong game của bạn.

Cột bên trái hiển thị assets và các mục yêu thích dưới dạng cây thư mục tương tự

như Windows Explorer Khi click vào một nhánh trên cây thư mục thì toàn bộ nội

Nguyễn Quang An - BI9DCPT002 13

Trang 28

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

dung của nhánh đó sẽ được hiển thị ở khung bên phải Ta có thể tạo ra các thư mục

mới bằng cách Right click -> Create -> Folder hoặc nhân vào nút Create ở góc trên

bên trái cửa số Project và chon Folder Các tài nguyên trong game cũng có thé được

tạo ra bằng cách này

Phía trên cây thư mục là mục Favorites, giúp chúng ta truy cập nhanh vào những

tài nguyên thường sử dụng Chúng ta có thể đưa các tài nguyên vào Favorites bằng

thao tác kéo thả.

Đường dẫn của thư mục tài nguyên hiện tại Chúng ta có thể đễ dàng tiếp cận các

thư mục con hoặc thư mục gốc bằng cách click chuột vào mũi tên hoặc tên thư mục

5 Cửa số InspectorCửa số Inspector hiển thi chỉ tiết các thông tin về Gameobject đang làm việc, ké cảnhững component được đính kèm và thuộc tính của nó Bạn có thê điều chỉnh, thiết lậpmoi thông số và chức năng của Gameobject thông qua cửa số Inspector

Moi thuộc tính thể hiện trong Inspector đều có thé dễ dàng tùy chỉnh trực tiếp mà

không cần thông qua một kịch bản định trước Tuy nhiên Scripting API cung cấp một

số lượng nhiều và đầy đủ hơn do giao diện Inspector là có giới hạn

Các thiết lập của từng component được đặt trong menu Các bạn có thể click chuột

phải, hoặc chọn icon hình bánh răng nhỏ dé xuất hiện menu

Ngoài ra Inspector cũng thể hiện mọi thông số Import Setting của asset đang làm

việc như hiển thị mã nguồn của Script, các thông số animation,

1.3.3.b Các thành phần quan trọng khác

1 Scene: Scene là một không gian làm việc trong Unity, cho phép bạn thêm và

sắp xếp các đối tượng trong trò chơi Mỗi trò chơi có thể được chia thành nhiều Scene

khác nhau.

2 GameObject: GameObject là thành phan cơ ban của Unity, được sử dụng déđại diện cho một đối tượng trong trò chơi Mỗi GameObject sẽ có một hoặc nhiều

Component dé xác định các thuộc tinh, tính chất và hành vi cho GameObject đó

3 Component: Component là các thành phần cơ bản của một GameObject, chophép bạn thêm các tính năng vào GameObject Vi dụ như Component Rigidbody dé xử

lý vật lý, Component Mesh Renderer để hiển thị hình ảnh, hoặc Component Script dé

thém cac kich ban logic vao GameObject.

4 Prefab: Prefab là một GameObject được lưu trữ dé tái sử dung trong các Scene

khác nhau Nó cho phép bạn tạo ra một đối tượng chỉnh sửa một lần và sử dụng nhiều

lần trong toàn bộ trò chơi

Nguyễn Quang An - BI9DCPT002 14

Trang 29

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

Ví dụ: Các đối tượng là đồng tiền trong game Mario đều có xử lý giống nhau, nên

ta chỉ việc tạo ra một đối tượng ban đầu, các đồng tiền còn lại sẽ sử dung prefabs.Hoặc khi ta lát gach cho một cai nền nha, các viên gạch cũng được sử dung là prefabs

5 Asset: Asset là bất kỳ tài nguyên nào được sử dụng trong trò chơi, bao gồm cáchình ảnh, âm thanh, video, văn bản, v.v ở nhiều định dạng khác nhau

6 Inspector: Inspector là giao diện đồ hoa trong Unity, cho phép bạn chỉnh sửa

các thuộc tính của một GameObject hoặc Component.

7 Script: Script là một đoạn mã lập trình được sử dụng như một component mà

người dùng tự định nghĩa dé thêm các tinh năng vào trò chơi Nó được viết bang các

ngôn ngữ lập trình như C#, JavaScript, hoặc Boo.

8 Animation: Animation là một thành phần trong Unity cho phép bạn tạo ra cáchoạt hình và điều khiển chuyên động của các đối tượng trong trò chơi

9 Camera: Là một gameobject đặc biệt trong scene, dùng để xác định tầm nhìn,quan sát các đối tượng khác trong game

10 Frames: Frame trong Unity là một đơn vị thời gian để đo lường hiệu năng củagame Mỗi frame là một lần cập nhật trạng thái của các đối tượng trong game, bao

gồm vị trí, hướng, hình dạng, màu sắc, âm thanh, hình ảnh v.v Frame cũng là một lần

vẽ lại các đối tượng trên màn hình, tạo ra hiệu ứng chuyền động Tốc độ frame là số

lượng frame có thể được xử lý trong một giây, được đo bằng đơn vị frame trên giây

(FPS) Tốc độ frame cao sẽ mang lại trải nghiệm trực quan tốt hơn cho người chơi,

nhưng cũng đòi hỏi nhiều tài nguyên hơn từ CPU và GPU

11.Coroutine: Một coroutine cho phép bạn phân bổ các tác vụ trên nhiều khungkhung hình liên tục Trong Unity, coroutine là một phương thức có thể tạm dừng thựcthi và trả lại quyền kiểm soát cho Unity nhưng sau đó tiếp tục ở nơi nó dừng lại ở

khung hình sau.

1.3.3.c Vong đời các events trong Unity

Vòng đời trong Unity là quá trình mà các đối tượng game (game objects) hoạtđộng thông qua các giai đoạn khác nhau từ khi được tạo ra đến khi bị hủy Các giai

đoạn này thường bao gồm các sự kiện và phương thức xảy ra tại mỗi giai đoạn Dưới

đây hình ảnh mô tả về các giai đoạn cơ bản trong vòng đời của một đối tượng trong

Unity:

Nguyễn Quang An - BI9DCPT002 15

Trang 30

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

Hình 1.10 Mô tả vòng đời của 1 ứng dụng xây dung trên Unity

* Giải thích một số event quan trọng trong vòng đời ứng dụng Unity:

1 Awake

Sự kiện này xảy ra khi đối tượng được tạo ra, trước khi bắt đầu vòng đời của nó.

Trong sự kiện này, đối tượng đã được khởi tạo nhưng chưa hoạt động, thường được sử

dụng dé khởi tạo dit liệu hoặc thiết lập các tham chiếu giữa các đối tượng.

2 Start

Sự kiện này xảy ra ngay sau khi Awake kết thúc Đây là nơi lý tưởng dé khởi tạo

các giá trị hoặc tài nguyên mà bạn muốn sử dụng trong game, thường được sử dụng dé

khởi tạo các thiết lập ban đầu cho đối tượng

Nguyễn Quang An - BI9DCPT002 16

Trang 31

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

3 Update

Sự kiện này xảy ra trong mỗi frame của game, tức là khoảng 60 lần mỗi giây (đối

với frame rate 60 FPS) Nó là nơi chính đề thực hiện logic chạy trong game, thường

được sử dụng dé cap nhat vi tri, kiém tra tương tac của người choi và thực hiện các

hành động trong game.

4 FixedUpdate

Sự kiện này xảy ra tại các khoảng thời gian có định (không phụ thuộc vào frame

rate), thường được sử dụng dé xử lý vật lý, được sử dụng đề điều khiển các thuộc tính

vật lý như di chuyền, va chạm, hoặc tương tác với các vật thé khác.

5 LateUpdate

Mô tả: Sự kiện này xây ra sau khi tất cả các Update đã được gọi, thường được sử

dụng khi cần chắc chắn rằng tất cả các Update khác đã hoàn thành, thường được sử

dụng dé điều chỉnh vị trí của camera sau khi tất cả các đối tượng di chuyên đã hoàn

thành.

6 OnDestroy

Sự kiện này xảy ra khi đối tượng bị hủy hoặc xóa khỏi scene, thường được sử

dụng dé giải phóng tài nguyên hoặc don đẹp trước khi đối tượng bị hủy

1.3.4 Lý do lựa chọn

Unity là một công cụ phát triển game đa nền tảng và được sử dụng rộng rãi trongngành công nghiệp game Nó có khả năng hỗ trợ phát triển game 2D và 3D với các

tính năng như đồ họa tuyệt vời, hệ thống vật lý và âm thanh chất lượng cao, hỗ trợ

nhiều nền tảng và cộng đồng đông đảo Ngoài ra, Unity cũng có thê tích hợp dễ dàng với các công cụ khác dé phát triển game như Blender, Maya và Photoshop Tat cả

những lý do trên đã khiến Unity trở thành một lựa chọn tốt dé em có thé phát triển sảnphẩm game chiến thuật thủ thành trên nền tảng di động một cách nhanh chóng và dễ

hiệu qua của các dự án phần mềm

Mono Framework là một nền tảng ứng dụng đa nền tảng, cung cấp môi trường

chạy ứng dụng NET trên các hệ điều hành khác nhau, bao gồm cả hệ điều hành di

động như iOS và Android Mono cung cấp một số thành phần chính dé phát triển game

Nguyễn Quang An - BI9DCPT002 17

Trang 32

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

Trên Unity, C# được sử dụng dé phát triển các script điều khiển hành động của các

đối tượng trong game, xử lý sự kiện và tương tác với các thành phần khác của game

Mono Framework cung cấp môi trường chạy các script C# trong Unity, cho phép phát

triển game đa nền tang và tích hợp các tính năng bảo mật và xử lý nhanh

1.4.2 Lịch sử và Phát triển

C# ra đời vào năm 2000 và từ đó đã trở thành một trong những ngôn ngữ lập trình

phổ biến và được sử dụng rộng rãi trên toàn cầu Nó được tích hợp chặt chẽ với

Framework NET, cung cấp môi trường phát triển mạnh mẽ cho việc xây dựng các ứngdụng đa dạng trên nền tảng Windows

Microsoft

1.4.3 Đặc điểm nỗi bậtC# hỗ trợ nhiều tính năng quan trọng, bao gồm:

e Lập trình hướng đối tượng (OOP): Cho phép cấu trúc ứng dụng theo mô hình

lớp và đối tượng, tạo ra mã nguồn có cấu trúc, linh hoạt và đễ bảo trì.

e An toàn về kiểu dữ liệu: C# cung cấp kiểm tra kiểu tĩnh, giúp ngăn chặn các lỗi

kiểu dữ liệu tại thời điểm biên dịch

e Thu gom rác tự động (Garbage Collection): Loại bỏ nhu cầu phải quản lý bộ

nhớ thủ công, giúp giảm thiểu rủi ro lỗi và tăng hiệu suất ứng dụng

e Tích hợp mạnh mẽ với Framework NET: Cho phép sử dụng các thư viện chuẩn

và mở rộng, giúp việc phát triển ứng dụng trở nên nhanh chóng và linh hoạt

e Đa nền tang: C# thường được sử dụng cho việc phát triển ứng dung desktop,

ứng dụng di động, web, game và nhiều loại ứng dụng khác trên nên tảng

Windows Sự tích hợp mạnh mẽ với môi trường phát triển Visual Studio cũng

là một điểm mạnh, giúp nhà phát triển tận dụng tối đa tiềm năng của ngôn ngữ

này.

Nguyễn Quang An - BI9DCPT002 18

Trang 33

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

C# đã chứng minh sức mạnh của mình trong việc xây dựng các ứng dụng phần

mềm đa dạng và hiệu quả trên nền tảng Windows và là một lựa chọn hàng đầu cho các

dự án phần mềm đòi hỏi tính ôn định và linh hoạt cao

1.5 Giới thiệu về phần mềm Rider

Rider là một môi trường phát triển tích hợp cho các ngôn ngữ lập trình NET, đặcbiệt là cho các ứng dụng ASP.NET và NET Core Được phát triển bởi công tyJetBrains, Rider cung cấp một loạt các tính năng mạnh mẽ như trình chỉnh sửa mãthông minh, debugging tiên tiến, refactoring thông minh và tích hợp với các công cụ

agi RiderHình 1.12 Phần mềm tích hợp môi trường phát triển Rider

Với Rider, người dùng có thé làm việc hiệu quả trên các dự án NET của mình

băng cách tận dụng tính năng đa nền tảng của nó, hỗ trợ cả Windows, macOS vàLinux Phần mềm này cung cấp môi trường làm việc linh hoạt, tối ưu hóa quy trình

phát triển và giúp nhóm làm việc cùng nhau một cách hiệu quả hơn thông qua khả

năng tích hop và chia sẻ cai đặt cũng như các công cụ.

Rider cung cấp khả năng tự động hoá các công việc lập trình phố biến, giúp tăng

năng suất và giảm thời gian làm việc, đồng thời đảm bảo chất lượng mã nguồn thông

qua các tính năng kiểm tra mã, phân tích và gợi ý sửa lỗi.

Với giao điện thân thiện và dễ sử dụng, Rider là một công cụ hỗ trợ mạnh mẽ chocác nhà phát triển NET, giúp họ tập trung vào việc viết mã chất lượng và triển khai

ứng dụng một cách hiệu quả Đặc biệt, Rider còn hỗ trợ rất tốt cho việc lập trình game

với Unity , một số ưu điểm nổi bật như:

e Hỗ trợ Unity: Rider cung cấp tích hợp mạnh mẽ với Unity, bao gồm hỗ trợ cho

các phiên ban Unity mới nhật, cũng như dự an Unity đang hoạt động.

e Debug: IDE hỗ trợ debugging chặt chẽ cho các dự án Unity Bạn có thé debug

code của minh với các công cụ mạnh mẽ như Breakpoints, Watches, và thậm

chí là xem trực tiếp giá trị biến trong game của mình trong quá trình chạy

e Code Insight va Refactoring: Rider cung cap tính năng thông minh giúp nhận

diện code và các đối tượng của Unity, cung cap gợi ý thông minh va hỗ trợ cho

việc refactor code, giúp tăng hiệu suất lập trình

° Hỗ trợ C# tốt: Được xây dựng trên nền tảng của JetBrains cho C#, Rider cung

cấp một số tinh năng tuyệt vời cho ngôn ngữ lập trình này, bao gồm tinh năng

tự động chèn gợi ý, navigation thông minh, và nhiều công cụ refactoring code

Nguyễn Quang An - BI9DCPT002 19

Trang 34

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

e Integration với các công cụ khác: Rider tích hợp tốt với các công cụ và dịch vụ

khác như Version Control (Git, SVN), Unity Test Framework, và các plugin

hữu ich khác.

e Hỗ trợ nên tang đa nền tang: Rider không chỉ hỗ trợ Windows mà còn có phiên

bản dành cho macOS và Linux, tạo điều kiện thuận lợi cho việc làm việc trênnhiều nền tảng khác nhau

e Hiệu suất tốt: IDE được tối ưu dé hoạt động mượt mà và hiệu quả với các dự án

Unity lớn, giúp tăng năng suất lập trình

1.6 Giới thiệu về phan mềm Blender

Blender là một phần mềm mã nguồn mở miễn phí chuyên về dựng và xử lý đồ họa

3D vô cùng mạnh mẽ, đa năng và được sử dụng rộng rãi trong ngành công nghiệp trò

chơi, phim ảnh, thiết kế sản pham và nhiều lĩnh vực khác Với Blender, người dùng cóthể tạo ra các mô hình 3D, hoạt cảnh, hoặc thậm chí là game hoàn chỉnh với chấtlượng cao mà không cần phải chi trả phí cho các phần mềm đắt đỏ khác

Hình 1.13 Logo phan mềm Blender

Một trong những điểm mạnh của Blender là tính linh hoạt Nó cung cấp một loạt

các công cụ mạnh mẽ cho việc tạo ra mô hình, hoạt cảnh, kỹ xảo, và thậm chí cả việc

lập trình game thông qua Blender Game Engine Điều này cho phép người dùng thực

hiện mọi thứ từ việc tạo ra những chi tiết tinh vi đến việc tạo ra môi trường game rộnglớn Trong sản phẩm ứng dụng, Blender đã hỗ trợ em trong việc xây dựng model cho

các nhân vật và làm các hoạt ảnh (animation) phục vụ cho tựa game.

Nguyễn Quang An - BI9DCPT002 20

Trang 35

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

Một sô tính năng nôi bật của phân mêm Blender có thê kê đên như:

Mô hình hoạt cảnh 3D: Blender cung cấp các công cụ mạnh mẽ dé tạo ra và

chỉnh sửa các mô hình 3D, từ đơn giản đến phức tạp Nó bao gồm các tính năng

như sculpting, modeling, texturing va rigging.

Hoạt cảnh va Animation: Có kha năng tạo ra các hoạt cảnh phong phú voi hệ thống animation linh hoạt Blender cho phép tạo và điều chỉnh chuyển động,

keyframe, hoạt hình vật lý và cả mô phỏng hệ thống hạt (particles).

Render Engine mạnh mẽ: Blender đi kèm với một render engine tích hợp, Cycles, và một engine khác là Eevee cho việc xem trước real-time Cycles cung

cấp chất lượng cao trong việc render ảnh động và tĩnh, trong khi Eevee cung

cấp tốc độ xem trước nhanh chóng

VFX và Simulations: Blender cung cấp các công cụ mạnh mẽ dé tạo ra hiệu ứng

đặc biệt (VFX) như mô phỏng hệ thống hạt, nước, khói và các hiệu ứng khác

Game Development: Blender cũng có Blender Game Engine, một công cụ déphat triển trò chơi 3D Mặc dù không con được phat triển chủ động nhưng vancung cấp một nền tang dé thử nghiệm và tạo game nhanh chóng

Python Scripting và Customization: Blender hỗ trợ việc lập trình Python dé tạo

ra các công cụ và addon tùy chỉnh, mở ra khả năng mở rộng chức năng theo ý

muốn của người dùng

Hỗ trợ đa nên tảng và Cộng đồng mạnh mẽ: Blender hoạt động trên nhiều nền

tảng, bao gồm Windows, macOS và Linux Đồng thời, cộng đồng người dùng

Blender rất lớn, với nhiều tài liệu, hướng dẫn và trợ giúp sẵn có.

Nguyễn Quang An - BI9DCPT002 21

Trang 36

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

Những tính năng này giúp Blender trở thành một công cụ đồ họa 3D linh hoạt và

mạnh mẽ, phục vụ cho nhiều mục đích từ việc tạo ra nội dung đa phương tiện đến phát

triển trò chơi

1.7 Giới thiệu về framework hỗ trợ DOTween v2

DOTween là một thư viện hỗ trợ animation và tweening (chuyên động mượt magiữa các giá trị) mạnh mẽ cho Unity DOTween cung cấp một cách tiếp cận dễ dàng vàlinh hoạt để tạo ra các hiệu ứng chuyên động mượt mà, từ các animation đơn giản đến

những chuyền động phức tạp

_ Được thiết kế dé tối ưu hóa hiệu suất và dé sử dụng, DOTween giúp người phát

triên tập trung vào việc tạo ra các animation một cách nhanh chóng và hiệu quả.

T 5

Animates Animates other

and

Hình 1.15 Framework Dotween y2

Các tính năng chính của DOTween bao gồm:

® Tweening da dạng: DOTween hỗ trợ tweening giữa các loại giá trị khác nhau

như số, vector, màu sắc, v.v Điều này cho phép tạo ra các hiệu ứng chuyển

động phong phú.

e Các loại Tween đa dạng: Nó cung cấp các loại tween khác nhau như move,

scale, rotate, fade, và nhiều loại khác, cho phép tạo ra nhiều loại animation khác

nhau.

e Tích hợp dễ dàng: DOTween tích hợp một cách thuận tiện với Unity, đi kèm

với giao diện người dùng dễ sử dụng và tương tác trực quan.

e Hỗ tro Callback: Cung cấp khả năng thiết lập các hàm callback cho các sự kiện

tween như khi hoàn thành tween, khi bắt đầu tween, v.v.

Nguyễn Quang An - BI9DCPT002 22

Trang 37

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

e Tối ưu hóa hiệu suất DOTween được tối ưu hóa dé làm việc hiệu qua trên

nhiều loại thiết bị, giúp giảm thiểu tải nguyên tài nguồn.

e Hỗ trợ và cập nhật liên tục: Cộng đồng sử dụng DOTween lớn, và nó nhận

được sự hỗ trợ và cập nhật định kỳ, cải thiện tính năng và sửa lỗi.

® Với sự tích hợp mạnh mẽ và tính linh hoạt trong việc tạo ra các hiệu ứng

chuyên động mượt mà, DOTween trở thành một công cụ quan trọng giúp cho

việc phát triên game và animation trong Unity một cách hiệu quả và nhanh

chóng

1.8 Giới thiệu bộ công cụ quản lý mã nguồn Git, GitHub, SourceTree

1.8.1 Git ;

Git là một hệ thông quan lý phiên ban phân tan (Distributed Version Control

System — DVCS) được phat triển bởi Linus Torvalds vào năm 2005 Git được thiết kế

dé xử lý các dự án từ nhỏ đến lớn với tốc độ và hiệu quả cao Git là một phần mềm mã

nguồn mở được phân phối theo giấy phép công cộng GPL2 Với Git, mỗi lập trình

viên có thé có kho lưu trữ (repository) riêng chứa toàn bộ lịch sử thay đổi Sử dung Git

sẽ giúp nhà phát triển có thé dé dàng tìm lại, quay lại các phiên bản cũ hơn và giúpviệc kiểm soát dé dàng hon Git cũng có các lợi ích tuyệt vời đối với các dự án đang

chạy song song Đặc biệt là các dự án có cùng một cơ sở code Việc sử dung Git sẽ

giúp phân nhánh tốt hơn, giúp việc thực hiện các dự án dé dang và hiệu quả hơn

øIt

Hình 1.16 Phần mềm quản lý phiên bản git

Các tính năng chính của Git bao gồm:

e Hệ thống phiên bản phân nhánh (Branching): Cho phép nhóm phát triển làm

việc song song trên nhiều nhánh riêng biệt của mã nguôn mà không ảnh hưởng

đến nhau Điều này giúp tách rõ ràng các tính năng, cải tiến và sửa lỗi.

e Lịch sử thay đổi linh hoạt: Git ghi lại toàn bộ lich sử thay đồi, cho phép xem,

so sánh và khôi phục các phiên bản cũ một cách dé dàng.

e Phục hồi dễ dàng: Các thao tác như revert, reset và cherry- pick cho phép khôi

phục, điều chỉnh hoặc chọn lựa các thay đổi cụ thé trong mã nguôn.

e Cộng tác và tích hợp dễ dàng: Git cho phép nhiều người cùng làm việc trên

cùng một dự án một cách hiệu quả thông qua việc trao đổi và tích hợp mã

nguôn.

Nguyễn Quang An - BI9DCPT002 23

Trang 38

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

° Hỗ trợ cho nhiều nền tảng: Git hoạt động trên nhiều hệ điều hành và tích hợp

tốt với nhiều dịch vụ lưu trữ trực tuyến (như GitHub, GitLab, Bitbucket)

Sử dung Git trong dự an phan mém mang lai những lợi ich lớn:

e Quan lý mã nguôn hiệu qua: Theo dõi sự thay đổi, đơn giản hóa quá trình hợp

nhất (merge) mã nguồn, và giúp giảm xung đột trong việc cập nhật mã nguồn.

e Hỗ trợ quy trình làm việc nhóm: Cho phép nhiều người cùng làm việc mà

không làm mat dữ liệu và dé dàng phối hợp trên cùng một dự án.

e Lưu trữ an toàn và tin cậy: Luu trữ mã nguồn trên các hệ thống quản lý phiên

bản tránh mat mát dit liệu không mong muôn.

Việc hiểu rõ và sử dụng Git hiệu quả là một kỹ năng quan trọng đối với các nhà

phát triển phần mềm và nhóm làm việc trong lĩnh vực công nghệ thông tin, đặc biệt là

trong các dự án sản xuất game

1.8.2 GitHub ; ¬

GitHub là một dịch vụ lưu trữ mã nguôn và hợp tác phô biên dành cho các dự án

phần mềm Được thành lập vào năm 2008, GitHub đã trở thành một trong những nềntảng quản lý mã nguồn mở và dự án phần mềm lớn nhất trên thế giới

GitHub

Hình 1.17 Logo dịch vụ Github

Tính năng chính của GitHub bao gồm:

e Lưu trữ mã nguồn: GitHub cung cấp không gian lưu trữ trực tuyến cho mã

nguồn của các dự án Người dùng có thể tải lên mã nguồn của họ lên GitHub dé

theo dõi và quản lý phiên bản mã nguồn một cách dé dàng.

e Hệ thống kiểm soát phiên bản (Version Control System - VCS): Sử dụng hệ

thống kiểm soát phiên ban Git, GitHub cho phép người dùng theo dõi lịch sử

thay đối của mã nguồn, quản lý nhánh (branch) và hợp nhất (merge) các phiênbản mã nguồn một cách hiệu quả

e Cộng tac và hợp tác: GitHub cung cấp các công cụ dé người dùng có thé cộng

tác với nhau trên cùng một dự án Điều này bao gồm việc theo dõi thay đối, dé

xuất sửa đối (pull request), bình luận, và giải quyết xung đột.

Nguyễn Quang An - BI9DCPT002 24

Trang 39

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

e Quản lý dự án: GitHub có các tính năng dé quản: ly các task, issues, và

milestones trong dự án Điều này giúp nhóm làm việc té chức công việc và theo

dõi tiến độ một cách hiệu quả.

e Cộng đồng lớn mạnh mẽ: GitHub là nơi giao lưu, học hỏi và chia sẻ kiến thức

với cộng đồng lập trình viên trên khắp thé giới thông qua các dự án mã nguồn

mở và các diễn đàn thảo luận.

Lợi ích của việc sử dụng GitHub:

e Hỗ trợ quản lý dự án hiệu quả: Từ quản lý phiên bản mã nguồn đến quan lý

nhiệm vụ và cộng tác, GitHub cung cấp một nên tảng linh hoạt cho việc quản lý

dự án.

e Giao lưu và học hỏi từ cộng đồng: GitHub là nơi để chia sẻ mã nguồn mở,

học hỏi từ các dự án khác và tham gia vào các dự án cộng đồng

e Tang tính chuyên nghiệp: Sử dụng GitHub có thé giúp cá nhân và tô chức xây

dựng một hồ sơ chuyên nghiệp với mã nguồn và dự án của họ.

GitHub đã trở thành một phần quan trọng của nền tảng công nghệ thông tin và là

một công cụ quan trọng cho những ai làm việc trong lĩnh vực phần mềm và công nghệ

1.8.3 SourceTree ; - ;

SourceTree là một ứng dụng giao diện đô hoa (GUI) miễn phi được cung cap bởi

Atlassian, được thiết kế dé giúp người dùng quan ly mã nguồn và thực hiện các hoạtđộng Git một cách dễ dàng và trực quan.

@ Sourcetree

Các tính năng chính của SourceTree bao gồm:

e Giao diện người dùng thân thiện: SourceTree cung cấp một giao diện đồ họa

dễ sử dụng và trực quan, cho phép người dùng thực hiện các hoạt động Git mà

không cần gõ lệnh

e Hỗ trợ đa nền tang: SourceTree có sẵn trên cả Windows và macOS, mang lại

tính linh hoạt cho người dùng trên nhiều hệ điều hành

e© Quản lý nhánh và hợp nhất (branching and merging): Ung dụng cho phép

người dùng dễ dàng tạo, xem và quản lý các nhánh của mã nguồn, cũng như

thực hiện việc hợp nhất các nhánh một cách trực quan.

Nguyễn Quang An - BI9DCPT002 25

Trang 40

Đồ án tốt nghiệp đại học Chương I: Cơ sở lý thuyết và nền tảng

công nghệ sử dụng

e Xem lịch sử và thay doi: Người dùng có thể xem lịch sử thay đổi, so sánh các

phiên bản khác nhau của mã nguồn và hiển thi chỉ tiết về các thay đối đã được

thực hiện.

e Hỗ trợ tương tác với các dịch vụ lưu trữ: SourceTree tích hợp tốt với các

dich vụ lưu trữ mã nguồn như GitHub, Bitbucket và GitLab, giúp người dùng

quản lý và tương tác với các dự án trên các nền tảng này

e Công cụ quản lý hunk: Cho phép người dùng chọn và quan lý từng phan thay

đổi (hunk) dé commit, giúp kiểm soát và tach biệt các thay đổi trong một tập

tin.

Những lợi ích của việc sử dụng SourceTree:

e Dễ sử dụng: Giao diện đồ họa trực quan giúp người dùng làm quen nhanh

chóng và thực hiện các hoạt động Git một cach dễ dàng.

e© Quan lý mã nguồn linh hoạt: SourceTree cung cap công cu mạnh mẽ để quản

lý, theo đõi và hợp nhất các thay đồi trong mã nguồn.

e Tích hợp với dich vụ lưu trữ: Cho phép người dùng tương tác với các nền

tảng lưu trữ phô biên như GitHub, Bitbucket và GitLab một cách thuận tiện.

SourceTree là một công cụ hữu ích cho các nhà phát triên phân mêm và người làm

việc với mã nguồn, cung cấp một cách tiếp cận dé dàng và hiệu quả đối với Git thông

qua giao diện đồ hoa

Nguyễn Quang An - BI9DCPT002 26

Ngày đăng: 27/03/2024, 21:05

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w