Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
16:31
3859
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Идеи и предложения-->

АвторИзминить формулу срабатывания удачи и морали
первоначальный разброс от 0 до 1 (обозначим B)

ход монстра генерируем число в диапазоне от 0 до 1 (обозначим A)
Если А<B (удача не сработала) тогда увеличиваем A на удача юнита*0,1
иначе срабатывает удача и а меняется как A=A-1+удача юнита*0,1
-1

мне такая нравиться, привыкли, ща прощитывать очень легко, особенно 5 БД, срабаывает через ход
-1

Так в самый раз...
преимущества - нормальное срабатывание морали минотавров и существ без страха, отсутствие постоянства срабатывания при морали 5
-4

Чем это тебе не нравиться мои +5БД, хорошо когда срабатывает через каждый ход...хотя рыцарей это не спасёт (это я так...от темы отступил)
По сути - два предложения
1)Сделать счётчик удачи и морали отдельным для каждого существа отдельным
2)Убрать случайность из счётчика, то есть сделать для каждого отряда срабатывание удачи и морали периодичным

Первое предложение уже где-то было, но ему +1
Второе предложение мне совсем не нравится: удача без случайности...
Я своё мнение уже высказывала в аналогичном теме Тайпана , а именно - мораль и удача должны срабатывать отдельно у каждого стека , тогда ловить их на основные станет невозможно .
насколько я понимаю, через несколько испытаний (ходов юнита) появится предсказуемая цикличность - что не есть хорошо. Например, при удаче, равной 2, после первых двух срабатываний удач будет цикл в 5 ходов. (если нигде не ошибся) Так что я против :)
В начале
A:=random(10)/10
Пусть удача или мораль m
Если существо ходит, то
if A>0 then
B:=random(10)/10;
if A>B then A:=A-1+0,1*n, (срабатывает мораль)
{причём A может оказаться меньше 0}
else A:=A+0,1*n
{Причём A может оказаться больше 1} (тогда на следующий ход удача
сработает принудительно)
else
B:=random(10)/10;
if -A>B then A:=A+1+0,1*n, (срабатывает НЕ мораль)
{причём A может оказаться меньше 0}
else A:=A+0,1*n
{Причём A может оказаться больше 1} (тогда на следующий ход удача
сработает принудительно)
endif
9
А по-русски?

P.S. -1
9
в общем я так понял:

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

2) у признака есть параметр(вероятность срабатывания) m
Исходя из этого m предлагается следующая схема:

A:=random(10)/10 %initial value
% перед каждым ходом юнита
B:=random(10)/10;
if A>B then A:=A-1+0,1*m, (срабатывает признак)
else A:=A+0,1*m

в принципе, надо оценить как это будет вести себя статистически, но на первый взгляд смотрится нормально. Сгенерю большую какую-нибудь выборку - проверю :)
+11
проверил на выборке 100000 испытаний: статистически алгоритм хорошо работает, в среднем действуют те же ограничения, что и сейчас, но получается более случайно: возможны редкие небольшие выбросы, которые можно интерпретировать как невезение/везение :) Если есть конкретные вопросы по результатам теста - спрашивайте.

Так что от меня: +1
Кстати, вероятность срабатывания признака +1 (удача +1/мораль +1) сейчас с учетом нынешних ограничений занижена.

Вот статистическая вероятность, подсчитанная на выборке 1000000 испытаний, в разных схемах:

1. Полный рандом - 0.1001
2. Нынешняя схема(с простыми ограничениями 5 и 20) - 0.0822
3. Схема ERWINS - 0.1
+13

дополнительные статистики (подсчитанные на той же выборке):

1) среднее кол-во ходов между выпадениями признака

1. Полный рандом - 8.9969
2. Нынешняя схема - 11.181
3. Схема ERWINS - 9

2) стандартное отклонение кол-ва ходов между выпадениями признака

1. Полный рандом - 9.4586
2. Нынешняя схема - 5.3944
3. Схема ERWINS - 2.4736

3) min и max кол-во ходов между выпадениями признака

1. Полный рандом - 0 и 106
2. Нынешняя схема - 4 и 19
3. Схема ERWINS - 0 и 18

4) квантили ( 5%,25%,50%,75%,95%) распределения кол-ва ходов между выпадениеми признака

1. Полный рандом - [0 2 6 13 28]
2. Нынешняя схема - [4 6 10 17 19]
3. Схема ERWINS - [5 7 9 11 13]

Резюме: Схема ERWINS фактически "усредняет" рандом(уменьшает отклонение вокруг среднего без существенного изменения этого среднего) - что в принципе все и хотели - чтобы удача выпадала не слишком часто и не слишком редко, но в среднем так же, как и при полном рандоме. :)
кросавчег Тайпан.
обожаю ТЕР ВЕР :)
для Maximum_Damange:
:)
Кстати, я тут поигрался с различными вариантами ограничения для +1 - можно, в принципе, не менять нынешнюю схему, а просто подобрать более подходящие ограничения. Сейчас (5,20) чересчур жесткие и дают заниженную вероятность срабатывания признака. Если взять ограничение (3,17), то статистическая вероятность уже будет очень близка к 0.1 Теоретически обосновать я это пока не могу (надо подумать), это чисто практические наблюдения.

Статистика для ограничений (3,17) в том же порядке, что и в 14-ом сообщении:
стат. вероятность - 0.100653
1) 8.9348
2) 5.1093
3) 2 и 16
4) [2 4 8 15 16]

P.S. В общем, не понятно из каких соображений были выбраны нынешние ограничения - статистически они работают неудовлетворительно.
продолжение исследования :)

для случая удача/мораль +2 очень хорошо работают следующие ограничения:
"не более 2 раз за 3 хода и не менее 1 раза за 15 ходов", которые также не позволяют слишком частое и редкое выпадение признака.

сравнение с рандомом без ограничений на выборке 1000000 испытаний:
стат. вероятность:
1. Полный рандом - 0.2
2. рандом с такими ограничениями - 0.2007

остальные статистики в том же порядке что и раньше:
1)
1. Полный рандом - 4
2. рандом с такими ограничениями - 3.9823

2)
1. Полный рандом - 4.456
2. рандом с такими ограничениями - 3.8481

3)
1. Полный рандом - 0 и 50
2. рандом с такими ограничениями - 0 и 14

4) здесь вообще полное совпадение квантилей:
1. Полный рандом - [0 1 3 6 13]
2. рандом с такими ограничениями - [0 1 3 6 13]

Какие сейчас действуют ограничения - я не знаю, но не уверен, что они адекватно сохраняют средние характеристики и "не сильно сдвигают" значение вероятности.
К списку тем
2007-2026, онлайн игры HeroesWM