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

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

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

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

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

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

UnPinned posts

 

Много их вас на линуксе сидит?..

Как я слышал, OMW в первую очередь на линукс и ориентируется.

Насколько я могу судить, бОльшая часть игроков использует Windows, а бОльшая часть разработчиков - Linux, что не удивительно.

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

И вообще, зачем удалять аккаунт из-за самого факта покупки?..

Потому что каким-то других способов выразить свое отношение к этому факту просто нет.

Ну, можно, конечно, еще писать в фейсбук, твиттер, Спортлото и на форумы...

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

Потому что каким-то других способов выразить свое отношение к этому факту просто нет.

Ну, можно, конечно, еще писать в фейсбук, твиттер, Спортлото и на форумы...

Принципиальная позиция - это, конечно, хорошо, но зачем с плеча-то рубить?

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

Прежде чем ломать текущую инфраструктуру проекта, нужно реализовать альтернативу, а потом уже что-то удалять.

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

 

Потому что каким-то других способов выразить свое отношение к этому факту просто нет.

Ну, можно, конечно, еще писать в фейсбук, твиттер, Спортлото и на форумы...

 

Принципиальная позиция - это, конечно, хорошо, но зачем с плеча-то рубить?

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

Прежде чем ломать текущую инфраструктуру проекта, нужно реализовать альтернативу, а потом уже что-то удалять.

Все верно, и я об этом.

Ради "протеста" усложнить работу кучи людей - ну такое...

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

OpenMW научился загружать отдельные KF-файлы для разных групп анимаций (не надо ничего мержить через AnimKit), что в свое время просил CemKey.

Скоро фича попадет в ночные сборки.  Можно тестировать и вносить предложения по улучшению фичи.

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

Документацию бы к ней, чтобы мододелы могли использовать.

Это CemKey нужен. Он умудряется как-то анимкитовские анимации портировать.

Я же могу только написать, куда файлы складывать.

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

С 2 июня.

 

elsid:

  • Исправлено несколько предупреждений при компиляции
  • Исправлена кодировка двух символов юникода в проекте, чтобы gcovr завёлся

Андрей:

  • Исправлено поведение RotateWorld: теперь функция не копипаста Rotate и вращает объект вокруг осей мира, а не своих собственных. Исправляет поведение мельницы в Арктвенде и черепа-рычага в Шиши*
  • Пакет преследования добавляется стражникам, только если преступление действительно было донесено*
  • Исправлены регрессии сопротивления магическим эффектам
  • Экспериментально добавлена поддержка отдельных файлов-источников  анимации*
  • Добавлены ранее отсутствовавшие анимации возвращения в ножны оружия при переходе из режима колдовства в режим оружия и обратно*
  • То же позволяет убрать эксплойт, позволяющий недвижимому игроку (например, при перенагруженности) медленно двигаться вперёд при постоянном переключении этих режимов*
  • Исправлено поведение одной из анимаций Альмалексии*
  • Стоящие на месте NPC возвращаются к своему изначальному положению после боя*
  • То же относится к стражникам без пакетов ИИ*
  • Пакеты ИИ правильно работают на неуникальных NPC*
  • Улучшена обработка NiStringExtraData для маркеров; теперь отбрасывается только шейп с требуемым названием, а не весь узел*
  • Большие улучшения обработки ударов нелетающих актёров*
  • Ведут к более простым требованиям для срабатывания заклинаний касания*
  • Нанесение удара под углом проще*
  • Оружие с коротким радиусом досягаемости также работает правильно*

я:

  • Члены фракций реагируют на продажу им вещей, принадлежащих их фракции*
  • Добавлен хак, позволяющий игроку не застревать с концами между двумя крутыми выступами*
  • Наличие опции Goodbye одновременно с выборами в диалогах заставляет их принять ту же функцию, что и Goodbye*

Давид Чернат:

  • Исправлен вылет при добавлении предметов AddItem в инвентари отключенных существ (если они есть)

Thunderforge:

  • Добавлены опции для тестирования игры в лаунчер

* - уже не попало в релизную ветку 0.44.0

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

Не помню спрашивал ли. В сейвы сохраняются положения предметов передвинутых при помощи консольных (скриптовых) команд? Rotate и Move вроде.

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

Не помню спрашивал ли. В сейвы сохраняются положения предметов передвинутых при помощи консольных (скриптовых) команд? Rotate и Move вроде.

Новое положение или исходное? Новое должно сохраняться. RotateWorld исключение - она затрагивает только рендеринг и физику. Исходное положение - только в ESM/ESP-файле.

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

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

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

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

Если команда меняет положение объекта (можно проверить через GetPos), то новое положение должно сохраниться.

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

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

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

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

GetAngle и SetAngle используются. С сохранением позиции там помню разобрались удаляя по завершении предмет и тут же создавая его копию, а вот вращение не сохранялось.

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

 

На фоне новостей о том, что Microsoft покупает GitHub, scrawl удалил свою учетную запись.

20160913_Lozhkin2.jpg

 

Возможно, скоро будет переезд на другую платформу или ее дублирование.

Одобрямс. Жалко, что так поступят единицы.

 

Ну это же глупость. У майкры есть такие неплохие проекты как до диез - лучшая джава, visual studio code - ide для языков под которые еще нет нормальных ide, куча другого уверен. Это короче очередной дурацкий хайп мувмент, столь популярный в айти.

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

 

 

На фоне новостей о том, что Microsoft покупает GitHub, scrawl удалил свою учетную запись.

20160913_Lozhkin2.jpg

 

Возможно, скоро будет переезд на другую платформу или ее дублирование.

Одобрямс. Жалко, что так поступят единицы.

 

Ну это же глупость. У майкры есть такие неплохие проекты как до диез - лучшая джава, visual studio code - ide для языков под которые еще нет нормальных ide, куча другого уверен. Это короче очередной дурацкий хайп мувмент, столь популярный в айти.

 

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

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

 

 

 

На фоне новостей о том, что Microsoft покупает GitHub, scrawl удалил свою учетную запись.

20160913_Lozhkin2.jpg

 

Возможно, скоро будет переезд на другую платформу или ее дублирование.

Одобрямс. Жалко, что так поступят единицы.

 

Ну это же глупость. У майкры есть такие неплохие проекты как до диез - лучшая джава, visual studio code - ide для языков под которые еще нет нормальных ide, куча другого уверен. Это короче очередной дурацкий хайп мувмент, столь популярный в айти.

 

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

 

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

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

 

Члены фракций реагируют на продажу им вещей, принадлежащих их фракции*

Можно пояснение, как это работает?

Если вы стырили предмет, у которого владелец, например, Гильдия Магов, то при попытке продать такой предмет любому торговцу из Гильдии Магов он поднимет тревогу.

 

В опенмв будет когда-нибудь пофикшено "заражение" неворованных предметов ворованными?

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

Если же имеется в виду хранение тэга "Украдено" у конкретного экземпляра объекта, то это уже обсуждалось выше. Закончилось тем, что никто внятно не смог описать, как собственно его реализовать.

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

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

 

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

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

Этого бага в опенмв нет.

 

 

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

 

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

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

Тогда это вариант №2. Сейчас поле "владелец" у предметов в инвентаре вообще не хранится, см. через TFH. Есть отдельный массив, который хранит, сколько вещей с каким id у кого было украдено, как и в оригинальной игре.

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

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

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

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

Подробности не нужны. Нет - значит нет. Всё равно всегда есть кому толкнуть. Хотя, конечно, обидно, когда пытаешься что-то зачаровать у Гальдебир великим камнем душ, а она на тебя страже стучит.

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

Если вы стырили предмет, у которого владелец, например, Гильдия Магов, то при попытке продать такой предмет любому торговцу из Гильдии Магов он поднимет тревогу.

А если я состою в организации, вполне легально взял предмет и пытаюсь его продать торговцу из этой организации, то он донесет или купит?

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

А если я состою в организации, вполне легально взял предмет и пытаюсь его продать торговцу из этой организации, то он донесет или купит?

Если вы раньше у этой организации такие предметы не тырили, то должен купить, т.к. счетчик украденного не увеличивается. Сам я тот патч не тестировал.

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

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

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

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

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

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

Войти

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

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

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