Шутер как конструктор. Собери и опубликуй свою игру на Unity из готового шаблона
Шутер как конструктор. Собери и опубликуй свою игру на Unity из готового шаблона

Полная версия

Шутер как конструктор. Собери и опубликуй свою игру на Unity из готового шаблона

Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
1 из 4

Шутер как конструктор. Собери и опубликуй свою игру на Unity из готового шаблона

Введение

Эта книга — о коротком пути от «хочу делать игры» до «моя игра опубликована, и в неё играют другие люди».

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

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


Рис. В.1. Коллаж: стартовое окно игры и кадр геймплея шутера.

И это не обещание из далёкого будущего: игру, которую мы соберём, уже можно открыть в браузере прямо сейчас — https://yandex.ru/games/app/223547?draft=true&lang=ru. Поиграйте пару минут, чтобы увидеть цель, а потом вернёмся и соберём её вместе.

За семь глав мы пройдём весь цикл:

В первой главе — быстрый старт: за 15 минут проведём игру от проекта до публикации на Яндекс.Играх и получим рабочую ссылку, которой можно поделиться с друзьями. Это «фишка» книги — результат с первых страниц.

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

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

В четвёртой научимся думать как гейм-дизайнер: поставим цель, найдём уникальность игры (USP), разберём дизайн-документ — эту главу помог подготовить приглашённый гейм-дизайнер студии Targem Games.

В пятой соберём собственную браузерную версию и опубликуем её на Яндекс.Играх с помощью плагина YG2.

В шестой займёмся развитием: лидерборды, облачные сохранения, достижения, новые механики, баланс и монетизация.

А седьмая глава — бонус о суперсиле современного разработчика: как ускорять всю работу нейросетями — код, арт, 3D-модели, анимации и генерацию идей.

Игру, которую мы соберём, будем называть DeepGalacticShooter. Но это лишь рабочее название — к концу книги у вас будет свой проект, со своими уровнями и идеями.

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

Не нужно бояться, что это «копипаста» или «не по-настоящему». Так работает индустрия. Вы получаете прочный каркас, а наполняете его собственными идеями. Поехали!

Игровая индустрия сегодня

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

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

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

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

Игровой движок Unity

Один из популярных и доступных игровых движков сегодня — это Unity. За последние годы Unity стал настоящим стандартом для разработки игр благодаря своей гибкости и мощному функционалу. Считаю основным достижением этого движка является его открытость для взаимодействия комьюнити (сообществ), большого количества материалов и ресурсов для разработки игр. Можно не быть дизайнером, а использовать в своей игре самые разные готовые asset-паки, опубликованные в библиотеке assetstore.unity.com. Итак, основные достоинства Unity заключаются в следующем:

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

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

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

Поддержка 2D и 3D игр. Независимо от того, разрабатываете ли вы 2D-игру, например, шутер или платформер, или стремитесь создать масштабный 3D-проект, Unity предоставляет все необходимые инструменты для достижения поставленных целей.

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

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

Что нового в Unity 6

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

Оптимизация производительности и новые инструменты рендеринга. Одним из наиболее значительных обновлений в Unity 6 стало улучшение производительности. Движок теперь лучше поддерживает высокопроизводительные проекты, особенно с большим количеством объектов на сцене. Это особенно полезно для разработчиков 3D-игр с открытыми мирами или сложными симуляциями, где каждый кадр должен быть отрендерен максимально эффективно.

Unity 6 ввел новую систему Render Pipeline, которая позволяет разработчикам точно настраивать процессы рендеринга в зависимости от типа проекта. Например, для простых мобильных игр можно использовать Universal Render Pipeline (URP), который оптимизирован для производительности, а для AAA-проектов с высокими требованиями к графике доступен High Definition Render Pipeline (HDRP), который поддерживает сложное освещение, тени и шейдеры.

Поддержка мультиплатформенной разработки. Unity уже долгое время славится своей мультиплатформенной поддержкой, и в Unity 6 этот аспект был еще больше усовершенствован. Обновление включает более глубокую интеграцию с платформами нового поколения, такими как PlayStation 5, Xbox Series X/S и новыми версиями мобильных операционных систем. Улучшена поддержка устройств на базе Apple Silicon, что повышает производительность приложений на Mac с чипами M1 и M2.

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

