Comments 60
Как-то неспортивно работает алгоритм. Мне 25 раз подряд выпала одна и та же S-образная фигура. С таким же успехом можно было вообще не заморачиваться и всегда кидать только S или только Z-образные блоки, или квадраты при нечетной ширине поля, и все.
Если были бы только S и Z, то можно было бы легко хакнуть алгоритм и собирать линии бесконечно.
Хорошо, я вам пример приведу. Нужно сгенерировать бесячий непроходимый лабиринт. Какой из них вам кажется более удачным, первый или второй? Почему?

Для этого надо в корне поменять стратегию игры с ожидания благоприятного момента, на создание вилок и гамбитов.
Кому т осложно даже одну линию сжечь, я уже систематически могу делать результат 6 линий. Мне интересно, сможет ли Хабр побить мировой рекорд (31 линия)?
Это значит, что алгоритм не справляется со своей задачей. Фактически надо закидывать человека палками пока не останется 1 или 3 незакрытых столбца. Затем кубами. Повторить при необходимости.
Это так не работает. Палки кладутся плашмя, и вот у вас 8 заполненных столбцов высотой во весь стакан, и кубы больше давать нельзя вообще (каждый куб будет полностью убирать 2 ряда). А если давать не кубы, то всё равно задача заполнения строк в 10 блоков свелась к задаче заполнения строк в 2 блока, и, думаю, там гораздо больше 31 строки можно убрать.
Собственно "мировой рекорд" тоже по такому принципу действий делался, только игра даёт такие фигуры, с которыми заполнить 8 столбцов из 10 без дыр нельзя.
Всё, игрок проигрывает, гарантия 100%.
Обсуждалось ещё в маткружке в школе у нас бог знает сколько тет назад.
алгоритм кидал мне только Z пока не забил ими весь экран

Как же это божественно! Интересно, а этот алгоритм детерминирован относительно действий игрока? Если так, то можно попробовать написать анти-алгоритм который находит решение или самую длинную последовательность
Исходники открыты, можно посмотреть.
+ можно натравить нейросетку (alpha-tetris?) или перебрать все варианты, на предмет поиска алгоритма против Алгоритма.
Так что да, в этий игре всё детерменированно и если играть можно вечно, значит плохо выбирается «самая плохая» фигура.
на телефоне не получилось горизонтальные s-ки соединить, просто прилипает сразу к «полу»
В придачу: аналогичный вариант 2048. Есть опция снижения сложности, чтобы иногда использовался честный рандом.
Пользователям Linux могу кроме этого предложить попробовать bastet (пакет доступен в репозиториях Ubuntu).
Хотя на практике да, полно неработающих IPFS-ссылок, но дело не в реализации сети, а в том, что у семерых нянек.
Вообще забавная штука, на досуге надо будет еще поковыряться.
Вот replay на 6: Ɩ௩ໃܥಒටࠄເ௨ఠТຍலڏІʞಏඞQকݣƥଈݷҬɦໃݎణƣຢɝϢഗƙɕࠌסWټҴɦІݎడఢӿپƐඡДݹߝsฮߢஐٯฮࠅԘΔІݲడइເߣ௨రЫݢడටຯঐ௨ഗςݲ౫ටƷঅ୦sॺڥ௦ؿНݷශΟثஇƔচЂљԥuಽܡబΞܮܥષءȻܮஐ෦స๐౻ࠏʛʦਔ
По идее, такой вариант существенно интереснее для «максимального взбешивания», так как алгоритм при генерации фигуры должен руководствоваться не текущим состоянием а тем, что будет через фигуру.
Можно ещё развить это, заставляя «взбешивать» на основании данных ещё большей давности, а также выдавать определённые гарантированные фигуры вне алгоритма каждый N-тый ход.
Такая игра будет гораздо больше на логику, а не про скоростные нажатия клавиш.
Проще всего было сделать поле нечетной ширины и всегда выдавать квадратик 2х2
Больше всего бесит, что в мобильном браузере при нажатии кнопки запуска новой игры ничего не происходит. И только при нажатии стрелочки вниз происходит движение вниз на одну клетку. Бесит для каждого движения нажимать)
ޛටדݹ௨ඞТஈ௧ƣເঅ௩ɦܘݶహइໂђ௨ටໞݹஜɦܘݚذචʅݹਐටࢺݹસقໃݹ௨ටໃݹਆ
И я в процессе решения задачи для глубины 6. Пока что он нашел score=6 (поле перебора трех миллиардов позиций)
ܮටลຍ௨ಀඍݸహටາɝɷචŒݹமϺາŦ௨ಀІݟௐقГঅஶѼໃӌ௨ගɱݸƓΟເח௧ڈໃӻ௨ගȣݸಏටງђஶɈժށѻටໃݹ௨ටເ0
но алгоритм еще не закончил работу, пока перебрав восемь миллиардов позиций за 11 часов.
ݻටຈݹ௫ටຯѧ௨پଈݶಏقງݹலටະऄ௨پໃݢ௨ගɑݸҰقະࡨ௨sໃɥ௨ڏІݟ௨ගɱݸతටࢩݹࢴටแɕ௧ڄໃףۑඤÐݸలقลڝ௨ටໃݹ௨ටࠋ
так у авторов выложены реплеи и подлиннее:
https://qntm.org/hatetris
Подозреваю, что есть математический предел для этого алгоритма, основанный на отношении количества мусорных линий к общему количеству линий в стандартном 2-wide.
А вообще, без 7-bag-рандомизации Hatetris может спамить один и тот же тетрамино, что сильно снижает интересность борьбы с алгоритмом.
Прикрутите bag-рандомизацию, и более-менее нормальный минимакс движок с горизонтом событий побольше, и будет намного интереснее. Если еще hold и SRS, так вообще замечательно.
Тетрис, который максимально бесит