{"id":3824,"url":"\/distributions\/3824\/click?bit=1&hash=a0d33ab5520cacbcd921c07a49fc8ac5b78623b57936b992ce15c804b99210d4","title":"\u041a\u0430\u043a\u0443\u044e \u0440\u0435\u043a\u043b\u0430\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0434\u0430\u0442\u044c \u043d\u0430 DTF \u0438 \u043a\u0442\u043e \u0435\u0451 \u0443\u0432\u0438\u0434\u0438\u0442","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"75ec9ef4-cad0-549d-bbed-1482dc44e8ee","isPaidAndBannersEnabled":false}

Как сделать игру Tycoon в Roblox. Уроки Roblox для детей и подростков

Мы покажем, как смоделировать экономический симулятор в Роблокс и написать скрипт на языке Lua.

Вам приходилось хоть когда-то играть в игры жанра Tycoon (Тайкон, Тайкун)? Даже если ваш ответ отрицателен, то вы обязательно слышали о какой-либо из них. Например, с сериями игр Tropico, Sims или Anno. Подобные игры в первую очередь ориентированы на то, чтобы развить экономическую составляющую, извлечь прибыль, направить ее на модернизацию производства, чтобы производить усовершенствованную продукцию.

Игры Тайкун популярны в Roblox — онлайн-площадке для публикации игр, созданных на движке Roblox Studio. В этом уроке школа «Пиксель» покажет, как сделать Тайкон в Роблокс. Мы смоделируем экономический симулятор и напишем скрипт на языке программирования Lua.

Если вам удобнее усваивать информацию в формате видео, то мы подготовили подробную видеоинструкцию (в конце статьи).

Этап первый. Сборка Тайкун Roblox

Начнем с выбора шаблона Classic Baseplate, на котором в дальнейшем и будет создана заготовка нашего Тайкуна. Загружаем его, затем выберем первый Part и, используя инструмент Scale, растягиваем, пока его размер не станет приблизительно таким, как нам требуется (четких параметров нет, нужный размер определяем «на глазок»).

Сделали, теперь перейдем в панель Toolbox. Здесь нам необходимо выбрать стену («Wall» по-английски) и нажать на клавишу Enter. Отыскиваем стену и перемещаем ее туда, где будет создаваться Тайкон.

Инструмент Rotate дает возможность разворачивать объект в любом направлении в зависимости от конкретной необходимости. А с помощью инструмента Scale можно растянуть объект так, чтобы он приобрел требуемый размер.

Следующая задача — добавление элементов конвейерной ленты. С ее помощью падающие сверху кубики смогут скатываться, попадая на красное поле. Это поле еще называют полем приемки, здесь блоки успешно поглощаются и нам поступает за это виртуальная валюта. С основными понятиями мы разобрались, теперь займемся непосредственно созданием. Для начала выберем Part и немного преобразуем его: используя инструмент Rotate, выполняем разворот на 90°, а с помощью инструмента Scale слегка растягиваем его.

Чтобы вновь не повторять все действия, просто скопируем уже созданный Part. Для этого необходимо навести на него курсор мыши, нажать правую клавишу и выбрать Duplicate. Вытаскиваем копию с уже сделанной модели и размещаем в конце заготовки. Все размеры и расстояния определяем самостоятельно «на глазок». Итак, что у нас получилось? Вроде все хорошо выглядит.

Далее необходимо добавить новый Part — нашу будущую конвейерную ленту. Для этого мы воспользуемся инструментами Scale и Move, которые позволят нам установить и растянуть данный блок. Проверяем, правильно ли стал блок. У нас все отлично. Чтобы впоследствии этот блок смотрелся, как конвейерная лента, следует изменить его цвет. Для этого выделяем крайний Part, после чего переходим на вкладку Properties (Свойства) и выбираем color (цвет).

У нас цвет черный, вы же можете выставить тот, который вам больше нравится. Чтобы впоследствии не запутаться, где какой блок, имеет смысл поменять их названия. Для этого нажмите на имя блока, а потом на клавишу F2. Помним, что первый создаваемый блок (он у нас самый нижний) — это основа. Затем идет несущая стена (wall), далее блоки, которые поддерживают конвейерную ленту. Переименуем и их. Пусть они называются block_1 и block2. Последним мы устанавливали конвейер, у нас он будет обозначаться как conveyor.

Теперь нам необходимо создать еще один Part (это последний), функция которого заключается в поглощении созданных в производстве блоков. Установим его на оставшемся пустом пространстве и, как обычно, растянем его до требуемых размеров, используя Scale. Осталось изменить его цвет на красный и нажать «ОК». В поле Explorer сменим его название, пусть он именуется «priemka».

Далее стоит проверить, насколько качественной получилась конструкция. В нашем случае, если сменить угол обзора, то можно увидеть, что блоки стоят немного неровно. Пользуясь инструментом Scale, слегка растянем приемку вверх. Проверим, нет ли других проблем. Если нестыковок не обнаружено, то переходим к добавлению еще одной настройки в часть визуального оформления нашей игры Тайкун в Роблокс. Важно заякорить все созданные нами блоки. Сделать это можно с помощью настройки Anchor – она фиксирует конкретный блок в требуемой позиции, и тогда он не будет разъезжаться в процессе взаимодействия с другими объектами. Выделите каждый блок и на панели Toolbox выберите пиктограмму с названием Anchor.

Осталось заскриптовать созданную конвейерную ленту. В окне Explorer находим блок Conveyor и кликаем по нему левой кнопкой мыши. Далее нажимаем на значок «+» и выбираем опцию Script. Нам необходимо удалить существующую строку и написать три строчки. За счет них лента сможет постоянно передвигать попадающие на нее предметы. Так как нам нужно, чтобы предметы двигались к красному полю, то заключим выстроенное направление движения в цикл и сделаем этот процесс бесконечным:

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

Инструмент Rotate позволит развернуть Part в нужном направлении. Осталось просто добавить его на стену. Этот элемент должен находиться прямо над конвейерной лентой, тогда создаваемые в нем блоки будут падать непосредственно на нее. Чтобы избежать создания блоков на поверхности трубы, сделаем «подтрубу», из которой и будут капать блоки. Вновь создаем Part и настраиваем его под трубой:

Не забудьте после установки трубы и нижней части под ней нажать на блок anchor. Чтобы созданные блоки хоть немного различались, сменим цвет нижней трубы. Далее нам требуется создать блок, в функции которого будет входить приемка денег. Заработав какую-то сумму, мы должны забрать ее. Добавляем еще один Part, меняем его цвет на зеленый. Также нужно создать еще один Part, но уже желтого цвета, который будет располагаться сверху зеленого.

Следующий шаг — добавление двери и еще одного, фиолетового, блока, который отвечает за запуск работы трубы, производящей кубики. Для выполнения всех этих действий используем инструмент Part.

Далее заходим в расположенный в панели Toolbox пункт меню Model. Здесь нам необходимо выбрать Insert Object.

Продолжаем уроки Роблокс. Перейдя в поле Insert Object, создадим в нем ряд моделей для производимых нашей фабрикой блоков. Назовем их Tycoon, Factory, 100 (фиолетовый блок), Vorota (блок ворот), Poglotitel (для функционала ключевой составляющей фабрики). Помимо этого, потребуется добавление двух блоков дополнительных настроек: IntValue и StringValue. Первый из них нам необходимо добавить в модель поглотителя, его мы назовем Money. Второй следует добавить в модель Factory и переименовать в OWNERN. В Factory также требуется добавить модели 100, Poglotitel, Vorota. Затем вставляем Factory в модель Tycoon. Важно не забыть добавить сделанные соответствующие Part-Блоки в модели 100, Poglotitel, Vorota. Затем добавляем этим моделям дополнительный блок — Humanoid. Для этого нажимаем левой кнопкой мыши на модель, после чего кликаем на настройке «+».

Основные опции добавлены. Займемся непосредственно скриптингом.

Этап второй. Основной скриптинг

Зайдя в режим в Роблоксе Tycoon создаем два скрипта. Первому присвоим имя «LeaderStats». Добавляем следующий код:

В нем нами прописывается функция присоединения новых игроков и сбора статистических данных, то есть мы формируем таблицу лидеров leaderstats, выполняется привязка фабрики к нашей модели Тайкона. Помимо этого, необходимо создать числовую переменную Cash и добавить на баланс игрока сумму в размере 100 условных единиц.

Скрипту номер 2 дадим название «Voszrozhdenie». В нем укажем такой код:

Затем в нем следует указать обязательное пересоздание блоков продукции при поглощении. Также предусмотрим, что можно делать апгрейд (добавлять улучшения). Сейчас мы этим заниматься не будем, это возможность для тех, кто планирует улучшать игру. Part в модели «100» присваиваем название Head. Затем разрабатываем соответствующий скрипт для него. Данный скрипт предназначен для фиолетового блока. В нем будет указан такой код:

Здесь указывается модель блока, в функции которого входит создание продукции («Drop1»). Речь идет о подвешенном над трубой желтом блоке. Далее прописываем, какова начальная стоимость запуска фабрики (100 условных единиц). Затем следует прописать, что при прикосновении персонажа к фиолетовому блоку начинается производство и генерация продукции, падающей на блок приемки и приносящей нам условную валюту.

Три очередных скрипта будут созданы в модели «Poglotitel». Причем один из них непосредственно внутри модели, а два в блоке Part, который у нас будет называться «Collect», и в блоке «priemka», на который возлагается прямая ответственность за блок поглотителя (красный блок).

Дадим первому скрипту наименование «Display». В него необходимо поместить такой код:

Благодаря этому циклу в верхнем правом углу экрана всегда будет отображаться находящаяся на счету сумма денег:

Переходим к программированию блока «Collect», который играет роль связующего звена созданной фабрики. Он обеспечивает генерирование статистики поступления дохода на экране игрока и в то же время контролирует, дотронулся ли игрок до необходимого блока, чтобы начать производство.

Теперь приступим к программированию блока приемки:

В нем должна быть указана связь с количественной переменной «Money», а также функция касания для добавляемых блоков. Сразу после попадания нашей продукции (tycoonbrick) на красный блок должно происходить его уничтожение, а на счет игрока зачисляться +25 условных единиц (эта цифра при желании может быть изменена). И, безусловно, нельзя не уделить внимания еще одному коду — непосредственно созданию блоков. Если вы еще не переименовали желтый блок, то сделайте это — пусть он называется «Drop1». Теперь создадим для него программу, включив в него представленный ниже код:

Указываем создающую блок функцию. Получаем новый Part, присваиваем ему имя, прописываем наличие зависимости от родительского блока, а также позицию последнего, выбираем цвет, размер, расположение, прозрачность нового блока. Обязательно следует указать, через какое время должны образовываться новые блоки (2 секунды) в цикле ниже. Переходим в модель «Vorota», выбираем созданный Part, присваиваем ему название Head и вешаем на него новый скрипт. В нем будет такой код:

В его функции входит контроль над тем, коснулся ли игрок двери, самоуничтожение после такого касания и передача значения на блок модели 100. После того, как будет произведена проверка, на фиолетовом блоке осуществится непосредственно запуск Tycoon’a и нам начислят установленное количество денег за производство блоков.

Вот такой у нас получился симулятор Тайкон в Роблокс. Как вы видите, программирование в Roblox Studio — это в меру сложный, но чрезвычайно интересный процесс. И освоить его может каждый.

***

Материал подготовлен школой программирования «Пиксель». Мы учим детей 5-17 лет программировать, создавать игры и анимацию, моделировать 3D-объекты и др. Если вы хотите получше познакомиться с Roblox Studio, приходите к нам на курс.

0
3 комментария
Vlad

Roblox сейчас очень актуально, плюс можно сделать и опубликовать свою игру на платформе

Ответить
Развернуть ветку
Школа программирования Пиксель
Автор

А еще получить много лайков и даже заработать на ней с помощью Робуксов)

Ответить
Развернуть ветку
Личной ключ

а как сделать такой скрипт как на видео? там после Velocity он что-то вставил

Ответить
Развернуть ветку
Читать все 3 комментария
null