Pull to refresh

Comments 33

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

Интересно, есть ли в +- популярных реализациях алгоритмы, которые учитывают состояние поля, оценивают шансы игрока, и специально усложняют/упрощают игру, чтобы склонить к донату, или удержать в игре? Или даже сформировать ощущение «почти выиграл» (примерно, как в видео из первого комментария)?
Я играл в вариант, который подбирает самую ненужную фигуру. Не помню название -ставился в стандартном наборе какого-то дистрибутива линукса. Что-то типа «самый сложный тетрис», на инглише естественно.
В candy crush алгоритм разрабатывался 7 лет чтобы максимально долго удерживать игрока
Более 20 лет назад я писал тетрис под DOS, еще на Паскале. Там были усложнения: Не давать палок если они нужны и подкидывать квадрат если его некуда поставить. Может еще какие-то были, не помню уже. На мой взгляд с усолжнениями интересней.
А про bastet (тетрис, который специально заваливает игрока, предлагая каждый раз худшую фигуру) ничего не сказали.
Можно просто одни зигзаги давать, попробуй собери линию.

Да легко! Особенно если зигзаги одного типа. Сложнее, если разного, но тоже не смертельно

Смертельно, если они, например, регулярно чередуются, а стакан стандартный шириной 10.

Насчет не смертельно это я погорячился, конечно.
Но в контексте 'собери линию' сложностей быть не должно.

А есть алгоритмы с переменными вероятностями? Например изначально шанс для всех фигур равен, но после выбора одной из фигур, вероятность ее выпадения понижается в вдвое\втрое\вчетверо, а остальных, соответственно растет. Такой алгоритм разумеется еще оставляет вероятность потопов\засух, но:
а) она контролируема, т.к. может настраиваться коэффициент изменения вероятности
б) вероятность длинных периодов потопа\засухи все же примерно сопоставима с вероятнью резиста от иммалейт импрувед.
в) полное исключение или чрезмерное гашение таких последовательностей все же заметно убавляет азарта.
Не указана сложность для TGM3 — это и в оригинале так?
Нет, это я пропустил. Уже исправил, спасибо. Про ошибки лучше сообщать в личку.
UFO just landed and posted this here
На NES три разных Тетриса, и каноничным теперь стал самый худший из них, от BPS, которая позже преобразовалась в The Tetris Company, и теперь владеет эксклюзивными правами и теперь ведёт очень агрессивную политику, выпихивая отовсюду нелицензионные версии и строго указывая всем лицензиатам, каким должен быть Тетрис.

У TTC есть секретный 100-страничный гайдлайн с паком материалов на почти четыре гигабайта, где подробно расписаны все игровые механики, включая рандомайзер (7-bag из статьи), и это всё обязательно к исполнению, иначе игра не пройдёт ревью. Ревью, судя по всему, проводится по чек-листу, и отвечающие за это люди не очень-то далеко ушли от ботов Play Market'а. Это к вопросу в конце статьи, как можно было бы улучшить рандомайзер — теоретически много как, но практически никак.

Все эти модифицированные рандомайзеры — не тру. С ними тетрис — не тот, что был изначально придуман и во что мы играли еще на терминалах СМ. Никаких поблажек игроку быть не должно, иначе это — профанация :)

Воистину, тетрис, где ненужная закорюка выпадает стопиццот раз подряд и никаких поблажек — суть Тетрис, а остальное — HERECY!11
Интересно, какой рандомизатор использовался в карманных 999in1?
после прочтения статьи захотелось сыграть в тетрис, рука потянулась к смартфону, но сразу вспомнилась реклама и баннеры в бесплатных приложениях, и тут я вспомнил, что у меня есть волшебная коробка с хламом, где лежат как раз парочка таких 999 в 1, как раз без рекламы и донатов, хоть обыграйся))
в компьютерах нет генераторов истинных случайных чисел

Сейчас то есть, к примеру RdRand. Что мешает его использовать? И да, я сторонник подхода, что не надо модифицировать генератор, чтобы помогать игроку. Всё должно быть как в жизни, по взрослому и без поблажек. Ну выпало несколько зигзагов подряд, значит так надо, ну не повезло. А то так дойдут до того, что АИ будет анализировать ситуацию и специально выкидывать фигурки, чтобы продлить игру.
UFO just landed and posted this here
Отслеживать количество выпадений всех фигур за последние шагов 20-30 и подтягивать вероятность выпадения тех, которые редки. Чтобы выпадение любой фигуры было равновероятным. Скажем, за последние 30 шагов реже всего выпадали квадрат и планка — кидаем ГСПЧ между этими двумя вариантами, а не всеми.
Текущий стандарт 7-bag и делает равновероятное выпадение. При нём не может выпадать реже квадрат и планка в пределах 30 шагов, за это время они выпадут не менее 4 раз каждая. Максимальные расстояния между повторами получаются до 12 фигур, т.е. может выпасть квадрат, 12 других фигур, и потом квадрат (в первом блоке квадрат оказался в начале, в следующем в конце блока), максимальный повтор две одинаковые фигуры подряд (одна в конце блока, вторая в начале следующего), вероятность таких повторов относительно низкая.
Мне кажется, предложенный алгоритм проще, пусть он и не гарантирует равной вероятности на коротком промежутке.
А у меня в тетрисах могут быть фигуры из любого количества кубиков (разные тетрисы, алгоритм — один). Вместо какой-то рандомизации, я просто выращиваю из центральной точки фигуры во все стороны до нужного количества квадратов. То есть фигуры могут появляться в и в совершенно разной ориентации. Посмотреть можно — keda.su.
В любимом мною tetrisn(aka клоп) есть бонусные фигуры непонятных конфигураций — в виде большой, 5 на 5, буквы G и пр. Также есть бонусные кубики 1*1.
Но у вас же стакан на восемь столбиков — это не обычный Тетрис.

Можно кидать в мешок по N экземпляров каждой фигуры + M рандомных фигур, всё это перемешивать. В итоге получится более-менее случайно засчёт этих M фигур, но долгие потопы или засухи маловероятны из-за этих N*7 фигур.

Sign up to leave a comment.

Articles