Roblox NPC AI आर्किटेक्चर: बिहेवियर ट्री, स्टेट मशीन और सेंसरी सिस्टम

By DopaBrain Roblox AI Engineering Team • Updated: September 2026 • Reading Time: 9 min

इंजीनियरिंग और संज्ञानात्मक उपकरण

Roblox में स्मार्ट एनिमी बनाने के लिए एक स्पष्ट निर्णय प्रणाली आवश्यक है। एक ही स्क्रिप्ट में ढेर सारी if-else शर्तें लिखने से गेम लैग करता है और सर्वर स्लो हो जाता है।

प्रोफेशनल गेम्स फाइनाइट स्टेट मशीन (FSM) और बिहेवियर ट्री का संयोजन उपयोग करते हैं। इस गाइड में ब्लैकबोर्ड डेटा, विज़न रेकास्ट और AI LOD के बारे में विस्तार से बताया गया है।

1. FSM बनाम बिहेवियर ट्री (BT)

गेम के अनुसार सही आर्किटेक्चर चुनें:

2. ब्लैकबोर्ड पैटर्न और विज़न रेकास्टिंग

बिना लैग के देखने की क्षमता देना:

3. Production Implementation Architecture

ServerScriptService.NPCFramework.StateMachine
-- Modular Finite State Machine for Roblox NPC
local StateMachine = {}
StateMachine.__index = StateMachine

function StateMachine.new(npcInstance, states, initialState)
    local self = setmetatable({}, StateMachine)
    self.NPC = npcInstance
    self.States = states
    self.CurrentState = nil
    self.Blackboard = {
        Target = nil,
        LastSeenPos = nil,
        Health = 100,
        PatrolPoints = {}
    }
    
    self:ChangeState(initialState)
    return self
end

function StateMachine:ChangeState(newStateName)
    if self.CurrentState and self.States[self.CurrentState].Exit then
        self.States[self.CurrentState]:Exit(self.NPC, self.Blackboard)
    end
    
    self.CurrentState = newStateName
    if self.States[newStateName] and self.States[newStateName].Enter then
        self.States[newStateName]:Enter(self.NPC, self.Blackboard)
    end
end

function StateMachine:Update(dt)
    if self.CurrentState and self.States[self.CurrentState].Update then
        local nextState = self.States[self.CurrentState]:Update(self.NPC, self.Blackboard, dt)
        if nextState and nextState ~= self.CurrentState then
            self:ChangeState(nextState)
        end
    end
end

return StateMachine

4. बिहेवियर ट्री के नोड्स

प्राथमिकता तय करने के नियम:

5. सर्वर ऑप्टिमाइज़ेशन और AI LOD

100+ दुश्मनों के साथ 60 FPS बनाए रखना:

Frequently Asked Questions

30 NPC पर सर्वर क्यों लैग करता है?

हर फ्रेम पर रेकास्ट करने से सीपीयू भर जाता है; AI LOD का प्रयोग करें।

दीवार के आर-पार देखने से कैसे रोकें?

सिर से खिलाड़ी के शरीर तक रेकास्ट करके दीवार की जांच करें।

क्या क्लाइंट पर AI चला सकते हैं?

नहीं, चीटिंग से बचने के लिए निर्णय हमेशा सर्वर पर होने चाहिए।

FSM पर BT का क्या फायदा है?

यह जटिल फैसलों को बिना कोड उलझाए जोड़ने की सुविधा देता है।

अपनी इंजीनियरिंग और तार्किक क्षमता बढ़ाएं

DopaBrain पर अपने संज्ञानात्मक कौशल का परीक्षण करें।

DopaBrain टेस्ट शुरू करें