Разработка и ромхакинг > Разработка игр
[SMD] ИИ-эксперимент с Крестиками-ноликами
(1/1)
Guyver(X.B.M.):
Решил тоже попробовать сделать игру: Super Tic Tac Toe MD





* Два режима игры: классический и Super Tic Tac Toe
* Настраиваемая глубина AI (1-9) с сохранением выбора в SRAM
* Просмотр правил игры с подробным описанием
* Простейшие звуковые эффекты и мелодии победы/поражения
* Таймер хода AI







Используемые алгоритмы:

* Minimax с Alpha-Beta отсечением для обычного режима
* Сложная эвристическая оценка для Super режима (вилки, блокировки, центр/углы)
* Проверка немедленных побед — AI не упускает выигрышные ходы

Грубину хода в Super Tic Tac Toe лучше не ставить выше 8, иначе компьютер будет думать минимум час ;о)

У меня всего 2 эмулятора, причём старых (Gens 11c и Fusion 3.64). Так что особо не проверял работу игры...
Vlad666:
Не пробовал ускорить ИИ?
Guyver(X.B.M.):
Нет, это первая версия ещё. Скорее замедлить ещё получится. ИИ можно сделать ещё "умнее"... :lol:
Int:
А откуда идея такой вариации крестиков ноликов (я про режим Super)? Сам придумал или такой вариант игры уже где-то был? Я встречал только варианты типа пять в ряд и прочие, то есть усложнения в увеличении размера поля и размера линии для победы, ибо крестики нолики 3 на 3 - это не игра по сути.
Guyver(X.B.M.):
Я просто играл в него недавно. Услышал от знакомых, а так алгоритм известный. У него ещё есть вариации...

Прикольная игра, появляется элемент стратегии, так как от твоего хода зависит на какой доске пойдёт соперник.
Vlad666:
Хочу сделать на SMD игру Go, но вряд ли процессор потянет ее. А если делать компьютерного противника простым, то играть будет не интересно.
Guyver(X.B.M.):
Новая версия 1.01:

* Добавлен режим для 2 игроков
* Добавлена возможность в главном меню ставить ограничение на продолжительность хода противника (1 минута).











Водитель джойстиком:
По моему опыту не сбалансированная игра. Ходящий первым имеет преимущество в ход + право на центральную позицию. Игроки при равных имеют возможность только на ничью, выиграть можно только при ошибке противника. Игра на 9 полей вроде как ничего не меняет.
Предположу что матрица 4*4 была бы интереснее.
Guyver(X.B.M.):
Я думал о том, чтобы 3 х 3 заменить на 4 х 4 (или даже 5 х 5, но там правила победы разные для игроков). Но пока не дошёл до этого... Но, как я понимаю, при игре 4 х 4 тотальное превосходство у того, кто ходит первым. Ещё можно разыгрывать кто ходит первым...
Mad:

--- Цитата: Водитель джойстиком от 22 Июнь 2026, 11:36:25 ---По моему опыту не сбалансированная игра. Ходящий первым имеет преимущество в ход + право на центральную позицию. Игроки при равных имеют возможность только на ничью, выиграть можно только при ошибке противника. Игра на 9 полей вроде как ничего не меняет.
Предположу что матрица 4*4 была бы интереснее.

--- Конец цитаты ---
Так обычные крестики нолики 3на3 давно "решены" - первый игрок никогда не проиграет. Я предполагал, что Guyver(X.B.M.) в курсе и просто тренируется с нейронкой.


--- Цитата: Guyver(X.B.M.) от 22 Июнь 2026, 16:04:09 ---Ещё можно разыгрывать кто ходит первым...
--- Конец цитаты ---
Если только в другую игру).
Guyver(X.B.M.):
Так в обычные и играть не так интересно ;о) Это для галочки... :neznayu:
AuAurora:

--- Цитата: Guyver(X.B.M.) от 19 Июнь 2026, 19:35:47 ---ИИ можно сделать ещё "умнее"
--- Конец цитаты ---
может лучше поле 30х30 и до 5 крестиков в ряд, в чём смысол ХО на сеге
Mad:
AuAurora, 30x30 даже излишне, достаточно 19x19 или 15x15. https://ru.wikipedia.org/wiki/%D0%93%D0%BE%D0%BC%D0%BE%D0%BA%D1%83
Guyver(X.B.M.):
Версия 1.03:





* Изменён внешний вид крестиков, ноликов и шрифта.
* На экране заставки добавлена простенькая мелодия и смена цветов фона.
* В главном меню можно циклично выбирать кнопкой Start ограничение на продолжительность хода компьютера (OFF, 15 sec, 30 sec, 45 sec, 1 min, 2 min, 3 min, 4 min, 5 min, 10 min, 15 min, 20 min, 25 min, 30 min, 35 min, 40 min, 45 min, 50 min, 55 min, 60 min).
* Для увеличения скорости игры компьютера было введено итеративное углубление, таблица транспозиций на 2048 записей, таблица поиска побед, упрощение оценки позиций на доске.
* Отображение времени AI обновляется раз в 3 секунды.



При включённом Time Limit:
- AI начинает поиск с выбранной вами глубиной поиска.
- Если не успевает за отведённое время — прерывается.
- Возвращает лучший ход из уже оценённых (может быть не оптимальным).
- Если не успел оценить ни одного хода — возвращает первый ход.



Глубина поиска:
1: Случайный ход.
2-3: Базовый поиск.
4-5: Средний поиск.
6-9: Глубокий поиск.



Навигация
Главная страница сообщений

Перейти к полной версии