Точно не знаю, в чём был замысел компании. Могу предположить, что они намеренно дали такое ТЗ, чтобы проверить, как кандидат работает с неопределённостью: может ли он самостоятельно мыслить и предлагать жизнеспособные решения, а не просто механически пишет код по пунктам, которые рассписал более опытный коллега.
Спасибо за логичный вопрос! Вы правы, по роли я был разработчиком, а название «Админ vs Студент» — метафора, которая пришла мне в голову. «Студент» толкал к быстрому решению по минимуму ТЗ, а «Админ» настаивал на системе, которой реально пользоваться. Спор между «сдать работу» и «сделать продукт».
Спасибо за отзыв! Это не реклама php и lavarel, а разбор реального тестового задания в компанию, куда я устраивался — пишу первую статью такого формата. Структуру БД и подсчёт места обязательно учту как пожелание на будущее, отличная идея.
Спасибо за предложение - это действительно интересное развитие проекта (думал об это). Однако использование готового шахматного ИИ не очень хотелось бы, а реализация собственного это прям отдельная масштабная задача
Нет, я не публиковал этот материал. Существует только прототип (логика на Python), который был описан в моей предыдущей статье на Хабре. Больше ни на Хабре, ни на других платформах я ничего подобного не размещал
Отличная аналогия с морским боем. Эта идея с туманом войны в шахматах зацепила меня с самого начала, чувство неожиданности, как в стратегиях, очень крутое и необычное для игры, которую я знаю почти с детства. Именно из-за этого я и решил написать прототип
Рад, что идея с шахматами в тумане понравилась, насчёт зрения пешки, в текущей логике пешка видит только клетки, на которые может сходить в данный момент (вперёд, если клетка свободна, или по диагонали, если там противник), но думаю можно поменять логику.
Страница с правилами согласен, добавлю в ближайшее время. Еще в статьи вроде есть спойлеры (пишу вроде, т.к. первй раз их использую в статье). Спасибо за комментрарий
Спасибо за комментарий, понимаю, что проект не финальный, поэтому если есть идеи по улучшению, буду рад их услышать, чтобы в будущем проект стал еще лучше
Вы верно подметили нюанс работы "тумана войны" для пешки. В проекте она реализована, как возможно следующего хода, то есть у пешки это два-три правила: 1 - Зона постоянной видимости перед собой 1 или 2 клетки. 2 - Зона условной видимости (клетки по диагоналям), они подсвечиваются, как возможные ходы только при наличии там вражеской фигуры, т. к. без нее туда хода нет. 3 - Взятие на проход, подсвечивает пустую клетку подсказывая, что можно взять на проход вражескую пешку
Поэтому на фотографиях пешка не видит F5, т.к. сейчас она не может туда пройти, потому что клетка пуста срабатывает 2 правило
Красиво, именно такую игру с туманом войны я и представлял, как в этой версии против ИИ
Но в этом проекте, как будто не хватает последнего шага, чтобы была ещё кнопка "мультиплеер" для игры с живым соперником (Хотя бы в локальной сети), тогда бы получилась идеальная версия
Спасибо за ссылку на Perft-тесты, я как раз искал способ для комплексной проверки генерации ходов, ведь в шахматах так много нюансов, которые приходилось проверять вручную. Обязательно изучу этот подход
Идея с ботом и сетевой игрой - это то, о чем я сам думаю. Мне хочется развить этот проект дальше: создать удобный веб-интерфейс, чтобы можно было сыграть с другом, и, конечно, добавив искусственный интеллект. Пусть хотя бы сначала это будет простой бот для новичков. Ваш комментарий мотивация не останавливаться на достигнутом
Здравствуйте, ну я понимаю, что не открою вам Америку и наверно вы об этом думали, но у меня два предложения: первое - попробуйте начать с более простых игр и без больших библиотек (как pygame), например, как крестики-нолики или камень-ножницы-бумага (тк там относительно очень простые правила). И второе - возьмите готовый или почти готовый проект (разберитесь в нем) и потом с ребенком изменяйте параметры, и чтобы было видно изменение, например, поменял строку с цветом - и задний фон изменил цвет, и так пройтись по большей части кода
Согласен, идея использовать логику сапёра для генерации пещер - это круто, один клик и работает сложные алгоритмы, а BVH и карта высот отлично ложатся на эту концепцию
Ваш стек C++/glew/BVH думаю мощное решение, особенно для масштабирования. На Python с numpy+numba, конечно, проще начать, но для большой игры, как будто не подходит. Когда у вас получиться его реализовать до конца, хотел бы увидеть
Идея с пещерой от первого лица так-то отличная (тоже видел в рекомендациях), но боюсь - это пока не мой уровень. Плюс думаю все же это проще сделать через какой-то движок (пример Unity), чем чисто на языке python, а тут был план на простом примере реализовать игру
Добрый вечер, не буду врать или отнекиваться, что тут не использовался GPT (будет глупо, тк сейчас почти каждый его использует) - эта статья не исключение. Но могу заверить, что большая часть статьи написано, от руки и текст не исключения (пример можно посмотреть подписание методов, тк одни описанные структурно и красиво, другие на скорую руку - одно предложение)
Также цель статьи другая не в том, чтобы я рассказал о своем коде и какой я молодец, а в том, чтобы кто-то прочитал статью (или хотя бы - заголовок), потом решил, поиграться с проектом и сделал свою игру сапёр с уникальными идеями. Или например: предложил интересную задумку для оптимизации или улучшения кода
Согласен, нейросети действительно могут сгенерировать подобную игру, что печально, но одновременно с этим удивительно.
Моя цель была создать простой и понятный код, который сможет повторить даже новичок, а при возникновении вопросов - обсудить их в комментариях. Да, ИИ может сделать это лучше, но я хотел начать с доступной темы, которую могу объяснить наверняка.
В следующей (и, вероятно, последней) части планирую добавить что-то необычное с использованием нестандартных библиотек - то, что ИИ пока не делает сходу (ну или хотя бы не с двух промтов). Я считаю, что важно не просто получить готовый результат, а разобрать процесс и предложить что-то новое и доступное.
Точно не знаю, в чём был замысел компании. Могу предположить, что они намеренно дали такое ТЗ, чтобы проверить, как кандидат работает с неопределённостью: может ли он самостоятельно мыслить и предлагать жизнеспособные решения, а не просто механически пишет код по пунктам, которые рассписал более опытный коллега.
Спасибо за логичный вопрос! Вы правы, по роли я был разработчиком, а название «Админ vs Студент» — метафора, которая пришла мне в голову. «Студент» толкал к быстрому решению по минимуму ТЗ, а «Админ» настаивал на системе, которой реально пользоваться. Спор между «сдать работу» и «сделать продукт».
Спасибо за отзыв! Это не реклама php и lavarel, а разбор реального тестового задания в компанию, куда я устраивался — пишу первую статью такого формата. Структуру БД и подсчёт места обязательно учту как пожелание на будущее, отличная идея.
Спасибо за добрые слова!
Не по теме
P.S. Насчёт Химок — видимо, у меня есть двойник. Если встретите его снова, передайте, чтобы деревянных котиков не трогал.
Спасибо за предложение - это действительно интересное развитие проекта (думал об это). Однако использование готового шахматного ИИ не очень хотелось бы, а реализация собственного это прям отдельная масштабная задача
Нет, я не публиковал этот материал. Существует только прототип (логика на Python), который был описан в моей предыдущей статье на Хабре. Больше ни на Хабре, ни на других платформах я ничего подобного не размещал
Отличная аналогия с морским боем. Эта идея с туманом войны в шахматах зацепила меня с самого начала, чувство неожиданности, как в стратегиях, очень крутое и необычное для игры, которую я знаю почти с детства. Именно из-за этого я и решил написать прототип
Рад, что идея с шахматами в тумане понравилась, насчёт зрения пешки, в текущей логике пешка видит только клетки, на которые может сходить в данный момент (вперёд, если клетка свободна, или по диагонали, если там противник), но думаю можно поменять логику.
Страница с правилами согласен, добавлю в ближайшее время. Еще в статьи вроде есть спойлеры (пишу вроде, т.к. первй раз их использую в статье). Спасибо за комментрарий
Спасибо за комментарий, понимаю, что проект не финальный, поэтому если есть идеи по улучшению, буду рад их услышать, чтобы в будущем проект стал еще лучше
Вы верно подметили нюанс работы "тумана войны" для пешки. В проекте она реализована, как возможно следующего хода, то есть у пешки это два-три правила: 1 - Зона постоянной видимости перед собой 1 или 2 клетки. 2 - Зона условной видимости (клетки по диагоналям), они подсвечиваются, как возможные ходы только при наличии там вражеской фигуры, т. к. без нее туда хода нет. 3 - Взятие на проход, подсвечивает пустую клетку подсказывая, что можно взять на проход вражескую пешку
Поэтому на фотографиях пешка не видит F5, т.к. сейчас она не может туда пройти, потому что клетка пуста срабатывает 2 правило
Красиво, именно такую игру с туманом войны я и представлял, как в этой версии против ИИ
Но в этом проекте, как будто не хватает последнего шага, чтобы была ещё кнопка "мультиплеер" для игры с живым соперником (Хотя бы в локальной сети), тогда бы получилась идеальная версия
Спасибо за ссылку на Perft-тесты, я как раз искал способ для комплексной проверки генерации ходов, ведь в шахматах так много нюансов, которые приходилось проверять вручную. Обязательно изучу этот подход
Идея с ботом и сетевой игрой - это то, о чем я сам думаю. Мне хочется развить этот проект дальше: создать удобный веб-интерфейс, чтобы можно было сыграть с другом, и, конечно, добавив искусственный интеллект. Пусть хотя бы сначала это будет простой бот для новичков. Ваш комментарий мотивация не останавливаться на достигнутом
Здравствуйте, ну я понимаю, что не открою вам Америку и наверно вы об этом думали, но у меня два предложения: первое - попробуйте начать с более простых игр и без больших библиотек (как pygame), например, как крестики-нолики или камень-ножницы-бумага (тк там относительно очень простые правила). И второе - возьмите готовый или почти готовый проект (разберитесь в нем) и потом с ребенком изменяйте параметры, и чтобы было видно изменение, например, поменял строку с цветом - и задний фон изменил цвет, и так пройтись по большей части кода
Спасибо за вашу внимательность, скорее всего не заметил при переносе кода (уже исправил), но больше удивляет, что за месяц никто не заметил )
Согласен, идея использовать логику сапёра для генерации пещер - это круто, один клик и работает сложные алгоритмы, а BVH и карта высот отлично ложатся на эту концепцию
Ваш стек C++/glew/BVH думаю мощное решение, особенно для масштабирования. На Python с numpy+numba, конечно, проще начать, но для большой игры, как будто не подходит. Когда у вас получиться его реализовать до конца, хотел бы увидеть
Идея с пещерой от первого лица так-то отличная (тоже видел в рекомендациях), но боюсь - это пока не мой уровень. Плюс думаю все же это проще сделать через какой-то движок (пример Unity), чем чисто на языке python, а тут был план на простом примере реализовать игру
Согласен, в основном тут просто листинг кода и чуть-чуть описания, также ссылки на сам проект и прошлые статьи
Добрый вечер, не буду врать или отнекиваться, что тут не использовался GPT (будет глупо, тк сейчас почти каждый его использует) - эта статья не исключение. Но могу заверить, что большая часть статьи написано, от руки и текст не исключения (пример можно посмотреть подписание методов, тк одни описанные структурно и красиво, другие на скорую руку - одно предложение)
Также цель статьи другая не в том, чтобы я рассказал о своем коде и какой я молодец, а в том, чтобы кто-то прочитал статью (или хотя бы - заголовок), потом решил, поиграться с проектом и сделал свою игру сапёр с уникальными идеями. Или например: предложил интересную задумку для оптимизации или улучшения кода
Согласен, нейросети действительно могут сгенерировать подобную игру, что печально, но одновременно с этим удивительно.
Моя цель была создать простой и понятный код, который сможет повторить даже новичок, а при возникновении вопросов - обсудить их в комментариях. Да, ИИ может сделать это лучше, но я хотел начать с доступной темы, которую могу объяснить наверняка.
В следующей (и, вероятно, последней) части планирую добавить что-то необычное с использованием нестандартных библиотек - то, что ИИ пока не делает сходу (ну или хотя бы не с двух промтов). Я считаю, что важно не просто получить готовый результат, а разобрать процесс и предложить что-то новое и доступное.
ахахахах хорошая идея, еще нужно, чтобы донат решал все и можно выпускать игру в стим