Разработка 2d игры на Android: поиск идеи, планирование и настройка работ. Часть 1

Курсы и туториалы по созданию двумерных игр — вторая статья из цикла «Разработка».

118 474просмотров

Автор: Дмитрий Старокожев. Начал программировать на пятом курсе университета, влюбился в Objective-C и разработку под iOS, после чего попал в Pixonic. Работает ведущим разработчиком на проекте War Robots, а в свободное время преподаёт.

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

Учить программированию в одной статье нет смысла. К тому же, руководств в интернете множество. Многие наверняка будут делать свои первые прототипы в 2D — на этой теме и сконцентрируемся сегодня.

Если вы решили делать сразу в 3D, не спешите закрывать страницу — знания всё равно пригодятся. Приступим.

2D. Звучит олдскульно, правда? В наши дни разработка двумерных игр приобретает какой-то особый шарм. Чувствуешь себя ценителем, которому открылась недоступная другим истина. Но одного чувства прекрасного недостаточно — у разработки в 2D есть множество нюансов.

Очевидно, что главная особенность двухмерных игр — отсутствие третьего измерения. Как определить, кто ближе к зрителю: машина, куст или огромный боевой робот? Чтобы решить эту проблему, во всех 2D-движках предусмотрен механизм сортировки спрайтов — то есть двумерных графических объектов — по оси Z. Он может называться Z-order или Sorting Layers — в любом случае, с его помощью можно перемещать объекты со слоя на слой.

Другими словами, проблема уже решена за нас. Можно не тратить силы на изобретение велосипеда, а обратить свое внимание на особенности конкретных движков и жанров.

Звук и анимация

Для разработки прототипа звуки и анимация в большинстве случаев не так важны. Но нужно понимать, что работа с ними в 2D значительно отличается от 3D. В трёхмерном мире анимация скелетная: у каждой модели есть «скелет» (rig). Двигая его участки, разработчик анимирует модель.

А в 2D анимация создаётся покадрово: нужно создать атлас изображений, чтобы они стали последовательностью кадров анимации (sprite sheet). Уолт Дисней всё делал кистью и роллером, и это были шедевры (с). Этим же способом можно создавать очень красивых рисованных персонажей. Как в Cuphead, которая разрабатывалась на Unity.

Cuphead

А вот со звуком в 2D всё проще. Если при отрисовке мира отсутствие третьего измерения накладывает ограничения, то работа со звуком, наоборот, упрощается. Не нужно учитывать расстояние от слушателя (персонажа в игре) до источника звука — слушателем всегда будет выступать сам игрок.

Но нужна ли вообще прототипу музыка? Не думаю, что можно дать однозначный ответ (как и с анимацией). Давайте посмотрим на Hidden Folks. Это не просто 2D-игра, а настоящее произведение искусства.

Весь звук в Hidden Folks состоит из странных похрюкиваний и притопываний её разработчика, что само по себе USP — уникальное торговое предложение игры. Каждое прикосновение к экрану смартфона заставляет улыбнуться. Ладно, если запись похрюкиваний вам не подходит, в Asset Store Unity можно найти огромное количество платных и бесплатных ассетов для прототипа, а иногда и для релизной версии игры.

С чего начать

Рекомендации по выбору жанра можно прочитать в статье прошлого цикла. Здесь же мы будем говорить о некоторых путях, по которым можно пойти начинающему разработчику. Кому-то кажется, что вариантов не так много и обязательно надо закончить профильный университет с хорошей профессурой. Но если копнуть глубже, то обнаруживается бесконечный океан знаний, которые лежат прямо перед носом — остается только ухватиться за предоставленную интернетом возможность. Из доступного на ум сразу приходят:

  • Туториалы.
  • Онлайн-курсы.

Туториалы (tutorial) отличаются от курсов тем, что дают чёткий алгоритм действий для воспроизведения результата. Они не выходят за рамки поставленной задачи и отлично подходят, когда нужно сделать что-то конкретное, пока не пропал энтузиазм.

Туториалы

При первом поиске браузер выдаст миллионы ссылок с видеоуроками, статьями и готовыми проектами. Я подобрал несколько хороших вариантов по разным игровым жанрам. К тому же, среди других работ авторов можно найти ещё больше годного контента.

Есть YouTube-канал Brackeys. На нём — отличное вводное видео о том, с чего начать разработку платформера с плиточной графикой (tile based). Если сложно воспринимать на слух, можно включить английские субтитры.

Автор ролика приводит много примеров существующих проектов и объясняет, чем отличаются два различных подхода к созданию двумерных игр: sprite и tile based. В плейлистах канала можно найти староватый, но не потерявший актуальность туториал по созданию полноценного 2D-платформера с нуля — пошагово и со всем кодом, который можно повторить у себя и получить такой же результат.

На канале интересно практически каждое видео: даже если вы не планируете прямо сейчас врываться в разработку, стоит посмотреть хотя бы ролики о том, что нового появляется в Unity от версии к версии. Кстати, некоторые выпуски спонсирует сама Unity Technologies.

Еще один канал от энтузиаста — N3K EN. Можно найти ролики как по отдельным механикам или основам C # и Unity, так и плейлисты по разработке проектов с нуля. Например, создание прототипа Fruit Ninja за четыре часа в режиме реального времени со всем кодом.

Если учиться по видеороликам не очень нравится, есть хороший туториал в виде полноценной книги на английском языке. Она проведёт вас от установки Unity пятой версии до конца разработки двумерного скролл-шутера.

Наконец, есть официальные туториалы от Unity. Видео сопровождаются текстовыми описаниями и даже листингами программного кода. В процессе обучения создаётся roguelike RPG в tile based мире.

Чтобы в точности повторить результат, Unity сразу предлагает бесплатно скачать все ассеты этого проекта. Очень удобно и не надо ломать голову над тем, где взять симпатичные спрайты, а не разноцветные прямоугольники. В последнем ролике вы даже научитесь реализовывать управление персонажем под сенсорные экраны мобильных устройств.

Принимаясь за изучение нового туториала, не стоит волноваться о том, какую версию движка использует автор.

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

Курсы

Если нужно подтянуть навыки программирования, то на арену выходит старый и проверенный игрок — Code School. Всё происходит прямо в интерфейсе сайта, который выглядит свежо и удобно. И не чувствуешь на затылке укоризненный взгляд Лобачевского со старого портрета над доской с графиком дежурств. Точно стоит обратить внимание хотя бы на бесплатные курсы, чтобы понять, насколько удобен такой формат обучения.

Есть официальные курсы от Unity, не надо далеко ходить. Кажется, что они и дальше готовы инвестировать в это направление (а после курсов можно еще получить сертификат).

У GeekBrains есть два отличных курса, разбитых по уровням сложности. Раз уж мы говорим о 2D-играх, нас интересует первый. Оба курса требуют определенной алгоритмической подготовки, программированию там не учат, только разработке на Unity.

Вы научитесь делать игры в 2D буквально с нуля: на первом уроке установите движок, а на восьмом уже запустите проект на Android. Вы даже можете заметить меня в списке преподавателей и случайно попасть на мой поток.

Хотите узнать, насколько глубока кроличья нора? Я падаю, стул тоже падает, здесь всё в 2D, и мне это очень нравится. Присоединяйтесь.

Домашнее задание

Наступает время самостоятельной работы. Пора писать код своей первой игры!

  • Определите главную механику. Например, у Tower Defence это строительство башен и волны врагов.
  • Найдите туториал по главной механике или по жанру в целом.
  • Реализуйте главную механику на практике, используя примитивную графику.

О нюансах 3D-игр и туториалах для них поговорим отдельно — в следующей статье.

Это статья из нашего большого проекта с vc.ru. Если выполнять все задания, можно — ни много ни мало — научиться делать видеоигры. И выиграть лимитированное издание PS4 Pro в конце каждого цикла статей.

Цикл «Разработка»:

  • Первая статья «Выбор движка для первой игры».
  • Вторая статья «Учимся делать 2D-игры с нуля».
  • Третья статья «Учимся делать 3D-игры с нуля».
  • Четвертая статья «Unreal Engine 4 для инди и прототипирования».

Всем привет, с вами Михаил Беркут и это топ 5 программ для создания 2д игр без программирования. Благодаря данному видео вы сможете с легкостью выбрать конструктор или даже движок себе по душе. Погнали

И на 5 месте нашего топа расположился Stencyl. Это кросплатформенный конструктор игр, среда разработки которого работает в интеграции с онлайновым магазином компонентов игр StencylForge и сайтом Stencyl.com, на котором расположены учебные материалы, форумы пользователей конструктора и опубликованные ими игры. Позволяет создавать игры для платформ iOS, Android, настольных компьютеров под управлением Windows и Linux, а также игр в формате Adobe Flash и HTML 5. Конструктор предоставляет готовый выбор блоков событий, корзину удаленных действий, блоки предопределённых поведений и мн.др. При этом разработчику дается возможность создавать свои события и реакции, если это необходимо.

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

И еще, что очень немаловажно — развивающееся сообщество. «StencylForge» — позволяет совместно делать игры с людьми, находящимися далеко. Тут нам и чат и поддержка, причем все это предоставляется на бесплатной инициативе. К сожалению, Stencyl имеет достаточно низкие возможности при создании игр, а также открытый исходный код не предоставляется

На 4 месте топа оказывается Unity. Это передовой игровой движок от компании Unity Technologies, позволяющий разрабатывать не только 2D, но и 3D-игры. По мнению большинства инди-разработчиков игр на данный момент это лучшая платформа разработки игр.

На официальном сайте движка имеются бесплатные обучающие материалы, проекты, онлайн-обучение и документация. У движка очень большое сообщество пользователей, поэтому вы можете черпать ответы, советы и вдохновение на официальных и неофициальных форумах. Но про Юнити я и так уже упоминал в предыдущем топе, поэтому идем дальше

А в тройку лидеров входит Rpg Maker. RPG Maker MV – это конструктор ролевых 2D-игр в японском стиле (jRPG) от компании Enterbrain. По своей сути данный конструктор игр является идейным продолжателем серии RPG Maker и RPG Maker VX ACE в частности, поэтому сравнивать его возможности стоит с этой серией и её предыдущим релизом. Программа достаточна проста для ребёнка, в то же время способна дать всё необходимое для продвинутого разработчика игр. Она рассчитана на создание игр без программирования, но имеется и специальный скриптовой язык для расширенного редактирования и реализации любых специфических возможностей. Движок работает на JavaScript с возможностью компиляции игр в формат HTML5. Опытные пользователи могут редактировать все части кода игры без каких-либо скрытых классов. С помощью скриптов вы можете на нём сделать практически любой жанр игр. RPG Maker MV в стартовом пакете уже содержит набор ресурсов для создания первой игры. Всего более 100 шаблонов карт, генератор персонажей и мн.др. Карты, кстати, теперь имеют несколько слоёв для более качественного создания пейзажей с возможностью накладывать тайлы оформления друг на друга.

Программа запускается на Windows и теперь Macintosh. А игры в ней делаются для Windows, Mac, Android, iOS, HTML 5 для Web-браузеров.

Для управления поддерживается клавиатура, мышь и тачпад для манипуляций пальцами на сенсорных экранах. Добавлен Plugin Manager для более удобного подключения дополнений. Добавлен и инструмент поиска событий, который был в RPG Maker 2003, но позже не включался в инструментарий новых версий конструктора. А он очень удобен для быстрого и удобного поиска нужных событий, когда игра разрастается до больших размеров.

К плюсам RPG Maker MV можно отнести то, что программа проста в освоении, несмотря на максимальный функционал, заточенный под специфику жанра 2D jRPG. В нём уже есть шаблоны для быстрого старта, а стандартные менюшки создаются автоматически, вам достаточно только отредактировать их по своему вкусу. К минусам данной программу отнесу достаточно низкое разрешение экрана и лишь один возможный жанр ваших будущих игр.

2- е место в нашем топе занимает Game Maker — это один из самых известных и удобных конструкторов игр. Создание игр в нем достаточно простое и не требует предварительного знакомства с каким либо из языков программирования.

Игра в GameMaker строится как набор игровых объектов, поведение которых задаётся путём программирования реакции на события. Программировать можно, используя графическое представление программ. Это представление отличается от обычного, например, тем, что для того чтобы начать условный оператор, нужно перетащить на панель действия восьмиугольник с иконкой, обозначающей тип проверки, а затем, возможно, ввести какие-либо значения в появившуюся форму. Имеется в нём и скриптовый язык GML похожий на JavaScript.

Рассчитан в основном он на создание двухмерных (2D) игр любых жанров. Также подойдёт для создания различных презентаций и т.п. Начиная с 6-й версии появилась ограниченная возможность работать с 3D. Для разработки 3D игр в Game Maker’е необходимо использовать встроенный язык программирования Game Maker Language.

Имеется экспортёр любых ресурсов GM. Есть встроенная в интерфейс система обучения, которая поможет новичкам по шагам создать свою игру на Game Maker. Конструктор очень прост в освоении, например, механику платформенной 2D игры на нём можно создать за пару минут. В сети очень много примеров, уроков и движков с игровой механикой для GM.

Game Maker распространяется на условиях Shareware, бесплатная версия ограниченна в функциональности, а при запуске игр показывается лого Game Maker’а. В Lite-версия GM ограничена в возможностях, она доступна для свободного скачивания. Pro-версия продаётся за 39$, в ней включены все функции, а также возможность разрабатывать коммерческие игры.

Этот конструктор игр может быть рекомендован для изучения программирования детьми. Легкость освоения и программирования на GML постоянно привлекает все новых и новых создателей игр (так называемых игроделов). К недостатком данной программы отнесу недостаточную оптимизацию для больших игр, слишком высокую цену на приобретение лицензии и мало функциональное API по сравнению с полноценными движками.

А 1-е место нашего топа занимает Construct 2 – это конструктор 2D-игр, позволяющий разрабатывать игры любого жанра и направленности в формате технологии HTML5. Он достаточно прост в освоении и удобен в использовании, благодаря чему любой желающий создать свою игру сможет это сделать даже без знаний в программировании. Данный конструктор подойдёт не только для начинающих, но и для профессионалов, желающих отойти от технологии Flash к HTML5, которые хотят сделать качественные web-игры, либо прототипы. Получаемые посредством Construct 2 игры поддерживаются популярными web-браузерами и мобильными устройствами ОС типа Android или iOS.

Основной редактор этого конструктора позволяет за несколько кликов выполнить нужные задачи, благодаря чему разработка игры происходит считанные минуты. Удобный интерфейс спроектирован для быстрой работы. А тестирование на мобильных системах может осуществляться немедленно посредством LAN-передачи Wifi. Игры, созданные в Construct 2, благодаря технологии HTML5 можно интегрировать в популярные социальные сети, типа Facebook. Поддерживается экспорт Chrome Web Store.

Для осуществления физических законов в играх используется популярный движок Box 2D Physics, позволяющий реализовывать великолепные физические эффекты за несколько щелчков. Также имеются специальные плагины, расширяющие основные возможности конструктора.

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

Ну а если кто то по вашему достоин попасть в этот топ, то не торопитесь ставить дизлайк, а просто напишите свою версию топа в комментариях. На этом у меня все, всем спасибо за просмотр, если вам понравился этот ролик, то не забудьте поставить лайк и подписаться на мой канал. Удачи!

image

Как только ваша игра будет завершена, вам останется лишь протестировать её, провести продвижение и начать продавать! Для начала вам нужно убедиться в том, что вы проверили каждый аспект игр и избавились от ошибок/багов. Это может занять очень долгое время, поэтому подготовьтесь к многочисленным часам тестирования и полировки.

Часть с продвижением уже относительно прямолинейна. Вы можете заняться этим сами или нанять консультанта, особенно если у вас нет как такового опыта в продвижении. Вам нужно не только знать, как создать игру, но и выгодно продемонстрировать её. Сделать это может быть сложно, но у вас есть несколько вариантов:

  • Создайте сайт, где люди смогут узнать о вашей игре, купить и загрузить её.
  • Свяжитесь с игровыми магазинами и постарайтесь опубликовать свою игру на их платформе. Там вы сможете выложить видео с игровым процессом и скриншоты.
  • Если вы хотели узнать, как делают игры для мобильных, то должно быть понимаете, где их лучше всего опубликовать. AppStore или Google Play станут идеальными площадками для этого.

Это лишь несколько вариантов для вас. Опять же, вы можете найти множество вариантов продвижения для вашей игры.

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

Обучение тому, как создать игру с помощью JavaScript проходит довольно просто. Как ранее упоминалось, вы можете создавать простые мобильные приложения и игры используя лишь JavaScript, HTML и CSS на платформе PhoneGap. Миллионы людей по всему миру имеют хотя бы базовые знания JavaScript, что уже позволяет им создать свою собственную игру.

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

Java — это самый популярный язык программирования для создания игр на Android. При использовании вместе с Android Studio, Java может быть использован для создания игр с уникальным внешним видом и концептом. Игры, созданные на Java, чаще всего отличаются производительностью и удобством персонализации.

Если вас заинтересовало, как делают игры для Android, то для начала вам нужно освоить язык Java. К счастью, Java относительно простой язык программирования. Я бы порекомендовал вам начать с курса “Обучение Java с нуля”, перед тем как переходить непосредственно к теме создания игр.

Swift — это относительно новый язык программирования, который был создан для разработки приложений и игр для операционной системы iOS. Он разрабатывался для облегчения процесса создания игр и приложений для iOS-устройств, и на сегодняшний день стал очень популярен для тех, кто хочет узнать, как создать игру в первый раз.

Если вы хотите научиться созданию игр для iOS, то вам обязательно нужно будет выучить язык программирования Swift. Конечно, у вас есть возможность сделать это и без подобных знаний – взгляните на курс по созданию аркадной игры, чтобы узнать об этом больше – но программирование ваших собственных игр даст вам гораздо больше свободы действий и гибкости, когда дело будет касаться кастомизации вашей игры. Чтобы узнать о Swift и его использовании подробнее, посетите страницу курса Swift обучения для новичков.

Языки C – C, C# и C++ – являются самыми распространёнными языками программирования, когда дело касается продвинутой разработки игр и программ. Фактически, большая часть крупнобюджетных игр создаётся с использование одного или комбинации языков C. Тем не менее, они очень сложны в изучении. Я бы не стал рекомендовать вам начинать их изучение, если вы ещё не совсем уверены в своём стремлении создавать игры. Однако для пробы вы можете взглянуть на отдельный курс по этой теме “Как сделать игру”. Он научит вас основам C# с упором на разработку игр.

Опять же, если вы всерьёз взялись за тему, как создать игру, то вам нужно освоить не только языки программирования. Полный набор разработчика игр может включать в себя целый спектр различных программ, инструментов, фреймворков и библиотек. Давайте рассмотрим несколько важных навыков для создания игры.

Заметка: Не забывайте, что разные типы игры требуют различных знаний и навыков.

Вы уже знаете, что программы являются важной частью при создании сложных игр. Особенно это касается консольных игр. Одной из самых популярных и известных многим программ является Unity – кроссплатформенный игровой движок, который позволяет создавать различные типы игр.

Если вы хотите узнать больше о том, как создать игру в Unity, то для этого тоже есть особый курс “Как сделать игру на Unity”. Или вы можете просто перейти на официальный сайт игрового движка Unity и найти много полезной информации там. Проведите небольшое исследование относительно типа игры, которую вы планируете создать, и на основе этого вы сможете понять какие программы вам будет необходимо освоить.

imageПреимущества

  • Простой дизайн (без бесполезной информации)
  • Хорошее качество курсов (даже бесплатных)
  • Разнообразие возможностей обучения

Особенности

  • Программа Nanodegree
  • Подходит для корпоративного обучения
  • Платные сертификаты об окончании

Посмотреть На Все Купоны Лучших Платформ Для Онлайн Обучения Преимущества

  • Простой в использовании
  • Предлагает качественный контент
  • Очень открытый в своих ценах

Особенности

  • Бесплатные сертификаты об окончании
  • Фокус на навыки науки о данных
  • Гибкое расписание занятий

Посмотреть На Все Купоны Лучших Платформ Для Онлайн Обучения Преимущества

  • Огромное разнообразие курсов
  • Простая навигация
  • Нет технических проблем

Особенности

  • Огромное разнообразие курсов
  • Политика 30-дневного возврата средств
  • Бесплатные сертификаты об окончании

Посмотреть На Все Купоны Лучших Платформ Для Онлайн Обучения

Создание игр самому возможно, но тогда вам придётся овладеть ещё несколькими важными навыками. Дизайн игр один из таких навыков. Создание концепта и идеи игры настолько же важно, насколько программирование – можно сказать, что программирование даже не начнётся, пока вы не придумаете дизайн вашей игры! Однако вы бы не читали эту статью, если бы у вас не было своих идей, ведь так?

Я вновь повторю, обучение тому, как создать игру может быть интересным, полезным и очень сложным. Однако, если у вас есть неугасаемый интерес и должная мотивация, оно явно того стоит. Начните с самых базовых процессов, которые необходимо для создания игры. Даже самые простые игры требуют определённого концепта и видения. Этот концепт должен быть воплощен в проектный документ, способный помочь вам вести организованную разработку.

