ProGamer
×

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


За всю историю игровой индустрии у независимых разработчиков (да и разработчиков вообще) не было доступа к столь объёмному массиву ресурсов, как в наше время. И, пожалуй, впечатляет здесь сильнее всего то, что многие из них совершенно бесплатны. Это и будет темой данного руководства, которое подготовили GameFromScratch – подробный разбор бесплатных инструментов для всех аспектов игровой разработки.

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

Руководство актуально на 2016 год и будет обновляться.

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

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

Графика

В этом разделе мы рассмотрим все основные средства для создания игровой графики, как 2D, так и 3D.

2D

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

  • Paint.Net – Windows
    Великолепная, простая в использовании программа для рисования с сотнями доступных плагинов, поддержкой слоёв и массой прочих возможностей. Честно говоря, для меня это номер один в плане базовой работы с изображениями. Приложение работает только в Windows.
  • GIMP – Разные платформы – Открытое ПО
    Пожалуй, наиболее подходящая альтернатива Photoshop из числа открытых программ. Это мощный софт с громоздким интерфейсом – к счастью, создатели работают над его оптимизацией.
  • Inkscape – Разные платформы – Открытое ПО
    Inkscape отличается от других программ в нашем списке тем, что это векторное, а не растровое приложение. Редактор работает по аналогии с Adobe Illustrator или Flash и очень полезен для создания изображений, не зависящих от разрешения.
  • Krita – Linux/Mac/Windows – Открытое ПО
    Это открытое приложение, с упором на рисование, как в коммерческих продуктах вроде Corel Painter. Однако, в последних версиях там добавили поддержку анимации и текста, так что программа становится всё более и более полезной для игровой разработки.
  • ASEprite – Windows/Mac/Ubuntu
    Приложение для создания и анимации 8/16-битных спрайтов. Есть поддержка рисования, слоёв, «восковки», фиксированных палитр, генерации спрайт-листов и многое другое.
  • GratfX2 – Разные платформы – Открытое ПОВ былые времена была такая программа Deluxe Paint, в которой делалось 99 % всей игровой графики. GrafX2 – это открытая версия того приложения.
  • Piskel – Mac/Linux/Windows/Web – Открытое ПО
    Piskel – ещё один редактор, сосредоточенный на пиксель-арте, однако он по-своему уникален доступностью в браузере наряду с оффлайн-версией. Поддерживает слои, палитры, покадровую анимацию и прочее.
  • JPixel – Разные платформыТехнически приложение не бесплатное, его цену вы определяете сами, однако она может быть равна $0. Это редактор для пиксель-арта с анимацией, тайлсетами, палитрами и множеством других функций.
  • GraphicsGale – Windows
    Бесплатная версия этой программы по существу ограничена только форматами экспортируемых файлов. Но работает она только в Windows. Предлагает практически всё, чего вы можете ожидать от редактора пиксель-арта.
  • ShoeBox – Adobe Air
    Программа предназначена для работы с изображениями/спрайтами/текстурами. Пригодится для создания текстур из готовых картинок, разбиения анимации на последовательность спрайтов, создания изображений 9-patch и прочего. Это утилита, а не пакет для создания графики, как большинство других программ в списке. Для работы требует среду Adobe Air.
  • TexturePacker – Mac/Windows
    TexturePacker от CodeAndWeb – это утилита для создания спрайт-листов. Как и ShoeBox, не умеет создавать или модифицировать изображения. В бесплатной версии закрыт доступ к некоторым продвинутым функциям.
  • DragonBones – Windows/Mac
    Выделяющаяся среди данного списка система 2D-анимации, позволяющая использовать скелетную IK-анимацию для контроля и анимирования двумерных изображений. По функционалу похожа на Creature, Spriter и Spine, только полностью бесплатна. В комплекте присутствуют среды выполнения для проигрывания анимаций в различных игровых движках.
  • OpenToonz – Windows/Mac
    Открытая реализация Toonz, изначально разработанной Studio Ghibli и использовавшейся в работе над «Принцессой Мононоке». Программа находится в абсолютно свободном доступе, направлена в первую очередь на создание фильмов, но в прошлом применялась в разработке некоторых игр. Непроста в освоении.
  • TileCraft – Windows/Mac/Linux – Открытое ПО
    Необычная программа, где можно создавать 2D-спрайты, работая с 3D-объектами. Вы объединяете и деформируете разные трёхмерные формы для получения более комплексного двумерного изображения. Интересный подход, открытый исходный код, но, к сожалению, программа не обновлялась уже больше года.

3D

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

  • Blender – Большинство платформ – Открытое ПО
    Определённо самый масштабный бесплатный 3D-пакет, при этом с открытым исходным кодом и на удивление полнофункциональный. Моделирование, скульптинг, анимация, симуляция физики, рендеринг и композитинг – всё доступно в одной программе. Это очень мощный софт, но и учиться работать в нём непросто.
  • Daz Studio – Windows/Mac
    Это 3D-пакет с упором на создание персонажей. Невероятно прост в использовании, полностью бесплатен, создатели зарабатывают на продаже моделей, костюмов для них и прочего. По масштабам и функциональности похож на приложение Poser, у которого нет бесплатной версии. Предупреждаю, что на указанную при регистрации почту будут спамить.
  • Dilay – Windows/Linux – Открытое ПО
    Это бесплатный инструмент для 3D-скульптинга с открытым кодом, похожий на Mudbox, Sculptris и ZBrush.
  • MagickaVoxel – Windows/Mac
    Бесплатный воксельный редактор. Воксели выступают альтернативой традиционным полигонам, формируя трёхмерные объекты из блоков. Наиболее популярным примером воксельной игры можно назвать Minecraft, хотя и до неё подобных образцов было немало.
  • Mixamo/Mixamo Fuse – Windows
    Mixamo – это огромная база анимаций и набор инструментов для их привязки к трёхмерным моделям. Mixamo FUSE – это редактор моделей персонажей с интерфейсом, похожим на игровой. Он был приобретён Adobe и сейчас распространяется абсолютно бесплатно. Возможно, это простейший способ создания трёхмерных персонажей и наверняка простейший способ их анимирования.
  • PolyBrush – Windows
    PolyBrush – единственное в своём роде приложение для создания 3D-эскизов, где вы просто «рисуете» комплексные трёхмерные формы. В бесплатной версии есть некоторые ограничения (один слой, 8 шагов отмены операций, невозможность сохранения кистей), но она вполне функциональна.
  • Sculptris – Windows/Mac
    Бесплатный инструмент для скульптинга от Pixologic, создателей ZBrush. Активно разрабатывать его уже перестали, но Scultpris отлично подходит для первых шагов в скульптинге, а готовые работы можно экспортировать и использовать в том же Blender.
  • Wings 3D – Большинство платформ – Открытое ПО
    Замечательное приложение для 3D-моделирования, построенное вокруг идеи «крылатого» представления полигонов. Позволяет быстро и достаточно просто создавать трёхмерные модели. К сожалению, по всей видимости разработка прекратилась. В последние годы инструменты моделирования в Blender значительно улучшились, поэтому значимость Wings постепенно сходит на нет.

Звук

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

  • Audacity – Windows/Mac/Linux – Открытое ПО
    Audacity – швейцарский нож для записи, кодирования и модифицирования звука. Проще говоря, если у вас нет этой программы, надо всё бросать и скачивать её прямо сейчас.
  • SunVox – Разные платформы
    SunVox относится к классу программ-трекеров и может использоваться для создания музыки. Интерфейс до ужаса сложный, но эффекты получаются впечатляющие. Работает на подавляющем большинстве платформ, когда-либо созданных человеком, а то и внеземной расой.
  • ChipTone – Web
    Это что-то вроде упрощённого варианта SunVox, работающего в браузере. Есть готовые, ориентированные на игры сэмплы и возможность создавать собственные.
  • Bfxr.net – Web
    Онлайн-генератор звуковых эффектов. Очень прост в использовании: начинаете с нескольких готовых звуков (взрывы, лазеры и т.п.), модифицируете их до желаемого результата и скачиваете на свой компьютер. Проще простого.
  • FMod – Windows/Mac
    Пожалуй, самое популярное промежуточное ПО для игр AAA и A класса. Это коммерческий софт, но платить потребуется, только если прибыль превысит $100 тысяч в год. Разработчики также предлагают ознакомиться с FMod.io – необъятной библиотекой всевозможных звуков по 99 центов за каждый.
  • Podium Free – Windows
    На удивление полнофункциональная версия Podium – цифровой звуковой рабочей станции, позволяющей создавать, записывать и редактировать аудио и MIDI. Поддерживает VST-инструменты и плагины эффектов.

Код

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

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

Языки программирования и IDE

  • Visual Studio Community – Windows
    Это, пожалуй, наиболее широко используемая IDE как среди разработчиков под Windows, так и среди разработчиков вообще. Она включает несколько языков, хотя для игр чаще используются C++, JavaScript и C# (ещё поддерживаются VB.Net, F# и TypeScript). В состав среды также входят редакторы, отладчики, контроль версий и многое другое. На самом деле она уже настолько раздулась, что общий размер составляет порядка 10 Гб. Visual Studio Community – это версия полного пакета Visual Studio с ограничением на прибыль и размер команды. По существу это тот же самый продукт, для разработчиков-одиночек разницы не будет вообще, для организаций есть ограничение на пять человек в команде и $1 миллион годовой прибыли. Для корпоративных организаций использование запрещено. О подробностях лицензии можно узнать здесь.Одно из значительных изменений в Visual Studio касается недавнего приобретения Microsoft компании Xamarin, так что её продукты теперь бесплатно доступны как часть Visual Studio Community. Следовательно, теперь использование Visual Studio и C# открывает вам доступ к платформам iOS и Android.
  • XCode – MacOS
    Это эквивалент Visual Studio для Apple, требуемый для подписания и упаковки iOS-приложений. Может использоваться для разработки под различные платформы Apple (OS X, iOS, AppleTV и др.), главными языками являются Objective C и Swift (с недавнего времени). Также есть полная поддержка C++, но к нему по совершенно непонятным причинам относятся, как к нежеланному приёмному ребёнку. Как и Visual Studio, среда содержит полный набор необходимых средств разработки, включая редактор кода, встроенный отладчик, конструкторы форм и многое другое. Раньше XCode требовала подписки разработчика Apple, но сейчас такого требования и соответствующей платы нет. От себя скажу, что лучше буду гвозди лбом забивать, чем пользоваться XCode, но это лично моё мнение.
  • Инструментарий GNU – Разные платформы – Открытое ПО
    GCC или GNU Compiler Collection – это набор открытых программ с поддержкой практически любого языка программирования, о котором вы только можете мечтать. Если вы разрабатываете под Linux, вероятно, большая часть инструментов GNU у вас уже установлена. Одним из важных нюансов пакета GNU является GPL или Gnu Public License. Эта лицензия во многом ограничивает вашу работу с программным обеспечением, требуя, чтобы все изменения и модификации были открытыми и доступными. Не волнуйтесь, это ограничение касается только самого инструментария, а не кода, который вы компилируете. Как уже было сказано, GCC включён практически в каждый дистрибутив Linux. Есть и порты на другие платформы. Учитывайте, что GCC – это не IDE, это базовый компилятор/компоновщик/отладчик. Так что, как правило, вам требуется какой-нибудь редактор.
  • LLVM(Clang) – Разные платформы – Открытое ПО
    LLVM (и это не аббревиатура, кто бы что вам не говорил) – это набор инструментов, похожий на GCC. Он распространяется по куда более либеральной лицензии BSD, в результате чего лежит в основе множества коммерческих продуктов (в их числе и XCode) и закрытых комплектов разработки (PlayStation 4). LLVM доступен как часть порта MingW, однако его можно использовать и напрямую внутри Visual Studio. Как и GCC, это инструментарий нижнего уровня, поэтому для создания кода потребуется редактор.
  • Qt Creator – Windows/Mac/Linux
    Это полноценная кроссплатформенная IDE, предназначенная преимущественно для программирования на C++. В среде есть несколько инструментов, заточенных под работу над кроссплатформенными интерфейсами, но она может использоваться и как самостоятельная среда разработки на C++. Включает редактор кода, отладчик, средства управления проектами, конструкторы интерфейса, в общем, всё по аналогии с VS и XCode.
  • Линейка продуктов JetBrain – Большинство платформ
    Чем перечислять их по отдельности, проще упомянуть сразу все. Большинство IDE от JetBrain имеют бесплатную версию, которой хватит почти для любых нужд разработчика. Самый известный их продукт, пожалуй – IntelliJ IDEA, Java IDE с поддержкой десятков языков через плагины. Также у компании есть IDE для C#, C++, HTML/JavaScript, Python и других языков.
  • Eclipse – Большинство платформ
    Это в первую очередь Java IDE, при помощи плагинов можно добавить поддержку ещё нескольких языков. Eclipse – полноценный набор инструментов и некогда наиболее предпочтительный путь в разработку под Android (теперь уже нет). В этой среде есть всё, что угодно и ещё немного больше. Лично я скорее кодил бы с помощью морзянки, чем ещё хоть раз взялся за Eclipse, но упомянуть её всё же стоит.
  • Netbeans – Большинство платформ
    Java IDE от Oracle, доступна поддержка других языков через плагины. И снова у нас здесь полный набор необходимых функций, однако направленность скорее корпоративная. На мой взгляд лучше, чем Eclipse, хотя для меня всё что угодно лучше Eclipse.

