Главная » 2012»Апрель»21 » Обзор актуальных игровых движков, поддерживающих разработку игр в среде программирования Delphi.
16:50
Обзор актуальных игровых движков, поддерживающих разработку игр в среде программирования Delphi.
Обзор актуальных игровых движков, поддерживающих разработку игр в среде программирования Delphi.
Asphyre Sphinx2 – фреймворк для разработки 2D/3D видео игр и интерактивных бизнес приложений. Его задача – помогать разработчику с менеджментом ресурсов, выводом в реальном времени 2D и 3D графики, захватом событий клавиатуры, мыши и джойстика. Данный релиз является полноценной заменой всех предыдущих версий Asphyre, и продолжает непрерывно развиваться. Для своей работы, Asphyre Sphinx2 требует одну из следующих сред разработки: Turbo Delphi, BDS 2006, Delphi 2007, 2010 и XE. Приложения, созданные с помощью Asphyre Sphinx2, могут использовать для вывода графики DirectX 7, DirectX 9, DirectX 9 Ex (Vista), DirectX 10, DirectX 10.1, DirectX 11 или OpenGL для того, чтобы отобразить графику в реальном времени. Разработчик может решить, использовать ли одного из упомянутых провайдеров или позволить пользователю выбирать провайдера во время выполнения. Эта особенность может быть особенно полезна для разработчиков casual игр, так как это направление обычно требует работы приложения на максимально широком спектре машин пользователей. Также стоит отметить, что приложения, использующие Asphyre Sphinx2, не требуют для своего запуска каких-либо внешних DLL библиотек. 2D возможности: • Трансформация изображений (поворот, масштабирование, отражение и тд.) • Alpha-blending с применением различных эффектов (сложение, вычитание, умножение и т.д.) • Buffered drawing calls, дающий экстремально высокую производительность для от рисовки 2D графики в реальном времени. • Большой выбор примитивов, таких как прямоугольники, эллипсы, дуги, ленты и дыры. • Поддержка широкого спектра форматов пикселей для получения наилучшей картинки при минимизации используемой видеопамяти. • Изображения могут быть загружены как из сжатых Asphyre архивов, так и из внешних файлов и потоков. • Паттерны (кадры анимации спрайтов) больших спрайтов могут быть разнесены на разные текстуры, что позволяет контролировать размеры загружаемых в видеопамять текстур. • Динамические текстуры предоставляют быстрый доступ у пикселям, что может быть крайне полезно для таких эффектов, как «плазма» или разрушаемый ландшафт. • Rendering targets открывают широкие возможности для эффектов постобработки изображения, таких как motion blur, glows и многих других. • Корректная обработка событий, связанных с потерей устройства, нажатий Alt+Tab, Win+L и прочих редких событий, которые могли бы усложнить жизнь разработчику. • Вывод текста из растровых шрифтов с поддержкой Unicode, тэгов для градиентной заливки, и опциями выравниваня текста. • Интеграция с библиотекой Vampyre Imaging Library для загрузки огромного количества форматов изображений. 3D возможности: • Легкие в использовании (даже для неопытных разработчиков) функции вывода на экран 3D мешей. • Mesh instancing для увеличения производительности, когда требуется рисовать большое количество маленьких мешей. • Модели освещения, включая Phong, Blinn-Phong, Minneart, Cook-Torrance, Oren-Nayer, Isotropic и Anisotropic Ward. • Оптимизированные pipeline’ы с сортировкой треугольников и сокрытием невидимых поверхностей. • Поддержка прозрачности для DirectX 7, DirectX 9 и OpenGL провайдеров. • Billboards, для различных частиц, взрывов, дыма и прочих эффектов. • Возможность загрузки мешей из 3D Studio Max с использованием утилиты для конвертирования файлов 3DS и ASE форматов. • Код для генерации мешей (планы, боксы, сферы, торы, эллипсоиды и т.д.). Прочие возможности: • Захват событий нажатия клавиш клавиатуры, смещений джойстиков и мыши. • Хранение всех текстур, звуков и прочих файлов в одном Asphyre архиве с использованием LZ77 сжатия для экономии места на жестком диске пользователя и более легкого менеджмента ресурсов. • Возможность установки пароля на Asphyre архив для кодирования его содержимого с использованием 128-битного алгоритма шифрования XTEA. Таким образом никто посторонний не сможет открыть ваши медиа-файлы. • Полный набор типов и математических функций для работы с 2D и 3D векторами и матрицами. • Таймер высокой точности для независимой обработки рендера графики и обработки логики приложения.
GLScene — графический движок, написанный для использования на языке программирования Delphi и использующий библиотеку OpenGL в качестве интерфейса программирования приложений. GLScene является свободным программным обеспечением и распространяется с лицензией Mozilla Public License. С его помощью программирование трёхмерной графики становится более простым и быстрым. Последние версии движка также доступны для использования в Lazarus. GLScene позволяет программистам создавать 3D-объекты OpenGL в design-time. Большое количество объектов и дополнительных визуальных компонентов VCL помогает программистам создавать мощные 3D-приложения для Delphi. Поддерживаемые для загрузки форматы файлов: 3ds, obj, vrml, smd, md2, md3, nmf, oct, lwo, b3d, gl2, gls, ms3d, Nurbs, lod, и некоторые другие. Поддерживаемые для сохранения форматы файлов: obj и smd. Поддерживаемая физика: ODE, Newton Game Dynamics. Также есть небольшой собственный движок расчёта столкновений с учётом законов сохранения импульса DCE.
DGLE2 - это мощный и компактный 2D/3D графический движок с открытыми исходниками. Краткая информация Движок написан на C++, хедеры могут быть использованы с Visual C++, C++ Builder, С#, Delphi и FreePascal. А в принципе возможен порт на любой язык. Движок использует OpenGL рендер. Может работать как с OpenGL 1.x или 2.x, так и умеет использовать последние версии 3.3 и 4.0. Движок имеет все компоненты необходимые для создания игры или приложения использующее трехмерную графику в реальном времени. Уже реализованные фичи: • Менеджер ресурсов(TGA, PNG, JPG, DDS, DTX(текстуры), DMD(меши), DFT(шрифты)). • Виртуальные файловые системы(ZIP,DPC(статические паки со сжатием LZO), DPQ(паки с шифрованием и компрессией)). • Ядро позволяет использовать мультирендер, рендерить в чужое окно, динамически менять разрешение, имеет профайлеры и т.д. • Менеджер потоков, позволяет просто использовать многопоточность. Сам движок создает от 1 до 4 потоков. Что позволяет получить преимущество на многопроцессорных системах. • Менеджер состояний, фильтрует ненужные, дублирующие и т.д. смены состояний и параметров OpenGL, значительно ускоряя работу приложений. • 2D подсистема предоставляет полнофункциональный интерфейс для реализации 2D приложений, включая отрисовку произвольных полигонов, камеру, коррекцию картинки под заданное разрешение и т.д. • Пакетный рендер для 2D с использованием VBO, может работать как отложенный рендер используя поточность. В разы повышает производительность. • Совмещение 3D и 2D, т.е. можно работать с 3D объектами как с обычными 2D спрайтами. • Спрайтовый движок и редактор спрайтов. • Внутреигровое GUI и редактор GUI. • Система материалов с поддержкой Parallax и Normal mapping'а. Основанная на генераторе шейдеров. • Редактор постэффектов для обработки изображения. Например Blur, Glow, Bloom и т.д. • Частицы, редактор частиц. Можно в 2 строчки кода сделать крутые эффекты. • Возможность рендеринга в браузеры. Плагины для InternetExplorer и Firefox, позволят вам разместить на сайте любую игру на движке, все данные стремятся из интернета автоматически. • Движок собирает исчерпывающую информацию о конфигурации компьютера вплоть до версий драйверов и записывает в лог. • Движок имеет консоль работающую в независимом потоке, дебаг из консоли может производиться даже если само приложение зависло и не отвечает. • Движок имеет подсистему ввода позволяющую использовать WinAPI и DirectInput. • Движок имеет звуковую и музыкальную подсистему и позволяет проигрывать WAV, MP3, MID, XM файлы. • Движок поддерживает плагины позволяющие существенно расширять его возможности и список поддерживаемых форматов файлов. • Возможность работы с 3D на низком уровне, без графа сцен. • Возможность загрузки и работы с шейдерами через удобный интерфейс. Для низкоуровневого кода.
ZenGL - кроссплатформенная библиотека для разработки игр, предоставляющая необходимый функционал для вывода 2D-графики, обработки ввода, воспроизведения звука и пр., созданная Кемка Андреем aka Andru. Совместимые компиляторы: FreePascal, Delphi; Графический API: OpenGL, Direct3D 8/9; Звуковой API: OpenAL, DirectSound; Поддерживаемые ОС: GNU/Linux, Windows, MacOS X; Лицензия: GNU LGPL version 3. Ранее автор ZenGL разработал движок OMEGA Engine, на основе которого было выпущено несколько бесплатных и коммерческих игр, множество демок и примеров. Он позволяет работать аппаратно с графикой через интерфейсы OpenGL/DirectX, оформлен в виде набора dll-файлов с заголовками, что позволяет использовать движок в средах разработки Delphi, Free Pascal и C++.Omega имеет 3D-библиотеку, что сильно упрощает жизнь при работе с 3D-графикой. ZenGL является дальнейшим развитием идей OMEGA Engine, многое в нем переосмыслено и доведено до ума.
CAST II - это бесплатный игровой (не только графический) движок с открытыми исходными кодами для Delphi и Free Pascal. Основными особенностями этого движка являются: - производительность - CAST II ориентирован на максимальную производительность, переключения состояний/шейдеров минимизированы и т.д.; - WYSIWYG редактор игрового мира - один инструмент для редактирования любого аспекта игрового мира в реальном времени и все возможности движка доступны в редакторе; - совместимость - системные требования движка минимальны, т.е. система материалов, основанная на техниках, позволит визуализировать сцену на любом оборудовании, от встроенных Intel 815 до самых современных видео карт, при этом полностью используя возможности оборудования; - игровой контент (модели, текстуры и т.п.) импортируется в редактор CAST II Editor; - CAST II включает в себя следующие подсистемы (некоторые из которых всё ещё разрабатываются): Граф сцены, Визуализатор, Аудио подсистема, Физическая подсистема (встроенная проверка столкновений + подключение внешнего физического движка), Подсистема ввода, Подсистема сообщений, Таймер, Сетевая подсистема, Графический интерфейс пользователя; - CAST II может быть использован либо на условиях Mozilla Public License 1.1, либо на условиях GNU Lesser General Public License 2.1.; - кроссплатформенность, поддержка разных API - в данный момент реализована поддержка DirectX 8.1. Предполагается в дальнейшем добавить поддержку DirectX 9 и OpenGL. Исходный код движка совместим с компилятором Free Pascal и в будущем будет реализована поддержка платформ Linux и MacOS X.