BO THONG TIN VÀ TRUYEN THONG
HỌC VIEN CONG NGHỆ BƯU CHÍNH VIEN THONG
DO AN
TOT NGHIEP DAI HOC
Dé tài: “Nghiên cứu phát triển hệ thống quản lý, đồng bộ cho trò chơi
tương tác trẻ em đa người chơi”
Người hướng dẫn : ThS Nguyễn Đức Hoàng
Sinh viên thực hiện: Nguyễn Hữu Tuấn
Mã sinh viên: B19DCPT210
Lớp: DI9PTDPT
Hệ: Đại học chính quy
Hà Nội, 2023
Trang 2Đồ án tốt nghiệp Đại hoc LOI CẢM ON
LỜI CẢM ƠN
Em xin bày tỏ lòng biết ơn chân thành và sâu sắc đến quý thầy cô giáo của Học viện Công nghệ Bưu chính Viễn thông, đặc biệt là các thầy cô Khoa đa phương tiện nói riêng Những người đã truyền đạt kiến thức và kinh nghiệm quý báu cho em trong suốt quãng thời gian học tập tại trường Nhờ sự dạy dỗ và hướng dẫn tận tâm của quý thầy cô, em đã có cơ hội nam vững cơ sở lý thuyết có kiến thức dé áp dụng chúng vào đồ án này.
Đặc biệt, trong quá trình thực hiện đồ án tốt nghiệp, em đã nhận được sự hướng dẫn và hỗ trợ từ ThS Nguyễn Đức Hoàng trong suốt hơn hai tháng qua Nhờ sự hướng dẫn va góp ý tận tình của thầy, em đã hoàn thành báo cáo đồ án tốt nghiệp một cách tốt nhất.
Tuy báo cáo đã hoàn thành, nhưng vì em còn hạn chế về chuyên môn, không tránh
khỏi những thiếu sót Em rất mong nhận được những ý kiến đóng góp quý báu từ các thầy cô
dé em có thé học hỏi và hoàn thiện ban thân trong tương lai. Em xin chân thành cảm ơn và trân trong!
Nguyễn Hữu Tuấn — B19PTDPT i
Trang 3Đồ án tốt nghiệp Dai học _ MỤC LUC
1.1 Tổng quan về trò chơi điện tử - 5:22 ++2x+2E+2EE£EE£EE+2EE2EEEEEEEEEEErkrkrrrrrres 1 1.1.1 Khái niệm về trò chơi điện tttee.cececcccccccccsccesececsssescsesesesececscscscsvsnsesecececseavavsnenseceees 1 1.1.2 Lịch sử phát triển của trò chơi điện tử - eeseseseseseeesessesesessesseeseseeees |
1.1.3 Đặc điểm của trò chơi điện tử - 22th ưưn 2
1.1.4 Các thé loại trò chơi điện tử :::+22txttttrtrrg re 2
1.1.5 Lợi ích và tác hại của trò chơi điện tử 2 133 +222E 111122111 ke seg 3
1.1.6 Ứng dụng của trò chơi điện tử - sex EEEEEEE1211111111171 1111111 rtk, 3 1.2 Tổng quan về trò chơi đa người chơi - 2 + s+SxeE£EEEEEEEE2EEEEEEErkekerkrkerrkd 4
1.2.1 Khái niệm của trò chơi đa người ChƠI - c3 11213 EEkerrrrerreeree 4
1.2.2 Lịch sử phát triển của trò chơi đa người chơi -¿- 2-5525 2222zxczxczzzzszei 4 1.2.3 Đặc điểm của trò chơi đa người chơi 2-5: ©52+2x‡2x2E2EEE2E2xeExzErxerrser 4 1.2.4 Các thé loại trò chơi đa người chơi -¿- + 5t keSE+EEE£EE2EEEEEEEEEEEEEEEEErrrrrees 5
1.2.5 Lợi ích và thách thức của trò chơi đa người chơi - - + + + s++ssvessssesss 5
1.2.6 Ứng dụng của trò chơi đa người chơi - 2-52 ++S++E++E2E2EtEEeEEerxerxerxerxrree 6
1.3 Giao thức kết nối trong trò chơi đa người chơi 2¿©225++52+x+z+2zzzxezxzzzee 7 1.3.1 Khái niệm giao thức kết nối 2¿© 2 ++2x+SE2EE2EE2EE12E1221211211221212 212.22 7 1.3.2 Khái niệm giao thức kết nối trong trò chơi đa người chơi 2-5-2 55c: 7
1.3.3 Giao thức kết nối phô biến trong trò chơi đa người chơi - 2 5z s52 7 1.4 Kiến trúc của trò chơi đa người chơi ¿- 2 2S2+E2E2E2EEEEEEEEEEEEEEEkerkrrerkes II
1.4.1 Khái niệm về kiến trúc trò chơi đa người chơi 2 2 +s+x+zx+zzxexerxez 11 1.4.2 Các kiến trúc phổ biến trong trò chơi đa người chơi - 2 ¿5s+5+55+: II 1.4.3 Tìm hiểu chi tiết về kiến trúc Client-server trong trò chơi 2-2 5+ 14
1.5 Tiểu kết chương Ì - 5c SE E E2 15112112112112112111111111 111111111111 111 cte 15
Nguyễn Hữu Tuấn — B19PTDPT ii
Trang 4Đồ án tốt nghiệp Dai học _ MỤC LUC
CHUONG 2: PHAN TÍCH THIET KE HE THONG QUAN LY VA DONG
BO TRÒ CHƠI TƯƠNG TAC TRE EM ĐA NGƯỜI CHƠI 16
2.1 Phân tích lựa chọn giải pháp kỹ thuật công nghệ cho hệ thống - 16
2.2 Phân tích yêu cầu hệ th6ng c cecescescsscsseescssessessessessessessessesecsvsesscsvsesevsssevevseseees 21 2.2.1 Yêu cầu về tính năng kỹ thuật của hệ thống game da người chơi 21
2.2.2 Yêu cầu phi chức năng của phan mềm 2-2 2 2+2£2E++E++E++EzEzEezezxzxee 21 2.2.3 Mô hình kiến trúc hệ thong ceccescsscsssessessesssessecssssessecsessseesessesseesesseeeeseeeees 22 2.3 Thiết kế hệ thống 2 SE SÉEE9EE 1E 12EE215112111211111111111111 11111111101 1x6 23
2.3.1 Mô tả về các tác nhân tham gia hệ thống -2- 2 2 2+EeEE2E#EEEEEeEEzEeExreeg 23 2.3.2 Danh sách các yêu cầu chức năng của hệ thống 2-2 s+x+£z+xzEcxz2 25 2.3.3 Sơ đồ usecase hệ thống " 28
2.3.4 Kich 7 n 31
2.3.5 Thiết kế lớp thực thỂ ¿+ 2S ESE+E9EE2EEEEEE121EE1217121111112111111111 01 1 1x0 42
2.3.6 Biểu đồ tuần tự c2 tt tre 43 2.3.7 Thiết kế cơ sở dữ LGU seeccseescssseeeessneessnseeessnecessnsessnneesssneessneessnneesnneessness 48 2.4 Tiểu kết chương 2 -¿- ¿522522 2E92EEE1EE1571211211211211211211711211111111211 0121 111 re 49
CHƯƠNG 3: XÂY DUNG HỆ THONG QUAN LÝ VA DONG BO TRÒ
CHƠI TƯƠNG TÁC TRE EM ĐA NGƯỜI CHƠI -. s 50
3.1 Cài đặt và cầu hình hệ thống ¿2 +55 2E22EEEEEE2E1221221231211221 2122.212 ce 50 3.1.1 Cài đặt các phần mềm cần thiẾt - 2 + SSE+E£EE‡EEEEEEE2EEEEEEEEEEEEEEEEEEerkei 50 3.1.2 Cau hình hệ thống ¿+ 2 SE 9E9EE2EEEE9EE2EEE121E212117111211111 11111111 1X6 52
3.2 Phát triển các chức năng của hệ thống +: + 2+Sk+EE2EE2EE+E£EEEEeEeEEzEerrrkrree 53
3.2.1 Phát triển các chức năng của trò chơi ¿- + + x++E+EE+EE£EESEEEEEEEEzExzrrrkrree 53 3.2.2 Phát triển các chức năng của quản trị 2 2 ++++++2++Ex+£x+E++zxerxrrszrrzee 57 3.3 Xây dựng giao điện quản lý hệ thống -¿- - 2 2 +SE‡ESE2E2E£EEEEEEEEEEEEEErrrrkes 58
3.3.1 Quy trình xây dựng ø1ao dIỆn - c2 112111121111 111 1111111811181 11811 xe 58
Nguyễn Hữu Tuấn — B19PTDPT iii
Trang 5Đồ án tốt nghiệp Dai học _ MỤC LUC
3.3.2 Giao điện sản phẩm - ¿5£ +5t+S2EEEE9E19212212212212112112112112112111 1111 xe 58 3.4 Triển khai hệ thống đám may ccecccccccecscesessessssessessesessesessscsesescssseseesesvseessaeees 62
3.4.1 Lựa chọn nhà cung cấp dịch vụ đám mây - - S2 3S 3xx ssserrrres 62 3.4.2 Triển khai trên A daptable - 2 2 + S2E2E£EEEEEEEE9E12152121211 21212111 re 62
3.5 Tiểu kết chương 3 - SE EEE9E151121121121121121121711111111111 11111 64
„000/900 65
DANH MỤC TÀI LIEU THAM KHẢO 5° 5° 552 ss2=sesses 66
Nguyễn Hữu Tuấn — B19PTDPT iv
Trang 6Đồ án tốt nghiệp Dai học DANH MỤC Ki HIỆU VÀ CHỮ VIET TAT
DANH MỤC Ki HIỆU VÀ CHU VIET TAT
MMO: Massively Multiplayer Online Games Trò chơi đa người trực tuyến
TCP/IP: Transmission Control Protocol/Internet Giao thức điều khiển truyền tải/ Giao
Protocol thức mạng Internet
UDP: User Datagram Protocol Giao thức gói dữ liệu người dùng
WAN: Wide Area Network Mạng diện rộng
LAN: Local Area Network Mạng cục bộPAN: Personal Area Network Mạng cá nhân
HTTP: Hypertext Transfer Protocol Giao thức truyền tải Siêu văn bản
P2P: Peer-to-Peer Giao thức ngang hàng với nhauIoT: Internet of Things Mang Internet của van vat
API: Application Programming Interface Giao diện lập trình ứng dung
UL: User Interface Giao dién Nguoi dung
LTS: Long-Term Support H6 tro dai han
DDoS: Distributed Denial of Service Tấn công từ chối địch vụ
Nguyễn Hữu Tuấn — B19PTDPT Vv
Trang 7Đồ án tốt nghiệp Dai học DANH MỤC HÌNH ANH
DANH MỤC HÌNH ẢNH
Hình 1.1 Trò chơi điện tử — Nguồn: Wikipedia.Org - 2 s2 ecxezEerxerrszes 1 Hình 1.2 Trò chơi đa người choi — Nguồn: Cellphones.eom.vn - 2s4 Hình 1.3 So sánh giữa các tang của các giao thức kết nối — Nguồn:
(0 011580/290510000ï1-540ã 0007 5 7
Hình 1.4 Cấu trúc bộ mô hình giao thức TCP/IP- Nguồn: tenten.vn - 9 Hình 1.5 Mô phỏng so sánh phản hồi UDP va TCP - Nguồn: wikimaytinh.com 10 Hình 1.6 Kiến trúc phổ biến trong trò chơi đa người chơi -— Nguồn:
\⁄9°111155/90,01/(110111ã) 2222117 11
Hình 1.7 Biểu đồ luồng hoạt động của Client - Server trong trò chơi — Nguồn:
M1siusv vo .:-::-:cccaa4 14
Hình 2.1 Phan mềm NodeJS — Nguồn: Wikipedia.com -2¿©2zcsz+cscee: 17 Hình 2.2 Phần mềm Visual Studio Code — Nguồn: Wikipedia.com - 18 Hình 2.3 Thư viện Socket.io — Nguồn: Wikipedia.com 52 z+5z2xzxvzxsce2 18 Hình 2.4 Framework Express.js — Nguồn: Wikipedia.com ¿- 2z sec: 19 Hình 2.5 Hệ quản trị cơ sở dữ liệu MySQL — Nguồn: Lotusacademy.edu.vn 20 Hình 2.6 Thư viện React — Nguồn: Bkacad.edu.vn 2: ©52222+s+xczxzzszzzzxez 20 Hình 2.7 Mô hình kiến trúc hệ thống - 2-2 2 E+E++EE£EE+2EE£EEtEESEEtrErxrrxsree 23 Hình 2.8 Use case Hệ thống quản lý game đa người chơi 22 2 2 se£zzc+2 29
Hình 2.9 Use case biéu đồ phân rã quan lý tài khoản 2-5552 2+xzxezxscx2 30
Hình 2.10 Use case biểu đồ phân rã quan lý bạn bè -2- 2 2+sz+z+zx+z+zzz+s+2 30 Hình 2.11 Use case biểu đồ phân rã quản lý thông tin người chơi 30 Hình 2.12 Biểu đồ lớp thực thé của hệ thống - 2-2 52 +E+EE£E+2E£EerEeExzrez 42
Hình 2.13 Biểu đồ tuần tự đăng nhập - 2 2 S22 E212 1221112112111 xe2 43
Hình 2.14 Biểu đồ tuần tự đăng ký :- 2 s+2E2EESEEt2E27121211221 2121 re 43 Hình 2.15 Biểu đồ tuần tự đổi mật khẩu - 2-2 2+St+E+E+E£EEEEEEEEEEEEEEEErkrrrree 43 Hình 2.16 Biểu đồ tuần tự quên mật khâu - 2-2 2 S+SE+2EE£EE£EE2EEEeEEerxrrrrree 44
Hình 2.17 Biểu đồ tuần tự gửi lời mời kết bạn - 2 2 s2 +EE2E£EeExeExzExrxee 44
Hình 2.18 Biểu đồ tuần tự đồng ý kết bạn 2- 22-5222 2 EEE 2E 2E EEEerrrrree 44 Hình 2.19 Biểu đồ tuần tự gửi danh sách bạn bẻ - 5 S2 s+e+EEsekrererrrrerrrke 45
Hình 2.20 Biểu đồ tuần tự hủy kết bạn - 2-2-2 E2 2EEEEE12E121211 11111 xe 45
Hình 2.21 Biểu đồ tuần tự mua vật phâm 2 2 2+ +E+E££E£EEEEEEEEEEEErrErErrxrer 45 Hình 2.22 Biểu đồ tuần tự nhắn tin 2: + sSx‡SEEEEEEEEEEEE2E121121121121121111 111 1e 46 Hình 2.23 Biểu đồ tuần tự phòng chơi - 2-22 S22++2EEt2EEt2EEC2EEC2EEEEErrkrrkves 46 Hình 2.24 Biểu đồ tuần tự chơi trò chơi -.-¿ ccccccccrtrrrrrkrrrrrrrrrrrrrrrtrrrrrrre 47 Hình 2.25 Biểu đồ tuần tự quan lý tài khoản - 2: 525z+2z+2Ec2EzEcrxrrxerxzrrrree 47 Hình 2.26 Biểu đồ tuần tự xem bang xếp hang cceccccccsssesssesssessseessesssesssesssessseessess 48
Nguyễn Hữu Tuấn — B19PTDPT vi
Trang 8Đồ án tốt nghiệp Dai học DANH MỤC HÌNH ANH
Hình 2.27 Cơ sở dữ liệu của hệ thống ¬ 49
Hình 3.1 Hình ảnh cơ sở dit liệu đã triỀn khai - 2-5 scSt+EvEE£EEEeEErErEerererrerree 52 Hình 3.2 Một số hình ảnh giao diện của trang quản trị viên -¿-¿szs¿ 61
Hình 3.3.Giao diện tao ứng dụng mới tai Adaptable - s5 + ssseeseeeerss 62
Hình 3.4 Hình ảnh kết nối GitHub với Adaptable ccccccccccccrrrrrrrrrrrre 63
Hình 3.5 Hình ảnh chọn cơ sở dữ liệu trên Adaptable - - 5+5 s+s+scxsersersee 63
Hình 3.6 Hình anh sau khi hoàn thành triển khai lên A daptable -: 64
Nguyễn Hữu Tuấn — B19PTDPT vii
Trang 9Đồ án tốt nghiệp Đại học _ DANH MỤC CAC BANG
DANH MỤC CÁC BANG
Bảng 2.1 Danh sách các chức năng yêu cầu của hệ thống - 2-2-2 2522522 28
Bảng 2.2 Bảng kịch bản đăng nhập - - - + 2 22t 322123 1E S121 1k re 31Bang 2.3 Bang kich ban dang Ky ốễ 31
Bảng 2.4 Bang kịch ban quên mật Khau c.scecccececcccsesssessesssessessessesessessessesesesseeseeee 32 Bang 2.5 Bang kịch bản đổi mật khâu 2-2 2SE+SE£EE+EE2EE2EE2EE2EEEEEEErkrrerrrei 32 Bảng 2.6 Bảng kịch bản đồi kết bạn 2-2: 22S2+SE‡2E2EEEEE2EEEEEEE12E21 21212 xe 33 Bảng 2.7 Bảng kịch ban chấp nhận lời mời kết bạn -¿ 25225z+2++zxz>x++2 33 Bảng 2.8 Bảng kịch ban chấp nhận hủy kết bạn 2-2 52 s22 22EzErEerxsrez 34
Bang 2.9 Bảng kịch ban quản lý thông tin cá nhân 5552255 **++*vv++seexess 34
Bảng 2.10 Bảng kịch bản xem bảng xếp hạng 2-5252 2Ec2E2EEe£EzEzerxezxsrez 35
Bảng 2.11 Bảng kịch bản tạo phòng - + tk 19 9 ng nh HH ng nhiệt 35Bảng 2.12 Bảng kịch bản tham gia phòng - ¿c3 21323112 ESEEsiererrrrrsrreres 36
Bảng 2.13 Bảng kịch bản nhăn tin 2-2-5252 SS2E22EEEEE2EEE2EE2EE221271 2122221 cxe 36
Bảng 2.14 Bảng kịch bản chơi Øame - + t2 91 ng ng ng rệt 37
Bảng 2.15 Bảng kịch bản mua vật phâm 2-22: ©2S22E+2EE£EEtEE2E22E222E2Ecrxrei 37
Bảng 2.16 Bảng kịch bản thêm tài khoản - - c2 2c SE ksisrrererrsrrree 37
Bảng 2.17 Bảng kịch bản tìm kiếm tài khoản - 2 2-55 252Sxc£E2EEcEEzxcrxerxsree 38 Bảng 2.18 Bảng kịch bản tìm kiếm tài khoản 2-22: 2222++22£v2EztEEzczxerxrrxeee 38
Bảng 2.19 Bảng kịch bản chỉnh sửa thông tin tài khoản - -.- 5 5< s+c+sxs+ 39Bảng 2.20 Bảng kịch bản xem danh sách bạn bẻ tài khoản - «<++<<+>+ 39
Bảng 2.21 Bảng kịch bản xem vật phẩm đã mua của tài khoản 5 2¿ 40 Bảng 2.22 Bảng kịch ban quản lý bảng xếp hạng - 2-5255 S22SEc£E2Ec£xcExzxez 40 Bảng 2.23 Bảng kịch ban quản lý tin nhắn 2-2: 52 2 SE£E£2EE£EE2EeEEEExerxrkrrxee Al Bảng 2.24 Bảng kịch ban xem thông tin trận GaU cccccsscccsesseessesseessesseessessesseesseeseaee 4I Bảng 3.1 Các luồng sự kiện có trong hệ thống - 2- 2 522 z+EEt£EcEEeExzzxzrrree 55 Bảng 3.2 Các luồng sự kiện trong game ghi nhớ hoa quả 2- 2 5s sz5z25+2 56
Bảng 3.3 Các luồng sự kiện trong game đuổi bắt -¿- 2-52 +‡EctEeEeEeEzErxez 56
Bảng 3.4 Các luồng quản lý của quản trị ViÊn - 2 22s£+2z+£E+2E+zEezxerxerszrerree 57
Nguyễn Hữu Tuấn — B19PTDPT viii
Trang 10Đồ án tốt nghiệp Dai học _ MỞ ĐẦU
MỞ ĐẦU
1 Lý do lựa chọn đề tài
Trong xã hội hiện đại, công nghệ thông tin đóng vai trò quan trọng trong cuộc sống
hàng ngày của chúng ta Trẻ em ngày nay được tiếp xúc với công nghệ từ rất sớm và trở thành
người dùng thông minh của nó Vì vậy, việc nghiên cứu và phát triển hệ thống quản lý, đồng
bộ cho trò chơi tương tác trẻ em sẽ góp phần tạo ra một môi trường an toàn và phát triển cho
trẻ em trong thé giới kỹ thuật số.
Thị trường trò chơi tương tác trẻ em đang phát triển mạnh mẽ và có tiềm năng lớn Các trò chơi đa người chơi không chỉ tạo ra môi trường giao tiếp và hợp tác giữa các trẻ em,
mà còn giúp phát triển kỹ năng xã hội và tư duy logic của họ Tuy nhiên, dé khai thác triệt dé
tiềm năng của thị trường này, cần có hệ thống quản lý, đồng bộ hiệu quả để tối ưu hóa trải nghiệm người chơi và tăng tính bảo mật Trò chơi tương tác đã trở thành một phần quan trọng trong việc giáo dục và giải trí cho trẻ em Tuy nhiên, việc quản lý và đồng bộ hệ thống cho trò
chơi đa người chơi vẫn còn nhiều thách thức Vì vậy đề tài này dé nghiên cứu và phát triển hệ
thống quản lý, đồng bộ cho trò chơi tương tác trẻ em nhằm cung cấp trải nghiệm chơi game tốt hơn và an toàn hơn cho người chơi nhỏ tuổi.
Từ những lí do trên việc “Nghiên cứu và phát triển hệ thống quản lý, đồng bộ cho
trò chơi tương tác trẻ em” là một thách thức thú vị và hứa hẹn mang lại những kết quả tích
cực Em tin rằng việc hoàn thành đề tài này sẽ giúp em nắm vững kiến thức và kỹ năng trong lĩnh vực phát triển trò chơi và hệ thống thông tin Đồng thời, em hy vọng rằng công trình nghiên cứu của tôi sẽ đóng góp vào sự phát trién của lĩnh vực này, cung cấp giải pháp sáng tạo và hữu ích cho các nhà phát triển trò chơi và người dùng trẻ em.
2 Mục đích nghiên cứu
Mục đích của đề tài là nghiên cứu và phát triển hệ thống quản lý, đồng bộ cho trò chơi tương tác trẻ em nhằm cung cấp trải nghiệm chơi game tốt hơn và an toàn hơn cho người chơi nhỏ tuổi Nghiên cứu này mong muốn đóng góp vào việc phát triển lĩnh vực phát triển trò chơi và hệ thống thông tin, đồng thời cung cấp giải pháp sáng tạo và hữu ích cho các nhà phát triển trò chơi và người dùng trẻ em.
3 Đối tượng và phạm vi nghiên cứu
Đối tượng của nghiên cứu là các trò chơi tương tác dành cho trẻ em, trong đó tập trung
vào các trò chơi đa người chơi.
Phạm vi nghiên cứu bao gồm việc nghiên cứu và xây dựng các hệ thống quản lý, đồng
bộ và tối ưu hóa trải nghiệm người chơi trong các trò chơi này.
4 Phương pháp nghiên cứu
Trong quá trình nghiên cứu, em sẽ sử dụng phương pháp nghiên cứu phân tích, phân loại và so sánh các hệ thống quan lý, đồng bộ hiện có Em cũng sẽ tiến hành phân tích yêu cầu
của người chơi trẻ em và thiết kế hệ thống quản lý, đồng bộ phù hợp Sau đó, em sẽ triển khai
và đánh giá hiệu suất của hệ thống thông qua các thử nghiệm và phản hồi từ người chơi.
Nguyễn Hữu Tuấn — B19PTDPT ix
Trang 11Đồ án tốt nghiệp Dai học _ MỞ ĐẦU
5 Kết cấu của đồ án
Đồ án được chia làm các chương như sau:
Chương 1: Nghiên cứu về hệ thống trò chơi tương tác đa người chơi.
Trong chương này, em sẽ tiến hành nghiên cứu về cơ sở lý thuyết của trò chơi, trò
chơi đa người chơi Các giao thức mạng và loại mô hình thường sử dụng trong trò chơi đangười chơi.
Chương 2: Phân tích thiết kế hệ thống quản lý và đồng bộ trò chơi tương tác trẻ
em đa người chơi.
Trong chương này, em sẽ tiến hành phân tích và thiết kế chỉ tiết về hệ thống quản lý và đồng bộ cho trò chơi tương tác trẻ em đa người chơi Em sẽ xem xét các yêu cầu của người chơi trẻ em, đặt ra các mục tiêu thiết kế và xác định các phương pháp và công nghệ phù hợp dé xây dựng hệ thống.
Chương 3: Xây dựng hệ thống quản lý và đồng bộ trò chơi tương tác trẻ em đa
người chơi.
Chương này tập trung vào việc triển khai thực tế và xây dựng hệ thống quản lý và đồng bộ cho trò chơi tương tác trẻ em đa người chơi Em sẽ sử dụng các công nghệ và phương pháp đã được phân tích và thiết kế trong chương trước dé xây dựng một hệ thống hoạt động hiệu quả và đáp ứng được yêu cầu của người chơi trẻ em.
Kết luận
Chương này sẽ tông kết lại các kết quả nghiên cứu và triển khai trong đồ án Em sẽ đánh giá hiệu suất của hệ thống quản lý và đồng bộ mà em đã xây dựng, cùng với những đóng góp và hạn chế của đề tài Chương kết luận cũng sẽ đề xuất các hướng phát triển tiếp theo và khả năng ứng dụng của hệ thống trong tương lai.
Nguyễn Hữu Tuấn — B19PTDPT x
Trang 12Đồ án tốt nghiệp Dai học _ MỞ ĐẦU
Nguyễn Hữu Tuấn — B19PTDPTxi
Trang 13Đồ án tốt nghiệp Dai hoc CHƯƠNG |
CHUONG 1: NGHIÊN CỨU VE HE THONG TRÒ CHƠI TƯƠNG TÁC ĐA NGƯỜI CHƠI.
1.1 Tổng quan về trò chơi điện tử 1.1.1 Khái niệm về trò chơi điện tử
Trò chơi điện tử là các dạng hình thức giải trí tương tác được thực hiện trên các thiết bị điện tử, như máy tính, console game, điện thoại di động, hoặc máy chơi game cầm tay Chúng thường có mục tiêu, quy tắc và thử thách riêng, và người chơi có khả năng tương tác với nội dung và hệ thống của trò chơi.
Hình 1.1 Trò chơi điện tử — Nguôn: Wikipedia.org
1.1.2 Lịch sử phát triển của trò chơi điện tử
Lịch sử của trò chơi điện tử bắt đầu từ những năm 1940, khi các nhà khoa học bắt đầu nghiên cứu về khả năng sử dụng máy tính để tạo ra các trò chơi Trò chơi điện tử đầu tiên được biết đến là Tennis for Two, được phát triển bởi William Higinbotham vao năm 1958.
Trò chơi này được chạy trên một máy tinh oscilloscope và cho phép hai người choi chơitennis trên màn hình.
+ Trong những năm 1960, trò chơi điện tử bắt đầu phát triển mạnh mẽ hơn Một số trò chơi điện tử nồi tiếng trong thời kỳ này bao gồm Spacewar!, Pong, và Pac-Man.
+ Trong những năm 1970, trò chơi điện tử trở nên phổ biến hơn bao giờ hết Một số trò chơi điện tử nổi tiếng trong thời kỳ này bao gồm Asteroids, Space Invaders, và
Donkey Kong.
+ Trong những năm 1980, trò chơi điện tử tiếp tục phát triển mạnh mẽ Một số trò chơi
điện tử nồi tiếng trong thời kỳ này bao gồm Super Mario Bros., The Legend of Zelda, va Tetris.
Nguyễn Hữu Tuấn — B19PTDPT 1
Trang 14Đồ án tốt nghiệp Dai học CHUONG 1
+ Trong những năm 1990, trò chơi điện tử bắt đầu chuyền sang nền tảng 3D Một số trò chơi điện tử nổi tiếng trong thời kỳ này bao gồm Doom, Quake, va Super Mario 64.
+ Trong những năm 2000, trò chơi điện tử tiếp tục phát triển mạnh mẽ Một số trò chơi điện tử nổi tiếng trong thời kỳ này bao gồm Grand Theft Auto III, Half-Life 2, và Call
of Duty 4: Modern Warfare.
+ Trong những năm 2010, trò choi điện tử tiếp tục phát triển mạnh mẽ Một số trò chơi điện tử nổi tiếng trong thời kỳ này bao gồm Minecraft, League of Legends, và
Ngày nay, trò chơi điện tử đã trở thành một ngành công nghiệp trị gia hang ty đô la. Trò chơi điện tử được chơi bởi mọi người ở mọi lứa tuổi và mọi tầng lớp xã hội.
1.1.3 Đặc điểm của trò chơi điện tử
Trò chơi điện tử là một loại hình giải trí phổ biến hiện nay Trò chơi điện tử có thé
được phân loại theo nhiều cách khác nhau, chăng hạn theo thể loại, nền tảng, đối tượng, cách
chơi, v.v Tuy nhiên, bat ké thé loại nào, trò chơi điện tử đều có những đặc điểm chung sau:
+ Tính tương tác: Trò chơi điện tử là một hệ thống tương tác giữa người chơi va máy
móc Người choi sử dung các thiết bị đầu vào, chang hạn như bàn phím, chuột, tay cam điều khiến, v.v dé tương tác với trò choi.
+ Tính giải trí: Mục đích chính của trò chơi điện tử là giải trí cho người chơi Trò chơi
điện tử có thể mang lại cho người chơi sự thư giãn, giải trí, và niềm vui.
+ Tính cạnh tranh: Một số trò chơi điện tử có tính cạnh tranh giữa các người chơi Người chơi có thé cạnh tranh với nhau dé giành chiến thang.
+ Tính sáng tạo: Một số trò chơi điện tử cho phép người chơi sáng tạo Người chơi có thé tự tạo ra nhân vật, câu chuyện, v.v.
Ngoài những đặc điểm chung trên, trò chơi điện tử còn có thé có những đặc điểm khác
tùy thuộc vào thể loại, nền tảng, đối tượng, và cách chơi của trò chơi Ví dụ, trò chơi nhập vai
thường có tính ké chuyện cao, trò chơi chiến lược thường có tính chiến thuật cao, trò chơi thé
thao thường có tính vận động cao, v.v.
1.1.4 Các thé loại trò chơi điện tử
Trò chơi điện tử được chia thành nhiều thể loại khác nhau, mỗi thể loại có đặc điểm và
cách chơi riêng Dưới đây là một số thể loại phé biến:
+ Game hành động (Action games): Day là loại trò chơi tập trung vào các hoạt động
nhanh như đánh nhau, bắn súng, hoặc di chuyên nhanh để vượt qua các thử thách Ví
dụ: Super Mario Bros, Call of Duty.
+ Game nhập vai (Role-playing games): Trò chơi này cho phép người chơi nhập vai vào
một nhân vật và tham gia vào một câu chuyện dựa trên cốt truyện, thường có yếu tố phát triển nhân vật và chọn lựa hành động Vi dụ: The Legend of Zelda, Tomb Raider + Game chiến thuật (Strategy games): Loại trò choi nay yêu cầu người choi sử dung tư
duy chiến thuật dé quản lý tài nguyên, xây dựng và điều phối các lực lượng dé dat
được mục tiêu Vi du: Age of Empires, Civilization.
+ Game thé thao (Sports games): Trò choi thé thao mô phỏng các môn thé thao thực tế như bóng da, bóng rô, tennis, đua xe, và nhiều môn khác Ví dụ: FIFA, NBA 2K.
Nguyễn Hữu Tuấn — B19PTDPT 2
Trang 15Đồ án tốt nghiệp Dai học CHUONG 1
+ Game đua xe (Racing games): Loại trò chơi tập trung vào các cuộc dua xe, có thê là
đua xe ô tô, đua xe mô tô, hoặc đua xe thể thao Ví dụ: Need for Speed: Heat, Forza
Horizon 5.
+ Game nhac (Music games): Trò choi nhac tập trung vào việc choi nhac, thường bang cách nhắn các nút theo nhịp điệu nhạc dé đạt điểm số Ví dụ: Beat Saber, Guitar Hero
+ Game mô phỏng (Simulation games): Loại trò chơi này mô phỏng các hoạt động, côngviệc hoặc môi trường thực tê như trông cây, quản lý thành phô, hay điêu khiên máybay Ví dụ: Stardew Valley, The Sims.
1.1.5 Lợi ích và tác hại của trò chơi điện tử
Trò chơi điện tử mang lại nhiều lợi ích cho người chơi, bao gồm:
+ Giải trí: Trò chơi điện tử là một hình thức giải trí phổ biến, giúp giảm căng thăng va mệt mỏi trong cuộc sông hàng ngày.
+ Giáo dục: Một số trò chơi có tinh giáo duc và có thé giúp cải thiện kỹ năng như
tư duy logic, quản lý thời gian và xử lý thông tin.
+ Tương tác xã hội: Trò chơi điện tử đa người chơi cho phép người chơi kết nối và tương tác với nhau thông qua mạng, tạo ra một cộng đồng trò chơi đa dạng Tuy nhiên, trò chơi điện tử cũng có thé có tác hại như:
+ Can trở hoạt động thé chất: Ngồi lâu trước màn hình và chơi trò chơi điện tử
kéo dai có thé ảnh hưởng đến sức khỏe và hoạt động thé chất của người choi.
+ Gây nghiện: Một số trò chơi điện tử có tính chất gây nghiện, khiến người chơi
dành quá nhiều thời gian và năng lượng cho trò chơi, ảnh hưởng đến cuộc sống
cá nhân và xã hội của họ.
1.1.6 Ứng dụng của trò chơi điện tử
Trò chơi điện tử đã được áp dụng rộng rãi trong nhiều lĩnh vực khác nhau Dưới đây
là một số ứng dụng của trò chơi điện tử:
+ Giáo duc: Trò chơi điện tử có thể được sử dụng trong giáo dục dé tạo ra môi trường học tập thú vị và tương tác Chúng có thé giúp học sinh hap thụ kiến thức một cách trực quan và thú vị hơn và khuyến khích sự tương tác và hợp tác
giữa các học sinh.
+ Huấn luyện: Trò chơi điện tử cũng được sử dụng trong việc huấn luyện quân sự, y tế và các lĩnh vực khám phá không gian Chúng có thé giúp huấn luyện kỹ năng thực tế, tăng cường sự tập trung và phản xạ nhanh.
+ Giải tri và giải quyết van đề: Trò chơi điện tử cung cấp một hình thức giải trí phô biến và có thé giúp người chơi rèn luyện khả năng giải quyết van dé và tư duy logic Một số trò chơi còn cung cấp những thử thách tư duy và câu đồ
phức tạp dé khuyến khích người chơi suy nghĩ sáng tạo và phát triển kỹ năng tư duy phản biện.
1.2 Tổng quan về trò chơi đa người chơi
1.2.1 Khái niệm của trò chơi đa người chơi
Nguyễn Hữu Tuấn — B19PTDPT 3
Trang 16Đồ án tốt nghiệp Dai hoc CHƯƠNG |
Trò chơi tương tác đa người chơi (Multiplayer Interactive Games) là những trò chơi
mà nhiều người chơi có thé tham gia cùng nhau trong cùng một thời điểm và tương tác trực
tiếp với nhau trong thé giới ảo của trò chơi Điều này có thé xảy ra thông qua mang Internet
hoặc mạng nội bộ (Lan) Trò chơi tương tác đa người chơi cho phép người chơi tương tác,
cạnh tranh hoặc hợp tác với nhau, tạo ra những trải nghiệm xã hội và cung cấp một cách chơi
đa dạng và phong phú.
: MULTIPLAYER
Hình 1.2 Trò chơi da người chơi — Nguồn: Cellphones.com.vn
1.2.2 Lịch sử phát triển của trò chơi đa người chơi
Lịch sử của trò chơi đa người chơi bắt đầu từ những năm 1970, với trò chơi Spacewar! Trò chơi này cho phép hai người chơi chơi cùng nhau trên cùng một máy tính.
+ Trong những năm 1980, trò chơi đa người chơi bắt đầu phát triển mạnh mẽ hơn Một
số trò chơi đa người chơi nổi tiếng trong thời kỳ này bao gồm Pac-Man, Donkey
Kong, và Tetris.
+ Trong những năm 1990, trò chơi đa người chơi tiếp tục phát triển mạnh mẽ Một số trò chơi đa người chơi nồi tiếng trong thời kỳ này bao gồm Doom, Quake, và Super Mario
+ _ Trong những năm 2000, trò chơi đa người chơi trở nên phổ biến hơn bao giờ hết Một số trò chơi đa người chơi nôi tiếng trong thời kỳ này bao gồm Grand Theft Auto III,
Half-Life 2, và Call of Duty 4: Modern Warfare.
Ngày nay, trò chơi đa người choi đã trở thành một phan quan trọng của ngành công nghiệp trò
chơi điện tử Một số trò chơi đa người chơi nổi tiếng nhất hiện nay bao gồm League of
Legends, Fortnite, và Minecraft.
1.2.3 Đặc điểm của trò chơi da người choi
Trò chơi đa người chơi là một thể loại trò chơi mô phỏng một hệ thống tương tác phức
tạp giữa nhiều người chơi Điều đặc biệt của trò chơi này là khả năng tạo ra một môi trường mà người chơi có thé tương tác với nhau thông qua các hành động trong trò chơi, đồng thời
xây dựng mối quan hệ xã hội và thé hiện tính cạnh tranh hoặc hợp tác Sau đây là những đặc
điểm đáng chú ý của trò chơi đa người chơi:
Nguyễn Hữu Tuấn — B19PTDPT 4
Trang 17Đồ án tốt nghiệp Dai học CHUONG 1
+ Tính tương tác: Trò chơi đa người chơi là một hệ thống tương tác giữa nhiều người chơi Người chơi có thể tương tác với nhau thông qua các hành động trong trò chơi, chăng hạn như chiến đấu, hợp tác, hoặc giao tiếp.
Tính cạnh tranh: Một số trò chơi đa người chơi có tính cạnh tranh giữa các người chơi Người chơi có thể cạnh tranh với nhau dé giành chiến thắng.
Tính hợp tác: Một số trò chơi đa người chơi có tính hợp tác giữa các người chơi Người chơi cần hợp tác với nhau đề hoàn thành nhiệm vụ.
Tính xã hội: Trò chơi đa người chơi có thé giúp người chơi kết nối với nhau và
tạo ra những mối quan hệ xã hội
Tóm lại, trò chơi đa người chơi là một thể loại trò chơi tương tác độc đáo và thú vỊ.
Tính tương tác, tính cạnh tranh, tính hợp tác và tính xã hội là những đặc điểm nổi bat của trò
chơi này Thông qua việc tương tác với nhau, người chơi có thể thê hiện kỹ năng, chiến thuật
va sự sáng tạo của minh, đông thời mở ra cơ hội kêt nôi và xây dựng môi quan hệ xã hội trong
cộng đồng trò chơi Cho dù bạn muốn thử thách bản thân trong một môi trường cạnh tranh
hay hợp tác cùng những người chơi khác, trò chơi đa người chơi sẽ mang đến cho bạn những trải nghiệm thú vị và gắn kết xã hội đáng nhớ.
1.2.4 Các thể loại trò chơi đa người chơi
Có nhiều loại trò chơi tương tác đa người chơi phô biến, bao gồm:
+ Trò chơi đối kháng (Fighting games): Đây là các trò chơi mà người chơi tương
tác trực tiếp với nhau thông qua các trận đấu Ví dụ phổ biến là Street Fighter và Mortal Kombat.
Trò chơi hợp tác (Cooperative games): Trong các trò chơi này, người chơi
cùng nhau hợp tác dé hoàn thành các nhiệm vụ và mục tiêu trong trò chơi Vi
dụ như Left 4 Dead va Payday 2.
Trò choi da người trực tuyến (Massively Multiplayer Online Games - MMO):
Đây là những trò choi mà hàng ngàn người choi cùng nhau tham gia trong một
thé giới ảo chung Vi dụ như World of Warcraft và Final Fantasy XIV.
Trò chơi thế giới mở (Open-world games): Các trò chơi này cung cấp cho người chơi một thế giới mở rộng dé khám pha và tương tác với nhau Vi dụ
như Grand Theft Auto V và Red Dead Redemption 2.
Trò chơi thé thao đa người choi (Multiplayer Sports games): Đây là các trò chơi thể thao như bóng đá, bóng rổ, tennis, nơi người chơi có thê thi đấu và
cạnh tranh với nhau Ví dụ như FIFA và NBA 2K serles.
1.2.5 Lợi ích và thách thức của trò chơi đa người chơi
Trò chơi tương tác đa người chơi mang lại nhiều lợi ích cho người chơi, bao gồm:
Tương tác xã hội: Trò chơi tương tác đa người chơi tạo ra môi trường xã hội cho người chơi tương tác và giao tiếp với nhau Điều này giúp xây dựng mối
quan hệ và kết nối xã hội trong một cộng đồng trò chơi.
Hợp tác và tương tranh: Người chơi có thể hợp tác hoặc cạnh tranh với nhau
trong trò chơi tương tác đa người chơi, tạo ra một trải nghiệm đa dạng và thú
Nguyễn Hữu Tuấn — B19PTDPT 5
Trang 18Đồ án tốt nghiệp Dai học CHUONG 1
vị Họ có thể làm việc cùng nhau để vượt qua các thử thách hoặc thi đấu với
nhau dé xem ai là người giỏi nhất.
Trải nghiệm đa dạng: Trò chơi tương tác đa người chơi thường mang đến một loạt các hoạt động và trải nghiệm đa dạng Người chơi có thể tham gia vào nhiều hoạt động khác nhau, như chiến đấu, khám phá, xây dựng và giao dịch.
Tuy nhiên, cũng có một số thách thức khi tham gia vào trò chơi tương tác đa người
chơi, bao gôm:
+ Độ trễ mạng: Trò chơi tương tác đa người chơi thường phụ thuộc vào kết nối mạng dé tương tác với người chơi khác Nếu có độ trễ mạng cao, có thé gây khó khăn trong việc tương tác và ảnh hưởng đến trải nghiệm chơi game.
Quản lý cộng đồng: Với nhiều người chơi cùng tham gia, quản lý cộng đồng trong trò chơi tương tác đa người chơi là một thách thức Cần có các biện pháp
dé ngăn chặn hành vi gây phiền nhiễu và đảm bảo môi trường chơi game là an
toàn và vui vẻ cho tất cả người chơi.
Cân bằng và công bằng: Trong một số trò chơi tương tác đa người chơi, có thé xảy ra sự mat cân bằng hoặc thiếu công bằng giữa các người chơi Điều này có thể dẫn đến sự bất hòa và không hài lòng trong cộng đồng game.
1.2.6 Ứng dụng của trò chơi đa người chơi
Trò chơi đa người choi có thé được ứng dụng trong nhiều lĩnh vực khác nhau, bao
+ Giải trí: Trò chơi đa người chơi là một hình thức giải trí phố biến va được nhiều người yêu thích Trò chơi đa người chơi có thể giúp người chơi giải trí,
thư giãn, và xả stress.
Giáo dục: Trò chơi đa người chơi có thê được sử dụng để giáo dục người chơi về các chủ đề khác nhau, chăng hạn như lịch sử, khoa học, và toán học Trò
chơi đa người chơi có thé giúp người chơi tiếp thu kiến thức một cách thú vị và
hấp dẫn.
Kỹ năng: Trò choi đa người chơi có thé giúp người chơi phát triển các kỹ năng
khác nhau, chăng hạn như kỹ năng giao tiếp, kỹ năng hợp tác, và kỹ năng giải
quyết vấn đề.
Kết nối: Trò chơi đa người chơi có thé giúp người chơi kết nối với nhau và tạo
ra những mối quan hệ xã hội Trò chơi đa người chơi có thê giúp người chơi
vượt qua khoảng cách địa lý và gặp gỡ những người mới.
Dưới đây là một sô ví dụ cụ thê về ứng dụng của trò chơi đa người chơi:
+ Giáo dục: Một số trò chơi đa người chơi được sử dụng đề giáo dục người chơi về lịch sử, chăng hạn như Civilization và Age of Empires Những trò chơi này cho phép người chơi khám phá các nền văn minh khác nhau và học hỏi về các
sự kiện lịch sử quan trọng.
Kỹ năng: Một số trò chơi đa người chơi được sử dụng dé phát triển kỹ năng giao tiếp, chắng hạn như Among Us và Fall Guys Những trò chơi này yêu cầu người chơi phải giao tiếp với nhau dé hoàn thành nhiệm vụ hoặc giành chiến
Nguyễn Hữu Tuấn — B19PTDPT 6
Trang 19Đồ án tốt nghiệp Dai hoc CHƯƠNG |
+ Kết nối: Một số trò chơi đa người chơi được sử dụng để kết nối người chơi, chăng hạn như League of Legends và Minecraft Những trò chơi này cho phép
người chơi kết nối với nhau từ khắp nơi trên thế giới và tạo ra những cộng đồng trực tuyến.
Trò chơi đa người chơi đang ngày càng trở nên phổ biến và được ứng dụng trong nhiều lĩnh vực khác nhau Trò chơi đa người chơi có thể mang lại nhiều lợi ích cho người
chơi, bao gồm giải trí, giáo dục, phát triển kỹ năng, và kết nối.
1.3 Giao thức kết nối trong trò chơi đa người chơi 1.3.1 Khái niệm giao thức kết nối
Giao thức kết nối (Connection Protocol) là một tập hợp các quy tắc và quy định mà các thiết bị và hệ thống sử dụng dé thiết lập, duy trì và cham dứt kết nối mạng Giao thức kết nối đảm bảo truyền thông hiệu quả và tin cậy giữa các thiết bị hoặc hệ thống khác nhau trong
Application Layer (Layer 7)
Network Layer (Layer 3)
Hình 1.3 So sánh giữa các tang của các giao thức kết nối — Nguồn: Cloud.in28minutes.com
1.3.2 Khái niệm giao thức kết nối trong trò chơi đa người chơi
Trong trò chơi đa người chơi, giao thức kết nỗi có vai trò quan trọng trong việc xác định cách các người chơi kết nối và tương tác với nhau trong một môi trường trò chơi chung Giao thức kết nối đảm bảo truyền thông tin giữa các máy chủ game và máy khách (client) một
cách đáng tin cậy va hiệu quả.
1.3.3 Giao thức kết nối phố biến trong trò chơi đa người chơi
Có nhiều giao thức kết nối được sử dụng trong trò chơi đa người chơi, mỗi giao thức có ưu điểm va ứng dụng riêng Dưới đây là một số giao thức kết nối phổ biến:
Nguyễn Hữu Tuấn — B19PTDPT 7
Trang 20Đồ án tốt nghiệp Dai học CHUONG 1
1.3.3.1 TCP/IP
TCP/IP (Transmission Control Protocol/Internet Protocol) là một giao thức mạng phô
biến được sử dụng trong hầu hết các ứng dụng Internet, bao gồm trò chơi đa người chơi Giao
thức TCP/IP đảm bảo truyền thông tin theo cách đáng tin cậy và có thứ tự, giúp đảm bảo rằng
các gói tin được gửi và nhận một cách chính xác TCP/IP sử dụng co chế kiểm tra lỗi, đánh số
thứ tự và xác nhận dé dam bao tính toàn vẹn va tin cậy của dữ liệu Sau đây là ưu nhược điểm
của giao thức này.
Ưu điểm:
+ Đảm bảo tính toàn vẹn và tin cậy của dt liệu: Giao thức TCP/IP sử dụng các
cơ chế kiểm tra lỗi, đánh số thứ tự và xác nhận để đảm bảo rằng các gói tin
được gửi và nhận một cách chính xác.
+ Hỗ trợ truyền thông tin đa phương tiện: TCP/IP hỗ trợ truyền tải các loại dữ
liệu đa phương tiện như hình ảnh, âm thanh và video trong trò chơi đa ngườichơi.
+ Tốc độ truyền tin tương đối 6n dù chậm hon giao thức UDP nhưng van phù hợp dé làm trò chơi đa người chơi.
Nhược điểm:
+ Giao thức có cơ chế kiểm tra lỗi thường dẫn đến tốn thời gian và tài nguyên
mang làm giảm tốc độ truyền tải: TCP/IP sử dụng cơ chế kiểm tra lỗi dé đảm bao tính tin cậy của dữ liệu truyền tải Tuy nhiên, cơ chế này cũng gây ra một
số vấn đề như tốn thời gian và tài nguyên mạng, làm giảm tốc độ truyền tải.
+ Khó quản lý, cai đặt phức tạp: TCP/IP là một giao thức phức tạp, bao gồm
nhiều tầng với nhiều chức năng khác nhau Điều này khiến cho việc quản lý và cài đặt TCP/IP trở nên khó khăn, đặc biệt là đối với các mạng lớn, phức tạp.
+ TCP/IP không tối ưu cho các mạng nhỏ: TCP/IP ban đầu được thiết kế cho các mạng diện rộng (WAN) Do đó, giao thức này không được tối ưu cho các
mạng nhỏ như mạng cục bộ (LAN) và mạng vùng cá nhân (PAN).
Thực tế trong giao thức TCP/IP, IP đóng góp một vai trò cực kỳ quan trọng Như tên gọi đã nói lên tất cả, TCP/TP là sự kết hợp giữa 2 giao thức IP cho phép máy tính chuyên tiếp gói tin tới một máy tính khác Thông qua một hoặc nhiều khoảng (chuyền tiếp) gần với người nhận gói tin Còn TCP sẽ giúp kiểm tra các gói dữ liệu xem có lỗi không sau đó gửi yêu cầu
truyền lại nếu có lỗi được tìm thấy Ban chất của TCP/IP là một chuẩn phổ biến mà các mạng
nội bộ và diện rộng có thê giao tiếp, cho phép các máy tính kết nối với nhau và cho các ứng
dụng dé gửi dir liệu đi và về Dé hoạt động nhịp nhàng, TCP/IP phải có 4 lớp/tầng trừu tượng
(TCP/IP layers), mỗi lớp có một bộ giao thức riêng.
Nguyễn Hữu Tuấn — B19PTDPT 8
Trang 21Đồ án tốt nghiệp Dai hoc CHƯƠNG |
Sending Encapsulation & De-encapsulation
computer in TCP/IP Model
UDP (User Datagram Protocol) cũng là một giao thức mạng được sử dụng trong trò
chơi đa người chơi UDP là một giao thức không đảm bảo độ tin cậy và có thứ tự trong truyền thông tin Nó cho phép gửi và nhận các gói tin một cách nhanh chóng mà không cần xác nhận trạng thái hoặc sắp xếp lại các gói tin Giao thức UDP thích hợp cho các trò chơi đa người chơi yêu cầu truyền thông tin nhanh và thời gian thực, ví dụ như trò chơi bắn súng, trong đó độ trễ thấp và tần suất cập nhật cao là quan trọng hơn tính toàn vẹn của đữ liệu.
Uu điểm:
+ Độ trễ thấp: Giao thức UDP cho phép truyền thông tin một cách nhanh chóng
mà không cần xác nhận trạng thái hoặc sắp xếp lại các gói tin Điều này giúp giảm độ trễ trong truyền thông tin, đặc biệt là trong các trò chơi đa người chơi yêu cầu tính toàn vẹn thấp và tần suất cập nhật cao.
+ Phù hợp với trò chơi thời gian thực: Giao thức UDP thích hợp cho các trò chơi
đa người chơi yêu cầu truyền thông tin nhanh và thời gian thực, như trò chơi bắn súng, nơi độ trễ thấp là quan trọng hơn tính toàn vẹn của đữ liệu.
Nhược điểm:
+ Không đảm bảo tính tin cậy: UDP không dam bảo rang các gói tin sẽ được
truyền đến đích một cách an toàn và đầy đủ Các gói tin có thé bi mat, bi hỏng
hoặc bị truyền sai thứ tự.
+ Không có cơ chế điều khiển tắc nghẽn: UDP không có cơ chế điều khiển tắc nghẽn, điều này có thé dẫn đến tắc nghẽn mạng trong trường hợp lưu lượng truy cập quá cao.
+ Không có cơ chế quản lý kết nối: UDP không có cơ chế quan lý kết nói, điều
này có thé khiến việc thiết lập và quan lý kết nối trở nên khó khăn.
UDP được sử dụng để truyền nhanh các gói đữ liệu trong mạng IP, nhiều nhất là các
ứng dụng thời gian thực, chăng hạn như truyền phát âm thanh hoặc video, livestream, truy vấn
Nguyễn Hữu Tuấn — B19PTDPT 9
Trang 22Đồ án tốt nghiệp Dai hoc CHƯƠNG |
DNS, kết nối VPN Do vậy tốc độ so với giao thức TCP/IP là vượt trội nhưng tinh bao mật lại
HTTP (Hypertext Transfer Protocol) là một giao thức được sử dung rộng rãi trong
việc truyền tai dữ liệu trên Web Mặc dù HTTP không phải là giao thức kết nối truyền thống trong trò chơi đa người chơi, nhưng nó có thé được sử dụng dé truyền tai dit liệu không thời gian thực như thông tin về tài khoản người chơi, tạo và quản lý phiên chơi, và tải xuống các tài nguyên như hình ảnh và âm thanh HTTP là một giao thức dựa trên yêu cầu-đáp ứng, trong
đó máy khách gửi yêu cầu và máy chủ trả về phản hồi Tuy nhiên, do HTTP không hỗ trợ
truyền thông tin theo thời gian thực và không đảm bảo tính toan vẹn cua di liệu, nên nó
thường được sử dụng cho các tác vụ không yêu cầu tính toàn vẹn và độ trễ thấp trong trò chơi đa người chơi.
Tùy thuộc vào yêu cầu và tính chất của trò chơi đa người chơi, các giao thức kết nối khác nhau có thé được sử dụng hoặc kết hợp dé đáp ứng các yêu cau cụ thé của trò chơi Sự lựa chọn giao thức kết nói thích hợp có thé ảnh hưởng đến hiệu suất và trải nghiệm chơi game
của người chơi.
Uu điểm:
+ Tiêu chuẩn và phô biến: Giao thức HTTP là một tiêu chuẩn được sử dụng rộng
rãi trong truyền tải dữ liệu trên Web Nó đã được phát triển và tối ưu hóa, và
được hỗ trợ bởi hầu hết các ngôn ngữ lập trình và framework.
+ Đơn giản và dé sử dụng: HTTP sử dụng cơ chế yêu cầu-đáp ứng đơn giản, làm cho việc giao tiếp giữa máy khách và máy chủ dé dang và dé hiéu.
Nhược điểm:
+ Không hỗ trợ truyền thông tin theo thời gian thực: Giao thức HTTP không phù
hợp cho việc truyền thông tin theo thời gian thực trong các trò chơi đa người chơi yêu cầu tính toàn vẹn và độ trễ thấp.
Nguyễn Hữu Tuấn — B19PTDPT 10
Trang 23Đồ án tốt nghiệp Dai học CHUONG 1
+ Không hỗ trợ kết nối liên tục: HTTP sử dụng cơ chế yêu cầu-đáp ứng, nghĩa là mỗi yêu cầu sẽ tạo ra một kết nối mới Điều này có thể tạo ra tình trạng quá tải
và tăng độ trễ.
Do vậy, HTTP không được sử dụng như là giao thức kết nối mạng chính trong game
1.4 Kiến trúc của trò chơi đa người chơi
1.4.1 Khái niệm về kiến trúc trò chơi đa người chơi
Kiến trúc của trò chơi đa người chơi đề cập đến cách mà trò chơi được thiết kế và tô chức dé hỗ trợ việc kết nối và tương tác giữa các người chơi Kiến trúc này định nghĩa các
yếu tố quan trọng như cách mà các người chơi kết nối với nhau, cách đữ liệu được truyền tải
giữa các máy chủ và máy khách, và cách mà các tương tác giữa người chơi được đồng bộ hóa.
1.4.2 Các kiến trúc phố biến trong trò chơi đa người chơi
Có nhiều kiến trúc khác nhau được sử dụng trong trò chơi đa người chơi, mỗi kiến trúc
có ưu điểm và ứng dụng riêng Dưới đây là một số kiến trúc phô biến:
Peer-to-Peer (P2P) _.
Client Runtime Server Runtime
Direct P2P Networking Transport Layer
Local multiplayer là kiến trúc cho phép các người chơi kết nối trực tiếp với nhau trên cùng một thiết bị hoặc mạng cục bộ (LAN) Các người chơi sẽ chơi trò chơi trên cùng một máy tính, điện thoại đi động hoặc máy chơi game và tương tác trực tiếp với nhau thông qua các bộ điều khiển Ví dụ điển hình là các trò chơi split-screen trên console hoặc trò chơi da
người chơi trên cùng một máy tính.
Uu điểm:
+ Tương tác trực tiếp: Local multiplayer cho phép các người chơi tương tác trực tiếp với nhau trên cùng một thiết bị hoặc mạng cục bộ Điều này tạo ra một trải nghiệm chơi game hài hòa, năng động và giúp tạo thêm sự gắn kết giữa các
người chơi.
Nguyễn Hữu Tuấn — B19PTDPT 11
Trang 24Đồ án tốt nghiệp Dai học CHUONG 1
+ Không phụ thuộc vào kết nối Internet: Với local multiplayer, không cần phải
dựa vào kết nối Internet ôn định dé chơi game Điều này có nghĩa là người
chơi có thê thưởng thức trò chơi mà không cần lo lắng về sự gián đoạn hoặc trễ trong kết nối mạng.
+ Tiết kiệm chi phí: Vì local multiplayer không yêu cầu mạng Internet, người chơi không cần trả phí cho dịch vụ mạng hoặc kết nối Internet Điều này có thể giúp tiết kiệm chi phí đáng kê đối với các buổi chơi game cùng bạn bè hoặc gia
đình. Nhược điểm:
+ Giới hạn về vị tri: Local multiplayer yêu cầu các người chơi phải có mặt cùng một địa điểm dé có thé kết nối và chơi game cùng nhau Điều này có thé làm hạn chế sự linh hoạt vả thuận tiện cho những người chơi không ở gần nhau.
+ Giới hạn số lượng người chơi: Số lượng người chơi trong local multiplayer
thường bị giới hạn bởi số lượng thiết bị hoặc mạng cục bộ có sẵn Vì vậy,
không thể có một số lượng người chơi lớn trong một trò chơi local multiplayer.
1.4.2.2 Local area network
Kiến trúc Local area network cho phép các người chơi kết nỗi với nhau thông qua một
mạng cục bộ (LAN) trong cùng một vùng địa lý như một phòng chơi game, một văn phòng
hoặc một trường học Các người chơi có thể kết nối trực tiếp với nhau thông qua mạng LAN
và chơi trò chơi trên các máy tính riêng biệt hoặc các thiết bị chơi game.
Ưu điểm:
+ Độ trễ thấp: Với mang LAN, tốc độ truyền tai dit liệu giữa các máy tính trong
cùng một mạng cục bộ là rất nhanh và độ trễ thấp Điều này giúp tạo ra một
trải nghiệm choi game mượt mà và không bị gián đoạn.
+ Tính linh hoạt: Mang LAN cho phép các người chơi kết nối và chơi game trên
các máy tính riêng biệt hoặc các thiết bị chơi game trong cùng một vùng địa lý Điều này tạo ra sự linh hoạt cho người chơi và cho phép họ chơi game ở nhiều
vị trí khác nhau.
+ Không phụ thuộc vào Internet: Giống như local multiplayer, mạng LAN không yêu cầu kết nối Internet 6n định dé choi game Điều này giúp tránh sự cố kết nối và đảm bảo người chơi có thể chơi game một cách liên tục và én định.
Nhược điểm:
+ Hạn chế địa lý: Mạng LAN chỉ giới hạn trong một vùng địa lý nhất định, như một phòng chơi game, một văn phòng hoặc một trường học Điều này có nghĩa là người chơi không thê kết nối và chơi game với nhau nếu họ không ở cùng
một vi trí.
+ Cần cài đặt và cấu hình mạng LAN: Dé sử dụng mạng LAN, người dùng cần cài đặt và cấu hình mạng LAN, bao gồm việc kết nối các thiết bị và cài đặt địa chi IP cho từng thiết bị Điều này có thé đòi hỏi kiến thức kỹ thuật và thời gian dé thiết lập và triển khai mang LAN.
Nguyễn Hữu Tuấn — B19PTDPT 12
Trang 25Đồ án tốt nghiệp Dai học CHUONG 1
1.4.2.3 Peer-to-peer
Kiến trúc Peer-to-peer (P2P) cho phép các người chơi kết nối trực tiếp với nhau thông qua mạng Internet mà không cần sử dụng máy chủ trung gian Trong kiến trúc P2P, mỗi người chơi đóng vai trò là một "đồng sàng lựa" (peer) và truyền tải dữ liệu trực tiếp cho nhau Kiến trúc P2P thường được sử dụng trong các trò chơi nhỏ hoặc trò chơi không yêu cầu tính toàn vẹn cao của dữ liệu.
Uu điểm:
+ Không yêu cầu máy chủ trung gian: Kiến trúc P2P loại bỏ sự phụ thuộc vào máy chủ trung gian Mỗi người chơi đóng vai trò đồng sàng lựa và truyền tải dữ liệu trực tiếp cho nhau Điều này giúp giảm độ trễ và tăng tính năng cao của
trò chơi.
+ Linh hoạt trong mạng Internet: Kiến trúc P2P cho phép người chơi kết nối và
chơi game với nhau thông qua mạng Internet Điều này có nghĩa là các người chơi có thể chơi game với nhau từ xa, mà không bị giới hạn bởi địa điểm địa
+ Tiết kiệm chi phí: Vì không cần sử dung máy chủ trung gian, kiến trúc P2P giúp giảm chỉ phí về việc thuê hoặc duy trì máy chủ.
Nhược điểm:
+ Độ tin cậy: Kiến trúc P2P dựa vào sự kết nối trực tiếp giữa các người chơi và không có máy chủ trung gian kiểm soát quá trình truyền tải đữ liệu Do đó, nếu một người chơi gặp sự có kết nối hoặc mat kết nối, có thé gây ra sự gián đoạn
hoặc làm gián đoạn trò chơi cho các người chơi khác.
+ An ninh: Trong kiến trúc P2P, các người chơi kết nối trực tiếp với nhau thông qua mạng Internet, điều này có thé tạo ra các van đề về an ninh va bảo mật Có nguy cơ bị tấn công từ các người chơi xấu hoặc bị lộ thông tin cá nhân trong
quá trình kết nối P2P.
1.4.2.4 Client-server
Kiến trúc Client-server là một kiến trúc phô biến trong trò chơi đa người chơi Trong kiến trúc này, có một máy chủ trung tâm (server) và nhiều máy khách (client) kết nối với máy chủ dé chơi trò chơi Máy chủ có trách nhiệm quản lý trạng thái của trò chơi, xử lý các tương tác giữa người chơi và đồng bộ hóa dữ liệu Máy khách gửi yêu cầu và nhận phản từ máy chủ dé cập nhật trang thái trò chơi và hiền thị thông tin cho người chơi.
Uu điểm:
+ Quản lý trạng thái và đồng bộ hóa: Kiến trúc client-server cho phép máy chủ quản lý trạng thái của trò chơi và đồng bộ hóa dữ liệu giữa các máy khách Điều này đảm bảo rằng mọi người chơi có cùng một trạng thái trò chơi và tương tác với nhau một cách nhất quán.
+ Tính 6n định và tin cậy: Với kiến trúc client-server, máy chủ chịu trách nhiệm
xử ly các tác vụ quan trọng như xử lý tương tác người choi, tính toán trạng thái
và kiểm soát dit liệu Điều này giúp tăng tính 6n định và tin cậy của trò choi.
+ Mở rộng tốt: Kiến trúc client-server có khả năng mở rộng tốt khi có thé thêm nhiều máy khách kết nối với máy chủ.
Nguyễn Hữu Tuấn — B19PTDPT 13
Trang 26Đồ án tốt nghiệp Đại học CHUONG 1
+ Quản lý người chơi: Với kiến trúc client-server, máy chủ có khả năng quản ly thông tin và hoạt động của người chơi Điều này cho phép xây dựng hệ thống đăng nhập, quản lý tài khoản, lưu trữ tiến trình chơi game và cung cấp tính năng đa người chơi như hệ thống bạn bè, xếp hạng, và thách đấu Máy chủ
cung cấp một cơ sở dit liệu chung dé lưu trữ thông tin người chơi và đảm bao
tính nhất quán trong trò chơi Nhược điểm:
+ Phụ thuộc vào may chủ: Kiến trúc client-server yêu cầu có một máy chủ hoạt động dé xử ly các yêu cầu từ các máy khách Nếu máy chủ gặp sự cô hoặc không hoạt động, trò chơi có thể bị gián đoạn hoặc không thể chơi được Điều
này tạo ra sự phụ thuộc và rủi ro khi không có máy chủ hoạt động.
+ Độ trễ mạng: Trong kiến trúc client-server, các tác vụ và dit liệu phải truyền
qua mạng giữa máy khách và máy chủ Điều này có thé gây ra độ trễ mạng,
đặc biệt là khi kết nối Internet không én định hoặc có độ trễ cao Điều này có thé làm giảm trải nghiệm chơi game và gây ra sự không nhất quán trong trò
+ Chi phí và quản lý: Kiến trúc client-server đòi hỏi việc thiết lập, duy trì và
quản ly máy chủ Điều này đòi hỏi chi phí về phần cứng, phần mềm và quản ly
hệ thống Ngoài ra, việc mở rộng hệ thống để đáp ứng nhu cầu người chơi
cũng có thê tăng chỉ phí và đòi hỏi sự quản lý phức tạp hơn.
1.4.3 Tìm hiểu chỉ tiết về kiến trúc Client-server trong trò chơi
Kiến trúc Client-server trong trò chơi đa người chơi dựa trên mô hình phân tán, trong
đó có hai thành phần chính: máy chủ (server) và máy khách (client) Các nguyên tắc hoạt
động của kiến trúc này như sau:
3 Server Analyzes action andcalculate new world state
4 Client 4 Client
receives cen receives
changes in 2 The action Nợ changes in
the game is send to the changes in the game
Trang 27Đồ án tốt nghiệp Dai học CHUONG 1
Hình 1.7 Biểu đô luéng hoạt động cua Client - Server trong trò chơi — Nguồn:
+ Máy chủ (server): Máy chủ là trung tâm quản lý và điều khiển trò choi Nó có trách nhiệm lưu trữ dữ liệu trò chơi, xử lý logic trò chơi, và đồng bộ hóa các tương tác giữa người chơi Máy chủ cung cấp các dịch vụ như xác thực người dùng, quản lý kết nối va phân phối dit liệu giữa các máy khách.
+ Máy khách (client): Máy khách là các thiết bị được cài đặt trò chơi và kết nối với máy chủ Các máy khách gửi yêu cầu đến máy chủ dé tham gia trò chơi, nhận thông tin về trạng thái trò chơi và hiển thị giao diện cho người chơi Máy khách cũng chịu trách nhiệm gửi các tương tác của người chơi lên máy chủ đề cập nhật trạng thái trò chơi.
Quá trình hoạt động của kiến tric Client-server trong trò choi đa người chơi như sau:
Người chơi khởi động trò chơi và kết nối với máy chủ thông qua mạng
Máy chủ xác thực người dùng, tạo ra một phiên chơi mới và gửi thông tin về trạng thái ban đầu của trò chơi cho máy khách.
Máy khách hiển thị giao điện trò chơi cho người chơi và chờ đợi các tương tác
từ người chơi.
Người chơi tương tác với trò chơi thông qua máy khách, vi dụ như đi chuyển nhân vật, gửi tin nhắn, hoặc thực hiện hành động.
Máy khách gửi các tương tác của người chơi lên máy chủ.
Máy chủ xử lý các tương tác, cập nhật trạng thái của trò chơi và gửi thông tin cập nhật đến tất cả các máy khách liên quan.
Các máy khách nhận các thông tin cập nhật từ máy chủ và cập nhật trạng tháitrò chơi trên giao diện của người chơi.
Quá trình trao déi thông tin giữa máy chủ và máy khách tiếp tục diễn ra trong suốt quá trình chơi, đảm bảo rằng tất cả các người chơi đang tham gia đều nhìn thấy và tương tác với cùng một trạng thái của trò chơi.
Kiến trúc Client-server cho phép quản lý trung tâm, đồng bộ hóa dữ liệu và xử lý logic
tro chơi một cách hiệu quả, đông thời giảm thiêu sự gian lận và đảm bảo tính toàn vẹn của trò
chơi trong môi trường đa người chơi.
1.5 Tiểu kết chương 1
Chương | đã dé cập tới các kiến thức liên quan đến trò chơi điện tử và trò chơi đa người chơi, vê khái niệm, lich sử, đặc diém, thê loại và ứng dung của nó Ngoài ra chúng ta
còn hiệu thêm về các loại giao thức kết nôi, kiên trúc của trò chơi đa người chơi.
Từ những cơ sở lý thuyết này, chương 2 sẽ tập trung đi sâu hơn vào việc lựa chọn giải
pháp, các yêu cầu kỹ thuật phần mềm và thiết kế hệ thống quản lý, đồng bộ trò chơi.
Nguyễn Hữu Tuấn — B19PTDPT 15
Trang 28Đồ án tốt nghiệp Dai học CHUONG 2
CHƯƠNG 2: PHAN TÍCH THIẾT KE HE THONG QUAN LÝ VÀ DONG BỘ TRÒ CHƠI TƯƠNG TAC TRE EM ĐA NGƯỜI CHƠI.
2.1 Phân tích lựa chọn giải pháp kỹ thuật công nghệ cho hệ thống
Dựa trên cơ sở lí thuyết đã có ở chương 1, từ các phân tích mô hình triển khai phù hợp
nhất cho dự án là mô hình Client — Server Node.Js là một lựa chọn phù hợp dé phat trién hé
thống backend Node.js là một môi trường chạy mã JavaScript ở phía máy chủ, cho phép xây
dựng ứng dụng mạng có khả năng xử lý đồng thời cao và hiệu suất tốt Ngoài ra Node.js sử dụng mô hình sự kiện và non-blocking I/O, cho phép xử lý nhiều yêu cầu cùng một lúc mà
không gây block các luồng xử lý Điều này rất hữu ích trong việc xây dựng hệ thống backend
cho trò chơi, nơi có thể có hàng ngàn người chơi cùng truy cập và giao tiếp với máy chủ cùng
một lúc Bên cạnh đó chúng ta có giao thức TCP/IP hoặc UDP là phù hợp nhất đề triển khai
hệ thống backend nhằm gửi dit liệu đi cho bên trò chơi Do đó ta sẽ sử dụng Socket.io với
mặc định, nó sử dung giao thức WebSocket dé giao tiếp giữa máy chủ va client WebSocket
được xây dựng trên TCP/IP và cung cấp một kết nói hai chiều đầy đủ giữa máy chủ và client.
Tuy nhiên, Socket.io cũng hỗ trợ sử dụng UDP thông qua giao thức dgram trong Node.js Còn
về phần Website quản lý chúng ta sẽ sử dụng giao thức HTTP để quản lý các thông tin được
lưu chữ trên cơ sở dữ liệu Từ những phân tích trên chúng ta sẽ đi sâu vào khái niệm, lợi ích
và lý do chọn lựa các phần mềm cũng như thư viện chi tiết hơn.
2.1.1 Node.js
Khái niệm: Node.js là một nền tảng mã nguồn mở, chạy trên máy chủ và dựa trên JavaScript Nó được phát triển bởi Ryan Dahl và được phát hành lần đầu tiên vào năm 2009 Node.js được sử dụng để xây dựng các ứng dụng web, ứng dụng di động, ứng dụng IoT, và nhiều ứng dụng khác.
Lợi ích:
+ Sử dụng JavaScript, một ngôn ngữ lập trình phổ biến va dé học.
+ Kiến trúc hướng sự kiện, giúp cho ứng dụng có thé xử lý nhiều yêu cầu cùng
lúc một cách hiệu quả.
+ Tính mở rộng, có một thư viện không lồ các mô-đun mở rộng.
Lý do lựa chọn:
Node.js sử dụng JavaScript, một ngôn ngữ lập trình phổ biến và dé học Điều này giúp cho việc phát triển ứng dụng với Node.js trở nên dé dang hơn Node.js cũng sử dụng kiến trúc hướng sự kiện, giúp cho ứng dụng có thể xử lý nhiều yêu cầu cùng lúc một cách hiệu quả Đây là những yếu tố quan trọng đối với ứng dụng game.
Nguyễn Hữu Tuấn — B19PTDPT 16
Trang 29Đồ án tốt nghiệp Dai học CHƯƠNG 2
2.1.2 Visual Studio Code
Visual Studio Code là một trình soạn thảo mã nguồn mở va miễn phí được phát triển bởi Microsoft Nó cung cấp một giao diện người dùng dé sử dụng và nhiều tính năng hữu ich dé phát triển ứng dụng Visual Studio Code hỗ trợ nhiều ngôn ngữ lập trình và khung làm
việc, bao gồm cả Node.js.
Lợi ích:
+ Giao diện người dùng dễ sử dung: Visual Studio Code có một giao diện người
dùng thân thiện và trực quan, giúp cho việc phát triển mã trở nên đễ dàng hơn.
+ Hỗ trợ đa ngôn ngữ: Visual Studio Code hỗ trợ nhiều ngôn ngữ lập trình phổ biến như JavaScript, Python, C++, và nhiều ngôn ngữ khác Điều này cho phép
bạn làm việc trên nhiều dự án khác nhau trong cùng một môi trường.
+ Tích hợp Git: Visual Studio Code tích hợp tính năng quản lý phiên ban Git,
cho phép bạn quan lý mã nguồn dé dang và làm việc với nhóm phát triển.
+ Tiện ích mở rộng: Visual Studio Code có một cộng đồng phong phú và mạnh mẽ các tiện ích mở rộng, giúp bạn tùy chỉnh và mở rộng chức năng của trình
soạn thảo theo nhu cầu của mình. Lý do lựa chọn:
Việc lựa chọn Visual Studio Code cho việc phát triển ứng dụng Node.js có nhiều lợi ích Visual Studio Code là một trình soạn thảo mã nguồn mạnh mẽ và linh hoạt, hỗ trợ nhiều ngôn ngữ và tích hợp công cụ hữu ích như Git Nó cũng có một cộng đồng phát triển đông
dao và nhiều tiện ích mở rộng sẵn sàng sử dụng Tất ca những điều này giúp cho việc phat
triển ứng dụng Node.js trở nên dé dàng và hiệu quả.
Nguyễn Hữu Tuấn — B19PTDPT 17
Trang 30Đồ án tốt nghiệp Dai học CHƯƠNG 2
Visual Studio Code
Hình 2.9 Phan mém Visual Studio Code — Nguồn: Wikipedia.com
2.1.3 Socket.io
Khái niệm: Socket.io là một thư viện JavaScript ding dé tạo giao tiếp hai chiều real-time giữa trình duyệt và máy chủ Socket.io cho phép ứng dụng game có thé giao tiếp với
người chơi theo thời gian thực.
Lợi ích:
+ Cho phép ứng dụng game có thé giao tiếp với người chơi theo thời gian thực.
+ Mạnh mẽ và linh hoạt, có thé được sử dụng dé xay dung giao tiép real-time cho nhiều loại ứng dung khác nhau.
+ Có cộng đồng người dùng lớn và tích cực, giúp cho việc học hỏi va sử dụng
Socket.io trở nên dễ dàng hơn.
Lý do lựa chọn: Ung dụng game cần có khả năng giao tiếp real-time với người chơi Socket.io là một thư viện mạnh mẽ và linh hoạt, có thé đáp ứng yêu cầu này Socket.io cũng
có một cộng đồng người dùng lớn và tích cực, giúp cho việc học hỏi và sử dụng trở nên dễ
dàng hơn.
Hình 2.10 Thư viện Socket.io — Nguồn: Wikipedia.com
Nguyễn Hữu Tuấn — B19PTDPT 18
Trang 31Đồ án tốt nghiệp Dai học CHUONG 2
2.1.4 Express.js
Khái niệm: Express.js là một framework JavaScript dùng dé xây dung API RESTful. Express.Js giúp cho việc xây dung API RESTful trở nên dé dàng và hiệu qua hơn.
Lợi ích:
+ Giúp cho việc xây dựng API RESTful trở nên dé dàng và hiệu quả hơn.
+ Có cộng đồng người dùng lớn và tích cực, giúp cho việc học hỏi và sử dung
Express.js trở nên dé dang hon.
Lý do lựa chọn: Ung dụng game can có API RESTful dé giao tiếp với các ứng dụng khác Express.js là một framework phổ biến và được sử dụng rộng rãi Express.js cũng có nhiều tính năng hữu ích, giúp cho việc xây dựng API RESTful trở nên dé dàng và hiệu quả
—XOFOSS “JS
Hình 2.11 Framework Express.js — Nguon: Wikipedia.com
2.1.5 MySQL
Khái niệm: MySQL là một hệ quan tri co sở đữ liệu quan hệ mã nguồn mở MySQL
có thê đáp ứng các yêu câu về hiệu suât và khả năng mở rộng của ứng dụng game.Lợi ích:
+ Có thé đáp ứng các yêu cầu về hiệu suất và khả năng mở rộng của ứng dụng
+ Pho biên và được sử dụng rộng rãi.
+ Có cộng đồng người dùng lớn và tích cực, giúp cho việc học hỏi va sử dụng
MySQL trở nên dé dang hơn.
Lý do lựa chọn: Ứng dụng game cần có cơ sở dữ liệu để lưu trữ dữ liệu của người
chơi MySQL là một hệ quản tri cơ sở dữ liệu quan hệ phô biến và được sử dụng rộng rãi.
MySQL có thé đáp ứng các yêu cầu về hiệu suất và khả năng mở rộng của ứng dụng game.
Nguyễn Hữu Tuấn — B19PTDPT 19
Trang 32Đồ án tốt nghiệp Dai học CHUONG 2
Hình 2.12 Hệ quản trị cơ sở dit liệu MySOL — Nguôn: Lotusacademy.edu.vn
2.1.6 ReactJs
Khái niệm: ReactJs là một thư viện JavaScript dùng để xây dựng giao diện web.
React.js có thé giúp tạo ra giao điện web đẹp mắt và hiệu quả.
Lợi ích:
+ Có thể giúp tạo ra giao diện web đẹp mắt và hiệu quả.
+ Mạnh mẽ và linh hoạt, có thé được sử dụng dé xây dung giao diện web cho nhiều loại ứng dụng khác nhau.
+ Có cộng đồng người dùng lớn và tích cực, giúp cho việc học hỏi va sử dụng
React.js trở nên dé dàng hon.
Lý do lựa chọn: Làm hệ thống game cần một web dé quan lý trạng thái trò chơi bao gồm số lượng kết nói, thông tin người chơi, thông tin game v.v ReactJs là một thư viện giúp hỗ trợ làm giao điện hiệu quả, đẹp mắt phù hợp với nhu cầu.
Ke React
Hình 2.13 Thư viện React — Nguôn: Bkacad.edu.vn
Nguyễn Hữu Tuấn — B19PTDPT 20
Trang 33Đồ án tốt nghiệp Dai học CHUONG 2
2.2 Phân tích yêu cầu hệ thống
2.2.1 Yêu cầu về tính năng kỹ thuật của hệ thống game đa người chơi
Yêu cầu về tính năng kỹ thuật của hệ thống game đa người chơi phụ thuộc vào loại trò
chơi và yêu cầu của người chơi Sau đây là một số yêu cầu cần được đáp ứng dé đảm bao trải
nghiệm chơi game tốt nhất cho người chơi Yêu cầu chung
+ Khả năng kết nối: Hệ thống cần cung cấp khả năng kết nối giữa các người chơi với nhau Điều này có thê được thực hiện thông qua mạng LAN, mạng WAN
hoặc mạng Internet.
+ Khả năng trao đổi dir liệu: Hệ thống cần có khả năng trao đổi dữ liệu giữa các người chơi với nhau Dữ liệu này bao gồm các thông tin cần thiết để trò chơi hoạt động, chăng hạn như vi trí, trạng thái, hành động của các người choi.
+ Khả năng đồng bộ dit liệu: Hệ thống cần đảm bảo rằng dit liệu được trao đổi
giữa các người chơi là đồng bộ Điều này sẽ giúp đảm bảo rằng trò chơi hoạt
động một cách trơn tru va chính xác.
+ Khả năng xử lý lỗi: Hệ thống cần có kha năng xử lý các lỗi xảy ra trong quá
trình kết nối hoặc trao đôi dit liệu Điều này sẽ giúp ngăn chặn trò chơi bị gián
đoạn hoặc bị lỗi.
Yêu cầu về hiệu suất: Hệ thống cần có khả năng xử lý và truyền tải dữ liệu giữa các
người chơi một cách nhanh chóng và hiệu quả Điều này sẽ giúp đảm bảo trải nghiệm chơi
game mượt mà và không bị gián đoạn.
Yêu cầu về bảo mật: Hệ thống cần có các biện pháp bảo mật để ngăn chặn việc truy cập trái phép vào dữ liệu của người chơi Điều này bao gồm việc sử dụng các phương pháp
mã hóa và xác thực
Yêu cầu về giao diện: Hệ thống cần có website quản lý tương thích với các hệ điều hành phổ biến Đáp ứng về mặt thẩm mỹ thê hiện và các quy tắc chung trong việc thiết kế UI của phần mềm.
2.2.2 Yêu cầu phi chức năng của phan mềm
Yêu cầu về độ tin cậy: Hệ thống cần dam bảo tính ôn định và đáng tin cậy dé người chơi có trải nghiệm liên tục và không bị gián đoạn Điều này đòi hỏi hệ thống phải được thiết kế dé xử lý tải trọng cao và có khả năng chịu được sự mở rộng khi có nhiều người chơi cùng
tham gia.
Yêu cầu về mỹ thuật: Giao diện quản lý của hệ thống cần được thiết kế một cách tối
ưu và trực quan dé dé quản lý Điều này bao gồm cung cấp một trải nghiệm quản lý 6n định,
dễ dàng bảo trì hệ thống.
Yêu cầu về khả năng mở rộng: Hệ thống cần có khả năng mở rộng dé đáp ứng nhu cầu
của người chơi trong tương lai Điều này bao gồm việc hỗ trợ thêm người chơi, thêm chế độ
chơi hoặc thêm tính năng mới.
Yêu cầu về tính bền vững: Hệ thống cần được thiết kế và xây dựng để có thể hoạt
động hiệu quả trong thời gian dài Điều này bao gồm việc sử dụng các công nghệ và tài
nguyên một cách hiệu quả.
Nguyễn Hữu Tuấn — B19PTDPT 21
Trang 34Đồ án tốt nghiệp Dai học CHUONG 2
2.2.3 Mô hình kiến trúc hệ thống
Người chơi sử dung giao diện người dùng, chang hạn là một ứng dụng di động
hoặc trình duyệt web.
Giao tiếp với máy chủ thông qua giao thức WebSocket sử dụng thư viện
Gửi yêu cầu và nhận phan hồi từ may chủ qua kết nối WebSocket.
Máy chủ chứa logic chính của trò chơi và quan lý trạng thái của người chơi. Sử dung Node.js và Socket.IO dé xây dựng máy chủ WebSocket.
Nhận yêu cầu từ client thông qua kết nối WebSocket và xử lý các hoạt động liên quan đên trò chơi.
Gửi lại phản hồi cho client thông qua kết nối WebSocket dé cập nhật trạng thái
trò chơi.
RESTful API:
+ May chủ cung cấp một RESTful API để quản lý và tương tác với các tài nguyên của hệ thống, chăng hạn như quản lý người chơi, lưu trữ đữ liệu trò chơi, thống kê, v.v.
Định nghĩa các endpoint RESTful để xử lý các yêu cầu từ ứng dụng quản trị Sử dụng các thư viện như Express.js dé xây dựng API RESTful.
Dữ liệu của hệ thống được lưu trữ trong cơ sở dữ liệu, chang hạn như MySQL,
PostgreSQL hoặc MongoDB.
May chủ va API RESTful truy cập và tương tác với cơ sở dit liệu dé lưu trữ va
truy xuất đữ liệu. Web Admin:
Giao diện quan trị web cho phép quản lý và giám sát hệ thống trò chơi.
Giao tiếp với máy chủ thông qua cả kết nối WebSocket và RESTful API.
Sử dụng các yêu cầu RESTful API để thực hiện các thao tác quản lý, như tạo
người chơi mới, xóa người chơi, lay thống kê, v.v.
Nhận thông báo và cập nhật trạng thái trò chơi thông qua kết nối WebSocket.
Mô hình kiến trúc trên cho phép client và web quản trị tương tác với máy chủ thông qua cả giao thức WebSocket và RESTful API Các yêu cau liên quan đến trạng thái trò chơi và cập nhật sẽ được xử lý thông qua kết nối WebSocket, trong khi các yêu cầu quản lý và truy xuất dữ liệu sẽ được xử lý thông qua API RESTful.
Nguyễn Hữu Tuấn — B19PTDPT 22
Trang 35Đồ án tốt nghiệp Dai học CHUONG 2
2.3.1 Mô tả về các tác nhân tham gia hệ thống
Người chơi (Player):
Người chơi là những cá nhân trực tiếp tham gia vào trò chơi đa người chơi Với sự đa dạng về độ tuôi, kinh nghiệm và mục đích chơi, người chơi có vai trò quan trọng trong trò
chơi va ảnh hưởng dén trải nghiệm chung của mọi người Dưới đây là một sô đặc diém mô tảngười chơi:
+ Da dạng về độ tuổi và kinh nghiệm: Người chơi có thé thuộc mọi độ tuôi, từ
trẻ em, thanh thiếu niên, đến người lớn và người cao tuổi Họ có thể có từ những kinh nghiệm chơi game cơ bản cho đến những người chơi chuyên nghiệp đã tích lũy nhiều kỹ năng và hiểu biết về trò chơi Trong dự án nãy sẽ
tập trung vào trẻ em.
Mục đích chơi: Người chơi có các mục đích và mong muốn chơi trò chơi đa người chơi khác nhau Một số người chơi muốn giải trí và thư giãn sau một ngày làm việc căng thang, trong khi những người khác có thé muốn tham gia vào cộng đồng game, kết nối với bạn bè hoặc thử thách bản thân trong các
cuộc thi chuyên nghiệp.
Tương tác và hợp tác: Người chơi thường tương tác và hợp tác với nhau đề đạt được mục tiêu trong trò chơi Họ có thể tạo ra các nhóm, giao tiếp qua tin nhắn, chat thoại hoặc hình ảnh để cùng nhau chiến đấu, giải đồ hoặc thực hiện
các nhiệm vụ trong trò chơi.
Tính cạnh tranh: Một số người chơi có tính cạnh tranh cao và muốn thử thách
kỹ năng của mình so với người chơi khác Họ tham gia vào các cuộc thị, giải
đấu hoặc thứ hạng dé cạnh tranh và đạt thành tích cao trong trò chơi.
Nguyễn Hữu Tuấn — B19PTDPT 23
Trang 36Đồ án tốt nghiệp Dai học CHUONG 2
+ Tạo hình nhân vật và tiến cấp: Trong nhiều trò chơi đa người chơi, người chơi
có khả năng tạo hình nhân vật riêng và tùy chỉnh ngoại hình, trang phục, và
khả năng của nhân vật Họ có thé tiến cấp, nâng cấp và thu thập các vật phẩm để cải thiện khả năng và trải nghiệm chơi game.
Quản trị viên (Administrator):
Quản trị viên là tác nhân có trách nhiệm quản lý và điều hành hệ thống game đa người chơi Vai trò của quản trị viên bao gồm:
+ Quản lý người choi: Quản trị viên có khả năng tạo, xóa va quản lý tai khoản
người chơi trong hệ thống Họ có thể kiểm tra và chỉnh sửa thông tin cá nhân, quản lý quyền truy cập, giải quyết các vấn đề liên quan đến người chơi, và đảm
bảo tuân thủ các quy định và chính sách của game.
+ Giám sát hoạt động: Quản trị viên theo đõi hoạt động trong game dé phát hiện và ngăn chặn các hành vi gian lận, vi phạm quy tắc hoặc hành vi không đúng đạo đức Họ có thể sử dụng các công cụ giám sát, như phi lại hoạt động va kiểm tra báo cáo từ người chơi để đảm bảo trò chơi diễn ra một cách công băng và an toàn.
+ Hỗ trợ người chơi: Quản trị viên đóng vai trò hỗ trợ người chơi trong trường
hợp gặp van dé kỹ thuật, mat kết nói hoặc khiếu nại về các vấn đề trong game Họ cung cấp hỗ trợ thông qua hệ thống hỗ trợ hoặc kênh liên lạc để giải quyết các vấn đề một cách nhanh chóng và hiệu quả.
+ Bảo mật và an ninh: Quản trị viên đảm bảo tính bao mật va an ninh của hệ
thống game đa người chơi Họ xác minh danh tính của người chơi, giám sát
hoạt động để phát hiện các hành vi đáng ngờ và thực hiện biện pháp bảo mật
để bảo vệ thông tin cá nhân và đữ liệu trong game Hệ thống (System):
Hệ thống là tác nhân chủ chốt trong hệ thống game đa người chơi Vai trò của hệ thống bao gồm:
+ Quản lý trang thái và luồng dữ liệu: Hệ thống duy trì va quan lý trang thái của trò chơi, bao gồm thông tin về các phòng chơi, người chơi, và trạng thái hiện
tại của trò chơi Nó cũng quản lý luồng dữ liệu giữa các tác nhân khác nhau
trong hệ thống, bao gồm người chơi, máy chủ, cơ sở đữ liệu và các tác nhân
+ Xử lý logic game: Hệ thống thực hiện xử lý logic game, bao gồm tính toán điểm số, kiểm tra và áp dụng các quy tắc trò chơi, và điều chỉnh trạng thái
game dựa trên hành động của người chơi Nó đảm bảo trò chơi diễn ra một
cách chính xác và công bằng.
+ Đồng bộ hóa dữ liệu: Hệ thống đảm bảo đồng bộ hóa dữ liệu giữa các người
chơi trong cùng một phòng chơi Nó đảm bảo rằng tất cả các người chơi nhìn thấy trạng thái và hành vi của nhau một cách nhất quán và không có sự sai khác Hệ thống đồng bộ hóa thông tin, cập nhật vị trí, hành động, và tương tác
giữa người chơi trong thời gian thực, đảm bảo rằng mọi người chơi đang tham
gia cùng một phiên trò chơi có trạng thái đồng nhất.
Nguyễn Hữu Tuấn — B19PTDPT 24
Trang 37Đồ án tốt nghiệp Dai học CHUONG 2
+ Quản lý kết nối: Hệ thống quản lý kết nối và giao tiếp mạng giữa các người
chơi và máy chủ Nó xử lý các yêu cầu và phản hồi từ người chơi, đảm bảo kết nối ôn định và đáng tin cậy.
+ Tối ưu hóa hiệu suất: Hệ thống được thiết kế dé đảm bảo hiệu suất tốt nhất cho trò chơi đa người chơi Nó tối ưu hóa việc xử lý dữ liệu, giảm độ trễ mạng và
đảm bao trải nghiệm choi game mượt mà va không bi gián đoạn.
+ Hỗ trợ mở rộng: Hệ thống được thiết kế để hỗ trợ mở rộng, cho phép tăng
cường số lượng người chơi, phòng chơi và tính năng trong trò chơi Nó có khả
năng mở rộng linh hoạt dé đáp ứng nhu cầu ngày càng tăng của người chơi.
2.3.2 Danh sách các yêu cầu chức năng của hệ thống
Theo tìm hiểu va phân tích các chức năng cần thiết nhất của một hệ thống trò chơi da người chơi được thể hiện ở bảng sau:
Tên chức năng
Đăng nhập Cho phép người chơinhập thông tin đăng nhập để truy cập vào tài khoản cá nhân.
Đăng ký Cho phép người chơi tạo
2 ra một tài khoản mới
trong hệ thông.
Đăng xuất Cho phép người chơi 3 đăng xuât khỏi tài khoản
hiện tại.
Quên mật khâu Gửi mật khâu mới vào
Email của người chơi
Đổi mật khẩu Cho phép người chơi thay
5 đôi mật khâu hiện tại của
Xem thông tin cá nhân Hiển thị thông tin cá
nhân của người chơi, bao
gồm tên, hình đại diện,
điểm số, thành tích, v.v.
8 | Nhắn tin trong phòng chơi Cho phép người chơi gửi và nhận tin nhắn trong
phòng chơi, nơi người chơi có thể tương tác với
Nguyễn Hữu Tuấn — B19PTDPT 25
Trang 38Đồ án tốt nghiệp Dai học CHUONG 2
Gửi lời mời kêt bạn
Cho phép người chơi thayđôi tên hiên thị của mình
trong hệ thông.
Cho phép người chơi thayđôi hình đại diện củamình trong hệ thông.
Cho phép người chơi
chọn một nhân vật đê sử
dụng trong trò chơi.
Cho phép người chơichọn thê loại trò chơi mà
họ muôn chơi.
Cho phép người chơi tạomột phòng chơi mới vàmời bạn bè tham gia.
Cho phép người chơitham gia vào một phòngchơi đã được tạo.
Cho phép người chơi tìm
kiêm các phòng chơi có
săn đề tham gia.
Cho phép người chơi bắt
đâu một trò chơi trong
phòng chơi.
Cho phép người chơi mua
vật phâm trong trò chơi
băng cách sử dụng diem
Cung cấp công cụ để quản lý và cập nhật các trò chơicó săn trong hệ thông.
Cho phép người chơi gửi
lời mời kết bạn với ngườikhác trong hệ thông.
Chấp nhận kết bạn Cho phép người chơi chấp
Nguyễn Hữu Tuấn — B19PTDPT
Trang 39Đồ án tốt nghiệp Dai học CHUONG 2với người chơi khác.
Quản lý kết nối người chơi Hệ thống cần cung cấp
cho người chơi các cách dễ dàng để kết nối và rời phòng chơi
Đồng bộ vị trí người chơi trong trò chơi Đồng bộ hóa vị trí của
người chơi trong trò chơi,cho phép các người chơithấy nhau di chuyển vatương tac trong cùng mộtkhông gian ảo.
Đồng bộ xoay, quay trong trò chơi Đồng bộ hóa xoay và
quay của các vật thê hoặc nhân vật trong trò chơi, đảm bảo sự nhất quán giữa các máy tính hoặc
thiết bị của người chơi.
Đồng bộ vật thể trong trò chơi Đồng bộ hóa các vật thể
trong trò chơi, đảm bảo
rằng mọi người chơi đều
Xóa tài khoản người chơi Quản trị viên có khả năng
xóa tải khoản người chơikhỏi hệ thông.
Xem tin nhăn người chơi Quản trị viên có quyên
truy cập và xem các tin
Nguyễn Hữu Tuấn — B19PTDPT 27