Обновить
18
59
Роман@Laborant_Code

Пользователь

Отправить сообщение

Спасибо за предложение - это действительно интересное развитие проекта (думал об это). Однако использование готового шахматного ИИ не очень хотелось бы, а реализация собственного это прям отдельная масштабная задача

Нет, я не публиковал этот материал. Существует только прототип (логика на Python), который был описан в моей предыдущей статье на Хабре. Больше ни на Хабре, ни на других платформах я ничего подобного не размещал

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

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

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

Спасибо за комментарий, понимаю, что проект не финальный, поэтому если есть идеи по улучшению, буду рад их услышать, чтобы в будущем проект стал еще лучше

Вы верно подметили нюанс работы "тумана войны" для пешки. В проекте она реализована, как возможно следующего хода, то есть у пешки это два-три правила: 1 - Зона постоянной видимости перед собой 1 или 2 клетки. 2 - Зона условной видимости (клетки по диагоналям), они подсвечиваются, как возможные ходы только при наличии там вражеской фигуры, т. к. без нее туда хода нет. 3 - Взятие на проход, подсвечивает пустую клетку подсказывая, что можно взять на проход вражескую пешку

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

Красиво, именно такую игру с туманом войны я и представлял, как в этой версии против ИИ

Но в этом проекте, как будто не хватает последнего шага, чтобы была ещё кнопка "мультиплеер" для игры с живым соперником (Хотя бы в локальной сети), тогда бы получилась идеальная версия

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

Идея с ботом и сетевой игрой - это то, о чем я сам думаю. Мне хочется развить этот проект дальше: создать удобный веб-интерфейс, чтобы можно было сыграть с другом, и, конечно, добавив искусственный интеллект. Пусть хотя бы сначала это будет простой бот для новичков. Ваш комментарий мотивация не останавливаться на достигнутом

Здравствуйте, ну я понимаю, что не открою вам Америку и наверно вы об этом думали, но у меня два предложения: первое - попробуйте начать с более простых игр и без больших библиотек (как pygame), например, как крестики-нолики или камень-ножницы-бумага (тк там относительно очень простые правила). И второе - возьмите готовый или почти готовый проект (разберитесь в нем) и потом с ребенком изменяйте параметры, и чтобы было видно изменение, например, поменял строку с цветом - и задний фон изменил цвет, и так пройтись по большей части кода

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

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

Ваш стек C++/glew/BVH думаю мощное решение, особенно для масштабирования. На Python с numpy+numba, конечно, проще начать, но для большой игры, как будто не подходит. Когда у вас получиться его реализовать до конца, хотел бы увидеть

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

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

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

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

Согласен, нейросети действительно могут сгенерировать подобную игру, что печально, но одновременно с этим удивительно.

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

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

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

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

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

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

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

Согласен с замечанием. Действительно, использование 'магических чисел' снижает читаемость кода и усложняет его поддержку, но как писал в сообщении выше увидел этот способ и решил повторить. Всегда можно использовать простой метод и что будет правильным с точки 'чистоты кода', например вот такой:

Min = 1

MAX = 9

if not (Min <= x <= Max) or not (Min <= y <= Max):

print(f"Координаты должны быть от {Min} до {Max}!")

Ну или что-то похожие

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

1

Информация

В рейтинге
129-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, ML разработчик
Git
Python
ООП