4.6 KiB
4.6 KiB
Kiến trúc Mạng (Advanced Netcode Architecture)
Để đảm bảo tính công bằng trong một tựa game mang nặng yếu tố hành động lén lút và phản xạ ngàn cân treo sợi tóc, BABA_YAGA sử dụng Photon Fusion (State Sync) làm lõi đồng bộ. Hệ thống được tinh chỉnh để mô phỏng cảm giác "Độ trễ bằng 0" (Zero-Latency Feel) thông qua kiến trúc mạng tất định (Deterministic Network).
Vòng xoay Dữ liệu Mạng (Network Data Flow Pipeline)
Biểu đồ dưới đây mô tả luồng xử lý thông tin tại mỗi Tick (Khung hình mạng). Việc phân tách rõ ràng giữa Logical State (trạng thái mạng) và Visual Presentation (hiển thị hình ảnh) giúp khung hình của game (FPS) không bị khóa vào Tickrate của Server.
(Lưu ý: Các trích xuất HTML trong sơ đồ đã được chuẩn hóa để tương thích hoàn toàn với bộ phân tích Markdown)
sequenceDiagram
autonumber
box rgba(51, 204, 255, 0.05) "⚡ LOCAL ENVIRONMENT (Client Auth)"
participant IR as "🖱️ Input"
participant CP as "💻 Local Player"
end
box rgba(255, 51, 51, 0.05) "👑 SERVER ENVIRONMENT (State Auth)"
participant NT as "📡 Network Layer"
participant S as "🖥️ Server Tick"
end
box rgba(255, 215, 0, 0.05) "👁️ REMOTE OBSERVERS"
participant RP as "👥 Proxies"
end
Note over IR,CP: [PHASE 1] DATA ACQUISITION
IR->>CP: OnMove / OnAbility (Raw Input)
CP->>CP: 📦 Pack NetworkInputStruct
Note over CP: [PHASE 2] FORWARD PREDICTION
CP->>CP: ⚡ Run Local Kinematics (Tick N)
CP->>NT: 📤 Transmit Input Payload
rect rgba(255, 51, 51, 0.1)
Note over NT,S: [PHASE 3] SERVER VALIDATION (Simulation)
NT->>S: Deliver UDP Packet
S->>S: 🛡️ Validate Rules & Apply Physics
S-->>NT: 📢 Broadcast State Snapshot (Tick N)
end
Note over NT,CP: [PHASE 4] RECONCILIATION PROTOCOL
NT-->>CP: State Snapshot (Global Truth)
CP->>CP: ⚖️ Check Desync (Threshold)
CP->>CP: 🔄 Snap Pos & Resimulate if Error
Note over NT,RP: [PHASE 5] PROXY INTERPOLATION
NT-->>RP: State Snapshot
RP->>RP: 〰️ Lerp Position / Rotation Smoothly
Note over CP,RP: [PHASE 6] VISUAL RENDERING
CP->>CP: 🎥 Update Local VFX / Camera Shake
RP->>RP: 👻 Update Animator & Mesh Transforms