Как тестировать свою игру в 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 умеет притворяться телефоном: вкладка Test → Device, выбираешь модель — и окно превращается в экран нужного размера с сенсорным управлением.
Что проверять в этом режиме:
- Кнопки интерфейса не должны быть меньше пальца и не должны прятаться за джойстиком и кнопкой прыжка
- Текст читается без прищуривания: то, что видно на мониторе, на телефоне часто превращается в точки
- Ничего важного не уезжает под вырез камеры и под системную панель
- Управление работает касанием: если действие висит только на клавише клавиатуры, с телефона в игру не сыграть
- На узком экране интерфейс не наезжает сам на себя — это видно сразу
Проверяй с самой маленькой модели
Если интерфейс выжил на самом узком экране из списка, на широком с ним точно ничего не случится. Обратное неверно, поэтому начинай с маленького.
Output, консоль и «почему ничего не происходит»#
Окно Output (вкладка View) — первое место, куда смотрят, когда что-то не работает. Красная строка — ошибка, жёлтая — предупреждение. В строке всегда есть имя скрипта и номер строки: щёлкнув по ней, попадёшь прямо в нужное место.
Когда игра уже опубликована, ту же информацию показывает консоль разработчика в самом клиенте — она открывается клавишей F9. Там же видно, сколько памяти ест игра и что происходит с сетью.
-- 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.
Обсуждение
Пиши по делу и без личных данных. Ссылки на сторонние сайты, обмен и «бесплатные робуксы» мы скрываем — почему.
Комментарии пишут те, кто вошёл — так спокойнее всем.
ВойтиПока никто ничего не написал. Будь первым.