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

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

Обновил шапку темы.

Спасибо, но я или читаю как-то плохо, либо не вник. Всё же почему блестят скалы? Даже если все эффекты в конфиге ОпенМВ отключаю. На текстурах какой-то файл с нормалями, и он подхватывается автоматом?

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

И в шапке про дискорд канал ничего не написано =(

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

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

Кстати. Тестил тут 045 и 046 сборки... Какие же системные требования у движка? При отключенном ВСЁМ, то бишь и шейдерах, и тенях, и дистанд-лэнде в таких местах, как Балмора и Сейда он выдаёт в среднем 20 ФПС. Думал, что это я намудрил с ретекстурами и моделями, ан нет... Чистая сборка - 59 кадров в помещениях. Атлон у меня двуядерный, по 2.8 ггц.. не в него ли упирается производительность?

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

Чистая сборка - 59 кадров в помещениях.

Вертикальную синхронизацию надо выключить. 

 

 

Думал, что это я намудрил с ретекстурами и моделями, ан нет...

К сожалению, но тяжёлыми ретекстурами движок давится. Тот же 4к подчистую вынес мою сборку =(

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

Кстати. Тестил тут 045 и 046 сборки... Какие же системные требования у движка? При отключенном ВСЁМ, то бишь и шейдерах, и тенях, и дистанд-лэнде в таких местах, как Балмора и Сейда он выдаёт в среднем 20 ФПС. Думал, что это я намудрил с ретекстурами и моделями, ан нет... Чистая сборка - 59 кадров в помещениях. Атлон у меня двуядерный, по 2.8 ггц.. не в него ли упирается производительность?

Телепаты в отпуске, кек. Какая видеокарта, какая операционная система, сколько оперативной памяти?

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

Телепаты в отпуске, кек. Какая видеокарта, какая операционная система, сколько оперативной памяти?

Ребят, давайте без грубостей, ок? Всё пучком.

Видеокарта у меня Radeon R7 200, 1Gb GDDR5, сижу на 7 венде щас (Service Pack 1, 64 bit), потому дрова официальные проприетарные. Единственное, что давно не обновлял их, ибо "работает - не трожь".

AMD Athlon II X2  - цп, по 2.8 в ядре. Оперативки 20 гигов, разрешение 1920на1200, и всё, что Обливион и Скайрим - всё это на максималках выдаёт до 60 фпс, хотя местами по ситуации, конечно, провисать может. Тут же, по идее, должновыдавать стабильные 60 фпс, и чёрта с два. Сборки пробовал разные, и 32 бита, и 64, как моя система, разницы не видно. Что стабильный релиз .45, что ночной .46 - без разницы. И это БЕЗ модов, ретекстуров и плюшей движка. Ибо с модами и тенями города, вроде Балморы, дают слайдшоу и падение ФПС до 5.

 

По поводу синхронизации - пробовал, не влияет ни на что, а вот отключение шейдера воды 15-20 кадров добавляет, местами и больше. Но даже в этом случае ФПС скачет очень сильно. Сам шейдер настраиваю так, чтобы он отображал террэйн, то есть даже он работает не на полную катушку, так что отключать его - не выход. Чё смеяться-то?) У меня Обливион с OBSE, и идёт, в основном плавно, а тут...

 

Может, у меня конфигурация такая, что лучше скомпилировать самому? Тогда мне консультация понадобится, я не профи в сборе из исходников, увы(

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

Профилировщик надо смотреть (нажать F3 три раза в проблемном месте и сделать скриншот). Чаще всего подобная проблема вылазит, когда пользователи, следуя вредным советам, вручную выкручивают дистанцию прорисовки объектов в плюс бесконечность. Так что settings.cfg тоже приложить было бы неплохо.

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

А, ещё вот что добавлю. Я давно запускал это дело под линуксом на ноуте, https://market.yandex.ru/product--noutbuk-toshiba-satellite-l735-11e-core-i5-2410m-2300-mhz-13-3-1366x768-4096mb-640gb-dvd-rw-wi-fi-bluetooth-win-7-hp/7683323/spec?track=tabs

 

Там чистая сборка так не провисала по кадрам, если без теней. Но я тогда тестил на последней версии движка с Ogre3D и на первой, когда они перешли на OSG. Без теней шло стабильно и плавно, примерно 40 фпс было. Без модов, да. Но я, конечно, учитываю разрешение 1366 на 720..

 

 

Профилировщик надо смотреть (нажать F3 три раза в проблемном месте и сделать скриншот). Чаще всего подобная проблема вылазит, когда пользователи, следуя вредным советам, вручную выкручивают дистанцию прорисовки объектов в плюс бесконечность. Так что settings.cfg тоже приложить было бы неплохо.


Щас погляжу. Но ещё раз добавлю, товарищи: я ВЫКЛЮЧИЛ и тени, и шейдеры, и дистанд лэнд, и при этом в городах просадки до 20 кадров и ниже (с оставленным шейдером воды). Чуть позже пришлю скрин.
Кстати конфиг у меня зовётся settings-default.cfg, и всё настраивал в нём. Он в директории ОупенМВ. Может где-то есть ещё один?
Ссылка на комментарий
Поделиться на другие сайты

Ещё раз, файл называется settings.cfg, местоположения на разных операционных системах гуглятся. Файл settings-default.cfg не предназначен для редактирования пользователем.

И скриншота профилировщика я по-прежнему не вижу.

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

 

Ещё раз, файл называется settings.cfg, местоположения на разных операционных системах гуглятся. Файл settings-default.cfg не предназначен для редактирования пользователем.
И скриншота профилировщика я по-прежнему не вижу.

 

https://yadi.sk/d/W2uMQKNSQwyaAA

 

Грузанул на яндекс. Файл я редактировал из директории программы, да. Но я переустанавливал движок, файл менялся на дефолтный, все мои настройки сбрасывались. А пользовательский файл я и не трогал вообще. Следовательно что-либо там намудрить я явно не мог..

 


Добавил в архив ещё 3 скрина, где фпс около 10. Это 0.46х64бит, на полную включены отражения шейдера воды. Конфиг дефолтный, ничего больше не тронуто.

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

А это нормально, что неписи в OpenMW говорят не раскрывая рта? Или у меня что-то глючит?

Нет, я такое замечал с одной из версий 0.46 сборки. Потом проблема пропала. У тебя какая версия?

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

0.46, последняя версия.

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

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

А это нормально, что неписи в OpenMW говорят не раскрывая рта? Или у меня что-то глючит?

Была регрессия, Капо починил, качай последнюю ночную сборку. 

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

https://yadi.sk/d/W2uMQKNSQwyaAA

 

Грузанул на яндекс. Файл я редактировал из директории программы, да. Но я переустанавливал движок, файл менялся на дефолтный, все мои настройки сбрасывались. А пользовательский файл я и не трогал вообще. Следовательно что-либо там намудрить я явно не мог..

 

Добавил в архив ещё 3 скрина, где фпс около 10. Это 0.46х64бит, на полную включены отражения шейдера воды. Конфиг дефолтный, ничего больше не тронуто.

Судя по скринам, ваш процессор занят всем, чем угодно, кроме обработки кадров игры.

Гугл говорит, что в AMD AthlonII X2 всего два ядра и нет HyperThreading. Это значит, что любая фоновая задача (от внешней типа антивируса или браузера до OpenMW-шной типа генерации навмешей и предзагрузки локаций) будет снижать FPS.

Общие советы:

1. Отключить шейдер воды

2. Отключить навмеши:

[Navigator]
enable = false

3. Отключить предзагрузку локаций:

[Cells]
preload enabled = false

4. Удостовериться, что на машине не запущено других ресурсоёмких процессов (через диспетчер задач).

5. Подумать об использовании оригинального Морровинда, т.к. основные фичи OpenMW всё равно пришлось отключить из-за слабого CPU.

6. Подумать об апгрейде CPU

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

Судя по скринам, ваш процессор занят всем, чем угодно, кроме обработки кадров игры.

Гугл говорит, что в AMD AthlonII X2 всего два ядра и нет HyperThreading. Это значит, что любая фоновая задача (от внешней типа антивируса или браузера до OpenMW-шной типа генерации навмешей и предзагрузки локаций) будет снижать FPS.

Общие советы:

1. Отключить шейдер воды

2. Отключить навмеши:

[Navigator]
enable = false

3. Отключить предзагрузку локаций:

[Cells]
preload enabled = false

4. Удостовериться, что на машине не запущено других ресурсоёмких процессов (через диспетчер задач).

5. Подумать об использовании оригинального Морровинда, т.к. основные фичи OpenMW всё равно пришлось отключить из-за слабого CPU.

6. Подумать об апгрейде CPU

Ну так я и думал, что дело в ЦПУ. Я и сам его давно менять планирую. Я щас попробую предзагрузку локаций вырубить, глянем, что будет. Спасибо.

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

За 7 дней:

 

я:

  • Переписал код мерцания/пульсирования источников света, теперь примерно соответствует оригинальному на основе инфы от NullCascade, основанной на исследованиях Хрнчамда.
  • Добавил поддержку настройки LinearMethod и QuadraticMethod для затуханий в Morrowind.ini. Ничего интересного в них нет.
  • Скриптовая функция GetEffect теперь не отстаёт на кадр.
  • Тексели за границами не-тайляющихся текстуры теперь не темнее, чем им следует быть, а в точности соответствуют цветам по границам текстур.
  • Добавил поддержку NiPalette и двух пиксельных палеттизированных форматов. Правда, известен только один мод, которому эта поддержка необходима.
  • Переход к подводному звуковому эффекту (реверберации) теперь глаже.
  • Плавающие существа и актёры, пытающиеся плавать быстро, теперь могут использовать вместо анимации бега (SwimRunForward/RunForward) анимации хождения (WalkForward). Исправляет поведение тигровой акулы в Lothavor's Legacy.
  • DisablePlayerLooking теперь работает.
  • Имена объектов теперь не могут быть пропаршены как содержащие цветовые коды.
  • Обработка состояния прыжка больше не зависит от частоты кадров (т.е. нельзя потерять слишком много усталости или приобрести слишком много опыта акробатики)
  • При включенной настройке show effect duration у источников света продолжительность человекочитаемая вплоть до количества лет, если она достаточная
  • Исправлены глюки состояния стелса в неподходящих для него ситуациях

akortunov:

  • Сброс состояния двери при выполнении Lock теперь работает в точности как обычное закрытие двери, только моментальное. Раньше использовался неверный порядок поворота и в модах типа The Doors (ворота для Альд'руна, Балморы и т.п.) створки не в ту сторону поворачивались ночью.

ArgonianAccount:

  • Ответы на вопросы появляются в опроснике Эргаллы в случайном порядке и использует опросник оригинальную логику выбора класса.

elsid:

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

[*]Добавил поддержку NiPalette и двух пиксельных палеттизированных форматов. Правда, известен только один мод, которому эта поддержка необходима.

 

А что за мод? И для чего нужны эти палеты?
Ссылка на комментарий
Поделиться на другие сайты

А что за мод? И для чего нужны эти палеты?

Мод на автомат Калашникова, там текстуру прямо внутрь NIF-файла запихнули.

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

NiPalette (палитра) содержит до 256 32-хбитных цветов. В NiPixelData, данных внутренней текстуры модели, которая может быть назначена на NiSourceTexture, может использоваться специальный формат данных (2 палеттизированных пиксельных формата), при котором каждый пиксель означает не цвет, а индекс цвета в палитре. При этом каждый индекс 8-битный, а цвет 32-хбитный - или 24-хбитный, если формат или палитра отбрасывает альфу. То есть при правильно сделанной палитре можно обойтись 256 цветами и заметно сэкономить в памяти и в размере модели, если уж в неё запихали текстуры.

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

А движочек-то покушать любит. Влепил себе на материнку FX 8350, а это, на секундочку, 8 ядер по 4 Ггц. Если врубить все плюшки в виде теней и дистантлэнда, то местами 10 ФПС поймать можно. Среднее значение, с которым бегает игра - 30 кадров, и с этим порядок, вполне плавно и приемлемо. Плюс - параллельно запущены браузер и лайтрум. Но тот же Обливион всё равно быстрее. Такое чувство, что производительность упирается во что-то, связанное с OpenGL... У вас как игра себя ведёт на каких конфигах?

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

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

Вот тут рассказано, во что упирается производительность:

http://www.fullrest.ru/forum/topic/18520-openmw-ili-mechty-inogda-sbyvayutsya/page-130?do=findComment&comment=989588

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

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

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

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

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

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

Войти

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

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

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