LINUX.ORG.RU

OpenMW: порт на OpenSceneGraph готов

 ,


1

5

OpenMW — это свободный движок с открытыми исходными кодами, позволяющий запускать на Linux, Windows и OS X известную компьютерную игру The Elder Scrolls 3: Morrowind, включая как официальные плагины Tribunal и Bloodmoon, так и модификации от сообщества. Работа ещё далека от завершения, а нынешние результаты пока не позволяют полноценно играть.

Перевод новости с официального сайта.

На протяжении последних трех месяцев команда OpenMW усердно работала над портированием кодовой базы с движка Ogre3D на OpenSceneGraph. Мы рады сообщить, что наши усилия по портированию наконец-то принесли плоды — все важнейшие возможности игры были реализованы, таким образом пользователи могут насладиться настоящей игрой в Morrowind используя ветку исходников OpenMW-osg. Некоторые дополнительные возможности, такие как, шейдеры, дальняя местность, тени и отражения воды пока не портированы. Однако даже сейчас можно спокойно сказать, что переход прошел в основном успешно и даже лучше, чем планировалось. Новый OpenMW загружается быстрее, дает больше кадров в секунду, выглядит ближе к оригинальной игре и исправляет старые баги, которые сложны в исправлении на старом движке. Погодите, больше кадров в секунду? Пора тестировать…

Первый бенчмарк
Наша тестовая конфигурация: GeForce GTX 560 Ti/PCIe/SSE2, AMD Phenom(tm) II X4 955 Processor × 4, Linux 3.13.0-24-generic x86_64, 1680×1050, полноэкранный режим, no AA, 16x AF, без отражений воды, без теней, без шейдеров, максимальная дистанция обзора, которую позволяет ползунок настроек.

fps/Время загрузки/Использование памяти
49 / 7c / 344.6 MB (OpenMW)
75 / 3.4с / 277.1 MB (OpenMW-osg)

Видно, что порт OpenSceneGraph выигрывает по всем трем пунктам. Приличное увеличение fps, которое все-таки далеко от 3-4-х кратного улучшения, которые мы видели в ранних тестах с одной моделью. Нет причин беспокоиться, посмотрите на следующее:

  1. Сравнение некорректное. Новые возможности рендеринга, включенные в ветку OSG, которые делают нас ближе к оригинальному Morrowind, влияют на производительность. Например, теперь мы можем динамически расширять границы объектов во время анимации, что исправляет печально известный баг 455 (исчезновение существ при определенном положении камеры), но цена этому — fps. Более того мы выкинули статическую группировку геометрических форм, которая предназначалась для оптимизации производительности, но приводила к множеству проблем — в основном некорректное освещение и неработоспособность заскриптованных передвижений объектов. Даже без этой оптимизации порт OSG работает быстрее!
  2. Ожидайте возросшую производительность при включенных графических эффектах. Сравнение было проведено при минимальных графических настройках по простой причине — некоторые возможности графики (тени, отражения и т. д.) еще не реализованы в порте OSG. Мы думаем, когда они будут портированы это ударит по производительности меньше чем ранее, просто потому что новый рендерер лучше масштабируется. Отрисовка на данный момент выполняется в отдельном потоке, таким образом графически сложная сцена не блокирует основной поток при выполнении таких значительных задач, как выбраковка, физика, скрипты и анимация.
  3. Реальный этап оптимизации еще не начат! Сейчас основная цель — вернуть игру в в играбельное состояние и это случилось только несколько дней назад. Теперь видно множество возможностей для оптимизации. Наш новый фреймворк рендеринга дает нам больше контроля над тем как формируется граф сцены и над тем как отправляются обновления, кое от чего мы только начинаем получать преимущество. Следующие оптимизации запланированы в ближайшем будущем:
    • Перенести обновление(изменение) скининга в отдельный поток.
    • Перенести обновления частиц в отдельный поток.
    • Общее состояние в разных NIF-файлах.
    • Включить выбраковку для источника/программ частиц.
    • Внедрить оптимизатор моделей. Модели в Morrowind неожиданно содержат множество повторяющихся узлов, повторяющихся трансформаций и повторяющихся состояний, которые влияют на производительность рендеринга. Мы должны реализовать подобный этап оптимизации. OpenSceneGraph предоставляет osgUtil::Optimizer, который может быть полезен для выполнения этой задачи.
    • Создать более сбалансированный граф сцены, т. е. дерево квадрантов (дерево, в котором у каждого внутреннего узла ровно 4 потомка), чтобы уменьшить падение производительности от выбраковки очередей сцен(?).
  4. Узкое место не только рендеринг. Говоря, что рендеринг быстрее в N раз, нельзя говорить, что OpenMW быстрее в N раз. У нас имеются другие вещи влияющие на время генерации кадра и сейчас, когда наш рендеринг стал быстрее другие узкие места становятся более заметными. В особенности реализация физики и анимации — две наихудшие проблемы. Некоторые подготовительные оптимизации в данном направлении были осуществлены в порте OSG, но мы не сомневаемся, что еще есть где развернуться.

