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

Сообщения от Обсуждение Heroes I

В ответ пользователю AlexSpl
Аватар пользователя
#155
Эксперимент по изучению выпадения морали и удачи на конкретном примере (Задача № 3 в справочнике от Firaballa) практическим путем.

Цель эксперимента: выяснить закономерность выпадения морали и удачи при нанесении определенного урона (Damage) монстрами.

Определяющий момент: Чтобы эксперимент был достоверным, обязательным условием является абсолютная повторяемость действий монстрами под управлением игрока.

Понятия: Сессия (применительно к игре герои 1, впервые введено AlexSPl) – это полная перезагрузка исполняемого файла героев (heroes.exe), т.е. выход из игры в windows и запуск игры вновь.
1 игровой раунд – это действия проводимые игроком и компьютером каждым монстром, единожды, или дважды при выпадении положительной морали.
Примечание: парализованный, ослепленный и под отрицательной моралью монстр автоматически пропускает ход.

Эксперимент: Было проведено 10 сессий по 10 раундов битв в каждой.

Описание: В данном примере рассматривается 1 раунд вышеуказанной задачи (см. также 8 поясняющих картинок к битве),

1) Всадники - Берсерк на горгулий и Защита;
2) Мечники - становятся перед крестьянами;
3) Копейщики - становятся по диагонали вправо вниз от мечников;
4) Крестьяне - по диагонали бьют по драконам.

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

В таблицы введены следующие сокращения:

рвс – разрушена верхняя стена;
рнс – разрушена нижняя стена;
нрвс – наполовину разрушенная верхняя сена;
нрнс – наполовину разрушенная нижняя сена;
У – удача;
М – мораль.

Примечание: не было зафиксировано ни одного случая, ни в одной из сессий, когда бы мораль (и соответственно удача), при таких действиях (указанных выше), выпадала бы мечникам или копейщикам.

Рассмотрим эту ситуацию более подробно с точки зрения наносимого урона монстрами в первом раунде:

Назовем эту ситуацию - полное повторение битвы (ппб), которую так и будем указывать в таблице.

Получаемые уроны (Damage):
нрнс;
Стрелка по лучникам 90 hp (-9 штук);
Горгульи по грифонам – 30 hp (-1 штука);
Грифоны в ответке горгульям – 21 hp (-1 штука);
Грифоны по лучникам – 26 hp (-2 штуки);
Лучники в ответке грифонам – 230 hp (-6 штук, убиты);
Драконы по лучникам – 958 hp (-74 штук, убиты);
Крестьяне с удачей по драконам – 1795 hp (-8 штук);
Драконы в ответке крестьянам – 578 hp (-578 штук, остаток 419).

Все остальные ситуации не попадающие под ппб, будем называть ”выпадающие битвы” (вб) и расписывать полностью в таблице.

По результатам эксперимента (см. таблицу) получаем:

1 сессия – ппб (90%);
2 сессия – ппб (90%);
3 сессия – ппб (60%);
4 сессия – ппб (90%);
5 сессия – ппб (90%);
6 сессия – ппб (90%);
7 сессия – ппб (90%);
8 сессия – ппб (90%);
9 сессия – ппб (90%);
10 сессия – ппб (70%);

В ходе опыта было установлено, что при определенных условиях урона наносимых стрелковой башней (90 hp лучникам) и катапультой (нрнс), идет полная повторяемость битв, в не зависимости от сессии, в частности выпадает удача крестьянам!

Также отчетливо видно, что каждая новая сессия обязательно начинается с ”выпадающий битвы” (вб), после чего начинается цикл полного повторения битвы (ппб), причем что характерно, 8 вб в первой попытки каждой сессии, абсолютно разные (2 одинаковые, отмечены светло зеленым цветом)!

Лишь в двух сессиях (3 и 10) появились дополнительные вб, которые ломают картину ппб.

Из 5 дополнительных вб, 3 повторились (отмечены темно зеленым цветом)!
Из 10 сессий, в первом опыте (попытке) повторились полностью 2 попытки, а также частично еще 4 (отмечены серым и светло зеленым цветом).

Выводы:

1) Очевидно, что мораль и удача в героях 1 фиксирована, при определенных действиях игрока, но к сожалению есть ”выпадающие битвы” которые не позволяют говорить о 100% вероятности повторения битв. И тем не менее, вероятность повторения ппб очень большая, см. таблицу. Интересно то, что ни в одной сессии в первом опыте (попытке) не выпала ппб.

2) Мораль и удача в героях 1, зависит от выпавшего расклада карты битвы в определенной сессии. Сама же карта битвы уже фиксирована, и при определенных действиях человека в которых определяется это выпадение, судя по всему, остается неизменной до конца боя (определяется по наносимому урону Damage и по тем действиям, при которых идет ппв). От временных задержек мораль и удача не зависят.

3) Также становиться понятно, что по нескольким уронам (в данном случае катапульты и стрелковой башни!), можно говорить какая игровая карта выпала.

Примечание: В других битвах это можно смотреть по наносимому урону монстров.

4) Вероятно, есть определенный цикл выпадения количества карт битв, на каждую сессию и более того количество таких карт ограничено!

5) Полагаю, что именно в первой попытке в каждой новой сессии, можно словить удачу либо мораль, фактически любому монстру, но только в первой (кроме тех, кому эти составляющие не выпадают по определению)! Вообще какая-то читерная первая попытка получается.
Примечание – не знаю, глюк это, или моя невнимательность при определении урона стрелковой башни, но как видно из таблицы, в 1 случае из 100, при ппв, крестьянам удача не выпала (отмечено желтым цветом)!

Вот такие вот неоднозначные результаты и мысли.

С уважением, VDV_forever
Вложения 9
9 файл(ов) • Общий размер: 989,3 KB
Единый справочник по Героям Меча и Магии

ТУРНИРЫ ПО ГЕРОЯМ 1!:smile13:
В ответ пользователю AlexSpl
Аватар пользователя
#156
AlexSpl
2VDV_forever: Попробую предвосхитить результаты Ваших тестов:
1) Бой, открывающий сессию, может быть каким угодно (какой угодно урон, кому угодно мораль и удача);
2) Во всех остальных боях урон будет фиксированным (одинаковым от боя к бою), а удача будет приходить только крестьянам в конце первого раунда.

Подозреваю, тестирование и Вы, и я проводим примерно так: смотрим, кому будет удача/мораль (в частности ожидаем удачу крестьянам), а затем, в начале второго раунда, сбегаем и загружаемся снова. Так вот, поступая таким образом, мы всё время будем ловить удачу крестьянам, начиная со второй битвы любой сессии! Игра действительно фиксирует(!) R после сбегания!

Очень хорошо, что мы фактически независимо друг от друга приходим к практически одним и тем же результатам и выводам!:smile03:

Действительно, я фактически всегда сбегал после того как, крестьяне лупанут с удачей!, т.е. в начале следующего 2-го раунда!
А когда халтурил:o , т.е. понимал, что они полубому лупанут с удачей, сбегал до наступления их хода и этим можно объяснить феномен ”выпадающие битвы” в моей таблицы, после первого раунда!!:smile03: !
Супер AlexSPl! Похоже задача решена!
Респект!

AlexSpl

Для чистоты эксперимента рекомендую запускать каждый раз новую сессию или, по крайней мере, сбегать не на ходу кавалеристов. Тогда вероятность прихода удачи крестьянам должна резко снизиться. А при текущем подходе она будет равна 100%, начиная со второго боя любой сессии.

Обязательно буду пробывать! Тестирование продолжается, хотя эта битва меня уже немного напрягает:smile40:
AlexSpl

Также нашёл верхнюю границу количества возможных карт боя при фиксированных действиях игрока - 1000.
Каким образом? :smile11:

З.Ы. Сегодня тестил часов 5....:smile33:

С уважением, VDV_forever
Единый справочник по Героям Меча и Магии

ТУРНИРЫ ПО ГЕРОЯМ 1!:smile13:
Аватар пользователя
#157
Таким образом, опознать карту битвы действительно можно по двум-трём (иногда, конечно, может потребоваться и больше) уронам заранее фиксированных монстров (стрелковой башни). Т.е., например, если стрелка наносит 90 hp урона, а пара уронов горгульи-грифоны равна 30-21 hp, то с высокой долей вероятности (возможно, даже со 100% вероятностью) можно утверждать, что перед нами ппб и удача выпадает крестьянам. Также буквально по паре-тройке уронов можно прогнозировать и величины всех остальных уронов в текущей битве.

К сожалению, вероятность ппб резко снизится, если сбегать не на ходу кавалеристов.
В ответ пользователю AlexSpl
Аватар пользователя
#158
AlexSpl
Таким образом, опознать карту битвы действительно можно по двум-трём (иногда, конечно, может потребоваться и больше) уронам заранее фиксированных монстров (стрелковой башни). Т.е., например, если стрелка наносит 90 hp урона, а пара уронов горгульи-грифоны равна 30-21 hp, то с высокой долей вероятности (возможно, даже со 100% вероятностью) можно утверждать, что перед нами ппб и удача выпадает крестьянам. Также буквально по паре-тройке уронов можно прогнозировать и величины всех остальных уронов в текущей битве.

Именно!:smile03:
AlexSpl

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

Но, полагаю, если постоянно (от битвы к битве) сбегать все время на ходу другим монстром, скажем мечниками во второй ход, делая при этом абсолютно те же действия, то повторяемость также должна быть 100%:) ! Надо бы проверить!:smile03:
Хотя хронология событий будет уже другая, но ппб уже будет 100% начиная со второй попытки! Супер!

С уважением, VDV_forever
Единый справочник по Героям Меча и Магии

ТУРНИРЫ ПО ГЕРОЯМ 1!:smile13:
Аватар пользователя
#159
2VDV_forever: Число 1000 взято из экзешника. В начале битвы игра генерирует число от 1 до 1000, которое используется в качестве "затравки" ("семени"). Таким образом, число выпадающих битв ограничено одной тысячей. Но, я подозреваю, что 1000 - это всего лишь верхняя граница и, на самом деле, число выпадающих битв намного(?) меньше.

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

Добавлено через 7 минут
Когда я говорил про мораль копейщикам, я имел в виду следующее:
Fireball дал описание ппб. Разумеется, повторить его не составило труда из-за интересного свойства числа R фиксироваться, если сбегать на ходу конретного отряда. Но как быть с описаниями, где победа игрока предполагает повторение выпадающей битвы? Какова вероятность, что эту битву повторит организатор?
В ответ пользователю AlexSpl
Аватар пользователя
#160
AlexSpl
2VDV_forever: Число 1000 взято из экзешника. В начале битвы игра генерирует число от 1 до 1000, которое используется в качестве "затравки" ("семени"). Таким образом, число выпадающих битв ограничено одной тысячей. Но, я подозреваю, что 1000 - это всего лишь верхняя граница и, на самом деле, число выпадающих битв намного(?) меньше.

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

:smile20:
AlexSpl

Когда я говорил про мораль копейщикам, я имел в виду следующее:
Fireball дал описание ппб. Разумеется, повторить его не составило труда из-за интересного свойства числа R фиксироваться, если сбегать на ходу конретного отряда. Но как быть с описаниями, где победа игрока предполагает повторение выпадающей битвы? Какова вероятность, что эту битву повторит организатор?

Действительно, если победа достигается при выпадающей битве, то повторить ее будет проблематично! Согласен!
Но, вероятность того, что она будет сдалана игроком (такая важная победа), именно на первой попытки сессии, фактически нереальная, если конечно такой игрок не станет целеноправленно юзать эту явно читерную (как стало понятно) 1 попытку, в каждой сессии.
Опять же можно ввести пункт в правила турниров, жестко ограничивающих применение такой тактики, при игре на offline турнирах!
Тут надо подумать...

Вы хоть понимаете, что мы сегодня (хотя начали заниматься этой проблеммой далеко не сегодня) сделали? Открытие!!! Огромнейшее спасибо Уважаемый AlexSPl! :smile20:

C уважением, VDV_forever
Единый справочник по Героям Меча и Магии

ТУРНИРЫ ПО ГЕРОЯМ 1!:smile13:
Аватар пользователя
#161
Потестил механизм ещё немного, но уже в бою с нейтралами. Повторяемость после первой попытки не обнаружена. Так что прежде, чем делать какие-либо выводы, нужно найти условия, при которых наступает эта самая повторяемость.

Будет прикольно, если повторяемость достигается только в задаче от Fireball'а :smile05:
В ответ пользователю AlexSpl
Аватар пользователя
#162
AlexSpl
Потестил механизм ещё немного, но уже в бою с нейтралами. Повторяемость после первой попытки не обнаружена. Так что прежде, чем делать какие-либо выводы, нужно найти условия, при которых наступает эта самая повторяемость.

Будет прикольно, если повторяемость достигается только в задаче от Fireball'а :smile05:

Надо найти подходящую битву с нейтралами и на ней тестить, предлагаю тестить на одной и той же битве, есть вариант?

т.е. хотите сказать, что моя теория может оказаться верной?
VDV_forever

В отличии от боев с нейтральными монстрами, алгоритм выпадения удачи и морали в битве с героями компа отличен, и зависит от нанесенного урона (Damage) определенным монстром, поэтому так или иначе битву с героями повторить можно! Т.е. для одной и той же битвы при многократном переигрывании путем лоад\сейв число R0 остается постоянным и неизменным!

Действительно тороплюсь с выводами, надо продолжать рыть в том же направлении, и найти 100% условия:) Ух, как все трудно...

С уважением, VDV_forever
Единый справочник по Героям Меча и Магии

ТУРНИРЫ ПО ГЕРОЯМ 1!:smile13:
Аватар пользователя
#163
т.е. хотите сказать, что моя теория может оказаться верной?
Похоже, что так. Нужно проверить:
а) бои с нейтралами;
б) бои с героями в "чистом поле";
в) осаду замка.
предлагаю тестить на одной и той же битве, есть вариант?
Я думаю, это не так важно. Наоборот, тестируя разные битвы, мы скорее получим достоверный результат.

Удачного уик-энда! ;)
Аватар пользователя
#164
2VDV_forever: К сожалению, рассматриваемая нами битва - скорее исключение :(
В ответ пользователю AlexSpl
Аватар пользователя
#165
AlexSpl
2VDV_forever: К сожалению, рассматриваемая нами битва - скорее исключение :(

Ну уверен, поскольку с героями похоже зависимость есть, главное всегда сбегать в одно и то же время, и делать одни и те же действия. :p

С нейтралами, похоже полный рэндом.:(

Буду на следующей недели тестить по полной, результаты выложу здесь;)

P.S. Как такое возможно в программе, что бы были исключения в виде ппб на определенных битвах? Т.е. в одной битве программа, запоминает это значение (R), а в другой нет?:smile07: Должен же быть прописан определенный алгоритм, просто мы его понять не можем (надеюсь что пока), поскольку он не такой простой и понятный.

С уважением, VDV_forever
Единый справочник по Героям Меча и Магии

ТУРНИРЫ ПО ГЕРОЯМ 1!:smile13:
Аватар пользователя
#166
Сделал небольшой тест по началу осады на примере недавного ОТ. Из 30 попыток примерно в равных количествах подламывается стенка в местах стеков 2 и 4. Ни разу стенку не удалось проломить полностью. В одном случае на дварвов защищающихся не подействовал лайтниньг. То есть вполне возможно, что каждое событие рассматривается строго отдельно и осуществляется с набором вероятностей. А тогда очень сложную битву, где просто повезло 2-3 раза в офф-турнире, и это принесло победу, не удастся воспроизвести ведущему даже за очень большое число попыток.
With best regards, Ergon.
В ответ пользователю Thundax
Аватар пользователя
#167
Ergon
Сделал небольшой тест по началу осады на примере недавного ОТ. Из 30 попыток примерно в равных количествах подламывается стенка в местах стеков 2 и 4. Ни разу стенку не удалось проломить полностью. В одном случае на дварвов защищающихся не подействовал лайтниньг. То есть вполне возможно, что каждое событие рассматривается строго отдельно и осуществляется с набором вероятностей. А тогда очень сложную битву, где просто повезло 2-3 раза в офф-турнире, и это принесло победу, не удастся воспроизвести ведущему даже за очень большое число попыток.
With best regards, Ergon.

Доброго времени суток!

На счет стенок:;)
http://handbookhmm1.narod.ru/10.html

В случае с гномами, это дейстительно вероятностный характер и равен он 25%.
http://handbookhmm1.narod.ru/7.html

Тестировать надо именно битву, на выпадение морали и удачи, которые напрямую зависят от нанесенного урона в бою (Damage) при определенных действиях человека.
От применения магии же, у Вас измениться сам характер битвы, и соответственно может измениться и выпадение этих составляющих. Напрямую же от применения магии, выпадение морали и удачи не зависят!

С уважением, VDV_forever
Единый справочник по Героям Меча и Магии

ТУРНИРЫ ПО ГЕРОЯМ 1!:smile13:
Аватар пользователя
#168
P.S. Как такое возможно в программе, что бы были исключения в виде ппб на определенных битвах? Т.е. в одной битве программа, запоминает это значение (R), а в другой нет? Должен же быть прописан определенный алгоритм, просто мы его понять не можем (надеюсь что пока), поскольку он не такой простой и понятный.

Как показали результаты наших тестов, в отдельных случаях возможна 100% повторяемость битвы после сбегания. Яркий пример: задача от Fireball'а. В этих случаях первый бой любой сессии может быть каким-угодно, но, начиная со второго, карта битвы повторяется вновь и вновь и не зависит от номера сессии!

Итак, Ваш Герой покинул поле боя, Вы загрузились заново. Каковы же условия того, что битва повторится на 100% после загрузки?

Оказывается всё одновременно и просто, и странно:

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

Так, в рассматриваемой нами задаче Агар имеет 8 уровень (10000 xp). Если он не успевает убить 1000 xp, чтобы перейти на 9 уровень, то ппб не будет! Если он всё-таки получит свой 9 уровень, то ппб будет 100%! Причём вид ппб зависит от того, сколько уровней получает вражеский герой за битву.

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

2) вражеский герой убил достаточно существ, чтобы перейти на следующий уровень;
ппб будет 100%.

3) вражеский герой убил достаточно существ, чтобы поднятся сразу на несколько уровней;
ппб будет 100%, хотя её вид будет зависеть от количества полученных уровней.

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

Такие дела.
Аватар пользователя
#169
Прошу прощения, а скажем такая ситуация. У нашего героя осталось 10 гаргулей, а у противника 30 пезантов. Герою противника надо убить еще 1 гаргу до уровня. В первый раз мы подставляем под его пезантов гарг, он выносит 1 и мы сбегаем. Во второй раз мы просто выносим его 30 пезантов.
А что будет в 3й раз? Уже не будет ппб (я рискнул предположить, что это постоянно повторяющаяся битва, если не так, то извиняюсь).