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

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

Сегодня scrawl добавил (ну, скорее, вернул) параллакс-маппинг (вики в помощь). Реализован путём чтения альфа-канала карт нормалей с суффиксом nh; ожидается, что в альфа-канале будет карта высот.

Применяется как к ландшафту, так и к объектам.

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

У многоуважаемого Tyddy появился конкурент. :trololo:

lysol выпустил первую версию своего близкого к оригиналу ретекстура Вивека (естественно, города) специально для шейдеров OpenMW со спекулярными картами, картами нормалей и практически инновационным параллаксом, который, кстати, и первоначально попросил вернуть scrawl'а.

 

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

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

Мне кажется, или город выглядит слишком блестящим? Я понимаю, он приморский и влажность и т.п., но все-таки Вивек выглядит так, словно должен бы быть более матовым.
Ссылка на комментарий
Поделиться на другие сайты

Мне кажется, или город выглядит слишком блестящим? Я понимаю, он приморский и влажность и т.п., но все-таки Вивек выглядит так, словно должен бы быть более матовым.

Я и говорю, что lysol не разобрался со спекулярками. Формат, который используется OpenMW, таков: в RGB цвет блеска, в альфа-канале его сила на частях текстуры. lysol же запихнул силу блеска на RGB, а блестит всё на максимуме, так как альфа-канал остался белым.

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

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

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

Один чел допилит нормальную камеру для OpenMW-CS, Zini смержит с основным репозиторием его наработки и начнётся фаза RC версии 0.39.0.

Из примечательного к новой версии:

  • Новые клёвые шейдеры (настоящие карты нормалей на замену фейковому бампу, спекулярные карты и карты параллакса для ландшафта и для объектов); ещё не PBR, но Хрнчамд обещал прикатить в своё время. Оптимизация шейдеров ещё будет.
  • Возвращение блудного респауна и очищения трупов.
  • Значительное уменьшение (но не полное исчезновение) тормозов камеры, возникающих при её повороте, при этом не связанных со значением FPS. Грубо говоря, FPS физики отделён от количества FPS всего остального и залочен на 60 FPS. Ещё это убирает застревания в объектах. Но есть и побочный эффект. Если процессор не справляется с физикой на 60 FPS, всё плохо.
  • Фоновая загрузка ячеек. Падает сильным грузом на память (настраивается), но нехило уменьшает загрузочные экраны.
  • Поддержка карт отражений. Действует не так же, как в оригинале с соответствующим патчем из MCP; то есть отражения светятся ночью и творят всякие непотребности. На недоумённое "Аэ??!" одного из простых смертных, юзающих ночные сборки, и вопросы о патче как-в-эм-си-пи scrawl ответил "нафиг надо", типа, реальный нормалмаппинг есть и всякие костыли не нужны.
  • Опенмиви теперь работает с Симфонией. :trololo:

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

[*]Поддержка карт отражений. Действует не так же, как в оригинале с соответствующим патчем из MCP; то есть отражения светятся ночью и творят всякие непотребности. На недоумённое "Аэ??!" одного из простых смертных, юзающих ночные сборки, и вопросы о патче как-в-эм-си-пи scrawl ответил "нафиг надо", типа, реальный нормалмаппинг есть и всякие костыли не нужны.
Эх, зря, все-таки. "Реальный нормалмаппинг" ведь по сути есть всего лишь бездушное автоматическое рельефное текстурирование - добиться теплых ламповых ручных настроек EMBM с ним не всегда возможно.

А так вообще бамп-то работает, или только отражения?

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

А так вообще бамп-то работает, или только отражения?

Не понял вопрос. Нормалмапы работают, только без теней (парадоксально, но факт). Если добавить в модель NiTextureEffect с дефолтными настройками и путём к какой-нибудь текстуре, добавится рефлект, а уже применённый нормалмап (автодетектированием либо же пиханием в слот бампмапа) останется на месте.

Бампмапы, сделанные корректной механикой, которая могла бы худо-бедно работать в оригинальном нетиммерсе, кушаются криво. Но например Lougian для большинства своих [x] Bumpmapped, не мудрствуя лукаво, юзал обычные нормалмапы.

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

Не понял вопрос. Нормалмапы работают, только без теней (парадоксально, но факт). Если добавить в модель NiTextureEffect с дефолтными настройками и путём к какой-нибудь текстуре, добавится рефлект, а уже применённый нормалмап (автодетектированием либо же пиханием в слот бампмапа) останется на месте.

Бампмапы, сделанные корректной механикой, которая могла бы худо-бедно работать в оригинальном нетиммерсе, кушаются криво. Но например Lougian для большинства своих [x] Bumpmapped, не мудрствуя лукаво, юзал обычные нормалмапы.

