Studio

Как тестировать свою игру в Roblox Studio

Чем Play отличается от Run, как запустить у себя сервер на двух игроков, проверить игру телефонным управлением и найти ошибку до того, как её найдут игроки.

Просто 16 минут проверен 1 час назад

Что понадобится

Roblox Studio с открытым проектом. Знание Luau не нужно.

Текст гайда «Как тестировать свою игру в Roblox Studio»

Содержание

Разница между «работает у меня» и «работает у людей» в Roblox огромная. У тебя один игрок, мощный компьютер и мышь; у них — четверо в одном сервере, телефон и палец. Хорошая новость: всё это проверяется прямо в Studio, без публикации и без друзей.

Четыре кнопки запуска#

На вкладке Home и на вкладке Test есть кнопки запуска. Выглядят похоже, работают по-разному, и путаница между ними — причина половины «непонятных» багов.

Режимы теста
РежимЧто происходитКогда нужен
PlayПоявляется твой персонаж, работают серверные и клиентские скриптыОбычная проверка игры
Play HereТо же, но персонаж появляется там, куда смотрит камераПроверить дальний угол карты, не бегая через всю карту
RunМир запускается без персонажаПосмотреть на физику, движущиеся платформы, работу серверной логики
Start (несколько игроков)Отдельный сервер и одно или несколько окон-клиентовВсё, что связано с другими игроками

В обычном Play сервер и клиент — это ты один

В режиме Play Studio совмещает сервер и клиента в одном процессе. Поэтому ошибка вида «клиент меняет то, что должен менять сервер» там не видна: у тебя всё меняется. Настоящую границу между клиентом и сервером показывает только запуск с локальным сервером.

Локальный сервер на двоих#

Вкладка Test → выбери количество игроков (двух хватает) → Start. Studio откроет несколько окон: одно серверное и по одному на каждого игрока. Это самый честный тест из доступных без публикации.

  • Проверь, что оба игрока видят одно и то же: собранная одним монета должна исчезнуть у обоих
  • Посмотри, не ломается ли игра, когда один выходит: PlayerRemoving должен убирать за ним данные
  • Убедись, что второй игрок не может повлиять на чужой интерфейс или чужие очки
  • В серверном окне можно переключаться между «глазами» игроков — удобно ловить рассинхрон
  • Закончил — нажми Cleanup, иначе окна останутся висеть и съедят память

Телефон, планшет и геймпад#

Большая часть игроков Roblox приходит с телефона. Studio умеет притворяться телефоном: вкладка TestDevice, выбираешь модель — и окно превращается в экран нужного размера с сенсорным управлением.

Что проверять в этом режиме:

  1. Кнопки интерфейса не должны быть меньше пальца и не должны прятаться за джойстиком и кнопкой прыжка
  2. Текст читается без прищуривания: то, что видно на мониторе, на телефоне часто превращается в точки
  3. Ничего важного не уезжает под вырез камеры и под системную панель
  4. Управление работает касанием: если действие висит только на клавише клавиатуры, с телефона в игру не сыграть
  5. На узком экране интерфейс не наезжает сам на себя — это видно сразу

Проверяй с самой маленькой модели

Если интерфейс выжил на самом узком экране из списка, на широком с ним точно ничего не случится. Обратное неверно, поэтому начинай с маленького.

Output, консоль и «почему ничего не происходит»#

Окно Output (вкладка View) — первое место, куда смотрят, когда что-то не работает. Красная строка — ошибка, жёлтая — предупреждение. В строке всегда есть имя скрипта и номер строки: щёлкнув по ней, попадёшь прямо в нужное место.

Когда игра уже опубликована, ту же информацию показывает консоль разработчика в самом клиенте — она открывается клавишей F9. Там же видно, сколько памяти ест игра и что происходит с сетью.

Печать, которую видно только при отладке · Luau
-- ModuleScript в ReplicatedStorage, имя Debug.
local Debug = {}

-- Один выключатель на всю игру: перед публикацией ставишь false,
-- и Output перестаёт заваливать себя служебными строками.
Debug.enabled = true

function Debug.log(...)
    if Debug.enabled then
        print("[debug]", ...)
    end
end

return Debug

Такой модуль лучше россыпи print по всему проекту: включается и выключается одной строкой, и служебные сообщения не остаются в опубликованной игре.

Чек-лист перед публикацией#

  • Игра запускается с чистого листа: выйди из теста, зайди заново — прогресс должен подтянуться
  • Проверено вдвоём на локальном сервере, включая выход одного из игроков
  • Проверено на узком экране с сенсорным управлением
  • Output чистый: ни одной красной строки за полный проход
  • Нет вечных циклов и ожиданий, которые никогда не закончатся
  • Все кнопки в интерфейсе что-то делают — кнопка-обманка хуже её отсутствия
  • Сохранение работает: собери валюту, выйди, зайди — она на месте

Дальше — публикация и первые игроки: об этом гайд «Публикация игры». Если после теста игра тормозит, помогут разбор причин лагов и гайд про ошибки в Output.

Обсуждение

Пиши по делу и без личных данных. Ссылки на сторонние сайты, обмен и «бесплатные робуксы» мы скрываем — почему.

Комментарии пишут те, кто вошёл — так спокойнее всем.

Войти

Пока никто ничего не написал. Будь первым.