Бесплатные средства игровой разработки
За всю историю игровой индустрии у независимых разработчиков (да и разработчиков вообще) не было доступа к столь объёмному массиву ресурсов, как в наше время. И, пожалуй, впечатляет здесь сильнее всего то, что многие из них совершенно бесплатны. Это и будет темой данного руководства, которое подготовили 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 и т.д.) большинство которых тоже находятся в свободном доступе.