Chat:Ru/2020-03-23

From CG community
Jump to navigation Jump to search

Uljahn: the turn limit will be increased to 600

mykeich: что тут происходит?

Uljahn: контест новый, антикоронавирусный

Uljahn: наспех соорудили, чтобы всем, кто в карантине, было чем заняться в ожидании главного контеста

mykeich: на си заготовка кривовата, fgetc(stdin); нехватает

tutubalin: BorisZ "каждый сайленс дает кучу вариантов"

они пересекаются, реально их не может быть больше 225

tutubalin: ну и не забывай, что при сайленсе можно идти только прямо

Uljahn: 13 разных клеток максимум?

Uljahn: похоже, CG так и не работает в устаревших браузерах, с работы не смогу теперь заходить :(

Uljahn: Automaton2000: придётся менять работу

Automaton2000: а то я не вижу в лидерборде

Hamibar: с помощью мин можно кстати улучшать определение позиции соперника.

Hamibar: Такой взорвал если не уверен и смотришь, жизнь не отнялась - значит можно отбросить несколько вариантов.

tutubalin: Uljahn "13 разных клеток максимум?" из каждой возможной клетки.

BorisZ: после всплытия 17

735487: Uljahn: в конце матча можно на месте не сильно то постоишь. плыть куда то надо все равно

BorisZ: пора переписывать все короче)

BorisZ: а можно в один ход move а потом silence?

BorisZ: по пописанию судя - можно

BorisZ: But you can use each type of action only once per turn (you can move one time per turn, no more).

BorisZ: пробовал кто-нибудь?

735487: пробовал. можно

BorisZ: тема

Hamibar: можно вроде как даже набрать сало при муве, а потом сало и использовать. Но это не точно

735487: точно :)

735487: у меня так со стрельбой делает

wlesavo: ну у меня тоже, если достаточно траекторий проходит через квадрат то стреляю

735487: wlesavo: имхо это у тебя слабость у бота. мой твоего вычисляет очень быстро

Default avatar.png Abrik: Всем привет

Default avatar.png Abrik: Решаю задачу с космическими кораблями.

Default avatar.png Abrik: Они летят быстрее чем я "стреляю". Даже если выбирать ближайший корабл с учетом скорости


735487: ссылку дай

Default avatar.png Abrik: https://www.codingame.com/ide/puzzle/onboarding

735487: они летят быстро но там все можно успеть

735487: достаточно расстояния сравнивать

Default avatar.png Abrik: http://chat.codingame.com/pastebin/deaa1ea6-9bec-49be-b074-21d58c22a9aa

Default avatar.png Abrik: x.distance - x.speed

Default avatar.png Abrik: получается Sectoid Но Buzz все равно долетит

wlesavo: amurushkin так это деревянный бот

wlesavo: бронзу я не начинал еще

Default avatar.png Abrik: не понял

735487: ты точно ту ссылку дал?

Default avatar.png Abrik: да

Default avatar.png Abrik: это первые уроки которые у меня отобразились после регистрации

735487: там дают только 2 параметра. имя бота и его расстояние

Default avatar.png Abrik: да, остальное я сам по статистике собираю

Default avatar.png Abrik: текущий шаг и скорость

Default avatar.png Abrik: скорость считается если еще она не известна

735487: там задача решается в одну строчку

735487: ничего считать не надо

Default avatar.png Abrik: и с учетом скорости считается в кого выстрелить

Default avatar.png Abrik: хм. Можно эту строчку для понимания?

wlesavo: if dist_1 < dist_2:

       print(enemy_1)
   else:
       print(enemy_2)

Default avatar.png Abrik: ))) у вас работает?

wlesavo: да

wlesavo: нажми play testcase

wlesavo: может ты смотришь превью

Default avatar.png Abrik: я нажимал но меня гасят

Uljahn: уря, нашёл хромоподобный браузер под XP

735487: покажи свой код. у нас работает

Default avatar.png Abrik: Странно, так работает. А я уже и классы и статистику и т.д.