Языки, достойные внимания:

Отдельное замечание для разработчиков под Android

Android – это немного особый случай в игровой разработке. Несмотря на Java в основе, технически Java системой не используется (долгая история, на Google подавали в суд). Короче говоря, для разработки под Android есть специальные средства, а именно Android SDK(Java) и Android NDK(C++). Также Google выпустила IDE под названием Android Studio, порт IntelliJ IDE, специально для разработки в интегрированной среде.

Редакторы

Ниже перечислены текстовые редакторы, ориентированные на написание кода. Не хотите ставить занимающую много места IDE, работаете с движком без встроенного редактора (или с ужасным редактором)? В таком случае что-то из этого вам пригодится. Каждый редактор обладает большинством следующих функций: поддержка нескольких языков, расширяемость посредством плагинов, выделение синтаксиса, инструменты рефакторинга и т.д. Выбор подходящего редактора – дело личных предпочтений… Мне бы не хотелось разжигать перепалки, так что я просто оставлю список ниже, а вы уж выбирайте сами.

И чтобы не обидеть любителей классики…

Не забывайте про кривую обучения, вам придётся запоминать около сотни комбинаций для эффективной работы с любым из редакторов – но это того стоит. Не будет лишним упомянуть, что сочетания из VI и Emacs часто работают и в других редакторах. И ещё кое-что: Visual Studio Code и Visual Studio Community не имеют вообще ничего общего. Code – легковесный кроссплатформенный редактор, а не интегрированная среда разработки для Windows.

Прочее

Не подходит в другой раздел, но всё равно бесплатно? Всё это здесь.

  • Tiled – Windows/Linux/Mac – Открытое ПО
    Превосходный бесплатный пакет для редактирования 2D-карт. Генерируемые файлы поддерживаются практически любым доступным сегодня игровым движком.
  • FreeMind – Разные платформы – Открытое ПО
    Пакет для работы с диаграммами связей. Если вы таким не пользовались, это отличный способ перенести идеи из головы на компьютер. На самом деле таких программ много, просто так вышло, что с FreeMind я знаком больше всего.
  • ShaderToy – Web
    Шейдеры играют всё более значимую роль в мире игровой разработки, а ShaderToy – это, наверное, главное место, где их можно скачивать и выкладывать. Также вы можете модифицировать исходник и оценить результат в реальном времени. Коллекция уже насчитывает свыше 12000 шейдеров и ежедневно растёт.
  • FreeSound.org – Web
    Огромная коллекция бесплатных звуков.
  • OpenGameArt.org – Web
    Громадная коллекция бесплатной графики.
  • VST4Free.org – Web
    Ресурс с VST-инструментами и эффектами. VST означает Virtual Studio Technology; под этим подразумевается кодирование звука настоящих инструментов и спецэффектов и их последующее использование в VST-программах, вроде упомянутого ранее Podium.

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

В этом разделе я могу привести множество примеров, и это будет только началом. Реальность такова, что практически любой движок доступен в бесплатном виде с различиями в бизнес-модели. Некоторые, вроде Unreal Engine, берут процент с прибыли после преодоления её определённого порога; другие, вроде Unity, предлагают бесплатную версию с ограничениями (например, на максимальную годовую прибыль) и после превышения лимитов требуют платной подписки. Есть движки, такие как Godot, Urho, Atomic и Panda, которые распространяются совершенно свободно. И, наконец, есть всевозможные фреймворки (SFML, LibGDX, SDL, Love и т.д.) большинство которых тоже находятся в свободном доступе.


Комментарии

Вы должны быть зарегистрированы, чтобы оставить комментарий

Зарегистрируйтесь, это просто!


Зарегистрироваться

Уже зарегистрированы?


Войти сейчас

Ещё в коду можно добавить бесплатный сервис FGL Ehnance (http://fgl.com/e4). Решает он следующую задачу.

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

Для каждой из этих функций есть SDK, библиотека, которую необходимо встроить в приложение перед компиляцией.

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

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

А вот как выглядит процесс с использованием FGL Enhance.
1. Загружаем приложение
2. Выбираем, какие SDK в неё подключить
3. Скачиваем версию, готовую для отправки в сторы

Вот и всё. Решается минут за 10.

Уже много разработчиков и паблишеров им успешно пользуются.

Ответить +1 - +