1. Trang chủ
  2. » Giáo Dục - Đào Tạo

DỰ án hệ điều HÀNH MẠNG máy TÍNH đề tài xây DỰNG GAME CHƠI cờ VUA ONLINE

29 3 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 1,29 MB

Nội dung

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH Đề tài : XÂY DỰNG GAME CHƠI CỜ VUA ONLINE SINH VIÊN THỰC HIỆN: Nguyễn Mạnh Đức LỚP: 19TCLC_DT2 NHÓM: 1911B Nguyễn Lê Nhật Minh LỚP: 19TCLC_DT2 NHÓM: 1911B Nguyễn Văn Vĩnh LỚP: 19TCLC_DT2 NHÓM: 1911B GIẢNG VIÊN HƯỚNG DẪN: ThS.Trần Hồ Thủy Tiên Đà Nẵng 12/ 2021 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH MỤC LỤC MỤC LỤC DANH SÁCH HÌNH VẼ MỞ ĐẦU LỜI CẢM ƠN .6 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT TỔNG QUAN VỀ ENGINE UNITY VÀ KHÔNG GIAN 2D, 3D 1.1 Unity gì? 1.2 Tổng quan Game Engine 1.3 Unity Engine .9 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 13 CÁC ĐẶC ĐIỂM VÀ TÍNH NĂNG CỦA UNITY 13 1.1 Rendering (kết xuất hình ảnh) 13 1.2 Lighting (ánh sáng) 13 1.3 Terrains (địa hình) 13 1.4 Substances (Texture thông minh) 14 1.5 Physics (vật lí) 14 1.6 Pathfinding (tìm đường) 14 1.7 Programming (lập trình) 14 1.8 Networking .14 CÁC THÀNH PHẦN TRONG UNITY 15 2.1 Assets 15 2.2 Scenes .15 2.3 Game Object .15 2.4 Component 16 2.5 Scripts .17 PHÂN TÍCH HỆ THỐNG DỰ ÁN GAME CỜ VUA ONLINE .19 Mạnh Đức, Văn Vĩnh, Nhật Minh Trang PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH 3.1 Giao diện chức đăng nhập, đăng ký .19 3.1.1.Chức đăng nhập 19 3.1.2.Chức đăng ký 20 3.2 Giao diện chế độ chơi Local , Online 21 3.2.1.Chế độ chơi Local 21 3.2.2.Chế độ chơi Online 22 CHƯƠNG 3: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 26 GIỚI THIỆU GAME .26 1.1 Quy luật chơi chính: 27 1.1.1.Di chuyển quân cờ: 27 1.1.2.Ăn quân cờ: .27 1.1.3.Đầu hàng (Surrend): 28 CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 28 KẾT LUẬN .28 HƯỚNG PHÁT TRIỂN 28 TÀI LIỆU THAM KHẢO 29 Mạnh Đức, Văn Vĩnh, Nhật Minh Trang PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH DANH SÁCH HÌNH VẼ Hình 1.1 Tổng quan Unity Hình 1.2 Logo Unity Hình 1.3 Kiến trúc Unity Hình 2.1 Assets Unity Hình 2.2 Scenes Unity Hình 2.3 GameObject Unity Hình 2.4 Component Unity Hình 2.5 Tạo Script Hình 2.6 Một file Script gắn vào đối tượng Hình 2.7 Một số đối tượng Prefabs Hình 3.1 Thiết kế giao diện Hình 3.2 Sử dụng Firebase để quản lý tài khoản đăng nhập vào game Hình 3.3 Thiết kế cho chức đăng ký Hình 3.4 Quản lý tài khoản người chơi thơng qua firebase Hình 3.5 Giao diện sau đăng nhập Hình 3.6 Vào game sau chọn chế độ Local Hình 3.7 Phần mềm Radmin VPN Hình 3.8 Màn hình chơi Online Hình 3.9 Màn hình chủ phịng đợi người chơi Hình 3.10 Màn hình chủ phịng người chơi kết nối thành cơng vào game Hình 4.1 Màn hình di chuyển quân cờ Hình 4.2 Màn hình ăn quân cờ Mạnh Đức, Văn Vĩnh, Nhật Minh Trang PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH MỞ ĐẦU Trong thời đại cơng nghệ thơng tin nay, sản phẩm công nghệ ngày chịu đánh giá khắt khe từ phía người dùng, đặc biệt sản phần Game nhận nhiều đánh giá từ phía Game thủ, người chơi bình thường Ngành cơng nghiệp Game nói bùng nổ, với tốc độ phát triển đến chóng mặt, nhiều Game hay hấp dẫn đời thời gian qua Phía sau Game phát triển tiếng có Game Engine Game Engine công cụ hỗ trợ, Middleware giúp người phát triển viết Game cách nhanh chóng đơn giản, đồng thời cung cấp khả tái sử dụng tài nguyên mã nguồn cao phát triển nhiều Game từ Game Engine Từ xu hướng phát triển nhũng bất cập trên, đồ án khảo sát nghiên cứu Engine Unity – Game Engine phổ biến không mạnh mẽ nhằm thực nghiệm việc phát triển trò chơi (Demo) Cờ Vua 3D Chuẩn bị kiến thức kỹ cho định hướng nghề nghiệp (phát triển Game) sau chúng em, góp phần vào phát triển ngành công nghiệp Game nước nhà Các chương đầu tài liệu trình bày khái niệm chung Game Engine giới 3D Các chương giới thiệu Engine Unity bao gồm đặc điểm, tính năng, cơng cụ thành phần Engine Sau nội dung thiết kế, tài liệu trình bày việc lập trình Untiy giới thiệu ngơn ngữ lập trình lớp, hàm thư viện dựng sẵn Unity thơng qua ví dụ thực tế phát triển game Cờ Vua 3D Mạnh Đức, Văn Vĩnh, Nhật Minh Trang PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH LỜI CẢM ƠN Chúng em xin chân thành cảm ơn thầy cô Khoa Công Nghệ Thông Tin , trường Đại học Bách Khoa Đà Nẵng tạo điều kiện tốn cho chúng em thực đề tài Em xin chân thành cảm ơn cô Trần Hồ Thủy Tiên, người rõ hướng trình lựa chọn thực hoàn thành đề tài Mặc dù chúng em cố gắng hoàn thành đồ án phạm vi khả cho phép, chắn không tránh khỏi thiếu sót, kính mong cảm thơng tận tình bảo q Thầy Cơ bạn Nhóm sinh viên thực Nguyễn Mạnh Đức Nguyễn Lê Nhật Minh Nguyễn Văn Vĩnh Mạnh Đức, Văn Vĩnh, Nhật Minh Trang PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH CHƯƠNG 1: CƠ SỞ LÝ THUYẾT TỔNG QUAN VỀ ENGINE UNITY VÀ KHÔNG GIAN 2D, 3D 1.1 Unity gì? Đã qua thời kỳ làm game Flash buồn chán với chuyển động thật cứng nhắc Unity mang lại sức mạnh kỳ diệu cho nhân vật mà muốn thể sống động không gian chiều đầy huyển ảo Công nghệ cao tạo bước đột phá khác biệt công nghệ làm game này, mang đến cho người chơi cảm giác khác lạ hào hứng chuyển động, tương lai công nghệ áp dụng vào game Việt Name mở trang giới game 2D, 3D huyền ảo Hình 1.1 Tổng quan Unity Unity dùng để làm video game, nội dung có tính tương tác thể kiến trúc, hoạt hình 2D, 3D thời gian thực Unity hao hao với Director, Blender game engine, Virtool shay Torque Game Builder khía cạnh dùng mơi trường đồ họa tích hợp q trình phát triển game Unity Engine giới làm game không chuyên ưu chuộng khả tuyệt vời phát triển trị chơi đa Trình biên tập chạy Windows MacOS, xuất game cho Windows, Mac, Wii, IOS, Android Game chơi trình duyệt web thơng qua plugin Unity WebPlayer Unity bổ Mạnh Đức, Văn Vĩnh, Nhật Minh Trang PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH sung khả xuất game widget cho Mac, Xbox 360, PlayStaytion 3, Chỉ với khoản tiền bỏ khiêm tốn ( 1.500 USD ) phiên pro nằm tay chúng ta, dĩ nhiên Việt Nam số tiền lớn thật may có phiên Unity free Tuy nhiên, nhiều tính quan trọng (Network) bị cắt giảm khơng phải vấn đề lớn muốn phát triển tựa game tầm trung Vào năm 2009, Unity nằm top game engine tốt cho việc sản xuất game với sau năm phát triển Unity đứng thứ 4, xếp sau Unreal Engine 3, Gamebryo Engine (được VTC Studio mua phát triển SQUAD) Cry Engine Lượng tài liệu hướng dẫn Unity rấy phong phú Hơn cịn có sẵn cộng đồng cực lớn với diễn đàn riêng Bất cử điều khơng hiểu thoải mái hỏi nhận câu trả lời nhanh chóng, tận tâm Q trình tạo địa truy xuất từ phần mềm 3DSMax, Mây, Cinema4D… nhanh chóng, Sức mạnh tiện lợi Unity vơ lớn Sức mạnh: Unity tạo nhiều loại game 2D, 3D đa dạng, dễ sử dụng với người làm game chưa chuyên nghiệp, chất lượng cao, chạy hầu hết hệ điều hành 1.2 Tổng quan Game Engine a) Khái niệm Một game Engine (hay công cụ tạo Game/động Game) phần mềm viết cho mục đích thiết kế phát triển video Game Có nhiều loại Game Engine dùng để thiết kế Game cho hệ máy hệ Consoles hay máy tính cá nhân (PC) Chức cốt lõi Game Engine phần lớn nằm cơng cụ dựng hình (kết xuất đồ họa) cho hình ảnh chiều (2D) hay chiều (3D), cơng cụ vật lý (hay cơng cụ tính tốn phát va chạm), âm thanh, mã nguồn, hình ảnh động (Animation), trí tuệ nhân tạo, phân luồng, tạo dòng liệu xử lý, quản lý nhớ, dựng ảnh đồ thị, kết nối mạng Quá trình phát triển Game tiết kiệm nhiều thời gian kinh phí vào việc tái sử dụng tái thích ứng Engine để tạo nhiều Game khác b) Mục đích Mạnh Đức, Văn Vĩnh, Nhật Minh Trang PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH Game Engine cung cấp phận công cụ phát triển trực quan tái sử dụng thành phần Nói chung cơng cụ cung cấp mơi trường phát triển tích hợp đơn giản hóa Phá triển ứng dụng nhanh (Rapid Application Development) cho Game theo cách lập trình hướng liệu, Những Game Engine đơi cịn gọi “ phần mềm trung gian cho Game” (Game Middleware), ý nghĩa thuật ngữ, chúng cung cấp tảng phần mềm linh hoạt dễ dàng sử dụng lại với chức cốt lõi cần thiết để phát triển ứng dụng Game đồng thời giảm giá thành, độ phức tạp, kịp thời hạn phát hành – tất yếu tố quan trọng nghành công nghiệp Game đầy cạnh tranh Giống phần mềm trung gian khác, Game Engine thường cung cấp tảng trừu tượng hóa, cho phéo Game chay nhiều hệ máy bao gồm hệ Consoles máy tính cá nhân với vài thay đổi (nếu cần) mã nguồn Game Thơng thường, phần mềm trung gian cho Game thiết kế với tảng kiến trúc dựa thành phần khác, cho phép hệ thống khác Engine thay mở rộng với phần mềm trung gian khác chuyên biệt Havok cho hệ thống vật lý Game, Miles Sound System cho âm thanh, hay Bink cho đoạn video Một số Game Engine cung cấp khả dựng hính (kết xuất) 3D thời gian thực hay khả riêng biệt khác thay nhiều chức phạm vi rộng mà Game yêu cầu Loại Engine thường gọi “Graphics Engine”, “Rendering Engine”, hay “3D Engine) thay thuật ngữ bao quát “Game Engine” Một vài ví dụ cho Engine đồ họa :RealmForge, Truevision3D, OGRE, Crystal Space, Genesis3D, Vision Engine, Irrlicht JMonkey Engine 1.3 Unity Engine a) Giới thiệu chung Mạnh Đức, Văn Vĩnh, Nhật Minh Trang PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH Hình 1.2 Logo Unity Nhà phát triển: Unity Technologies Phiên nhất: Unity Version: 2020.3.17f1 Được viết ngôn ngữ: C++;C# Phát triển Game cho hệ điều hành : Window, MacOSX, Wii, iPhone/iPad, Xbox 360, Android, PS3/ Giấy phép : Độc quyền Website : unity.com Unity 3D Game Engine, công cụ thiết kế Game dành cho PC, Mac nhiều hệ máy di động khác Unity hỗ trợ Just-In-Time Complilation (JIT), sử dụng thư viện mà nguồn mởi C++ Mono Bằng việc sử dụng JIT, Engine Unity tận dụng lợi tốc độ biên dịch, Những đoạn code viết Unity biên dịch Mono trước thực thi Điều quang trọng cho Game để thực thi code vào thời điểm cần thiết suốt thời gian chạy (RunTime) Ngoài thư viện Mono, Unity tận dụng chức thư viện phần mềm khác vào chức nó, Engine mơ vật lý PhysicX Nvidia, OpenGL DirectX cho kết xuất hình ảnh 3D, OpenAL cho âm thanh, Tất thư viện xây dựng thành tính tự độg cơng cụ trực quan vào Unity, Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 10 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH phổ biến Game online hệ thống điểm kinh nghiệm, chat tương tác thời gian thực,… Một số tính cung cấp Networking như: State Synchroniztion, Realtime Nerworking, Remote Procedure Calls, Backend Connectivity Web Browser Integration, Web Connecticity CÁC THÀNH PHẦN TRONG UNITY 2.1 Assets Hình 2.1 Assets Unity Assets tài nguyên xây dựng nên dự án Unity Từ tập tin hình ảnh, mơ hình 3D đến tập tin âm Unity gọi tập tin mà dùng để tạo nên trị chơi tài sản (Assets) Điều lí giải tất tập tin, thư mục dự án Unity lưu trữ thư mục có tên “Assets” 2.2 Scenes Trong Unity, cần hiểu cảnh (hay phân đoạn) nghĩa chơi riêng biệt khu vực hay thành phần có nội dung trị chơi (ví dụ Game menu) Bằng cách tạo nên nhiều Scenes cho trị chơi, phân phối thời gian tải kiểm tra phần khác trị chơi cách riêng lẽ Hình 2.2 Scenes Unity 2.3 Game Object Khi Assets sử dụng Scenes, chúng trở thành Game Object – thuật ngữ sử dụng Unity (đặc biệt mảng lập Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 15 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH trình) Tất Game Object chứa thành phần Transform Transform thông tin vị trí, góc xoay tỉ lệ đối tượng, tất mô tả số X, Y, Z hệ trục tọa độ Thành phần tùy biến lại q trình lập trình nhằm thay đổi vị trí, góc quay tỉ lệ đối tượng qua đoạn code Từ thành phần này, tạo Game Object với thành phần khác, bổ sung chức cần thiết để xây dựng nên thành phần nàn kích game mà tưởng tượng Hình 2.3 GameObject Unity 2.4 Component Component có nhiều hình thức khác Chúng xác định hành vi, cách xuất hiện,… hay ảnh hưởng đến khía cạnh khác chức Game Object trò chơi, Bằng cash “gắn” chúng vào Game Object, áp dụng tác động chúng lên đối tượng Những Component phổ biến q trình phát triển trị chơi unity hỗ trợ sẵn Ví dụ thành phần Rigidbody đề cập hay yếu tố đơn giản khác ảnh sáng, Camera nhiều thành phần khác Để tạo nên yếu tố tương tác trò chơi, sử dụng Script (mã kịch bản), chúng xem Component Unity Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 16 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH Hình 2.4 Component Unity 2.5 Scripts Được Unity xem Component, Script thành phần thiết yếu q trình phát triển trị chơi đáng đề cập đến khái “chìa khóa” Unity cung cấp cho khả viết Script loại ngôn ngữ là: Java Script, C# Boo(một dẫn xuất ngơn ngữ Python) Unity khơng địi hỏi phải học làm để lập trình Unity, phải sử dụng Script lại thành phần kịch mà phát triển Unity xây dựng sẵn tập hợp đa dạng lớp, hàm mà hồn tồn ứng dụng q trình lập trình cho trị chơi Để viết Script, làm việc với trình biên tập Script độc lập Untity, với chương trình Mono Developer tích hợp đồng với Unity phiên Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 17 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH Mono Developer IDE tốt để lập trình cung cấp nhiều chức tương tự Visual Studio Mã nguồn viết Mono Developer cập nhật lưu trư dự án Unity Hình 2.5 Tạo Script Mỗi đoạn Script muốn thực thi phải gắn vào đối tượng Hình 2.6 Một file Script gắn vào đối tượng 2.6 Prefabs Prefabs cho phép lưu trữ đối tượng với Components thiết đặt hồn chỉnh Có thể so sánh với khái niệm MoveiClip Adobe Flash, Prefabs đơn giản Container (một đối tượng chứa) rỗng mà đưa đối tượng hay liệu mẫu mà muốn tái sử dụng sau Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 18 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH Hình 2.7 Một số đối tượng Prefabs PHÂN TÍCH HỆ THỐNG DỰ ÁN GAME CỜ VUA ONLINE 3.1 Giao diện chức đăng nhập, đăng ký Hình 3.1 Thiết kế giao diện  Thiết kế bao gồm ảnh nền, text nhập thông tin, button tương ứng với chức : Login, Register Exit 3.1.1 Chức đăng nhập Để tiết kiệm thời gian đơn giản hóa dự án khơng q cầu kì tốn nhiều tài ngun nhóm sử dụng tảng CSDL Google FireBase Chúng ta đăng nhập người sử dụng vào ứng dụng FireBase cách sử dụng FireBaseUI làm giải pháp xác thực thả vào hoàn chỉnh cách sử dụng SDK xác thực FireBase để tích hợp Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 19 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH thủ cơng phương thức đăng nhập vào ứng dụng Hình 3.2 Sử dụng Firebase để quản lý tài khoản đăng nhập vào game FireBaseUI cung cấp giải pháp xác thực thả vào để xử lý luồng giao diện người dùng để đăng nhập vào địa email mật khẩu, số điện thoại với nhà cung cấp danh tính liên kết phổ biến, bao gồm Đăng nhập Google Đăng nhập Facebook FirebaseUI dễ dàng tùy chỉnh để phù hợp với phần lại phong cách hình ảnh ứng dụng bạn mã nguồn mở bạn khơng bị hạn chế việc nhận trải nghiệm người dùng mà bạn muốn 3.1.2 Chức đăng ký Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 20 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH Hình 3.3 Thiết kế cho chức đăng ký Cũng cách sử dụng tảng CSDL Google Firebase đăng ký tài khoản chưa có tài khoản mặc định thông qua xác thực mà Firebase đưa để có tài khoản thực đăng nhập vào để chơi game Ngoài ra, Firebase cịn có tài khoản admin để quản lý tài khoản đăng ký sửa đổi thơng tin cấp lại mật theo nhu cầu chủ tài khoản đề nghị Hình 3.4 Quản lý tài khoản người chơi thông qua firebase 3.2 Giao diện chế độ chơi Local , Online 3.2.1 Chế độ chơi Local Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 21 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH Hình 3.5 Giao diện sau đăng nhập Local chức chơi Offline, vào chơi sau đăng nhập mà không cần phải qua thao tác sử dụng mạng Hình 3.6 Vào game sau chọn chế độ Local Hai người tự chơi máy cách di chuyển quân cờ theo thứ tự trắng – đen 3.2.2 Chế độ chơi Online Online: chức chơi game Online, vào chơi sau người host tạo server vào phịng đợi, sau client nhập IP chủ phòng kết nối vào game chơi hai người online - Sau trình tạo kết nối mạng TCP cho game: Nghiên cứu giao thức TCP/IP + Là giao thức hướng kết nối (connection-oriented) nghĩa muốn truyền liệu phải thiết lập kết nối trước.  Hỗ trợ chế Full-duplex (truyền nhận liệu lúc).  + Cung cấp chế đánh giá số gói tin (Sequencing): để ráp gói tin cho điểm nhận.  + Cung cấp chế báo nhận ( Acknowledgement ): A gửi liệu cho B, B nhận gửi gói tin cho A xác nhận nhận Nếu Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 22 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH khơng nhận tin xác nhận A gửi B báo nhận thơi Các kết nối TCP tồn pha : + Thiết lập kết nối + Truyền liệu + Kết thúc kết nối Thiết lập kết nối: + Để thiết lập kết nối, TCP sử dụng quy trình bắt tay bước (3-way handshake) Trước client thử kết nối với server, server phải đăng ký cổng mở cổng cho kết nối: gọi mở bị động Một mở bị động thiết lập client bắt đầu mở chủ động Để thiết lập kết nối, quy trình bắt tay bước xảy sau:  Client yêu cầu mở cổng dịch vụ cách gửi gói tin SYN (gói tin TCP) tới server, gói tin này, tham số sequence number gán cho giá trị ngẫu nhiên X  Server hồi đáp cách gửi lại phía client tin SYNACK, gói tin này, tham số acknowledgment number gán giá trị X + 1, tham số sequence number gán ngẫu nhiên giá trị Y  Để hồn tất q trình bắt tay ba bước, client tiếp tục gửi tới server tin ACK, tin này, tham số sequence number gán cho giá trị X + tham số acknowledgment number gán giá trị Y + + Tại thời điểm này, client server xác nhận rằng, kết nối thiết lập Truyền liệu: + Ở hai bước ba bước bắt tay, hai máy tính trao đổi số thứ tự gói ban đầu (Initial Sequence Number -ISN) Số chọn cách ngẫu nhiên Số thứ tự dùng để đánh dấu khối liệu gửi từ máy tính Sau byte truyền đi, số lại tăng lên Nhờ ta xếp lại chúng tới máy tính gói tới nơi theo thứ tự Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 23 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH + Trên lý thuyết, byte gửi có số thứ tự nhận máy tính nhận gửi lại tin báo nhận (ACK) Trong thực tế có byte liệu gán số thứ tự trường số thứ tự gói tin bên nhận gửi tin báo nhận cách gửi số thứ tự byte chờ Kết thúc kết nối: + Để kết thúc kết nối hai bên sử dụng trình bắt tay bước chiều kết nối kết thúc độc lập với Khi bên muốn kết thúc, gửi gói tin FIN bên gửi lại tin báo nhận ACK Vì vậy, trình kết thúc tiêu biểu có cặp gói tin trao đổi + Một kết nối tồn dạng "nửa mở": bên kết thúc gửi liệu nên nhận thông tin, bên tiếp tục gửi + Mô tả server client sử dụng API Unity Transport Server: + Tạo NetworkDriver NativeList NetworkConnection để chứa danh sách kết nối + Dùng phương thức Listen để lắng nghe kết nối từ Client + Dùng phương thức Accept để chấp nhận kết nối, kết nối thành công dùng NativeList lưu kết nối + Gửi nhận liệu với client sử dụng phương thức WriteByte ReadByte lớp DataStreamWrite DataStreamReader + Đóng kết nối Client: + Tạo NetworkDriver NetworkConnection để chứa kết nối + Dùng phương thức Connect để gửi yêu cầu kết nối đến server + Gửi nhận liệu với client sử dụng phương thức WriteByte ReadByte lớp DataStreamWrite DataStreamReader + Đóng kết nối - Phần mềm Radmin VPN: Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 24 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH Radmin VPN là phần mềm VPN miễn phí cho máy tính, đáp ứng nhu cầu người dùng, giúp kết nối máy từ xa mạng riêng ảo tin cậy hỗ trợ kết nối Internet an toàn Phần mềm Radmin đưa vào Game nhằm mục đích để host tạo mạng riêng bao gồm IP thêm người dùng vào mạng riêng Người dùng dùng IP host để kết nối đến game chơi Online Hình 3.7 Phần mềm Radmin VPN - Mô tả bước chơi Online: Bước 1: Host nhập IP phần mềm Radmin bấm Host sau đợi người chơi vào Hình 3.8 Màn hình chơi Online Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 25 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH Hình 3.9 Màn hình chủ phịng đợi người chơi Bước 2: Người chơi nhập IP Host vào ô “Enter text” bấm Connect sau người chơi kết nối đến phịng bắt đầu chơi Hình 3.10 Màn hình chủ phịng người chơi kết nối thành công vào game CHƯƠNG 3: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ GIỚI THIỆU GAME Cờ vua trò chơi board game dành cho người Trò chơi sử dụng bàn cờ hình vng chia thành 64 vng nhỏ với hàng ngang hàng dọc Mỗi người chơi bắt đầu với 16 quân cờ, bao gồm Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 26 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH tốt, mã, tượng, xe, hậu vua Mục tiêu người chơi cố gắng chiếu hết vua đối phương Đặc trưng trị chơi mà nhóm phát triển thời điểm có phịng gồm hai người chơi Người chơi chủ phòng set quân cờ màu trắng, ngược lại người chơi vào sau set quân cờ đen Ván đấu kết thúc Vua đối phương bị ăn 1.1 Quy luật chơi chính: 1.1.1 Di chuyển quân cờ: Người chơi di chuyển quân cờ cách click vào quân cờ kéo quân cờ theo hướng màu xanh định (hướng màu xanh hướng mà qn cờ đi) Hình 4.1 Màn hình di chuyển quân cờ 1.1.2 Ăn quân cờ: Tùy thuộc vào chức quân cờ có cách ăn quân cờ riêng Muốn ăn quân cờ tầm kiểm soát Người chơi click chọn quân cờ dùng để ăn quân cờ đối phương di chuyển hướng màu đỏ quân cờ đối phương ăn Sau quân cờ đối phương bị ăn, quân cờ đưa khỏi bàn cờ Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 27 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH Hình 4.2 Màn hình ăn qn cờ 1.1.3 Đầu hàng (Surrend): Khi người chơi muốn dừng chơi chưa ăn Vua đối phương, người chơi bấm Surrend bên góc phải hình Khi ván chơi kết thúc thông báo đối phương chiến thắng CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN KẾT LUẬN Qua trình thực PBL4: Dự án Hệ Điều Hành Mạng Máy tính, nhóm em học thêm nhiều kiến thức mới, cách thức làm game cờ hồn chỉnh hoạt động áp dụng hệ điều hành Với đề tài làm game chơi cờ vua, có số chức nhóm chúng em chưa hồn thiện đầy đủ Nếu thời gian cho phép, nhóm cố gắng hoàn thiện phát triển sản phẩm HƯỚNG PHÁT TRIỂN Phát triển thêm nhiều chức phong hậu, tính điểm, chia khoảng thời gian, quên mật ,v v Gia tăng tốc độ chạy xử lý, tối ưu giảm thiểu dung lượng game Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 28 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH TÀI LIỆU THAM KHẢO [1] Unity, Unity UNET Multiplayer Tutorials, https://forum.unity.com/threads/unity-5-unet-multiplayer-tutorials-making-a-basicsurvival-co-op.325692/ [2] Unity, Unity 3D Doc, https://docs.unity3d.com/Manual/index.html [3] Unity, Unity Transport Manual, https://docs.unity3d.com/Packages/com.unity.transport@0.3/manual/TableOfConte nts.html?fbclid=IwAR34p9E5q2hiqaENZalhLyvd1VcGWd8uojBcZlrh-zBHEZOaL76PaRf1C4 [4] Du Nguyen, Hướng dẫn làm game online multiplayer Unity sử dụng Networking, https://viblo.asia/p/huong-dan-lam-game-online-multiplayer-trongunity-su-dung-unity-networking-7eEREJJgMgNj Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 29 ... Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 18 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH Hình 2.7 Một số đối tượng Prefabs PHÂN TÍCH HỆ THỐNG DỰ ÁN GAME CỜ VUA ONLINE 3.1 Giao diện chức đăng nhập, đăng ký... PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH Hình 4.2 Màn hình ăn qn cờ 1.1.3 Đầu hàng (Surrend): Khi người chơi muốn dừng chơi chưa ăn Vua đối phương, người chơi bấm Surrend bên góc phải hình Khi ván... OpenAL cho âm thanh, Tất thư viện xây dựng thành tính tự độg cơng cụ trực quan vào Unity, Mạnh Đức, Văn Vĩnh, Nhật Minh Trang 10 PBL4: DỰ ÁN HỆ ĐIỀU HÀNH & MẠNG MÁY TÍNH khơng cần phải lo lắng việc

Ngày đăng: 01/03/2022, 08:15

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w