Lập trình game cờ vua - Bài 2 - Tổng quan về Unity và thiết lập dự án
Back To BlogsTrước khi chúng ta đến với phần thiết lập dự án trong Unity, hãy cùng tìm hiểu qua về Unity Engine nhé.
Tổng quan về Unity:
Unity là một game engine phổ biến được phát triển bởi Unity Technologies, cho phép tạo trò chơi 2D, 3D và các ứng dụng tương tác trên nhiều nền tảng như PC, di động, máy chơi game, VR/AR và web. Với ngôn ngữ lập trình C Sharp, Unity dễ học và sử dụng, hỗ trợ lập trình viên qua giao diện trực quan và tài nguyên phong phú. Cộng đồng đông đảo và tài nguyên như Unity Asset Store giúp tiết kiệm thời gian phát triển. Unity miễn phí cho các nhà phát triển nhỏ và cá nhân, và đã được sử dụng để phát triển nhiều game nổi tiếng như Among Us và Monument Valley.
1. Cài đặt Unity Hub:
Truy cập vào website: https://unity.com/download để tải Unity Hub.

2. Cài đặt Unity Editor:
Sau khi cài đặt Unity Hub đăng nhập vào Unity Hub bằng tài khoản Unity, chưa có thì có thể tạo.
Tìm và cài đặt phiên bản Unity 2022.3.10f1 LTS trong link: https://unity.com/releases/editor/whats-new/2022.3.10#installs và nhấn vào Install, trình duyệt sẽ hỏi cài đặt qua unity hub chọn ok và phiên bản unity 2022 sẽ tự động được chuyển qua unity hub để cài đặt.

Lưu ý có thể chọn các phiên bản Unity mới hơn hoặc cũ hơn cũng được, tùy vào các bạn, nhưng nên sử dụng các phiên bản được đánh dấu là LTS (Long Term Support) là các phiên bản được hỗ trợ lâu dài, các phiên bản này thường được đánh giá là ổn định và ít lỗi hơn so với các phiên bản không được đánh dấu là LTS.
Sau khi chuyển hướng qua Unity Hub để cài đặt bản unity, chọn vào option Visual Studio Community để cài đặt Visual Studio, hoặc nếu trên máy đã có sẵn các IDE hỗ trợ code C Sharp .Net sẵn rồi thì có thể bỏ qua.
Đối với các option platfoms có thể bỏ qua nếu chỉ build windows, còn nếu mục tiêu của bạn là phát triển trên các nền tảng khác thì có thể chọn nền tảng tương ứng.
Dự án chess 2d mình sẽ làm trên windows và sẽ build windows nên mình sẽ không chọn gì ở phần này và chọn Continue.

Sau khi cài đặt xong phiên bản Unity, các bạn chọn vào add new để tạo dự án mới, nhập tên dự án: Chess, có các lựa chọn là 2D để làm game 2d, 3D để làm game 3D, VR để làm game vr, ngoài ra còn các sample project mà Unity cho sẵn, các bạn có thể tạo để vọc vạch sau, còn trong phạm vi dự án là chess 2d nên mình sẽ chọn project 2D.
Chọn đường dẫn lưu dự án, tiếp tới chọn organization chọn tới organization của bạn chọn xong thì bấm add, project sẽ được tạo và mở lên tự động.
Tổng quan về giao diện Unity Engine

Giao diện Unity Engine về cơ bản có các khu vực như trên:
(1) Đây là khu vực thanh công cụ, ở đây các bạn có thể thấy các menu về file, edit, asset, vv của Unity.
(2) Đây là Hierachy là khu vực chứa scene (1 cảnh / 1 màn chơi) đang load, các gameobjects (các đối tượng làm nên 1 game hoàn chỉnh) trong scene.
(3) Đây là khu vực scene cũng là khu vực mà các bạn sẽ tương tác, kéo thả các gameobjects.
(4)Đây là cửa sổ game, tại đây tất cả những gì camera render sẽ được hiển thị tại đây.
(5) Inspector sẽ hiển thị mọi thông tin về gameobjects đang làm việc một cách chi tiết, kể cả những Components được đính kèm và những thuộc tính của nó.
(6) Cửa sổ project, tại đây chúng ta có thể xem được tất cả các assets có trong dự án (assets là các tài nguyên trong dự án gồm hình ảnh, âm thanh, file script, animation, vv)
(7) Cửa sổ console đây là cửa sổ sẽ hiển thị các thông tin được log ra trong quá trình phát triển game.
Cấu trúc thư mục và dự án
Về cơ bản chúng ta có thể bỏ tất cả mọi thứ vào cửa sổ project mà không cần tới việc cấu trúc thư mục, tuy nhiên khi chúng ta mở rộng dự án hoặc cần phải sửa đổi nâng cấp về sau, việc có quá nhiều tài nguyên bỏ vào dự án mà không có bất kỳ cấu trúc nào sẽ gây ra 1 sự lộn xộn và chúng ta sẽ rất khó để có thể tìm tới tài nguyên mà chúng ta cần, và rất khó để quản lý tài nguyên.
Vì vậy chúng ta cần phải cấu trúc thư mục của dự án ngay từ đầu, vd trong dự án này mình sẽ chia thư mục như sau:

Về cơ bản mình sẽ chia các folder để chứa theo loại tài nguyên, vd: Hình ảnh sẽ có folder riêng và trong folder hình ảnh sẽ có folder nhỏ hơn chứa hình ảnh cho UI, hình ảnh cho game play, vv. Script code sẽ có folder riêng là scripts và sẽ có các folder nhỏ hơn như folder cho managers chứa các script manager, folder cho quân cờ chứa các script xử lý logic cho các quân cờ, vv. Với các tài nguyên khác cũng dùng chung nguyên tắc để tạo thư mục.
Link tham khảo: https://unity.com/how-to/organizing-your-project
Bài tiếp theo chúng ta sẽ bắt đầu vào phát triển dự án và lập trình cho bàn cờ.
Tác giả: Nguyễn Minh Thuận & Nguyễn Văn Khánh