Default avatar.png Abrik: Спаисбо

Uljahn: типикал оверинжиниринг

MadKnight: Abrik давай сразу в гоночки

Default avatar.png Abrik: это как?

MadKnight: https://www.codingame.com/ide/puzzle/coders-strike-back

Default avatar.png Abrik: о я вчера нечто подобное решал с тором и молнией

MadKnight: только тут мультиплеер

MadKnight: PvP

Default avatar.png Abrik: а чем суть мультиплеера?

Default avatar.png Abrik: у кого код оптимальнее?

MadKnight: кто быстрее проедет чекпоинты

Default avatar.png Abrik: Хорошо. Как нибудь попозже. Наберусь немного опыта и поиграем)

MadKnight: да зачем тебе ещё опыт? это простая игра

MadKnight: она не сложнее того что ты наделал в корабликах

735487: нашел охеренный баг у себя с сайленсом. я отсекаю наоборот тут сторону куда он может пойти и смотрю ту куда не может

Uljahn: Game is updated now

735487: а ченжлоги есть?

735487: фу блин нахера стали писать lost a life. мне было удобнее когда команды были

Uljahn: мдеее

MadKnight: Abrik

735487: бля как же неудобно стало. мне было важнее знать когда я выстрелил а не то что кто то хп потерял

MadKnight: пожалуйся в #world

MadKnight: вон там как раз illedan сидит

wlesavo: amurushkin всмысле, что поменялось?

wlesavo: информация о жизнях же была изначально

wlesavo: а, вы про тултипы

Uljahn: теперь надо ПАРСИТЬ реплеи, чтобы понять, что происходит, а раньше можно было скроллить по таймлайну

wlesavo: ну это не проблема поправить если людям удобнее

MadKnight: magus говорит это было ошибкой делать так, чтобы игрок мог случайно самоубиться

MadKnight: в таких играх можно выйти в топ, просто ничего не делая

MadKnight: так было в PCR и в HS

MadKnight: amurushkin у тебя кривой инглиш

Uljahn: пропаганда суицида на цисгендерной субмарине, Automaton2000

735487: что значит случайно? нужно осознанные ходы делать

MadKnight: я тебя не понимаю на инглише

Automaton2000: о я вчера нечто подобное решал с тором и молнией

MadKnight: amurushkin ну прям как было в HS, когда ставишь бомбу, а потом не можешь уйти от взрыва

Uljahn: ещё в utg можно было камикадзить

MadKnight: Illedan 12:43PM We nerfed the boss a little

735487: MadKnight: amurushkin у тебя кривой инглиш я рад что у тебя лучше

MadKnight: amurushkin я к тому что тебя сложно понять, а не к тому что у меня лучше

735487: другие же понимают. мне более важно чтобы иностранцы понимали а не ты

735487: мне мой инглиш не мешает работать с иностранцами. еще никто не жаловался что меня не понимает

BorisZ: илеган верно говорит - смотришь на заряды свои и сразу видно что выстрелил

MadKnight: ну из контекста можно догадаться

Uljahn: BorisZ: заряды могут и просто так потратиться, если стрельнул за пределы рейнжа

735487: BorisZ: для этого надо реплей мотать а так было сразу видно на таймлайне и можно было туда перейти

BorisZ: согласен со всеми ораторами

735487: я понимаю что они убрали это потому что ходов стало больше и тупо все действия не помещаются теперь

Uljahn: я предложил в тултип добавлять причину дамага, но меня видимо не поняли :)

735487: почему именно 636 ходов не понятно

Uljahn: слишком идеальный инглиш)

BorisZ: ну в чат то писать всегда рискуешь что не заметят - пиши на форум лучше

Uljahn: да я шучу, мне и так норм

MadKnight: Uljahn так может тебе просто не ответили

MadKnight: но поняли

Uljahn: мб

MadKnight: и ответили типа thanks guys

735487: Uljahn: я тебя там поддержал

Uljahn: спс, но скорее всего заметили уже

Uljahn: а может я в игноре у них как кубер)

Default avatar.png Abrik: можно в пару словах о чем речь сейчас в чате?

Default avatar.png Abrik: Про какой дамаг и т.д.

Uljahn: про контест, который сейчас идёт

Uljahn: онлайн соревнование на месяц

Default avatar.png Abrik: ок. спасибо

Uljahn: https://www.codingame.com/contests/ocean-of-code

Uljahn: вот этот

Uljahn: если есть вопросы по пазлам, или что ты там решаешь - можешь задавать тоже

Default avatar.png Abrik: Хорошо. Нажал Following

MadKnight: Abrik поиграл в гоночки?)

Default avatar.png Abrik: http://chat.codingame.com/pastebin/a9c5c4cb-869a-4107-a32e-9e0d06ad1b9b

Uljahn: ринга нет там, поле без границ, просто улетаешь за видимую область

735487: все Uljahn пришла пора сабмитить нового бота. мой твоего сейчас скинет

Uljahn: ну и есть формула для дрифта, только надо вектор скорости сначала определить

Uljahn: amurushkin: го го

Default avatar.png Abrik: ну вот. Говорю же рано еще мне)

735487: Abrik: тебя пугает слово вектор?

Uljahn: в настройках плеера (шестерёнка), включи debug режим, там много интересного покажут

Default avatar.png Abrik: нет. не пугает. но сейчас заниматься этим не будут. Т.к. на работе

MadKnight: Abrik там есть tutorial уровни, которые можно пройти за 5 минут

Default avatar.png Abrik: спасибо за инфу

735487: о норм меня подкинуло

Uljahn: gratz

mykeich: какой сложный ocean, из вуда 2 не понятно как выбраться, никаких данных о сопернике же нету

735487: данные то как раз есть. какие действия он делает

735487: по ним можно вычислить где он находится

mykeich: это где? opponent_orders=NA постоянно

735487: не может такого быть :)

Uljahn: только в первый ход если ты красный

mykeich: я очепятался

MadKnight: мне тут подкинули топ стратегию

Default avatar.png [lazy]Opera: топ стратегия: постоянно копить сайленс и таким образом быть скрытным ниндзя

735487: я у себя ограничил сайленс и стал чаще юзать сонар и поднялся на 20+ мест

735487: и у меня нет мин вообще. ни своих ни чужие не пытаюсь угадывать

Default avatar.png [lazy]Opera: а при равном счёте кто побеждает?

735487: по хорошему еще надо умно выбирать стартовую точку

735487: при равном счете побеждает тот кто ходит 2

735487: хотя могу и ошибаться. может и тот кто 1

Default avatar.png [lazy]Opera: почему этого нет в Victory/Lose Conditions?

Uljahn: можно в рефери посмотреть

tutubalin: а вот как сонар работает?

tutubalin: он проверяет сектор в тот момент, когда делаешь action, или на момент конца хода противника?

input.txt: до хода противника

input.txt: так же как торпеды

Uljahn: в правилах это есть

Uljahn: This is in respect to the time of issuing the command, not after the opponent moved.

tutubalin: а, точно

Hamibar: Получается если я хожу вторым и ударил торпедой в то место, где был оппонент на начало хода, то у него 2 очка отнимется?

Uljahn: торпеда детонирует в тот же ход

tutubalin: да. но это надо удачку прокачать при создании перса )

Uljahn: или дедукцию

tutubalin: типа собрать статистику, куда в основном в начале ставят и туда бить?

Uljahn: не, я про анализ пердыдущих ходов

Uljahn: *предыдущих

Hamibar: Нее, про другое. Начинается ход. Я получаю данные о передвижении. Потом противник мувается, а я стреляю в то место где он был в начале хода, до своего мува.

Hamibar: 2 очка отнимется или 1

Uljahn: ненене

Uljahn: ты получаешь данные и стреляешь, торпеда детонирует, противник получает дамаг, ход заканчивается, ходит противник

Hamibar: ааа я понял. Спасибо. Думал данные приходят каждый ход. А они только на твой.

Uljahn: да, тут поочерёдные ходы

Default avatar.png [lazy]Opera: плин, не успел сонар и силенс доделать, а меня в бронзу апнули...

mykeich: а торпеды только горизонтально и вертикально запускать можно?

Hamibar: нет

Hamibar: на расстоянии 4 клеток

mykeich: манхетовское?

Hamibar: ага. Только препятствий не должно быть.

Hamibar: могу ошибаться. лучше протестировать конечно)

wlesavo: там же картинка в описании есть

Hamibar: ооо точно. Вроде раньше не было

wlesavo: да, сегодня добавили

Hamibar: Еще длину игры увеличили, да?

wlesavo: о, как раз уведомление об апдейте

Hamibar: SILENCE N 0 дал мне прибавку в 60 мест)

wlesavo: надо сегодня сонары и сайленс прикрутить, ато стыдно с вуд босом в бронзе

735487: у меня сайленс довольно тупенький. и даже идей нет как его юзать более эффективно

735487: а вот сонар походу классная вещь. у меня довольно простое его использование но кажется что эффективное

Hamibar: ну да за 4 хода отбросить хотя бы 1/9 всех ходов - звучит неплохо

735487: а в реальности там даже больше отсекает

735487: особенно если угадаешь

735487: хотя в некоторых случаях бывает и наоборот.

Hamibar: ну меньше чем 1/9 не отсечь)

Uljahn: они же не равномерно по секторам

Uljahn: особенно, если история уже длинная

Hamibar: ну ты же скорее всего кинешь сонар туда, где больше всего вариантов

Uljahn: значит и отсечёшь больше, чем 1/9

Uljahn: блин, "меньше чем" не так прочитал)

wlesavo: можешь вообще ничего не отсечь, а можешь вообще все кроме одного, тут не факт что стоит в самый населенный сектор кидать

wlesavo: от ситуации зависит короче

735487: если секторов только 2 то без разницы куда

wlesavo: ну да

Uljahn: опять энтропию уменьшать, прямо как в быках и коровах

Default avatar.png [lazy]Opera: можно перебрать 9 секторов

Uljahn: надо ещё доплыть, а противник тоже не стоит на месте

tutubalin: я математически доказал, что стоит кидать в самый населённый

tutubalin: а также нашёл условие "а стоит ли вообще кидать", но это пока ноухау )

Uljahn: неплохо

wlesavo: нашел баг в накидке сайленса, изза этого иногда 0 кандидатов оставалось

Hamibar: хм, я тут подумал, стоит ли хранить все возможные траектории врага, или их будет слишком много?

wlesavo: конечно стоит

wlesavo: а как ты до этого определял врага

Hamibar: просто возможные конечные точки

wlesavo: ну траектория нужна чтобы лучше фильтрация была

Hamibar: про это и думаю)

Uljahn: почему не хранить последнюю валидную траекторию и возможные конечные точки?

Uljahn: вообще, историю-то можно полностью хранить и бэктрэкать по необходимости

wlesavo: я просто храню свой грид для каждого

Uljahn: не жирно?

Uljahn: я рисую траекторию и нахожу совпадения с помощью rolling window

wlesavo: мне кажется хранить грид эффективнее даже, хотя не знаю, могу ошибаться, в любом случае кандидатов большую часть времени не больше 10

735487: меня с траекториями смущают сайленсы. хотя я еще не пробовал их хранить

wlesavo: как раз фильтрация сайленсов эффективная получается, ты добавлешь сильно меньше кандидатов тогда

Uljahn: это если просимулировать только возможные сайленсы?

wlesavo: ну эффективно это одно и то же, вопрос в том что быстрее, но пока он не особо стоит

Uljahn: ну правильно, там же ещё суша помогает фильтровать

735487: проблема в том что с сайленсами тогда у тебя будет множество путей приводящих в 1 точку

wlesavo: но эффективно они разные, потому что из них ты можешь идти в разные стороны

wlesavo: а офильтруешь ты их все равно одновременно

Uljahn: не понял про одну точку

wlesavo: Uljahn если два раза использовать сайленс, то потенциально могут возникнуть разные кандидаты с одинаковыми координатами

Uljahn: но там же 6 ходов заряжать надо

wlesavo: но за 6 ходов ты уже отфильтруешь почти все, да\

Uljahn: ну да, так далеко я не рассматривал

wlesavo: короче это незначительная вещь ообще

wlesavo: ща прикручу сонары вместо торпед и можно будет думать уже, ато хорошо рассуждать на дне бронзы)

735487: сонары прямо вместо торпед?

wlesavo: ну я в вуде торпедами исследовал

wlesavo: теперь надо сонарами

wlesavo: не то чтобы вообще отказаться от них

Uljahn: торпедами ахах, активное зондирование

Uljahn: и себя при это палишь

Uljahn: *при этом

wlesavo: не, у меня было условие чтобы в себя не палить

735487: я стреляю только когда целей 4 и меньше

wlesavo: ну я делал маску координат для стрельбы и если в ней находились кандидаты проверял выстрелом

wlesavo: ну сейчас да, тоже сделал границу

Uljahn: да я про то, что позицию свою выдаёшь)

wlesavo: а, в этом смысле, да

Uljahn: в этом плане сонар получше будет

wlesavo: ну для вуда это нормально

Uljahn: todo list уже длиннее бота :(

735487: как круто определять стартовую точку?

Uljahn: я про свой вариант два раза рассказывал

Uljahn: возможно, именно из-за него так высоко забрался с таким тупым ботом

735487: я если честно так и не понял твой вариант.

735487: у тебя там что волная идет от краев и от островов? по сути потенциальные поля

735487: почему эти точки лучшие я вот это не понимаю

Uljahn: траектория фильтруется, когда с двух или трёх сторон зажата сушей или границами

Uljahn: а тут ты отодвигаешь этот момент, пытаешься найти точку, где больше пространства для манёвра

Uljahn: ну и дальнейшее построение траектории должно учитывать это

Uljahn: если прижался к суше, то с противоположной стороны нельзя прижиматься, а то траектория сколлапсирует

Uljahn: лучше вообще не прижиматься, для этого я ищу равноудалённые точки

735487: у меня выбирает по оценке расстояния к центру и подальше от островов. тоже всегда в центре начинает

Uljahn: а, ну ок тогда

735487: правда у меня учитывает радиус в 8 клеток а не все острова

Uljahn: просто оказалось, что такие карты в нумпи в одну строчку делаются, было интересно реализовать

Uljahn: быстро и сердито

735487: ну да прикольно

Default avatar.png [lazy]Opera: при SURFACE можно ходить и перезаряжать оружие?

Uljahn: конечно

Uljahn: можно все команды комбинировать по одной штуке за ход

Uljahn: лишь бы зарядов хватало

Default avatar.png [lazy]Opera: а просто SURFACE torpedo?

Uljahn: :)

Default avatar.png [lazy]Opera: В командах просто перезарядка только у move написана MOVE direction POWER

Uljahn: такой команды нет

Uljahn: заряд только от мува идёт

Uljahn: вот пример, как можно SURFACE | MOVE N TORPEDO | TORPEDO 3 5

Uljahn: poll on tooltips for the contest: https://strawpoll.com/47cd8f4a

Default avatar.png [lazy]Opera: а, ну всё, именно эта информация отделяла меня от топ 3 :sweat_smile:

MadKnight: [lazy]Opera а какой у тебя алгоритм?

MadKnight: или у тебя ифы?)

Default avatar.png [lazy]Opera: битсеты

Default avatar.png [lazy]Opera: предикчю себя, и то как предиктит меня соперник

Default avatar.png [lazy]Opera: но я ещё не брался за сайленсы, там моя стратегия развалится

735487: лол ссылу прочел как Ставрополь ))

