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

OpenMW или мечты иногда сбываются


MEZON

Рекомендуемые сообщения

Официальный сайт OpenMW
Страница загрузки
Страница с самым последним билдом для Win (обновляется ежедневно)
 
Баг-трекер

Wiki

Список задач до релиза 1.0

Репозиторий с исходным кодом на GitHub
IRC: #openmw на irc.freenode.net
Полезные ссылки:
Wiki-статья о совместимости модов для Morrowind'а с OpenMW
Руководство по портированию ретекстуров в OpenMW
OpenMW на Youtube
OpenMW на ModDB
OpenMW на GitLab
Диздоки планов развития после 1.0
 
Сторонние проекты, основанные на OpenMW:
TES3MP - реализация мультиплеера для OpenMW.
Тема OpenMW на 4PDA - здесь можно найти сборки OpenMW для Android 5+ и гайды по решению проблем.

OpenMW для VR - основан на OpenXR, готовые сборки (устаревшие) есть только для Windows.

Порт на Switch - к сожалению, в настоящее время им никто не занимается.

Что такое OpenMW?

 


OpenMW - это попытка воссоздать игровой движок для популярной RPG Morrowind, полноценную реализацию всех особенностей игры с открытым исходным кодом. Для запуска TESIII с помощью OpenMW понадобятся ресурсы от оригинальной игры.
Для того, чтобы вы имели более полное представление о проекте, вот несколько ключевых особенностей будущего OpenMW:

  • полноиграбельная реализация Morrowind.
  • кроссплатформенность, запуск на Windows, Linux, MacOS X.
  • поддержка уже существующего контента, включая Tribunal и Bloodmoon и львиную долю созданных пользователями плагинов.
  • значительная модифицируемость: изменение игровой механики, создание новых эффектов заклинаний, доработка ИИ и т.д.
  • исправление ошибок системного проектирования: "грязные" GMST записи в плагинах, проблема "удвоения" в сейвах.
  • улучшение интерфейса и игрового дневника.
  • улучшение игровой механики, физики, боевой системы и ИИ.
  • поддержка мультиплеера.
  • улучшение графики путем поддержки функциональности современного аппаратного обеспечения.

Это очень амбициозный список, и ещё многое предстоит сделать, чтобы эти задачи стали реальностью.
OpenMW выпущен под лицензией GPLv3, весь исходный код написан с нуля.

В чём разница между "старым" и "новым" OpenMW?

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

Нужен ли оригинальный Morrowind для OpenMW?

И да, и нет.

ДА. Прежде чем использовать OpenMW, вы должны легально приобрести и установить Morrowind на ваш компьютер. OpenMW воcпроизводит только техническую сторону игры, и не содержит в себе каких-то материалов, защищенных авторским правом. Используются только данные уже установленной игры, либо с установочных файлов с диска или цифровой копии игры.
Серьезно, если у вас нет Морровинда, идите и купите его! В отличие от большинства новых игр, он отрабатывает каждую потраченную копейку. Это редкость в наши дни.

НЕТ. OpenMW - самостоятельный игровой движок. Он может быть базой для тотальных конверсий, не использующих файлы Morrowind.

Каково текущее состояние проекта?

Статус

OpenMW уже находится в состоянии "бета": основные функции реализованы, идет работа по оптимизации и паритету с MGE и MWSE - генератор LOD-ов для Distant Land-а, Lua-скрипты (несовместимые с MWSE из-за другого внутреннего дизайна OpenMW), пост-процессинг и т.д. Часть функционала, сопоставимого с MGE (сам Distant Land, динамические тени для объектов, шейдерная вода с отражениями, анимированная трава) уже в наличии.
Кроме этого есть ряд проблем, в основном с физикой и поддержкой модов, использующих баги и недокументированные возможности оригинального движка.
OpenMW играбелен (можно нормально пройти сюжет игры и аддонов, ветки гильдий и т.д.), хотя и уступает MGE в качестве графики, но выигрывает по стабильности, а на многих машинах и по производительности и скорости загрузки локаций.
Также OpenMW реализует некоторые опции, которых не было в оригинальной игре.

Поддерживаемые платформы

Проект переписан на чистом C++ (с поддержкой стандарта С++17), потому должен работать на большинстве платформ, поддерживаемых OpenSceneGraph и остальными инструментами, в том числе на Windows 7 (или новее), Linux, MacOS X, FreeBSD и Android. Windows XP и более старые версии не поддерживаются, т.к. их не поддерживают используемые библиотеки и компиляторы.
Если вы хотите помочь портировать OpenMW на другие платформы, мы будет рады видеть вас на нашем форуме.

Какие технологии вы используете?

