Как научиться играть в тетрис

Classic Tetris (NES), завершаем обучение. Рандом, двойная скважина, спин

Добрый день, дорогие друзья! Как и обещал, сегодня поговорим об RNG (Random Number Generation) и случаях, когда построить стэк без зазоров невозможно. Итак, его величество Рандом.

В тетрисе RNG отвечает, как вы понимаете, за очередность появления тетрАмино (спасибо друг @Carolinus, что обратил мое внимание!) в игровом поле. В современных версиях тетриса это происходит примерно так: игра берет два (крайне редко 3) набора тетрамино, т.е. 14 штук, произвольно их перемешивает и выдает игроку. Затем следующие 14 и так далее. Из этого следует, что максимально возможное ожидание какого-то определенного тетрамино не может составлять более 13. А вот рандом в Classic Tetris (NES) значительно суровее) Генератор берет 100! наборов из семи тетрамино, перемешивает и выдает игроку. Единственное ограничение- не выдавать более шести одинаковых тетрамино подряд. То есть, построив свой стэк идеально, скважина справа, зазоров нет, ждете линию. ждете. и еще немного. игра окончена)) На моей памяти самое длительное ожидание линии составило 62! тетрамино. Для подобного явления ввелся еще один сленговый термин- DROUGHT (засуха. Ну раз уж скважина)). Засухой называют не появление линии на протяжении более четырнадцати выдаваемых тетрамино. И эти самые засухи происходят постоянно! При таком рандоме этого невозможно избежать, и это касается абсолютно всех тетрамино, не только линий. Так что ваш стэк должен быть к этому готов. Постоянно. Самый простой и разумный способ- это DOUBLE WELL (двойная скважина)

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

Как видно на картинке, суть ее проста. Построив стэк для сжигания тетриса, мы отступаем от края стакана еще на один вертикальный ряд влево. Этот двойной промежуток от правого края стакана и до правого края стэка и называется двойной скважиной. Самый лучший вариант, когда высота по горизонтали- три и более квадратов. Вся его прелесть в том, что в нем можно «начисто» (не закрывая скважину) сжечь абсолютно любое тетромино в ожидании окончания «засухи».

Но даже выполняя все-все-все правила, которые были перечислены здесь и в предыдущих постах, игра по-любому докажет вам, что главная здесь она! Как бы вы не старались, рандом обязательно сделает так, что ни «сжечь в двойной скважине», ни положить на стэк без зазоров у вас не будет возможности. Но играть то надо! Вот тогда на помощь приходят OVERHANG (переведем это как «навес») и TUCKING (а это пусть будет «подтыкание»)

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

На картинке видим: Z-piece мы навесили, а L-piese- под нее подоткнули. На выполнение этого маневра на уровне 18-м у игрока есть 0,6 секунды, а на 19-м уже 0,3 секунды. Стоит отметить, что при выполнении таких вот элементов игрок не получает дополнительных очков. Так что в этой версии игры это всего-лишь вопрос выживания)

Ну и крайний вариант решения проблемы дырявого стэка- это SPIN (вращение)

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

На картинке изображен S-SPIN, но вращать можно абсолютно все тетрамино, если их геометрия теоретически позволяет им уместиться в полости, которую вы собираетесь ими заполнить. И да, этот маневр в этой версии игры тоже является бесплатным)

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

Суть- да взять и закрыть скважину и продолжать игру над ней до тех пор, пока рандом не даст нужную для ее открытия последовательность. Но тут главное, наверное, не бояться! Я вот нервничаю, когда скважину закрываю. Тетрис как волк это чувствует и начинает бомбить меня линиями)

Ну вот и все, мальчики и девочки! Мы с вами пробежались по верхам знаний человечества о Classic Tetris (NES), дальше дело за вами. Пробуйте и все у вас обязательно получится!

Ну и по традиции в финале небольшое видео. Специально не стал его обрабатывать и отключать звук, чтобы вы увидели, что при такой игре эти наглецы еще и в чате треплются!)))

Спасибо за внимание.

З.Ы. Обратил внимание, что у меня подписчики появились. Друзья, если вы тут из-за тетриса- значит все не зря!)) Буду держать вас в курсе событий в мире этой игры.

Я в 1994 году работал кочегаром, работа грязная, но скучная, так как много свободного времени, поэтому игрался в тетрис брик гэйм. Со временем стал набирать миллион на 9 скорости.

Забавно. Я, почитав ваши посты, понял, что я всё это умею (за исключением двух последних способов управления задержкой автоперемещения). Просто я не знал, как это называется.

Кстати, когда у меня был портативный «тетрис», на игру подсела мама. Она использовала безумно читерский способ на высоких скоростях: в момент нажатия паузы (при этом «стакан» скрывался от взгляда, чтобы нельзя было рассчитывать следующие действия) она закрывала глаза, «сохранив» таким образом в памяти последнее изображение стакана.

Про двойную скважину, чо-то взгляд зацепился за фразу «Вся его прелесть в том, что в нем можно «начисто» (не закрывая скважину) сжечь абсолютно любое тетромино в ожидании окончания «засухи».

Может я туплю, но как, не закрывая скважину, в нём сжечь обратную L?

Источник

Советы по Tetris 99 — Все советы по Tetris 99, чтобы вы могли проложить себе путь к победе

Вам понадобятся наши советы по Tetris 99, если вы хотите преуспеть в последней неожиданной конкурентной битве. Тетрис 99 — это тетрис, как мы все знаем и любим, но вы соревнуетесь с 98 другими игроками по всему миру, чтобы стать последним человеком, стоящим на ногах. Наши советы по Tetris 99 содержат все, что вам нужно для начала, включая правила Tetris 99, как играть в Tetris 99, элементы управления Tetris 99 и как работает Tetris 99.

Как играть в тетрис 99

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

Давайте начнем с самых основ. В тетрисе блоки будут падать с верхней части экрана, и вы должны организовать их так, чтобы они образовывали ряды. Когда вы завершите ряд, он исчезнет с вашего экрана, и любые строки выше будут каскадно вниз. Цель игры Tetris — не дать блокам добраться до самой верхней части экрана, прежде чем вы достигнете максимума.

Тетрис 99 берет основной игровой процесс от традиционного Тетриса и ставит вас против 98 других игроков, чтобы конкурировать и быть последним игроком на ногах. Вы можете нацеливаться на других игроков и отправлять линии мусора, чтобы подтолкнуть их к верхней части экрана и, надеюсь, устранить их. Конечно, другие игроки также могут быть нацелены на вас, поэтому вам нужно быть готовым к резкому росту, если вас атакует сразу несколько игроков.

Тетрис 99 вариантов атаки

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

В верхней части экрана вы увидите четыре варианта того, на кого нацеливаться правой палкой:

Случайный — Это предназначается для любого случайного игрока в игре.

Злоумышленники — Вы можете настроить таргетинг на любого, кто также нацеливается на вас, то есть вы можете выбрать одновременно несколько игроков.

Значки — Цель, кто имеет наибольшее количество нокаутов / значков (более подробно объяснено ниже).

К.О.С. — Это выглядит немного дерзко, но вы, по сути, будете нацеливаться на любого, кто ближе всего к тому, чтобы быть уничтоженным, чтобы надеяться выиграть несколько легких нокаутов.

Какой из них вы выберете, зависит только от вас. Если на меня нацелены несколько человек, то я предпочитаю обращаться к атакующим, но часто я оставляю это в «Случайном» и сосредотачиваюсь на своей собственной игре. Если вы хотите выбрать конкретного игрока, вы можете перемещаться между игроками индивидуально левой палкой.

Тетрис 99 мусор

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

Вы нападаете на других игроков, отправляя им мусор. Это серые блоки, которые посылают вас на экран, если другие игроки нападают на вас. Это может показаться случайным и несправедливым, когда на экране появляется много мусора, но на самом деле за этим стоит метод, и у нас есть все, что вам нужно знать о мусоре в Tetris 99.

По сути, одновременное удаление только одной строки не поможет вам, кроме как остановить движение вверх по экрану. Чтобы отправить мусор тому, на кого вы нацеливаетесь, вам нужно очистить несколько строк одновременно. Вот как это работает:

Очистить две строки — Отправить одну строчку мусора
Очистить три строки — Отправить две строки мусора
Очистить четыре строки — Отправить четыре строки мусора
Очистить полный пансион — Отправить 10 строк мусора

Если вы сосредоточитесь на одновременной очистке нескольких строк, вы можете нанести серьезный ущерб тому, на кого вы нацеливаетесь. Конечно, если у вас есть только несколько строк места для маневра в верхней части экрана, просто попытайтесь очистить как можно больше, даже если это означает, что нужно делать отдельные строки.

С другой стороны, когда мусор выбрасывается на вашем пути, вы увидите, что он складывается в левом нижнем углу экрана. Он начинается серым цветом, затем становится желтым, а затем красным. Эти цвета показывают, как долго вы должны действовать, чтобы убрать часть мусора, прежде чем он заполнит большую часть вашей игровой площадки. Продолжайте очищать линии как можно быстрее, пока мусор складывается, и вы можете уменьшить количество урона, которое он наносит, когда в конечном итоге попадает.

Тетрис 99 Т спинов

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

Вращение Tetris 99 T — это ход, который можно осуществить исключительно с помощью блока T (три внизу, один вверху посередине). Можно перемещать Т-блок в труднодоступных местах, вращая деталь в правильном направлении через Т-образный зазор. Если это звучит сложно, это потому, что это так, особенно если учесть, что T spin удваивается и утраивается. С учетом сказанного, завершение T спинов отправит еще больше мусора вашим оппонентам:

T spin сингл — Отправить две строки мусора
Т спин двойной — Отправить четыре строки мусора
Т спин тройной — Отправить шесть строк мусора

Если вы только начинаете работать с Tetris 99, не беспокойтесь о T спинах слишком сильно, но вам стоит подумать о том, как вы улучшаете игру.

Тетрис 99 значков

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

Значки — это количество игроков, которых вы выбили в игре. Это указано рядом с К.О. в правом нижнем углу экрана, прямо над процентным показателем. Этот процент представляет собой количество дополнительного мусора, который вы будете отправлять с каждой очисткой, и вы можете увеличить это количество, увеличив количество выбывших.

Два нокаута — 25% бонус мусора
Шесть нокаутов — 50% бонус за мусор
14 нокаутов — 75% бонус мусора
30 нокаутов — 100% мусорный бонус

Вы можете думать, что это много нокаутов, чтобы получить в одной игре Tetris 99, но это не так сложно, как это. Всякий раз, когда вы нокаутируете игрока, вы также наследуете все его значки (нокауты). Это означает, что если вы можете выбить пару человек, которые хорошо себя чувствовали в начале игры, вы быстро начнете накапливать некоторые серьезные мусорные бонусы. Внезапно вариант таргетинга «Значки» кажется гораздо более заманчивым, не так ли?

Тетрис 99 советов и хитростей для начинающих

Когда вы освоили все эти правила Tetris 99 и знаете, как играть в Tetris 99, прислушайтесь к этим советам Tetris 99, чтобы помочь вам стать Tetris One.

Источник

Программист учит компьютер играть в Тетрис

А он легко бьет мировой рекорд.

Наш старый знакомый Эван Codebullet снова делает алгоритм, который играет в игры и ставит рекорды. На этот раз он будет играть в тетрис. Если хотите лучше понимать логику работы этого алгоритма, посмотрите, как запрограммировать тетрис на JavaScript самому, а потом возвращайтесь сюда.

Оригинальное видео Эвана (если знаете английский, смотреть будет интереснее):

Если вам лень смотреть 18 минут видео или не знаете английский, то читайте статью — мы собрали все ключевые моменты.

👉 Искусственный интеллект — это не всегда нейросети

В этом случае всё сделано на чистом JavaScript. Сила этого алгоритма в том, что он ведёт себя как нейросеть, но не обучается на ходу, а чётко следует заложенным в него правилам. Поэтому качество игры этого алгоритма не зависит от количества проходов в обучении, а только от правил, по которым он создан.

Если хотите посмотреть и оценить сам код алгоритма, зайдите в Гитхаб Эвана.

Сначала нужно сделать саму игру

Эван начинает с простого — создаёт игровое поле, по которому падает красный квадратик:

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

В игре пока нет никакой механики кроме падения красного квадрата, но в этом и есть суть программирования Эвана — продвигаться вперёд маленькими шагами. Так у него на каждом этапе получается что-то рабочее, что можно взять за основу для следующего шага.

Как только Эван начал рисовать фигуры и возможные варианты их вращения, то понял, что нужно найти схемы, как это делается в оригинальной игре:

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

Как видите, здесь всё то же самое, как в нашем проекте — каждая фигура вписана в квадрат, чтобы при вращении не вылезать за его пределы. А ещё этот рисунок помогает понять, как запрограммировать вращение и положение фигуры при повороте.

Теперь, когда мы знаем, как выглядят фигуры, можно запрограммировать и их падение. Но сразу есть проблема: они просто улетают за край игрового поля, потому что нет проверки границ.

