Разработка игрData и ИИLua / LuauДругой язык

Как подключить ИИ к Roblox Studio через MCP и собрать первую механику

Включаем MCP-сервер Roblox Studio, подключаем совместимый ИИ-клиент и создаём светящуюся прыжковую платформу с Luau-скриптом и обязательным playtest.

Кодик

Автор

7 мин чтения

Встроенный MCP-сервер Roblox Studio позволяет совместимому ИИ-клиенту читать DataModel, создавать объекты, править Luau и запускать playtest. Мы включим соединение, дадим агенту узкое задание и соберём GlowingPad: неоновую платформу, которая подбрасывает персонажа и меняет цвет при касании.

Агент получает структурированный доступ к открытому place и связывает запрос с объектами Explorer. Но результат ещё не готовая игра: ИИ может выбрать неверного родителя, перепутать Script и LocalScript или создать дубликат. Поэтому работаем циклом: план, изменение, проверка путей, playtest, Output и сохранение версии.

1Подключаем

В Studio включаем MCP server и соединяем разрешённый MCP-клиент.

2Ограничиваем

Просим создать одну механику с точными путями и без публикации.

3Проверяем

Смотрим Explorer, Luau-код, Output и поведение в playtest.

Что MCP разрешает делать в открытом place

Откройте копию Baseplate. В Assistant выберите меню, Manage MCP Servers и включите Enable Studio as MCP server. Добавьте Studio в MCP-клиенте способом из текущего интерфейса Roblox. После подключения сначала запросите имя place и корневые сервисы без изменений. Только когда чтение работает, создавайте объект.

ВозможностьЧто можно поручитьЧто проверить вручную
Чтение DataModelНайти Workspace и ServerScriptServiceАгент не перепутал place
Создание InstancesДобавить Part с заданными свойствамиИмя, размер, позиция, Anchored
Правка LuauСоздать Script для касанияРодитель, тип скрипта, проверки
PlaytestЗапустить и коснуться платформыOutput и повторное касание
Изменение placeИсправить конкретный дефектНет лишних объектов и дубликатов

Первый запрос на изменение должен быть маленьким и обратимым. Не просите «сделай игру целиком». Хороший тест MCP помещается в одном экране Explorer и имеет наблюдаемый результат за минуту.

Цикл работы Studio MCP
Каждое изменение заканчивается проверкой. Следующий запрос начинается только после проверки

Работайте в копии place. До подключения сохраните локальную копию или отдельную версию. Не давайте первому агенту публиковать игру, менять монетизацию, удалять коллекции объектов или править десятки скриптов. MCP ускоряет действия, но отмена и контроль версий всё ещё нужны.

Включаем соединение и ставим точное задание

Попросите создать в Workspace Anchored Neon Part GlowingPad размером 12, 1, 12 и обычный Script внутри. При касании платформа подбрасывает HumanoidRootPart, меняет цвет и имеет cooldown для персонажа. Запретите публикацию, потребуйте пути и playtest. Ниже ожидаемое ядро Workspace/GlowingPad/JumpPad.server.luau. Сравните его с результатом.

local TweenService = game:GetService("TweenService")
local pad = script.Parent
local readyAt = {}
local baseColor = pad.Color

pad.Anchored = true
pad.CanCollide = true
pad.Material = Enum.Material.Neon

local function flash()
	pad.Color = Color3.fromRGB(255, 255, 255)
	TweenService:Create(pad, TweenInfo.new(0.35),
		{Color = baseColor}):Play()
end

pad.Touched:Connect(function(hit)
	local character = hit:FindFirstAncestorOfClass("Model")
	if not character then return end
	local humanoid = character:FindFirstChildOfClass("Humanoid")
	local root = character:FindFirstChild("HumanoidRootPart")
	if not humanoid or humanoid.Health <= 0 or not root then return end
	local now = time()
	if (readyAt[character] or 0) > now then return end
	readyAt[character] = now + 1
	local velocity = root.AssemblyLinearVelocity
	root.AssemblyLinearVelocity = Vector3.new(velocity.X, 72, velocity.Z)
	flash()
end)
Что должно произойти после запуска
  • В Explorer существует ровно один Workspace/GlowingPad и один Script внутри него.
  • Part закреплён, сталкивается с персонажем и остаётся на месте после запуска.
  • Касание подбрасывает персонажа, а горизонтальная скорость сохраняется.
  • Частые события Touched не создают серию неконтролируемых прыжков.
  • В Output нет красных ошибок во время двух последовательных тестов.

Широкий и узкий промпт
Размер задачи определяет качество контроля. Узкая задача легче и модели, и разработчику

Разбираем Luau-код прыжковой платформы

Событие Touched может сработать для нескольких частей одного персонажа почти одновременно. Поэтому код ищет общий Model, проверяет Humanoid и HumanoidRootPart, а затем хранит время следующего допустимого срабатывания для этого персонажа. Вместо добавления силы каждый кадр мы один раз меняем вертикальную компоненту AssemblyLinearVelocity и сохраняем горизонтальные X и Z. Tween возвращает исходный цвет независимо от частоты кадров. Скрипт находится внутри Part и выполняется на сервере, поэтому эффект движения видят все клиенты, а игрок не сообщает серверу желаемую силу через RemoteEvent.

Строка или объектЗачем нуженЧастая ошибка агента
Anchored=trueПлатформа не падаетPart улетает вместе с игроком
FindFirstAncestorOfClassНаходит модель персонажаhit принимается за Character
HumanoidRootPartМеняется скорость сборкиСила задаётся случайной конечности
readyAt[character]Cooldown для каждого игрокаОдин общий debounce блокирует всех
AssemblyLinearVelocityПредсказуемый импульсBodyVelocity создаётся и не удаляется

