Chat:Ru/2020-03-30
735487: Hamibar: не понял твоих рассуждений. из чего вытекает отсечение еще одного луча?
Hamibar: смотри. Допустим я делаю мув S, сало W, мув N. 1. мы отсекам луч N из-за первого мува. 2. После сайленса мы пошли в N, а это значит, что мы не могли заюзать сайленс S.
Hamibar: вот и отсекаем 2 луча.
Hamibar: N и S
MadKnight: Automaton2000
Automaton2000: alex.swift нет, там прямо сказано в правилах что нельзя
735487: это работает только в случае если 1 мув и сало были в разном направлении. если в одном то вообще никак не отсекается
MadKnight: Hamibar как успехи?
Hamibar: я про это и говорю. Что после сала эффективнее всего идти в том же направлении, что и до него
Hamibar: MadKnight нюхаю топ)
Hamibar: amurushkin посмотрел игры топа, он частенько сворачивает после сайленса. В любом случае хорошо бы это учитывать.
735487: Hamibar: подумал сейчас. вроде все эти моменты отсекаются если следить за траекторией
wlesavo: да так и есть
wlesavo: а я решил рефакторить сегодня, это невозможно ато уже
wlesavo: я тут подумал, а как вы мины ставите? я пока достаточно тупо а ща подумал что можно же оценить сколько цепляешь клеткок в которых противник еще не был и их приоритезировать
BorisZ: я равноменрно, не ставя туда, где точно знаю что прошел враг
BorisZ: но у меня проблемы с этим знанием (
BorisZ: так что напрактике получается практически по сетке 3Х3
wlesavo: ну точно знать тяжело, я думаю усреднить по всем известным траекториям
wlesavo: но пока чет кажется это не принципиальный момент
wlesavo: скорее надо мины ставить так, чтобы их обходить было тяжело
wlesavo: типа поле равномернее покрывать
wlesavo: потому что у всех уже обход мин есть, а вот всплытия нет почти ни у кого
wlesavo: и трешхолд на взрыв большой нужен, у меня сейчас около того же что и на выстрелы, 0.7, но думаю можно даже выше
735487: у меня уже тоже копипасты всякие :)
wlesavo: да в некоторых местах прямо грустно
wlesavo: ну ладно хоть в топ вернулся с тем же сабмитом, ато ресабмичу на 18-20
735487: я мины ставлю на основе оценки расстояния до других мин
wlesavo: так наверное могут пути между остаться, но это наверное все равно лучше чем как у меня сейчас
wlesavo: наконец запилил чтобы порядок действий нормально менялся
wlesavo: ато там было конечно но как то через одно место и не особо работало вообще
amurushkin: у меня порядок действий вообще не выбирается толком :)
amurushkin: да и отслеживание пути для отсечения сала и мин тоже нет :)
wlesavo: ну просто есть часто ситуации что в дуэли кто первый выстрелил у того серьезное преимущество
amurushkin: опять внешний клиент хрен работает
735487: смотря чем он у тебя меряется. у меня на торпеды вообще рандомом если целей меньше 4. а на мины 0.2 у меня
amurushkin: блин у меня вообще сообщения чуть ли не на полчаса запаздывают
amurushkin: можно сделать только чат во вкладке?
wlesavo: amurushkin я в каждой точке усредняю дамаг по всем траекториям и выбираю максимальный, если он выше порога в 0.7 стреляю
wlesavo: смотрю за кови, он отключил сонар и сайленс 0 пользует
wlesavo: и винрейт против меня прямо сильный
amurushkin: ну вот я по минам так усредняю. у меня выходит что надо на 0.2 уже взрывать
amurushkin: я сонар тоже отключил
wlesavo: 0.2 ты не взорвешь никого кто уворачивается
wlesavo: все мины будут чуть раньше бахать
amurushkin: я когда ставлю 0.3 уже намного хуже играет
amurushkin: возможно мы по разному считаем
wlesavo: у меня сейчас 0.7 вообще
wlesavo: ща отключу сонар тоже и сайленс 0 поставлю
amurushkin: смотри я как делаю. беру свои мины. для всех клеток вокруг нее для всех путей считаю возможных урон. делю на количество путей.
wlesavo: nj;t cfvjt
wlesavo: тоже самое
BorisZ: у меня тоже выходит что когда почаще мины бабахаешь то получше играет, проверял разные границы
amurushkin: единственное что я делю на количество + 1. чтобы не падало если баг проявиться и будет 0
wlesavo: я наоборот так детекчу баги
BorisZ: хотя по реплеям иногда вобще по идиотски выглядит - бабахаешь мины где то в стороне от врага )
amurushkin: у меня они при 0.7 не взрываются тупо ))
BorisZ: а он потом едет по чистому полю (
wlesavo: ну вот рандомный реплей просто https://www.codingame.com/share-replay/443746519
wlesavo: у меня 0-30 против кови, лол
Hamibar: wlesavo у меня тоже против него так. Как начнет ресабмитать.
wlesavo: я ща хочу сделать веса кандидатам, и на сайленс 0 повесить чуть побольше, в любом случае механизм приоритезации нужен
wlesavo: заодно есть на чем проверить
Hamibar: я пробовал юзать сало более чем на 0. Результат только ухудшился.
BorisZ: вряд ли это из-за того что там много вычислений
BorisZ: скорее просто более мотивированные участники начинают на плюсах сразу - так на всякий случай
Alex.swift: скорее просто от того, что на С++ люди более сложные задачи решают.
Uljahn: amurushkin: "можно сделать только чат во вкладке?" - удалить все лишние элементы? я щас сделал так юзерстайлом
Uljahn: https://i.imgur.com/c4Vguiu.png
wlesavo: сабмичу с весом 4 для silence 0, ща посмотрим, локально против кови стало где то 50%
wlesavo: и отключил оценку выстрелов, она как то много сжирала у меня времени
wlesavo: были таймауты иногда
wlesavo: всмысле выдаваемой информации при выстреле
Uljahn: надо ещё историю прикрутить, типа если сник на 0 подтверждается, то приоритет повышать
wlesavo: кстати, это вариант
Uljahn: если стрелять не точно в цель, а рядом, и не на максимальный рейндж, можно запутать немного соперника
wlesavo: но главное что впринципе механизм приоритезации заработал
wlesavo: лол, против eulera теперь не очень, там точно сайленс не 0
wlesavo: у меня у самого сайленс хардкодно >0 всегда
wlesavo: Uljahn блин, это прям хорошая идея, надо бы сделать
Uljahn: подумал, что если был сайленс на 0, 1 или 2, то можно предположить 1 и тогда 0 и 2 окажутся в области взрыва, то же самое и с 2, 3, 4, там берём 3 и 2-4 окажутся в области поражения
wlesavo: так, кажись сабмит очень неплохой, кови даже не попадался еще, но против всего топа нормально
wlesavo: против многих из топ 10 больше 50 процентов
Uljahn: идей-то я могу дофига придумать, а вот самому закодить лапками - фигово получается
Uljahn: ещё у меня винда слетела с переходом на удалёнку, сижу из безопасного режима :crying_cat_face:
Hamibar: https://www.codingame.com/replay/443761633 хорошее он место выбрал :grinning: никто не достанет
Alex.swift: ого, и такое может быть
[IQOverflow]Jatana: Можно на одном ходу сделать move и silence?
BorisZ: можно
[IQOverflow]Jatana: круто
BorisZ: любие действия можно, не более чем по 1й штуке
wlesavo: Uljahn сделал твою идею, если отсекаются в какойто момент все кроме сайленс 0 его приоритет повышается на порядок
Uljahn: и как?
Uljahn: а сбрасываешь потом приоритет, если не угадал?
wlesavo: да там даже не надо
wlesavo: само регулируется
Alex.swift: это ты на питоне просчитываешь все варианты путей после сайленса и укладываешься норм в 50мс?
wlesavo: я мержу пути
[IQOverflow]Jatana: Правильно ли я понимаю что можно определить попал ты или нет, потому уменьшилось ил число ХП противника?
Hamibar: можно. Даже нужно
Uljahn: при условии, что больше других детонаций не было
Uljahn: взрывы противника могут его тоже задевать
amurushkin: кто помнит где была статья с описанием всяких ключиков вкл-выкл чата?
Uljahn: http://chat.codingame.com/pastebin/8b930049-8068-44b8-b074-182a1b8c4069
Uljahn: нашёл, amurushkin
Uljahn: только не проверял
metahom: смешную багу словил. противник сам себя ушарашил ракетой. а я тоже его бил ракетой. в итоге не посчитал возможность что он сам у себя жизнь отнимет и неправильно рассчитал его позицию
metahom: вообще надо и взрывы противника рассчитывать чтобы его позицию просчитывать.
wlesavo: ну это не так уж смешно, в том смысле что встречается реально часто, тут уже обсуждали что ндосчитать весь урон за ход, иначе даже мины+ракеты тяжело учесть, не говоря уж о самостреле
metahom: вообще да. оч даже вариант сбить алгоритм расчета. если противник выстрелил мимо - тут же себя подбить
amurushkin: Uljahn спасибо. я примерно так и сделал только руками ))
privatestatic: есть еще вариант что будет два попадания не "в яблочко"
privatestatic: например торпеда+ мина
privatestatic: или ты+противник камикадзе
privatestatic: тоже я думаю много алгоритмов собьется
Hamibar: ну если хороший, то не собьется
wlesavo: я думаю +- в золоте уже никто не собьется
metahom: ну вот случай с самотстрелом, если ты выстрелил мимо в тот же ход. закладывать на самострел себе дороже. таких ситуаций минимум.
metahom: но алгоритм собьется
metahom: кстати, вы обрабатываете случай, если не осталось возможных позиций противника?
Hamibar: если не осталось - то значит ошибка/недаработка в алгоритме. Не думаю, что его нужно отдельно обрабатывать
amurushkin: тогда это баг :)
metahom: ну да. а самотсрел обрабатываете?
Hamibar: я обрабатываю все взрывы.
metahom: понятно. надо тоже видимо
wlesavo: ну да, я обрабатываю реплеи с таймаутами в которых потерял противника и ищу баг
wlesavo: обрабатываю громкое слово правда
Hamibar: можно было бы на карте рисовать как раике. А то приходится отладочную инфу выводить.
metahom: без локал раннера очень неудобно
wlesavo: у eulera был хороший ранер, не знаю выкладывал он его или нет, но там отрисовывало позиции возможные
wlesavo: гифку скидывал только
Hamibar: ну допилить код рефери наверное можно, но не очень хочется)
wlesavo: ну я правда не знаю, там наверное селфплей только
wlesavo: лол, кови добавил первый сайленс 3, остальные ноль
metahom: у чувака это реально стратегия самострелы делать
wlesavo: metahom в серебре есть тестовый бот илледана, который просто бегает и по кд делает сайленс 0
Alex.swift: Спустя 500 ходов https://imgur.com/a/c2qAr4a
wlesavo: у меня его взвешенный бот контрит хорошо
wlesavo: хех, #3 пока кто-то ресабитнул
amurushkin: wlesavo а как ты мержишь пути? я тупо по конечной точке беру первый который в нее ведет а остальные отсекаю
Uljahn: хороший вопрос
**Uljahn починил винду наконец-то
amurushkin: как отправлять сообщения со звездочкой?
wlesavo: amurushkin из двух путей беру те точки в которых оба пути прошли
wlesavo: кроме того мины возможные суммирую
735487: wlesavo: что то не понял. что значит оба пути прошли. вот у меня шел путь. потом сайленс. и их стало в 8 раз больше допустим. у них у всех одно начало же
wlesavo: ну вот те кто пришли в один конец мержу, большая часть информации между сайленсами теряется для этого пути
735487: или ты имеешь ввиду что хранишь что то типа уже посещенных точек и их смешиваешь в одну кучу?
wlesavo: да, храню весь грид
wlesavo: и по нему беру минимум по двум путям
Uljahn: amurushkin: /me сообщение -> "me" заменяется на * ТвойНик
MadKnight: (╯°□°)╯︵ ┻━┻
**MadKnight (╯°□°)╯︵ ┻━┻
**MadKnight ╯︵ ┻━┻
**MadKnight ╯ ╯︵ ┻━┻
Uljahn: Automaton2000: ban
Automaton2000: а еще я в 95% случаев пропускаю удар под перекладину с средних/дальних расстояний
MadKnight: Automaton2000: no u
Automaton2000: и понял что не умею программировать и пошел решать пазлы. Решаю все подряд без разбора, но даже изи пазлов еще ...
Uljahn: wlesavo: а что на гриде изображено? что за минимум двух путей?
wlesavo: ну если был в точке 2, если не был 0, минимум в каждой точке
Uljahn: я думал, на одном гриде как бы все маршруты, приводящие в эту точку, не?
Uljahn: ага
wlesavo: получается что хранится не путь, а се точно посещенные точки
735487: так а что этот грид тебе дает тогда? прикинуть где еще не был?
Uljahn: теперь понятно
Uljahn: меня вот интересует, когда новая траектория в эту область заползёт и перекроет часть, это не повлияет ни на что?
wlesavo: amurushkin дает куда нельзя пойти
735487: а ты не отсекаешь в таком случае лишнее при сайленсе?
wlesavo: Uljahn прикол в том, что если сайленса нет, то есть между сайленсами двумя, соответствие между началом и концом однозначное
wlesavo: amurushkin просто в некоторые точки в которые нельзя пойти я буду считать что пойти можно
wlesavo: то есть у меня более слабый критерий, но реально это пока сказывается слабо сравнивая с людьми кто хранит все траектории
wlesavo: я думал увеличивать вес траеторий которые мержатся, то есть больше вероятность туда прийти, или при прыжке выбирать такую траекторию которая даст раздвоение, но пока не делал
735487: вобщем пока я для себя не понимаю как их мержить чтобы хуже не сделать. вот разве что мины действительно обьединять пробовать. но у меня они вообще пока никак не предсказываются
wlesavo: ну а сейчас ты хранишь все пути?
735487: сейчас храню только стартовую и конечную точки. и то стартовую не юзаю
735487: ну и хп в них
wlesavo: ну тогда мержа хуже не сделаешь точно
735487: и сейчас когда сжимаю я просто делаю так что если я уже добавил конечную точку то все остальные откидываю
Uljahn: https://www.codingame.com/replay/443859146 скрафтил реплей с примером - перед островом в 4,6 у нас возможные траектории расходятся, а в 4,12 смерджатся?
Uljahn: ну, некоторые из них
wlesavo: да, в моем случае это самый неблагоприятный вариант, потеряется вся информация между двумя точками
wlesavo: но пока это критического отставания не дает не хочу трогать
wlesavo: чувак без сайленса и сонаров топ 2, норм так
amurushkin: интересно даже за счет чего
wlesavo: блин, нашел косяк у себя грустный, селфтрекинг не очень хорошо обрабатывает сонар и серфейс, не в тот момент времени координату получает
wlesavo: печаль
amurushkin: сделал себе сало 0 вместо 1. хуже не стало ))
inoryy: о, wlesavo держишься с питоном в топ10, мужик
wlesavo: inoryy хехе, спс, у меня пока за 10 мс почти не вылезает, есть куда расти
wlesavo: amurushkin добавь на первое сало хардкодный прыжок на 3, антизерохантер костыль
wlesavo: но вообще без нумпай было бы больнее точно
Hamibar: кстати без сайленса не так уж и плохо) в топ 50 влезаю
wlesavo: чувак без сайленса и радара ща на топ 1
wlesavo: пока кови не досчитался
Hamibar: я поэтому и попробовал
wlesavo: надо улучшать уже обход мин и сайленс
Kabunda: Wlesalo а не хочешь постримить, как ты кодишь?
wlesavo: не, я ж програмировать не умею
wlesavo: тем более на этой стадии уже не интересно, тут пол дня какуюнибудь фишечку прикручиваешь
Uljahn: круто чувак без сайленса минами огораживается, а если его самого огородить, то прячется в углу и всплывает
Uljahn: и это выгоднее, чем лезть на мины, оказывается https://www.codingame.com/replay/443894682
wlesavo: он всплывает чтобы на мины не идти просто
wlesavo: но там тактика хорошая да
wlesavo: у меня ж тоже так, просто пока не допилено до конца, порог не отбалансирован