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

Плагины от R-Zero


R-Zero

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

Зеро, ресурсы новые могу заимствовать для мфр? Или все так же по умолчанию можно?)

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

 

 

П.С. А не сложно все свои геймплейные наработки в личку залить с маломальским описанием и ссылками? Знаю можно серчить форум и нексус, но времени в обрез.

А хорошо бы не в личку, а в эту тему.

 

Окей!

Под "геймплейными наработками", как понимаю, имеются в виду изменения GMST которые я упоминал. Это всё часть разрабатываемого мода No N'wah Allowed (см. ОП-пост).

 

Текущие изменения:

 

 

Пассивное восстановление усталости

 

Формула: x = fFatigueReturnBase + fFatigueReturnMult * Endurance

 

fFatigueReturnBase = 2.5 -> 0

fFatigueReturnMult = 0.02 -> 0.1

 

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

 

 

Расход усталости при беге

 

Формула: x = fFatigueRunBase + ( normalizedEncumbrance * fFatigueRunMult )

 

где normalizedEncumbrance - Процент Загрузки в выражении дробного числа от 0 до 1

 

fFatigueRunBase = 5 -> 2

fFatigueRunMult = 2 -> 10

 

Расход усталости при беге теперь сильнее зависит от Процента Загрузки. При пустом инвентаре отнимается только 2 пункта в секунду, при почти полном - 12.

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

 

 

Расход усталости при Атаке

 

Формула: x = fFatigueAttackBase + ( normalizedEncumbrance * fFatigueAttackMult ) + weapon weight * fWeaponFatigueMult * weapon windup

 

где weapon weight - вес оружия, weapon windup - сила замаха в выражении дробного числа от 0 до 1

 

fFatigueAttackBase = 2 -> 0

fFatigueAttackMult = 0 -> 15

fWeaponFatigueMult = 2.5 -> 2.5

 

Расход усталости при атаке теперь полностью зависит от Процента Загрузки. При пустом инвентаре не отнимается нисколько (однако любое оружие сколько-нибудь да весит), при почти полном - 15 пунктов усталости.

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

 

 

Расход усталости при Блоке

 

Формула: fFatigueBlockBase + ( normalizedEncumbrance * fFatigueBlockMult ) + weapon weight * weapon windup * fWeaponFatigueBlockMult

 

fFatigueBlockBase = 4 -> 5

fFatigueBlockMult = 0 -> 11

fWeaponFatigueBlockMult = 1 -> 1

 

Расход усталости при блоке теперь сильнее зависит от Процента Загрузки.

В настоящее время рассматриваю вариант переворачивания формулы "наоборот" - при большем Проценте Загрузки будет тратиться меньше усталости. Таким образом, тяжёлые щиты будут негативно влиять на передвижение и атаки, но позитивно - на собственно блок. Это также поспособствует большему геймплейному различию между обычными и ростовыми щитами.

 

 

Расход усталости при Прыжке

 

Формула: fFatigueJumpBase + (1 - normalizedEncumbrance) * fFatigueJumpMult

 

fFatigueJumpBase = 5 -> 10

fFatigueJumpMult = 0 -> 40

 

Расход усталости при прыжке теперь сильно зависит от Процента Загрузки. Тут я, быть может, переборщил немного.

 

 

Угол Блока

 

Формула: if theta < fCombatBlockLeftAngle: no block; if theta > fCombatBlockRightAngle: no block

 

fCombatBlockLeftAngle = -90 -> -45

fCombatBlockRightAngle = 30 -> 25

 

Теперь чтобы блокировать удар, персонаж должен смотреть на противника который его наносит, либо чуть правее (подставляя сторону со щитом). Это делает блокирование немного более интерактивным - NPC в бою, как мы знает, часто стрейфят вправо-влево.

 

 

Шанс блока

 

Формулы:

 

 

 

blockTerm = pcBlockSkill + 0.2 * pcAgility + 0.1 * pcLuck

 

swingTerm = attackSwing * fSwingBlockMult + fSwingBlockBase

 

fatigueTerm = fFatigueBase - fFatigueMult*(1 - normalisedFatigue)

 

playerTerm = blockTerm * swingTerm

 

if player is not moving forward at any speed: playerTerm = playerTerm * 1.25

 

playerTerm = playerTerm * fatigueTerm

 

if npc is a creature: npcSkill = creature combat stat otherwise: npcSkill = npc skill with wielded weapon

 

npcTerm = npcSkill + 0.2 * npcAgility + 0.1 * npcLuck

 

npcFatigueTerm = fFatigueBase - fFatigueMult*(1 - normalisedFatigue)

 

npcTerm = npcTerm * npcFatigueTerm

 

x = int(playerTerm - npcTerm)

 

if x < iBlockMinChance: x = iBlockMinChance

if x > iBlockMaxChance: x = iBlockMaxChance

 

roll 100, block if roll < x

 

 

 

iBlockMinChance = 10 -> 20

iBlockMaxChance = 50 -> 80

 

Блок теперь случается чаще и сильнее зависит от навыка и прочих факторов. Минимальный шанс - 20%, максимальный шанс - 80%

 

