Бесплатные программы для разработки игр

Программы для разработки игр

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

В этой статье мы с вами подберем полный комплект бесплатного либо недорогого ПО, которое пригодится вам в нелегкой работе индивидуального разработчика игр. И нет, это будет не Unity 3D + Visual Studio + Photoshop + Maya.

Рекомендую обратить внимание на статью «Как самому создать игру».

Игровые движки

В статьях про выбор игрового движка («Обзор самых популярных движков для разработки игр» и «Сравниваем 6 лучших игровых движков»), я рассказывал преимущественно о топовых продуктах, которые у всех на слуху: Torque 2D / 3D, Unity 3D, Unreal Engine 4, CryEngine и т.д. По-сути, с ними все понятно, за прошедший год мало что изменилось, а в этой статье мы коснемся лишь того, что не вошло в предыдущие — рассмотрим интересные, но не очень популярные «модели».

Компания TheGameCreators гордо создает тулзы для разработки игр, начиная с 1999 года. И при том, что многие тулзы других вендеров бесплатны, TGC продает свои продукты и очевидно имеет профит. На ее счету такие проекты, как DarkBASIC, DarkGDK (когда-то очень давно я написал об этом движке целый цикл статей), FPS Creator. Сейчас все эти продукты отданы в сообщество открытых исходников и хостятся на GitHub. DarkGDK всегда представлял собой либу для C++. В настоящее время компания активно развивает три продукта: MyWorld предназначен для создания RPG, GameGuru — для создания 3D-шутеров без программирования и AppGameKit.

AGK — флагманский продукт компании TGC, универсальный движок, с помощью которого можно создавать игры любых жанров под все распространенные платформы: Windows, Linux, macOS, Android, iOS, HTML5, и даже для Raspberry Pi (модуль скачивается отдельно). И все это единожды написанный код! Этим сейчас, правда, уже никого не удивишь, но все равно приятно. С помощью AGK можно создавать не только 2D и 3D игры, но и обыкновенные приложения.

AGK состоит из двух уровней (tiers): Tier 1 — это разработка игры с помощью многофункционального скриптового языка. Его роль выполняет модифицированный под игры легко изучаемый BASIC. Tier 2 представляет собой фреймворк, подключаемый к C++. Таким образом, AppGameKit — это смесь модернизированных и улучшенных старых продуктов компании: DarkBASIC и DarkGDK в одном флаконе.

Не важно, какой уровень будет использоваться для разработки, в обоих случаях игру можно размножить на все поддерживаемые платформы. На первом уровне код пишется в специальной IDE для скриптового языка AGK, во втором — в любимой среде разработки на C++, например, Visual Studio.

Вдобавок AGK поддерживает легкую интеграцию с PHP для разработки онлайновых игр и приложений. Среди ключевых возможностей разрабатываемых в AGK игр: поддержка физических движков Box 2D и 3D Bullet (соответственно для двумерной и трехмерной графики), системы частиц, проигрывание видео, отображение рекламы, поддержка камеры и разные социальные сервисы.

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

программы для разработки игр
Программы для разработки игр. Редактор AGK

Еще один движок, на котором я хочу остановиться — это Godot. С недавнего времени он стал для меня интересным, и вот почему. Он является полностью открытым и кроссплатформенным. На нем можно разрабатывать игры, сидя в Windows, Linux, macOS, а создавать их для — Windows Desktop, Windows Universal, Linux, macOS, BSD, Haiku, Android, iOS, BlackBerry 10 и HTML5. Начало движку Godot было положено сотрудниками аргентинской компании Okam в 2007 году. Изначально он создавался для собственных проектов компании, однако, после того как он достиг определенного уровня, авторы решили выложить его на GitHub. Это произошло в 2014 году. С того времени сообщество стало помогать с разработкой.

С самого начала движок создавался как полноценная среда для разработки игр, не требующая применения посторонних средств кодирования. Он содержит оригинальный интерфейс, собственный скриптовый язык GDScript, полный исходный код на C++ и множество типов объектов, используемых для разработки игр. Некоторые из них служат для создания пользовательского интерфейса, другие предоставляют спрайты (служат для создания 2D-игр), с помощью третьих можно создавать физические объекты, четвертые — для видео и звуков, пятые помогают добавить системы частиц разной конфигурации, шестые — анимированные 3D-объекты, седьмые — целые сцены и прочее.

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