В оригинальном Морре нет нормалмапов (как, например, в Обливионе) - есть Environment-Mapped Bump Mapping, который по счастливому совпадению неплохо работает с картами нормалей. Но работает он с ними по другому, хоть и похоже.

Ну и, собственно, вопрос - как оно там работает, как нормалмаппинг в Обломе или в Скайриме, например + поверху рефлект, или как EMBM.

 

И что, если прописать в слот бамп-мапа текстуру - она будет работать как карта нормалей? А настройки бампа в модели как-то влияют?

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

Чревато застреваниями в моделях, увы.

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

есть Environment-Mapped Bump Mapping

Какой официоз. :trololo:

 

Ну и, собственно, вопрос - как оно там работает, как нормалмаппинг в Обломе или в Скайриме

Как в Обломе. В Скуриме поломали параллакс.

 

И что, если прописать в слот бамп-мапа текстуру - она будет работать как карта нормалей? А настройки бампа в модели как-то влияют?

Так. Насчёт настроек не знаю, но скорее всего нет.

а что, застревания часто происходили до установки фиксированного значения ФПС?

Именно.

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

Какой официоз. :trololo:
*пожимает плечами*

Просто правильное название.

 

Как в Обломе. В Скуриме поломали параллакс.
А рефлект поверху идет? Или по рельефу?

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

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

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

А рефлект поверху идет? Или по рельефу?

Я снова не понял. Вот мои старые скриншоты с иллюстрацией того, как он (странновато) выглядит на соответственно Таддеусовских (?) камнях и на Апелевских мешках.

http://pic.fullrest.ru/upl/t/qoK0gT7o_150x150.png http://pic.fullrest.ru/upl/t/qmD1UnMo_150x150.png

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

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

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

Как в Обломе. В Скуриме поломали параллакс.

В Скуриме он ещё работает более-менее, там они его починили. Поломали его в Фоллаче.

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

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

А detail map работает по старинке или как normal map?

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

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

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

Я же не предлагаю её с бампмапа убрать. А как бы использование двух нормалмапов. Как в Ведьмаке 3 один нормалмап - это нормалмап, а второй - детайлмап, для создания эффекта ткани, кожи и т. д.

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

один нормалмап - это нормалмап, а второй - детайлмап, для создания эффекта ткани, кожи и т. д.

С этого момента поподробнее, пожалуйста. Это как? Есть что-то типа "материалов", выполняющих роль "ширпотребных" дополнительных текстур? :shito:

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

Угу. Накладываются по отдельной развертке, тайлом мостится. Изменено пользователем CemKey
Ссылка на комментарий
Поделиться на другие сайты

Релиз OpenMW 0.39.0 состоялся:

Команда OpenMW рада объявить релиз версии 0.39.0! Скачайте её с нашей страницы загрузок для каждой ОС. Этот релиз вносит фоновую загрузку и кэширование ячеек, фичу, которую упускать из виду не стоит. Начальная поддержка шейдеров объектов возвратилась в наш движок и немало багов было исправлено. Полный список изменений ниже.

Почтенный Atahualpa храбро занял трон WeirdSexy в качестве нашего видеопродюсера: зацените видео

и
. Если вы пропустили его обзоры версий 0.36, 0.37 и 0.38, проверьте наш блог или канал на YouTube.

 

Известные проблемы

  • Теней и дистантленда всё ещё нет

