Lập Trình Trò Chơi Mô Phỏng Board Game Đa Người Chơi

Khóa luận tốt nghiệp về kỹ thuật phần mềm, lập trình trò chơi mô phỏng thể loại game dạng bảng multiplayer, khám phá công nghệ và thiết kế.

Chuyên ngành

Kỹ thuật phần mềm

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2021

98
5
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. MỞ ĐẦU

1.1. Phát biểu đề tài

1.2. Mục tiêu

1.3. Phạm vi ứng dụng

1.4. Đối tượng ứng dụng

1.5. Phương pháp thực hiện

1.6. Kết quả mong đợi

1.7. Tính khả thi của ứng dụng

1.8. Nội dung của luận văn

2. CHƯƠNG 1: TỔNG QUAN

2.1. Giới thiệu khái quát

2.2. Game, Game Online và Board Game đang phát triển

2.2.1. Sự tăng trưởng của ngành Game trong đại dịch Covid 19

2.2.2. Khối lượng người chơi Board Game khổng lồ và ngày một tăng

2.2.3. Các vấn đề được giải quyết

3. CHƯƠNG 2: GIỚI THIỆU CÔNG NGHỆ

3.1. Unity3D Engine

3.2. WebGL

3.3. Unity Photon Network

3.4. GameSparks (BaaS: backend as a service)

4. CHƯƠNG 3: TRÒ CHƠI BOARD GAME SIMULATOR

4.1. Giới thiệu tổng quát

4.2. Thiết kế kiến trúc

4.2.1. Kiến trúc hệ thống

4.2.2. Mô tả các cơ chế

4.3. Thiết kế giao diện

4.3.1. Phần đăng nhập

4.3.2. Màn hình chính

4.3.3. Tỉnh chỉnh

5. CHƯƠNG 4: MỘT SỐ KỸ THUẬT SỬ DỤNG

5.1. Kỹ thuật sử dụng trong Unity3D, C#

5.1.1. Script Define Symbol Setting

5.1.2. Json String Compress

5.1.3. Một số Plugin được sử dụng

5.1.4. Kỹ thuật sử dụng Framework Unity Photon Network

5.1.4.1. Photon Transform View Component

5.1.5. Kỹ thuật sử dụng GameSparks (BaaS)

5.1.5.1. Cài đặt GameSparks trong Unity3D
5.1.5.2. Triển khai ứng dụng trên Itch

6. CHƯƠNG 5: DÙNG THỬ VÀ PHẢN HỒI

6.1. Một số hình ảnh trải nghiệm của người dùng

6.2. Một số phản hồi tiêu biểu

6.3. So sánh với một số ứng dụng tương tự trên thị trường

6.4. Mức độ hoàn thiện

TÀI LIỆU THAM KHẢO

DANH MỤC HÌNH VẼ

DANH MỤC BẢNG

DANH MỤC TỪ VIẾT TẮT

TÓM TẮT KHÓA LUẬN

Tóm tắt

I. Tổng quan về Lập Trình Trò Chơi Mô Phỏng Board Game Đa Người Chơi

Lập trình trò chơi mô phỏng board game đa người chơi đang trở thành xu hướng nổi bật trong ngành công nghiệp game. Sự phát triển của công nghệ đã mở ra nhiều cơ hội cho việc tạo ra các trò chơi game online hấp dẫn. Việc kết hợp giữa game nhập vaigame chiến thuật trong môi trường mô phỏng giúp người chơi có những trải nghiệm thú vị và mới mẻ. Các trò chơi này không chỉ mang tính giải trí mà còn giúp phát triển tư duy chiến lược và kỹ năng giao tiếp.

1.1. Khái niệm về Board Game và Multiplayer

Board game là thể loại trò chơi sử dụng bàn cờ và các vật dụng như quân cờ, bài, xúc xắc. Multiplayer đề cập đến việc nhiều người chơi cùng tham gia, tạo ra sự tương tác và cạnh tranh trong trò chơi.

1.2. Tại sao Board Game Đa Người Chơi lại phổ biến

Sự phổ biến của board game đa người chơi đến từ khả năng kết nối xã hội và tạo ra những kỷ niệm đáng nhớ giữa các người chơi. Chúng cũng giúp phát triển kỹ năng giao tiếp và tư duy phản biện.

II. Những Thách Thức trong Lập Trình Trò Chơi Mô Phỏng Board Game

Lập trình trò chơi mô phỏng không phải là điều dễ dàng. Các nhà phát triển phải đối mặt với nhiều thách thức như thiết kế giao diện người dùng, đồng bộ hóa dữ liệu giữa các người chơi và đảm bảo trải nghiệm mượt mà. Việc tạo ra một môi trường chơi game thân thiện và dễ sử dụng là rất quan trọng để thu hút người chơi.

2.1. Thiết kế Giao Diện Người Dùng

Giao diện người dùng cần phải trực quan và dễ sử dụng. Các yếu tố như màu sắc, bố cục và tính năng tương tác phải được cân nhắc kỹ lưỡng để tạo ra trải nghiệm tốt nhất cho người chơi.

2.2. Đồng Bộ Hóa Dữ Liệu

Đồng bộ hóa dữ liệu giữa các người chơi là một thách thức lớn. Các nhà phát triển cần sử dụng các công nghệ như Photon Unity Networking để đảm bảo rằng tất cả người chơi đều có thể tương tác với nhau một cách mượt mà.

III. Phương Pháp Lập Trình Trò Chơi Mô Phỏng Board Game Đa Người Chơi

Để phát triển một trò chơi mô phỏng board game đa người chơi, các nhà phát triển có thể áp dụng nhiều phương pháp khác nhau. Việc sử dụng các công cụ như Unity và GameSparks giúp tối ưu hóa quy trình phát triển và nâng cao hiệu suất của trò chơi.

3.1. Sử Dụng Unity cho Lập Trình Game

Unity là một công cụ mạnh mẽ cho việc phát triển game, cho phép tạo ra các trò chơi đa nền tảng với giao diện đồ họa hấp dẫn. Nó hỗ trợ nhiều tính năng như vật lý, ánh sáng và âm thanh.

3.2. Tích Hợp GameSparks cho Backend

GameSparks cung cấp các dịch vụ backend cho game, giúp quản lý người dùng, lưu trữ dữ liệu và xử lý các giao dịch trong game một cách hiệu quả.

IV. Ứng Dụng Thực Tiễn của Trò Chơi Mô Phỏng Board Game

Trò chơi mô phỏng board game đa người chơi không chỉ mang lại niềm vui mà còn có nhiều ứng dụng thực tiễn. Chúng có thể được sử dụng trong giáo dục, đào tạo kỹ năng mềm và phát triển tư duy chiến lược cho người chơi.

4.1. Ứng Dụng trong Giáo Dục

Các trò chơi mô phỏng có thể được sử dụng như một công cụ giáo dục, giúp học sinh phát triển tư duy phản biện và kỹ năng giải quyết vấn đề thông qua các tình huống trong game.

4.2. Phát Triển Kỹ Năng Mềm

Trò chơi mô phỏng cũng giúp người chơi phát triển kỹ năng giao tiếp, làm việc nhóm và lãnh đạo thông qua các tình huống tương tác trong game.

V. Kết Luận và Tương Lai của Lập Trình Trò Chơi Mô Phỏng Board Game

Lập trình trò chơi mô phỏng board game đa người chơi đang trên đà phát triển mạnh mẽ. Với sự tiến bộ của công nghệ, tương lai của ngành này hứa hẹn sẽ mang lại nhiều trải nghiệm mới mẻ và hấp dẫn cho người chơi. Các nhà phát triển cần tiếp tục đổi mới và sáng tạo để đáp ứng nhu cầu ngày càng cao của thị trường.

5.1. Xu Hướng Tương Lai

Xu hướng phát triển trò chơi mô phỏng sẽ tiếp tục gia tăng, đặc biệt là trong bối cảnh công nghệ VR và AR ngày càng phát triển, mở ra nhiều cơ hội mới cho người chơi.

5.2. Cơ Hội cho Các Nhà Phát Triển

Các nhà phát triển có cơ hội lớn để tạo ra những sản phẩm độc đáo và sáng tạo, đáp ứng nhu cầu của người chơi và tạo ra những trải nghiệm đáng nhớ.

10/07/2025
Khóa luận tốt nghiệp kỹ thuật phần mềm lập trình trò chơi mô phỏng thể loại game dạng bảng mutiplayer

Trích đoạn nội dung tài liệu

ĐẠI HỌC QUOC GIA TP. HO CHÍ MINH TRUONG DAI HQC CONG NGHE THONG TIN KHOA CONG NGHE PHAN MEM TRAN XUAN BAC KHOA LUAN TOT NGHIEP LAP TRINH TRO CHOI MO PHONG THE LOAI GAME DANG BANG, MULTIPLAYER Game programming to simulate board games, multiplayer KY SU NGANH KY THUAT PHAN MEM TP. HO CHÍ MINH, 2021 ĐẠI HỌC QUOC GIA TP. HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN KHOA CONG NGHE PHAN MEM TRAN XUAN BÁC - 16520069 KHÓA LUẬN TÓT NGHIỆP LAP TRÌNH TRÒ CHƠI MO PHONG THẺ LOẠI GAME DẠNG BANG, MULTIPLAYER Game programming to simulate board games, multiplayer KY SU NGANH KY THUAT PHAN MEM GIANG VIEN HUONG DAN ThS.

ĐINH NGUYEN ANH DUNG TP. HO CHi MINH, 2021 THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số 453/QĐ-ĐHCNTT ngày 19 tháng 07 của Hiệu trưởng Trường Dai học Công nghệ Thông tin. Nguyễn Trịnh Đông — Chủ tịch. Nguyễn Tan Toàn — Thư ký.

Nguyễn Thị Thanh Trúc ~ Ủy viên. LOI CAM ON Em xin cảm ơn ThS. Dinh Nguyễn Anh Dũng (giảng viên hướng dan) đã tận tâm chỉ bảo, góp ý và định hướng phát triển cho ứng dụng. Những lời khuyên của Thay đã giúp ứng dụng trở nên thực tế và dé dàng tiếp cận thị trường hon hon.

Em rất biết ơn quá trình học các môn Game cùng với Thầy đã giúp em tích góp được rất nhiều kiến thức và kinh nghiệm làm Game thực tiễn, những kiến thức vô cũng quý giá. Em cảm on Thay. Em xin cảm ơn ThS. Trần Thị Hồng Yến (giảng viên phản biện) đã đưa ra nhiều ý kiến đóng góp giúp em cải tiến ứng dụng cũng như hoàn thiện bản báo cáo khóa luận.

Em xin cảm ơn nhà trường, các thầy cô, đặc biệt là các quý thầy cô khoa CNPM đã tạo nền tang tư duy logic, tạo nền móng lập trình của em. Em xin gửi lời cảm ơn đến quý thay cô, bạn bè và gia đình, trong quá trình xây dựng đã dùng thứ ứng dụng và cho nhiều góp ý tích cực đề ứng dụng hoàn thiện hơn. Trong quá trình thực hiện, em đã tham khảo và tìm kiếm tài liệu từ nhiều nguồn khác nhau, rất nhiều người đã trải qua van dé và dé lại những giải pháp, không thé kể tên nhưng em xin cảm ơn sự đóng góp cộng đồng của mọi người. Xin chân thành cảm ơn tắt cả.

Thành phố Hồ Chí Minh, tháng 06 năm 2021 Trần Xuân Bắc MỤC LỤC TOM wyvà‹: 900950077. 2 Phát biểu đề tài. 2 Pham vi Ứng dụng. - + + TH HH TH HH HT ng ri 2 Đối tượng ứng dụng.

