ОРКС
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
![]() | |
Разработчик(и) | orx-project.org |
---|---|
Стабильная версия | 1.14 [1]
/ 12 июня 2023 г |
Репозиторий | github |
Написано в | С , С++ |
Платформа | Кросс-платформенный |
Тип | Игровой движок |
Лицензия | лицензия zlib |
Веб-сайт | orx-проект |
Orx — это легкая и портативная программа с открытым исходным кодом , портативная . [ нужны разъяснения ] Основанный на плагинах , управляемый данными и простой в использовании 2D-ориентированный игровой движок, на C. написанный
Он работает на Windows ( MinGW и Visual Studio версии ), Linux , MacOS , iOS и Android .
Общая информация
[ редактировать ]Orx предоставляет полную среду для создания игр, включая график 3D-сцен , 2D-рендеринг с аппаратным ускорением, анимацию, ввод, звук, физику и многое другое.
Его основные цели — обеспечить быстрое прототипирование и создание игр. [2]
Orx публикуется под лицензией Zlib .
История:
Корень ORX уходит корнями в июль 2002 года, в нем повторно используется некоторый код, написанный за последние годы Роменом Киллианом . Он хотел попробовать несколько новых подходов (например, граф анимации, который сейчас можно увидеть во многих крупных движках, но ORX был одним из первых, кто предложил его в игровом движке в конце 2003 года). Затем в 2007 году он снова набрал темп, все еще пытаясь сделать что-то по-другому (именно тогда была разработана система конфигурации).
В 2009 году была выпущена версия ORX 1.0 rc0. В этой версии ORX добавлена поддержка Mac OS X (x86), а также поддержка Win32 и Linux (x86). Была представлена общая система ввода, такая как ввод с клавиатуры, мыши и джойстика, а также поддержка фрагментных шейдеров.
Версия ORX 1.2 была выпущена в 2010 году. В ней были исправлены ошибки и проведена оптимизация. Основным обновлением стала поддержка iOS и Unicode .
Версия ORX 1.3rc0 была представлена в 2011 году. Она содержала множество новых функций, таких как совместная поддержка, шрифты переменной ширины, OpenGL 2.0 и другие. Предыдущие проблемы и ошибки также были решены. Это был первый случай, когда в движок была добавлена поддержка Android.
Версия ORX 1.4cr0 была представлена в 2012 году. В этом обновлении в ORX были добавлены некоторые новые функции, такие как интерактивная консоль, команды, рендеринг текстурированной сетки, рендеринг геометрии и исправлены ранее известные проблемы.
Версия ORX 1.11 была выпущена в мае 2020 года с изменениями в поддержке MinGW-w64 , включая новую поддержку 64-битных дисплеев OSX/ Retina и Windows с высоким разрешением, управление опрашиваемыми физическими периферийными устройствами, текстовую анимацию и многое другое.
Версия ORX 1.12 была выпущена в мае 2021 года с некоторыми значительными улучшениями скорости и масштабируемости: с 65 тыс. до 16 млн одновременных объектов в памяти, полная перезапись модуля orxBANK, поддержка джойстиков на Android-Native , упрощенный конвейер сборки Android, Nuklear поддержка новых проектов и многое другое.
Версия ORX 1.13 была выпущена в марте 2022 года и содержит более 70 обновлений или новых функций, включая новый плагин SoundSystem на основе MiniAudio ( файлы OGG , WAV и MP3 ). Поддержка: фильтров на основе конфигурации для звуков и шин, нескольких звуков. прослушиватели, панорамирование звука, пространственное определение звука, поддержка формата изображения QOI , встроенная поддержка Arm64 для MacOS 11 /XCode 12.x и т. д.
Версия ORX 1.14 вышла в июне 2023 года, список изменений этой версии доступен здесь .
Полный список изменений, зарегистрированных с версии 1.0, можно найти здесь .
Функции
[ редактировать ]Несмотря на то, что Orx написан на C , он имеет объектно-ориентированный дизайн с подключаемой архитектурой. Это позволяет его ядру быть кроссплатформенным и делегировать плагинам задачи, зависящие от оборудования и ОС. Большинство этих плагинов основаны на других библиотеках с открытым исходным кодом , таких как GLFW , SDL и Box2D (форк LiquidFun) .
Файлы сборки предоставляются для GCC make-файлов , Visual Studio (2017, 2019 и 2022), Codelite , Code::Blocks и Xcode .
- Orx содержит большинство распространенных игрового движка. функций
- автоматический рендеринг спрайтов с использованием аппаратного 3D-ускорения, позволяющий: переводы, анизотропное масштабирование, вращение, прозрачность (альфа-смешение), окраску (перемножение, добавление и вычитание), мозаику и зеркальное отображение.
- расширенное управление ресурсами
- Множественные цели рендеринга (MRT) и расширенная поддержка композитинга
- примитивы геометрического отображения и рендеринг текстурированной сетки
- система камеры/окна просмотра, позволяющая просматривать несколько изображений на одном экране с перемещением, масштабированием и вращением камеры
- 3D- График сцены , используемый для позиционирования объекта, позволяющий группировать перемещения, вращения и масштабирование.
- звук и музыка с громкостью, управлением высотой и петлей, пространственным разделением, иерархическими шинами, фильтрами, записью и т. д.
- 2D-физический движок ( LiquidFun — форк Box2D )
- обнаружение столкновений , физика твердого тела и суставы
- система анимации
- управление событиями
- поддержка пользовательских фрагментных (пиксельных) шейдеров
- поддержка юникода
- рендеринг пользовательского растрового шрифта
- профилировщик процессора в реальном времени
- интерактивная консоль «отладки»
- поддержка нескольких мониторов
- поддержка буфера обмена
- Он также предоставляет более необычные функции [3]
- создание объектов управляется данными: для управления ресурсами требуется очень мало кода, все контролируется через файлы конфигурации
- на этапах разработки ресурсы могут автоматически загружаться во время выполнения после внесения изменений на диск, что значительно сокращает время итерации.
- система часов: это позволяет пользователю везде поддерживать согласованность времени, давая ему возможность выполнять локальное или глобальное растяжение времени.
- граф цепочки анимации: переходы анимации определяются в графе, это позволяет коду запрашивать только конечную целевую анимацию; все переходы будут автоматизированы в зависимости от стартовой анимации
- настраиваемая система событий анимации: позволяет легко синхронизировать части анимации
- система визуальных эффектов: основанная на конфигурации комбинация синусоидальных, пилообразных и линейных форм, которые можно подключить к свойствам объекта: цвет, альфа, положение, перемещение или вращение.
- мощная система ресурсов: позволяет пользователям легко абстрагировать доступ к ресурсам и работать с отдельными файлами разработки, а также с упакованными файлами для выпускных сборок или даже использовать разные наборы ресурсов на разных платформах без необходимости изменения строки кода. [4]
- автоматическая дифференциальная прокрутка: масштабирование глубины и дифференциальная прокрутка управляются через файлы конфигурации, что позволяет выполнять дифференциальную параллаксную прокрутку в любом количестве плоскостей.
- мощная система конфигурации: наследование, прямое случайное управление, шифрование/дешифрование, фильтрованное сохранение и перезагрузка истории. Это позволяет пользователю настраивать практически все, не меняя ни единой строки кода.
- система появления: это позволяет пользователю легко создавать пули для оружия или, в сочетании с системой визуальных эффектов, разрабатывать визуальные графические эффекты.
- простая система позиционирования объектов пользовательского интерфейса: помогает поддерживать различные соотношения сторон и обеспечивает удобную структуру выбора/выбора.
- универсальная система ввода: позволяет пользователям использовать любые контроллеры (мышь, джойстик, клавиатуру, сенсорный экран, акселерометр и т. д.) через абстрактный уровень. Пользователь запрашивает статус ввода, используя простые имена, привязки выполняются в файлах конфигурации или на лету для настройки пользовательского ввода, например
- простое создание сценариев с помощью комбинации временных шкал и команд
- поддержка многопоточности с асинхронной загрузкой ресурсов и поддержкой горячей загрузки
- Текущий список функций WIP, которые будут добавлены в будущем.
- Поддержка 3D-рендеринга
- поддержка сети
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Страница загрузки — GitHub» . orx-project.org . Проверено 12 июня 2023 г.
- ^ «Как изучить Оркса» . 27 ноября 2013 г.
- ^ «Новости ОРКС» .
- ^ «Поддержка пользовательского ZIP-архива» .
Внешние ссылки
[ редактировать ]- Сайт проекта Оркс
- Репозиторий Git на GitHub.com.
- Репозиторий Mercurial на SourceForge.net.
- Неделя Оркса
- ^ «Начало работы с открытым игровым движком Orx» . 9 мая 2017 г.
- ^ «Как написать 2D-игру про НЛО с помощью ORX» . 27 февраля 2018 г.
- ^ «Orx – игровой движок для 2D-игр, управляемый данными» . 14 мая 2018 г.
- ^ «Игровая среда Orx на C/C++, управляемая данными» . 30 апреля 2022 г.