mykeich: самый сложный wood 2 на моей памяти:) не могу выбратся

BorisZ: это уже их ослабили - был апдейт, то этого вобще жесть была

Uljahn: а первые 10 минут вообще на стартовом коде можно было пройти - боссы забагованные были, через 10 минут только чухнули и нормальных залили

Uljahn: прав был котоботов - жми сабмит, правила потом почитаешь

Default avatar.png [lazy]Opera: можно ли использовать сайленс с мувом?

Uljahn: конечно

Uljahn: и мув с сайленсом

BorisZ: можно любой набор команд, но не более чем по разу

Default avatar.png [lazy]Opera: это получается сразу 2 перемещения за раз

Default avatar.png [lazy]Opera: прикольно

Uljahn: сайленс надо заряжать же

Uljahn: а мув палит твой путь

BorisZ: это хорошо, меньше раздолья для симуляций простых

Default avatar.png [lazy]Opera: ну можно раз в 6 ходов ходить конём)

Default avatar.png [lazy]Opera: игого

Uljahn: если оцениваешь свою траекторию как детектируемую, то да, в противном случае лучше мины спавнить или сонар юзать

Default avatar.png [lazy]Opera: и ещё, сайленсом получается можно перепрыгивать посещённые клетки?

Default avatar.png [lazy]Opera: т.е сходить назад в том числе

Uljahn: нельзя

Uljahn: This allows you to move 0 to 4 cells in a given direction (not visiting already visited cells or islands).

Default avatar.png [lazy]Opera: не посещая уже посещённые клетки

wlesavo: Uljahn я пока не реализовал селфтрекинг, и сделал опасность если по мне уже попали

Uljahn: а как ты думаешь, подлодка передвигается? из воды выпрыгивает? конечно, последовательно через каждую клетку

Uljahn: все разночтения можно прояснить в рефери опять же

Uljahn: wlesavo: я пока вообще ничего не реализовал)

wlesavo: ну я пока тоже

Uljahn: думаю, сначала бота малость привести в пригодный для изменения вид

wlesavo: ща хочу базовые вещи впилить хотябы и посмотреть что будет

wlesavo: ну и это тоже да

Uljahn: зная историю можно кулдауны оппонента вычислять как в UTG

wlesavo: ну я на самом деле ни на что не претендую, не думаю что даже в легенду попаду, просто действительно увлекательно во время контеста писать

wlesavo: прям затягивает

Uljahn: у меня программа минимум - до голды дойти

Uljahn: а там как повезёт

Uljahn: времени вагон

wlesavo: у меня тоже, просто я ни в одной мульти до легенды ж еще даже не дошел, как то запал стухал, а тут живое обсуждение в двух чатах подбадривает

Uljahn: ну, эта игра менее рандомная, чем прошлый марафон на 30 дней - картишки

wlesavo: ну игра вообще удачная

Uljahn: и нумпи тут удачно вписывается

wlesavo: да

wlesavo: хоть я и не очень в нумпи, но прямо подначивает

Uljahn: я три года назад вообще не знал, что такое нумпи)

Uljahn: если б не контесты, и не узнал бы

wlesavo: не, ну слышать я слышал много, а вот попользовать на практике это другое

wlesavo: вообще я пока не пришел сюда был уверен что даже чистый питон оч быстрый язык

wlesavo: а потом я попробовал deepcopy

Hamibar: парни я что-то туплю. подскажите как по позиции найти сектор?

wlesavo: в NS просто избавление от дипкопи дало раз 10 прироста скорости

Hamibar: а кажется понял

wlesavo: Hamibar вроде бы x//5*3 + y//5*3 +1

wlesavo: ой чето не правильно в моей формуле

Uljahn: просто x//5 наверное без *3

Hamibar: я тоже только что это узнал)

wlesavo: я просто пока только в обратную сторону делал, ща еще подумаю, как раз тоже надо

BorisZ: def sector(self):

       sx = self.x // 5
       sy = self.y // 5
       return sy * 3 + sx + 1

