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

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

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

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

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

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

UnPinned posts
17 часов назад, akortunov сказал:

Небольшой обзор важных нововведений для OpenMW 0.49 за июль август:

1. Реализован API для интеграции Lua с MWScript.

2. Изменено местоположение дампов вылетов на Windows - их переносили в директорию с временными файлами, теперь перенесли в директорию с профилем пользователя (%USERPROFILE%).

3. Реализован API для работы с журналом через Lua.

4. Реализована поддержка флага NegativeLight для магических эффектов.

5. Реализован API для работы с магическими эффектами через Lua (пока без возможности добавления новых магических эффектов).

6. Портирована библиотека для работы с UTF-8 из Lua 5.3 для ранних версий Lua (например, LuaJIT использует 5.1).

7.  Реализован API для работы с виртуальной файловой системой OpenMW через Lua (прочитать содержимое заданного файла в виде строки, получить список файлов в виртуальной директории и т.д.).

8. Реализован API для работы со звуками через Lua (но не с музыкой).

9.  Реализован API для управления игровыми окнами через Lua (например, открыть-закрыть инвентарь или зарегистрировать свою реализацию инвентаря вместо стандартной).

10. Очередная пачка никому не нужных фиксов для загрузки ESM-файлов и моделей из новых игр (преимущественно Fallout 4).

Отличные новости! Спасибо огромное за информацию!

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

В 9/4/2023 в 10:09 PM, akortunov сказал:

Небольшой обзор важных нововведений для OpenMW 0.49 за июль август:

1. Реализован API для интеграции Lua с MWScript.

2. Изменено местоположение дампов вылетов на Windows - их переносили в директорию с временными файлами, теперь перенесли в директорию с профилем пользователя (%USERPROFILE%).

3. Реализован API для работы с журналом через Lua.

4. Реализована поддержка флага NegativeLight для магических эффектов.

5. Реализован API для работы с магическими эффектами через Lua (пока без возможности добавления новых магических эффектов).

6. Портирована библиотека для работы с UTF-8 из Lua 5.3 для ранних версий Lua (например, LuaJIT использует 5.1).

7.  Реализован API для работы с виртуальной файловой системой OpenMW через Lua (прочитать содержимое заданного файла в виде строки, получить список файлов в виртуальной директории и т.д.).

8. Реализован API для работы со звуками через Lua (но не с музыкой).

9.  Реализован API для управления игровыми окнами через Lua (например, открыть-закрыть инвентарь или зарегистрировать свою реализацию инвентаря вместо стандартной).

10. Очередная пачка никому не нужных фиксов для загрузки ESM-файлов и моделей из новых игр (преимущественно Fallout 4).

Круто!

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

А что по лодам? Есть в планах сделать генерацию лодов по аналогии с навмешами ещё в лаунчере? Или "это другое"?

В 23.07.2023 в 4:35 PM, akortunov сказал:

В OpenMW на данный момент нет автоматического генератора LOD-ов, потому что бОльшая часть разработчиков против того, чтобы держать кэш на диске и генерировать его заново каждый раз, когда подключается-отключается-изменяется какой-нибудь мод. Соответственно, модели отрисовываются с полной детализацией, и каждый раз "на лету" читаются данные из NIF-файлов, по ним строится сцена удалённых ячеек, и всё это кэшируется в ОЗУ. В результате бюджетные GPU не тянут огромное количество полигонов при большой дистанции обзора (особенно когда используются высокопологональные модели). Плюс я не уверен, что 8 ГБ ОЗУ хватает для хранения данных для половины игрового мира сразу (а при повороте камеры - ещё и для второй половины мира).

В 0.48 только снижать дистанцию обзора (с 1050-й - 5-6 ячеек с чистой игрой, 3-4 с MFR). В 0.49 можно добавить модели с суффиксом _far, и OpenMW их подцепит. Но их нужно будет "готовить" вручную.

 

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

9 минут назад, morrow сказал:

  А что по лодам? Есть в планах сделать генерацию лодов по аналогии с навмешами ещё в лаунчере? Или "это другое"?

Да всё то же самое, что и раньше. Часть разработчиков в принципе против того, чтобы кэш лодов на диске держать. К тому же в новых играх Беседки свои форматы лодов, и их тоже по идее как-то загружать надо.

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

  • 1 месяц спустя...

Хотелось бы прервать молчание в этой теме и задать пару вопросов о далеком (или не очень) будущем OpenMW: 1) Можно ли на OpenMW в будущем будет сделать анимации персонажей и существ в Морровинде уровня Скайрима или даже лучше? 2) Будет ли OpenMW в будущем поддерживать физику тел и предметов как в Обливионе или Скайриме?

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

1 час назад, Stenchers сказал:

Можно ли на OpenMW в будущем будет сделать анимации персонажей и существ в Морровинде уровня Скайрима или даже лучше?

Хоть сейчас делай.

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

2 часа назад, Stenchers сказал:

1) Можно ли на OpenMW в будущем будет сделать анимации персонажей и существ в Морровинде уровня Скайрима или даже лучше?

Можно хоть сейчас, если уметь. Авторы ОпенМВ сами новые анимации не делают.

2 часа назад, Stenchers сказал:

2) Будет ли OpenMW в будущем поддерживать физику тел и предметов как в Обливионе или Скайриме?

Теоретически - да. Практически - зачем? Игровой мир, построен без учёта физики предметов, механик для её использования в игре нет.

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

В 22.10.2023 в 8:22 PM, morrow сказал:

Теоретически - да. Практически - зачем? Игровой мир, построен без учёта физики предметов, механик для её использования в игре нет.

Ну, чтобы красиво играть от третьего лица было, полагаю. 🙂

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

  • 2 месяца спустя...

Всех с Новым Годом!

За последние месяцы OpenMW получил множество исправлений. Наиболее существенные изменения:

1. Существа научились использовать зелья, как в оригинальном движке.

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

3. У сохранений в меню загрузки отображается информация о здоровье персонажа и текущий игровой день, как в оригинальном движке.

4. Прекращена поддержка сохранений, сделанных до версии 0.40. Такие сохранения можно сохранить заново в 0.48 и продолжить их использовать, если они очень нужны.

5. Если при загрузке сохранения отсутствуют требуемые для него плагины, то выводится список этих плагинов (также его можно скопировать в буфер обмена).

6. Lua научился в JIT-компиляцию, что позволило значительно повысить производительность Lua-скриптов.

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

8. Стали использоваться строки из Morrowind.ini, определяющие, при какой погоде на воде должны быть круги от осадков (по умолчанию они там только для дождя).

9. Реализована возможность экипировать только часть пачки объектов (например, стрел), как в оригинальной игре.

10. Расширен API для Lua. Были добавлены функции для работы с прочностью снаряжения, с записями классов персонажей, а также событие для выполнения кода при гибели персонажа.

11. Доработан лаунчер - починен виджет выбора разрешения экрана, а также переделан код лаунчера, который не умел работать с Qt-шной локализацией. Возможно, лаунчер скоро обзаведётся русским языком.

12. Доработано освещение от точечных источников света (типа фонарей).

13. В редакторе появилась функция клонирования объектов.

14. Реализована поддержка узлов NiFogProperty и NiParticleBomb для NIF-моделей из модов.

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

4 минуты назад, RAVIRR сказал:

Как в OpenMW 0.48 можно приближать изображение на карте? 

Включить опцию "Can zoom on maps" в лаунчере OpenMW и использовать колёсико мыши в игре.

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

  • 4 недели спустя...

Здравствуйте подскажите пожалуйста есть ли установщик OpenMW 49 версии или он еще не вышел просто столкнулся с этой проблемой а теперь он мне необходим потому что мне уже не загрузить сохранение на 48 версию есть ли идеи как мне это обойти?

screenshot000.png

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

11 часов назад, Kronis сказал:

есть ли установщик OpenMW 49 версии

А до этого где брал? Возьми там снова.

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

Просто я по тупости сохранился в 49 версии из за этого мода https://www.nexusmods.com/morrowind/mods/53842 теперь не знаю как откотится обратно на 48 версию там просто неприятный баг когда берешь алхимические ингриндиенты в инвенторе иконки дергаются

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

  • 1 месяц спустя...

Обзор наиболее важных изменений в проекте за январь-февраль:
1. В лаунчере OpenMW и мастере настроек появилась поддержка локализации средствами Qt. Сейчас там есть поддержка русского и английского языков.
2. Переработана прозрачность в шейдере воды - теперь дно видно в зависимости от глубины толщи воды, а не от расстояния  от поверхности воды до камеры
3. В Lua добавлены функции для работы с мышью, нажатиями клавиш и вызова привязанных к ним действий
4. В Lua добавлены функции для работы со знаками игрока (которые BirthSign)
5. В Lua добавлены функции для работы с прогрессией навыков
6. В Lua добавлены функции для работы с анимациями
7. В Lua добавлен новый тип скриптов - для работы в главном меню

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

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

4 часа назад, akortunov сказал:

Обзор наиболее важных изменений в проекте за январь-февраль:
1. В лаунчере OpenMW и мастере настроек появилась поддержка локализации средствами Qt. Сейчас там есть поддержка русского и английского языков.
2. Переработана прозрачность в шейдере воды - теперь дно видно в зависимости от глубины толщи воды, а не от расстояния  от поверхности воды до камеры
3. В Lua добавлены функции для работы с мышью, нажатиями клавиш и вызова привязанных к ним действий
4. В Lua добавлены функции для работы со знаками игрока (которые BirthSign)
5. В Lua добавлены функции для работы с прогрессией навыков
6. В Lua добавлены функции для работы с анимациями
7. В Lua добавлен новый тип скриптов - для работы в главном меню

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

Отличная новость. Поддержка Луа прогрессирует, и это здорово. Второй пункт звучит очень вкусно - с верхних этажей кантонов Вивека вода должна выглядеть живописнее.

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

1 час назад, Марк К. Марцелл сказал:

Отличная новость. Поддержка Луа прогрессирует, и это здорово. Второй пункт звучит очень вкусно - с верхних этажей кантонов Вивека вода должна выглядеть живописнее.

Ну я бы не сказал, что сильно живописнее, но теперь хотя бы плавные переходы у береговой линии (где вода не глубокая) при включенной рефракции есть, а не просто идеально ровная зеркальная поверхность.
image.thumb.png.362f42a27e9817bac40108595d9643e3.png

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

6 часов назад, akortunov сказал:

Ну я бы не сказал, что сильно живописнее, но теперь хотя бы плавные переходы у береговой линии (где вода не глубокая) при включенной рефракции есть, а не просто идеально ровная зеркальная поверхность.

Как раз эта поверхность невыгодно отличала ОМВ от МГЕ. И даже от оригинала с шейдерной водой. Теперь разница не будет так сильно бросаться в глаза.

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

В 29.02.2024 в 8:52 AM, akortunov сказал:

Обзор наиболее важных изменений в проекте за январь-февраль:
1. В лаунчере OpenMW и мастере настроек появилась поддержка локализации средствами Qt. Сейчас там есть поддержка русского и английского языков.
2. Переработана прозрачность в шейдере воды - теперь дно видно в зависимости от глубины толщи воды, а не от расстояния  от поверхности воды до камеры
3. В Lua добавлены функции для работы с мышью, нажатиями клавиш и вызова привязанных к ним действий
4. В Lua добавлены функции для работы со знаками игрока (которые BirthSign)
5. В Lua добавлены функции для работы с прогрессией навыков
6. В Lua добавлены функции для работы с анимациями
7. В Lua добавлен новый тип скриптов - для работы в главном меню

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

Замечательно! Вопрос: насколько сейчас далек OpenMW Lua от Lua MWSE?

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

29 минут назад, Stenchers сказал:

Замечательно! Вопрос: насколько сейчас далек OpenMW Lua от Lua MWSE?

Если вопрос в плане "когда можно будет завести MWSE-шные скрипты в OpenMW", то никогда не получится их завести, т.к. дизайн концептуально другой.
Если в плане "когда в OpenMW будут доступны все функции из MWSE-Lua", то тоже никогда, потому что некоторые функции (типа прямого изменения ячеек оперативной памяти процесса Морровинда, прямого доступа к файловой системе, запуска внешних процессов и т.д.) в принципе не имеют смысла в кроссплатформенном приложении.

Из прямо таки основного функционала в OpenMW-Lua пока всё плохо с графом сцены (потому что некоторые графические фичи могут менять этот граф), с морровиндовским интерфейсом (Lua-виджеты ничего о нём не знают, и не будут знать) и с игровой механикой (пока не понятно, целиком её переписывать на Lua, или же оставлять какие-то части на С++ и добавлять Lua API для них).

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

В ОМВ в целом удобное клавишное управление в меню. Но в меню ожидания клавиши курсора выбирают не время ожидания, а переключают кнопки "Ждать" и "Отмена".

Есть ли планы по изменению этого мелкого, но досадного неудобства?

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

22 минуты назад, Марк К. Марцелл сказал:

В ОМВ в целом удобное клавишное управление в меню. Но в меню ожидания клавиши курсора выбирают не время ожидания, а переключают кнопки "Ждать" и "Отмена".

Есть ли планы по изменению этого мелкого, но досадного неудобства?

Клавишное управление - для клавиш. С ползунками оно в принципе не работает, так что нет.

Но в некоторых менюшках (типа того же меню отдыха) ползунок через клавиши "вверх/вниз" и "W/S" регулируется.

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

Ещё вопрос - какой консольной командой можно вызвать техническую информмацию? ToggleDebugText не работает. Если есть где-то список всех консольных команд опена - буду признателен.

Заодно отловил баг - альттаб из игры ресетит положение и размер окна консоли. Проверил инвентарь - там этого бага нет. 

17 минут назад, akortunov сказал:

Но в некоторых менюшках (типа того же меню отдыха) ползунок через клавиши "вверх/вниз" и "W/S" регулируется.

Ага. Есть такое. Можно регулировать клавишами вверх, вниз, Ц, Ы и колесом мыши (если навести на скроллбар). Спасибо.

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

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

Вы сможете оставить комментарий после входа в



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

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