Chat:Ru/2022-04-23

From CG community
Jump to navigation Jump to search

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: Я думаю наверняка и ребята из кодингейм не знают. )

Default avatar.png brdknn: Что такое wild mana в контексте определения победителя при ничьей?

dbf: brdknn , в правилах бронзы есть описание

Default avatar.png brdknn: Спасибо, пропустил :)

wlesavo: Egrace очень важно по-моему первую рабочую версию получить, и потом уже улучшать. Когда постепенный прогресс виден от вложенных усилий это сильно мотивации прибавляет

aropan: Да, главное код писать, который паукообразных убивает. Остальное приложится.

BorisZ: согласен с предыдущими ораторами

BorisZ: иметь рабочую версию пусть на коленке сделанную это самое важное

BorisZ: и переписывать не надо боятся

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

BorisZ: как тут на самом деле по уму - вобще неизвестно