Внимание, блок не работает в состоянии станлока! Так что с моими изменениями частоты атаки оппонентов они пробивают щиты куда эффективнее.

 

 

Эффективность Брони

 

fCombatArmorMinMult = 0.25 -> 0.1

 

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

 

Вроде бы пока всё.

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

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

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

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

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

Отличная работа с ГМСТ.

Самостоятельно изучали по ресерчу опенМВ или подсмотрели где описание ГМСТ?

Расход усталости при Атаке
мне кажется странно, что так зависит от загрузки.

Я бы смотрел в сторону именно веса оружия, но если это срабатывает только при попадании - это все меняет....

Расход усталости при Прыжке
прыгать при большой загрузке должно быть малореально вообще. Это нормально)
Расход усталости при Блоке
люто плюсую за вариант с меньшим расходом для тяжелых щитов! Изменено пользователем cepoe
Ссылка на комментарий
Поделиться на другие сайты

Благодарю.

 

Самостоятельно изучали по ресерчу опенМВ или подсмотрели где описание ГМСТ?

Да, вся инфа отсюда:

https://wiki.openmw.org/index.php?title=Research

https://github.com/zinnschlag/openmw/blob/master/apps/openmw/mwmechanics/combat.cpp

И кое-что из личных тестов.

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

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

Или суть именно в том, что бы оставить дефолтную скорострельность, но замедлить анимацию?..

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

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

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

 

Или суть именно в том, что бы оставить дефолтную скорострельность, но замедлить анимацию?..

И это тоже. Выстрел происходит быстро, перезарядка - медленно, всё как и положено арбалету.

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

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

Провел тест.

fFatigueAttackBase + ( normalizedEncumbrance * fFatigueAttackMult ) + weapon weight * fWeaponFatigueMult * weapon windup

fFatigueAttackBase = 0

fFatigueAttackMult = 0

fWeaponFatigueMult = 10

Удар в пустое пространство.

Расход без замаха -- Расход с длинным замахом

Железный кинжал (вес 3): 11 -- 30

Железная дубина (вес 12): 45 -- 120

Везде красивые х10 согласно весу.

Сильный удар отнимает fWeaponFatigueMult * вес оружия, как и в формуле.

Слабый - что-то вроде 0.37 * fWeaponFatigueMult - либо, скорее всего, очень тонкая зависимость от времени нажатия кнопки мышки.

При fWeaponFatigueMult = 1 при слабой ударе расходуется 1 единица усталости, при сильной - от 1 до 3 (похоже, что от 1 до 4 согласно весу, но одна единица быстро восстанавливается и я не вижу этого по шкале). Значит, формула опенМВ не совсем верна

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

Удар в пустое пространство.

В пустое пространство - да, срабатывает. А вот если промахнулся по врагу, то нет.

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

Можно довольно элегантно решить с помощью МВСЕ: записывать вес взятого в руки оружия в fFatigueAttackBase)

главное - преобразовать типы правильно

правда, сила замаха уйдет их расчета

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

Можно довольно элегантно решить с помощью МВСЕ: записывать вес взятого в руки оружия в fFatigueAttackBase)

главное - преобразовать типы правильно

Можно. Но это, к сожалению, будет корректно работать только с игроком, что для меня неприемлемо.

 

Ах да, таки зарелизил мод:

 

 

Improved Thrown Weapon Projectiles

 

http://www.nexusmods.com/morrowind/mods/44763/?

 

https://www.youtube.com/watch?v=cQwaM6Gotxg

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

Помню давно на СХшном форуме было обсуждение на счет метательных топоров. Тогда тема закрылась на том, что нет возможности заставить их крутиться, а без этого будет совсем странно. Всегда приятно, когда "невозможное" становится возможным. Отличная работа. Какова реализация? За счет анимации на моделях?
Ссылка на комментарий
Поделиться на другие сайты

Совершенно никаких проблем.

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

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

Бумеранги было бы круто! А как будут вычисляться коллизии? С учетом того, что траектория не прямая.
Ссылка на комментарий
Поделиться на другие сайты

Бумеранги было бы круто! А как будут вычисляться коллизии? С учетом того, что траектория не прямая.

Вот это и надо будет проверить.

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

Метательные топоры я, что называется, с руками бы оторвал.

Когда-то давно пытался сам сделать, но умений не хватило.

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

Метательные топоры я, что называется, с руками бы оторвал.

Когда-то давно пытался сам сделать, но умений не хватило.

 

А я с ними даже играл в свое время, естественно без анимации. в плагине "Имени Скального Наездника" )

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

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

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

>нормальная физика

>Oblivion

 

Физику пускай OpenMW прикручивает, когда выйдет. Что ж теперь, ближайшие пять лет не играть в Морр?

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

Ах да, таки зарелизил мод:
Вот это я понимаю, Modding 2017/

В смысле смотришь, и думаешь: как же так за пятнадцать лет никто этого еще не намоддил?..

 

Хгмм. На видое кажется, нож обухом вперед летит?

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

 

Хочу нормальные метательные копья.
Это, боюсь, анимацию броска переделывать надо, что малореально.
Ссылка на комментарий
Поделиться на другие сайты

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

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