Графическая составляющая в Godot основана на OpenGL ES 2. Имеется редактор для визуального создания и модификации шейдеров, есть собственный язык для их написания. Godot обладает встроенным редактором для создания анимации, как персонажей, так и других объектов. Для достижения приемлемого уровня оптимизации разработчики Godot отказались от использования физических движков третьих фирм, создав с нуля решение для просчета физических взаимодействий.

программы для разработки игр
Программы для разработки игр. Godot

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

Графические редакторы для игр

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

Честно скажу, мне не нравится Photoshop, я им не пользуюсь уже много лет. Из проприетарных редакторов мне больше по душе пакет программ CorelDraw. В этот пакет входят прекрасный векторный редактор, собственно, CorelDraw и Corel Photo-Paint, не уступающий по функциональности Photoshop. Мне кажется, что CorelDraw превосходит Adobe Illustrator, но последний я не юзал. Однако CorelDraw стоит охренительных денег. Поэтому, когда я стал добросовестным инди, то отказался от него и разом потерял векторный и растровый редакторы.

Между тем, в мире open-source есть много интересных графических редакторов. Среди них есть безусловные лидеры, разработка которых ведется уже ни один год. По функциональности они не уступают проприетарным решениям. Наилучшим выбором среди растровых редакторов для меня стал GIMP. Программа разрабатывается с 1995 года и содержит все инструменты и подавляющее большинство опций и настроек «Фотошопа».

Программы для разработки игр
Программы для разработки игр. GIMP

Из векторных редакторов очевидный выбор — это InkSpace. InkSpace выглядит и работает как CorelDraw, набор инструментов примерно похожий.

Программы для разработки игр
Программы для разработки игр. InkSpace

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

Софт для 3D-моделирования игр

Maya, Lightwave, 3ds Max, ZBrush — отличные программы трехмерного моделирования и анимации, но для инди они, увы, неподъемны в финансовом плане. Какие решения может предоставить open source для решения задачи моделирования?

Самым популярным редактором для 3D-моделирования с открытым кодом безусловно является Blender. Он появился еще в 1994 году и первые годы своей жизни был коммерческим продуктом. Начиная с 2002-го его код был открыт и опубликован по свободной лицензии. С того времени и ведется его активное развитие.

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

Кроме средств моделирования (полигональное и скульптурное моделирование, кривые Безье, NURBS, Metaballs) в Blender есть механизмы рендеринга, тулзы для анимации (инверсная, скелетная или нелинейная анимация), создание и редактирование видео, физика (динамика мягких и твердых тел, обрабатываемые с помощью физического движка Bullet), система волос.

Также Blender содержит Blender Game Engine, с помощью которого можно разрабатывать простую игровую логику, обрабатывать столкновения и описывать реакции. Написание кода игровой логики происходит на языке Python. На нем же можно и расширять ассортимент тулз, входящих в Blender.

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

Помимо Blender существует еще одно бесплатное (пусть и не открытое) решение — TrueSpace. До 2008 года эту программу разрабатывали в компании Caligari. Затем права были куплены Microsoft, а в 2010 году разработка была прекращена, и последняя версия (7.61) выпущена бесплатно. Корнями это приложение уходит в далекий 1986 год. Тогда оно разрабатывалось для компьютеров Amiga. Только в 1994 году вышла первая версия TrueSpace для Windows.

Технологии, заложенные в TrueSpace использованы Microsoft в приложении 3D Builder (доступно бесплатно в Windows Store).

Blender с загруженной моделью
Blender с загруженной моделью. Windows Store

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

Программы для разработки игр
Программы для разработки игр. 3D Builder

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

3D-персонажи

Для быстрого создания трехмерных персонажей гуманоидного типа можно воспользоваться программой MakeHuman с открытым исходным кодом. Создание персонажа начинается с настройки параметров «болванки» (персонажа по умолчанию). Среди параметров: пол, возраст, рост, вес, мускулатура, поза и много другое. Приложение в чем-то напоминает Blender, но отличается простым и понятным интерфейсом.

Программы для разработки игр
Программы для разработки игр. MakeHuman

Нынешняя версия 1.1.0 разработана на C и Python. Графика обрабатывается и выводится средствами OpenGL. Изначально в 1999 году, когда автор MakeHuman разработал это приложение, оно представляло собой плагин для Blender и называлось MakeHead. Позднее, упершись в предел возможностей Python API, команда решила начать проект с нуля на C. Еще позже он был перенесен на C. Между тем, из-за того, что программу стало сложно разрабатывать и поддерживать, в 2009 году разработчики приняли решение вернуться к Python с ядром на C++, при этом они начали обособленный от Blender проект. Таким образом, первая стабильная версия MakeHuman вышла в 2014 году.

