Создать игру самому на компьютере

Обновлено: 06.07.2024

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

Автор: Артём Клиновицкий. По диплому — специалист по защите информации, но в основном занимался AR, VR и интерактивными инсталляциями в разных странах мира. В Pixonic пришёл на должность ведущего VR-разработчика, а сейчас — Senior R&D Software Engineer. Работает над прототипами и другими экспериментальными проектами компании.

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

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

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

Минутка истории. Многие в качестве примеров первых 3D-игр обычно вспоминают Doom или Wolfenstein 3D, но настоящим прародителем трёхмерных шутеров (ещё и с мультиплеером) была игра, выпущенная в стенах NASA в 1973 году — называлась она Maze War.

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

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

Если вкратце, все 3D-движки создают изображение по одному сценарию.

  1. Модели и виртуальная камера располагаются в трёхмерном пространстве, с учетом положения, вращения и масштаба. К анимированным моделям применяются соответствующая анимации, например, изгибается часть модели, которая привязана к суставу скелета.
  2. Все модели покрываются текстурами. Одни текстуры сообщают о цвете определенных частей модели, другие — о том, насколько сильно эти части отражают свет, третьи содержат информацию о рельефе поверхности и так далее. По сути, текстуры — это обычные картинки. За то, как именно они будут накладываться и отображаться отвечают шейдеры — своего рода инструкции для видеокарты.
  3. Рассчитывается освещение с учётом источников света, расположения моделей относительно друг друга, заранее подготовленных световых карт (специальных текстур, содержащих информацию об освещённости 3D-моделей).
  4. Применяются пост-эффекты для финальной обработки картинки. Например, стилизация под нуар или эффект миниатюры.

Сами модели для игр создаются в отдельных редакторах вроде 3ds Max или Maya. Ещё есть бесплатный Blender с кучей туториалов на YouTube. Как именно это делается — слишком большая тема для нашего цикла, тем более, что в прототипах можно обойтись готовыми моделями из онлайн-библиотек и каталогов самих игровых движков.

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

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

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

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

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

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

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

Второй: воспользоваться средствами визуального или «нодового» программирования. Например, для Unity нужно будет установить специальный плагин (самый известный — Playmaker). С его помощью можно «собрать» логику игры из логических блоков, соединяя их линиями, как в блок-схеме. У Unreal Engine аналогичный инструмент встроен в базовую версию и называется Blueprints.

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

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

Следовать туториалам несложно, но я очень советую избегать слепого копирования. Экспериментируйте: что будет, если задать другое значение параметра в скрипте; а если сделать совсем другую форму коллайдера; и так далее.

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

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

Движок Unity со всем необходимым можно получить совершенно бесплатно. Более того, сделанные в нём игры можно официально публиковать и продавать, пока они не начнут приносить прибыль больше $100 тысяч в год. Функции бесплатной версии фактически не ограничены — разве что придётся мириться с логотипом Unity на старте игры и светлой темой интерфейса редактора.

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

Важное исключение: если урок затрагивает создание интерфейса игры (UI) и он предназначен для Unity версии 4.5 или раньше — он устарел целиком и полностью. Потому что в версии 4.6 UI был полностью переработан — изучать устаревшую версию не имеет смысла.

Ещё в комплекте с Unity поставляется бесплатная некоммерческая версия редактора кода Visual Studio. Советую сразу его установить и привыкать работать в профессиональной среде.

Теперь к конкретным урокам, которые могут пригодиться для создания первого прототипа. Заодно можно на практике увидеть, как работают люди с большим опытом создания игр.

    начального уровня от Unity по созданию адвенчуры про Элен, которая потерпела крушение на неизвестной планете. Весь урок можно выполнить без написания и строчки кода, на основе бесплатного 3D Game Kit. А после него можно изучить и весь раздел Tutorials на сайте Unity — там много полезных уроков. , официально рекомендуемый Unity. Он охватывает множество аспектов этого движка: программирование, физика, шейдеры, искусственный интеллект, звуки, частицы и так далее. Курс рассчитан примерно на 50 часов, и на него иногда действуют большие скидки. от YouTube-канала Brackeys по созданию игры в жанре Survival. Инди-игры в этом жанре довольно популярны, и многие наверняка хотели бы сделать что-то подобное. Этот туториал поможет начать. с отдельными роликами от того же автора. В нём могут быть уроки, которые пригодятся именно вам. от разработчиков Unity. Я советую первые две: прототипирование на UFPS и работа с Playmaker. от N3K по созданию мобильного раннера, по сути — клона Subway Surfer, но про пингвинов. Однозначно стоит взглянуть всем, кто интересуется разработкой мобильных игр. по созданию профессионально выглядящей лесной сцены в Unity из готовых ассетов (ссылки на них есть в описании к роликам). Подойдет тем, кто хочет самостоятельно собрать крутой уровень, не хуже, чем в коммерческих проектах.

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

  • Выберите серию уроков, которая лучше всего вам подходит, — из списка выше или самостоятельно.
  • Скачайте и установите Unity или любой другой движок. Начните следовать выбранным урокам, повторяя за автором. Но не забывайте экспериментировать, чтобы понять, как всё устроено.
  • Закончив туториал или курс, попробуйте самостоятельно улучшить результат. Добавьте то, без чего прототип игры в выбранном жанре будет неполным. Это не обязательно должно быть чем-то сложным, главное — выйти за рамки обучающих материалов.

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

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

Общий рейтинг Общие данные Основные функции Дополнительные возможности

Общие данные:

Основные функции:

Дополнительные возможности:

Готовые приложения можно быстро протестировать в специальном тест-окне. Вы сможете добавлять разнообразные мультимедийные файлы. Стоит отметить полное отсутствие проблем с совместимостью форматов видео, изображений и звуков. Присутствует функция импорта моделей в FBX, COLLADA, 3DS, DXF. Бесплатная версия программы получила некоторые ограничения функционала.

Достоинства Юнити 3Д:

  • Высокая скорость компиляции;
  • Работа с браузерной графикой;
  • Обширная библиотека объектов;
  • Качественный и удобный интерфейс;
  • Развитые инструменты визуализации;
  • Использует игровые движки NVIDIA PhysX;
  • Возможность настраивать поведение объектов;
  • Создание видеоигр с поддержкой OpenGL и DirectX;
  • Регулярные обновления ПО от студии Unity Technologies.

CryENGINE Free SDK — мощное средство, с помощью которого были созданы популярные шутеры от первого лица Far Cry и Crisis. Обратите внимание на обилие встроенных текстур, скриптов и объектов. Благодаря наличию интуитивно понятного интерфейса программы и удобной системы подсказок, можно полностью освоить управление за считанные часы (отличный результат, по сравнению с прочим софтом аналогичного уровня).

Если вы планируете профессиональный проект, то используя графический движок CryENGINE, вы сможете достичь всех поставленных целей. Также, на фоне других конструкторов игр, доступна оптимизация интерактивных приложений под GPU-рендеринг и внедрение поддержки свежих версий DirectX.

Возможности Край Энджайн:

  • Детальная прорисовка уровней и карт;
  • Позволяет делать скриншоты и делиться ими в соцсетях;
  • Импорт объектов из графических редакторов 3ds Max и Maya;
  • Возможность использовать фотореалистичную графику, элементы
    виртуальной реальности;
  • Наличие официального маркета с платными и бесплатными моделями;
  • Функция предварительного просмотра локаций в режиме реального времени;
  • Ваши игры для ПК можно портировать на Sony PlayStation и Xbox 360.

3D Rad — популярная программа, содержащая инструменты для создания трехмерных игр. У вас получится сделать действительно качественный продукт, благодаря широкому набору интегрированных текстур, теней, визуальных эффектов и так далее. Доступно добавление медиафайлов, в том числе: музыкального оформления и изображений.

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

Главные преимущества:

  • Небольшой размер установочного файла;
  • Развитые средства моделирования анимации;
  • Глубокая настройка текстур локаций и объектов;
  • Содержатся готовые шаблоны с локациями и персонажами;
  • Среда разработки 3D игр любого жанра для Windows и Mac OS;
  • Поддержка внешних звуковых эффектов, скриптов и дополнений.

Unreal Development Kit (UDK) — мощная среда для создания игр и программирования. Работает с известными платформами Windows iOS, Linux, Android, Xbox 360, Playstation, PSP и так далее. Отличается от большинства аналогов продвинутой системой по настройке физики поведения и взаимодействия предметов. Позволяет самостоятельно регулировать освещение, тени и всевозможные эффекты.