Предварительный список изменений:
Улучшения рендеринга

  • Непропорциональное масштабирование NPC (Bug 814): некоторое NPC сейчас смасштабированы по осям X и Y, делающих их более объемными — так же как в оригинальном Morrowind. Предыдущие версии OpenMW неподдерживали такой тип масштабирования в связи с ограничением Ogre3D.
  • Улучшенная точность рендеринга: решение проблем с точностью больших координат, выглядящих как моргание/тряска когда игрок путешествует слишком далеко от стартовой точки мира.
  • Удалена статическая группировка геометрических форм — исправлено некорректное освещение (Bug 385), исправлены скриптовые движения объектов (Bug 602) и улучшено время загрузки зоны.
  • Оригинальные параметры прозрачности — предыдущие версии OpenMW использовали настройки прозрачности плохо соответствующих оригинальному Morrowind благодаря статической группировки геометрических форм. Это было исправлено — листва и другие прозрачные объекты имеют более мягкие края.
  • Добавлена опция выборки: в дополнение к выбраковке внеэкранных объектов мы можем теперь также пропускать объекты, которые меньше одного пиксела во время рендеринга. Изменение визуально не заметно, поэтому мы включили эту опцию по умолчанию.

Переработанный NIF-загрузчик

  • Поддержка непропорционального масштабирования в NIF-файлах (Bug 2052)
  • Исправлено ограничение по количеству узлов в NIF-файлах (Bug 2187)
  • Исправлены анимации «заморозка» когда объект отбракован (Bug 2151)
  • Переработан алгоритм скининга(?) для более эффективного графа сцены
  • Динамическое расширение границ объектов на основе скелетной анимации — исправляет исчезновение некоторых существ при просмотре под определенным углом (Bug 455)
  • NIF-графы сцены теперь общий ресурс — значительно уменьшает время загрузки.
  • Анимированный текст теперь общий ресурс.

Переписанная физика

  • При компиляции с Bullet 2.83 или позднее получаем возможность использовать btScaledBvhTriangleMeshShape для эффективного использования фигур.
  • Удалены «детализированные» отрендеренные рейкастингом (метод трассировки лучей) фигуры и заменены на прямой рейкастингом на графической сцене — это уменьшает потребление памяти.
  • Использование btCollisionWorld вместо btDynamicsWorld, чтобы исключить лишние обновления, необходимые для функциональности, которая нам не нужна.

Новый рейкастинг (метод трассировки лучей)

  • Использование osgUtil::IntersectionVisitor для прямого рейкастинга на графической сцене
  • Поддержка рейкастинга для анимированных объектов — исправляет некорректное положение актеров (Bug 827)

>>> Новость на официальном сайте



Проверено: JB ()
Последнее исправление: JB (всего исправлений: 3)

Ответ на: комментарий от siphonops

Дело не в том что оригинальный морровинд легко пойдёт под эмулятором на современных ARM планшетах нижней ценовой категории, а в том что OpenMW такой тормозной и жручий.

StReLoK ☆☆
()
Ответ на: комментарий от StReLoK

а в том что OpenMW такой тормозной и жручий.

Во-первых, он еще не существует в редакции, которую бы следовало обсуждать по части производительности (т.е. работающей редакции).
Во-вторых, почему он должен быть не жручим?
В отличии от оригинала он:
1. Должен иметь бесшовную подгрузку (оригинал печально известен подгрузками на ровном месте),
2. Поддерживает современные разрешения,
3. Поддерживает большую дальность прорисовки (см. п.1),
4. OpenGl и кроссплатформенность
Даже после работы над оптимизацией (после релиза) он не сможет быть сопоставимым по потреблению ресурсов с оригиналом.

siphonops ★★★
()
Ответ на: комментарий от Quasar

А ещё там написан запрет на использование этих ресурсов где-либо кроме оригинальных игр.

Можно ли увидеть эти конкретные строки? Запрет на создание производных работ очевиден, как следующих из норм авторских и смежных прав. Запрет на всякую декомпиляцию программы, распространение и т.д. тоже нормальное явление.

Но запрет читать ресурсы честно купленной игры на своём компьютере иной программой, помимо оригинальной программы? Производители антивирусов напряглись?

atrus ★★★★★
()
Ответ на: комментарий от atrus

Выдержка из license.txt, прилагавшемуся к Bloodmoon:

You may not (and may not permit any third party to) modify, enhance, supplement, create any derivative works from, adapt, translate, reverse engineer, decompile, disassemble or otherwise reduce the object code form of any software provided to You to human readable form, or use parts of the software products provided as part of the Package independently of the Package or of the respective Products.



Вроде бы ничего страшного, но, ЕМНИП, был текст лицензии на русском языке (на диске с оригинальным Morrowind от 1С), где выделенная часть была сформулирована как «запрещается использовать части программного продукта в других программных продуктах» или что-то вроде того.

Khnazile ★★★★★
()
Последнее исправление: Khnazile (всего исправлений: 1)
Ответ на: комментарий от Quasar

NetImmerse (который потом переименовали в GameBryo

Вроде не просто переименованный. Или переработанный или просто похожий. По крайней мере, простым развитием трудно объяснить, что на пути от Morrowind в Oblivion из движка напрочь исчезла возможность летать. (Я имею ввиду - летать персонажу, а не NPC.) Даже в Skyrim, который развитие обловского движка, нет полётов персонажа. Полёты на драконе, которые прикрутили в dragonborn рельсовые, без возможности управлять полётом.

atrus ★★★★★
()
Последнее исправление: atrus (всего исправлений: 1)
Ответ на: комментарий от Khnazile

Ну это не страшно. Эти файлы не входят в состав OpenMW. Они просто лежат(tm) на диске пользователя рядом. :)

atrus ★★★★★
()
Ответ на: комментарий от atrus

Возможность летать есть, просто в Oblivion ее пришлось порезать, из-за заборов вокруг городов. Города теперь отдельные «кусочки» мира, связанные с «большим» миром через двери-порталы. Ходят слухи, что это пришлось сделать из-за соснолей предыдущего поколения, которые не тянули.

Khnazile ★★★★★
()
Ответ на: комментарий от atrus

Левитацию пришлось запретить из-за особенностей запекания заднего плана, только и всего.

anonymous
()
Ответ на: комментарий от atrus

Играть на планшетах в стратегии куда удобней чем в 3D шутаны. А уж 3D RPG на планшете это вообще за гранью добра и зла.

StReLoK ☆☆
()
Ответ на: комментарий от StReLoK

Не важно. Ошибка в цепочке комментариев. Подумал, вы сказали ARM Starcraft не потянет.

atrus ★★★★★
()
Ответ на: комментарий от siphonops

1. Должен иметь бесшовную подгрузку (оригинал печально известен подгрузками на ровном месте),

Когда я пробовал OpenMW там наблюдалась точно такая-же подгрузка.

2. Поддерживает современные разрешения,

Оригинал всегда поддерживал, только не умел маштабировать интерфейс.

3. Поддерживает большую дальность прорисовки (см. п.1),

Есть средства для оригинала.

aplay ★★★★★
()
Ответ на: комментарий от aplay

Когда я пробовал OpenMW там наблюдалась точно такая-же подгрузка.

Плохо. Если на современном железе видимые подгрузки не смогли исключить, то ценность их деятельности невелика.

Оригинал всегда поддерживал, только не умел маштабировать интерфейс.

Разрешения, на которых игрались во времена релиза, и те, что в ходу сейчас значительно отличаются в большую сторону.

Есть средства для оригинала.

Моды/плагины, не оригинальный движок. Если эти моды выставить, системные требования тоже возрастут.

siphonops ★★★
()
Последнее исправление: siphonops (всего исправлений: 1)
Ответ на: комментарий от aplay

Есть средства для оригинала.

Правда этот самый MGE глючит. То у него экран при загрузке радикально белым становится, то барьер невидимым...

atrus ★★★★★
()
Ответ на: комментарий от StReLoK

ARM это не только планшеты а планшет это не обязательно «пальцевозный» интерфейс.

A-234 ★★★★★
()
Ответ на: комментарий от anonymous

Нельзя просто так выкинуть на гитхаб несоберающуюся без оркестра бубнов лапшу из костылей

таки можно. если говорить только об откоментированном, без ворованного кода и тому подобного, то таки можно. пример - Arx Fatalis, возможно есть и другие. и ничего, нашлись люди, которые «причесали» код, поправили баги и так далее.

