Игровой движок — сердце компьютерной игры и центральный инструмент геймдевелопера. Центральный, но не единственный — без графического, трехмерного редактора, программы для создания анимированных персонажей, звукового редактора, средства для создания уровней, средства разработки шрифтов и многого другого, труд инди-разработчика был бы просто невозможен. В этой статье мы с тобой подберем полный комплект бесплатного либо недорогого ПО, которое пригодится тебе в нелегкой работе индивидуального разработчика игр. И нет, это будет не 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, а не с официального сайта, поскольку цена приятно отличается.
Еще один движок, на котором я хочу остановиться — это 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 отказались от использования физических движков третьих фирм, создав с нуля решение для просчета физических взаимодействий.
Чтобы собирать версии для разных платформ, достаточно скачать экспортер и применить его для создания бандла под определенную платформу. Исходный проект менять не понадобится.
За год на инди-сцене произошло много интересного. Как я и предполагал, в настоящее время инди, пытаясь соперничать с «большими» разработчиками, сидящими под крылом у издателей, начали осваивать просторы 3D и глобального онлайна. По большей части это сетевые сессионные шутеры, но иногда встречаются и MMO. Этому поспособствовали современные игровые технологии, в частности, движки. Между тем, многие инди (и их большинство) по-прежнему разрабатывают двумерные экшены и адвенчуры для мобильных платформ и ПК. Конкурируя с AAA-проектами, инди порой ухитряются сделать игру, превосходящую по своей продуманности, подачи сюжета, глубине стиля и красоте своих конкурентов из мира «больших» игр.
Следующими незаменимыми инструментами для разработки любой игры являются графические редакторы. Без них никак. И неважно, двумерную или трехмерную игру ты разрабатываешь, двумерные редакторы понадобятся в любом случае.
Честно скажу, мне не нравится Photoshop, я им не пользуюсь уже много лет. Из проприетарных редакторов мне больше по душе пакет программ CorelDraw. В этот пакет входят прекрасный векторный редактор, собственно, CorelDraw и Corel Photo-Paint, не уступающий по функциональности Photoshop. Мне кажется, что CorelDraw превосходит Adobe Illustrator, но последний я не юзал. Однако CorelDraw стоит охренительных денег. ???? Поэтому, когда я стал добросовестным инди, то отказался от него и разом потерял векторный и растровый редакторы.
Между тем, в мире open-source есть много интересных графических редакторов. Среди них есть безусловные лидеры, разработка которых ведется уже ни один год. По функциональности они не уступают проприетарным решениям. Наилучшим выбором среди растровых редакторов для меня стал GIMP. Программа разрабатывается с 1995 года и содержит все инструменты и подавляющее большинство опций и настроек «Фотошопа».
Из векторных редакторов очевидный выбор — это InkSpace. InkSpace выглядит и работает как CorelDraw, набор инструментов примерно похожий.
Инструменты рисования и заливки, большой набор шаблонных фигур, изменения формы и т.д. Есть слои, фильтры и расширения. В общем, все, что нужно для продуктивной работы.
Maya, Lightwave, 3ds Max, ZBrush — отличные программы трехмерного моделирования и анимации, но для инди они, увы, неподъемны в финансовом плане. Какие решения может предоставить open source для решения задачи моделирования?
Самым популярным редактором для 3D-моделирования с открытым кодом безусловно является Blender. Он появился еще в 1994 году и первые годы своей жизни был коммерческим продуктом (вы будете очень смеяться, но использование этого редактора мы в «Хакере» рекомендовали еще в начале века — прим. ред.). Начиная с 2002-го его код был открыт и опубликован по свободной лицензии. С того времени и ведется его активное развитие.
Blender всегда славился своей сложностью. Отчасти причиной этого стали его первые версии, где большинство команд выполнялись посредством нажатия клавиатурных комбинаций. Сейчас дела в этом отношении заметно улучшились, и для вызова практически любой команды можно использовать либо кнопку на панели инструментов, либо пункт в меню.
Кроме средств моделирования (полигональное и скульптурное моделирование, кривые Безье, NURBS, Metaballs) в Blender есть механизмы рендеринга, тулзы для анимации (инверсная, скелетная или нелинейная анимация), создание и редактирование видео, физика (динамика мягких и твердых тел, обрабатываемые с помощью физического движка Bullet), система волос.
Также Blender содержит Blender Game Engine, с помощью которого можно разрабатывать простую игровую логику, обрабатывать столкновения и описывать реакции. Написание кода игровой логики происходит на языке Python. На нем же можно и расширять ассортимент тулз, входящих в Blender.
Помимо Blender существует еще одно бесплатное (пусть и не открытое) решение — TrueSpace. До 2008 года эту программу разрабатывали в компании Caligari. Затем права были куплены Microsoft, а в 2010 году разработка была прекращена, и последняя версия (7.61) выпущена бесплатно. Корнями это приложение уходит в далекий 1986 год. Тогда оно разрабатывалось для компьютеров Amiga. Только в 1994 году вышла первая версия TrueSpace для Windows.
Технологии, заложенные в TrueSpace использованы Microsoft в приложении 3D Builder (доступно бесплатно в Windows Store).
Оно предназначено для сканирования, импортирования из широкого диапазона формата файлов, базового редактирования, композиции трехмерных объектов и распечатки моделей на 3D-принтере.
Лет десять тому назад, когда я довольно активно занимался трехмерным моделированием и анимацией, мне сильно нравилась эта прогамма с ее клевым и непохожим ни на какие другие моделеры интерфейсом.
Для быстрого создания трехмерных персонажей гуманоидного типа можно воспользоваться программой MakeHuman с открытым исходным кодом. Создание персонажа начинается с настройки параметров «болванки» (персонажа по умолчанию). Среди параметров: пол, возраст, рост, вес, мускулатура, поза и много другое. Приложение в чем-то напоминает Blender, но отличается простым и понятным интерфейсом.
Нынешняя версия 1.1.0 разработана на C и Python. Графика обрабатывается и выводится средствами OpenGL. Изначально в 1999 году, когда автор MakeHuman разработал это приложение, оно представляло собой плагин для Blender и называлось MakeHead. Позднее, упершись в предел возможностей Python API, команда решила начать проект с нуля на C. Еще позже он был перенесен на C. Между тем, из-за того, что программу стало сложно разрабатывать и поддерживать, в 2009 году разработчики приняли решение вернуться к Python с ядром на C++, при этом они начали обособленный от Blender проект. Таким образом, первая стабильная версия MakeHuman вышла в 2014 году.
Подробнее работу с трехмерными персонажами и еще одно полезное приложение (Fuse) я разбираю в статье на моем сайте.
Cтатьи из последних выпусков журнала можно покупать отдельно только через два месяца после публикации. Чтобы читать эту статью, необходимо купить подписку.
Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке
1 год4570 р. Экономия 1400 рублей! |
1 месяц490 р. 25-30 статей в месяц |
Уже подписан?
Читайте также
Последние новости