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

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

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

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

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

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

UnPinned posts

Как это пофиг? Постоянно развиваемый интсрументарий ой как не повредит Morrowind'у.

не, ну то само собой

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

похоже, что уже можно

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

на плюсах.

да, это ощутимо сложнее скриптов в КСе

Ну кому как, мне плюсы намного проще кажутся :).

 

А так двиг достаточно гибкий чтобы из него сделать новую игру уже сейчас.

У OpenMW очень удобный менеджер AI пакетов и легко вводить новые функции в скрипты.

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

Ну кому как, мне плюсы намного проще кажутся :).

 

А так двиг достаточно гибкий чтобы из него сделать новую игру уже сейчас.

У OpenMW очень удобный менеджер AI пакетов и легко вводить новые функции в скрипты.

круто)

надеюсь, на Фуллресте соберем команду свою имеющих писать на плюсах, дабы делать интересные вещи с опенМВ

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

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

Нашёл кое-что занятно-забавное, вероятно, мало кто знает.

 

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

Но в OpenMW использовать скрипты для этого стало возможно, следовательно, и скрипты начали работать, но обнаружилось вот что: при смерти достаточного количества пепельных вампиров от рук игрока Дагот Ур появлялся уже в виде хладного трупа (ну или по крайней мере никак не появлялся, анимации у него на то нет), потому что его максимальное здоровье становилось отрицательным. Так что в коде OpenMW для исправления этого абсурда Дагот Ур специально игнорируется (прямо по ID) при исполнении подобных скриптов.

 

А ещё год назад был обнаружен и исправлен баг, из-за которого Сердце Лорхана при ударе по нему... медленно подплывало к персонажу игрока, чтобы отомстить.

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

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

О втором не знал. Было бы эффектнее, если бы от удара по сердцу перезагружался компьютер.

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

Так что в коде OpenMW для исправления этого абсурда Дагот Ур специально игнорируется (прямо по ID) при исполнении подобных скриптов.

Вот ведь костыль как костыль, я разочарован.

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

Zini пишет, что при текущей скорости разработки версия 0.39.0 должна выйти в марте-апреле. Кроме того, он оставил любопытную краткую заметку по выходе 1.0:

[...] a few words about OpenMW 1.0

 

There have been a few question about when we will jump to the 1.0 version number. As you can see on the bug tracker there are still a few minor features missing (or at least parts of features). That needs to be taken care of. We also still have a large number of bugs. We should strive to fix all or at least all but the most obscure/insignificant ones before we release OpenMW 1.0

 

I would prefer to release OpenMW 1.0 and OpenMW-CS 1.0 at the same time, because that would save us a sizeable amount of work. However if OpenMW reaches the state described above, we will go ahead with the release anyway.

 

То есть если OpenMW будет допилен, а тулсет к нему — нет, будет OpenMW 1.0 и OpenMW-CS, к примеру, 0.42.0. Интересно.

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

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

 

А ещё год назад был обнаружен и исправлен баг, из-за которого Сердце Лорхана при ударе по нему... медленно подплывало к персонажу игрока, чтобы отомстить.

ИМХО, изящным решением было бы прилагать к OpenMW активированный по умолчанию openmwcompatibilitypatch.esp, повышающий здоровье ДаготУра до корректного уровня или правящий соответствующие скрипты, ну да ладно )

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

За последние пару дней scrawl залил пачку фиксов — например, баг, из-за которого моды типа MCA, Starfire's NPC Additions и Travellers от Dest делали игру при её большой продолжительности неюзабельной, наконец был поправлен, а пятнадцать минут назад была исправлена ошибка в загрузке анимаций NPC — теперь они будут подгружаться из любой папки, а не только из корня meshes, и Animated Morrowind заработает.
Ссылка на комментарий
Поделиться на другие сайты

За последние пару дней scrawl залил пачку фиксов — например, баг, из-за которого моды типа MCA, Starfire's NPC Additions и Travellers от Dest делали игру при её большой продолжительности неюзабельной
Это баг на оригинальной версии или только на OpenMW?
Ссылка на комментарий
Поделиться на другие сайты

Это баг на оригинальной версии или только на OpenMW?

Только на OpenMW — список команд ИИ неписей переполняется при частом его использовании, так как записи не стираются. Львиная доля багов, присущих и OpenMW, и оригиналу, отложена на 1.0 — то есть относительно недалёкое будущее, в отличие от openmw-future.

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

Тэг на багтрекере, обозначающий задачи, отложенные на неопределённый срок.

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

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

 

UPD: она теперь некоторое время как прибыла (впрочем, некоторые подтормаживания всё-таки есть), а кроме того, сегодня наконец была перепилена физика и характерных подрагиваний при повороте и перемещении камеры (при беге в бок, например) не будет. Практически. Используемый метод таки не беспроблемный.

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

  • 2 недели спустя...
Свершилось, господа. У scrawl'а дошли руки до карт нормалей и попиксельного освещения, и они в скором времени будут добавлены в основной репозиторий, как и шейдеры объектов и переработка системы шейдеров (кроме шейдера воды, он отдельный) вообще. Но теней пока нет, увы.
Ссылка на комментарий
Поделиться на другие сайты

Свершилось, господа. У scrawl'а дошли руки до карт нормалей и попиксельного освещения, и они в скором времени будут добавлены в основной репозиторий, как и шейдеры объектов и переработка системы шейдеров (кроме шейдера воды, он отдельный) вообще. Но теней пока нет, увы.

В MGE уже PBR завезли и в планах DX11, а OpenMW аж на бампмапы покусился. Как говорил один мой знакомый: "БАГАТО"

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

Так и цели у проектов разные. По крайней мере пока.

И поддержка карт нормалей была же, или это вновь прикрученное после смены графического движка?

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

Так и цели у проектов разные. По крайней мере пока.

И поддержка карт нормалей была же, или это вновь прикрученное после смены графического движка?

Была, на неё у OpenMW PeterBitt и пилил никс-гончую. Но теперь да, они ре-реализованы. Практически.

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

scrawl час назад сделал включаемое автодетектирование карт нормалей, основанное на суффиксе (конфигурируемом, по умолчанию _n) в имени файла. Вчера он сделал шейдеры для ландшафта (теперь весь новый старый графоний будет применяться и к земле), и он собирается написать поддержку спекулярных карт.

 

На вопрос одного из посетителей форума OpenMW (ну как сказать, посетителя, вопрошающий был в "команде OpenMW") об уточнении возможности добавления PBR он (scrawl) ответил, что PBR может быть шейдером и написанным, не требуя изменений в самом движке. На вопрос, комбинацией ли шейдеров либо одним шейдером должен он быть, ответа пока дано не было.

 

Я, кстати, провтыкал его пост-анонс. Там есть несколько примеров работы новой системы.

 

До пулл реквеста его кода в основной репозиторий осталось сделать пару мелких фиксов и повысить производительность при использовании шейдеров объектов (сейчас падает на 40%, что всё равно в итоге будет производительнее, чем огровая версия с шейдерами, да, измеряется в попугаях). Свечение зачарованных объектов уже пофикшено, и, как я уже написал, шейдеры ландшафта тоже написаны.

 

UPD: Спекулярмаппинг есть, имеет тот же автодетект, что и карты нормалей (дефолтный суффикс _spec) и работает и для ландшафта, и для объектов.

UPD2: Осталось только написать в вики документацию по тому, как с этим работать.

 

Более подробное описание автодетектирования:

A feature that was requested before, but never implemented in the Ogre version (due to Ogre's resource queries being too slow), is having the game automatically use normal maps when they have an appropriate file name. This is now implemented. For example, for the color texture foo.dds, the game will automatically use foo_n.dds as a normal map (if it exists). The benefit is that you don't have to go around modifying (and distributing) all the .nif files / mesh files.
Запрашивалась раньше одна фича, так и нереализованная в огровой версии (из-за медленной работы запросов ресурсов в Огре), — автоматическое использование карт нормалей при условии наличия у их файла подходящего названия. Теперь она есть. Допустим, есть текстура цвета foo.dds; тогда игра будет использовать текстуру foo_n.dds как карту нормалей (если та существует). Плюс в том, что не нужно модифицировать (и распространять) каждый меш с этой текстурой.
Изменено пользователем Capostrophic
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

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

Войти

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

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

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