Новшества для виртуальной и дополненной реальности (VR и AR). Одной из самых быстро развивающихся областей в игровой индустрии является виртуальная и дополненная реальность. Unity 6 расширяет возможности разработки под VR и AR, добавляя нативную поддержку для всех основных платформ, таких как Oculus, HTC Vive, HoloLens и Magic Leap.

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

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

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

Динамическое освещение и улучшенная физика. Unity 6 предлагает новый инструмент для динамического освещения, который значительно улучшает внешний вид сцен, особенно для игр с большим количеством подвижных объектов. Внедрение Real-Time Global Illumination позволяет освещению динамически реагировать на изменения сцены в режиме реального времени, что создает более реалистичное взаимодействие света и объектов.

Что касается физики, Unity 6 улучшил систему физического взаимодействия между объектами, добавив более точное моделирование столкновений и деформаций. Это важно для разработчиков игр с продвинутыми физическими симуляциями, таких как гоночные игры или проекты с разрушаемыми окружениями.

Улучшенные инструменты для разработки пользовательских интерфейсов (UI). Создание удобных и функциональных интерфейсов для игр — это одна из ключевых задач разработчиков, и Unity 6 предложил новые инструменты, облегчающие эту работу. В частности, новый UI Builder позволяет разработчикам создавать интерфейсы с помощью визуальных инструментов, что значительно ускоряет процесс разработки и настройки элементов UI.

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

Интеграция с машинным обучением и искусственным интеллектом. Unity 6 продолжает развивать инструменты для работы с машинным обучением и искусственным интеллектом (AI). Платформа теперь включает улучшенную поддержку ML-Agents, что позволяет использовать алгоритмы машинного обучения для создания сложных и реалистичных NPC или симуляций. Эти возможности могут использоваться не только в играх, но и в обучающих или научных приложениях, где требуется моделировать поведение сложных систем.

Новая архитектура для гибкости и масштабируемости проектов. Unity 6 вводит обновленную модульную архитектуру, которая позволяет разработчикам легче управлять проектами любого масштаба. Внедрена концепция Packages — отдельных модулей, которые можно добавлять или удалять из проекта по мере необходимости. Это упрощает работу над проектами и снижает объем ненужного кода, что повышает стабильность и производительность.

Выход Unity 6 — это важный шаг вперед для разработчиков игр, предлагающий целый спектр новых инструментов и возможностей, которые делают создание игр и интерактивных приложений еще проще и эффективнее. Улучшенная производительность, расширенные возможности работы с графикой и физикой, а также поддержка новых технологий, таких как VR, AR и машинное обучение, обеспечивают Unity статус одного из самых гибких и мощных движков на рынке. Независимо от того, создаете ли вы простую 2D-игру или амбициозный 3D-проект с продвинутой графикой, Unity 6 предоставляет все необходимые инструменты для достижения успеха.

Игры, сделанные на Unity

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

Ori and the Blind Forest (и продолжение Ori and the Will of the Wisps).


Эта игра стала известной благодаря потрясающей художественной стилистике, глубокой истории и великолепному геймплею. Ori and the Blind Forest — это приключенческая платформенная игра, которая сочетает в себе сложные головоломки, захватывающий дизайн уровней и красивую анимацию. Несмотря на то, что игра выглядит как произведение искусства, она работает на движке Unity, что доказывает его потенциал для создания визуально ошеломляющих проектов.

Cuphead (порт для Nintendo Switch). Хотя оригинальная версия игры была разработана на другом движке, портирование Cuphead на Nintendo Switch было выполнено с помощью Unity. Это яркий пример того, как Unity позволяет адаптировать игры для новых платформ с сохранением оригинального качества. Cuphead привлек внимание своей уникальной графикой в стиле ретро-мультипликации 1930-х годов и хардкорным игровым процессом.


Изображение выглядит как мультфильм, Анимация, Мультфильм, картина Автоматически созданное описание

Hollow Knight — еще один популярный представитель жанра "метроидвания", созданный на Unity. Игра привлекает внимание своим глубоким миром, сложным геймплеем и великолепной атмосферой. Она была высоко оценена как игроками, так и критиками за свое мастерство в дизайне и повествовании. Это одна из тех игр, которые показывают, что независимые разработчики могут создавать масштабные проекты на Unity.


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

Monument Valley. Эта инди-головоломка с уникальной графикой и иллюзиями в архитектурном стиле принесла большую популярность благодаря своим оригинальным механикам и минималистичной эстетике.


Monument Valley была разработана на Unity и стала одной из самых успешных мобильных игр, завоевав множество наград за дизайн.

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


