Chat:Ru/2022-04-23
mihei: Jokero формат команды неверный, вначале нужно добавить SPELL
tutubalin: ааа, точно! я тоже на это попадал, но не запомнил, как исправил
CyberEcho: Реализовал босса Level2 с github. Дай думаю в бронзу пройду. Только мой босс постоянно в 3-ей сотне, а настоящий на втором месте :grinning:
tutubalin: а что значит "реализовал с гитхаба"?
tutubalin: скачал и сабмитнул?
Uljahn: для бронзы достаточно научиться вычислять расстояния монстров до базы, смысл дерева не ясен
CyberEcho: >>> а что значит "реализовал с гитхаба"?
На C++ переписал этого https://github.com/CodinGame/SpringChallenge2022/blob/main/config/level2/Boss.java
CyberEcho: >>> для бронзы достаточно научиться вычислять расстояния монстров до базы
И просто всем идти к ближайшему монстру?
Uljahn: в инпутах даётся параметр threat_for для монстров, которые не пройдут мимо, из них выбрать ближайшего к базе и мочить всей оравой, у меня пока так
Uljahn: примерно середина бронзы
CyberEcho: Надо будет попробовать :thumbsup:
Uljahn: проще не придумаешь, мне кажется
CyberEcho: Но с рейтингом непонятно конечно, почему две одинаковые стратегии, так по разному ранжируются.
Uljahn: одинаковые ли? я не уверен, что код босса на гитхабе и на CG один и тот же
Uljahn: да и рандом сильно влияет при близком рейтинге и малом количестве игр
CyberEcho: Я когда против босса запускаю "Play My Code", то идет абсолютно зеркальная игра. Рандом - "симметричен" для обоих игроков.
Uljahn: а разница в рейтинге значительная?
Uljahn: ресабмитить пробовал?
Uljahn: игр дают мало, поэтому ранжирование очень приблизительное
CyberEcho: Реальный босс в топ-5, а моя копия в конце 3-ей сотни. Ресабмитить пробовал, всегда калибруется в диапазоне 200-400.
tutubalin: так если б все засабмитили босса с гитхаба, чтоб было с рейтингом?
Uljahn: полагаю, боссу сейчас дают больше игр с топами, чем тебе, твоему-то боту надо с низов подниматься
Uljahn: случайный проигрыш аутсайдерам сильно ломает рейтинг
Uljahn: имеет смысл ресабмитить, если в калибровочной партии матчей проигрыши
Uljahn: т.е. по результатам первых 10 (в высших лигах может быть и 20) матчей определяется твой стартовый рейтинг, остальные матчи его уточняют, причём соперники выбираются в окрестности твоей позиции в лидерборде (+/- 10 мест вроде бы)
gybson_samara: лол, в бронзу как-то пролетел =)
Uljahn: лол бы был, если б не пролетел
AntonBlockchain: а почему за контент вчера давали очки а сегодня сняли и снова 0\0
AntonBlockchain: 1,706th / 4,235
Uljahn: наверное отключили пересчёт, чтобы нагрузку снизить, БД и так лагает
Uljahn: всё равно правильные очки будут только по окончании
AntonBlockchain: у тебя тоже отключили. 0\0
Uljahn: да у всех, число участников меняется, места меняются, если всё в реальном времени пересчитывать при каждом обращении к странице профиля - это лишняя нагрузка на БД, я думаю
Uljahn: серваки-то они скалировать умеют, а вот с БД каждый раз проблемы
AntonBlockchain: там раз в сутки считалось место в 3 ночи по москве.
Uljahn: хз, может просто баг, а я выдумываю
AntonBlockchain: так что не по этому. но отключили у всех.
AntonBlockchain: места все равно меняются так что подсчет мест не отключен. а отключена только одна задача.
Uljahn: чтобы вычислить очки, надо брать текущее место и текущее количество участников, т.е. пересчитывать каждый раз
AntonBlockchain: нет. считается 1 раз в сутки. в этот момент просто читаешь текущие места это ~4000 строк из уже существующего рейтинга. от того что рейтинг не стабильный сложность не изменяется.
AntonBlockchain: внутри суток места и очки не меняются это можно проверить просто сыграв клеш.
aangairbender: я правильно понял что если на враге щит, то можно в последний тик щита кинуть в него контроль и от этого нельзя защититься?
Uljahn: я не знаю, что у них там происходит, спроси в дискорде на канале багрепортов
AntonBlockchain: спасибо понял что у всех отключили а не меня одного обидели и ок)
Uljahn: cannot be targeted by spells - звучит так, будто нельзя
aangairbender: Does not protect from a spell from this same turn.
aangairbender: SHIELD also protects entities from receiving a new SHIELD.
Uljahn: при накладывании - да
aangairbender: то есть повторный щит не успеет кинуть, на него повесят контроль
Uljahn: контроль тоже не должен пройти
Uljahn: а хотя
Uljahn: у контроля приоритет перед новым щитом, получается, как и при первом накладывании
aangairbender: вот вот, поэтому после щита нет возможности защититься
tutubalin: это правильно. чтоб вечного щита не было
Uljahn: можно законтролить контролёра
tutubalin: щит на 12 ходов, а контроль на 1. а стоят одинаково
aangairbender: контроль бесконечный
tutubalin: мана не бесконечная
aangairbender: ну с щитом так же)
tutubalin: но щит на 12 ходов, а контроль на 1 ход
Uljahn: или выдуть контролёра за радиус действия
aangairbender: я к тому что если вижу щит у врага, то просто жду пока кончится и тогда пару ходов котроль куда-то в центр карты и минус защитник базы
aangairbender: 12 ходов щита не аргумент в этом случае
tutubalin: щит стоит 0.83 в ход, а контроль 10 в ход
input.txt: я заметил что иногда лучше щит не кидать. чтобы любители толкать мобов вместе с ними толкали героев
input.txt: помогали догонять
tutubalin: угу
tutubalin: но если там не толкатель мобов, а вытягиватель героев, то надо
tutubalin: получается камень ножницы бумага опять
dbf: да, я только обнаружил, что щит можно на себя наложить :)
input.txt: вот интересная стратегия - внезапный раш под щитами
input.txt: https://www.codingame.com/replay/622500597
input.txt: хотя можно отбиться если в кучку встать
Uljahn: не очень удачная страта, мана в ноль сливается, против пассивных соперников разве что
Uljahn: Automaton2000: и как тут будешь отдуваться?
Automaton2000: хоть гугл говорит, что существует полиномиальный алгоритм для выяснения изоморфизма двух графов степеней не выше d, но там жесть какая-то ...
dabino: А wildmana никак не передается в инпутах, и посчитать ее можно только для себя?
wlesavo: dabino я бы не сильно заморачивался над этим
dbf: интересно, на 4-м месте игрок без атаки, я проигрываю ему по wild mana меньше сотни, почему он получается настолько выше...
wlesavo: может там сима на защите
dbf: а, да, может он не проигрывает тем, кому проигрываю я...
dbf: что-то затупил
wlesavo: интересно что у меня бот еще держится, кидает туда сюда на +- 10 мест
dbf: перезалей :)
wlesavo: а плюсовая версия уже в два раза длиннее, и пока не делает абсолютно ничего :smiley:
wlesavo: dbf ненене)))
aangairbender: мне чето так больно на плюсах писать)
aangairbender: wlesavo а как ты хранишь юнитов? делишь классы героя и моба? используешь наследование? хранишь их двумя списками в симе или одним с type
dbf: в последней отправке все бои, что проиграл, по wild mana :(
wlesavo: я думаю до сильвера не буду уже перезаливать, ну или если плюсовая версия наконец заведется может быть
wlesavo: dbf надо активнее фармить, у меня тоже так было когда игнорировал пауков не идущих на базу
dbf: wlesavo да, но я никогда не смотрел на этот флажок :)
dbf: о, твой бот продавил 2 пауков на мою базу, есть что изучить
wlesavo: aangairbender разные классы без наследования, думаю в состоянии отдельно хранить защитников и нападающих но пока еще архитектуру до конца не зафиксировал
wlesavo: dbf у меня самые большие проблемы когда спамят ветром на моей базе, у топов много такого, ну и в целом защита слабоватая, я удивлен что бот держится
aangairbender: просто если их на 2 разных класса делить, то придется дублировать код в симе (накладывания щита, контроля, поиск задетых ветром)
wlesavo: ну тут два стула, сима сама по себе простая, так что там я не сильно переживаю за дублирование, зато стратегические эвристики всякие мне кажется так проще прикручивать будет
aangairbender: в принципе есть хоть как-то дописать, то можно уже можно будет рефакторить
aangairbender: хз даже много ли в этой игре сима даст
dbf: вот та, по отчетам codebusters там особо не симили
dbf: хотя это было давно, с тех пор уровень повысился...
wlesavo: в код бастерах спелы вроде ограниченные были
wlesavo: а здесь бесеконечные + очень сильные. я уверен что защита и нападения в топе будет полностью на симах
dbf: да, я тут нашел одну ситуацию в защите, когда вместо выкидывания одного паука надо было преследовать другого и тогда бы хватило героев его добить. кажется, такое можно только симой разрулить
wlesavo: да, а если тебя еще пушат ветрами и щитами там эвристики уже мало помогут
dbf: ага, у меня сейчас щит - самая проблема т.к. 1) у меня расчёт на выдувание 2) у меня не могут 2 героя атаковать одного паука :)
wlesavo: ну и если ты уже симулируешь защиту то аналогично можно и нападение сделать
wlesavo: у меня могут только если один не успевает сам убить этого паука
dbf: "один не успевает сам убить этого паука" - ты это прямо по шагам уже вычисляешь?
dbf: всмысле, что это уже на симу похоже
wlesavo: ну там просто, если в круг зашел то осталось d/speed ходов чтобы убить его
wlesavo: ну и если выдуть не может, то есть паук под щитом или маны нет
dabino: я уже полчаса читаю код генерации случайного потока мобов... вообще не понятно. логика на две строки разбросана по трем классам. Кто-то разобрался, как это работает?
Chibikko: реплеи скачивать нельзя?
wlesavo: почему?
Chibikko: с текущего соревнования можно как-то скачать чужие реплеи?
Uljahn: https://www.codingame.com/playgrounds/53705/contest-tools-and-workflow/introduction
Uljahn: можно попробовать вот это
wlesavo: о, обновили кстати, там была не актуальная версия, теперь правильная с куками
Chibikko: Там только мультики можно скачивать. Контесты не получается у меня.
wlesavo: с контестами была какая-то сложность, но я не помню точно, спроси в общаке может
HuGeSer: Всем привет! Кто может подсказать, как переходить между аренами. На первом месте в ранге Wood 2, уже довольно давно, а на следующую арену не переходит. Игра Mad Pod Racing.
dbf: все игры сыграны? Если да, то сверху можно посмотреть время, когда будет переход в лигу
Uljahn: бывает такое, что промоушн застревает, надо сабмитить заново
Uljahn: или идти жаловаться админам в дискорд и ждать, когда они тебя ручками перекинут
wlesavo: если цвет цифры в ладдере изменился то нужно ждать, если серым остался после 100% игр то можно начинать переживать и ресабмитить)
HuGeSer: Да, цвет рейтинга остался серым после 100% боев( пойду сабмитить еще раз...Спасибо)
aropan: А у всех нормально работает CodinGame Sync в хроме?
a1.dk: медленно синхронизирует, но если вкладку открыть, то норм
aropan: Мне иногда (довольно часто я бы сказал) приходится открывать вкладку с расширение и делать force upload. Сам как-то не хочет.
a1.dk: попробуй не сворачивать ее, так быстрее получается
aropan: Агась, она открыта.
BorisZ: у меня тоже бывает что тормозит
aropan: Понял. Кажется раньше такого не было, но может я ошибаюсь.
aropan: Просто устал запускать игры и смотреть пофиксил ли баг, а он прошлую версию запускает.
BorisZ: я пишу дату и время сверху чтобы понятно было обновилось или нет
aropan: О, номр.
aropan: Я обычно в код смотрю в место где точно правил.
aropan: А даты тоже сверху есть.
aropan: Спасибо.
BorisZ: HuGeSer сейчас идет контест на 10 дней, он бывает раз в полгода, лучше в него начни, гонки не убегут, а контест закончится
aropan: Странно, что CG не блокирует другие игры во время "праздника". )
BorisZ: скорее всего и так там все медленнее чем обычно, все серваки под контест, а остальные игры что осталось
wlesavo: что-то есть смутное ощущение что сима получится ужасно медленной :slight_smile:
BorisZ: у кого-то жемчуг мелкий, у кого-то суп жидкий:rolling_eyes:
wlesavo: у меня жемчуг жидкий :smiley:
BorisZ: можно не всю игру симулировать а часть юнитов
BorisZ: вокруг своей и вокруг чужой базы
wlesavo: ну я так и планирую
kurnevsky: Они еще и на ход дали всего 50мс вместо положенных 100...
wlesavo: не, в последних всегда по 50, 100 в достаточно старых только
kurnevsky: 100 было прошлой весной с деревьями. Я только сейчас осознал, что 50 теперь :)
wlesavo: ща допишу симу хоть посмотрю что там по роллаутам и тогда уже решу что пилить
wlesavo: а точно, ну там все удивлялись такой щедрости
wlesavo: но да, 100 секунд не помешало бы
wlesavo: всмысле милисекунд)
ilt: А где описано как контрол на пауков работает?
aangairbender: wlesavo поделись плиз наблюдениями по симе, а то я уже супер устал эту симу писатьчето
wlesavo: у меня немного упростилось когда я начал хранить стартовую позицию юнитов и потенциально следующую, в зависимости от условий считаю расстояние от неизмененной точки или от измененной
wlesavo: ilt вроде нигде, но они сохраняюют направление после контроля
aangairbender: там еще кусок симы с проверкой пересений такой неприятный(
wlesavo: а зачем он тебе? я думаю игнорировать это вообще, зашел в круг тогда уже стал проблемой, после ветра симулировать все равно особо бессмыслено, после контроля и так понятно что зайдет
wlesavo: я боюсь представить сколько у меня тут багов конечно
ilt: т.е. можно координаты вражеской базы туда передавать и он туда поедет?
wlesavo: lf
wlesavo: да
wlesavo: прямой наводкой :slight_smile:
PavRus: Привет, всем. Подскажите пожалуйста, что это и для чего нужно: https://www.g2.com/products/codingame-for-work/reviews? Перекинуло сюда, после того как тест на сертификат прошёл. Также что вообще за сайт g2 ?
Uljahn: похож на сайт с отзывами
Uljahn: к CG отношения не имеет
Uljahn: наверное, хотят, чтобы ты им оценку поставил за предоставленные услуги или отзыв написал
Uljahn: там в обсуждениях отметился представитель CG
Uljahn: Fabien M., Demand Generation Manager - норм должность хехе
PavRus: Спасибо.
Uljahn: хех, инфа из общака - контестную игру уже использовали миниму в двух закрытых хакатонах (для Samsung и EA)
wlesavo: это объясняет топ 2
Uljahn: Automaton2000: сэкондхенд
Automaton2000: хоть гугл говорит, что существует полиномиальный алгоритм для выяснения изоморфизма двух графов степеней не выше d, но там жесть какая-то ...
Uljahn: чёт заело бота
input.txt: когда лига?
Uljahn: завтра
Uljahn: я думал в понедельник, но начали на день раньше
Uljahn: там есть точное время на значке лиги в unix time
input.txt: убрали
Uljahn: точн
wlesavo: короче сделал общую симу, и в разных поисках просто предварительно убиваю ненужные сущности :smiley:
wlesavo: уже в 2 раза длиннее питоновского кода и все еще абсолютно ничего не делает xD
Egrace: Обожаю основательный подход. Зафигачил симулятор и визуализацию для марс лендера. Получилась конфетка (как мне кажется, с точки зрения архитектуры). И перегорел. До алгоритма не дошел :D Вот, пытаюсь вернуться к лендеру уже год. И тут контест. Тут тоже начал делать все хорошо и правильно, но боюсь, запала у меня не хватит =_= Откуда вы черпаете мотивацию?) Мне сначала всегда интересно, а потом быстро задалбывает...
aropan: Egrace: я думаю не надо сильно упарываться и писать как можно проще.
aropan: То есть если ты пишешь код, а игры не смотришь и не ищешь как еще улучшить, то дальше сложнее двигаться.
aropan: Если конечно ты не сетки втихаря от всех обучаешь.
aropan: Я, например, вначале думал много о геометрии (эмуляция и пересечение кругов для поиска лучших позиций), но понял, что не это сейчас самое важно, а просто бегать и бить достаточно. )
aropan: Uljahn: грустно как-то, что контест уже где-то был. ((
aropan: Хотя конечно не сильно ломает саму игру глобально. Да и здесь 11 дней - кажется какие-то предварительные знания не сильно должны помогать на такой дистанции.
aropan: input.txt: https://clist.by/standings/spring-challenge-2022-34341526/ вот тут еще можно смотреть сколько времени осталось до открытия следующей лиги.
input.txt: зачем, если можно в чате спросить)
aropan: Это правда, но может тебе больше нравится на таймер сомтреть.
aropan: Но если нет, то
aropan: input.txt: через 20:15:44 откроют.
input.txt: ага, спасибо
input.txt: там правда тоже написано "преварительно"
aropan: Я думаю наверняка и ребята из кодингейм не знают. )
brdknn: Что такое wild mana в контексте определения победителя при ничьей?
dbf: brdknn , в правилах бронзы есть описание
wlesavo: Egrace очень важно по-моему первую рабочую версию получить, и потом уже улучшать. Когда постепенный прогресс виден от вложенных усилий это сильно мотивации прибавляет
aropan: Да, главное код писать, который паукообразных убивает. Остальное приложится.
BorisZ: согласен с предыдущими ораторами
BorisZ: иметь рабочую версию пусть на коленке сделанную это самое важное
BorisZ: и переписывать не надо боятся
BorisZ: пытаться все сразу сделать по уму - это почти наверняка провал
BorisZ: как тут на самом деле по уму - вобще неизвестно