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

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

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

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

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

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

UnPinned posts

1) Есть какие либо программы, которые автоматически фиксируют min/max фреймрейт? 

2) Есть ли программы, которые фиксируют потребление памяти не всей системы, а определённого процесса?

1. Понятия не имею.

2. На десктопах подойдет любой диспетчер задач. Насчёт Андроида не скажу.

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

Хорошо, с этими моментами тоже разберёмся) Ещё один вопрос, настройки вбивать в settings.cfg, что лежит по адресу C:\Users\%username%\Documents\My Games\OpenMW ?

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


Использует здесь кто-нибудь OpenMW на Андроиде? Там свежие патчи из 0.46 используются?
Интересует сравнение FPS и потребления памяти с включенным удаленным ландшафтом с дефолтной дальностью прорисовки (6666) и с такой же дальностью, но с отключенным ландшафтом.
На слабых пеках было бы тоже неплохо проверить, кстати.

проверю отпишусь.

 

В первом случае скрины сделаны при выборе distant terrain = true, второй набор скринов при distant terrain = false. В обоих случаях дистанция 6666 вертикальная синхронизация выкл. ФПС в левом верхнем углу. Существенной разницы не заметил. Используется АПК 0.46 но скомпилированный с последней сборкой Опенмв от 31.03.19

Не мультипости.

post-25532-0-90429200-1554114375_thumb.jpg

post-25532-0-16431100-1554114387_thumb.jpg

post-25532-0-01418900-1554114398_thumb.jpg

post-25532-0-04410200-1554114407_thumb.jpg

post-25532-0-05949400-1554114418_thumb.jpg

post-25532-0-55092800-1554114444_thumb.jpg

post-25532-0-08003700-1554114458_thumb.jpg

post-25532-0-24043000-1554114523_thumb.jpg

post-25532-0-86084600-1554114536_thumb.jpg

post-25532-0-49356400-1554114561_thumb.jpg

post-25532-0-06414900-1554114580_thumb.jpg

post-25532-0-10434900-1554114588_thumb.jpg

post-25532-0-08638400-1554114605_thumb.jpg

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

Использует здесь кто-нибудь OpenMW на Андроиде? Там свежие патчи из 0.46 используются?

Интересует сравнение FPS и потребления памяти с включенным удаленным ландшафтом с дефолтной дальностью прорисовки (6666) и с такой же дальностью, но с отключенным ландшафтом.

На слабых пеках было бы тоже неплохо проверить, кстати.

Yes, I have recently built openmw for Android (a5504f8cc18d98448b7d875e908864ba50820350), without any specialized patches created (only the ones from xyzz). I can notice a small amount of fps increase from bzzt's changes, so it is working correctly.

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

 

 

Использует здесь кто-нибудь OpenMW на Андроиде? Там свежие патчи из 0.46 используются?

Интересует сравнение FPS и потребления памяти с включенным удаленным ландшафтом с дефолтной дальностью прорисовки (6666) и с такой же дальностью, но с отключенным ландшафтом.

На слабых пеках было бы тоже неплохо проверить, кстати.

Yes, I have recently built openmw for Android (a5504f8cc18d98448b7d875e908864ba50820350), without any specialized patches created (only the ones from xyzz). I can notice a small amount of fps increase from bzzt's changes, so it is working correctly.

Перевожу:

 

Да, недавно я собрал OpenMW для Андроида без специализированных патчей (только с теми, что от xyzz). Я вижу небольшое улучшение FPS от изменений bzzt, это значит, что они работают правильно.

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

Очередной спам.

 

С 30 марта:

 

bzzt:

  • Ликвидированы ненужные манипуляции поля просмотрщика в данных ландшафта, они теперь оставлены на волю компилятора.

я:

  • Немного улучшены предупреждения парсера скриптов.
  • Дополнительные 2 аргумента к PlayLoopSound3D игнорируются, как к PlaySound и PlaySound3D. Позволяет работать одному из скриптов Animated Morrowind (правда, сидящие неписи всё равно пока вылезают из коллизий).
  • Корслунд давным-давно сделал хак, чтобы MultiMark.esp загружался: если 4-хбайтный заголовок записи с строкой пустой, то следующий байт пропускается. Но не было проверки на то, что запись-то на самом деле и впрямь закончилась. Фикс этого позволяет загружаться плагину мода The Return of Great House Dagoth, там заголовок одной из записей корректно указывает (отсутствующий) последующий текст пустого скрипта.
  • Когда scrawl узнал, что при включенной настройке "всегда использовать лучшую атаку" выбирается случайная атака при безоружном бое, он сделал выбор типа атаки случайным для безоружного боя вообще, что было некорректно, при отключенной настройке он должен от направления движения зависеть — поправлено.
  • Position и SetPos перемещают актёров в активную экстерьерную ячейку, если игрок находится в экстерьере, даже если актёр находится в интерьере, если новая позиция соответствует таковой ячейке. Это приблизительное копирование оригинального бага довольно странного поведения. Теперь Джулан и иже с ними будут более-менее правильно телепортироваться вслед за игроком. Спасибо, Хрнчамд.
Ссылка на комментарий
Поделиться на другие сайты

Yes, I have recently built openmw for Android (a5504f8cc18d98448b7d875e908864ba50820350), without any specialized patches created (only the ones from xyzz). I can notice a small amount of fps increase from bzzt's changes, so it is working correctly.

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

Напишите в спортлото, чтобы добавили новый тип объектов - leveledspells - по аналогии с левеледитемами. Чудовищное упущение оригинального движка.

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

Напишите в спортлото, чтобы добавили новый тип объектов - leveledspells - по аналогии с левеледитемами. Чудовищное упущение оригинального движка.

Формат ESM-файлов в обозримом будущем никто менять не будет. Как минимум, для этого нужен полнофункциональный редактор.

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

NullCascade в Дискорде написал, что

> Even I'm tempted by some OpenMW again. 0.45 being tentatively stable has me excited to do a co-op tes3mp game with a friend.

> OpenMW dev environment was also super simple to set up this time. Kudos to the new guys working there. The game is (at first glance at least) stable and dev environment is easy as pie.

Это прям в рамочку можно вешать.

Надеюсь, что сподобится наконец накодить что-нибудь для OpenMW.

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

NullCascade в Дискорде написал, что

Это прям в рамочку можно вешать.

Надеюсь, что сподобится наконец накодить что-нибудь для OpenMW.

 

Вот пусть поддержку lua и прикрутит)

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

Это прям в рамочку можно вешать.

Учитывая, что с нашей стороны ничего особо не поменялось, это очень странно.

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

Да, пересадить бы Морку на нормальный движок.

 

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

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

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

Да что вы говорите? Настолько тормозной что даже на смартфонах игра нынче полностью проходится? Тот же МФР на OpenMW работает куда производительнее на ПК. Вот скоро дождемся более адаптированной сборки - будет прям замечательно) С чего вообще вывод такой, что свободно распространяемые библиотеки это плохо? Хотите морровинд от фанатского сообщества на проприетарном движке без кроссплатформенности?

Возможно ошибаюсь, но вроде говорилось что как раз openmw умеет в многопоточность, правда умеет в это пока не очень хорошо. Да и разработка идет довольно активно, с последними релизами целый ворох исправлений завезли

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

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

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

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

Потом авторы MGE увеличили дистанцию обзора, и убедили пользователей и плагиностроителей, что 20-30 FPS в игре - это норма.

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

Поздние TES-игры, к счастью, используют более крупные шейпы, иначе там бы всё тормозило по-страшному, т.к. модели более детализированные, а отрисовка не параллелится в принципе, эта фича была добавлена только в DirectX12.

До плагиностроителей же через 15 лет после выпуска игры наконец-то дошло, что ресурсы игры тоже можно и нужно оптимизировать, благодаря чему появились Morrowind Optimization Patch и Atlas Project.

 

И да, у многих OpenMW работает быстрее, чем MGE с теми же настройками, и использует он по умолчанию 4 потока (основной поток, поток отрисовки, поток предзагрузки и поток генерации навмешей).

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

В русской локализации теперь правильно происходит автоматическое обнаружение гиперссылок в диалогах.

А как работает эта система?

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

А как работает эта система?

Как обычно на английской версии. @# тупо убираются, вместо этого автоматически ищутся соответствия из top-файлов, а теперь еще и точные названия тем.

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

Как обычно на английской версии. @# тупо убираются, вместо этого автоматически ищутся соответствия из top-файлов, а теперь еще и точные названия тем.

Ну смотри, в нашем топ файле есть

об    Орк

мне    Мор

может    возможности

Он    топор

Не получится ли месиво из фигни?

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

Как обычно на английской версии. @# тупо убираются, вместо этого автоматически ищутся соответствия из top-файлов, а теперь еще и точные названия тем.

Лучше бы вики-разметку нормальную запилили.

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

Ну так проверь. Частичная подсветка слов допускается, но полная имеет бОльший приоритет.

Однако, если мне память не изменяет, система гиперссылок в локализации позволяла жестко задавать гиперссылки в неоднозначных ситуациях - то есть если у персонажа есть топики "есть работа", "есть" и "работа", можно было при наобходимости написать "@есть# @работа#", что бы получить последний два топика, а не первый. И вроде бы это даже где-то встречалось.

 

Лучше бы вики-разметку нормальную запилили.

Угу, надо. Но это новый формат файла нужен, в оригинальные диалоги вики-ссылки не поместятся.

 

А вот на правах оффтопа, такая мысль пришла - нужны ли, с нарративной точки зрения, для морровиндовского диалогового движка такие функции разметки, как различные начертания текста? Полужирный, курсив, КАПИТЕЛЬ?

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

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

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

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

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

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

Войти

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

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

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