Xây dựng trò chơi cá ngựa bằng opengl

80 2 0
Xây dựng trò chơi cá ngựa bằng opengl

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC VÀ KĨ THUẬT MÁY TÍNH LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC ĐỀ TÀI: XÂY DỰNG TRÒ CHƠI CÁ NGỰA BẰNG OPENGL NGÀNH: KHOA HỌC MÁY TÍNH HỘI ĐỒNG KHOA HỌC MÁY TÍNH GVHD: ThS Trần Giang Sơn GVPB: ThS Vũ Văn Tiến SVTH: Lê Quang Tùng - MSSV: 1810784 Thành Phố Hồ Chí Minh, 12/2022 Page of 80 Page of 80 Page of 80 LỜI CAM ĐOAN “Chúng xin cam đoan, nội dung kết ghi tham khảo cơng trình khác, nội dung chúng tơi trình bày luận văn tốt nghiệp đại học chúng tơi thực khơng có phần sử để nộp lấy cấp trường trường khác Nếu có sai phạm nào, tơi xin chịu hồn tồn trách nhiệm trước Ban Chủ Nhiệm Khoa Ban Giám Hiệu Nhà Trường.” Tp Hồ Chí Minh, ngày 12 tháng 12 năm 2022 Sinh viên thực Lê Quang Tùng Page of 80 LỜI CẢM ƠN Trước vào nội dung chi tiết báo cáo, nhóm xin dành hết lịng biết ơn tới ThS Trần Giang Sơn - giảng viên khoa Khoa học Kỹ thuật Máy tính trường Đại học Bách Khoa TPHCM Trong suốt khoảng thời gian vừa qua đưa đề tài, tận tình hướng dẫn nhóm việc định hướng đề tài Chính nhờ tân tâm đó, nhóm thực hoàn thành báo cáo luận văn tốt nghiệp cách tốt Bên cạnh nhóm xin chân gửi lời cảm ơn đến quý thầy cô công tác Khoa Khoa Học Kỹ Thuật Máy tính - Đại Học Bách Khoa TPHCM năm qua dạy dỗ truyền đạt kiến thức, kỹ để nhóm thực đề tài với tảng kiến thức bền vững Cuối cùng, xin gửi lời cảm ơn đến gia đình, bạn bè người đồng hành với nhóm q trình thực luận văn Những lời tư vấn động viên quà quý báu tất người dành cho nhóm! Sinh viên thực Lê Quang Tùng Page of 80 TÓM TẮT NỘI DUNG Cờ cá ngựa hay gọi Cờ đua ngựa trò chơi giải trí với bàn cờ phổ biến mà chắn có nhiều lần bắt gặp trải nghiệm Trò chơi bắt nguồn từ trò Pachisi Ấn Độ, du nhập sang Mỹ trở thành Parcheesi phiên giản thể Ludo (cờ) Người Pháp gọi petits chevaux (ngựa nhỏ), cuối du nhập sang Việt Nam gọi Cờ cá ngựa Trò chơi từ hai đến bốn người chơi, diễn bàn cờ hình vng Sau này, cờ cá ngựa sáng tạo cấu tạo bàn cờ, quân cờ cách chơi tạo nên cờ cá ngựa “biến thể” độc đáo thú vị Nắm bắt điều đó, nhiều “biến thể” cờ cá ngựa đời PC hay Web thu hút nhiều người chơi Cờ cá ngưa (ZingPlay), Ludo Games (Steam), Pummel Party (Steam),… Những cách chơi lạ đem lại hấp dẫn cho người chơi , tăng tính cạnh trạnh độ khó board game Từ ý tưởng xây dựng trò chơi cá ngựa với luật chơi riêng sinh nhóm thực đầy đủ Page of 80 BỐ CỤC LUẬN VĂN Luận văn tổ chức thành năm chương bao gồm Giới thiệu, Cở sở lý thuyêt, Thiết kế chương trình phương pháp đề xuất, Hiện thực kết quả, cuối chương Tổng kết Chương Giới thiệu: cung cấp nhìn tồn cảnh đề tài luận văn theo đuổi, chia sẻ lý do, động lực để nhóm tác giả thực đồng thời vạch bước cụ thể nhằm hoàn thành tốt đề tài Những kiến thức liên quan cần thiết việc thực đề tài trình bày chương Cơ sở lý thuyết Chúng bao gồm kiến thức tảng đồ hoạ máy tính lập trình game Chương Phân tích hệ thống: mơ tả u cầu nghiệp vụ cải tiến luật chơi đa dạng Chương Thiết kế hệ thống: từ phân tích yêu cầu từ chương thực chương Chương Hiện thực kết trình bày mơi trường cơng cụ nhóm tác giả sử dụng để lập trình Cuối cùng, chương Tổng kết nêu làm được, cần phải cải tiến hướng phát triển đề tài tương lai Page of 80 MỤC LỤC Chương 1: Giới Thiệu 13 Giới thiệu đề tài: 13 1.1 1.1.1 Lịch sử: 13 1.1.2 Các thành phần cờ tiêu chuẩn: 13 1.1.3 Luật chơi tiêu chuẩn (Luật cờ cá ngựa Việt Nam): 13 1.1.3.1 Luật số lượng người tham gia: 13 1.1.3.2 Nguyên tắc chơi: 13 1.1.3.4 Phân thắng bại: 15 1.2 Lý chọn đề tài: 15 1.3 Mục tiêu đề tài: 16 Chương 2: Cơ sở lý thuyết 17 Luật chơi đề tài: 17 2.1 2.1.1 Giới thiệu: 17 2.1.2 Các thay đổi trình chơi: 17 2.1.3 Phân thắng bại: 18 Các công nghệ sử dụng đề tài: 19 2.2 2.2.1 Mơ hình phát triển: 19 2.2.2 Client: 21 2.2.2.1 OpenGL: 21 2.2.2.1.1 Giới thiệu: 21 2.2.2.1.2 Cách thức hoạt động: 22 2.2.2.1.3 Lý chọn OpenGL: 23 2.2.2.1.4 Một số thư viện hỗ trợ: 23 2.2.2.1.4.1 GLFW: 23 2.2.2.1.4.2 GLAD: 23 2.2.2.1.4.3 GLTF: 24 2.2.2.2 IrrKlang: 24 2.2.2.3 FreeType: 26 2.2.3 Server: 27 2.2.3.1 Windows Socket API (WinSock2): 27 Page of 80 Chương 3: Phân tích hệ thống 28 3.1 Phân tích yêu cầu đề tài: 28 3.2 Hệ thống hình trị chơi: 28 3.2.1 Sơ đồ hình: 28 3.2.2 Màn hình menu (Main Menu Screen): 29 3.2.2.1 Ý tưởng thiết kế: 29 3.2.2.2 Phân tích: 30 3.2.3 Màn hình cài đặt (Setting Screen): 30 3.2.3.1 Ý tưởng thiết kế: 30 3.2.3.2 Phân tích: 31 3.2.4 Màn hình chơi (Game Screen): 32 3.2.4.1 Ý tưởng thiết kế: 32 3.2.4.2 Phân tích: 33 3.2.5 Màn hình menu phụ (Sub Menu Screen): 34 3.2.5.1 Ý tưởng thiết kế: 34 3.2.5.2 Phân tích: 34 3.3 Hệ thống đối tượng trò chơi: 35 3.3.1 Hệ thống quân cờ, bàn cờ, xúc xắc: 35 3.3.2 Hệ thống thẻ bài, hiệu ứng thẻ bài: 36 3.3.3 Hệ thống kĩ bị động: 38 3.3.4 Hệ thống tài nguyên nâng cấp: 38 3.4 Hệ thống giai đoạn trò chơi: 38 3.4.1 Giai đoạn bắt đầu (Start Phase): 38 3.4.2 Giai đoạn bắt đầu (Begin Phase): 39 3.4.3 Giai đoạn mua (Buy Phase): 39 3.4.4 Giai đoạn rút thẻ (Draw Phase): 40 3.4.5 Giai đoạn kích hoạt thẻ (Spell Active Phase): 42 3.4.6 Giai đoạn lăn xúc xắc (Roll Phase): 43 3.4.7 Giai đoạn di chuyển (Move Phase): 43 3.4.8 Giai đoạn kết thúc (End Phase): 43 3.5 Máy chủ (Server): 43 Page of 80 Ngồi để play game người chơi phải chờ người chơi sẵn sàng Hình 5.3: Hình ảnh hình phịng chờ người chơi sẵn sàng Page 64 of 80 5.1.3 Màn hình game (Game Screen): Màn hình giúp người chơi chơi game cờ cá ngựa Hình 5.4: Hình ảnh hình game Page 65 of 80 5.1.4 Màn hình cài đặt (Setting Screen): Màn hình giúp người chơi có điều chỉnh FPS, âm Hình 5.5: Hình ảnh hình cài đặt Page 66 of 80 5.1.5 Màn hình Credit (Credit Screen): Màn hình giúp người chơi xem credit Hình 5.6: Hình ảnh hình credit Page 67 of 80 5.2 Các giai đoạn trò chơi: 5.2.1 Giai đoạn bắt đầu (Start Phase): Ở giai đoạn máy tính tính tốn hiệu ứng bất lợi có ngựa Hình 5.7: Hình ảnh giai đoạn bắt đầu (Start Phase) Page 68 of 80 5.2.2 Giai đoạn bắt đầu (Begin Phase): Ở giai đoạn Support Spell người chơi kích hoạt Hình 5.8: Hình ảnh giai đoạn bắt đầu (Begin Phase) Page 69 of 80 5.2.3 Giai đoạn mua (Buy Phase): Ở giai đoạn người chơi mua nâng cấp dựa vào lượng vàng có Hình 5.9: Hình ảnh giai đoạn mua (Buy Phase) Page 70 of 80 5.2.4 Giai đoạn rút thẻ (Draw Phase): Ở giai đoạn người chơi mua nâng cấp dựa vào lượng vàng có Hình 5.10: Hình ảnh giai đoạn rút thẻ (Draw Phase) Page 71 of 80 5.2.5 Giai đoạn kích hoạt thẻ (Active Spell Phase): Ở giai đoạn người chơi kích hoạt có Hình 5.11: Hình ảnh giai đoạn kích hoạt thẻ (Active Spell Phase) Page 72 of 80 5.2.6 Giai đoạn lăn xúc xắc (Roll Phase): Ở giai đoạn người chơi lăn xúc xắc Hình 5.12: Hình ảnh giai đoạn lăn xúc xắc (Roll Phase) Page 73 of 80 5.2.7 Giai đoạn di chuyển (Move Phase): Ở giai đoạn người chơi di chuyển ngựa Hình 5.13: Hình ảnh giai đoạn di chuyển (Move Phase) Page 74 of 80 5.2.8 Giai đoạn bắt đầu (End Phase): Ở giai đoạn máy tính tính tốn hiệu ứng bất lợi tính tốn lại lượng vàng người chơi Hình 5.14: Hình ảnh giai đoạn kết thúc (End Phase) Page 75 of 80 Chương 6: Tổng kết 6.1 Kết đạt được: Ngồi việc thực hồn chỉnh chương trình trò chơi cá ngựa theo luật bản, luân văn đã: - Phát triển luật chơi riêng giữ luật chơi truyền thống cờ cá ngựa thông thường - Xây dựng đồ hoạ 3d với nhiều tính chia giai đoạn rõ ràng để người chơi tiếp cận - Xây dựng tính thẻ bài, support spell người chơi lựa chọn đa dạng hoá lối chơi - Ngồi cịn bổ sung thêm tiền tệ, kinh tế nhằm đa dạng tính tốn người chơi đến với đề tài 6.2 Ưu điểm: Với tính thực hiện, hệ thống có ưu điểm như: - Có nhiều lựa chọn chiến thuật cho người chơi lựa chọn - Trò chơi cá ngựa có thêm nhiều yếu tố bổ sung giữ luật chơi cờ cá ngựa truyền thống - Xây dựng đồ hoạ 3d cho trò chơi cá ngựa với hình ảnh đẹp 6.3 Nhược điểm: Bên cạnh đó, hệ thống tồn nhược điểm bên cạnh chức ưu điểm nêu: - Bổ sung thêm chức điều khiển chuột thay bàn phím - Tăng thêm số lượng thẻ cịn hạn chế - Chưa có phần đăng nhập, đăng xuất cho người dùng - Chưa có tính nhằm phóng to thu nhỏ hình - Phần mềm cịn khó dùng gặp nhiều lỗi - Các vật thể 3d chuyển động thô cứng phần mềm chưa đọc nhiều file chuyển động - Ít chế độ chơi cho người chơi Page 76 of 80 6.4 Hướng phát triển: - Bổ sung thêm lựa chọn sử dụng chuột thay sử dụng bàn phìm - Thêm số loại kinh tế để tăng thêm lượng vàng thu nhập lượt trồng chọt loại cối lượt có giá bán loại - Bổ sung thêm nhiều loại nâng cấp nâng cấp thị trường tăng income lượt - Tạo thêm nhiều chế độ chơi cho người chơi death match, rainbow, imbalance, team, … Page 77 of 80 Tài liệu tham khảo [1] V Scott Gordon, John Clevenger (2021) Computer graphics programming in OpenGL with C++, Second edition [2] Pavan Ramchandani (2020) Hands-On C++ Game Animation Programming-Packt, First edition [3] Edward Angle (2008) Interactive computer graphics a top-down approach using OpenGL, Fifth edition [4] Alan Zucconi (2016) Unity 5.x Shaders and Effects Cookbook, First edition [5] David Wolff (2013) OpenGL Shading Language Cookbook, Second edition [6] Winsocket Page: https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nfwinsock2-socket Truy cập: 01/10/2022 [7] OpenGL API document: OpenGL Reference Pages (khronos.org) Truy cập: 10/09/2022 [8] OpenGL Official Page: OpenGL - The Industry Standard for High Performance Graphics Truy cập: 10/09/2022 [9] OpenGL Tutorial: LearnOpenGL - OpenGL Truy cập: 10/09/2022 [10] GLFW Official Page: An OpenGL library | GLFW Truy cập: 10/09/2022 Page 78 of 80

Ngày đăng: 20/06/2023, 20:40

Tài liệu cùng người dùng

Tài liệu liên quan