Chat:Ru/2021-05-07
BorisZ: не, заготавливать дрова - это неправильный подход
BorisZ: дерево 3 уровня это ценный ресурс
BorisZ: когда его рубить - большой вопрос
BorisZ: вот блин, когда засыпал - какая-то ценная мысль была в голове, а утром забыл (
BorisZ: помню что была, помню что ценная, а дальше пустота (
Hamibar: Я вот вчера думал об оценочной функции для минимакса. И напридумывал миллион различных параметров.
BorisZ: сложная оценочная - как перевести деревья в финальный скор?
BorisZ: это от взаимного расположения зависит
BorisZ: то есть только доиграть до конца
BorisZ: ну или приближение какое-то найти
Hamibar: Доиграть до конца вряд ли получится.
dbf: ого, уже минимакс - вроде довольно много вариантов для хода...
Hamibar: Ну я минимакс не писал, так что стоит попробовать)
Hamibar: Нас ведь в середине/начале игры не только скор интересует.
BorisZ: ну вроде чистые минимакс вряд ли тут заработает - много вариантов, плюс одновременные ходы
BorisZ: но в любом случае какой-то поиск нужен
BorisZ: и оценка текущего состояния - тоже проблема, тут без бутылки не разберешься
Hamibar: Вот поэтому минимакс лучший выход!
Hamibar: А на самом деле вроде и симу написал и с эвристиками поиграл. Убил 2х зайцев одним контестом
BorisZ: ну если душа хочет минимакса - против этого не попрешь )
Hamibar: Главное сесть его писать пока душа требует, а то это штука непостоянная
BorisZ: ну я короче пока совсем не представляю что и как тут оценивать. Даже доигрывание не факт что даст приближение оценки
dbf: эх, нужели дали 100мс, а это даже не использовать нормально :)
BorisZ: может потому и дали
BorisZ: ну вот мы хотим сравнить 2 действия - посадить дерево в одной точке и в другой
dbf: сравнить по richness :)
BorisZ: как оценить влияние зерна на финальный скор - только вырастить его в дерево
BorisZ: потом посчитать сколько солнца оно принесет
BorisZ: а это зависит от соседей - кто-то его затеняет, кого-то оно затеняет
BorisZ: richness не так сильно влияет на скор, нутриенты больше, а сколько их останется к моменту рубки неизвестно
BorisZ: ну если сравнивать две посадки то нутриенты не важны конечно - они одинаковые будут
BorisZ: наверное)
Hiker: Всем привет. чел из видоса анонсирующего челендж предлагает поиграть в игру руками , чтобы понять, что происходит. а где это можно сделать?\
BorisZ: я не знаю где. мне кажется что тогда уж лучше реплеи топов смотреть медленно
BorisZ: тут дебаг режим более-менее информативный
Hiker: ок, спс.
wlesavo: ниче не понял, вчера поправил две строчки прошел в вуд 1, а теперь чтоли так босса опустили что этот код в бронзу попал
wlesavo: конечно не однострочник как у тутубалина в тот раз, но все-таки
ilt: увидел у топов набор команд на последнем ходу COMPLETE, COMPLETE, COMPLETE, WAIT
ilt: много ходов можно сделать сразу
Hamibar: Я так понял, что пока не будет вейт от 2х ход не закончится.
Hamibar: BorisZ ну так навскидку можно посчитать сколько эта посадка принесет нам света на несколько ходов вперед и сколько заберет света у противника.
inoryy: wlesavo 3.4k всего, 3.1к в бронзе
BorisZ: Hamibar но это же только после того как зерно станет деревом, не факт что это будут именно 3 следующих хода, когда ты его растишь
BorisZ: в начале игры солнышки - дефицит
wlesavo: inoryy а, ну да
Hamibar: А зерна что-то стоят?
Uljahn: Automaton2000: сколько стоит дым от паровоза?
Automaton2000: эх я пока 7 в бронзе
Hiker: Свои деревья блокируют получение солнышек?
Hamibar: Похоже, что да. Но все равно мы, наверное хотим вырастить его как можно раньше
Uljahn: кстати да, цвет же разный у листиков, значит и спектр поглощения/отражения разный
Uljahn: т.е. своим должно сильнее мешать, чем противнику
Hamibar: Крона настолько густая, что не доходит никакой свет до противника.
Uljahn: вот если б не гексы были, а хотя бы как в CR поле с сайтами
Uljahn: и закон убвания освещённости не дискретный
Uljahn: и высота солнца над горизонтом чтоб на длину тени влияла )
Hamibar: Вообще клетки убрать.
Hamibar: Добавить рельеф.
Hamibar: И чтобы крону конфигурировать можно было.
Uljahn: угу, породу дерева выбирать с разной скоростью роста и кроной
Uljahn: вот бы симуляторщики обломались
Uljahn: и типы почв тогда надо, суглинки там, подзолистые, для разных пород свои бонусы
Hamibar: погоду добавить
Uljahn: шашлычников и пожары
Hamibar: случайные ивенты :grinning:
Hamibar: или сезонные
Uljahn: короеда и долгоносика
Hamibar: причем короедов можно на лес противника натравить
Uljahn: code royale практически
Hamibar: А после рубки дерева надо его еще продать
Hamibar: Похоже мы придумали идеальную игру
Uljahn: построить пилораму и сделать телеги, чтобы лес вывозить
Uljahn: в телеги запрягать короедов
Hamibar: И заплатить нологи!
Uljahn: "you can complete and directly reseed a cell" rly?
amurushkin: и грабить корованы :)
BorisZ: корованы короедов
Hamibar: Uljahn ну это можно помешать сделать
Hamibar: Все забыли что кроме короедов есть еще долгоносики :expressionless:
amurushkin: пытаюсь пройти в бронзу на чистом рандоме. даже в правила не вкурил ))
amurushkin: и похоже есть огромный шанс это суметь
wlesavo: amurushkin у меня вообще прошел бот который не мог набрать ни одного очка
amurushkin: кто то босса спустил наверное в минус
wlesavo: да похоже, нужно играть не лучше босса, а просто меньше игр чем босс :slight_smile:
amurushkin: ну вроде прохожу. в вуд2 написал ранд. в вуд1 слово поправил чтобы GROW работало ))
amurushkin: изи бронза
Uljahn: с дуру схватил стартер на питоне, а там жесть какая-то :/
Uljahn: оказывается, окошка дебага в браузере уже давно сделали изменяемым, мышкой можно ресайзить
wlesavo: я тоже посмотрел, стартер трешовый немного конечно
Uljahn: с джявы небось скопировали
Uljahn: oppIsWaiting в каком случае возникает? это же в начале дня приходит инфа?
wlesavo: нет, инфа после каждого хода приходит
Uljahn: а, каждый ход инпуты обновляются, в течение дня
Uljahn: ппц, вот я туплю
Uljahn: думал, надо менеджить и симулировать экшоны, которые раз в день приходят в начале...
wlesavo: я сначала вообще пытался пайплайнить действия чтобы в один день сделать несколько
Uljahn: флаг dormant значит очень важен
rombolshak: Про "поиграть руками" имелось в виду настолка "Фотосинтез", правила оттуда
Jokero: мне для бронзы 4 иф элса понадобилось написать и все. А вот в бронзе я сижу, читаю правила и понимаю, что я сам не понимаю, как в это играть, какая там может быть стратеги
Jokero: видимо придется действительно пилить симу, потому что придумать какие то внятные алгоритмы для этой игры у меня не выходит
Uljahn: rush B
wlesavo: я еще ничего не прогал но думаю с точки зрения выращивания и комплишна тут можно сделать что-то близкое к оптимальному. ну то есть порядок действий можно оценить аккуратно когда что выгодно делать, а дальше с прибитым порядком действий внутри хода симулировать только посадку посадку. что-то в духе такого урезанного подхода должно более менее работать
wlesavo: например очевиддно что если есть 1 дерево 2 и одно дерево 1 нужно сначала вырастить дерево 2 затем вырастить 1
BorisZ: почему это?
BorisZ: скорее наоборот
wlesavo: ну дешевле же
Uljahn: а если семяна кидать?
wlesavo: если вырастишь 1 то потом за рост два заплатишь больше
BorisZ: 1 в 2 стоит 3 солнца а 2 в 3 стоит 7 солнца
BorisZ: а прирост генерации и там и там 1
wlesavo: хм
wlesavo: да, не так очевидно
wlesavo: но суть в том что это можно оценить
Uljahn: пока ты гровишь на краю, противник рашит в центр семянами
Uljahn: BorisZ: 1 в 2 будет стоить 4, т.к. уже есть одно дерево размера 2, не?
BorisZ: и от позиции зависит тоже, выгоднее растить там где врагу помешает сильнее
BorisZ: да 4, я про среднее имею ввиду
BorisZ: ну и центральные видимо имеет смысл растить сначала - от них и тени больше и закинуть семена можно дальше
Uljahn: только надо подгадать, чтобы и врагу помешать, и себя не затенить, и вовремя собрать, чтобы нутриенты не профукать
wlesavo: ну короче до определенного момента выгоднее сначала 1 потом два а потом наоборот, ну плюс бонус за то что ты закроешь солнце противника на следующий день и отрицательный бонус за то что себя закроешь
wlesavo: да все-таки не все так просто конечно. но думаю до золота на хорошей оценке можно добраться
Jokero: в бронзе уже финальные правила?
Uljahn: д
Uljahn: эх, успеть бы до конца контеста запилить предрасчёт индексов теней и разлёта семян...
BorisZ: https://www.codingame.com/replay/547803437
vrabosh: мне кажется тут как в крестиках ноликах технологии использования.
Либо расчитывать математически.
Jokero: а ктонить аналог знает этой игры, просто погамать в нее на компе?
Jokero: вроде стратегия рашить все семенами довольно не плоха
BorisZ: Jokero вряд ли это рационально, подозреваю слишком долго придется играть чтоб понять что-то, реплеи смотреть эффективнее
BorisZ: все равно будут правила отличаться, тут игру же адаптируют
Hamibar: Хм ну выгядит так, что если у тебя есть свободное дерево, и ты ничего с ним не можешь сделать, то кинуть семку хоть куда-нибудь - хорошая стртегия
Hamibar: Занять все клетки семенами, а в 1 растить дерево :grinning:
CyberEcho: Кидать семки стоит энергии, так что все поле засеять не выйдет
Uljahn: семки ещё взращивать надо, а то там стоимость растёт
Hamibar: А все нашел наконец этот пункт
Hamibar: С ростом как раз нет проблем. А вот сажать много, чтобы просто застолбить место наверное не стоит
Uljahn: я про то, что чем больше семок на поле, тем дороже каждая следующая
Uljahn: а фотосинтеза они не дают
Hamibar: Ага. Я просто 5 мин назад думал, что они бесплатные
Uljahn: интуитивно кажется, что надо гровить в клетах на расстоянии 2, но не на прямой
Hamibar: Книгу дебютов писать придется?)
Uljahn: кто-нибудь сиды коллекционирует с максимально бедными картами?
Uljahn: больше 4-х незасеиваемых полей бывает?
Uljahn: о, бывает
Uljahn: seed=-652893368915079810 вот тут шесть
CyberEcho: 8 тоже бывает
Vexfxjc: seed=7992156988758986800 six
Uljahn: seed=-8518950751546266600 - 10 штук
wlesavo: написал три очень примитивные оценочные над стартером, шото в районе 200 приземлилось даже.
Uljahn: найс
TheCrucial: да, пока еще очень мало людей что то мощнее чем пару ифов написали
wlesavo: да я не факт что вообще напишу что-то мощнее, сегодня вечером уезжаю на все праздники, потом тяжелая рабочая неделя постпраздничная, и остаются одни выходные за которые нужно написать и отладить симу на плюсах для легенды, план капкан :smiley:
Jokero: круть план))) казалось бы, что может пойти не так
wlesavo: но зато добавили стартер для плюсов, тоже неплохо
CyberEcho: План надежный как швейцарские часы, явно все должно получиться
Jokero: Народ, а как думаете, частое использование статических классов это зло или нет? Мне просто не охота создавать объекты для таких видов как Карта или для основного класса и я их все делаю статическими, что бы по названию класса доступ к данным получать, а не передавать в функции объект класса.
Vexfxjc: как тебе удобнее так и делай... тут всего 11 дней )
Uljahn: да уж, тут хоть как бы сделать, а то обычно никак получается
DJNoiselessCastle_acc5: весь сайт облазил но так и не понял о каком контесте в чате говорят. есть ссылка на него?
Vexfxjc: https://www.codingame.com/ide/challenge/spring-challenge-2021
BorisZ: chop-chop https://www.codingame.com/contests/spring-challenge-2021
Uljahn: на домашней странице баннер в полэкрана
BorisZ: Jokero да, делай как удобнее, не парься, главное потом не лениться переписать когда запутаешься
BorisZ: если пытаться все сразу сделать по уму то это обычно кончится тем что бросишь
Jokero: да меня смущает именно в контестах у меня обилие статических классов и public переменных. прям ночной кошмар Роберта Мартина и его "чистого кода"
TheCrucial: зато ты понимаешь что реально удобно, а что навязанное индустрией "кАчЕсТвО кода" :laughing:
BorisZ: никто твой код не увидит кроме тебя )
BorisZ: какие контесты Роберт Мартин выиграл а? )
kotobotov: zdarov
kotobotov: че там новый контест?
kotobotov: чет у меня реплеи не показывает, пустой экран там
kotobotov: хотел посмотреть что за игра
tomatoes: zdarov, деревья какие-то растить
kotobotov: интересно
kotobotov: смотрю там языки обновили, очень очень хорошо, прям нормальные версии завезли
kotobotov: давно такого не было, еще бы 2 ядра процессор предоставили, вобще была бы пушка
tomatoes: замудрённая какая-то. вуд на автопилоте, а в бронзе навалили всякого
tomatoes: wondev woman чем-то напоминает :thinking:
Loki2: Ребята как понять правило "Growing a size 2 tree into a size 3 tree costs 7 sun points + the number of size 3 trees you already own. "
ilgiocatore: чтобы вырастить дерево размером 3, нужно заплатить 7 солнечных очков плюс количество уже имеющихся у тебя больших деревьев
Httpsx: Информация о шадоу клетках не приходит же в инпутах?
Beard: всё приходит
Beard: а это про тень
Httpsx: да, тень которая от деревьев
miklla: нет её в инпутах, вычисляй от направления селдующего дня
miklla: в дискорде клёвую ссылку кинули https://www.redblobgames.com/grids/hexagons/
tomatoes: внутри рефери как раз cube coordinates
mabu: А фрибесика там до сих пор нет