Если вы ещё не имеете навыков программирования, то вам нужно будет потратить несколько месяцев, чтобы изучить хотя бы один язык программирования. Вам также скорее всего будет полезно получить опыт работы с игровыми движками, вроде Unity.

Кроме этого, не упускайте из виду общую картину. Начните с меньшего. Сделайте карточную игру, игру про слова или что-то очень простое для начала.

Запомните, обучение созданию игр это не простое занятие, оно может потребовать от вас много времени и сил, но в конце концов ваши усилия вознаградятся!

Оставьте ваше честное мнение

Оставьте ваше честное мнение и помогите тысячам людей выбрать лучшую платформу для онлайн обучения. Все отзывы, позитивные или негативные, будут приниматься, если они честны. Мы не публикуем предвзятые отзывы и спам. Поэтому, если вы хотите поделиться вашим опытом, мнением или дать совет — у вас есть всё необходимое!

В первой главе вы найдете основную информацию по загрузке и установке Unity и подготовке первой сцены нашей игры.

Настройка среды в Unity

Начнем с самого простого: загрузки и настройки Unity.

Загрузите последнюю версию с официального сайта или торрента и запустите установочный файл.

Для редактирования кода в Unity (4.0.1 и выше) служит редактор MonoDevelop. Если вы работаете в Windows, вы можете (и я вам советую) использовать альтернативый редактор Visual Studio 2013 Desktop (C#) для Windows, после чего в настройках Unity измените редактор по умолчанию на Visual Studio.

image

Полезно знать: невозможно использовать отладчик Visual Studio 2013 Express с Unity. Вы должны иметь Pro версию Visual Studio и купить UnityVS плагин. С версией Express, вы будете иметь лучший редактор кода, но отсутствие отладчика сведет на нет все его достоинства.

Mac OS X

MonoDevelop 4 — существенно лучше, чем старый MonoDevelop 2 в предыдущих версиях Unity. Он, конечно, далек от совершенства, но ничего лучшего под на Mac не придумано.

На каком языке программировать в Unity?

Unity позволяет кодировать на трех языках: JavaScript, C# и Boo. Рекомендую использовать C# — он более мощный и проще.

Научиться пользоваться в главным интерфейсом Unity достаточно просто. Вам, может быть, будет страшно в первый раз, когда открываете программу, но уже через несколько часов вы будете чувствовать себя в нем как рыба в воде.

Вот несколько ссылок, которые могут быть вам полезными:

  • Изучение интерфейса Unitys: основа всех основ. Не зная интерфейса, вы не сможете создавать игры в Unity 3D
  • Создание сцены в Unity: изучение этого раздела поможет вам создать свою собственную сцену
Первая сцена. Создаем новый проект.

Выберите меню File, а затем создаqnt новый проект. Не выбирайте нивакой стандартный пакет на первое время. Вы можете повторно импортировать их позже, если вы захотите, просто поначалу они будут просто сбивать вас с толку.

image

Выберите 2D настройки. Как и прежде, вы можете изменить этот флаг в настройках проекта позже.

Не беспокойтесь о названии. Оно определяется в настройках, и чтобы изменить имя проекта достаточно просто переименовать папку.

Разметка и панели Unity

Перед вами пустая страница. С ней вы и будете работать, но вам потребуется время, чтобы настроить интерфейс в соответствии со своими конкретными нуждами. Лично мне удобнее, когда консоль находится рядом с игровым экраном, но если у вас маленький монитор, вы можете заменить панели вкладками.

image

Прежде чем перейти к созданию игры, уделите несколько минут, чтобы подготовить свой проект и сцены.

Чтобы держать все под рукой, советуем создать папки во вкладке Project (Проект). Эти папки будут созданы в папке Assets вашего проекта.

Внимание: папка Assets – это место, где хранится все, что вы добавляете во вкладке Project. Она может быть невидимой в Unity, в зависимости от выбранной разметки вкладки (одна или две колонки), но вы сможете увидеть ее, открыв приложение для экспорта файлов.

image

Вот пример структуры, которую мы используем в наших проектах. Вы можете адаптировать ее под свои предпочтения.

Ассеты проекта

В вашей панели Project, вы можете найти различные типы ассетов:

Заметка о папке Resources: если вы уже работали с Unity, вы знает, что Resources – полезная и уникальная папка. Она позволяет загрузить в скрипт объект или файл (с помощью статичного класса Resources). Она понадобится нам в самом конце (в главе, посвященной меню). Проще говоря, пока мы не будем ее добавлять.

Наша первая игровая сцена

Панель Hierarchy (Иерархия) содержит все объекты, которые доступны в сцене. Это то, чем вы манипулируете, когда начинаете игру с помощью кнопки «Play».

Каждый объект сцены является игровым объектом для Unity. Вы можете создать объект в главной сцене, или в другом объекте игры. Также вы можете в любое время переместить объект чтобы изменить его родителя.

image

Как вы можете видеть здесь, у нас здесь 3 потомка для объекта Level.

Пустые объекты

В Unity можно создать пустой объект и использовать его в качестве «папки» для других игровых объектов. Это упростит структуру вашей сцены.

image

Убедитесь, что все они имеют координаты (0, 0, 0) и тогда вы сможете легко их найти! Пустые объекты никак не используют свои координаты, но они влияют на относительные координаты их потомков. Мы не будем говорить об этой теме в этом уроке, давайте просто обнулим координаты ныших пустых объектов.

Заполнение сцены

По умолчанию, новая сцена создается с объектом Main Camera (Главная камера). Перетащите ее на сцену.

Для начала создайте эти пустые объекты:

Scripts
Мы добавим наши скрипты сюда. Мы используем этот объект, чтобы прикрепить сценарии, которые не связаны с объектом – например, скрипт гейм-менеджера.
Render
Здесь будет наша камера и источники света.
Level
 

В Level создайте 3 пустых объекта:

  • 0 - Background
  • 1 - Middleground
  • 2 - Foreground

Сохраните сцену в папке Scenes. Назовите ее как угодно, например Stage1. Вот, что у нас получилось:

image

Совет: по умолчанию игровой объект привязан к положению родителя. Это приводит к интересному побочному эффекту при использовании объекта камеры: если камера является дочерним объектом, она автоматически будет отслеживать положение родителя. Если же она является корневым объектом сцены или находится внутри пустого игрового объекта, она всегда показывает один и тот же вид. Однако если вы поместите камеру в движущийся игровой объект, она будет следовать за его передвижениями в пределах сцены. В данном случае нам нужна фиксированная камера, поэтому мы помещаем ее в пустой объект Render. Но запомните это свойство объекта камеры, оно может вам пригодиться. Мы подробно остановимся на этой теме в главе «Паралаксный скроллинг».

Мы только что создали базовую структуру нашей игры. На следующем этапе мы начнем делать забавные вещи: добавим на сцену фон и кое-что еще!

Добавляем фон в сцену

Наш первый фон будет статическим. Воспользуемся следующим изображением:

image

Импортируйте изображение в папку Textures (Текстуры). Просто скопируйте файл в нее, или перетащите его из проводника. Не беспокойтесь сейчас о настройках импорта.

Создайте в Unity новый игровой объект Sprite на сцене.

Что такое спрайт?

По сути, спрайт – это 2D-изображение, используемое в видео-игре. В данном случае это объект Unity для создания 2D-игр.

Добавляем текстуру спрайта

Unity может автоматически установить фон для вашего спрайта. Если ничего такого не произошло, или если вы хотите изменить текстуру, перейдите на вкладку инспектора и выберите background: (фон)

Вы должны нажать на маленький круглый значок справа от поля ввода, чтобы появилось Select Sprite (Выбрать спрайт) в Инспекторе

Мой спрайт не появляется в диалоговом окне! Убедитесь, что вы находитесь в вкдадке Assets диалогового окна «Select Sprite» (Выбрать спрайт). Если вы видите диалоговое окно пустым, — не пугайтечсь. Дело в том, что для некоторых установок Unity, даже со свежим новым 2D проектом изображения импортируются как «Текстура», а не «Спрайт». Чтобы это исправить, необходимо выбрать изображение на панели «Проект», и в «Инспекторе», изменить свойство «Текстура Type» имущество «Sprite»:

Итак, мы создали простой спрайт отображающий облака на небе. Давайте внесем изменения в сцену. В панели Hierarchy (Иерархия) выберите New Sprite. Переименуйте его в Background1 или что-то такое, что легко запомнить. Переименуйте его в Background1 или что-то такое, что легко запомнить. Затем переместите объект в нужное место: Level -> 0 - Background. Измените координаты на (0, 0, 0).

Создайте копию фона и поместите его в (20, 0, 0). Это должно отлично подойти к первой части.

Tip: Вы можете создать копию объекта с помощью клавиш cmd + D в OS X или ctrl + DWindows.

Слои со спрайтами

В Unity мы можем изменить «Z» наших элементов, что позволит нам работать со слоями. Это то, что мы делали в этом руководстве перед обновлением до Unity 5, но нам понравилась идея идея использовать слои со спрайтами. У вашего компонента Sprite Renderer есть поле с именем Sorting Layer с дефолтным значением. Если щелкнуть на нем, то вы увидите:

Давайте добавим несколько слоев под наши нужды (используйте кнопку +):

Добавьте фоновый слой к вашему спрайту фона:

Настройка Order in Layer — это способ ограничить подслои. Спрайты с меньшим номером оказываются перед спрайтами с большими числами.

Слой Default нельзя удалить, так как это слой, используемый 3D-элементами. Вы можете иметь 3D-объекты в 2D игре, в частности, частицы рассматриваются как 3D-объекты Unity, так что они будут рендериться на этом слое.

Добавление элементов фона

Также известных как props. Эти элементы никак не влияют на геймплей, но позволяют усовершенствовать графику игры. Вот некоторые простые спрайты для летающих платформ:

Как видите, мы поместили две платформы в один файл. Это хороший способ научиться обрезать спрайты с помощью новых инструментов Unity.

Получение двух спрайтов из одного изображения

Выполняйте следующие действия:

  1. Импортируйте изображения в папку «Текстуры»
  2. Выберите спрайт Platform и перейдите к панели Инспектор
  3. Измените «Sprite Mode» на «Multiple»
  4. Нажмите на кнопку Sprite Editor (Редактор спрайта)

В новом окне (Sprite Editor) вы можете рисовать прямоугольники вокруг каждой платформы, чтобы разрезать текстуру на более мелкие части:

Кнопка Slice в левом верхнем углу позволит вам быстро и автоматически проделать эту утомительную работу:

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

В этом уроке проделаем эту операцию вручную. Назовите платформы platform1 и platform2. Теперь, под файлом изображения, вы должны увидеть два спрайта отдельно:

Добавим их в сцену. Для этого мы будем выполнять те же действия что и для фона: создадим новый спрайт и выберим platform1. Потом повторим эти действия для platform2. Поместите их в объект 1 - Middleground. Убедитесь, что их позиция по оси Z равна нулю.

Prefabs (Префабы)

Сохранить эти платформы как префабы. Просто перетащите их в папку Prefabs:

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

Заметка о кнопках «Prefab»: При последующей модификации игрового объекта, вы можете использовать кнопку «Apply», чтобы применить эти изменения к Prefab, или кнопку «Revert», чтобы отменить все изменения игрового объекта в свойстваъ Prefab. Кнопка «Select» переместит выбранные свойства в ассет Prefab в окне проекта (они будут выделены).

Создание префабов с объектами-платформами упростит их повторное использование. Просто перетащите Prefab на сцену, чтобы добавить копию. Попробуйте добавить другую платформу таким же образом.

На данном этапе все это выглядит еще сыроватым, но в следующих двух главах мы добавим параллаксный скроллинг, и сцена оживет у нас на глазах.

Слои

Прежде чем двигаться дальше, мы модифицируем наши слои, чтобы избежать каких-либо проблем с порядком их отображения. Для этого просто измените позицию игровых объектов по оси Z во вкладке Hierarchy (Иерархия) следующим образом:

Слой Позиционирование по оси Z
0 — Задний фон 10
1 — Средний фон 5
2 — передний фон

При переключении из 2D режима в 3D, в окне «Scene» (Сцена) вы будете четко видеть слои:

Кликнув на игровом объекте Main Camera, вы увидите, что флажок Projection установлен на Orthographic. Эта настройка позволяет камере визуализировать 2D игру без учета трехмерных свойств объектов. Имейте в виду, что даже если вы работаете с 2D объектами, Unity по-прежнему использует свой 3D движок для визуализации сцены. Рисунок выше это наглядно демонстрирует.

В следующем уроке:

Вы только что узнали, как создать простой статический фон и как отобразить его должным образом. Затем мы научили вас, как сделать простые спрайты. В следующей главе мы узнаем, как добавить игрока и его врагов.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Citilink-kabinet.ru
Добавить комментарий