Как сделать рандомное число это понятно
Но, при создании нестандартной способности например Сильный удар, возникает проблема возникает проблема
Но, при создании нестандартной способности например Сильный удар, возникает проблема возникает проблема
Допустим поставим на карту 2 юнитов с такой способностью и заставим их друг друга бить
Допустим шанс срабатывания способности 20%. Два юнита бьют друг друга и тут замечается, что у одного, например способность либо почти не срабатывает, либо срабатывает очень редко, что в принципе полный бред. Потому что 20%, это как никак, но раз за 5 ударов должно пройти. НО
Допустим шанс срабатывания способности 20%. Два юнита бьют друг друга и тут замечается, что у одного, например способность либо почти не срабатывает, либо срабатывает очень редко, что в принципе полный бред. Потому что 20%, это как никак, но раз за 5 ударов должно пройти. НО
Совсем куда смешнее ситуация была, когда были две разные абилки, у двух разных героев, и тот у кого была абилка с шансом 15%, срабатывала бывало чаще, чем например у того, у которого была абилка с шансом 30%. Напоминаю, всё та же ситуация, когда два героя одновременно бьют друг друга.
Суть в принципе ясна. Варик генерирует числа, типа например 20,50,60,43,54,78,35,1,32,88 и т.д., а так как для всех войск на карте используется один рандом, то так получается, что когда два героя бьют друг друга, у того, у кого шанс 15% по счастливай случайности срабатывает, а у того у кого 30, нет и поэтому, у того, у кого 30% шанс, способность может не пройти даже после 5 и больше ударов, хотя по логике она должна срабатывать куда чаще.
Получается, что для каждого юнита на карте со способностью, имеющей вероятность срабатывания нужно сделать свою БД рандомов, так сказать сгенерировать ряд рандомных чисел? Или даже не для отдельного юнита, а для отдельной способности каждого юнита?
Или как это реализовать? Подскажите, кто разбирается, как например в том же Варике устроен этот рандом для скилов или в той же Дота2
Или как это реализовать? Подскажите, кто разбирается, как например в том же Варике устроен этот рандом для скилов или в той же Дота2
Принятый ответ
И вот ещё в теме по этому поводу рассуждал
Получается, что для каждого юнита на карте со способностью, имеющей вероятность срабатывания нужно сделать свою БД рандомов, так сказать сгенерировать ряд рандомных чисел? Или даже не для отдельного юнита, а для отдельной способности каждого юнита?
avuremybe:
ClotPh:
А именно, то что он может прокрутиться 3 раза, когда его бьют 3 юнита всего
И не крутиться почти, когда его бьют 5 крипов
Если бы оно работало, как ты говоришь, то он бы крутился всегда идеально, но там по-моему как раз вот этот безумный рандом
Ну вот получается к этому и приходим, что нужно делать для каждогоProshel_Doty, ну так втули 20 циклов с рандомом. Будет тебе для 20 абилок.
ClotPh:
По-моему про крутилку акса ты чего-то не знаешь)Proshel_Doty, да вот хотя бы крутилка акса в доте 2 уже именно так работает, и заряды, и перезарядка, и фактически увеличивающийся шанс
другое дело, что не обязательно в базовой информации игрокам слишком много мозги компостировать, им достаточно условно знать про шанс там 15%, 20% или 30%, ну и мб перезарядку
А именно, то что он может прокрутиться 3 раза, когда его бьют 3 юнита всего
И не крутиться почти, когда его бьют 5 крипов
Если бы оно работало, как ты говоришь, то он бы крутился всегда идеально, но там по-моему как раз вот этот безумный рандом
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Второй удар - 20%
Третий удар - 30%
Четвёртый удар - 40% и т.д.
Шанс срабатывания растёт с каждым ударом, а в случае прока возвращается обратно на свои изначальные значения.
Ред. GetLocalPlayer
Тут есть варианты
Для башей давно выдумали кулдауны как в доте, ибо баш в картах типа хиро арен или AOS, где бой ведется в основном одним героем и минимумом подконтрольных войск, там баш очень сильная абилка (собственно все оглушения сильные абилки). Делайте кулдаун на 1 юнита, если юнит от вас уже получал баш, следующий возможен только через 3 сек. (к примеру).
Ред. ClotPh
другое дело, что не обязательно в базовой информации игрокам слишком много мозги компостировать, им достаточно условно знать про шанс там 15%, 20% или 30%, ну и мб перезарядку
Вот допустим абилка срабатывающая со 100% шансом, он срабатывает каждый 1 раз
Чисто логически абилка с 50% шансом должна срабатывать каждый 2 раз. Но это рандом и мы понимаем, что она Либо сработает 2 раза подряд, потом 2 раза не сработает, либо сработает 1 раз, потом 1 не сработает, либо сработает 3 раза и 3 не сработает, и так будет повторяться. Но, то что абилка с 50% шансом не сработает на 5 удар, например, уже смотрится как-то подозрительно.
Дальше по этому рассуждения абилка с 33% шансом срабатывает каждый 3 удар
Абилка с 20% шансом срабатывает каждый 5 удар. Но опять же как в рассуждении про 50% шанс, тут может быть 10 ударов не сработавших, но потом например, сработают сразу 2 подряд, или сработает 1, потом второй нет и так, например 3 раза подряд. Тут уже достаточно большой разброс.
Jinada Bounty Hunter'a из Dota имеет перезарядку, хоть и является пассивной способностью.
ScopteRectuS: Я как бы знаю, что у кого в Доте что делает, джинада тут совсем не к месту)
Если ты хочешь 20 срабатываний из 100 ударов - делай срабатывание на каждый 5й удар.
Раз уж ты все сравнения сводишь к DotA - то вспомни старого Storm Spirit, его пассивка именно так работала.