| Разработка и ромхакинг > Разработка игр |
| [SMD] ИИ-эксперимент с Русскими шашками |
| << < (6/6) |
| Werton:
--- Цитата: Werton от 09 Июля 2026, 14:53:02 ---Взять, к примеру, 100 лучших мелодий из популярных игр на СМД --- Конец цитаты --- Если конкретно из СМД, то не так страшно, как я выше написал, в принципе VGMки под SMD можно найти в архивах либо даже отрипить с помощью эмуляторов, но не факт, что оно корректно будет воспроизводиться через xgm/xgm2 драйвера. Да и сама затея как по мне всё равно фигня. |
| Street Fighter:
--- Цитата: Werton от 09 Июля 2026, 15:57:37 ---Если конкретно из СМД, то не так страшно, как я выше написал, в принципе VGMки под SMD можно найти в архивах либо даже отрипить с помощью эмуляторов, но не факт, что оно корректно будет воспроизводиться через xgm/xgm2 драйвера. Да и сама затея как по мне всё равно фигня. --- Конец цитаты --- На Wii есть похожая комплексная викторина по мультфильмам Дисней, названия не помню, с женой неплохо в нее рубились, было интересно :neznayu:. |
| Werton:
--- Цитата: Street Fighter от 09 Июля 2026, 16:02:49 ---На Wii есть похожая комплексная викторина по мультфильмам Дисней, названия не помню, с женой неплохо в нее рубились, было интересно :neznayu:. --- Конец цитаты --- Не вижу смысла делать это под smd, тогда можно будет использовать музыку только из сеговских игр, что уже странно. Проще под пк/веб это запилить на чем угодно и проще и быстрее в разы и музыку любую можно засунуть из любых платформ, интерфейс удобнее. Но по мне подобные развлечения надоели всем ещё во времена флеш игр. |
| Dyons:
--- Цитата: Werton от 09 Июля 2026, 16:25:13 ---Не вижу смысла делать это под smd --- Конец цитаты --- А какой смысл вообще хоть что-то делать в 2к26 под SMD? |
| Werton:
--- Цитата: Dyons от 09 Июля 2026, 16:29:41 ---А какой смысл вообще хоть что-то делать в 2к26 под SMD? --- Конец цитаты --- Предлагаю обобщить вопрос до - "А какой смысл вообще хоть что-то делать в 2к26?" :biggrin: А если серьёзно, то наверное у каждого свой смысл. Кто-то пытается тупо заработать в нише, в которой есть спрос на подобное , кто-то сделать игру мечты, кто-то порт о котором мечтал в детстве или просто по фану. Делать такие кросворды/угодайки можно конечно тоже, но по факту они нужны 1.5 человеку в моменте на 5 минут потыкать и забыть. Т е. с этого ни поиметь ни опыта, ни аудитории, ни репутации, ни фана, ни заработка, ну или если уж совсем тупо делать нечего как эксперемент с нейронкой на пару вечеров, но вкладываться на полную и надолгую в такие проекты как по мне нет смыла. Добавлено позже: Есть смысл делать свою игру под сегу, как по мне, если это что-то новое хотя бы в чем то. Например с крутой графикой, которой раньше не было, крутыми геймплейными механиками, редкий жанр для платформы, интересный нарратив, ну или пусть банальный жанр, но хорошо отшлифованна и просто хорошая игра, которой не было на платформе. А вот такие крестики-нолики, кроссворды, как по мне это баловство, игры уровня плохих пиратских поделок в стиле флешь игр с дурацкими названиями (которые они любили записывать на портативные фамиклоны), просто засирание библиотеки шлаком, оно никак не задействует аппаратные возможности сеги, их спокойно можно было выпусть ходь на нес, хоть на атари, хоть на спектрум. |
| Vlad666:
Пока Gemini никак не обновляется, пришла в голову идея дать игрокам возможность заглянуть в мозги компьютерного противника в CHECKERS во время игры. Наверное, далеко не каждому это будет интересно, но тем, кто разбирается в этом и интересуется подобными игровыми движками, это будет интересной находкой на SMD. А если не интересно, то эта возможность никак не мешает. Что нового: 1. Анимация заголовков окошка окончания игры и блокировка кнопок на время ее проигрывания. 2. Анимация кнопки Restart Game и задержка ее активации. 3. Защита от двойного нажатия при выходе на титульный экран. Все эти задержки нужны для того, чтобы защитить игрока от случайных двойных нажатий. 4. Новое управление: ABC - выбор шашек и ход XYZ - переворот доски. MODE - ИИ статистика. 5. И, самое главное, ИИ статистика. Окно AI STATISTICS - это возможность заглянуть прямо в "мозг" компьютерного оппонента и понять, как именно он принимает решения. Настройки просмотра VIEW MODE (Режим просмотра): Эта настройка позволяет переключать отображение данных. В режиме TURN показывается статистика вычислений только за один конкретный выбранный ход. В режиме TOTAL значения суммируются, показывая общий объем работы ИИ за всю игру до этого момента. TOTAL MOVES (Всего ходов): Этот пункт позволяет перемещаться по истории ходов. Он показывает номер рассматриваемого хода компьютера по отношению к общему количеству ходов, которые он уже сделал (например, 5/12). Как ИИ оценивает игру EVALUATION (Оценка позиции): Это математическое выражение "настроения" компьютера. Если число положительное (с плюсом), ИИ считает, что позиция складывается в его пользу и он выигрывает. Если число отрицательное - он понимает, что проигрывает. Пометка SE перед числом означает, что была применена "статическая оценка" в самом начале игры или при нулевой глубине поиска. MAX REACHED DEPTH (Максимальная глубина поиска): Демонстрирует, на сколько шагов вперед (полуходов) ИИ смог реально заглянуть во время расчета текущего хода. Из-за динамической природы игры реальная глубина может превышать базовые настройки ИИ. ALPHA-BETA CUTOFFS (Альфа-бета отсечения): Это показатель "умной лени" алгоритма. Когда ИИ во время перебора вариантов понимает, что определенная ветка ходов ведет к гарантированно худшему результату, чем уже найденный, он не тратит время на ее дальнейший просчет и "отсекает" ее. Это число показывает, сколько плохих путей было успешно проигнорировано для экономии времени. Детали вычислительного процесса DEPTH SEARCH (Поиск в глубину): Показывает количество позиций на доске, которые были просчитаны ИИ в рамках основного, стандартного дерева вариантов. QUIESCENCE SEARCH (Поиск в фазе покоя): Это продвинутая функция ИИ, которая включается, когда на доске происходят серии взятий фигур. ИИ продолжает просчитывать узлы за пределами своей обычной глубины, пока ситуация на доске не стабилизируется, чтобы не оценить позицию ошибочно в самом разгаре размена фигур. Если этот поиск отключен в настройках, здесь будет написано OFF. STATIC EVALUATION (Статическая оценка): Показывает количество ситуаций, когда ИИ достигал предела своей глубины поиска (лимита ходов вперед) и прекращал перебор вариантов. В этот момент он просто оценивал текущее состояние доски, подсчитывая ценность пешек, дамок и их расположение. FORCED EXTENSIONS (Принудительные продления): Это количество раз, когда ИИ собирался завершить анализ ветки, но вынужден был продолжить расчет, потому что ситуация на доске требовала этого (например, нужно было совершить обязательное взятие фигуры). TOTAL NODES (Всего узлов): Это общий объем работы "мозга" компьютера за этот ход. Представляет собой сумму всех изученных позиций (Depth Search + Quiescence Search + Static Evaluation + Forced Extensions). ----------- Это далеко не полный список элементов ИИ, позже добавлю еще. Возможно, придется добавлять еще одну или даже две дополнительные страницы в AI STATISTICS. А с ростом у ИИ игровых навыков, скорее всего, все-таки придется добавлять еще одну страницу. |
| Беларус:
Werton, смысл ведь в том, штобы посмотреть насколько ИИ ускорит ход компьютра в шашках на слабом железе. Жаль, што сравнивать не с чем, но с самим собой предыдущим - тоже неплохо. А вообще я удивлён, што Vlad666 уже столько всево изменил и надобавлял, а код всё ещё необратимо не сломался, как гарантированно бывало до этово с нейросетями. Видимо, простые мелкие програмы им уже по плечу, раз постоянно увеличивали контекстное окно. |
| Vlad666:
Вчера выложил обновление с добавлением ИИ статистики. Вот еще одно обновление, в котором я сделал статистику более логичной и добавил еще два индикатора работы ИИ. EXTENSION DEPTH: Иногда ИИ достигает своего лимита глубины расчета, но на доске происходит серия обязательных взятий. Программа устроена так, что она обязана досчитать эту комбинацию до конца. Этот индикатор показывает, на сколько шагов глубже своего обычного лимита ИИ пришлось "нырнуть", чтобы закончить расчет рубки. QUIESCENCE DEPTH: ИИ нельзя останавливать расчет прямо посреди обмена шашками (иначе он отдаст свою шашку, не увидев, что следующим ходом мог бы срубить чужую). Поэтому в конце основного раздумья ИИ продолжает искать только ходы со взятием, пока позиция не станет "спокойной". Это число показывает глубину такого дополнительного поиска. |
| Vlad666:
Много играл и нашел один недочет (не баг). Дело в том, что ИИ часто подставлял свои дамки под удар, не имея от этого особой выгоды в будущем. Чтобы это исправить, Claude Fable 5 увеличил стоимость дамки со 140 до 250, а так же отделил стоимость дамки (теперь стоит 170) в Английских шашках, т.к. она по их правилам ходит на одну клетку. Теперь ИИ будет лучше беречь свои дамки, реже подставляя их под удар игрока, если в этом нет значительной выгоды. Стоимость простой шашки осталась на уровне 100. Правка выглядит маленькой, но в игре ИИ она имеет большое значение. Для больших улучшений (особенно в плане скорости работы ИИ) продолжаю ждать новую версию Gemini, которую в Google все никак не выпускают. Исходный код не выкладываю, т.к. в нем изменена всего одна строчка. Было: #define BASE_KING_VAL 140 Стало: #define BASE_KING_VAL (rulesMode == 1 ? 170 : 250). Кстати, нейросеть предлагает ускорить ИИ так, что его скорость увеличится до 2 раз (проверено на деле). Например, если до ускорения в сложных случаях он думал 60 секунд при параметре DEPTH SEARCH = 6, то после ускорения будет думать 30 секунд на той же глубине. Но это улучшение я добавлю с выходом нового Gemini. Думаю, что он лучше с этим справится. |
| HayaoYokogawa:
Эх, а режима "Чапаев" так и нет. Дизлайк и отписка :lol: --- Цитата: Street Fighter от 09 Июля 2026, 09:21:17 ---По скрину очень убого :( --- Конец цитаты --- Ой, а оригинал под DOS так шедеврище, ага :) Даешь ЧГК на сегу! С Двинятиным и серсо :lol: |
| Vlad666:
--- Цитата: HayaoYokogawa от 17 Июля 2026, 15:01:09 ---Эх, а режима "Чапаев" так и нет. Дизлайк и отписка :lol: --- Конец цитаты --- Чапаев - это вообще не шашки, поэтому и не добавляю. Для этого нужно создавать новую игру, а не превращать эту в мутанта :biggrin:. |
| Беларус:
--- Цитата: Vlad666 от 17 Июля 2026, 14:43:56 ---нейросеть предлагает ускорить ИИ так, что его скорость увеличится до 2 раз --- Конец цитаты --- Я так понимаю, у тебя нет записанной игры, ходов, эталона, штобы сравнивать всё более возрастающую скорость? Т.е. ты не можеш проверить, што ИИ стал быстрее думать, но при этом не совершать больше ошыбок? Всё только на ощущениях? |
| Vlad666:
--- Цитата: Беларус от 17 Июля 2026, 23:15:58 ---Я так понимаю, у тебя нет записанной игры, ходов, эталона, штобы сравнивать всё более возрастающую скорость? Т.е. ты не можеш проверить, што ИИ стал быстрее думать, но при этом не совершать больше ошыбок? Всё только на ощущениях? --- Конец цитаты --- Для измерения скорости я запускаю эмулятор в двух окнах. В первом окне запускаю предыдущую версию игры, а во втором - обновленную. В каждом окне делаю одни и те же ходы и секундомером замеряю скорость ИИ. Так же смотрю, чтобы обновленный в плане скорости ИИ делал те же самые ходы до конца игры. Если он ходит иначе, значит оптимизация что-то сломала. Но я такого не наблюдал, кроме одного случая с интеграцией итеративного углубления. Хотя это нормально, но я на всякий случай отказался от этого алгоритма. Возможно, что добавлю его с помощью новой нейронки. ----------- Обновление: 1. Добавил возможность открыть окно ИИ статистики из меню паузы, а не только кнопкой MODE и из меню окончания игры. 2. В ИИ статистику добавил индикатор времени, которое ИИ тратит на обдумывание хода. Это, кстати, облегчит оценку оптимизации в будущем. Надо было сразу добавлять этот индикатор, а не замерять скорость секундомером. 3. Оптимизировал работу ИИ с отключенным QUIESCENCE SEARCH. Оптимизация очень простая. Добавил ее для примера, но все же оставлю в будущих версиях, т.к. она работает отлично. Старая версия ИИ сначала формирует список всех возможных ходов-взятий (вызывает тяжелую функцию generateFastCaptures), и только потом проверяет условие: "Ой, а ведь я уже достиг лимита". В итоге он просто выбрасывает только что зря составленный список в мусорку и оценивает доску. Новая версия ИИ сначала проверяет: "Достиг ли я лимита своих размышлений?" (в коде это limit <= 0). Если да, он сразу же останавливается и выдает оценку текущей ситуации на доске. Он не тратит время и ресурсы процессора на генерацию следующих ходов. Итог оптимизации по скорости в секундах (первое значение - до, второе значение - после, на разных этапах игры) с параметром DEPTH SEARCH = 6: 3-2, 10-6, 26-18. После этой оптимизации ИИ играет абсолютно так же, как и до нее. Выкладываю два архива со старым ИИ движком и с обновленным, чтобы вы могли сравнить. Так же выкладываю исходные коды ИИ. ВАЖНО: Оптимизация работает только при отключенном QUIESCENCE SEARCH. При включенном параметре ИИ думает на 20-30 мс дольше. Но учитывая, что в секунде 1000 мс, это погоды не меняет, особенно на фоне степени ускорения. |
| Yoti:
--- Цитата: Vlad666 от 09 Июля 2026, 20:21:07 ---Новое управление: ABC - выбор шашек и ход XYZ - переворот доски. MODE - ИИ статистика. --- Конец цитаты --- И как на "трёхкнопочном" играть? :lol: |
| Vlad666:
--- Цитата: Yoti от 19 Июля 2026, 22:00:46 ---И как на "трёхкнопочном" играть? :lol: --- Конец цитаты --- Просто не заморачивайся. Переворот доски никому не нужен, если нет возможности играть в режиме 1P vs 2P. Добавил его для тестирования ИИ. Добавлено позже: Кстати, надо добавить режим на двоих. |
| Scarabay:
По звуковой части будут какие-то улучшения? |
| Vlad666:
--- Цитата: Scarabay от 20 Июля 2026, 08:31:41 ---По звуковой части будут какие-то улучшения? --- Конец цитаты --- Если имеешь ввиду музыку, то добавлять ее не буду. Какой в ней смысл? А остальные звуки, может быть, поменяю. Если есть предложения или готовый набор звуков для SMD, то выкладывайте сюда. Но сначала хочу ИИ до ума довести. Это самое главное и сложное. Все остальное хоть сейчас можно сделать. Добавлено позже: --- Цитата: Vlad666 от 20 Июля 2026, 06:47:38 ---Кстати, надо добавить режим на двоих. --- Конец цитаты --- Обновление: 1. Увеличил максимальное значение параметра DEPTH SEARCH до 8. Значения 7 и 8 имеют приставку EMU, что значит: на таких глубинах поиска лучше играть на эмуляторе, на котором можно разогнать виртуальный процессор. На глубине 8 ИИ становится намного опаснее. 2. Добавил возможность играть в режиме "человек против человека". На титульный экран добавил новый параметр игры PLAY MODE со значениями VS AI (игра против ИИ) и VS 2P (игра против человека). Когда активирован режим VS 2P, на титульном экране появляется новый параметр FLIP BOARD, настраивающий поведение игровой доски. Значение AUTO - автоматический переворот при передаче хода от одного игрока к другому; значение MANUAL - ручной переворот доски кнопками XYZ. И множество мелких изменений / улучшений, чтобы игра в том числе соответствовала новому режиму на двоих. А также сделал небольшой рефакторинг main.c, чтобы код был компактнее. Он стал сложнее для понимания человеком, но нейронке все равно. |
| Vlad666:
Пока Google кормит обещаниями о скором выпуске новой модели Gemini Pro, я сделал еще одно небольшое обновление. Что нового: 1. Анимация шашек при перевороте доски. 2. Анимация шашек при перемещении их в стопку сбитых шашек. 3. Правило "Тронул — ходи!". Теперь, когда игрок навел на шашку зеленую рамку и нажал на кнопку выбора, после чего шашка выделилась синей рамкой, он обязан сделать ход именно этой шашкой. Выбрать другую для хода теперь невозможно. |
| Навигация |
| Главная страница сообщений |
| Предыдущая страница |