4.8 KiB
4.8 KiB
Kiến trúc Netcode (Deterministic Networking)
Tựa game với nhịp độ sinh tồn căng thẳng không có chỗ cho sự sai lệch (Desync). BABA_YAGA vận hành trên kiến trúc State Sync (Đồng bộ Trạng thái) kết hợp quy trình Dự đoán phía Client (Client-Side Prediction) và Bù trừ Độ trễ (Lag Compensation), mang lại cảm giác phản hồi tức thì "Zero-Latency" ngay cả ở mức Ping 100ms+.
Network Data Flow (Luồng Đồng bộ Hóa)
Sơ đồ biểu diễn vòng đời của một Network Tick từ khi người chơi nhấn phím đến khi hình ảnh được kết xuất (Render) trên màn hình của những người chơi khác.
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
```