Перейти к содержанию

Broken von Skull

Граждане
  • Постов

    762
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Broken von Skull

  1. Broken von Skull, а как в опенМВ обстоит дело с ИИ и управлением персонажем? Я вот о чем. Как я понимаю, это же не зашито в мастер-файлы Морки, это же писалось опенМВ-командой? То есть ребята воссоздавали типы ударов, всю механику...?

    Правильно понимаете. Вся механика воссоздавалась путем экспериментов и обратной разработки формул. OpenMW подцепляет из файлов Морровинда только модели, звуки\музыку, инфу об оружии/доспехах/заклинаниях, скрипты, диалоги и анимацию.

  2. Scrawl, для теста, сделал бенчмарк: рендеринг 100 копий вот такого дерева на OSG и Ogre3D. Это простая статичная модель, использующая вершинные цвета и альфа блендинг.

     

    http://s7.hostingkartinok.com/uploads/images/2015/02/81ab29c69aac59a533b6940ba6677927.jpg

     

    Ogre3D постоянно нагружал одно ядро CPU на 100%. OSG же распределил нагрузку на 4 ядра (22%).

     

    Ogre, StaticGeometry: 8 FPS

    Ogre, Entities: 5 FPS

    OSG: 24 FPS

     

    Вот такие дела.

  3. При нынешней работоспособности команды OpenMW переход на OSG должен пройти безболезненно. Проект уже матёрый, разработчики опытные, понимают все плюсы и минусы подобных свершений. Тем более, новый графический движок просто необходим.

     

    Я про нынешнее состоянее спрашиваю. А то во времена DX9-11 было впечатление, что мелкософтовая поделка GL задавливает, но, говорят, нынче мобилки и лично Valve положение выправили, а я сам за этим рынком давно уж не следил.

     

    В плане игр, на коне и сейчас восседает Windows. В абсолютном большинстве крупных проектов поддерживается только DirectX, разработчикам привычнее видимо. На откуп OpenGL оставили только мобилки и Linux. Хотя производительность графики на том же уровне, что и у DirectX.

    Кстати, в последнее время несколько ААА-игр переехали на Linux (под крыло OpenGL). Взять к примеру, Metro 2033, Chivalry Medieval Warfare, Star Citizen, Project Cars, Dying Light, Bioshock Infinite, серия Total War.

    Так что, перспективы у OpenGL есть.

  4. Перевод обширного поста о переходе на OSG. Можно даже в шапку темы добавить. ;)

     

    Ogre3D - это движок рендеринга, используемый OpenMW с самого первого релиза. Теперь же, команда OpenMW спешит сообщить о переходе на другую технологию.

     

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

     

    Тем не менее, чтобы отполировать OpenMW и добавить некоторые недостающие функции, нам предстояло либо изрядно переработать Ogre3D, либо переключиться на другой, более подходящий, движок. После оживленных дискуссий, мы выбрали второй вариант.

     

    Зачем это нужно?

     

    Здесь нет какого-то одного камня преткновения, скорее целое скопление разных факторов.

     

    Больше всего релизу версии 1.0 мешает низкая производительность по сравнению с ванильным Морровиндом. В корне этой проблемы лежат "узкие места" управления сценой и API визуализации в ветке Ogre3D 1.x, которые обещали поправить в ветке 2.х. Первоначально мы хотели портировать OpenMW на Ogre3D 2.x, что было бы непростой задачей из-за изменений в программном интерфейсе. К тому же, существуют некоторые сомнения по этому поводу:

    • Tag points: В Ogre3D мы пользовались функцией “Tag Points”, чтобы сшить воедино разные части сегментированных тел Морровинда. В ветке 2.х эта функция теперь недоступна, и нам пришлось бы внедрять собственное комплексное решение.

    • Требование OpenGL3: Ветка 2.х больше не поддерживает OpenGL2. Мы конечно понимаем, что OpenMW разрабатывается не для компьютеров, которые запускали Морровинд в 2002 году, но всё же еще рано бросать поддержку OpenGL2. Тем более, это повлияет на некоторых наших пользователей.

    • Система материалов: Ogre3D 2.х предлагает переработанную систему материалов, написанную с AZDO (Approaching Zero Driver Overhead) оптимизациями, что усложнит создание оригинальных материалов. Мы собираемся активно использовать подобные материалы, особенно в пользовательских модификациях, так что нам нужна более гибкая и понятная система.

    Наряду с вышеперечисленными сомнениями по поводу Ogre3D 2.х, у нас есть и другие давние проблемы:

    • Система ресурсов: Ogre3D принуждает использовать глобальный менеджер ресурсов, но нам нужен один менеджер ресурсов на один файл в OpenCS. Другая проблема в том, что сейчас у всех ресурсов должно быть уникальное имя, что ведет к дополнительной лишней работе с нашей стороны, и может привести к конфликту пользовательских и внутренних ресурсов. В 2013 году команда Ogre3D затеяла редизайн системы ресурсов, но эта работа до сих пор не завершена.

    • Поддержка стенсилей материалами: В формате NIF, используемом Морровиндом, могут указываться "стенсильные настройки", но база материалов Ogre3D их не поддерживает.

    • Масштабирование NPC в ширину: NPC в Морровинде имеют настройку ширины, которая масштабирует их по оси Х. OpenMW на данный момент это игнорирует, так как система скелета в Ogre3D 1.x не поддерживает неравномерное масштабирование.

    Новый движок

     

    В свете всех этих проблем, мы нашли альтернативу в лице OpenSceneGraph, который прекрасно подходит под наши нужды и обладает высокой производительностью. Мы убедились, что все нужные нам функции есть в исходниках OSG или могут быть добавлены плагинами. Развернутый и постоянно обновляемый роудмап порта будет выложен в ближайшее время, так что вы сможете следить за прогрессом.

     

    Самая заметная разница между Ogre3D и OSG в том, что OSG поддерживает только OpenGL. В Ogre3D встроена поддержка как OpenGL, так и DirectX, что является его значительным плюсом. В идеальном мире, это дало бы пользователям свободный выбор, не требующий усилий команды OpenMW. Но реальность оказалась суровее: шейдеры нельзя писать единым способом для двух систем рендеринга.

    В дополнение к этому, в OpenMW есть некоторые баги, которые проявляются только при использовании DirectX. Так что, мы даже рады этим изменениям, ведь у нас не так много людей, чтобы поддерживать и OpenGL, и DirectX. Да и большинство наших разработчиков пользуются Linux и не могут протестировать OpenMW в связке с DirectХ.

     

    Упреждающий FAQ

     

    Как много времени займет переход?

     

    Хорошие новости в том, что Ogre3D отвечает лишь за рендеринг. Код OpenMW структурирован при помощи разных подсистем, и изменения коснутся лишь подсистемы “mwrender”. Для справки - код рендеринга занимает 8% от всего кода.

     

    Что случится с OpenMW, использующим Ogre3D? Дальнейшая разработка, поддержка/багофиксы, полное забвение?

     

    Разработка OpenMW с Ogre3D (с багофиксами и новыми функциями) продолжится до тех пор, пока мы не закончим порт на OSG. Мы знаем, что у OpenMW уже есть крупная пользовательская база, и для нас важно её поддерживать.

     

    Что насчет различных операционных систем (Linux, Windows, Mac OS X, Android)?

     

    Мы по прежнему продолжим их поддержку.

     

    Галерея на сайте OpenSceneGraph совсем не впечатляет. Раз этот движок такой крутой, почему на нем нету хороших игр?

     

    По функционалу OpenSceneGraph настолько же мощен (в некоторых аспектах, даже мощнее), как Ogre3D. Поэтому нас удивил тот факт, что на нем сделано так мало игр. Основатель OSG Роберт Осфилд предлагает свою теорию по этому поводу:

     

    "Что касается сравнения Ogre и OSG в игровом плане, тут многое связано с корнями каждого из проектов и с культурой, которая росла вокруг них. OSG зародился в мире визуальной симуляции, со временем став универсальной графической библиотекой. Его сообщество пришло из профессиональных симуляторов, широкомасштабных визуализаций, виртуальной реальности и научных проектов. Ogre же изначально создавался для игр, и хотя часто используется для других целей, именно игры - его главное предназначение."

     

    Меня беспокоит прекращение поддержки Direct3D, так как с ним я получал больший fps, чем с OpenGL.

     

    Мы в курсе разницы в производительности и знаем, что это связано со слабой реализацией OpenGL в Ogre3D 1.x. Valve продемонстрировала, что правильный OpenGL рендеринг может быть столь же быстр, как Direct3D, а иногда даже быстрее.

     

    Заключительное "спасибо"

     

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

     

    Хотим сказать спасибо всей команде Ogre3D за их замечательную работу, всем участникам форума Ogre3D за их поддержку и вдохновение. Особая благодарность Kojack’у за помощь в устранении проблемы с DDS текстурами.

  5. Хм. Пардон, я не разбираюсь в платформах. Насколько трудоемок переезд?

     

    Переезд, по словам Scrawl'а, "потребует гораздо больше работы, чем обновление до Ogre 2.0, но и эффект от этого будет значительнее". Причем, сей ритуал в планах до релиза 1.0.

  6. Вкратце, чем они друг от друга отличаются, и чем OpenMW приглянулся последний?

     

    Команда OpenMW была не особо довольна Ogre 1.x из-за отсутствия некоторых функций и невысокой производительности. Ждали релиза Ogre 2.х, который показался на горизонте в этом месяце, но он несколько разочаровал.

    Нужные функции так и остались за бортом, новая система материалов стала менее удобной и променяла гибкость на скорость, OpenGL рендеринг по прежнему слабо оптимизирован. Вдобавок, разработчики Огра теперь распылилась на несколько версий (1.10, 2.0, 2.1), что тоже минус.

     

    OpenSceneGraph - довольно быстрый, работает чисто на OpenGL и имеет нужный функционал (и даже больше).

  7. а смысл его запускать, без плагинов не торт ежели?!

     

    вот не понимаю зачем игроки тестят беты..

    Плагины вообще то работают. :)

     

    Дабы отписываться о багах разработчикам. Это ж не Беседка, у них нет штата тестеров.

  8. Скайвинд это Скайвинд) Если в ОпенМВ запихнуть модели из Скайвинда, он останется ОпенМВ)

    Скайвинд побудет какое-то время актуальным, но потом ОпенМВ вырвется вперед, точно. Доведенный до ума движок плюс отличные ресурсы Скайвинда - на выходе будет лютейший вин.

    Любопытный пост про Скайвинд и ОпенМВ - http://tesrenewal.com/comment/36211#comment-36211

  9. Тоже думаю, что в этом году уже отрелизятся. Эх, а потом пойдут улучшения))) Прикрутят дистенд лэнд, всякие шейдеры, оптимизируют динамические тени, сделают обалденную водичку, всякие паралакс-шмаралакс эффекты, кинематографичную камеру от третьего лица, супер-пупер боевку, супер-пупер анимации... Ух, просто слюни текут. Куда там Скайвинду с его ограниченным функционалом)

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

×
×
  • Создать...