Бесплатные игровые движки
На пути людей, которые не хотят ничего делать, всегда лежит куча неразрешимых проблем. Что-то мешает им писать книги, танцевать на сцене, сниматься в кино и, само собой, разрабатывать компьютерные игры. Зато во всем они разбираются гораздо лучше, чем те, кто занимается этим профессионально. Стоит начинающему обнародовать замысел компьютерной игры на каком-нибудь форуме, как тут же ему объяснят, почему ничего не получится.
Уровень формата Quake III, загруженный в Ogre.
В первую очередь сомнение вызывает способность создать собственный 3D-движок. Хотя, как вы уже поняли, напрягаться по этому поводу нет нужды. Высококлассные специалисты, приверженцы идей программного обеспечения с открытым кодом ( Open Source ), делают игровые 3D-движки и раздают их желающим бесплатно. В чем же фокус и почему, например, за двигатель Unreal 2 просят $700 000? Разница между коммерческими и бесплатными игровыми моторами, конечно, есть. Словосочетание “игровой движок” (Game Engine) подразумевает под собой целый комплекс прикладных программ. Грубо говоря, все части кода, написанные программистами при разработке игры, являются компонентами игрового движка. Игровой процесс (геймплей) определяется функциями, реализованными в этих программах. И катится он по ним, как трамвай по рельсам. Хотите получить новую игру? Извольте прокладывать новые рельсы, то есть переписывайте программы. Как правило, геймерам такая роскошь недоступна. Даже если они умеют программировать.
Модный cell-shading. Желающим сделать игру в стиле XIII придется очень кстати.
Мододелы иногда добавляют какие-то фишки с помощью встроенного в игру языка программирования через скриптовые сценарии. Можно подкрутить некоторые параметры функций движка, чем с удовольствием пользуются читеры (увеличивая, например, количество денег у игрока). Однако серьезные изменения геймплея невозможны без вмешательства в исходный код игры. И тут начинаются серьезные проблемы. Во-первых, не каждая игровая компания решается код обнародовать. Во-вторых, далеко не каждый может разобраться самостоятельно в огромном количестве функций движка. А другого пути часто нет, поскольку отсутствует справочная информация и техническая поддержка (спросить не у кого). В-третьих, как правило, публикуют исходный код уже технически устаревших движков (например, Quake II, III). Что же остается начинающим разработчикам? 1. Купить право на использование современного двигателя от известной компании (лицензировать движок). К нему прилагается справочная информация и поддержка производителя. Однако это удовольствие не из дешевых. 2. Разработать свой собственный двигатель. Выход, конечно, но для этого требуется много усилий и высокая квалификация в программировании. 3. Использовать один из бесплатных движков, наиболее подходящий по своим возможностям. Как правило, к ним имеется кое-какая дополнительная информация и поддержка. Если есть деньги и время — выбор делают в пользу собственной разработки. А если нет ни того, ни другого, предпочтительней последний вариант. Иногда получается очень неплохо. Например, всем известная игра Project Nomads (в России продавалась под названием Проект “Бродяги” ) сделана на бесплатном Nebula Device. Движки, представляемые сегодня вашему вниманию, тоже имеют очень хороший потенциал. Все они сделаны по принципу Open Source , то есть исходный код открыт для любых модификаций.
Ландшафты в Ogre выглядят неплохо.
**OGRE _www.ogre3d.org _**Движок разрабатывается не первый день. Первая рабочая версия вышла в 2002 году. За это время его смогли по достоинству оценить как разработчики-любители, так и профессионалы (на нем изготовлено несколько коммерческих продуктов). Поэтому неудивительно, что к нему прилагается богатый набор документации, а в Сети найдется немало примеров и уроков. Идея Open Source, свободное распространение исходного кода, позволяет работать над движком большому количеству программистов. В результате чего он приобретает новые возможности, в числе которых независимость от использования 3D API (можно выбирать и DirectX, OpenGL ) и поддержка трех операционных систем ( Windows , Linux Mac OSX ). Ogre позиционируется как графический движок. То есть создателей интересует, прежде всего, вывод на экран красивой картинки. Однако нужды игроделов не остаются без внимания. Например, в документации показана интеграция с Ode (физической библиотекой).
Демонстрационный уровень, входящий в комплект поставки Irrlicht.
Движок поддерживает компиляторы Visual C++ 6Visual C++.Net. Для работы в Linux и Mac применяется gcc 3+. Если в игре будет использован DirectX, необходимо предварительно установить DirectX SDK (можно скачать с сайта Microsoft ). Этот движок отличается широкой поддержкой разнообразных графических форматов. Помимо стандартных, можно использовать объемные, сжатые текстуры и cubemaps. Много плагинов, которые позволяют импортировать в него 3D-модели из различных пакетов 3D-графики ( 3DS Max , Maya , Milkshape3D , Blender Wings3D ). При этом можно использовать как фреймовую, так и скелетную анимацию. Для создания небольшой игры в состав движка включены все необходимые стандартные классы управления сценой. Игровые ресурсы можно паковать в архивы PK3 ZIP. ВЕРДИКТ: Разработка на основе движка коммерческих игр говорит о большом потенциале Ogre. У движка множество пользователей. Есть к кому обратиться в случае возникновения проблем. Наверняка их кто-то до вас решал или, по крайней мере, знает, как обойти. Большое количество справочной информации и примеров позволят освоить движок даже начинающим. Это отличный вариант для разработки игры при отсутствии финансов на покупку коммерческого engine. **Irrlicht _www.irrlicht.sourceforge.net _**Этот игровой моторчик пожаловал к нам из Германии. Продвигает его фактически один человек. Развивать движок в одиночку, сделать его полностью бесплатным и выложить весь исходный код — на такое способен далеко не каждый. Хотя до финальной версии Irrlicht еще далековато, на нем уже можно
Программа для просмотра моделей в форматах .3ds, .ms3d, .obj, .bsp, .md2 и .x, реализованная на Irrlicht.
делать серьезные игры. В движке имеются все необходимые для этого функции. Рендеринг выполняется через OpenGLDirect3D (с поддержкой DirectX9.0 ). Присутствует и софтверный режим. То есть все будет отрисовано собственным программным визуализатором, который в эру больших аппаратных возможностей видеокарт практически не используют. Стенсильные тени, лайтмэпы, системы частиц, пиксельные и вертексные шейдеры — все включено в Irrlicht. Можно делать игры как под Windows , так и для Linux — поддерживаются обе платформы. Программирование осуществляется через Visual C++gcc 3+ (под Linux). Модели напрямую импортируются из форматов .OBJ , .3ds (один из самых распространенных форматов 3D-графики), .ms3d (формат Milkshape 3D ), .md2 (формат движка Quake ). Автор утверждает, что если понадобится загрузка моделей из какого-то экзотического формата, то достаточно ему написать, и он постарается вам помочь. Движок способен работать с .bsp от Quake III , так что у желающих изготовить коридорный экшен есть возможность создавать карты в редакторе QERadiant. Однако в этом случае при попытке продать такую игру к вам могут возникнуть претензии у id Software. Отсутствие встроенной физики с лихвой заменяется примерами интеграции свободно распространяемых физических движков, таких как Ode , Tokamak.
Без шейдеров нынче никуда, поэтому в SDK движка Irrlicht входит урок по их применению в игре.
ВЕРДИКТ: Достаточно простой в освоении игровой движок. Подойдет как делающим первые шаги в программировании трехмерных игр, так и опытным командам для создания полноценной игры. Недочетов, правда, хватает, но к следующему релизу многие проблемы будут исправлены. **GraphicsWare Engine _www.graphicsware.com _**Этот движок вышел недавно. Ни уроков для начинающих, ни подробной документации по нему нет. А без этого новичкам разобраться с ним будет сложно. Скрипты пишутся через достаточно известную и распространенную скриптовую систему Lua. Движок построен по модульной системе. Пока в наличии имеются следующие модули: шейдерный, модуль ввода (предназначен для работы с такими устройствами, как клавиатура, джойстик), физический (не стоит ожидать от него продвинутой физики), скриптовый и сетевой. С появлением новых версий движка количество поддерживаемых функций, несомненно, будет расти. На данный момент список возможностей GWE не особенно длинен. Поддерживаются: DirectX9c , 32-битный цвет, сжатие текстур, виртуальная файловая система (упрощает обработку архивов). Для работы с движком требуется компилятор Visual Studio .NET 2003 , ну и, соответственно, библиотеки DirectX9c. С сайта разработчика можно скачать как полный SDK, так и отдельно файл движка (в виде библиотеки .dll). ВЕРДИКТ: GWE — интересный движок с хорошими перспективами. Однако отсутствие справочной информации и сервиса, способного помочь начинающим разработчикам, столкнувшимся с той или иной проблемой, пока ограничивает использование новичками этого инструмента для создания современных компьютерных игр. Тем не менее проект развивается, и все еще может измениться в самое ближайшее время.
Bump-mapping и стенсильные тени — инструментарий «реалистичности» бесплатного движка Ogre.
Дешево и сердито Компьютерная игра без программного кода — движка — навсегда останется набором идей, текстов и графического контента. Программирование двигателя — вероятно, одна из самых сложных фаз разработки. Однако не стоит отказываться от замечательных идей из-за боязни не справиться с этим этапом. Есть альтернативные пути. Свободно распространяемые трехмерные движки давно перестали быть чем-то сверхъестественным. И если раньше их качество вызывало сомнения, то сегодня некоторые из них не уступают коммерческим. Наиболее известные, такие как Genesis3D , Nebula Device , GLScene , не раз упоминались на страницах нашего журнала. Но время не стоит на месте. Какие-то движки устаревают и приходят в негодность по технологическим причинам. Другие, постоянно обновляясь, держатся дольше. Но рано или поздно их место все равно занимают новые. Все описанные в данной статье движки можно использовать при создании своих игр, как коммерческих, так и c shareware.
*** * *** Отсутствие денег на лицензирование, времени и опыта — на разработку игрового движка — не препятствие для создания собственной игры. На рынке есть бесплатные двигатели, которые обладают весьма серьезным набором возможностей. Стоит ли тратить силы и повторять то, что и так дают безвозмездно? Изобретение велосипеда — занятие, конечно, интересное… и даже в чем-то почетное. Только зачем, если можно сразу сесть и поехать? Имея готовый игровой движок, думать придется только о механике самой игры! Разве не это самое главное? Мы представили вам лишь небольшую часть перспективных 3D-движков. В ближайшем будущем продолжим разговор о бесплатных “двигателях”, а вы пока осваивайте разобранные и пишите нам на адрес GAMEDEV@IGROMANIA.RU , информируйте, о каких движках вам хотелось бы узнать подробнее. Бесплатные версии движков ждут вас на нашем DVD.