Xây dựng game 2D top-down với Unity Engine

MỤC LỤC

GIỚI THIỆU CHUNG 1.1.Tổng quan đề tài

    Với sự phát triển của các nền tảng công nghệ và nhu cầu giải trí ngày càng tăng cao của con người, game được tìm đến như công cụ dùng để giải trí sau những ngày làm việc căng thẳng, cũng như rèn luyện tính kiên trì và khả năng quan sát tính toán nhanh nhạy. Mặc dù không dành riêng cho các trò chơi điện tử sử dụng phép chiếu song song, nhưng nó đã từng phổ biến trong các trò chơi điện tử nhập vai 2D, trò chơi chiến tranh và các trò chơi mô phỏng quản lý và xây dựng như SimCity, Pokémon và Railroad Tycoon, cũng như trong hành động và phiêu lưu hành động. Những trò chơi điện tử mang phong cách Top-down thường thu hút người chơi bởi nó mang lại cảm giác thế giới rộng lớn, di chuyển tự do, thu hút người chơi với nội dung theo cốt truyện hấp dẫn, dường như mang đến cho người chơi một thế giới tưởng tượng kỳ thú và cho phép họ sống trong đó.

    Một số game nổi tiếng sử dụng Unity Engine như: Pokémon Go, Hearthstone, Ori And The Blind Forest, Monument Valley, Axie Infinity, … Độ “phủ sóng” của Unity rộng đến mức có thể áp dụng đại trà cho nhiều dòng Game khác nhau từ game Triple A (AAA) “hạng nặng” cho đến những Game giáo dục đơn giản dành cho trẻ em.

    KIẾN THỨC NỀN TẢNG 2.1. Unity và Unity 2D URP

      - Chức năng cốt lừi đa dạng bao gồm: cung cấp cụng cụ dựng hỡnh (kết xuất đồ họa) cho các hình ảnh 2D hoặc 3D, công cụ vật lý (tính toán và phát hiện va chạm), âm thanh, mã nguồn, hình ảnh động, trí tuệ nhân tạo, phân luồng, tạo dò nguồn dữ liệu xử lý, quản lí bộ nhớ, dựng ảnh đồ thị và kết nối mạng. ● Component: Một GameObject sẽ có nhiều thành phần cấu tạo nên nó như là Sprite Renderer, tập hợp các hoạt ảnh hành động (Animator), thành phần xử lý va chạm (Collision), tính toán vật lý (Rigidbody), các thành phần khác…Mỗi thứ như vậy gọi là một component của GameObject. Nó tự động biên dịch lại các tập tin viết tay khi bạn chỉnh sửa chúng và thậm chí đi kèm với một trình xem trước đơn giản cho phép bạn phát các câu chuyện trực tiếp trong Trình chỉnh sửa mà không cần viết một dòng mã nào.

      Nó chấp nhận các plug-in nâng cao các chức năng ở hầu hết các cấp bao gồm thêm hỗ trợ cho các hệ thống quản lý phiên bản (như Subversion) và bổ sung thêm bộ công cụ mới như biên tập và thiết kế trực quan cho các miền ngôn ngữ cụ thể hoặc bộ công cụ dành cho các khía cạnh khác trong quy trình phát triển phần mềm.

      Hình 2.8.1: Khởi tạo cấu trúc Dungeon trong Edgar Unity
      Hình 2.8.1: Khởi tạo cấu trúc Dungeon trong Edgar Unity

      XÂY DỰNG GAME 2D TOP DOWN

      CHƯƠNG 4: ĐẶC TẢ USE-CASE

      • Mô tả chi tiết Use case 1 New Game

        1 Người chơi Người chơi điều khiển nhân vật để di chuyển, tấn công quái cũng như tương tác với các NPC. Nhân vật do người chơi điều khiển, được xem như người chơi trong các use case, do hành động của người chơi tác động vào game tương tự như nhân vật. 3 Enemy Quái vật do hệ thống quản lý chuyển động và tấn công 4 NPC Dân làng do hệ thống quản lý có khả năng tương tác với.

        3 Di chuyển Người chơi điều khiển nhân vật di chuyển xung quanh bản đồ game, có thể chạy hoặc lướt. Người chơi tương tác với NPC để mở ra giao diện cửa hàng, từ đó sử dụng vàng để có thể mua những vật phẩm cần thiết. Người chơi tương tác với NPC để mở ra giao diện rèn, từ đó sử dụng vàng và những vật phẩm yêu cầu để có thể rèn vũ khí.

        Người chơi có thể lại gần NPC và ấn nút tương tác để có thể trò chuyện với NPC hoặc mở giao diện tương ứng. 14 Thu thập vật phẩm Xảy ra khi người chơi chạm vào vật phẩm rơi ra từ quái 15 Cất giữ vật phẩm Vật phẩm khi người chơi thu thập được sẽ được bỏ vào. Khi người dùng trang bị vật phẩm “Nhẫn” vào ô trang bị, tùy thuộc vào từng loại “Nhẫn “ mà người chơi sẽ có thể sử dụng được những kỹ năng khác nhau.

        Người chơi có thể trang bị tối đa 3 loại nhẫn, tùy thuộc vào ô mà nhẫn đó trang bị kỹ năng sẽ được đặt vào ô kỹ năng tương ứng. Mô tả chi tiết Người chơi cất giữ vật phẩm vừa kiếm được vào túi hoặc bỏ vào rương đồ Luồng sự kiện.

        Bảng 4.4.12: Đặc tả chức năng “Chế tạo vũ khí”
        Bảng 4.4.12: Đặc tả chức năng “Chế tạo vũ khí”

        PHÂN TÍCH THIẾT KẾ 5.1. Phân tích thiết kế

          14 InventoryItemData Quản lý thông tin của từng loại vật phẩm 15 Database Quản lý danh sách các vật phẩm hiện có. 19 ChestInventory Quản lý lưu trữ vật phẩm trong rương đồ 20 IInteractable Quản lý khả năng tương tác môi trường. Class định nghĩa các phương thức, thuộc tính để người chơi có thể di chuyển qua lại giữa các tab để thể hiện các màn hình khác nhau.

          41 PlayerCombat Quản lý khả năng tấn công của nhân vật 42 PlayerInformationManager Thể hiện thông tin chỉ số hiện của của. Class định nghĩa các phương thức, thuộc tính để thể hiện các chức năng cơ bản của quái vật tầm gần như: tấn công, hoạt ảnh, di chuyển. Class định nghĩa các phương thức, thuộc tính để thể hiện các chức năng cơ bản của quái vật tầm xa như: tấn công, hoạt ảnh, di chuyển.

          Thể hiện khả năng xác định phương hướng của quái vật từ đó quyết định hành động tiếp theo của quái vật 65 ObstacleAvoidanceBehaviou. Quản lý khả năng quyết định hướng di chuyển của quái vật để có thể truy đuổi người chơi khi người chơi di chuyển vào trong khu vực quan sát của quái vật 67 ObstacleDetector Thể hiện khả năng phát hiện vật cản của. 69 DialogueVariables Class định nghĩa các phương thức, thuộc tính để có thể đọc được các thông tin cốt truyện được viết trong Inky.

          Quản lý giao diện đoạn hội thoại bao gồm: avatar NPC, tên NPC, thông tin hội thoại đang diễn ra, các lựa chọn của nhân vật. 81 IngredientSlot_UI Quản lý giao diện hình ảnh của từng loại vật phẩm yêu cầu để có thể rèn vũ khí 82 CraftingDisplay Quản lý giao diện thể hiện thông tin của. 86 QuestBoard Quản lý thông tin bảng nhiệm vụ và khả năng bật/tắt giao diện bảng nhiệm vụ 87 QuestDisplay Quản lý giao diện thể hiện thông tin của.

          Class định nghĩa các phương thức, thuộc tính để thể hiện các chức năng cơ bản của quái vật tầm xa như: tấn công, hoạt ảnh, di chuyển.

          Hình 5.1.1.1: Sơ đồ Class chức năng Save/Load, Inventory, Equipment, Time, Light
          Hình 5.1.1.1: Sơ đồ Class chức năng Save/Load, Inventory, Equipment, Time, Light

          THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG 6.1. Danh sách màn hình

          Giao diện quản lý nhân vật dùng để người chơi có thể quản lý các chỉ số của nhân vật bao gồm máu, mana, thể lực, tấn công, phòng thủ, tốc độ, tấn công đặc biệt. Ô kỹ năng để hiển thị kĩ năng hiện tại của người chơi sau khi trang bị nhẫn, người chơi chỉ được sử dụng 1 kỹ năng và có thể chuyển đổi qua lại giữa các kỹ năng. Player hotboard dùng để lưu trữ vật phẩm mà người chơi có thể dùng vật phẩm trực tiếp mà không cần phải mở giao diện túi đồ.

          Dungeon Scene là một màn hình hiển thị giao diện màn chơi của game, người chơi có thể vào Dungeon thông qua cổng vào Dungeon. Shop Scene là màn hình hiển thị cửa hàng mua đồ, nơi người chơi sử dụng vàng kiếm được trong thời gian chơi để mua những vật phẩm cần thiết tùy theo nhu cầu của người chơi. Potion Shop Scene là màn hình hiển thị cửa hàng bán thuốc hồi phục, nơi người chơi sử dụng vàng kiếm được trong thời gian chơi để mua những vật phẩm hồi phục cần thiết tùy theo nhu cầu của người chơi.

          Guild Scene là màn hình hiển thị giao diện Guild của game, nơi người chơi có thể tới để hoàn thành những nhiệm vụ mà Guild yêu cầu để có thể nhận được lượng vàng và điểm kinh nghiệm tương ứng tùy theo độ khó của nhiệm vụ. Người chơi có thể ấn vào nhiệm vụ để có thể hiển thị chi tiết nhiệm vụ ở màn hình bên cạnh 4 Tên nhiệm vụ TextMeshPro Hiển thị tên nhiệm vụ. Blacksmith Scene là màn hình hiển thị giao diện tiệm rèn, nơi người chơi có thể sử dụng vàng và những vật phẩm yêu cầu để có thể chế tạo ra một loại vũ khí để có thể sử dụng.

          6 Vàng của vũ khí TextMeshPro Hiển thị lượng vàng người chơi cần phải trả để có thể rèn vũ khí 7 Vật phẩm yêu cầu Image & Hiển thị hình ảnh và số lượng vật. CutScene Scene là một màn hình hiển thị khi người chơi mới bắt đầu chơi, tại đây sẽ có các đoạn hội thoại và các cắt cảnh để người chơi có thể làm quen với lối chơi của trò chơi trước khi bắt đầu. 3 Quái vật GameObject Hiển thị quái vật trong màn chơi 4 CutScene Trigger GameObject Kích hoạt một đoạn cắt cảnh khi.

          Ruins Scene là một màn hình hiển thị giao diện màn chơi của game, người chơi có thể vào Ruins thông qua cổng vào Ruins.

          Hình 6.2.1.1: Menu Scene
          Hình 6.2.1.1: Menu Scene

          CÀI ĐẶT VÀ KIỂM THỬ 7.1. Môi trường cài đặt và kiểm thử

          TỔNG KẾT 8.1. Kết quả đạt được

          Hạn chế

          - Cơ chế tương tác NPC cũng như Dialogue vẫn còn sơ xài, chưa thật sự có nhiều sự thiết thực. - Cơ chế thay đổi thời tiết và hoạt ảnh tùy theo từng loại thời tiết vẫn chỉ là prototype, chưa thể áp dụng vào thực tiễn. - Cơ chế tấn công của nhân vật cũng như AI của quái vẫn còn đơn giản.