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

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

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

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

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

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

UnPinned posts

Даже

 

Она же в 15 раз больше дефолтной на моих скринах, в 120 — на скрине с Вварденфеллом и Солстхеймом целиком, кнечно слегка избыточна. :trololo:

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

Сценик оверлук я не видел на момент напейсания поста))

 

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

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

  • 2 недели спустя...

Очередные изменения к 0.42.0: максимальная ширина всплывающей подсказки теперь не захардкожена, имена NPC и существ в бою теперь будут показываться в режиме меню (а не только консоли, как раньше), клонированные путевые сетки не будут пропадать при повторном открытии сохранённой в редакторе игры, скриптовые команды, меняющие значения атрибутов, теперь не будут привязывать значения к диапазону от нуля до 100, несоответствие размера скрипта в его заголовке истинному размеру скрипта теперь не будет провоцировать вылет из-за фатальной ошибки, а только будет предупреждением при логировании.

 

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

 

Убрано лишнее слагаемое при вычислении шанса успешной сделки и неиспользуемая переменная.

 

Ах да, скучающий Greendogo сделал вот этот график. Выход 0.42.0 им прогнозируется к 3 апреля (американская система дат).

 

JzH6MPk.png

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

На удивление красивая у них аппроксимация)

жаль только что по 3-4 релиза в год всего

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

Мирослав Ремак исправил вычисление шанса успешной сделки (теперь получить её будет проще).

Allofich исправил расстояние действия пакета AiFollow, теперь Руки Альмалексии (солдаты, а не конечности) будут вставать вокруг неё... хороводом... правильно.

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

 


 

Проект-менеджер Zini решил, что пора бы уже начать фазу RC, так как материала уже достаточно.

 

Что я могу сказать? Версия 0.42.0 будет ещё одним значительным шагом, приближающим нас к 1.0 и полностью рабочей современной открытой реализации пятнадцатилетнего движка Морровинда блаблаблабла.

Но вообще солидный такой релиз.

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

Создание бодипартов разъединено с общим редактором и теперь можно создавать бодипарты первого лица (те, которые с суффиксом ".1st"), потому что конкретно для них точки не будут запрещены в ID.

 

Упомянутые изменения дневника есть в репе.

 

Текст на кнопках и виджетах и шкалы загрузки теперь выравниваются по вертикали.

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

RC - это чтоб начать нумерацию версий заново?)

Разве критичные баги уже все закрыты, чтоб можно было начинать РЦ?

а то

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

RC - это чтоб начать нумерацию версий заново?)

Для того, чтобы подготовить 0.42.0 к релизу же. Так всегда было. В этот раз решили начать во вторую половину апреля.

 

Разве критичные баги уже все закрыты, чтоб можно было начинать РЦ?

 

Ну вот в фазу RC и будут исправлять последние регрессии. Начинают релизные сборки, и если находят регрессии, их фиксят и перезапускают процесс RC, и по новой, до победного.

 

достойный аргумент, че)

Материала уже достаточно и по плановому расписанию (один релиз каждые два месяца) опаздывание происходит.

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

Автор того старого шейдера тумана вновь вернулся к его более-менее активной разработке, и шейдер работает с удаленным ландшафтом (авторские скриншоты):

QsTvc2O.png

С альтернативной квадратичной функцией его видимости:

HI1ER6C.png

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

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

 

От Мирослава: исправлена обработка прямых слэшей (/) в пути к модели; теперь анимации на таких будут работать и без наличия модели xназвание.nif. Убран хак, из-за которого идентификатор записи в дневнике приравнивался к обычному идентификатору записи.

 

От Кортунова: добавлены отсутствовавшие звуки при некоторых событиях, таких как:

  • успехе или провале зачарования
  • починке предмета
  • открытии меню починки

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

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

Два последних скриншота прекрасны и уже могут тягаться с МГЕ. Весьма, весьма неплохо.
Ссылка на комментарий
Поделиться на другие сайты

От того же автора: попытка по форумному запросу сделать воду более мутной. Можно применить к своей установке OpenMW:

--- a/files/shaders/water_fragment.glsl
+++ b/files/shaders/water_fragment.glsl
@@ -34,7 +34,8 @@ const float SPEC_HARDNESS = 256.0;				 // specular highlights hardne
const vec2 WIND_DIR = vec2(0.5f, -0.8f);
const float WIND_SPEED = 0.2f;

-const vec3 WATER_COLOR = vec3(0.090195, 0.115685, 0.12745);
+// const vec3 WATER_COLOR = vec3(0.090195, 0.115685, 0.12745);
+const vec3 WATER_COLOR = vec3(0.25, 0.25, 0.1) * 0.8;

// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -

@@ -174,7 +175,7 @@ void main(void)
 float waterDepth = refractionDepth - depth;

 if (cameraPos.z > 0.0)
-	    refraction = mix(refraction, waterColor, clamp(waterDepth/VISIBILITY, 0.0, 1.0));
+	    refraction = mix(refraction, waterColor, 1 - exp(-waterDepth * 0.015));

 gl_FragData[0].xyz = mix( mix(refraction,  scatterColour,  lightScatter),  reflection,  fresnel) + specular * gl_LightSource[0].specular.xyz;
#else

 

Тем временем Дэвид активно творит синхронизацию NPC для tes3mp и обещает новую версию в этом месяце, правда, об этой разработке пока везде тишина. Глядишь, на юбилей Морровинда будем вместе рубить скальных наездников. Мир! Труд! Альмсиви!

 

В кодобазу OpenMW подтверждения для добавления ожидают:

  • Убирание кнопки переключения глобальной и локальной карты при геймплее, то есть когда она не может быть использована — от resilar
  • Занимание шкалы прогресса импортера ini полной ширины элемента интерфейса, в котором он находится (хотя обдумывается другой индикатор законченности) — от pvdk
  • Улучшения меню от Кортунова: подтверждение загрузки игры, динамический ресайз подтверждений, отключение прозрачности меню сохранения и загрузки и этого подтверждения, а также изменения структуры меню количества и отключение у него прозрачности, потому что без фона виджет неюзабелен,
  • Улучшение годмода для соответствия оригиналу от Кортунова: ГГ не будет получать урона вообще (а раньше оно полностью восстанавливалось при падении до нуля), броня и оружие не смогут испортиться, ГГ не сможет упасть на землю из-за истощения, здоровье, магия и усталость могут быть изменены только консолью, шанс в окне заклинаний будет соответствовать реальному в 100%, зачарования срабатывают бесконечное количество раз.)
  • Ещё улучшения от Кортунова: закреплённые окна остаются закреплёнными при перезапуске игры, сохраняется статус глобальной-локальной карты, закреплённые окна восстанавливаются после интерактивного месседжбокса и корректно работают во время чаргена.
  • Опции от опять же Кортунова для показа а) скрытых параметров оружий б) урона стрел (не показывались и в оригинале).

И другие добавления, включая вечно доделываемые фиксы заклинаний высасывания и повышения от Allofich.

 

К сожалению, их мы увидим, по всей видимости, уже после 0.42.0, потому что Zini решил, что пора начать релизный процесс, и все оставшиеся репорты буквально пару часов назад "скинул" на 0.43.0.

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

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

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

От Кортунова: исправлено вычисление маны в чаргене и введены упомянутые изменения интерфейса, кроме закрепления окон. Это войдёт в 0.43.0.

От Allofich: исправлена регрессия, возникшая из-за его изменений системы боя к 0.42.0; теперь не будет периодического падения фреймрейта при большом числе актёров, использующих пакет AiFollow. Фикс войдёт в 0.42.0 (правда, вроде корристо поспешил сделать RC-сборки для макоси и упустил эти более поздние добавления).

От него же: NPC теперь не будут пытаться надеть замену предмету, убранному скриптовой командой RemoveItem; кроме того, для соответствия оригиналу звук разэкипировки будет проигрываться только у игрока, и не будет громкого гудения из-за множества снимаемых неписем предметов. Это к 0.43.0.

 

После относительно короткой паузы scrawl начал делать... тени? Нет, он сразу несколько вещей тестирует... Так:

правка: добавлены те кортуновские опции для показа урона стрел и скрытых характеристик оружия.

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

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

Сейчас чистый ОпенМВ выдает куда более низкий фреймрейт, чем чистый Морроувинд (судя по видеотестам и отзывам скачавших, да и самих разработчиков). Порт Тельваннис, например, неиграбелен. В каких условиях там можно выжать 100-150 кадров?

 

Впрочем, это оффтоп в теме по репаку. Можно перебросить в тему по ОпенМВ.

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

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

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

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

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

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

Войти

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

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

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