Многие из вас слышали об игровом движке Unity («Юнити») – платформе для разработки видеоигр, которая завоевала популярность во всем мире благодаря знаковым проектам: Cuphead, Pokémon GO, Kerbal Space Program и многим другим. В этой статье школа программирования для детей «Пиксель» расскажет о том, как создать свою первую игру на Unity и опубликовать ее в сети.
Игра-платформер CupHead
Unity – это не просто платформа для разработки онлайн-игр, а универсальный инструмент, открывающий доступ в гейм-девелопмент для каждого. Начинать создавать проекты на «Юнити» можно даже в подростковом возрасте: уже с 10 лет дети способны освоить моделирование 3D-объектов и скриптинг на языке C# (Си Шарп).
Как создать свою игру? | ТОП 5 программ для новичков
Как найти шаблоны для игр: Unity Asset Store
Начинающий разработчик может создать игру на «Юнити» на основе предустановленных шаблонов, которые содержат в себе готовые наборы отрисованных 3D-моделей. Среди них шаблоны персонажей, фонов, звуков, голосов и других составляющих игрового мира. Найти такие заготовки можно в онлайн-маркетплейсе Unity Asset Store.
Пример ассета с отрисованными элементами в 3D
Платформа Unity является бесплатной для начинающих разработчиков и свободно предоставляет доступ к своим инструментам. Другой особенностью платформы является ее кроссплатформенность: проекты, созданные на этом игровом движке, можно запустить на самых разных устройствах, начиная от консоли и заканчивая планшетом и смартфоном.
Что же касается Unity Asset Store, то разработчик может монетизировать созданную им игру, приложение или ассет, загрузив его в онлайн-магазин на платной основе. На маркетплейсе ассетов доступно более 100 000 самых разных проектов, включая 2D- и 3D-модели, шрифты, текстуры, аудио- и видеофайлы.
Примеры отрисованных персонажей в формате 3D, доступных для скачивания и установки в свой проект
Программирование на языке С# в Unity
Давайте попробуем разработать первый проект на Unity.
Знакомство с интерфейсом и особенности разработки игр на Unity
Для начала нужно скачать и установить Unity 3D – движок для создания игр. Смотрите короткую видеоинструкцию по установке и распаковке программы:
Далее приступим к изучению интерфейса программы.
Первое, что вы видите здесь – это игровая сцена, на которой располагаются объекты игры и их компоненты. Каждый элемент-объект имеет свои обязательные компоненты. Например, элемент Transform, который отвечает за расположение объекта на игровой сцене. Или же Rigidbody, ответственный за симуляцию.
Программирование в Unity 3D построено на создании пользовательских классов, которые как раз выполняют роль компонентов у игровых объектов.
Чтобы было понятнее, перечислим основные игровые классы:
Audio – отвечает за проигрывание музыки и наличие звуковых эффектов при движении;
Settings – отвечает за то, чтобы текущее состояние игры соответствовало действующим настройкам;
Data – отвечает за хранение пользовательских данных;
Serializable Settings – отвечает за сохранение настроек игры;
Player – отвечает за поведение персонажа игрока;
Health – отвечает за здоровье персонажа игрока;
Scrolling – отвечает за постоянное движение фона и объектов фона.
Чтобы познакомиться подробнее с понятиями классов, переменных и функций в Unity, смотрите видеоурок:
Другой особенностью интерфейса «Юнити 3D» является использование нескольких игровых сцен – рабочих областей для запуска игр. Их можно создавать столько, сколько потребуется, а еще перемещаться между ними.
Создание первого проекта на Unity: как сделать управление персонажем в 3D
После установки программы давайте попробуем создать свой первый проект на игровом движке. Мы сделаем основу для 3D-игры: сконструируем простую сцену, добавим персонажа и научим его двигаться.
Кстати, для удобства мы подготовили подробную видеоинструкцию, вы найдете ее здесь:
Для начала нам необходимо подготовить сцену. Можно выбрать обычный Plane (плоскость) в качестве карты и Sphere (сферу) в роли персонажа. Чтобы добавить эти 3D-объекты, нужно нажать в левом меню (оно называется Hierarchy или Иерархия) на +, затем – на 3D Object → Plane (или Sphere).
Разделим игровую сцену на два компонента. Первый из них станет площадкой, по которой и будет перемещаться наш персонаж. Скорректировать местоположение сферы можно, потянув за стрелки.
Игровое поле для программирования движения персонажа-сферы
Необходимо, чтобы у персонажа был подключен Collider. В таком случае при столкновениях (коллизиях) наш герой будет двигаться. Коллайдер добавляется в правом нижнем углу, для этого нужно поставить галочку.
Далее нам понадобится компонент Rigidbody, чтобы оживить персонажа. Rigidbody отвечает за физику героя, то есть за его физическое поведение, реакцию на гравитацию. В настройках в правом нижнем углу экрана выбираем Add Component → Physics → Rigidbody.
Дальше мы будем прописывать скрипт для движения персонажа на языке C#.
Чтобы создать скрипт, необходимо нажать правой кнопкой мыши в области сцены. Далее в открывшемся окне выбираем Create → С# Script. Даем скрипту название, оно обязательно должно быть на английском языке. У нашей программы название PlayerController.
Прописываем в скрипте четыре переменные типа float, от которых будет зависеть скорость передвижения персонажа по всем осям координат.
В нашей программе будут использоваться такие переменные, как movementSpeed (скорость передвижения), turningSpeed (скорость поворота), vertical (перемещение по вертикали) и horizontal (перемещение по горизонтали).
Затем в переменную horizontal мы запишем движение по горизонтали, умноженное на скорость поворота и Time.deltaTime (это поможет сгладить действия). Наш объект будет поворачиваться по оси Y.
С переменной vertical все очень похоже: записываем движение по вертикали, умноженное на скорость движения и на Time.deltaTime. Благодаря этой переменной наш персонаж будет перемещаться по оси Z.
Обязательно сохраняем программу с помощью клавиш Ctrl+Shift+S. Скрипт готов, осталось переместить его на спрайта. Для этого нужно в «Юнити» с помощью мыши буквально перетащить скрипт в правое меню.
Нажимаем сверху на значок пуска и проверяем, что получилось.
Как сделать простую программу с управлением персонажа в 2D
В Unity можно создавать как трехмерные, так и плоские игры. Давайте попробуем сделать схожий проект, только в 2D.
Для этого необходимо добавить спрайт-персонажа и спрайт-землю на новую сцену, можно скачать наши материалы по ссылке или найти другие в Asset Store.
Перетаскиваем мышкой персонажа и землю на сцену. С помощью клавиш Ctrl+D и инструмента Move (находится в левом верхнем углу) можно продублировать часть земли и таким образом растянуть поверхность на всю сцену.
Инструмент Move
Далее нам нужно объединить все части земли, чтобы было проще добавлять компоненты сразу на всю платформу. Для этого создадим пустой объект (нажимаем на + и выбираем Create Empty) и перенесем в него все продублированные части земли.
Теперь вся поверхность, по которой будет двигаться герой, находится в папке Game Object, с которой мы дальше и будем работать.
Выбираем Game Object и в правом нижнем углу нажимаем на Add Component → Physics 2D → Box Collider 2D.
Коллайдер появится на сцене, но в одной точке. Нам нужно растянуть его по всей земле. Для этого в правом меню нажимаем на Edit Collider.
И затем беремся за края и растягиваем «Коллайдер» по всем земле.
То же самое нам нужно проделать с персонажем. В «Иерархии» выбираем объект персонажа, в нашем случае он называется dragon.
Добавляем на него Box Collider 2D и растягиваем по всему спрайту. С помощью колесика мыши можно приблизиться к герою на сцене, а благодаря Edit Collider – аккуратно поправить границы «Коллайдера». Остается только добавить «физику» нашему объекту, для этого переходим в Add Component → Physics 2D → Rigidbody 2D.
Примеры созданной игры в формате 2D
Следующий шаг – написать скрипт на C#. Кликаем правой кнопкой мыши и нажимаем Create → С# Script. В коде объявляем переменные:
- maxSpeed – скорость персонажа, присваиваем ей 10;
- flipRight – помогает отразить спрайт по оси X (по горизонтали) или Y (по вертикали). Нам нужно сделать отражение по X в зависимости от того, в каком направлении будет идти герой.
Обращаемся к компоненту Rigidbody и создаем движение по горизонтали, умноженное на скорость (прикладываем силу по оси X).
Указываем с помощью move направление движения героя по горизонтали. Делаем это с оператором if-else: если игрок нажимает клавишу «влево», то персонаж двигается влево (в скрипте нам возвращается -1), если «вправо» – соответственно, спрайт перемещается вправо (нам возвращается 1).
Сохраняем скрипт и перемещаем его на героя-дракона. Пробуем запустить получившийся проект.
На создание полноценной игры в 2D уйдет не больше получаса. Разработать проект в жанре раннера можно с помощью нашего видеоурока:
Как сохранить игру и загрузить ее в Play Market
Чтобы добавить свой проект в Unity Asset Store или Play Market, потребуется в два раза меньше времени. Смотрите нашу видеоинструкцию:
Обязательно попробуйте реализовать другие проекты на этом игровом движке и опубликовать их в интернете. Изучайте геймдев с помощью увлекательного инструмента по созданию онлайн-игр Unity, создавайте собственные проекты и развивайтесь в выбранном направлении.
Также смотрите полезные видеокурсы по разработке проектов на Unity и скриптингу на языке С#:
- Уроки Unity 3D — Разработка игр | Занятия для детей
- Программирование для детей. Бесплатные курсы
Источник: www.likeni.ru
Создание игр в Kodu Game Lab — бесплатные пошаговые видеоуроки
Kodu Game Lab — это уникальный конструктор визуального программирования, позволяющий детям без знания языков программирования начать создавать игры. Компания Microsoft потрудилась сделать продукт, в котором ребёнок может построить свой собственный 3D-мир, пределом которому служит лишь его воображение.
Как создать игру для Android с помощью Stencyl
Есть много способов разработки для Android, особенно если вы хотите сделать игры. Здесь, в Android Authority, мы рассмотрели Corona SDK, Unity3D для 2D-материалов и GameMaker: Studio. Все эти программы великолепны, но они либо требуют большого обучения, как Unity, либо просто дороги, как в случае с GameMaker: Studio.
Я хотел сделать очень простое (и бесплатное) руководство по созданию игр для Android, и лучшим решением для этого является Stencyl. Stencyl предлагает почти все, что предлагает GameMaker: Studio, будучи бесплатным и таким же простым. Разработка игр для Android не должна быть сложной или требующей денег. Приступим.
Пользовательский интерфейс
Первым делом загрузите Stencyl здесь. Далее идет набор для ускоренного курса от Stencyl, мы будем использовать эту прямую ссылку для скачивания. Сюда входит все необходимое для начала работы над игрой из этого руководства.
Пользовательский интерфейс разделен на три основные части, которые окрашены в демонстрационных целях. Начиная с синей панели вверху, здесь можно найти несколько быстрых клавиш. Это включает в себя возможность создать новый ресурс, сохранить игру, сменить платформу и протестировать игру.
Далее идет зеленая секция, здесь будут отображаться все параметры при работе с определенным ресурсом. На картинке выше это пространство используется для отображения всех типов актеров в игре. Наконец, есть красная панель, она намного сложнее, чем другие панели. Здесь хранятся все ресурсы и их соответствующие параметры, а также элементы логики, такие как код. Вот разбивка каждой части:
- Типы актеров — все, что может двигаться или с чем можно взаимодействовать, считается актером. Эта страница включает спрайты, имя и любые анимации, которые включены в этот конкретный экземпляр. Есть также опции для блоков столкновений для каждого спрайта, а также управление физикой.
- Фоны — как следует из названия, здесь будут размещаться любые фоновые изображения.
- Шрифты — это действительно приятная функция. Эта опция позволяет вам создать определенный шрифт, включая тип, размер и цвет, таким образом, вы можете просто импортировать заданный пресет шрифта в сцену без необходимости настраивать его снова и снова.
- Сцены — Здесь вы можете создавать уровни или «сцены» в этом случае. Здесь вы можете добавить любые плитки, врагов, игроков и все, что угодно, чтобы игра продолжалась. Вам нужно будет назвать сцену, а также определить ее размер. Примечание: размер не обязательно должен быть таким же, как размеры, определенные для игры, с фиксированной камерой сцена может легко быть больше, создавая эффект прокрутки.
- Звуки — здесь вы можете импортировать звуки, поддерживаемые форматы — MP3 (для Flash) и OGG (для всего остального). Существует возможность оплатить звук, а также отредактировать звук во внешнем редакторе по вашему выбору, например Adobe Audition.
- Наборы плиток — это набор плиток, которые можно использовать в сценах экран. Здесь вы можете увидеть заметки для каждой плитки, а также ее конфигурацию столкновений.
- Поведение актера — если вы щелкните по нему в Stencyl и выберите любое из перечисленных вариантов поведения, вы увидите множество вариантов что можно установить. Сюда входит все необходимое для работы игры. Большинство из них говорят сами за себя, и, немного потрудившись, вы быстро поймете все тонкости системы перетаскивания.
- Поведение сцены — они могут включать способы создания врагов, монет и т.п. Они настраиваются так же, как и поведение акторов.
- Код — сюда входят любые скрипты, которые могут потребоваться. Скрипты могут делать с игрой практически все, и могут оказаться весьма полезными. Однако в этом руководстве сценарии не используются.
Перетаскивание
Stencyl использует интерфейс перетаскивания для создания логики в играх. Если вы щелкнете по любому поведению актора в этом примере, вы увидите большой блок условий и псевдокод, который поддерживает это поведение. Это выглядит довольно устрашающе, но не бойтесь, все это зависит от вашей интуиции.
Все также имеет цветовую кодировку, которая соответствует тому, из какой части самой правой панели инструментов была взята эта линия. Говоря об этой панели инструментов, есть 13 различных пунктов меню, на которые вы можете нажимать, с подменю и блоками, которые можно размещать. Фантастический справочник по всему этому можно найти на сайте Stencyl здесь. Stencyl также имеет функции, которые можно использовать с прямым кодом, если вам это нравится, и даже если вы этого не сделаете, вы все равно можете посмотреть код (но не редактировать его), если хотите попытаться лучше понять, что происходит. . Язык программирования — это базовый объектно-ориентированный язык программирования, очень похожий на Java и предлагающий бесконечные возможности.
Создание простой игры
Откройте Stencyl и нажмите «Щелкните здесь, чтобы создать новую игру», затем нажмите «Crash Course Kit» и «Далее». Если «Набор для ускоренного курса» не отображается, выберите «Файл»> «Импортировать игру» и затем импортируйте набор. Введите название и размер игры, я использовал 1280 × 720 в альбомной ориентации. Как только игра будет создана, вы попадете на панель управления, где происходит вся магия, как мы обсуждали ранее. Перейдем к следующему шагу.
Теперь вам нужно создать группы, это позволит избежать коллизий. Первое, что нужно сделать, это открыть панель настроек. Это синяя панель, обозначенная на первом рисунке. Затем нажмите «Группы» слева. Нажмите «Create New», чтобы создать новую группу, назовите ее «Enemies» и убедитесь, что она сталкивается с «Players» и «Tiles» (они станут зелеными, если они выбраны).
Нажмите ОК..
Теперь пришло время дать актерам некоторое поведение. Это оживит игру и добавит анимации. Что вам нужно сделать, так это перейти на экран конкретного актера для «Нони» и «Клоун», затем выбрать «Поведение» в верхней средней части экрана. Щелкните в центре экрана и добавьте анимацию ходьбы для Нони. После добавления будет представлен экран с запросом анимации.
Они говорят сами за себя, и щелкнув по ним, вы сможете добавить соответствующие анимации. Повторите этот шаг (нажав «Добавить поведение» в левом нижнем углу), но теперь с прыжком не забудьте добавить ключ как «действие1», чтобы игрок прыгнул, а также добавить звук прыжка из выпадающего списка. Мы еще не совсем закончили, так как нам нужно добавить еще несколько поведений, а именно «умереть в яме и перезагрузить» и «топнуть по врагам». Для «Удар по врагам» выберите топаемую группу для «врагов» и клавишу перехода к «action1». Последний — «умереть в яме и перезагрузить», но настраивать нечего.
Теперь переходим к «Клоуну». Чтобы найти «Клоун», щелкните вкладку «Панель управления» и убедитесь, что выбран «Типы актеров».
« Клоун »намного проще настроить, сделав всего два шага. Перейдите на вкладку «Свойства» на вкладке «Клоун» и измените группу на «Враги». Затем перейдите на вкладку «Поведение» и добавьте поведение «топать». Отсюда добавьте анимацию «Stomped» и звук «Stomp». Вот и все, что касается игрока и врагов!
Последние действующие лица, которые необходимо создать, — это кнопки, которые позволят игроку управлять прикосновением. Это может быть любой дизайн, но я выбрал две кнопки со стрелками и кнопку перехода. Если вы не хотите создавать свои собственные изображения, перейдите в StencylForge и загрузите пакет «Virtual Mobile Button» в разделе «Типы актеров».
Первое, что нужно сделать, это настроить трех новых актеров: «LeftButton», «RightButton» и «JumpButton». Перейдите на вкладку «Панель инструментов», затем «Типы актеров» и, наконец, нажмите на пунктирную рамку, чтобы «создать новый тип актера».
Перейдите к «Виртуальной мобильной кнопке», нажмите «Влево» стрелкой, а затем щелкните «Копировать фрейм» на серой панели инструментов в нижней части раздела «Фреймы». Теперь перейдите на вкладку «Левая кнопка», щелкните пунктирную рамку, чтобы «добавить анимацию», и нажмите «Вставить кадр». Оставаясь на вкладке «LeftButton», перейдите в раздел «Physics» и щелкните переключатель с надписью «Cannot move». Это сделает кнопку невосприимчивой к эффектам гравитации сцены. Повторите эти шаги для кнопок вправо и перехода.
Следующие несколько шагов могут быть немного сложными, поэтому внимательно прочтите и убедитесь, что вы не торопитесь … Далее следует перейти на вкладку «События» на экране «Левая кнопка».. Нажмите «Добавить событие», наведите указатель мыши на «Ввод» и нажмите «На актера», это поместит небольшой блок в правой средней части экрана. Измените условие на «нажата», щелкнув раскрывающееся меню сразу после «когда указатель мыши» на коричневом блоке.
Перейдите в «Атрибуты» »В правом верхнем углу экрана (рядом с Flow , Scene , Numbers Game Attributes> move_right щелкните по нему. Затем перейдите к другому раскрывающемуся списку и выберите Логическое> Сравнение> истина и щелкните его. Сделайте то же самое для «move_left» под комментарием «move left», выполняя тот же самый метод.
Как только все это будет сделано, перейдите к поведению актера «Jumping». Это намного проще. Сразу под комментарием «Jump» удалите ПЕРВОЕ условие в операторе if, не удаляйте все это целиком, удалите все непосредственно перед «и». Затем перетащите блок «что-нибудь = что-нибудь» в это место и установите для него значение «jump = true». Это оно!
Вы сможете убедиться, что они работают на следующем шаге.
Затем создайте новую сцену, щелкнув «Сцены» на вкладке «Панель инструментов». Вы можете называть его как хотите, подойдет что-то вроде «Level1». Вы можете определить границы комнаты. У вас есть возможность определить границы пикселями или плитками. Конечно, это будет зависеть от варианта использования, но для этого примера я сделал сцену 1280 × 720.
Последний вариант — это возможность добавить цвет фона, я выбрал градиент голубого неба. Когда закончите, нажмите «ОК».
После загрузки сцены вы увидите сцену, а справа от нее вы увидите все, что можно разместить в сцене. Нажмите на плитку с травой и сделайте платформу, затем добавьте игрока (Нони), а затем добавьте несколько врагов (Клоуны). Здесь вы также можете добавить все кнопки в любой конфигурации, какой захотите. Последний шаг — добавить гравитацию, чтобы актеры упали на землю, если они находятся в воздухе. Перейдите на вкладку «Физика» в сцене и измените вертикальную гравитацию на «1000».
Теперь сцена полностью настроена! Нажмите «Проверить игру» в правом верхнем углу, чтобы протестировать игру на любой платформе, которая вам нравится, хотя помните, что для тестирования игры на платформе Android у вас должно быть подключено устройство Android. Вам также понадобится Java JDK 1.6 или выше, и Android SDK автоматически загружается при первой попытке запустить игру на Android.
Заключение
Есть много способов делать игры на Android, но я обнаружил, что из бесплатных вариантов Stencyl работает лучше всего. Выучить его не так уж сложно, и создавать игры с ним очень просто. Пользовательский интерфейс очень прост для понимания, и после небольшой практики блоки событий и псевдокода довольно легко понять. Если у вас есть вопросы, не стесняйтесь оставлять комментарии, дайте нам знать, как вы разрабатываете игры для Android!
Источник: binarate.ru