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

Сообщения от HoMM3 HD - мод (дополнение) к игре Heroes of Might and Magic 3

Аватар пользователя
Прочти внимательно этот пост /topic/at/671433/

(битва героя ИИ против нейтралов - как в оригинале для скорости)

Но все равно как-то ненормально выглядит конечно

Да, и куда ты расширение файла задевал?
Сейчас балуюсь этим https://vcmi.eu/download/
За то что нейтралы не бегают за единичкой, для меня это уже стоит того
Аватар пользователя
Интересно другое.

Загрузил за компа. На квике выживало либо 8-9 гидр, либо 8-9 гидр и 10 коров. Причем результаты менялись если полностью выйти с игры и зайти заново.

На автобое выживало намного больше существ.
Стабильно 21 гидры, 50 коров, 35 васек.
Реже 21 гидра и 49 коров
(Что навело на мысль, что окаменение василисков не срабатывает на квике, но далеко не факт)

А вот если напасть и сразу нажать Q то в основном было поражение :confused: Что очень странно. (Причем убивал ровно 1006 грифов)

Каков вообще алгоритм боя по Q ? Это что-то новое? Или имитация квика? Или что это?

update: наверное 1 раз из 70 Q удалось победить!!! выжило 20 гидр!

Грузил отсюда, сингл
Вложения 1
1 файл • Общий размер: 224,9 KB
Сейчас балуюсь этим https://vcmi.eu/download/
За то что нейтралы не бегают за единичкой, для меня это уже стоит того
В квике кстати есть ещё такая штука: если бой длится больше 30 раундов, то он прерывается, и вместо него проводится бой по ИИ-алгоритму, причём армии там берутся те, что были в начале боя (и вообще бой проигрывается как будто сначала), но потраченная мана и убитые боевые машины героев не восстанавливаются.
Аватар пользователя
В общем вырисовалась закономерность:

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

Если подождать пока отыграет - выигрыш! Причем гидры выживают с разными цифрами 14, 10, 7, 2. (могут и другие, по разному)

Если выключить звуковые эффекты и так же быстро нажимать Q и проводить битву - поражение

***

Меня этот сейв не перестает удивлять. Прикол еще в том, что там в таверне сидит Вистан, так с ним ситуация совершенно обратная. Если обменять ему войска и арты (ящеров не брал) и напасть Q не дожидаясь отыгрывания звукового эффекта, то - победа, если подождать - поражение )))
Сейчас балуюсь этим https://vcmi.eu/download/
За то что нейтралы не бегают за единичкой, для меня это уже стоит того
клавиша Q завершает битву квиком.

Провел исследования квика и автобитвы.
Разные результаты при разновременном нажатии на Q - исключительно вина геройского рандома (проверял сделав чтобы функция генерации случайного числа возвращала одно и то же число).
Так же установлено что при квике и при последующем переигрыше на поле боя устанавливаются разные препятствия - это тоже вина геройского рандома
т.е. при генерации одного и того же числа вышеупомянутой функции
результаты квика и переигрыша с нажатием Q до завершения проигрывания предбитвенной музыки и после завершения - абсолютно идентичны и на эти результаты не влияют ни рестарты ни еще что-то такое.
А вот автобитва, не-смотря на исправление бага с летающими существами в квике, все-таки отличается от этого самого квика.
Например в сейве с мирландой и 1к грифонами
в квике первый стек грифонов делает ход, а в автобое вейтится.
Но это не значит что в квике существа не вейтятся. Они вейтятся но по-другому, т.е. другие стеки в другие моменты. Вобщем бой ведется по-разному. Судя по примеру с мирландой и 1 к грифонами, кажется в квике мирланда сражается 'умнее' или грифоны - тупее, чем в автобое. Но в чем именно дело - х.з.
Может быть Sav разберется...
HoMM 3 HD:

последняя версия - 5.0 RC96 (19.09.2020)

последнее видео: https://www.youtube.com/watch?v=u70wC0DJ7I8

полное подробное описание
В ответ пользователю baratorch
Аватар пользователя
baratorch

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

Таки странно. Я не один раз грузил и не 10. Может из-за того что играл через екзешник вафли, в котором очень шустро войска передвигаются.
А может и правда так совпало...

А если вернуться к сабжу и первопостановке вопроса, почему так мало компьютер потерял войск на грифах? у него же там почти ничего не умерло, - это же бред.

Добавлено через 17 минут
baratorch

Например в сейве с мирландой и 1к грифонами
в квике первый стек грифонов делает ход, а в автобое вейтится.
Но это не значит что в квике существа не вейтятся. Они вейтятся но по-другому, т.е. другие стеки в другие моменты. Вобщем бой ведется по-разному. Судя по примеру с мирландой и 1 к грифонами, кажется в квике мирланда сражается 'умнее' или грифоны - тупее, чем в автобое. Но в чем именно дело - х.з.
Может быть Sav разберется...

Фух наконец-то нашел. Может это будет полезно

/topic/at/399599/
/topic/at/402860/

Хорошо бы починить : )
Сейчас балуюсь этим https://vcmi.eu/download/
За то что нейтралы не бегают за единичкой, для меня это уже стоит того
Таки странно. Я не один раз грузил и не 10. Может из-за того что играл через екзешник вафли, в котором очень шустро войска передвигаются.
А может и правда так совпало...
просто геройский рандом - не такой рандомный как хотелось бы.
при перезагрузке и проведении битвы заново - выдает преимущественно одни и те же последовательности
А если вернуться к сабжу и первопостановке вопроса, почему так мало компьютер потерял войск на грифах? у него же там почти ничего не умерло, - это же бред.
говорилось же в битве ии против ии - нет битвы как таковой.
Рассчитвывается мощь армии с одной и с другой стороны и сравнивается,
у кого больше тот и победил. Как вычисляются потери - я без понятия, это на до спрашивать у Sav

Добавлено через 1 час 1 минуту
Фух наконец-то нашел. Может это будет полезно

http://forum.heroesworld.ru/showpost...postcount=1776
http://forum.heroesworld.ru/showpost...postcount=1832
в примере мирланда vs 1k грифонов - расхождение в вейтах мной замечено только у вив и грифов... будем смотреть...
HoMM 3 HD:

последняя версия - 5.0 RC96 (19.09.2020)

последнее видео: https://www.youtube.com/watch?v=u70wC0DJ7I8

полное подробное описание
В ответ пользователю baratorch
Аватар пользователя
baratorch
просто геройский рандом - не такой рандомный как хотелось бы.
при перезагрузке и проведении битвы заново - выдает преимущественно одни и те же последовательности.
Видимо зашит простейший алгоритм, использующий константу для инициализации рандомизатора, Если ему скормить переменную со случайной величиной, рандом можно сделать действительно рандомным. Простейший способ - использовать системное время.
В ответ пользователю Snooppy
HD 3.46 перестал показывать "Единицы перемещения" у Героев в WOG 3.58f. Вернул 3.45 - показывает нормально.
ProspectorRT и HeroesInfo:
Актуальная версия 2.2 (11.11.2016)
Насчёт квика: просмотрел проверки на его включённость, единственная существенная вещь, которую я заметил и которая не была замечена ранее - криво работающее воскрешение фениксов.
Различные результаты действительно связаны с организацией рандома.

Перед боем seed устанавливается в число, зависящее от координат клетки, поэтому по идее бой должен быть одинаковым при каждом переигрывании.
Но в бою используются 2 функции рандома. Первая работает только по seed и используется почти везде. Вторая используется только для определения времени кривляния монстров и работает по-разному: в сингле она работает по seed, а в онлайне - по текущему времени (поэтому, кстати, в сингле в теории можно подгадать время и вызвать мораль, а в онлайне нельзя).

В квике вторая функция никогда не вызывается, поэтому бой всегда будет проходить одинаково. В автобою вторая функция вызывается, поэтому результаты боя будут зависеть от его длительности в реальном времени и т. п.

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

Если нажать на Q не сразу, то вторая функция несколько раз вызовется и результат боя будет зависеть от количества кривляний существ, которые успели произойти.
В ответ пользователю Sav
Аватар пользователя
Так все-таки есть разница! Между тем как сразу нажать Q и провести бой, или подождать и провести!
Sav

В квике вторая функция никогда не вызывается, поэтому бой всегда будет проходить одинаково. В автобою вторая функция вызывается, поэтому результаты боя будут зависеть от его длительности в реальном времени и т. п.

а как же быть с этим?
baratorch

В хд+ автобой, квик, и битва героя ИИ против героя ИИ - АБСОЛЮТНО ИДЕНТИЧНЫ

Дайте точное определение. На что ориентироваться. Планируется делать одинаковым или таковым и останется?
Просто интересно как будет дальше
Сейчас балуюсь этим https://vcmi.eu/download/
За то что нейтралы не бегают за единичкой, для меня это уже стоит того
Автобой и квик идентичны, за исключением:
1. Квик не может длиться больше 30 раундов. При наступлении 30 раунда бой завершается и победа определяется по ИИ-ИИ-алгоритму, причём армии для него берутся те, что были до начала боя, но потраченная в процессе боя мана и сломанные боевые машины не возвращаются. Не знаю, будет ли это убирать baratorch (и надо ли - пусть лучше в бою типа тряпка на тряпку герою отдаётся невозможная в обычном режиме победа (или поражение), чем виснет игра). Убирается очень легко, приводится в адекватный вид - сложно.

2. В квике есть пара багов и мелких отличий. Один из них - единственный реально серьёзный - баг с летунами - исправлен уже давно. Остальные - это не работающее воскрешение фениксов (они после него считаются живыми, но их количество равно 0) - исправить не очень сложно; не работающая настройка по кнопке в окне героя, отключающая тактику при её наличии (править наверное незачем); отключающаяся тень курсора (вроде в HD исправлялось); и ещё пара моментов, которые, насколько я понимаю, в реальном бою (квике в смысле) никогда проявиться не могут.
Того, чтобы в квике никогда не было препятсвий я не наблюдаю, возможно, это был единичный случай, связаный с 3 пунктом.

3. Случайные числа в автобое и квике генерируются по-разному.

В случае нажатия Q бой до Q будет идентичен обычному бою, а бой после Q - квику (в т. ч. если протупить 30 раундов и нажать Q - бой будет рассчитан по ИИ-ИИ алгоритму, с этим надо быть осторожным и завершать по Q только короткие бои.)



Насчёт того, как и где отличается генерация случайных чисел.
1. В квике - и в онлайне, и в оффлайне - в одном и том же бою будут выпадать одни и те же случайные числа при любом количестве переигрываний.

2. В автобою в онлайне, либо автобою в онлайне с нажатой в любой момент кнопкой Q случайные числа в одном и том же бою будут одни и те же (но это иные числа, чем в квиках), однако после нажатия кнопки Q начнут действовать другие отличия квика: баг с воскрешением фениксов и ограничение 30 раундов). Те же самые случайные числа будут в автобою в оффлайне, если нажать кнопку Q до того, как какое-то из существ покривляется.

3. В автобою в оффлайне, в т. ч. с нажатой после какого-то числа кривляний кнопкой Q при каждом переигрывании будут разные случайные числа.
В ответ пользователю Sav
Аватар пользователя
Sav
3. В автобою в оффлайне, в т. ч. с нажатой после какого-то числа кривляний кнопкой Q при каждом переигрывании будут разные случайные числа.
На мой взгляд это очевидно. Далеко за примерами ходить не надо. Можно в разные моменты времени наживать A и результаты боёв будут разными, от времени зависит выпадение удачи/морали, разброс урона и т.д. Но это фиксили, благодаря ЛМпатчу, который убирал зависимость рэндома чисел от анмиции юнитов и получалось так, что сколько не переигрывай, бой будет идти с одним разбросом урона и с маралями в одних и тех же местах. Аналогично идёт процесс в Героях 2. В оффлайне патч не прижился, а вот в онлайне бы он стал настоящей находкой на случай дисконнекта в какой-нибудь сложной финалке, повторить ходы не составило бы труда. Лидер1 должен помнить все эти тонкости.
В онлайне как раз анимация на рандом не влияет. И битвы с монстрами всегда будут одинаковыми по уронам/моралям.

В битвах между игроками случайные числа действительно различные, но это связано не с анимацией, а с тем, что перед каждым действием существа в качестве seed намеренно берётся системное время.
В ответ пользователю Sav
Аватар пользователя
Sav
В онлайне как раз анимация на рандом не влияет. И битвы с монстрами всегда будут одинаковыми по уронам/моралям.
Да ладно? А почему? :confused:
Sav
В битвах между игроками случайные числа действительно различные, но это связано не с анимацией, а с тем, что перед каждым действием существа в качестве seed намеренно берётся системное время.
Ну да, но только оно меняется, если не делать никаких действий. И в связи с этим возникают проблемы, когда дисконнект в финалке и битву надо повторить?

Статистика

Приветствуем новейшего участника: Emil

Сейчас на сайте 7 пользователей 1381 гостей