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

OpenMW или мечты иногда сбываются


MEZON

Рекомендуемые сообщения

Официальный сайт OpenMW
Страница загрузки
Ссылка на загрузку актуального билда для Win64 (обновляется ежедневно)
 
Баг-трекер

Wiki

Список задач до релиза 1.0

Репозиторий с исходным кодом на GitLab

Discord: OpenMW (в наличии русскоязычный канал)
IRC: #openmw на irc.freenode.net

Полезные ссылки:
Реестр популярных модов для OpenMW с гайдами по установке
Руководство по портированию ретекстуров в OpenMW
OpenMW на Youtube
OpenMW на GitLab
Диздоки планов развития после 1.0
 
Сторонние проекты, основанные на OpenMW:
TES3MP - реализация мультиплеера для OpenMW.

Тема OpenMW на 4PDA - здесь можно найти сборки OpenMW для Android 5+ и гайды по решению проблем.

OpenMW для VR - основан на OpenXR, готовые сборки (устаревшие) есть только для Windows.

Порт на Switch - к сожалению, в настоящее время им никто не занимается.

Что такое OpenMW?

 

OpenMW - это попытка воссоздать игровой движок для популярной RPG TES3 Morrowind, полноценную реализацию всех особенностей игры с открытым исходным кодом. Для того, чтобы вы имели более полное представление о проекте, вот ключевые особенности OpenMW:

  • Кроссплатформенность - запуск на Windows (7 или новее), Linux, MacOS X, Android (платформы x86 не поддерживаются).
  • Виртуальная файловая система, позволяющая устанавливать моды в отдельные директории, а не засорять Data Files.
  • Поддержка сжатых BSA-архивов для экономии места на диске.
  • Исправление ошибок системного проектирования: "грязные" GMST записи в плагинах, проблема "удвоения" в сейвах, лимит на 255 плагинов и т.д.
  • Улучшенный поиск пути - с помощью статического или динамического (на выбор) построения навигационной сетки на основе геометрии локаций (вместо использования вручную расставленных дизайнерами локаций маркеров).
  • Улучшение интерфейса (поддержка TrueType-шрифтов, масштабирования интерфейса и миникарты, поддержка текстур высокого разрешения для элементов интерфейса, редактирования разметки интерфейса с помощью XML-файлов, клавиатурной навигации, поворота камеры с помощью гироскопов и т.д.).
  • Улучшение графики (поддержка шейдеров постобработки, динамические тени от объектов, Distant Land (хоть и без генератора LOD-ов), анимированная трава, шейдер воды с поддержкой отражений в реальном времени, улучшенная система освещения без лимита в 8 источников света на объект, улучшенная система тумана и многое другое).
  • Улучшенная поддержка анимаций (возможность использовать отдельные файлы для отдельных групп анимаций, возможность добавлять кастомные кости в скелеты, возможность задать новые анимации для топоров, булав и кинжалов, поддержка анимаций открытия-закрытия контейнеров).
  • Начальная поддержка Lua-скриптов для расширения возможностей плагиностроения.
  • Поддержка ICU для локализации Lua-скриптов, шейдеров постобработки и элементов интерфейса.
  • Использование дополнительных ядер процессора для фоновых задач (например, для предварительной загрузки локаций для бесшовного перемещения по игровому миру или для обработки коллизий объектов).
  • Отсутствие лимита 4Гб на адресуемую процессом игры память из-за поддержки 64-битных архитектур.
  • Намного меньшее количество вылетов в сравнении с оригинальным движком.
  • Возможность модификации движка под свои нужды (например, довольно популярен TES3MP - форк OpenMW с поддержкой мультиплеера).

OpenMW выпущен под лицензией GPLv3, весь исходный код написан с нуля.

Нужен ли оригинальный Morrowind для OpenMW?

И да, и нет.

ДА. Прежде чем использовать OpenMW, вы должны легально приобрести и установить Morrowind на ваш компьютер. OpenMW воcпроизводит только техническую сторону игры, и не содержит в себе каких-то материалов, защищенных авторским правом. Используются только данные уже установленной игры, либо с установочных файлов с диска или цифровой копии игры.

НЕТ. OpenMW - самостоятельный игровой движок. Он может быть базой для тотальных конверсий, не использующих файлы Morrowind. В качестве примеров можно привести Robowind Construct и StarWind.

Каково текущее состояние проекта?

Статус

OpenMW уже находится в состоянии "бета": основные функции реализованы, идет работа по оптимизации и паритету с MGE и MWSE. Кроме этого есть ряд проблем, в основном с физикой и поддержкой модов, использующих баги и недокументированные возможности оригинального движка.
OpenMW играбелен (можно нормально пройти сюжет игры и аддонов, ветки гильдий и т.д.), хотя и местами уступает MGE в качестве графики, но выигрывает по стабильности, а на многих машинах и по производительности и скорости загрузки локаций.

Какие технологии вы используете?

OpenMW построен с использованием различных библиотек и инструментов с открытым исходным кодом:

  • Языки программирования: C++ (стандарт C++17 с частичной поддержкой C++20), GLSL, Lua
  • Графика: OpenSceneGraph
  • Физика: Bullet
  • Звук: OpenAL
  • Ввод-вывод: SDL2
  • Интерфейс: MyGUI
  • Поиск пути для ИИ: Recast & Detour

 
Я не программист, как я могу помочь проекту?

 

1. Можно просто играть и отсылать багрепорты

2. Можно тестировать разрабатываемый код, до того, как он попадёт в основную ветку. Там же можно вести обсуждение и предлагать изменения.

3. Можно тестировать моды. Основная цель - выявить проблемы с совместимостью.

4. Можно исследовать механики оригинального движка, особенно актуально в области тонкостей работы скриптов.

5. Можно обновлять Wiki.

6. PR тоже не помешает, особенно если он позволит привлечь тестировщиков и плагиностроителей.

7. Можно донатить разработчикам на Patreon'е:

  • psi29 — проджект лид, поможете закрыть траты на хостинг
  • Capostrophic — тысяча и один фикс + вагон фич
  • AnyOldName3 — тени в OpenMW
  • David Cernat — работа над TES3MP
Изменено пользователем akortunov
Ссылка на комментарий
Поделиться на другие сайты

  • 11 месяцев спустя...
  • Ответов 3.1 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

UnPinned posts

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

В 0.46, кстати, недавно добавилась возможность настроить, что отражать в воде со включенным шейдером. Если поставить "отражать только ландшафт", шейдер садит FPS намного меньше.

Также по сравнению с 0.44 добавилось несколько других оптимизаций (например, мы теперь не рисуем персонажей вне дистанции ИИ, еще был серьезно оптимизирован скиннинг).

Также потихоньку оптимизируем удаленный ландшафт, чтобы он с TR не тупил.

Изменено пользователем akortunov
Ссылка на комментарий
Поделиться на другие сайты

В 0.46, кстати, недавно добавилась возможность настроить, что отражать в воде со включенным шейдером. Если поставить "отражать только ландшафт", шейдер садит FPS намного меньше.

Также по сравнению с 0.44 добавилось несколько других оптимизаций (например, мы теперь не рисуем персонажей вне дистанции ИИ, еще был серьезно оптимизирован скиннинг).

Также потихоньку оптимизируем удаленный ландшафт, чтобы он с TR не тупил.

Замечательно. Ждём новый стабильный релиз.

Ссылка на комментарий
Поделиться на другие сайты

Так всё же, что для OpenMW более важнее? CPU или GPU? Сам имею на борту i7 3770 + amd radeon hd 5770. В интерьерах всё нормально, без проблем. В экстерьерах просадки вплоть до 10 фпс. Воду порезал, хоть и не полностью, растения есть (версия М[FR], openmw 0.46). Иными словами, переменная стабильность. 

Ссылка на комментарий
Поделиться на другие сайты

Так всё же, что для OpenMW более важнее? CPU или GPU? Сам имею на борту i7 3770 + amd radeon hd 5770. В интерьерах всё нормально, без проблем. В экстерьерах просадки вплоть до 10 фпс. Воду порезал, хоть и не полностью, растения есть (версия М[FR], openmw 0.46). Иными словами, переменная стабильность. 

CPU, моды с травой подключать не надо, увеличивать дистанцию обзора до неприличных значений тоже.

Ссылка на комментарий
Поделиться на другие сайты

Сразу дико извиняюсь, что немного не в той теме пишу, ладно с дистанцией понятно, порезать можно. А вот какой плагин из М[FR] отвечает за траву? И кстати, вопрос таков, чисто с технической точки зрения. Траву не вывозит сам движок или процессор?

Ссылка на комментарий
Поделиться на другие сайты

Сразу дико извиняюсь, что немного не в той теме пишу, ладно с дистанцией понятно, порезать можно. А вот какой плагин из М[FR] отвечает за траву? И кстати, вопрос таков, чисто с технической точки зрения. Траву не вывозит сам движок или процессор?

 

MFR_Grass_mod.esp

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

Изменено пользователем akortunov
Ссылка на комментарий
Поделиться на другие сайты

Опять же, интереса ради спрошу. Взять такие движки, как UnrealEngine, CryEngine, Unity и им подобные. В них ведь как-то реализована обработка таких крупных массивов, как флора. Может у них подглядеть, как это реализовывается. Тем более если есть опенсорс и документация к нему. Даже в таком древнем движке, как X-Ray Engine, фанаты сталкера умудрились, перелопатив движок, повысить стабильность и обработку большого кол-ва флоры. 

Ссылка на комментарий
Поделиться на другие сайты

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

Постраничная отрисовка + шейдеры. Сейчас этим просто некому заниматься, да и задача не приоритетная.

Ссылка на комментарий
Поделиться на другие сайты

Вот любопытно, исходники Gamebryo вообще могут быть полезны?

Только чтоб подсмотреть как там всё устроено. ;)

Ссылка на комментарий
Поделиться на другие сайты

Вот любопытно, исходники Gamebryo вообще могут быть полезны? Только чтоб подсмотреть как там всё устроено. ;)

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

Ссылка на комментарий
Поделиться на другие сайты

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

Ну китайцы пишут "Full Source Code", я не проверял, т.к. не разбираюсь.

В гугле легко находится.

Изменено пользователем Broken von Skull
Ссылка на комментарий
Поделиться на другие сайты

Я, кстати, таки обновил себе комплюктер.

Прекрасно бегается в 0.44 на Full HD, максимальной видимости, трилинейной фильтрации и 8кратной анизотропке с максимальными настройками шейдера воды и с включенной вертикальной синхронизацией (бесит разрыв изображения, когда её нет) на последней версии M[FR]. В интерьерах почти всегда в 60 кадров, когда нет кучи предметов. В экстерьерах между 20-60, т.е. есть просадки. Можно понизить графин и всё будет лучше, тот же шейдер воды почикать, например.

 

Раз уж мы говорим о железяках: смысла покупать 2400G немного, разве что непременно нужно встроенное видеоядро. Лучше, пожалуй, взять райзен1600 или докопить до 2600 и воткнуть туда твою старую видюху, а когда она совсем состарится, то обновить видеокарту.

 

upd. Ладн, таки подлагивает чутка. шейдер точно почикаю себе, чтобы было плавнее, когда соберусь играть в Морровинд на ОпенМВ

А, точно, это был ты!

У меня такая же ситуация, примерно. Следовательно, бодрячий ЦП не даёт особенного выигрыша в кадрах менять ничего не стоит. Вопрос прикрыт, всем выражаю сердечную признательность!

 

Собсно, в текущем конфиге меня приводили в задумчивость только ~30 кадров в районе Арены с открытым Вивеком при обзоре 7-10 тысяч.

Изменено пользователем raddimus
Ссылка на комментарий
Поделиться на другие сайты

С 10 марта:

 

Снова фиксы регрессий.

 

bzzt:

  • Генерация буферов вершин ландшафта должна проходить на 20% быстрее.
  • Формат цветов вершин соответствует вводу.
  • В RigGeometry убраны ненужные обратные вызовы.
  • Пустые ячейки отвергаются при генерации удаленного ландшафта, но пустые ячейки вокруг игрока все равно будут загружаться. Сильно сокращает использование памяти удаленным ландшафтом, поведение примерно как в 0.43.0 и раньше (но там пустые ячейки не отображались вообще при использовании удаленного ландшафта). SHOTN и PC снова играбельны при использовании удаленного ландшафта.
  • Ландшафт за пределами расстояния прорисовки не загружается, что опять же сильно сокращает использование памяти.

я:

  • В сборках с статически связанным OSG включен плагин OSG для FreeType, чтобы всегда шрифт в профилировщике выглядел корректно на Linux и macOS независимо от происхождения сборки.
  • В консоли можно напрямую модифицировать переменные выбранного объекта. В выводе showvars для объектов без скриптов убран лишний пробел.
  • Используемая версия SDL логируется.
  • Правки оптимизатора портированы из эквивалента в нынешнем OSG.
  • Слайдеры поля зрения, расстояния прорисовки, расстояния обработки актёров и сложности сохраняют целочисленные значения. Поправлен цвет подписи к слайдеру анизотропной фильтрации, он теперь совпадает с другими подписями. Стрелки у этого слайдера теперь по одному делению за раз проходят, а не от 1 до 16 и обратно. У расстояний обработки актёров и прорисовки показываются значения.
  • Большую часть возможных к порту правок из форка OpenMW/OSG портировал в OSG 3.6.4. Правда, переход на 3.6.4 со стороны опенмв пока сомнителен.
  • Музыка в главном меню зациклена (но только если не был совершен обход главному меню или какой-либо ещё возврат к нему).
  • К вышеуказанным оптимизациям ландшафта добавлен обход проблемы отсутствующего ландшафта из-за того, что расстояние прорисовки ландшафта — радиус, а расстояние прорисовки — расстояние до линии от камеры, на которой прорисовка прекращается, при высоких FOV.

elsid:

  • Много улучшений навмешей и фиксов мелких технических недочетов

Андрей:

  • При совпадении индекса и ID текстуры из более новых записей ландшафтных текстур будут заменять текстуры старых.
  • На неоткрытых окнах при использовании Qt5 больше не обмениваются буферы, приводя к предупреждению.
  • Вышеуказанные оптимизации ландшафта и множитель расстояния прорисовки доведены до ума.
  • FOV ограничен значениями от 1 до 179.

AnyOldName3:

  • Блеск объектов был случайно захардкожен scrawl'ом, когда он реализовывал спекулярные карты, и в итоге в Вестли какие-то головы оказались слишком блестящие из-за наличия NiSpecularProperty, а канал блеска в спекулярных картах попросту не работал. Теперь вместо 128 используется нужный параметр.

unelsson:

  • Из таблицы экземпляров объектов в редакторе можно просматривать экстерьерные ячейки, в которых экземпляры объектов находятся.
Изменено пользователем Capostrophic
Ссылка на комментарий
Поделиться на другие сайты

Что такое регрессии?

Поднимали уже эту тему. Это баги, которых не было в предыдущем стабильном релизе. Обычно возникают в качестве побочного эффекта от решения других проблем.

Ссылка на комментарий
Поделиться на другие сайты

а это что такое?

OpenSceneGraph - графическая библиотека, которую OpenMW использует для отрисовки.

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

Насколько я помню, сборки под Windows используют скравловские патчи, на Linux это зависит от дистрибутива.

Ссылка на комментарий
Поделиться на другие сайты

Я как понял, scrawl ушёл с концами из проекта? 

К сожалению, да.

Хотя, судя по профилю на форуме, заходил 31 декабря 2018 года.

Ссылка на комментарий
Поделиться на другие сайты

На форуме OpenMW несколько раз обсуждалась тема финансовой поддержки проекта через Bountysource и Patreon, но ни к чему конкретному это не привело.

 

Хотя многие были согласны (psi29a, scrawl), высказывались и сомнения об целесообразности "монетизации" открытого кода (Zini). Вдруг Беседка наедет и т.п.

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

 

А вот Bountysource, на мой взгляд, был бы полезнее. Вкратце о нём - тут.

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

Минусы - комиссия за вывод средств (и для бейкеров, и для разработчиков) - 10%, минимальная сумма пополнения - 5 долларов.

 

Хотелось бы узнать мнение akortunov'a, Capostrophic'а и других пользователей.

Ссылка на комментарий
Поделиться на другие сайты

Я бы с деньгами связываться здесь вообще не стал - меньше обманутых ожиданий у юзеров будет.

Тем более, что для "нужных, но нереализованных фич" нужны серьезные разработчики с кучей свободного времени, которых такими суммами один чёрт не привлечь.

Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Последние посетители   1 пользователь онлайн

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