36 lines
1.9 KiB
Markdown
36 lines
1.9 KiB
Markdown
|
|
/# 🌑 PROJECT HALLUCINATE - AI Instructions
|
||
|
|
|
||
|
|
Đây là file hướng dẫn dành cho Gemini CLI để hiểu bối cảnh và quy chuẩn của dự án HALLUCINATE.
|
||
|
|
|
||
|
|
## 🛠 Stack Kỹ thuật
|
||
|
|
- **Engine:** Unity 6 (6000.3.10f1 LTS)
|
||
|
|
- **Networking:** Photon Fusion (State Sync, Client-Side Prediction)
|
||
|
|
- **Render Pipeline:** Universal Render Pipeline (URP)
|
||
|
|
- **Architecture:** State Machine (Player), Interface-based Interaction (`IInteractable`).
|
||
|
|
|
||
|
|
## 📂 Quy chuẩn Cấu trúc Thư mục
|
||
|
|
Tuân thủ nghiêm ngặt cấu trúc:
|
||
|
|
- `Assets/Scripts/GameSetup/Maze/`: Các thuật toán tạo mê cung.
|
||
|
|
- `Assets/Scripts/Player Controller/`: Logic di chuyển và State Machine của người chơi.
|
||
|
|
- `Assets/Scripts/UI/`: Logic giao diện và Lobby.
|
||
|
|
- `Assets/Scripts/Fusion/`: Các script liên quan đến Network và Spawner.
|
||
|
|
|
||
|
|
## 📜 Quy ước Coding & Logic
|
||
|
|
1. **Networking:**
|
||
|
|
- Luôn sử dụng `FixedUpdateNetwork` thay vì `Update/FixedUpdate` cho các logic cần đồng bộ.
|
||
|
|
- Sử dụng thuộc tính `[Networked]` cho các biến cần đồng bộ trạng thái.
|
||
|
|
- Ưu tiên Client-Side Prediction và Reconciliation.
|
||
|
|
2. **Character Control:**
|
||
|
|
- Sử dụng State Machine để quản lý trạng thái di chuyển (Idle, Move, Sprint, Jump, Dash).
|
||
|
|
- Camera Dynamics (Shake, FOV Kick) phải được xử lý mượt mà.
|
||
|
|
3. **Interactions:**
|
||
|
|
- Mọi vật thể có thể tương tác phải kế thừa từ `IInteractable` hoặc `BaseInteractable`.
|
||
|
|
4. **Formatting:**
|
||
|
|
- Luôn sử dụng PascalCase cho tên Method và Class.
|
||
|
|
- camelCase cho biến private/local.
|
||
|
|
|
||
|
|
## 🤖 Chỉ thị cho AI
|
||
|
|
- **Phản hồi:** Ngắn gọn, súc tích, đi thẳng vào vấn đề kỹ thuật.
|
||
|
|
- **An toàn:** Không bao giờ tự ý commit code trừ khi được yêu cầu rõ ràng.
|
||
|
|
- **Tự động hóa:** Luôn cập nhật `MEMORY.md` sau mỗi thay đổi lớn hoặc khi kết thúc phiên làm việc.
|