Список изменений

  • Фоновая загрузка и кэширование ячеек
  • Поддержка шейдеров объектов на OSG
  • Интерполяция симуляции физики, сглаживающая рендеринг статиков и исправляющая некоторые ошибки коллизий
  • Поддержка сферических карт (карт отражений и т.п.) в NiTextureEffect
  • Скриптовая инструкция FixMe
  • Поддержка несжатых текстур, добавленный в сам NIF модели
  • Задержка очищения трупов
  • Отслеживание времени респауна каждого существа
  • Исправлен спаун ассасинов ТБ, призраков в Айбар-Дэде и иных существ внутри геометрии мира
  • Скриптовая инструкция Activate / OnActivate теперь соответствует оригинальному поведению
  • Игрок больше не оказывается на дне водоёма при загрузке сохранения во время плавания
  • NPC теперь используют корректные анимации с модом Animated Morrowind
  • Кабан рьеклингских бандитов теперь не будет постоянно кричать
  • Руки Вивека в его реплейсере от Psymoniser больше не проваливаются сквозь колени
  • NPC прекратят спамить заклинаниями восстановления вместо того чтобы защищаться
  • Локальная итерация скриптов не крашит игру
  • Пакеты AI при добавлении дубликатов теперь стакуются
  • При воскрешении сущностей анимации корректно перестраиваются
  • Исправлено поведение прокручивания диалогов с нестандартными NPC (Ползуном, грязекрабом-торговцем, жертвами корпруса и т.д.)
  • Гуляющие NPC больше не пропадают и не телепортируются на Акавир
  • При получении квеста "Паломничество Семи Благословений" в дневнике больше не будет отсутствия имени NPC
  • Исправлена ограничительная рамка вещей при выкладывании их из инвентаря
  • Заклинания, направленные на цель, больше не применяются дважды
  • Азуре возвращена её голова
  • Убран показ эффектов зелий при неизвестности эффектов ингредиентов
  • Руки больше не будут становиться частично невидимыми при рубящем ударе копьём
  • Быстрые путешествия не ломают последующие сейвы
  • Каст "Возврата" не провоцирует вылет
  • На трупах, изначально мёртвых на момент начала игры, не будет начинать проигрываться анимация постоянного эффекта при загрузке ячеек с ними
  • Эффекты заклинаний прекращают действовать после смерти прочитавшей их сущности
  • Частично погруженные в воду трупы с самого начала игры остаются частично погруженными
  • Зачарования "при ударе" теперь запускают снаряд от атакующего, когда начинают действовать
  • Камера не устремлена только вверх или вниз при телепортации
  • Количество эффектов ингредиентов в окне алхимии корректно уменьшается при комбинации ингредиентов, не имеющих одинаковых эффектов
  • Исправлена порча модами флага наличия воды в экстерьерных ячейках
  • Исправлен вылет из-за модов, определяющих bip01 spine1, но не bip01 spine2
  • При отсутствии изображения для класса показывается стандартное изображение
  • Исправлена возможность получить бесконечное расположение через уязвимость
  • Убран глюк, из-за которого одежда всё ещё рендерилась на персонаже в инвентаре при её снятии
  • Статики и активаторы теперь могут кастовать эффекты заклинаний на игрока
  • Ячейки загружаются правильно при использовании старой версии мода Poorly Placed Object Fix
  • Женские персонажи не будут некорректно загружать мужской базовый скелет анимации
  • Поведение ударов кулаков при использовании "только лучших атак" соответствует оригинальномуу
  • Исправлен вылет при конкретном способе прохождения через меню выбора класса
  • Исправлено прыгание списка сохранений вверх при удалении сохранения
  • Выбранный класс и раса очищаются при начале новой игры
  • Исправлен вылет при отсутствии карты нормалей воды
  • Исправлена ошибка обработки лишних аргументов в функциях скриптов
  • Скриптовая инструкция Drop действует как в оригинале
  • OpenMW-CS: Верификатор GMST
  • OpenMW-CS: Верификатор записей ответов на диалогов
  • OpenMW-CS: Рендеринг маркеров границ ячеек в обзоре сцены
  • OpenMW-CS: Точечное освещение в обзоре сцены
  • OpenMW-CS: Опциональное оборачивание строчек в редакторе скриптов
  • OpenMW-CS: Возвращена 3D-камера сцены
  • OpenMW-CS: Объекты (не их экземпляры) теперь можно выкладывать на сцены
  • OpenMW-CS: Рендеринг маркеров ячеек в обзоре сцены
  • OpenMW-CS: Выбор экземпляров объектов в обзоре сцены
  • OpenMW-CS: Подрежим Движения в режиме редактирования экземпляров в обзоре сцены
  • OpenMW-CS: Поведение изменения уровня воды в интерьерах соответствует экстерьерам
  • OpenMW-CS: Вместо нажатия кнопки "Создать" для подтверждения ввода идентификатора во вкладке Создания можно нажимать Enter
  • OpenMW-CS: Объекты, выложенные на сцену, всегда сохраяются
  • OpenMW-CS: Объекты, добавленные на сцену, рендерятся без необходимости перезагрузки сцены
  • OpenMW-CS: Данные ландшафта не записываются дважды
  • OpenMW-CS: Идентификатор GMST sMake Enchantment больше не будет называться sMake при создании новой игры с нуля
  • OpenMW-CS: Вкладка создания в подменю Начальных скриптов принимает скопированные идентификаторы скриптов
  • OpenMW-CS: Кнопки "Следующий скрипт" и "Предыдущий скрипт" больше не изменяют статус записи на "модифицирована"

Правка: сократил переводы строк

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

А параллакакс то уже должен работать или только в планах? А то переименовываю нормали в _nh и они совсем перестают работать. Изменено пользователем CemKey
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

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

Войти

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

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

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