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

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'а и других пользователей.

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

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

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

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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

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

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...