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

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

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

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

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

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

UnPinned posts

а, пасиб)

ну... наш человек привык не верить до тех пор пока не выйдет)

 

может, пора открывать раздел по опенМВ? да и, может, что-то делать уже можно, готовясь)

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

А я уже писал, что моделить буду под OpenMW. То есть с учетом карт нормалей и т. д.
Ссылка на комментарий
Поделиться на другие сайты

Отлично.

Я тоже могу что-то под них творить начинать потихонечку. Может, там другие функции будут или вообще напрямую код исходников править можно.

Раз разработка будет иметь специфику свою - ей не помешало б отдельное место

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

может, пора открывать раздел по опенМВ? да и, может, что-то делать уже можно, готовясь)

Мне кажется, это слишком)) Единственное, может обновить темку, а лучше создать новую, как под МГЕ, МСР и прочие.
Ссылка на комментарий
Поделиться на другие сайты

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

Разработка версии 0.35.0 завершена, на днях уже будет релиз.

Тем временем, в стане OpenMW обсуждается предложение о переходе с движка Ogre на OSG.

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

Тем временем, в стане OpenMW обсуждается предложение о переходе с движка Ogre на OSG.

Вкратце, чем они друг от друга отличаются, и чем OpenMW приглянулся последний?

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

Вкратце, чем они друг от друга отличаются, и чем OpenMW приглянулся последний?

 

Команда OpenMW была не особо довольна Ogre 1.x из-за отсутствия некоторых функций и невысокой производительности. Ждали релиза Ogre 2.х, который показался на горизонте в этом месяце, но он несколько разочаровал.

Нужные функции так и остались за бортом, новая система материалов стала менее удобной и променяла гибкость на скорость, OpenGL рендеринг по прежнему слабо оптимизирован. Вдобавок, разработчики Огра теперь распылилась на несколько версий (1.10, 2.0, 2.1), что тоже минус.

 

OpenSceneGraph - довольно быстрый, работает чисто на OpenGL и имеет нужный функционал (и даже больше).

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

Хм. Пардон, я не разбираюсь в платформах. Насколько трудоемок переезд?

 

Огр действительно не радовал производительностью, судя по релизам ОпенМВ.

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

Хм. Пардон, я не разбираюсь в платформах. Насколько трудоемок переезд?

 

Переезд, по словам Scrawl'а, "потребует гораздо больше работы, чем обновление до Ogre 2.0, но и эффект от этого будет значительнее". Причем, сей ритуал в планах до релиза 1.0.

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

Причем, сей ритуал в планах до релиза 1.0.

Кажется, придётся расстаться с мечтами поиграть в один и нуль версию в этом году. Да и в следующем, думаю, тоже. Эхех.

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

Кажется, придётся расстаться с мечтами поиграть в один и нуль версию в этом году. Да и в следующем, думаю, тоже. Эхех.

Переход на OSG уж точно не затянется настолько долго. ))

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

Интересная новость. Впервые слышу о Open Scene Graph, что не удивительно, так как никогда прежде не интересовался. Потому вопрос к знающим, если таковые здесь присутствуют: насколько этот движок перспективен, развивается ли он? А то неприятно будет, если его разработка будет заброшена или как с Ogre разработчики пойдут пилить свои версии.
Ссылка на комментарий
Поделиться на другие сайты

OSG - даже не движок, а компонент для движка, по сути это "обертка" вокруг OpenGL.

Разрабатывается более 10 лет, обновляется регулярно, последняя версия вышла в декабре 2014.

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

А что ж тогда сразу под него не делали?..

Сначала OpenMW вообще писали на D - но вот столкнулись с тем, что амало кто хорошо знает D. Думаю, тут обратная трабла.

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

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

Это да, удаленные плагинами объекты всеравно отображаются. И знают ли об этом разрабы?
Ссылка на комментарий
Поделиться на другие сайты

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

Перевод обширного поста о переходе на OSG. Можно даже в шапку темы добавить. ;)

 

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

 

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

 

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

 

Зачем это нужно?

 

Здесь нет какого-то одного камня преткновения, скорее целое скопление разных факторов.

 

Больше всего релизу версии 1.0 мешает низкая производительность по сравнению с ванильным Морровиндом. В корне этой проблемы лежат "узкие места" управления сценой и API визуализации в ветке Ogre3D 1.x, которые обещали поправить в ветке 2.х. Первоначально мы хотели портировать OpenMW на Ogre3D 2.x, что было бы непростой задачей из-за изменений в программном интерфейсе. К тому же, существуют некоторые сомнения по этому поводу:

  • Tag points: В Ogre3D мы пользовались функцией “Tag Points”, чтобы сшить воедино разные части сегментированных тел Морровинда. В ветке 2.х эта функция теперь недоступна, и нам пришлось бы внедрять собственное комплексное решение.

  • Требование OpenGL3: Ветка 2.х больше не поддерживает OpenGL2. Мы конечно понимаем, что OpenMW разрабатывается не для компьютеров, которые запускали Морровинд в 2002 году, но всё же еще рано бросать поддержку OpenGL2. Тем более, это повлияет на некоторых наших пользователей.

  • Система материалов: Ogre3D 2.х предлагает переработанную систему материалов, написанную с AZDO (Approaching Zero Driver Overhead) оптимизациями, что усложнит создание оригинальных материалов. Мы собираемся активно использовать подобные материалы, особенно в пользовательских модификациях, так что нам нужна более гибкая и понятная система.

Наряду с вышеперечисленными сомнениями по поводу Ogre3D 2.х, у нас есть и другие давние проблемы:

  • Система ресурсов: Ogre3D принуждает использовать глобальный менеджер ресурсов, но нам нужен один менеджер ресурсов на один файл в OpenCS. Другая проблема в том, что сейчас у всех ресурсов должно быть уникальное имя, что ведет к дополнительной лишней работе с нашей стороны, и может привести к конфликту пользовательских и внутренних ресурсов. В 2013 году команда Ogre3D затеяла редизайн системы ресурсов, но эта работа до сих пор не завершена.

  • Поддержка стенсилей материалами: В формате NIF, используемом Морровиндом, могут указываться "стенсильные настройки", но база материалов Ogre3D их не поддерживает.

  • Масштабирование NPC в ширину: NPC в Морровинде имеют настройку ширины, которая масштабирует их по оси Х. OpenMW на данный момент это игнорирует, так как система скелета в Ogre3D 1.x не поддерживает неравномерное масштабирование.

Новый движок

 

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

 

Самая заметная разница между Ogre3D и OSG в том, что OSG поддерживает только OpenGL. В Ogre3D встроена поддержка как OpenGL, так и DirectX, что является его значительным плюсом. В идеальном мире, это дало бы пользователям свободный выбор, не требующий усилий команды OpenMW. Но реальность оказалась суровее: шейдеры нельзя писать единым способом для двух систем рендеринга.

В дополнение к этому, в OpenMW есть некоторые баги, которые проявляются только при использовании DirectX. Так что, мы даже рады этим изменениям, ведь у нас не так много людей, чтобы поддерживать и OpenGL, и DirectX. Да и большинство наших разработчиков пользуются Linux и не могут протестировать OpenMW в связке с DirectХ.

 

Упреждающий FAQ

 

Как много времени займет переход?

 

Хорошие новости в том, что Ogre3D отвечает лишь за рендеринг. Код OpenMW структурирован при помощи разных подсистем, и изменения коснутся лишь подсистемы “mwrender”. Для справки - код рендеринга занимает 8% от всего кода.

 

Что случится с OpenMW, использующим Ogre3D? Дальнейшая разработка, поддержка/багофиксы, полное забвение?

 

Разработка OpenMW с Ogre3D (с багофиксами и новыми функциями) продолжится до тех пор, пока мы не закончим порт на OSG. Мы знаем, что у OpenMW уже есть крупная пользовательская база, и для нас важно её поддерживать.

 

Что насчет различных операционных систем (Linux, Windows, Mac OS X, Android)?

 

Мы по прежнему продолжим их поддержку.

 

Галерея на сайте OpenSceneGraph совсем не впечатляет. Раз этот движок такой крутой, почему на нем нету хороших игр?

 

По функционалу OpenSceneGraph настолько же мощен (в некоторых аспектах, даже мощнее), как Ogre3D. Поэтому нас удивил тот факт, что на нем сделано так мало игр. Основатель OSG Роберт Осфилд предлагает свою теорию по этому поводу:

 

"Что касается сравнения Ogre и OSG в игровом плане, тут многое связано с корнями каждого из проектов и с культурой, которая росла вокруг них. OSG зародился в мире визуальной симуляции, со временем став универсальной графической библиотекой. Его сообщество пришло из профессиональных симуляторов, широкомасштабных визуализаций, виртуальной реальности и научных проектов. Ogre же изначально создавался для игр, и хотя часто используется для других целей, именно игры - его главное предназначение."

 

Меня беспокоит прекращение поддержки Direct3D, так как с ним я получал больший fps, чем с OpenGL.

 

Мы в курсе разницы в производительности и знаем, что это связано со слабой реализацией OpenGL в Ogre3D 1.x. Valve продемонстрировала, что правильный OpenGL рендеринг может быть столь же быстр, как Direct3D, а иногда даже быстрее.

 

Заключительное "спасибо"

 

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

 

Хотим сказать спасибо всей команде Ogre3D за их замечательную работу, всем участникам форума Ogre3D за их поддержку и вдохновение. Особая благодарность Kojack’у за помощь в устранении проблемы с DDS текстурами.

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

Перевод обширного поста о переходе на OSG. Можно даже в шапку темы добавить. ;)

Добавил.

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

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

Добавил.

Хорошо бы ещё убрать ссылку на последнюю версию, достаточно просто страницы загрузки, и устаревать постоянно не будет.

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

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

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



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

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