Включает в себя средства Unreal Kismet, Cascade и Matinee, необходимые для качественной визуализации игровых событий. В разделе Epic Citadel можно найти много интерактивного контента для создаваемого вами приложения.

Сильные стороны:

  • Поддержка LAN и прямого подключения к IP;
  • Встроенный язык программирования UnrealScript;
  • Наборы скриптов, спрайтов, текстур, и звуков;
  • Возможность создания компьютерных и мобильных игр;
  • Тестирование проекта Unreal Engine в реальном времени;
  • Простой в использовании интерфейс, подсказки для новичков.

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

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

Ключевые преимущества:

  • Интеграция с Visual Studio 2010;
  • Хранение данных в облаке Kodu;
  • Наличие удобной таблицы событий;
  • Обладает открытым исходным кодом;
  • Репост скриншотов в социальные сети;
  • Современный русскоязычный интерфейс;
  • Поворот камеры (управление видом сверху, сбоку);
  • Экспорт мультиплатформенных игр на PC, Xbox и Zune;
  • Использование высокоразвитого искусственного интеллекта;
  • Поддержка современных технологий XNA Microsoft Game Studio.

NeoAxis 3D Engine предоставит широкие возможности создания игр для опытных программистов. Перед вами откроются такие инструменты, как: физическая система предметов, библиотеки скриптов, средство настройки реакции объектов на определенные действия и множество других функций.

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

Особенности софта:

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

Доступна разработка браузерных 2D игр с поддержкой HTML5. Обратите внимание, что бесплатная версия создана для некоммерческого использования и содержит ограниченный функционал. Более развитые возможности вы найдете в Construct Classic, правда для работы с последней, понадобится иметь соответствующие знания в области программирования.

Ключевые особенности:

  • Не требует специальных навыков;
  • Простой и интуитивно понятный интерфейс;
  • Позволяет создавать игры любых жанров;
  • Большое количество обучающих видеороликов;
  • Регулярные обновления софта от официального сайта;
  • Поддерживает компьютерные и мобильные платформы;
  • Возможен предпросмотр игрового процесса без компиляции.

Game Editor — небольшая утилита для создания простых двухмерных игр на компьютеры или мобильные устройства. Не требует от пользователя специальных знаний языков программирования. Содержит готовые шаблоны с разными текстурами и моделями. Также вы найдете встроенные наборы анимаций.

В процессе работы над проектом, можно добавлять музыкальное сопровождение, поддерживаются различные аудиоформаты, среди которых: WAV, MID, Ogg Vorbis и прочие. Стоит отметить, что есть и Express-версия софта за 99 $, позволяющая вам выставлять своё творчество на продажу на витринах популярных онлайн-маркетов.

Основные преимущества:

  • Открытый исходный код;
  • Наличие подсказчика для новичков;
  • Поддержка экранов высокого разрешения;
  • Функция встраивания изображений и музыки;
  • Простой и удобный редактор событий и поведения объектов;
  • Существует веб-версия Гейм Эдитор для доступа к одному проекту с разных устройств.

Autodesk 3ds Max — мощный графический редактор, обладающий всеми необходимыми инструментами для профессионального 3D-моделирования. Является важной составляющей в разработке компьютерных игр, дизайна интерьера, а также телевизионных и мультипликационных роликов.

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

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

Сильные стороны:

  • Автоматическое сглаживание сцены;
  • Управление свойствами материалов;
  • Ручная регулировка источников света;
  • Доступна совместная работа над проектами;
  • Реалистичная симуляция природных явлений;
  • Наличие встроенной библиотеки с объектами;
  • Функция предпросмотра своих графических моделей;
  • Обеспечивает высокоскоростной рендеринг и композитинг;
  • Импорт/экспорт файлов в форматах FBX, JPEG, PNG, DWG, DXF, BMP, TIFF;
  • Мощный набор инструментов для моделирования, анимации и визуализации.

При помощи программы GameMaker Studio, вы сможете создавать свои 2D игры для компьютеров под управление Виндовс. Для начинающих разработчиков присутствует множество шаблонов, содержащих различные локации, персонажей, текстуры, модели и звуки. Более продвинутые пользователи смогут писать код на специальном скриптовом языке GML, во многом схожим с C++ и JavaScript.