ce 2 Phương pháp thực hiỆn.----- - <5 1 E2 T219 111111 121110101001 ớy 3 Kết quả mong đợi. Tinh khả thi của ứng dụng .--- -:-- 525222222 S*‡E‡tetextErrkekererrrrrrerrke 3 Nội dung của luận văn. Giới thiệu khái quát.cc tt rớy 4 1. Game, Game Online và Board Game đang phát triên.

_ Sự tăng trưởng của ngành Game trong dai dich Covid 19. Khối lượng người choi Board Game khổng 16 và ngày một tăng. Các vấn đề được giải quyết.----ccccccccscrrrrrrrrrrrrrrrrrrrrree 6 Chương 2. GIỚI THIỆU CÔNG NGHỆP.2--+¿222222+ttC2Evzrrerrveccee 7 P Ni).

Unity Photon NetwOrK.---c-c+SeS+ttetererrkere 9 Chương 3. TRÒ CHOI BOARD GAME SIMULATOR. Giới thiệu tổng quát. Thiết kế kiến trúc.

_ Kiến trúc hệ thống 3. Mô tả các cơ chế. Thiết kế giao diện. Phan đăng nhập.

Màn hình chính. Tỉnh chỉnh Ñe€SOUTCG.- ---- 5-55 222S32 S222 EErr re51 Chuong 4. MOT SO KY THUAT SU DỤNG. Kỹ thuật sử dụng trong Unity3D, C#.

Script Define Symbol Setting.6 Json String Compress. Một số Plugin được sử dụng:. Kỹ thuật su dụng Framework Unity Photon Network. _ Photon Transform View Component.

TH HH HH HH HT HH HH kg, 63 4. Kỹ thuật sử dụng GameSparks (BaaS). Cài đặt GameSparks trong unity3ÌD. Các cai đặt GameSparks S€TVIC€.

Triển khai ứng dụng trên itCh.---2¿©22©5222x+2£xt2E+tzx+srxsrxrrxesree 71 Chương 5. | DUNG THU VÀ PHAN HÔI. Một số hình ảnh trải nghiệm của người dùng.------¿©z©cs+cs=sce- 73 5. Một số phản hôi tiêu biỀU.

So sánh với một số ứng dụng tương tự trên thị trường. Mức độ hoàn thiện.S+ SE HH tre79 6. HH HH ng 80 TÀI LIEU THAM KHẢO. -:- -StSSE2EEESEEEEEEEEEEEEEEEEESEEEEEEEEEEEESEEEkrkrkrrerkrrr 81 DANH MỤC HÌNH VẼ Hình 1.

Minh họa Board Game cổ điển [ I I].---- ¿+ 5s s+x+E+EeEx+EeEerxzxeEerezxez 4 Hình 1. Tổng doanh thu của ngành Game và sự tăng trưởng [ 14].3 Board game Ludo cô điển [15] .----¿--2¿- 5¿25++2++2£x+2zx+zx+erxezrxeszeee 6 Hình 2. Unity Engine hỗ trợ làm Game đa nền tảng [16] ,.cc-<csec++ 7 Hình 2. Unity Photon Network Asset Store Packages [19].

Entity — Component — System [23]. Kết nối Client — Server. Các thành phan chính của phần Editor.---¿--5¿ 2 5z2cxz2zxzs+szsz 13 Hình 3. Cơ chế Spawn Object ở EditOr.---2- 2222 s+SE+2E2EE+EEvEEeEEerrkerkerkerex 14 Hình 3.

Cơ chế tải Project trên EditOr. Cơ chế người chơi trong phòng.-- 22 2£ ©5£+2S22£+2EEtEE+eExezrxrrxeeree 16 Hình 3. Mô phỏng cơ chế hoạt động của Camera. Cơ chế xử lý Mouse InpUI.--- ¿- + 5s x+EE£EE+EE+EE+EEzErEerkerkerxerkrree 18 Hình 3.

