Kết hợp cờ tướng và thực tế tăng cường

Một phần của tài liệu Xây dựng trò chơi cờ tướng (Trang 60)

4 Hiện thực và kết quả

4.2Kết hợp cờ tướng và thực tế tăng cường

4.2.1 Tìm hiểu về một số công trình liên quan

Trong bước thực hiện này, việc trước tiên cần làm đó là phải tìm hiểu về lý thuyết cũng như các ví dụ về thực tế tăng cường được xây dựng bằng Unity. Đầu tiên về khái niệm, thực tế tăng cường (Augmented Reality) có thể hiểu đơn giản là chồng các thành phần ảo lên môi trường thực tế của người dùng. Cùng lướt qua một số công dụng của thực tế tăng cường trong cuộc sống. Ngoài những ứng dụng trên, thực tế còn nhiều ứng dụng khác trong các lĩnh vực đời sống như giáo dục, y tế, xây dựng,...

• Trò chơi tương tác: Ngày nay khi nói đến thực tế tăng cường trong trò chơi, người ta thường nghĩ đến Pokemon Go có giá trị vàng. Nó đã thu hút một lượng lớn người chơi trong khi ra mắt. Dựa trên một trò chơi đánh bài đã trở nên phổ biến vào những năm 90, ứng dụng trò chơi Nintendo này đã tăng

vọt mức độ phổ biến khi được phát hành dưới dạng ứng dụng di động miễn phí vào năm 2016. Người dùng chỉ cần tải xuống ứng dụng để săn tìm các nhân vật Pokémon trong môi trường hàng ngày của họ. Ứng dụng sử dụng dữ liệu GPS của bạn để xác định vị trí của bạn và tiết lộ các ký tự ảo trong thế giới thực của bạn. Pokémon Go có 60 triệu người dùng tích cực vào năm 2017 và chiếm 84% toàn bộ chi tiêu của người tiêu dùng AR trên thiết bị di động trong năm đó. Trong tương lai gần, những người hâm mộ trò chơi điện tử chính thống sẽ có thể tham gia cùng bạn bè của họ trong một thực tế thay thế thông qua nhận dạng khuôn mặt AR và có thể nói chuyện với đồng đội của họ thông qua rối kỹ thuật số.

• Phát sóng dữ liệu: Ngày nay, không thiếu AR trên sân, sân trượt, tòa án hoặc sân cỏ khi nói đến các môn thể thao hành động trực tiếp. Đây là một số ứng dụng đầu tiên của AR được người tiêu dùng bình thường khen ngợi. Mục tiêu đằng sau AR trong phát sóng thể thao là tăng lượng người xem bằng cách cung cấp thông tin bổ sung trong trận đấu. Trong trường hợp này, AR áp dụng đồ họa 3D và các yếu tố hình ảnh tương tác trên đầu cảnh video trực tiếp của trò chơi. Đó chỉ là một cách khác để hình dung quỹ đạo của một quả bóng, quả bóng hoặc một cầu thủ với sự trợ giúp của các đường thẳng và đường cong. Công cụ này giúp khán giả xem các cuộc gọi gần, các pha phạm lỗi và các thành tích phá kỷ lục một cách chi tiết hơn bao giờ hết.

• Mua sắm: Một cách sử dụng AR phổ biến khác trong cuộc sống hàng ngày của chúng ta là trong quá trình mua nhà. Sử dụng tùy chọn “chuyến tham quan ảo”, những người mua nhà tiềm năng thường có thể xem bất động sản từ máy tính để bàn hoặc thiết bị di động của họ trước khi thực hiện chuyến đi bộ để xem nhà tận mắt. Những khách hàng này cũng có thể sử dụng các ứng dụng sắp xếp đồ nội thất như Houzz và DecorMatters để xem họ sẽ trang bị một trong những ngôi nhà tiềm năng của họ như thế nào.

• Hội nghị: Bộ lọc trên Snapchat, Instagram và Facetime Memoji trên iPhone chỉ là một số cách người tiêu dùng sử dụng AR hàng ngày. Phần mềm nhận dạng khuôn mặt trong phần cứng máy ảnh ngày càng trở nên phức tạp hơn. Apple thậm chí còn cung cấp một bộ công cụ dành cho nhà phát triển giải pháp chỉ dành cho khuôn mặt của bạn. Trong trường hợp này, các mảng camera trước chuyên dụng, được gọi phổ biến là notch "đáng sợ", đã trở thành tiêu chuẩn công nghiệp, quét khuôn mặt với lên đến 30.000 điểm gần như ngay lập tức để đọc rất an toàn. Điều này cung cấp một phân tích chuyên sâu và độc đáo về khuôn mặt thông qua các tỷ lệ toán học.

Đồ họa sử dụng trong bước này là kết quả việc thực hiện trò chơi cờ tướng ở trên.

4.2.2 Hiện thực

Sau khi hoàn thành bước thực hiện trò chơi cờ tướng 3D trên Unity, tiếp tục sử dụng kết quả đó để thực hiện tiếp cho thực tế tăng cường. Bước đầu tiên để thực hiện thực tế tăng cường đó là cài đặt môi trường để chuẩn bị cho việc xây dựng sản phẩm trên điện thoại di động. Dưới đây là thực hiện cài đặc cho môi trường Android.

Hình 4.16: Thiết lặp lõi AR trên Android

Tiếp theo đó là cài đặc một só package được sử dụng trong việc xây dựng trò chơi cờ tướng kết hợp với thực tế tăng cường. Tùy theo môi trường Android hay iOS mà lựa chọn các packages khác nhau.

Trong hệ thống này bao gồm: Directional Light, AR Session, AR Session Origin, Board và GameManager. Các phần Directional Light, Board và GameManager được kế thừa từ phần thực hiện trò chơi cờ tướng ở trên.

AR Session Origin: Đây là cha của AR setup. Nó bao gồm một camera và một GameObject được tạo ra từ các đối tượng địa lý được phát hiện, chẳng hạn như mặt phẳng hoặc đám mây điểm. Một thiết bị AR sẽ được sử dụng để điều khiển vị trí và vòng quay của Camera, không thể trực tiếp đặt thiết bị Camera tại một vị trí tùy ý trong cảnh Unity. Thay vào đó, nên định vị ARSessionOrigin. Kết quả là, điều này sẽ làm cho Camera (và bất kỳ tính năng nào được phát hiện) tương đối với điều đó. Điều quan trọng là phải giữ các đối tượng địa lý Camera và đối tượng địa lý được phát hiện trong cùng một không gian tương đối với nhau (nếu không, các đối tượng địa lý được phát hiện như máy bay sẽ không xuất hiện ở đúng vị trí so với Camera). Chúng tôi gọi không gian liên quan đến vị trí bắt đầu của thiết bị AR là "không gian phiên" hoặc "không gian thiết bị". Ví dụ: khi phiên AR bắt đầu, thiết bị có thể báo cáo vị trí của nó là (0, 0, 0). Các tính năng được phát hiện, chẳng hạn như máy bay, sẽ được báo cáo liên quan đến vị trí bắt đầu này. Mục đích của việc ARSessionOrigin này là chuyển đổi không gian phiên thành không gian thế giới Unity. Để tạo điều kiện thuận lợi cho việc này, nó ARSessionOrigintạo ra một cái GameObjecttên mới có tên là "Trackable" như một người anh em của nó Camera. Đây phải là nguồn gốc GameObject cho tất cả các tính năng được phát hiện.

Hình 4.19: Các thành phần trong Project

4.2.3 Khó khăn và giải pháp trong quá trình hiện thựcKhó khăn Khó khăn

• Trải qua quá trình thực hiện trò chơi cờ tướng việc sử dụng Unity đã được cải thiện. Tuy nhiên việc áp dụng thực tế tăng cường còn tốn nhiều thời gian.

• Việc chuyển từ trò chơi 3D sang trò chơi có kết hợp thực tế tăng cường tốn nhiều thời gian cho từng thành phần.

• Thiếu thiết bị để thực hiện việc chạy thử trò chơi thực tế tăng cường.

• Khó khăn trong việc hiện thực giải thuật trí tuệ nhân tạo với ngôn ngữ C#.

Giải pháp

• Tham khảo thêm tài liệu từ Unity và một số nguồn khác từ Youtube hoặc diễn đàn.

• Thực hiện thêm nhiều ví dụ để có thể thành thạo hơn cách sử dụng thực tế tăng cường.

• Không thể thiếu sự chỉ dẫn của giáo viên hướng dẫn.

4.3 Quản lý mã nguồn

Để đảm bảo cho mã nguồn không bị mất hoặc hư hỏng trong quá trình thực hiện luận văn và quản lý hệ thống một cách hiệu quả. Tôi đã sử dụng Git để quản lý một cách hiệu quả nhất, nhu cầu cần thiết phải có của một mã nguồn. Git là một hệ thống quản lý mã nguồn phổ biến nhất hiện nay. Git giúp việc quản lý cũng như cộng tác một cách dễ dàng trong việc cho phép thay đổi hoặc thêm thành viên và việc gộp tất cả thành một mã nguồn duy nhất.

Tôi cũng sử dụng Github, một nền tảng lưu trữ mã nguồn của Git. Tất cả mã nguồn của Luận văn tốt nghiệp được lưu trữ trên Github. Thuận tiện cho việc phát triển sau này như thêm thành viên mới hoặc cho ra một phiên bản mới.

5 Tổng kết và kế hoạch phát triển5.1 Kết quả đạt được 5.1 Kết quả đạt được

Sau khi trải qua quá trình thực hiện đề tài "Trò chơi cờ tướng", đã mang nhiều kết quả đáng khích lệ. Từ những ngày bắt đầu thực hiện đề tài, tôi đã tìm hiểu và nghiên cứu về những giải thuật, những công nghệ có thể áp dụng vào trò chơi cờ tướng để có thể thực hiện một cách tốt nhất có thể. Dưới đây là một số kết quả đã đạt được sau khi thực hiện đề tài.

• Xây dựng trò chơi cờ tướng tương đối hoàn chỉnh trên nền tảng Unity.

• Vận dụng giải thuật trí tuệ nhân tạo vào trò chơi cờ tướng. (adsbygoogle = window.adsbygoogle || []).push({});

• Áp dụng thực tế tăng cường vào trò chơi cờ tướng.

• Giao diện đẹp và dễ sử dụng.

• Quản lý rõ ràng hỗ trợ cho việc cải thiện và mở rộng sau này.

5.2 Hạn chế

Bên cạnh những kết quả đạt được, vẫn còn tồn tại những hạn chế vì thời gian và thành viên nhóm còn hạn chế. Nên vẫn còn tồn tại một số hạn chế:

• Mã nguồn của trò chơi chưa được tối ưu nhất.

• Giải thuật trí tuệ nhân tạo chưa tốt nhất.

• Tăng thêm trải nghiệm về thực tế tăng cường.

• Sử dụng ngôn ngữ không phải là tốt nhất dành cho AI.

5.3 Kế hoạch phát triển

Trong phạm vi báo cáo, mục tiêu của tôi là xây dựng trò chơi cờ tướng trên nền tảng Unity chưa tập trung nhiều vào việc trải nghiệm cho người dùng. Vì vậy tôi có một số đề xuất để cải tiến trò chơi cờ tướng trong tương lai để mang lại một trò chơi hoàn thiện hơn và có trải nghiệm tốt hơn cho người dùng. Dưới đây là một số hướng phát triển trong tương lai:

• Tối ưu hóa mã nguồn. Cải thiện được tốc độ xử lý của trò chơi.

• Xây dựng hệ thống quân cờ và bàn cờ mới một cách sinh động và chân thực hơn.

• Tìm hiểu tài liệu liên quan đên học máy và chuẩn bị kiến thức cơ bản để cóthể hiện thực việc cải thiện.

• Thêm tính năng lưu trữ dữ liệu người chơi để tạo ra tính cạnh tranh.

• Tìm hiểu và nghiên cứu AlphaZero nhầm áp dụng những giải thuật tốt hơn cho trí tuệ nhân tạo.

Tài liệu

[1] Shi-Jim Yen, Jr-Chang Chen, Tai-Ning Yang, Shun-Chin Hsu (2004), Com- puter Chinese Chess.

[2] Minimax Algorithm, “link: https://vi.wikipedia.org/wiki/Minimax”, lần truy cập cuối: 27/12/2020.

[3] Alpha-Beta Pruning, “link: https://en.wikipedia.org/wiki/Alpha–beta_pruning”, lần truy cập cuối: 27/12/2020.

[4] Trò chơi cờ tướng, “link: https://vi.wikipedia.org/wiki/Cờ_tướng”, lần truy cập cuối: 27/12/2020.

[5] Thực tế tăng cường, “link: https://vi.wikipedia.org/wiki/Thực_tế_tăng_cường”, lần truy cập cuối: 27/12/2020.

[6] Chuỗi FEN, “link: https://en.wikipedia.org/wiki/Forsyth_Edwards Notation”, lần truy cập cuối: 27/12/2020.

[7] Thực tế tăng cường, “link: https://www.dienmayxanh.com/kinh- nghiem-hay/cong-nghe-thuc-te-ao-tang-cuong-ar-la-gi-se-thay-d- 1144562”, lần truy cập cuối: 27/12/2020.

[8] Search Tree, “link: https://en.wikipedia.org/wiki/Search_tree”, lần truy cập cuối: 27/12/2020.

[9] Google Colab “link: https://colab.research.google.com/”,Google Colab, lần truy cập cuối: 27/12/2020.

[10] Tic-tac-toe “link: https://github.com/kying18/tic-tac-toe”, Tic-tac- toe, lần truy cập cuối: 27/12/2020.

[11] AlphaZero “link: https://vi.wikipedia.org/wiki/AlphaZero”, Alp- haZero, lần truy cập cuối: 20/12/2020.

[12] Max Pumperla, Kevin Ferguson (2019),Deep Learning and the Game of Go. [13] Unity, “link: https://docs.unity3d.com/Manual/index.html”, lần truy

cập cuối: 27/12/2020. (adsbygoogle = window.adsbygoogle || []).push({});

[14] Wiki Unity, “link: https://vi.wikipedia.org/wiki/Unity_(phần_mềm_làm_game)”, lần truy cập cuối: 27/12/2020.

Một phần của tài liệu Xây dựng trò chơi cờ tướng (Trang 60)