Шахматные часы!

Если вас что-то интересует по Героям 3: Tournament Edition, то вам сюда
Текущая версия HoMM3: Tournament Edition 1.03q
Horn
Gold Dragon
Почетный член КС — Honored Member
Почетный член КС — Honored Member
Сообщения: 2652
Зарегистрирован: 28 окт 2002, 17:33
Откуда: СПб
Контактная информация:

9 авг 2005, 20:46Сообщение

Только что получена новость, что Славе удалось добраться до таймера Героев. :!: :!: :!:
Уже исправлен баг с тем, что отсчет времени начинается сразу после передачи хода (теперь - только после нажатия игроком на "Ok").
Скорее всего (это еще не тестировалось) будет возможно
- запускать/останавливать таймер,
- включать/выключать показ "осталось столько-то", как это идет на 10 последних секундах,
- устанавливать таймер на произвольное время.

Предлагаю теперь подумать над тем, как реализовать контроль времени. Мой вариант такой:

1. В начале игры каждому дается X времени, еще Y добавляется к запасу после каждого сделанного хода.
2. Параметры X и Y устанавливаются перед началом игры.
3. Отсчет времени приостанавливается только в боях человека с человеком (то есть в битвах с нейтралами и компами часики тикают, хочешь пробить одной гарпией сотню зомбей - твое право :lol:).
4. Если время кончилось, то как обычно идет принудительный переход хода. Если же оно кончилось в бою, то выдается предупреждение и на доигрывание битвы дается еще Z минут. Ход передается сразу после боя (если нужно, происходят левел-апы). Если же и это время истекло, бой мгновенно проигрывается, ход передается.

Например, X=2 часа, Y=5минут, Z=2минуты. То есть в начале дается 120 минут. Ты можешь хоть все их убить на первый ход в надежде, что противник не выдержит и сдастся. :) Но если он выдержит... 8)
Если ты первый ход сделал за 10 минут, то в начале второго у тебя будет 120-10+5=115 минут, а если за минуту, то 124 минуты. :) Если в некоторый момент время в бою истекло, а ты доиграл бой за 10 секунд, то в начале следующего хода времени будет все равно 5 минут (остаток Z "страховочных" минут пропадает).
Этот вариант кажется мне достаточно гибким и либеральным, плюс он не дает возможности игроку злостно затягивать время, кроме как в боях с противником. Но там это хотя бы на виду. Возможно, в дальнейшем мы придумаем, как и эту возможность отнять. :P
Hу все, пока. Horn.
Последний раз редактировалось Horn 10 авг 2005, 22:25, всего редактировалось 1 раз.

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

9 авг 2005, 20:52Сообщение

Получается, если щапас истек, то на каждый последующий ход мы имеем ровно Y времени, так?
CMEPTb, Little Angel of Death
"Если ничто другое не помогает, прочтите, наконец, инструкцию." - Аксиома Кана

Horn
Gold Dragon
Почетный член КС — Honored Member
Почетный член КС — Honored Member
Сообщения: 2652
Зарегистрирован: 28 окт 2002, 17:33
Откуда: СПб
Контактная информация:

9 авг 2005, 20:58Сообщение

CMEPTb писал(а):Получается, если щапас истек, то на каждый последующий ход мы имеем ровно Y времени, так?
Так. Но если какой ход сделаешь быстрее, то остаток времени перейдет на дальнейшие ходы.
Hу все, пока. Horn.

nn
Crusader
Crusader
Сообщения: 41
Зарегистрирован: 20 янв 2004, 20:37
Откуда: Сочи
Контактная информация:

10 авг 2005, 07:56Сообщение

...
1. В начале игры каждому дается X времени, еще Y добавляется к запасу после каждого сделанного хода.
...
На мой взгляд, больше всего времени в битвах тратится на первых ходах, при пробивании всяких нейтралов или взятии могилок малыми силами. По этой формуле, именно в начале игры, времени не будет хватать.
В шахматах давно отошли от идеи - лимитировать время на ход. Время лимитируется: на партию(блиц), на определенное количество ходов(например, 2-2,5 часа на 40 ходов).
Может быть по аналогии с шахматами выделять время на неделю, на месяц, на игру.
...
3. Отсчет времени приостанавливается только в боях человека с человеком (то есть в битвах с нейтралами и компами часики тикают, хочешь пробить одной гарпией сотню зомбей - твое право ).
4. Если время кончилось, то как обычно идет принудительный переход хода. Если же оно кончилось в бою, то он доигрывается на автокомбате (если нужно, происходят левел-апы), после чего ход передается.
Насчет гарпии и зомбей - не думаю, что кто-то позволит себе такую "выходку" в турнирной партии, но очень часто перевес в силах(по хитам) на стороне нейтралов измеряется в "разах".
Что касается автокомбата - здесь "мастерство" компьютера не поддается критике :lol: . Хорошо если компьютер выиграет этот бой, но смотреть на то как после нескольких часов игры он будет тупо "хоронить пахана", например, в утопии - нет интереса.

PS. Кстати вопрос - нельзя ли скриптами пропатчить AI?

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

10 авг 2005, 09:41Сообщение

Horn писал(а):Предлагаю теперь подумать над тем, как реализовать контроль времени.
Мое мнение: первые три-четыре недели в игре битвы с нейтралами могут быть ой какими сложными и ограничивать в этот период время в битве не стоит. После первого месяца - пожалуйста. Что касается времени затраченного на глобальной карте - идеальным мне видится именно передача "в копилку" оставшегося времени на конец хода, возможно с каким либо коэффициентом.
это все оттого, жирная свинья, что ты мало тренируешься (с) Jacky Chan

Horn
Gold Dragon
Почетный член КС — Honored Member
Почетный член КС — Honored Member
Сообщения: 2652
Зарегистрирован: 28 окт 2002, 17:33
Откуда: СПб
Контактная информация:

10 авг 2005, 15:01Сообщение

nn писал(а):На мой взгляд, больше всего времени в битвах тратится на первых ходах, при пробивании всяких нейтралов или взятии могилок малыми силами. По этой формуле, именно в начале игры, времени не будет хватать.
В шахматах давно отошли от идеи - лимитировать время на ход. Время лимитируется: на партию(блиц), на определенное количество ходов(например, 2-2,5 часа на 40 ходов).
Может быть по аналогии с шахматами выделять время на неделю, на месяц, на игру.
Ты не понял (наверно, я вчера второпях написал не слишком четко). Именно это и предлагается. То есть к примеру, на такой-то карте X равно 2 часам, Y - 5 минутам. Так что просрочить время на первых ходах будет очень сложно. 8)
Что касается автокомбата - здесь "мастерство" компьютера не поддается критике :lol: . Хорошо если компьютер выиграет этот бой, но смотреть на то как после нескольких часов игры он будет тупо "хоронить пахана", например, в утопии - нет интереса.
Если видишь, что время кончается, а до конца боя далеко + на авто его не выиграть, можно сбежать и выкупить героя. :wink:
PS. Кстати вопрос - нельзя ли скриптами пропатчить AI?
Что конкретно имеется в виду под "пропатчить"? Научить его существенно лучше играть? Нет. Исправить какой-то баг в поведении? Может быть, это зависит от бага.
Balamut писал(а):Мое мнение: первые три-четыре недели в игре битвы с нейтралами могут быть ой какими сложными и ограничивать в этот период время в битве не стоит.
Скорее всего этот момент (остановка таймера в бою) будет реализован опционально. Но включать его автоматом через неделю или через месяц кажется мне нерациональным. Можно будет попробовать давать изменять эту опцию не только при старте игры, но и при загрузке сейва. Вот тогда когда хочешь, тогда и включишь. :)
Что касается времени затраченного на глобальной карте - идеальным мне видится именно передача "в копилку" оставшегося времени на конец хода, возможно с каким либо коэффициентом.
Пока предлагается сделать с коэффициентом 1, мне он кажется вполне логичным. :wink:
Hу все, пока. Horn.

Arranger
Marksman
Marksman
Сообщения: 5
Зарегистрирован: 7 июн 2005, 20:45
Контактная информация:

10 авг 2005, 15:38Сообщение

Тему с X и Y, которую озвучил Horn поддерживаю, хотя и не думаю, что имеет смысл ставить X больше 20-30 (я рассматриваю X не как ресурс для медленного старта, а как некоторый небольшой резерв на всю партию для особо сложных ходов). А Y в районе 10-15.

Опциональное отключение/включение в общее время времени боёв с нейтралами - тоже поддерживаю. Хотя и не так сильно. Мой выбор - включать в общее время время боёв с нейтралами всегда.

(Ещё мысль - логически рассуждая время боёв с человеком тоже можно опционально включать или не включать).
Сейчас играю вот тут:
http://homm3turnir.narod.ru/rating.html
есть люди, которые нервничают во время боя, когда я долго думаю, а потом, когда я схожу, опять нервничают и долго думают сами :lol:.
Так что тоже была бы полезная опция очень.

Horn
Gold Dragon
Почетный член КС — Honored Member
Почетный член КС — Honored Member
Сообщения: 2652
Зарегистрирован: 28 окт 2002, 17:33
Откуда: СПб
Контактная информация:

10 авг 2005, 15:53Сообщение

Arranger писал(а):(Ещё мысль - логически рассуждая время боёв с человеком тоже можно опционально включать или не включать).
С боями людей сложнее, поскольку в Героях часы не шахматные, а циферблат один на всех. Плюс будут сложности с реализацией того, как отловить переход управления от одной стороны к другой (можно, но геморрооой :D).
Hу все, пока. Horn.

Wiedzmin
Royal Griffin
Royal Griffin
Сообщения: 16
Зарегистрирован: 21 июл 2004, 00:17
Откуда: Мурманск/Питер

10 авг 2005, 15:57Сообщение

Поддерживаю идею Horn’а...только на счёт окончания времени в бою...автобой - мне кажется это не выход. Как предложение, давать игроку дополнительное время (можно зашить размер дополнительного времени в зависимости от карты, например: XL - 5, L - 4, M - 3, S - 2 минуты), но вычитать его из следующего хода...например, ход - 5 минут...максимум в день игрок может ходить 9.59, но на следующий день у него останется 1 секунда...
"Мы все учились понемногу чему-нибудь и как-нибудь…"

Horn
Gold Dragon
Почетный член КС — Honored Member
Почетный член КС — Honored Member
Сообщения: 2652
Зарегистрирован: 28 окт 2002, 17:33
Откуда: СПб
Контактная информация:

10 авг 2005, 16:10Сообщение

Wiedzmin писал(а):Поддерживаю идею Horn’а...только на счёт окончания времени в бою...автобой - мне кажется это не выход. Как предложение, давать игроку дополнительное время (можно зашить размер дополнительного времени в зависимости от карты, например: XL - 5, L - 4, M - 3, S - 2 минуты), но вычитать его из следующего хода...например, ход - 5 минут...максимум в день игрок может ходить 9.59, но на следующий день у него останется 1 секунда...
Да, автобой не самое удачное решение, признаю. Но и оставлять секунду на ход - перебор. :D Тогда так:
Если время кончается в бою, то на доигрывание оного дается еще Z минут. Ход передается сразу после боя (после левел-апа). Если же и это время истекло, бой мгновенно проигрывается, ход передается.
Пойдет:?:
Hу все, пока. Horn.

Wiedzmin
Royal Griffin
Royal Griffin
Сообщения: 16
Зарегистрирован: 21 июл 2004, 00:17
Откуда: Мурманск/Питер

10 авг 2005, 16:16Сообщение

Horn писал(а):Тогда так:
Если время кончается в бою, то на доигрывание оного дается еще Z минут. Ход передается сразу после боя (после левел-апа). Если же и это время истекло, бой мгновенно проигрывается, ход передается.
Пойдет:?:
Тогда можно кидать message box и давать игроку самому выбрать...автобой или взять дополнительное время. Только боюсь, что время, потраченное на обдумывание выбора может затянуться :)
"Мы все учились понемногу чему-нибудь и как-нибудь…"

Аватара пользователя
Antal
Fairy Dragon
Fairy Dragon
Сообщения: 532
Зарегистрирован: 16 сен 2002, 18:59
Откуда: S.Petersburg
Контактная информация:

10 авг 2005, 18:57Сообщение

спасибо товарищу Славе за наше счастливое детство. :)
with best regards Antal

Armagedda
Champion
Champion
Сообщения: 207
Зарегистрирован: 19 июл 2003, 02:18
Откуда: Gomel, Belarus

10 авг 2005, 19:35Сообщение

Antal писал(а):спасибо товарищу Славе за наше счастливое детство. :)
Присоединяюсь :). Жду с нетерпением практической реализации идеи.

P.S. Помниться, Слава собирался с рандом-генератором что-то утворить, даже опросы на Гуголке были на тему, что вы хотите от рандом-генератора. Есть какие-нибудь новости с этого фронта :)?

nn
Crusader
Crusader
Сообщения: 41
Зарегистрирован: 20 янв 2004, 20:37
Откуда: Сочи
Контактная информация:

11 авг 2005, 07:33Сообщение

Цитата:
PS. Кстати вопрос - нельзя ли скриптами пропатчить AI?
Что конкретно имеется в виду под "пропатчить"? Научить его существенно лучше играть? Нет. Исправить какой-то баг в поведении? Может быть, это зависит от бага.
Имелось в виду поведение компа в тактических битвах.
Иногда он ведет себя достаточно разумно: не подставляется под "продувку" драконами и под "прямую стрелу", прикрывает стрелков, бьет после вэйта или по тем с кого снята ответка, блокирует стрелков и т.д. Видимо все эти действия просчитываются на один ход вперед. В автобитве я ни разу не видел подобного поведения.

Считать ли багом или фичей следующие моменты:
"развод" тихоходов единичками;
растановка лучников при осаде замка - стэк+1+1+1+1...
Против человека подобные тактики не сработают.

Не мешало бы "поправить" стрельбу вышек при осаде замков. Зачем мне выносить гоблинов под стенами, когда птицы в городе :D

Это пока все что пришло в голову.

Аватара пользователя
DVStranger
Fairy Dragon
Fairy Dragon
Сообщения: 723
Зарегистрирован: 11 авг 2003, 15:06
Откуда: Москва
Контактная информация:

11 авг 2005, 09:29Сообщение

Horn писал(а):Только что получена новость, что Славе удалось добраться до таймера Героев. :!: :!: :!:
Уже исправлен баг с тем, что отсчет времени начинается сразу после передачи хода (теперь - только после нажатия игроком на "Ok").
Скорее всего (это еще не тестировалось) будет возможно
- запускать/останавливать таймер,
- включать/выключать показ "осталось столько-то", как это идет на 10 последних секундах,
- устанавливать таймер на произвольное время.
Урра! Так держать, Слава! :P
Horn писал(а):Предлагаю теперь подумать над тем, как реализовать контроль времени. Мой вариант такой:
1. В начале игры каждому дается X времени, еще Y добавляется к запасу после каждого сделанного хода.
...
Например, X=2 часа, Y=5минут, Z=2минуты.

Концептуально согласен, но с приведенным примером нет. Если Y будет 5 минут, то это фактически означает поражение игрока, исчерпавшего лимит X, т.к. за 5 минут сделать полноценный ход с битвами практически нереально. 10 минут - было бы более предпочтительно. Да и Z неплохо бы чуток увеличить.

А вообще труднее всего при таком контроле будет некрам и стрелковым замкам - пока вампы все высосут, пока стрелки отстрелят всех разведенных тихоходов уже и времени на игру не останется... :(