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

Сторонние патчи для OpenMW (колчаны и т.д.)


akortunov

Рекомендуемые сообщения

  • Ответов 394
  • Создана
  • Последний ответ

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

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

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

Быстрый каст что-то не очень хорошо смотрится с существующими анимациями. Доработать бы их...

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

Также в режиме от первого лица оружие и щит бОльшую часть экрана закрывают.

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

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

Залил прототип зонального класса брони: https://github.com/a...tree/armorclass

Тема на форуме OpenMW здесь.

Основная идея: при попаданию по неписю проверяем, на какую часть CollisionBox'a конкретно пришелся удар. Тогда мы вместо общего класса брони можем посчитать уровень защиты конкретно для части доспеха, которая закрывает нужную часть тела. Бездоспешный бой и магический эффект Щит работают для всех частей тела.

Такой подход хорошо работает для метательного оружия, а для ближнего боя - хуже (т.к. там хитбокс в виде конуса). Надо будет доработать.

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

 

Пример: персонаж одет в кирасу с AR = 100 и не умеет в бездоспешный бой.

Обычный расчет повреждений: AR от кирасы умножаем на 0.3 и используем это значение при любом попадании (т.е. AR = 30). С вероятностью 30% при попадании будет повреждена кираса и будет проигран звук попадания по броне, с вероятностью 70% будет проигран звук попадания по телу.

Зональный расчет повреждений: при попадании по корпусу (от 60% до 85% от высоты CollisionBox, спереди или сзади) повреждаем кирасу и снижаем урон для AR = 100. При попадании по другим зонам урон не снижается, т.к. навык бездоспешного боя не развит, а броней они не прикрыты. Звук выбираем в зависимости от того, чем закрыта часть тела.

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

 

Есть несколько вопросов, по которым хотелось бы услышать ваше мнение:

1. Что должно быть во всплывающей подсказке, которая показывает детали о защите? Сейчас там пары "название части тела - защита".

2. Что делать с щитами? При зональной системе повреждений бонус защиты от щита бесполезен (ну нет у гуманоидов части тела "щит"). Есть идея добавлять бонус защиты щита к защите левой руки (перчатка и наплечник), когда щит виден. В этом случае также щит будет принимать урон вместо перчатки/наплечника. Что скажете?

3. Что делать с ИИ? Он тоже должен уметь слабые места вычленять? Есть предложения по алгоритму?

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

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

2. Приведенная идея более чем реалистична. Если щитом активно не защищаются, то он не более чем элемент брони того места где расположен. Но возникает небольшой вопрос к экипировке его за спину, при смене оружия - тогда он должен добавлять брони спине по идее, но не всей кирасе (похоже где-то в этот момент Бефезда сказала: "Ля! Упрощаем все нахрен!" ).

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

 

Алгоритм можно построить на здравом смысле - сначала оцениваем экипировку, легкая броня имеет высокий приоритет для атаки (слабая), средняя - средний, тяжелая низкий, участки без брони - высший. Потом оцениваем ценность зон поражения - допустим, что голова является первым приоритетом, корпус вторым, руки и ноги третьим (либо руки третьим, ноги четвертым). После этого вычитаем результат первой проверки из второй, получая зоны с разным приоритетом атаки. После этого с вероятностью в 75% атакуем зону с высшим приоритетом, с вероятностью 50% атакуем зону с средним приоритетом, с вероятностью 25% атакуем зону с низким приоритетом и с вероятностью в 1% атакуем зону с низшим приоритетом (либо не атакуем её вовсе). Ну и привязать точность атаки к навыку используемого оружия - скажем 100п навык дает 95% попадание по выбранной зоне и 5% попадания по рядом расположенным зонам (либо по случайной зоне). Можно играть не от типа брони, а от значения защиты.

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

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

 

А вообще, как работает зональный урон в том же Fallout 3? Там информация о частях тела в модели существа прописана или где-то в редакторе?

Как неписи выбирают, куда стрелять?

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

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

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

С моей колокольни, такая реализация выглядит достаточно простой и сердитой. Но я испорчен настольной механикой рпг.
А вообще, как работает зональный урон в том же Fallout 3? Там информация о частях тела в модели существа прописана или где-то в редакторе?

Как неписи выбирают, куда стрелять?И я так полагаю, никакие хитбоксы в виде конусов там не используются?

Насчет Fallout 3, несколько не в курсе. Изменено пользователем Dzok
Ссылка на комментарий
Поделиться на другие сайты

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

 

А вообще, как работает зональный урон в том же Fallout 3? Там информация о частях тела в модели существа прописана или где-то в редакторе?

Как неписи выбирают, куда стрелять?

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

Зачем смотреть как сделано где-то, если есть возможность сделать как надо?
Ссылка на комментарий
Поделиться на другие сайты

Зачем смотреть как сделано где-то, если есть возможность сделать как надо?
Ну я вот не знаю, как надо - я Web-разработчик.

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

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

 

Отдельно по поводу быстрых сохранений: вам сюда. Если вкратце, то текущее поведение всех устраивает и никто его менять не хочет, даже в виде опции.

 

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

Подсказка в текущем виде не очень презентабельная:

CEs0hLV.png

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

1. Что должно быть во всплывающей подсказке, которая показывает детали о защите? Сейчас там пары "название части тела - защита".
Зачем она вообще нужна?
2. Что делать с щитами? При зональной системе повреждений бонус защиты от щита бесполезен (ну нет у гуманоидов части тела "щит"). Есть идея добавлять бонус защиты щита к защите левой руки (перчатка и наплечник), когда щит виден. В этом случае также щит будет принимать урон вместо перчатки/наплечника. Что скажете?
Дзок правильно сказал - если щит использует пассивно, то кроме руки ничего и не защищает.
3. Что делать с ИИ? Он тоже должен уметь слабые места вычленять? Есть предложения по алгоритму?
Должен. В зависимости от своего уровня интеллекта и каких-то навыков(оружейных, и/или доспешных?)
Вот я и интересуюсь, как зональные повреждения реализуются в подобных проектах.
По хитбоксам и реализуются. В случае беседкиных игр - уверен, что через задницу.

https://geck.bethsoft.com/index.php?title=BodyPartData

Если судить по этому, то информация о частях тела прописана и в модели, и в редакторе. Т.е. через задницу.

 

Отдельно по поводу быстрых сохранений: вам сюда.
Неее, я туда не пойду. Иначе будет очень много ругани и очень мало результата.

Но отмечу, что A quickload is just that: load quickly справедливо лишь для того случая, когда под быстрое сохранение не выделяется отдельного слота. И в играх это называется continue и идет пунктом главного меню, а биндом кнопки. Is the new behavior the actual standard most other games follow? За всю свою очень долгую игровую карьеру такую идиотскую систему, где быстрая загрузка загружает последнее сохранение, а не быстрое я могу вспомнить только в одной игре - mass effect 2. Хотя нет, была еще одна игра, но уже не вспомню какая.

tl;dr пусть переименуют в load last save и вопрос будет исчерпан. А я продолжу фрустрировать и насылать на них икоту.

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

mass effect 2
Точно, в голове крутилось, что в каком-то из Масс Эффектов было что-то подобное.

 

А "за столько лет никто не написал" - вообще бредовый аргумент, особенно от разработчика OpenMW. Если за много лет никто не заметил какой-то баг, а потом кто-то его всё-таки заметил, то его уже не нужно править, что ли? Чушь какая.

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

1. Что должно быть во всплывающей подсказке, которая показывает детали о защите? Сейчас там пары "название части тела - защита".

Собственно, то же, что уже есть :) Всё там нормально, информационную функцию подсказка выполняет. Единственное, при реализации п.2 нужно тогда убрать показатель "Щит" и показывать скорректированный уровень защиты для левой руки и плеча;

2. Что делать с щитами? При зональной системе повреждений бонус защиты от щита бесполезен (ну нет у гуманоидов части тела "щит"). Есть идея добавлять бонус защиты щита к защите левой руки (перчатка и наплечник), когда щит виден. В этом случае также щит будет принимать урон вместо перчатки/наплечника. Что скажете?

Хороший вариант. Но тут возникает такой вопрос - а что если игрок с даэдрической перчаткой возьмет в руки самый фиговый щит? И почему только левую перчатку и наплечник? Щит ведь как минимум закрывает часть торса... В общем, для упрощения механики можно сделать что-то вроде "половина уровня показателя защиты щита плюсуется к торсу, половина - к левому наплечнику, и весь - к левой перчатке".

3. Что делать с ИИ? Он тоже должен уметь слабые места вычленять? Есть предложения по алгоритму?

О, уж чего на Фуллресте достаточно, так это советов ))

 

Ответ на этот вопрос зависит от того, как будет реализован урон. Dzok хорошо написал в целом, но такое решение будет работать, только если урон по разным частям тела будет отличаться. Т.е., например, попадание в голову будет наносить х4 урона, а попадание в руку - влиять на навык владения оружием. Если же попадание в какую-то часть тела будет просто приводить к расчету его защиты (т.е. попадание в незащищенную голову и незащищенную руку просто приводят к 100% урону), то так глубоко, как написал Dzok, копать смысла нет. В этом случае считаю, что чем проще - тем лучше. Если навык владения оружием врага ниже 50, то атака полностью рандомна (т.е. противник ничего не выцеливает). Если выше 50 - тупо дается 60% шанс попасть в наименее защищенную область и 40% - рандомом во все остальные части тела. Если хочется заморочиться, то просто этот шанс привязать к навыку (можно даже напрямую). Т.е. враг владеет оружием на 70 п. - шанс попасть в наименее защищенную зону равен 70% (но, опять-таки, это работает только если навык >=50. Если ниже - то враг типа слишком малоопытен, чтобы понять, куда лучше бить).

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

Т.е., например, попадание в голову будет наносить х4 урона, а попадание в руку - влиять на навык владения оружием.
За каждый удар - жирно, т.к. выцелить ту же голову не так уж и сложно. В этом случае надо отдельное здоровье для частей тела вводить, как в Fallout. Это реально, но требует изменения формата сохранений (что делать не хотелось бы) и проработки логики лечения покалеченных конечностей.

Я пока рассчитывал только на разницу в уровне брони.

Сейчас ИИ выбирает куда бить тупо процентовкой.

 

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

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

 

И почему только левую перчатку и наплечник? Щит ведь как минимум закрывает часть торса...
Чтобы не усложнять. По текущей системе слева нельзя попасть по кирасе - вместо нее наплечник. Изменено пользователем akortunov
Ссылка на комментарий
Поделиться на другие сайты

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

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

 

Врочем, хер с ним. У тебя хорошая идея насчет убирания защиты у щитов :)

 

Чтобы не усложнять. По текущей системе слева нельзя попасть по кирасе - вместо нее наплечник.

Ну, тогда тоже хрен с ним. Если учитывать, что

Я пока рассчитывал только на разницу в уровне брони.

то выцеливать противникам отдельные части тела не имеет смысла. Может быть рассмотри вариант, как я писал - когда просто шанс поражения наименее защищенного участка тем выше, чем выше уровень владения оружием противника.

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

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

 

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

Почему это? Некоторые части тела могут быть не прикрыты или прикрыты слабой броней, т.е. можно максимизировать наносимый урон.

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

 

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

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

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

Я некорректно выразился. Я имел в виду, что врагам-NPC не имеет смысла целиться игроку, например, именно в голову или там в ноги. Противник-NPC должен целиться тупо в наименее защищенную часть тела игрока.
Целиться - да. Но не попадать автоматически каждый раз именно в наименее защищённую.
Ссылка на комментарий
Поделиться на другие сайты

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

Неписи с вероятностью в 25% бьют в уязвимое место, иначе целятся случайным образом.

В принципе, фича готова, тестировать надо.

 

Вылезла небольшая проблема с балансом - игроку проще убивать противников с неполными комплектами брони.

Парирование оружием позволило бы решить эту проблему, увеличив живучесть неписей, но там все опять упирается в недостающие анимации.

Интересно, реально ли сделать анимации на основе анимаций из Обливиона или Скайрима?

 

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

Интересно, реально ли сделать анимации на основе анимаций из Обливиона или Скайрима?

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

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

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

Ага, но при этом ЕСЛИ попадет, то с вероятностью 70% это будет наименее защищённая часть тела? ;)

 

Тут же в этом смысл. Мало попасть, нужно ещё попасть куда нужно.

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

Хм... В Baldur's Gate, насколько я помню, была интересная геймплейная штука - заклинания сопротивления и защиты от магии влияли на ВСЕ заклинания, в т.ч. положительные.

Мне кажется, это было бы очень интересной геймплейной фишкой. Хочешь 100% защиту от магии? Ок, бро! Но вот фигушки сможешь полечиться в бою или там заглотнуть зелье увеличения силы - магия не сработает.

 

"Бунт в Фестхолде"

 

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

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

 

 

 

Подсказка в текущем виде не очень презентабельная:

Число, которое в инвентаре под персонажем написано Защита:х, если его разделить на 3 то получится величина урона от которой игрок защищен максимально, т.е урон будет снижен на 75%.

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

Число, которое в инвентаре под персонажем написано Защита:х, если его разделить на 3 то получится величина урона от которой игрок защищен максимально, т.е урон будет снижен на 75%.

Кстати, можно ли изменить этот вывод в проценты? Было бы намного информативнее.

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

Кстати, можно ли изменить этот вывод в проценты? Было бы намного информативнее.
Шкала нелинейная - при одном и том же уровне защиты процент блокируемого урона зависит от значения входящего урона (чем больше урон, тем меньше блокируется).
Ссылка на комментарий
Поделиться на другие сайты

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

 

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

 

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

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

например очень много врагов без шлема, и че теперь будем ваншотать их? Болвин Веним без шлема сражается, подойди да ударь в голову, он ведь совсем не сопротивляется да?

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

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

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

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

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

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

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

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

Войти

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

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

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