Основные возможности:

  • Использование встроенных спрайтов, объектов и сценариев;
  • Настраиваемая рабочая область, удобное управление;
  • Совместимость утилиты с ОС Windows XP и выше;
  • Поддержка перетаскивания при помощи Drag and Drop;
  • Создание приложений, интегрируемых с онлайн-платформой Steam.

Clickteam Fusion содержит опции, позволяющие создавать простые игрушки для ПК и мобильных гаджетов. Включает в себя редактор событий и свойств. Использует новую версию движка Physics Engine Multimedia Fusion. Имеются библиотеки готовых скриптов и моделей.

Особенности Кликтим Фьюжн:

  • Наличие менеджера расширений;
  • Поддержка форматов HTML5 и Flash;
  • Компактный размер инсталляционного файла;
  • Позволяет задать вопрос в службу поддержки;
  • Аппаратное ускорение и шейдерные эффекты;
  • Быстрое добавление вспомогательных объектов;
  • Возможность рисовать графику в специальном окне;
  • В платной версии можно публиковать проекты на маркетах Google Play и App Store.

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

Начиная с профессиональных программ, стоит выделить CryENGINE, NeoAxis и Unreal Development Kit. Все они предоставят обширный функционал для разработки красочных игр на любую тематику. НеоАксис получил расширенные инструменты для реализации мультиплеерных игр. UDK славится тонкими настройками физики предметов. Софт от компании Crytek обладает полезной опцией запуска редактора моделей без предварительной установки на компьютер. Небольшая ложка дегтя всех программных продуктов — высокие системные требования.

В такой яростной конкуренции вышеприведенных утилит, выгодно расположилась Unity 3D - золотая середина, также включающая в себя все необходимые возможности, да еще и на мощном движке PhysX от NVIDIA. Поддерживает фактически все ОС: Xbox, Playstation, Wii, Android, iOS, Windows, Linux, Mac и так далее. Кроме того, предоставляет развитые средства для тестирования приложений. По вашему желанию, открывает доступ сразу нескольким пользователям к одному проекту, для комфортной совместной разработки.

Kodu Lab и 3D Rad — хорошие варианты для новичков, желающих испытать себя в области создания 3D игр. Вам не понадобится тратить уйму времени на обучение программированию. Софт содержит огромное количество текстур, объектов и моделей, а также библиотеки готовых действий для персонажей. Позволяет тонко настраивать взаимодействия объектов и управлять законами физики. Стоит отметить, что Коду получила самый простой и понятный интерфейс среди аналогов в подборке.

Созданные с помощью 3ds Max высококачественные модели и текстуры, можно экспортировать в другие утилиты для последующего применения в игровых конструкторах, например: Юнити 3Д, CryENGINE и прочих.

Game Editor, Construct 2, Game Maker Studio и Clickteam Fusion — приложения для создания двухмерных игр. Констракт 2 превосходит оппонентов русскоязычным меню, более удобным управлением и большим набором инструментов, позволяющим разрабатывать даже браузерные версии своих творений. ГеймМейкер Студио даст возможность продвинутым юзерам, освоившим принципы программирования, заниматься написанием кода на уникальном скрипт-языке GML. Внимание же новичков зачастую привлекает GameEditor, своей простотой, пошаговым подсказчиком, а также неплохим редактором событий и поведения объектов.

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

— Я придумал игру, создай мне её.
— А почему ты сам её не создашь?
— Я не умею.

И я задумался, а так ли сложно что-то создать с нынешним количеством уроков и тем по созданию игр в интернете?

С чего начать?

Для начала нам нужна идея, что за игру мы будем создавать, благо у меня была идея брата. Рассмотрим её поближе.

  1. Это РПГ в средневековом стиле (банально, не правда ли? =) )
  2. Она должна быть 3D, а не 2D (тут, кстати, довольно интересно, потому как в основном весь интернет пестрит роликами с 2D играми)
  3. Вид камеры от третьго лица
  4. Характеристики изменяются сами с повышением уровня, с упором на используемое оружие.
  5. Лимит уровней — 30
  6. Предметы привязаны к уровню персонажа (персонаж четвертого уровня не сможет использовать предмет пятого уровня)
  7. Движок, на котором всё будет работать (в моём случае это Unity: по работе с ним самое большое количество уроков на мой взгляд)

Думаю, что данный план вполне подойдёт для создания шедевра ААА класса =).

Начнём создавать шедевр

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

Идём в интернет и спрашиваем «как нам начать использовать Unity?».