wlesavo: во, да

Hamibar: спасибо

Hamibar: надо пойти прогулятся наверное :grinning:

Uljahn: круто, код прям из чата можно копировать)

Uljahn: а потом забанят за списывание)

wlesavo: не, забанят бориса за выкладывание

wlesavo: вроде были прецеденты

Uljahn: один раз было такое - чувак выложил код на гитхаб посреди контеста в публичную репу

BorisZ: снипеты можно

Uljahn: да я шучу

Uljahn: тут и в общаке стратегии обсуждают вовсю, а это посерьёзнее, чем сниппеты какие-то

BorisZ: да и сейчас начало контеста - чего скрывать то, за месяц все идеи по тыще раз обсосутся, не то что это

Uljahn: MSmits вон тоже выкладывал структуру данных своего класса Cell под битборды

Uljahn: class Cell: http://chat.codingame.com/pastebin/efbad39e-668b-4e01-9efe-f33966cf299b

Uljahn: наводит на интересные мысли

Uljahn: я такую же мутил в Wondev Woman, numpy array of objects

735487: Neighbors у него имхо лишнее

Hamibar: Начал смотреть проигрыши - такие баги ужасные нашел)

Uljahn: так это самое лучшее место, где их искать

Hamibar: Причем эти баги еще с вуда.

Uljahn: поэтому все и стремятся выйти в бронзу хоть на костылях, а потом имея полные правила заняться переписыванием почти с нуля

Uljahn: вообще нафиг это дерево нужно

Uljahn: контест ещё толком не начался, а я уже выдохся :crying_cat_face:

wlesavo: спам сайленс конечно напрягает

wlesavo: надо что то делать антиспамное чисто для бронзы похоже

Uljahn: на каждый сайленс приходится две мины по заряду

wlesavo: есть просто люди у которых боты просто делают сайленс и все

wlesavo: и если ты никак его не учитываешь то это лучше чем учитвываешь

wlesavo: потому что там сайленс 0

Uljahn: мне кажется, эффективность сайленса от карты зависит

wlesavo: ну это плохие боты, но у меня код не оптимизирован под такое

Uljahn: ну и можно только сайленс 0 и 1 учитывать, остальные игнорить, чтобы комбинаторного взрыва не было

Default avatar.png [lazy]Opera: мины ещё взорвать надо, а если противник сайленсит, то когда взрывать то?

wlesavo: и возникает очень много дубликатов

Uljahn: ближе к концу можно стоять на месте и взрывать, пусть противник выбирает - сайленсить или сонарить

Hamibar: Дерево конечно жесткое было. Потому что без стартер паков.

wlesavo: Uljahn но хорошие боты используют длинные прыжки

wlesavo: и тогда просто в пуле не будет его, короче мне надо подход таки менять

Hamibar: нельзя ведь стоять на месте?

Uljahn: можно

Hamibar: как?

Uljahn: если детонируешь мины

wlesavo: или сайленсишь

735487: мины походы надо статистически пытаться угадать. где больше вероятность зацепить те и взрывать

Uljahn: это одна команда, которая не требует чарджа

wlesavo: если ты не заряжаешь и тебе есть что тратить то можешь стоять на месте короче

Hamibar: я думал мув обязательная штука)

Uljahn: нет такого в правилах

Uljahn: Each turn you must perform at least one action.

Hamibar: Тогда наверное стоять часто выгоднее, меньше палишь себя.

Uljahn: угу, меньше хвост

Uljahn: больше простора для махинаций)

wlesavo: но и не заряжаешь

Uljahn: так от карты зависит, если мало суши - лучше заряжать и сайленсить, потому что легче хвост спрятать

wlesavo: надо короче эффективный механизм хранения траектории

Uljahn: для чего?

wlesavo: ну чтобы не плодить дубликаты

wlesavo: пока то что приходит в голову все не очень

wlesavo: проще вообще отказаться от траектории

Uljahn: я храню в виде массива

wlesavo: ну у тебя кандидаты это точка + траектория?

