Chat:Ru/2020-04-02
miklla: хм, код с дерева, когда пофиксил краш от нераспознанных минах в инпутах, сразу попал в серебро
miklla: один с из самых длинных кодов для выхода из дерева, аж 500 строк :)
735487: miklla: это еще боссов понерфили. сначала в вуд 2 был босс который тебя вычислял и убивал
Uljahn: miklla, gratz. это код детекта противника по хп такой длинный, или как ты так быстро пробился?
amurushkin: печаль беда. добавил к каждой точке по массивчику с траекторией и код уже таймит когда их всего 400
WwW: ребят, спасибо огромное тем кто мне тогда помог! я немного пофиксил код и теперь я на 48 месте
wlesavo: мне тут вообще чуть помогли и я на первое попал)
wlesavo: сила чатика
WwW: ага))
Alex.swift: сакцесс стори) а я вчера пофиксил баги в коде и вот я на 150
amurushkin: а у меня наоборот не получается нифига :)
Uljahn: а баги все пофиксил?
amurushkin: добавил отслеживание пути и теперь отсекает намного лучше но блин теперь таймит )))
Alex.swift: ну так то до этого я тоже на 40 был))
wlesavo: Alex.swift я сейчас баги чищу и в селфплее проверяю, чтобы не ухудшилось, у меня как раз сид от id приколочен, смотрю симметрию
amurushkin: у меня теперь так https://www.codingame.com/share-replay/444578321
Alex.swift: на столько слился с багами, что они начали мне помогать
wlesavo: amurushkin лол
wlesavo: на сколько я знаю все вообще прунят против сайленс спама, но обычно от нескольких тысяч
amurushkin: так вот и я не пойму. там 200 путей всего
wlesavo: может ты по всем путям где то проверку делаешь вместо того чтобы по головам только
amurushkin: делаю. у меня так лучше стреляет и мины лучше взрывает. но до того как я добавил отслеживание пути оно работало то и с количеством 20000
wlesavo: откуда 20000 без пути?
amurushkin: https://www.codingame.com/share-replay/444581685 вот старый код на том же сиде прекрасно играет.
amurushkin: после кучи сайленсов с плохими отсечениями у меня и до 400к догоняет
wlesavo: в смысле, если ты хранил только координаты, то зачем дубликаты хранить?
wlesavo: если уж так хочется можно просто головам вес приделать в зависимости от количества путей, и с этим весом прогонять, в остальном дубликаты же смысла не имеют
wlesavo: а я решил переписать поиск пути из рекурсивного в обычный цикл и насыпать туда чуть чуть нумпай
amurushkin: дубликаты я хранил чтобы точнее посчитать сколько путей проходит через конкретную точку. ну и сразу планировал добавлять еще посещенные точки в эту структуру
amurushkin: фишка то в том что без отслеживания пути там намного больше точек и все успевает.а с ним точек меньше и не успевает ))
amurushkin: прийдется мерять походу
wlesavo: ну да, так просто врядли заработает
amurushkin: экспериментально выяснил что тормозит процесс удаление отсеченных точек ))
amurushkin: блин там сегфолт был оказывается. странно что перестали писать что код упал а не по времени затаймил
amurushkin: опять дебажить )) теперь он теряет и себя и противника ))))
Alex.swift: Ocean of Bugfix
wlesavo: amurushkin кстати да, часто не очевидно
amurushkin: раньше в других играх писало что сегфолт и все тут
wlesavo: охренеть, переписал с рекрсивной реализации на цикл, стало в два раза медленнее
735487: когда не учитываю прошедший путь то не теряю ничего )) правда и смерживания пока нет как надо
735487: wlesavo: прикол. обычно наоборот бывает
wlesavo: вот да, странно
wlesavo: блиин, нашел косяк, рассчет карты дамага один из самых долгих процессов не хранил результат, а дважды вызывал
wlesavo: ато и 3 даже, ух заживем ща
Alex.swift: wlesavo а через что ты батч запуски делаешь?
wlesavo: через сабмит :grinning:
wlesavo: скажу по секрету
wlesavo: я пишу код в ide
Alex.swift: not bad) ладно, поставлю фатал ерор на ситуацию, которую хочу воспроизвести чтоб быстрее найти и засабмичу :grinning:
wlesavo: Alex.swift ну да, и потом реплеи проигранные смотреть, а я наконец вычистил таймауты получается, ща тож заресабмичу
wlesavo: таки прилично их было
Alex.swift: за 40 очков перевалишь?)
amurushkin: блин и вот что мне теперь все пути принтить чтобы понять где косяк )))
wlesavo: я принчу головы тех которые выбрасываю, и смотрю когда выбросил настоящего
amurushkin: идея. спасибо
YurkovAS: Alex.swift батч запуски можно сделать так: в рефери есть юнит тесты, можно там модифицировать под многопоточность и запуск поменять на "GameResult result = gameRunner.simulate();" - чтобы без ui запускалось.
wlesavo: таки остались таймауты но конкретно против mchl чтото он такое делает
wlesavo: то ли он максимизирует возможные позиции для мин то ли что
amurushkin: пора переписывать на плюсы?
wlesavo: но с ним даже при небольшом числе мин и противников 40мс на карту урона тратится
Alex.swift: YurkovAS это если локально ранить или в ide где-то тесты есть?
wlesavo: ну ладно, зато обратно в топ 1
wlesavo: Alex.swift локально думаю через рефери
YurkovAS: Alex.swift я открываю в ide (Intellij IDEA) и запускаю метод в Main.java: public static void main(String[] args). Есть еще brutal tester, но что-то у меня не получалось последние игры в нем запускать. Сделал запуск из юнит тестов.
amurushkin: ахаха у меня сайленс умеет сквозь острова когда точки считает ))
Alex.swift: и сквозь свой путь?
Alex.swift: YurkovAS, понял, спасибо. До настройки рефери локально я пока тоже не дошел) просто синкаю файл из локальной ide
YurkovAS: Alex.swift вот там у меня: https://pastebin.com/BVT6Aqg1
YurkovAS: Alex.swift поменяй еще gameRunner.setLeagueLevel(3);
Alex.swift: это нужно репоз с кодом игры спуллить, сфетчить зависимости и запустить код с листинга в тест таргете?
amurushkin: оказалось что неправильно помечал путь при сайленсе. теперь стало так на том же сиде https://www.codingame.com/share-replay/444620138
YurkovAS: Alex.swift да, собрать проект в ide и потом из ide запустить метод public static void main, там кнопочка напротив названия метода появится.
Uljahn: wlesavo: "а я решил переписать поиск пути из рекурсивного в обычный цикл и насыпать туда чуть чуть нумпай" - обычно это не самая лучшая идея, т.к. потенциально огребаешь под капотом оверхед в виде преобразований из numpy-типов в питонячьи и обратно, но надо конечно тестить
Uljahn: лучше всего всё делать в numpy или всё в питоне
wlesavo: ну я понимаю, но без нумпай там тоже так же просадка в два раза
wlesavo: проверил уже, думал может в этом дело
Alex.swift: 10 сабмитов подряд выиграл mchl из-за правила "не юзать сайленс если я точно знаю где враг"
amurushkin: а как это вяжется? типа на добивание его оставляешь?
Alex.swift: если он рядом стрелять в него и уплывать сайленсом + можно сделать фаталити если жизней мало уже
wlesavo: надо будет проверить
wlesavo: можно вообще сайленс на выстрелы оставлять
amurushkin: блин я теперь видать мержу плохо пути. теряю противника :(
wlesavo: бгг 80% против кови
Alex.swift: siman догоняет по скорам
Alex.swift: а нет, неудачно ресабмитнулся)
amurushkin: забавно у меня еще и острова посещаются ))))
amurushkin: во теперь больше похоже на правду. а то видители он по островам ездит пока я не вижу :)
735487: 16 игра с pb4 это или высоко сразу прыгнул или он ресабмитит :)
735487: ох етить 9 место на 15%
amurushkin: вот что значит сайленс отсекать более правильно
wlesavo: неплохо неплохо
amurushkin: заявочка на легу :)
amurushkin: это я еще мины не трекаю совсем и ходы на 1 глубину без финишера. добавляет оптимизма
Uljahn: другое дело, когда без багов-то
amurushkin: тут еще фишка в том что отсекаю теперь ходы лучше за счет трека пути
wlesavo: еще сайленс с N0 переписать)
metahom: amurushkin, крутяк :metal:
amurushkin: не устоял в 10 )) под конец дофига проиграл
amurushkin: wlesavo чтобы сайленс переписать это надо делать выбор пути. пока пусть так.
wlesavo: amurushkin ну вроде не один я таргечу сайленс 0, хотя первый прыжок не на 0 точно помогает
wlesavo: мне кажется если бы кови прикрутил два прыжка на не 0 у нас бы сразу 50/50 стало
amurushkin: я пробовал добавить первый не на 0. в связи с тем что у меня это особо никак не оценивается получилось хуже и я убрал
wlesavo: потому что так у меня таргетинг работает отлично против него
wlesavo: запушили до 39 почти)
wlesavo: нормально так
Uljahn: жесть какая-то в топе
metahom: сижу не знаю за что браться. вроде все нужно делать. и на все столько времени...
MadKnight: в рашке продлили до конца месяца карантин
metahom: прикольно. опять за счет работодателя
Uljahn: трекинг противника сделал?
metahom: я? ну не идеальный, но пока не буду трогать
metahom: на мерже позиций бывает хватаю баг
metahom: мне нужно сделать: тактику боя (пока я просто хожу и стреляю когда могу), трекать себя, обходить мины, как-то сбалансировать заряд возможностей, юзать сайленс осмысленно.
metahom: больше всего на самом бою проигрываю. вместо того чтобы убежать или наоборот подойти, хожу как попало
amurushkin: MadKnight почему ты свою Родину обзываешь?
wlesavo: metahom у меня тактики боя так и не появилось, сначала была, но я отказался совсем от нее быстро
MadKnight: amurushkin а почему нет?
MadKnight: amurushkin ты тролишь или серьёзно?)
amurushkin: я серьезно. почему ты не уважаешь свою страну?
MadKnight: она не моя
amurushkin: а где твоя?
MadKnight: у меня нет своей страны
amurushkin: ни страны ни Родины?
MadKnight: мне надо уважать страну только потому что я там родился?
metahom: amurushkin, за что ее уважать?
Uljahn: потому что в мемесах так принято
Uljahn: ой, чат фризанул
metahom: wlesavo, почему? я просто по своим реплеям смотрю что дофига игр проигрываю
Uljahn: бери любой проигрыш и фикси, пока не начнёшь выигрывать :)
metahom: Uljahn, ахах, я так часто делаю. обычно ни к чему хорошему не приводит )))
Uljahn: очевидно, зад увяз, когда голову вытащили
amurushkin: MadKnight давай попробуем от обратно. за что ее не уважаешь?
Uljahn: amurushkin: моей родины как страны уже не существует, например. только если малая родина
amurushkin: Uljahn у меня тоже Родина СССР. а государство в котором я сейчас живу не выполняет полностью свои функции. но почему люди не довольны Россией мне тяжело понять
metahom: amurushkin, войны, воровство, разрушенное ВСЕ, убийства невиновных
Uljahn: потому что так в мемесах принято
wlesavo: metahom ну я не смог адекватно совместить разные минимизации и тактику, из тактики только фаталити и все
metahom: потому что масок медицинских в
Uljahn: ну и да, слов много, а реальных успехов нет
metahom: не достать уже месяц, а путлер их в США продает
Uljahn: у руля сплошные непрофессионалы
metahom: давайте закончим про политику, а то это больная тема
metahom: wlesavo, а фаталити это что?
amurushkin: масок нет нигде. и в сша и европе в том числе
amurushkin: а мы разве про политику? мы про страну и Родину :)
wlesavo: metahom когда точно знаешь что можешь убить в этот ход убиваешь
wlesavo: о, точно, знаю что надо делать, надо делать антифаталити
metahom: )))
wlesavo: а не, тыж кулдаунов не знаешь
amurushkin: тут есть обратная сторона медали. если противник его не найдет то ты можешь себе навредить
wlesavo: только по хп и трекеру не очень
wlesavo: хм, можно кулдаун рокеты и сайленса оценить у противника впринципе
wlesavo: короче надо подумать реально, может и норм идея
metahom: amurushkin, в Европе есть маски в больницах. у нас врачей заставляют самим из марли шить.
metahom: а путин их втихую распродает
metahom: wlesavo, ну логично что все заряжают торпеду в первую очередь. опять же раньше чем через через 3 мува не выстрелишь
wlesavo: да, можно заключить что если прошло 9 ходов то у противника есть и сайленс и торпеда
Alex.swift: а как торпедами лучше стрелять, когда точно задеваю или норм даже если просто вероятность попасть неплохая, процентов 50?
amurushkin: http://chat.codingame.com/pastebin/c8e83297-60b6-48cc-8462-774326355b99
metahom: "если бы не Путин уже бы и страны не было давно" - извини, но это бред
metahom: страны после Путина не будет, потому что все разворовано, отношения со всеми испорчены
metahom: больниц при нем стало в 2 раза меньше. и школ. заводов сколько позакрывалось - не счесть
Valdemar: Alex.swift тут подбирать надо, с одной стороны выстрелы тебя выдают, с другой пока колеблешься и не стреляешь соперник мочит тебя торпедами
metahom: а винить одного человека - не одного, конечно. их много. но главный виновник - тот кто отвечает за все
metahom: про "подрывную деятельность в государстве" - это как раз про путина и его дружков. сколько денег украдено и утащено зарубеж. никто ничего не делает для страны, только в карман и свинтить. а путин все это покрывает
metahom: я выхожу на улицу и вижу разруху.
Valdemar: я порог использую, пробовал поднять, против кого-то играет лучше, потому что не выдает себя, но сливает предыдущей версии, потому что получает 1-2 пули до того как начинает стрелять
metahom: все, я заткнулся
metahom: накипело :)
Alex.swift: Valdemar а по какому критерию порог меняешь? Я что-то все-таки без выстрелов наугад сильно уехал, хотя пока-что только 1 сабмит попробовал
Valdemar: порог константа, просто так поставил
Valdemar: 0.6
Valdemar: возможно, потюню кучей локальных игр, но мне кажется это не так важно
Valdemar: пока просто визуально. с поднятым слишком редко стреляет, не понравилось
Uljahn: наугад лучше не бить, либо бить, когда на детект со стороные противника не влияет
Uljahn: а то часто получается - бьёшь на единичку (рядом попал), соперник тебя детектит и бьёт на 2, и дальше всё, гг, тебе противника надо ещё минимум три раза поразить, а ему только два
Uljahn: это с полными хп когда
Alex.swift: пока-что лучше всего отиграл критерий: если задеваю больше половины
metahom: блин, я бью если вероятность попасть 0,2 для мины, и 0,4 для торпеды
Uljahn: мины-то ладно, они не так тебя выдают
metahom: надо попробовать прикрутить
BorisZ: черт опоздал к политсрачу, теряю чуйку (
BorisZ: 1) хорошо там где нас нет 2) у кого ресурсы, на том и ответственность
BorisZ: все, политсрач закончен, всем спасибо )
Uljahn: 3) государство не просило вас рожать
metahom: Uljahn, почему мины не выдают? у них радиус постановки меньше
metahom: если их много наставлено - наверное не так. а в начале игры выдают не хуже, я думаю
amurushkin: в начале их и не взрывают
Valdemar: взрыв мины выдает, но мне кажется у большинства это не реализовано
Valdemar: у меня, например, нет)
MadKnight: amurushkin а говорить рашка - это неуважение?)
735487: я считаю что да
Valdemar: в общаке msmith рассказывает про трекинг по минам
Valdemar: запишу в todo на реализацию)
wlesavo: как ктото правильно заметил, используя для зондирования мины, ты даешь информацю о том что тебя в этих 9ти точках тоже нет + информацию о том что ты там когда то был, то есть чисто с точки зрения информации это себе в убыток
Valdemar: да, но кажется это полезно в начале игры, когда путь не большой
wlesavo: взрывать в начале или трекерить? взрывать наоборот много информации вначале даешь
amurushkin: что то мой код который в топ 10 забегал уже не дает таких результатов :)
MadKnight: а я считаю это лишь отсутствием твоего уровня гордости за страну
MadKnight: отсутствие гордости != неуважение
Valdemar: wlesavo да, я имел ввиду, что такой трекинг в начале игры больше влияет
Alex.swift: интересно, в голд тоже 200 сразу возьмет?
Valdemar: надеюсь хотя бы 100, а лучше 50
735487: я думаю 150 будет
Valdemar: когда тяжело в следующую лигу пройти это мотивирует)
Valdemar: amurushkin я доработал бота, засабмитил, уехал с 35 на 65
Valdemar: думал как так, неужели в среднем плохо играет, ресабмитнул старый код, попал на 80 значит все в порядке)
wlesavo: о, уже же завтра голд
Uljahn: очень много свежака в топ заехало
Valdemar: для чистоты надо старый код ресабмитить, чтобы понять его реальное место
Uljahn: вот и потеснили
Valdemar: все как в пиратах прям
Valdemar: только туман войны мешает
wlesavo: Uljahn по моему те же лица пока
Uljahn: ну, значит, все ресабмитят, перемешивают лидерборд
Uljahn: Hamibar'a запушили что ли
735487: Valdemar: у меня просто через полтора часа это уже случилось
wlesavo: хехе, ускорил рассчет карты дамага в несколько раз
735487: ты имеешь ввиду от мин?
wlesavo: да
735487: у меня пока нет такой ))
735487: вот думаю стоит учитывать предполагаемый путь противника для своего движения или нет
wlesavo: ну просто это был самый медленный кусок, теперь я сначала посчитал дубликаты с весами правильными, а потом уже один раз сложил. помнится я сначала так и хотел, но подумал что будет медленнее
wlesavo: точнее еще сначала хотел просто сетировать
wlesavo: без весов
wlesavo: а ща решил словарь таки составить и посмотреть будет быстрее или нет
wlesavo: если раньше бывало часто за 40 переваливало , сейчас максимальное 15, а среднее вообще 2-3 секунды, так можно и за картой оппонента следить для оптимизации расстановки мин
metahom: у меня с взрывами с небольшой вероятностью попасть все равно лучше получается
735487: там все зависит от того как считать. у меня сначала тоже так было. а потом стал по-другому считать и заиграло с более высоким порогом
metahom: что именно считать?
735487: вероятность попадания
metahom: даже не знаю, как мне улучшить точность рассчета противника
metahom: ты когда мержишь позиции учитываешь сколько там штук внутри?
735487: я сегодня только сделал смерживание. оставляю только точки которые есть в обоих путях. что получается даже не проверял в результате
metahom: кстати да, точки я тупо из одного пути беру
metahom: я про то, что когда ты мержишь два пути в один - вероятность нахождения противника там в два раза больше чем в несмерженном пути. может это тоже учитывать стоит?
amurushkin: не факт наверное. если там через несколько сайленсов пересечения то вероятность не меняется я думаю
735487: я просто еще пути мержу когда их больше чем 20000. поэтому наверное у меня это очень редко вообще
metahom: надо попробовать. я мержу все что в одну точку приходит
metahom: опять все переписывать :(
Alex.swift: а какой лимит на вес исходников?
BorisZ: 100к раньше было, может уже добавили, не знаю
BorisZ: были случаи когда нехватало людям
BorisZ: если заморочиться то ужать то не проблема думаю
Alex.swift: ну я заблаговременно задумался, думал хранить 2 варианта трекера: со всеми путями и чисто с маской. Врага трекать со всеми путями а себя без них чтоб быстрее было + т. к. большенство игроков, думаю, без всех возможных путей это делают
wlesavo: metahom я тоже мержу все что приходит в одну точку
735487: вот это я сейчас обнаружил. что у меня сонар шпуляет не в тот сектор который хочет ))
735487: долго бы еще не знал если бы не увидел SONAR 10 ))
wlesavo: может поэтому без сонара лучше было? :slight_smile:
amurushkin: да наверное что он нифига не помогал :)
amurushkin: хотя я и сейчас не уверен что с ним хорошо
metahom: wlesavo, я тоже подумал, что если бы от этого были проблемы, у меня бы предсказание лажало. а оно почти уже не лажает )))