CryAngel
()

OpenMW: порт на OpenSceneGraph готов

Я ждал!

Сношу GTA V, ставлю Linux и вперед!

Блин, а что полигонов не завезли?

weare ★★
()
Ответ на: комментарий от siphonops

Разрешения, на которых игрались во времена релиза, и те, что в ходу сейчас значительно отличаются в большую сторону.

Движку без разницы, совершенно.

Моды/плагины, не оригинальный движок. Если эти моды выставить, системные требования тоже возрастут.

Да, но все-еще не до таких высот как у OpenMW.

aplay ★★★★★
()
Ответ на: комментарий от weare

Ты повторяешься (C) к/ф Крикуны

anonymous
()
Ответ на: комментарий от Quasar

И тогда проект накрылся бы медным тазом, так толком и не начавшись.

обоснуй

Source 2, кстати, не откроют. Это факт.

лицензия - да. доступ к исходным кодам - обоснуй.

Ford_Focus ★★★★★
()

3D игры под Linux настолько суровы что полигоны к ним поставляются в отдельных ящиках вертолетом по первому звонку от пользователя в течении трех часов!

weare ★★
()
Ответ на: комментарий от slon

вопрос даже звучит так: какой смысл тратить существенную часть своей единственной жизни на какую-то игрульку? Какой профит?

Знаешь какой кайф? Особенно когда пилишь игру 5 лет и потом она выходит в Steam... ^_^

PS ага я про Вангеры

stalkerg ★★★★★
()
Ответ на: комментарий от Quasar

Неужто OpenMW работает хотя бы на PowerPC из того, что ты назвал?

anonymous
()
Ответ на: комментарий от weare

3D игры под Linux настолько суровы

какая связь между играми под Linux и Morrowind? его под Linux никто не выпускал. ну или какая связь между играми и OpenMW? OpenMW это не игра, это альтернативный движок для Morrowind, так что все вопросы о количестве полигонов - к разработчику, т.е. к беседке.

CryAngel
()
Ответ на: комментарий от eR

у меня токо один вопрос - мультиплеер?

Сражения на арене да и вообще очень многое заиграло бы новыми красками.

А чтоб не разрушать атмосферу можно прикрутить сеть так же как это сделано например в дарк соулс - конкретные места с pvp (арена) и вторжение добрых/злых духов в игровой процесс с соответствующими заклинаниями увеличивающими/уменьшающими шанс вторжения.

init_6 ★★★★★
()
Ответ на: комментарий от aplay

PvP? С механикой сражений морровинда? «Очень увлекательно»

А что с ней не так?

И бесчисленных тупых мобов по подземельям гасить вполне себе весело а таких-же случайных игроков призванных ради победы или смерти нет? С живыми высокоуровневыми игроками призванными в качестве союзников/противников Морровинд заиграл бы новыми красками. А спэлл увеличивающий/уменьшающий шанс вторжения либо просто ограничение определёнными областями для pvp никак бы не разрушили атмосферу одиночного прохождения.

init_6 ★★★★★
()
Ответ на: комментарий от aplay

просто стоишь и машешь в направлении противника

как будто в 99% игр это не так

CryAngel
()
Ответ на: комментарий от aplay

Примитивна, просто стоишь и машешь в направлении противника.

Начинай искать примитивность с себя а не с механики Морровинда. Потому что там как и во всем остальном Морровинде одну и ту же задачу решить по разному.

К примеру зачем магу чем-то «махать» если можно тупо полностью лишить противника подвижности и вынести его в ноль парой заклинаний ещё до того как тот снова сможет двигаться.

Или вообще спустить на противника золотого святошу а самому в это время преспокойно долбать его с безопасного расстояния.

И как ты сказал «махать» можно тоже по разному. Если вся возня происходит в тёмном месте а у тебя невидимость очень сильно это поможет противнику «стоять и махать»?

И да кроме призывов всякой нечисти ещё есть и телепортация к примеру к ближайшему храму. И можно тупо сбежать.

А если возня началась в подземелье города то достаточно тупо выйти в город и огребет тот кто затеял драку. Потому что там как правило есть ординаторы в достаточных количествах для усложнения жизни персонажу любого уровня и прокачки.

init_6 ★★★★★
()
Ответ на: комментарий от init_6

нет, я хочу кооператив - совместное прохождение игры.

eR ★★★★★
()
5 августа 2015 г.

Интересно, на что они будут переписывать в следующий раз?

vq156 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.