Chat:Ru/2020-04-04
WwW: ребят, у меня какой-то баг. можете посоветовать игрока, который не атакует долго?
WwW: какой-то баг с surface, нужно чтобы все свободное место закончилось
WwW: чтобы баг найти
metahom: засабмить себя без атаки
WwW: спасибо, щас попробую...
amurushkin: вчера босс из серебра против меня мало атаковал. можно его попробовать
dabino: что-то топом происходит. я больше суток уже код не заливал новый, он был топ 50+ после сабмита, потом вылез в золото и там постепенно уже до 11 места дополз. Реально такое бывает, что заливают более слабых?
Uljahn: надо было last battles смотреть, нет ли там значимого количества проигрышей слабым ботам, которые все в серебре остались
Uljahn: ну и рандом творит чудеса, по одному сабмиту ничего нельзя сказать
metahom: может сабмит неудачный был?
Uljahn: или мета поменялась, тут сильный эффект камень-ножницы-бумаги
metahom: я вчера против тебя контрил и подумал что твой бот значительно сильнее другого который рядом был
Uljahn: или баги, которые только при игре против слабых рандомных ботов всплывают
Uljahn: насчёт бот-хайдинга - возможно, некоторые ресабмитнули тестовых ботов для игры против них
StepanSmirnov: Кто-нибудь знает, что за числа выводит босс на силвере в MSG?
Uljahn: знает только автор бота
StepanSmirnov: можно же догадаться. Второе из них это точно число твоих возможных позиций
Zhmyh: первые два числа - твоя рандомная позиция
StepanSmirnov: спасибо
Uljahn: похоже на то
Uljahn: когда число возможных позиций 1, то первые два - это координата
Alex.swift: dabino у меня ситуация противоположная) улетел в самое дно голда с ~60. Видимо, твой бот хорошо играл с топами но хуже с более спонтанными ботами игроков слабее, а у меня наоборот с топами плохо играл
WwW: Alex.swift, та же ситуация, только я на 100+ месте, хотя до этого был на 40-50-х местах
735487: мой тоже поднялся на 16 мест
amurushkin: если так пойдет то можно и в легу наверное попасть ничего не делая ))
YurkovAS: рассказывали, как мерджат возможные позиции после сайлентса?
YurkovAS: у меня просто отсечение по макс кол-ву в массиве. часто теряет противника\себя
amurushkin: я мержу когда точек больше 20000 становится. и это происходит крайне редко после того как стал путь хранить
YurkovAS: у меня 1.5к, на более 5к начанает таймаутить (не помню сколько действий перебирает)
Alex.swift: а как именно вы мержите? Тут же по сути только отсекать нужно не валидные + накладывать ост. на карту
YurkovAS: amurushkin удаляешь из массива или при мердже только?
amurushkin: пути которые пришли в одну точку обьединяю по принципу and
amurushkin: удаляю только при мердже
amurushkin: ну и когда отсекаю невалидные
Alex.swift: а после серфейса сбрасываешь и создаешь новые из возможных позиций в той зоне? Или хранишь историю для трекинга мин?
YurkovAS: amurushkin у тебя связанный список или массив? надо пропрофилировать, мне кажется тормозит удаление в массиве =перемешение всех выживших вначало
amurushkin: после surface скидываю лишние. так это повод пойти проверить что я там делаю ))
amurushkin: YurkovAS у меня массив и я не перемещаю все в начало. у меня удаление быстрое
amurushkin: после surface отсекаю пути которые не в том секторе где он засветился и для оставшихся очищаю путь
amurushkin: мины пока никак не трекаю
YurkovAS: amurushkin что за быстрое удаление? memcpy(i, i+1, n-i-1)?
YurkovAS: memmove
Uljahn: amurushkin: пути хранишь в массивах?
YurkovAS: Uljahn скорее всего хранит в 1 массиве из {x, y, битборд}. Ну у меня так сделано.
amurushkin: YurkovAS нет просто меняю i элемент на последний и уменьшаю счетчик
amurushkin: Uljahn храню посещенные точки а не сам путь
YurkovAS: amurushkin спасибо!
inoryy: YurkovAS битборд чего?
YurkovAS: inoryy всех посещенных точек + острова. х, y - тек. позиция
YurkovAS: но этот массив может легко вырости до 500к. Поэтому надо как-то ограничивать информацию.
inoryy: а почему ты привязываешь этот битборд к х,н
inoryy: x,y(
YurkovAS: чтобы потом знать где находится юнит
YurkovAS: передвигаем его и в битборде помечает посещение новой точки. при муве.
input.txt: Наконец допилил свою гениальную систему трекинга урона на многослойных картах. Детектирует даже всякую дичь с пересечениями вроде "торпеда+сало+мина"
input.txt: жаль только что всё остальное при этом сломалось..
inoryy: YurkovAS я всё равно не понимаю зачем нужна эта тройка. почему не держать глобальный битборд? сделал ход - добавил маску, откатил ход, обнулил маску
YurkovAS: inoryy путей в одну точку может быть же много разных? Поэтому так сделал. Можно тогда сделать 225 битбордов и в них всегда мерджить разные пути в одну точку.
YurkovAS: Последний вариант не проверял
MadKnight: о какие люди
inoryy: какие люди?
Uljahn: о, какие боты, Automaton2000
Automaton2000: ну т.е. саму симу не пилил почти
MadKnight: input.txt давненько тебя не видел
input.txt: MadKnight, че сам бота не заливаешь?
MadKnight: чё-то не фан этой игры
MadKnight: я в CoK играть пошёл
inoryy: зря, лучшая игра за последние годы
MadKnight: а что в ней такого?
MadKnight: что вообще тут надо делать?
Uljahn: выслеживать соперника и путать следы самому
metahom: мне прошлая больше понравилась. здесь много механического кода/дебага
MadKnight: metahom а что за прошлая была?
metahom: машинками руду копать и бомбы взрывать
metahom: тоже с неполной информацией
BorisZ: дебага тут многовато, плюсую
Alex.swift: А у кого сколько времени уходит на трекинг врага с разбором всех вариантов путей? Наконец-то реализовал но таймаутов стало многовато
BorisZ: у меня пока что максимум 2мс на тур, но я плохо трекаю
BorisZ: вобще пока что никаких переборов нет
metahom: как все меня опережают без трекинга?
Alex.swift: ну у меня 2мс было пока я просто маску двигал
BorisZ: больше мин - секрет успеха
amurushkin: мне очень сильный буст дало слежение за путем и правильное отсечение сайленса
amurushkin: в разы больше стало отсекаться и если до этого нормой было до 400к путей то сейчас до 20к редко доходит
BorisZ: у меня не было буста, все время примерно в одном болоте плаваю, добавляю что-то и дахе не уверен что в плюс (
735487: учитывая что все улучшают то хорошо когда не идешь в минус
metahom: кажись заработал селф-трекинг
metahom: а вы свои будущие хода прогоняется через трекинг чтобы отсечь палевные?
amurushkin: я прогоняю но я всего 4 варианта смотрю на глубину 1 смотрю. и то после сурфейса а так 3 максимум
BorisZ: я при стрельбе если нет точного попадания - не стреляю если урону не много а палева много
amurushkin: пока не доходят руки сделать перебор хоть какой нибудь
amurushkin: а что значит много урона? ты имеешь ввиду точки где больше всего путей сходятся?
BorisZ: ну да когда нет точной позиции а несколько кандидатов
BorisZ: считаю урон вероятностный
BorisZ: считаю палево
amurushkin: вот палево я не считаю. просто стреляю если выше опредленного порога.
amurushkin: мне кажется хоть как стреляй палево одинаковое примерно теоретически
BorisZ: ну а уменя урон с палево скомбинированы в одной формуле, но оценить как это все работает можно только примерно, может и фигня это все
BorisZ: почему - может селфтрекинг показывает 20 точек для тебя, а может уже 1
BorisZ: если 20 то может и не стоит малиться при малом уроне, если 1 то пофиг уже - лишь бы урон нанести
amurushkin: может. но я не пробовал еще. у меня пока что отчаянно стреляет даже если проиграет дуэль
BorisZ: это я не думал даже пока - кто проиграет кто выиграет (
amurushkin: ну я имею ввиду что он у меня если нашел противника то все будет стрелять до последнего. и не всегда это ему на пользу идет
BorisZ: дофига тонкостей то, не зря на месяц контест
BorisZ: может и стоит в стелсе остаться иногда - вот и идею родили
wlesavo: мчл12 говорил об этом еще прямо в самом начале, что все действия оценивает на выдаваемую информацию
wlesavo: я пытался минимизировать инормацию при стрельбе, но у меня таймится иногда, поэтому отключил, а вот с таким простым критерием можно попробовать, да
amurushkin: wlesavo может чтобы не таймило сначала выбрать несколько кандидатов а потом уже их оценивать на информацию
wlesavo: amurushkin я в тупую все клетки с максимальным дамагом оценивал
wlesavo: хотя погодь, мож и нет, мож я все клетки оценивал
wlesavo: ээто фейл будет конечно
735487: да в этом контесте я такие баги находил у себя что вообще удивительно )) с сонаром одним у меня чудеса из чудес ))
wlesavo: хм, не все оценивал, но больше чем нужно, надо поправить и запустить
wlesavo: у меня с самосонаром и самосерфейсом былио нормальные баги, изза того что не следил за своим положением по командам, а брал просто конечное мое положение после движения даже если сайленс был до
wlesavo: всмысле серфейс
wlesavo: BorisZ хуже вроде не стало но и лучше тоже
amurushkin: у меня бывало такие баги находишь. фиксишь. а они раз в 100 игр бывают ))) и результат сразу не виден