BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN CHUYÊN NGÀNH THIẾT KẾ VÀ XÂY DỰNG GAME CỜ VUA (CHESS) BẰNG NỀN TẢNG CÔNG NGHỆ UNITY 3D Giảng viên hướng dẫn : ThS. PHẠM VĂN ĐĂNG Sinh viên thực hiện : LÝ TRẦN HUY QUANG Mã số sinh viên : Chuyên ngành : KỸ THUẬT PHẦN MỀM Học kỳ - Năm học : 3/2021 - 2022 Khóa : 2019 TP. Hồ Chí Minh, tháng 9 năm 2022. LỜI CẢM ƠN Lời đầu tiên tôi xin gửi lời cảm ơn sâu sắc tới thầy Phạm Văn Đăng, cảm ơn thầy đã đồng hành và dẫn dắt tôi trong suốt thời gian nghiên cứu thực hiện Đồ Án Chuyên Ngành Kỹ Thuật Phần Mềm. Tiếp theo tôi muốn gửi đến khoa những lời cảm ơn trân trọng nhất, cảm ơn đã tạo cho tôi điều kiện học tập tốt nhất. Đặc biệt xin gởi lời cám ơn đến cha mẹ và anh chị em trong gia đình đã động viên tinh thần cũng như chia sẻ những khó khăn trong những năm qua. Cảm ơn bạn bè đã giúp đỡ tôi để tôi có thể hoàn thành tốt đồ án chuyên ngành kỹ thuật phần mềm này. Tôi biết kỹ thuật của mình còn yếu kém, kính mong thầy cô cho tôi những lời phê thẳng thắn để tôi có thể tiến xa hơn được trong tương lai. Một lần nữa tôi xin cảm ơn thầy Phạm Văn Đăng và quý thầy cô văn phòng khoa. Sinh viên thực hiện (Ký tên) 1 LỜI MỞ ĐẦU Trong thời đại công nghệ thông tin như hiện nay, sản phẩm công nghệ ngày càng chịu sự đánh giá khắt khe hơn từ phía những người dùng, đặc biệt là về sản phẩm Game được nhận rất nhiều sự đánh giá từ phía các Game thủ, hay chỉ là những người chơi bình thường. Ngành công nghiệp Game hiện nay có thể nói là bùng nổ, với tốc độ phát triển đến chóng mặt, rất nhiều những Game hay và hấp dẫn đã được ra đời trong thời gian qua Phía sau những Game phát triển và nổi tiếng như vậy đều có một Game Engine. Game Engine là một công cụ hỗ trợ, một Middleware giúp người phát triển viết Game một cách nhanh chóng và đơn giản, đổng thời cung cấp khả năng tái sử dụng các tài nguyên và mã nguốn cao do có thể phát triển nhiều Game từ một Game Engine. Từ xu hướng phát triển và những bắt cập trên, đồ án này sẽ khảo sát và nghiên cứu về Engine Unity-một Game Engine rất phổ biển và không kém mạnh mẽ hiện nay nhằm thực nghiệm việc phát triển trò chơi Cờ Vua - Chess. Chuẩn bị kiến thức và kỹ năng cho định hướng nghề nghiệp (phát triển Game) sau này của chúng em, góp phần vào sự phát triển của ngành công nghiệp Game nước nhà. 2 Trường Đại học Nguyễn Tất Thành Khoa Công Nghệ Thông Tin CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc NHIỆM VỤ ĐỒ ÁN CHUYÊN NGÀNH Họ và tên: Lý Trần Huy Quang ......................................... MSSV: 1911548093 Chuyên ngành: KỸ THUẬT PHẦN MỀM ........................ Lớp: 19DTH1B Email: quanghuylytran@gmail.com ................................. SĐT: 0812238689 Tên đề tài: THIẾT KẾ VÀ XÂY DỰNG GAME CỜ VUA (CHESS) BẰNG NỀN TẢNG CÔNG NGHỆ UNITY 3D Gíáo viên hướng dẫn: ThS. PHẠM VĂN ĐĂNG Thời gian thực hiện: 30/06/2022 đến 22/09/2022 Nhiệm vụ: Thiết kế và xây dựng game Cờ vua - Chess Nội dung: - Tìm hiểu về Unity - Tìm hiểu về luật chơi game Cờ vua - Chess - Phác họa thiết kế và xây dựng nôi dụng game Cờ vua - Chess. - Xây dựng các giao diện cho game. - Thiết kế các đối tượng cho game. - Lập trình xử lý game. Phương pháp: Sử dụng công nghệ Unity 3D để thực hiện đề tài game Cờ vua - Chess. Nội dung và yêu cầu đã được thông qua Bộ môn. TRƯỞNG BỘ MÔN (Ký tên) TP. HCM, ngày ... tháng … năm 2022 GIẢNG VIÊN HƯỚNG DẪN (Ký tên) ThS. Phạm Văn Đăng ThS. Phạm Văn Đăng 3 NHẬN XÉT CỦA GIẢNG VIÊN Nhận xét và Điểm giảng viên hướng dẫn ........................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... Nhận xét và Điểm giảng viên chấm vòng 2: ........................................................ ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... ................................................................................................................... Điểm báo cáo: ............................................................................................... ................................................................................................................... TPHCM, Ngày …… tháng …… năm Giảng viên chấm vòng 2 TPHCM, Ngày …… tháng …… năm Giảng viên hướng dẫn 4 MỤC LỤC 5 DANH MỤC CÁC BẢNG BIỂU 6 DANH MỤC CÁC BẢNG HÌNH 7 DANH MỤC CÁC TỪ VIẾT TẮT 8 CHƯƠNG 1: GIỚI THIỆU 1.1. Khảo sát hiện trạng - Trong thời đại công nghệ hiện nay, ngành công nghiệp Game ngày càng bùng nổ và có xu hướng phát triển không dừng lại. Game điện tử đã đi vào cuộc sống của biết bao nhiêu người, bao nhiêu lĩnh vực trong cuộc sống như những Mini Game trong những bài học giúp học sinh có thể hiểu nhanh hơn, những Mini Game quả tặng trong lĩnh vực kinh doanh làm tăng doanh thu, … - Nắm bắt sự bùng nổ đó, là người sinh viên ngành Công Nghệ Thông Tin như tôi không thể để tụt hậu. Tôi đã học hỏi, nghiên cứu, phát triển tựa game Cờ vua – Chess dựa trên nền tảng công nghệ Unity 3D. - Cờ vua là một trò chơi phổ biến khắp thế giới, hầu như người người, nhà nhà đều biết chơi cờ vua, nhưng cũng có một thực tế là cờ vua cần hai người chơi. Vì thế ý tưởng làm Game cờ vua trên nền tảng Unity để chơi trên máy tính, điện thoại ra đời. Với hi vọng tiện lợi, nhanh gọn để mọi người có thể tận hưởng, giải trí và phát triển lên online để mọi người khắp thế giới có thể chơi cùng với nhau. 1.2. Phát biểu bài toán - Game Cờ vua – Chess mô phỏng cờ vua ngoài đời thật nên cấu tạo cũng tương tự: Gồm hai thành phần chính là Quân cờ (Pieces) và Bàn cờ (Chess Board). Quân cờ gồm sáu quân cờ khác nhau đặt ở các vị trí khác nhau và có nước đi hoàn toàn khác nhau. - Luật chơi mô phỏng theo luật chơi của cờ vua. Game kết thúc khi bên kia ăn quân Vua (King) của bên còn lại. - Khi người chơi bên phe kia đi xong. Game sẽ tự động đổi lượt người chơi phe còn lại cho đến khi kết thúc Game. 1.3. Các đối tượng có trong Game - Bàn cờ - Quân Tốt (Pawn) - Quân Xe (Rook) - Quân Mã (Knight) - Quân Tượng (Bishop) - Quân Hậu (Queen) 9 - Quân Vua (King) 1.4. Mô tả đối tượng - Bàn cơ: Là nơi đặt các quân cờ vào các vị trí được quy ước sẵn, bàn cờ hình vuông được chia thành các 8x8 ô vuông bằng nhau (Cell) và được đánh màu so le nhau (Thường là trắng và đen). Mỗi nước đi của một quân cờ sẽ được dựa vào các ô vuông (Cell) đó. Hình 1 Bàn cờ vua - Quân Tốt (Pawn): Trong bàn cờ, quân tốt là quân nhiều nhất. Là quân đặc biệt nhất với khả năng đi hai bước khi đang ở vị trí ô khởi đầu, còn ở các ô khác thì chỉ đi được một bước. Tuy đi thẳng nhưng quân tốt lại ăn chéo, nó ăn chéo một ô. Quân tốt còn có khả năng thăng nếu ở ô hang cuối cùng so với phe người chơi. Hình 2 Quân Tốt (Pawn) 10 - Quân Xe (Rook): Trong bàn cờ, quân xe đặt ở vị trí bốn góc của bàn cờ. Là quân với khả năng đi thẳng không giới hạn tức bao nhiêu ô cũng được miễn không bị chặn bởi quân khác. Hình 3 Quân Xe (Rook) - Quân Mã (Knight): Trong bàn cờ, quân mã đặt ở 4 góc 7x7 của bàn cờ. Là quân cờ với khả năng đi hình chứ L và không bị cản bởi quân cờ. Tức là dù trên đường đi của quân mã có một quân cờ nào khác thì quân mã vần đi được trừ trường hợp ô mục tiêu có quân cùng phe đang đứng. Hình 4 Quân mã (Knight) 11 - Quân Tượng (Bishop): Trong bàn cờ, quân tượng đặt ở vị trí bốn góc 6x6 của bàn cờ. Là quân với khả năng đi chéo không giới hạn tức bao nhiêu ô cũng được miễn không bị chặn bởi quân khác. Hình 5 Quân Tượng (Bishop) - Quân Hậu (Queen): Trong bàn cờ, quân hậu đặt ở vị trí sát bên quân Vua, ô thứ tư từ trái qua phải hàng cuối cùng của mỗi phe. Quân hậu được mệnh danh là sự kết hợp giữa quân xe và quân tượng khi có thể đi thẳng hoặc chéo không giới hạn tức bao nhiêu ô cũng được miễn không bị chặn bởi quân khác. Hình 6 Quân Hậu (Queen) - Quân vua (King): Trong bàn cờ, quân vua là quan trọng nhất vì mất nó thì bên mất sẽ thua, nó đặt ở sát, bên trái quân hậu. Quân vua có thể đi bất kì hướng nào nhưng chỉ đi được một ô. 12 Hình 7 Quân Vua (King) 1.5. Các chức năng của trò chơi - Trò chơi cho phép người chơi tái hiện lại trận một trận cờ vua cơ bản ngay trên máy tính. - Cho phép hai người dùng chung một máy tính để chơi. - Tái hiện lại các nước đi của quân cờ theo luật chơi quốc tế. - Quân cờ có thể đi, ăn quân cờ khác. - Khi quân vua không còn đường đi, trò chơi tự động kết thúc (Checkmate). 1.6. Cơ sở lý thuyết 1.6.1 Giao diện và đối tượng trong Unity 1.6.1.1 Sơ lược về Unity - Unity là một “cross- flatform game engine” tạm hiểu là công cụ phát triển game đa nền tảng được phát triển bởi Unity Technologies. Game engine này được sử dụng để phát trển game trên PC, Consoles, thiết bị di động và trên websites. 13 1.6.1.2 Giao diện Unity Hình 8 Giao diện trong Unity Như hình trên chúng ta thấy có 5 khung khác nhau: - Scene [1] – nơi xây dựng trò chơi - Hierarchy [2] – danh sách các GameObject trong một cảnh game - Inspector [3] – màn hình cài đặt cho tài nguyên/đối tượng đang được chọn - Game [4] – cửa sổ xem trước game, chỉ hoạt động ở chế độ chơi (khi nhấn Play) - Project [5] – danh sách các tài nguyên trong project, đóng vai trò như một thư viện. [1].Cửa sổ Scene và Hierarchy Cửa sổ Scene là nơi chúng ta sẽ xây dựng toàn bộ các đối tượng trong game. Cửa sổ cung cấp nhiều góc nhìn khác nhau, có thể nhìn dạng phối cảnh hoặc dạng song song. Chúng ta có thể kéo thả đối tượng trên cửa sổ này, di chuyển, xoay… Hình 9 Công cụ điều khiển màn hình Scene Cửa sổ Scene cũng kèm theo bốn nút điều khiển tiện lợi như hình trên. Truy cập từ bàn phím bằng cách sử dụng các phím Q, W, E, và R. Các phím thực hiện các hoạt động sau đây: - Công cụ bàn tay [Q]: công cụ này cho phép di chuyển trong cửa sổ Scene, xoay góc nhìn, phóng to, thu nhỏ góc nhìn. 14 - Công cụ di chuyển [W]: Công cụ này dùng để di chuyển một đối tượng. - Công cụ xoay [E]: Công cụ này cho phép chúng ta xoay nhân vật theo một trục nào đó trong không gian. - Công cụ tỷ lệ [R]: Công cụ này cho phép chúng ta tăng giảm tỷ lệ kích thước của đối tượng. Khi chọn một đối tượng trong cửa sổ Scene, đối tượng này sẽ được tự động chọn trong cửa sổ Hierarchy và ngược lại. Hình 10 Chọn đối tượng trong Scene và Hierrarchy [2].Inspector Inspector sẽ hiển thị tất cả thông tin, các thành phần trong đối tượng game đang chọn, và cho phép điều chỉnh các biến của các thành phần này. Có thể xem cửa sổ này như cửa sổ Properties khi design giao diện Winform trên Visual Studio. 15 Hình 11 Cửa sổ Inspector hiển thị thông tin một đối tượng [3].Cửa sổ Game Cửa sổ này sẽ hiển thị những gì có trong cửa sổ Scene và sẽ hoạt động khi nhấn nút Play. Trong cửa sổ này chúng ta có thể chọn các kích cỡ hiển thị khác nhau để build cho các loại máy khác nhau. Chúng ta có thể chơi thử game trên cửa sổ này khi đã nhấn nút Play. Lưu ý rằng khi cửa sổ này hoạt động rồi thì mọi chỉnh sửa trên cửa sổ Scene và cài đặt cho các đối tượng chỉ là tạm thời và khi nhấn nút Stop, cửa sổ này về lại trạng thái tĩnh thì mọi chỉnh sửa trước đó là không còn. [4].Cửa sổ Project Cửa sổ Project thể hiện nội dung bên trong thư mục Assets của project chúng ta. Khi thêm tài nguyên vào thư mục Assets ngay lập tức chúng sẽ tự động được cập nhập vào project Unity của chúng ta. 1.6.2 Lập trình trên Unity 1.6.2.1 Định nghĩa lập trình trên Unity là gì ? Lập trình Unity 2D và 3D được lập trình dựa vào 3 ngôn ngữ chính là C#, Boo và UnityScript. Thông thường, ngôn ngữ chính mà lập trình viên Unity sử dụng phổ biến nhất hiện nay là C#. Đến đây, có câu hỏi đặt ra rằng: Tại sao Unity lại được sử dụng để thiết kế game rồi mà vẫn còn phải biết rõ những lập trình ở phía trên? 16 Unity có phần hạn chế lập trình nằm ở phần kéo thả nên các lập trình trên được áp dụng như phương pháp bổ trợ. Như ví dụ sau: Một trò chơi được lập trình với thao tác đơn giản là bắn máy bay, ngoài công việc kéo thả các giao diện tại main menu, đặt nhân vật và khung nền,... thì nó còn được thực hiện dựa trên phương pháp drag and drop. Những hiệu ứng bên trong trò chơi sẽ tự động lặp đi lặp lại như bầu trời của nền và đi lùi liên tục nhằm tạo ra các hiệu ứng máy bay đang di chuyển, vụ nổ, hoặc bắn đạn,... Chính vì vậy, không thể pick mãi 1 đối tượng rồi tiến hành thả liên tục trên đó cũng như cảnh chỉnh mãi bằng tay. Bởi đây là một trong những hiệu ứng tự động và cũng là cách duy nhất mà bạn cần phải lập trình. 1.6.2.2 Các khái niệm quan trọng trong lập trình Unity ? - GameObject Một đối tượng cụ thể trong game gọi là một game object, có thể là nhân vật, đồ vật nào đó. Ví dụ: cây cối, xe cộ, nhà cửa, người... - Component Một GameObject sẽ có nhiều thành phần cấu tạo nên nó như là hình ảnh (sprite render), tập hợp các hành động (animator), thành phần xử lý va chạm (collision), tính toán vật lý (physical), mã điều khiển (script), các thành phần khác... mỗi thứ như vậy gọi là một component của GameObject. - Sprite Là một hình ảnh 2D của một game object có thể là hình ảnh đầy đủ, hoặc có thể là một bộ phận nào đó. - Animation Là tập một hình ảnh động dựa trên sự thay đổi liên tục của nhiều sprite khác nhau. - Key Frame Key Frame hay Frame là một trạng thái của một animation. Có thể được tạo nên từ 1 sprite hay nhiều sprite khác nhau. - Prefabs Là một khái niệm trong Unity, dùng để sử dụng lại các đối tượng giống nhau có trong game mà chỉ cần khởi tạo lại các giá trị vị trí, tỉ lệ biến dạng và góc quay từ môt đối tượng ban đầu. Ví dụ: Các đối tượng là đồng tiên trong game Mario đều có xử lý giống nhau, nên 17 ta chỉ việc tạo ra một đối tượng ban đầu, các đồng tiền còn lại sẽ sử dụng prefabs. Hoặc khi ta lát gạch cho một cái nền nhà, các viên gạch cũng được sử dụng là prefabs. - Sounds Âm thanh trong game. - Script Script là tập tin chứa các đoạn mã nguồn, dùng để khởi tạo và xử lý các đối tượng trong game. Trong Unity có thể dùng C#, Java Script, BOO để lập trình Script. - Scenes Quản lý tất cả các đối tượng trong một màn chơi của game. - Assets Bao gồm tất cả những gì phục vụ cho dự án game như sprite, animation, sound, script, scenes… - Camera Là một game object đặc biệt trong scene, dùng để xác định tầm nhìn, quansát các đối tượng khác trong game. - Transform Là 3 phép biến đổi tịnh tiến, quay theo các trục, và phóng to thu nhỏ một đối tượng 18 CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1 Phân tích 2.1.1 Mô tả chức năng hệ thống 2.1.1.1 Bắt đầu Game - Hai người cùng dùng chung một máy. - Hai người ấn Play Game, Game sẽ tạo một bàn cờ vua đầy đủ để hai người cùng chơi 2.1.1.2 Di chuyển quân cờ - Khi người chơi chọn quân cờ mong muốn, những ô vuông mà quân cờ có thể tới sẽ được đánh màu nổi bật. Người chơi chọn đúng ô mà mình mong muốn, quân cờ sẽ di chyển tới đó. 2.1.1.3 Ăn cờ đối phương - Khi người chơi chọn quân cờ mong muốn, các ô vuông gợi ý sẽ hiện lên, nếu trong ô vuông gợi ý có quân cờ đối phương, nó sẽ chuyển màu đó, quân cờ sẽ ăn quân cờ đối phương, quân cờ đối phương sẽ mất khỏi bàn cờ. 2.1.1.4 Chiếu vua - Người chơi di chuyển quân cờ, nếu quân Vua đang trong thế chiếu – bị quân khác của đối phương ăn ở nước tiếp theo thì các quân cờ khác không giúp ích cho việc tránh Vua bị chiếu sẽ không thể di chuyển được. 2.1.1.5 Chiếu hết - Người chơi di chuyển quân cờ, nếu quân Vua đang trong thế chiếu – bị quân khác của đối phương ăn ở nước tiếp theo nhưng không còn đường nào có thể làm cho quân Vua thoát khỏi thế chiếu thì ván cờ kết thúc – Người mất vua thua. 2.1.1.6 Kết thúc trò chơi - Quân Vua của người chơi nào bị mất trước thì ván cờ đó sẽ kết thúc, người chơi mất quân Vua sẽ là người thua. 19 2.1.2 Sơ đồ Use – Case 2.1.2.1 Đặc tả Use – Case a. Use Case Bắt đầu trò chơi: UC1_ Bắt đầu trò chơi Tên Use – Case Bắt đầu trò chơi Mô tả Người chơi 1 hoặc người chơi 2 ấn PlayGame bắt đầu ván cờ vua Actor Người chơi 1, người chơi 2 Điều kiện kích Người chơi 1 hoặc người chơi 2 ấn nút Play hoạt Tiền điều kiện Người chơi 1 hoặc người chơi 2 chưa ấn nút Play Hậu điều kiện Người chơi 1 hoặc người chơi 2 ấn nút Play, bàn cờ vua cùng các quân cờ tự động sinh ra Luồng sự kiện Người chơi 1 và người chơi 2 muốn chơi muốn chơi ván cờ vua chính với nhau 1. Người chơi 1 hoặc người chơi 2 mở Game, ấn nút Play ở Menu chính 2. Game tự động tạo ra một bàn cờ và các quân cờ. 3. Use – Case kết thúc. Bảng 1 Use Case Bắt đầu trò chơi 20 b. Use Case Di chuyển quân cờ: UC2_ Di chuyển quân cờ Tên Use – Case Di chuyển quân cờ Mô tả Người chơi 1 hoặc người chơi 2 chọn và di chuyển quân cờ Actor Người chơi 1, người chơi 2 Điều kiện kích Người chơi 1 hoặc người chơi 2 chọn quân cờ muốn di chuyển và hoạt chọn ô đích Tiền điều kiện Người chơi 1 hoặc người chơi 2 chưa chọn quân cờ muốn di chuyển và chọn ô đích Hậu điều kiện Người chơi 1 hoặc người chơi 2 chọn quân cờ muốn đi và chọn ô đích, quân cờ di chuyển tới ô đích Luồng sự kiện Người chơi 1 và người chơi 2 đã bắt đầu một ván chơi, lượt người chính chơi cờ trắng di chuyển quân cờ trước. 1. Người chơi cờ trắng chọn quân cờ và chọn đích đến 2. Quân cờ di chuyển đến đích và đổi lượt 3. Use – Case kết thúc. Bảng 2 Use Case Di chuyển quân cờ c. Use Case Ăn cờ đối phương: UC3_ Ăn cờ đối phương Tên Use – Case Ăn cờ đối phương Mô tả Người chơi 1 hoặc người chơi 2 di chuyển và ăn quân cờ đối phương 21 Actor Người chơi 1, người chơi 2 Điều kiện kích Người chơi 1 hoặc người chơi 2 chọn quân cờ muốn di chuyển và hoạt chọn ô đích, ô đích phải có một quân cờ của đối phương Tiền điều kiện Người chơi 1 hoặc người chơi 2 chưa chọn quân cờ muốn di chuyển và chọn ô đích, ô đích không có quân cờ của đối phương Hậu điều kiện Người chơi 1 hoặc người chơi 2 chọn quân cờ muốn đi và chọn ô đích, quân cờ di chuyển tới ô đích, ô đích có quân cờ của đối phương, quân cờ của đối phương bị ăn và thay thế bởi quân cờ đang di chuyển. Luồng sự kiện Người chơi 1 và người chơi 2 đang chơi một ván cờ, quân cờ đen chính đang vào tầm ăn của quân cờ trắng. 1. Người chơi cờ trắng chọn quân cờ và chọn đích đến, đích đến có quân cờ đối phương 2. Quân cờ di chuyển đến đích, ăn quân cờ đối phương và đổi lượt 3. Use – Case kết thúc. Bảng 3 Use Case Ăn cờ đối phương d. Use Case Chiếu vua: UC4_ Chiếu vua Tên Use – Case Chiếu vua Mô tả Người chơi 1 hoặc người chơi 2 chọn và di chuyển quân cờ và chiếu vua đối phương Actor Người chơi 1, người chơi 2 22 Điều kiện kích Người chơi 1 hoặc người chơi 2 di chuyển quân cờ và có thể ăn hoạt quân vua của đối phương ở nước tiếp theo Tiền điều kiện Người chơi 1 hoặc người chơi 2 di chuyển quân cờ và không thể ăn quân vua của đối phương ở nước tiếp theo Hậu điều kiện Người chơi 1 hoặc người chơi 2 di chuyển quân cờ và có thể ăn quân vua của đối phương ở nước tiếp theo, khi đó ngoại trừ quân vua hoặc các quân có thể bảo vệ vua thì các quân khác không thể di chuyển tới khi quân vua an toàn Luồng sự kiện Người chơi 1 và người chơi 2 đang bắt đầu một ván cờ, người chơi chính 1 muốn chiếu vua người chơi 2 1. Người chơi 1 đi nước cờ có thể ăn Vua ở nước tiếp theo và đổi lượt 2. Người chơi 2 khi đó chỉ được đi quân Vua hoặc quân có thể bảo vệ Vua và đổi lượt 3. Use – Case kết thúc. Bảng 4 Use Case Chiếu vua e. Use Case Chiếu hết: UC5_ Chiếu vua Tên Use – Case Chiếu hết Mô tả Người chơi 1 hoặc người chơi 2 chọn và di chuyển quân cờ và chiếu vua đối phương, đối phương không thể di chuyển để quân Vua an toàn, kết thúc trò chơi. Actor Người chơi 1, người chơi 2 23 Điều kiện kích Người chơi 1 hoặc người chơi 2 di chuyển quân cờ và chiếu vua hoạt của đối phương Tiền điều kiện Người chơi 1 hoặc người chơi 2 di chuyển quân cờ và không thể ăn quân vua của đối phương ở nước tiếp theo Hậu điều kiện Người chơi 1 hoặc người chơi 2 di chuyển quân cờ và có thể ăn quân vua của đối phương ở nước tiếp theo, khi đó đối phương không thể di chuyển để Vua an toàn Luồng sự kiện Người chơi 1 và người chơi 2 đang bắt đầu một ván cờ, người chơi chính 1 chiếu vua người chơi 2 1. Người chơi 1 đi nước cờ có thể ăn Vua ở nước tiếp theo và đổi lượt 2. Người chơi 2 không thể di chuyển quân cờ để Vua an toàn 3. Use – Case kết thúc. Bảng 5 Use Case Chiếu hết f. Use Case Kết thúc trò chơi: UC6_ Kết thúc trò chơi Tên Use – Case Kết thúc trò chơi Mô tả Người chơi 1 hoặc người chơi 2 ăn quân Vua của đối phương và kết thúc trò chơi Actor Người chơi 1, người chơi 2 Điều kiện kích Người chơi 1 hoặc người chơi 2 chiếu hết đối phương hoạt 24 Tiền điều kiện Người chơi 1 hoặc người chơi 2 di chuyển quân cờ và không thể chiếu hết đối phương Hậu điều kiện Người chơi 1 hoặc người chơi 2 di chuyển quân cờ và chiếu hết đối phương – Kết thúc trò chơi Luồng sự kiện Người chơi 1 và người chơi 2 đang bắt đầu một ván cờ, người chơi chính 1 chiếu hết người chơi 2 1. Trò chơi kết thúc 2. Use – Case kết thúc. Bảng 6 Use Case Kết thúc trò chơi 2.1.2.2 Sơ đồ Use – Case tổng quát Hình 12 Sơ đồ Use – Case tổng quát 25 2.1.2.3 Sơ đồ Use – Case chi tiết a. Use Case Bắt đầu trò chơi Hình 13 Use Case Bắt đầu trò chơi b. Use Case Di chuyển quân cờ Hình 14 Use Case Bắt đầu trò chơi c. Use Case Ăn quân cờ đối phương d. Use Case Chiếu vua e. Use Case Chiếu hết f. Use Case Kết thúc trò chơi 26 2.2 Thiết kế giao diện trò chơi 2.2.1 Giao diện Menu đầu Game 2.2.2 Giao diện màn chơi Level 1 2.3 Hướng dẫn trò chơi 3.3.1 Cài đặt Unity để chơi - Download và cài đặt phần mềm Unity : https://unity.com/ Hình 15 Download Unity 27 Hình 16 Cài đặt Unity Hình 17 Cài đặt Unity - Chọn Agree and download. Sau đó chạy file cài đặt (UnityHubSetup.exe) mới download về. 28 Hình 18 Cài đặt Unity - Sau khi cài đặt xong, mở phần mềm Unity Hub lên để đăng kí và đăng nhập Hình 19 Cài đặt Unity 29 - Sau khi đăng nhập, đăng kí xong. Quay lại màn hình Unity Hub và chọn Install và ADD để cài đặt phiên bản Unity Editor theo yêu cầu Hình 20 Cài đặt Unity - Chọn phiên bản Unity được khuyến khích sử dụng Hình 21 Cài đặt Unity - Chọn Platform 30 Hình 22 Cài đặt Unity - Sau khi làm xong, chúng ta đợi một khoản khá lâu để cài đặt. Và đây là màn hình cài thành công Hình 23 Cài đặt Unity - Tới bước này, chúng ta sẽ Unity Hub, hướng đường dẫn tới File Game Robot Phiêu Lưu kí để chơi. 31 3.3.2 Cài đặt trực tiếp Game vào máy tính để chơi - Sau khi tải về, ta sẽ có được 1 thư mục như thế này, nằm ở thư mục Build Game. Đúp chuột vào RobotGame2D.exe Hình 24 Chơi Unity trên máy tính - Thưởng thức Game thôi. Lưu ý: Game chỉ chạy trên hệ điều hành Windows. Ở máy tôi đang test là Windows 10 64 bit 32 KẾT LUẬN 1. Kết quả đạt được Chúng tôi đã xây dựng được Game Robot Phiêu Lưu ký 2D sử dụng nền tảng công nghệ Unity 2D. Tuy còn nhiều lỗi và thiếu sót, nhưng cũng là sản phẩm đâu tay mong mọi người thông cảm và góp ý cải thiện 2. Hướng phát triển Tựa game này là sản phẩm đầu tay, nếu nhận được góp ý tích cực, chúng tôi sẽ nâng cấp nó, cải thiện để biến nó thành tựa game thương mại. 33 TÀI LIỆU THAM KHẢO Unity Document: https://docs.unity.com/ StackOverFlow: https://stackoverflow.com/ 34 PHỤ LỤC CODE 1. Link source code. https://drive.google.com/drive/folders/1bRV1cQzGtBc0_L8slDGWssgYUivTxBNN?usp =sharing 2. Code mẫu 35