Cơ chế kế thừa Object chung.---¿- ¿2+ ©5++2x+2£x+2x++zx+zrxezrxerresree 19 Hình 3. Sơ đồ Use-Case đăng nhập .-----¿- 2 ++E+2E£+EE+EE+EEtrEErrksrxrrrerex 19 Hình 3. Sơ đồ Use-Case màn hình chính .---- 2-22 x+x+zx++z+zzxerxezss 20 Hình 3. Sơ đồ Use-Case màn hình phòng chờ.

Biéu đồ Sequence đăng nhập. Biéu đồ Sequence đăng ký.-- ¿- ¿5c SEeEE2EE2EE2EEEEEeEEerkerkrrkrree 22 Hình 3. Biéu đồ Sequence quên mật khẩu .------¿- ¿+2 5++zx+2z+zs+zzs+ 23 Hình 3. Biéu đồ Sequence hiển thị danh sách Project.

Biéu đồ sequence tạo mới ProjeCt. Biéu đồ Sequence lưu PrOj€Cf.- ¿2-2 E+SE+EE2E++E£EEEerEerkerxerkrree 26 Hình 3. Biêu đồ Sequence tạo mới phòng chơi.:--2¿2©5¿25z2cx+>s+scsz 27 Hình 3. Biéu đồ Sequence gia nhập phòng chơi .--- 2-2 2s x+£x+zs+£sz +2 28 Hình 3.

Giao diện màn hình đăng nhập. Giao diện màn hình đăng ky. - -- 5 SĂ S22 2xx ssirrirrrerkrree 30 Hình 3. Giao diện màn hình yêu cầu mật khâu mới.

