Chat:Ru/2021-05-07

From CG community
Jump to navigation Jump to search

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: да уж, тут хоть как бы сделать, а то обычно никак получается

Default avatar.png 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:

Default avatar.png 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 солнечных очков плюс количество уже имеющихся у тебя больших деревьев

Default avatar.png Loki2: супер, спасибо

Httpsx: Информация о шадоу клетках не приходит же в инпутах?

Beard: всё приходит

Beard: а это про тень

Httpsx: да, тень которая от деревьев

miklla: нет её в инпутах, вычисляй от направления селдующего дня

miklla: в дискорде клёвую ссылку кинули https://www.redblobgames.com/grids/hexagons/

tomatoes: внутри рефери как раз cube coordinates

mabu: А фрибесика там до сих пор нет