Клиент может читать и менять DataModel, скрипты, Instances и запускать playtest. Перед запросом назовите область: Workspace/GlowingPad, один Script, без публикации. Получите список путей, но проверьте Explorer сами. Отчёт ИИ не является доказательством. Для первой механики достаточно базовых Instances и кода, который вы читаете целиком.

Playtest не заменяет чтение кода. Механика может красиво сработать один раз и при этом содержать глобальный debounce, утечку объектов или клиентскую проверку доверенных данных. Сначала изучите созданные пути и код, затем запускайте один и несколько клиентов.

Проводим playtest как разработчик, а не зритель

Проведите три теста. В Solo коснитесь центра и края Part, затем быстро прыгните на него снова. В режиме Start Server с двумя клиентами убедитесь, что cooldown одного игрока не блокирует второго. После этого попросите агента изменить только BOOST с 72 на 55 и цвет на голубой. Если он пересоздал Part, добавил второй Script или изменил другие объекты, откатите действие и уточните запрос. Завершите проверкой Output по словам error, infinite yield и attempt to index.

Проверка своими руками
  1. Сохраните копию Baseplate и включите MCP server в текущем интерфейсе Studio.
  2. Проверьте read-only запросом, что клиент видит Workspace и ServerScriptService.
  3. Отправьте точный промпт на один Part и один Script без публикации.
  4. Сравните свойства GlowingPad и Luau-код с ожидаемой структурой статьи.
  5. Проведите Solo test, два быстрых касания и тест с двумя клиентами.
  6. Попросите одно точечное изменение и убедитесь, что дифф не расширился.
Готово, если выполняются все пункты
  • MCP-клиент подключается только к открытому тестовому place.
  • Агент перечисляет изменённые пути, а вы находите их в Explorer.
  • Платформа работает для двух игроков независимо.
  • Повторный запрос меняет только названные свойства.

Четыре проверки механики
Красивого первого прыжка недостаточно. Только после четырёх проверок сохраняйте версию

Строим безопасный рабочий процесс с ИИ

Следом поручите рефакторинг: вынесите BOOST и COOLDOWN в Attributes. Сначала получите план и ожидаемые пути, затем разрешите изменение. Для RemoteEvent, DataStore, покупок и наград отдельно проверяйте сервер. Не публикуйте place только из-за удачного playtest. Сверьте объекты и скрипты, проверьте мобильное управление, сохранение и повторный вход.

Как изучить тему в Кодике

В Кодике MCP стоит изучать поверх базового Roblox-разработчика, а не вместо него. Вам нужно распознавать Part, Script, события, Humanoid и серверную ответственность. Тогда агент становится быстрым помощником, а не единственным человеком в комнате, который якобы понимает созданный код.

ШагЧто изучитьПрактический результат
1Explorer, Properties и BasePartСоздать GlowingPad вручную
2События и функции LuauОбработать Touched без ИИ
3Сервер и клиентОбъяснить, почему Script, а не LocalScript
4Output и playtestНайти ошибку по строке
5MCP-процессПроверить один узкий дифф агента

Пройдите в Кодике уроки Lua / Luau до событий и таблиц, затем повторите механику вручную. После этого попросите ИИ собрать второй вариант с Attributes и сравните решения. Цель не в скорости первого результата, а в способности заметить лишний объект, неверный контекст исполнения и небезопасную проверку.

Агент получает запрос «сделай игру»

Область изменений невозможно проверить. Давайте одну механику и точные пути.

Правки выполняются в единственной копии

Перед подключением сохраните копию place или отдельную версию.

Отчёт агента принимается за тест

Откройте Explorer, код и Output, затем проведите playtest самостоятельно.

LocalScript решает серверную механику

Движение и правила должны подтверждаться сервером, если влияют на общий игровой мир.

Сверьтесь с первичным источником. Команды, API и ограничения примера проверяйте по официальной странице Roblox AI on Roblox. Если интерфейс или версия изменились, первичная документация важнее скриншота из старой инструкции.

Что получится в итоге

Готовый результат: Как подключить ИИ к Roblox Studio через MCP и собрать первую механику
Агент создал один проверяемый объект и серверный Luau-скрипт, а playtest подтвердил прыжок, визуальную реакцию и независимый cooldown игроков.

Короткие ответы
Что умеет Studio MCP server?

Он даёт совместимому клиенту доступ к DataModel, созданию и правке объектов и скриптов, а также playtest в рамках возможностей Studio.

Почему первый запрос должен быть маленьким?

Один Part и один Script можно проверить по путям, свойствам, коду и поведению. Большой дифф легко скрывает ошибку.

Зачем cooldown хранится по Character?

Событие Touched шумное, но один игрок не должен блокировать платформу для остальных.

Как понять, что проект действительно работает?

Проверьте основной сценарий, ошибочный ввод, повторный запуск и один граничный случай. Затем объясните вслух, где появляются данные, кто принимает решение и где хранится состояние.

Можно ли начать с готового кода из статьи?

Да. После первого запуска измените один параметр, добавьте одну проверку и повторите проект без подсказки. Так пример превращается в собственный навык.

Используйте ИИ как ускоритель понятного Roblox-кода

События, функции и таблицы закрепите в курсе Lua / Luau. Если Explorer и Output пока непривычны, начните со статьи про первую игру в Roblox Studio.

Для проверки ошибок используйте разбор Output, а перед импортом чужих объектов прочитайте как проверять модели Roblox. В Кодике повторите прыжковую платформу без MCP, затем сравните с агентским вариантом.