Запускаем Unity Hub.


Выбираем NEW и далее 3D проект, пишем название и местоположение проекта.


И открывается сама программа.


И тут, наверное, знатоки начнут кидаться картошкой со словами «Зачем столько воды? Все и так это знают» НО! Материал предназначен в первую очередь для тех, кто ничего не умеет, а не для гуру геймдева =).

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

Как создать модели для игры?
  1. Научиться моделированию (сложно, долго, но интересно)
  2. Купить готовый пак моделей (быстро и просто, но за деньги)

Я выбрал второй вариант. Отправляемся в AssetStore. Если у вас не активировалась ваша учетная запись, повторно входим в личный кабинет. И начинаем искать подходящие паки. Я нашел то, что нужно, примерно за 3 минуты по поиску knight. В паке, помимо моделей самих персонажей, были модели окружения. Купил за 10 долларов, нажал Import, поставил все галочки, и пропала проблема, неумения моделировать. 1/4 игры готово.

Сцена

Дальше начинается самое нудное. Нужно собрать рабочую зону (scene, сцену, кому как привычнее называть).

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

Поскольку мы с вами в этом деле новички, снова лезем в интернет и смотрим, как нам поставить поверхность в игровую зону. Выбираем GameObject -> 3D Object -> Cube, после масштабируем его до простой площадки.


Далее добавляем персонажа (рыцаря, демона, ниндзю, тяночку, или кто вам больше по душе). Персонажа берем из папки Prefabs: мы уже знаем (вспоминаем, чему нас научили во вкладке Learn), что туда сохраняют полностью готовые объекты, персонажей и так далее.

И вот он, наш герой, который будет покорять всех и вся.


Анимация

Помните в рейде «Цитадель Ночи» в World of Warcraft был босс Алуриэль? Когда она произносила заклинания, то кричала «Аннигиляция, репликация, детонация, АНИМАЦИЯ. ». Нам необходимо с криком «Анимация!» наброситься на интернет и понять, как её сделать.

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

Что нужно в первую очередь? По мне — так научиться ходить и бегать. Возьмём анимацию ходьбы и бега.

  • В поисковике анимации набираем walking, выбираем понравившуюся анимацию, и ставим галочку In Place
  • Далее нам нужно подгрузить FBX модель от купленного пака для того, чтобы анимация не баговала (иногда такой модели может не быть в паке, но сейчас 99% разработчиков дают модель при покупке любого пака бесплатно либо она может лежать на официальном сайте). Тыкаем на upload character и загружаем модель FBX со смешным названием Mixamo_Guy_Naked.fbx.
  • Видим, что наш FBX заменил стандартную модель миксамо, и при желании можно кастомизировать анимацию, но этого делать мы, конечно же, не будем. Меня всё устраивает. Я жмякаю кнопку Download, выбираю Frames per Second 60 - анимация ходьбы готова.
  • Проделываем туже процедуру с анимацией бега (и другими, в зависимости от того, сколько вы их хотите добавить в данный момент)

Теперь создаём папку Animation в Unity и добавляем туда нашу анимацию. Начинаем настройку.

Выбираем персонажа, inspector, окно Animator, и в строке Controller нажимаем на кругляшок. Появится выбор, где мы и увидим нашу Animation, выбираем её и нажимаем на кнопку Play в Unity. Если вы всё сделали правильно, то сейчас должны наблюдать как ваш персонаж стоит, и у него проигрывается анимация Idle. То есть, он стоит и немного покачивается.


С анимацией разобрались, пора включать снова человека, который ничего не умеет =)

Скрипт W A S D

Анимация у нас есть, теперь нужно заставить нашего персонажа двигаться. Покопавшись в интернете, я узнал, что можно просто добавить компонент Character Controller. Так и сделаем — тыкнем Add Component, в поиск вбиваем Character Controller и добавляем его, в строке Center выставляем Y=1 (нужно, чтобы «яйцо» покрывало всего персонажа. Если у вас получилось меньше или больше, то просто настройте его вручную).


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Move: MonoBehaviour

public float speed = 3.0F;
public float rotateSpeed = 3.0F;
void Update()
float horizontal = Input.GetAxis(«Horizontal»);
float vertical = Input.GetAxis(«Vertical»);