Подробнее работу с трехмерными персонажами и еще одно полезное приложение (Fuse) я разбираю в статье на моем сайте.

Создание кастомных шрифтов

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

Из числа последних можно выделить два инструмента. Первая — это FontForge. Она представляет собой полноценный инструмент для редактирования имеющихся и создания новых шрифтов в форматах TrueType, PostScript и OpenType. Изначально FontForge была программой для Linux, поэтому она основана на GTK+ и в Windows работает в Cygwin.

Программы для разработки игр
Программы для разработки игр. FontForge под Windows

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

Программы для разработки игр
Программы для разработки игр. BMFont

Создание уровней

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

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

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

Карты в Tiled формируются по слоям. Для определенных плиток можно задать свойства столкновения. Разрабатываемые уровни сохраняются в XML-формате TMX. Затем его можно загрузить из движка игры. Формат TMX поддерживается рядом движков. Кроме XML-подобного формата поддерживается и JSON-подобный.

Программы для разработки игр
Программы для разработки игр. Внешний вид Tiled

Создание карт текстур

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

Для создания спрайтовых таблиц взять программу TexturePacker. При первом запуске тебе предложат выбор из бесплатной версии и Pro. Отличия Pro — в некоторых дополнительных возможностях вроде экспорта в SWF, экспорта из командной строки и средств автоматизации. Бесплатная же версия содержит только GUI-версию интерфейса. Полная версия Texture Packer поддерживает форматы загрузки спрайтовых таблиц для тридцати движков (включая Unity 3D, Cocos2D-X), а у бесплатной версии этот список ограничен (сравнить списки ты можешь на сайте разработчика).

Программы для разработки игр
Программы для разработки игр. TexturePacker

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

Создание анимации

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

Анимировать двумерный объект можно, например, с помощью редактора Flash, но мне гораздо больше нравится Spine компании Esoteric Software. К сожалению, она не бесплатна, но такой мощный инструмент, как Spine стоит своих денег ($70 за версию Essential или $300 за профессиональную). Spine создает скелетную анимацию между связанными графическими изображениями, а скелетная анимация прекрасно подходит не только для персонажей, но и для движения и взаимодействия любых других объектов. Spine умеет экспортировать созданную анимацию в различные форматы, как в видео, так и по кадрам.

Программы для разработки игр
Программы для разработки игр. А я купил Spine

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

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

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

Еще одна очень полезная программа для создания спрайтовых анимаций — Spriter. Она в целом похожа на Spine и выполняет те же функции. У Spriter есть демонстрационная и профессиональная версии.

Графические редакторы для игр
Графические редакторы для игр. Spriter

Звуковое сопровождение

У звукоинженера в игровой индустрии весьма творческая работа. Он разными способами пытается получить необходимые ему звуки: хлопает воздушные шары, взрывает петарды, переливает воду из одного стакана в другой, записывает звук дождя, находясь на крыше здания и другое. А потом он все эти звуки обрабатывает в звуковом редакторе или создает их с нуля. На рынке представлено большое количество коммерческих редакторов. Также немало их и в свободном доступе. Наиболее популярный из них — это Audacity, и его слава вполне оправдана.

Этот редактор обладает всеми возможностями коммерческих редакторов аудио:

  • одновременная работа с несколькими дорожками, в том числе прослушивание;
  • работа с файлами разных форматов — чтение и запись mp3, wav, ogg и т.д.
  • удаление шумов из звука;
  • изменение темпа и высоты звука;
  • большой набор эффектов, как поставляемых с программой «из коробки», так и устанавливаемых отдельно — в виде плагинов.
Графические редакторы для игр
Графические редакторы для игр. Audacity

Бесплатные ресурсы

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

Еще один источник арта — это магазины ассетов, которые предлагают вендоры движков. У всех маломальски раскрученных движков есть свои сторы. У Unity просто огромный магазин ассетов, в нем продается все, что душе игродела угодно: отдельные модельки, паки текстур, наборы анимации, целые сцены и исходники законченных проектов, начиненные объектами, сюжетные линии, инструменты в помощь гейммейкеру, сервисы для создания онлайновых и других игр, расширения, аудио и визуальные эффекты. Многие товары отдаются даром. Примерно такая же история с Unreal Engine Marketplace. У CryEngine есть свой Marketplace, в котором продается тот же набор товаров, но выбор заметно беднее.

Заключение

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

РЕКОМЕНДУЕМ:
Лучшие игры для программистов

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

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий