Инициатива

Если вас что-то интересует по Heroes V, то вам сюда
Текущая версия Heroes V: Tribes of the East 3.1
Rraven
Halberdier
Halberdier
Сообщения: 2
Зарегистрирован: 11 май 2006, 03:24
Откуда: Москва
Контактная информация:

21 май 2006, 08:06Сообщение

Вопрос- есть-ли где-нить описание механики, как работает новая система очередности хода в бою и что как на нее влияет.

Аватара пользователя
AL_Alex
Zealot
Zealot
Сообщения: 97
Зарегистрирован: 9 май 2006, 21:12

21 май 2006, 14:06Сообщение

Вроде боевой дух.

Oxygen
Black Dragon
Почетный член КС — Honored Member
Почетный член КС — Honored Member
Сообщения: 3386
Зарегистрирован: 19 окт 2002, 14:53
Откуда: Москва
Контактная информация:

21 май 2006, 14:41Сообщение

Насколько мне известно - основной критерий очередности хода - инициатива. А влияющие факторы - вейт, мораль, артефакты, абилки героя. Пока вот только точно не ясно как функционирует вейт.
Голова - это то место, которым мы думаем, что мы думаем.

Аватара пользователя
CTPAHHuK
Fairy Dragon
Fairy Dragon
Сообщения: 777
Зарегистрирован: 21 окт 2005, 19:19
Откуда: Ханты-Мансийск
Контактная информация:

21 май 2006, 15:21Сообщение

Я несколько раз в демке вейтился и заметил, что аватарка перемещается сразу за последнего вражеского юнита.

Ernests
Champion
Champion
Сообщения: 118
Зарегистрирован: 9 май 2006, 10:47
Откуда: Латвия

21 май 2006, 15:43Сообщение

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

CragHack писал Пт Май 12, 2006 7:09:
Ну если ты видел пре-альфу или ранние ролики, то там можно было видеть специальную атб шкалy, которая показивала ходы монстров.

Короче двигались мордахи по шкале с права на лево. Скорость передвижения = инициатива. Дошел до левого края - твой ход. После хода тебя отбрасывает либо в самый конец, либо чуть поближе (Допустим если у мага есть сорцери, скилл который уменьшает время между кастами) либоесли вейтанулся или выпала мораль -кидает в середину шкалы.
Уже в демке к сожалению эта механика была спрятана, нам поакзывают только очередность ходов, но в некоторых случаях можно было бы воспользоваться шкалой и провести рассчеты...

Хотя, может потому и спрятали, чтоб такие как я не тормозили...

"Полукасты" (Когда отбрасывается наполовину) появились в официальной демке.
Всё било бы прекрасно, если всё било так просто: походил каждий юнит один раз и начался новий раунд. К сожелению часто замечал, что некоторие войска успевают походить даже 3 раза, пока другие только 1 раз. Вот пример - мойи грифони по цепочке, которая показивает очеродность ходов, делают 2 хода без каких то очвидних причин (мораль, спешка и.т.д.), пока зомби противника ищо не разу непоходили. :-k Может ето потому, что играю людми? Может играя с другими рассами монстри строго соблюдают очеродность по очереди один за другим, как више писал CragHack...?
Нет нечего болие скучного, чем слабый противник

noble-minded
Zealot
Zealot
Сообщения: 58
Зарегистрирован: 6 май 2006, 22:04
Откуда: Russia

21 май 2006, 20:21Сообщение

Попробую объяснить, как это мне представляется :idea: :

основным параметром для АТБ шкалы является инициатива; каждое существо имеет параметр (назову его parametr :) ), увеличивающийся в течение боя на величину инициативы. У кого значение этого параметра больше, тот и ходит первый. Если срабатывает мораль, то к этому параметру ыще прибавляется значение инициативы, деленное на 2. Для двух существ можно предположить следующую схему:
если существо ходит, то его parametr не изменяется, а если ходит другое существо, то parametr увеличивается на величину инициативы;
рассмотрим случай столкновения двух существ с инициативами 10 и 8,
используя описанную выше схему:

_1_|_2_|_3_|_4_|_5_|_6_|_7_|_8_|_9__| номер хода
10 | 10 | 20 | 20 | 30 | 30 | 40 | 40 | 50 | parametr 1-го существа
8 | 16 | 16 | 24 | 24 | 32 | 40 | 48 | 48 | parametr 2-го существа

сначала ходит более инициативное сущ-во; его parametr остается на отметке 10, а parametr 2-го криэйча увеличивается на 8.
далее ходит 2-е сущ-во, т.к. его parametr больше и т.д.
если на 4-м ходу у 1-го сущ-ва сработает мораль, получим:

_1_|_2_|_3_|_4_|_5_|_6_|_7_|_8_|_9__| номер хода
10 | 10 | 20 | 25 | 25 | 35 | 35 | 45 | 45 | parametr 1-го существа
8 | 16 | 16 | 24 | 32 | 32 | 40 | 40 | 48 | parametr 2-го существа

Однако, если существ больше, то схема сложнее, пока не придумал :)

Ernests
Champion
Champion
Сообщения: 118
Зарегистрирован: 9 май 2006, 10:47
Откуда: Латвия

22 май 2006, 12:37Сообщение

Браво, noble-minded, Вы проделали значительний прогрес в пути к разрешению загадки очерёдности ходов существ!
Только остаётся вопрос, каторое существо будет ходить первим, если parametr-ы одинаковие?
Однако, если существ больше, то схема сложнее, пока не придумал
Может бить к большему количеству существ можно применить тот же принцип - просто добавить в Вами више представленую таблицу ищо существ, скажем, третьое и четвёртое...?
Нет нечего болие скучного, чем слабый противник

Chameleon
Azure Dragon
Почетный член КС — Honored Member
Почетный член КС — Honored Member
Сообщения: 6063
Зарегистрирован: 22 дек 2002, 13:40
Откуда: Петрозаводск
Контактная информация:

22 май 2006, 12:52Сообщение

Точно, стартовый расклад совсем не понятен. Вроде бы видел в Демке, что три отряда скелетов располагались не подряд....
CMEPTb, Little Angel of Death
"Если ничто другое не помогает, прочтите, наконец, инструкцию." - Аксиома Кана

Ernests
Champion
Champion
Сообщения: 118
Зарегистрирован: 9 май 2006, 10:47
Откуда: Латвия

22 май 2006, 14:11Сообщение

Ищо не как неразберусь на шчот заклинаний. Как долго они действуют на существ? Вроде как, если 2 раза нажать на окалдованого монстра, можно видеть, какое заклинание на него наложенно и сколько ходов оно будет действовать. Но проблема в том, что цифра продолжительносьти заклинаний совсем непонятно. На пример, показивает, что заклинание будет действовать 2,75 хода! Как ето понять? Я бы понял, что заклинание может действовать 2 или 3 хода, но что ето за миститеские дробъи такие?
Нет нечего болие скучного, чем слабый противник

Аватара пользователя
CragHack
Archangel
Archangel
Сообщения: 320
Зарегистрирован: 6 окт 2003, 13:17
Откуда: Москва
Контактная информация:

22 май 2006, 15:18Сообщение

Насчет мистических дробей...

Понятие турн это чистовременное понятие :roll: (Надо же отчего-тоотталкиваться)

Так вот за турн это столько времени сколько проходит за ход существа с 10 инициативой.

Ernests
Champion
Champion
Сообщения: 118
Зарегистрирован: 9 май 2006, 10:47
Откуда: Латвия

22 май 2006, 15:54Сообщение

CragHack писал(а):Насчет мистических дробей...

Понятие турн это чистовременное понятие :roll: (Надо же отчего-тоотталкиваться)

Так вот за турн это столько времени сколько проходит за ход существа с 10 инициативой.
Хмм... значит граници боэвого раунда определяются существами с инициативой 10 едениц. :-k А если сущесв с инициативов 10 на поле боя несколько, то границой боeвого раунда щчитается тот момент, когда отходили все ети сущеста?
Или же всё по другому - понятие боeвого раунда уже в Heroes V несуществует и на тот момент, когда мы накладиваем заклинание на монстра, компютер его представляет существом с иницативой 10?
Нет нечего болие скучного, чем слабый противник

Аватара пользователя
Balamut
Champion
Champion
Сообщения: 156
Зарегистрирован: 7 окт 2004, 13:52
Откуда: Минск, Беларусь
Контактная информация:

22 май 2006, 16:57Сообщение

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

Насчет шкалы АТБ. Кто нибудь играл в "Ангбанд"? Там это дело было реализовано следующим образом. Существовал общий счетчик боя. У каждого существа был свой счетчик (назовем его счетчик очков действия). На каждую итерацию счетчика боя все существа прибавляли себе в копилку количество очков действия равное своей скорости (в нашем случае инициативу). При достижении некоторого порога (там он был разным, в героях предполагаю что для всех действий и существ одинаковый) существо получало возможность произвести действие и его счетчик очков действия обнулялся)

Пример для 5 героев.
2 существа с инициативой 5 и 8. Действие совершается по достижении порога в 100 очков действия.
соответственно 1 существо будет ходить каждую 20ую итерацию общего счетчика боя. А второе - каждую 13.

P.S. Судя по посту Крега так оно и реализовано в пятых.
это все оттого, жирная свинья, что ты мало тренируешься (с) Jacky Chan
Последний раз редактировалось Balamut 22 май 2006, 17:25, всего редактировалось 1 раз.

Аватара пользователя
AL_Alex
Zealot
Zealot
Сообщения: 97
Зарегистрирован: 9 май 2006, 21:12

22 май 2006, 17:01Сообщение

Вроде бы ещё влияет кто первый на кого напал.

noble-minded
Zealot
Zealot
Сообщения: 58
Зарегистрирован: 6 май 2006, 22:04
Откуда: Russia

22 май 2006, 17:21Сообщение

Ernests писал(а):Браво, noble-minded, Вы проделали значительний прогрес в пути к разрешению загадки очерёдности ходов существ!
Только остаётся вопрос, каторое существо будет ходить первим, если parametr-ы одинаковие?
Однако, если существ больше, то схема сложнее, пока не придумал
Может бить к большему количеству существ можно применить тот же принцип - просто добавить в Вами више представленую таблицу ищо существ, скажем, третьое и четвёртое...?

Благодарю :) Если параметры одинаковы кроме скорости, то начинает существо с большей скоростью, имхо. Еще у некоторых героев есть абилка, временно увеличивающая инициативу в начале битвы.
Очередность хода может меняться при различных расстановках перед боем (проверено 8) ): например если поставить единорогов так, что перед ними нет препятствий и они добегают до противника за один ход, то они могут стартануть первыми. И наоборот, если перед ними препятствие, они могут ходить далеко не первыми. По поводу лучников не совсем ясно: если разделить стек хотя бы на пару частей, то вероятно будет ходить сначала тот, который ближе к противнику, а второй может ходить через кого-нить еще, а может и после первого. Наверное такая фигня возникает при равенстве инициатив и скоростей.
Тут может и территория, на которой битва происходит, повлиять. Инферновские юниты на траве будут проигрывать в инициативе хэвену при одинаковых параметрах. Но это чисто я так полагаю.

К большему количеству существ применить выше описанную схему можно только косвенно. В принципе я придумал полную схему (почти моя специальность :wink: ). Но она слишком громоздка. В кратце: пусть существ на карте n=6. Они сортируются в порядке уменьшения инициативы и скорости. Далее составляется всего [n(n-1)/2+1]=16 массивов чисел. Для самого инициативного и скоростного (n-1)=5 массивов, для следующего (n-2)=4 массива ... и для самого тормозного 1 массив чисел. Эти массивы нужны для указания очередности ходов двух существ. Например, у нас n=6 существ. После сортировки по скорости и т.п. получили очередность ходов 1,2,3,4,5,6, где числа означают номер существа. Для существа 1 составляется 5-ть массивов: в первом с помощью ранее описанной схемы определяется последовательность ходов 1-го и 2-го существа, например, 1,2,1,2,1,1,2. Т.е. сначала ходит 1-е сущ-во, затем 2-е ... потом два раза 1-е и затем снова второе. Во втором массиве очередность ходов 1-го и 3-го сущ-ва, например, 1,3,1,1,3,1,3. И т.д. до массива 1-го и 6-го сущ-в. Затем для 2-го существа строятся 4-ре массива: 2-е и 3-е сущ-ва, 2-е и 4-е ... 2-е и 6-е. И т.д. Для пятого сущ-ва строится один массив, определяющий очередность ходов 5-го и 6-го существ. Напомню, у 6-го существа минимальная инициатива и возможно скорость. Массив для 6-го сущ-ва заполняется только своим номером, т.е. 6,6,6,6,6, т.к. медленнее никто не ходит.
В итоге получаем, что у самого быстрого существа во всех массивах стоит его же номер 1. Оно ходит первым. Во всех массивах всех существ если на первом месте стоит номер 1, то происходит сдвиг вправо, сигнализируя о том, что первый пошел :) Снова проверяются массивы 1-го сущ-ва. Если после сдвига опять стоят все единицы (это может быть, если во всех массивах на первых двух позициях стоят номера 1, что соответствует двукратному превосходству в инициативе 1-го криэйча или воздействию морали и пр. подобного действия), то 1-е сущ-во снова ходит, иначе проверяются все массивы 2-го сущ-ва, и если после первого сдвига на первых позициях стоят номера 2 вовсех массивах, то ходит 2-е сущ-во. После его хода проверяются массивы опять же 1-го сущ-ва и т.д. Если у сущ-ва просралась положительная мораль, то все массивы, соответствующие этому существу перещитываются.
В ручную долго, а комп ето за милисекунды сделает (с учетом его мощности).
Для понятности могу привести простой пример 4-х существ с инициативами 10,8,6 и 4. Для 4-х сущ-в согласно моей формуле :) составляется 6-ть массивов с помощью ранее гениально описанной схемы :D для двух существ:

1_2: 1,2,1,2,1,2,1,1,2,
1_3: 1,3,1,1,3,1,1,3,
1_4: 1,1,4,1,1,1,4,
2_3: 2,3,2,3,2,2,3,
2_4: 2,2,4,
3_4: 3,4,3,3,4,
4_4: 4,4,4,

После запятой массивы повторяюся, т.е. например для 2_4:
2,2,4, 2,2,4, 2,2,4....
Мораль здесь не учитывал. Если учитывать, то могут некоторые цифры поменяться местами.
В результате, используя эти массивы, можно записать очередность ходов существ (1-е иниц-ва 10, 2-е - 8, 3-е - 6, 4-е -4):
1,2,3,1,2,4,1,3,2,1,1,2,3,4,1,2,3,1,2,4.

Кому не лень можете проверить :)
Наверное можно проще придумать. Однако если просто прибавлять инициативу стоящим юнитам, то самые медленные вообще ходить не будут. А по приведенной схеме все ходят как надо. Вот. Теперь бы диплом защитить... :D

noble-minded
Zealot
Zealot
Сообщения: 58
Зарегистрирован: 6 май 2006, 22:04
Откуда: Russia

22 май 2006, 17:37Сообщение

В итоге получаем, что у самого быстрого существа во всех массивах стоит его же номер 1.
Имеется в виду во всех массивах на первом месте
Пример для 5 героев.
2 существа с инициативой 5 и 8. Действие совершается по достижении порога в 100 очков действия.
соответственно 1 существо будет ходить каждую 20ую итерацию общего счетчика боя. А второе - каждую 13.
А ето намного проще и рациональней :) Но мы же легких путей не ищем