Изображение выглядит как риф, подводный, плавание, вода Автоматически созданное описание

Escape from Tarkov (частично на Unity). Хардкорный шутер с элементами симуляции и RPG, Escape from Tarkov, разрабатывается с использованием различных технологий, включая Unity для отдельных аспектов проекта. Игра привлекла внимание благодаря своей детализированной системе боя и реалистичности. Несмотря на то, что Unity не является основным движком для всего проекта, этот пример показывает его использование в сложных игровых средах.

Among Us. Игра, которая взорвала рынок в 2020 году, хотя была выпущена в 2018.


Among Us — это социальная многопользовательская игра, где игроки пытаются найти предателя среди команды. Ее простой, но увлекательный геймплей, а также кросс-платформенность (доступна на PC, мобильных устройствах и консолях) — отличный пример возможностей Unity для создания игр, которые могут стать культурным феноменом.

Rust — популярная многопользовательская онлайн-игра в жанре survival.


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

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

Welcome Pack



Меня зовут Дмитрий Денисов. Я работаю в Уральском федеральном университете, в институте радиоэлектроники и информационных технологий (ИРИТ-РТФ), руковожу лабораторией разработки игр и VR-решений, веду курсы по разработке игр и VR и делаю небольшие инди-проекты.

Несколько слов о том, где вообще учат «разработчиков игр». Речь не про онлайн-школы с громкими обещаниями из рекламы, а про высшее образование. Делать игры и интерактивные симуляторы в той или иной степени учат на ИТ-направлениях подготовки с шифрами 09.03.хх (бакалавриат) и 09.04.хх (магистратура). Стоит честно сказать: в дипломе не будет написано «гуру по разработке игр» — но именно на этих направлениях дают фундамент, без которого профессии не существует.

На уральском радиофаке (ИРИТ-РТФ), например, учась на бакалавриате, можно выбрать спецкурсы по разработке игр, пройти практику в екатеринбургской студии Targem Games или поступить в специализированную магистратуру «Инженерия мультимедийных систем». На просторах страны есть и другие вузы — учат ли там делать игры, стоит уточнять в учебных планах. Так что если после этой книги вы захотите пойти дальше и получить профильное образование — это реальный и достойный путь.

Установка Unity и первый проект (для новичков)

Этот раздел можно пропустить, если вы уже хоть раз что-то делали в Unity. Если открываете движок впервые — пройдите пошаговую инструкцию ниже: установим Unity и соберём первый простой проект, чтобы освоиться в редакторе. Уже работали в Unity? Смело переходите к Главе 1.

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

Основной задачей данного раздела является обучение начальным шагам работы с Unity и создание первого проекта. Мы рассмотрим установку Unity и Unity Hub — специального интерфейса, с помощью которого можно управлять проектами и версиями редактора. Далее мы научимся создавать первый проект, добавлять игровые объекты и писать простые скрипты на языке программирования C#. Помимо этого, вы познакомитесь с основными элементами интерфейса Unity и их функциональными возможностями, что позволит вам уверенно чувствовать себя в среде разработки.

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

Установка Unity и Unity Hub

1. Перейдите на портал unity.com в раздел для загрузки программного обеспечения: unity.com/ru/download. На этой странице при нажатии на кнопку «Загрузить» вы сможете загрузить версию для своей операционной системы.


Изображение выглядит как текст, снимок экрана, программное обеспечение, Веб-сайт Автоматически созданное описание

2. Разрабатывать на Unity можно в основных операционных системах, что, несомненно, играет большую и важную роль в популярности этой среды разработки игр. После завершения загрузки у вас на компьютере окажется установщик UnityHubSetup, по сути, это загрузчик (лаунчер) для ваших будущих проектов. Установка Unity Hub стандартная, дважды кликните по установщику UnityHubSetup и дождитесь окончания установки.

3. Запустите Unity Hub. При первом запуске система предложит вам войти или создать свой аккаунт. Так вы можете войти / создать свою учетную запись, выбрав в левой части Unity Hub – Sign in:


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

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

- Asset Store (assetstore.unity.com): здесь вы найдете всё, что может понадобиться для создания игры — 2D и 3D модели, анимации, звуковые эффекты, шейдеры, пакеты SDK, шаблоны проектов и другие полезные инструменты. Все приобретённые или скачанные ресурсы могут быть мгновенно добавлены в ваш проект в Unity.

На страницу:
1 из 4