Разработка игры в Unity. С нуля и до реализации

Дмитрий Вадимович Денисов
Разработка игры в Unity. С нуля и до реализации

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

I Trust in God

Введение

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

В этой книге дано полноценное руководство по разработке игры на Unity с нуля. Без лишней воды и теории, только практика, потому что лучше один раз сделать что-то самостоятельно (даже по руководству), чем прочитать множество гайдов и посмотреть сотни видео на YouTube, но ничего не сделать. В отличие от большого количество книг по разработке и программированию, в этой вы найдете только ту информацию, которая непосредственно относится к созданию вполне конкретного игрового прототипа.

Это значит, что в книге не будет раздела по основам разработки на C# – языке программирования, который используется для написания сценариев в Unity. С другой стороны, вы получите всю информацию по созданию необходимых скриптов в создаваемой вами игре, а в приведенных листингах будут даны подробные комментарии. Это позволит сконцентрироваться на изучении только тех функций среды разработки, или возможностях языка программирования, которые нужны для выполнения поставленной задачи.

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

В практикуме предлагается разработать прототип игры «Dragon Picker», под который может быть адаптировано достаточно большое количество игровых механик и процессов. Смысл работы прототипа достаточно прост – нужно ловить различные предметы. Практикум разбит на основные разделы, в каждом из которых будут описаны основные этапы разработки игры, буквально пара абзацев теории, после чего мы сразу перейдем к разработке (программированию). Вид стартовой страницы готовой реализации приведен на рисунке ниже.


Цель практикума заключается в том, чтобы не только дать информацию о разработке прототипа, но и донести до читателя основные подходы к разработке игр такого типа. Другими словами, поняв, как создается Picker, вы без труда сможете сделать свою игру, непохожую на “исходный” прототип, но со схожей механикой. В конце каждой главы будут даны рекомендации по вариантам изменения и доработки базового прототипа. Следуя им вы сможете не только глубже изучить работу с Unity, но и создать свою уникальную игру на основе предложенной базовой версии.

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

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

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

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

Структура практикума и как с ним работать

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

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

Благодарности

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

Фадеев Виталий, ведущий инженер платформы виртуализации VMware ПАО Сбербанк. Виталий принимал участие в подготовке разделов, связанных с установкой необходимого программного обеспечения и выгрузки игры на внешнюю платформу. Его рекомендации были ценны и позволили сделать пошаговые инструкции более доступнымми для понимания начинающим разработчикам игр.

Коровин Илья, Junior C#/Unity программист. Илья проделал весь практикум в самой сырой версии от начала и до конца, дал ряд ценных рекомендаций по объяснению некоторых важных функций, реализованных в разрабатываемой игре.

Тагатов Альберт, UX/UI дизайнер, графический дизайнер, да и просто хороший, отзывчивый человек. Альберт сделал так, чтобы печатный экземпляр книги было приятно держать в руках, а электронная версия притягивала своим внешним видом. Благодарю Альберта за разработку прекрасной обложки для издания, с которым вы работаете.

Об авторе

Автор просто человек, который любит Unity, делать игры и играть в чужие игры. Каких-то больших наград и достижений пока не имеет, но очень к этому стремится. Делает самую разную работу, начиная с создания междисциплинарных физических моделей в программном пакете ANSYS, заканчивая разработкой игр на Unity и работой в должности доцента Уральского Федерального Университета. Стремится объять необъятное и объяснить как можно большему количеству людей, что IT-сфера это просто и интересно, а самое главное – она меняет наш мир с невероятной скоростью.

Сообщество

В этом разделе приведены некоторые ссылки на внешние ресурсы, которые будут полезны при изучении принципов разработки игры на Unity и станут хорошим дополнением к материалам, данным в этом практикуме.

Сайт автора: https://sciencepub.ru/unity-book/. На сайте размещена информация о книге, на нем вы найдете ссылки на ресурсы, которые использовались при создании игры, а также исходные файлы к игре. Если после издания будут обнаружены неточности в описании или опечатки, то о них будет также сообщаться на указанном сайте.

Telegram-канал: https://t.me/EpicUnity. В телеграмме можно задать вопросы автору, или просто обсудить реализацию игры в кругу единомышленников.