CharacterController controller = GetComponent<CharacterController>();
transform.Rotate(0, horizontal * rotateSpeed, 0);
Vector3 forward = transform.TransformDirection(Vector3.forward);
float curSpeed = speed * vertical;
controller.SimpleMove(forward * curSpeed);

if (controller.velocity == Vector3.zero)
GetComponent<Animator>().SetBool(«Idle», true);
>
if (controller.velocity != Vector3.zero)
GetComponent<Animator>().SetBool(«Idle», false);
>
>
>

Тут я немного поясню скрипт.

Верхние четыре строчки — это подключение библиотек, public class — название скрипта. Если у Вас скрипт называется Moving или что-то в этом роде, то поменяйте название. Учтите, к регистру скрипт тоже придирчив.

public float speed = 3.0F; public float rotateSpeed = 3.0F; — это скорость персонажа, настраивается по желанию. Далее идёт подключение управления Character Controller и, соответственно, анимации.

Перетаскиваем скрипт в Inspector персонажа и проверяем. It's ALIVE.

Но есть нюанс: поворачивается наш персонаж слишком быстро и не подключена анимация бега. Скорость поворота лечится просто — выставляем в строке Rotate Speed 0.5, и наш персонаж больше не использует чит-крутилку из CS GO. Теперь сделаем, чтобы наш персонаж все-таки побежал. Снова интернет, хотя, по мне, тут можно и логически додумать, как всё провернуть, но всё же я нашел строчку кода, чтобы всё заработало. Добавляем в наш код такую строчку

if (Input.GetButtonDown(«Fire3»))
GetComponent<Animator>().SetBool(«Running», true);
else if (Input.GetButtonUp(«Fire3»))
GetComponent<Animator>().SetBool(«Running», false);

Если у Вас возникли вопросы, что такое Fire3, то ответ прост: это LShift, а проверить это можно, зайдя File->Build Setting->Player Setting->Input Manager. Эту информацию также не составило труда найти в интернете.


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

if (Input.GetKey(KeyCode.LeftShift))
speed = 6.0f;
>
else
speed = 3.0f;
>

В итоге весь скрипт у нас получился такого вида

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Move: MonoBehaviour

public float speed = 3.0F;
public float rotateSpeed = 3.0F;
void Update()
float horizontal = Input.GetAxis(«Horizontal»);
float vertical = Input.GetAxis(«Vertical»);

CharacterController controller = GetComponent<CharacterController>();
transform.Rotate(0, horizontal * rotateSpeed, 0);
Vector3 forward = transform.TransformDirection(Vector3.forward);
float curSpeed = speed * vertical;
controller.SimpleMove(forward * curSpeed);

if (Input.GetKey(KeyCode.LeftShift))
speed = 6.0f;
>
else
speed = 3.0f;
>

if (controller.velocity == Vector3.zero)
GetComponent<Animator>().SetBool(«Idle», true);
>
if (controller.velocity != Vector3.zero)
GetComponent<Animator>().SetBool(«Idle», false);
>
if (Input.GetButtonDown(«Fire3»))
GetComponent<Animator>().SetBool(«Running», true);
else if (Input.GetButtonUp(«Fire3»))
GetComponent<Animator>().SetBool(«Running», false);
>

Всё проверили, всё работает, осталось только прикрепить камеру к персонажу. Без заморочек просто перетаскиваем Main Camera в нашего персонажа, далее её настраиваем как нам удобно, проверяем и празднуем ПОБЕДУ!

Заключение

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

Я считаю, что не имея никаких знаний и денег, а только немного терпения, можно самому создать свою игру. Если вас смущает покупка пака из Asset Store, то всегда можно найти бесплатные паки. Я порылся в интернете и нашел как минимум 6 ресурсов, которые их предоставляют. Советую помимо интернета начать изучение какого-либо направления гейм дева.

Все описанное в этой статье было собрано без специальных знаний с помощью интернета.

8 доступных игровых движков, на которых можно сделать свою игру

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

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

GameMaker Studio 2

Проекты на этом движке: Hyper Light Drifter, Risk of Rain, Undertale, Nidhogg.

Именно GameMaker Studio 2 – это тот движок, на который стоит обратить внимание в первую очередь. Он подойдет людям, которые ничего не понимают в игростое и не имеют соответствующего образования. Он простой в освоении за счет встроенного языка сценариев, который придумали создатели движка, чтобы разработка игр стала максимально доступной.

Идеально подойдет для разработки 2D платформеров и ролевых игр. Также движок позволяет легко реализовать кросс-плей в своих проектах. Есть пробный период для тестирования возможностей, но если захочется серьезно заняться созданием игр, придется заплатить $99 за постоянную лицензию, то есть никаких месячных или готовых платежей – платим один раз и получаем инструмент навсегда.

Плюсы GameMaker Studio 2:

  • Обширная документация, которая написана понятным языком;
  • Простой язык сценариев для разработки;
  • Большое сообщество разработчиков, которое поможет прокачать свои скиллы в создании игр.

Минусы GameMaker Studio 2:

  • Слишком простой язык сценариев, в котором легко запутаться, если проект большой;
  • Из-за простоты языка программирования теряется производительность проекта;
  • Если долго сидеть на этом движке, то в будущем будет сложно перейти на более продвинутый, например, Unity или Unreal Engine 4.

Ren’Py

8 доступных игровых движков, на которых можно сделать свою игру

Проекты на этом движке: Long Live the Queen, A Hate Story, Analogue.

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

Используется Ren’Py в основном для простых симуляторов и 2D квестов. Делать что-то сложнее на нем, скорее всего, не получится, но при желании можно попробовать. У движка открытый исходный код, поэтому к нему часто выходят различные дополнения для разработки. А еще довольно большое комьюнити, с которым можно пообщаться и получить бесценный опыт.

Плюсы Ren’Py:

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

Минусы Ren’Py:

  • Есть ограничения в поддержке различных механик;
  • Ориентирован в первую очередь на 2D проекты, поэтому с 3D работать сложно;
  • Изначально был заточен под конкретные жанры, соответственно, какой-то шутер от первого лица или стратегию в реальном времени на нем сделать практически нереально.

Construct 2

8 доступных игровых движков, на которых можно сделать свою игру

Проекты на этом движке: Insanity’s Blade, Mortal Melon, DinoSystem.

Идеальный вариант для тех, кого начинает трясти от фразы «нужно писать код». Construct 2 устроен таким образом, что предоставляет возможность создавать игры из различных моделей и выбирать встроенные механики. Например, можно взять готовые спрайты для персонажей или нарисовать свои, затем выбрать один из вариантов физики и на скорую руку сделать платформер или что-то подобное.

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

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

Плюсы Construct 2:

  • Не нужно писать код, идеально подойдет новичку;
  • Множество инструментов для простой разработки 2D игр;
  • Интуитивно понятный интерфейс, легко разобраться с тем, как создавать игры.

Минусы Construct 2:

  • Неудобно использовать для 3D игр;
  • Чтобы сделать игру более проработанной, придется платить;
  • Редко появляются обновления движка с новыми возможностями. Как правило, просто шлифуется готовое.

libGDX

8 доступных игровых движков, на которых можно сделать свою игру

Проекты на этом движке: Ingress, Kelvin and the Infamous Machine, Square Worlds.

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

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

Плюсы libGDX:

  • Позволяет делать кроссплатформенные проекты;
  • Предлагает удобную и понятную документацию;
  • Много инструментов, чтобы комфортно делать игры именно под смартфоны и планшеты.

Минусы libGDX:

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

Phaser

8 доступных игровых движков, на которых можно сделать свою игру

Проекты на движке: Snake, Pacman, Flood, Mass Attack.

Сразу уточним, на этом движке сделаны не оригинальные Snake и Pacman, а их усовершенствованные копии. Когда создавались оригиналы, данного движка еще в помине не было. Суть Phaser в том, что он позволяет делать различные 2D проекты максимально удобным способом. Он поддерживает язык HTML, соответственно, разработка игры на нем чем-то напоминает создание сайта. При этом есть масса готовых инструментов, которые помогут быстро собрать простенький проект.

Именно Phaser сейчас используется, чтобы дать вторую жизнь старым играм наподобие Snake и Pacman. Умельцы по всему миру собирают на них игры своего детства или делают что-то похожее. У движка отличная документация и очень активное сообщество. Здесь вам всегда помогут с реализацией проекта, и это одна из причин, по которой движок берут для своей первой игры. Также на официальном сайте есть раздел с кучей готовых спрайтов, уровней, модулей с физикой к игре, аудиодорожками и всем остальным. Из наработок сообщества вполне реально собрать оригинальную и затягивающую игру.

