Как создать простую игру в Roblox — туториал по Garten of BanBan 2 для детей
Garten of BanBan 2 — это популярная видеоигра в которой игроку предстоит исследовать жуткие и пустынные помещения детского сада и решать множество головоломок, встречая на своем пути обитателей данной игры.
В этом материале мы создадим карту по мотивам игры Garten of BanBan 2 в Roblox и напишем скрипт на языке программирования Lua. Урок простой и не займет много времени, однако если вы еще совсем не знакомы с движком Roblox Studio, можете посмотреть пошаговые уроки, которые знакомят с интерфейсом и основными функциями программы.
Туториал подготовлен школой программирования для детей Pixel. Ниже в материале есть видеоинструкция, если такой формат вам удобнее для восприятия (в ролике понятнее показано моделирование объектов).
Старт работы над персонажем в Roblox: создание пульта
Начнем проектирование нашей карты с создания инструмента игрока — пульта. Для начала сделаем саму модель, используя твердотельное моделирование. Составим из блоков модель пульта и, зажав клавишу Shift, выделим все блоки, после чего во вкладке Model нажмем Union, это позволит объединить нашу постройку в одну цельную модель.
Создание модели в Roblox Studio
Чтобы модель можно было взять в руку, нужно совершить следующие действия: добавить новый объект Tool, перенести наш Union внутрь инструмента и назвать его Handle.
Таким образом мы создали пульт персонажа в игре.
Создание карты в «Роблокс»
Карта в нашей игре должна быть закрытой и состоять из разных комнат, между которыми персонаж будет перемещаться. Для создания большей атмосферы можно использовать текстуры разных поверхностей и модели из Toolbox — библиотеки готовых объектов в Roblox.
Разработка игры по мотивам Garten оf BanBan 2
Создание двери на карте: моделирование и скрипт
В оригинальной игре комнаты уровней разделяют автоматические двери, давайте создадим такие же, для начала c помощью твердотельного моделирования сделаем объект нашей двери и добавим на него следующий скрипт:
Код для игры в Roblox
В данном коде определяется переменная door, которая получает ссылку на объект двери, куда прикреплен данный скрипт. Это позволяет обращаться к свойствам и методам этого объекта.
В старте скрипта сохраняются начальные значения координат x, y и z двери в соответствующие переменные. Они используются во время анимации, чтобы знать, откуда начать и где закончить движение двери.
Затем происходит подключение функции к событию Touched объекта двери. Это событие возникает, когда кто-то или что-то касается этого объекта.
Внутри функции проверяется наличие компонента Humanoid у родительского объекта, который вызвал событие Touched. Если такой компонент найден, то можно предположить, что касание произошло игроком.
Если дверь в текущий момент закрыта (переменная closed равна true), то выполняется анимация движения двери. Используется цикл for, который изменяет координату x двери с помощью door.Position = Vector3.new (x + i, y, z). Значение i увеличивается от 0 до 10, создавая постепенное смещение двери вправо. Затем происходит задержка с помощью wait (0.1), чтобы создать плавность движения.
После завершения первого цикла используется функция wait (2), которая создает задержку в течение 2 секунд.
Затем начинается второй цикл for, где значение i уменьшается от 10 до 0, и дверь смещается обратно влево. Аналогично первому циклу, используется задержка wait (0.1) для создания плавного движения.
По завершении второго цикла переменная closed снова устанавливается в true, чтобы позволить повторное открытие двери после закрытия.
Создание головоломки в Roblox: секретная комната
Давайте реализуем в нашей игре следующую головоломку: игрок должен будет передвинуть объект так, чтобы он соприкасался со стеной, и в результате будет открываться секретная комната.
Для начала создадим объект: в нашем случае это зеленый мяч, который нужно будет докатить до зеленой стены в другой комнате. Обязательно дайте имя вашему объекту.
Теперь мы создаем скрипт для стены, которая должна исчезнуть при соприкосновении с мячом:
В данном скрипте на событие прикосновения мы передаем функцию объект который вызвал событие, и если это наш объект мяча, то мы удаляем стену с помощью метода Destroy.
Видео: урок по созданию Garten of BanBan 2 в Roblox
На движке Roblox Studio можно создавать игры различных жанров: от простых головоломок и раннеров до хорроров и сложных тайкунов. Если вы хотите больше углубиться в этот движок, посмотрите больше видеоуроков от школы Pixel, они все выложены в открытом доступе. А также приходите к нам на онлайн-курсы по моделированию и программированию в Roblox.