Когда Эван это исправил и добавил автовращение каждой фигуре на старте, получилось такое:

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

Оказалось, что, сделав один или несколько поворотов, фигуры застывали на месте и накладывались друг на друга. Эван хотел по-быстрому решить эту проблему, но из-за нелепой ошибки в коде фигуры стали разваливаться на части.

Много итераций спустя Эван исправил все баги и смог-таки заставить блоки падать и вращаться.

Проверка на пересечения и столкновения

Теперь задача сделать так, чтобы фигуры умели определять, столкнутся ли они на следующем шаге с чем-то или нет. Если нет, значит так двигаться можно, а если будет пересечение с другой фигурой, то двигаться в эту сторону нельзя.

Всё шло отлично до тех пор, пока игровое поле не переполнилось. Новые фигуры стали появляться сверху, тут же останавливались, потому что некуда падать, и сразу же поверх них отрисовывались новые. Вывод: надо добавить проверку на достижение верхнего края поля. Если фигура остановилась на нём или за его пределами — всё, игра закончена.

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

Удаление целой линии

В тетрисе есть правило — когда горизонтальная линия полностью заполнена, она исчезает, а всё, что сверху, сдвигается на один ряд вниз. Первая версия алгоритма Эвана убирала ряд с экрана, но забывала сделать всё остальное. Получалась как бы невидимая линия, на которую могут опираться другие фигуры:

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

После обновления кода всё заработало как нужно. Заодно появились окошки со следующей и удерживаемой фигурами.

Удерживаемая фигура — это специальный элемент в современном тетрисе, который работает так:

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

Обучаем алгоритм

Кажется, что всё готово к тому, чтобы подключить к игре игровой алгоритм и научить его круто играть в тетрис. Но нас сразу ждёт первая проблема — как научить его правильно ставить фигуры.

Первое, что приходит в голову, — показать ему все возможные положения среди остальных фигур, если просто опустить текущую фигуру вниз. Потом — то же самое, но повернув её один раз, затем два раза и три. Но так мы не сможем задвинуть зелёную фигуру левее, чтобы она попала в паз, как на рисунке ниже:

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

Решение — мы смоделируем для каждой фигуры все возможные нажатия клавиш. Это не оптимальный вариант с точки зрения использования машинных ресурсов, но он даёт нам нужный результат. Теперь компьютер может прикинуть, куда поместить очередную фигуру уже на старте. Незакрашенная фигура внизу — это Эван сделал видимым процесс «мышления» алгоритма, куда поставить новый элемент:

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

Выбираем оптимальное место

При выборе расположения блоков алгоритм будет отдавать предпочтение тому, которое даст наибольшее количество внутренних баллов. Для этого Эван написал правило: фигура не должна оставлять под собой пустые ячейки, недоступные для других фигур.

Чем меньше таких ячеек остаётся, тем более желаемый ход. Теперь программа лучше подгоняет фигуры друг к другу:

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

Но возникла другая проблема: ненужные высокие башни. Компьютер делает вроде как правильно — оставляет как можно меньше дыр, — но при этом совершенно не следит за другими параметрами. Эван добавляет в алгоритм второе правило: чем ниже общая масса блоков — тем лучше.

Стало намного лучше: теперь компьютер старается не оставлять под собой пустых блоков и стремится укладывать фигуры как можно ниже.

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

Используем удерживаемую фигуру

Следующее, чему Эван учит свой алгоритм, это использовать удерживаемую фигуру. Третье правило, которое он добавляет, такое: проверь, что будет, если заменить фигуру на удерживаемую, и если результат будет лучше — замени фигуру.

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

Последняя проблема — пустые одиночные столбцы

Когда компьютер ставит фигуры по этим трём правилам, то часто у него получаются пустые вертикальные столбцы, куда можно поместить только прямую фигуру:

Как научиться играть в тетрис. Смотреть фото Как научиться играть в тетрис. Смотреть картинку Как научиться играть в тетрис. Картинка про Как научиться играть в тетрис. Фото Как научиться играть в тетрис

Такое поведение мешает правильной работе всего алгоритма и не даёт ему полностью реализовать свой потенциал. Поэтому Эван вводит четвёртое, последнее правило: старайся избегать таких длинных пустых мест.

И это стало решающим моментом в работе алгоритма. До этого он с трудом собирал 1000 линий, а сейчас легко набирает 10 000 линий и не останавливается на этом.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *