cccp(cyka | Дата: Среда, 12.10.2011, 22:47 | Сообщение # 1 |
Послушник
Группа: Администраторы
Сообщений: 104
Статус: Offline
| Очереди событий в травиане или "Не думай о секунде как о 1000 милисекунд" Ну-с, напишем про секунду.
Основная посылка данного поста: Кто первым вышел, тот первым и придет.
Начнем с того, что в травиане есть минимум четыре очереди событий (с) Кириллоид:
1. Движение войск – атаки, подкрепы, возвращения из подкрепления, возвращение после атаки. 2. Стройка 3. Движение торговцев 4. Постройка войск.
Нас интересуют первые три (и их взаимодействие друг с другом).
Каждая очередь представляет собой обычную очередь класса FIFO – кто первый встал в очередь, тот первый получает плюшки на выходе.
Выяснено, что Стройка и Ресурсы отрабатываются в начале, потом отрабатывается Атака: - Если в одну секунду достраивается здание и приходят катапульты - здание будет разрушено, независимо от того, что было раньше (отправка войск, а потом постройка - или наоборот) - проверено мной. - Если в одну секунду приходят торговцы и войска, то ресурсы будут ограблены, независимо от того, что было раньше (отправка ресурсов а потом войск - или наоборот) - проверенно Кириллоидом. Взаимодействие Стройки и Ресурсов (что отрабатываеся раньше) пока неустановленно.
Ситуация, рассматриваемая в данном примере заключается в следующем: ночью игрок атаковал деревню другого игрока, его войска возвращаются домой, враги решают отомстить, действие разворачивается в течение дня.
в 3 часа ночи приходит ударка на вражескую деревню, отбомбилась, и возвращается домой в 20:00:00. Формирование Очереди-0 (20:00:00) (Событие "возвращение ударки" происходит после сражения, а не в момент ее отправки (с) Кириллоид)
Цитата:Очередь-0 (20:00:00) 1. Возвращение ударки
Просчитав время возвращения ударки, враги начинают компанию по ее уничтожению на возврате, заодно решив поломать несколько домиков. В операции принимают участие три атакующих.
В 10 часов утра в атаку отправляется две волны, которые приходят в 20:00:00 и в 20:00:01. Первая волна попадает в конец Очереди-0 (20:00:00), вторая формирует Очередь-1 (20:00:01)
Цитата:Очередь-0 (20:00:00) 1. Возвращение ударки 2. Атакер-1 - Офф+каты <---------
Очередь-1 (20:00:01) 1. Атакер-1 - каты <--------- Глядя на появившиеся нападения, начинается операция по сбору дефа и прорезке волн. Для простоты картины будем считать, что деф собрался в 19:00.
В 12:00 Защитник-1 отправляет деф (прорезку волн кат), который приходит в 20:00:00, и попадает в конец Очереди-0:
Цитата:Очередь-0 (20:00:00) 1. Возвращение ударки 2. Атакер-1 - Офф+каты 3. Защитник-1 - деф <---------
Очередь-1 (20:00:01) 1. Атакер-1- каты
В 13:00 Атакер-2 отправляет три волны, приходящие в 20:00:00, 01 и 02 секунды, первая волна попадает в конец Очереди-0, вторая - в конец Очереди-1, третья формирует Очередь-2 (20:00:01):
Цитата:Очередь-0 (20:00:00) 1. Возвращение ударки 2. Атакер-1 Офф+каты 3. Защитник-1 деф 4. Атакер-2 Офф+каты <---------
Очередь-1 (20:00:01) 1. Атакер-1 каты 2. Атакер-2 каты <---------
Очередь-2 (20:00:02) 1. Атакер-2 каты <---------
Для прорезки третьей волны В 14:00 Защитник-2 отправляет деф, приходящий в 20:00:01, которые попадает в конец Очереди-1 (20:00:01)
Цитата:Очередь-0 (20:00:00) 1. Возвращение ударки 2. Атакер-1 Офф+каты 3. Защитник-1 деф 4. Атакер-2 Офф+каты
Очередь-1 (20:00:01) 1. Атакер-1 каты 2. Атакер-2 каты 3. Защитник-2 деф <---------
Очередь-2 (20:00:02) 1. Атакер-2 каты
В 16:00 Атакер3 отправляет 1 волну, с приходом в 20:00:00, которая попадает в конец Очереди-0:
Цитата:Очередь-0 (20:00:00) 1. Возвращение ударки 2. Атакер-1 Офф+каты 3. Защитник-1 деф 4. Атакер-2 Офф+каты 5. Атакер-3 каты <---------
Очередь-1 (20:00:01) 1. Атакер-1 каты 2. Атакер-2 каты 3. Защитник-2 деф
Очередь-2 (20:00:02) 1. Атакер-2 каты
В 18:00 Защитник3 отправляет деф, который приходит в 20:00:00 и попадает в конец Очереди-0:
Цитата:Очередь-0 (20:00:00) 1. Возвращение ударки 2. Атакер-1 Офф+каты 3. Защитник-1 деф 4. Атакер-2 Офф+каты 5. Атакер-3 каты 6. Защитник-3 деф <---------
Очередь-1 (20:00:01) 1. Атакер-1 каты 2. Атакер-2 каты 3. Защитник-2 деф
Очередь-2 (20:00:02) 1. Атакер-2 каты В 19:00 ставится в постройку Резиденция, (для простоты ситуации будем считать, что ее в деревне не было вообще), окончание постройки в 20:00:00 (Очередь постройки Очередь-0`) В 19:30 отправляются ресурсы, приход которых в 20:00:00 (Очередь прихода ресурсов Очередь-0``)
В итоге в 20:00:00 происходит следующее (сверху вниз)
Цитата:Очередь-0` (20:00:00) 1`. Постройка Резиденции Очередь-0`` (20:00:00) 1``. Приход ресурсов Очередь-0 (20:00:00) 1. Возвращение ударки - приходит домой ударка 2. Атакер-1 Офф +каты - убивается ударка, грабятся ресурсы (в т.ч. пришедшие), убивается резиденция 3. Защитник-1 ставится деф (допустим, много) 4. Атакер-2 Офф+каты убиваются о деф (пусть частично - деф пробит) 5. Атакер-3 каты - ломают домики 6. Защитник-3 ставится деф
Очередь-1 (20:00:01) 1. Атакер-1 каты - убиваются о деф Защитника-3 2. Атакер-2 каты - убиваются о деф Защитника-3 3. Защитник-2 ставится деф
Очередь-2 (20:00:02) 1. Атакер-2 каты - убиваются о деф Защитника-2 и остатки дефа Защитника-3
Вся идея очереди показана на схеме:
Обычный способ резать волны катапульт (из инструкции для альянса)
Обычный вариант нападений для раската - 1 Волна - зачистка (убивает защиту) 2-5-N волны - катапульты с поддержкой - убивают здания
Что такое "прорезка" или "прорезать волны" - это значит отправить деф так, чтоб он пришел ПОСЛЕ зачистки, но ДО катапульт. Черт с ними с двумя домиками, которые может быть убьют катапульты, которые идут с зачисткой, но остальные волны чтоб убились о деф.
как правильно ставить деф.
В травиане механика прихода войск такая: кто раньше отправлен, тот раньше придет. Допустим, войска врага отправлены 30 часов назад и приходят в 0:00:01 зачистка в 0:00:02 каты в 0:00:03 каты в 0:00:04 каты
для того, чтоб поставить деф между первой и второй волнами - необходимо отправить его так, чтоб он пришел в 0:00:01. Так как войска врага были отправлены раньше, то они в пределах одной секунды придут раньше. Т.е. если вы отправите деф ровно к 0:00:01, то последовательность прихода волн будет такая
в 0:00:01 зачистка в 0:00:01 деф <----- в 0:00:02 каты в 0:00:03 каты в 0:00:04 каты
Если вы поставите деф в в 0:00:02, то картинка будет такая:
в 0:00:01 зачистка в 0:00:02 каты в 0:00:02 деф <----- в 0:00:03 каты в 0:00:04 каты
И, если дефа будет достаточно, то все каты, которые придут после поставленного дефа - умрут. Если это были наши каты - то смертью храбрых, если вражеские, то как паршивые собаки.
если разрывы больше, скажем в 0:00:01 зачистка в 0:00:03 каты
то деф для прорезки можно ставить как в 0:00:01 так и в 0:00:02 тогда они тоже станут ровно между волнами.
Для того, чтоб так не сделали с ВАШИМИ катапультами - отправлять их надо с как можно меньшими зазорами, в идеале - все войска приходят в одну и туже секунду.
|
|
| |