akortunov Опубликовано 4 апреля, 2018 Жалоба Поделиться Опубликовано 4 апреля, 2018 (изменено) Официальный сайт 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 Изменено 30 мая, 2023 пользователем akortunov Ссылка на комментарий Поделиться на другие сайты Поделиться
Remar Опубликовано 18 апреля, 2017 Жалоба Поделиться Опубликовано 18 апреля, 2017 Непонятные правки MyGUI. NULL же вроде из C++11?Наоборот. nullptr из c++11, NULL - старый вариант. Хотел ещё спросить насчёт реализации травы в ОпенМВ. Есть какие-нибудь подвижки в этом направлении? И планируется ли завезти PBR? Ссылка на комментарий Поделиться на другие сайты Поделиться
Capostrophic Опубликовано 21 апреля, 2017 Жалоба Поделиться Опубликовано 21 апреля, 2017 (изменено) Трава и PBR, очевидно, не в целях на 1.0, поэтому из "членов команды", то есть тех, кто занимаются опенмв на более-менее постоянной основе, никто не тратит на это время и силы. А активисты типа Метелины и allcreater что-то "сдулись", и больше от них ничего слышно не было. Кортунов неудержим:Ещё фиксы интерфейса: много правок разметки чаргеновых менюВремя задержки дыхания теперь не захардкоженоВизуальный эффект левитации теперь пропадает при отключении левитации скриптомВместо Level в меню загрузки сохранения теперь используется соответствующая GMST, так что у Акеллы будет "уровень".Исправлен выбор бодипартов: от первого лица теперь будет использоваться не первый попавшийся бодипарт, а наиболее подходящий по полу и его типу. Теперь не будет мужских предплечий перед женскими кистями и тонких ручек перед мужскими кистями — эта проблема заметна при использовании BB и RB.Статус прикреплённых окон теперь сохраняется в ini.Allofich:Опенмв теперь не будет вопить голактеко опасносте немедленно прекращать выполнение скрипта при обнаружении знаков > или < уже после знака = (=>, =<), а будет считать это написание за знак равенства, как оригинальный движок. При этом будет лёгкое ругательство в обработчик ошибок.У озвученных реплик будут выполняться скрипты.Много исправлений предупреждений cppcheck'а — совсем незначительный прирост производительности и уменьшение потребления памяти.Анимированные скриптом объекты теперь не будут пытаться быть анимированными, даже когда они отключены.rhtucker дописал документацию по settings.cfg, добавив описания для всех отсутствовавших там новых настроек. Изменено 23 апреля, 2017 пользователем Capostrophic Ссылка на комментарий Поделиться на другие сайты Поделиться
Capostrophic Опубликовано 23 апреля, 2017 Жалоба Поделиться Опубликовано 23 апреля, 2017 Даблпост для привлечения внимания: Кортунов сделал так, чтобы при зачаровании вещь не чинилась полностью, а сохраняла прошлое значение характеристики поломанности, но это отхождение от оригинального поведения Морровинда, возникающего из-за того, что при зачаровании вещь заменяется клоном с исходной нулевой поломанностью и новым зачарованием. Нужен народный консенсус по поводу такого решения перед тем, как его отвергнут или введут в силу. Ссылка на комментарий Поделиться на другие сайты Поделиться
morrow Опубликовано 23 апреля, 2017 Жалоба Поделиться Опубликовано 23 апреля, 2017 Даблпост для привлечения внимания: Кортунов сделал так, чтобы при зачаровании вещь не чинилась полностью, а сохраняла прошлое значение характеристики поломанности, но это отхождение от оригинального поведения Морровинда, возникающего из-за того, что при зачаровании вещь заменяется клоном с исходной нулевой поломанностью и новым зачарованием. Нужен народный консенсус по поводу такого решения перед тем, как его отвергнут или введут в силу.Конечно же надо ввести. Зачем копировать ванильные недоработки и баги? Ссылка на комментарий Поделиться на другие сайты Поделиться
Malbogatra Опубликовано 23 апреля, 2017 Жалоба Поделиться Опубликовано 23 апреля, 2017 Даблпост для привлечения внимания: Кортунов сделал так, чтобы при зачаровании вещь не чинилась полностью, а сохраняла прошлое значение характеристики поломанности.Это разумно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Марк К. Марцелл Опубликовано 23 апреля, 2017 Жалоба Поделиться Опубликовано 23 апреля, 2017 Тоже поддерживаю фичу. Ссылка на комментарий Поделиться на другие сайты Поделиться
Scarab-Phoenix Опубликовано 23 апреля, 2017 Жалоба Поделиться Опубликовано 23 апреля, 2017 Даблпост для привлечения внимания: Кортунов сделал так, чтобы при зачаровании вещь не чинилась полностью, а сохраняла прошлое значение характеристики поломанности, но это отхождение от оригинального поведения Морровинда, возникающего из-за того, что при зачаровании вещь заменяется клоном с исходной нулевой поломанностью и новым зачарованием. Нужен народный консенсус по поводу такого решения перед тем, как его отвергнут или введут в силу.Отличный фикс, надо оставить. Ссылка на комментарий Поделиться на другие сайты Поделиться
usolo Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 Фикс отличный, +.Но мне тогда не понятна цель опенМВ: делают они кроссплатформенную ваниль в чистом виде или все-таки правят очевидные ее баги? Ссылка на комментарий Поделиться на другие сайты Поделиться
morrow Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 (изменено) Но мне тогда не понятна цель опенМВ: делают они кроссплатформенную ваниль в чистом виде или все-таки правят очевидные ее баги?Первый пост:Главный разработчик Marc Zinnschlag (Zini) о OpenMW 1.0:В некоторых случаях мы можем отклонятся от оригинала, даже до релиза 1.0.Во-первых, я не считаю нужным копировать любые нефункциональные особенности. Бессмыслено имитировать сбои и различные ошибки. Равно как и лимиты игры (к примеру, глубину вложенности скриптов).В общем, мы имеем полную свободу действий со всем, что не работает в Морровинде. Обратите внимание, что это не относится к какой-либо плохой игровой механике. Плохая не значит нефункциональная.Т.е. копировать игровые баги и не планировалось. Если что-то можно поправить ещё на этапе подготовки к релизу 1.0, то что бы и не сделать? А чудесный ремонт вещи при её зачаровании – самый что ни на есть баг и недоделка. Изменено 24 апреля, 2017 пользователем morrow Ссылка на комментарий Поделиться на другие сайты Поделиться
usolo Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 Т.е. копировать игровые баги и не планировалосьинтересно. При этом в некоторых игровых формулах видно точное копирование оригинала, наследуя явные баги и недоработки Ссылка на комментарий Поделиться на другие сайты Поделиться
morrow Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 интересно. При этом в некоторых игровых формулах видно точное копирование оригинала, наследуя явные баги и недоработкиКидай примеры чо. Пацаны может и не знают или знают, но лень править. Ссылка на комментарий Поделиться на другие сайты Поделиться
usolo Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 Кидай примеры чо. Пацаны может и не знают или знают, но лень править.То, что моментально вспомнилось. Blocking with a shield if player is not moving forward at any speed: playerTerm = playerTerm * 1.25 (note this is not fBlockStillBonus)а должно быть fBlockStillBonus On jumping encumbranceTerm = fJumpEncumbranceBase + fJumpEncumbranceMultiplier * (1 - normalizedEncumbrance)а нужно fJumpEncumbranceMultiplier * normalizedEncumbrance Hit Chance CommentsThe unaware check is only calculated correctly for projectile attacks. Due to either a design decision or bug, it doesn't apply to melee attacks, but it seems likely to be an design bug. It is recommended to implement it for all cases. Ссылка на комментарий Поделиться на другие сайты Поделиться
Dun Dram Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 То, что моментально вспомнилось.Это именно в исходниках? Ссылка на комментарий Поделиться на другие сайты Поделиться
usolo Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 Это именно в исходниках?прыжки - да, остальное - не смотрел последние версии Ссылка на комментарий Поделиться на другие сайты Поделиться
akortunov Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 (изменено) прыжки - да, остальное - не смотрел последние версии Можно получить ссылку на используемую вами формулу расчета высоты прыжка? Возможно, Morrowind делит высоту на encumbranceTerm, а не умножает, как OpenMW. OpenMW считает высоту прыжка как: encumbranceTerm = fJumpEncumbranceBase + fJumpEncumbranceMultiplier * (1 - currentWeight/maxWeight); height = height * encumbranceTerm; Нагрузка уменьшает высоту прыжка (как и в оригинальной игре). Если оставить только currentWeight/maxWeight, то нагрузка будет увеличивать высоту прыжка. По поводу блока: OpenMW точно применяет fBlockStillBonus, но я не уверен, применяет ли это значение Morrowind. Изменено 24 апреля, 2017 пользователем akortunov Ссылка на комментарий Поделиться на другие сайты Поделиться
usolo Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 Можно получить ссылку на используемую вами формулу расчета высоты прыжка?речь о вычислении потраченной на прыжок усталости: const float fatigueDecrease = fatigueJumpBase + (1 - normalizedEncumbrance) * fatigueJumpMult; https://github.com/OpenMW/openmw/blob/338592b99b7a9b6f38ec90829bf5d3df95a31d4a/apps/openmw/mwmechanics/character.cpp#L1750Обратная зависимость от нормализованной загрузки некорректна, должна быть прямая. На счет блока, да, нашел) if (blocker.getClass().getMovementSettings(blocker).mPosition[1] <= 0) blockerTerm *= gmst.find("fBlockStillBonus")->getFloat(); Значит просто некорректная инфа в вики осталась=) Ссылка на комментарий Поделиться на другие сайты Поделиться
akortunov Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 Значит просто некорректная инфа в вики осталась=) Если вы про этот раздел: https://wiki.openmw....Research:Combat то там описаны формулы из ванильной игры. Там fBlockStillBonus действительно не используется.Другое дело, почему его тогда использует OpenMW. По поводу усталости - интересная информация, я проверю. Благодарю за подсказку. Ссылка на комментарий Поделиться на другие сайты Поделиться
usolo Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 (изменено) Если вы про этот раздел: https://wiki.openmw....Research:Combat то там описаны формулы из ванильной игрыИнтересно)Если теперь выясняется, что (опенМВ - ваниль) это могут быть разные формулы, логично было бы указывать существующие различия)Скоро опенМВ затмит ваниль и ванильные формулы станут никому не нужны) В это же время лазить по гитхабу и читать код так и останется сложным для многих, а страничка вики доступна всем) Изменено 24 апреля, 2017 пользователем cepoe Ссылка на комментарий Поделиться на другие сайты Поделиться
akortunov Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 Фикс отличный, +.Но мне тогда не понятна цель опенМВ: делают они кроссплатформенную ваниль в чистом виде или все-таки правят очевидные ее баги? Исправление ванильных багов - понятие довольно противоречивое. После исправления может выясниться, что: 1) Исправление бага ломает что-то в чистой игре из-за багов в ресурсах (как в случае с мертвым Дагот Уром).2) Исправление бага ломает некоторые моды, которые на этот баг опирались.3) Есть игроки, которые воспринимают баги и эксплоиты как неотъемлемую часть геймплея и просят вернуть как было. Поэтому иногда приходится делать отдельную настройку под фикс. Аналогичным образом действует MCP - там под каждый фикс отдельный чекбокс.Только такой подход ведет к огромному конфигу с кучей настроек, что не нравится некоторым разработчикам, например, scrawl'у. Соответственно, общая идея такова: если фикс вроде бы никому не мешает (см. список из трех пунктов), то его могут принять, если мешает - то скорее всего будет костыль для совместимости или отдельная настройка (если фикс достаточно полезен). Под мой фикс с зачарованием скорее всего тоже будет отдельная настройка. Ссылка на комментарий Поделиться на другие сайты Поделиться
usolo Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 Только такой подход ведет к огромному конфигу с кучей настроекв котором, скорее всего, никто и разбираться не станет=)ну что ж, выбрано так выбрано, хотя и на мой вкус тоже - это слишком Ссылка на комментарий Поделиться на другие сайты Поделиться
Dun Dram Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 Интересно)Если теперь выясняется, что (опенМВ - ваниль) это могут быть разные формулы, логично было бы указывать существующие различия)Это неминуемо будут разные формулы, рано или поздно. Я так понимаю, что этот раздел в вики никогда и не позиционировался как про OpenMW. Ссылка на комментарий Поделиться на другие сайты Поделиться
akortunov Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 (изменено) Небольшой обзор "неванильных" изменений, которые могут со временем могут попасть в OpenMW; 1. Доработанные виджеты ремонта и перезарядки: http://i.imgur.com/1pPBNeW.png http://i.imgur.com/lZBrzs1.png http://i.imgur.com/4Tng7cP.png Позволяют переключение между инструментами/камнями душ без перезапуска диалога. http://i.imgur.com/YX8lTFS.png http://i.imgur.com/ujoUWlu.png Правда, поскольку камни с душами не формируют пачки, каждый камень душ пока надо выбирать отдельно - но это все равно быстрее, чем перетаскивать каждый камень на куклу персонажа. 2. Отображение шанса на успех при самостоятельном зачаровании: http://i.imgur.com/gUzGrRu.png Изменено 24 апреля, 2017 пользователем akortunov Ссылка на комментарий Поделиться на другие сайты Поделиться
Scarab-Phoenix Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 Ещё бы они ввели износ вещей при постоянном ремонте, цены бы им не было. Ссылка на комментарий Поделиться на другие сайты Поделиться
akortunov Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 Обратная зависимость от нормализованной загрузки некорректна, должна быть прямая. Сравнил поведение в оригинальной игре и OpenMW. Действительно, в Morrowind зависимость прямая, а в OpenMW - обратная.Я создал багрепорт, и если его не отклонят, то починю формулу. Ссылка на комментарий Поделиться на другие сайты Поделиться
Марк К. Марцелл Опубликовано 24 апреля, 2017 Жалоба Поделиться Опубликовано 24 апреля, 2017 Небольшой обзор "неванильных" изменений, которые могут со временем могут попасть в OpenMW;Хорошо, если все это войдет в релиз. Ещё бы они ввели износ вещей при постоянном ремонте, цены бы им не было. Занятно, но спорно. Помимо вопросов с тех. реализацией, составление списка исключений, формула зависимости и т.д. и т.п. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти