_________________ [url=http://wiw.fgi.ru/index.php][img]http://pics.binary.ru/full/znak_p-copy.jpg[/img][/url]
Женщина должна сидеть дома, плакать, штопать и готовить (c)
_________________ [img]http://www.destinysphere.ru/ds/images/world_logo/kassiopeia_1.gif[/img]
[color=yellow]Слишком странный чтобы жить, и слишком редкий чтобы умереть![/color]
[img]http://dshelp.info/cassandra/Bezzbashni/graph.jpg[/img]
MacMar, а ты не пробовал исользовать в качестве формулы для рассчета атаки вот такую формулу:
a1 + a2 + a3 +... - a1a2 - a2a3 - a3a4 -...?
Имеется ввиду нечто такое ~= a1 + (1 - a1) a2 + (1 - (1 - a1)a2)a3+...
а1 - атака юнита; а2,.. - бонусы.
Зарегистрирован: Вт янв 06, 2004 21:30 Сообщения: 354
Откуда: оттуда
Пока куркулятор был полноценным, я заметил такую фичу, но забыл сообщить. При расчёте стоимости армии учитывается здоровье юнитов, а не их количество. Например, интересные цифры появляются, если стравить по одному юниту третьего левела с сотней юнитов первого и т.п.
Сейчас проверить это ещё раз не могу, ибо платно
Tizya, вряд ли это действительно, т.к. результат будет зависеть от того, в какой последовательности брать а1, а2 и т.д.
_________________ Disobedience is a part of a game...
2Tizya:
Пробовал, не работает. С этого собственно и начинал, и поэтому долго путался с расовыми бонусами. Для меня это было неприятной неожиданностью, что атака и защита считаются по разным формулам...
2sPUNK:
Сейчас при расчете стоимости и урона берутся действительные значения количества юнитов, не округляя до целых, т.е. если его осталось 0.001 Рыцаря, то и стоить он будет соотв. Наверное, это ты и заметил. Я не совсем уверен, что в Сфере так же считается, но были какие-то логи, которые на эту мысль наталкивали.
Тебе, кстати, симулятор бесплатный - мы вместе на Сириусе были, да и вообще. Черкани мне в ПМ логин/пароль для симулятора - я тебя добавлю.
ЗЫ. Результат по формуле Tizya от последовательности выбора а1,а2,... не зависит - это можно по индукции доказать.
2sPUNK:
не обратил внимания на то, что у Tizya немного другая формула.
я имел в виду и пытался считать такую:
сумм_характ = a1 + (1 - a1) a2 + (1 - (а1 + (1 - a1)a2))a3+...
вот она от порядка выбора а1, а2, ... не зависит, и по ней считаются бонусы на защиту
она же в другом виде:
(1 -сумм_характ) = (1-а1)(1-а2)(1-а3)...
где а1 - базовая харктеристика, а2, а3, ... - бонусы
_________________ [url=http://ds.civ3000.com/ru/fightsim.html]Симулятор боя[/url], [url=http://ds.civ3000.com/ru/algorithm.html]Алгоритм боя[/url], [url=http://ds.civ3000.com/ru/logparser.html]Парсер логов[/url], [url=http://ds.civ3000.com/ru/arts.html]Арты по логам[/url]
Вот что я не пойму. Есть ограничение на 95% защиты, т.е. иными словами, знаменатель в формуле Брноя/(1-защита) не должен превышать 0,05. Однако, если считать суммарную защиту как
(1-Защ)*(1-арт1)...(1-арт10), то это произведение будет минимум 0,073 (при использовании 10 огромных артов маскировки 11,6% и базовой защите 75%):
(1-0,75)*(1-0,116)^10=0,073, т.е. максимальная защита равна 92,7%. Так какой тогда смысл в таком ограничении? Или я неправильно считаю?
PS: Даже если добавить религию созерцателей и расовый бонус псолао, получится 0,059.
_________________ [img]http://www.destinysphere.ru/ds/images/world_logo/kassiopeia_1.gif[/img] DVolk. Просто нейтрал, не злой и не добрый.
угу, у меня так же получилось...
не знаю я, какой в этом ограничении смысл может, все-таки с формулой что-то не то, но пока вроде все с реальными логами совпадало... хотя проверить надо еще разик, а то в последнее время появились какие-то странные псолеянские логи...
_________________ [url=http://ds.civ3000.com/ru/fightsim.html]Симулятор боя[/url], [url=http://ds.civ3000.com/ru/algorithm.html]Алгоритм боя[/url], [url=http://ds.civ3000.com/ru/logparser.html]Парсер логов[/url], [url=http://ds.civ3000.com/ru/arts.html]Арты по логам[/url]
_________________ Жизнь прекрасна! Но... и все равно прекрасна!
[color=red]Скорпион[/color]
[color=orange]Кардинал [url=http://forum.destinysphere.ru/forum/viewtopic.php?t=51894]Ордена Храма[/url][/color]
[img]http://akzium2.newmail.ru/tamplesmall.gif[/img]
Молодец MacMar! Я в EXELе мучился с подбором формул по логам боёв, потом только познакомился с твоим алгоритмом. Хоть нмного времени сэкономил, спасибо! Хотя самим симулятором не пользовался.
Касательно задачи определения оптимального юнита и состава армии предлагаю один, на мой взгляд, подходящий вариант.
1. Временной ресурс считаем определяющим, т.е. лучше тот игрок, который за равный промежуток времени построит более эффективную армию.
2. Расход и состав затрачиваемых на постройку юнитов приводим к одному ресурсу (например, к энергии или прроду). Состав ресурсов считаем не принципиальным, т.к. во многом можно за счёт специализации подобрать нужный в процентном соотношении состав для производства. Следует сказать, что взаимная стоимость ресурсов может быть для каждого игрока своя в зависимости от застройки соты и ресурсных бонусов.
2. Рассчитываем число юнитов всех типов, производимых за равный для всех условный временной интервал (я, например, считал за 18 минут, т.е. за время раунда), и их совокупный урон (т.е. точнее атака*урон) с учётом рассовых бонусов, т.к. от них избавиться нельзя, и считаем также совокупное здоровье (HP). Также рассчитываем стоимость производства построенного количества юнитов.
3. Для учёта помимо времени производства стоимости производства определяем самый дорогой юнит и приводим к его стоимости производство остальных юнитов. Условно, если танк в 2 раза дешевле, чем солдат, то считаем, что построив 2 фабрики, за равный промежуток времени и одинаковое количество (стоимость) ресурсов мы можем произвести танков в 2 раза больше. Исходя из этого корректируем расчитанный по п.1 совокупный урон и HP танков. Надо отметить, что лишний завод, занимающий дополнительную клетку на соте, обязательно должен быть учтён в увеличении стоимости производства юнитов на втором заводе.
4. Расчёты по п.п.1-3 позволяют определить юниты, с наилучшими атакующими характеристиками. Но надо ещё учесть оборонительные способности юнитов, которые конечно же зависят от силы и состава нападающей армии из-за процентной характеристики - защиты.
Для этого выбирается условное значение наносимого построенным юнитам урона. Можно выбрать средний размер урона, рассчитанный по п.п.1-3, а можно выбрать размер урона, наиболее сильного в атаке типа юнита, также рассчитанный по п.1-3, или вообще любую, но одинаковую для всех величину урона. После этого рассчитываются потери произведенных согласно п.п.1-3 юнитов при равном выбранном значении наносимого урона. И определяется аналогично с п.1 совокупный размер урона оставшихся юнитов. Тот тип юнитов, у которых размер оставшегося размера урона будет наибольшим, и есть самый оптимальный.
Сразу оговорюсь, что для противоборства заведомо более сильной армии, наиболее эффективным будет один тип юнитов, а для примерно равного противника - другой.
Для расчёта состава армии вторым этапом будет расчёт наиболее эффективной комбинации юнитов по аналогичному алгоритму.
Однако, учитывая, что большую роль в Сфре играет существующий сегодня принцип равного распределения урона на все группы юнитов, всё-таки принцип прослойки и прикрышки выигрывет перед комбинациями юнитов. Другими словами наилучшей комбинацией будет одна группа основного типа юнитов+прикрышка из большого количества юнитов, имеющих сильную защиту и большое количество дешевого здоровья (у воранеров это танкеры), + прослойка по одному юниту всех других типов.
Первый человек сделал сегодня добровольный взнос в поддержку сайта. У мну праздник
Добавил мимикров, сделал строже проверку синтаксиса.
2Akzium:
вполне возможно, надо проверять
с большими артами у меня сим, похоже, ошибается
2Simply:
1. Согласен.
2. Некорректно для производства. Например, продиум от еды существенно отличается - они добываются на совсем разных клетках. В производстве их обменять др на др нельзя, только в торговле.
Для тех ресов, которые можно переводить др в др - меновая стоимость конечно разная для разных игроков.
3. Можно и так. По-хорошему, нужно честно учесть все ограничения по времени и выработке ресурсов, и решить задачу оптимизации. Когда я считал - временем постройки юнитов пренебрегал (т.к. почти всегда можно кучу фабрик поставить), ограничения на производство ресов у меня гораздо раньше срабатывало.
4. Теоретически верный критерий оптимальности юнитов, это эфф_урон * эфф_здоровье.
Но на практике лучше строить войска с большим уроном, потому что замаешься Охранникам динпрослойку выставлять
[UPDATE]
Лучше брать sqrt(эфф_урон * эфф_здоровье), чтобы суммарная эффективность армии из одного типа юнитов линейно от числа этих юнитов зависела...
_________________ [url=http://ds.civ3000.com/ru/fightsim.html]Симулятор боя[/url], [url=http://ds.civ3000.com/ru/algorithm.html]Алгоритм боя[/url], [url=http://ds.civ3000.com/ru/logparser.html]Парсер логов[/url], [url=http://ds.civ3000.com/ru/arts.html]Арты по логам[/url]
Последний раз редактировалось MacMar Пн окт 18, 2004 15:10, всего редактировалось 1 раз.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 38 гостей
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения