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 ()

ну, теперь можно, скажем, на U4E портировать. или ащо куда.

mos ★★★★★ ()

зачем вкладывается столько труда и времени в это? Чтобы какой-то школьник поиграл полчаса и выбросил? Не лучше ли вложить эти ресусры в научно-исследовательскую область?

Не понимаю.

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

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

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

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

entefeed ☆☆☆ ()

А традиционного видеообзора изменений не будет?

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

Вот в тему цитата:

— Смысл жизни ищешь? Черт, Крис, тут и я могу тебе помочь.
— Да?
— Само собой. Нет в жизни смысла."

Это я к тому, что может хобби у них такое, не всем же мир спасать :)

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

Чтобы не закиснуть, закопавшись в научно-исследовательской области.

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

зачем вкладывается столько труда и времени в это? Чтобы какой-то школьник поиграл полчаса и выбросил? Не лучше ли вложить эти ресусры в научно-исследовательскую область?

Задаюсь аналогичным вопросом, особенно в свете кучи закрытых игра на Steam/Linux - поиграл и забыл.

I-Love-Microsoft ★★★★★ ()

Наша тестовая конфигурация: 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, без отражений воды, без теней, без шейдеров, максимальная дистанция обзора, которую позволяет ползунок настроек.

Бу-га-га. Без теней любая игра выглядит уе... ужасно. Фу. Пойду поиграю в SKYRIM

RedEyedMan4 ★★★★★ ()
Последнее исправление: RedEyedMan4 (всего исправлений: 1)

Ну глядишь через пару лет и доделают. Хотя учитывая что сейчас активно пилят Skywind нужность openmw под вопросом.

StReLoK ☆☆ ()

Сейчас основная цель — вернуть игру в в играбельное состояние и это случилось только несколько дней назад

стоп-стоп-стоп

а что, уже играть можно? и давно ли?

MyTrooName ★★★★★ ()

Понравилась новость - Движок мы ещё не допилили, половины всего нет, работает на грязных хаках ради быстродействия, но зато как быстро бегает... Надо же! Опенсценеграф без теней, отражений и дальних планов обогнал Огра с тенями и всем прочим... Вот это новость!

А как допишете и с теми же тенями, отражениями и дальним планом запустите, тоже летать будет? Они бы его ещё двухмерным сделали и сравнили.

Deleted ()
Ответ на: комментарий от MyTrooName

Нет, почему, играть давно уже можно, другое дело, что пройти игру нельзя :D

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

А ты почему на ЛОРе вместо того, чтобы вкладывать своё время в научно-исследовательскую область?

Gentooshnik ★★ ()

Что насчет открытых ресурсов? Кто-нибудь пилит?

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

А ведь можно было бы и для тех же школьников, и не только, делать нормальные образовательные игры как общего так и узкого профиля.

anonymous ()
Ответ на: комментарий от I-Love-Microsoft

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

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

Опенсценеграф без теней, отражений и дальних планов обогнал Огра с тенями

Где это написано? Оба движка были в одинаковых условиях, потому ваш сарказм тут неуместен.

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

Да не доделают ее никогда. Оно же пилится ради самого процесса пиления. Конечный результат не нужен.

vq156 ★★ ()

Ну неужели Elder Scrolls на нормальном 3D движке?!

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

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

Прокачка своего девелоперского скилла?

holuiitipun ()

всё верно slon сказал, стОит тратить время на что-нибудь стоящее. тут же уже клоунада пополам с мазохизмом, как будто тымриэль Самая Главная Игра На Свете. если кто-то из пилящих так считает, то им проверить моск надо. не съел ли кто. ну а если нет, то не понятно нафиг нужно это поделие. было овер дофига игр важнее этого традиционно кривого безыдейного бесездоподелия.

mos ★★★★★ ()

Видел новости про этот проект несколько лет назад. Я понимаю, что джаст фо фан. Но

Работа ещё далека от завершения, а нынешние результаты пока не позволяют полноценно играть.

Закапывайте.

Kaschenko ()
Ответ на: комментарий от vq156

Оно же пилится ради самого процесса пиления. Конечный результат не нужен.

Тогда зачем новость на ЛОРе?

Kaschenko ()
Ответ на: комментарий от MyTrooName

Играть можно начиная с 0.31, правда особого удовольствия не будет.

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

Говорят автор AoA готов предоставить все свое для минимальной тестовой игры. А запил открытых ресурсов вроде как затух.

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

зачем вкладывается столько труда и времени в это? Чтобы какой-то школьник поиграл полчаса и выбросил?

Ну вижу в этом несколько резонов. Во-первых, и самое важное, я считаю это совершенно адекватной данью уважения и совершенно адекватным признанием заслуг разработчиков оригинальной игры.

Дело в том, что в современном мире «планируемого развития», когд а создатели шедевров вынуждены их хоронить собственноручно, во благо новых игр, сулящих их хозяевам новое бабло — очень важно признание игр, действительно заслуживших такого уровня признание, и такого уровня усилия по реинкарнации.

Возьмер в пример старый добрый StartCraft:blood war. Я в свое время писал ему деферамбы, сравнивая с индийскими шахматами, которые живы до сих пор. Но Blizzard собственноручно похоронил свое детище, закрыв свои сервера и щемя лицензиями чужие. Подробностей этой истории уже не помню, давно это было. Но факт налицо: создатель игры хоронил подлинно играбельную вещь в угоду бездушному графону следующего своего детища, которое лишено той играбельности, зато на полную мощность диктует новые системные требования (в угоду производителям железа; я думаю они определенно в сговоре) а главное сулит новое бабло за новые покупки и лицензии.

В итоге, что имеем: уже во времена Starcraft ИГРЫ БЫЛИ УЖЕ НЕ ТЕ, но Starcraft блеснул как молния посреди ночи. Один из достойнейших продуктов едва не прошел незамеченным, и прошел бы незамеченным, если бы «планируемое развитие» действительно было подчинено только планам маркетологов.

Та же история, я считаю, и с Elders Scrols. Morrowind - пик его развития, я считаю. В нем есть душа. Среди дизайнеров и разработчиков игры, должно быть, оказалось слишком много алкоголиков, наркоманов, хипстеров, и прочих маргиналов, в большей или меньшей степени оторванных от коммерческих реалий и насущных интересов компании, и сумевших в игру вложить часть своей души.

Так возвращаясь к разработчикам клона. Это те, кто по достоинству оценили игру. И не думаю что их усилия напрасны. Я много сотен, если не тысяч (никогда не считал), часов, провел в Morrowind. Точно помню, болел им года три, пока не перешел в режим nogames (у меня и так слишком много, помимо игр, статей низкорентабельного расхода времени). Я в это точно буду играть, сколько бы времени не понадобилось на всю работу.

Желаю разработчикам клона долгих лет жизни, чтобы успеть реализовать не только этот проект, но и многое прочее, что они хотели бы еще успеть в этой жизни. Желаю жгучего вдохновения и главное — то, что наших дидов вело к той победе, которая теперь празднуется круглый год; то, что вело к закономерному успеху как древнюю инквизицию так и Коперника — вера в свое дело, в его результат, в значимость и необходимость этого результата.

Csandriel ()

Нубский вопрос. Не проще ли было портировать на готовый открытый движок? Блендер вроде подходит. Он развивается. Может лучше было писать универсальный движок, а ресурсы под него портировать? Тогда людей можно было бы больше задействовать.

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

Возьмер в пример старый добрый StartCraft:blood war.

Ох, как бы я хотел видеть его свободный клон...

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

надо запрещать и расстреливать,товарищь выше все правильно говорит,дороги стоят лес нерубленный,они фигней страдают-в сибирь всех поголовно

g1966464 ()
Ответ на: комментарий от virx

Само собой. Нет в жизни смысла.

Слоган ущербного бича-атеиста.

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

Starcraft блеснул как молния посреди ночи

Эта игра переоценена донельзя.

древнюю инквизицию

Не такая уж она и древняя.

А если по теме, то может кто-нибудь внятно объяснить, почему беседка не открывает исходники старого проекта, который больше не приносит прибыли? Кармак, например, поделился исходниками Дума.

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

Есть мнение что за изменение оригинальных ресурсов беседка ата-та сделает.

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

зачем вкладывается столько труда и времени в это? Чтобы какой-то школьник поиграл полчаса и выбросил? Не лучше ли вложить эти ресусры в научно-исследовательскую область?

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

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

почему беседка не открывает исходники старого проекта, который больше не приносит прибыли?

прибыль и открытие не как не связаны-дум3 и 4 как и квейк продается в стиме также как и моровинд,как и другие открытые игры/ПО-открытие не связано с продажами

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

тоесть «там» все слишком далеки от мира «ПК»/интернета/игр/свободы что даже не знают что это такое,только если указание сверху(от боса который делает план этому менеджеру)-придет указание сделать свободным проект XXX-менеджер погуглит что такое сделать свободным,наймет индусов под эту задачу-они и захостят проект на гитхабе
по этойже причине под игры не делают патчи-их просто некому делать,а нанимать целую команду под патч уже проданной игры-никто не будет

g1966464 ()
Ответ на: комментарий от mos

скажем, на U4E портировать

и всем выше почему не на другом/крутом движке:

UE4 несвободен и темболее формат карт UMAP в который надо все конвертировать-также не свободен,и в лицензии стоит четкий запрет на использование не своих ресурсов

тоесть теоретически можно сделать конвертер карт моровинда в umap,как отдельный проект,и отдельно-проект «демонстрация 3drpg на UE4» который может использовать сконвертированные карты от моровинда(тоесть проект-демка,и пользователь сам должен сконвертировать у себя на ПК чтоб играть в моровинд)

но что будет дальше-сам проект «демо 3дрпг» будет доступен всег на гитхабе,а вот проект конвертации «бесезда(Ц) в умап(Ц)» будет закрыт по обращению любой из сторон-так как нарушает обе лизензии,и где его хостить-на пиратбее? это не СПО-это порочный симбиоз какойто

про блендер-производительность ogre3d в десятки раз выше блендера,и блендер также требует конвертации ресурсов-что запрещено

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

прибыль и открытие не как не связаны

Исходя из этого, получается, что корпорация зла вполне себе может открыть исходные тексты office, а адоб своего фотошопа без ущерба для прибыли?

нанимать целую команду под патч уже проданной игры-никто не будет

Например близзард.

тоесть «там» все слишком далеки от мира «ПК»/интернета/игр/свободы

Опять же не везде, но я, пожалуй, соглашусь, что это может быть одной из причин. Спасибо, Ваше мнение очень важно для нас.

А есть ещё мысли?

anonymous ()

Круто, быстро они.
ps новость прочитать не осилил

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

А теперь прочти тот кусок внимательно. OSG без всего обогнал Огра без всего. И ожидается что OSG со всем так-же обгонит Огра со всем.
Ну а оптимизаций OSG вообще ещё не было.

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