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

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

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

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

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

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

UnPinned posts

По чьему уму и какой логике? Все как в Моррке.

Вот это:

 

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

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

С 23 декабря:

 

xyzz:

  • В C-файл, нужный для Android, случайно попали nullptr вместо NULL
  • Для Android добавлены методы по добыванию относительных движений мышью
  • volatile булевы заменены на atomic булевы для более адекватной синхронизации потоков
  • Исправлена инвалидация какого-то итератора в экране загрузки из-за потери callback'а

corristo:

  • В CMake 3.13 поломали сборку под macOS, сделаны шаги по принуждению к сборке под CMake 3.12.4, пока в самом CMake не поправят проблему

я:

  • Обновлена документация по шрифтам (заменена немного переделанной статьей с вики с тем же контентом, которая впоследствии стала снесена)
  • Высота падений теперь не сбрасывается принудительно при загрузке сохранений без того, чтобы обновить положение "на земле" в физике
  • При добывании численных значений из openmw.cfg, импортированных из Morrowind.ini, теперь ловятся исключения, и не будет происходить всяческих проблем, если в конфиг случайно попал текст (вылеты, поломанные источники света, вода, луны и т.п.), просто вместо сломанных значений будут использоваться нули, а пользователь предупреждаться
Ссылка на комментарий
Поделиться на другие сайты

У меня вот возник вопрос чисто для размышления. Сейчас OpenMW использует графический движок OpenSceneGraph (OSG). В данный момент идёт разработка его приемника, VulkanSceneGraph (VSG), который в отличии от OSG обещает нам потрясающую производительность, в несколько раз лучшую от предшественника, да и что-то там писалось за функционал. Весь 2019 год будет идти разработка VSG и только конец 2019/начало 2020 обещают релиз 1.0. Так вот вопрос для размышления. Будет ли команда OpenMW рассматривать VSG в будущем на замену OSG? Или после Огры ОСГ навеки вечные будет основой для OpenMW? К слову у меня этот вопрос возник после чтения этой темы и чтения репозитория с тенями на хабе, вот я и начал шерстить информацию по этому поводу, наткнувшись на VSG. 

 

Если кому будет интересно узнать больше информации:

Основная страница VSG

Дорожная карта 

Философия и принципы проекта

High Level Design Decisions

 

зы: akortunov, потрясающая работа  :thumbsup:  :-)

2зы: ну и к завершающему слову, 31.12.2018 вышла новая версия Bullet

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

Есть несколько проблем, из-за которых VSG вряд ли будет в ближайшем будущем использоваться:

1. Его в лучшем случае доведут до ума году так к 2021.

2. Даже когда его доведут до ума, потребуется большое количество усилий, чтобы портировать сложный движок с OSG в VSG, т.к. там не планируется обратная совместимость, как я понял. Сейчас у нас портировать его некому.

3. Vulkan не поддерживается старыми устройствами (которые не поддерживают OpenGL 4.x). Сейчас OpenMW вроде требует OpenGL 2.0.

 

Короче, году к 2025 может что и выгорит, когда Vulkan уже везде будет.

 

 

 

2зы: ну и к завершающему слову, 31.12.2018 вышла новая версия Bullet.

Там ничего особенно интересного, работа в основном велась над API для Python, который нам нафиг не нужен.

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

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

1. Да хоть к 2022, меня больше волнует судьба OpenMW, кабы его развитие не застопорилось и не забросилось!))

2. Я возможно неправильно понял, но

 

 

  • osg2vsg utility library that integrates OpenSceneGraph with the VSG to leverages data and image loaders.

3. Вот кстати одна из проблем концепции OpenMW как раз таки в старых устройствах. Я об этом давно хотел написать, но никак руки не доходили. Зачем вообще делать акцент на старых устройствах (речь идёт о железе второй половины нулевых годов и некоторых огрызков начала десятых). Ведь невзирая на то, что Морка вышла аж в 2002 году, OpenMW позиционирует себя как игровой движок с открытым исходным кодом и будущей платформой для других разработчиков с их проектами.  Взять другие, более свежие игровые движки. Речи о поддержке старого железа там и речи не идёт. Зачем же в данном случае пытаться угнаться за десятью зайцами? 

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

  • osg2vsg utility library that integrates OpenSceneGraph with the VSG to leverages data and image loaders.

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

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

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

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

Два человека (sandstranger и xyzz), причем время от времени, с длинными перерывами. Также следует учитывать, что порт неофициальный и собственно разработчики OpenMW его не разрабатывают.

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

Два человека (sandstranger и xyzz), причем время от времени, с длинными перерывами. Также следует учитывать, что порт неофициальный и собственно разработчики OpenMW его не разрабатывают.

исходя из того, что первый объявил о своем решении на 4пда о прекращении работ над проектом, думаю нескоро мы увидим комфортно работающую версию программы на андроид.
Ссылка на комментарий
Поделиться на другие сайты

Там еще вроде беседка кровавые жвала высовывала по поводу ведроидной версии, так что ведроид-порт вообще в любую секунду накрыть мокрым рядном могут.

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

Там еще вроде беседка кровавые жвала высовывала по поводу ведроидной версии, так что ведроид-порт вообще в любую секунду накрыть мокрым рядном могут.

Возможно потому, что при нормально работающем на мобильных платформах Морровинде их Blades будет нафиг не нужен.

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

Возможно потому, что при нормально работающем на мобильных платформах Морровинде их Blades будет нафиг не нужен.

Да он и сейчас не нужен. Перенос первых игр серий на смартфон был бы интереснее, чем новый Скайрим.

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

С 7 января.

 

Андрей:

  • Время обновления физики и остального мира профилировщиком считается отдельно.
  • Вес расы больше не влияет на вид от первого лица, как и в Морровинде, что позволяет исправить кривое прицеливание из лука для рас, у которых отношение "рост к весу" не 1:1.
  • Размер шрифта больше не достаётся каждым виджетом отдельно.
  • Заклинания и способности, добавляемые знаком рождения, не добавляются каждый раз при загрузке сейва. То, что было раньше, Морровинд не делает и совместимость с модами ломало. Вообще это был костыль для правильной работы импортера сейвов, который плохо умеет активные эффекты импортировать, но лучше импортер доделать, чем остальное ломать.
  • Исправлены последние известные ошибки, найденные Coverity
  • Где возможно в кодовой базе вместо stringstream используются простые string (с использованием std::to_string, если необходимо), что позволяет заметно сократить код

я:

  • Фиксы для улучшения совместимости с Sotha Sil Expanded:
  • GetSpellEffects, GetSpell и GetEffect возвращают 0 для неактёров, что позволяет скрипту компилироваться даже в таком случае. Частично улучшает ситуацию с головоломкой в Интерьерах Иллюзии Хранилища Магнуса, но в скрипте всё ещё надо поправить "else if" на "elseif", чтобы он собрался.
  • Если в записи актёра нет записи AIDT (данных ИИ, то есть рейтингов действий и услуг, которые оказывает актёр), что чаще всего связано с нулями в рейтингах при сохранении плагина в OpenMW-CS, например, правильно используются нули вместо произвольных данных, туда попавших.
  • Флаг прыжка игрока, возвращаемый GetPCJumping не сбрасывается, если активен эффект замедленного падения. Позволяет снова правильно работать Ногам Сехта, у которых способность с этим эффектом добавляется игроку на время прыжка.
  • К сожалению, вряд ли получится достигнуть идеальной совместимости с "чистым" SSE в скриптах, но Trainwiz предложил сделать патч для OpenMW и поместить его на странице мода, если нужно, и навёл на мысль по поводу одной проблемы.
  • Возможно, перебрал с чисткой кода от ненужного.
  • Фиксы нескольких циклов: игрок в режиме бога мог сломать применение урона к соседним неписям на опасных моделях типа лавы, попытка убедиться, что существует эффект призыва, в одном месте, не прекращалась даже после достижения полученного, спаун случайных существ прекращался вовсе, если из уровневого списка по какой-то причине не доставалось существо, а не просто пропускал итерацию

tackeart:

  • В документацию добавлен полезный совет насчёт удаления затесавшихся NiTextureEffect из модели скопом в NifSkope.

Пока ожидают времени:

я:

  • Снова фиксы регрессий 0.45.0
  • Где имеет смысл, заменены макросы численных пределов из C

Андрей:

  • Исправлен потенциальный конфликт между постоянными эффектами (корпрусом) и обыкновенными в сейвах, делающий невозможным их загрузку
  • Несколько словарей в скиннинге заменены на векторы, работа с элементами которых происходит быстрее при просмотре каждого их элемента по порядку. Это, например, срезает почти миллисекунду на кадр при использовании Robert's Bodies, Better Clothes и Better Morrowind Armor, немного сокращает время первого кадра после загрузки сейва (в который происходит вынужденная "дозагрузка" игры, инициализация скелетов и т.д.)

bzzt:

  • Судя по всему эпохальные оптимизации и фиксы ландшафта и конкретно удалённого ландшафта. Многообещающие, правда, с автором я уже повздорил.
Ссылка на комментарий
Поделиться на другие сайты

Хотелось бы спросить, если можно.

1. Увидим ли мы в 0.45 новую ai навигацию и тени?

2. Что такое регрессии? Очень часто в подобных отчётах вижу это слово. 

3. Что за документация и где с ней можно ознакомиться?

 

зы: судя по количеству новшеств и исправлений, сдаётся мне, 0.45 будет крайне масштабным. 

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

1. Нет

2. Регрессия - это баг, который появился относительно недавно в качестве побочного эффекта от внесенных изменений и не присутствует ни в одном из релизов.

3. Документация по настройке TrueType-шрифтов

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

Полная документация находится в удобном виде здесь Может немного отставать от репозиториев.

 

К слову, изменения, которые я документирую, начиная с начала ноября в массе своей не входят в 0.45.0. Это уже материал 0.46.0.

 

Замена макросов и векторы в скиннинге попали в базу.

 

Товарищ bzzt бесит уже не только меня.

 

правка: поправил ссылку

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

akortunovCapostrophic, большое спасибо за ответы. Если я правильно полагаю, 0.46 будет даже ещё крупнее, чем 0.45?
 
Насчёт товарища bzzt. Это тот случай, когда гордость ставит человека выше других. Исходя из ветки на гитлабе, человек не хочет приводить в подобающий вид свой код в соответствии стандарту OpenMW? Или там какой-то другой случай?

 

И кстати, ещё вот такой вопрос. Помнится мне, в том году шли жаркие дебаты по поводу MWSE. Что же в итоге решили?

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

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

 

Определено было не добавлять никаких новых скриптовых функций, которые отсутствуют в Morrowind, в mwscript (язык скриптов игры) и не менять функционал в сторону от оригинального поведения, но будущие разработки по поводу дехардкодинга уделить новой системе скриптинга, основанной на Lua, как скрипты TES3MP и скрипты MWSE2. Предполагалось, что Zini и Давид (TES3MP) начнут её дизайн и скорее всего она как-то основана на таковой в TES3MP. Это потребует использование модели клиент-сервер для одиночной игры. Пока они далеко не ушли, да и Zini не появлялся с декабря. Поддержки бинарных библиотек не будет, вместо этого мододелам-кодерам будет предлагаться добавить функциональность, для которой требуется поддержка, в сам движок.

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

То есть оригинальный mwse на openmw работать не будет? Насчёт Lua, вот тут я удивлён. Явно не ожидал :)
 

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

Не совсем понял, это как? Чтобы мне поиграть в одиночную моррку, мне нужно подключение к интернету, так что ли?
 

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

Я конечно не знаю, как сейчас обстоят дела с моддином моррки в целом. Судя по нексусу, более менее ещё что-то клепается. А как быть с тем функционалом, где допустим, тот же mwse добавляет определённые функции, а вот сам автор давно уже не в моддинге.

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

А как быть с тем функционалом, где допустим, тот же mwse добавляет определённые функции, а вот сам автор давно уже не в моддинге.

Ждать патчи от других ребят или делать их самому, либо искать альтернативные плагины.

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

То есть оригинальный mwse на openmw работать не будет? Насчёт Lua, вот тут я удивлён. Явно не ожидал :)

 

Не совсем понял, это как? Чтобы мне поиграть в одиночную моррку, мне нужно подключение к интернету, так что ли?

 

Я конечно не знаю, как сейчас обстоят дела с моддином моррки в целом. Судя по нексусу, более менее ещё что-то клепается. А как быть с тем функционалом, где допустим, тот же mwse добавляет определённые функции, а вот сам автор давно уже не в моддинге.

оригинальный не работает, только lua на tes3mp

Ты сам сервером выступаешь в одиночной игре.

Вопрос в том, что пока внятных мануалов по созданию плагинов под lua нет.

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

А мне всё же интересно, почему же всё таки отказались от поддержки MWSE? Разве это не геморройно подстраиваться под каждый мод? 

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

А мне всё же интересно, почему же всё таки отказались от поддержки MWSE? Разве это не геморройно подстраиваться под каждый мод? 

Это ж не они будут подстраиваться, а мододелы.

 

Всё для удобства, лол.

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

А мне всё же интересно, почему же всё таки отказались от поддержки MWSE? Разве это не геморройно подстраиваться под каждый мод? 

Про какой из MWSE вопрос? Про первый, от которого сами разработчики MWSE отказались, или про второй, который добавляет кучу низкоуровневого функционала и потому не совместим с OpenMW, т.к. на низком уровне это совершенно другая программа? И что значит "подстраиваться под каждый мод"?

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

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

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

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

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

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

Войти

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

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

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