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

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

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

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

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

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

UnPinned posts

ох и вылюбливают они свой графон...

слово все ядро уже реализовано и осталась только косметика... это реально так?

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

Функционал то по большей части реализован, осталось всё это дело оптимизировать и баги пофиксить.

OpenMW ещё предстоит нагрузить шейдерами, тенями, дистант лендом и прочими красотами - без оптимизации fps явно просядет.

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

оригинал же без красот) делали бы все это уже после 1.0...

А некому будет. Завлекать же народ надо чем-то.

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

А некому будет. Завлекать же народ надо чем-то.

эх.

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

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

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

Пусть оптимизируют в первое лицо.

Что scrawl в ближайшее время и будет продолжать делать, судя по его публичному трелло.

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

оригинал же без красот) делали бы все это уже после 1.0...

Как минимум тени в оригинале есть. И они нужны к релизу OpenMW 1.0, что непременно скажется на производительности. Так что нужен "запас прочности".

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

Хмм. На сколько я понимаю, проблемы оригинального Морроувинда с производительностью связаны во многом с жестким ограничением на максимальное количество используемой оперативной памяти. Разве в OpenMW его тоже прописали? Я понимаю, что поддержку параллельных вычислений могли пока еще не завезти, но почему не было значительного прироста производительности просто за счет доступа к большим ресурсам?
Ссылка на комментарий
Поделиться на другие сайты

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

 

Нет там жёсткого ограничения, оно из-за винды. Если считать, что у него нет доступа к более чем двум гигабайтам оперативной памяти -- так это ограничение и у FO3, и у FNV, и Облы есть, и это же ограничение деланием экзешников LAA можно убрать, так они получат ещё 1,1 ГБ в распоряжение. Даже скайрим не сразу от него освободился, а только к патчу 1.5, кажется.

 

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

 

Многопоточность у OpenMW есть, но она не так уж и помогает.

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

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

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

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

Новая пачка коммитов от scrawl'а: ещё фиксы крашей, и теперь должны заработать падающие листья вуртовских деревьев западного нагорья (кому они нужны после мельхиоровского мода, лол, но их поведение работает). Ещё TCB теперь псевдоним команды TCG -- отображаются, как при TCB в оригинальном движке, полигоны мешей коллизий, так как scrawl не понял, что вообще изображено на сетке коллизий и сомневается в нужности этой сетки.

 

Это должно быть связано с моей уборкой на багтрекере. :p

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

Почему-то мне кажется, что scrawl никогда с такой скоростью не работал... Отдаёт полугодовой долг?

 

Ещё пачка коммитов (13 штук) в репу: снова оптимизация и фиксы, но могу выделить вот что:

  • Теперь движение игрока при предзагрузке ячеек будет предсказываться
  • Базовые анимации считаются основными ресурсами для предзагрузки
  • Предзагружается ячейка игрока сразу, как только в сейве находится запись игрока
  • У индикаторов экипированных заклинаний и оружия не будет теней

Кстати, я этого не упоминал, но теперь можно выделить большее количество потоков процессора (до 4, дальше будет оверхед и падение производительности) на предзагрузку ячеек (для четырёхъядерников и двухъядерников с четырьмя логическими процессорами неактуально, так как и так используется четыре потока с одним предзагрузочным).

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

Такое еще было, когда он OpenMW на OSG портировал. Многие не верили, что это возможно в сжатые сроки.

Приятно видеть такой темп. Надеюсь, что он сохранится и в будущем.

 

Кстати, Capostrophic, не сравнивал производительность свежих сборок с 0.41? Очень любопытно, но под рукой пока только планшет. (

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

Такое еще было, когда он OpenMW на OSG портировал. Многие не верили, что это возможно в сжатые сроки.

Приятно видеть такой темп. Надеюсь, что он сохранится и в будущем.

 

Кстати, Capostrophic, не сравнивал производительность свежих сборок с 0.41? Очень любопытно, но под рукой пока только планшет. (

Эйсовы найтли несвежие, ставить Visual Studio у меня никакого желания, на Федоре, когда на неё пересел третьего числа на денёк, в собственноручно собранном опенмв никакой разницы не заметил, но основные оптимизации были уже после того, как я пересел обратно на винду, а OSG у меня был заводской 3.4.

А ещё у меня craptop.

Разве что ждать.

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

Scrawl добавил в репозиторий фиксы поведения ИИ в бою авторства Allofich'а. Теперь NPC будут вести себя более ванильно.

 

Ну и плюс традиционная пачка оптимизаций.

 

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

Все занимающиеся моддингом знают костыльную локализацию Морра. Её применили из-за того, что у локаций и топиков диалогов id и имена - это одно и то же. А в плагинах OpenMW id и имена у них разделили, так может взять англоязычные мастер-файлы и локализовать через OpenMW-CS? Ну то есть там где id и имя разделены, локализовать в самих мастер-файлах, а где нет плагином OpenCS.
Ссылка на комментарий
Поделиться на другие сайты

Хгмм, а OpenMW умеет кастомные гиперссылки? Ну, то есть что бы ссылки, скажем, "секира", "топор" и "чоппа" вели на один топик?
Ссылка на комментарий
Поделиться на другие сайты

Хгмм, а OpenMW умеет кастомные гиперссылки? Ну, то есть что бы ссылки, скажем, "секира", "топор" и "чоппа" вели на один топик?

Оу, я и не знал, что в локализованной игре так нельзя делать. В .top-файле не получится такое провернуть?

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

Оу, я и не знал, что в локализованной игре так нельзя делать. В .top-файле не получится такое провернуть?
Делать-то можно, .top-файлы именно для этого и нужны.

Я думал, может там какую разметку продвинутую прикрутили, типа вики или BBCode.

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

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

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

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

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

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

Войти

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

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

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