Плюсы Phaser:

  • Очень прост в освоении и не требует глубоких знаний в программировании;
  • Идеально подходит для создания 2D игр, причем к этому подталкивают сами создатели движка;
  • Есть куча готовых инструментов, из которых можно собрать готовую игру.

Минусы Phaser:

  • Слишком сложно сделать что-то в 3D;
  • Мало ресурсов для того, чтобы реализовать крупный проект, придется обходиться простыми десктопными платформерами и браузерными играми;
  • Обновления движка выходят редко.

Unity

8 доступных игровых движков, на которых можно сделать свою игру

Проекты на этом движке: Pokemon Go, West of Loathing, Cuphead, Ori and the Blind Forest.

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

Программирование и киберкультура для школьников: Minecraft, Dota 2 и Unity
Учить детей играть в Minecraft и Dota 2 еще со школы? А почему нет? В какое прекрасное время мы живем.

Также стоит отметить встроенный магазин, в котором есть множество готовых ресурсов для создания игр. Например, Corgi Engine и Rex Engine, которые предлагают готовый набор для управления игрой и реализации физики. Что касается спрайтов и 3D моделей, то их тут десятки тысяч, есть платные и бесплатные. Сам же Unity распространяется в виде бесплатной версии, Unity Plus за $35 в месяц и Unity Pro за $125 в месяц.

Плюсы Unity:

  • Есть инструменты для быстрого создания прототипа будущей игры;
  • Можно достичь высокого уровня производительности в проекте;
  • Универсальное решение, которое используется как для маленьких проектов, так и для ААА-тайтлов.

Минусы Unity:

  • Проект имеет закрытый исходный код, если вы столкнетесь с каким-то багом, то придется ждать обновления Unity;
  • Редактор кода и отладчик часто работают плохо и отнимают кучу времени у создателя;
  • Не такой низкий порог вхождения, как в других движках. Чтобы сделать на нем игру, придется многое выучить.

CryEngine

8 доступных игровых движков, на которых можно сделать свою игру

Проекты на этом движке: Prey, Sniper: Ghost Warrior 3, Ryse: Sof of Rome, Crysis.

Один из самых популярных движков среди разработчиков. Еще один вариант для тех, кто серьезно хочет заняться созданием игр. Здесь не получится просто перетаскивать готовые модели на экран и добавлять физику, но что-то простое вполне реально сделать даже без знания программирования.

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

Плюсы CryEngine:

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

Минусы CryEngine:

  • Для создания качественной игры придется учить программирование;
  • Очень сложно делать многопользовательские проекты из-за ограничений движка;
  • Скромное комьюнити, которое состоит в основном из разработчиков известных студий, а они вряд ли вам помогут с вашим первым проектом.

Unreal Engine 4

8 доступных игровых движков, на которых можно сделать свою игру

Пожалуй, самый сложный движок для новичков из нашего списка, но он однозначно заслуживает внимания. Дело в том, что Unreal Engine 4 можно назвать финальным шагом для того, кто серьезно задумался над разработкой. Сразу можно попробовать движки, которые предлагают более простой язык сценариев и кучу вспомогательных инструментов, но если решили делать что-то крупное и качественное, то без UE 4 не обойтись.

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

Преимущество движка в том, что создатели выпустили несколько серий обучающих роликов. С их помощью даже при минимальных познаниях в программировании можно попробовать сделать свою игру. К тому же здесь простой интерфейс и удобная система программирования элементов, которая состоит из специальных блоков. UE 4 подойдет для создания игр любого жанра, причем как в 2D, так и в 3D. Он абсолютно бесплатный, но если ваш проект взлетит и заработает более $3000, то придется постоянно платить создателям движка роялти в размере 5%.

Плюсы UE 4:

  • Есть огромное количество инструментов, чтобы создавать любые игры;
  • Удобный интерфейс, в котором разберется даже новичок в игрострое;
  • Разработчики сделали отличную документацию и даже выпустили обучающие видеокурсы для пользователей.

Минусы UE 4:

  • Высокий порог вхождения, до UE 4 лучше попрактиковаться на более простых движках и начать изучать программирование;
  • Если проект выстрелит, то вам придется платить создателям движка пожизненно;
  • Не самые удобные инструменты для 2D проектов, и именно с ними здесь часто возникают проблемы во время разработки.

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

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

Читайте также: