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

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

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

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

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

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

UnPinned posts

1) Потому что если это отключить в основной ветке OpenMW, поднимется волна народного гнева. Она поднимается при попытке убрать практически любой ванильный эксплоит.

2) А в MCP щит/факел в инвентарь каждый раз убирается? Тоже не очень удобно. Теоретически, можно оставлять шит экипированным, но давать бонус к защите только тогда, когда он виден.

1) Потому что псы смердящие, багоюзеры и неуважаемые люди, но тут палка о двух концах, да

2) Берёшь в руки двуручное\лук – щит снимается, а не просто прячется, продолжая висеть экипированным и приносить бонус к защите. Но теоретически ванильное поведение можно объяснить тем, что щит за спину прячется и может блокировать часть ударов сзади. Код патч тем и хорош, что можно спокойно не включать эту опцию. Кстати, не помню с факелом\светильниками как вообще это работает. По идее тоже должны деэкипировываться при взятии двуручного в руки.

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

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

Хоспаде, сделать метательному оружию и всяким кинжалам троектратный бонус к урону и/или игнор брони из сника и ВНЕЗАПНО они становятся востребованными =) Заодно ниндзя можно отыгрывать.
Ссылка на комментарий
Поделиться на другие сайты

В задний проход им эту палку о двух концах. Поперёк.

Ну, в любом случае хорошим тоном считается сделать ванильное поведение объектов в игре, а все изменения - опциональными. Всех в Морре не устраивают разные вещи (вон, посмотрите сколько людей воет в теме MFR2.0 про любые изменения).

 

Так как, планируется в OpenMW что-то вроде лаунчера, где можно выбирать опции? Или придется каждый раз компилить Morrowind под себя? :)

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

Так как, планируется в OpenMW что-то вроде лаунчера, где можно выбирать опции? Или придется каждый раз компилить Morrowind под себя? :)
Вкладка в лаунчере уже есть. Другое дело, что никто не обирается добавлять сотни опций на каждый чих. Особенно это касается формул игровой механики. После 1.0 вообще хотят игровую механику вынести в скрипты, чтобы ее можно было изменять плагинами без изменения движка. Но для этого скриптовый язык серьезно допиливать придется, ну или тащить в OpenMW что-то типа Lua, как в TES3MP сделано.

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

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

1) Потому что псы смердящие, багоюзеры и неуважаемые люди, но тут палка о двух концах, да

2) Берёшь в руки двуручное\лук – щит снимается, а не просто прячется, продолжая висеть экипированным и приносить бонус к защите. Но теоретически ванильное поведение можно объяснить тем, что щит за спину прячется и может блокировать часть ударов сзади. Код патч тем и хорош, что можно спокойно не включать эту опцию. Кстати, не помню с факелом\светильниками как вообще это работает. По идее тоже должны деэкипировываться при взятии двуручного в руки.

 

Я в итоге отключил эту опцию. Именно потому, что не хочется лазить в инвентарь или занимать горячую клавишу чтобы экипировать щит обратно. Если бы он оставался экипирован но не давал защиты - да. Но остаются ещё магические эффекты. Их снимать или тоже оставлять?

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

Я в итоге отключил эту опцию. Именно потому, что не хочется лазить в инвентарь или занимать горячую клавишу чтобы экипировать щит обратно.
Именно поэтому в OpenMW оставлено, как есть. Факелы сейчас тоже экипировать заново не надо, в отличие от оригинальной игры.

 

Плюс в OpenMW найдено интересное поведение, уж не знаю, ведет ли себя Морровинд также.

При ударе случайно по персонажу выбирается предмет доспеха, который надо повредить. С вероятностью 5% это щит. Если он не экипирован вообще, то будет звук удара по телу и броня не повредится.

Если экипирован, то будет звук удара в соответствии с типом брони, и щит будет поврежден, даже если его нет в руках персонажа.

 

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

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

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

С 8 марта.

 

Thunderforge:

  • Убрано слово "интерьерная" из сообщения "ячейка не найдена", появляющемся при попытке вызова coc в несуществующую ячейку

scrawl:

  • Души несуществующих существ из камней душ удаляются при загрузке сохранения
  • Клавиатурную навигацию теперь можно отключить через settings.cfg — она не всем нравилась

Андрей:

  • Звуки перелистывания страниц не будут накладываться друг на друга
  • Ещё не объединено: NPC перестанут экипировать факелы во время дождя, снега, грозы, метели и моровой бури. Но не пепельной. Всё для соответствия оригинальному поведению.
  • Ещё не объединено: анимации магических эффектов типа щитов на персонаже будут добавляться заново при загрузке сейва, а не просто пропадать, причём, слава альмсиви, формат сохранений для этой фичи не изменялся.

я:

  • Из Morrowind.ini для погод и текста достаются цвета. Если таковые не нашлись, используется цвет "по умолчанию" — раньше он был чёрный. Теперь он серый (#808080). Так как в отечественном издании игры бладмуновские погоды поломаны и не имеют собственных секций в Morrowind.ini, теперь они будут "равномерно" серые, а не вообще темень, для большего соответствия оригинальному поведению (которое я вообще шармат знает какое, но не "обнуление" цветов). Добавил предупреждение, если движок что-то обычно импортируемое из Morrowind.ini не нашёл, дабы было понятно, что что-то всё-таки не так.

elsid:

  • Исправлена пара утечек памяти
  • Пара мелких технических фиксов, на пользователя не влияющих никак

Кроме того, elsid смог "пофиксить" систему поиска путей. То, что он вновь соорудил, судя по всему, пока ещё не очень стабильно и сильно повышает время загрузки ячеек из-за необходимости генерации новых навигационных мешей, но с этим разбираются. По крайней мере, scrawl в восторге.

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

То, что он вновь соорудил, судя по всему, пока ещё не очень стабильно и сильно повышает время загрузки ячеек из-за необходимости генерации новых навигационных мешей, но с этим разбираются. По крайней мере, scrawl в восторге.
Там проблема в том, что навмеши генерируются в основном потоке, а это может занять несколько секунд. В качестве решения предлагается генерировать их в отдельном потоке, а пока они не сгенерировались, использовать старую систему (pathgrid). Возможно, эту фичу придется сделать отключаемой, т.к. она может снизить производительность на слабых машинах, особенно это касается порта для Android.

Также пока эта фича не чинит AiWander (хотя это решаемо) и уклонение в бою (там вообще поиск пути не используется, персонаж тупо бежит назад или в сторону).

 

А во время дождя точно не экипировали?
Не экипировали, но не забываем про переходы между погодой - дождь реально мог еще идти, хотя движок считал, что уже ясно и персонажи доставали факелы. Я же проверяю реальное наличие осадков. Изменено пользователем akortunov
Ссылка на комментарий
Поделиться на другие сайты

Не экипировали, но не забываем про переходы между погодой - дождь реально мог еще идти, хотя движок считал, что уже ясно и персонажи доставали факелы. Я же проверяю реальное наличие осадков.
А, вот в чём дело. Кстати, насчёт пожеланий новых видов погоды (нетрудозатратных) писать в теме с "хотелками" или тут?
Ссылка на комментарий
Поделиться на другие сайты

Кстати, насчёт пожеланий новых видов погоды (нетрудозатратных) писать в теме с "хотелками" или тут?
Сейчас вся погода в код зашита. Разве что если кто-то ее потом настраиваемой сделает...
Ссылка на комментарий
Поделиться на другие сайты

Сейчас вся погода в код зашита. Разве что если кто-то ее потом настраиваемой сделает...

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

Пытаюсь расхардкодить закаты и рассветы в OpenMW: https://github.com/a...weathersettings

Вроде работает, но нужны эстеты для сравнения с оригинальной игрой, особенно с нестандартными настройками.

Есть здесь такие?

 

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

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

А что там не работало? У меня что на ветке master, что на weathersettings картина примерно одинаковая: восход вовремя, закат на два часа позже, чем прописано в конфиге (восход выставлял в 4, закат в 20). Только на weathersettings еще эффект странный: сияние от восходящего/заходящего солнца расходится не плавно, а как бы концентрическими кольцами. На ванильной игре не проверял, она у меня при запуске вылетает. Надо ее через playonlinux хоть попробовать поставить...
Ссылка на комментарий
Поделиться на другие сайты

А что там не работало?
Изменения погоды в зависимости от времени суток были зашиты и более-менее подогнаны под эффект при настройках по умолчанию.

Я добавил обработку этих настроек:

fallback=Weather_Sky_Pre-Sunrise_Time,.5
fallback=Weather_Sky_Post-Sunrise_Time,1
fallback=Weather_Sky_Pre-Sunset_Time,1.5
fallback=Weather_Sky_Post-Sunset_Time,.5
fallback=Weather_Ambient_Pre-Sunrise_Time,.5
fallback=Weather_Ambient_Post-Sunrise_Time,2
fallback=Weather_Ambient_Pre-Sunset_Time,1
fallback=Weather_Ambient_Post-Sunset_Time,1.25
fallback=Weather_Fog_Pre-Sunrise_Time,.5
fallback=Weather_Fog_Post-Sunrise_Time,1
fallback=Weather_Fog_Pre-Sunset_Time,2
fallback=Weather_Fog_Post-Sunset_Time,1
fallback=Weather_Sun_Pre-Sunrise_Time,0
fallback=Weather_Sun_Post-Sunrise_Time,0
fallback=Weather_Sun_Pre-Sunset_Time,1
fallback=Weather_Sun_Post-Sunset_Time,1.25
fallback=Weather_Stars_Post-Sunset_Start,1
fallback=Weather_Stars_Pre-Sunrise_Finish,2
fallback=Weather_Stars_Fading_Duration,2

Они работают в комплексе с настройками времени заката и восхода и влияют на скорость переходов.

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

Кстати, а чем обсуждение по поводу vulkan закончилось?

 

Кстати, насчет метательного оружия - его характеристики в харкоде или скриптах?

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

Кстати, а чем обсуждение по поводу vulkan закончилось?
Тем, что его пока OpenSceneGraph не поддерживает.
Кстати, насчет метательного оружия - его характеристики в харкоде или скриптах?
Характеристики в ESM-файле, вращение зашито. Иначе 42.
Ссылка на комментарий
Поделиться на другие сайты

За сегодня.

 

Андрей:

  • В ненастье NPC перестанут доставать факелы
  • Анимации магических эффектов не будут пропадать при начале новой сессии игры
  • Двуручное оружие и факелы не будут "конфликтовать"
  • Ещё не объединено: объявленная в скрипте переменная OnPCHitMe без соответствующего блока кода в компании с нулевым Fight в оригинальном движке привела бы к исключительному пацифизму NPC с таким скриптом. В игре это Хролдар Странный из Бладмуна, он практически никогда в оригинальном движке не атакует. Это поведение скопировано, в OpenMW он теперь не будет реагировать на атаки вообще.
  • Ветка с застревающими в моделях снарядами вынесена под scrawl'ов суд.

я:

  • Непрямоходящие существа перестанут, хм, открывать двери. Они их будут пытаться оббегать.

RoadTrain:

  • we strongly advice ==> we strongly advise в предупреждении большими красными буквами при запуске редактора

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

Дистантленд далеко не обязательно будет в 1.0, потому что в оригинальном движке подобного функционала не было и потому релиз дистантленд не задерживает. Удалённый ландшафт какой-никакой есть.
Ссылка на комментарий
Поделиться на другие сайты

В принципе, исходники MGE открыты: https://github.com/Hrnchamd/MGE-XE/tree/master/src/mge

Теоретически, можно сделать по аналогии, но там используется DirectX, а в OpenMW - OpenGL.

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

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

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

И еще: можно ли сделать так, чтобы солнце нормально восходило и заходило, а не возникало из ниоткуда над горизонтом?

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

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

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

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

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

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

Войти

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

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

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