YouTube-канал: https://www.youtube.com/sciencepub. На Youtube-канале со временем появится play-лист с разбором дополнительных заданий, которые даются в конце каждого раздела. Пока что вы найдете на канале достаточно много увлекательных видеоматериалов научно-популярной направленности.

GitHub: https://github.com/Den1sovDm1triy. В отдельном репозитории вы найдете исходники к игре.

SIMMER.io: https://simmer.io/@Den1sov. Мини-игра, разработанная в этом практикуме размещена на web-портале, ссылка указана на профиль автора.

Свои отзывы и предложения, а также информацию о найденных неточностях и опечатках вы можете отправить на личный e-mail автора: mr.denisov.dv@gmail.com.

Посмотреть на готовую реализацию игры Dragon Picker можно по ссылке: https://simmer.io/@Den1sov/dragon-picker.

Часть 1. Установка необходимого программного обеспечения

Введение

Чтобы создать игру нужны инструменты разработки. В качестве основного инструмента мы будем использовать Unity, а для написания программного кода понадобится среда разработки, например Microsoft Visual Studio. Unity – межплатформенная среда разработки компьютерных игр, которую выпустила и активно продвигает американская компания Unity Technologies. Unity позволяет создавать приложения, работающие на более чем 25 различных платформах, включающих персональные компьютеры, игровые консоли, мобильные устройства, интернет-приложения и другие.

В этом разделе вы:

– Пройдете регистрацию на портале Unity.com и получите свой Unity ID.

– Скачаете Unity Hub и установите среду разработки Unity.

– Скачаете Microsoft Visual Studio.

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

1.1 Установка среды разработки

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

 

1. Откройте официальную страницу Unity (unity.com) в браузере. Вы сразу попадете на главную страницу компании Unity, где можете ознакомиться с актуальными новостями, поддерживаемыми платформами и предстоящими релизами продуктов компании.

2. На странице найдите кнопку Get Started и нажмите ее:



3. На открывшейся странице вам будет предложено выбрать план подписки. У компании Unity Technologies очень гибкая система, благодаря этому каждый разработчик может подобрать тарифный план под свои задачи. До тех пор, пока доход с вашего проекта за последние 12 месяцев не превышает $100 000 вы можете выбирать подписку Individual Personal (вкладка Individual – Personal – Get Started):



4. После этого вы попадете на страницу Unity Store. Если вы являетесь новым пользователем, нажмите кнопку Start Here:



5. Далее появится всплывающее диалоговое окно, на котором нужно принять лицензионное соглашение. Нажмите кнопку Agree and download.

6. Начнется автоматическая загрузка файла UnityHubSetup.

7. После завершения загрузки файла, запустите его. Начнется процесс установки приложения Unity Hub. Unity Hub – это десктопное приложение, спроектированное для удобной работы пользователей. Из него происходит доступ к экосистеме игрового движка Unity, работа с менеджером проектов созданных в Unity, управление лицензиями и установка дополнительных компонентов.

8. После завершения установки запустите Unity Hub. При первом запуске система предложит вам войти или создать свой аккаунт. Это можно сделать также при помощи популярных социальных сетей:



9. После того, как вы зашли в свой аккаунт Unity, откроется окно приложения Unity Hub. В центральной части приложения указаны проекты (Projects), с которыми вы работаете. Если вы используете Unity впервые, то это окно у вас должно быть пустым, однако очень скоро в нем начнут появляться созданные вами проекты, и Unity Hub будет выглядеть примерно следующим образом:



10. Оставаясь в Unity Hub нажмите кнопку Installs в левом меню и после того, как перейдете в новое окно, нажмите кнопку Add. После этого откроется окно выбора версий Unity для установки. Для начинающих пользователей лучше устанавливать рекомендованный релиз (Recommended Release) последней версии (как правило выбран по умолчанию). В книге используется версия Unity 2020.3.14f1:



11. После выбора последней рекомендованной версии, нажмите кнопку Next.

12. В следующем окне нам предлагается выбрать компоненты редактора (модули). Модули также удобно разделены по платформам, на которые мы хотим создавать игры. Мы будем делать игру для выгрузки на Web-сервис, поэтому установите дополнительно модуль WebGL (поставьте флажок напротив модуля с таким названием). Кроме этого, Unity позволяет делать игры под самые разные платформы. Например, если в дальнейшем вы захотите сделать игру под мобильное устройство, то все что вам потребуется – это установить модули Android Build Support и iOS Build Support:



13. Жмем кнопку Next, на следующей странице принимаем соглашение, поставив галочку. Жмем Done и ожидаем скачивания и установки редактора. На компьютере можно держать несколько разных версий Unity (см. пример ниже):



14. На этом процесс установки закончен.

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



Таким образом, Unity Hub является своего рода “точкой старта”, в которой происходит создание новых проектов (вкладка Projects), установка различных версий Unity (вкладка Installs) и т.д. Отмечу, что в Unity Hub можно держать несколько различных версий Unity, если у вас есть потребность работы с проектами, разработанными на ранних версиях.

По итогу пошагового выполнения всех указаний из данного раздела, у вас должна быть установлена среда разработки Unity. Также у вас должна быть создана учетная запись на сайте Unity.com. Не теряйте ее, так как через эту учетную запись происходит синхронизация проектов на вашем компьютере и на официальном сайте Unity. Кроме того, учетная запись нужна для работы с некоторыми полезными ресурсами, такими как Asset Store (подробнее об этом см. в разделе 2.2 Импорт игровых персонажей из Unity Asset Store).

1.2 Установка редактора кода

Несмотря на то, что Unity является полноценной средой разработки компьютерных игр, вам понадобится отдельное приложение для работы с кодом (для написания скриптов на языке программирования). Написать код для Unity можно даже в обычном блокноте, главное, чтобы он был написан корректно на языке C#. Однако, удобнее использовать специализированные среды разработки. Мы будем использовать Microsoft Visual Studio, установить которую можно как стандартное приложение в системе Windows, либо с помощью Unity Hub.

Воспользуйтесь одним из двух предложенных способов установки среды для работы с кодом. Чтобы перейти к скачиванию и установке Microsoft Visual Studio, выполните следующие действия:

1. Перейдите на сайт https://visualstudio.microsoft.com/ru/

2. На сайте вы увидите несколько ссылок на скачивание среды разработки под различные операционные системы. Ниже будет показан пример установки для Windows. Выберите из выпадающего списка Download Visual Studio и выберите версию Community 2019:



3. После этого автоматически начнется скачивание файла установки. После завершения скачивания запустите скачанный установочный файл.

4. Запустится Visual Studio Installer, который некоторое время будет скачивать необходимые файлы. Далее откроется окно с выбором компонентов, необходимых для установки:



5. Среди множества компонентов найдите “Разработка игр с помощью Unity”:



6. После выбора необходимого компонента нажмите “Установить”. Скачивание и установка займет определенное время, которое зависит от производительности вашего компьютера и скорости Интернет-соединения.

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

8. После перезагрузки запустите Visual Studio. При первом запуске среда разработки предложит вам выполнить вход под своей учетной записью (см. рисунок ниже слева) и выбрать вид темы (см. рисунок ниже справа):



9. Указанные в предыдущем пункте действия необходимо сделать только один раз, далее среда разработки будет запускаться без каких-либо дополнительных всплывающих окон.

10. На этом установку Visual Studio можно считать законченной. Если среда разработки открыта, то вы можете ее просто закрыть. В дальнейшем мы будем открывать проекты напрямую из Unity и использовать среду разработки Visual Studio для работы с кодом.

11. Установить Visual Studio можно также из Unity Hub. Чтобы это сделать выберите вкладку Installs – Add (можете пропустить этот и следующие два шага, если среда разработки уже была установлена):



12. В появившемся окне сначала предлагается выбрать нужную версию Unity (окно Add Unity Version), а если нажать кнопку Next, то при переходе на вторую страницу (Add modules to your install) можно выбрать установку Visual Studio:



13. Поставьте галочку напротив Microsoft Visual Studio Community 2019. Эта опция доступна как для iOS, так и для Windows. Обратите внимание, если у вас уже установлена Visual Studio, она не будет отображаться в качестве опции с дополнительной установкой. Нажмите Done, начнется скачивание и установка в автоматическом режиме среды разработки Visual Studio. Это программное обеспечение вы будете использовать для редактирования кода.

1  2  3  4  5  6  7  8 
Рейтинг@Mail.ru