OpenMW построен с использованием различных библиотек и инструментов с открытым исходным кодом:

  • Языки программирования: C++, GLSL
  • Графика: OpenSceneGraph
  • Физика: Bullet
  • Звук: OpenAL
  • Ввод-вывод: SDL2
  • Скриптовый язык: Самостоятельная реализация скриптов Morrowind
  • Интерфейс: MyGUI
  • Поиск пути для ИИ: Recast & Detour

Код загрузки ESP/ESM и BSA был написан с нуля, но с помощью документации, созданной сообществом. Кроме того, и код загрузки NIF был написан с помощью имеющейся в сети информации.
Особая благодарность NIFLA/NifTools!

Главный разработчик Marc Zinnschlag (Zini) о OpenMW 1.0:
Целью OpenMW 1.0 является полная замена Morrowind.exe. Не больше, не меньше. Это также означает, что практически все улучшения оригинальной игры на данный момент исключены. Я настаивал на этом подходе, так как это самый безопасный способ завершить версию 1.0 наиболее быстро.
Релиз 1.0 будет очень важным этапом, ведь OpenMW наконец станет полноценной игрой. Мы надеемся, что OpenMW 1.0 привлечет много внимания, новых разработчиков и активных тестеров.

В некоторых случаях мы можем отклонятся от оригинала, даже до релиза 1.0.

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

Во-вторых, мы можем изменять всё, что не является частью внутриигрового опыта. Например, опции командной строки и файлы конфигурации OpenMW выглядят совершенно иначе, чем в Морровинде. Сюда же входит и лаунчер.

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

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

 
Я не программист, как я могу помочь проекту?

 

 

1. Можно просто играть и отсылать багрепорты
2. Можно тестировать разрабатываемый код, до того, как он попадёт в основную ветку. Там же можно вести обсуждение и предлагать изменения.
3. Можно тестировать моды. Основная цель - выявить проблемы с совместимостью.
4. Можно исследовать механики оригинального движка, особенно актуально в области тонкостей работы скриптов.
5. Можно обновлять Wiki.

6. PR тоже не помешает, особенно если он позволит привлечь тестировщиков и плагиностроителей.

7. Можно донатить разработчикам на Patreon'е:

  • psi29 — проджект лид, поможете закрыть траты на хостинг
  • Capostrophic — тысяча и один фикс + вагон фич
  • AnyOldName3 — тени в ОпенМВ
  • David Cernat — работа над TES3MP
Изменено пользователем akortunov
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

UnPinned posts

Да, речь о релизе 0.46 была.

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

 

Вот и вопрос тогда - а что же из функционала ванили ещё не реализовано?

Я же ответил на этот вопрос - смотри багтрекер. Ссылка на него есть в первом посте.

https://gitlab.com/OpenMW/openmw/issues

Пока всё это не будет решено, версии 1.0 не будет.

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

Я с этой сборкой не заметил проблем (разговоры о ФПС не в счёт), кроме, пожалуй, того, что More better clothes не пошёл - но, может, я в чём-то накосячил. Real Russian Signposts 2.0 с этого сайта даёт тот же эффект - жёлтые треугольники. Фикс текстур, убирающий швы для лэндскейпа, тоже не подхватывается, но я не вникал ни во что. Вот и вопрос тогда - а что же из функционала ванили ещё не реализовано?

Просто надо читать README плагинов и ставить их правильно. "Жёлтые треугольники" - вообще местный мем.

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

Просто надо читать README плагинов и ставить их правильно. "Жёлтые треугольники" - вообще местный мем.

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

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

Я же ответил на этот вопрос - смотри багтрекер. Ссылка на него есть в первом посте. https://gitlab.com/O...W/openmw/issues Пока всё это не будет решено, версии 1.0 не будет.

Не совсем корректно. Это полный список задач на багтрекере. Он никогда не бывает пустым на проектах сложнее "Hello, World!".

Вот список нереализованного до 1.0:

https://gitlab.com/OpenMW/openmw/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=1.0

 

Фактически, полировка физики, ряд багов в рендеринге и несколько платформоспецифичных проблем. Остальное из этого списка, если приспичит, и после 1.0 сделать можно.

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

Не совсем корректно. Это полный список задач на багтрекере. Он никогда не бывает пустым на проектах сложнее "Hello, World!".

Вот список нереализованного до 1.0:

https://gitlab.com/OpenMW/openmw/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=1.0

 

Фактически, полировка физики, ряд багов в рендеринге и несколько платформоспецифичных проблем. Остальное из этого списка, если приспичит, и после 1.0 сделать можно.

Спасибо за уточнение. Можешь эту инфу в первый пост добавить?

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

Сейчас бы ОпенМВ обвинять в том, что сам бса не зарегистрировал

Да зарегистрировал же!) потом. И всё прокатило, всё норм. Но старой версией движка не подхватились какие-то меши из папки, а не из бса-архива. Ладно, закроем тему жёлтых ромбов.

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

Рождено по итогам обсуждения в Discord:
 

Если вы хотите помочь проекту:

 

Работа для не-кодеров навскидку:
1. Исследование Морровиндовских механик;

2. Тестирование pull request'ов;

3. Тестирование модов;

4. PR;

5. Обновление Wiki;

6. Обсуждение актуальных вопросов типа находящихся в разработке актуальных фич.

 

Думаю, тоже стоит добавить в шапку, указав ссылки там, где нужно.

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

More better clothes на 0.46 работает.

Парни, ну что с вами не так?))) Я уже дважды написал, что - да, работает, я нашёл где прописывать БСА-шки в оупене. В процессе этого нашёл кучу других проблем, НЕ связанных с этим движком. Если так хотите мне что-нибудь сказать, то, плиз, найдите мой вопрос в теме "быстрые ответы по плагинам", и если есть РАБОЧИЙ фикс этой вот фигни - буду рад ссылке. https://yadi.sk/d/1TrR0rGDcevFMg

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

С 24 августа:

 

я:

  • Поправил вылет, если у геометрии в NIF нет данных
  • Вернул оригинальное поведение нескольких вещей, которые были изменены без спросу и на которые люди жаловались

akortunov:

  • Удаление трупа до окончания анимации смерти теперь более-менее безопасно, как в MCP.

Джеймс Стефенс:

  • Исправлена потеря фокуса клавиатуры на окне сохранения/загрузки при нажатии Escape в окне подтверждения удаления или загрузки.
  • Вопросительный знак неизвестного эффекта в списке магических эффектов ингредиентов теперь находится в точности в центре.
  • Теперь можно узнать количество маны, которое на каст покупаемого (не создаваемого) заклинания потребуется. В отличие от подхода в MCP (возможно, более удобного, но менее элегантно выглядящего, который я попытался сымитировать), цена засунута не в список заклинаний, а в всплывающую подсказку с подробной информацией о заклинании. Подсказке не нужен перевод, к счастью.

Теоретически скоро может начаться некоторая движуха по подготовке релиза 0.46.0.

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

Ура! Ждем 0.46. А там будут тени? Я почему спрашиваю? Потому что, когда я их поставил на релизе, они были явно не оптимизированы. Отражалась тень от каждой травинки.
Ссылка на комментарий
Поделиться на другие сайты

По поводу теней от каждой травинки: движок ведь просчитывает меши, относящиеся ко всему, то есть, если указано, от акторов, от предметов, от статиков (к коим относятся дома, камни, деревья и эта пресловутая трава), так ведь примерно? Так вот можно ли что-то сделать с модами на траву средствами движка так, чтобы эта трава в расчёт не бралась? Чтобы игра распознавала моды на траву так, как это делает МГЕ, но запрещала отбрасывать тени от них? Или, например, регулировать размеры меша, которые движок будет обрабатывать и рисовать от них тень? Скажем, всё, что больше ящика, даёт тени, в т.ч. деревья и здания, а всё, что меньше - уже нини?

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

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

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

 

 

По поводу теней от каждой травинки: движок ведь просчитывает меши, относящиеся ко всему, то есть, если указано, от акторов, от предметов, от статиков (к коим относятся дома, камни, деревья и эта пресловутая трава), так ведь примерно? Так вот можно ли что-то сделать с модами на траву средствами движка так, чтобы эта трава в расчёт не бралась?

Это не решение проблемы.

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

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

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

А в чем в принципе будет заключаться поддержка травы? Ввод в OpenMW особой категории объектов "трава"?

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

А в чём в MGE поддержка заключаются? Вместо прямого добавления объектов в сцену трава должна рендериться пачками + нужна анимация (которую обычно делают через шейдеры).

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

А в чём в MGE поддержка заключаются? Вместо прямого добавления объектов в сцену трава должна рендериться пачками + нужна анимация (которую обычно делают через шейдеры).

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

 

А вообще, мне кажется, что Чиф прав. Хорошо, если бы трава вообще была бы отдельной настраиваемой категорией, вне статиков. Это точно был бы шаг вперед в отличие от МГЕ.

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

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

 

А вообще, мне кажется, что Чиф прав. Хорошо, если бы трава вообще была бы отдельной настраиваемой категорией, вне статиков. Это точно был бы шаг вперед в отличие от МГЕ.

Тогда уж вручную обозначать объекты, которые тень НЕ должны отбрасывать.

 

Трава отдельной категорией = влезание в формат мастерфайлов и плагинов + полная несовместимость с оригиналом.

 

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

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

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

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

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

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

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

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

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

Войти

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

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

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