Uljahn: кандидаты у меня - это позиции, где траектория укладывается в карту

wlesavo: о, я придумал кажется

Uljahn: позиция левого верхнего угла возможного наложения массива, во

Uljahn: от него перехожу к начальной точке, потом к конечной, три преобразования координат - три сложения векторов

wlesavo: а как сайленс в траектории учитывается?

Uljahn: пока никак, но я уже думаю над этим

wlesavo: я придумал сейчас как в моем подходе реализовать

Uljahn: если просто надо размножить траекторию, можно просто начальную позицию представить в виде сета

wlesavo: я просто буду делать or на траекторию для совпадающих координат

Uljahn: объединять?

735487: я пока храню список точек где он может быть. вот думаю может цеплять сюда еще начальную и весь путь

wlesavo: да Uljahn, грубо говоря брать только те точки в которых он точно был

Uljahn: а, то есть ты сразу фильтруешь и хранишь только точки?

735487: только проблема в том что после сайленса есть куча точек куда приводят разные траектории

Uljahn: amurushkin

735487: да. сначала весь набор. потом он сужается

735487: удаляю их потихоньку

735487: при сайленсе добавляю

Uljahn: а как хранишь возможные направления?

wlesavo: amurushkin я так же делаю, но храню еще и траектории для каждой точки, что явно плохо

wlesavo: но как ща придумал вообще отлично

wlesavo: \

735487: я же знаю его последнее направление

735487: вот его запрещаю

wlesavo: ща быстренько подпилю и норм будет

735487: у меня был баг что я во время сайленса точки расставлял наоборот куда он не может пойти ))

735487: в итоге терял противника если он сайленсом прямо двигался

Hamibar: amurushkin точно такой же баг был. Отметал все точки по ходу движения, а надо было наоборот.

735487: похоже у многих баги одинаковые :)

Hamibar: Uljahn спасибо за подсказку + 30 мест.

Uljahn: :thinking:

Uljahn: что я подсказал такого?

Hamibar: что можно на месте стоять)

735487: минами?

Uljahn: да хоть радаром

Uljahn: сонаром т.е.

Hamibar: просто при любом действии.

735487: себе что ли попробовать. а то он у меня даже после всплытия куда то торопится ))

Hamibar: Но правда мины не копятся так

wlesavo: во, таймауты вылечил сразу лучше стало

wlesavo: теперь еще движение нормальное сделать, ато у меня там как аутисты плавают от края до края

wlesavo: лол, в реплее против боба, он прыгает на 4 клетки, стреляет и убивает меня, в действиях: | SILENCE W 4 | TORPEDO 5 7 | MSG Hello

Uljahn: а мув был?

wlesavo: а, оказывается хелло на всех действиях висит

wlesavo: нет, он с прыжка прям

wlesavo: кстати хорошая тема с черты начинать команды

wlesavo: я что то не додумался сразу

Uljahn: почему?

wlesavo: думал что пустая команда инвалидная будет и не проверил

735487: где то еще есть баги. нашел реплей где мой теряет противника опять

wlesavo: у меня хоть терять перестал

735487: я задумывался над таким. но пока руки не дошли искать такие варианты

wlesavo: ну ладно, на сегодня хватит наверное, главное сайленс нормально прикрутился

735487: а еще иногда надо всплыть чтобы догонять и не блокировать самого себя

wlesavo: ну у меня вообще движение не очень сделано

Uljahn: в общаке как раз сайленс обсуждают последний час, даже тестового бота запилили

735487: у меня мой как то странной за собой следит. после 10 мувов уже там нет координат где он есть :)

735487: заебись я пришел к выводу что мой бот вообще хз как работает. на одних мувах сам себя теряет

735487: это все из за переделок чтобы по 1 действию ходить ))

Hamibar: точно! у меня ведь тоже он есть)

735487: кто может предположить почему версия с подсчетом расстояния через манхеттен для выстрела играет в разы лучше чем с бфс. по идее же должно быть наоборот?