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

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
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

UnPinned posts

Кстати, ребят. NVIDIA официально открыла исходный код PhysX. Не знаю, как сама новость, но надеюсь эту технологию добавят в OpenMW :)

А как там у карт от AMD и Intel дела с PhysX?

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

А как там у карт от AMD и Intel дела с PhysX?

Процы от Intel физику PhysX не обрабатывает, зато AMD с физикой PhysX справляется очень даже хорошо, но только путём через Hybrid PhysX. Ванильный PhysX на AMD блочится (конкуренция и всё такое, думаю ни для кого не секрет). Учитывая теперешнюю опенсорсность и свободную лицензию, расчет на OpenCL для владельцев карт AMD лишь вопрос времени. 

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

С 2 декабря:
 
Андрей:

  • Пофикшено много анимационных регрессий в 0.45.0

я:

  • Фиксы регрессий в 0.46.0
  • Слегка почищен esmtool
  • Поля освещения интерьерных ячеек в редакторе отображаются, как цвета
  • Актёры, для которых коллизии отключены (например, для игрока после TCL), больше не считаются и впрямь левитирующими, что позволяет им в воздухе бегать и красться
  • Добавлена кнопка обращения движения камеры по горизонтальной оси -- не переведена, потому что в Морровинде есть только обращение по вертикальной оси. Работает и на мыши, и на контроллере.

mp3butcher:

  • Правки инклюдов для правильной работы Qt moc
  • Исправлено мерцание при использовании одной из опций OSG
  • В связи с этим поломаны сохранения в основном в экстерьерах, сама эта проблема решаться решительно не хочет

AnyOldName3:

  • Теперь можно собирать OpenMW для винды в основном без бубнов под NMake, а не только Visual Studio

Лимб:
Андрей:

  • Бесплагиновые анимированные контейнеры; в анимациях моделей контейнеров автоматически подбираются анимации containeropen, containerclose и loot. loot открывает окно лута до того, как анимация завершится, сама анимация открытия продолжает проигрываться даже в паузе, если она прерывается анимацией закрытия, последняя начинает проигрываться с момента, обратного моменту прекращения анимации закрытия. По ссылке есть сборка под Windows и пример мода.
  • Многопоточная физика; требуется специальная сборка Bullet с включенным флагом многопоточности, даёт очень заметный прирост в производительности физики, но, к сожалению, меньшую стабильность.
  • Нативный гербализм; работает за счет наличия в нодах модели NiStringExtraData с значением HBN (как 2 вариант в соседней теме), эти ноды будут скрыты, если собрать содержимое контейнера, а само содержимое контейнера полностью будет перенесено в инвентарь с специальным сообщением. Пустые изначально контейнеры согласно выбранной опции могут либо выглядеть как несобранные, либо как собранные. PR пока не создавался и сборки нет, но там всё клёво.
  • Размер шрифта не для каждого виджета заново читается, а только один раз при запуске читается и сохраняется для переиспользования.

elsid:

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

sthalik:

  • Возможность нормальной работы командной строки, если запускать из неё OpenMW на винде (сейчас вывода в командную строку не происходит вовсе на сборках в режиме Release)
  • В работе что-то, что делает неочевидным факт того, что рендеринг и туман ограничены плоскостью на расстоянии рендеринга перед игроком, а не окружностью с радиусом расстояния рендеринга

я:

  • Заскриптованные предметы не стакуются. AddItem не будет делать стаки из заскриптованных предметов (это отдельная проблема). Беда со стакованием заскриптованных предметов в том, что состояние у них совершенно необязательно одинаковое, и скрипты часто могут из-за этого ломаться. В Морровинде они не стакуются вообще, обходя эту проблему. Предлагается в будущем подумать, как можно объединять в один стак предметы с одинаковым состоянием.
  • Как в Морровинде, применяется сопротивление урону от оружия дального боя, только если и лук/арбалет, и стрелы/болты являются обычным оружием (не магическим, не серебряным, не зачарованным (или если отключена опция, делающая зачарованное оружие магическим). Раньше из-за того, что технически оружие, причиняющее урон -- это снаряд, при использовании всяких даэдрических луков всякая нечисть бодро игнорировала урон обычных стрел, что бесило игроков.
  • Из модели, назначенной на NPC, теперь используются не только анимации, но и скелет (что вроде бы логично). Он до этого всегда автоопределялся, что ломало некоторые такие модели.
  • Анимации режима скрытности и плавания теперь не прерываются в состоянии готовности к атаке. Сброс идла скрытности приводил к невозможности использовать навык скрытности от первого лица, будучи неподвижным и готовым выстрелить в кого-нибудь (индикатор скрытности не отображался и навык не продвигался). Побочный эффект, который и в Морровинде есть: когда персонаж взвешивает оружие, атака не прерывает эту анимацию. Не баг, а фича™.

AnyOldName3:

  • Да, тени продолжают мучительно делаться. В основном близки к тому, чтобы попасть в 0.46.0.
Ссылка на комментарий
Поделиться на другие сайты

  • В работе что-то, что делает неочевидным факт того, что рендеринг и туман ограничены плоскостью на расстоянии рендеринга перед игроком, а не окружностью с радиусом расстояния рендеринга


А нельзя просто сделать окружностью?

 

 


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


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

Но ведь это логичное поведение...

Обмусоливалось подобное уже не раз.

Что для одного - логичное поведение, то для другого - баг, т.к. отличается от того, что есть в Морровинде.

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

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

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

баг, т.к. отличается от того, что есть в Морровинде.

Но ведь это бессмыслица.

Баги Дагота Ура починили? Или сломали обратно, как в Морровинде? Почему кто-то занимается физикой, если в Морровинде её не было? Поиск пути неписями будет лучше, чем в Морровинде, или таким же багнутым?

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

А нельзя просто сделать окружностью?

Просто -- нельзя.

 

 

но мы не можем добавлять опции на каждый чих - таких моментов сотни.

Именно. Сейчас нельзя просто взять и добавить опцию — её нужно документировать и по возможности добавить куда-нибудь в немедленную близость от пользователя.

 

 

Но ведь это бессмыслица.

Бессмыслица бессмыслицей, но но на осознанный выбор в дизайне смахивает.

 

Баги Дагота Ура починили? Или сломали обратно, как в Морровинде?

Если имеется в виду поломанный скрипт пепельных вампиров, то нерабочий на Дагот Уре ModDynamic всё так же захардкожен, чтобы тот не умирал. После 1.0 поведение станет GMST по задумке Zini.

 

Почему кто-то занимается физикой, если в Морровинде её не было?

Примитивная, но ещё как была, и её ещё потрудиться надо скопировать.

 

Поиск пути неписями будет лучше, чем в Морровинде, или таким же багнутым?

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

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

Почему кто-то занимается физикой, если в Морровинде её не было?

Что значит "не было"? Коллизии для персонажей обрабатываются, гравитация для них работает. 

В OpenMW примерно то же самое. Сейчас там основные жалобы на:

1. Производительность физики (которая сейчас работает в основном потоке).

2. Недостаточно хорошее воспроизведение косяков родной Морровиндовской физики, которые широко используют моды.

 

Поиск пути неписями будет лучше, чем в Морровинде, или таким же багнутым?

Навмеши отключаемые, а базовый вариант (на основе путевых точек) будет примерно такой же.

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

15 лет делать OpenMW, а потом 15 лет править бережно перенесённые баги оригинальной игры. Nuff said. Внуки поиграют. Зато как через 15 лет расцветёт моддинг для Морровинда! Авось, кто-нибудь даже починит дистанцию рендера в виде плоскости.

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

15 лет делать OpenMW, а потом 15 лет править бережно перенесённые баги оригинальной игры.

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

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

И я лично сомневаюсь, что баги "бережно переносят" для того, чтобы их править.

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

15 лет пилить MW, а потом 15 лет править бережно перенесённые баги оригинальной игры. Nuff said. Внуки поиграют. Зато как через 15 лет расцветёт моддинг для Морровинда! Авось, кто-нибудь даже починит дистанцию рендера в виде плоскости.

Да, Фуллрест к тому времени точно помрет и придется все плаги заново переводить, зато внукам будет чем заняться XD

 

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

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

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

Эмм. Но ведь это реально тупо и нелогично. Лук может быть какой угодно, а стрелы извольте подбирать под конкретную цель. Аналогично если разжился даэдрическим/артефактным луком, то это не значит что можно хитиновыми стрелами выносить направо и налево иммунных к нормальному оружию.

 

Поднимите этот вопрос на обсуждение еще раз.

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

Эмм. Но ведь это реально тупо и нелогично. Лук может быть какой угодно, а стрелы извольте подбирать под конкретную цель. Аналогично если разжился даэдрическим/артефактным луком, то это не значит что можно хитиновыми стрелами выносить направо и налево иммунных к нормальному оружию.

Поднимите этот вопрос на обсуждение еще раз.

У луков по-моему самая сложно прописанная боевка. Я до сих пор не понимаю, как там высчитывается урон и вообще зачем стрелам урон. Я бы сделал совсем маленькую разницу между уроном стрел, но поднял бы дорогим прочность, чтобы их чаще можно было снять с трупа, ну и собственно урон по нежити/нормальный урон.
Ссылка на комментарий
Поделиться на другие сайты

Я до сих пор не понимаю, как там высчитывается урон и вообще зачем стрелам урон.

Урон оружия складывается с уроном снаряда и ко всему этому применяется бонус силы.

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

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

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

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

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

Это ДиректИксовский косяк. Учитывая, что в ОпенМВ ДиректИкс не нужен, подозреваю, что и проблемы этой быть не должно.

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

Ограничение на 8 источников света, действующих на одну вершину/фрагмент, всё ещё существует, потому что рендерер -- простой forward, и сцена для каждого источника света перерисовывается заново. Если кто-нибудь шибко умный завезет forward-plus или отложенное освещение, заживём.

 

Вообще оно старательно обходится выставлением приоритетов каждому источнику света, так что дело выглядит немного получше, чем в сыром OpenGL/OSG.

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

OpenMW обзавелся "родной" поддержкой анимированных контейнеров (без скриптов, редактирования записей контейнеров и т.д.).

Дело ограничивается только моделями, звуками анимациями.

Пример мода, использующего эту фичу: https://www.nexusmods.com/morrowind/mods/46232

Правда, в этом моде надо по-хорошему RootCollisionNode в модели добавить, но я не моделлер.

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

С 12 декабря:

 

sthalik:

  • Починен вывод в командную строку при запуске из-под неё

terrabyte25:

  • Переключение режима бега/хождения на всякий случай проверяет, что игрок не вводит никакой текст (обычно это не нужно, но некоторые нестандартные окна типа чата в TES3MP не считаются режимом интерфейса)

Андрей:

  • См. пост повыше

я:

  • Идлы плавания и стелса больше не сбрасываются в режиме от первого лица при замахе для атаки -- хотя это обходило проблему, существующую в оригинале, это ломало состояние скрытности
  • Несколько полей в редакторе, предназначенных для 8-битных значений, больше не могут переполниться из-за ввода значения большего, чем 255 или меньшего, чем 0. Несколько полей, которые представляют проценты чего-то, проверяются в верификаторе на то, что этот шанс не больше 100%, а иначе логируется предупреждение.

AnyOldName3:

  • Исправлена сборка под CMake 3.13
  • Переисправлена проблема с анимациями актёров, возникающая на OSG 3.6.x при использовании VAO
Изменено пользователем Capostrophic
Ссылка на комментарий
Поделиться на другие сайты

Так что с луками? Оставили как в Морровинде или сделали по уму/логике?

По чьему уму и какой логике? Все как в Моррке.

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

По чьему уму и какой логике? Все как в Моррке.

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

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

Это уже дикая вкусовщина и в движок это тащить бессмысленно.

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

По чьему уму и какой логике? Все как в Моррке.

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

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

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

:facepalm2: 

Я уже раз пять про это выше в теме писал.

Это прикольно, но перерисовывать анимации никому нафиг не надо.

Один CemKey пытался, но у него там какие-то проблемы с анимациями от первого лица были, и на этом все заглохло.

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

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

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



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

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