Màn hình chính .-- 6 6 + 1 3 23191931 91 01 vn ng ghng g g gưệp 31 Hình 3. Giao diện màn hình quản ly PrOJ€C(. Giao diện màn hình tạo mới PTOJ€CI .-- 255 55 3+ + ++ve+ssessees 33 Hình 3. Giao diện màn hình tạo phòng ChƠI.

Giao diện màn hình gia nhập phòng chơi. Giao diện màn hình thông tin tai khoản. Giao diện màn hình thay đôi mật khẩu. Giao diện màn hình cập nhật Display Name.

Giao diện chính của phần Editor.---- 2 5¿©¿+£+2x++zx+zzxzxssrxz 39 Hình 3. Giao diện bảng chỉnh sửa thông tin obJ€C(.- 255555 <++ss+ssss+ 43 Hình 3. Giao diện màn hình danh sách hình ảnh đăng tải. Giao diện màn hình đăng tải hình ảnh.

Giao diện màn hình phòng ChỜ. Giao diện của màn hình chơi Game. Doan mã xử dụng Raycast [2Š]. Mô phỏng cơ chế ánh xa ảnh con chuột của các người chơi.

Doan mã su dụng Raycast anh xạ ảnh con chuột. Doan mã tao Object Config bằng ScriptableObject. Doan mã su dung AssetDatabase Load Asset.--s-cs+e+sses 54 Hình 4. Cau hình của một Scriptable Object Config.------ ¿2s s+zxz>sz55 Hình 4.

Cài dat Script Define Symbol Setting trong Unity3D. Doan mã sử dung Script Define Symbol .---««++-««+++se++seexsssss 56 Hình 4. Doan mã sử dụng JsonUtility Parse chuỗi Json. Doan mã Convert từ Base64 sang Texture [30].

Doan mã Convert từ Texture sang Base64.- -- --cc-cscssssee 58 Hình 4. Doan mã nén chuỗi Ison. Doan mã giải nén chuỗi đã nén sang ISON. Đoạn mã sử dung DOTween làm Animafion.

Component WebGL Input trên Input Field UĨ. Doan mã hàm GetÏmage.-- -- + + + 13k ng trên 61 Hình 4. Photon View COImPORTTI.- 4 5 5E E11 931 119 1 1 nh ng ng tr 62 Hình 4. Photon Transform View compOTI€TI.

Doan mã gửi RPC qua tat cả Clientt.--- 2-2 2 2+se£xe£xe£xzzzrszxez 63 Hình 4. Doan mã nhận lệnh gọi R.- --- G25 E211 k**E* Vi skksrree 63 Hình 4. Cài đặt RPCs của Photon Unity NetWOrK.- ccs«cs«cssessssessee 64 Hình 4.-- - -- <1 3 12121191 9 1g ng ng 64 Hình 4. Setting GameSparks trong nity3ÌÏ.

Cau hình GameData trên GameSparks. Cau hình Event trên GameSparks. Doan mã CloudCode Save Project Model [39]. Doan mã gửi LogEventRequest Save Project Model từ Client.

Doan mã gửi AuthenticationRequest từ C]ienf. Doan mã gửi RegistrationRequest từ CÏient. Doan mã gửi ChangeUserDetailsRequest từ CÏient. Doan mã custom AuthenticationRequest ở BaaS.

Doan mã gọi Mailjet API Send Mail ở BaaS. Doan mã xử lý Reset Password ở BaaS. Doan mã gửi AuthenticationRequest với hành động resetPassword .io lưu trữ va phát hành trò chơi [4Š]. Giao diện trò chơi trên trang Web.- --c c ng ng 72 Hình 5.

Cờ Vua đã được tạo ra bởi Board Game SimulatOr. Cờ Tướng đã được tao ra bởi Board Game SimulafOr. Cờ Cá Ngựa đã được tạo ra bởi Board Game Simulator. Cờ Ty Phú đã được tạo ra bởi Board Game SimulatOr.

Chơi cờ Cá Ngựa trên Board Game Simulator. Ảnh chụp 4 người chơi cờ Ty Phú cùng một thời điểm. Tabletop Simulator trên Stream [46] DANH MỤC BANG Bang 5. Bảng ý kiến phản hồi đóng góp.

Bảng so sánh ứng dụng và TableTop Simulator DANH MỤC TỪ VIET TAT STT Từ viết tắt Ý nghĩa 1 Client - Phần chung được hiểu là ứng dụng (giữ ứng dụng với BaaS). - Trong game: người chơi khách. 2 Host Người chơi máy chủ (người chơi tạo server, cũng chính là chủ phòng). 3 BaaS Backend as a service (cũng được hiểu là server, cũng chính là GameSparks).

4 PUN Photon Unity Netwoking (xử lý multiplayer). 4 Multiplayer Nhiêu người chơi. 5 Board game Các trò chơi dạng bảng nói chung. 6 Object Cac déi tuong trong game.

7 Input Cac component nhập thông tin từ ban phim, chuột. 8 Button Button nhận hành động click chuột. 9 Display Thông tin hiện thị trên UI: image, text,. 10 Model Cac object 3D phục vụ việc đồ họa 3D.

TÓM TAT KHÓA LUẬN Tổng quan, giới thiệu về xu hướng chơi game trong tương lai, cách thức chơi các trò chơi dang bảng đang thay đồi. Giới thiệu về trò chơi và đánh giá mức độ khả thi của trò chơi. So sánh với các trò chơi tương tự hiện nay trên thị trường, điểm yếu hay điểm nôi bật hơn của ứng dụng. Công nghệ nao có tính tương thích cao, không kén thiết bị, thực sự vận hành trên trình duyệt của thiết bị mà không cần cài đặt thêm phần mềm thứ ba.

Lua chọn công nghệ tối ưu, có sự quan tâm nhiều và đảm bảo hiệu năng. Trong khoảng 4 tháng làm việc, ứng dụng đã cơ bản hoàn thành va phát hành trên Itch.io với đường dẫn: https://banogames.io/board-game-simulator Quá trình xây dựng ứng dụng đồng thời dùng thử trên một tập người dùng đã nhận được nhiều ý kiến đóng góp và cập nhật. Hiện tại ứng dụng dang được cải tiến, tối ưu và quảng bá cộng đồng (trên các mạng xã hội). MỞ DAU Phát biểu đề tài - _ Trong quá trình chon đề tài, sau khi nghiên cứu về xu hướng của ngành game và cũng như tập người chơi của các dạng game.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