Как стать автором
Обновить

Комментарии 33

Искусственный интеллект для игры в Тетрис

Предлагаемый алгоритм не связан с нейронным сетями, глубоким обучением и т.д. 

Теги: tetris ai bot ИИ искусственный интеллект бот тетрис pentix

Хм.

Искусственный интеллект это не только нейронные сети. В применении к играм это вообще любые алгоритмы, управляющие чем то в игре, хоть NPC, хоть фигурками в тетрисе, хоть шахматными фигурами на доске.

Интересно, тут в соседних темах про GPT обязательно находится пара заплюсованных комментов, что GPT это не ИИ.

Я запутался..

GPT это ИИ, конечно, но и мой алгоритм это тоже ИИ, только совершенно на другом принципе построенный, на четком алгоритме, а не нейронной сети. ИИ понятие широкое. Нейронные сети появились недавно, а понятие ИИ существует давно. В игре Pac-Man 1983-го года тоже был ИИ, а никаких GPT тогда не было

Нейронные сети появились недавно

Ну как, недавно. Я ещё в детстве читал про них старые книжки. Щас погуглил - их ещё на лампах пытались замутить. Куда уж раньше?

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

ИИ это вообще маркетингово-журналистский термин. Технический термин это "Машинное обучение". По тому, что наличие интеллекта у того или иного алгоритма вопрос спорный, причём спорить можно сколько угодно, нет чётких критериев наличия интеллекта. А наличие обучения машин это объективная реальность, она бесспорна.

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

ну вот и спорят люди - тупой перебор это интеллект или не интеллект

Ну я и говорю: этот спор происходит из-за желания неспециалистов влезть со свиным рылом в калашный ряд.

ИИ - есть ИИ, на каких алгоритмах он реализован - вопрос десятый.

Интересная сторона любимой игры, спасибо :)

А ссылкой на реализацию не поделитесь?

ссылки нет, к сожалению. Проект еще нигде не выложен, работает только локально на моем компе. Если доведу до конца, то может опубликую в Яндекс.играх или еще где то

Несколько идей по доработке бота:

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

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

Желаю удачи в реализации и дальнейшем развитии.

Благодарю! Про "задвигание" фигурки тоже думал, но не стал пока реализовывать. Бот очень простой, я за день его написал. Это усложнило бы дело. Но на будущее да, можно подумать и об этом

И, как я понял, бот не старается собирать тетрисы, что очень важно для этой игры

да, с такими задача не заморачивался пока, тетрисы собирать бот не старается

тааак, а что значит "собирать тетрисы"?

готовить колодцы чтобы потом одним махом убрать сразу 4 линии, во многих версиях за это еще призовые очки начисляют

а, про такое знаю, просто такой фразой не слышал название. так-то да, спонтанно как-то делаешь их даже без призовых очков.

Интересно, спасибо.

Писал когда-то для ATARI реверси на Бейсике, игра возможна была как со вторым игроком так и с компьютером. Алгоритм хода компа был простым, вес = число взятых фишек за вычетом потери фишек со следующим ходом человека. То есть может быть и хорошо своим ходом забрать 5 фишек, но если мы потом теряем 6 своих, то вес будет -1. А если я могу забрать 3, а потерять тоже 3, то вес 0, что уже лучше и ход производится по этому условию. Как бы просто не выглядел алгоритм, что для ребенка не особо задумывающегося о ходах, он был весьма продуктивным. Потом добавил еще 2 сложности, соответственно с просчётом на еще 1 и на 2 хода. Хоть это всё и работало на Бейсике и должно бы по идее быть долгим, но конечно было не так долго как в шахматах, всё же в реверси игрок обязан забирать камни если такой ход есть, а если такого хода нет, то пропускать ход. Так что в среднем ожидание было небольшим (скажем в шахматах ход компа мог длиться пару часов XD ).

Кстати во многих старых играх алгоритмы противников и демо игр в ожидании действий игрока (или монеты в автомате) смотрятся весьма неплохо и выглядят весьма умненько, хотя порой всё сделано очень и очень просто.

XD здрасипожалуйста, а минус-то за что? За то что 40 лет назад писал на бейсике?

это не я минусовал, если что. На Atari не писал, они у нас в городе только в игровых автоматах стояли, но своего я не имел. А вот для ZX Spectrum писал, тоже на бейсике и тоже чуть ли не 40 лет назад)

я понимаю что не вы ) странные люди конечно

Посмотрел видео, мне кажется вы слишком мелко сделали справа и слева окна и текст, там пустое пространство, можно увеличить

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

тогда бы как-то определять тип устройство и размеры исходя их этого делать.

да, буду как то в этом духе действовать. Игра еще сыроватая, пока не до интерфейса особо, но потом надо будет приводить все в порядок

мне очень понравилось оформление, звуки тоже соответствуют ожиданию, прям чувствуется как блоки клацают )

спасибо, старался)

Впервые вижу, что кто-то закрыл сообщения, поэтому про опечатку придётся писать сюда.

А она простая - название игры идёт с заглавной буквы только в заголовке, в пером предложении и в названиях видео. Во всём остальном тексте "Тетрис" написан с маленькой буквы.

Благодарю, но это не опечатка. Везде пишут по разному, и с маленькой, и с большой - я проверял поиском в гугле. "Шахматы" и "шашки" пишут с маленькой, например, а тетрис уже не только название конкретной игры, но и целого класса головоломок. Впрочем, спорить не буду, может с большой будет правильнее, если придираться. Но я счел это несущественным и большой ошибкой не считаю.

Почему бы тогда не придерживаться этого везде?

Надо бы исправить тогда заголовок и первое предложение.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории