Dựa trên nhu cầu đó, tác giả quyết định thực hiện đề tài "Phát triển game 3D down RPG" nhằm tạo ra một trò chơi nhập vai với góc nhìn từ trên xuống, tập trungvào combat.. Với nhu cầu kết
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA CONG NGHE PHAN MEM
TRAN TRUNG THANH
KHOA LUAN TOT NGHIEP PHAT TRIEN GAME 3D TOP-DOWN RPG
Developing 3D top-down RPG game
TP HO CHI MINH, 2024
Trang 2LOI CAM ON
Trong quá trình thực hiện khóa luận tốt nghiệp với dé tai “PHÁT TRIEN GAME
3D TOP-DOWN RPG”, tôi đã nhận được sự giúp đỡ và động viên quý báu từ thầy
cô tại trường Đại học Công nghệ Thông tin Xin gửi lời cảm ơn chân thành nhất đếntat cả những thay cô đã hỗ trợ và đồng hành cùng tôi trong suốt hành trình này
Trước hết, tôi xin bày tỏ lòng biết ơn sâu sắc đến cô Ths Nguyễn Thị Thanh Trúc,người đã tận tình hướng dẫn, chỉ bảo và truyền đạt những kiến thức quý báu cho tôitrong suốt quá trình nghiên cứu và thực hiện khóa luận Sự tận tâm và những góp ýchân thành của cô đã giúp tôi hoàn thành khóa luận này một cách tốt nhất
Em xin chân thành cảm ơn toàn thê quý thầy cô trường Đại học Công nghệ Thông
tin nói chung và quý thầy cô trong Khoa Công nghệ Phần mềm nói riêng đã dìu dắt
em trên chặng hành trình tìm kiếm tri thức Đó là món quả vô giá, cũng như hành
trang hữu ích trên con đường sự nghiệp của bản thân sau này.
Cuối cùng, tôi xin gửi lời cảm ơn đến gia đình yêu thương của tôi, những người đã
luôn ở bên cạnh, động viên và ủng hộ tôi trong suốt thời gian học tập và nghiên cứu
Sự yêu thương và động viên từ gia đình là điểm tựa vững chắc giúp tôi vượt qua
mọi thử thách.
Trang 3Mục lục
Chương 1 GIỚI THIEU DE TÀI 2-2 52+EE+EE£+E£+EE+EE++EEzEEerxezreerxee 18
1.1.1 Tổng quan -©-++2E++EEEEEEEEEEEEEEEEEkrsrkrrrkrrrrrrrree 181.1.2 Mục tiêu đề tai occ cecccccccccsccssessesssesseessessecsscsucssecsecsuessessesssesseeseeaseeses 19
1.1.3 Đối tượng sử dụng -©cc+ce2EkeEEEEEEEEEEEEEerkerrrrrkervee 191.1.4 Phạm vi đề tain cccccccccccccccscssssesssesseessecssecsssessecssesssessseesessseessesssesssecsses 20
1.2 Tổng quan về thé loại game RP 2-2-2 ++E++£E+E++EEerEezrserseee 21
1.2.1 Lịch sử phát triển của game RPG ccscccsssesssesssesssesssessessessesssecssecsves 211.2.2 Các yếu tổ hình thành thé loại game RPG sccssesssesssesssesssessseesseesees 211.2.3 Một số game RPG trên thị trường 2-2 2 s+£++£++£+z£ezxezxez 23Chuong 2 CƠ SỞ LÝ THUYÉT VÀ CÔNG NGHỆ SỬ DỤNG 25
2.3 Thuật toán tìm đường A - S- St S2 vn re 28
2.3.1 _ Giới thiệu về thuật toán - 2¿+<+++£E+EEtEEtEEEvrkerkerreerkrree 28
2.3.2 Nguyên lý hoạt động - c2 Sc tk SH re 29
2.4 Mẫu thiết kế Singleton -:- 2-5 St+SE+EE‡EEEEEEEEEE1221221211211 112.1 xe 30
2.4.1 Giới thiệu về design pattern ¿+¿©c+2x++2xttzxterxeerkeerkesree 30
2.4.2 Triển khai trong game - :- + s+SE+Sx#EE£EESEEEEEEEEEEEEErrrrrrrrrei 30
Chương 3 PHAN TÍCH THIET KE HE THÓNG -. 2-2 52522 32
3.1 Thiết kế nội dung game và luật chơi -2¿ + s++:x++zx++zx+zzse2 32
Trang 43.2 Thiết kế các hệ thống trong game - 2-2 + ++++++E++x++xzrzrezxee 33
3.2.1 _ Hệ thống nhân vật ¿- 2: +¿++++E++2EEtEEEtEEEEEEEerkrerkrsrkesree 333.2.2 Hệ thống chiến đấu :- ©2222 re, 423.2.3 Hệ thống buff và debuff -:- + k+Sk+EE+EE2EEEEEEEEEEEEErrkrrrres 463.2.4 Hệ thống Inventory và item -¿-¿©+¿©++2x++tx+erxrerxesrxesree 513.2.5 _ Hệ thống nâng cấp, rèn và trang bị -¿- 2 s+cs+x+xczrrrrreres 513.3 Xây dựng sơ đồ use Case o ceccessesssesssesssesssesssssssessscssscssecssecasecssecssessecssecases 52
3.3.1 Sơ đồ use case Player ccecceccccessecsessessessessessessessessessessessessesssseseseseess 523.3.2 Sơ đồ use case EMemy cesceccecsesessessessesssssessessessessessessessessessessesseaesvess 533.3.3 Sơ đồ use case BOSS eccccscssessssssecsusssecsecssecsecsecssecsecsucssecsecssessecseesseeseess 54
3.6 Phan tích thiết kế cơ sở dữ liệu -+¿ 2+ ++cxe+cxe+rxesrxrerxerrxee 72
3.6.1 So đồ lớp cơ sở dữ liệu :- c+ck+Ek+Ek+EEEEEEEEEEErkrrrrrrres 73
Chương4 XAY DUNG GAME 2:©22 5222222223222 CEEerkerkrrrrervee 83
4.1 Xây dựng đồ hoạ game - 2 ©2+©2++EE+£EE+2EEE2EE2EE 222cc 83
4.1.1 Đồ hoạ nhân vật trong game - 2-22 ©+2++2x++x++zxzzxrzrxez 83
4.1.2 Đỗ hoạ Effect trong øgame - +: 2 ++S++Et+EE2EE2EE2E2EEErrrrrerei 83
Chương 5 TONG KET ieceecccccccccscsscssesssssessessessessessesssssessessessessesuesuesssssaeeseasesees 95
5.1 Kết quả dat được -: -¿©-+++c+2Ekt2 k2 EEEEEEEEEEErkrrrkrrrrrrrvee 955.2 Kết luận che 95
5.2.1 Hạn chế - tt St SE EEEE KTS EEExEEEEkTEEErrkrkrrrree 95
Trang 55.2.2 Hướng phát triỂn -: :- + ++Ek+EkEESEEEEEEEEEEEEEE2E12E1E.Exce, 95TÀI LIEU THAM KHẢO 5-5: St+E+EEE+E+EEEE+EEEEEEEEEEESEEEEEESEEEEEEEEEEEEEEEEEkrkrreree 97
Trang 6DANH MỤC HÌNH ẢNH
Hinh 2-1 Unreal logo 1 25 Hinh 2-2 Behavior Tree 0n e 27 Hình 3-1 Enemy Bat - c1 TH TH HH HH nh 34 Hinh 3-2 Enemy Golem P0077 35 Hình 3-3, Enemy Oc - - G1 9H ng ke 35 Hình 3-4 Enemy WWOrim << + 1k vn TH TH HH ng 36
Hinh 3-6 Gimmick G010 0n h 38
Hình 3-8 Gimmick Meteorite cece ĩc 15121 31 11 1E nh ng ng cư 39 Hình 3-9 Obstacle ÏaT s6 c1 3019950191011 010 HH 40
Hình 3-11 Projectile CatabUuf - ¿+ 2c 1E 1331183183 11 911 11 91111 vn ng 42 Hình 3-12 Hero PParaIm - s6 c1 1 1 2v nh ng nh nh ngư 43
Hình 3-14 Buff tăng daImage - - - c 6c 32 1321113111 1188111 1118111 1 8 1v rệt 47 Hình 3-15 Buff giảm daimaØe - c3 122211321119 111111181111 1 ket 47
Hình 3-16 Debuff thiêu đốt -¿-252++222++ttEEExtrtEEkkttttkrrrtttrrrrrrirerrrieg 47
Hình 3-17 Debuff đĩng băng n1 St SH HT HT HH gi key 47
Hình 3-18 Debuff chống - - << + 1+3 19111219919 ng 48
Hình 3-22 Buff hồi máu ngay lập tức - 2-2 ++5++E++E++E++EzEzEzrerrerrerreee 49
Hình 3-23 Buff hồi máu trong một khoảng thời gian :2¿©z 5z: 49Hình 3-24 Buff bất tử -c:- 2t 22 222 2E rrrrerieg 49Hình 3-25 Buff tăng tốc độ đánh - 2 + ©5++SE£EEC2EEEEEEEEEEEEEECEEEEEkrrkrrkrrvee 49
Hình 3-26 Buff miễn nhiễm debufF - (+ se EE+E+ESEE‡E£E+EEEEEE+EEEEEESE+EEEsEresereee 49
Trang 7Hình 3-27 Buff tạo khiêng - s1 HT HH nh 50
Hình 3-28 Buff tăng tốc chạy -¿-:- +S++St2212EEEE12E1211211211211211211211 2111.21.10 50
Hình 3-29 Sơ đồ use case Player c.cccsscscsessesssesseessessecssssessessssssessusssessessusesecsessseeses 52Hình 3-30 Sơ đồ use case Enemy -¿- 2-2 2 E+SE+EE+EE£EEEEE2EEEEEEEEEEEEerrrrrree 53Hình 3-31 Sơ đồ use case BOSS c.sscssesssessesssessessuessessecsssssecssssecsecsuessecsesasessecscaseeses 54Hình 3-32 Sơ đồ dữ liệu Hero - 25+- 2+ re 73Hình 3-33 Sơ đồ dữ liêu Item - ¿c2 E+2E£+EE£EEt£EEEEEEEEEEEEEEECEEEEEkrrkrrrervee 74Hình 3-34 Sơ đồ dữ liệu stage -: +- + St SE 3E 1211211211211211 21111111111 re 75Hình 3-35 Sơ đồ dữ liệu buff -:¿-2+vtE2xtttEEtrrttrrrrtttirrrtirrrrireriee 75
Hình 4-1 Tạo animation Hero - - + + 2 2211111113888 8E E353 cee 83
Hình 4-4 Giao diện chiến đấu -c+:522vt2EExtrttrktrrttrrirrrrrirrrrrrrrriee 86
Hình 4-5 Giao diện trang DỊ - - - G2 E2 1321113111 11 91111 vn ng ng 87
Hình 4-8 Giao diện nâng cấp và rèn vũ khí - 5c ©2++++x++x++rxerxezrxerxee 91Hình 4-9 Giao diện luyện chế Potion và nguyên liệu - 2-2 2 2 2+s2s+ 92
Trang 8DANH MỤC BANG
Bảng 3-1 Bảng danh sách AC{OT - c2 19211331111 11 9 111 11 111 111g rệt 55 Bảng 3-2 Bảng danh sách uS€ Case G111 ng ng ệt 57
Bảng 3-4 Bang use case di ChUYEN cccssessssssssssssecssecssecssecssecssessecssecssecsseesseessees 59Bang 3-5 Bang use case tấn công COMDO scescessssssssessessessessessessessessesscsseaesseseesees 60Bang 3-6 Bang use case tấn công Skill c c.cccesceseseessesessessessessessessesessseseseseesees 61
Bang 3-9 Bang use case xem chỉ tiết vũ khí s- 2c ©522cx+2xe+xzrxerxeerserxee 62
Bang 3-11 Bảng use case tháo vũ khí - c5 2c 3 c3 3v irrrrrrrrrrrrree 64
Bảng 3-14 Bang use case xem thông tin chỉ tiết Potion . : s¿©-sz©5s+2 65Bảng 3-15 Bang use case luyện chế Potion 2 +25+2cx+2cx+zzxvzzxezrsez 66Bang 3-16 Bang use case luyện chế nguyên liệu ccccscesseeseessessessessesessesseeseeseesees 66
Bảng 3-17 Bang use case nâng cấp vũ khí + sx+££+£E+£E£2EEeExerxerrserxee 67
Bang 3-20 Bang use case sang stage tiếp theO ¿- 2-52 S2+S++E2E2EzErErrerreee 68
Bang 3-22 Bang use case quay trở VỀ start ZOne 2-2 2 2 2+E£+EzEzEzzezreee 70
Bang 3-23 Bang use case xem thông tin chỉ tiết item - 2 2 z+sz+sz+czzsz 70
Bang 3-24 Bảng use case sử dụng Ií€T - Gv ng nh rưy 71
Bang 3-26 Bang use case chuyên item qua lại backpack 2-2 25255: 72
Bảng 3-27.
Bảng 3-28.
Bang use case xem hướng dẫn ¿2-2-5 s+S£+Ee£E+EzEerxrrerrereee 72
Trang 9Bảng 3-29 Bảng Hero Tiabl - - << E22 111131011 91 9111 011 9v ng ng ng 77
Bang 3-32 Bang SkillTable 1 78
Bang 4-2 Bảng mô tả giao điện chiến đấu - 2-2 2 2+S£+£+£+EzEzrezrerreee 87
Bảng 4-5 Bang mô tả giao diện nâng cấp và rèn vũ khí -¿-¿ 5252 91
Bang 4-6 Bang mô tả giao diện luyện chế Potion và nguyên liệu 93
Bảng 4-8 Bang mô tả giao diện tương tác với bulÏding - -«<-«<<<«<+ 94
Trang 10TOM TAT KHOA LUẬN
Với mức sống ngày càng cao, nhu cầu giải trí của người dân (đặc biệt là game) đãtăng lên đáng kể Trong đó, game nhập vai (RPG) dang phát triển mạnh mẽ nhờ sựtiễn bộ của internet và công nghệ đồ họa 3D, mang lại trải nghiệm chân thực và chitiết hơn cho người chơi
Dựa trên nhu cầu đó, tác giả quyết định thực hiện đề tài "Phát triển game 3D down RPG" nhằm tạo ra một trò chơi nhập vai với góc nhìn từ trên xuống, tập trungvào combat Mục tiêu là xây dựng một thế giới game sống động và thâm mỹ cao,với hệ thống chiến đấu nhanh và liên tục, kết hợp buff và debuff dé tạo ra các tình
top-huống chiến đấu đa dạng.
Đề tài được phát triển bằng Unreal Engine Trí tuệ nhân tao (AI) cho các enemy vaNPC được xây dung băng Aicontroller, tạo ra các hành vi đa dang và thách thức.DataTable được sử dụng để lưu trữ và quản lý dữ liệu Ngoài ra, các design patternđược áp dụng trong quá trình phát triển dé đảm bảo mã nguồn được tô chức một
cách chặt chẽ, dễ bảo trì và mở rộng, đồng thời nâng cao hiệu quả và chất lượng của
dự án.
Kết quả tác giả đã hoàn thành 1 game RPG hoàn chỉnh, bao gồm các hệ thống RPG
cơ bản như quản lý nhân vật, kinh nghiệm, cấp độ, tính toán chỉ số, sát thương,nâng cấp, luyện chế và trang bị Trò chơi tích hợp hệ thống buff, debuff và AI thông
minh cho kẻ thù và boss, tạo nên thử thách lớn cho người chơi.
Game hiện tại còn một số hạn chế như chỉ hỗ trợ chơi offline, thiếu tính năngmultiplayer, va các hệ thống âm thanh, item, skill, man chơi, nhiệm vu, thành tựuchưa hoàn thiện Hướng phát triển tương lai bao gồm nâng cấp thành multiplayer,
đa dạng hóa monster va boss, tạo thêm man chơi, va tôi ưu hiệu suât game.
Trang 11Chương 1 GIỚI THIỆU DE TÀI
1.1 Thong tin chung
1.1.1 Téng quan
Ngày nay, mức sống của người dân ngày càng tăng, dẫn đến nhu cầu giải tricũng ngày càng cao về chất lượng Game trở thành một trong những lĩnh vực giải tríđược quan tâm nhất, với tổng giá trị ước tính khoảng 136 triệu USD (khoảng 3.1nghìn tỷ đồng) Với nhu cầu kết nối xã hội, thể hiện kỹ năng cá nhân và giải trí,cùng với sự phát triển không ngừng của công nghệ game, trò chơi điện tử đã trởthành món ăn tỉnh thần không thê thiếu, đặc biệt đối với giới trẻ
Bên cạnh đó, hiện nay nhiều game engine xuất hiện trên thị trường như
Unity, Unreal, Godot, Game Maker, v.v đã trở thành những công cụ hữu ích mà các
nhà phát triển và sáng tao game trên thé giới đã khiến cho quá trình phát triển gametrở nên nhanh chóng và tốt hơn
Trong số đó, thê loại game RPG (Role-Playing Game) luôn được cộng đồnggame thủ đón nhận nồng nhiệt bởi tính tương tác cao, cốt truyện hấp dẫn và khả
năng phát triển nhân vật phong phú.
Vì vậy em đã lựa chọn đề tài “Phát triển game 3D top-down RPG” làm đề tàicho đồ án tốt nghiệp của mình với những lý do chính sau:
+ Tính ứng dụng cao: Game 3D Top-Down RPG là thé loại game có tínhứng dụng cao trong thực tế, dễ dàng tiếp cận với người chơi và có tiềm năng pháttriển rộng lớn Thông qua đồ án này, em có cơ hội áp dụng các kiến thức về lậptrình, thiết kế đồ họa 3D và xây dựng cốt truyện vào một sản phẩm thực tế
+ Khả năng phát triển kỹ năng chuyên môn: Đề tài này đòi hỏi sự kết hợpcủa nhiều kỹ năng chuyên môn khác nhau như lập trình, thiết kế đồ họa, âm thanh
và quản lý dự án Thông qua việc thực hiện đề tài, em có cơ hội nâng cao và hoànthiện những kỹ năng này, chuẩn bị tốt cho công việc trong tương lai
18
Trang 12+ Xu hướng thị trường: Thị trường game đang có xu hướng phát triển mạnh
mẽ, đặc biệt là các game 3D với góc nhìn top-down Việc nghiên cứu và phát triểnmột sản phâm trong lĩnh vực này sẽ giúp em nắm bắt được xu hướng và có nhữngđịnh hướng đúng đắn trong sự nghiệp
+ Khả năng sáng tạo: Việc phát triển một game RPG mang lại nhiều khônggian để sáng tạo, từ việc xây dựng thế giới ảo, thiết kế nhân vật, đến việc viết cốt
truyện.
1.1.2 Mục tiêu đề tài
Mục tiêu của đề tài "Phát triển game 3D top-down RPG" là tao ra một trò
chơi nhập vai (RPG) với góc nhìn từ trên xuống, sử dụng công nghệ và công cụ
hiện đại như Unity hoặc Unreal Engine, nhằm xây dựng một thế giới game sốngđộng, hap dan và có tính thẩm mỹ cao Đề tài tập trung vào phát trién một hệ thốngchiến đấu nhanh và liên tục, kết hợp với các yếu tố buff và debuff dé tạo ra các tìnhhuống chiến đấu đa dạng và phong phú, từ đó tăng tính thách thức và thú vị cho
người chơi.
Bên cạnh đó, tăng cơ hội tìm hiểu và nâng cao các kỹ năng lập trình xâydựng hệ thống, nghiên cứu và xây dựng các mau thiết kế, kỹ năng thiết kế đồ hoạ,animation và effect Ngoài ra, đề tài cũng nhằm phát triển trí tuệ nhân tạo (AI) cho
các nhân vật và kẻ thù trong game, đảm bảo tính thách thức và đa dạng trong các
trận đấu
1.1.3 Đối tượng sử dụng
Đối tượng mà game 3D top-down RPG nhắm đến là những game thủ đam
mê thé loại nhập vai và khám phá ham ngục Trò chơi được thiết kế dé hướng đếnnhững người chơi yêu thích trải nghiệm nhanh chóng, tập trung vào các cuộc chiếnđấu đầy kỹ năng và chiến thuật Người chơi sẽ đối mặt với những tình huống đòihỏi phản xạ nhanh nhạy dé tránh né những đợt tấn công liên tục từ kẻ địch, đồng
thời cân hiệu rõ về tính năng và diém yêu của mỗi loại quái vật đê đánh bại chúng.
19
Trang 131.1.4 Phạm vi đề tài
Phạm vi môi trường: Win 10 trở lên
Phạm vi tính năng:
Đối với game:
- Game 3D, góc nhìn từ trên xuống
- Chơi 1 minh.
Đối với gameplay:
- Game tuyén tinh, choi theo man, hoan thanh man choi (danh bai Boss)
- Các man chơi sẽ có một độ khó khác nhau, nhằm kích thích hứng thú qua
từng màn chơi.
- Một trò chơi hoàn chỉnh, đáp ứng các chức năng:
o Hệ thống nhân vật: Trong game nhân vật được chia làm 3 loại: player,
npc và enemies Mỗi nhân vật sẽ có một chức năng riêng biệt và AI
controller khác nhau.
o Hệ thông va chạm: Trong game có một hệ thống va chạm và tính
damage phức tạp.
= Các môi trường nguy hiểm như dung nham, v.v sẽ khiến cho
người chơi chết và biến mắt
= Các đòn tấn công thường va skill của enemies sẽ gây sát
thương lẫn nhau dựa vào chỉ sỐ của người thực hiện đòn tấn
công.
o Hệ thống tương tác: Trong game người chơi có thể tương tác với các
nhân vat npc, item, chum vật pham, V.V.
o Hệ thống buff: Trong game, buff (bùa lợi) hoặc debuff (bùa hại) là
bùa được gắn lên người nhân vật để tăng/ giảm chỉ số và gây ra một
số các hiệu ứng đặc biệt Điều này khiến trò chơi trở nên đa dạng và
nhiêu biên chuyên.
20
Trang 14o_ Hệ thống item, inventory và equipment: Trong game, người chơi có
thé thu thập các vật phẩm và lưu trữ dưới kho Mỗi vật phẩm sẽ cómột tác dụng riêng biệt Ngoài ra, người chơi còn có thê trang bị các
vũ khí có chất lượng dé tăng cương sức mạnh
o_ Hệ thống kỹ năng: Trong game, người chơi sẽ nhận được một kỹ năng
tương ứng với class nhân vật hiện tại.
1.2 Tổng quan về thể loại game RPG
Game top-down là game có góc nhìn từ trên xuống
Game RPG (Role-Playing game) là game mà người chơi sẽ nhập vai vào một
nhân vật trong game trong thế giới ảo, được thiết kế trong một cốt truyện phức tạp
1.2.1 Lịch sử phát triển của game RPG
Trò chơi điện tử nhập vai (RPG) lần đầu tiên xuất hiện vào giữa và cuối thậpniên 1970, phát triển từ một nhánh nhỏ của các trò chơi máy tính tại các trường đạihọc Những trò chơi này được chơi trên các hệ thống như PDP-10, PLATO va Unix
Một trong những tựa game tiên phong là Dungeon, ra mắt vào năm 1975.
Vào giai đoạn sau game RPG tiếp tục phát trién với nhiều game ra mắt và đặtnền móng cho những tiêu chuân đầu tiên của thé loại game này như Ultima III
Exodus, Dragon Quest, Excalibur,
Vào giai đoạn những năm 1980s, dòng game RPG bước vào thời vàng son
của chính mình Nhiều game mang phong cách của thê loại game này không ngừngđược phát hành và nồi tiếng trên toàn thé giới, dẫn đến nhiều nhánh nhỏ của thé loạigame RPG được hình thành Nổi tiếng nhất là game Diablo
1.2.2 Các yếu tố hình thành thế loại game RPG
Cốt truyện và bối cảnh game: các game RPG thường có một cốt truyện cóchiều sâu và phức tạp Người chơi cần phải khám phá và tìm ra manh mối trongxuyên suốt quá trình chơi game Bối cảnh trong game sẽ liên quan đến cốt truyện
của game.
21
Trang 15Hệ thống nhiệm vụ: trò chơi sẽ cung cap cho bạn một chuỗi các nhiệm vụ
tuyên tính cân hoàn thành đê tiên xa hơn trong trò chơi Một sô nhiệm vụ phụ sẽ
được thêm vào, cho phép người chơi khám phá manh môi hoặc nâng câp sức mạnh
đề dễ dàng hoàn thành các nhiệm vụ chính
Sự khám phá: thiết kế ban đồ là một trong những yếu tố quan trọng trong
thé loại game này Bản đồ phức tap và nhiều cam bay sẽ khiến người chơi hồi hộp
khi chiến đấu và khám phá
Sự lựa chọn: trong quá trình chơi game, người chơi có thê quyết định hướng
và phong cách phát triển nhân vật
Hệ thống vật phẩm và trang bị: trang bị là yếu tố không thê thiếu trong các
game RPG, bao gồm giáp, quần áo, và vũ khí mà người chơi cần thu thập trong suốtquá trình chơi dé tăng cường sức mạnh cho nhân vật Các vật pham và trang bị cũng
có thể được bán đi nếu bạn đã sở hữu món đồ mạnh hơn, giúp quy đổi ra tiền tệ
hoặc trao đôi lây các sản phâm mới.
Kinh nghiệm và cấp độ: hệ thống status của nhân vật trong game RPG kháphức tạp (bao gồm khá nhiều chỉ số) Các chỉ số này ảnh hưởng rất nhiều trong quá
trình hoàn thành trò chơi vì vậy người dùng cần phải tăng chỉ số bằng cách tăng kinh nghiệm và nâng cao cấp độ Sự tăng cấp độ này sẽ tăng chỉ số và mở khoá kỹ
năng mới.
Hệ thống chiến đấu: chiến đấu trong game RPG khá đa dạng, với nhiều
phong cách khác nhau Nhưng điểm chung là hệ thống chiến đấu của game RPG
khá thu hút người chơi và đã mắt
Hệ thống nhân vật và NPC: game cung cấp một loạt nhân vật đa dạng đểngười chơi lựa chọn, cho phép bạn tự do phát triển và định hình tính cách, chỉ số vàcác yếu tố khác của nhân vật theo ý muốn NPC trong game đóng vai trò là cầu nói,giúp người chơi tiếp cận các nút thắt trong cốt truyện chính, hoặc cung cấp cho
người chơi những sức mạnh đặc biệt.
22
Trang 161.2.3 Một số game RPG trên thị trường
Diablo là một series game hành động nhập vai (Action RPG) nồi tiếng, được pháttriển và phát hành bởi Blizzard Entertainment Kể từ khi ra mắt lần đầu tiên vào
năm 1996, Diablo đã trở thành một trong những tượng đài của làng game, thu hút
hàng triệu người chơi trên toàn thế giới nhờ lối chơi hấp dẫn, cốt truyện lôi cuốn và
không khí u ám, đậm chat kinh di.
- Gameplay gây nghiện: Sự kết hợp giữa chiến đấu nhanh, hệ thống loot phong
phú, và các lớp nhân vật đa dạng tạo ra trải nghiệm chơi game gây nghiện.
- Đồ họa và âm thanh: Diablo luôn được đánh giá cao về mặt đồ họa và âm
thanh, mang lai cảm giác kinh dị và hồi hộp
Điểm Yếu:
- Cốt truyện đơn giản: So với nhiều game RPG khác, cốt truyện của Diablo
khá đơn giản và không phải là yếu tố chính thu hút người chơi
- _ Yêu cầu kết nối internet: Diablo III yêu cầu kết nối internet liên tục, gây khó
chịu cho một số người chơi
The Witcher 3: Wild Hunt là một tựa game hành động nhập vai nổi tiếng, đượcphát triển bởi CD Projekt Red va phát hành vào năm 2015 Trò chơi là phan thứ ba
trong series game The Witcher, dựa trên loạt tiểu thuyết cùng tên của tác giả người
Ba Lan Andrzej Sapkowski The Witcher 3 đã nhận được sự hoan nghênh rộng rãi
từ cả giới phê bình và cộng đồng game thủ, và được coi là một trong những tựa
game nhập vai xuât sac nhat mọi thời dai.
Thể loại: Open World RPG
23
Trang 17Gameplay: The Witcher 3 là một game RPG thé giới mở với cốt truyện sâusắc và phong phú Người chơi vào vai Geralt of Rivia, một witcher (thợ săn quái
vat) và khám phá thê giới rộng lớn đây các nhiệm vụ phụ, câu chuyện, và quái vật.
Diém mạnh:
- _ Cốt truyện và thé giới: The Witcher 3 có cốt truyện phong phú, những quyết
định của người chơi ảnh hưởng trực tiếp đến kết thúc của game Thế giới mởrộng lớn và sống động với nhiều khu vực khác nhau đề khám phá
- _ Nhiệm vụ phụ: Nhiệm vụ phụ trong The Witcher 3 rất phong phú và có chiều
sâu, không chỉ là những nhiệm vụ đơn giản mà còn có cốt truyện riêng
Diém Yếu:
- Hệ thống chiến dau: Mặc dù hệ thống chiến dau được khen ngợi, nhưng một
sô người chơi cảm thây nó còn cứng nhắc và không mượt mà.
24
Trang 18Chương2 CƠ SỞ LÝ THUYÉT VÀ CÔNG NGHỆ SỬ DỤNG
2.1 Unreal
UNREAL
ENGINE
Hinh 2-1 Unreal logo
Unreal Engine (UE) là một game engine, phan mềm dùng dé xây dựng vàthiết kế trò chơi điện tử Unreal Engine cho phép người dùng sáng tạo ra các hìnhảnh 3D, hiệu ứng tương tác với chất lượng hình ảnh cao và chuyển động mượt mà
Nó nổi bật với khả năng tùy biến bản đồ cao, cho phép tạo ra môi trường phong phúvới ánh sáng và màu sắc sống động, cùng hiệu ứng mờ vân bề mặt khi nhìn từ xa
Ngoài ra, game engine này còn có khả năng xử lý hiệu ứng âm thanh, ánh sáng, va
chạm vật lý, và xây dựng trí tuệ nhân tao (AI) để điều khiển hành động của các
nhân vật trong game.
Tại sao sử dụng Unreal?
- Đồ họa chất lượng cao: Unreal Engine nỗi tiếng với khả năng tạo ra đồ họa
chất lượng cao và hiệu ứng hình ảnh tuyệt đẹp Điều này giúp game của bạn trông
chuyên nghiệp và thu hút người chơi.
25
Trang 19- Công cụ phát triển mạnh mẽ: Unreal Engine cung cấp một loạt các công cụ
và tài nguyên mạnh mẽ cho việc phát triển game, bao gồm hệ thống vật lý, ánhsáng, âm thanh va animation Điều này giúp bạn dé dàng xây dựng và tinh chỉnhgame theo ý muốn
- Blueprints: Unreal Engine cung cấp hệ thống Blueprints, cho phép bạn tạologic game mà không cần viết mã code Điều này rất hữu ích cho những ngườikhông rành về lập trình, nhưng vẫn muốn tham gia vào quá trình phát triển game
- Hỗ trợ cộng đồng và tài liệu phong phú: Unreal Engine có một cộng đồng
lớn và tích cực, cùng với tài liệu và hướng dẫn phong phú Điều này giúp bạn dễ
dàng tìm kiếm sự hỗ trợ và học hỏi từ những người khác khi gặp khó khăn
2.2 AT Controller
AI Controller trong Unreal Engine là một lớp điều khiển đặc biệt được sửdụng dé quản lý hành vi của các nhân vật AI trong game Được xây dựng dựa trêncác nguyên lý của trí tuệ nhân tạo và lập trình hành vi, AI Controller cung cấp cáccông cụ và khung làm việc cho việc thiết lập và thực thi hành vi logic của AI
Các thành phần:
Behavior Tree:
26
Trang 20Backboard Tangetnatiack®zno: is bs Seti
Hinh 2-2 Behavior Tree
AIController chịu trách nhiệm thiết lập và quản lý Behavior Tree cho cácnhân vật AI Behavior Tree là một cấu trúc dữ liệu phân cấp được sử dụng dé mô tả
và điều khiến các hành vi của AI, từ các hành động đơn giản như di chuyển đến cáchành vi phức tạp như chiến đấu và tương tác với môi trường
AlController sử dụng các nút (nodes) trong Behavior Tree dé định nghĩa cáchành vi cụ thể của AI, từ việc lựa chọn hành động tới quản lý trạng thái và lựa chọn
mục tiêu.
Các loại node được xây dựng trong Behavior Tree:
- Composite Nodes: quản lý cách mà các node con của chúng được thực thi.
Bao gồm 2 node chính:
27
Trang 21+ Sequence Node: Thực thi các con node theo thứ tự từ trái sang phải.
Nếu một con node thất bại, Sequence Node sẽ ngừng và trả về kết quảthất bại
+ Selector Node: Thực thi các con node theo thứ tự từ trái sang phải,
cho đến khi một con node thành công Nếu một con node thành công,
Selector Node sẽ ngừng và trả về kết quả thành công.
- Decorator Node: điều chỉnh hành vi của các node khác bằng cách thêmđiều kiện hoặc thay đôi cách chúng được thực thi
- Action Node: thực hiện các hành động cụ thê trong môi trường Bao gồm 2
loại node chính:
+ Action Node: Thực hiện một hành động cụ thể, chăng hạn như di
chuyên đên một vi trí cô định trong môi trường.
+ Service Node: Cập nhật thông tin liên tục và không đồng bộ, thườngđược sử dụng để cung cấp thông tin hoặc cập nhật trạng thái liên tục
cho Behavior Tree.
- Parallel Node: cho phép thực thi nhiều node con đồng thời
Blackboard Integration:
Blackboard là một thành phan quan trọng trong Unreal Engine dé lưu trữ va
chia sé dữ liệu giữa Behavior Tree và các controller của AI AIController có thé
truy cập và cập nhật các giá trị trong Blackboard, từ đó đảm bảo việc đưa ra các
quyết định hợp lý và phản ứng phù hợp của AI
2.3 Thuật toán tim đường A*
2.3.1 Giới thiệu về thuật toán
Thuật toán A* (A-star) là một thuật toán tìm kiếm và tìm đường hiệu quảđược sử dụng rộng rãi trong nhiều lĩnh vực như trí tuệ nhân tạo, robot, và đặc biệt làtrong các trò chơi điện tử A* kết hợp giữa hai thuật toán nổi tiếng là Dijkstra và
28
Trang 22Greedy Best-First Search, giúp nó không chỉ tìm kiếm nhanh mà còn đảm bao tìmđược đường đi ngắn nhất.
¢ _ g(n): Chi phí thực tế từ điểm bat đầu đến điểm hiện tai nnn
« h(n): Chi phí ước lượng từ điểm hiện tại n đến điểm đích (còn gọi là hàm
- _ Khoảng cách Euclidean: Phù hợp với các môi trường 2D va 3D.
hín) = \ (Xgoai — Xeurrent) + (Vgoai — Yaurrent)`
- _ Khoảng cách Manhattan: Thich hợp cho các môi trường lưới ô vuông, nơi
chỉ có thé di chuyên theo các hướng ngang và dọc
hín) — |(xgoai — Xcurrent)| + |Ósai — Yeurrent)|
- Khoang cách Chebyshev: Phù hợp với các môi trường cho phép di chuyển
chéo.
h(n) = max (l(Xgoat ~ Xcurrent ) , |zøai ~~ Yeurrent)|)
29
Trang 232.4 Mẫu thiết kế Singleton
2.4.1 Giới thiệu về design pattern
Design patterns là những giải pháp tái sử dụng cho các van đề phô biến trongthiết kế phần mềm Chúng giúp cải thiện khả năng bảo trì và mở rộng của mãnguồn, đồng thời làm cho mã dễ hiểu hơn thông qua các cấu trúc đã được kiểm
chứng Có ba loại design patterns chính: Creational (mẫu khởi tạo), Structural (mẫu
câu trúc), và Behavioral (mau hành vi).
Mau thiết kế Singleton thuộc nhóm Creational Nó đảm bảo rằng một lớp chi
có duy nhất một thé hiện (instance) va cung cấp một điểm truy cập toàn cục đến thé
hiện đó.
2.4.2 Triển khai trong game
AssetMar
HeroBuffMgr
GetRPGGamelnstance() RPGGamelastance HeroMgr
Client | + _instance: Static URPGGamelnstance*
+map_mgr_: TMap<UObject*, USingleton*> ———>| USingleton —
+ Init(): void ItemMgr
+ Shutdown(): void
+ Instance(): static URPGGamelnstance*
+ GetMarByClass(UClass* MgrClass): UObject* StageMgr
+ EndPlayMgr(): UObject*
TableMgr
UIBaseMgr
Hinh 2-3 Trién khai mau thiét ké Singleton
Dé triển khai mau thiết kế Singleton trong một trò choi RPG, ta sẽ tạo một
lớp RPGGamelnstance đảm bảo rang chỉ có một thé hiện duy nhất tồn tai trong suốt
quá trình chạy của trò chơi Lớp này sẽ chứa một mảng các lớp Mgr, mỗi lớp Mgr
cũng là một Singleton được quản lý bởi RPGGamelInstance.
30
Trang 24Qua đó tạo ra một hệ thống Singleton với 1 thé hiện RPGamelnstance và mỗiclass Mgr cũng có một thể hiện duy nhất được quản lý bởi đối tượng
RPGGamelnstance.
31
Trang 25Chương 3 PHAN TÍCH THIET KE HỆ THONG
3.1 Thiết kế nội dung game và luật chơi
3.1.1 Kịch bản
Trong game, người chơi sẽ nhập vai vào một hiệp sĩ trẻ của một ngôi làng hiệp sĩ Nơi nay từng là một nơi hòa bình và thịnh vượng, nhờ vào sức mạnh của vi thân Bao hộ, một nguôn năng lượng huyện bí mang lại sự sông và sức mạnh cho
toàn bộ vùng đất
Tuy nhiên, một ngày nọ, một thế lực tà ác xuất hiện, được dẫn dắt bởi một ác
quỷ cổ xưa Han đã tan công và cướp đoạt đi sức mạnh của vị than bảo hộ, làm cho
vương quốc chìm vào bóng tối và hỗn loạn Với sự biến mất sức mạnh của vi thần
bảo hộ, các ham ngục bí ấn bắt đầu xuất hiện với những sinh vật xấu xa và quái vậtbắt đầu trỗi dậy, tàn phá và gieo rắc nỗi kinh hoàng khắp nơi
Với nhiệm vụ khôi phục lại ngọn lửa thiêng liêng và đánh bại ác quỷ cổ xưa,hiệp sĩ trẻ bat đầu cuộc hành trình gian khổ Trên con đường của mình, hiệp sĩ ấyphải đối mặt với vô số thử thách, từ việc chiến dau với quái vật hung dữ, vượt qua
những ngục tối nguy hiểm, đến giải quyết các bí ân cô xưa.
cách nang cap level, nâng cap trang bị, rèn trang bi mới, luyện chê các vật phâm.
32
Trang 263.2 Thiết kế các hệ thống trong game
3.2.1 Hệ thống nhân vật
3.2.1.1 Player
Player là nhân vật mà người chơi điều khiển dé chiến đấu, thực hiện các hành
vi dựa trên chế độ chơi Player có thé thực hiện day đủ các tính năng được dé cập ở
trên.
Trong game, người chơi có thể phát triển nhân vật một cách tuỳ thích Tronggame, nhân vật sẽ có 5 class chiến đấu (dựa trên vũ khí mà nhân vật đang được
trang bi)
- Knight: Là lớp nhân vật mạnh mẽ trong việc chiên đâu cận chiên, có sức phòng
thủ cao, gây ra sát thương vật lý tầm trung,
+ Kỹ năng: hồi máu, miễn nhiễm debuff và tạo khiên chắn
+ Vũ khí sử dụng: Knight sử dụng vũ khí là khiên, kiếm, rìu hoặc búa,
- Archer: Là lớp nhân vật tan công tầm xa, khả năng di chuyển nhanh nhẹ và gây ralượng sát thương vật lý trung bình, cùng với một số các hiệu ứng khó chịu: làm
chậm, chảy mau,
+ Kỹ năng: Tung ra một mũi tên lửa không lồ với sức sát thương cao, gây rahiệu ứng thiêu đốt cho tất cả kẻ thù
+ Vũ khí: Archer sử dụng vi khí là cung.
- Single Sword Warrior: Là lớp nhân vật cận chiến có tốc độ chậm, sức phòng thủ
trung bình, tuy nhiên có sức tân công cao nhất.
+ Kỹ năng: Single Sword Warrior chém xuống mặt đất tạo ra 3 đường kiếmsắt bén bay về phía gây sát thương lên kẻ thù Đồng thời tăng sức tấn công cho bản
thân trong vòng 5 giây.
+ Vũ khí: Warrior sử dụng các vũ khí: đơn kiếm
33
Trang 27- Double Sword Warrior: Là lớp nhân vật cận chiến nhanh nhẹn, di chuyên lẹ và tấncông bất ngờ kẻ địch gây ra sát thương lớn Tuy nhiên, lớp nhân vật này có sứcphòng thủ trung bình Warrior sử dụng các vũ khí: kiếm, búa, rìu,
+ kỹ năng: Double Sword Warrior xoay vòng tạo ra những đường kiếm khíxung quanh gây sát thương liên tục cho kẻ thù Đồng thời tăng tốc độ tan công cho
- Bat:
34
Trang 28Bat là quái thú có tầm tan công cận chiến, đuổi theo người chơi và tan côngbằng đòn tấn công vật lý Đòn tấn công của bat monster có thể yếu nhưng chúng
thường đi theo dan và tan công với nhóm lớn
- Golem
Hinh 3-2 Enemy Golem
Golem là quái vật có tầm tấn công cận chiến, Golem có sức chống chịu lớn
Trang 29Orc là quái thú tân công tâm trung, có toc độ nhanh và sức tân công cao.
Kỹ năng: Orc sẽ di chuyên ra xa muc tiêu và tân công mục tiêu băng đòn tân công xoay vòng liên tục gây sát thương liên tục lên mục tiêu và gây chảy máu.
- Worm
vi trí thích hợp tấn công kẻ thù
Kỹ năng: worm phóng ra những quả cầu nguyên tô (lửa, băng, v.v) khiến cho
kẻ thù nhận các hiệu ứng bat lợi thiêu đốt, đóng băng, v.v
- Boss Bat
36
Trang 30sức chống chịu tốt.
Kỹ năng: Boss Bat có 3 kỹ năng trong chiến dau+ Quả cầu băng giá: Boss bat thôi ra 3 quả cầu băng về phía trước Gây sát
thương khi va chạm và gây hiệu ứng đóng băng.
+ Húc đâu: Boss bat húc mạnh về phía trước gây ra sát thương lớn và hiệu
ứng choáng.
+ Triệu hồi: Boss bat triệu hồi ra 3 bat monster có thời gian ton tại trong
vòng 5 giây.
3.2.1.3 Gimmick
Gimmick là những bay được sắp sếp trên ban đồ và kích hoạt khi người chơi
đi vào khu vực nao đó
- Bomb
37
Trang 31Hình 3-6 Gimmick Bomb
Bomb là những gimmick được đặt ân trên bản đồ Khi người chơi bước vào
sẽ kích hoạt đếm ngược vụ nổ, gây ra sát thương và gây choáng
Trang 32công tắt sẽ kích hoạt tấn công liên tục tại ví trí được chỉ định Người chơi cần phảikhéo léo di chuyên, canh thời gian dé tránh né.
Meteorite là thiên thạch rơi từ bầu trời, gây sát thương lớn và hiệu ứng thiêuđốt
3.2.1.3 Các object khác
Obstacle:
Obstacle là những đối tượng tĩnh được đặt trên bản đồ nhưng người chơi có
thé đánh nó dé phá huỷ hoặc nhận qua
- Jar
39
Trang 33sẽ được đặt ngẫu nhiên trên bản đồ hoặc khi đánh bại một nhóm các quái thú đặcbiệt thì jar sẽ xuất hiện.
Projectile:
Projectile là những vật thể bay gây sát thương như đạn, boom năng lượng,
mũi tên, hoặc lóc xoáy, v.v.
- Energy bomb
40
Trang 34Energy bomb là bom năng lượng được tạo ra bởi các don đánh của quái vat
hoặc class nhân vật Mage Có quỹ đạo di chuyền theo đường thăng khi được phóng
ra và gây sát thương lên kẻ thù va chạm.
- Catanut projectile
41
Trang 35Catabut projectile là loại dan rơi từ trên xuống, được tao ra bởi gimmick
meteorite hoặc từ kỹ năng của class nhân vật Mage Catanut proJectile có quỹ đạo di
chuyên từ trên xuống và gây sát thương nô lớn, và gây ra hiệu ứng choáng
3.2.2 Hệ thống chiến đấu
Hệ thống chiến dau của game tập trung vào việc điều khiển nhân vật trong
trận đánh có tốc độ cao, đòi hỏi người chơi phải chiến đấu và phản xạ liên tục
Người choi không những phải tránh né các kỹ năng tan công của kẻ thù, phản công
mà còn phải biết cách tận dụng các loại item dé hồi phục, hoá giải các hiệu ứng bat
lợi đang gặp phải.
3.2.2.1 Cơ chế điều khiển
Di chuyên và tan công:
42
Trang 36+ Sử dụng A W S D để di chuyên nhân vật lên xuống trái phải.
+ Di chuyển chuột đến vị trí mà nhân vật muốn hướng tới
+ Nhấn chuột để thực hiện tấn công combo
+ Nhan Z dé thi triển kỹ năng đặc biệt của class nhân vật.
+ Nhắn phim number 1, 2, 3 dé sử dung các Item được trang bi
3.2.2.2 Hệ thống chỉ số, kinh nghiệm va level
Hình 3-12 Hero Param + Physic Damage: Sát thương vật lý
+ Magic Damage: Sát thương phép
43
Trang 37+ HP: Máu + Def: Phòng thủ vật lý
+ Magic Def: Phòng thủ phép thuật
+ Attack speed rate: tốc độ tan công+ Movement speed rate: tốc độ di chuyển
+ Critical ratio: Tỷ lệ chí mạnh
+ HealHP: Lượng máu hồi mỗi giây
+ Pierce Def: Xuyên phòng thủ vật lý
+ Plerce Magic Def: Xuyên phỏng thủ phép thuật + Debuff resistance ratio: Tỷ lệ kháng debuff
Nhân vật trong game có thé nhận thêm chỉ số thông qua việc tích luỹ kinhnghiệm và khi đạt đến ngưỡng kinh nghiệm nhất định nhân vật lên level
3.2.2.3 Hệ thống va chạm và tính damage
Hệ thống va chạm: Nhân vật và enemies trong game gây damage thông qua 2
notify DamageBox và DamageSphere.
44
Trang 386* (0.23) (67.8%)
| $
Hình 3-13 Notify DamageBox/ DamageSphere + DamageRadius/BoxExtend: Phạm vi gây sát thương
+ Damagelnfo: Thông tin gây sát thương
o DamageLocation/Damage Rotation: VỊ trí gây damage
o DamageAmount: Ty lệ phóng dai sát thương
o Projectitle class: Xác định đòn đánh sẽ được thực hiện bang projectile
©_ HitfrezzeDuration: Thời gian đóng băng của kẻ thủ khi bị dính đòn
o KnockbackDistance: Khoảng cách bật lùi của kẻ thù khi bị dính đòn
+ BuffInfo: thông tin buff được thực hiện nếu đòn đánh được thực hiện thành
công
o BuffType: Loại buff được thêm.
o BuffCondition: Điều kiện của từng loại buff (Vi du buff tăng sức tan
công có condition | là tăng sát thương vật lý, 2 là tăng sát thương
phép, 3 là tăng cả hai)
o BuffTarget: đối tượng nhận buff (Self/Enemy)
o_ BuffAmount: Thông số của buff
o Attach bone name: Tên xương sẽ được gắn effect
45
Trang 39o_ Effect path: Đường dẫn đến effect.
Công thức tinh damage:
Tổng Atk * (600 / (600 + Defense — PierceDefense)) * MagnificationRatio
Trong do:
+ Tổng ATK = PhysicAtk + PlusPhysicAtk hoặc MagicAtk + PlusAtk
+ Defense = Def hoặc MagicDef + PierceDefense = PierceDef hoặc PierceMagicDef + MagnificationRatio = 2 hoặc 1 (dựa vào Critical Ratio)
Debuff là thuật ngữ dùng dé chỉ các hiệu ứng hoặc phép thuật tạm thời được
sử dụng để làm suy yếu hoặc giảm khả năng của nhân vật hoặc kẻ thù Các "debuff"thường làm giảm các chỉ số hoặc áp dụng các trạng thái bất lợi, gây khó khăn chođối thủ trong trận đấu
3.2.3.1 Các loại buff và debuff trong game.
- Increase Damage (buff)
46
Trang 40magic damage, 3: all damage).
- Descrease Damage (debuff)
magic damage, 3: all damage).
- Flame (debuff)
Hinh 3-16 Debuff thiéu dét
Tac dung: gây sát thương theo n% hp của mục tiêu trong m giây.
- Freezing (debuff)
Hình 3-17 Debuff đóng băng
Tác dụng: Đóng băng mục tiêu (gây bất động) trong n giây
47