Tính cạnh tranh: Nhiều game đa người chơi có tính cạnh tranh cao,giúp người chơi thể hiện kỹ năng của mình, so tài với những người chơi khác và đạt được vị trí cao trong bảng xếp hạng..
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN THÔNG
KHOA ĐA PHƯƠNG TIEN
DE TÀI: XÂY DUNG
GAME BAN SUNG ONLINE THEO NGUYEN TAC TÍNH DIEM SU
DUNG PHOTON ENGINE VA UNITY
Giảng viên hướng dẫn: TS Trần Quy NamSinh viên thực Trần Sỹ Tuấn
hiện:
Lớp : DI9PTDPT
Hệ : Đại học chính quy
Trang 2Đồ án tốt nghiệp Đại học
Hà Nội - 2023
Tran Sỹ Tuan — D19PTDPT
Trang 3Đồ án tốt nghiệp Đại học
Tran Sỹ Tuan — D19PTDPT
Trang 4Đồ án tốt nghiệp Đại học
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG 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 TAI DO AN TOT NGHIỆP ĐẠI HỌC
Ho và tên sinh viên: TRAN SY TUẦN
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:
Xây dựng game bắn súng online theo nguyên tắc tính điểm sử dụng Unity
và Photon Engine
2 Lý do chọn đề tài:
Trò chơi điện tử (hay còn gọi là Game) từ lâu đã là một lĩnh vực được ưa
chuộng trong lĩnh vực phát trién phầm mềm Các sản phẩm trò chơi điện tử được ra
mắt trên thị trường với rất nhiều thê loại khác nhau như chiến thuật, casual, giải đó,
mang lại tính giải trí rất cao cho người chơi đồng thời nâng cao phản xạ và tư duy logic Một trong số những thể loại game mà các game thủ ưa chuộng đó chính
là thé loại game ban súng online.
Game ban súng online thường được ưa chuộng bởi đa số game thủ vì chúng tao
ra một trải nghiệm chơi game sối động và cạnh tranh, và người chơi thường thích
thử thách trong trong môi trường đa người chơi Bên cạnh đó game bắn súng online
thường kết hợp yếu tố tương tác xã hội, giúp kết nối và tạo tương tác, hợp tác cũng
như cạnh tranh của tất cả mọi người.
Phát triển game bắn súng trực tuyến có yêu cầu rất cao về kỹ năng trong lập trình, thiết kế và quản lý dự án Điều này giúp em phát triển được rất nhiều những
kỹ năng quan trọng.
Tran Sỹ Tuan — D19PTDPT
Trang 5Đồ án tốt nghiệp Đại học
Unity là một môi trường phát triển game phô biến, với cộng đồng lớn và nhiều
tài liệu hỗ trợ Bên cạnh đó Unity cũng có những tính năng và công cụ phù hợp cho
việc phát triển game băn súng online.
Photon Engine cũng cấp giải pháp mạng đa người chơi phù hợp, có tích hợp sẵn với Unity, giúp giảm thời gian phát triển và tối ưu hóa mạng Photon Engine đã được kiểm tra và chứng minh về tính ôn định của mạng đa người chơi, giúp trải nghiệm của người chơi mượ mà và không có lỗi kết nối.
Nội dung chính của đồ án:
Đồ án được chia làm các chương như sau:
Giai đoạn sản xuất Chương này tập trung tiễn hành phát triển bám sát theo
các yêu cầu được nêu ra ở giai đoạn tiền sản xuất Phân tích thiết kế hệ thống,
phát triển các vật thé , âm thanh trong trò chơi, xây dựng Gameplay, giao điện
và các tính năng trong trò chơi.
Chương 3:
Hậu sản xuất Chương này tập trung kiểm thử sản phẩm và sửa các lỗi phát sinh trong quá trình chơi game Đưa ra kết quả và kết luận của quá trình xây dựng sản phẩm.
Ngày giao đề tài: /20
Ngày nộp quyễn: ⁄ /20
GIẢNG VIÊN HUONG DAN SINH VIÊN THỰC HIỆN
(Ký, ghi rõ họ tên) (Ký, ghi rõ họ tên)
TRUONG KHOA
(Ky, ghi rõ ho tên)
Tran Sỹ Tuan — D19PTDPT
Trang 6Đồ án tốt nghiệp Đại học
Tran Sỹ Tuan — D19PTDPT
Trang 7Đồ án tốt nghiệp Đại học
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 tháng năm 202
NHAN XÉT CUA GIÁO VIÊN HUONG DAN
DO AN/KHOA LUẬN TOT NGHIỆP ĐẠI HỌC
Tên dé tài:
Sinh viên: MSV: Lớp:
Giáo viên hướng dẫn: - 2 2 2222211111133 111 SE krrseg
Nơi công {ác : cọ HH n HT TH TT n HT nen nh nh cư
NỘI DUNG NHẬN XÉT
1 Đánh giá chung:
5 Điểm hướng dẫn: L 1S SE hàn
GIẢNG VIÊN HƯỚNG DẪN
(Ky, ghi rõ họ tên)
Tran Sỹ Tuan — D19PTDPT
Trang 8Đồ án tốt nghiệp Đại học
LỜI CẢM ƠN
Thưa quý Thay cô và Ban Giám hiệu Khoa,
Chân thành cảm ơn quý Thay cô và toàn thé Ban Giám hiệu Khoa Da phương
tiện của Học viện Công nghệ Bưu chính Viễn thông đã tận tâm hướng dẫn và
hỗ trợ chúng em trong quá trình thực hiện nghiên cứu khoa học và hoàn thành
khóa luận tốt nghiệp.
Đặc biệt, chúng em xin bay tỏ lòng biết ơn sâu sắc đến Thay Tran Quy Nam,
người đã đồng hành cùng chúng em từng bước trong quá trình nghiên cứu Sự
kiên nhẫn, lòng nhiệt huyết và sự hiểu biết sâu sắc về lĩnh vực chúng em đangnghiên cứu của Thay đã là nguồn động viên lớn giúp chúng em vượt qua
những khó khăn, phát triển kỹ năng nghiên cứu và làm việc nhóm
Chúng em hiểu rằng, quá trình thực hiện khóa luận không chi là hành trình cá
nhân mà còn là sự hòa mình vào môi trường học thuật, được học hỏi và trải
nghiệm những kiến thức mới mẻ Quý Thay cô và Ban Giám hiệu Khoa đã
tạo điều kiện thuận lợi nhất cho chúng em có thê tập trung và phát huy hết
khả năng.
Chúng em xin kính chúc quý Thầy cô sức khỏe đồi dào, hạnh phúc và tiếp tục
đồng hành, truyền đạt kiến thức cho thế hệ sinh viên tiếp theo Xin chân thành cảm ơn sự quan tâm và hỗ trợ của quý Thay cô trong suốt thời gian qua.
Em xin chân thành cảm ơn !
Hà Nội, ngay thang nam 202
Sinh viên thực hiên
Trần Sỹ Tuấn
Tran Sỹ Tuan — D19PTDPT
Trang 9Đồ án tốt nghiệp Đại học
MỤC LỤC
DANH MỤC HINH ẢNH 22: 222 2222222221112221 1222112 tre I DANH MỤC BẢNG -: 5c: 22c tt re | CHUONG 1: CO SO LI THUYET 000125 |
I Nội dung game multIDÏA€T - ¿c2 13211831113 1119 11181118111 111811118111 re, 1
Lai MIG 1
2 Nguồn gốc hình thanhn c.ccccecccsessessessessessessesscsscsesscsssscsessescseseseseesesseeeees 2 2.1 Đối với game online - 2 2 e+s+E£+E9EE#EEEEEEE12E12112121112121 112111 xe 2 2.2 Đối với game offline - ¿- + St St2E2E12E121211111111111211211211211 1 te 2
3.Phân lOạI - - - - 2211111222311 111 1293011111113 111110111 K E1 kg ke ng 2z 3
3.1 Game bắn súng FPS ¿52 2t 2E 2E122122112112212712112112112121 21c re 6
3.2 Game nhập vai Role-Playing Game (RPG) 55c S + S+sccs+sseeeres 7
3.3 Real-Time Strategy (RTS): Game chiến thuật thời gian thực - 7 3.4 Game thé thaO 5-2-2221 2122122123123121121121121121717171111111211211 2112 y6 8
3.5 Game Moba eeeeecceeceeeseeseceeeseeeaeeesceceaeeeaceceaeseeecceseaeesneeesaeeeeenaeeseenaeeeees 9
4.Uu điểm và Nhược điỂm 52:52 t2 v22 2E tre 9
5.Xu hướng chơi game Multiplay€r - - ¿+ 2+ 2c 3+ 2132 E+EeeeEeserseeerves 12
II Tìm hiểu các giao thức mang trong Multiplayer Game - 5- 2 s52 13
1 Tổng quan -:- + s+Ss+EE9EE2E12E12112112112112111711111111111211211 1121 1e xe 13 1.1.Giới thiệu về giao thức mạng - 2 s+Sx+EE+EE2EE2EE2EE2E2EEEeEEerkerxrex 13
1.2 Vai trò của giao thức mạng trong Game ¿+55 + + £+++svvcxessss2 13
2 Một sé giao thưc mạng trong Game 2-5: ¿S2 SE2E‡E‡E£EEEE£E2EeEeEerreea 14
2.1.1 GIỚI thiỆU - G1 HT HT HH HH nh TH Hư 14
2.1.2 Cơ chế hoạt động - s91 EE1E1121121121121111111 111101111 11x 15 2.1.3.Ứng dụng của TCP trong Game cececcecsscescssessessessessessessesesesesseseeees 16 2.1.4.Uu điểm va nhược GiGi eeseesseeessseeessneessneeesneeesnecsnecsnseneeneesneeaneesnee 17
2.2.Giao thức UDP ee ecceccccsceecceseeeceeseeeeeeseeeeeeseeeeeeceeeceeeseeceaeeenaeenseesnatees 17
Tran Sỹ Tuan — D19PTDPT
Trang 10Đồ án tốt nghiệp Đại học
2.2.1 Go 17
2.2.2 Cơ chế hoạt động -¿- +: 2¿22222E22E211221271211211211221121121121 11.12 18 2.2.3.Ứng dụng của UDP trong Game cescescescssessessessesseesessessessesesesseseees 18 2.2.4.Ưu điểm va nhược điỀm - tt 3E SE SE SE EEEEEE5151 111515111 EEExE2 19
2.3.Giao thức Websocket - c + tk 11T TH TH TH HH nhu 20
2.5 Giao thức QÍC - 6 s11 112 11112 119111 11T TH HH nh 25
2.5.2 Cơ chế hoạt động -¿- + s+St SE E521E1111112111111111111 1112111 xe 26 2.5.3.ƯUu và nhược điỂm :sc-22 HH 27 2.5.4.Ứng dụng của QUUIC - 2-52 S<2EE2E12E12E12112112171211111 111111 txe 28
2.6 Giao thức IRC (Internet Relay Chat) 5c 22 32211132 xsssevrrses 29 2.6.1 Go 29
2.6.2.Cơ chế hoạt động -¿- 2-52: 22222E22E211221271211211211271121121121 11 1c 29 2.6.3.ƯUu nhược điểm - tt 3E E8 E353215E151515151512121551555111151115 11115111 xe 30 2.6.4.Ứng dụng trong Game -¿- 2-52 t2 E 2E EEEEEEXE1171111171 1111 11x 31
2.7.Giao s00 1 32
2.7.1.Đặc điểm và cách hoạt (0127 : 1 32 2.7.2.Ứng dụng trong Game - ¿- 2: 2¿22222E9EE2E2E12212212121121 2121121 2x ee 34
3.Sự khác biệt giữa giao thức mạng Game Online và Game Offline 37
III.Tìm hiểu về Phofon -2- 2-22 SSE92EE2EE£EEEEEEEEEE2EE2121121212212171 2212121 Xe 38
II (o8 01 38
2 Lịch sử phát triỂn -¿- 2 2+S£+S2+E£2EE2E2E2E2E71717171711127111 2121 xe 39
3 Kiến trúc máy chủ Photon Engine 2-2 2 2+S++E+E+E££E+EeEzEeEerxzxee 40
:8800:00609i 1 dam 40
Tran Sỹ Tuan — D19PTDPT
Trang 119 PUN (Photon Unity NetworKIn8) - c sgk ng kệ 47
9.1 Giới thiệu về Phofon - 222c++222tvtt2EE reo 47 9.2 Cấu trúc của PUN cseeecsssssssssesessneesssneecssneecesnneessnneeessneessuneeesnsesneeneeeen 49
2 Các tinh nag của SmarfFOX - - c1 1321119111911 1111111118 11101118111 ky 56
3 Kiến trúc tong quan của SmartFox c.ccccccsccscsscssssecsessesessesssesesssessescsveseeeeesees 57
4 Nguyên lí hoạt động của SmartEFOX - c 1139 vs vs ve 58
a May chủ SimaTfEOX - -ó- c1 9H nHnnnH n n nnnệt 58
b SmmartFox 0101117777 5Ö 58
c May khách SmarFOX c2 1121131211121 11 1110111111 101 11811 E11 vn ng vn 58
5 Các giao thức mang được sử dung trong SmartFOx -«++-«<++ 59 5.1 C0001 .À 59
5.2 G9 090) 12 60 5.3 C00061 60
6 Ưu và nhược điểm của SimartÍOX - S9 tSt‡EEEEESEEEEEEEEEEEEEErkrkrkrkrkea 60 ân 60 6.2 Nhược điểm - 222cc tt HH Hà he 61
Tran Sỹ Tuan — D19PTDPT
Trang 12Đồ án tốt nghiệp Đại học
7 Vì sao chọn Photon Engine thay vì SmartFox cho game FPS ? 62
7.1 Khả năng xử lý nhiều người chơi 2-52 2252 +E‡EvEE2E£EZEEEEEErEerrkerees 62 7.2 Khả năng kết nối liền mạch 2-2: St St SE 2E +E+E9E9EE85153232351 5555515551551 exe 63
7.3 Hỗ trợ tính năng -¿- 5+ tt 221 EEE121212121217121111112111111111 1111111111 63
7.4 Tốc độ phát triỀn ¿+ 2 St 19 12EE21211215112111111211111111111111 11 1x6 64 7.5 Cộng đồng hỗ trỢ ¿- 25+ 2222212212112112212211211211221121121111211 E1 ye 64 7.6 K&t na 64
V Tìm hiểu Game Design Document (GDD) - 2: 2+sS+£++E£££EzEe£xzEerez 64
1.Khái niệm Game Design Documeni - 5 25c 3+ +2 x++seeexssseesrss 64
2 Game Pitch - tiền đề của Game Design Document (GDD) - 65
3 Mục đích của Game Design DocumeII - - «+ s + sseeeeseeres 65
4.Cấu trúc của Game Design Documeni( - 2: 2- 2+5s+S+2E+2E+2E+zEzxzEerszed 66 4.1.Mô tả tong quan (Overview Description) ccccccsscsseesesesseseseseseseeeeeees 66 4.2 Cơ chế choi trò choi (Gameplay mechanics) - 2 + s s+s+x+xzzzts 67 4.3 Cốt truyện và thế giới game o cececccceccsccsessesesessesessesessesseseesessesessssneseseses 68 4.4 Thiết kế cấp độ (Level design) c.cccccccccccsessessessessesesessesessesessseseseceessees 69
4.5 Giao diện người dùng (U]) 2c 2c 3221112111121 1 1911111111 ket 70
4.6.Âm thanh s2 t2 x22 1122 tt TT rrrrrrrie 71
4.7 Phong cách nghệ thuật (Art SfyÏ€) 2c S11 1S 1n xxx reg 72
4.8.Thông số kĩ thuật 2-22 12x 2E22E12212112112212711211211271 21211212 re 73
4.9.One page OCUN€TIF c1 1221115111211 1 1111911 11111111 TH ng ky 74 4.10 Beat 0 1 75
VỊ, UIẨV G1 0112111 11121111 1110111111101 1811 E11 1H TH HH kg vn 76
L 6:ïä i0 cece ccccccccccccesseceeeeesseeeceeessseeeccesssseeesessseeeeeeeeeeeeeeeeeettnnees 76
2 Đặc điểm và tinh năng của UMItY ee eeececccscessessesstessessescssesseseesesseeeeseesesees 76
3.Các khái niệm cơ ban trong nIfV c1 32132 11 1311x111 76
CHƯƠNG 2: PHAN TÍCH THIẾT KE GAME -.: 255++25+22++2>xvzxxre 78
I Game Design ÏDoCUum€Ti + 333221133231 333931 1139111118111 811111 ng 78
im 077 ::::ạậa 78
2 Cơ chế gØaime -¿- ¿+ s9 9 19E151121121121121121121121111 1111111111111 re 78 3.Yêu cầu kỹ thuật - ¿5-1 s9 EEE12E1211211211211211111 2111111111 11x 79
Tran Sỹ Tuan — D19PTDPT
Trang 135 €-ì:5ð)00,⁄0)::á⁄Z AHaaaitit 85
6 Phân tích thiét ké eeecseccsssesssssesessneesesseeessneecssneeessnneeesseesneeseneesneeeeeeen 86
JHöL A£IỆIiiẳ 86 6.2.Kịch bản các chức năng - - c2 1212211119111 1 1911111011111 1 1n 11 re 86 6.2.1 Chức năng tạo phòng - - - - + c1 1122111311111 11 11118211118 111 111g 11 re 86
6.2.2.Chức năng vào Phong eeecccecceessceseeeeseeeneeeeeeeeaeeeeeeseeeenaeeeesneeeeseaees 87 6.2.3.Chức năng chọn Imap c0 3211121133111 191 15 1111111191111 1H kg kết 87 6.2.4.Chức năng trò chuyỆn - - - c1 1221121111111 1111111111101 1101111 ng re 87
6.2.5.Điều khiển nhân vật 56:22 t2 t2 tri 88
7, GAM ác canh e 89
8 Giao diện trong quá trình chơi øaIme - - - + + ++*sverxseeerrsreexrs 89
16 Map chơi (Bản đồ chơï) - ¿5-52 SE E21 21121E21211121111E111111 E1 xe 95
17 COng nghé stv MUNG eee 4a.-ă 102 I5: ấu 1 102
Tran Sỹ Tuan — D19PTDPT
Trang 14Đồ án tốt nghiệp Đại học
CHƯƠNG 3: QUA TRÌNH PHÁT TRIÊN GAME -¿ 2 2+s+xvEvEttzezxerves 104
I Cài đặt môi trường Phofon - G- ng nghiệt 104
H Thực hiện code øame - G2 3S 12x ng ng ng ket 106 TIL Cai đặt và chơi øame - c1 2212211121131 11111 118111111 1111180111 18x rrrg 109
IV.Luông hoạt động của gaime - 2 + + SE+E£EE‡EEEEEEE2EEEE2E1212121 711121 cxe 110 Kết quả và hướng phát triÊn -¿- 2-2: ©5£+2E+2Et2EE2EE2EE2E12321221212121121 2122 2xe2 113
1.Kết quả đạt được ¿5s s22 221221221121122121121121111211211 112121 re 113 2.Hạn chế cs:- 22 222 1122211222111 E1 ri 113 3.Định hướng phat triÊn ¿+ 25c E9SE2E£EE2E2EEEE2E218212121211211121 111.1 xe, 113
Tai 1iGu thar Khao cee ‹5 114
Tran Sỹ Tuan — D19PTDPT
Trang 15Đồ án tốt nghiệp Đại học
DANH MỤC HÌNH ẢNH
Hình 1 Game OnnÏIT\€ - + E111 E1 9119111 nh 2 Hình 2 Game offline Tennis for ÝWO - - + x11 k9 9v vn ky 3
Hình 3 Game ban súng Call of Duty - 2- 2 5E+S£2E£EE+EE2EEE+EeErkrrerees 6
Hình 4.Game nhập vai Genshin Ïmpact 5 55+ + + ‡£+*‡k£+seexseeeees 7
Hình 5 Game chiến lược Tam Quốc Truyền KÌ -2- 5+ s+£2+x+zz+sd 8Hình 6 Game thé thao FIFA Online 4 -cc¿25cccsccvvvrsrrxrrrrrrrrrrrrre 8Hình 7 Liên Minh Huyén Thodi c.c.cccccccescscesssssesesessessssssssssesesessesestseseeeeees 9Hình 8 Kết nối giữa các người chơi 2- 22 s2x+2£+E+E+EzErrrrxerxees 10
Hình 9 Game ÏDOfa - (+ 1119 911 1 vn nh 11
Hình 10 Một số tựa game multiplaye - eesesesesseseseseseseeseeeeeeees 12
Hình 11 Transmission Control Protocol (TCPP) -s+5+++ss<>++seex+++ 15
Hình 12 Cơ chế hoạt động TCP.u cececcscsssesessessssssessesssseesesesessssseesesseseseeees 16Hinh 13 Co ché hoat động của UDDP - - + 13133 3 1E rerkrrrrrvee 18
Hình 14 Giao thức Websocet - - -á- + kg nh ng ng ngành 20
Hình 15 Cơ chế hoạt 501111 21
Hình 16 Giao thức mang Peer to ÏP€T 26 + +33 E**EEssekereeeereree 23
Hình 17 Cơ chế hoạt động của Peer to Peer ¿- + s5 +xeE+Erxereree 24
Hình 18 Giao thức QUÏC, - 2c 2 113211111211 3181 1118811111111 1 11 key 26
Hình 19 Cơ chế hoạt động của QUIC 2-2 2 +E+E2+E+£++Ee£xzEerxerez 27 Hình 20.Cơ chế hoạt động của IRC 2- 2 s52 2+E+E+E+EE+EeEEzErxersred 30
Hình 21 Nguyên lý hoạt động phoftOn - - 5 5< **+‡++*eve+seeereeresss 39
Trang 16Đồ án tốt nghiệp Đại học
DANH MỤC BẢNG
Bang 1 Thông số của pÏay€T -2- 2-52 SS‡SE+EESEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEkrkerrree 90
Bang 2 Thông số vũ khí súng trường - ¿52 +s2+E2Et2EEEEEEZEeEkrEerkrrrred 91
Bang 3 Thông số vũ khí sting lục 2-2 252+EE+EE+EE+EE2EE2EEzEerkrrrxersred 92
Bảng 4 Hệ thống tính
ee 72
Trang 17Đồ án tốt nghiệp Đại học
CHƯƠNG 1: CƠ SỞ LÍ THUYÉT
L Nội dung game multiplayer
1.Khái niệm
Game đa người chơi là một thể loại game cho phép nhiều người cùng
tham gia và chơi trò chơi với nhau thông qua mạng cục bộ hoặc Internet Các
game đa người chơi thường được thiết kế để người chơi có thể tương tác vớinhau trực tiếp hoặc thông qua các nhân vật trong thé giới game
Đặc điểm chung:
Tương tác giữa các người chơi: Game đa người chơi cho phép các
người chơi tương tác với nhau thông qua các chế độ chơi đơn hoặc đối
kháng.
Có thê chơi trên nhiều nền tảng: Hầu hết các game đa người chơi hiện
nay cho phép người chơi chơi trên nhiều nền tảng khác nhau, bao gồm
cả điện thoại di động, máy tính và console.
Tính cạnh tranh: Nhiều game đa người chơi có tính cạnh tranh cao,giúp người chơi thể hiện kỹ năng của mình, so tài với những người
chơi khác và đạt được vị trí cao trong bảng xếp hạng.
Tính cộng đồng: Các game đa người chơi thường có các tính năng tương tác xã hội như chat, kết bạn và gửi tin nhắn Các tính năng này
nhằm hướng tới việc xây dựng cộng đồng của những người chơi đam
mê cùng một trò chơi, giúp họ trao đổi kinh nghiệm, giao lưu và hỗ trợ
lẫn nhau
Da dang về thé loại: Các game đa người chơi có thê thuộc nhiều théloại khác nhau như hành động, chiến lược, đua xe, thê thao, và nhiềuthé loại khác
Hiện tại, Multiplayer có thể chơi được trên PC và phiên bản di động
Trần Sỹ Tuan — DI9PTDT 1
Trang 18Đồ án tốt nghiệp Đại học
2 Nguồn gốc hình thành
2.1 Đối với game online
Vào năm 1975, game online chế độ Multiplayer đầu tiên được xuất hiện
chính là START với bối cảnh xoay quanh trận chiến của hai phe phái đối lập
nhau, sử dụng tàu ngầm, máy bay và trực thăng để chiến đấu Tựa game được
phát triển dựa trên máy DECsystem-1090 của Dai học New Hampshire
Nối tiếp START là tựa game MIDI Maze bắn súng góc nhìn thứ nhất(FPS) được phát hành vào năm 1987, đây là tựa game ban súng và hành độngnhiều người chơi đầu tiên (lên đến 16 người) MIDI Maze sau này được cải tiễn
và chuyên thể sang một số hệ máy khác như Game Boy và Super NES.
Một số tựa game online phiên bản LAN là Spectre năm 1991 dành cho
Apple Macintosh, chứa tính năng AppleTalk hỗ trợ lên đến tám người chơi Vàokhoảng đầu năm 2000, những hệ máy console hỗ trợ việc kết nối chơi game quamạng LAN và internet ra đời, từ đó bắt đầu phát triển mạnh mẽ đến hiện nay
2.2 Đối với game offline
Multiplayer Offline vào thời kỳ đầu có thể kế đến như game thể thaoTennis For Two dành cho hai người chơi được xuất hiện vào năm 1958 Tiếp
Trần Sỹ Tuan — DI9PTDT 2
Trang 19Đồ án tốt nghiệp Đại học
đến là sự ra mắt của game bắn súng Space War (1962) bối cảnh xoay quanh vũ
trụ rộng lớn và chiéc phi thuyên do người chơi điêu khiên.
INTENSITY
-_#⁄4
Hình 2 Game offline Tennis for two
Những tựa game Multiplayer Offline sử dụng hệ thống PLATO dau tiênchính là Empire năm 1973 và game Spasim băn súng góc nhìn thứ nhất đầu tiên
vào năm 1974 Gauntlet (1985) và Quartet (1986) là hai tựa game có bước tiến
đột phá nhất, cho phép người dùng kết nối bốn người chơi điều khiển cùng một
lúc, đặt nền móng cho sự ra đời của các thê loại Multiplayer Offline sau này.
Trang 20e Thường được viết tắt là Co-op, là trò chơi điện tử cho phép người chơi
hợp tác với nhau như đồng đội, thường là chống lại một hoặc nhiều đối
thủ là nhân vật không phải người chơi.
® No khác với các chế độ nhiều người chơi khác , chăng hạn như các chế độ
nhiều người chơi cạnh tranh như người chơi so với người chơi Chơi đồng
thời cho phép người chơi hỗ trợ nhau theo nhiều cách: chuyển vũ khí hoặc vật phẩm, chữa bệnh, cung cấp hỏa lực bao trùm trong cuộc đọ súng va thực hiện các thao tác hợp tác như thúc đây đồng đội vượt qua chướng
ngại vật.
e O dạng đơn giản nhất, lối chơi hợp tác sửa đổi chế độ chơi đơn của trò
chơi, đôi khi có những sửa đổi rộng hơn đối với câu chuyện và lối chơi
Ví dụ bao gồm các trò chơi beat 'em up như Double Dragon, Streets of
Rage va Die Hard Arcade.
© Các trò choi co-op khác được thiết kế dé chơi trò chơi hợp tac, trong đó
mỗi người chơi đóng một vai trò đặc biệt trong trò chơi hoặc cách khác là
tận dụng lợi thế của việc có nhiều người chơi theo cách có tác động đếnlỗi chơi Ví dụ cho những trò chơi như vậy bao gồm Left 4 Dead và sê-ri
Payday.
¢ Trò chơi co-op có thé được chơi qua mạng thông qua mạng cục bộ hoặc
mạng diện rộng, chăng hạn như trong series Destiny va Borderlands
© Một số trò chơi như Mario Kart Wii và chế độ co-op của Call of Duty cho
phép hai người chơi từ cùng một bảng điều khiển chơi với những ngườikhác trực tuyến
e Tro chơi co-op đã trở nên phổ biến trong các trò chơi điện tử trong những
năm gần đây, khi công nghệ mạng và bộ điều khiển đã phát triển Trên PC
Trần Sỹ Tuan — DI9PTDT 4
Trang 21Đồ án tốt nghiệp Đại học
va bảng điều khiến, trò chơi hop tác ngay càng trở nên phổ biến và nhiềuthể loại trò chơi - bao gồm trò chơi bắn súng, trò chơi thể thao, trò chơichiến lược thời gian thực và trò chơi trực tuyến nhiều người chơi - bao
gồm các chế độ hợp tác.
Player versus Player (người chơi đấu với người chơi):
e Các thuật ngữ này thường được sử dụng trong các trò chơi tồn tại cả hai
hoạt động, đặc biệt là MMORPG, MUD và các trò chơi video nhập vai khác.
© PvP có thé được sử dụng rộng rãi dé mô ta bat ky tro choi hoac khia canh
nào cua trò chơi, nơi người choi cạnh tranh với nhau PvP thường gây
tranh cãi khi được sử dụng trong các game nhập vai Trong hầu hết các trường hợp, có sự khác biệt lớn về khả năng giữa người chơi có kinh nghiệm và người mới PvP thậm chí có thể khuyến khích người chơi có
kinh nghiệm tấn công và tiêu diệt ngay lập tức những người chơi thiếu
kinh nghiệm.
¢ PvP đôi khi được gọi là player killing (giết người choi)
Player versus Environment (Người chơi so với môi trường):
e©_ Viết tắt PvE, là một thuật ngữ được sử dụng dé chỉ việc chiến đấu với kẻ
thù do máy tính điều khiển - ngược lại với PvP (người chơi đấu với người
chơi) Trong các trò chơi sinh tồn, phan lớn có thé là chiến đấu với cácyếu tố, kiểm soát cơn đói khát, học cách thích nghi với môi trường và
khám phá.
e Thông thường, chế độ PvE có thể được chơi một mình, với bạn đồng hành
là con người hoặc với bạn đồng hành là AI Chế độ PvE có thê chứa một cốt truyện được thuật lại khi người chơi tiến hành các nhiệm vụ Nó cũng
có thé chứa các nhiệm vụ có thé được thực hiện theo thứ tự bat kỳ.
Massively Multiplayer Online (Trò chơi trực tuyến nhiều người chơi):
e Viết tat MMO, là trò chơi điện tử trực tuyến có số lượng lớn người chơi,
thường là hàng trăm hoặc hàng nghìn người, trên cùng một máy chủ.
Trần Sỹ Tuan — DI9PTDT 5
Trang 22Đồ án tốt nghiệp Đại học
MMO thường có một thế giới mở rộng lớn, liên tục , mặc dù có những tròchơi khác nhau Bạn có thể tìm thấy những trò chơi này cho hầu hết cácnền tảng có khả năng kết nối mạng, bao gồm máy tính cá nhân , bảng điềukhiển trò chơi điện tử hoặc điện thoại thông minh và các thiết bị di động
khác.
se MMO có thé cho phép người chơi hợp tác và cạnh tranh với nhau trên quy
mô lớn và đôi khi tương tác có ý nghĩa với mọi người trên khắp thế giới.Chúng bao gồm nhiều kiểu chơi khác nhau, đại điện cho nhiều thê loại trò
chơi điện tử
3.1 Game bắn súng FPS
Trong các thé loại game phổ biến nhất hiện nay, trước tiên phải kế đến
chính là game bắn súng FPS với góc nhìn thứ nhất (First-Person Shooter) Đúng
như tên gọi, người chơi tham gia game sẽ thực hiện bắn súng từ góc nhìn thứ
nhất hay chính là mắt nhân vật mình đang điều khiển Theo đó, bạn sẽ không
Hình 3 Game bắn súng Call of DutyTrong game bắn súng sinh tồn FPS, người chơi buộc phải chiến đấu để
chông lại những người chơi khác và trở thành người sông sót cuôi cùng Một sô
Trần Sỹ Tuan — DI9PTDT 6
Trang 23Đồ án tốt nghiệp Đại học
tựa game thuộc thé loại FPS nổi tiếng như: Call Of Duty, PUBG, Counter Strike,
Free Fire.
3.2 Game nhập vai Role-Playing Game (RPG)
Tai thị trường Việt Nam nếu đánh giá các loại game hay nhất thì khó có thể bỏ qua các tựa game thuộc thể loại nhập vai RPG Người chơi tham gia game
sẽ phải xây dựng nhân vật và cày game để tăng level
Hình 4.Game nhập vai Genshin Impact
Trong game RPG lại tiếp tục được chia thành các phân nhánh bao gồm:
Action Role-Playing Game (ARPG) là game nhập vai hành động, Massively Multiplayer Online Role — Playing Game (MMORPG) là game nhập vai trực
tuyến nhiều người chơi Một số tựa game điển hình của dòng game nhập vai
như: MU, Võ lâm truyền kỳ
3.3 Real-Time Strategy (RTS): Game chiến thuật thời gian thực
Đánh giá khách quan thé loại RTS so với các thé loại game mobile và PCkhác thì đây là thé loại khá kén người chơi Không giống các dòng game khác,người chơi không chỉ cần luyện tập dé tăng level mà cần có đầu óc chiến thuật,
khả năng quan sát và tầm nhìn rộng để có thé tạo nên những chiến lượng tan công phá hủy căn cứ của kẻ thù nhanh nhất, ít tổn hao nguồn lực của mình nhất.
Trần Sỹ Tuan — DI9PTDT 7
Trang 24Đồ án tốt nghiệp Đại học
Hình 5 Game chiến lược Tam Quốc Truyền Kì
Một số tựa game nôi tiếng thuộc thé loại RTS phải kế đến như: AoE,
Starcraft, Tam Quốc truyền kỳ hay Kim Dung Quan Hiệp Truyện
Trang 25Đồ án tốt nghiệp Đại học
3.5 Game Moba
Tương tự dòng game RTS ké trên là dòng game moba Multiplayer Online
Battle Arena (Đấu trường trực tuyến nhiều người chơi) cũng thu hút đông đảo
game thủ Điểm khác biệt của game Moba ở chỗ bạn sẽ tham gia vào khu vực
nhât định và thi đầu dưới dạng đội nhóm và đôi đâu với một đội khác.
Giải trí và thư giãn: Game đa người chơi cũng là một hình thức giải trí và
thư giãn phổ biến, giúp người chơi giải tỏa stress và thư giãn sau những giờ làm việc căng thang.
Kết nối với bạn bè: Multiplayer có số người chơi cực khủng mang bạn bước chân vào thế giới của các game thủ đa quốc gia cùng các nền văn hóa đa
dạng Người chơi có thể giao lưu ,kết bạn trên toàn thế giới Hơn hết,Multiplayer sở hữu lợi thế lớn là số lượng người chơi đông đảo nên cộng độnggame thủ “moc lên như nắm”, người chơi có thé dé dàng kết nối với những đồng
đội cùng chí hướng một cách dễ dàng
Trần Sỹ Tuan — DI9PTDT 9
Trang 26Đồ án tốt nghiệp Đại học
Da dang và thú vị: Các thé loại game đa người chơi có da dang và phong
phú, từ các trò chơi bắn súng, đua xe đến game nhập vai và chiến thuật, giúp người chơi có nhiều lựa chọn và trải nghiệm mới mẻ
Rèn luyện tư duy, phản xạ: Game đa người chơi thường có tính thử thách
cao và đòi hỏi người chơi phải sử dụng khả năng tư duy chiến lược, phản xạ
nhanh, và kỹ năng chơi game dé vượt qua các thử thách
Khả năng phát triển kỹ năng: Game đa người chơi có thể giúp người chơi
phát triển các kỹ năng như lập kế hoạch, quản lý tài nguyên, và tương tác xã hội
Chiến thuật game phức tạp: Đối với dòng game chiến thuật, người chơiphải dành rất nhiều thời gian và tiêu tốn một lượng chất xám dé suy tính những
bước đi thông minh Các tựa game dé cao lối chiến thuật như LOL, Dota 2,
đòi hỏi bạn phải nắm trong lòng bàn tay những chiến thuật sáng tạo hay metagame hiện tại dé nhanh chóng giành lấy phan thắng vang đội Tính chiến thuật
phức tạp trong Multiplayer cũng là ưu điểm sáng giá giúp người chơi rèn luyện
tư duy và trí thông minh một cách đáng ké Day cũng được xem là một cách dé
game thủ thể hiện trình độ, bản lĩnh và tải trí của mình với bạn bè thế giới Tuy
nhiên, game đa người chơi cũng đòi hỏi nhiều công sức dé phát triển Nha phát
triên cân phải có kiên thức vê kêt nôi mạng và đông bộ hóa, cùng với các kỹ
Trần Sỹ Tuan — DI9PTDT 10
Trang 27Đồ án tốt nghiệp Đại học
năng lập trình va thiết kế game Ngoai ra, game đa người chơi còn đòi hỏi một
hệ thống máy chủ mạnh mẽ đề hỗ trợ số lượng người chơi đồng thời và giữ cho
trò chơi chạy ồn định.
4.2 Hạn chế
Trình độ không đối xứng: Trong chế độ Multiplayer việc mất cân bằng
trình độ là van đề luôn luôn tồn tại, ví dụ như các trò chơi MOBA huyền thoại
như LOL hay Dota 2 hoặc các tựa game bắn súng kịch tính như PUBG, Fortnite.Trong đấu trường chiến đấu sẽ tập hợp muôn vàn game thủ sở hữu nhiều kỹ
năng và cấp bậc khác nhau vì thế tình trạng trình độ không đối xứng là điều
không thể tránh khỏi
Gian lận: Có thể nói gian lận là van đề nhức nhối thường xảy ra trong các
trận đấu Multiplayer, chăng hạn như việc sử dụng Aimbot - một phần mềm chuyên dùng dé hack, thông thường sẽ được sử dụng nhiều trong các tựa game
FPS.
Trần Sỹ Tuan — DI9PTDT 11
Trang 28Đồ án tốt nghiệp Đại học
Thời gian:Game đa người chơi thường đòi hỏi người chơi phải dành nhiềuthời gian dé phát triển nhân vật hoặc kỹ năng chơi game, điều này có thé dẫn đến
việc mat cân bằng giữa công việc và thời gian chơi game.
Nội dung không phù hợp: Các trò chơi đa người chơi có thể có nội dung
không phù hợp với trẻ em hoặc người lớn tuổi, và có thé gây ra các van đề như
gây nghiện hoặc ảnh hưởng đến sức khỏe tâm lý.
5.Xu hướng chơi game Multiplayer
Multiplayer sở hữu nhiều ưu điểm độc đáo về lỗi chơi nên nhận được sựhưởng ứng mạnh mẽ từ phía cộng đồng game thủ khắp thế giới Multiplayer luôngiữ vị trí độc tôn trong lòng người chơi và đến năm 2021 vẫn chưa có dấu hiệu
lụi tàn.
Các thé loại game đình đám MOBA, MMORPG, MMOFPS, luôn được các nhà phát hành ưu ái nâng cấp trải nghiệm và cải tiễn các tính năng theo
thời gian nhăm mang lại cảm giác mới mẻ cho làng game.
Hình 10 Một số tựa game multiplayer
Không cần phải quá bàn cãi, sức hút của dòng game trên quá mạnh mẽ.Không đề cơ hội ngàn vàng vụt qua quá lâu, các nhà phát hành luôn liên tục sảnxuất các tựa game đình đám với lối chơi hấp dẫn thu hút giới game thủ hưởngứng Multiplayer kết nối bạn bè đa quốc gia và sở hữu nhiều cộng đồng game
Trần Sỹ Tuan — DI9PTDT 12
Trang 29Đồ án tốt nghiệp Đại học
lớn mạnh vì thế nên đây vẫn là thời hoàng kim của Multiplayer Trong tương lai
hứa hen sẽ có những bước tiến đột phá trong thé loại game này.
IL Tìm hiểu các giao thức mang trong Multiplayer Game
1 Tổng quan
1.1.Giới thiệu về giao thức mạng
Giao thức mạng là một tập hợp các quy tắc và thủ tục được sử dụng dé quan lý và điều khiển việc truyền tai dữ liệu trên mạng Giao thức mang là một
phần quan trọng của hệ thống mạng, cho phép các thiết bị mạng như máy tính,
router va switch liên lạc va trao đôi thông tin với nhau.
Các giao thức mạng có thé được phân loại theo nhiều cách khác nhau, tùy
thuộc vào mục đích sử dụng và phạm vi áp dụng Một số loại giao thức
mạng phô biến bao gồm:
Giao thức truyền tải (Transmission Control Protocol - TCP) và Giao thức
điều khiển truyền tải (User Datagram Protocol - UDP): Đây là hai giaothức truyền tai dir liệu phổ biến nhất được sử dụng dé truyền tai dir liệu
trên mạng.
Giao thức Internet (Internet Protocol - IP): Đây là giao thức cơ bản nhất
được sử dụng để định tuyến gói tin qua mạng.
Giao thức định tuyến (Routing Protocol): Được sử dụng để quản lý và
điều hướng lưu lượng truy cập trên mạng
Giao thức bảo mật (Security Protocol): Được sử dung dé bảo vệ thông tintruyền tải trên mạng
Các giao thức mạng phải tuân theo các tiêu chuẩn chung được đề ra bởi các tô chức và cơ quan quốc tế, như IETF (Internet Engineering Task Force) và
ISO (International Organization for Standardization) Quy tắc và tiêu chuẩn này
giúp đảm bảo tính tương thích và hiệu quả của các hệ thống mạng trên toàn cầu.
1.2.Vai trò của giao thức mạng trong Game
Giao thức mang đóng vai trò quan trọng trong các ứng dụng mạng nói
chung và game nói riêng bởi vì nó cho phép các thiết bị mạng như máy tính,
Trần Sỹ Tuan — DI9PTDT 13
Trang 30Đồ án tốt nghiệp Đại học
điện thoại thông minh, máy chủ và các thiết bị mạng khác có thể liên lạc và traođổi thông tin với nhau Nó cung cấp các quy tắc và thủ tục dé quản lý và điều
khiến việc truyền tải dữ liệu trên mạng.
Trong các trò chơi, các giao thức mang đóng vai trò quan trọng trong việc
kết nối các máy tinh và các thiết bi mạng với nhau dé tạo thành một môi trường chơi game trực tuyến Các giao thức mạng cũng giúp quản lý thông tin truyền tải
giữa các máy tính chơi game, đảm bao tính 6n định, đáng tin cậy và hiệu quả củaviệc truyền tải dữ liệu trên mạng trong quá trình chơi game
Một số giao thức mạng phổ biến trong các trò chơi trực tuyến bao gồm
User Datagram Protocol (UDP) và Transmission Control Protocol (TCP), giao
thức định tuyến (Routing Protocol) và giao thức bảo mat (Security Protocol)
Các giao thức này giúp tối ưu hóa hiệu suất của các trò chơi trực tuyến, đảm bảo
tính tương thích giữa các máy tính và thiết bị mạng khác nhau, và đảm bảo tính
ôn định của các kết nối truyền tải dữ liệu trên mạng.
2 Một số giao thưc mạng trong Game
2.1.Giao thức TCP/IP
2.1.1 Giới thiệu
Transmission Control Protocol (TCP) là giao thức tiêu chuẩn trên Internetđảm bảo trao đổi thành công các gói dữ liệu giữa các thiết bị qua mạng TCP làgiao thức truyền tải cơ bản cho nhiều loại ứng dụng, bao gồm máy chủ web và
trang web, ứng dụng email, FTP và các ứng dụng ngang hang.
Trần Sỹ Tuan — DI9PTDT 14
Trang 31Đồ án tốt nghiệp Đại học
What is TCP/IP?
TCP hoạt động với giao thức Internet (IP) dé chỉ định cách đữ liệu được
trao đôi trực tuyến IP chịu trách nhiệm gửi từng gói đến đích của nó, trong khi TCP đảm bảo rằng các byte được truyền theo thứ tự mà chúng được gửi mà
không có lỗi hoặc thiếu sót nào Hai giao thức kết hợp với nhau được gọi là
TCP/IP.
2.1.2 Co ché hoat dong
TCP hoạt động theo tiến trình bắt tay 3 bước (3 way handshake) Tiến
trình này hoạt động như sau:
Trần Sỹ Tuan — DI9PTDT 15
Trang 32@ Máy khách gửi cho máy chủ một gói SYN — một yêu cầu kết nối từ
port nguồn của nó đến port đích đến của máy chủ.
@ May chủ phản hồi bằng gói SYN/ACK, xác nhận việc nhận được yêu
cầu kết nối
e Máy khách nhận gói SYN/ACK va trả lời bằng gói ACK của chính nó.
Sau khi kết nối được thiết lập, TCP hoạt động băng cách chia nhỏ dữ
liệu đã truyền thành các segment (phân đoạn), mỗi segment được đóng gói thành một gói dit liệu và được gửi đến đích của nó.
2.1.3.Ứng dụng của TCP trong Game
Giao thức TCP/IP (Transmission Control Protocol/Internet Protocol) được
sử dụng rộng rãi trong phát triển game để truyền tải đữ liệu giữa các máy tính
trên mạng TCP/IP được sử dụng trong game dé tạo ra một môi trường kết nối mạng tốt hơn giữa các người chơi và máy chủ game, đảm bảo tính ổn định và truyền tai dir liệu đúng cách.
Các ứng dụng của TCP/IP trong phát triển game bao gồm:
Trần Sỹ Tuan — DI9PTDT 16
Trang 33Đồ án tốt nghiệp Đại học
Multiplayer: TCP/IP được sử dung dé kết nối nhiều người chơi trên
mạng và truyền tải dit liệu giữa các máy tính, đảm bảo tính chính xác và đồng bộ trong game.
Server-Client: Game server là một máy chủ trung tâm quản lý các
thông tin của người chơi và cung cấp các tinh năng để kết nỗi các
người chơi.
TCP/IP được sử dụng để kết nối máy chủ và máy khách dé truyền
tải đữ liệu giữa các thiết bị
Đồ họa: TCP/IP cũng được sử dụng dé truyén tải dir liệu hình anh,
âm thanh và video giữa máy chủ và máy khách, giúp cho trò chơi
có thé hiển thị đồ họa chất lượng cao và âm thanh sống động
Bảo mật: TCP/IP cũng được sử dụng để bảo mật thông tin của
người chơi trong game, giúp tránh những cuộc tấn công mạng và
đảm bảo an toàn cho người chơi trong trò chơi.
2.1.4.Ưu điểm và nhược điểm
Ưu điểm:
Hỗ trợ cài đặt kết nối các loại máy tính khác nhau lại với nhau.
Vận hành riêng biệt với hệ điều hành
Hỗ trợ đa dạng giao thức định tuyến
Giúp Internet và các tô chức kết nối với nhau
Với kiến trúc client-server mô hình TCP/IP đễ dàng nâng cao
Vận hành độc lập.
TCP được áp dụng vào việc thiết lập kết nối giữa hai máy tính với
nhau.
Nhược điểm:
- TCP sẽ không bao giờ dừng lại quá trình truyền tin mà không yêu cầu
chỉ tiết tat ca dữ liệu đang chuyền động
- - Người dùng cũng không thé dùng dé truyền phát hay truyền đa hướng
Trần Sỹ Tuan — DI9PTDT 17
Trang 34Đồ án tốt nghiệp Đại học
- Người dùng cần phải tạo ranh giới riêng cho mình vì TCP không có
ranh giới khối
- Có một số tính năng mà người dùng không mong muốn từ TCP
Những tính năng này gây lãng phí băng thông, chiếm thời gian hoặc
tốn công.
- M6 hình hóa lớp truyền tải không chịu trách nhiệm việc phân phối các
gói tin.
- _ Việc thé chỗ giao thức trong TCP/IP rất khó khăn
- Không cung cấp sự minh bach với các dịch vụ, giao điện và giao thức
của nó.
2.2.Giao thức UDP
2.2.1 Giới thiệu
UDP (User Datagram Protocol) là một trong những giao thức cốt lõi của
giao thức TCP/IP Dùng UDP, chương trình trên mạng máy tính có thể gửi
những dữ liệu ngắn được gọi là datagram tới máy khác UDP không cung cấp
sự tin cậy và thứ tự truyền nhận mà TCP làm; các gói dir liệu có thể đến không
đúng thứ tự hoặc bị mat mà không có thông báo Tuy nhiên UDP nhanh và hiệu
quả hơn đối với các mục tiêu như kích thước nhỏ và yêu cầu khắt khe về thờigian Do bản chất không trạng thái của nó nên nó hữu dụng đối với việc trả lờicác truy vấn nhỏ với số lượng lớn người yêu cau
2.2.2 Cơ chế hoạt động
Giao thức UDP hoạt động tương tự như TCP, nhưng nó bỏ qua quá trình
kiểm tra lỗi Khi một ứng dụng sử dụng giao thức UDP, các gói tin được gửi cho
bên nhận và bên gửi không phải chờ để đảm bảo bên nhận đã nhận được gói tin,
do đó nó lại tiếp tục gửi gói tin tiếp theo Nếu bên nhận bỏ lỡ một vài gói tin
UDP, họ sẽ mắt vì bên gửi không gửi lại chúng Do đó thiết bị có thể giao tiếp
nhanh hơn.
Trần Sỹ Tuan — DI9PTDT 18
Trang 35Đồ án tốt nghiệp Đại học
Request
Response
Response Response
Hình 13 Cơ chế hoạt động của UDP
2.2.3.Ung dụng của UDP trong Game
UDP (User Datagram Protocol) là một trong hai giao thức cấp vận chuyên
thông tin trên mạng Internet (giao thức còn lại là TCP) UDP được sử dụng phố
biến trong các ứng dụng truyền tải đữ liệu như VoIP, video streaming và cả trong các trò chơi trực tuyến.
Ứng dụng của UDP trong game chủ yếu liên quan đến tốc độ và độ trễ (latency) Trong game, tốc độ truyền tai dữ liệu rất quan trọng dé các thông tin
về tình trạng của trò chơi (vị trí nhân vật, hướng di chuyên, đạn, etc.) được cậpnhật nhanh chóng và chính xác Đồng thời, độ trễ cũng là yếu tố quan trọng, bởi
vì một chút độ trễ nhỏ có thé gây ra sự cô trong trò chơi, như mất kết nối hoặc
tình trạng giật lag.
Các tính năng của UDP như tốc độ truyền tải nhanh và thiếu tính năng kiểm soát lỗi có thé giúp cho việc truyền tai đữ liệu trong game nhanh chóng và tránh được các tình huống bị đứt kết nối hay giật lag Tuy nhiên, do thiếu tính năng kiểm soát lỗi, các gói đữ liệu có thê bị mất hoặc bị lỗi khi truyền tải Do đó,
các nhà phát triển game thường phải xây dựng thêm các cơ chế phục hồi lỗi hoặc
Trần Sỹ Tuan — DI9PTDT 19
Trang 36Không giới hạn bạn với một mô hình giao tiếp dựa trên kết nối Chính
vì thế mà độ trễ khởi động của các ứng dụng phân tán thấp.
Chúng không được quản lý bởi người nhận, nó bao gồm các ranh giới
khối
UDP có thể truyền phát và truyền đa hướng
Có thé diễn ra việc mắt dữ liệu
Giao dịch nhỏ (DNS lookup).
Ứng dụng chuyên dụng về băng thông cho phép hiện tượng mất gói.
Nhược điểm:
Với UDP, trên cùng một gói tin có khả năng sẽ không được phân phối
hoặc phân phối lần hai Quá trình truyền sẽ không được diễn ra theo
thứ tự.
Trong trường hợp xảy ra xung đột thì các router sẽ không thực hiện
truyền lại lần nữa
UDP không tích hop Congestion Control và tính năng kiểm soát luồng,
vì thế ứng dụng người dùng sẽ đảm nhiệm việc triển khai
Tinh trang bị mat gói nghiêm trọng hơn thường xuyên xảy ra tai UDP
2.3.Giao thức Websocket
2.3.1 Giới thiệu
WebSocket là một giao thức giúp truyền dữ liệu hai chiều giữa
server-client qua một kết nỗi TCP duy nhất
Trần Sỹ Tuan — DI9PTDT 20
Trang 37Với giao thức Websocket thì server có thé chủ động gửi thông tin đến client mà không cần phải có yêu cầu từ client.
Tất cả dữ liệu giao tiếp giữa client-server sẽ được gửi trực tiếp qua một
kết nối cố định làm cho thông tin được gửi đi nhanh chóng và liên tụckhi cần thiết WebSocket làm giảm độ trễ bởi vì một khi kết nối
WebSocket được thành lập, server không cần phải chờ đợi cho một yêu
cầu từ client
Tương tự như vay, client có thể gửi tin nhăn đến server bat cứ lúc nào
Yêu cầu duy nhất nay giúp làm giảm đáng kê độ trễ, mà sẽ gửi một yêu cầu trong khoảng thời gian, cho du thông điệp có sẵn.
Đề có thé sử dụng được Websocket thì không phải chỉ cần trình duyệt
hỗ trợ mà còn phải có server Websocket, server Websocket có thé
được tạo ra bằng bắt kỳ ngôn ngữ server-side nào, nhưng Node.js được
sử dụng rộng rãi hơn cả vì nó viết bằng Javascript nên mang nhiều ưu
điêm so với các ngôn ngữ server-side truyên thông khác.
Trần Sỹ Tuan — DI9PTDT 21
Trang 38Đồ án tốt nghiệp Đại học
2.3.2 Cơ chế hoạt động
Client (Browser)
Http request asking for a protocol
Http response accepting the protocol
cầu khởi tạo kết nỗi websocket đến server, server kiểm tra và gửi trả kết quả
chấp nhận kết nối, sau đó kết nối được tạo và quá trình gửi đữ liệu có thể được
thực hiện, dữ liệu chính là các Ws frame.
2.3.3.Uu điểm và nhược điểm
Ưu điểm
- Tốc độ truyền dữ liệu nhanh: WebSocket sử dụng một kết nối mạng
liên tục để truyền dữ liệu giữa máy khách và máy chủ, điều này giúp giảm thiểu độ trễ và tăng tốc độ truyền dữ liệu.
- Kha năng hoạt động trên nhiều trình duyệt: WebSocket được hỗ trợ bởi
hau hết các trình duyệt hiện nay, cho phép tương tác giữa các ứng dung
web trên nhiêu nên tảng.
Trần Sỹ Tuan — DI9PTDT 22
Trang 39Đồ án tốt nghiệp Đại học
- Được hỗ trợ bởi các thư viện mã nguồn mở: Các thư viện mã nguồn
mở như Socket.IO, SignalR và SockJS hỗ trợ phát triển ứng dụng sử
dụng WebSocket một cách dễ dàng
- Thiết lập kết nối mạng liên tục: Thay vì tạo ra các kết nối mới mỗi khi
cần truyền dit liệu, WebSocket cho phép thiết lập các kết nỗi mạng liên tục, giúp tiết kiệm tài nguyên mạng và tăng tốc độ truyền dữ liệu.
- Kha năng truyền dir liệu lớn: WebSocket cho phép truyền dit liệu lớn
mà không gặp phải các giới hạn kích thước của HTTP.
Nhược điểm:
- Khó khăn trong việc triển khai: WebSocket đòi hỏi phải thiết lập các
kết nối liên tục giữa máy khách và máy chủ, điều này yêu cầu kỹ năng
và kiến thức kỹ thuật dé triển khai.
- Tinh trạng tràn bộ đệm (buffer overflow): WebSocket có thê gây ra
tình trạng tràn bộ đệm (buffer overflow) nếu không được xử ly đúng
cách.
- Một số trình duyệt không hỗ trợ hoặc hỗ trợ kém: Một số trình duyệt
lỗi thời hoặc không được cập nhật sẽ không hỗ trợ WebSocket hoặc hỗ
trợ kém, gây ra những trở ngại cho việc triển khai và phát triển ứng
dụng.
2.4.Giao thức mạng Peer to Peer
2.4.1 Giới thiệu
P2P là mô hình ứng dụng phân tán nhằm phân vùng nhiệm vụ, khối lượng
công việc giữa các peer Trong đó, các peer là những thiết bị tham gia trong các ứng dụng có đặc quyền như nhau Tat cả cùng tạo nên một mạng lưới các node
ngang hàng.
Đặc điểm: P2P cung cấp môi trường tính toán song song, lưu trữ phân
toán và định tuyến an danh lưu lượng mang Dac biệt nhất là kha năng chia sẻ
phương tiện truyền thông Tuy nhiên cũng vì khả năng này mà P2P thườngxuyên bị vi phạm bản quyền
Trần Sỹ Tuan — DI9PTDT 23
Trang 40Đồ án tốt nghiệp Đại học
.—
oma,
Hình 16 Giao thức mang Peer to Peer
Người dùng hoan toàn có thể kiểm soát được các thông số hoạt động khi
sử dụng các ứng dụng của P2P Chăng hạn như cho phép kết nối nhiều thành viên cùng một lúc với nhau Hoặc cung cấp các dịch vụ, hệ thống và tài nguyên
bảo vệ dành cho mạng.
2.4.2 Cơ chế hoạt động
Thông thường, người dùng sẽ phải truy cập vào trình duyệt web của mình
dé tìm kiếm và tải xuống tệp mong muốn Trang web lúc này giống như một máy chủ và máy tính sẽ giống như một máy khách chuyên nhận các dữ liệu.
Hiểu đơn giản quá trình này giống như đường một chiều từ A đến B Trong đó,
vị trí của tệp tải xuống là điểm A còn máy tính chính là điểm B
Còn với mạng P2P quá trình này sẽ được xử lý bằng quy trình khác Trướctiên phần mềm P2P muốn vận hành được thì cần cài vào máy của người dùng
Khi đó những người dùng sẽ được đưa vào cùng một mạng ảo do P2P tạo ra.
Sau khi tải xuống, một tệp mạng ảo sẽ được nhận dưới dạng các bit đến từ
các máy tính khác nhau đã được tao sẵn Đồng thời, máy tính nào yêu cau thì sẽ
nhận được dữ liệu từ máy tính của người dùng Trường hợp này P2P hoạt động
giống như đường hai chiều cho phép công việc truyền tải tệp được phân phối
linh hoạt hơn.
Trần Sỹ Tuan — DI9PTDT 24